@sap-ux/fiori-mcp-server 1.11.2 → 1.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3546,7 +3546,7 @@ ${n.message}`:m,v=[y,e,t].filter(Boolean).join(`
|
|
|
3546
3546
|
|
|
3547
3547
|
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let s of t.seen.entries()){let c=s[1];if(e===s[0]){a(s);continue}if(t.external){let u=t.external.registry.get(s[0])?.id;if(e!==s[0]&&u){a(s);continue}}if(t.metadataRegistry.get(s[0])?.id){a(s);continue}if(c.cycle){a(s);continue}if(c.count>1&&t.reused==="ref"){a(s);continue}}}function mae(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=s=>{let c=t.seen.get(s);if(c.ref===null)return;let l=c.def??c.schema,u={...l},p=c.ref;if(c.ref=null,p){n(p);let f=t.seen.get(p),h=f.schema;if(h.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(h)):Object.assign(l,h),Object.assign(l,u),s._zod.parent===p)for(let g in l)g==="$ref"||g==="allOf"||g in u||delete l[g];if(h.$ref&&f.def)for(let g in l)g==="$ref"||g==="allOf"||g in f.def&&JSON.stringify(l[g])===JSON.stringify(f.def[g])&&delete l[g]}let d=s._zod.parent;if(d&&d!==p){n(d);let f=t.seen.get(d);if(f?.schema.$ref&&(l.$ref=f.schema.$ref,f.def))for(let h in l)h==="$ref"||h==="allOf"||h in f.def&&JSON.stringify(l[h])===JSON.stringify(f.def[h])&&delete l[h]}t.override({zodSchema:s,jsonSchema:l,path:c.path??[]})};for(let s of[...t.seen.entries()].reverse())n(s[0]);let i={};if(t.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){let s=t.external.registry.get(e)?.id;if(!s)throw new Error("Schema is missing an `id` property");i.$id=t.external.uri(s)}Object.assign(i,r.def??r.schema);let a=t.external?.defs??{};for(let s of t.seen.entries()){let c=s[1];c.def&&c.defId&&(a[c.defId]=c.def)}t.external||Object.keys(a).length>0&&(t.target==="draft-2020-12"?i.$defs=a:i.definitions=a);try{let s=JSON.parse(JSON.stringify(i));return Object.defineProperty(s,"~standard",{value:{...e["~standard"],jsonSchema:{input:TDe(e,"input",t.processors),output:TDe(e,"output",t.processors)}},enumerable:!1,writable:!1}),s}catch{throw new Error("Error converting schema to JSON.")}}function VM(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return VM(n.element,r);if(n.type==="set")return VM(n.valueType,r);if(n.type==="lazy")return VM(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return VM(n.innerType,r);if(n.type==="intersection")return VM(n.left,r)||VM(n.right,r);if(n.type==="record"||n.type==="map")return VM(n.keyType,r)||VM(n.valueType,r);if(n.type==="pipe")return VM(n.in,r)||VM(n.out,r);if(n.type==="object"){for(let i in n.shape)if(VM(n.shape[i],r))return!0;return!1}if(n.type==="union"){for(let i of n.options)if(VM(i,r))return!0;return!1}if(n.type==="tuple"){for(let i of n.items)if(VM(i,r))return!0;return!!(n.rest&&VM(n.rest,r))}return!1}var L6t=(t,e={})=>r=>{let n=fae({...r,processors:e});return Uf(t,n),hae(n,t),mae(n,t)},TDe=(t,e,r={})=>n=>{let{libraryOptions:i,target:a}=n??{},s=fae({...i??{},target:a,io:e,processors:r});return Uf(t,s),hae(s,t),mae(s,t)};var Dso={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},M6t=(t,e,r,n)=>{let i=r;i.type="string";let{minimum:a,maximum:s,format:c,patterns:l,contentEncoding:u}=t._zod.bag;if(typeof a=="number"&&(i.minLength=a),typeof s=="number"&&(i.maxLength=s),c&&(i.format=Dso[c]??c,i.format===""&&delete i.format,c==="time"&&delete i.format),u&&(i.contentEncoding=u),l&&l.size>0){let p=[...l];p.length===1?i.pattern=p[0].source:p.length>1&&(i.allOf=[...p.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},k6t=(t,e,r,n)=>{let i=r,{minimum:a,maximum:s,format:c,multipleOf:l,exclusiveMaximum:u,exclusiveMinimum:p}=t._zod.bag;typeof c=="string"&&c.includes("int")?i.type="integer":i.type="number",typeof p=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.minimum=p,i.exclusiveMinimum=!0):i.exclusiveMinimum=p),typeof a=="number"&&(i.minimum=a,typeof p=="number"&&e.target!=="draft-04"&&(p>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof u=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.maximum=u,i.exclusiveMaximum=!0):i.exclusiveMaximum=u),typeof s=="number"&&(i.maximum=s,typeof u=="number"&&e.target!=="draft-04"&&(u<=s?delete i.maximum:delete i.exclusiveMaximum)),typeof l=="number"&&(i.multipleOf=l)},$6t=(t,e,r,n)=>{r.type="boolean"},F6t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},V6t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},j6t=(t,e,r,n)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},U6t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},B6t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},q6t=(t,e,r,n)=>{r.not={}},G6t=(t,e,r,n)=>{},H6t=(t,e,r,n)=>{},z6t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},K6t=(t,e,r,n)=>{let i=t._zod.def,a=P3e(i.entries);a.every(s=>typeof s=="number")&&(r.type="number"),a.every(s=>typeof s=="string")&&(r.type="string"),r.enum=a},Y6t=(t,e,r,n)=>{let i=t._zod.def,a=[];for(let s of i.values)if(s===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(s))}else a.push(s);if(a.length!==0)if(a.length===1){let s=a[0];r.type=s===null?"null":typeof s,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[s]:r.const=s}else a.every(s=>typeof s=="number")&&(r.type="number"),a.every(s=>typeof s=="string")&&(r.type="string"),a.every(s=>typeof s=="boolean")&&(r.type="boolean"),a.every(s=>s===null)&&(r.type="null"),r.enum=a},W6t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},X6t=(t,e,r,n)=>{let i=r,a=t._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");i.type="string",i.pattern=a.source},J6t=(t,e,r,n)=>{let i=r,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:c,mime:l}=t._zod.bag;s!==void 0&&(a.minLength=s),c!==void 0&&(a.maxLength=c),l?l.length===1?(a.contentMediaType=l[0],Object.assign(i,a)):(Object.assign(i,a),i.anyOf=l.map(u=>({contentMediaType:u}))):Object.assign(i,a)},Q6t=(t,e,r,n)=>{r.type="boolean"},Z6t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},e9t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},t9t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},r9t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},n9t=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},i9t=(t,e,r,n)=>{let i=r,a=t._zod.def,{minimum:s,maximum:c}=t._zod.bag;typeof s=="number"&&(i.minItems=s),typeof c=="number"&&(i.maxItems=c),i.type="array",i.items=Uf(a.element,e,{...n,path:[...n.path,"items"]})},o9t=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object",i.properties={};let s=a.shape;for(let u in s)i.properties[u]=Uf(s[u],e,{...n,path:[...n.path,"properties",u]});let c=new Set(Object.keys(s)),l=new Set([...c].filter(u=>{let p=a.shape[u]._zod;return e.io==="input"?p.optin===void 0:p.optout===void 0}));l.size>0&&(i.required=Array.from(l)),a.catchall?._zod.def.type==="never"?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=Uf(a.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(i.additionalProperties=!1)},nEt=(t,e,r,n)=>{let i=t._zod.def,a=i.inclusive===!1,s=i.options.map((c,l)=>Uf(c,e,{...n,path:[...n.path,a?"oneOf":"anyOf",l]}));a?r.oneOf=s:r.anyOf=s},a9t=(t,e,r,n)=>{let i=t._zod.def,a=Uf(i.left,e,{...n,path:[...n.path,"allOf",0]}),s=Uf(i.right,e,{...n,path:[...n.path,"allOf",1]}),c=u=>"allOf"in u&&Object.keys(u).length===1,l=[...c(a)?a.allOf:[a],...c(s)?s.allOf:[s]];r.allOf=l},s9t=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="array";let s=e.target==="draft-2020-12"?"prefixItems":"items",c=e.target==="draft-2020-12"||e.target==="openapi-3.0"?"items":"additionalItems",l=a.items.map((f,h)=>Uf(f,e,{...n,path:[...n.path,s,h]})),u=a.rest?Uf(a.rest,e,{...n,path:[...n.path,c,...e.target==="openapi-3.0"?[a.items.length]:[]]}):null;e.target==="draft-2020-12"?(i.prefixItems=l,u&&(i.items=u)):e.target==="openapi-3.0"?(i.items={anyOf:l},u&&i.items.anyOf.push(u),i.minItems=l.length,u||(i.maxItems=l.length)):(i.items=l,u&&(i.additionalItems=u));let{minimum:p,maximum:d}=t._zod.bag;typeof p=="number"&&(i.minItems=p),typeof d=="number"&&(i.maxItems=d)},c9t=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object";let s=a.keyType,l=s._zod.bag?.patterns;if(a.mode==="loose"&&l&&l.size>0){let p=Uf(a.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});i.patternProperties={};for(let d of l)i.patternProperties[d.source]=p}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(i.propertyNames=Uf(a.keyType,e,{...n,path:[...n.path,"propertyNames"]})),i.additionalProperties=Uf(a.valueType,e,{...n,path:[...n.path,"additionalProperties"]});let u=s._zod.values;if(u){let p=[...u].filter(d=>typeof d=="string"||typeof d=="number");p.length>0&&(i.required=p)}},l9t=(t,e,r,n)=>{let i=t._zod.def,a=Uf(i.innerType,e,n),s=e.seen.get(t);e.target==="openapi-3.0"?(s.ref=i.innerType,r.nullable=!0):r.anyOf=[a,{type:"null"}]},u9t=(t,e,r,n)=>{let i=t._zod.def;Uf(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},p9t=(t,e,r,n)=>{let i=t._zod.def;Uf(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.default=JSON.parse(JSON.stringify(i.defaultValue))},d9t=(t,e,r,n)=>{let i=t._zod.def;Uf(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},f9t=(t,e,r,n)=>{let i=t._zod.def;Uf(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType;let s;try{s=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=s},h9t=(t,e,r,n)=>{let i=t._zod.def,a=e.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;Uf(a,e,n);let s=e.seen.get(t);s.ref=a},m9t=(t,e,r,n)=>{let i=t._zod.def;Uf(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.readOnly=!0},g9t=(t,e,r,n)=>{let i=t._zod.def;Uf(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},iEt=(t,e,r,n)=>{let i=t._zod.def;Uf(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},y9t=(t,e,r,n)=>{let i=t._zod.innerType;Uf(i,e,n);let a=e.seen.get(t);a.ref=i},rEt={string:M6t,number:k6t,boolean:$6t,bigint:F6t,symbol:V6t,null:j6t,undefined:U6t,void:B6t,never:q6t,any:G6t,unknown:H6t,date:z6t,enum:K6t,literal:Y6t,nan:W6t,template_literal:X6t,file:J6t,success:Q6t,custom:Z6t,function:e9t,transform:t9t,map:r9t,set:n9t,array:i9t,object:o9t,union:nEt,intersection:a9t,tuple:s9t,record:c9t,nullable:l9t,nonoptional:u9t,default:p9t,prefault:d9t,catch:f9t,pipe:h9t,readonly:m9t,promise:g9t,optional:iEt,lazy:y9t};function yae(t,e){if("_idmap"in t){let n=t,i=fae({...e,processors:rEt}),a={};for(let l of n._idmap.entries()){let[u,p]=l;Uf(p,i)}let s={},c={registry:n,uri:e?.uri,defs:a};i.external=c;for(let l of n._idmap.entries()){let[u,p]=l;hae(i,p),s[u]=mae(i,p)}if(Object.keys(a).length>0){let l=i.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[l]:a}}return{schemas:s}}let r=fae({...e,processors:rEt});return Uf(t,r),hae(r,t),mae(r,t)}var oEt=class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let r=e?.target??"draft-2020-12";r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),this.ctx=fae({processors:rEt,target:r,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,r={path:[],schemaPath:[]}){return Uf(e,this.ctx,r)}emit(e,r){r&&(r.cycles&&(this.ctx.cycles=r.cycles),r.reused&&(this.ctx.reused=r.reused),r.external&&(this.ctx.external=r.external)),hae(this.ctx,e);let n=mae(this.ctx,e),{"~standard":i,...a}=n;return a}};var tKr={};function bDe(t){return!!t._zod}function _ae(t,e){return bDe(t)?rTe(t,e):t.safeParse(e)}function aEt(t){if(!t)return;let e;if(bDe(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function iKr(t){if(bDe(t)){let a=t._zod?.def;if(a){if(a.value!==void 0)return a.value;if(Array.isArray(a.values)&&a.values.length>0)return a.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var vTe={};Is(vTe,{$brand:()=>A3e,$input:()=>y_t,$output:()=>g_t,NEVER:()=>kyt,TimePrecision:()=>T_t,ZodAny:()=>V9t,ZodArray:()=>q9t,ZodBase64:()=>PEt,ZodBase64URL:()=>xEt,ZodBigInt:()=>wDe,ZodBigIntFormat:()=>DEt,ZodBoolean:()=>xDe,ZodCIDRv4:()=>AEt,ZodCIDRv6:()=>CEt,ZodCUID:()=>vEt,ZodCUID2:()=>_Et,ZodCatch:()=>lXt,ZodCodec:()=>$Et,ZodCustom:()=>Aze,ZodCustomStringFormat:()=>ADe,ZodDate:()=>Eze,ZodDefault:()=>nXt,ZodDiscriminatedUnion:()=>H9t,ZodE164:()=>wEt,ZodEmail:()=>hEt,ZodEmoji:()=>gEt,ZodEnum:()=>SDe,ZodError:()=>b9t,ZodExactOptional:()=>eXt,ZodFile:()=>Q9t,ZodFirstPartyTypeKind:()=>TXt,ZodFunction:()=>vXt,ZodGUID:()=>hze,ZodIPv4:()=>SEt,ZodIPv6:()=>OEt,ZodISODate:()=>lEt,ZodISODateTime:()=>cEt,ZodISODuration:()=>pEt,ZodISOTime:()=>uEt,ZodIntersection:()=>z9t,ZodIssueCode:()=>Fso,ZodJWT:()=>NEt,ZodKSUID:()=>bEt,ZodLazy:()=>mXt,ZodLiteral:()=>J9t,ZodMAC:()=>M9t,ZodMap:()=>W9t,ZodNaN:()=>pXt,ZodNanoID:()=>yEt,ZodNever:()=>U9t,ZodNonOptional:()=>MEt,ZodNull:()=>F9t,ZodNullable:()=>rXt,ZodNumber:()=>CDe,ZodNumberFormat:()=>yTe,ZodObject:()=>Tze,ZodOptional:()=>LEt,ZodPipe:()=>kEt,ZodPrefault:()=>oXt,ZodPromise:()=>yXt,ZodReadonly:()=>dXt,ZodRealError:()=>W$,ZodRecord:()=>Oze,ZodSet:()=>X9t,ZodString:()=>ODe,ZodStringFormat:()=>sg,ZodSuccess:()=>cXt,ZodSymbol:()=>k9t,ZodTemplateLiteral:()=>hXt,ZodTransform:()=>Z9t,ZodTuple:()=>K9t,ZodType:()=>Wc,ZodULID:()=>EEt,ZodURL:()=>yze,ZodUUID:()=>FX,ZodUndefined:()=>$9t,ZodUnion:()=>bze,ZodUnknown:()=>j9t,ZodVoid:()=>B9t,ZodXID:()=>TEt,ZodXor:()=>G9t,_ZodString:()=>fEt,_default:()=>iXt,_function:()=>o8r,any:()=>_ze,array:()=>_s,base64:()=>AKr,base64url:()=>CKr,bigint:()=>$Kr,boolean:()=>cy,catch:()=>uXt,check:()=>a8r,cidrv4:()=>SKr,cidrv6:()=>OKr,clone:()=>cP,codec:()=>r8r,coerce:()=>bXt,config:()=>q_,core:()=>xj,cuid:()=>mKr,cuid2:()=>gKr,custom:()=>FEt,date:()=>qKr,decode:()=>x9t,decodeAsync:()=>N9t,describe:()=>s8r,discriminatedUnion:()=>Sze,e164:()=>PKr,email:()=>aKr,emoji:()=>fKr,encode:()=>P9t,encodeAsync:()=>w9t,endsWith:()=>lTe,enum:()=>Xh,exactOptional:()=>tXt,file:()=>QKr,flattenError:()=>YNe,float32:()=>RKr,float64:()=>LKr,formatError:()=>WNe,fromJSONSchema:()=>f8r,function:()=>o8r,getErrorMap:()=>jso,globalRegistry:()=>LA,gt:()=>rY,gte:()=>lP,guid:()=>sKr,hash:()=>IKr,hex:()=>DKr,hostname:()=>NKr,httpUrl:()=>dKr,includes:()=>sTe,instanceof:()=>l8r,int:()=>dEt,int32:()=>MKr,int64:()=>FKr,intersection:()=>RDe,ipv4:()=>EKr,ipv6:()=>bKr,iso:()=>bae,json:()=>p8r,jwt:()=>xKr,keyof:()=>GKr,ksuid:()=>_Kr,lazy:()=>gXt,length:()=>dae,literal:()=>lo,locales:()=>hDe,looseObject:()=>QP,looseRecord:()=>YKr,lowercase:()=>oTe,lt:()=>tY,lte:()=>FM,mac:()=>TKr,map:()=>WKr,maxLength:()=>pae,maxSize:()=>Lte,meta:()=>c8r,mime:()=>uTe,minLength:()=>kX,minSize:()=>nY,multipleOf:()=>Rte,nan:()=>t8r,nanoid:()=>hKr,nativeEnum:()=>JKr,negative:()=>lze,never:()=>IEt,nonnegative:()=>pze,nonoptional:()=>sXt,nonpositive:()=>uze,normalize:()=>pTe,null:()=>vze,nullable:()=>mze,nullish:()=>ZKr,number:()=>Wp,object:()=>Hn,optional:()=>Ad,overwrite:()=>W3,parse:()=>S9t,parseAsync:()=>O9t,partialRecord:()=>KKr,pipe:()=>gze,positive:()=>cze,prefault:()=>aXt,preprocess:()=>Cze,prettifyError:()=>Uyt,promise:()=>i8r,property:()=>dze,readonly:()=>fXt,record:()=>Pd,refine:()=>_Xt,regex:()=>iTe,regexes:()=>Y$,registry:()=>U3e,safeDecode:()=>I9t,safeDecodeAsync:()=>L9t,safeEncode:()=>D9t,safeEncodeAsync:()=>R9t,safeParse:()=>A9t,safeParseAsync:()=>C9t,set:()=>XKr,setErrorMap:()=>Vso,size:()=>uae,slugify:()=>yDe,startsWith:()=>cTe,strictObject:()=>HKr,string:()=>Ar,stringFormat:()=>wKr,stringbool:()=>u8r,success:()=>e8r,superRefine:()=>EXt,symbol:()=>jKr,templateLiteral:()=>n8r,toJSONSchema:()=>yae,toLowerCase:()=>hTe,toUpperCase:()=>mTe,transform:()=>REt,treeifyError:()=>jyt,trim:()=>fTe,tuple:()=>Y9t,uint32:()=>kKr,uint64:()=>VKr,ulid:()=>yKr,undefined:()=>UKr,union:()=>Eu,unknown:()=>Od,uppercase:()=>aTe,url:()=>mEt,util:()=>mi,uuid:()=>cKr,uuidv4:()=>lKr,uuidv6:()=>uKr,uuidv7:()=>pKr,void:()=>BKr,xid:()=>vKr,xor:()=>zKr});var fze={};Is(fze,{ZodAny:()=>V9t,ZodArray:()=>q9t,ZodBase64:()=>PEt,ZodBase64URL:()=>xEt,ZodBigInt:()=>wDe,ZodBigIntFormat:()=>DEt,ZodBoolean:()=>xDe,ZodCIDRv4:()=>AEt,ZodCIDRv6:()=>CEt,ZodCUID:()=>vEt,ZodCUID2:()=>_Et,ZodCatch:()=>lXt,ZodCodec:()=>$Et,ZodCustom:()=>Aze,ZodCustomStringFormat:()=>ADe,ZodDate:()=>Eze,ZodDefault:()=>nXt,ZodDiscriminatedUnion:()=>H9t,ZodE164:()=>wEt,ZodEmail:()=>hEt,ZodEmoji:()=>gEt,ZodEnum:()=>SDe,ZodExactOptional:()=>eXt,ZodFile:()=>Q9t,ZodFunction:()=>vXt,ZodGUID:()=>hze,ZodIPv4:()=>SEt,ZodIPv6:()=>OEt,ZodIntersection:()=>z9t,ZodJWT:()=>NEt,ZodKSUID:()=>bEt,ZodLazy:()=>mXt,ZodLiteral:()=>J9t,ZodMAC:()=>M9t,ZodMap:()=>W9t,ZodNaN:()=>pXt,ZodNanoID:()=>yEt,ZodNever:()=>U9t,ZodNonOptional:()=>MEt,ZodNull:()=>F9t,ZodNullable:()=>rXt,ZodNumber:()=>CDe,ZodNumberFormat:()=>yTe,ZodObject:()=>Tze,ZodOptional:()=>LEt,ZodPipe:()=>kEt,ZodPrefault:()=>oXt,ZodPromise:()=>yXt,ZodReadonly:()=>dXt,ZodRecord:()=>Oze,ZodSet:()=>X9t,ZodString:()=>ODe,ZodStringFormat:()=>sg,ZodSuccess:()=>cXt,ZodSymbol:()=>k9t,ZodTemplateLiteral:()=>hXt,ZodTransform:()=>Z9t,ZodTuple:()=>K9t,ZodType:()=>Wc,ZodULID:()=>EEt,ZodURL:()=>yze,ZodUUID:()=>FX,ZodUndefined:()=>$9t,ZodUnion:()=>bze,ZodUnknown:()=>j9t,ZodVoid:()=>B9t,ZodXID:()=>TEt,ZodXor:()=>G9t,_ZodString:()=>fEt,_default:()=>iXt,_function:()=>o8r,any:()=>_ze,array:()=>_s,base64:()=>AKr,base64url:()=>CKr,bigint:()=>$Kr,boolean:()=>cy,catch:()=>uXt,check:()=>a8r,cidrv4:()=>SKr,cidrv6:()=>OKr,codec:()=>r8r,cuid:()=>mKr,cuid2:()=>gKr,custom:()=>FEt,date:()=>qKr,describe:()=>s8r,discriminatedUnion:()=>Sze,e164:()=>PKr,email:()=>aKr,emoji:()=>fKr,enum:()=>Xh,exactOptional:()=>tXt,file:()=>QKr,float32:()=>RKr,float64:()=>LKr,function:()=>o8r,guid:()=>sKr,hash:()=>IKr,hex:()=>DKr,hostname:()=>NKr,httpUrl:()=>dKr,instanceof:()=>l8r,int:()=>dEt,int32:()=>MKr,int64:()=>FKr,intersection:()=>RDe,ipv4:()=>EKr,ipv6:()=>bKr,json:()=>p8r,jwt:()=>xKr,keyof:()=>GKr,ksuid:()=>_Kr,lazy:()=>gXt,literal:()=>lo,looseObject:()=>QP,looseRecord:()=>YKr,mac:()=>TKr,map:()=>WKr,meta:()=>c8r,nan:()=>t8r,nanoid:()=>hKr,nativeEnum:()=>JKr,never:()=>IEt,nonoptional:()=>sXt,null:()=>vze,nullable:()=>mze,nullish:()=>ZKr,number:()=>Wp,object:()=>Hn,optional:()=>Ad,partialRecord:()=>KKr,pipe:()=>gze,prefault:()=>aXt,preprocess:()=>Cze,promise:()=>i8r,readonly:()=>fXt,record:()=>Pd,refine:()=>_Xt,set:()=>XKr,strictObject:()=>HKr,string:()=>Ar,stringFormat:()=>wKr,stringbool:()=>u8r,success:()=>e8r,superRefine:()=>EXt,symbol:()=>jKr,templateLiteral:()=>n8r,transform:()=>REt,tuple:()=>Y9t,uint32:()=>kKr,uint64:()=>VKr,ulid:()=>yKr,undefined:()=>UKr,union:()=>Eu,unknown:()=>Od,url:()=>mEt,uuid:()=>cKr,uuidv4:()=>lKr,uuidv6:()=>uKr,uuidv7:()=>pKr,void:()=>BKr,xid:()=>vKr,xor:()=>zKr});var sEt={};Is(sEt,{endsWith:()=>lTe,gt:()=>rY,gte:()=>lP,includes:()=>sTe,length:()=>dae,lowercase:()=>oTe,lt:()=>tY,lte:()=>FM,maxLength:()=>pae,maxSize:()=>Lte,mime:()=>uTe,minLength:()=>kX,minSize:()=>nY,multipleOf:()=>Rte,negative:()=>lze,nonnegative:()=>pze,nonpositive:()=>uze,normalize:()=>pTe,overwrite:()=>W3,positive:()=>cze,property:()=>dze,regex:()=>iTe,size:()=>uae,slugify:()=>yDe,startsWith:()=>cTe,toLowerCase:()=>hTe,toUpperCase:()=>mTe,trim:()=>fTe,uppercase:()=>aTe});var bae={};Is(bae,{ZodISODate:()=>lEt,ZodISODateTime:()=>cEt,ZodISODuration:()=>pEt,ZodISOTime:()=>uEt,date:()=>_9t,datetime:()=>v9t,duration:()=>T9t,time:()=>E9t});var cEt=rn("ZodISODateTime",(t,e)=>{gvt.init(t,e),sg.init(t,e)});function v9t(t){return b_t(cEt,t)}var lEt=rn("ZodISODate",(t,e)=>{yvt.init(t,e),sg.init(t,e)});function _9t(t){return S_t(lEt,t)}var uEt=rn("ZodISOTime",(t,e)=>{vvt.init(t,e),sg.init(t,e)});function E9t(t){return O_t(uEt,t)}var pEt=rn("ZodISODuration",(t,e)=>{_vt.init(t,e),sg.init(t,e)});function T9t(t){return A_t(pEt,t)}var oKr=(t,e)=>{I3e.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>WNe(t,r)},flatten:{value:r=>YNe(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,GNe,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,GNe,2)}},isEmpty:{get(){return t.issues.length===0}}})},b9t=rn("ZodError",oKr),W$=rn("ZodError",oKr,{Parent:Error});var S9t=JNe(W$),O9t=tDe(W$),A9t=iDe(W$),C9t=oDe(W$),P9t=Byt(W$),x9t=qyt(W$),w9t=Gyt(W$),N9t=Hyt(W$),D9t=zyt(W$),I9t=Kyt(W$),R9t=Yyt(W$),L9t=Wyt(W$);var Wc=rn("ZodType",(t,e)=>(Js.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:TDe(t,"input"),output:TDe(t,"output")}}),t.toJSONSchema=L6t(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(mi.mergeDefs(e,{checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),t.with=t.check,t.clone=(r,n)=>cP(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>S9t(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>A9t(t,r,n),t.parseAsync=async(r,n)=>O9t(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>C9t(t,r,n),t.spa=t.safeParseAsync,t.encode=(r,n)=>P9t(t,r,n),t.decode=(r,n)=>x9t(t,r,n),t.encodeAsync=async(r,n)=>w9t(t,r,n),t.decodeAsync=async(r,n)=>N9t(t,r,n),t.safeEncode=(r,n)=>D9t(t,r,n),t.safeDecode=(r,n)=>I9t(t,r,n),t.safeEncodeAsync=async(r,n)=>R9t(t,r,n),t.safeDecodeAsync=async(r,n)=>L9t(t,r,n),t.refine=(r,n)=>t.check(_Xt(r,n)),t.superRefine=r=>t.check(EXt(r)),t.overwrite=r=>t.check(W3(r)),t.optional=()=>Ad(t),t.exactOptional=()=>tXt(t),t.nullable=()=>mze(t),t.nullish=()=>Ad(mze(t)),t.nonoptional=r=>sXt(t,r),t.array=()=>_s(t),t.or=r=>Eu([t,r]),t.and=r=>RDe(t,r),t.transform=r=>gze(t,REt(r)),t.default=r=>iXt(t,r),t.prefault=r=>aXt(t,r),t.catch=r=>uXt(t,r),t.pipe=r=>gze(t,r),t.readonly=()=>fXt(t),t.describe=r=>{let n=t.clone();return LA.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return LA.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return LA.get(t);let n=t.clone();return LA.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=r=>r(t),t)),fEt=rn("_ZodString",(t,e)=>{lae.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(n,i,a)=>M6t(t,n,i,a);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(iTe(...n)),t.includes=(...n)=>t.check(sTe(...n)),t.startsWith=(...n)=>t.check(cTe(...n)),t.endsWith=(...n)=>t.check(lTe(...n)),t.min=(...n)=>t.check(kX(...n)),t.max=(...n)=>t.check(pae(...n)),t.length=(...n)=>t.check(dae(...n)),t.nonempty=(...n)=>t.check(kX(1,...n)),t.lowercase=n=>t.check(oTe(n)),t.uppercase=n=>t.check(aTe(n)),t.trim=()=>t.check(fTe()),t.normalize=(...n)=>t.check(pTe(...n)),t.toLowerCase=()=>t.check(hTe()),t.toUpperCase=()=>t.check(mTe()),t.slugify=()=>t.check(yDe())}),ODe=rn("ZodString",(t,e)=>{lae.init(t,e),fEt.init(t,e),t.email=r=>t.check(B3e(hEt,r)),t.url=r=>t.check(gDe(yze,r)),t.jwt=r=>t.check(sze(NEt,r)),t.emoji=r=>t.check(K3e(gEt,r)),t.guid=r=>t.check(mDe(hze,r)),t.uuid=r=>t.check(q3e(FX,r)),t.uuidv4=r=>t.check(G3e(FX,r)),t.uuidv6=r=>t.check(H3e(FX,r)),t.uuidv7=r=>t.check(z3e(FX,r)),t.nanoid=r=>t.check(Y3e(yEt,r)),t.guid=r=>t.check(mDe(hze,r)),t.cuid=r=>t.check(W3e(vEt,r)),t.cuid2=r=>t.check(X3e(_Et,r)),t.ulid=r=>t.check(J3e(EEt,r)),t.base64=r=>t.check(ize(PEt,r)),t.base64url=r=>t.check(oze(xEt,r)),t.xid=r=>t.check(Q3e(TEt,r)),t.ksuid=r=>t.check(Z3e(bEt,r)),t.ipv4=r=>t.check(eze(SEt,r)),t.ipv6=r=>t.check(tze(OEt,r)),t.cidrv4=r=>t.check(rze(AEt,r)),t.cidrv6=r=>t.check(nze(CEt,r)),t.e164=r=>t.check(aze(wEt,r)),t.datetime=r=>t.check(v9t(r)),t.date=r=>t.check(_9t(r)),t.time=r=>t.check(E9t(r)),t.duration=r=>t.check(T9t(r))});function Ar(t){return v_t(ODe,t)}var sg=rn("ZodStringFormat",(t,e)=>{Wh.init(t,e),fEt.init(t,e)}),hEt=rn("ZodEmail",(t,e)=>{svt.init(t,e),sg.init(t,e)});function aKr(t){return B3e(hEt,t)}var hze=rn("ZodGUID",(t,e)=>{ovt.init(t,e),sg.init(t,e)});function sKr(t){return mDe(hze,t)}var FX=rn("ZodUUID",(t,e)=>{avt.init(t,e),sg.init(t,e)});function cKr(t){return q3e(FX,t)}function lKr(t){return G3e(FX,t)}function uKr(t){return H3e(FX,t)}function pKr(t){return z3e(FX,t)}var yze=rn("ZodURL",(t,e)=>{cvt.init(t,e),sg.init(t,e)});function mEt(t){return gDe(yze,t)}function dKr(t){return gDe(yze,{protocol:/^https?$/,hostname:Y$.domain,...mi.normalizeParams(t)})}var gEt=rn("ZodEmoji",(t,e)=>{lvt.init(t,e),sg.init(t,e)});function fKr(t){return K3e(gEt,t)}var yEt=rn("ZodNanoID",(t,e)=>{uvt.init(t,e),sg.init(t,e)});function hKr(t){return Y3e(yEt,t)}var vEt=rn("ZodCUID",(t,e)=>{pvt.init(t,e),sg.init(t,e)});function mKr(t){return W3e(vEt,t)}var _Et=rn("ZodCUID2",(t,e)=>{dvt.init(t,e),sg.init(t,e)});function gKr(t){return X3e(_Et,t)}var EEt=rn("ZodULID",(t,e)=>{fvt.init(t,e),sg.init(t,e)});function yKr(t){return J3e(EEt,t)}var TEt=rn("ZodXID",(t,e)=>{hvt.init(t,e),sg.init(t,e)});function vKr(t){return Q3e(TEt,t)}var bEt=rn("ZodKSUID",(t,e)=>{mvt.init(t,e),sg.init(t,e)});function _Kr(t){return Z3e(bEt,t)}var SEt=rn("ZodIPv4",(t,e)=>{Evt.init(t,e),sg.init(t,e)});function EKr(t){return eze(SEt,t)}var M9t=rn("ZodMAC",(t,e)=>{bvt.init(t,e),sg.init(t,e)});function TKr(t){return E_t(M9t,t)}var OEt=rn("ZodIPv6",(t,e)=>{Tvt.init(t,e),sg.init(t,e)});function bKr(t){return tze(OEt,t)}var AEt=rn("ZodCIDRv4",(t,e)=>{Svt.init(t,e),sg.init(t,e)});function SKr(t){return rze(AEt,t)}var CEt=rn("ZodCIDRv6",(t,e)=>{Ovt.init(t,e),sg.init(t,e)});function OKr(t){return nze(CEt,t)}var PEt=rn("ZodBase64",(t,e)=>{Avt.init(t,e),sg.init(t,e)});function AKr(t){return ize(PEt,t)}var xEt=rn("ZodBase64URL",(t,e)=>{Cvt.init(t,e),sg.init(t,e)});function CKr(t){return oze(xEt,t)}var wEt=rn("ZodE164",(t,e)=>{Pvt.init(t,e),sg.init(t,e)});function PKr(t){return aze(wEt,t)}var NEt=rn("ZodJWT",(t,e)=>{xvt.init(t,e),sg.init(t,e)});function xKr(t){return sze(NEt,t)}var ADe=rn("ZodCustomStringFormat",(t,e)=>{wvt.init(t,e),sg.init(t,e)});function wKr(t,e,r={}){return gTe(ADe,t,e,r)}function NKr(t){return gTe(ADe,"hostname",Y$.hostname,t)}function DKr(t){return gTe(ADe,"hex",Y$.hex,t)}function IKr(t,e){let r=e?.enc??"hex",n=`${t}_${r}`,i=Y$[n];if(!i)throw new Error(`Unrecognized hash format: ${n}`);return gTe(ADe,n,i,e)}var CDe=rn("ZodNumber",(t,e)=>{k3e.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(n,i,a)=>k6t(t,n,i,a),t.gt=(n,i)=>t.check(rY(n,i)),t.gte=(n,i)=>t.check(lP(n,i)),t.min=(n,i)=>t.check(lP(n,i)),t.lt=(n,i)=>t.check(tY(n,i)),t.lte=(n,i)=>t.check(FM(n,i)),t.max=(n,i)=>t.check(FM(n,i)),t.int=n=>t.check(dEt(n)),t.safe=n=>t.check(dEt(n)),t.positive=n=>t.check(rY(0,n)),t.nonnegative=n=>t.check(lP(0,n)),t.negative=n=>t.check(tY(0,n)),t.nonpositive=n=>t.check(FM(0,n)),t.multipleOf=(n,i)=>t.check(Rte(n,i)),t.step=(n,i)=>t.check(Rte(n,i)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function Wp(t){return C_t(CDe,t)}var yTe=rn("ZodNumberFormat",(t,e)=>{Nvt.init(t,e),CDe.init(t,e)});function dEt(t){return x_t(yTe,t)}function RKr(t){return w_t(yTe,t)}function LKr(t){return N_t(yTe,t)}function MKr(t){return D_t(yTe,t)}function kKr(t){return I_t(yTe,t)}var xDe=rn("ZodBoolean",(t,e)=>{cDe.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>$6t(t,r,n,i)});function cy(t){return R_t(xDe,t)}var wDe=rn("ZodBigInt",(t,e)=>{$3e.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(n,i,a)=>F6t(t,n,i,a),t.gte=(n,i)=>t.check(lP(n,i)),t.min=(n,i)=>t.check(lP(n,i)),t.gt=(n,i)=>t.check(rY(n,i)),t.gte=(n,i)=>t.check(lP(n,i)),t.min=(n,i)=>t.check(lP(n,i)),t.lt=(n,i)=>t.check(tY(n,i)),t.lte=(n,i)=>t.check(FM(n,i)),t.max=(n,i)=>t.check(FM(n,i)),t.positive=n=>t.check(rY(BigInt(0),n)),t.negative=n=>t.check(tY(BigInt(0),n)),t.nonpositive=n=>t.check(FM(BigInt(0),n)),t.nonnegative=n=>t.check(lP(BigInt(0),n)),t.multipleOf=(n,i)=>t.check(Rte(n,i));let r=t._zod.bag;t.minValue=r.minimum??null,t.maxValue=r.maximum??null,t.format=r.format??null});function $Kr(t){return M_t(wDe,t)}var DEt=rn("ZodBigIntFormat",(t,e)=>{Dvt.init(t,e),wDe.init(t,e)});function FKr(t){return $_t(DEt,t)}function VKr(t){return F_t(DEt,t)}var k9t=rn("ZodSymbol",(t,e)=>{Ivt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>V6t(t,r,n,i)});function jKr(t){return V_t(k9t,t)}var $9t=rn("ZodUndefined",(t,e)=>{Rvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>U6t(t,r,n,i)});function UKr(t){return j_t($9t,t)}var F9t=rn("ZodNull",(t,e)=>{Lvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>j6t(t,r,n,i)});function vze(t){return U_t(F9t,t)}var V9t=rn("ZodAny",(t,e)=>{Mvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>G6t(t,r,n,i)});function _ze(){return B_t(V9t)}var j9t=rn("ZodUnknown",(t,e)=>{kvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>H6t(t,r,n,i)});function Od(){return q_t(j9t)}var U9t=rn("ZodNever",(t,e)=>{$vt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>q6t(t,r,n,i)});function IEt(t){return G_t(U9t,t)}var B9t=rn("ZodVoid",(t,e)=>{Fvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>B6t(t,r,n,i)});function BKr(t){return H_t(B9t,t)}var Eze=rn("ZodDate",(t,e)=>{Vvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(n,i,a)=>z6t(t,n,i,a),t.min=(n,i)=>t.check(lP(n,i)),t.max=(n,i)=>t.check(FM(n,i));let r=t._zod.bag;t.minDate=r.minimum?new Date(r.minimum):null,t.maxDate=r.maximum?new Date(r.maximum):null});function qKr(t){return z_t(Eze,t)}var q9t=rn("ZodArray",(t,e)=>{jvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>i9t(t,r,n,i),t.element=e.element,t.min=(r,n)=>t.check(kX(r,n)),t.nonempty=r=>t.check(kX(1,r)),t.max=(r,n)=>t.check(pae(r,n)),t.length=(r,n)=>t.check(dae(r,n)),t.unwrap=()=>t.element});function _s(t,e){return R6t(q9t,t,e)}function GKr(t){let e=t._zod.def.shape;return Xh(Object.keys(e))}var Tze=rn("ZodObject",(t,e)=>{I6t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>o9t(t,r,n,i),mi.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Xh(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:Od()}),t.loose=()=>t.clone({...t._zod.def,catchall:Od()}),t.strict=()=>t.clone({...t._zod.def,catchall:IEt()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>mi.extend(t,r),t.safeExtend=r=>mi.safeExtend(t,r),t.merge=r=>mi.merge(t,r),t.pick=r=>mi.pick(t,r),t.omit=r=>mi.omit(t,r),t.partial=(...r)=>mi.partial(LEt,t,r[0]),t.required=(...r)=>mi.required(MEt,t,r[0])});function Hn(t,e){let r={type:"object",shape:t??{},...mi.normalizeParams(e)};return new Tze(r)}function HKr(t,e){return new Tze({type:"object",shape:t,catchall:IEt(),...mi.normalizeParams(e)})}function QP(t,e){return new Tze({type:"object",shape:t,catchall:Od(),...mi.normalizeParams(e)})}var bze=rn("ZodUnion",(t,e)=>{lDe.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>nEt(t,r,n,i),t.options=e.options});function Eu(t,e){return new bze({type:"union",options:t,...mi.normalizeParams(e)})}var G9t=rn("ZodXor",(t,e)=>{bze.init(t,e),Uvt.init(t,e),t._zod.processJSONSchema=(r,n,i)=>nEt(t,r,n,i),t.options=e.options});function zKr(t,e){return new G9t({type:"union",options:t,inclusive:!1,...mi.normalizeParams(e)})}var H9t=rn("ZodDiscriminatedUnion",(t,e)=>{bze.init(t,e),Bvt.init(t,e)});function Sze(t,e,r){return new H9t({type:"union",options:e,discriminator:t,...mi.normalizeParams(r)})}var z9t=rn("ZodIntersection",(t,e)=>{qvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>a9t(t,r,n,i)});function RDe(t,e){return new z9t({type:"intersection",left:t,right:e})}var K9t=rn("ZodTuple",(t,e)=>{F3e.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>s9t(t,r,n,i),t.rest=r=>t.clone({...t._zod.def,rest:r})});function Y9t(t,e,r){let n=e instanceof Js,i=n?r:e,a=n?e:null;return new K9t({type:"tuple",items:t,rest:a,...mi.normalizeParams(i)})}var Oze=rn("ZodRecord",(t,e)=>{Gvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>c9t(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType});function Pd(t,e,r){return new Oze({type:"record",keyType:t,valueType:e,...mi.normalizeParams(r)})}function KKr(t,e,r){let n=cP(t);return n._zod.values=void 0,new Oze({type:"record",keyType:n,valueType:e,...mi.normalizeParams(r)})}function YKr(t,e,r){return new Oze({type:"record",keyType:t,valueType:e,mode:"loose",...mi.normalizeParams(r)})}var W9t=rn("ZodMap",(t,e)=>{Hvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>r9t(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType,t.min=(...r)=>t.check(nY(...r)),t.nonempty=r=>t.check(nY(1,r)),t.max=(...r)=>t.check(Lte(...r)),t.size=(...r)=>t.check(uae(...r))});function WKr(t,e,r){return new W9t({type:"map",keyType:t,valueType:e,...mi.normalizeParams(r)})}var X9t=rn("ZodSet",(t,e)=>{zvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>n9t(t,r,n,i),t.min=(...r)=>t.check(nY(...r)),t.nonempty=r=>t.check(nY(1,r)),t.max=(...r)=>t.check(Lte(...r)),t.size=(...r)=>t.check(uae(...r))});function XKr(t,e){return new X9t({type:"set",valueType:t,...mi.normalizeParams(e)})}var SDe=rn("ZodEnum",(t,e)=>{Kvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(n,i,a)=>K6t(t,n,i,a),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,i)=>{let a={};for(let s of n)if(r.has(s))a[s]=e.entries[s];else throw new Error(`Key ${s} not found in enum`);return new SDe({...e,checks:[],...mi.normalizeParams(i),entries:a})},t.exclude=(n,i)=>{let a={...e.entries};for(let s of n)if(r.has(s))delete a[s];else throw new Error(`Key ${s} not found in enum`);return new SDe({...e,checks:[],...mi.normalizeParams(i),entries:a})}});function Xh(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new SDe({type:"enum",entries:r,...mi.normalizeParams(e)})}function JKr(t,e){return new SDe({type:"enum",entries:t,...mi.normalizeParams(e)})}var J9t=rn("ZodLiteral",(t,e)=>{Yvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Y6t(t,r,n,i),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function lo(t,e){return new J9t({type:"literal",values:Array.isArray(t)?t:[t],...mi.normalizeParams(e)})}var Q9t=rn("ZodFile",(t,e)=>{Wvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>J6t(t,r,n,i),t.min=(r,n)=>t.check(nY(r,n)),t.max=(r,n)=>t.check(Lte(r,n)),t.mime=(r,n)=>t.check(uTe(Array.isArray(r)?r:[r],n))});function QKr(t){return W_t(Q9t,t)}var Z9t=rn("ZodTransform",(t,e)=>{Xvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>t9t(t,r,n,i),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new iae(t.constructor.name);r.addIssue=a=>{if(typeof a=="string")r.issues.push(mi.issue(a,r.value,e));else{let s=a;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=t),r.issues.push(mi.issue(s))}};let i=e.transform(r.value,r);return i instanceof Promise?i.then(a=>(r.value=a,r)):(r.value=i,r)}});function REt(t){return new Z9t({type:"transform",transform:t})}var LEt=rn("ZodOptional",(t,e)=>{V3e.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>iEt(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function Ad(t){return new LEt({type:"optional",innerType:t})}var eXt=rn("ZodExactOptional",(t,e)=>{Jvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>iEt(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function tXt(t){return new eXt({type:"optional",innerType:t})}var rXt=rn("ZodNullable",(t,e)=>{Qvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>l9t(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function mze(t){return new rXt({type:"nullable",innerType:t})}function ZKr(t){return Ad(mze(t))}var nXt=rn("ZodDefault",(t,e)=>{Zvt.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>p9t(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function iXt(t,e){return new nXt({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():mi.shallowClone(e)}})}var oXt=rn("ZodPrefault",(t,e)=>{e_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>d9t(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function aXt(t,e){return new oXt({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():mi.shallowClone(e)}})}var MEt=rn("ZodNonOptional",(t,e)=>{t_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>u9t(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function sXt(t,e){return new MEt({type:"nonoptional",innerType:t,...mi.normalizeParams(e)})}var cXt=rn("ZodSuccess",(t,e)=>{r_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Q6t(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function e8r(t){return new cXt({type:"success",innerType:t})}var lXt=rn("ZodCatch",(t,e)=>{n_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>f9t(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function uXt(t,e){return new lXt({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var pXt=rn("ZodNaN",(t,e)=>{i_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>W6t(t,r,n,i)});function t8r(t){return Y_t(pXt,t)}var kEt=rn("ZodPipe",(t,e)=>{o_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>h9t(t,r,n,i),t.in=e.in,t.out=e.out});function gze(t,e){return new kEt({type:"pipe",in:t,out:e})}var $Et=rn("ZodCodec",(t,e)=>{kEt.init(t,e),dDe.init(t,e)});function r8r(t,e,r){return new $Et({type:"pipe",in:t,out:e,transform:r.decode,reverseTransform:r.encode})}var dXt=rn("ZodReadonly",(t,e)=>{a_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>m9t(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function fXt(t){return new dXt({type:"readonly",innerType:t})}var hXt=rn("ZodTemplateLiteral",(t,e)=>{s_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>X6t(t,r,n,i)});function n8r(t,e){return new hXt({type:"template_literal",parts:t,...mi.normalizeParams(e)})}var mXt=rn("ZodLazy",(t,e)=>{u_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>y9t(t,r,n,i),t.unwrap=()=>t._zod.def.getter()});function gXt(t){return new mXt({type:"lazy",getter:t})}var yXt=rn("ZodPromise",(t,e)=>{l_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>g9t(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function i8r(t){return new yXt({type:"promise",innerType:t})}var vXt=rn("ZodFunction",(t,e)=>{c_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>e9t(t,r,n,i)});function o8r(t){return new vXt({type:"function",input:Array.isArray(t?.input)?Y9t(t?.input):t?.input??_s(Od()),output:t?.output??Od()})}var Aze=rn("ZodCustom",(t,e)=>{p_t.init(t,e),Wc.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Z6t(t,r,n,i)});function a8r(t){let e=new ag({check:"custom"});return e._zod.check=t,e}function FEt(t,e){return X_t(Aze,t??(()=>!0),e)}function _Xt(t,e={}){return J_t(Aze,t,e)}function EXt(t){return Q_t(t)}var s8r=Z_t,c8r=eEt;function l8r(t,e={}){let r=new Aze({type:"custom",check:"custom",fn:n=>n instanceof t,abort:!0,...mi.normalizeParams(e)});return r._zod.bag.Class=t,r._zod.check=n=>{n.value instanceof t||n.issues.push({code:"invalid_type",expected:t.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var u8r=(...t)=>tEt({Codec:$Et,Boolean:xDe,String:ODe},...t);function p8r(t){let e=gXt(()=>Eu([Ar(t),Wp(),cy(),vze(),_s(e),Pd(Ar(),e)]));return e}function Cze(t,e){return gze(REt(t),e)}var Fso={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function Vso(t){q_({customError:t})}function jso(){return q_().customError}var TXt;TXt||(TXt={});var ji={...fze,...sEt,iso:bae},Uso=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function Bso(t,e){let r=t.$schema;return r==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":r==="http://json-schema.org/draft-07/schema#"?"draft-7":r==="http://json-schema.org/draft-04/schema#"?"draft-4":e??"draft-2020-12"}function qso(t,e){if(!t.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let r=t.slice(1).split("/").filter(Boolean);if(r.length===0)return e.rootSchema;let n=e.version==="draft-2020-12"?"$defs":"definitions";if(r[0]===n){let i=r[1];if(!i||!e.defs[i])throw new Error(`Reference not found: ${t}`);return e.defs[i]}throw new Error(`Reference not found: ${t}`)}function d8r(t,e){if(t.not!==void 0){if(typeof t.not=="object"&&Object.keys(t.not).length===0)return ji.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(t.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(t.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(t.if!==void 0||t.then!==void 0||t.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(t.dependentSchemas!==void 0||t.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(t.$ref){let i=t.$ref;if(e.refs.has(i))return e.refs.get(i);if(e.processing.has(i))return ji.lazy(()=>{if(!e.refs.has(i))throw new Error(`Circular reference not resolved: ${i}`);return e.refs.get(i)});e.processing.add(i);let a=qso(i,e),s=RD(a,e);return e.refs.set(i,s),e.processing.delete(i),s}if(t.enum!==void 0){let i=t.enum;if(e.version==="openapi-3.0"&&t.nullable===!0&&i.length===1&&i[0]===null)return ji.null();if(i.length===0)return ji.never();if(i.length===1)return ji.literal(i[0]);if(i.every(s=>typeof s=="string"))return ji.enum(i);let a=i.map(s=>ji.literal(s));return a.length<2?a[0]:ji.union([a[0],a[1],...a.slice(2)])}if(t.const!==void 0)return ji.literal(t.const);let r=t.type;if(Array.isArray(r)){let i=r.map(a=>{let s={...t,type:a};return d8r(s,e)});return i.length===0?ji.never():i.length===1?i[0]:ji.union(i)}if(!r)return ji.any();let n;switch(r){case"string":{let i=ji.string();if(t.format){let a=t.format;a==="email"?i=i.check(ji.email()):a==="uri"||a==="uri-reference"?i=i.check(ji.url()):a==="uuid"||a==="guid"?i=i.check(ji.uuid()):a==="date-time"?i=i.check(ji.iso.datetime()):a==="date"?i=i.check(ji.iso.date()):a==="time"?i=i.check(ji.iso.time()):a==="duration"?i=i.check(ji.iso.duration()):a==="ipv4"?i=i.check(ji.ipv4()):a==="ipv6"?i=i.check(ji.ipv6()):a==="mac"?i=i.check(ji.mac()):a==="cidr"?i=i.check(ji.cidrv4()):a==="cidr-v6"?i=i.check(ji.cidrv6()):a==="base64"?i=i.check(ji.base64()):a==="base64url"?i=i.check(ji.base64url()):a==="e164"?i=i.check(ji.e164()):a==="jwt"?i=i.check(ji.jwt()):a==="emoji"?i=i.check(ji.emoji()):a==="nanoid"?i=i.check(ji.nanoid()):a==="cuid"?i=i.check(ji.cuid()):a==="cuid2"?i=i.check(ji.cuid2()):a==="ulid"?i=i.check(ji.ulid()):a==="xid"?i=i.check(ji.xid()):a==="ksuid"&&(i=i.check(ji.ksuid()))}typeof t.minLength=="number"&&(i=i.min(t.minLength)),typeof t.maxLength=="number"&&(i=i.max(t.maxLength)),t.pattern&&(i=i.regex(new RegExp(t.pattern))),n=i;break}case"number":case"integer":{let i=r==="integer"?ji.number().int():ji.number();typeof t.minimum=="number"&&(i=i.min(t.minimum)),typeof t.maximum=="number"&&(i=i.max(t.maximum)),typeof t.exclusiveMinimum=="number"?i=i.gt(t.exclusiveMinimum):t.exclusiveMinimum===!0&&typeof t.minimum=="number"&&(i=i.gt(t.minimum)),typeof t.exclusiveMaximum=="number"?i=i.lt(t.exclusiveMaximum):t.exclusiveMaximum===!0&&typeof t.maximum=="number"&&(i=i.lt(t.maximum)),typeof t.multipleOf=="number"&&(i=i.multipleOf(t.multipleOf)),n=i;break}case"boolean":{n=ji.boolean();break}case"null":{n=ji.null();break}case"object":{let i={},a=t.properties||{},s=new Set(t.required||[]);for(let[l,u]of Object.entries(a)){let p=RD(u,e);i[l]=s.has(l)?p:p.optional()}if(t.propertyNames){let l=RD(t.propertyNames,e),u=t.additionalProperties&&typeof t.additionalProperties=="object"?RD(t.additionalProperties,e):ji.any();if(Object.keys(i).length===0){n=ji.record(l,u);break}let p=ji.object(i).passthrough(),d=ji.looseRecord(l,u);n=ji.intersection(p,d);break}if(t.patternProperties){let l=t.patternProperties,u=Object.keys(l),p=[];for(let f of u){let h=RD(l[f],e),m=ji.string().regex(new RegExp(f));p.push(ji.looseRecord(m,h))}let d=[];if(Object.keys(i).length>0&&d.push(ji.object(i).passthrough()),d.push(...p),d.length===0)n=ji.object({}).passthrough();else if(d.length===1)n=d[0];else{let f=ji.intersection(d[0],d[1]);for(let h=2;h<d.length;h++)f=ji.intersection(f,d[h]);n=f}break}let c=ji.object(i);t.additionalProperties===!1?n=c.strict():typeof t.additionalProperties=="object"?n=c.catchall(RD(t.additionalProperties,e)):n=c.passthrough();break}case"array":{let i=t.prefixItems,a=t.items;if(i&&Array.isArray(i)){let s=i.map(l=>RD(l,e)),c=a&&typeof a=="object"&&!Array.isArray(a)?RD(a,e):void 0;c?n=ji.tuple(s).rest(c):n=ji.tuple(s),typeof t.minItems=="number"&&(n=n.check(ji.minLength(t.minItems))),typeof t.maxItems=="number"&&(n=n.check(ji.maxLength(t.maxItems)))}else if(Array.isArray(a)){let s=a.map(l=>RD(l,e)),c=t.additionalItems&&typeof t.additionalItems=="object"?RD(t.additionalItems,e):void 0;c?n=ji.tuple(s).rest(c):n=ji.tuple(s),typeof t.minItems=="number"&&(n=n.check(ji.minLength(t.minItems))),typeof t.maxItems=="number"&&(n=n.check(ji.maxLength(t.maxItems)))}else if(a!==void 0){let s=RD(a,e),c=ji.array(s);typeof t.minItems=="number"&&(c=c.min(t.minItems)),typeof t.maxItems=="number"&&(c=c.max(t.maxItems)),n=c}else n=ji.array(ji.any());break}default:throw new Error(`Unsupported type: ${r}`)}return t.description&&(n=n.describe(t.description)),t.default!==void 0&&(n=n.default(t.default)),n}function RD(t,e){if(typeof t=="boolean")return t?ji.any():ji.never();let r=d8r(t,e),n=t.type||t.enum!==void 0||t.const!==void 0;if(t.anyOf&&Array.isArray(t.anyOf)){let c=t.anyOf.map(u=>RD(u,e)),l=ji.union(c);r=n?ji.intersection(r,l):l}if(t.oneOf&&Array.isArray(t.oneOf)){let c=t.oneOf.map(u=>RD(u,e)),l=ji.xor(c);r=n?ji.intersection(r,l):l}if(t.allOf&&Array.isArray(t.allOf))if(t.allOf.length===0)r=n?r:ji.any();else{let c=n?r:RD(t.allOf[0],e),l=n?0:1;for(let u=l;u<t.allOf.length;u++)c=ji.intersection(c,RD(t.allOf[u],e));r=c}t.nullable===!0&&e.version==="openapi-3.0"&&(r=ji.nullable(r)),t.readOnly===!0&&(r=ji.readonly(r));let i={},a=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let c of a)c in t&&(i[c]=t[c]);let s=["contentEncoding","contentMediaType","contentSchema"];for(let c of s)c in t&&(i[c]=t[c]);for(let c of Object.keys(t))Uso.has(c)||(i[c]=t[c]);return Object.keys(i).length>0&&e.registry.add(r,i),r}function f8r(t,e){if(typeof t=="boolean")return t?ji.any():ji.never();let r=Bso(t,e?.defaultTarget),n=t.$defs||t.definitions||{},i={version:r,defs:n,refs:new Map,processing:new Set,rootSchema:t,registry:e?.registry??LA};return RD(t,i)}var bXt={};Is(bXt,{bigint:()=>Kso,boolean:()=>zso,date:()=>Yso,number:()=>Hso,string:()=>Gso});function Gso(t){return __t(ODe,t)}function Hso(t){return P_t(CDe,t)}function zso(t){return L_t(xDe,t)}function Kso(t){return k_t(wDe,t)}function Yso(t){return K_t(Eze,t)}q_(d_t());var OXt="2025-11-25";var _Te=[OXt,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Sae="io.modelcontextprotocol/related-task",jEt="2.0",N0=FEt(t=>t!==null&&(typeof t=="object"||typeof t=="function")),h8r=Eu([Ar(),Wp().int()]),m8r=Ar(),Duc=QP({ttl:Wp().optional(),pollInterval:Wp().optional()}),Xso=Hn({ttl:Wp().optional()}),Jso=Hn({taskId:Ar()}),AXt=QP({progressToken:h8r.optional(),[Sae]:Jso.optional()}),wj=Hn({_meta:AXt.optional()}),Pze=wj.extend({task:Xso.optional()}),g8r=t=>Pze.safeParse(t).success,ZP=Hn({method:Ar(),params:wj.loose().optional()}),J3=Hn({_meta:AXt.optional()}),Q3=Hn({method:Ar(),params:J3.loose().optional()}),ux=QP({_meta:AXt.optional()}),UEt=Eu([Ar(),Wp().int()]),y8r=Hn({jsonrpc:lo(jEt),id:UEt,...ZP.shape}).strict(),CXt=t=>y8r.safeParse(t).success,v8r=Hn({jsonrpc:lo(jEt),...Q3.shape}).strict(),_8r=t=>v8r.safeParse(t).success,PXt=Hn({jsonrpc:lo(jEt),id:UEt,result:ux}).strict(),xze=t=>PXt.safeParse(t).success;var ju;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(ju||(ju={}));var xXt=Hn({jsonrpc:lo(jEt),id:UEt.optional(),error:Hn({code:Wp().int(),message:Ar(),data:Od().optional()})}).strict();var E8r=t=>xXt.safeParse(t).success;var T8r=Eu([y8r,v8r,PXt,xXt]),Iuc=Eu([PXt,xXt]),BEt=ux.strict(),Qso=J3.extend({requestId:UEt.optional(),reason:Ar().optional()}),qEt=Q3.extend({method:lo("notifications/cancelled"),params:Qso}),Zso=Hn({src:Ar(),mimeType:Ar().optional(),sizes:_s(Ar()).optional(),theme:Xh(["light","dark"]).optional()}),wze=Hn({icons:_s(Zso).optional()}),LDe=Hn({name:Ar(),title:Ar().optional()}),b8r=LDe.extend({...LDe.shape,...wze.shape,version:Ar(),websiteUrl:Ar().optional(),description:Ar().optional()}),eco=RDe(Hn({applyDefaults:cy().optional()}),Pd(Ar(),Od())),tco=Cze(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,RDe(Hn({form:eco.optional(),url:N0.optional()}),Pd(Ar(),Od()).optional())),rco=QP({list:N0.optional(),cancel:N0.optional(),requests:QP({sampling:QP({createMessage:N0.optional()}).optional(),elicitation:QP({create:N0.optional()}).optional()}).optional()}),nco=QP({list:N0.optional(),cancel:N0.optional(),requests:QP({tools:QP({call:N0.optional()}).optional()}).optional()}),ico=Hn({experimental:Pd(Ar(),N0).optional(),sampling:Hn({context:N0.optional(),tools:N0.optional()}).optional(),elicitation:tco.optional(),roots:Hn({listChanged:cy().optional()}).optional(),tasks:rco.optional(),extensions:Pd(Ar(),N0).optional()}),oco=wj.extend({protocolVersion:Ar(),capabilities:ico,clientInfo:b8r}),Nze=ZP.extend({method:lo("initialize"),params:oco});var aco=Hn({experimental:Pd(Ar(),N0).optional(),logging:N0.optional(),completions:N0.optional(),prompts:Hn({listChanged:cy().optional()}).optional(),resources:Hn({subscribe:cy().optional(),listChanged:cy().optional()}).optional(),tools:Hn({listChanged:cy().optional()}).optional(),tasks:nco.optional(),extensions:Pd(Ar(),N0).optional()}),sco=ux.extend({protocolVersion:Ar(),capabilities:aco,serverInfo:b8r,instructions:Ar().optional()}),wXt=Q3.extend({method:lo("notifications/initialized"),params:J3.optional()});var GEt=ZP.extend({method:lo("ping"),params:wj.optional()}),cco=Hn({progress:Wp(),total:Ad(Wp()),message:Ad(Ar())}),lco=Hn({...J3.shape,...cco.shape,progressToken:h8r}),HEt=Q3.extend({method:lo("notifications/progress"),params:lco}),uco=wj.extend({cursor:m8r.optional()}),Dze=ZP.extend({params:uco.optional()}),Ize=ux.extend({nextCursor:m8r.optional()}),pco=Xh(["working","input_required","completed","failed","cancelled"]),Rze=Hn({taskId:Ar(),status:pco,ttl:Eu([Wp(),vze()]),createdAt:Ar(),lastUpdatedAt:Ar(),pollInterval:Ad(Wp()),statusMessage:Ad(Ar())}),kDe=ux.extend({task:Rze}),dco=J3.merge(Rze),Lze=Q3.extend({method:lo("notifications/tasks/status"),params:dco}),zEt=ZP.extend({method:lo("tasks/get"),params:wj.extend({taskId:Ar()})}),KEt=ux.merge(Rze),YEt=ZP.extend({method:lo("tasks/result"),params:wj.extend({taskId:Ar()})}),Ruc=ux.loose(),WEt=Dze.extend({method:lo("tasks/list")}),XEt=Ize.extend({tasks:_s(Rze)}),JEt=ZP.extend({method:lo("tasks/cancel"),params:wj.extend({taskId:Ar()})}),S8r=ux.merge(Rze),O8r=Hn({uri:Ar(),mimeType:Ad(Ar()),_meta:Pd(Ar(),Od()).optional()}),A8r=O8r.extend({text:Ar()}),NXt=Ar().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),C8r=O8r.extend({blob:NXt}),Mze=Xh(["user","assistant"]),FDe=Hn({audience:_s(Mze).optional(),priority:Wp().min(0).max(1).optional(),lastModified:bae.datetime({offset:!0}).optional()}),P8r=Hn({...LDe.shape,...wze.shape,uri:Ar(),description:Ad(Ar()),mimeType:Ad(Ar()),size:Ad(Wp()),annotations:FDe.optional(),_meta:Ad(QP({}))}),fco=Hn({...LDe.shape,...wze.shape,uriTemplate:Ar(),description:Ad(Ar()),mimeType:Ad(Ar()),annotations:FDe.optional(),_meta:Ad(QP({}))}),hco=Dze.extend({method:lo("resources/list")}),mco=Ize.extend({resources:_s(P8r)}),gco=Dze.extend({method:lo("resources/templates/list")}),yco=Ize.extend({resourceTemplates:_s(fco)}),DXt=wj.extend({uri:Ar()}),vco=DXt,_co=ZP.extend({method:lo("resources/read"),params:vco}),Eco=ux.extend({contents:_s(Eu([A8r,C8r]))}),Tco=Q3.extend({method:lo("notifications/resources/list_changed"),params:J3.optional()}),bco=DXt,Sco=ZP.extend({method:lo("resources/subscribe"),params:bco}),Oco=DXt,Aco=ZP.extend({method:lo("resources/unsubscribe"),params:Oco}),Cco=J3.extend({uri:Ar()}),Pco=Q3.extend({method:lo("notifications/resources/updated"),params:Cco}),xco=Hn({name:Ar(),description:Ad(Ar()),required:Ad(cy())}),wco=Hn({...LDe.shape,...wze.shape,description:Ad(Ar()),arguments:Ad(_s(xco)),_meta:Ad(QP({}))}),Nco=Dze.extend({method:lo("prompts/list")}),Dco=Ize.extend({prompts:_s(wco)}),Ico=wj.extend({name:Ar(),arguments:Pd(Ar(),Ar()).optional()}),Rco=ZP.extend({method:lo("prompts/get"),params:Ico}),IXt=Hn({type:lo("text"),text:Ar(),annotations:FDe.optional(),_meta:Pd(Ar(),Od()).optional()}),RXt=Hn({type:lo("image"),data:NXt,mimeType:Ar(),annotations:FDe.optional(),_meta:Pd(Ar(),Od()).optional()}),LXt=Hn({type:lo("audio"),data:NXt,mimeType:Ar(),annotations:FDe.optional(),_meta:Pd(Ar(),Od()).optional()}),Lco=Hn({type:lo("tool_use"),name:Ar(),id:Ar(),input:Pd(Ar(),Od()),_meta:Pd(Ar(),Od()).optional()}),Mco=Hn({type:lo("resource"),resource:Eu([A8r,C8r]),annotations:FDe.optional(),_meta:Pd(Ar(),Od()).optional()}),kco=P8r.extend({type:lo("resource_link")}),MXt=Eu([IXt,RXt,LXt,kco,Mco]),$co=Hn({role:Mze,content:MXt}),Fco=ux.extend({description:Ar().optional(),messages:_s($co)}),Vco=Q3.extend({method:lo("notifications/prompts/list_changed"),params:J3.optional()}),jco=Hn({title:Ar().optional(),readOnlyHint:cy().optional(),destructiveHint:cy().optional(),idempotentHint:cy().optional(),openWorldHint:cy().optional()}),Uco=Hn({taskSupport:Xh(["required","optional","forbidden"]).optional()}),x8r=Hn({...LDe.shape,...wze.shape,description:Ar().optional(),inputSchema:Hn({type:lo("object"),properties:Pd(Ar(),N0).optional(),required:_s(Ar()).optional()}).catchall(Od()),outputSchema:Hn({type:lo("object"),properties:Pd(Ar(),N0).optional(),required:_s(Ar()).optional()}).catchall(Od()).optional(),annotations:jco.optional(),execution:Uco.optional(),_meta:Pd(Ar(),Od()).optional()}),kXt=Dze.extend({method:lo("tools/list")}),Bco=Ize.extend({tools:_s(x8r)}),QEt=ux.extend({content:_s(MXt).default([]),structuredContent:Pd(Ar(),Od()).optional(),isError:cy().optional()}),Luc=QEt.or(ux.extend({toolResult:Od()})),qco=Pze.extend({name:Ar(),arguments:Pd(Ar(),Od()).optional()}),kze=ZP.extend({method:lo("tools/call"),params:qco}),Gco=Q3.extend({method:lo("notifications/tools/list_changed"),params:J3.optional()}),Muc=Hn({autoRefresh:cy().default(!0),debounceMs:Wp().int().nonnegative().default(300)}),$ze=Xh(["debug","info","notice","warning","error","critical","alert","emergency"]),Hco=wj.extend({level:$ze}),$Xt=ZP.extend({method:lo("logging/setLevel"),params:Hco}),zco=J3.extend({level:$ze,logger:Ar().optional(),data:Od()}),Kco=Q3.extend({method:lo("notifications/message"),params:zco}),Yco=Hn({name:Ar().optional()}),Wco=Hn({hints:_s(Yco).optional(),costPriority:Wp().min(0).max(1).optional(),speedPriority:Wp().min(0).max(1).optional(),intelligencePriority:Wp().min(0).max(1).optional()}),Xco=Hn({mode:Xh(["auto","required","none"]).optional()}),Jco=Hn({type:lo("tool_result"),toolUseId:Ar().describe("The unique identifier for the corresponding tool call."),content:_s(MXt).default([]),structuredContent:Hn({}).loose().optional(),isError:cy().optional(),_meta:Pd(Ar(),Od()).optional()}),Qco=Sze("type",[IXt,RXt,LXt]),VEt=Sze("type",[IXt,RXt,LXt,Lco,Jco]),Zco=Hn({role:Mze,content:Eu([VEt,_s(VEt)]),_meta:Pd(Ar(),Od()).optional()}),elo=Pze.extend({messages:_s(Zco),modelPreferences:Wco.optional(),systemPrompt:Ar().optional(),includeContext:Xh(["none","thisServer","allServers"]).optional(),temperature:Wp().optional(),maxTokens:Wp().int(),stopSequences:_s(Ar()).optional(),metadata:N0.optional(),tools:_s(x8r).optional(),toolChoice:Xco.optional()}),tlo=ZP.extend({method:lo("sampling/createMessage"),params:elo}),Fze=ux.extend({model:Ar(),stopReason:Ad(Xh(["endTurn","stopSequence","maxTokens"]).or(Ar())),role:Mze,content:Qco}),FXt=ux.extend({model:Ar(),stopReason:Ad(Xh(["endTurn","stopSequence","maxTokens","toolUse"]).or(Ar())),role:Mze,content:Eu([VEt,_s(VEt)])}),rlo=Hn({type:lo("boolean"),title:Ar().optional(),description:Ar().optional(),default:cy().optional()}),nlo=Hn({type:lo("string"),title:Ar().optional(),description:Ar().optional(),minLength:Wp().optional(),maxLength:Wp().optional(),format:Xh(["email","uri","date","date-time"]).optional(),default:Ar().optional()}),ilo=Hn({type:Xh(["number","integer"]),title:Ar().optional(),description:Ar().optional(),minimum:Wp().optional(),maximum:Wp().optional(),default:Wp().optional()}),olo=Hn({type:lo("string"),title:Ar().optional(),description:Ar().optional(),enum:_s(Ar()),default:Ar().optional()}),alo=Hn({type:lo("string"),title:Ar().optional(),description:Ar().optional(),oneOf:_s(Hn({const:Ar(),title:Ar()})),default:Ar().optional()}),slo=Hn({type:lo("string"),title:Ar().optional(),description:Ar().optional(),enum:_s(Ar()),enumNames:_s(Ar()).optional(),default:Ar().optional()}),clo=Eu([olo,alo]),llo=Hn({type:lo("array"),title:Ar().optional(),description:Ar().optional(),minItems:Wp().optional(),maxItems:Wp().optional(),items:Hn({type:lo("string"),enum:_s(Ar())}),default:_s(Ar()).optional()}),ulo=Hn({type:lo("array"),title:Ar().optional(),description:Ar().optional(),minItems:Wp().optional(),maxItems:Wp().optional(),items:Hn({anyOf:_s(Hn({const:Ar(),title:Ar()}))}),default:_s(Ar()).optional()}),plo=Eu([llo,ulo]),dlo=Eu([slo,clo,plo]),flo=Eu([dlo,rlo,nlo,ilo]),hlo=Pze.extend({mode:lo("form").optional(),message:Ar(),requestedSchema:Hn({type:lo("object"),properties:Pd(Ar(),flo),required:_s(Ar()).optional()})}),mlo=Pze.extend({mode:lo("url"),message:Ar(),elicitationId:Ar(),url:Ar().url()}),glo=Eu([hlo,mlo]),ylo=ZP.extend({method:lo("elicitation/create"),params:glo}),vlo=J3.extend({elicitationId:Ar()}),_lo=Q3.extend({method:lo("notifications/elicitation/complete"),params:vlo}),VDe=ux.extend({action:Xh(["accept","decline","cancel"]),content:Cze(t=>t===null?void 0:t,Pd(Ar(),Eu([Ar(),Wp(),cy(),_s(Ar())])).optional())}),Elo=Hn({type:lo("ref/resource"),uri:Ar()});var Tlo=Hn({type:lo("ref/prompt"),name:Ar()}),blo=wj.extend({ref:Eu([Tlo,Elo]),argument:Hn({name:Ar(),value:Ar()}),context:Hn({arguments:Pd(Ar(),Ar()).optional()}).optional()}),Slo=ZP.extend({method:lo("completion/complete"),params:blo});var Olo=ux.extend({completion:QP({values:_s(Ar()).max(100),total:Ad(Wp().int()),hasMore:Ad(cy())})}),Alo=Hn({uri:Ar().startsWith("file://"),name:Ar().optional(),_meta:Pd(Ar(),Od()).optional()}),Clo=ZP.extend({method:lo("roots/list"),params:wj.optional()}),VXt=ux.extend({roots:_s(Alo)}),Plo=Q3.extend({method:lo("notifications/roots/list_changed"),params:J3.optional()}),kuc=Eu([GEt,Nze,Slo,$Xt,Rco,Nco,hco,gco,_co,Sco,Aco,kze,kXt,zEt,YEt,WEt,JEt]),$uc=Eu([qEt,HEt,wXt,Plo,Lze]),Fuc=Eu([BEt,Fze,FXt,VDe,VXt,KEt,XEt,kDe]),Vuc=Eu([GEt,tlo,ylo,Clo,zEt,YEt,WEt,JEt]),juc=Eu([qEt,HEt,Kco,Pco,Tco,Gco,Vco,Lze,_lo]),Uuc=Eu([BEt,sco,Olo,Fco,Dco,mco,yco,Eco,QEt,Bco,KEt,XEt,kDe]),el=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===ju.UrlElicitationRequired&&n){let i=n;if(i.elicitations)return new SXt(i.elicitations,r)}return new t(e,r,n)}},SXt=class extends el{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(ju.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Oae(t){return t==="completed"||t==="failed"||t==="cancelled"}var Tpc=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function jXt(t){let r=aEt(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=iKr(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function UXt(t,e){let r=_ae(t,e);if(!r.success)throw r.error;return r.data}var Rlo=6e4,ZEt=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(qEt,r=>{this._oncancel(r)}),this.setNotificationHandler(HEt,r=>{this._onprogress(r)}),this.setRequestHandler(GEt,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(zEt,async(r,n)=>{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new el(ju.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(YEt,async(r,n)=>{let i=async()=>{let a=r.params.taskId;if(this._taskMessageQueue){let c;for(;c=await this._taskMessageQueue.dequeue(a,n.sessionId);){if(c.type==="response"||c.type==="error"){let l=c.message,u=l.id,p=this._requestResolvers.get(u);if(p)if(this._requestResolvers.delete(u),c.type==="response")p(l);else{let d=l,f=new el(d.error.code,d.error.message,d.error.data);p(f)}else{let d=c.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(c.message,{relatedRequestId:n.requestId})}}let s=await this._taskStore.getTask(a,n.sessionId);if(!s)throw new el(ju.InvalidParams,`Task not found: ${a}`);if(!Oae(s.status))return await this._waitForTaskUpdate(a,n.signal),await i();if(Oae(s.status)){let c=await this._taskStore.getTaskResult(a,n.sessionId);return this._clearTaskQueue(a),{...c,_meta:{...c._meta,[Sae]:{taskId:a}}}}return await i()};return await i()}),this.setRequestHandler(WEt,async(r,n)=>{try{let{tasks:i,nextCursor:a}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:i,nextCursor:a,_meta:{}}}catch(i){throw new el(ju.InvalidParams,`Failed to list tasks: ${i instanceof Error?i.message:String(i)}`)}}),this.setRequestHandler(JEt,async(r,n)=>{try{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new el(ju.InvalidParams,`Task not found: ${r.params.taskId}`);if(Oae(i.status))throw new el(ju.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let a=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!a)throw new el(ju.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...a}}catch(i){throw i instanceof el?i:new el(ju.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,i,a=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(i,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:a,onTimeout:i})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),el.fromError(ju.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=a=>{n?.(a),this._onerror(a)};let i=this._transport?.onmessage;this._transport.onmessage=(a,s)=>{i?.(a,s),xze(a)||E8r(a)?this._onresponse(a):CXt(a)?this._onrequest(a,s):_8r(a)?this._onnotification(a):this._onerror(new Error(`Unknown message type: ${JSON.stringify(a)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=el.fromError(ju.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,i=this._transport,a=e.params?._meta?.[Sae]?.taskId;if(n===void 0){let p={jsonrpc:"2.0",id:e.id,error:{code:ju.MethodNotFound,message:"Method not found"}};a&&this._taskMessageQueue?this._enqueueTaskMessage(a,{type:"error",message:p,timestamp:Date.now()},i?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):i?.send(p).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let s=new AbortController;this._requestHandlerAbortControllers.set(e.id,s);let c=g8r(e.params)?e.params.task:void 0,l=this._taskStore?this.requestTaskStore(e,i?.sessionId):void 0,u={signal:s.signal,sessionId:i?.sessionId,_meta:e.params?._meta,sendNotification:async p=>{if(s.signal.aborted)return;let d={relatedRequestId:e.id};a&&(d.relatedTask={taskId:a}),await this.notification(p,d)},sendRequest:async(p,d,f)=>{if(s.signal.aborted)throw new el(ju.ConnectionClosed,"Request was cancelled");let h={...f,relatedRequestId:e.id};a&&!h.relatedTask&&(h.relatedTask={taskId:a});let m=h.relatedTask?.taskId??a;return m&&l&&await l.updateTaskStatus(m,"input_required"),await this.request(p,d,h)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:a,taskStore:l,taskRequestedTtl:c?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{c&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async p=>{if(s.signal.aborted)return;let d={result:p,jsonrpc:"2.0",id:e.id};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"response",message:d,timestamp:Date.now()},i?.sessionId):await i?.send(d)},async p=>{if(s.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(p.code)?p.code:ju.InternalError,message:p.message??"Internal error",...p.data!==void 0&&{data:p.data}}};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"error",message:d,timestamp:Date.now()},i?.sessionId):await i?.send(d)}).catch(p=>this._onerror(new Error(`Failed to send response: ${p}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===s&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,i=Number(r),a=this._progressHandlers.get(i);if(!a){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let s=this._responseHandlers.get(i),c=this._timeoutInfo.get(i);if(c&&s&&c.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(l){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),s(l);return}a(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),xze(e))n(e);else{let s=new el(e.error.code,e.error.message,e.error.data);n(s)}return}let i=this._responseHandlers.get(r);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let a=!1;if(xze(e)&&e.result&&typeof e.result=="object"){let s=e.result;if(s.task&&typeof s.task=="object"){let c=s.task;typeof c.taskId=="string"&&(a=!0,this._taskProgressTokens.set(c.taskId,r))}}if(a||this._progressHandlers.delete(r),xze(e))i(e);else{let s=el.fromError(e.error.code,e.error.message,e.error.data);i(s)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:i}=n??{};if(!i){try{yield{type:"result",result:await this.request(e,r,n)}}catch(s){yield{type:"error",error:s instanceof el?s:new el(ju.InternalError,String(s))}}return}let a;try{let s=await this.request(e,kDe,n);if(s.task)a=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new el(ju.InternalError,"Task creation did not return a task");for(;;){let c=await this.getTask({taskId:a},n);if(yield{type:"taskStatus",task:c},Oae(c.status)){c.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)}:c.status==="failed"?yield{type:"error",error:new el(ju.InternalError,`Task ${a} failed`)}:c.status==="cancelled"&&(yield{type:"error",error:new el(ju.InternalError,`Task ${a} was cancelled`)});return}if(c.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)};return}let l=c.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,l)),n?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof el?s:new el(ju.InternalError,String(s))}}}request(e,r,n){let{relatedRequestId:i,resumptionToken:a,onresumptiontoken:s,task:c,relatedTask:l}=n??{};return new Promise((u,p)=>{let d=_=>{p(_)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),c&&this.assertTaskCapability(e.method)}catch(_){d(_);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,h={...e,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),h.params={...e.params,_meta:{...e.params?._meta||{},progressToken:f}}),c&&(h.params={...h.params,task:c}),l&&(h.params={...h.params,_meta:{...h.params?._meta||{},[Sae]:l}});let m=_=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(_)}},{relatedRequestId:i,resumptionToken:a,onresumptiontoken:s}).catch(O=>this._onerror(new Error(`Failed to send cancellation: ${O}`)));let b=_ instanceof el?_:new el(ju.RequestTimeout,String(_));p(b)};this._responseHandlers.set(f,_=>{if(!n?.signal?.aborted){if(_ instanceof Error)return p(_);try{let b=_ae(r,_.result);b.success?u(b.data):p(b.error)}catch(b){p(b)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let g=n?.timeout??Rlo,y=()=>m(el.fromError(ju.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(f,g,n?.maxTotalTimeout,y,n?.resetTimeoutOnProgress??!1);let v=l?.taskId;if(v){let _=b=>{let O=this._responseHandlers.get(f);O?O(b):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,_),this._enqueueTaskMessage(v,{type:"request",message:h,timestamp:Date.now()}).catch(b=>{this._cleanupTimeout(f),p(b)})}else this._transport.send(h,{relatedRequestId:i,resumptionToken:a,onresumptiontoken:s}).catch(_=>{this._cleanupTimeout(f),p(_)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},KEt,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},XEt,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},S8r,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let c={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[Sae]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:c,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let c={...e,jsonrpc:"2.0"};r?.relatedTask&&(c={...c,params:{...c.params,_meta:{...c.params?._meta||{},[Sae]:r.relatedTask}}}),this._transport?.send(c,r).catch(l=>this._onerror(l))});return}let s={...e,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[Sae]:r.relatedTask}}}),await this._transport.send(s,r)}setRequestHandler(e,r){let n=jXt(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,a)=>{let s=UXt(e,i);return Promise.resolve(r(s,a))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=jXt(e);this._notificationHandlers.set(n,i=>{let a=UXt(e,i);return Promise.resolve(r(a))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let i=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,i)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let i of n)if(i.type==="request"&&CXt(i.message)){let a=i.message.id,s=this._requestResolvers.get(a);s?(s(new el(ju.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(a)):this._onerror(new Error(`Resolver missing for request ${a} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let i=await this._taskStore?.getTask(e);i?.pollInterval&&(n=i.pollInterval)}catch{}return new Promise((i,a)=>{if(r.aborted){a(new el(ju.InvalidRequest,"Request cancelled"));return}let s=setTimeout(i,n);r.addEventListener("abort",()=>{clearTimeout(s),a(new el(ju.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async i=>{if(!e)throw new Error("No request provided");return await n.createTask(i,e.id,{method:e.method,params:e.params},r)},getTask:async i=>{let a=await n.getTask(i,r);if(!a)throw new el(ju.InvalidParams,"Failed to retrieve task: Task not found");return a},storeTaskResult:async(i,a,s)=>{await n.storeTaskResult(i,a,s,r);let c=await n.getTask(i,r);if(c){let l=Lze.parse({method:"notifications/tasks/status",params:c});await this.notification(l),Oae(c.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,r),updateTaskStatus:async(i,a,s)=>{let c=await n.getTask(i,r);if(!c)throw new el(ju.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(Oae(c.status))throw new el(ju.InvalidParams,`Cannot update task "${i}" from terminal status "${c.status}" to "${a}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,a,s,r);let l=await n.getTask(i,r);if(l){let u=Lze.parse({method:"notifications/tasks/status",params:l});await this.notification(u),Oae(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,r)}}};function w8r(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function N8r(t,e){let r={...t};for(let n in e){let i=n,a=e[i];if(a===void 0)continue;let s=r[i];w8r(s)&&w8r(a)?r[i]={...s,...a}:r[i]=a}return r}var T6r=br(h5e(),1),b6r=br(E6r(),1);function kmo(){let t=new T6r.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,b6r.default)(t),t}var LTt=class{constructor(e){this._ajv=e??kmo()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var MTt=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let i=e.messages[e.messages.length-1],a=Array.isArray(i.content)?i.content:[i.content],s=a.some(p=>p.type==="tool_result"),c=e.messages.length>1?e.messages[e.messages.length-2]:void 0,l=c?Array.isArray(c.content)?c.content:[c.content]:[],u=l.some(p=>p.type==="tool_use");if(s){if(a.some(p=>p.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let p=new Set(l.filter(f=>f.type==="tool_use").map(f=>f.id)),d=new Set(a.filter(f=>f.type==="tool_result").map(f=>f.toolUseId));if(p.size!==d.size||![...p].every(f=>d.has(f)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},Fze,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),i=e.mode??"form";switch(i){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let a=i==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:a},VDe,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function S6r(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function O6r(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var kTt=class extends ZEt{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map($ze.options.map((n,i)=>[n,i])),this.isMessageIgnored=(n,i)=>{let a=this._loggingLevels.get(i);return a?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(a):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new LTt,this.setRequestHandler(Nze,n=>this._oninitialize(n)),this.setNotificationHandler(wXt,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler($Xt,async(n,i)=>{let a=i.sessionId||i.requestInfo?.headers["mcp-session-id"]||void 0,{level:s}=n.params,c=$ze.safeParse(s);return c.success&&this._loggingLevels.set(a,c.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new MTt(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=N8r(this._capabilities,e)}setRequestHandler(e,r){let i=aEt(e)?.method;if(!i)throw new Error("Schema is missing a method literal");let a;if(bDe(i)){let c=i;a=c._zod?.def?.value??c.value}else{let c=i;a=c._def?.value??c.value}if(typeof a!="string")throw new Error("Schema method literal must be a string");if(a==="tools/call"){let c=async(l,u)=>{let p=_ae(kze,l);if(!p.success){let m=p.error instanceof Error?p.error.message:String(p.error);throw new el(ju.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:d}=p.data,f=await Promise.resolve(r(l,u));if(d.task){let m=_ae(kDe,f);if(!m.success){let g=m.error instanceof Error?m.error.message:String(m.error);throw new el(ju.InvalidParams,`Invalid task creation result: ${g}`)}return m.data}let h=_ae(QEt,f);if(!h.success){let m=h.error instanceof Error?h.error.message:String(h.error);throw new el(ju.InvalidParams,`Invalid tools/call result: ${m}`)}return h.data};return super.setRequestHandler(e,c)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){O6r(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&S6r(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:_Te.includes(r)?r:OXt,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},BEt)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],i=Array.isArray(n.content)?n.content:[n.content],a=i.some(u=>u.type==="tool_result"),s=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=s?Array.isArray(s.content)?s.content:[s.content]:[],l=c.some(u=>u.type==="tool_use");if(a){if(i.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!l)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(l){let u=new Set(c.filter(d=>d.type==="tool_use").map(d=>d.id)),p=new Set(i.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==p.size||![...u].every(d=>p.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},FXt,r):this.request({method:"sampling/createMessage",params:e},Fze,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let i=e;return this.request({method:"elicitation/create",params:i},VDe,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let i=e.mode==="form"?e:{...e,mode:"form"},a=await this.request({method:"elicitation/create",params:i},VDe,r);if(a.action==="accept"&&a.content&&i.requestedSchema)try{let c=this._jsonSchemaValidator.getValidator(i.requestedSchema)(a.content);if(!c.valid)throw new el(ju.InvalidParams,`Elicitation response content does not match requested schema: ${c.errorMessage}`)}catch(s){throw s instanceof el?s:new el(ju.InternalError,`Error validating elicitation response: ${s instanceof Error?s.message:String(s)}`)}return a}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},VXt,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};import C6r from"node:process";var $Tt=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
|
|
3548
3548
|
`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),$mo(r)}clear(){this._buffer=void 0}};function $mo(t){return T8r.parse(JSON.parse(t))}function A6r(t){return JSON.stringify(t)+`
|
|
3549
|
-
`}var FTt=class{constructor(e=C6r.stdin,r=C6r.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new $Tt,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=A6r(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as Fmo}from"node:module";function P6r(){return Fmo(import.meta.url)("../package.json")}var x6r=typeof __PACKAGE_NAME__>"u"?P6r().name:__PACKAGE_NAME__,pIe=typeof __PACKAGE_VERSION__>"u"?P6r().version:__PACKAGE_VERSION__;var D6r=Hn({name:Ar().describe("Name of the Fiori application. Usually derived from the `sap.app/id` field in the application's manifest.json."),appPath:Ar().describe("Absolute path to the Fiori application's root directory."),projectPath:Ar().describe("Absolute path to the root directory of the project containing this Fiori application. For EDMXBackend (standalone) projects, this is the same as `appPath`. For CAP projects, this points to the CAP project root, which may contain multiple Fiori applications."),projectType:Xh(["EDMXBackend","CAPJava","CAPNodejs"]).describe("Type of project the application belongs to."),odataVersion:Ar().describe("OData protocol version used by the application's main service.")}),RTe=Eu([Ar(),_s(Eu([Ar(),Wp()]))]),I6r=Hn({functionalityId:RTe.describe("Identifier to pass as the `functionalityId` parameter when calling `get_functionality_details` or `execute_functionality`"),description:Ar()}),w6r=Xh(["object","array","string","number","boolean","null","integer","any"]),N6r=Hn({type:Eu([w6r,_s(w6r)]).optional(),description:Ar().optional(),properties:_ze().optional()}).catchall(_ze()),R6r=N6r.extend({properties:Pd(Ar(),Eu([N6r,cy()])).optional()});var L6r=Hn({searchPath:_s(Ar()).describe("Path to search for Fiori applications (defaults to current directory). If VSCode - list of VS Code workspace folder paths(`workspace.workspaceFolders`)")}),M6r=Hn({appPath:Ar().describe("Path to the root folder of the Fiori application (where package.json and ui5.yaml reside) if one exists or to the current directory. Path should be an absolute path.")}),k6r=Hn({appPath:Ar().describe("Path to the Fiori application if one exists or to the current directory. Path should be an absolute path."),functionalityId:RTe.describe("The ID of the functionality to get details for")}),$6r=Hn({functionalityId:RTe.describe("The ID of the functionality to execute"),parameters:Pd(Ar(),Od()).describe("Parameters for the functionality execution"),appPath:Ar().describe("Path to the Fiori application if one exists or to the current directory. Path should be an absolute path.")}).describe('Input object for executing a functionality. Only three top-level properties are allowed: "functionalityId", "parameters", and "appPath". All other dynamic or functionality-specific inputs must be included inside the "parameters" object. Do not place any additional fields at the root level.'),F6r=Hn({sapSystemQuery:Ar().optional().describe("The name, host or a URL of the SAP system to fetch service metadata from."),servicePath:Ar().optional().describe('The path to the SAP service to fetch metadata for. ONLY use this if the user provides an EXACT path (e.g., "/sap/opu/odata/sap/ZUI_TRAVEL_O4/"). DO NOT construct paths from service names. This parameter is required.'),appPath:Ar().describe("Absolute path to the folder where metadata.xml will be saved. Typically the project target folder.")}),igc=Hn({query:Ar().min(2).describe("The search query for fiori elements, annotations, sapui5, fiori tools documentation")});var agc=Ar().describe("Search results as formatted text"),V6r=Hn({applications:_s(D6r)}),j6r=Hn({applicationPath:Ar(),functionalities:_s(I6r)}),U6r=Hn({functionalityId:RTe.describe("Identifier to pass as the `functionalityId` parameter when calling `get_functionality_details` or `execute_functionality`"),name:Ar(),description:Ar(),technicalDescription:Ar().optional(),parameters:R6r,prerequisites:_s(Ar()).optional(),impact:Ar().optional(),examples:_s(Ar()).optional(),pageName:Ar().optional()}),B6r=Hn({systems:_s(Hn({name:Ar().describe("The display name of the SAP system or destination."),url:Ar().describe("The host URL of the SAP system."),client:Ar().optional().describe("The SAP client")}))}),q6r=Hn({status:Ar(),message:Ar(),parameters:Hn({host:Ar().describe("The host URL of the OData service. Pass as service.host to generate_fiori_app_odata."),servicePath:Ar().describe("The OData endpoint path. Pass as service.servicePath to generate_fiori_app_odata."),client:Ar().optional().describe("The SAP client. Pass as service.client to generate_fiori_app_odata."),destination:Ar().optional().describe("The BTP destination name (BAS only). Pass as service.destination to generate_fiori_app_odata."),metadataFilePath:Ar().describe("Path to the saved metadata.xml. Pass as service.metadataFilePath to generate_fiori_app_odata.")}),appPath:Ar(),changes:_s(Ar()),timestamp:Ar()}),sgc=Hn({status:Ar(),message:Ar(),parameters:Od(),appPath:Ar(),changes:_s(Ar()),timestamp:Ar()}),G6r=Hn({functionalityId:RTe,status:Ar(),message:Ar(),parameters:Od(),appPath:Ar(),changes:_s(Ar()),timestamp:Ar()});import S5o from"node:fs/promises";import NLe from"node:path";import Umo from"path";var Bmo=import.meta.dirname;function H6r(){return Umo.join(Bmo,"data")}var MJr=br(ZTt(),1),Hy;(function(t){t[t.Error=0]="Error",t[t.Warn=1]="Warn",t[t.Info=2]="Info",t[t.Verbose=3]="Verbose",t[t.Debug=4]="Debug",t[t.Silly=5]="Silly"})(Hy||(Hy={}));var Ute=class{copy(e){return Object.freeze((0,MJr.default)(e))}};var FQr=br(Nj(),1);var Bae=class t extends Ute{static singletonInstance;options;constructor(e={}){return super(),t.singletonInstance||(t.singletonInstance=this,this.options=this.copy(e)),t.singletonInstance}},mbt=class t extends Ute{static instances=new Map;options;constructor(e){super();let r=t.instances.get(e.moduleName);return r||(this.options=this.copy(e),t.instances.set(e.moduleName,this),this)}},zIe=class t extends Ute{static singletonInstance;constructor(){return super(),t.singletonInstance||(t.singletonInstance=this),t.singletonInstance}},KIe=class extends Ute{options;constructor(e){super(),this.options=this.copy(e)}};var $5e=class t extends Ute{static instances=new Map;options;constructor(e){super();let r=t.instances.get(e.channelName);return r||(this.options=this.copy(e),t.instances.set(e.channelName,this),this)}},gbt=class extends FQr.default{logs;constructor(e){super({level:typeof e?.logLevel=="number"?Hy[e.logLevel].toLowerCase():"debug"}),this.logs=e?.logs??[]}log(e,r){this.logs.push(e),r()}copy=Ute.prototype.copy};var YTe=br(tKe(),1);var lz=br(tKe(),1);var Orn=br(Nj(),1),aSt=class extends Orn.default{log(e,r){r()}};var Arn=br(Nj(),1);import{createRequire as Fxo}from"node:module";var Vxo=Fxo(import.meta.url),rKe=class extends Arn.default{channel;winstonToVSCodeMap=new Map([["error","error"],["warn","warn"],["info","info"],["verbose","debug"],["debug","debug"],["silly","trace"]]);constructor(e){super(e),this.channel=jxo().window.createOutputChannel(e.channelName,{log:!0})}log(e,r){setImmediate(()=>{let n=this.winstonToVSCodeMap.get(e.level)??"info";this.channel[n](e.message)}),r()}show(){this.channel.show()}};function jxo(){return Vxo("vscode")}import{inspect as qZt}from"node:util";var Crn=(t=0)=>e=>`\x1B[${e+t}m`,Prn=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,xrn=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,d_={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},uEc=Object.keys(d_.modifier),Uxo=Object.keys(d_.color),Bxo=Object.keys(d_.bgColor),pEc=[...Uxo,...Bxo];function qxo(){let t=new Map;for(let[e,r]of Object.entries(d_)){for(let[n,i]of Object.entries(r))d_[n]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},r[n]=d_[n],t.set(i[0],i[1]);Object.defineProperty(d_,e,{value:r,enumerable:!1})}return Object.defineProperty(d_,"codes",{value:t,enumerable:!1}),d_.color.close="\x1B[39m",d_.bgColor.close="\x1B[49m",d_.color.ansi=Crn(),d_.color.ansi256=Prn(),d_.color.ansi16m=xrn(),d_.bgColor.ansi=Crn(10),d_.bgColor.ansi256=Prn(10),d_.bgColor.ansi16m=xrn(10),Object.defineProperties(d_,{rgbToAnsi256:{value(e,r,n){return e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(a=>a+a).join(""));let i=Number.parseInt(n,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:e=>d_.rgbToAnsi256(...d_.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,i;if(e>=232)r=((e-232)*10+8)/255,n=r,i=r;else{e-=16;let c=e%36;r=Math.floor(e/36)/5,n=Math.floor(c/6)/5,i=c%6/5}let a=Math.max(r,n,i)*2;if(a===0)return 30;let s=30+(Math.round(i)<<2|Math.round(n)<<1|Math.round(r));return a===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>d_.ansi256ToAnsi(d_.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>d_.ansi256ToAnsi(d_.hexToAnsi256(e)),enumerable:!1}}),d_}var Gxo=qxo(),vY=Gxo;import VZt from"node:process";import Hxo from"node:os";import wrn from"node:tty";function cz(t,e=globalThis.Deno?globalThis.Deno.args:VZt.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),i=e.indexOf("--");return n!==-1&&(i===-1||n<i)}var{env:f_}=VZt,sSt;cz("no-color")||cz("no-colors")||cz("color=false")||cz("color=never")?sSt=0:(cz("color")||cz("colors")||cz("color=true")||cz("color=always"))&&(sSt=1);function zxo(){if("FORCE_COLOR"in f_)return f_.FORCE_COLOR==="true"?1:f_.FORCE_COLOR==="false"?0:f_.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(f_.FORCE_COLOR,10),3)}function Kxo(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Yxo(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let n=zxo();n!==void 0&&(sSt=n);let i=r?sSt:n;if(i===0)return 0;if(r){if(cz("color=16m")||cz("color=full")||cz("color=truecolor"))return 3;if(cz("color=256"))return 2}if("TF_BUILD"in f_&&"AGENT_NAME"in f_)return 1;if(t&&!e&&i===void 0)return 0;let a=i||0;if(f_.TERM==="dumb")return a;if(VZt.platform==="win32"){let s=Hxo.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in f_)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in f_)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in f_)||f_.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in f_)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f_.TEAMCITY_VERSION)?1:0;if(f_.COLORTERM==="truecolor"||f_.TERM==="xterm-kitty"||f_.TERM==="xterm-ghostty"||f_.TERM==="wezterm")return 3;if("TERM_PROGRAM"in f_){let s=Number.parseInt((f_.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f_.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(f_.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f_.TERM)||"COLORTERM"in f_?1:a}function Nrn(t,e={}){let r=Yxo(t,{streamIsTTY:t&&t.isTTY,...e});return Kxo(r)}var Wxo={stdout:Nrn({isTTY:wrn.isatty(1)}),stderr:Nrn({isTTY:wrn.isatty(2)})},Drn=Wxo;function Irn(t,e,r){let n=t.indexOf(e);if(n===-1)return t;let i=e.length,a=0,s="";do s+=t.slice(a,n)+e+r,a=n+i,n=t.indexOf(e,a);while(n!==-1);return s+=t.slice(a),s}function Rrn(t,e,r,n){let i=0,a="";do{let s=t[n-1]==="\r";a+=t.slice(i,s?n-1:n)+e+(s?`\r
|
|
3549
|
+
`}var FTt=class{constructor(e=C6r.stdin,r=C6r.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new $Tt,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=A6r(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as Fmo}from"node:module";function P6r(){return Fmo(import.meta.url)("../package.json")}var x6r=typeof __PACKAGE_NAME__>"u"?P6r().name:__PACKAGE_NAME__,pIe=typeof __PACKAGE_VERSION__>"u"?P6r().version:__PACKAGE_VERSION__;var D6r=Hn({name:Ar().describe("Name of the Fiori application. Usually derived from the `sap.app/id` field in the application's manifest.json."),appPath:Ar().describe("Absolute path to the Fiori application's root directory."),projectPath:Ar().describe("Absolute path to the root directory of the project containing this Fiori application. For EDMXBackend (standalone) projects, this is the same as `appPath`. For CAP projects, this points to the CAP project root, which may contain multiple Fiori applications."),projectType:Xh(["EDMXBackend","CAPJava","CAPNodejs"]).describe("Type of project the application belongs to."),odataVersion:Ar().describe("OData protocol version used by the application's main service.")}),RTe=Eu([Ar(),_s(Eu([Ar(),Wp()]))]),I6r=Hn({functionalityId:RTe.describe("Identifier to pass as the `functionalityId` parameter when calling `get_functionality_details` or `execute_functionality`"),description:Ar()}),w6r=Xh(["object","array","string","number","boolean","null","integer","any"]),N6r=Hn({type:Eu([w6r,_s(w6r)]).optional(),description:Ar().optional(),properties:_ze().optional()}).catchall(_ze()),R6r=N6r.extend({properties:Pd(Ar(),Eu([N6r,cy()])).optional()});var L6r=Hn({searchPath:_s(Ar()).describe("Path to search for Fiori applications (defaults to current directory). If VSCode - list of VS Code workspace folder paths(`workspace.workspaceFolders`)")}),M6r=Hn({appPath:Ar().min(1).describe("Path to the root folder of the Fiori application (where package.json and ui5.yaml reside) if one exists or to the current directory. Path should be an absolute path.")}),k6r=Hn({appPath:Ar().describe("Path to the Fiori application if one exists or to the current directory. Path should be an absolute path."),functionalityId:RTe.describe("The ID of the functionality to get details for")}),$6r=Hn({functionalityId:RTe.describe("The ID of the functionality to execute"),parameters:Pd(Ar(),Od()).describe("Parameters for the functionality execution"),appPath:Ar().describe("Path to the Fiori application if one exists or to the current directory. Path should be an absolute path.")}).describe('Input object for executing a functionality. Only three top-level properties are allowed: "functionalityId", "parameters", and "appPath". All other dynamic or functionality-specific inputs must be included inside the "parameters" object. Do not place any additional fields at the root level.'),F6r=Hn({sapSystemQuery:Ar().optional().describe("The name, host or a URL of the SAP system to fetch service metadata from."),servicePath:Ar().optional().describe('The path to the SAP service to fetch metadata for. ONLY use this if the user provides an EXACT path (e.g., "/sap/opu/odata/sap/ZUI_TRAVEL_O4/"). DO NOT construct paths from service names. This parameter is required.'),appPath:Ar().describe("Absolute path to the folder where metadata.xml will be saved. Typically the project target folder.")}),igc=Hn({query:Ar().min(2).describe("The search query for fiori elements, annotations, sapui5, fiori tools documentation")});var agc=Ar().describe("Search results as formatted text"),V6r=Hn({applications:_s(D6r)}),j6r=Hn({applicationPath:Ar(),functionalities:_s(I6r)}),U6r=Hn({functionalityId:RTe.describe("Identifier to pass as the `functionalityId` parameter when calling `get_functionality_details` or `execute_functionality`"),name:Ar(),description:Ar(),technicalDescription:Ar().optional(),parameters:R6r,prerequisites:_s(Ar()).optional(),impact:Ar().optional(),examples:_s(Ar()).optional(),pageName:Ar().optional()}),B6r=Hn({systems:_s(Hn({name:Ar().describe("The display name of the SAP system or destination."),url:Ar().describe("The host URL of the SAP system."),client:Ar().optional().describe("The SAP client")}))}),q6r=Hn({status:Ar(),message:Ar(),parameters:Hn({host:Ar().describe("The host URL of the OData service. Pass as service.host to generate_fiori_app_odata."),servicePath:Ar().describe("The OData endpoint path. Pass as service.servicePath to generate_fiori_app_odata."),client:Ar().optional().describe("The SAP client. Pass as service.client to generate_fiori_app_odata."),destination:Ar().optional().describe("The BTP destination name (BAS only). Pass as service.destination to generate_fiori_app_odata."),metadataFilePath:Ar().describe("Path to the saved metadata.xml. Pass as service.metadataFilePath to generate_fiori_app_odata.")}),appPath:Ar(),changes:_s(Ar()),timestamp:Ar()}),sgc=Hn({status:Ar(),message:Ar(),parameters:Od(),appPath:Ar(),changes:_s(Ar()),timestamp:Ar()}),G6r=Hn({functionalityId:RTe,status:Ar(),message:Ar(),parameters:Od(),appPath:Ar(),changes:_s(Ar()),timestamp:Ar()});import S5o from"node:fs/promises";import NLe from"node:path";import Umo from"path";var Bmo=import.meta.dirname;function H6r(){return Umo.join(Bmo,"data")}var MJr=br(ZTt(),1),Hy;(function(t){t[t.Error=0]="Error",t[t.Warn=1]="Warn",t[t.Info=2]="Info",t[t.Verbose=3]="Verbose",t[t.Debug=4]="Debug",t[t.Silly=5]="Silly"})(Hy||(Hy={}));var Ute=class{copy(e){return Object.freeze((0,MJr.default)(e))}};var FQr=br(Nj(),1);var Bae=class t extends Ute{static singletonInstance;options;constructor(e={}){return super(),t.singletonInstance||(t.singletonInstance=this,this.options=this.copy(e)),t.singletonInstance}},mbt=class t extends Ute{static instances=new Map;options;constructor(e){super();let r=t.instances.get(e.moduleName);return r||(this.options=this.copy(e),t.instances.set(e.moduleName,this),this)}},zIe=class t extends Ute{static singletonInstance;constructor(){return super(),t.singletonInstance||(t.singletonInstance=this),t.singletonInstance}},KIe=class extends Ute{options;constructor(e){super(),this.options=this.copy(e)}};var $5e=class t extends Ute{static instances=new Map;options;constructor(e){super();let r=t.instances.get(e.channelName);return r||(this.options=this.copy(e),t.instances.set(e.channelName,this),this)}},gbt=class extends FQr.default{logs;constructor(e){super({level:typeof e?.logLevel=="number"?Hy[e.logLevel].toLowerCase():"debug"}),this.logs=e?.logs??[]}log(e,r){this.logs.push(e),r()}copy=Ute.prototype.copy};var YTe=br(tKe(),1);var lz=br(tKe(),1);var Orn=br(Nj(),1),aSt=class extends Orn.default{log(e,r){r()}};var Arn=br(Nj(),1);import{createRequire as Fxo}from"node:module";var Vxo=Fxo(import.meta.url),rKe=class extends Arn.default{channel;winstonToVSCodeMap=new Map([["error","error"],["warn","warn"],["info","info"],["verbose","debug"],["debug","debug"],["silly","trace"]]);constructor(e){super(e),this.channel=jxo().window.createOutputChannel(e.channelName,{log:!0})}log(e,r){setImmediate(()=>{let n=this.winstonToVSCodeMap.get(e.level)??"info";this.channel[n](e.message)}),r()}show(){this.channel.show()}};function jxo(){return Vxo("vscode")}import{inspect as qZt}from"node:util";var Crn=(t=0)=>e=>`\x1B[${e+t}m`,Prn=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,xrn=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,d_={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},uEc=Object.keys(d_.modifier),Uxo=Object.keys(d_.color),Bxo=Object.keys(d_.bgColor),pEc=[...Uxo,...Bxo];function qxo(){let t=new Map;for(let[e,r]of Object.entries(d_)){for(let[n,i]of Object.entries(r))d_[n]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},r[n]=d_[n],t.set(i[0],i[1]);Object.defineProperty(d_,e,{value:r,enumerable:!1})}return Object.defineProperty(d_,"codes",{value:t,enumerable:!1}),d_.color.close="\x1B[39m",d_.bgColor.close="\x1B[49m",d_.color.ansi=Crn(),d_.color.ansi256=Prn(),d_.color.ansi16m=xrn(),d_.bgColor.ansi=Crn(10),d_.bgColor.ansi256=Prn(10),d_.bgColor.ansi16m=xrn(10),Object.defineProperties(d_,{rgbToAnsi256:{value(e,r,n){return e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(a=>a+a).join(""));let i=Number.parseInt(n,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:e=>d_.rgbToAnsi256(...d_.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,i;if(e>=232)r=((e-232)*10+8)/255,n=r,i=r;else{e-=16;let c=e%36;r=Math.floor(e/36)/5,n=Math.floor(c/6)/5,i=c%6/5}let a=Math.max(r,n,i)*2;if(a===0)return 30;let s=30+(Math.round(i)<<2|Math.round(n)<<1|Math.round(r));return a===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>d_.ansi256ToAnsi(d_.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>d_.ansi256ToAnsi(d_.hexToAnsi256(e)),enumerable:!1}}),d_}var Gxo=qxo(),vY=Gxo;import VZt from"node:process";import Hxo from"node:os";import wrn from"node:tty";function cz(t,e=globalThis.Deno?globalThis.Deno.args:VZt.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),i=e.indexOf("--");return n!==-1&&(i===-1||n<i)}var{env:f_}=VZt,sSt;cz("no-color")||cz("no-colors")||cz("color=false")||cz("color=never")?sSt=0:(cz("color")||cz("colors")||cz("color=true")||cz("color=always"))&&(sSt=1);function zxo(){if("FORCE_COLOR"in f_)return f_.FORCE_COLOR==="true"?1:f_.FORCE_COLOR==="false"?0:f_.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(f_.FORCE_COLOR,10),3)}function Kxo(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Yxo(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let n=zxo();n!==void 0&&(sSt=n);let i=r?sSt:n;if(i===0)return 0;if(r){if(cz("color=16m")||cz("color=full")||cz("color=truecolor"))return 3;if(cz("color=256"))return 2}if("TF_BUILD"in f_&&"AGENT_NAME"in f_)return 1;if(t&&!e&&i===void 0)return 0;let a=i||0;if(f_.TERM==="dumb")return a;if(VZt.platform==="win32"){let s=Hxo.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in f_)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in f_)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in f_)||f_.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in f_)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f_.TEAMCITY_VERSION)?1:0;if(f_.COLORTERM==="truecolor"||f_.TERM==="xterm-kitty"||f_.TERM==="xterm-ghostty"||f_.TERM==="wezterm")return 3;if("TERM_PROGRAM"in f_){let s=Number.parseInt((f_.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f_.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(f_.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f_.TERM)||"COLORTERM"in f_?1:a}function Nrn(t,e={}){let r=Yxo(t,{streamIsTTY:t&&t.isTTY,...e});return Kxo(r)}var Wxo={stdout:Nrn({isTTY:wrn.isatty(1)}),stderr:Nrn({isTTY:wrn.isatty(2)})},Drn=Wxo;function Irn(t,e,r){let n=t.indexOf(e);if(n===-1)return t;let i=e.length,a=0,s="";do s+=t.slice(a,n)+e+r,a=n+i,n=t.indexOf(e,a);while(n!==-1);return s+=t.slice(a),s}function Rrn(t,e,r,n){let i=0,a="";do{let s=t[n-1]==="\r";a+=t.slice(i,s?n-1:n)+e+(s?`\r
|
|
3550
3550
|
`:`
|
|
3551
3551
|
`)+r,i=n+1,n=t.indexOf(`
|
|
3552
3552
|
`,i)}while(n!==-1);return a+=t.slice(i),a}var{stdout:Lrn,stderr:Mrn}=Drn,jZt=Symbol("GENERATOR"),iRe=Symbol("STYLER"),nKe=Symbol("IS_EMPTY"),krn=["ansi","ansi","ansi256","ansi16m"],oRe=Object.create(null),Xxo=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Lrn?Lrn.level:0;t.level=e.level===void 0?r:e.level};var Jxo=t=>{let e=(...r)=>r.join(" ");return Xxo(e,t),Object.setPrototypeOf(e,iKe.prototype),e};function iKe(t){return Jxo(t)}Object.setPrototypeOf(iKe.prototype,Function.prototype);for(let[t,e]of Object.entries(vY))oRe[t]={get(){let r=cSt(this,BZt(e.open,e.close,this[iRe]),this[nKe]);return Object.defineProperty(this,t,{value:r}),r}};oRe.visible={get(){let t=cSt(this,this[iRe],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var UZt=(t,e,r,...n)=>t==="rgb"?e==="ansi16m"?vY[r].ansi16m(...n):e==="ansi256"?vY[r].ansi256(vY.rgbToAnsi256(...n)):vY[r].ansi(vY.rgbToAnsi(...n)):t==="hex"?UZt("rgb",e,r,...vY.hexToRgb(...n)):vY[r][t](...n),Qxo=["rgb","hex","ansi256"];for(let t of Qxo){oRe[t]={get(){let{level:r}=this;return function(...n){let i=BZt(UZt(t,krn[r],"color",...n),vY.color.close,this[iRe]);return cSt(this,i,this[nKe])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);oRe[e]={get(){let{level:r}=this;return function(...n){let i=BZt(UZt(t,krn[r],"bgColor",...n),vY.bgColor.close,this[iRe]);return cSt(this,i,this[nKe])}}}}var Zxo=Object.defineProperties(()=>{},{...oRe,level:{enumerable:!0,get(){return this[jZt].level},set(t){this[jZt].level=t}}}),BZt=(t,e,r)=>{let n,i;return r===void 0?(n=t,i=e):(n=r.openAll+t,i=e+r.closeAll),{open:t,close:e,openAll:n,closeAll:i,parent:r}},cSt=(t,e,r)=>{let n=(...i)=>ewo(n,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(n,Zxo),n[jZt]=t,n[iRe]=e,n[nKe]=r,n},ewo=(t,e)=>{if(t.level<=0||!e)return t[nKe]?"":e;let r=t[iRe];if(r===void 0)return e;let{openAll:n,closeAll:i}=r;if(e.includes("\x1B"))for(;r!==void 0;)e=Irn(e,r.close,r.open),r=r.parent;let a=e.indexOf(`
|
|
@@ -4170,7 +4170,7 @@ ${p})`)]}function D1r(t,e,r){let n=e[r];if(n?.type!=="element")return;t.push(so.
|
|
|
4170
4170
|
`+s,`
|
|
4171
4171
|
`)}return e!==void 0?i+e:i}function Dlt(t,e){t.line=e.line,t.character=e.character}function i9(t,e,r){if(!t.range)return[];let n=d1r(t),i=yts(t,r),a=(t.range!==void 0?e.filter(l=>Vj(t.range,l.range)):[]).filter(l=>!n.some(u=>u.range&&Vj(u.range,l.range))),s=[...i,...n,...a].sort(dfe),c=[];for(let l of s)wts(c,l);return c}function wts(t,e){let r=t[t.length-1];if(e.range)if(Cts(e))r?.type==="element"?(r.trailingComma=e,Dlt(r.range.end,e.range.end)):t.push(e);else if(e.type==="comment")r?.type==="element"&&e.range.start.line===r.range.end.line?(r.trailingComment=e,Dlt(r.range.end,e.range.end)):t.push(e);else{let n={type:"element",element:e,elementRange:$f(e.range),range:$f(e.range)},i=n.range.start.line-1;r?.type==="comment"&&(r.range.end.line===i||r.range.end.line===n.range.start.line)&&(n.leadingComment=t.pop(),Dlt(n.range.start,r.range.start)),t.push(n)}}function Nts(t,e,r,n){return!!t.find(i=>{if(!i.type.startsWith("delete"))return!1;let a=iA(r,i.pointer),s=a[a.length-1],c=e[n];return c.type==="element"&&c?.element===s?!(s.type===Jc&&e.length===1):!1})}import{fileURLToPath as I1r,pathToFileURL as Dts}from"node:url";import{isAbsolute as Its,join as Mmi,relative as Llt}from"node:path";import{platform as Rts}from"node:os";function Lts(t,e){let r=new Map,n=new Map;for(let i of e)for(let a of i.targets){let s=t.getMetadataElement(a.name);s&&Mts(r,n,s,a,i.uri)}return{definitionIndex:r,virtualProperties:n}}function Mts(t,e,r,n,i){for(let a of n.terms){let s=a.attributes[at.Qualifier]?.value,c=a.attributes[at.Term].value,l=s?`#${s}`:"",u=`${r.path}/@${c}${l}`;if(a.range&&(SVt(t,i,u),bVt(t,i,u,a),c==="Analytics.AggregatedProperties")){let p=a.content.find(d=>d.type===xi&&d.name===at.Collection);if(!p)continue;kts(e,i,r,p)}}}function kts(t,e,r,n){for(let i of n.content)if(i.type===xi&&i.name===at.Record){let a=i.content.find(s=>s.type===xi&&s.name===at.PropertyValue&&s.attributes[at.Property]?.value==="Name");if(a){let s=a.content.find(c=>c.type===xi&&c.name===at.String);if(s){let c=s.content.find(l=>l.type===oc);t.set(`${r.path}/${c?.text}`,e)}}}}function bVt(t,e,r,n){for(let i of n.content)i.type==="element"&&(i.name===at.Annotation?Vts(t,e,r,i):i.name===at.Record?Fts(t,e,r,i):i.name===at.Collection&&$ts(t,e,r,i))}function $ts(t,e,r,n){let i=n.content.filter(a=>a.type===xi);for(let a=0;a<i.length;a++){let s=i[a],c=`${r}/${a.toString()}`;if(s.range){SVt(t,e,c);for(let l of s.content)l.type==="element"&&bVt(t,e,c,l)}}}function Fts(t,e,r,n){for(let i of n.content){if(i.type!=="element"||i.name!==at.PropertyValue)continue;let s=i.attributes[at.Property]?.value??"",c=`${r}/${s}`;if(n.range){SVt(t,e,c);for(let l of i.content)l.type==="element"&&bVt(t,e,c,l)}}}function Vts(t,e,r,n){let i=n.attributes[at.Qualifier]?.value,a=i?`#${i}`:"",s=`${r}@${n.attributes[at.Term].value}${a}`;n.range&&(SVt(t,e,s),bVt(t,e,s,n))}function SVt(t,e,r){let n=t.get(r),i=e.startsWith(zje)?e.substring(1):e;n?n.push(i):t.set(r,[i])}function R1r(t,e){let r=[];return Object.keys(t.attributes||{}).forEach(n=>{if(n.indexOf("Path")>=0){let i=t.attributes[n].value;i.startsWith("/")||(i=e+"/"+i),r.push({path:i})}}),(t.content||[]).forEach(n=>{if(n.type==="text"&&t.name.indexOf("Path")>=0){let i=n.text;i.startsWith("/")||(i=e+"/"+i),r.push({path:i})}else n.type==="element"&&r.push(...R1r(n,e))}),r}function jts(t,e,r){let n=[];n.push({path:t.name});let a=fPr(e,t.name,r)?.path??t.name;return t.terms.forEach(s=>{kmi(s,n,t.name,a)}),n}function kmi(t,e,r,n){let i=Fg(t,at.Term),a=Fg(t,at.Qualifier);e.push({path:r+"/@"+i+(a?"#"+a:""),forOverriding:!0}),e.push(...R1r(t,n))}function $mi(t,e,r,n,i=new Set){if(!i.has(t)){i.add(t);let a=Dts(Mmi(r,t)).toString();if(Rts()==="win32"&&!n.has(a)){let c=a[8];c===c.toLowerCase()?c=c.toUpperCase():c=c.toLowerCase(),a=a.slice(0,8)+c+a.slice(9)}let s=n.get(a)?.annotationFile;s&&s.references.filter(l=>!!l?.uri).forEach(l=>{let u=l?.uri;if(u){let p=Llt(r,u);e.set(l.name+"|"+p,{uri:u,name:l.name,type:"reference"}),$mi(p,e,r,n,i)}})}}var L1r=(t,e,r,n)=>e.filter(a=>{let s=Mmi(t,r??"");return s&&process.platform==="win32"&&(s=s.charAt(0).toUpperCase()+s.slice(1)),!a.uri||a.uri!==s?!1:!(a.name&&n&&!n.startsWith(a.name))}).length>0;function Uts(t,e){return t.split("/").map(i=>hPr(e,i)).join("/")}function Bts(t,e,r,n,i,a){let s;for(let c of n){let l=i.getMetadataElement(c);if(s&&(l=i.getMetadataElement(s+"/"+c)),!l)break;s=l.path;let u=l.importUri;if(![t,void 0].includes(u)&&!L1r(a,e,l?.importUri,l.originalName)&&r.add(u),i.getEdmTargetKinds(s).includes("NavigationProperty")){let p=l?.structuredType;s=p?i.getMetadataElement(p)?.path:""}}return s}function qts(t,e,r,n,i,a,s,c){let l=a.path.indexOf("@"),u=l>=0?a.path.substring(0,Math.max(0,l-1)):a.path,p=Uts(u,e),d=p.split("/"),f=i.get(p);f&&!L1r(c,r,Llt(c,I1r(f)),p)&&n.add(f);let h=Bts(t,r,n,d,s,c),m;if(l!==-1){let g=a.path.slice(l-1);m=`${a.forOverriding?p:h}${g}`}return m}function OVt(t,e,r,n,i,a,s){let c=Llt(s.projectRoot,I1r(e)),{appName:l,apps:u,projectRoot:p}=s,d=new Set,f=[];if(n.type==="target")f=jts(n,a,i);else{let b=fPr(a,r,i)?.path??r;n.name===at.Annotation?kmi(n,f,r,b):f=R1r(n,b)}let h=new Map;$mi(c,h,p,t);let m=[...h.values()],g=[...t].map(([,_])=>_.annotationFile).reverse(),{definitionIndex:y,virtualProperties:v}=Lts(a,g);for(let _ of f){let b=qts(c,i,m,d,v,_,a,p),O=Gts(p,y,b);if(!zts(O,c,m,p))continue;let P=O[0],x=yVt(P),R=Hts(x,l,u);if(R&&_.forOverriding){let M=`Aborted to avoid cross app using statement in '${c}' pointing to '${R}'`;throw new xu(M,kf.General)}R||d.add(P)}return d}function Gts(t,e,r){let n=[];if(r){let i=e.get(r);if(i){let a=Llt(t,I1r(i[0]));n.push(a)}}return n}function Hts(t,e,r){let n="";return Lmi(yVt(`${e}/`),t)||(r||[]).forEach(i=>{Lmi(yVt(`${i}/`),t)&&(n=i)}),n}function Lmi(t,e){let r=Llt(t,e);return!!(r&&!r.startsWith("..")&&!Its(r))}function zts(t,e,r,n){if(t.length===0)return!1;for(let i of t)if(i===e||L1r(n,r,i))return!1;return!0}function Yne(t,e){let r=structuredClone(t);for(let[n,i]of e)t.aliasMapVocabulary[n]||(r.aliasMapVocabulary[i.namespace]=i.namespace,r.aliasMapVocabulary[i.defaultAlias]=i.namespace,r.aliasMap[i.namespace]=i.namespace,r.aliasMap[i.defaultAlias]=i.namespace,r.reverseAliasMap[i.namespace]=i.defaultAlias);return r}var{createCdsCompilerFacadeForRoot:Xts,createMetadataCollector:Jts,getMetadataElementsFromMap:Qts}=Hmi.default,Mlt=class{service;project;vocabularyService;appName;writeSapAnnotations;ignoreChangedFileInitialContent;metadataService=new LJ;splitAnnotationSupport=!0;fileCache;documents=new Map;metadata=[];missingReferences={};constructor(e,r,n,i,a,s){this.service=e,this.project=r,this.vocabularyService=n,this.appName=i,this.writeSapAnnotations=a,this.ignoreChangedFileInitialContent=s,this.fileCache=new Map,this._fileSequence=e.serviceFiles}facade;setFileCache(e){this.fileCache=e}setFacade(e){this.facade=e}_compiledService;get compiledService(){return this._compiledService||(this._compiledService=this._getCompiledService()),this._compiledService}set compiledService(e){this._compiledService=e}_fileSequence;async sync(e){let r=[...this.service.serviceFiles.map(d=>Fmi(d.uri))],n=await Xts(this.project.root,r,e);this.setFacade(n);let i=n.getCompilerErrors(this.project.root),a=[...i].filter(([d,f])=>f.messages.filter(h=>h.severity===W_.Error).length&&!d.startsWith("../"));if(a.length>0){for(let[d,f]of a){i0.log(`Compile errors in: ${d}`);for(let[h,m]of e)h.endsWith(d)&&i0.log(m);i0.log(JSON.stringify(f,void 0,2))}return i}this.documents.clear(),this.invalidateCaches(),this.updateFileSequence(n),this.setFileCache(e);let s=n.getMetadata(this.service.serviceName),c=Jts(new Map,n),{propagationMap:l,sourceUris:u}=n.getPropagatedTargetMap(this.service.serviceName);for(let d of this.service.serviceFiles){let f=Xhi(this.service.serviceName,this.vocabularyService,n,e,d,c);if(this.documents.set(d.uri,f),u.has(M1r(this.project.root,Fmi(d.uri)))){let h=Qhi(this.service.serviceName,this.vocabularyService,n,e,d,c,l);this.documents.set(h.annotationFile.uri,h)}}let p=Qts(s);return this.metadataService=new LJ({uriMap:n?.getUriMap()||new Map}),this.metadataService.import(p,"DummyMetadataFileUri"),new Map}getDocuments(){let e={};for(let[r,n]of this.documents.entries())e[r]=n.annotationFile;return e}getAllFiles(e){if(e){let r=[...this.compiledService.annotationFiles];return r.reverse(),r.map(n=>({uri:n.uri,isReadOnly:this.service.serviceFiles.find(i=>i.uri===n.uri)?.isReadOnly??!0}))}return[...this.service.serviceFiles]}getInitialFileContent(e,r){if(this.facade){let n=this.facade.getFileName(e)??"",i=M1r(Vmi(r),jmi(this.project.root,Vmi(n))).replace(/\\/g,"/");return i=jmi(i,Yts(n,".cds")),i=i.split(Wts).join("/"),`using ${e} as service from '${i}';
|
|
4172
4172
|
`}return""}async getWorkspaceEdit(e){let r={};this.clearState();let n=new Map;if(this.writeSapAnnotations)this.handleSapAnnotations(n,e);else for(let i of e){let a=this.documents.get(i.uri);if(!a||!this.facade)continue;let s=this.getWriterForChange(n,i),c=this[i.type];c(s,a,i)}for(let[i,a]of n.entries()){if(!this.documents.get(i)&&!this.ignoreChangedFileInitialContent)continue;this.processMissingReferences(i,a);let c=await a.getTextEdits();r[i]=c}return{changes:r}}getValueListReferences(){return new Map}syncExternalService(e,r){}getExternalServices(){return[]}handleSapAnnotations(e,r){if(r.length===0)return;let n=r[0].uri,i=this.getWriterForChange(e,r[0]),a=p1r({[n]:r.map(s=>{if(s.type===yfe){let c=this.documents.get(s.uri)?.annotationFile??this.createEmptyAnnotationFile(s),l=k1r(c,this.metadataService,this.vocabularyService),u=OVt(this.documents,s.uri,s.target.name,s.target,l,this.metadataService,{apps:Object.keys(this.project.apps),projectRoot:this.project.root,appName:this.appName});return this.addMissingReferences(s.uri,u),s.target}i0.warn(`Change type "${s.type}" is not supported when "writeSapAnnotations" parameter is set.`)}).filter(s=>!!s)});for(let s of a)i.addChange(E1r("target",s))}getWriterForChange(e,r){let n=e.get(r.uri);if(n)return n;let i=this.createWriter(r);return e.set(r.uri,i),i}createEmptyAnnotationFile(e){return{type:lfe,uri:e.uri,references:[],targets:[]}}createWriter(e){let r=this.documents.get(e.uri);if(!r&&this.ignoreChangedFileInitialContent){if(!this.facade)throw new Error("CDS facade not available!");if(e.type!==RCe)throw new Error(`Change "${e.type}" type is not supported with parameter "${this.ignoreChangedFileInitialContent}".`);let n=eE.create(e.uri,"cds",0,"");return new Ilt(this.facade,this.vocabularyService,{type:gVt,uri:e.uri,references:[],targets:[],range:Fn.create(0,0,0,0)},[],[],n,this.project.root,this.createEmptyAnnotationFile(e))}else{let n=this.fileCache?.get(e.uri);if(!r||n===void 0||!this.facade)throw new Error(`CDS document "${e.uri}" is not found!`);let i=eE.create(e.uri,"cds",0,n);return new Ilt(this.facade,this.vocabularyService,r.ast,r.comments,r.tokens,i,this.project.root,r.annotationFile)}}async validateChanges(e){return this.sync(e)}serializeTarget(e){return qUe(e)}_getCompiledService(){let e=[];for(let r of this._fileSequence??[]){let n=this.documents.get(r.uri),i=this.documents.get("!"+r.uri);if(i&&e.push(i.annotationFile),n)e.push(n.annotationFile);else throw new xu(`Could not compile service. Missing document ${r.uri}`,kf.General)}return e.reverse(),Object.freeze({odataVersion:"4.0",annotationFiles:e,metadata:this.metadata})}clearState(){this.missingReferences={}}invalidateCaches(){this._compiledService=void 0,this._fileSequence=void 0}updateFileSequence(e){this._fileSequence=e.getFileSequence().map(r=>({uri:Kts(r).toString(),isReadOnly:r.indexOf("node_modules")!==-1})),this.service.serviceFiles=[...this._fileSequence]}processMissingReferences(e,r){let n=this.missingReferences[e];if(n?.size){let i="/references",a=[...n].map(s=>{if(s.startsWith("file://")){let c=Ine(s);return M1r(this.project.root,c)}else return s});r.addChange(dmi(i,a))}}addMissingReferences(e,r){let n=this.missingReferences[e]??=new Set;for(let i of r)n.add(i)}[yfe]=(e,r,n)=>{let i=k1r(r.annotationFile,this.metadataService,this.vocabularyService),a=OVt(this.documents,n.uri,n.target.name,n.target,i,this.metadataService,{apps:Object.keys(this.project.apps),projectRoot:this.project.root,appName:this.appName});this.addMissingReferences(r.uri,a);let c=n.target.name.split("/"),l=c.shift()??"",u=r0(l),p=$I(i.aliasMap,i.currentFileNamespace,u)??"",f=this.metadataService.getMetadataElement(p)?.originalName??l,h=f;if(u.namespaceOrAlias!==void 0){let g=i.aliasMap[u.namespaceOrAlias];g&&(h=h.replace(g,u.namespaceOrAlias))}n.target.name=[h,...c].join("/");let m;if(c?.[0]?.includes("_")){let g=c[0].split("_"),y=this.metadataService.getMetadataElement(`${f}/${g[0]}`);y?.structuredType&&y.isComplexType&&this.metadataService.getMetadataElement(`${f}/${c[0]}`)?.kind===xi&&(m=c[0].split("_"))}e.addChange(E1r("target",n.target,void 0,m))};[Fne]=(e,r,n)=>{let{pointer:i}=AK(r.annotationFile,n.pointer,r.ast,r.cdsTargetMapping),[a,s,,c]=iA(r.ast,i).reverse();if(a?.type===r_)e.addChange({type:"delete-record-property",pointer:i});else if(a?.type===Jc&&s.type===Ff)e.addChange({type:"delete-embedded-annotation",pointer:i});else if(a.type===dl)e.addChange({type:"delete-target",pointer:i});else if(a?.type===Jc&&s.type===dl||a?.type===Jc&&s.type===b_)e.addChange({type:"delete-annotation",pointer:i,target:n.target}),ers(e,r,n,s,c);else if(a?.type===Ff)e.addChange({type:"delete-record",pointer:i});else if(a.type==="boolean"||a.type==="string"||a.type==="path"||a.type==="enum"||a.type==="token"||a.type==="number")e.addChange({type:"delete-primitive-value",pointer:i});else throw new xu(`Could not process change ${n.type} ${n.uri} ${n.pointer} `,kf.General)};[aC]=(e,r,n)=>{let{pointer:i,containsFlattenedNodes:a}=AK(r.annotationFile,n.pointer,r.ast,r.cdsTargetMapping),[s]=iA(r.ast,i).slice(-1);if(a)this.insertInFlattenedStructure(e,r,n,i);else if(s.type===dl)e.addChange({type:"insert-annotation",pointer:i,element:n.element});else if(s.type===Jc)this.insertAnnotation(e,n,i);else if(s.type===Ff)this.insertRecord(e,n,i,s);else if(s.type===r_)pCe.includes(n.element.name)&&e.addChange({type:Kne,pointer:i,element:n.element,index:n.index});else if(s.type===Pm)n.element.name===at.Record?e.addChange({type:"insert-record",pointer:i,element:n.element,index:n.index}):pCe.includes(n.element.name)&&e.addChange({type:Kne,pointer:i,element:n.element,index:n.index});else throw new xu(`Could not process change ${n.type} ${n.uri} ${n.pointer} ${n.element.name}`,kf.General);let c=k1r(r.annotationFile,this.metadataService,this.vocabularyService),l=OVt(this.documents,n.uri,n.target,n.element,c,this.metadataService,{apps:Object.keys(this.project.apps),projectRoot:this.project.root,appName:""});this.addMissingReferences(r.uri,l)};insertInFlattenedStructure(e,r,n,i){let a=i.split("/").slice(0,3).join("/"),s=n.pointer.split("/").slice(0,5).join("/"),c=n.pointer.split("/").slice(5).join("/"),l=QF(r.annotationFile,s);if(l?.type===xi){let u=Zts(l,c,n.element);u&&e.addChange({type:"insert-annotation",element:u,pointer:a})}}insertAnnotation(e,r,n){r.element.name===at.Annotation?e.addChange(S1r(n,r.element)):r.element.name===at.Collection?e.addChange(cmi(n,r.element)):r.element.name===at.Record?e.addChange(T1r(n,r.element)):pCe.includes(r.element.name)&&e.addChange(umi(n,r.element))}insertRecord(e,r,n,i){if(r.element.name===at.PropertyValue){let a=qmi(i,r.index),s=[...n.split("/"),"properties"].join("/");e.addChange(lmi(s,r.element,a))}else if(r.element.name===at.Annotation){let a=qmi(i,r.index);e.addChange(S1r(n,r.element,a))}else if(r.element.name===at.Record){let a=n.split("/"),s=Number.parseInt(a.pop()??"",10),c=a.join("/");e.addChange(T1r(c,r.element,s))}}[kne]=(e,r,n)=>{let{pointer:i}=AK(r.annotationFile,n.pointer,r.ast,r.cdsTargetMapping),[a]=iA(r.ast,i).slice(-1);if(i)a.type===Jc&&n.name===at.Qualifier&&e.addChange({type:"insert-qualifier",pointer:i,value:n.value}),(a.type===r_||a.type===Jc&&n.name!==at.Qualifier)&&e.addChange({type:"insert-primitive-value",pointer:i,element:Ci({name:n.name,content:[kp(n.value)]})}),a.type===Ff&&n.name===at.Type&&e.addChange({type:"insert-record-property",pointer:i+"/properties",index:0,element:Ci({name:"PropertyValue",attributes:{Property:ac("Property","$Type")},content:[Ci({name:"String",content:[kp(n.value)]})]})});else throw new xu(`Could not process change ${n.type} ${n.uri} ${n.pointer} ${n.name}`,kf.General)};[Efe]=(e,r,n)=>{let{pointer:i}=AK(r.annotationFile,n.pointer,r.ast,r.cdsTargetMapping),[a]=iA(r.ast,i).slice(-1);if(i&&a?.type===_Ce)e.addChange(_mi(i));else throw new xu(`Could not process change ${n.type} ${n.uri} ${n.pointer}`,kf.General)};[EK]=(e,r,n)=>{let{pointer:i}=AK(r.annotationFile,n.pointer,r.ast,r.cdsTargetMapping);if(i)e.addChange(Smi(i,n.newValue));else throw new xu(`Could not process change ${n.type} ${n.uri} ${n.pointer} ${n.newValue}`,kf.General)};[$ne]=(e,r,n)=>{let{pointer:i}=AK(r.annotationFile,n.pointer,r.ast,r.cdsTargetMapping),[a]=iA(r.ast,i).slice(-1);if(i)a.type===r_&&n.newAttributeValue&&e.addChange({type:"update-primitive-value",pointer:i,newValue:n.newAttributeValue});else throw new xu(`Could not process change ${n.type} ${n.uri} ${n.pointer}`,kf.General)};[MJ]=(e,r,n)=>{let{pointer:i}=AK(r.annotationFile,n.pointer,r.ast,r.cdsTargetMapping),a=QF(r.annotationFile,n.pointer);if(i)a?.type===xi&&a.name===at.PropertyValue?e.addChange({type:"replace-record-property",pointer:i,newProperty:n.newElement}):e.addChange({type:"replace-node",pointer:i,newElement:n.newElement});else throw new xu(`Could not process change ${n.type} ${n.uri} ${n.pointer} ${n.newElement.name}`,kf.General)};[gCe]=(e,r,n)=>{let{pointer:i}=AK(r.annotationFile,n.pointer,r.ast,r.cdsTargetMapping),a=n.pointer.split("/"),s=a.pop(),c=QF(r.annotationFile,a.join("/"));if(i)s==="text"&&Umi(c)?e.addChange({type:"set-flags",pointer:i,value:n.text.text}):e?.addChange({type:"replace-text-value",pointer:i,newValue:n.text.text});else throw new xu(`Could not process change ${n.type} ${n.uri} ${n.pointer} ${n.text}`,kf.General)};[Rot]=(e,r,n)=>{let{pointer:i}=AK(r.annotationFile,n.pointer,r.ast,r.cdsTargetMapping),[a]=iA(r.ast,i).slice(-1),s=QF(r.annotationFile,n.pointer),c=n.newValue[0];if(i&&a&&c?.type===oc)if(s?.type===xi&&s.name===at.EnumMember)Umi(s)?e.addChange({type:"set-flags",pointer:i,value:c.text}):e.addChange({type:"replace-text-value",pointer:i,newValue:c.text});else{let l=s?.type===xi&&(s.name===at.Path||s.name===at.PropertyPath||s.name===at.NavigationPropertyPath)?c.text.replaceAll("/","."):c.text;e.addChange({type:"update-primitive-value",pointer:i,newValue:l})}else throw new xu(`Could not process change ${n.type} ${n.uri} ${n.pointer} ${n.newValue}`,kf.General)};[mCe]=(e,r,n)=>{let{pointer:i,index:a}=n,{pointer:s}=AK(r.annotationFile,i,r.ast,r.cdsTargetMapping),c=QF(r.annotationFile,i);s&&oCe(c,"Collection")&&e.addChange({type:"move-collection-value",pointer:s,index:a,fromPointers:n.fromPointers.map(l=>{let{pointer:u}=AK(r.annotationFile,l,r.ast,r.cdsTargetMapping);return u})})};[RPr]=()=>{};[Zpi]=()=>{}};function k1r(t,e,r){let n=wB(t.namespace,t.references),i=xB(n,e.getNamespaces());return Yne(i,r.getVocabularies())}function Umi(t){if(t?.type!=="element")return!1;let e=t.content[0];return e?.type==="text"&&t.name===at.EnumMember?e.text.split(" ").length>1:!1}function Zts(t,e,r){let n=e.split("/"),i=t;if(i.type!==xi)return;let a=Bmi(i),s=a;for(let c of n){let l=i[c];if(l){if(i=l,i.type===xi){let u=Bmi(i);s.content.push(u),s=u}else if(!Array.isArray(i))return}else return}return s.content.push(r),a}function Bmi(t){let e=Ci({name:t.name});return t.name===at.Annotation&&(e.attributes[at.Term]=t.attributes[at.Term],t.attributes[at.Qualifier]&&(e.attributes[at.Qualifier]=t.attributes[at.Qualifier])),t.name===at.PropertyValue&&(e.attributes[at.Property]=t.attributes[at.Property]),e}function qmi(t,e){if(e===void 0)return e;let r=e;for(let n=0;n<t.properties.length;n++){let i=t.properties[n].name.value;kxr(i)&&n<=r&&(r=r+1)}return r}function ers(t,e,r,n,i){let a=QF(e.annotationFile,r.pointer);if(a?.type===xi){let s;if(n.type===dl?s=n:i.type===dl&&(s=i),s){let c=Fg(a,at.Term),l=V6(a,at.Qualifier);c&&trs(s.name,c,l?.value,e.ast,t)}}}function trs(t,e,r,n,i){for(let a=0;a<n.targets.length;a++){let s=n.targets[a];if(s.name===t)for(let c=0;c<s.assignments.length;c++){let l=s.assignments[c];if(Gmi(l,e,void 0,r))i.addChange(LCe(`/targets/${a}/assignments/${c}`,t));else if(l.type===iE)for(let u=0;u<l.items.items.length;u++){let p=l.items.items[u],d=`${l.name.value}.${p.term.value}`;Gmi(p,e,d,r)&&i.addChange(LCe(`/targets/${a}/assignments/${c}/items/items/${u}`,t))}}}}function Gmi(t,e,r,n){if(t.type!==Jc)return!1;r??=t.term.value;let[i,a]=r.split(e);return i===""&&a.startsWith(".")&&t.qualifier?.value===n}var zmi=new U6(!0);var AVt=class{serviceName;vocabularyAPI;metadataService;splitAnnotationSupport;ignoreChangedFileInitialContent;aliasInfoCache={};newTargetChanges=new Map;annotationFileChanges=[];constructor(e,r,n,i,a){this.serviceName=e,this.vocabularyAPI=r,this.metadataService=n,this.splitAnnotationSupport=i,this.ignoreChangedFileInitialContent=a}convert(e,r,n,i){this.reset();let a=rrs(i);for(let s of a){let c=this.getFile(e,s.uri),l=this.getAliasInformation(c);s.kind===eV.InsertAnnotation?this.insertAnnotation(e,l,s):s.kind===eV.InsertEmbeddedAnnotation?this.insertEmbeddedAnnotation(c,r,l,s):s.kind===eV.Insert?this.convertInsert(c,r,l,s):s.kind===eV.Delete?this.convertDelete(c,r,l,s):s.kind===eV.Update?this.convertUpdate(c,r,l,n,s):s.kind===eV.Move&&this.convertMove(c,r,l,s)}return this.addTargetChanges(e),this.annotationFileChanges}getFile(e,r){let n=e.annotationFiles.find(i=>i.uri===r);if(!n){if(this.ignoreChangedFileInitialContent)return{type:lfe,uri:r,references:[],targets:[]};throw new Error(`Invalid change. File ${r} does not exist.`)}return n}insertAnnotation(e,r,n){let i=e.annotationFiles.find(c=>c.uri===n.uri),a=Uk(n.content.target,r),s=i?.targets.findIndex(c=>Uk(c.name,r)===a);if(s===-1||s===void 0){let c=this.newTargetChanges.get(n.uri);if(!c)this.newTargetChanges.set(n.uri,new Map([[a,[n]]]));else{let l=c.get(a);l?l.push(n):c.set(a,[n])}}else{let c={type:aC,uri:n.uri,target:a,pointer:`/targets/${s}`,element:Nne(n.content.value,r)};this.annotationFileChanges.push(c)}}insertEmbeddedAnnotation(e,r,n,i){let{reference:a,content:s}=i,{targetPointer:c,internalPointer:l}=hfe(n,e,r[i.uri],a,i.pointer,this.splitAnnotationSupport),u={type:aC,uri:i.uri,target:i.reference.target,element:Nne(s.value,n),pointer:c+l,index:i.index};this.annotationFileChanges.push(u)}convertInsert(e,r,n,i){let{reference:a,content:s}=i,{element:c,targetPointer:l,internalPointer:u}=hfe(n,e,r[i.uri],a,i.pointer,this.splitAnnotationSupport),p=i.kind===eV.Insert?i.index:void 0;if(s.type==="record"){let d={type:aC,uri:i.uri,target:i.reference.target,pointer:l+u,element:sCe(n,s.value),index:p};this.annotationFileChanges.push(d)}else if(s.type==="property-value"){let d={type:aC,uri:i.uri,target:i.reference.target,pointer:l+u,element:Oot(n,s.value),index:p};this.annotationFileChanges.push(d)}else if(s.type==="collection"){let d={type:aC,uri:i.uri,target:i.reference.target,pointer:l+u,element:Jje(n,s.value),index:p};this.annotationFileChanges.push(d)}else s.type==="expression"?this.convertInsertExpression(e,n,l+u,i,s,p):s.type==="primitive"&&this.convertInsertPrimitive(c,n,l,u,i,s,p)}convertInsertExpression(e,r,n,i,a,s){let c=QF(e,n);if(c?.type===xi&&c.name===at.Collection){let l=Dne(r,a.value);if(l){let u={type:aC,uri:i.uri,target:i.reference.target,pointer:n,element:l,index:s};this.annotationFileChanges.push(u)}}else{let l=Dne(r,a.value,Ci({name:"placeholder"}));if(l){let u=l.content[0];if(u?.type===xi){let p={type:aC,uri:i.uri,target:i.reference.target,pointer:n,element:u,index:s};this.annotationFileChanges.push(p);return}else if(Object.keys(l.attributes).length>0){let p=l.attributes[Object.keys(l.attributes)[0]],d={type:kne,uri:i.uri,pointer:n,name:p.name,value:p.value};this.annotationFileChanges.push(d);return}}}}convertInsertPrimitive(e,r,n,i,a,s,c){if(s.expressionType===Tfe.Unknown){let l=uCe(e,a.pointer.split("/").slice(0,-1).join("/")),u=ors(a.pointer);if(u){let p=lCe(u,s.value,r),d={type:kne,uri:a.uri,pointer:n+l,name:u,value:p};this.annotationFileChanges.push(d)}}else if(s.expressionType===Tfe.Null){let l={type:aC,uri:a.uri,target:a.reference.target,pointer:n+i,element:Ci({name:at.Null}),index:c};this.annotationFileChanges.push(l)}else if(typeof s.expressionType=="string"){let l={type:kne,uri:a.uri,pointer:n+i,name:s.expressionType,value:s.value.toString()};this.annotationFileChanges.push(l)}}convertDelete(e,r,n,i){let{reference:a}=i,{target:s,targetPointer:c,internalPointer:l}=hfe(n,e,r[i.uri],a,i.pointer,this.splitAnnotationSupport),u=l.split("/").slice(-3);if(u[0]==="attributes"&&u.length===3){let[,,p]=u;if(p==="value"){let d={type:Efe,uri:i.uri,pointer:c+l.split("/").slice(0,-1).join("/")};this.annotationFileChanges.push(d)}}else if(i.pointer===""){let p={type:Fne,target:s.name,uri:i.uri,pointer:c};this.annotationFileChanges.push(p)}else if(l!==""){let p={type:Fne,uri:i.uri,target:s.name,pointer:c+l};this.annotationFileChanges.push(p)}}convertUpdate(e,r,n,i,a){let{reference:s,content:c}=a,l=this.getValueType(i,a),{element:u,targetPointer:p,internalPointer:d}=hfe(n,e,r[a.uri],s,a.pointer,this.splitAnnotationSupport,l);if(d===""){this.convertInsert(e,r,n,a);return}let f=d.split("/").slice(-3);if(f[0]==="attributes"&&f.length===3){let[,h,m]=f;this.convertUpdateAttribute(n,h,m,p,d,a)}else if(c.type==="expression"&&c.value.type==="Collection"){let h=QF(e,p+d),m=Dne(n,c.value);if(h?.type===xi&&m){let g={type:MJ,uri:a.uri,pointer:p+d,newElement:m};this.annotationFileChanges.push(g)}}else if(c.type==="expression")this.convertUpdateExpression(e,n,c,p+d,l,s.target);else if(c.type==="primitive"&&c.value!==void 0){let h=uCe(u,a.pointer,c.expressionType),m=p+h+"/text";this.convertUpdatePrimitiveValue(e,n,c,p+d,m)}else{let h=irs(n,e,a);if(h){let m={type:MJ,uri:a.uri,pointer:p+d,newElement:h};this.annotationFileChanges.push(m)}}}convertUpdateAttribute(e,r,n,i,a,s){let c=this.getAttributeValue(s.content);if(n==="value"&&c!==void 0){let l=this.getPrimitiveValueType(s.content)??r,u=lCe(l,c,e),p={type:EK,uri:s.uri,pointer:i+a.split("/").slice(0,-1).join("/"),newValue:u};this.annotationFileChanges.push(p)}}getPrimitiveValueType(e){if(e.type==="primitive")return e.expressionType===Tfe.Unknown?void 0:e.expressionType;if(e.type==="expression")return e.value.type===Tfe.Unknown?void 0:e.value.type}getAttributeValue(e){if(e.type==="primitive")return e.value;if(e.type==="expression")return this.getExpressionValue(e)}getExpressionValue(e){return e.value[e.value.type]}convertUpdateExpression(e,r,n,i,a,s){let c=this.getExpressionValue(n),l=lCe(n.value.type,c,r),u=a??n.value.type,p=QF(e,i);if(p?.type===xi){let d=n.previousType===void 0&&n.value.type===a;if(d&&p.attributes[u]){let f={type:EK,uri:e.uri,pointer:i+`/attributes/${u}`,newValue:l};this.annotationFileChanges.push(f)}else if(d&&p.name===a){let f={type:Rot,uri:e.uri,pointer:i,newValue:[kp(l)]};this.annotationFileChanges.push(f)}else if(p.attributes[u])this.annotationFileChanges.push({type:$ne,uri:e.uri,pointer:i+`/attributes/${u}`,newAttributeName:n.value.type,newAttributeValue:l});else if(p.name===a){let f=[];n.value.type!==at.Null&&f.push(kp(l));let h={type:MJ,uri:e.uri,pointer:i,newElement:Ci({name:n.value.type,content:f})};this.annotationFileChanges.push(h)}}else p?.type===wne&&this.convertUpdateExpressionForAttrributeType(e.uri,s,a,n,i,l)}convertUpdateExpressionForAttrributeType(e,r,n,i,a,s){if(i.previousType===void 0&&i.value.type===n){let c={type:EK,uri:e,pointer:a,newValue:s};this.annotationFileChanges.push(c)}else if(i.value.type===at.Null)this.annotationFileChanges.push({type:Efe,uri:e,pointer:a}),this.annotationFileChanges.push({type:aC,uri:e,target:r,pointer:a.split("/").slice(0,-2).join("/"),element:Ci({name:at.Null})});else{let c={type:$ne,uri:e,pointer:a,newAttributeName:i.value.type,newAttributeValue:s};this.annotationFileChanges.push(c)}}convertUpdatePrimitiveValue(e,r,n,i,a){let s=lCe(n.expressionType??"",n.value,r),c=QF(e,i);if(c?.type===oc){let u=i.split("/").slice(0,-2).join("/"),p=QF(e,u);if(p?.type===xi&&n.expressionType&&p.name!==n.expressionType){let d={type:MJ,uri:e.uri,pointer:u,newElement:Ci({name:n.expressionType,content:[kp(s)]})};this.annotationFileChanges.push(d);return}}else if(c?.type===xi&&n.expressionType&&a.split("/").includes("attributes")){let u=a.split("/").slice(-2)[0];if(c.attributes[n.expressionType]){let p={type:EK,uri:e.uri,pointer:`${i}/attributes/${n.expressionType}`,newValue:s};this.annotationFileChanges.push(p);return}else{let p={type:$ne,uri:e.uri,pointer:`${i}/attributes/${u}`,newAttributeName:n.expressionType,newAttributeValue:s};this.annotationFileChanges.push(p);return}}let l={type:gCe,uri:e.uri,pointer:a,text:kp(s)};this.annotationFileChanges.push(l)}convertMove(e,r,n,i){let{reference:a,index:s,moveReference:c}=i,{targetPointer:l,internalPointer:u}=hfe(n,e,r[i.uri],a,i.pointer,this.splitAnnotationSupport),p={type:mCe,uri:i.uri,pointer:l+u,index:s,fromPointers:c.reduce((d,f)=>(d.push(...f.fromPointer.map(h=>{let{targetPointer:m,internalPointer:g}=hfe(n,e,r[i.uri],f.reference??i.reference,h,this.splitAnnotationSupport);return m+g})),d),new Array)};this.annotationFileChanges.push(p)}addTargetChanges(e){let r=[];for(let[n,i]of this.newTargetChanges){let a=this.getFile(e,n),s=this.getAliasInformation(a);for(let[c,l]of i){let u=$$t(c);u.terms=l.map(d=>Nne(d.content.value,s));let p={type:yfe,uri:n,target:u};r.push(p)}}this.annotationFileChanges.unshift(...r)}getValueType(e,r){let{content:n}=r;if(n.type==="expression")return n.previousType?n.previousType:this.getValueTypeFromSchema(e,r)}getValueTypeFromSchema(e,r){let{reference:n,uri:i,pointer:a}=r,s=e().schema.annotations[i]??[],c=H$t(s,n);if(!c){let u=Rne(n,i);throw new xu(`Could not find annotation '${u}' in file '${i}'.`,kf.General)}let l=Aot(c,a);if(!l){let u=Rne(n,i);throw new xu(`Could not resolve pointer '${a}' from annotation '${u}'.`,kf.General)}if(this.isExpression(l))return l.type}isExpression(e){return typeof e.type<"u"&&typeof e.propertyValues>"u"}getAliasInformation(e){let r=this.aliasInfoCache[e.uri];if(r)return r;let n=wB(e.namespace??{name:this.serviceName,type:"namespace"},e.references),i=xB(n,this.metadataService.getNamespaces()),a=Yne(i,this.vocabularyAPI.getVocabularies());return this.aliasInfoCache[e.uri]=a,a}reset(){this.aliasInfoCache={},this.newTargetChanges=new Map,this.annotationFileChanges=[]}};function rrs(t){let e=[],r=t.filter(n=>n.kind===eV.InsertAnnotation).reduce((n,i)=>{let a={target:i.content.target,term:i.content.value.term,qualifier:i.content.value.qualifier},s=Rne(a,i.uri);return n.set(s,i),n},new Map);for(let n of t){if(n.kind===eV.InsertAnnotation){e.push(n);continue}let i=Rne(n.reference,n.uri),a=r.get(i);if(!a){e.push(n);continue}nrs(a,n)}return e}function nrs(t,e){let r=Rne(e.reference,e.uri);switch(e.kind){case eV.InsertEmbeddedAnnotation:{t.content.value.annotations?t.content.value.annotations.push(e.content.value):t.content.value.annotations=[e.content.value];return}case eV.Insert:{let n=Aot(t.content.value,e.pointer);if(!n)throw new xu(`Change merge for '${r}' failed! Could not resolve '${e.pointer}'.`,kf.General);if(Array.isArray(n)&&e.content.type==="record"){e.index===void 0||e.index>=n.length?n.push(e.content.value):n.splice(e.index,0,e.content.value);return}throw new xu(`Change merge for '${r}' failed! Change value type '${e.content.type}' is not supported.`,kf.General)}default:break}throw new xu(`Change merge for '${r}' failed! Change type '${e.kind}' is not supported.`,kf.General)}function irs(t,e,r){if(r.content.type==="record"){let{content:n}=r;return sCe(t,n.value)}else if(r.content.type==="property-value"){let{content:n}=r;return Oot(t,n.value)}else if(r.content.type==="collection"){let{content:n}=r;return Jje(t,n.value)}else if(r.content.type==="expression"){let{content:n}=r;return Dne(t,n.value)}else if(r.content.type==="primitive"){let{content:n}=r;if(n.expressionType===Tfe.Null)return Ci({name:at.Null})}}function ors(t){let e=t.split("/").slice(-1)[0];if(e?.length)return e.substring(0,1).toUpperCase()+e.substring(1)}import{join as crs}from"node:path";import{pathToFileURL as lrs}from"node:url";var ars=function(t,e,r){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var n,i;if(r){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=e[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=e[Symbol.dispose],r&&(i=n)}if(typeof n!="function")throw new TypeError("Object not disposable.");i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.stack.push({value:e,dispose:n,async:r})}else r&&t.stack.push({async:!0});return e},srs=(function(t){return function(e){function r(s){e.error=e.hasError?new t(s,e.error,"An error was suppressed during disposal."):s,e.hasError=!0}var n,i=0;function a(){for(;n=e.stack.pop();)try{if(!n.async&&i===1)return i=0,e.stack.push(n),Promise.resolve().then(a);if(n.dispose){var s=n.dispose.call(n.value);if(n.async)return i|=2,Promise.resolve(s).then(a,function(c){return r(c),a()})}else i|=1}catch(c){r(c)}if(i===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return a()}})(typeof SuppressedError=="function"?SuppressedError:function(t,e,r){var n=new Error(r);return n.name="SuppressedError",n.error=t,n.suppressed=e,n});function urs(t){return{commitOnSave:t.commitOnSave??!0,clearFileResolutionCache:t.clearFileResolutionCache??!1,writeSapAnnotations:t.writeSapAnnotations??!1,ignoreChangedFileInitialContent:t.ignoreChangedFileInitialContent??!1}}var prs="Update rejected due to changes leading to compile errors",klt=class{vocabularyAPI;adapter;changeConverter;fs;options;project;serviceName;changes=[];fileMergeMaps={};fileCache=new Map;isInitialSyncCompleted=!1;projectInfo={appName:"",apps:[],projectRoot:""};constructor(e,r,n,i,a,s,c,l){this.vocabularyAPI=e,this.adapter=r,this.changeConverter=n,this.fs=i,this.options=a,this.project=s,this.serviceName=c,this.projectInfo={apps:Object.keys(s.apps)||[],appName:l||"",projectRoot:s.root}}static async createService(e,r,n,i,a={}){let s=e.projectType==="CAPJava"||e.projectType==="CAPNodejs"?zmi:vFt,c=urs(a),l=await frs(e,r,n,i,c.clearFileResolutionCache),u=hrs(e,l,s,n,c.writeSapAnnotations,c.ignoreChangedFileInitialContent),p;if(i)p=i;else{let h=(0,Ymi.create)();p=(0,Wmi.create)(h)}let d=new AVt(r,s,u.metadataService,u.splitAnnotationSupport,c.ignoreChangedFileInitialContent);return new this(s,u,d,p,c,e,r,n)}getMetadataService(){return this.adapter.metadataService}getVocabularyAPI(){return this.vocabularyAPI}getAllFiles(e=!1){return this.adapter.getAllFiles(e)}async sync(){this.fileCache.clear();let e=await Promise.all(this.adapter.getAllFiles().map(async r=>{let n=Ine(r.uri),i=this.fs.read(n)??"";return{...r,content:i}}));for(let r of e)this.fileCache.set(r.uri,r.content);await this.adapter.sync(this.fileCache),this.isInitialSyncCompleted=!0}getExternalServices(){return this.adapter.getValueListReferences()}syncExternalServices(e){for(let[,r]of this.adapter.getValueListReferences().entries())for(let n of r)for(let i of n.uris){let a=e.get(i);this.adapter.syncExternalService(i,a?.data??"",a?.localFilePath??"")}}getInitialFileContent(e){return this.adapter.getInitialFileContent?.(this.serviceName,e)??""}getSchema(){let e={version:this.adapter.metadataService.ODataVersion,identification:"metadataFile",schema:B$t(this.adapter.metadataService),references:[]};return this.fileMergeMaps=Kmi(this.adapter.compiledService,e,this.serviceName,{vocabulary:this.vocabularyAPI},this.adapter.splitAnnotationSupport),e}getExternalServiceSchema(){return this.adapter.getExternalServices().map(({compiledService:e,metadataService:r,uri:n,localFileUri:i})=>{let a={stack:[],error:void 0,hasError:!1};try{let s=ars(a,r.useService(n),!1),c={version:r.ODataVersion,identification:"metadataFile",schema:B$t(s),references:[]};return this.fileMergeMaps=Kmi(e,c,"",{vocabulary:this.vocabularyAPI},this.adapter.splitAnnotationSupport),{...c,localFileUri:i}}catch(s){a.error=s,a.hasError=!0}finally{srs(a)}})}edit(e){Array.isArray(e)?this.changes.push(...e):this.changes.push(e)}async save(e){this.isInitialSyncCompleted||await this.sync();let r={};i0.log(`Applying changes:
|
|
4173
|
-
${JSON.stringify(this.changes,void 0,2)}`);let n=this.convertChanges(this.changes),i=await this.adapter.getWorkspaceEdit(n),a=i.changes??{},s=Object.keys(a),c=new Map(this.fileCache);for(let l of s){let u=Ine(l),p=this.fs.read(u)??"",d=drs(l,"",i,p);this.fileCache.set(l,d),r[u]=d}if(this.changes=[],typeof this.adapter.validateChanges=="function"){let l=await this.adapter.validateChanges(this.fileCache);if(l?.size){this.fileCache=new Map(c);let u=mrs(l);throw new xu(prs,kf.CompileError,u)}else for(let u of Object.keys(r)){let p=r[u];this.saveFile(u,p)}}else e?.resyncAfterSave&&await this.adapter.sync(this.fileCache);return this.options.commitOnSave&&await this.commit(),this.changes=[],this.fileMergeMaps={},{files:s.length}}serializeTarget(e,r){let i=this.adapter.compiledService.annotationFiles.find(c=>c.uri===r),a=null,s=[];return i&&(s=wB(i.namespace,i.references)),a=xB(s,this.getMetadataService().getNamespaces()),i||(a=Yne(a,this.vocabularyAPI.getVocabularies())),this.adapter.serializeTarget(bPr(e,a))}convertChanges(e){let r=this.adapter.compiledService,n;this.adapter.splitAnnotationSupport&&Object.keys(this.fileMergeMaps).length===0&&(n=this.getSchema());let i=()=>n||(n=this.getSchema(),n);return this.changeConverter.convert(r,this.fileMergeMaps,i,e)}saveFile(e,r){this.fs.write(e,r)}async commit(){await new Promise((e,r)=>{this.fs.commit(n=>{n instanceof Error?r(n):typeof n=="string"?r(new Error(n)):n&&r(new Error("Unknown error.")),e()})})}};function drs(t,e,r,n){let i=eE.create(t,e,0,n),a=r.changes?r.changes[t]??[]:[];return eE.applyEdits(i,a)}function Kmi(t,e,r,n,i){let a={};for(let s of[...t.annotationFiles]){let c={};a[s.uri]=c;let l=yPr(s,r,{addOrigins:!0,vocabularyService:n.vocabulary,mergeSplitAnnotations:i,mergeMap:c});e.schema.annotations[s.uri]=l}return a}async function frs(t,e,r,n,i){if(t.projectType==="EDMXBackend")return Gxr(t,e,r);if(t.projectType==="CAPJava"||t.projectType==="CAPNodejs"){let a=new Map;if(n)for(let[s,c]of Object.entries(n.dump())){let l=lrs(crs(process.cwd(),s)).toString();a.set(l,c.contents)}return vhi(t.root,e,a,i)}else throw new Error(`Unsupported project type "${t.projectType}"!`)}function hrs(t,e,r,n,i,a){if(e.type==="local-edmx")return new TUe(e,r,t,n);if(e.type==="cap-cds")return new Mlt(e,t,r,n,i,a);throw new Error(`Unsupported service type "${e.type}"!`)}function mrs(t){let e=new Map;return[...t.entries()].forEach(r=>{let[n,i]=r;if(i.hasSyntaxErrors&&!n.startsWith("../")){let a=i.messages.filter(s=>s.severity===W_.Error).map(s=>s.message);e.set(n,a)}}),e}UT();var QUe=br(VUe(),1);import{pathToFileURL as $1r}from"node:url";function CVt(t){return t.replaceAll("\\","/").replaceAll("//","/").replaceAll(/(?:^\/)/g,"")}var F1r=class{static serviceInfoCache=new Map;static serviceArtifactCache=new Map;static cdsCache=new Map;static vocabularyService=new U6(!0);static getCdsServiceArtifacts(e,r,n){let i=this.serviceArtifactCache.get(e);if(i){let _=i[r];if(_)return _}let a=this.getFacade(e,n,!1),c=(this.serviceInfoCache.get(e)??[]).find(_=>CVt(_.urlPath)===CVt(r));if(!c)return;let l=c.name,u={},p=a.getMetadata(l),d=(0,QUe.createMetadataCollector)(new Map,a),{propagationMap:f}=a.getPropagatedTargetMap(l);for(let _ of a.getAllSourceUris()){let b=$1r(_).toString(),O=PCe(a.blitzIndex.forUri(b),b,this.vocabularyService,a),C=wCe(b,this.vocabularyService,O,d,void 0,f,!0).file;u[b]=C}let h=(0,QUe.getMetadataElementsFromMap)(p),m=new LJ({uriMap:a?.getUriMap()||new Map});m.import(h,"DummyMetadataFileUri");let g=grs(m,vFt,u),y=CVt(c.urlPath),v={path:y,metadataService:m,annotationFiles:u,aliasInfo:g,fileSequence:a.getFileSequence().map(_=>$1r(_).toString())};return i={},i[y]=v,this.serviceArtifactCache.set(e,i),v}static resetCache(e,r){this.serviceArtifactCache.delete(e),this.getFacade(e,r,!0)}static getFacade(e,r,n=!1){let i=this.cdsCache.get(e);if(i&&n===!1)return i;let a=new Proxy({},{get(l,u){let p=l[u];if(p!==void 0)return p;let d=$1r(u).toString(),f=r.get(d);return l[u]=f,f}}),s=(0,QUe.createCdsCompilerFacadeForRootSync)(e,[],a),c=nLe(s.getServiceInfo());return this.serviceInfoCache.set(e,c),this.cdsCache.set(e,s),s}};function grs(t,e,r){let n={};for(let[i,a]of Object.entries(r)){let s=wB(a.namespace??{name:"",type:"namespace"},a.references),c=xB(s,t.getNamespaces()),l=Yne(c,e.getVocabularies());n[i]=l}return n}UT();var Xmi=br(ARt(),1),PVt=class{constructor(e){this.options=e}metadataService;annotationService;nodes=[];nodesMap=new Map;namespace="";async loadMetadata(e=!1){if(!e&&this.metadataService)return;let{project:r,serviceName:n,appName:i}=this.options,a=await d7(r.root);this.annotationService=await klt.createService(a,n,i),await this.annotationService.sync(),this.metadataService=this.annotationService.getMetadataService(),this.namespace=[...this.metadataService.getNamespaces()][0],this.metadataService.visitMetadataElements(this.visitMdElement.bind(this))}visitMdElement(e){let{path:r,name:n}=e,i=this.metadataService?.getEdmTargetKinds(r)[0]||"",a={path:r,name:n,mdElement:e,kind:i};this.nodes?.push(a),this.nodesMap.set(r,a)}async getNamespace(){return await this.loadMetadata(),this.namespace}async getAllowedEntities(e=!1){if(await this.loadMetadata(e),!this.annotationService)return[];let r=[],n=this.annotationService.getSchema(),i=(0,Xmi.convert)(n);for(let a of i.entitySets)r.push({entitySet:a.name,entityType:a.entityType.name,navigations:a.entityType.navigationProperties.filter(s=>s.isCollection).map(s=>{let c=s.targetType,l=i.entitySets.find(u=>u.entityTypeName===c.name);return{name:s.name,fullyQualifiedName:s.fullyQualifiedName,entitySet:l?.name??c.name}})});return r}async getAllowedNavigations(e,r,n=!1){return(await this.getAllowedEntities(n)).find(a=>a.entitySet===e||a.entityType===r)?.navigations??[]}};var V1r=new Map;function vrs(t){return yrs(t.project.root,t.appName,t.serviceName)}async function j1r(t){let e=vrs(t);V1r.has(e)||V1r.set(e,new PVt(t));let r=V1r.get(e);if(!r)throw new Error(`No service: '${e}'`);return r}var Jmi=br(Pne(),1),{FioriElementsVersion:Qmi,PageTypeV4:jfe}=Jmi.default,_rs=new Map([[jfe.ListReport,"List"],[jfe.ObjectPage,jfe.ObjectPage],[jfe.CustomPage,"Page"],[jfe.FPMCustomPage,"Page"],[jfe.AnalyticalListPage,"ALP"]]);function Ers(t,e,r){let n="",i=[];if(t.pageType===jfe.CustomPage||t.pageType===jfe.FPMCustomPage){let s=(t.viewName??"").split(".");n=s[s.length-1]}else n=t.contextPath?t.contextPath.slice(1).replace(/\//g,"_"):t.entitySet;return i=[n],e&&r&&(!t.contextPath||t.contextPath.indexOf(r)===-1)&&i.push(r),i[i.length-1]+=_rs.get(t.pageType),i}function Trs(t){let e=[];return e.push(t.pageType),t.entitySet&&e.push(t.entitySet),e}function U1r(t,e,r,n,i){let a=[];n===Qmi.v2?a=Trs(t):a=Ers(t,e,i);let s=a.join("_"),c=r.map(u=>u.pageId),l=0;for(;c.indexOf(s)>-1;)s+=l.toString(),l++;return s}function $lt(t){return t.target?.fioriElements??Qmi.v4}UT();import{join as Srs}from"node:path";var{CustomExtensionType:B1r,PageTypeV4:$Ce,FioriElementsVersion:brs}=Zmi.default,qfe=class{serviceName;appData;appId;applicationAccess;params;version;constructor({params:e,applicationAccess:r,appId:n,serviceName:i,appData:a}){this.params=e,this.serviceName=i,this.appData=a,this.appId=n,this.applicationAccess=r,this.version=$lt(a.config)}getAllowedNavigationsOutput(e){return e.map(r=>r.name).join(", ")}getMissingNavigationMessage(e,r,n){let i="";switch(e){case 1:{i="page does not have valid navigation for add";break}case 2:{i=`provided 'navigation' was not found. ${n} has following navigations available: ${this.getAllowedNavigationsOutput(r)}`;break}case 3:{i="provide 'entitySet' for very first page";break}case 4:{i=`provided 'entitySet' was not found. Following entitySets available: ${this.getAllowedNavigationsOutput(r)}`;break}}return i}calculateContextPath(e,r,n){let i;return!e||e.pageType===$Ce.ListReport?i=`/${n}`:e.contextPath?i=r&&e.routePattern!==":?query:"?`${e.contextPath}/${r}`:`/${n}`:e.entitySet&&(i=this.calculateContextPathBasedOnEntitySet(e,r)),i}calculateContextPathBasedOnEntitySet(e,r){let n,a=e.routePattern?.replace(":?query:","").replace(/\({[^}]*}\)/g,"");return a?n=r&&r!==""?`/${a}/${r}`:`/${a}`:n=r&&r!==""?`/${e.entitySet}/${r}`:`/${e.entitySet}`,n}createErrorResponse(e){return{functionalityId:dle,status:"Failed",message:e,parameters:[],appPath:this.params.appPath,changes:[],timestamp:new Date().toISOString()}}async validatePageCreationInput(e,r,n){if(r.length&&!e.parent)return this.createErrorResponse('Provide "parentPage" for page creation');if(e.pageType===$Ce.CustomPage){let i=this.validateCustomPageViewName(n);if(i)return i}return null}validateCustomPageViewName(e){let r=".view.xml",n=e?.endsWith(r)?e.slice(0,-r.length):e;return n?/^[a-z][a-z0-9_-]*$/i.exec(n)?null:this.createErrorResponse("'viewName' must not contain spaces, must start with an upper-case letter, and may contain letters, digits, and underscores."):this.createErrorResponse('Provide "viewName" for CustomPage')}async validateNavigationInput(e,r,n,i=[]){if(i.length&&!e)return this.createErrorResponse('provided "parentPage" was not found');let a=await this.getAllowedNavigations(e);if(e&&!a.length){let c=this.getMissingNavigationMessage(1,a);return this.createErrorResponse(c)}let s=this.findTargetNavigation(a,r,n);if(e&&!s){let c=this.getMissingNavigationMessage(2,a,e.pageId);return this.createErrorResponse(c)}if(!e&&!n){let c=this.getMissingNavigationMessage(3,a);return this.createErrorResponse(c)}if(!e&&!s){let c=this.getMissingNavigationMessage(4,a);return this.createErrorResponse(c)}return null}findTargetNavigation(e,r,n){return e.find(i=>{let a=i.name.toLocaleLowerCase();return a===r?.toLocaleLowerCase()||a===n?.toLocaleLowerCase()})}async generatePageV4(e,r,n,i,a,s){let c=r?{sourceEntity:r.entitySet,sourcePage:r.pageId,navEntity:n?.name,navKey:!0}:void 0,l=this.calculateContextPath(r,n?.name,n?.entitySet??s),u=U1r({entitySet:n?.entitySet??s??"",pageId:"",pageType:e.pageType,contextPath:l,viewName:a},r?.pageId,i,this.version,n?.name),p={id:u,entity:n?.entitySet??s??"",navigation:c,contextPath:l,name:e.pageType===$Ce.CustomPage?a:void 0},d=await this.writeFPM(e.pageType,p,a);return{pageID:u,changes:d}}async generatePageV2(e,r,n,i,a,s){let c=this.appData.config;c.pages||(c.pages={});let l=U1r({entitySet:n?.entitySet??s??"",pageId:"",pageType:e.pageType,contextPath:"",viewName:a},r?.pageId,i,this.version,n?.name);c.pages[l]={pageType:e.pageType,entitySet:n?.entitySet??s,navigationProperty:n?.name,navigation:{}};let u=r?c.pages[r.pageId]:void 0;if(u){u.navigation||(u.navigation={});let d=u.entitySet??"";u.navigation[l]=n?.name?`${d}.${n.name}`:d}return await new ib(this.applicationAccess).writeApp(this.appData),{pageID:l,changes:[this.applicationAccess.app.manifest]}}async writeFPM(e,r,n){let i=new ib(this.applicationAccess),a=B1r.ListReport;e===$Ce.ObjectPage&&(a=B1r.ObjectPage),e===$Ce.CustomPage&&n&&(a=B1r.CustomPage);let s=RAt(h_.View);return i.writeFPM({customExtension:a,basePath:Srs(this.applicationAccess.project.root,this.appId),data:{...r,folder:s}})}deleteNavigationLinks(e,r){if(e){for(let n in e)if(this.findPageByNavigation(e,n)===r){delete e[n];break}}}findPageByNavigation(e,r){let n=e?.[r];return typeof n=="string"?r:n?.route}deletePageRecursively(e,r){if(!r)return;let{pages:n}=e,i=e.settings??{};if(n?.[r]){let a=n?.[r];delete n[r];let s=`${a.pageType}#${r}`;if(i.controllerExtensions?.[s]&&delete i.controllerExtensions[s],a.navigation)for(let c in a.navigation){let l=this.findPageByNavigation(a.navigation,c);this.deletePageRecursively(e,l)}}}getPages(){let{config:e}=this.appData,{pages:r={}}=e,n=[];for(let i in r){let a=r[i];n.push({pageId:i,pageType:a.pageType??$Ce.ListReport,entitySet:a.entitySet??"",contextPath:a.contextPath,routePattern:"routePattern"in a&&typeof a.routePattern=="string"?a.routePattern:void 0})}return n}async getAllowedNavigations(e,r=!1){return!e||e?.pageType==="ListReport"?this.getRootPageNavigationOptions(r):(await(await j1r({appName:this.appId,project:this.applicationAccess.project,serviceName:this.serviceName})).getAllowedNavigations(e?.entitySet,e?.entitySet,r)).map(i=>({...i,isNavigation:!0}))}async getRootPageNavigationOptions(e=!1){return(await(await j1r({appName:this.appId,project:this.applicationAccess.project,serviceName:this.serviceName})).getAllowedEntities(e)).map(i=>({entitySet:i.entitySet,name:i.entitySet}))}async getCreationNavigationOptions(){let e={navigations:{}},r=this.getPages();if(r.length){let n=!0;for(let i of r)e.navigations[i.pageId]=await this.getAllowedNavigations(i,n),n=!1}else e.entities=await this.getAllowedNavigations();return e}async createPage(e){let{parent:r,navigation:n,pageType:i,entitySet:a}=e,s=e.pageType===$Ce.CustomPage?e.viewName:void 0,c=this.getPages(),l=await this.validatePageCreationInput(e,c,s);if(l)return l;let u=c.find(y=>y.pageId===r),p=await this.validateNavigationInput(u,n,a,c);if(p)return p;let d=await this.getAllowedNavigations(u),f=this.findTargetNavigation(d,n,a),h=this.version===brs.v2?this.generatePageV2:this.generatePageV4,{pageID:m,changes:g}=await h.call(this,e,u,f,c,s,a);return{functionalityId:dle,status:g.length?"success":"skipped",message:g.length?`Page with id '${m}' of type '${i}' was created successfully in application '${this.appId}'`:`No changes were made for '${i}'`,parameters:[],appPath:this.params.appPath,changes:g,timestamp:new Date().toISOString()}}async deletePage(e){let{pageId:r}=e,n=structuredClone(this.appData),{config:i}=n,a=!1,{pages:s={}}=i;if(s?.[r]){for(let c in s)s[c].navigation&&this.deleteNavigationLinks(s[c].navigation,r);this.deletePageRecursively(i,r),a=!0}return Object.keys(s).length===0&&delete i.home,a?(await new ib(this.applicationAccess).writeApp(n),{functionalityId:Tre,status:"success",message:`Page with id '${r}' was deleted successfully in application '${this.appId}'`,parameters:[],appPath:this.params.appPath,changes:[],timestamp:new Date().toISOString()}):{functionalityId:Tre,status:"unchanged",message:`Page with id '${r}' was not found in application '${this.appId}'`,parameters:[],appPath:this.params.appPath,changes:[],timestamp:new Date().toISOString()}}};var egi=br(Pne(),1);var{PageTypeV4:Flt,FioriElementsVersion:Vlt}=egi.default,tgi=Xh([Flt.ListReport,Flt.ObjectPage,Flt.CustomPage]),rgi=Xh([Flt.ObjectPage]),Ors=(t,e)=>{let r=e===Vlt.v2?rgi:tgi;return Hn({pageType:r.describe("Type of page to be created. First try to extract page type from user input, if not possible suggest content defined in options."),entitySet:Xh(t.map(n=>n.name)).describe("Entity set for the new page. First try to extract entity from user input, if not possible suggest content defined in options.")})},Ars=(t,e,r)=>{let n=r===Vlt.v2?rgi:tgi,i={parentPage:lo(t).describe("Parent page is id/name of parent page. First try to extract parent page from user input, if not possible suggest content defined in options"),pageNavigation:Xh(e.map(s=>s.name)),pageType:n.describe("Type of page to be created. First try to extract page type from user input, if not possible suggest content defined in options.")};r===Vlt.v4&&(i.pageViewName=Ar().regex(GPt).optional().describe('Required if pageType is "CustomPage". Name of custom view file. First try to extract view name from user input that satisfies the pattern, if not possible ask user to provide view name'));let a=Hn(i);return r===Vlt.v4&&(a=a.refine(s=>!(s.pageType===Flt.CustomPage&&!s.pageViewName),{path:["pageViewName"],message:"A pageViewName must be provided when using PageTypeV4.CustomPage"})),a};function xVt(t,e=[],r=Vlt.v4){let n=Object.keys(t);return n.length?Eu(n.map(i=>Ars(i,t[i],r))):Ors(e,r)}function wVt(t=[]){let e=t.map(r=>r.pageId);return Hn({pageId:Xh(e).describe("Page id to be deleted. First try to extract page id from user input, if not possible suggest content defined in options")})}var ngi=br(Pne(),1);var{PageTypeV4:Crs}=ngi.default,jlt={functionalityId:dle,name:"Add new page to application by updating manifest.json",description:"Create new fiori elements page like ListReport, ObjectPage, CustomPage",parameters:Jy(xVt({}))};async function Prs(t){let{appPath:e}=t,r=await XM(e);if(!r?.applicationAccess)return{...jlt,parameters:{},name:"Invalid Project Root or Application Path",description:`To add a new page, provide a valid project root or application path. "${e}" is not valid`};let{appId:n,applicationAccess:i}=r,s=await new ib(i).readAppData(),c=await Hje(i),u=await new qfe({params:t,applicationAccess:i,serviceName:c,appId:n,appData:s}).getCreationNavigationOptions();return{...jlt,parameters:Jy(xVt(u.navigations,u.entities,$lt(s.config)))}}async function xrs(t){let{appPath:e,parameters:r}=t,n=await XM(e);if(!n?.applicationAccess)return{functionalityId:dle,status:"Failed",message:`Project root not found for app path: ${e}`,parameters:[],appPath:e,changes:[],timestamp:new Date().toISOString()};let{appId:i,applicationAccess:a}=n,c=await new ib(a).readAppData(),l=await Hje(a),u=new qfe({params:t,applicationAccess:a,serviceName:l,appId:i,appData:c}),p=await u.getCreationNavigationOptions(),d=xVt(p.navigations,p.entities,$lt(c.config)),f=h7(d,r),h=f.pageType??Crs.ObjectPage,m="parentPage"in f?f.parentPage:void 0,g="entitySet"in f?f.entitySet?.toString():void 0,y="pageNavigation"in f?f.pageNavigation.toString():void 0,v="pageViewName"in f&&f.pageViewName&&typeof f.pageViewName=="string"?f.pageViewName:"";return u.createPage({pageType:h,parent:m,navigation:y,entitySet:g,viewName:v})}var q1r={getFunctionalityDetails:Prs,executeFunctionality:xrs};var NVt={functionalityId:Tre,name:"Delete page from application by updating manifest.json",description:"Remove existing fiori elements page from the application",parameters:Jy(wVt())};async function wrs(t){let{appPath:e}=t,r=await XM(e);if(!r?.applicationAccess)return{functionalityId:Tre,name:"Invalid Project Root or Application Path",description:`To delete a page, provide a valid project root or application path. "${e}" is not valid`,parameters:{}};let{appId:n,applicationAccess:i}=r,s=await new ib(i).readAppData(),c=await Hje(i),l=new qfe({params:t,applicationAccess:i,serviceName:c,appId:n,appData:s});return{...NVt,parameters:Jy(wVt(l.getPages()))}}async function Nrs(t){let{appPath:e,parameters:r}=t,n=await XM(e);if(!n?.applicationAccess)return{functionalityId:Tre,status:"Failed",message:`Project root not found for app path: ${e}`,parameters:[],appPath:e,changes:[],timestamp:new Date().toISOString()};let{appId:i,applicationAccess:a}=n,c=await new ib(a).readAppData(),l=await Hje(a),u=new qfe({params:t,applicationAccess:a,serviceName:l,appId:i,appData:c}),p=wVt(u.getPages()),d=h7(p,r);return u.deletePage({pageId:d.pageId})}var G1r={getFunctionalityDetails:wrs,executeFunctionality:Nrs};var igi=br(Pne(),1);import{join as Rrs}from"node:path";var DVt=Hn({pageType:Xh(["ListReport","ObjectPage"]).describe("Type of page").default("ListReport"),controllerName:Ar().regex(GPt).describe("Name of new controller extension file")});async function H1r(t){let e=[];if(t){let r=await t.readAppData();e=Object.keys(r.config.pages??{})}return e.length>0?DVt.extend({pageId:Xh(e).optional().describe("If controller extension should be assigned for specific page, then pageId should be provided")}):DVt}var{CustomExtensionType:Drs,DirName:Irs}=igi.default,z1r={functionalityId:qPt,name:"Add new controller extension by creating javascript or typescript file and updates manifest.json with entry",description:"Add new controller extension by creating javascript or typescript file and updates manifest.json with entry. Controller extensions allow users to extensiate default behaviour with custom controllers code.",parameters:Jy(DVt)};async function Lrs(t){let e=await XM(t.appPath);if(!e?.applicationAccess)throw new Error("Invalid Project Root or Application Path");let r=new ib(e.applicationAccess);return{...z1r,parameters:Jy(await H1r(r))}}async function Mrs(t){let{parameters:e,appPath:r}=t,n=await XM(r),i=[];if(n?.applicationAccess){let{appId:a,root:s}=n,c=new ib(n.applicationAccess),l=await H1r(c),u=h7(l,e),{pageId:p,controllerName:d,pageType:f}=u,h=await krs(c,f,p);if(h&&typeof h=="string"){let m={pageId:typeof p=="string"?p:void 0,pageType:h};i=await c.writeFPM({customExtension:Drs.ControllerExtension,basePath:Rrs(s,a),data:{extension:m,folder:RAt(Irs.Controller),name:d}})}}return{functionalityId:t.functionalityId,status:i.length?"success":"skipped",message:i.length?"Controller extension is created":"Controller extension is not created",parameters:e,appPath:r,changes:i,timestamp:new Date().toISOString()}}async function krs(t,e,r){if(r&&typeof r=="string"&&(e=(await t.readAppData()).config.pages?.[r]?.pageType),e&&typeof e=="string")return e}var ogi={getFunctionalityDetails:Lrs,executeFunctionality:Mrs};var agi=[jlt,NVt,z1r],IVt=new Map([[dle,q1r],[Tre,G1r],[qPt,ogi]]);async function K1r(t){let{appPath:e}=t,r=[];try{for(let a of agi)r.push({functionalityId:a.functionalityId,description:a.description});let n=await XM(e),i=n?.applicationAccess?.project.apps??{};if(n?.applicationAccess&&Object.keys(i).length){let{applicationAccess:a}=n,c=await new ib(a).getApplicationModel();if(c){r=r.concat(await $rs(a,c));let l=Object.keys(c?.pages??{});for(let u of l)r=r.concat(await Frs(a,c,u))}}}catch(n){return`Error while trying to list functionalities: ${n.message}`}return{applicationPath:e,functionalities:r}}async function $rs(t,e){let i=(await new xne(t,e).getPageTree()).children.find(a=>a.path[a.path.length-1]==="settings");return i?(i.properties=i.properties.filter(a=>!["minVersion","lazy","dependencies"].includes(a.name)),Y1r(i)):[]}async function Frs(t,e,r){let i=await new xne(t,e,r).getPageTree();return Y1r(i,void 0,r)}function Y1r(t,e=[],r){let n=[];if(t.properties)for(let i of t.properties){let a=cgi(i,r);if(n.push(a),i.properties){let s=sgi(i.properties);n.push(...s)}}if(t.children)for(let i of t.children){let a=Y1r(i,[...e,...t.path.map(String)],r);n.push(...a)}return n}function sgi(t,e){let r=[];for(let n of t){let i=cgi(n,e);if(r.push(i),n.properties){let a=sgi(n.properties);r.push(...a)}}return r}function cgi(t,e){let r=[];return e&&r.push(e),r.push(...t.schemaPath),{functionalityId:r,description:t.description||t.displayName||t.name||"No description available"}}async function Ult(t){let{appPath:e,functionalityId:r}=t;if(!e)throw new Error("appPath parameter is required");if(!r)throw new Error("functionalityId parameter is required");let n=typeof r=="string"?IVt.get(r):void 0;if(n)return n.getFunctionalityDetails(t);let{pageName:i,propertyPath:a}=W1r(r),s=await jrs(e,i),c=s?Vrs(r,s,a):void 0;if(!c)throw new Error("functionalityId was not resolved");return i&&(c.pageName=i),c}function Vrs(t,e,r){let{property:n,node:i}=R$t([e],r)??{},a=e?.schema??{},s,c="";return n?(s=n.schema,c=n.name):i&&(s=i.schema,c=i.path.at(-1)?.toString()),s&&c!==void 0?{functionalityId:t,name:"Change property",description:"Change a property. To reset, remove, or restore it to its default value, set the value to null. If the property's description does not specify how to disable the related feature, setting it to null is typically the appropriate way to disable or clear it.",parameters:H_n(c,f7(s,a))}:void 0}async function jrs(t,e){let r=await XM(t);if(r?.applicationAccess){let i=await new ib(r?.applicationAccess).getApplicationModel();if(i)return new xne(r.applicationAccess,i,e).getPageTree()}}function W1r(t){let e;try{e=typeof t=="string"?JSON.parse(t):[...t]}catch(n){throw new Error(`Invalid format of functionalityId parameter, error: ${n}`)}let r;return e[0]!=="settings"&&(r=e.shift()?.toString()),{pageName:r,propertyPath:e}}async function X1r(t){let{functionalityId:e,parameters:r,appPath:n}=t;if(!e)throw new Error("functionalityId parameter is required");if(!n)throw new Error("appPath parameter is required");let i=typeof e=="string"?IVt.get(e):void 0;if(i)return i.executeFunctionality(t);let a=await Ult({appPath:n,functionalityId:e}),c=("required"in a.parameters&&Array.isArray(a.parameters.required)?a.parameters.required:[]).filter(p=>!(p in r));if(c.length>0)throw new Error(`Missing required parameters: ${c.join(", ")}`);let l=await Urs(a,e,r,n,a.pageName),u;return l.length?u={functionalityId:e,status:"success",message:`Successfully executed '${a.name}'`,parameters:r,appPath:n,changes:l,timestamp:new Date().toISOString()}:u={functionalityId:e,status:"skipped",message:`Execution of '${a.name}' did not trigger any change in files`,parameters:r,appPath:n,changes:l,timestamp:new Date().toISOString()},u}async function Urs(t,e,r,n,i){let a=[],s=await Brs(n,i);if(!s)return[];let{propertyPath:c}=W1r(e),l=Grs(t,c[c.length-1]),u=await s.changeProperty(c,qrs(c,r,l));return(u?.manifestChangeIndicator!=="NoChange"||!u?.flexChanges?.length)&&a.push("Modified webapp/manifest.json"),u?.flexChanges&&a.push(...u.flexChanges.map(p=>`Modified ${p}`)),a}async function Brs(t,e){let r=await XM(t);if(r?.applicationAccess)return new xne(r.applicationAccess,void 0,e)}function qrs(t,e,r){let n=t[t.length-1];if(r?.type==="object"){let a=e;return n in e&&(a=e[n]),(a===null||typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length===0)&&(a=void 0),a}let i;return n in e?i=e[n]:"value"in e&&(i=e.value),i===null&&(i=void 0),i}function Grs(t,e){let{parameters:r}=t;if(e&&"properties"in r&&r.properties?.[e])return r.properties[e]}function PK(t){return typeof t=="object"&&t!==null&&"isAxiosError"in t}var jJ=class extends Error{static containsError(e){return!!e?.error}constructor(e){let r=e.error;super(`${r.message} (${r.code})`),this.name=this.constructor.name}};var lgi=br(KD(),1),Wne;(function(t){t.v2="2",t.v4="4"})(Wne||(Wne={}));function Hrs(t=!1){let e=this.data?JSON.parse(this.data):{};return e.d?e.d.results?e.d.results:e.d:!t&&e["@odata.context"]&&e.value?e.value:e}var Kfe=class extends lgi.Axios{log;doc;metadataDoc;async document(){if(!this.doc){let r=(await this.get("/")).odata();r.EntitySets?this.doc=r:this.doc={EntitySets:r.map(n=>n.name)}}return this.doc}async metadata(){if(!this.metadataDoc){let e=await this.get("/$metadata",{headers:{Accept:"application/xml"}});this.metadataDoc=e.data}return this.metadataDoc}async get(e,r={},n=!1){r.params instanceof URLSearchParams&&!r.params.has("$format")&&!r.headers?.Accept?(r.params.set("$format","json"),r.headers=r.headers??{},r.headers.Accept="application/json"):r.params?.$format===void 0&&!r.headers?.Accept&&(r.params=r.params??{},r.params.$format="json",r.headers=r.headers??{},r.headers.Accept="application/json");let i=await super.get(e,r),a=i.headers["content-type"]??i.headers["Content-Type"];return i.data&&(typeof a=="string"&&a.includes("application/json")||r.params?.$format==="json")&&(i.odata=Hrs.bind(i,n)),i}};var Ayi=br(KD(),1);var hns=br(iNr(),1);var sNr=br(KD(),1),Agi=br(Ogi(),1),BJ;(function(t){t.RequestHeaderName="X-Csrf-Token",t.RequestHeaderValue="Fetch",t.ResponseHeaderName="x-csrf-token"})(BJ||(BJ={}));var Cgi=60*1e3,FVt=class{cookies={};setCookies(e){return e.headers?.["set-cookie"]&&e.headers["set-cookie"].forEach(r=>this.addCookie(r)),this}addCookie(e){let r=e.split(";"),[n,...i]=r[0]?.split("=")||[],a=i?.join("=");return n&&e.indexOf("Max-Age=0")>=0?delete this.cookies[n]:n&&a&&(this.cookies[n]=a),this}toString(){let e=[];return Object.keys(this.cookies).forEach(r=>{e.push(`${r}=${this.cookies[r]}`)}),e.join("; ")}};function cns(t){return t?.status===200&&Pgi(t)&&typeof t.data=="string"&&!!t.data.match(/saml/i)}function lns(t){if(t?.status===200&&(t.headers["sap-err-id"]==="ICFLOGONREQUIRED"||uns(t))){let e=new Error;throw e.response={status:401},e.isAxiosError=!0,e.toJSON=()=>({status:401}),e}}function Pgi(t){let e=t.headers["content-type"];return pns(typeof e=="string"?e:void 0,t.data).startsWith("text/html")}function uns(t){return Pgi(t)&&typeof t.data=="string"&&!!t.data.match(/log[io]n/i)}function pns(t,e){return t?t.toLowerCase():typeof e=="string"?(0,Agi.default)(Buffer.from(e))?.toLowerCase()??"":""}function xgi(t){let e=t.interceptors.request.use(n=>(n.headers=n.headers??new sNr.AxiosHeaders,n.headers[BJ.RequestHeaderName]=BJ.RequestHeaderValue,n)),r=t.interceptors.response.use(n=>cns(n)&&t.defaults.params?.saml2!=="disabled"?(t.defaults.params=t.defaults.params??{},t.defaults.params.saml2="disabled",t.request(n.config)):(lns(n),n.headers?.[BJ.ResponseHeaderName]&&(t.defaults.headers.common[BJ.RequestHeaderName]=n.headers[BJ.ResponseHeaderName],t.interceptors.request.eject(e)),t.interceptors.response.eject(r),n),n=>{throw n.response&&(n.response.headers?.[BJ.ResponseHeaderName]&&(t.defaults.headers.common[BJ.RequestHeaderName]=n.response.headers[BJ.ResponseHeaderName],t.interceptors.request.eject(e)),t.cookies.setCookies(n.response)),n});t.interceptors.request.use(n=>(n.headers=n.headers??new sNr.AxiosHeaders,n.headers.cookie=t.cookies.toString(),n)),t.interceptors.response.use(n=>(t.cookies.setCookies(n),n))}var Ngi=br(KD(),1);import{URL as wgi}from"node:url";function Dgi(t,e,r,n=!1){t?(t=t.toLowerCase(),t==="success"?r.info(e):(t==="warning"&&(t="warn"),r[t](e))):r[n?"error":"info"](e)}function cNr({msg:t,log:e,host:r,isDest:n=!1}){try{let i=JSON.parse(t);e.info(i.message),Igi({host:r,path:i.longtext_url,log:e,isDest:n}),i.details&&i.details.forEach(a=>{Dgi(a.severity,a.message,e)})}catch{e.debug(t)}}function Igi({host:t,path:e,log:r,isDest:n=!1}){if(t&&e){let i=new wgi(t).origin;r.info("Please copy/paste this URL in a browser for more details:"),n&&r.info("(Note: You will need to replace the host in the URL with the internal host, if your destination is configured using an On-Premise SAP Cloud Connector)"),r.info(new wgi(e,i).href)}}function lNr({error:t,log:e,host:r,isDest:n},i=!0){if(t&&(i&&e.error(t.message?.value||"An unknown error occurred."),(t.innererror?.errordetails||[]).forEach(a=>{a.message.startsWith("<![CDATA")||Dgi(a.severity,a.message,e,!0),Igi({host:r,path:a.longtext_url,log:e,isDest:n})}),i&&t.innererror?.Error_Resolution))for(let a in t.innererror.Error_Resolution)e.error(`${a}: ${t.innererror.Error_Resolution[a]}`)}function Blt({error:t,host:e,log:r,isDest:n}){if(r.error(t.message),(0,Ngi.isAxiosError)(t)&&t.response?.data){let i=uNr(t.response?.data);i?lNr({error:i,log:r,host:e,isDest:n}):r.error(t.response.data.toString())}}function uNr(t){let e;if(typeof t=="string")try{let r=JSON.parse(t);r.error&&(e=r.error)}catch{}return e}var Yis=br(iNr(),1);function Oyi(t){let e=t.interceptors.response.use(r=>(delete t.defaults.auth,t.interceptors.response.eject(e),r))}var a2e=class extends Ayi.Axios{_log=new FD;cookies=new FVt;services={};constructor(e){super(e),e?.logger&&(this._log=e.logger)}set log(e){this._log=e}get log(){return this._log}service(e){return this.services[e]||(this.services[e]=this.createService(e,Kfe)),this.services[e]}generateServiceConfig(e){let r=Object.assign({},this.defaults),n=Object.assign(this.defaults.headers?.common??{},{Cookie:this.cookies.toString()});return{...r,baseURL:this.defaults.baseURL+e,headers:n}}createService(e,r){let n=new r({...this.generateServiceConfig(e),publicUrl:this.publicUrl});return n.log=this.log,n.interceptors=this.interceptors,n}get publicUrl(){return this.defaults.baseURL}};import Pyi from"node:tls";var Cyi=`
|
|
4173
|
+
${JSON.stringify(this.changes,void 0,2)}`);let n=this.convertChanges(this.changes),i=await this.adapter.getWorkspaceEdit(n),a=i.changes??{},s=Object.keys(a),c=new Map(this.fileCache);for(let l of s){let u=Ine(l),p=this.fs.read(u)??"",d=drs(l,"",i,p);this.fileCache.set(l,d),r[u]=d}if(this.changes=[],typeof this.adapter.validateChanges=="function"){let l=await this.adapter.validateChanges(this.fileCache);if(l?.size){this.fileCache=new Map(c);let u=mrs(l);throw new xu(prs,kf.CompileError,u)}else for(let u of Object.keys(r)){let p=r[u];this.saveFile(u,p)}}else e?.resyncAfterSave&&await this.adapter.sync(this.fileCache);return this.options.commitOnSave&&await this.commit(),this.changes=[],this.fileMergeMaps={},{files:s.length}}serializeTarget(e,r){let i=this.adapter.compiledService.annotationFiles.find(c=>c.uri===r),a=null,s=[];return i&&(s=wB(i.namespace,i.references)),a=xB(s,this.getMetadataService().getNamespaces()),i||(a=Yne(a,this.vocabularyAPI.getVocabularies())),this.adapter.serializeTarget(bPr(e,a))}convertChanges(e){let r=this.adapter.compiledService,n;this.adapter.splitAnnotationSupport&&Object.keys(this.fileMergeMaps).length===0&&(n=this.getSchema());let i=()=>n||(n=this.getSchema(),n);return this.changeConverter.convert(r,this.fileMergeMaps,i,e)}saveFile(e,r){this.fs.write(e,r)}async commit(){await new Promise((e,r)=>{this.fs.commit(n=>{n instanceof Error?r(n):typeof n=="string"?r(new Error(n)):n&&r(new Error("Unknown error.")),e()})})}};function drs(t,e,r,n){let i=eE.create(t,e,0,n),a=r.changes?r.changes[t]??[]:[];return eE.applyEdits(i,a)}function Kmi(t,e,r,n,i){let a={};for(let s of[...t.annotationFiles]){let c={};a[s.uri]=c;let l=yPr(s,r,{addOrigins:!0,vocabularyService:n.vocabulary,mergeSplitAnnotations:i,mergeMap:c});e.schema.annotations[s.uri]=l}return a}async function frs(t,e,r,n,i){if(t.projectType==="EDMXBackend")return Gxr(t,e,r);if(t.projectType==="CAPJava"||t.projectType==="CAPNodejs"){let a=new Map;if(n)for(let[s,c]of Object.entries(n.dump())){let l=lrs(crs(process.cwd(),s)).toString();a.set(l,c.contents)}return vhi(t.root,e,a,i)}else throw new Error(`Unsupported project type "${t.projectType}"!`)}function hrs(t,e,r,n,i,a){if(e.type==="local-edmx")return new TUe(e,r,t,n);if(e.type==="cap-cds")return new Mlt(e,t,r,n,i,a);throw new Error(`Unsupported service type "${e.type}"!`)}function mrs(t){let e=new Map;return[...t.entries()].forEach(r=>{let[n,i]=r;if(i.hasSyntaxErrors&&!n.startsWith("../")){let a=i.messages.filter(s=>s.severity===W_.Error).map(s=>s.message);e.set(n,a)}}),e}UT();var QUe=br(VUe(),1);import{pathToFileURL as $1r}from"node:url";function CVt(t){return t.replaceAll("\\","/").replaceAll("//","/").replaceAll(/(?:^\/)/g,"")}var F1r=class{static serviceInfoCache=new Map;static serviceArtifactCache=new Map;static cdsCache=new Map;static vocabularyService=new U6(!0);static getCdsServiceArtifacts(e,r,n){let i=this.serviceArtifactCache.get(e);if(i){let _=i[r];if(_)return _}let a=this.getFacade(e,n,!1),c=(this.serviceInfoCache.get(e)??[]).find(_=>CVt(_.urlPath)===CVt(r));if(!c)return;let l=c.name,u={},p=a.getMetadata(l),d=(0,QUe.createMetadataCollector)(new Map,a),{propagationMap:f}=a.getPropagatedTargetMap(l);for(let _ of a.getAllSourceUris()){let b=$1r(_).toString(),O=PCe(a.blitzIndex.forUri(b),b,this.vocabularyService,a),C=wCe(b,this.vocabularyService,O,d,void 0,f,!0).file;u[b]=C}let h=(0,QUe.getMetadataElementsFromMap)(p),m=new LJ({uriMap:a?.getUriMap()||new Map});m.import(h,"DummyMetadataFileUri");let g=grs(m,vFt,u),y=CVt(c.urlPath),v={path:y,metadataService:m,annotationFiles:u,aliasInfo:g,fileSequence:a.getFileSequence().map(_=>$1r(_).toString())};return i={},i[y]=v,this.serviceArtifactCache.set(e,i),v}static resetCache(e,r){this.serviceArtifactCache.delete(e),this.getFacade(e,r,!0)}static getFacade(e,r,n=!1){let i=this.cdsCache.get(e);if(i&&n===!1)return i;let a=new Proxy({},{get(l,u){let p=l[u];if(p!==void 0)return p;let d=$1r(u).toString(),f=r.get(d);return l[u]=f,f}}),s=(0,QUe.createCdsCompilerFacadeForRootSync)(e,[],a),c=nLe(s.getServiceInfo());return this.serviceInfoCache.set(e,c),this.cdsCache.set(e,s),s}};function grs(t,e,r){let n={};for(let[i,a]of Object.entries(r)){let s=wB(a.namespace??{name:"",type:"namespace"},a.references),c=xB(s,t.getNamespaces()),l=Yne(c,e.getVocabularies());n[i]=l}return n}UT();var Xmi=br(ARt(),1),PVt=class{constructor(e){this.options=e}metadataService;annotationService;nodes=[];nodesMap=new Map;namespace="";async loadMetadata(e=!1){if(!e&&this.metadataService)return;let{project:r,serviceName:n,appName:i}=this.options,a=await d7(r.root);this.annotationService=await klt.createService(a,n,i),await this.annotationService.sync(),this.metadataService=this.annotationService.getMetadataService(),this.namespace=[...this.metadataService.getNamespaces()][0],this.metadataService.visitMetadataElements(this.visitMdElement.bind(this))}visitMdElement(e){let{path:r,name:n}=e,i=this.metadataService?.getEdmTargetKinds(r)[0]||"",a={path:r,name:n,mdElement:e,kind:i};this.nodes?.push(a),this.nodesMap.set(r,a)}async getNamespace(){return await this.loadMetadata(),this.namespace}async getAllowedEntities(e=!1){if(await this.loadMetadata(e),!this.annotationService)return[];let r=[],n=this.annotationService.getSchema(),i=(0,Xmi.convert)(n);for(let a of i.entitySets)r.push({entitySet:a.name,entityType:a.entityType.name,navigations:a.entityType.navigationProperties.filter(s=>s.isCollection).map(s=>{let c=s.targetType,l=i.entitySets.find(u=>u.entityTypeName===c.name);return{name:s.name,fullyQualifiedName:s.fullyQualifiedName,entitySet:l?.name??c.name}})});return r}async getAllowedNavigations(e,r,n=!1){return(await this.getAllowedEntities(n)).find(a=>a.entitySet===e||a.entityType===r)?.navigations??[]}};var V1r=new Map;function vrs(t){return yrs(t.project.root,t.appName,t.serviceName)}async function j1r(t){let e=vrs(t);V1r.has(e)||V1r.set(e,new PVt(t));let r=V1r.get(e);if(!r)throw new Error(`No service: '${e}'`);return r}var Jmi=br(Pne(),1),{FioriElementsVersion:Qmi,PageTypeV4:jfe}=Jmi.default,_rs=new Map([[jfe.ListReport,"List"],[jfe.ObjectPage,jfe.ObjectPage],[jfe.CustomPage,"Page"],[jfe.FPMCustomPage,"Page"],[jfe.AnalyticalListPage,"ALP"]]);function Ers(t,e,r){let n="",i=[];if(t.pageType===jfe.CustomPage||t.pageType===jfe.FPMCustomPage){let s=(t.viewName??"").split(".");n=s[s.length-1]}else n=t.contextPath?t.contextPath.slice(1).replace(/\//g,"_"):t.entitySet;return i=[n],e&&r&&(!t.contextPath||t.contextPath.indexOf(r)===-1)&&i.push(r),i[i.length-1]+=_rs.get(t.pageType),i}function Trs(t){let e=[];return e.push(t.pageType),t.entitySet&&e.push(t.entitySet),e}function U1r(t,e,r,n,i){let a=[];n===Qmi.v2?a=Trs(t):a=Ers(t,e,i);let s=a.join("_"),c=r.map(u=>u.pageId),l=0;for(;c.indexOf(s)>-1;)s+=l.toString(),l++;return s}function $lt(t){return t.target?.fioriElements??Qmi.v4}UT();import{join as Srs}from"node:path";var{CustomExtensionType:B1r,PageTypeV4:$Ce,FioriElementsVersion:brs}=Zmi.default,qfe=class{serviceName;appData;appId;applicationAccess;params;version;constructor({params:e,applicationAccess:r,appId:n,serviceName:i,appData:a}){this.params=e,this.serviceName=i,this.appData=a,this.appId=n,this.applicationAccess=r,this.version=$lt(a.config)}getAllowedNavigationsOutput(e){return e.map(r=>r.name).join(", ")}getMissingNavigationMessage(e,r,n){let i="";switch(e){case 1:{i="page does not have valid navigation for add";break}case 2:{i=`provided 'navigation' was not found. ${n} has following navigations available: ${this.getAllowedNavigationsOutput(r)}`;break}case 3:{i="provide 'entitySet' for very first page";break}case 4:{i=`provided 'entitySet' was not found. Following entitySets available: ${this.getAllowedNavigationsOutput(r)}`;break}}return i}calculateContextPath(e,r,n){let i;return!e||e.pageType===$Ce.ListReport?i=`/${n}`:e.contextPath?i=r&&e.routePattern!==":?query:"?`${e.contextPath}/${r}`:`/${n}`:e.entitySet&&(i=this.calculateContextPathBasedOnEntitySet(e,r)),i}calculateContextPathBasedOnEntitySet(e,r){let n,a=e.routePattern?.replace(":?query:","").replace(/\({[^}]*}\)/g,"");return a?n=r&&r!==""?`/${a}/${r}`:`/${a}`:n=r&&r!==""?`/${e.entitySet}/${r}`:`/${e.entitySet}`,n}createErrorResponse(e){return{functionalityId:dle,status:"Failed",message:e,parameters:[],appPath:this.params.appPath,changes:[],timestamp:new Date().toISOString()}}async validatePageCreationInput(e,r,n){if(r.length&&!e.parent)return this.createErrorResponse('Provide "parentPage" for page creation');if(e.pageType===$Ce.CustomPage){let i=this.validateCustomPageViewName(n);if(i)return i}return null}validateCustomPageViewName(e){let r=".view.xml",n=e?.endsWith(r)?e.slice(0,-r.length):e;return n?/^[a-z][a-z0-9_-]*$/i.exec(n)?null:this.createErrorResponse("'viewName' must not contain spaces, must start with an upper-case letter, and may contain letters, digits, and underscores."):this.createErrorResponse('Provide "viewName" for CustomPage')}async validateNavigationInput(e,r,n,i=[]){if(i.length&&!e)return this.createErrorResponse('provided "parentPage" was not found');let a=await this.getAllowedNavigations(e);if(e&&!a.length){let c=this.getMissingNavigationMessage(1,a);return this.createErrorResponse(c)}let s=this.findTargetNavigation(a,r,n);if(e&&!s){let c=this.getMissingNavigationMessage(2,a,e.pageId);return this.createErrorResponse(c)}if(!e&&!n){let c=this.getMissingNavigationMessage(3,a);return this.createErrorResponse(c)}if(!e&&!s){let c=this.getMissingNavigationMessage(4,a);return this.createErrorResponse(c)}return null}findTargetNavigation(e,r,n){return e.find(i=>{let a=i.name.toLocaleLowerCase();return a===r?.toLocaleLowerCase()||a===n?.toLocaleLowerCase()})}async generatePageV4(e,r,n,i,a,s){let c=r?{sourceEntity:r.entitySet,sourcePage:r.pageId,navEntity:n?.name,navKey:!0}:void 0,l=this.calculateContextPath(r,n?.name,n?.entitySet??s),u=U1r({entitySet:n?.entitySet??s??"",pageId:"",pageType:e.pageType,contextPath:l,viewName:a},r?.pageId,i,this.version,n?.name),p={id:u,entity:n?.entitySet??s??"",navigation:c,contextPath:l,name:e.pageType===$Ce.CustomPage?a:void 0},d=await this.writeFPM(e.pageType,p,a);return{pageID:u,changes:d}}async generatePageV2(e,r,n,i,a,s){let c=this.appData.config;c.pages||(c.pages={});let l=U1r({entitySet:n?.entitySet??s??"",pageId:"",pageType:e.pageType,contextPath:"",viewName:a},r?.pageId,i,this.version,n?.name);c.pages[l]={pageType:e.pageType,entitySet:n?.entitySet??s,navigationProperty:n?.name,navigation:{}};let u=r?c.pages[r.pageId]:void 0;if(u){u.navigation||(u.navigation={});let d=u.entitySet??"";u.navigation[l]=n?.name?`${d}.${n.name}`:d}return await new ib(this.applicationAccess).writeApp(this.appData),{pageID:l,changes:[this.applicationAccess.app.manifest]}}async writeFPM(e,r,n){let i=new ib(this.applicationAccess),a=B1r.ListReport;e===$Ce.ObjectPage&&(a=B1r.ObjectPage),e===$Ce.CustomPage&&n&&(a=B1r.CustomPage);let s=RAt(h_.View);return i.writeFPM({customExtension:a,basePath:Srs(this.applicationAccess.project.root,this.appId),data:{...r,folder:s}})}deleteNavigationLinks(e,r){if(e){for(let n in e)if(this.findPageByNavigation(e,n)===r){delete e[n];break}}}findPageByNavigation(e,r){let n=e?.[r];return typeof n=="string"?r:n?.route}deletePageRecursively(e,r){if(!r)return;let{pages:n}=e,i=e.settings??{};if(n?.[r]){let a=n?.[r];delete n[r];let s=`${a.pageType}#${r}`;if(i.controllerExtensions?.[s]&&delete i.controllerExtensions[s],a.navigation)for(let c in a.navigation){let l=this.findPageByNavigation(a.navigation,c);this.deletePageRecursively(e,l)}}}getPages(){let{config:e}=this.appData,{pages:r={}}=e,n=[];for(let i in r){let a=r[i];n.push({pageId:i,pageType:a.pageType??$Ce.ListReport,entitySet:a.entitySet??"",contextPath:a.contextPath,routePattern:"routePattern"in a&&typeof a.routePattern=="string"?a.routePattern:void 0})}return n}async getAllowedNavigations(e,r=!1){return!e||e?.pageType==="ListReport"?this.getRootPageNavigationOptions(r):(await(await j1r({appName:this.appId,project:this.applicationAccess.project,serviceName:this.serviceName})).getAllowedNavigations(e?.entitySet,e?.entitySet,r)).map(i=>({...i,isNavigation:!0}))}async getRootPageNavigationOptions(e=!1){return(await(await j1r({appName:this.appId,project:this.applicationAccess.project,serviceName:this.serviceName})).getAllowedEntities(e)).map(i=>({entitySet:i.entitySet,name:i.entitySet}))}async getCreationNavigationOptions(){let e={navigations:{}},r=this.getPages();if(r.length){let n=!0;for(let i of r)e.navigations[i.pageId]=await this.getAllowedNavigations(i,n),n=!1}else e.entities=await this.getAllowedNavigations();return e}async createPage(e){let{parent:r,navigation:n,pageType:i,entitySet:a}=e,s=e.pageType===$Ce.CustomPage?e.viewName:void 0,c=this.getPages(),l=await this.validatePageCreationInput(e,c,s);if(l)return l;let u=c.find(y=>y.pageId===r),p=await this.validateNavigationInput(u,n,a,c);if(p)return p;let d=await this.getAllowedNavigations(u),f=this.findTargetNavigation(d,n,a),h=this.version===brs.v2?this.generatePageV2:this.generatePageV4,{pageID:m,changes:g}=await h.call(this,e,u,f,c,s,a);return{functionalityId:dle,status:g.length?"success":"skipped",message:g.length?`Page with id '${m}' of type '${i}' was created successfully in application '${this.appId}'`:`No changes were made for '${i}'`,parameters:[],appPath:this.params.appPath,changes:g,timestamp:new Date().toISOString()}}async deletePage(e){let{pageId:r}=e,n=structuredClone(this.appData),{config:i}=n,a=!1,{pages:s={}}=i;if(s?.[r]){for(let c in s)s[c].navigation&&this.deleteNavigationLinks(s[c].navigation,r);this.deletePageRecursively(i,r),a=!0}return Object.keys(s).length===0&&delete i.home,a?(await new ib(this.applicationAccess).writeApp(n),{functionalityId:Tre,status:"success",message:`Page with id '${r}' was deleted successfully in application '${this.appId}'`,parameters:[],appPath:this.params.appPath,changes:[],timestamp:new Date().toISOString()}):{functionalityId:Tre,status:"unchanged",message:`Page with id '${r}' was not found in application '${this.appId}'`,parameters:[],appPath:this.params.appPath,changes:[],timestamp:new Date().toISOString()}}};var egi=br(Pne(),1);var{PageTypeV4:Flt,FioriElementsVersion:Vlt}=egi.default,tgi=Xh([Flt.ListReport,Flt.ObjectPage,Flt.CustomPage]),rgi=Xh([Flt.ObjectPage]),Ors=(t,e)=>{let r=e===Vlt.v2?rgi:tgi;return Hn({pageType:r.describe("Type of page to be created. First try to extract page type from user input, if not possible suggest content defined in options."),entitySet:Xh(t.map(n=>n.name)).describe("Entity set for the new page. First try to extract entity from user input, if not possible suggest content defined in options.")})},Ars=(t,e,r)=>{let n=r===Vlt.v2?rgi:tgi,i={parentPage:lo(t).describe("Parent page is id/name of parent page. First try to extract parent page from user input, if not possible suggest content defined in options"),pageNavigation:Xh(e.map(s=>s.name)),pageType:n.describe("Type of page to be created. First try to extract page type from user input, if not possible suggest content defined in options.")};r===Vlt.v4&&(i.pageViewName=Ar().regex(GPt).optional().describe('Required if pageType is "CustomPage". Name of custom view file. First try to extract view name from user input that satisfies the pattern, if not possible ask user to provide view name'));let a=Hn(i);return r===Vlt.v4&&(a=a.refine(s=>!(s.pageType===Flt.CustomPage&&!s.pageViewName),{path:["pageViewName"],message:"A pageViewName must be provided when using PageTypeV4.CustomPage"})),a};function xVt(t,e=[],r=Vlt.v4){let n=Object.keys(t);return n.length?Eu(n.map(i=>Ars(i,t[i],r))):Ors(e,r)}function wVt(t=[]){let e=t.map(r=>r.pageId);return Hn({pageId:Xh(e).describe("Page id to be deleted. First try to extract page id from user input, if not possible suggest content defined in options")})}var ngi=br(Pne(),1);var{PageTypeV4:Crs}=ngi.default,jlt={functionalityId:dle,name:"Add new page to application by updating manifest.json",description:"Create new fiori elements page like ListReport, ObjectPage, CustomPage",parameters:Jy(xVt({}))};async function Prs(t){let{appPath:e}=t,r=await XM(e);if(!r?.applicationAccess)return{...jlt,parameters:{},name:"Invalid Project Root or Application Path",description:`To add a new page, provide a valid project root or application path. "${e}" is not valid`};let{appId:n,applicationAccess:i}=r,s=await new ib(i).readAppData(),c=await Hje(i),u=await new qfe({params:t,applicationAccess:i,serviceName:c,appId:n,appData:s}).getCreationNavigationOptions();return{...jlt,parameters:Jy(xVt(u.navigations,u.entities,$lt(s.config)))}}async function xrs(t){let{appPath:e,parameters:r}=t,n=await XM(e);if(!n?.applicationAccess)return{functionalityId:dle,status:"Failed",message:`Project root not found for app path: ${e}`,parameters:[],appPath:e,changes:[],timestamp:new Date().toISOString()};let{appId:i,applicationAccess:a}=n,c=await new ib(a).readAppData(),l=await Hje(a),u=new qfe({params:t,applicationAccess:a,serviceName:l,appId:i,appData:c}),p=await u.getCreationNavigationOptions(),d=xVt(p.navigations,p.entities,$lt(c.config)),f=h7(d,r),h=f.pageType??Crs.ObjectPage,m="parentPage"in f?f.parentPage:void 0,g="entitySet"in f?f.entitySet?.toString():void 0,y="pageNavigation"in f?f.pageNavigation.toString():void 0,v="pageViewName"in f&&f.pageViewName&&typeof f.pageViewName=="string"?f.pageViewName:"";return u.createPage({pageType:h,parent:m,navigation:y,entitySet:g,viewName:v})}var q1r={getFunctionalityDetails:Prs,executeFunctionality:xrs};var NVt={functionalityId:Tre,name:"Delete page from application by updating manifest.json",description:"Remove existing fiori elements page from the application",parameters:Jy(wVt())};async function wrs(t){let{appPath:e}=t,r=await XM(e);if(!r?.applicationAccess)return{functionalityId:Tre,name:"Invalid Project Root or Application Path",description:`To delete a page, provide a valid project root or application path. "${e}" is not valid`,parameters:{}};let{appId:n,applicationAccess:i}=r,s=await new ib(i).readAppData(),c=await Hje(i),l=new qfe({params:t,applicationAccess:i,serviceName:c,appId:n,appData:s});return{...NVt,parameters:Jy(wVt(l.getPages()))}}async function Nrs(t){let{appPath:e,parameters:r}=t,n=await XM(e);if(!n?.applicationAccess)return{functionalityId:Tre,status:"Failed",message:`Project root not found for app path: ${e}`,parameters:[],appPath:e,changes:[],timestamp:new Date().toISOString()};let{appId:i,applicationAccess:a}=n,c=await new ib(a).readAppData(),l=await Hje(a),u=new qfe({params:t,applicationAccess:a,serviceName:l,appId:i,appData:c}),p=wVt(u.getPages()),d=h7(p,r);return u.deletePage({pageId:d.pageId})}var G1r={getFunctionalityDetails:wrs,executeFunctionality:Nrs};var igi=br(Pne(),1);import{join as Rrs}from"node:path";var DVt=Hn({pageType:Xh(["ListReport","ObjectPage"]).describe("Type of page").default("ListReport"),controllerName:Ar().regex(GPt).describe("Name of new controller extension file")});async function H1r(t){let e=[];if(t){let r=await t.readAppData();e=Object.keys(r.config.pages??{})}return e.length>0?DVt.extend({pageId:Xh(e).optional().describe("If controller extension should be assigned for specific page, then pageId should be provided")}):DVt}var{CustomExtensionType:Drs,DirName:Irs}=igi.default,z1r={functionalityId:qPt,name:"Add new controller extension by creating javascript or typescript file and updates manifest.json with entry",description:"Add new controller extension by creating javascript or typescript file and updates manifest.json with entry. Controller extensions allow users to extensiate default behaviour with custom controllers code.",parameters:Jy(DVt)};async function Lrs(t){let e=await XM(t.appPath);if(!e?.applicationAccess)throw new Error("Invalid Project Root or Application Path");let r=new ib(e.applicationAccess);return{...z1r,parameters:Jy(await H1r(r))}}async function Mrs(t){let{parameters:e,appPath:r}=t,n=await XM(r),i=[];if(n?.applicationAccess){let{appId:a,root:s}=n,c=new ib(n.applicationAccess),l=await H1r(c),u=h7(l,e),{pageId:p,controllerName:d,pageType:f}=u,h=await krs(c,f,p);if(h&&typeof h=="string"){let m={pageId:typeof p=="string"?p:void 0,pageType:h};i=await c.writeFPM({customExtension:Drs.ControllerExtension,basePath:Rrs(s,a),data:{extension:m,folder:RAt(Irs.Controller),name:d}})}}return{functionalityId:t.functionalityId,status:i.length?"success":"skipped",message:i.length?"Controller extension is created":"Controller extension is not created",parameters:e,appPath:r,changes:i,timestamp:new Date().toISOString()}}async function krs(t,e,r){if(r&&typeof r=="string"&&(e=(await t.readAppData()).config.pages?.[r]?.pageType),e&&typeof e=="string")return e}var ogi={getFunctionalityDetails:Lrs,executeFunctionality:Mrs};var agi=[jlt,NVt,z1r],IVt=new Map([[dle,q1r],[Tre,G1r],[qPt,ogi]]);async function K1r(t){let{appPath:e}=t;if(!e?.trim())throw new Error("appPath parameter is required");let r=[];for(let a of agi)r.push({functionalityId:a.functionalityId,description:a.description});let n=await XM(e),i=n?.applicationAccess?.project.apps??{};if(n?.applicationAccess&&Object.keys(i).length){let{applicationAccess:a}=n,c=await new ib(a).getApplicationModel();if(c){r=r.concat(await $rs(a,c));let l=Object.keys(c?.pages??{});for(let u of l)r=r.concat(await Frs(a,c,u))}}return{applicationPath:e,functionalities:r}}async function $rs(t,e){let i=(await new xne(t,e).getPageTree()).children.find(a=>a.path[a.path.length-1]==="settings");return i?(i.properties=i.properties.filter(a=>!["minVersion","lazy","dependencies"].includes(a.name)),Y1r(i)):[]}async function Frs(t,e,r){let i=await new xne(t,e,r).getPageTree();return Y1r(i,void 0,r)}function Y1r(t,e=[],r){let n=[];if(t.properties)for(let i of t.properties){let a=cgi(i,r);if(n.push(a),i.properties){let s=sgi(i.properties);n.push(...s)}}if(t.children)for(let i of t.children){let a=Y1r(i,[...e,...t.path.map(String)],r);n.push(...a)}return n}function sgi(t,e){let r=[];for(let n of t){let i=cgi(n,e);if(r.push(i),n.properties){let a=sgi(n.properties);r.push(...a)}}return r}function cgi(t,e){let r=[];return e&&r.push(e),r.push(...t.schemaPath),{functionalityId:r,description:t.description||t.displayName||t.name||"No description available"}}async function Ult(t){let{appPath:e,functionalityId:r}=t;if(!e)throw new Error("appPath parameter is required");if(!r)throw new Error("functionalityId parameter is required");let n=typeof r=="string"?IVt.get(r):void 0;if(n)return n.getFunctionalityDetails(t);let{pageName:i,propertyPath:a}=W1r(r),s=await jrs(e,i),c=s?Vrs(r,s,a):void 0;if(!c)throw new Error("functionalityId was not resolved");return i&&(c.pageName=i),c}function Vrs(t,e,r){let{property:n,node:i}=R$t([e],r)??{},a=e?.schema??{},s,c="";return n?(s=n.schema,c=n.name):i&&(s=i.schema,c=i.path.at(-1)?.toString()),s&&c!==void 0?{functionalityId:t,name:"Change property",description:"Change a property. To reset, remove, or restore it to its default value, set the value to null. If the property's description does not specify how to disable the related feature, setting it to null is typically the appropriate way to disable or clear it.",parameters:H_n(c,f7(s,a))}:void 0}async function jrs(t,e){let r=await XM(t);if(r?.applicationAccess){let i=await new ib(r?.applicationAccess).getApplicationModel();if(i)return new xne(r.applicationAccess,i,e).getPageTree()}}function W1r(t){let e;try{e=typeof t=="string"?JSON.parse(t):[...t]}catch(n){throw new Error(`Invalid format of functionalityId parameter, error: ${n}`)}let r;return e[0]!=="settings"&&(r=e.shift()?.toString()),{pageName:r,propertyPath:e}}async function X1r(t){let{functionalityId:e,parameters:r,appPath:n}=t;if(!e)throw new Error("functionalityId parameter is required");if(!n?.trim())throw new Error("appPath parameter is required");if(!r)throw new Error("parameters is required");let i=typeof e=="string"?IVt.get(e):void 0;if(i)return i.executeFunctionality(t);let a=await Ult({appPath:n,functionalityId:e}),c=("required"in a.parameters&&Array.isArray(a.parameters.required)?a.parameters.required:[]).filter(p=>!(p in r));if(c.length>0)throw new Error(`Missing required parameters: ${c.join(", ")}`);let l=await Urs(a,e,r,n,a.pageName),u;return l.length?u={functionalityId:e,status:"success",message:`Successfully executed '${a.name}'`,parameters:r,appPath:n,changes:l,timestamp:new Date().toISOString()}:u={functionalityId:e,status:"skipped",message:`Execution of '${a.name}' did not trigger any change in files`,parameters:r,appPath:n,changes:l,timestamp:new Date().toISOString()},u}async function Urs(t,e,r,n,i){let a=[],s=await Brs(n,i);if(!s)return[];let{propertyPath:c}=W1r(e),l=Grs(t,c[c.length-1]),u=await s.changeProperty(c,qrs(c,r,l));return(u?.manifestChangeIndicator!=="NoChange"||!u?.flexChanges?.length)&&a.push("Modified webapp/manifest.json"),u?.flexChanges&&a.push(...u.flexChanges.map(p=>`Modified ${p}`)),a}async function Brs(t,e){let r=await XM(t);if(r?.applicationAccess)return new xne(r.applicationAccess,void 0,e)}function qrs(t,e,r){let n=t[t.length-1];if(r?.type==="object"){let a=e;return n in e&&(a=e[n]),(a===null||typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length===0)&&(a=void 0),a}let i;return n in e?i=e[n]:"value"in e&&(i=e.value),i===null&&(i=void 0),i}function Grs(t,e){let{parameters:r}=t;if(e&&"properties"in r&&r.properties?.[e])return r.properties[e]}function PK(t){return typeof t=="object"&&t!==null&&"isAxiosError"in t}var jJ=class extends Error{static containsError(e){return!!e?.error}constructor(e){let r=e.error;super(`${r.message} (${r.code})`),this.name=this.constructor.name}};var lgi=br(KD(),1),Wne;(function(t){t.v2="2",t.v4="4"})(Wne||(Wne={}));function Hrs(t=!1){let e=this.data?JSON.parse(this.data):{};return e.d?e.d.results?e.d.results:e.d:!t&&e["@odata.context"]&&e.value?e.value:e}var Kfe=class extends lgi.Axios{log;doc;metadataDoc;async document(){if(!this.doc){let r=(await this.get("/")).odata();r.EntitySets?this.doc=r:this.doc={EntitySets:r.map(n=>n.name)}}return this.doc}async metadata(){if(!this.metadataDoc){let e=await this.get("/$metadata",{headers:{Accept:"application/xml"}});this.metadataDoc=e.data}return this.metadataDoc}async get(e,r={},n=!1){r.params instanceof URLSearchParams&&!r.params.has("$format")&&!r.headers?.Accept?(r.params.set("$format","json"),r.headers=r.headers??{},r.headers.Accept="application/json"):r.params?.$format===void 0&&!r.headers?.Accept&&(r.params=r.params??{},r.params.$format="json",r.headers=r.headers??{},r.headers.Accept="application/json");let i=await super.get(e,r),a=i.headers["content-type"]??i.headers["Content-Type"];return i.data&&(typeof a=="string"&&a.includes("application/json")||r.params?.$format==="json")&&(i.odata=Hrs.bind(i,n)),i}};var Ayi=br(KD(),1);var hns=br(iNr(),1);var sNr=br(KD(),1),Agi=br(Ogi(),1),BJ;(function(t){t.RequestHeaderName="X-Csrf-Token",t.RequestHeaderValue="Fetch",t.ResponseHeaderName="x-csrf-token"})(BJ||(BJ={}));var Cgi=60*1e3,FVt=class{cookies={};setCookies(e){return e.headers?.["set-cookie"]&&e.headers["set-cookie"].forEach(r=>this.addCookie(r)),this}addCookie(e){let r=e.split(";"),[n,...i]=r[0]?.split("=")||[],a=i?.join("=");return n&&e.indexOf("Max-Age=0")>=0?delete this.cookies[n]:n&&a&&(this.cookies[n]=a),this}toString(){let e=[];return Object.keys(this.cookies).forEach(r=>{e.push(`${r}=${this.cookies[r]}`)}),e.join("; ")}};function cns(t){return t?.status===200&&Pgi(t)&&typeof t.data=="string"&&!!t.data.match(/saml/i)}function lns(t){if(t?.status===200&&(t.headers["sap-err-id"]==="ICFLOGONREQUIRED"||uns(t))){let e=new Error;throw e.response={status:401},e.isAxiosError=!0,e.toJSON=()=>({status:401}),e}}function Pgi(t){let e=t.headers["content-type"];return pns(typeof e=="string"?e:void 0,t.data).startsWith("text/html")}function uns(t){return Pgi(t)&&typeof t.data=="string"&&!!t.data.match(/log[io]n/i)}function pns(t,e){return t?t.toLowerCase():typeof e=="string"?(0,Agi.default)(Buffer.from(e))?.toLowerCase()??"":""}function xgi(t){let e=t.interceptors.request.use(n=>(n.headers=n.headers??new sNr.AxiosHeaders,n.headers[BJ.RequestHeaderName]=BJ.RequestHeaderValue,n)),r=t.interceptors.response.use(n=>cns(n)&&t.defaults.params?.saml2!=="disabled"?(t.defaults.params=t.defaults.params??{},t.defaults.params.saml2="disabled",t.request(n.config)):(lns(n),n.headers?.[BJ.ResponseHeaderName]&&(t.defaults.headers.common[BJ.RequestHeaderName]=n.headers[BJ.ResponseHeaderName],t.interceptors.request.eject(e)),t.interceptors.response.eject(r),n),n=>{throw n.response&&(n.response.headers?.[BJ.ResponseHeaderName]&&(t.defaults.headers.common[BJ.RequestHeaderName]=n.response.headers[BJ.ResponseHeaderName],t.interceptors.request.eject(e)),t.cookies.setCookies(n.response)),n});t.interceptors.request.use(n=>(n.headers=n.headers??new sNr.AxiosHeaders,n.headers.cookie=t.cookies.toString(),n)),t.interceptors.response.use(n=>(t.cookies.setCookies(n),n))}var Ngi=br(KD(),1);import{URL as wgi}from"node:url";function Dgi(t,e,r,n=!1){t?(t=t.toLowerCase(),t==="success"?r.info(e):(t==="warning"&&(t="warn"),r[t](e))):r[n?"error":"info"](e)}function cNr({msg:t,log:e,host:r,isDest:n=!1}){try{let i=JSON.parse(t);e.info(i.message),Igi({host:r,path:i.longtext_url,log:e,isDest:n}),i.details&&i.details.forEach(a=>{Dgi(a.severity,a.message,e)})}catch{e.debug(t)}}function Igi({host:t,path:e,log:r,isDest:n=!1}){if(t&&e){let i=new wgi(t).origin;r.info("Please copy/paste this URL in a browser for more details:"),n&&r.info("(Note: You will need to replace the host in the URL with the internal host, if your destination is configured using an On-Premise SAP Cloud Connector)"),r.info(new wgi(e,i).href)}}function lNr({error:t,log:e,host:r,isDest:n},i=!0){if(t&&(i&&e.error(t.message?.value||"An unknown error occurred."),(t.innererror?.errordetails||[]).forEach(a=>{a.message.startsWith("<![CDATA")||Dgi(a.severity,a.message,e,!0),Igi({host:r,path:a.longtext_url,log:e,isDest:n})}),i&&t.innererror?.Error_Resolution))for(let a in t.innererror.Error_Resolution)e.error(`${a}: ${t.innererror.Error_Resolution[a]}`)}function Blt({error:t,host:e,log:r,isDest:n}){if(r.error(t.message),(0,Ngi.isAxiosError)(t)&&t.response?.data){let i=uNr(t.response?.data);i?lNr({error:i,log:r,host:e,isDest:n}):r.error(t.response.data.toString())}}function uNr(t){let e;if(typeof t=="string")try{let r=JSON.parse(t);r.error&&(e=r.error)}catch{}return e}var Yis=br(iNr(),1);function Oyi(t){let e=t.interceptors.response.use(r=>(delete t.defaults.auth,t.interceptors.response.eject(e),r))}var a2e=class extends Ayi.Axios{_log=new FD;cookies=new FVt;services={};constructor(e){super(e),e?.logger&&(this._log=e.logger)}set log(e){this._log=e}get log(){return this._log}service(e){return this.services[e]||(this.services[e]=this.createService(e,Kfe)),this.services[e]}generateServiceConfig(e){let r=Object.assign({},this.defaults),n=Object.assign(this.defaults.headers?.common??{},{Cookie:this.cookies.toString()});return{...r,baseURL:this.defaults.baseURL+e,headers:n}}createService(e,r){let n=new r({...this.generateServiceConfig(e),publicUrl:this.publicUrl});return n.log=this.log,n.interceptors=this.interceptors,n}get publicUrl(){return this.defaults.baseURL}};import Pyi from"node:tls";var Cyi=`
|
|
4174
4174
|
Owner: CN=SAP Global Root CA, O=SAP AG, L=Walldorf, C=DE
|
|
4175
4175
|
Issuer: CN=SAP Global Root CA, O=SAP AG, L=Walldorf, C=DE
|
|
4176
4176
|
Serial number: 5d03d93d31615d8f488b3970c78f1b99
|
|
@@ -4307,7 +4307,7 @@ PGHZoN9jcvvvWDLUGtJkEotMgdFpEA2XWR83H4fVFVc=
|
|
|
4307
4307
|
This is the **final step** of the workflow and performs the actual modification.
|
|
4308
4308
|
You MUST provide the exact parameter information obtained from get_functionality_details (Step 2).`,annotations:{title:"Execute Fiori Functionality",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0},inputSchema:Jy($6r),outputSchema:Jy(G6r)}];var gut=class{applicationKey="";extensionName="";extensionVersion="";getApplicationKey(){return this.applicationKey}getExtensionVersion(){return this.extensionVersion}getExtensionName(){return this.extensionName}};var cno=br(j3r(),1);var Iht=class{extensionName;eventName;constructor(e,r){this.extensionName=e,this.eventName=r}getExtensionName(){return this.extensionName}getEventName(){return this.eventName}toString(){return`${this.extensionName}/${this.eventName}`}};var _M;(function(t){t[t.OnePercent=0]="OnePercent",t[t.TenPercent=1]="TenPercent",t[t.NoSampling=2]="NoSampling"})(_M||(_M={}));function T8t(t){if(t.setUseDiskRetryCaching)try{t.setUseDiskRetryCaching(!0)}catch{}t.addTelemetryProcessor(e=>(e.tags??={},e.tags["ai.location.ip"]="0.0.0.0",e.tags["ai.cloud.roleInstance"]="masked",e.tags["ai.cloud.role"]="masked",e.tags["ai.device.type"]="masked",!0))}var U3r={name:"@sap-ux/telemetry",version:"1.0.23",description:"Library for sending usage telemetry data",type:"module",repository:{type:"git",url:"https://github.com/SAP/open-ux-tools.git",directory:"packages/telemetry"},bugs:{url:"https://github.com/SAP/open-ux-tools/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3Atelemetry"},license:"Apache-2.0",private:!1,main:"dist/index.js",scripts:{build:"tsc --build",watch:"tsc --watch",clean:"rimraf --glob dist coverage *.tsbuildinfo",format:"prettier --write '**/*.{js,json,ts,yaml,yml}' --ignore-path ../../.prettierignore",lint:"eslint","lint:fix":"eslint --fix",test:"cross-env NODE_OPTIONS='--experimental-vm-modules' jest --ci --forceExit --detectOpenHandles --colors","test-u":"cross-env NODE_OPTIONS='--experimental-vm-modules' jest --ci --forceExit --detectOpenHandles --colors -u",link:"pnpm link --global",unlink:"pnpm unlink --global",example:"ts-node example/index.ts"},dependencies:{"@sap-ux/store":"workspace:*","@sap-ux/project-access":"workspace:*","@sap-ux/btp-utils":"workspace:*","@sap-ux/ui5-config":"workspace:*","@sap-ux/logger":"workspace:*","@sap-ux/nodejs-utils":"workspace:*",applicationinsights:"3.15.1",axios:"1.18.1","performance-now":"2.1.0",yaml:"2.9.0"},devDependencies:{"@jest/globals":"30.4.1","jest-extended":"7.0.0",memfs:"3.4.13",unionfs:"4.6.0",dotenv:"17.4.2"},files:["dist","LICENSE","!dist/*.map","!dist/**/*.map"],engines:{node:">=22.x"}};var TM={azureInstrumentationKey:"",telemetryEnabled:!0,telemetryLibName:U3r.name,telemetryLibVersion:U3r.version,consumerModuleName:"",consumerModuleVersion:""};process.env.APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL??="true";var Rht=class extends gut{clients;constructor(e,r,n){super(),this.clients=new Map,this.applicationKey=e,this.extensionVersion=n,this.extensionName=r;let i=this.createTelemetryClient(_M.OnePercent),a=this.createTelemetryClient(_M.TenPercent),s=this.createTelemetryClient(_M.NoSampling);this.clients.set(_M.OnePercent,i),this.clients.set(_M.TenPercent,a),this.clients.set(_M.NoSampling,s)}reportBlocking(e,r,n,i,a=!1){if(!a||TM.telemetryEnabled){let{client:s,event:c}=this.prepareClientAndEvent(e,r,n,i);return this.trackEventBlocking(s,c)}return Promise.resolve()}async report(e,r,n,i,a,s){if(s!==void 0&&!s||!TM.telemetryEnabled)return;let{client:c,event:l}=this.prepareClientAndEvent(e,r,n,i);this.trackEvent(c,l)}prepareClientAndEvent(e,r,n,i=_M.NoSampling){let a=this.clients.get(i),c={name:new Iht(this.extensionName,e).toString(),properties:r,measurements:n};return{client:a,event:c}}async trackEventBlocking(e,r){process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"&&(e.trackEvent(r),await e.flush())}trackEvent(e,r){return process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"?(e.trackEvent(r),!0):!1}createTelemetryClient(e){let r;switch(e){case _M.OnePercent:r=1;break;case _M.TenPercent:r=10;break;case _M.NoSampling:default:r=100;break}let n=new cno.TelemetryClient(this.applicationKey);return n.config.samplingPercentage=r,T8t(n),n}};var B3r=()=>{let t=new Date().getTime();return new Date(t).toISOString()};var Lht=class extends Rht{constructor(e,r,n){super(e,r,n)}async report(e,r,n,i,a,s){let c=await b8t(a),l={v:this.extensionVersion,datetime:B3r()},u={...r,...c,...l};await super.report(e,u,n,i,a,s)}async reportEvent(e,r,n,i){let{finalProperties:a,finalMeasurements:s}=await this.collectToolsSuiteTelemetry(e,n);return super.report(e.eventName,a,s,r,n,i)}async reportEventBlocking(e,r,n,i){let{finalProperties:a,finalMeasurements:s}=await this.collectToolsSuiteTelemetry(e,n);return super.reportBlocking(e.eventName,a,s,r,i)}async collectToolsSuiteTelemetry(e,r){let n=await b8t(r),i={v:this.extensionVersion,datetime:B3r()},a={...e.properties,...n,...i},s={...e.measurements};return{finalProperties:a,finalMeasurements:s}}};aSe();var lno=br(KD(),1),uno=br(Btr(),1);UT();import fX from"node:fs";import aoe from"node:path";var S8t={internalFeature:!1};var Mht;(function(t){t.UNKNOWN="UNKNOWN",t.NO_TOOLS_ID="NO_TOOLS_ID"})(Mht||(Mht={}));var VZ;(function(t){t.CAPJava="CAPJava",t.CAPNode="CAPNode",t.ABAP="ABAP",t.UNKNOWN="UNKNOWN"})(VZ||(VZ={}));var qwe;(function(t){t.CF="CF",t.ABAP="ABAP",t.UNKNOWN_DEPLOY_CONFIG="UNKNOWN_DEPLOY_CONFIG",t.NO_DEPLOY_CONFIG="NO_DEPLOY_CONFIG"})(qwe||(qwe={}));var T0;(function(t){t.DevSpace="cmn.devspace",t.AppStudio="cmn.appstudio",t.AppStudioBackwardCompatible="appstudio",t.InternlVsExternal="cmn.internalFeatures",t.InternlVsExternalBackwardCompatible="internalVsExternal",t.TemplateType="cmn.template",t.DeployTargetType="cmn.deployTarget",t.ODataSourceType="cmn.odataSource",t.AppToolsId="cmn.toolsId",t.NodeVersion="cmn.nodeVersion",t.AppProgrammingLanguage="cmn.appLanguage",t.TemplateId="cmn.templateId",t.TemplateVersion="cmn.templateVersion",t.ApplicationType="cmn.applicationType",t.IdeType="cmn.ideType"})(T0||(T0={}));async function b8t(t){let e=await G3r(),r={};return t&&(r=await Qnc(t.appPath)),{...e,...r}}async function G3r(){let t={};return t[T0.DevSpace]=await Jnc(),t[T0.AppStudio]=H0(),t[T0.AppStudioBackwardCompatible]=t[T0.AppStudio],t[T0.InternlVsExternal]=nic(),t[T0.InternlVsExternalBackwardCompatible]=t[T0.InternlVsExternal],t[T0.NodeVersion]=await oic(),t[T0.IdeType]=H3r(),t}async function Jnc(){if(H0())try{if(!process.env.H2O_URL||!process.env.WORKSPACE_ID)return"";let t=process.env.H2O_URL,e=process.env.WORKSPACE_ID.replace("workspaces-",""),r=`${t}/ws-manager/api/v1/workspace/${e}`,n=await lno.default.get(r);if(n.data)return n.data?.config?.annotations?.pack}catch{}return""}async function Qnc(t){if(!t)return{};let e=await Znc(t),r=await ric(t),n=await vLe(t),i=await eic(t);n==="Fiori Reuse"&&(i=VZ.UNKNOWN);let a=await iic(t),s=await aYe(t),c={};return c[T0.TemplateType]=e,c[T0.DeployTargetType]=r,c[T0.ODataSourceType]=i,c[T0.AppToolsId]=a.toolsId??"",c[T0.AppProgrammingLanguage]=s,c[T0.TemplateId]=a.id??"",c[T0.TemplateVersion]=a.version??"",c[T0.ApplicationType]=n??"",c}async function Znc(t){let e=aoe.join(t,"README.md"),r=aoe.join(t,".appGenInfo.json");if(fX.existsSync(r)){let n=await fX.promises.readFile(r,"utf-8"),i=JSON.parse(n);if(i?.generationParameters?.template)return i.generationParameters.template.trim()}if(fX.existsSync(e)){let n=await fX.promises.readFile(e,"utf-8");if(n){let i="",a=n.split(/\r?\n/);for(let s of a){let l=/\|\*\*Template Used\*\*<br>(.*?)\|/.exec(s);if(l&&l.length>=2){i=l[1].trim();break}}return i}}return""}async function eic(t){try{let e;try{e=await r7(t)}catch{}if(!e)try{let i=aoe.dirname(t);e=await r7(i,!1)}catch{}let r=!1;if(!e){let i=aoe.dirname(t),a=aoe.dirname(i);r=await eLe(a),e=r?a:t}if(r)return VZ.CAPJava;let n=await XSe(e);return tic(n)}catch{return VZ.UNKNOWN}}function tic(t){return t==="EDMXBackend"?VZ.ABAP:t==="CAPNodejs"?VZ.CAPNode:t==="CAPJava"?VZ.CAPJava:VZ.UNKNOWN}async function ric(t){let e=qwe.NO_DEPLOY_CONFIG,r=aoe.join(t,"ui5-deploy.yaml");try{await fX.promises.access(r);let n=await fX.promises.readFile(r,"utf-8"),a=uno.default.parse(n)?.builder?.customTasks;a?e=a.some(c=>c.name==="deploy-to-abap")?qwe.ABAP:qwe.CF:e=qwe.UNKNOWN_DEPLOY_CONFIG}catch{}return e}function nic(){return S8t.internalFeature?"internal":"external"}async function iic(t){let e=await QE(t),r={manifest:aoe.join(e,"manifest.json"),appdescr:aoe.join(e,"manifest.appdescr_variant"),ui5Yaml:aoe.join(t,"ui5.yaml")};try{if(fX.existsSync(r.manifest)){let n=await fX.promises.readFile(r.manifest,"utf-8"),i=JSON.parse(n);return q3r(i["sap.app"]?.sourceTemplate??{})}if(fX.existsSync(r.appdescr)&&fX.existsSync(r.ui5Yaml)){let n=await fX.promises.readFile(r.ui5Yaml,"utf-8"),a=(await VY.newInstance(n)).getCustomConfiguration("adp");return q3r(a?.support??{})}}catch{}return q3r({})}function q3r(t){return{id:t.id??"",version:t.version??"",toolsId:t.toolsId??Mht.NO_TOOLS_ID}}async function oic(){try{return(await new DLe().run("node",["-v"])??"unknown").replaceAll(/(?:^v)|([\r\n]{1,100})/g,"")}catch{return"unknown"}}function H3r(){if(H0())return"appstudio";let t=process.env.VSCODE_CWD?.toLowerCase()??"",e=process.env.VSCODE_PID,r=process.env.TERM_PROGRAM??"",n=process.env.VSCODE_APPNAME?.toLowerCase()??"";return!e&&!t&&r!=="vscode"&&r!=="vscode-insiders"?"unknown":process.env.CURSOR_TRACE_ID||n.includes("cursor")||t.includes("cursor")?"cursor":n.includes("windsurf")||t.includes("windsurf")||t.includes("codeium")?"windsurf":n.includes("antigravity")||t.includes("antigravity")?"antigravity":n.includes("trae")||t.includes("trae")?"trae":n.includes("kiro")||t.includes("kiro")?"kiro":n.includes("vscodium")||n.includes("codium")||t.includes("vscodium")||t.includes("codium")?"vscodium":n.includes("code-server")||t.includes("code-server")||process.env.CODE_SERVER_SESSION?"code-server":n.includes("insiders")||t.includes("code - insiders")||t.includes("code insiders")||t.includes("vscode-insiders")||r==="vscode-insiders"?"vscode-insiders":e||r==="vscode"?"vscode":"unknown"}var pno=br(j3r(),1);var KHe;(function(t){t.Test="test",t.TELEMETRY_SETTINGS_INIT_FAILED="TELEMETRY_SETTINGS_INIT_FAILED",t.DISABLE_TELEMETRY="DISABLE_TELEMETRY"})(KHe||(KHe={}));var aic=t=>{let e=[/sap-ux.+/gi,/[-a-zA-Z]+\/ide-extension\/.+/gi,/(\/telemetry\/.+)/gi],r=[],n=t.split(`
|
|
4309
4309
|
`).filter(i=>!!/^\s*at .*(\S+:\d+|\(native\))/m.exec(i));return n.length&&n.forEach(i=>{let a=i.replace(/^\s+/,""),c=/ (\((.+):(\d+):(\d+)\)$)/.exec(i);if(!c)return;let l=null,u=c[2].replace(/\\/g,"/");for(let m of e){let g=m.exec(u);if(g){l=g[0];break}}if(!l)return;a=a.replace(c[0],"");let p=a.split(/\s+/).slice(1).join(""),d=c[3],f=c[4],h=`${p} at (${l}:${d}:${f});`;r.push(h)}),r},O8t,dno=t=>{process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY?.trim()!=="true"&&(O8t=new pno.TelemetryClient(TM.azureInstrumentationKey),T8t(O8t));let e={message:t.message};if(t.stack){let n=aic(t.stack);n.length&&(e.stack=n.join(`
|
|
4310
|
-
`))}let r={name:KHe.TELEMETRY_SETTINGS_INIT_FAILED,properties:e,measurements:{}};process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"&&O8t.trackEvent(r)},fno=(t,e)=>{let r={name:KHe.DISABLE_TELEMETRY,properties:{disableTelemetry:`${!t}`,...e},measurements:{}};process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"&&O8t.trackEvent(r)};import sic from"node:os";import cic from"node:path";import lic from"node:fs";var uic={win32:"\\AppData\\Roaming\\Code\\User\\settings.json",darwin:"/Library/Application Support/Code/User/settings.json",linux:"/.config/Code/User/settings.json",theia:"/.theia/settings.json"},pic=["sap.ux.annotation.lsp.enableTelemetry","sap.ux.applicationModeler.enableTelemetry","sap.ux.help.enableTelemetry","sap.ux.serviceModeler.enableTelemetry"],dic=t=>{let e=process.platform,r=t[e];if(H0()&&(r=t.theia),!r)return null;let n=sic.homedir();return cic.join(n,r)};async function fic(t){let e;try{e=await t.read(new lye)}catch{}if(e)TM.telemetryEnabled=e.enableTelemetry;else{let r=dic(uic);if(!r)await A8t(!0);else{let n;try{n=await lic.promises.readFile(r,"utf-8");let i=JSON.parse(n),s=pic.map(c=>i[c]??!0).reduce((c,l)=>c&&l,!0);await A8t(s)}catch{await A8t(!0)}}}}function hic(t){ajt(ePe.TelemetrySetting,()=>{t.read(new lye).then(e=>{e&&(TM.telemetryEnabled=e.enableTelemetry)}).catch(()=>{})})}var z3r=async t=>{try{TM.consumerModuleName=t.consumerModule.name,TM.consumerModuleVersion=t.consumerModule.version,S8t.internalFeature=t.internalFeature??!1,t.resourceId&&(TM.azureInstrumentationKey=t.resourceId);let e=await b2e({entityName:"telemetrySetting"});await fic(e),t.watchTelemetrySettingStore&&hic(e)}catch(e){dno(e)}};async function A8t(t){try{let r=await b2e({entityName:"telemetrySetting"}),n=new uut({enableTelemetry:t});await r.write(n),TM.telemetryEnabled=t}catch{}let e=await G3r();fno(t,e)}var mic="ApplicationInsightsInstrumentationKeyPLACEH0LDER",D8=class t{static clientMap=new Map;static getTelemetryClient(){return t.getTelemetryClientByClass(Lht)}static getTelemetryClientByClass(e){let r=t.clientMap.get(e.name);if(r)return r;let n=t.buildConnectionString(TM.azureInstrumentationKey);return r=new e(n,TM.consumerModuleName,TM.consumerModuleVersion),t.clientMap.set(e.name,r),r}static buildConnectionString(e){return e?`InstrumentationKey=${e===mic?"00000000-0000-0000-0000-000000000000":e}`:""}};var I8;(function(t){t.START_MARK="START_MARK",t.END_MARK="END_MARK",t.MEASUREMENT="MEASUREMENT"})(I8||(I8={}));var C8t=class{static initTiming;static enteries;static initialize;static startMark;static endMark;static measure;static getEntries;static getEntriesByName;static getEntriesByType;static getEntriesByNameType;static getMeasurementDuration;static clearEntries};var kht=class{startTime;name;type;getStartTime(){return this.startTime}constructor(e,r,n){this.startTime=n,this.name=e,this.startTime=n,this.type=r}},P8t=class extends kht{startTime;duration;constructor(e,r,n){super(e,I8.MEASUREMENT,r),this.startTime=r,this.duration=n,this.duration=n}getDurationTime(){return this.duration}};import{performance as gic}from"node:perf_hooks";var yic=()=>gic.now(),LC=class t extends C8t{static initTiming;static now=yic;static entries=[];static initialize(){t.initTiming=t.now()}static mark(e,r,n){let i=new kht(e,r,n);t.entries.push(i)}static startMark(e){let r=t.now(),n=e+r;return t.mark(n,I8.START_MARK,r),n}static endMark(e){let r=t.now();t.mark(e,I8.END_MARK,r)}static measure(e){let r=t.getEntriesByNameType(e,I8.START_MARK).slice(-1)[0],n=t.getEntriesByNameType(e,I8.END_MARK).slice(-1)[0];if(!r&&!n)throw new Error(`Failed to execute 'measure': mark '${e}' doesn't exist.`);if(!r||!n){let l=r?I8.END_MARK:I8.START_MARK;throw new Error(`Failed to execute 'measure': mark '${e}'of type '${l}' doesn't exist.`)}let i=r.getStartTime(),s=n.getStartTime()-i,c=new P8t(`${e}`,t.now(),s);t.entries.push(c)}static getEntries(){return t.entries}static getEntriesByName(e){return t.entries.filter(r=>r.name===e)}static getEntriesByNameType(e,r){return t.entries.filter(n=>n.name===e&&n.type===r)}static getEntriesByType(e){return t.entries.filter(r=>r.type===e)}static getMeasurementDuration(e){return t.getEntriesByNameType(e,I8.MEASUREMENT).slice(-1)[0].getDurationTime()}static clearEntries(){t.entries=[]}};LC.initialize();var vic=(t,e)=>new Error(`Wrong path for '${t}' field is specified in instructions with index - ${e}`),_ic=(t,e,r,n)=>{let i=e.split("/"),a=t,s=0;for(;s<i.length;){if(a=a[i[s]],a===void 0)throw vic(r,n);s++}return a},hno=(t,e)=>{let r={},n={},i=null;e.paramIndex!==void 0&&(i=t[e.paramIndex]);let a=e.key?e.key:"data",s="";return typeof e.value=="string"?s=e.value:e.value!==void 0&&e.paramIndex!==void 0?s=_ic(i,e.value.path,"val",e.paramIndex):s=i,typeof s=="number"&&!Number.isNaN(s)?n[a]=s:r[a]=s,[r,n]},K3r=(t,e)=>{let r,n,i={},a={};if(Array.isArray(e))for(let s of e)[r,n]=hno(t,s),i={...i,...r},a={...a,...n};else[i,a]=hno(t,e);return[i,a]};var mno=(t,e,r,n)=>(...i)=>{let a=e.apply(t,i);return D8.getTelemetryClient().report(r,{},{},n),a},gno=(t,e,r,n)=>async(...i)=>{let a=await e.apply(t,i);return D8.getTelemetryClient().report(r,{},{},n),a},yno=(t,e,r,n)=>(...i)=>{let a=LC.startMark("mark"),s=e.apply(t,i);LC.endMark(a),LC.measure(a);let c=LC.getMeasurementDuration(a);return D8.getTelemetryClient().report(r,{},{ms:c},n),s},vno=(t,e,r,n)=>async(...i)=>{let a=LC.startMark("mark"),s=await e.apply(t,i);LC.endMark(a),LC.measure(a);let c=LC.getMeasurementDuration(a);return D8.getTelemetryClient().report(r,{},{ms:c},n),s},_no=(t,e,r,n,i)=>(...a)=>{let s=e.apply(t,a),[c,l]=K3r(a,i);return D8.getTelemetryClient().report(r,c,l,n),s},Eno=(t,e,r,n,i)=>async(...a)=>{let s=await e.apply(t,a),[c,l]=K3r(a,i);return D8.getTelemetryClient().report(r,c,l,n),s};var soe;(function(t){t.NOTIFICATION="notify",t.DURATION="duration",t.CAPTURE_PARAM="captureParam"})(soe||(soe={}));var x8t=new Map;x8t.set(soe.NOTIFICATION,mno);x8t.set(soe.DURATION,yno);x8t.set(soe.CAPTURE_PARAM,_no);var w8t=new Map;w8t.set(soe.NOTIFICATION,gno);w8t.set(soe.DURATION,vno);w8t.set(soe.CAPTURE_PARAM,Eno);var Y3r={AnnotationModeler:"sap.ux.annotationModeler",AppGenerator:"sap.ux.appGenerator",ApplicationModeler:"sap.ux.applicationModeler",Help:"sap.ux.help",ServiceModeler:"sap.ux.serviceModeler",Internal:"sap.ux.internal"},W3r={"sap.ux.help.testBetaFeatures.enableAppStudioGDContribution":"c8c52f0b-0d7d-4697-997a-d6f29814f42e","sap.ux.help.testBetaFeatures.showTestGuides":"fbb03f42-0a86-4fd5-9fc4-8c9b38a4d1a3","sap.ux.help.testBetaFeatures.enableFioriAI":"165a0e31-35ea-4bee-8d47-b8593435a82d","sap.ux.help.testBetaFeatures.enableFioriAIJoule":"165a0e31-35ea-4bee-8d47-b8593435a82e","sap.ux.help.testBetaFeatures.enableFioriAIVsCode":"165a0e31-35ea-4bee-8d47-b8593435a82f","sap.ux.help.testBetaFeatures.enableFioriAIAppModeler":"165a0e31-35ea-4bee-8d47-b8593435a82g","sap.ux.help.testBetaFeatures.enableFioriAIRapGeneration":"165a0e31-35ea-4bee-8d47-b8593435a82h","sap.ux.applicationModeler.testBetaFeatures.manifestEditor":!0,"sap.ux.appGenerator.testBetaFeatures.newAnnotationAPI":!0},N8t="testBetaFeatures",X3r="sap.ux.applicationModeler.enableExperimentalFeatures";import{createRequire as Tic}from"node:module";var bic=Tic(import.meta.url);function Tno(){try{return bic("vscode")}catch{return}}var Sic=Tno(),D8t=class t{static get vscode(){return Sic}static getFeatureToggle(e){let r,n=t.vscode;if((e.includes(N8t)||e===X3r)&&n){let a=e.slice(0,e.lastIndexOf(".")),s=e.slice(e.lastIndexOf(".")+1,e.length);r=n.workspace.getConfiguration(a)?.get(s)}else r=!1;return process.env.TOOLSUITE_FEATURES&&(r=process.env.TOOLSUITE_FEATURES.split(",").includes(e)?!0:r),W3r[e]&&(W3r[e]===r?r=!0:r=!1),{feature:e,isEnabled:r===!0?r:!1}}static getAllFeatureToggles(){let e=[],r=t.vscode;if(r)Object.keys(Y3r).forEach(n=>{let i=`${Y3r[n]}.${N8t}`,a,s=[];try{a=r.workspace.getConfiguration(i),s=Object.keys(a).filter(c=>typeof a?.[c]!="function")}catch{}a&&s.forEach(c=>{let l=a.get(c),u={feature:`${i}.${c}`,isEnabled:l||!1};e.push(u)})});else if(process.env.TOOLSUITE_FEATURES){let n=process.env.TOOLSUITE_FEATURES.split(",");for(let i of n){let a={feature:i,isEnabled:!0};e.push(a)}}return e}};function J3r(){let t="sap.ux.internal.enableInternalFeatures",e=!1,r=D8t.vscode;return r&&(e=(r.workspace?r.workspace.getConfiguration().get(t):!1)??!1),process.env.TOOLSUITE_INTERNAL&&process.env.TOOLSUITE_INTERNAL==="true"&&(e=!0),e}var Vio=br(Rio(),1);import{randomUUID as aac}from"node:crypto";var rac=["@sap-ux","fiori-mcp-server"].join("/");var nac="1.11.2",Lio={name:rac,version:nac};var Mio={telemetry:{unknownOs:"Unknown"}};var lzr="fiori-mcp-server",kio=Mg.createInstance();async function oac(){await kio.init({resources:{en:{[lzr]:Mio}},lng:"en",fallbackLng:"en",defaultNS:lzr,ns:[lzr]})}function $io(t,e){return kio.t(t,e)}oac().catch(()=>{});var{version:sac}=Lio,Fio="@sap-ux/fiori-mcp-server",jio="unknown-tool",cac="0a65e45d-6bf4-421d-b845-61e888c50e9e",jZ=class{static _telemetryData;static _previousEventTimestamp;static _sessionId;static get telemetryData(){return this._telemetryData}static get sessionId(){return this._sessionId}static initSessionId(){this._sessionId=aac(),ki.info(`Telemetry session initialized with ID: ${this._sessionId}`)}static async initTelemetrySettings(e){this._sessionId||this.initSessionId();let r={consumerModule:{name:Fio,version:sac},watchTelemetrySettingStore:!1,internalFeature:J3r(),resourceId:cac,...e};try{await z3r(r)}catch(n){ki.error(`Error initializing telemetry settings: ${n}`)}}static createTelemetryData(e,r=!1){let n=new Date().getTime();if(this._previousEventTimestamp||(r=!1,this._previousEventTimestamp=n),!this._telemetryData){let i=$io("telemetry.unknownOs");try{i=(0,Vio.default)()}catch{}this._telemetryData={Platform:H0()?"SBAS":"VSCode",OperatingSystem:i,SessionId:this.sessionId}}if(r){let i={...this._telemetryData,...e};if(Math.abs(this._previousEventTimestamp-n)<1e3&&JSON.stringify(i)===JSON.stringify(this._telemetryData))return}return this._previousEventTimestamp=n,this._telemetryData=Object.assign(this._telemetryData,e),this._telemetryData}static prepareTelemetryEvent(e,r){this.markToolsEndTime();let n=r.markName?LC.getMeasurementDuration(r.markName):void 0;return{eventName:e,properties:r,measurements:n?{RequestTime:n}:{}}}static markToolStartTime(){this.createTelemetryData({markName:LC.startMark("MCP_LOADING_TIME")})}static markToolsEndTime(){this._telemetryData?.markName&&(LC.endMark(this._telemetryData.markName),LC.measure(this._telemetryData.markName))}static async sendTelemetry(e,r,n){let i=this.createTelemetryData(r)??r,a=this.prepareTelemetryEvent(e,i);await D8.getTelemetryClient().reportEvent(a,_M.NoSampling,n?{appPath:n}:void 0)}static getTelemetryName(){return Fio}};var Uio="2024-11-05";function lac(t){return _Te.includes(t)?t:_Te.includes(Uio)?Uio:_Te[_Te.length-1]}var Y8t=class{server;mcpClientName="unknown-client";mcpClientVersion="unknown-version";constructor(){this.server=new kTt({name:"fiori-mcp",version:pIe,icons:[{src:"https://raw.githubusercontent.com/SAP/open-ux-tools/main/packages/fiori-mcp-server/assets/icon.svg",mimeType:"image/svg+xml"},{src:"https://raw.githubusercontent.com/SAP/open-ux-tools/main/packages/fiori-mcp-server/assets/icon.png",mimeType:"image/png"}],title:"MCP Server for SAP Fiori"},{capabilities:{tools:{}}}),this.setupToolHandlers(),this.setupErrorHandling()}setupErrorHandling(){this.server.onerror=e=>ki.error(`[MCP Error] ${e}`),process.on("SIGINT",async()=>{await this.server.close(),process.exit(0)})}async setupTelemetry(){await jZ.initTelemetrySettings()}setupToolHandlers(){this.server.setRequestHandler(Nze,async e=>{this.mcpClientName=e.params.clientInfo?.name||"unknown-client",this.mcpClientVersion=e.params.clientInfo?.version||"unknown-version",ki.info(`MCP Client connected: ${this.mcpClientName} v${this.mcpClientVersion}`);let r={mcpClientName:this.mcpClientName,mcpClientVersion:this.mcpClientVersion};return await jZ.sendTelemetry(NNn,r),{protocolVersion:lac(e.params.protocolVersion),capabilities:{tools:{}},serverInfo:{name:"fiori-mcp",version:pIe},instructions:`
|
|
4310
|
+
`))}let r={name:KHe.TELEMETRY_SETTINGS_INIT_FAILED,properties:e,measurements:{}};process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"&&O8t.trackEvent(r)},fno=(t,e)=>{let r={name:KHe.DISABLE_TELEMETRY,properties:{disableTelemetry:`${!t}`,...e},measurements:{}};process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"&&O8t.trackEvent(r)};import sic from"node:os";import cic from"node:path";import lic from"node:fs";var uic={win32:"\\AppData\\Roaming\\Code\\User\\settings.json",darwin:"/Library/Application Support/Code/User/settings.json",linux:"/.config/Code/User/settings.json",theia:"/.theia/settings.json"},pic=["sap.ux.annotation.lsp.enableTelemetry","sap.ux.applicationModeler.enableTelemetry","sap.ux.help.enableTelemetry","sap.ux.serviceModeler.enableTelemetry"],dic=t=>{let e=process.platform,r=t[e];if(H0()&&(r=t.theia),!r)return null;let n=sic.homedir();return cic.join(n,r)};async function fic(t){let e;try{e=await t.read(new lye)}catch{}if(e)TM.telemetryEnabled=e.enableTelemetry;else{let r=dic(uic);if(!r)await A8t(!0);else{let n;try{n=await lic.promises.readFile(r,"utf-8");let i=JSON.parse(n),s=pic.map(c=>i[c]??!0).reduce((c,l)=>c&&l,!0);await A8t(s)}catch{await A8t(!0)}}}}function hic(t){ajt(ePe.TelemetrySetting,()=>{t.read(new lye).then(e=>{e&&(TM.telemetryEnabled=e.enableTelemetry)}).catch(()=>{})})}var z3r=async t=>{try{TM.consumerModuleName=t.consumerModule.name,TM.consumerModuleVersion=t.consumerModule.version,S8t.internalFeature=t.internalFeature??!1,t.resourceId&&(TM.azureInstrumentationKey=t.resourceId);let e=await b2e({entityName:"telemetrySetting"});await fic(e),t.watchTelemetrySettingStore&&hic(e)}catch(e){dno(e)}};async function A8t(t){try{let r=await b2e({entityName:"telemetrySetting"}),n=new uut({enableTelemetry:t});await r.write(n),TM.telemetryEnabled=t}catch{}let e=await G3r();fno(t,e)}var mic="ApplicationInsightsInstrumentationKeyPLACEH0LDER",D8=class t{static clientMap=new Map;static getTelemetryClient(){return t.getTelemetryClientByClass(Lht)}static getTelemetryClientByClass(e){let r=t.clientMap.get(e.name);if(r)return r;let n=t.buildConnectionString(TM.azureInstrumentationKey);return r=new e(n,TM.consumerModuleName,TM.consumerModuleVersion),t.clientMap.set(e.name,r),r}static buildConnectionString(e){return e?`InstrumentationKey=${e===mic?"00000000-0000-0000-0000-000000000000":e}`:""}};var I8;(function(t){t.START_MARK="START_MARK",t.END_MARK="END_MARK",t.MEASUREMENT="MEASUREMENT"})(I8||(I8={}));var C8t=class{static initTiming;static enteries;static initialize;static startMark;static endMark;static measure;static getEntries;static getEntriesByName;static getEntriesByType;static getEntriesByNameType;static getMeasurementDuration;static clearEntries};var kht=class{startTime;name;type;getStartTime(){return this.startTime}constructor(e,r,n){this.startTime=n,this.name=e,this.startTime=n,this.type=r}},P8t=class extends kht{startTime;duration;constructor(e,r,n){super(e,I8.MEASUREMENT,r),this.startTime=r,this.duration=n,this.duration=n}getDurationTime(){return this.duration}};import{performance as gic}from"node:perf_hooks";var yic=()=>gic.now(),LC=class t extends C8t{static initTiming;static now=yic;static entries=[];static initialize(){t.initTiming=t.now()}static mark(e,r,n){let i=new kht(e,r,n);t.entries.push(i)}static startMark(e){let r=t.now(),n=e+r;return t.mark(n,I8.START_MARK,r),n}static endMark(e){let r=t.now();t.mark(e,I8.END_MARK,r)}static measure(e){let r=t.getEntriesByNameType(e,I8.START_MARK).slice(-1)[0],n=t.getEntriesByNameType(e,I8.END_MARK).slice(-1)[0];if(!r&&!n)throw new Error(`Failed to execute 'measure': mark '${e}' doesn't exist.`);if(!r||!n){let l=r?I8.END_MARK:I8.START_MARK;throw new Error(`Failed to execute 'measure': mark '${e}'of type '${l}' doesn't exist.`)}let i=r.getStartTime(),s=n.getStartTime()-i,c=new P8t(`${e}`,t.now(),s);t.entries.push(c)}static getEntries(){return t.entries}static getEntriesByName(e){return t.entries.filter(r=>r.name===e)}static getEntriesByNameType(e,r){return t.entries.filter(n=>n.name===e&&n.type===r)}static getEntriesByType(e){return t.entries.filter(r=>r.type===e)}static getMeasurementDuration(e){return t.getEntriesByNameType(e,I8.MEASUREMENT).slice(-1)[0].getDurationTime()}static clearEntries(){t.entries=[]}};LC.initialize();var vic=(t,e)=>new Error(`Wrong path for '${t}' field is specified in instructions with index - ${e}`),_ic=(t,e,r,n)=>{let i=e.split("/"),a=t,s=0;for(;s<i.length;){if(a=a[i[s]],a===void 0)throw vic(r,n);s++}return a},hno=(t,e)=>{let r={},n={},i=null;e.paramIndex!==void 0&&(i=t[e.paramIndex]);let a=e.key?e.key:"data",s="";return typeof e.value=="string"?s=e.value:e.value!==void 0&&e.paramIndex!==void 0?s=_ic(i,e.value.path,"val",e.paramIndex):s=i,typeof s=="number"&&!Number.isNaN(s)?n[a]=s:r[a]=s,[r,n]},K3r=(t,e)=>{let r,n,i={},a={};if(Array.isArray(e))for(let s of e)[r,n]=hno(t,s),i={...i,...r},a={...a,...n};else[i,a]=hno(t,e);return[i,a]};var mno=(t,e,r,n)=>(...i)=>{let a=e.apply(t,i);return D8.getTelemetryClient().report(r,{},{},n),a},gno=(t,e,r,n)=>async(...i)=>{let a=await e.apply(t,i);return D8.getTelemetryClient().report(r,{},{},n),a},yno=(t,e,r,n)=>(...i)=>{let a=LC.startMark("mark"),s=e.apply(t,i);LC.endMark(a),LC.measure(a);let c=LC.getMeasurementDuration(a);return D8.getTelemetryClient().report(r,{},{ms:c},n),s},vno=(t,e,r,n)=>async(...i)=>{let a=LC.startMark("mark"),s=await e.apply(t,i);LC.endMark(a),LC.measure(a);let c=LC.getMeasurementDuration(a);return D8.getTelemetryClient().report(r,{},{ms:c},n),s},_no=(t,e,r,n,i)=>(...a)=>{let s=e.apply(t,a),[c,l]=K3r(a,i);return D8.getTelemetryClient().report(r,c,l,n),s},Eno=(t,e,r,n,i)=>async(...a)=>{let s=await e.apply(t,a),[c,l]=K3r(a,i);return D8.getTelemetryClient().report(r,c,l,n),s};var soe;(function(t){t.NOTIFICATION="notify",t.DURATION="duration",t.CAPTURE_PARAM="captureParam"})(soe||(soe={}));var x8t=new Map;x8t.set(soe.NOTIFICATION,mno);x8t.set(soe.DURATION,yno);x8t.set(soe.CAPTURE_PARAM,_no);var w8t=new Map;w8t.set(soe.NOTIFICATION,gno);w8t.set(soe.DURATION,vno);w8t.set(soe.CAPTURE_PARAM,Eno);var Y3r={AnnotationModeler:"sap.ux.annotationModeler",AppGenerator:"sap.ux.appGenerator",ApplicationModeler:"sap.ux.applicationModeler",Help:"sap.ux.help",ServiceModeler:"sap.ux.serviceModeler",Internal:"sap.ux.internal"},W3r={"sap.ux.help.testBetaFeatures.enableAppStudioGDContribution":"c8c52f0b-0d7d-4697-997a-d6f29814f42e","sap.ux.help.testBetaFeatures.showTestGuides":"fbb03f42-0a86-4fd5-9fc4-8c9b38a4d1a3","sap.ux.help.testBetaFeatures.enableFioriAI":"165a0e31-35ea-4bee-8d47-b8593435a82d","sap.ux.help.testBetaFeatures.enableFioriAIJoule":"165a0e31-35ea-4bee-8d47-b8593435a82e","sap.ux.help.testBetaFeatures.enableFioriAIVsCode":"165a0e31-35ea-4bee-8d47-b8593435a82f","sap.ux.help.testBetaFeatures.enableFioriAIAppModeler":"165a0e31-35ea-4bee-8d47-b8593435a82g","sap.ux.help.testBetaFeatures.enableFioriAIRapGeneration":"165a0e31-35ea-4bee-8d47-b8593435a82h","sap.ux.applicationModeler.testBetaFeatures.manifestEditor":!0,"sap.ux.appGenerator.testBetaFeatures.newAnnotationAPI":!0},N8t="testBetaFeatures",X3r="sap.ux.applicationModeler.enableExperimentalFeatures";import{createRequire as Tic}from"node:module";var bic=Tic(import.meta.url);function Tno(){try{return bic("vscode")}catch{return}}var Sic=Tno(),D8t=class t{static get vscode(){return Sic}static getFeatureToggle(e){let r,n=t.vscode;if((e.includes(N8t)||e===X3r)&&n){let a=e.slice(0,e.lastIndexOf(".")),s=e.slice(e.lastIndexOf(".")+1,e.length);r=n.workspace.getConfiguration(a)?.get(s)}else r=!1;return process.env.TOOLSUITE_FEATURES&&(r=process.env.TOOLSUITE_FEATURES.split(",").includes(e)?!0:r),W3r[e]&&(W3r[e]===r?r=!0:r=!1),{feature:e,isEnabled:r===!0?r:!1}}static getAllFeatureToggles(){let e=[],r=t.vscode;if(r)Object.keys(Y3r).forEach(n=>{let i=`${Y3r[n]}.${N8t}`,a,s=[];try{a=r.workspace.getConfiguration(i),s=Object.keys(a).filter(c=>typeof a?.[c]!="function")}catch{}a&&s.forEach(c=>{let l=a.get(c),u={feature:`${i}.${c}`,isEnabled:l||!1};e.push(u)})});else if(process.env.TOOLSUITE_FEATURES){let n=process.env.TOOLSUITE_FEATURES.split(",");for(let i of n){let a={feature:i,isEnabled:!0};e.push(a)}}return e}};function J3r(){let t="sap.ux.internal.enableInternalFeatures",e=!1,r=D8t.vscode;return r&&(e=(r.workspace?r.workspace.getConfiguration().get(t):!1)??!1),process.env.TOOLSUITE_INTERNAL&&process.env.TOOLSUITE_INTERNAL==="true"&&(e=!0),e}var Vio=br(Rio(),1);import{randomUUID as aac}from"node:crypto";var rac=["@sap-ux","fiori-mcp-server"].join("/");var nac="1.11.3",Lio={name:rac,version:nac};var Mio={telemetry:{unknownOs:"Unknown"}};var lzr="fiori-mcp-server",kio=Mg.createInstance();async function oac(){await kio.init({resources:{en:{[lzr]:Mio}},lng:"en",fallbackLng:"en",defaultNS:lzr,ns:[lzr]})}function $io(t,e){return kio.t(t,e)}oac().catch(()=>{});var{version:sac}=Lio,Fio="@sap-ux/fiori-mcp-server",jio="unknown-tool",cac="0a65e45d-6bf4-421d-b845-61e888c50e9e",jZ=class{static _telemetryData;static _previousEventTimestamp;static _sessionId;static get telemetryData(){return this._telemetryData}static get sessionId(){return this._sessionId}static initSessionId(){this._sessionId=aac(),ki.info(`Telemetry session initialized with ID: ${this._sessionId}`)}static async initTelemetrySettings(e){this._sessionId||this.initSessionId();let r={consumerModule:{name:Fio,version:sac},watchTelemetrySettingStore:!1,internalFeature:J3r(),resourceId:cac,...e};try{await z3r(r)}catch(n){ki.error(`Error initializing telemetry settings: ${n}`)}}static createTelemetryData(e,r=!1){let n=new Date().getTime();if(this._previousEventTimestamp||(r=!1,this._previousEventTimestamp=n),!this._telemetryData){let i=$io("telemetry.unknownOs");try{i=(0,Vio.default)()}catch{}this._telemetryData={Platform:H0()?"SBAS":"VSCode",OperatingSystem:i,SessionId:this.sessionId}}if(r){let i={...this._telemetryData,...e};if(Math.abs(this._previousEventTimestamp-n)<1e3&&JSON.stringify(i)===JSON.stringify(this._telemetryData))return}return this._previousEventTimestamp=n,this._telemetryData=Object.assign(this._telemetryData,e),this._telemetryData}static prepareTelemetryEvent(e,r){this.markToolsEndTime();let n=r.markName?LC.getMeasurementDuration(r.markName):void 0;return{eventName:e,properties:r,measurements:n?{RequestTime:n}:{}}}static markToolStartTime(){this.createTelemetryData({markName:LC.startMark("MCP_LOADING_TIME")})}static markToolsEndTime(){this._telemetryData?.markName&&(LC.endMark(this._telemetryData.markName),LC.measure(this._telemetryData.markName))}static async sendTelemetry(e,r,n){let i=this.createTelemetryData(r)??r,a=this.prepareTelemetryEvent(e,i);await D8.getTelemetryClient().reportEvent(a,_M.NoSampling,n?{appPath:n}:void 0)}static getTelemetryName(){return Fio}};var Uio="2024-11-05";function lac(t){return _Te.includes(t)?t:_Te.includes(Uio)?Uio:_Te[_Te.length-1]}var Y8t=class{server;mcpClientName="unknown-client";mcpClientVersion="unknown-version";constructor(){this.server=new kTt({name:"fiori-mcp",version:pIe,icons:[{src:"https://raw.githubusercontent.com/SAP/open-ux-tools/main/packages/fiori-mcp-server/assets/icon.svg",mimeType:"image/svg+xml"},{src:"https://raw.githubusercontent.com/SAP/open-ux-tools/main/packages/fiori-mcp-server/assets/icon.png",mimeType:"image/png"}],title:"MCP Server for SAP Fiori"},{capabilities:{tools:{}}}),this.setupToolHandlers(),this.setupErrorHandling()}setupErrorHandling(){this.server.onerror=e=>ki.error(`[MCP Error] ${e}`),process.on("SIGINT",async()=>{await this.server.close(),process.exit(0)})}async setupTelemetry(){await jZ.initTelemetrySettings()}setupToolHandlers(){this.server.setRequestHandler(Nze,async e=>{this.mcpClientName=e.params.clientInfo?.name||"unknown-client",this.mcpClientVersion=e.params.clientInfo?.version||"unknown-version",ki.info(`MCP Client connected: ${this.mcpClientName} v${this.mcpClientVersion}`);let r={mcpClientName:this.mcpClientName,mcpClientVersion:this.mcpClientVersion};return await jZ.sendTelemetry(NNn,r),{protocolVersion:lac(e.params.protocolVersion),capabilities:{tools:{}},serverInfo:{name:"fiori-mcp",version:pIe},instructions:`
|
|
4311
4311
|
\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
|
|
4312
4312
|
\u{1F6A8}\u{1F6A8}\u{1F6A8} STOP - READ THIS BEFORE CALLING ANY TOOLS \u{1F6A8}\u{1F6A8}\u{1F6A8}
|
|
4313
4313
|
\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
|
package/package.json
CHANGED