@budibase/pro 3.32.1 → 3.32.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.
Files changed (2) hide show
  1. package/dist/index.js +41 -19
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- "use strict";var gx=Object.create;var ja=Object.defineProperty;var hx=Object.getOwnPropertyDescriptor;var yx=Object.getOwnPropertyNames;var vx=Object.getPrototypeOf,bx=Object.prototype.hasOwnProperty;var n=(e,t)=>ja(e,"name",{value:t,configurable:!0});var d=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),L=(e,t)=>{for(var r in t)ja(e,r,{get:t[r],enumerable:!0})},Ip=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of yx(t))!bx.call(e,o)&&o!==r&&ja(e,o,{get:()=>t[o],enumerable:!(a=hx(t,o))||a.enumerable});return e};var Te=(e,t,r)=>(r=e!=null?gx(vx(e)):{},Ip(t||!e||!e.__esModule?ja(r,"default",{value:e,enumerable:!0}):r,e)),wx=e=>Ip(ja({},"__esModule",{value:!0}),e);var So=d((wK,cd)=>{"use strict";function fE(e,t){for(var r=-1,a=t.length,o=e.length;++r<a;)e[o+r]=t[r];return e}n(fE,"arrayPush");cd.exports=fE});var Ri=d((TK,pd)=>{"use strict";var mE=typeof global=="object"&&global&&global.Object===Object&&global;pd.exports=mE});var Je=d((SK,dd)=>{"use strict";var gE=Ri(),hE=typeof self=="object"&&self&&self.Object===Object&&self,yE=gE||hE||Function("return this")();dd.exports=yE});var Mr=d((_K,fd)=>{"use strict";var vE=Je(),bE=vE.Symbol;fd.exports=bE});var yd=d((AK,hd)=>{"use strict";var md=Mr(),gd=Object.prototype,wE=gd.hasOwnProperty,IE=gd.toString,dn=md?md.toStringTag:void 0;function TE(e){var t=wE.call(e,dn),r=e[dn];try{e[dn]=void 0;var a=!0}catch{}var o=IE.call(e);return a&&(t?e[dn]=r:delete e[dn]),o}n(TE,"getRawTag");hd.exports=TE});var bd=d((EK,vd)=>{"use strict";var SE=Object.prototype,_E=SE.toString;function AE(e){return _E.call(e)}n(AE,"objectToString");vd.exports=AE});var vr=d((OK,Td)=>{"use strict";var wd=Mr(),xE=yd(),EE=bd(),RE="[object Null]",OE="[object Undefined]",Id=wd?wd.toStringTag:void 0;function CE(e){return e==null?e===void 0?OE:RE:Id&&Id in Object(e)?xE(e):EE(e)}n(CE,"baseGetTag");Td.exports=CE});var ht=d((MK,Sd)=>{"use strict";function ME(e){return e!=null&&typeof e=="object"}n(ME,"isObjectLike");Sd.exports=ME});var Ad=d((kK,_d)=>{"use strict";var PE=vr(),kE=ht(),NE="[object Arguments]";function DE(e){return kE(e)&&PE(e)==NE}n(DE,"baseIsArguments");_d.exports=DE});var fn=d((DK,Rd)=>{"use strict";var xd=Ad(),qE=ht(),Ed=Object.prototype,UE=Ed.hasOwnProperty,LE=Ed.propertyIsEnumerable,jE=xd(function(){return arguments}())?xd:function(e){return qE(e)&&UE.call(e,"callee")&&!LE.call(e,"callee")};Rd.exports=jE});var Ye=d((qK,Od)=>{"use strict";var FE=Array.isArray;Od.exports=FE});var kd=d((UK,Pd)=>{"use strict";var Cd=Mr(),BE=fn(),GE=Ye(),Md=Cd?Cd.isConcatSpreadable:void 0;function $E(e){return GE(e)||BE(e)||!!(Md&&e&&e[Md])}n($E,"isFlattenable");Pd.exports=$E});var Oi=d((jK,Dd)=>{"use strict";var WE=So(),VE=kd();function Nd(e,t,r,a,o){var s=-1,i=e.length;for(r||(r=VE),o||(o=[]);++s<i;){var u=e[s];t>0&&r(u)?t>1?Nd(u,t-1,r,a,o):WE(o,u):a||(o[o.length]=u)}return o}n(Nd,"baseFlatten");Dd.exports=Nd});var mn=d((BK,qd)=>{"use strict";function QE(e){return e}n(QE,"identity");qd.exports=QE});var _o=d(($K,Ud)=>{"use strict";function HE(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}n(HE,"apply");Ud.exports=HE});var Ci=d((VK,jd)=>{"use strict";var KE=_o(),Ld=Math.max;function JE(e,t,r){return t=Ld(t===void 0?e.length-1:t,0),function(){for(var a=arguments,o=-1,s=Ld(a.length-t,0),i=Array(s);++o<s;)i[o]=a[t+o];o=-1;for(var u=Array(t+1);++o<t;)u[o]=a[o];return u[t]=r(i),KE(e,this,u)}}n(JE,"overRest");jd.exports=JE});var Bd=d((HK,Fd)=>{"use strict";function YE(e){return function(){return e}}n(YE,"constant");Fd.exports=YE});var St=d((JK,Gd)=>{"use strict";function zE(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}n(zE,"isObject");Gd.exports=zE});var gn=d((zK,$d)=>{"use strict";var ZE=vr(),XE=St(),e0="[object AsyncFunction]",t0="[object Function]",r0="[object GeneratorFunction]",a0="[object Proxy]";function n0(e){if(!XE(e))return!1;var t=ZE(e);return t==t0||t==r0||t==e0||t==a0}n(n0,"isFunction");$d.exports=n0});var Vd=d((XK,Wd)=>{"use strict";var o0=Je(),s0=o0["__core-js_shared__"];Wd.exports=s0});var Kd=d((eJ,Hd)=>{"use strict";var Mi=Vd(),Qd=function(){var e=/[^.]+$/.exec(Mi&&Mi.keys&&Mi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function i0(e){return!!Qd&&Qd in e}n(i0,"isMasked");Hd.exports=i0});var Pi=d((rJ,Jd)=>{"use strict";var u0=Function.prototype,l0=u0.toString;function c0(e){if(e!=null){try{return l0.call(e)}catch{}try{return e+""}catch{}}return""}n(c0,"toSource");Jd.exports=c0});var zd=d((nJ,Yd)=>{"use strict";var p0=gn(),d0=Kd(),f0=St(),m0=Pi(),g0=/[\\^$.*+?()[\]{}|]/g,h0=/^\[object .+?Constructor\]$/,y0=Function.prototype,v0=Object.prototype,b0=y0.toString,w0=v0.hasOwnProperty,I0=RegExp("^"+b0.call(w0).replace(g0,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function T0(e){if(!f0(e)||d0(e))return!1;var t=p0(e)?I0:h0;return t.test(m0(e))}n(T0,"baseIsNative");Yd.exports=T0});var Xd=d((sJ,Zd)=>{"use strict";function S0(e,t){return e?.[t]}n(S0,"getValue");Zd.exports=S0});var br=d((uJ,ef)=>{"use strict";var _0=zd(),A0=Xd();function x0(e,t){var r=A0(e,t);return _0(r)?r:void 0}n(x0,"getNative");ef.exports=x0});var ki=d((cJ,tf)=>{"use strict";var E0=br(),R0=function(){try{var e=E0(Object,"defineProperty");return e({},"",{}),e}catch{}}();tf.exports=R0});var nf=d((pJ,af)=>{"use strict";var O0=Bd(),rf=ki(),C0=mn(),M0=rf?function(e,t){return rf(e,"toString",{configurable:!0,enumerable:!1,value:O0(t),writable:!0})}:C0;af.exports=M0});var Ni=d((dJ,of)=>{"use strict";var P0=800,k0=16,N0=Date.now;function D0(e){var t=0,r=0;return function(){var a=N0(),o=k0-(a-r);if(r=a,o>0){if(++t>=P0)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}n(D0,"shortOut");of.exports=D0});var Ao=d((mJ,sf)=>{"use strict";var q0=nf(),U0=Ni(),L0=U0(q0);sf.exports=L0});var Di=d((gJ,uf)=>{"use strict";var j0=mn(),F0=Ci(),B0=Ao();function G0(e,t){return B0(F0(e,t,j0),e+"")}n(G0,"baseRest");uf.exports=G0});var hn=d((yJ,lf)=>{"use strict";var $0=br(),W0=$0(Object,"create");lf.exports=W0});var df=d((vJ,pf)=>{"use strict";var cf=hn();function V0(){this.__data__=cf?cf(null):{},this.size=0}n(V0,"hashClear");pf.exports=V0});var mf=d((wJ,ff)=>{"use strict";function Q0(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}n(Q0,"hashDelete");ff.exports=Q0});var hf=d((TJ,gf)=>{"use strict";var H0=hn(),K0="__lodash_hash_undefined__",J0=Object.prototype,Y0=J0.hasOwnProperty;function z0(e){var t=this.__data__;if(H0){var r=t[e];return r===K0?void 0:r}return Y0.call(t,e)?t[e]:void 0}n(z0,"hashGet");gf.exports=z0});var vf=d((_J,yf)=>{"use strict";var Z0=hn(),X0=Object.prototype,eR=X0.hasOwnProperty;function tR(e){var t=this.__data__;return Z0?t[e]!==void 0:eR.call(t,e)}n(tR,"hashHas");yf.exports=tR});var wf=d((xJ,bf)=>{"use strict";var rR=hn(),aR="__lodash_hash_undefined__";function nR(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=rR&&t===void 0?aR:t,this}n(nR,"hashSet");bf.exports=nR});var Tf=d((RJ,If)=>{"use strict";var oR=df(),sR=mf(),iR=hf(),uR=vf(),lR=wf();function Xr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}n(Xr,"Hash");Xr.prototype.clear=oR;Xr.prototype.delete=sR;Xr.prototype.get=iR;Xr.prototype.has=uR;Xr.prototype.set=lR;If.exports=Xr});var _f=d((CJ,Sf)=>{"use strict";function cR(){this.__data__=[],this.size=0}n(cR,"listCacheClear");Sf.exports=cR});var ea=d((PJ,Af)=>{"use strict";function pR(e,t){return e===t||e!==e&&t!==t}n(pR,"eq");Af.exports=pR});var yn=d((NJ,xf)=>{"use strict";var dR=ea();function fR(e,t){for(var r=e.length;r--;)if(dR(e[r][0],t))return r;return-1}n(fR,"assocIndexOf");xf.exports=fR});var Rf=d((qJ,Ef)=>{"use strict";var mR=yn(),gR=Array.prototype,hR=gR.splice;function yR(e){var t=this.__data__,r=mR(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():hR.call(t,r,1),--this.size,!0}n(yR,"listCacheDelete");Ef.exports=yR});var Cf=d((LJ,Of)=>{"use strict";var vR=yn();function bR(e){var t=this.__data__,r=vR(t,e);return r<0?void 0:t[r][1]}n(bR,"listCacheGet");Of.exports=bR});var Pf=d((FJ,Mf)=>{"use strict";var wR=yn();function IR(e){return wR(this.__data__,e)>-1}n(IR,"listCacheHas");Mf.exports=IR});var Nf=d((GJ,kf)=>{"use strict";var TR=yn();function SR(e,t){var r=this.__data__,a=TR(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}n(SR,"listCacheSet");kf.exports=SR});var vn=d((WJ,Df)=>{"use strict";var _R=_f(),AR=Rf(),xR=Cf(),ER=Pf(),RR=Nf();function ta(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}n(ta,"ListCache");ta.prototype.clear=_R;ta.prototype.delete=AR;ta.prototype.get=xR;ta.prototype.has=ER;ta.prototype.set=RR;Df.exports=ta});var xo=d((QJ,qf)=>{"use strict";var OR=br(),CR=Je(),MR=OR(CR,"Map");qf.exports=MR});var jf=d((HJ,Lf)=>{"use strict";var Uf=Tf(),PR=vn(),kR=xo();function NR(){this.size=0,this.__data__={hash:new Uf,map:new(kR||PR),string:new Uf}}n(NR,"mapCacheClear");Lf.exports=NR});var Bf=d((JJ,Ff)=>{"use strict";function DR(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}n(DR,"isKeyable");Ff.exports=DR});var bn=d((zJ,Gf)=>{"use strict";var qR=Bf();function UR(e,t){var r=e.__data__;return qR(t)?r[typeof t=="string"?"string":"hash"]:r.map}n(UR,"getMapData");Gf.exports=UR});var Wf=d((XJ,$f)=>{"use strict";var LR=bn();function jR(e){var t=LR(this,e).delete(e);return this.size-=t?1:0,t}n(jR,"mapCacheDelete");$f.exports=jR});var Qf=d((tY,Vf)=>{"use strict";var FR=bn();function BR(e){return FR(this,e).get(e)}n(BR,"mapCacheGet");Vf.exports=BR});var Kf=d((aY,Hf)=>{"use strict";var GR=bn();function $R(e){return GR(this,e).has(e)}n($R,"mapCacheHas");Hf.exports=$R});var Yf=d((oY,Jf)=>{"use strict";var WR=bn();function VR(e,t){var r=WR(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}n(VR,"mapCacheSet");Jf.exports=VR});var Eo=d((iY,zf)=>{"use strict";var QR=jf(),HR=Wf(),KR=Qf(),JR=Kf(),YR=Yf();function ra(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}n(ra,"MapCache");ra.prototype.clear=QR;ra.prototype.delete=HR;ra.prototype.get=KR;ra.prototype.has=JR;ra.prototype.set=YR;zf.exports=ra});var Xf=d((lY,Zf)=>{"use strict";var zR="__lodash_hash_undefined__";function ZR(e){return this.__data__.set(e,zR),this}n(ZR,"setCacheAdd");Zf.exports=ZR});var tm=d((pY,em)=>{"use strict";function XR(e){return this.__data__.has(e)}n(XR,"setCacheHas");em.exports=XR});var qi=d((fY,rm)=>{"use strict";var eO=Eo(),tO=Xf(),rO=tm();function Ro(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new eO;++t<r;)this.add(e[t])}n(Ro,"SetCache");Ro.prototype.add=Ro.prototype.push=tO;Ro.prototype.has=rO;rm.exports=Ro});var nm=d((gY,am)=>{"use strict";function aO(e,t,r,a){for(var o=e.length,s=r+(a?1:-1);a?s--:++s<o;)if(t(e[s],s,e))return s;return-1}n(aO,"baseFindIndex");am.exports=aO});var sm=d((yY,om)=>{"use strict";function nO(e){return e!==e}n(nO,"baseIsNaN");om.exports=nO});var um=d((bY,im)=>{"use strict";function oO(e,t,r){for(var a=r-1,o=e.length;++a<o;)if(e[a]===t)return a;return-1}n(oO,"strictIndexOf");im.exports=oO});var cm=d((IY,lm)=>{"use strict";var sO=nm(),iO=sm(),uO=um();function lO(e,t,r){return t===t?uO(e,t,r):sO(e,iO,r)}n(lO,"baseIndexOf");lm.exports=lO});var Ui=d((SY,pm)=>{"use strict";var cO=cm();function pO(e,t){var r=e==null?0:e.length;return!!r&&cO(e,t,0)>-1}n(pO,"arrayIncludes");pm.exports=pO});var fm=d((AY,dm)=>{"use strict";function dO(e,t,r){for(var a=-1,o=e==null?0:e.length;++a<o;)if(r(t,e[a]))return!0;return!1}n(dO,"arrayIncludesWith");dm.exports=dO});var Li=d((EY,mm)=>{"use strict";function fO(e,t){return e.has(t)}n(fO,"cacheHas");mm.exports=fO});var ji=d((OY,gm)=>{"use strict";var mO=br(),gO=Je(),hO=mO(gO,"Set");gm.exports=hO});var Fi=d((CY,hm)=>{"use strict";function yO(){}n(yO,"noop");hm.exports=yO});var Oo=d((PY,ym)=>{"use strict";function vO(e){var t=-1,r=Array(e.size);return e.forEach(function(a){r[++t]=a}),r}n(vO,"setToArray");ym.exports=vO});var bm=d((NY,vm)=>{"use strict";var Bi=ji(),bO=Fi(),wO=Oo(),IO=1/0,TO=Bi&&1/wO(new Bi([,-0]))[1]==IO?function(e){return new Bi(e)}:bO;vm.exports=TO});var Im=d((DY,wm)=>{"use strict";var SO=qi(),_O=Ui(),AO=fm(),xO=Li(),EO=bm(),RO=Oo(),OO=200;function CO(e,t,r){var a=-1,o=_O,s=e.length,i=!0,u=[],l=u;if(r)i=!1,o=AO;else if(s>=OO){var c=t?null:EO(e);if(c)return RO(c);i=!1,o=xO,l=new SO}else l=t?[]:u;e:for(;++a<s;){var f=e[a],y=t?t(f):f;if(f=r||f!==0?f:0,i&&y===y){for(var h=l.length;h--;)if(l[h]===y)continue e;t&&l.push(y),u.push(f)}else o(l,y,r)||(l!==u&&l.push(y),u.push(f))}return u}n(CO,"baseUniq");wm.exports=CO});var Co=d((UY,Tm)=>{"use strict";var MO=9007199254740991;function PO(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=MO}n(PO,"isLength");Tm.exports=PO});var wn=d((jY,Sm)=>{"use strict";var kO=gn(),NO=Co();function DO(e){return e!=null&&NO(e.length)&&!kO(e)}n(DO,"isArrayLike");Sm.exports=DO});var Gi=d((BY,_m)=>{"use strict";var qO=wn(),UO=ht();function LO(e){return UO(e)&&qO(e)}n(LO,"isArrayLikeObject");_m.exports=LO});var xm=d(($Y,Am)=>{"use strict";var jO=Oi(),FO=Di(),BO=Im(),GO=Gi(),$O=FO(function(e){return BO(jO(e,1,GO,!0))});Am.exports=$O});var Rm=d((WY,Em)=>{"use strict";var WO=vn();function VO(){this.__data__=new WO,this.size=0}n(VO,"stackClear");Em.exports=VO});var Cm=d((QY,Om)=>{"use strict";function QO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}n(QO,"stackDelete");Om.exports=QO});var Pm=d((KY,Mm)=>{"use strict";function HO(e){return this.__data__.get(e)}n(HO,"stackGet");Mm.exports=HO});var Nm=d((YY,km)=>{"use strict";function KO(e){return this.__data__.has(e)}n(KO,"stackHas");km.exports=KO});var qm=d((ZY,Dm)=>{"use strict";var JO=vn(),YO=xo(),zO=Eo(),ZO=200;function XO(e,t){var r=this.__data__;if(r instanceof JO){var a=r.__data__;if(!YO||a.length<ZO-1)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new zO(a)}return r.set(e,t),this.size=r.size,this}n(XO,"stackSet");Dm.exports=XO});var In=d((ez,Um)=>{"use strict";var eC=vn(),tC=Rm(),rC=Cm(),aC=Pm(),nC=Nm(),oC=qm();function aa(e){var t=this.__data__=new eC(e);this.size=t.size}n(aa,"Stack");aa.prototype.clear=tC;aa.prototype.delete=rC;aa.prototype.get=aC;aa.prototype.has=nC;aa.prototype.set=oC;Um.exports=aa});var Mo=d((rz,jm)=>{"use strict";var Lm=ki();function sC(e,t,r){t=="__proto__"&&Lm?Lm(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}n(sC,"baseAssignValue");jm.exports=sC});var $i=d((nz,Fm)=>{"use strict";var iC=Mo(),uC=ea();function lC(e,t,r){(r!==void 0&&!uC(e[t],r)||r===void 0&&!(t in e))&&iC(e,t,r)}n(lC,"assignMergeValue");Fm.exports=lC});var Gm=d((sz,Bm)=>{"use strict";function cC(e){return function(t,r,a){for(var o=-1,s=Object(t),i=a(t),u=i.length;u--;){var l=i[e?u:++o];if(r(s[l],l,s)===!1)break}return t}}n(cC,"createBaseFor");Bm.exports=cC});var Wm=d((uz,$m)=>{"use strict";var pC=Gm(),dC=pC();$m.exports=dC});var Wi=d((Tn,na)=>{"use strict";var fC=Je(),Km=typeof Tn=="object"&&Tn&&!Tn.nodeType&&Tn,Vm=Km&&typeof na=="object"&&na&&!na.nodeType&&na,mC=Vm&&Vm.exports===Km,Qm=mC?fC.Buffer:void 0,Hm=Qm?Qm.allocUnsafe:void 0;function gC(e,t){if(t)return e.slice();var r=e.length,a=Hm?Hm(r):new e.constructor(r);return e.copy(a),a}n(gC,"cloneBuffer");na.exports=gC});var Vi=d((cz,Jm)=>{"use strict";var hC=Je(),yC=hC.Uint8Array;Jm.exports=yC});var Po=d((pz,zm)=>{"use strict";var Ym=Vi();function vC(e){var t=new e.constructor(e.byteLength);return new Ym(t).set(new Ym(e)),t}n(vC,"cloneArrayBuffer");zm.exports=vC});var Qi=d((fz,Zm)=>{"use strict";var bC=Po();function wC(e,t){var r=t?bC(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}n(wC,"cloneTypedArray");Zm.exports=wC});var oa=d((gz,Xm)=>{"use strict";function IC(e,t){var r=-1,a=e.length;for(t||(t=Array(a));++r<a;)t[r]=e[r];return t}n(IC,"copyArray");Xm.exports=IC});var Sn=d((yz,tg)=>{"use strict";var TC=St(),eg=Object.create,SC=function(){function e(){}return n(e,"object"),function(t){if(!TC(t))return{};if(eg)return eg(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();tg.exports=SC});var Hi=d((bz,rg)=>{"use strict";function _C(e,t){return function(r){return e(t(r))}}n(_C,"overArg");rg.exports=_C});var ko=d((Iz,ag)=>{"use strict";var AC=Hi(),xC=AC(Object.getPrototypeOf,Object);ag.exports=xC});var No=d((Tz,ng)=>{"use strict";var EC=Object.prototype;function RC(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||EC;return e===r}n(RC,"isPrototype");ng.exports=RC});var Ki=d((_z,og)=>{"use strict";var OC=Sn(),CC=ko(),MC=No();function PC(e){return typeof e.constructor=="function"&&!MC(e)?OC(CC(e)):{}}n(PC,"initCloneObject");og.exports=PC});var ig=d((xz,sg)=>{"use strict";function kC(){return!1}n(kC,"stubFalse");sg.exports=kC});var An=d((_n,sa)=>{"use strict";var NC=Je(),DC=ig(),cg=typeof _n=="object"&&_n&&!_n.nodeType&&_n,ug=cg&&typeof sa=="object"&&sa&&!sa.nodeType&&sa,qC=ug&&ug.exports===cg,lg=qC?NC.Buffer:void 0,UC=lg?lg.isBuffer:void 0,LC=UC||DC;sa.exports=LC});var Ji=d((Rz,dg)=>{"use strict";var jC=vr(),FC=ko(),BC=ht(),GC="[object Object]",$C=Function.prototype,WC=Object.prototype,pg=$C.toString,VC=WC.hasOwnProperty,QC=pg.call(Object);function HC(e){if(!BC(e)||jC(e)!=GC)return!1;var t=FC(e);if(t===null)return!0;var r=VC.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&pg.call(r)==QC}n(HC,"isPlainObject");dg.exports=HC});var mg=d((Cz,fg)=>{"use strict";var KC=vr(),JC=Co(),YC=ht(),zC="[object Arguments]",ZC="[object Array]",XC="[object Boolean]",eM="[object Date]",tM="[object Error]",rM="[object Function]",aM="[object Map]",nM="[object Number]",oM="[object Object]",sM="[object RegExp]",iM="[object Set]",uM="[object String]",lM="[object WeakMap]",cM="[object ArrayBuffer]",pM="[object DataView]",dM="[object Float32Array]",fM="[object Float64Array]",mM="[object Int8Array]",gM="[object Int16Array]",hM="[object Int32Array]",yM="[object Uint8Array]",vM="[object Uint8ClampedArray]",bM="[object Uint16Array]",wM="[object Uint32Array]",he={};he[dM]=he[fM]=he[mM]=he[gM]=he[hM]=he[yM]=he[vM]=he[bM]=he[wM]=!0;he[zC]=he[ZC]=he[cM]=he[XC]=he[pM]=he[eM]=he[tM]=he[rM]=he[aM]=he[nM]=he[oM]=he[sM]=he[iM]=he[uM]=he[lM]=!1;function IM(e){return YC(e)&&JC(e.length)&&!!he[KC(e)]}n(IM,"baseIsTypedArray");fg.exports=IM});var Do=d((Pz,gg)=>{"use strict";function TM(e){return function(t){return e(t)}}n(TM,"baseUnary");gg.exports=TM});var qo=d((xn,ia)=>{"use strict";var SM=Ri(),hg=typeof xn=="object"&&xn&&!xn.nodeType&&xn,En=hg&&typeof ia=="object"&&ia&&!ia.nodeType&&ia,_M=En&&En.exports===hg,Yi=_M&&SM.process,AM=function(){try{var e=En&&En.require&&En.require("util").types;return e||Yi&&Yi.binding&&Yi.binding("util")}catch{}}();ia.exports=AM});var Uo=d((Nz,bg)=>{"use strict";var xM=mg(),EM=Do(),yg=qo(),vg=yg&&yg.isTypedArray,RM=vg?EM(vg):xM;bg.exports=RM});var zi=d((Dz,wg)=>{"use strict";function OM(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}n(OM,"safeGet");wg.exports=OM});var Zi=d((Uz,Ig)=>{"use strict";var CM=Mo(),MM=ea(),PM=Object.prototype,kM=PM.hasOwnProperty;function NM(e,t,r){var a=e[t];(!(kM.call(e,t)&&MM(a,r))||r===void 0&&!(t in e))&&CM(e,t,r)}n(NM,"assignValue");Ig.exports=NM});var ua=d((jz,Tg)=>{"use strict";var DM=Zi(),qM=Mo();function UM(e,t,r,a){var o=!r;r||(r={});for(var s=-1,i=t.length;++s<i;){var u=t[s],l=a?a(r[u],e[u],u,r,e):void 0;l===void 0&&(l=e[u]),o?qM(r,u,l):DM(r,u,l)}return r}n(UM,"copyObject");Tg.exports=UM});var _g=d((Bz,Sg)=>{"use strict";function LM(e,t){for(var r=-1,a=Array(e);++r<e;)a[r]=t(r);return a}n(LM,"baseTimes");Sg.exports=LM});var Rn=d(($z,Ag)=>{"use strict";var jM=9007199254740991,FM=/^(?:0|[1-9]\d*)$/;function BM(e,t){var r=typeof e;return t=t??jM,!!t&&(r=="number"||r!="symbol"&&FM.test(e))&&e>-1&&e%1==0&&e<t}n(BM,"isIndex");Ag.exports=BM});var Xi=d((Vz,xg)=>{"use strict";var GM=_g(),$M=fn(),WM=Ye(),VM=An(),QM=Rn(),HM=Uo(),KM=Object.prototype,JM=KM.hasOwnProperty;function YM(e,t){var r=WM(e),a=!r&&$M(e),o=!r&&!a&&VM(e),s=!r&&!a&&!o&&HM(e),i=r||a||o||s,u=i?GM(e.length,String):[],l=u.length;for(var c in e)(t||JM.call(e,c))&&!(i&&(c=="length"||o&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||QM(c,l)))&&u.push(c);return u}n(YM,"arrayLikeKeys");xg.exports=YM});var Rg=d((Hz,Eg)=>{"use strict";function zM(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}n(zM,"nativeKeysIn");Eg.exports=zM});var Cg=d((Jz,Og)=>{"use strict";var ZM=St(),XM=No(),eP=Rg(),tP=Object.prototype,rP=tP.hasOwnProperty;function aP(e){if(!ZM(e))return eP(e);var t=XM(e),r=[];for(var a in e)a=="constructor"&&(t||!rP.call(e,a))||r.push(a);return r}n(aP,"baseKeysIn");Og.exports=aP});var la=d((zz,Mg)=>{"use strict";var nP=Xi(),oP=Cg(),sP=wn();function iP(e){return sP(e)?nP(e,!0):oP(e)}n(iP,"keysIn");Mg.exports=iP});var kg=d((Xz,Pg)=>{"use strict";var uP=ua(),lP=la();function cP(e){return uP(e,lP(e))}n(cP,"toPlainObject");Pg.exports=cP});var jg=d((t6,Lg)=>{"use strict";var Ng=$i(),pP=Wi(),dP=Qi(),fP=oa(),mP=Ki(),Dg=fn(),qg=Ye(),gP=Gi(),hP=An(),yP=gn(),vP=St(),bP=Ji(),wP=Uo(),Ug=zi(),IP=kg();function TP(e,t,r,a,o,s,i){var u=Ug(e,r),l=Ug(t,r),c=i.get(l);if(c){Ng(e,r,c);return}var f=s?s(u,l,r+"",e,t,i):void 0,y=f===void 0;if(y){var h=qg(l),b=!h&&hP(l),D=!h&&!b&&wP(l);f=l,h||b||D?qg(u)?f=u:gP(u)?f=fP(u):b?(y=!1,f=pP(l,!0)):D?(y=!1,f=dP(l,!0)):f=[]:bP(l)||Dg(l)?(f=u,Dg(u)?f=IP(u):(!vP(u)||yP(u))&&(f=mP(l))):y=!1}y&&(i.set(l,f),o(f,l,a,s,i),i.delete(l)),Ng(e,r,f)}n(TP,"baseMergeDeep");Lg.exports=TP});var Gg=d((a6,Bg)=>{"use strict";var SP=In(),_P=$i(),AP=Wm(),xP=jg(),EP=St(),RP=la(),OP=zi();function Fg(e,t,r,a,o){e!==t&&AP(t,function(s,i){if(o||(o=new SP),EP(s))xP(e,t,i,r,Fg,a,o);else{var u=a?a(OP(e,i),s,i+"",e,t,o):void 0;u===void 0&&(u=s),_P(e,i,u)}},RP)}n(Fg,"baseMerge");Bg.exports=Fg});var Wg=d((o6,$g)=>{"use strict";var CP=ea(),MP=wn(),PP=Rn(),kP=St();function NP(e,t,r){if(!kP(r))return!1;var a=typeof t;return(a=="number"?MP(r)&&PP(t,r.length):a=="string"&&t in r)?CP(r[t],e):!1}n(NP,"isIterateeCall");$g.exports=NP});var Qg=d((i6,Vg)=>{"use strict";var DP=Di(),qP=Wg();function UP(e){return DP(function(t,r){var a=-1,o=r.length,s=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(s=e.length>3&&typeof s=="function"?(o--,s):void 0,i&&qP(r[0],r[1],i)&&(s=o<3?void 0:s,o=1),t=Object(t);++a<o;){var u=r[a];u&&e(t,u,a,s)}return t})}n(UP,"createAssigner");Vg.exports=UP});var eu=d((l6,Hg)=>{"use strict";var LP=Gg(),jP=Qg(),FP=jP(function(e,t,r){LP(e,t,r)});Hg.exports=FP});var Zh=d(st=>{"use strict";st.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"};st.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]};st.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]};st.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2};st.iterateeRearg={mapKeys:[1],reduceRight:[1,0]};st.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]};st.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}};st.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}};st.realToAlias=function(){var e=Object.prototype.hasOwnProperty,t=st.aliasToReal,r={};for(var a in t){var o=t[a];e.call(r,o)?r[o].push(a):r[o]=[a]}return r}();st.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"};st.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0};st.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}});var Hu=d((g8,Xh)=>{"use strict";Xh.exports={}});var ay=d((h8,ry)=>{"use strict";var Ue=Zh(),NN=Hu(),ey=Array.prototype.push;function DN(e,t){return t==2?function(r,a){return e.apply(void 0,arguments)}:function(r){return e.apply(void 0,arguments)}}n(DN,"baseArity");function Ku(e,t){return t==2?function(r,a){return e(r,a)}:function(r){return e(r)}}n(Ku,"baseAry");function ty(e){for(var t=e?e.length:0,r=Array(t);t--;)r[t]=e[t];return r}n(ty,"cloneArray");function qN(e){return function(t){return e({},t)}}n(qN,"createCloner");function UN(e,t){return function(){for(var r=arguments.length,a=r-1,o=Array(r);r--;)o[r]=arguments[r];var s=o[t],i=o.slice(0,t);return s&&ey.apply(i,s),t!=a&&ey.apply(i,o.slice(t+1)),e.apply(this,i)}}n(UN,"flatSpread");function Ju(e,t){return function(){var r=arguments.length;if(r){for(var a=Array(r);r--;)a[r]=arguments[r];var o=a[0]=t.apply(void 0,a);return e.apply(void 0,a),o}}}n(Ju,"wrapImmutable");function Yu(e,t,r,a){var o=typeof t=="function",s=t===Object(t);if(s&&(a=r,r=t,t=void 0),r==null)throw new TypeError;a||(a={});var i={cap:"cap"in a?a.cap:!0,curry:"curry"in a?a.curry:!0,fixed:"fixed"in a?a.fixed:!0,immutable:"immutable"in a?a.immutable:!0,rearg:"rearg"in a?a.rearg:!0},u=o?r:NN,l="curry"in a&&a.curry,c="fixed"in a&&a.fixed,f="rearg"in a&&a.rearg,y=o?r.runInContext():void 0,h=o?r:{ary:e.ary,assign:e.assign,clone:e.clone,curry:e.curry,forEach:e.forEach,isArray:e.isArray,isError:e.isError,isFunction:e.isFunction,isWeakMap:e.isWeakMap,iteratee:e.iteratee,keys:e.keys,rearg:e.rearg,toInteger:e.toInteger,toPath:e.toPath},b=h.ary,D=h.assign,I=h.clone,S=h.curry,E=h.forEach,U=h.isArray,V=h.isError,de=h.isFunction,Z=h.isWeakMap,X=h.keys,ut=h.rearg,fe=h.toInteger,te=h.toPath,Bt=X(Ue.aryMethod),Er={castArray:function(P){return function(){var A=arguments[0];return U(A)?P(ty(A)):P.apply(void 0,arguments)}},iteratee:function(P){return function(){var A=arguments[0],x=arguments[1],N=P(A,x),B=N.length;return i.cap&&typeof x=="number"?(x=x>2?x-2:1,B&&B<=x?N:Ku(N,x)):N}},mixin:function(P){return function(A){var x=this;if(!de(x))return P(x,Object(A));var N=[];return E(X(A),function(B){de(A[B])&&N.push([B,x.prototype[B]])}),P(x,Object(A)),E(N,function(B){var ve=B[1];de(ve)?x.prototype[B[0]]=ve:delete x.prototype[B[0]]}),x}},nthArg:function(P){return function(A){var x=A<0?1:fe(A)+1;return S(P(A),x)}},rearg:function(P){return function(A,x){var N=x?x.length:0;return S(P(A,x),N)}},runInContext:function(P){return function(A){return Yu(e,P(A),a)}}};function j(P,A){if(i.cap){var x=Ue.iterateeRearg[P];if(x)return ne(A,x);var N=!o&&Ue.iterateeAry[P];if(N)return re(A,N)}return A}n(j,"castCap");function O(P,A,x){return l||i.curry&&x>1?S(A,x):A}n(O,"castCurry");function _(P,A,x){if(i.fixed&&(c||!Ue.skipFixed[P])){var N=Ue.methodSpread[P],B=N&&N.start;return B===void 0?b(A,x):UN(A,B)}return A}n(_,"castFixed");function M(P,A,x){return i.rearg&&x>1&&(f||!Ue.skipRearg[P])?ut(A,Ue.methodRearg[P]||Ue.aryRearg[x]):A}n(M,"castRearg");function R(P,A){A=te(A);for(var x=-1,N=A.length,B=N-1,ve=I(Object(P)),Le=ve;Le!=null&&++x<N;){var He=A[x],lt=Le[He];lt!=null&&!(de(lt)||V(lt)||Z(lt))&&(Le[He]=I(x==B?lt:Object(lt))),Le=Le[He]}return ve}n(R,"cloneByPath");function G(P){return K.runInContext.convert(P)(void 0)}n(G,"convertLib");function F(P,A){var x=Ue.aliasToReal[P]||P,N=Ue.remap[x]||x,B=a;return function(ve){var Le=o?y:h,He=o?y[N]:A,lt=D(D({},B),ve);return Yu(Le,x,He,lt)}}n(F,"createConverter");function re(P,A){return ye(P,function(x){return typeof x=="function"?Ku(x,A):x})}n(re,"iterateeAry");function ne(P,A){return ye(P,function(x){var N=A.length;return DN(ut(Ku(x,N),A),N)})}n(ne,"iterateeRearg");function ye(P,A){return function(){var x=arguments.length;if(!x)return P();for(var N=Array(x);x--;)N[x]=arguments[x];var B=i.rearg?0:x-1;return N[B]=A(N[B]),P.apply(void 0,N)}}n(ye,"overArg");function Ee(P,A,x){var N,B=Ue.aliasToReal[P]||P,ve=A,Le=Er[B];return Le?ve=Le(A):i.immutable&&(Ue.mutate.array[B]?ve=Ju(A,ty):Ue.mutate.object[B]?ve=Ju(A,qN(A)):Ue.mutate.set[B]&&(ve=Ju(A,R))),E(Bt,function(He){return E(Ue.aryMethod[He],function(lt){if(B==lt){var ka=Ue.methodSpread[B],oo=ka&&ka.afterRearg;return N=oo?_(B,M(B,ve,He),He):M(B,_(B,ve,He),He),N=j(B,N),N=O(B,N,He),!1}}),!N}),N||(N=ve),N==A&&(N=l?S(N,1):function(){return A.apply(this,arguments)}),N.convert=F(B,A),N.placeholder=A.placeholder=x,N}if(n(Ee,"wrap"),!s)return Ee(t,r,u);var K=r,Qe=[];return E(Bt,function(P){E(Ue.aryMethod[P],function(A){var x=K[Ue.remap[A]||A];x&&Qe.push([A,Ee(A,x,K)])})}),E(X(K),function(P){var A=K[P];if(typeof A=="function"){for(var x=Qe.length;x--;)if(Qe[x][0]==P)return;A.convert=F(P,A),Qe.push([P,A])}}),E(Qe,function(P){K[P[0]]=P[1]}),K.convert=G,K.placeholder=K,E(X(K),function(P){E(Ue.realToAlias[P]||[],function(A){K[A]=K[P]})}),K}n(Yu,"baseConvert");ry.exports=Yu});var zu=d((v8,ny)=>{"use strict";var LN=br(),jN=Je(),FN=LN(jN,"WeakMap");ny.exports=FN});var Zu=d((b8,sy)=>{"use strict";var oy=zu(),BN=oy&&new oy;sy.exports=BN});var Xu=d((w8,uy)=>{"use strict";var GN=mn(),iy=Zu(),$N=iy?function(e,t){return iy.set(e,t),e}:GN;uy.exports=$N});var Fn=d((I8,ly)=>{"use strict";var WN=Sn(),VN=St();function QN(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=WN(e.prototype),a=e.apply(r,t);return VN(a)?a:r}}n(QN,"createCtor");ly.exports=QN});var py=d((S8,cy)=>{"use strict";var HN=Fn(),KN=Je(),JN=1;function YN(e,t,r){var a=t&JN,o=HN(e);function s(){var i=this&&this!==KN&&this instanceof s?o:e;return i.apply(a?r:this,arguments)}return n(s,"wrapper"),s}n(YN,"createBind");cy.exports=YN});var el=d((A8,dy)=>{"use strict";var zN=Math.max;function ZN(e,t,r,a){for(var o=-1,s=e.length,i=r.length,u=-1,l=t.length,c=zN(s-i,0),f=Array(l+c),y=!a;++u<l;)f[u]=t[u];for(;++o<i;)(y||o<s)&&(f[r[o]]=e[o]);for(;c--;)f[u++]=e[o++];return f}n(ZN,"composeArgs");dy.exports=ZN});var tl=d((E8,fy)=>{"use strict";var XN=Math.max;function eD(e,t,r,a){for(var o=-1,s=e.length,i=-1,u=r.length,l=-1,c=t.length,f=XN(s-u,0),y=Array(f+c),h=!a;++o<f;)y[o]=e[o];for(var b=o;++l<c;)y[b+l]=t[l];for(;++i<u;)(h||o<s)&&(y[b+r[i]]=e[o++]);return y}n(eD,"composeArgsRight");fy.exports=eD});var gy=d((O8,my)=>{"use strict";function tD(e,t){for(var r=e.length,a=0;r--;)e[r]===t&&++a;return a}n(tD,"countHolders");my.exports=tD});var ds=d((M8,hy)=>{"use strict";function rD(){}n(rD,"baseLodash");hy.exports=rD});var ms=d((k8,yy)=>{"use strict";var aD=Sn(),nD=ds(),oD=4294967295;function fs(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=oD,this.__views__=[]}n(fs,"LazyWrapper");fs.prototype=aD(nD.prototype);fs.prototype.constructor=fs;yy.exports=fs});var rl=d((D8,by)=>{"use strict";var vy=Zu(),sD=Fi(),iD=vy?function(e){return vy.get(e)}:sD;by.exports=iD});var Iy=d((q8,wy)=>{"use strict";var uD={};wy.exports=uD});var _y=d((U8,Sy)=>{"use strict";var Ty=Iy(),lD=Object.prototype,cD=lD.hasOwnProperty;function pD(e){for(var t=e.name+"",r=Ty[t],a=cD.call(Ty,t)?r.length:0;a--;){var o=r[a],s=o.func;if(s==null||s==e)return o.name}return t}n(pD,"getFuncName");Sy.exports=pD});var al=d((j8,Ay)=>{"use strict";var dD=Sn(),fD=ds();function gs(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}n(gs,"LodashWrapper");gs.prototype=dD(fD.prototype);gs.prototype.constructor=gs;Ay.exports=gs});var Ey=d((B8,xy)=>{"use strict";var mD=ms(),gD=al(),hD=oa();function yD(e){if(e instanceof mD)return e.clone();var t=new gD(e.__wrapped__,e.__chain__);return t.__actions__=hD(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}n(yD,"wrapperClone");xy.exports=yD});var Cy=d(($8,Oy)=>{"use strict";var vD=ms(),Ry=al(),bD=ds(),wD=Ye(),ID=ht(),TD=Ey(),SD=Object.prototype,_D=SD.hasOwnProperty;function hs(e){if(ID(e)&&!wD(e)&&!(e instanceof vD)){if(e instanceof Ry)return e;if(_D.call(e,"__wrapped__"))return TD(e)}return new Ry(e)}n(hs,"lodash");hs.prototype=bD.prototype;hs.prototype.constructor=hs;Oy.exports=hs});var Py=d((V8,My)=>{"use strict";var AD=ms(),xD=rl(),ED=_y(),RD=Cy();function OD(e){var t=ED(e),r=RD[t];if(typeof r!="function"||!(t in AD.prototype))return!1;if(e===r)return!0;var a=xD(r);return!!a&&e===a[0]}n(OD,"isLaziable");My.exports=OD});var nl=d((H8,ky)=>{"use strict";var CD=Xu(),MD=Ni(),PD=MD(CD);ky.exports=PD});var Dy=d((K8,Ny)=>{"use strict";var kD=/\{\n\/\* \[wrapped with (.+)\] \*/,ND=/,? & /;function DD(e){var t=e.match(kD);return t?t[1].split(ND):[]}n(DD,"getWrapDetails");Ny.exports=DD});var Uy=d((Y8,qy)=>{"use strict";var qD=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function UD(e,t){var r=t.length;if(!r)return e;var a=r-1;return t[a]=(r>1?"& ":"")+t[a],t=t.join(r>2?", ":" "),e.replace(qD,`{
1
+ "use strict";var gx=Object.create;var Fa=Object.defineProperty;var hx=Object.getOwnPropertyDescriptor;var yx=Object.getOwnPropertyNames;var vx=Object.getPrototypeOf,bx=Object.prototype.hasOwnProperty;var n=(e,t)=>Fa(e,"name",{value:t,configurable:!0});var d=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),L=(e,t)=>{for(var r in t)Fa(e,r,{get:t[r],enumerable:!0})},Ip=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of yx(t))!bx.call(e,o)&&o!==r&&Fa(e,o,{get:()=>t[o],enumerable:!(a=hx(t,o))||a.enumerable});return e};var Te=(e,t,r)=>(r=e!=null?gx(vx(e)):{},Ip(t||!e||!e.__esModule?Fa(r,"default",{value:e,enumerable:!0}):r,e)),wx=e=>Ip(Fa({},"__esModule",{value:!0}),e);var So=d((wK,cd)=>{"use strict";function fE(e,t){for(var r=-1,a=t.length,o=e.length;++r<a;)e[o+r]=t[r];return e}n(fE,"arrayPush");cd.exports=fE});var Ri=d((TK,pd)=>{"use strict";var mE=typeof global=="object"&&global&&global.Object===Object&&global;pd.exports=mE});var Je=d((SK,dd)=>{"use strict";var gE=Ri(),hE=typeof self=="object"&&self&&self.Object===Object&&self,yE=gE||hE||Function("return this")();dd.exports=yE});var Mr=d((_K,fd)=>{"use strict";var vE=Je(),bE=vE.Symbol;fd.exports=bE});var yd=d((AK,hd)=>{"use strict";var md=Mr(),gd=Object.prototype,wE=gd.hasOwnProperty,IE=gd.toString,dn=md?md.toStringTag:void 0;function TE(e){var t=wE.call(e,dn),r=e[dn];try{e[dn]=void 0;var a=!0}catch{}var o=IE.call(e);return a&&(t?e[dn]=r:delete e[dn]),o}n(TE,"getRawTag");hd.exports=TE});var bd=d((EK,vd)=>{"use strict";var SE=Object.prototype,_E=SE.toString;function AE(e){return _E.call(e)}n(AE,"objectToString");vd.exports=AE});var vr=d((OK,Td)=>{"use strict";var wd=Mr(),xE=yd(),EE=bd(),RE="[object Null]",OE="[object Undefined]",Id=wd?wd.toStringTag:void 0;function CE(e){return e==null?e===void 0?OE:RE:Id&&Id in Object(e)?xE(e):EE(e)}n(CE,"baseGetTag");Td.exports=CE});var ht=d((MK,Sd)=>{"use strict";function ME(e){return e!=null&&typeof e=="object"}n(ME,"isObjectLike");Sd.exports=ME});var Ad=d((kK,_d)=>{"use strict";var PE=vr(),kE=ht(),NE="[object Arguments]";function DE(e){return kE(e)&&PE(e)==NE}n(DE,"baseIsArguments");_d.exports=DE});var fn=d((DK,Rd)=>{"use strict";var xd=Ad(),qE=ht(),Ed=Object.prototype,UE=Ed.hasOwnProperty,LE=Ed.propertyIsEnumerable,FE=xd(function(){return arguments}())?xd:function(e){return qE(e)&&UE.call(e,"callee")&&!LE.call(e,"callee")};Rd.exports=FE});var ze=d((qK,Od)=>{"use strict";var jE=Array.isArray;Od.exports=jE});var kd=d((UK,Pd)=>{"use strict";var Cd=Mr(),BE=fn(),GE=ze(),Md=Cd?Cd.isConcatSpreadable:void 0;function $E(e){return GE(e)||BE(e)||!!(Md&&e&&e[Md])}n($E,"isFlattenable");Pd.exports=$E});var Oi=d((FK,Dd)=>{"use strict";var WE=So(),VE=kd();function Nd(e,t,r,a,o){var s=-1,i=e.length;for(r||(r=VE),o||(o=[]);++s<i;){var u=e[s];t>0&&r(u)?t>1?Nd(u,t-1,r,a,o):WE(o,u):a||(o[o.length]=u)}return o}n(Nd,"baseFlatten");Dd.exports=Nd});var mn=d((BK,qd)=>{"use strict";function QE(e){return e}n(QE,"identity");qd.exports=QE});var _o=d(($K,Ud)=>{"use strict";function HE(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}n(HE,"apply");Ud.exports=HE});var Ci=d((VK,Fd)=>{"use strict";var KE=_o(),Ld=Math.max;function JE(e,t,r){return t=Ld(t===void 0?e.length-1:t,0),function(){for(var a=arguments,o=-1,s=Ld(a.length-t,0),i=Array(s);++o<s;)i[o]=a[t+o];o=-1;for(var u=Array(t+1);++o<t;)u[o]=a[o];return u[t]=r(i),KE(e,this,u)}}n(JE,"overRest");Fd.exports=JE});var Bd=d((HK,jd)=>{"use strict";function zE(e){return function(){return e}}n(zE,"constant");jd.exports=zE});var St=d((JK,Gd)=>{"use strict";function YE(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}n(YE,"isObject");Gd.exports=YE});var gn=d((YK,$d)=>{"use strict";var ZE=vr(),XE=St(),e0="[object AsyncFunction]",t0="[object Function]",r0="[object GeneratorFunction]",a0="[object Proxy]";function n0(e){if(!XE(e))return!1;var t=ZE(e);return t==t0||t==r0||t==e0||t==a0}n(n0,"isFunction");$d.exports=n0});var Vd=d((XK,Wd)=>{"use strict";var o0=Je(),s0=o0["__core-js_shared__"];Wd.exports=s0});var Kd=d((eJ,Hd)=>{"use strict";var Mi=Vd(),Qd=function(){var e=/[^.]+$/.exec(Mi&&Mi.keys&&Mi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function i0(e){return!!Qd&&Qd in e}n(i0,"isMasked");Hd.exports=i0});var Pi=d((rJ,Jd)=>{"use strict";var u0=Function.prototype,l0=u0.toString;function c0(e){if(e!=null){try{return l0.call(e)}catch{}try{return e+""}catch{}}return""}n(c0,"toSource");Jd.exports=c0});var Yd=d((nJ,zd)=>{"use strict";var p0=gn(),d0=Kd(),f0=St(),m0=Pi(),g0=/[\\^$.*+?()[\]{}|]/g,h0=/^\[object .+?Constructor\]$/,y0=Function.prototype,v0=Object.prototype,b0=y0.toString,w0=v0.hasOwnProperty,I0=RegExp("^"+b0.call(w0).replace(g0,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function T0(e){if(!f0(e)||d0(e))return!1;var t=p0(e)?I0:h0;return t.test(m0(e))}n(T0,"baseIsNative");zd.exports=T0});var Xd=d((sJ,Zd)=>{"use strict";function S0(e,t){return e?.[t]}n(S0,"getValue");Zd.exports=S0});var br=d((uJ,ef)=>{"use strict";var _0=Yd(),A0=Xd();function x0(e,t){var r=A0(e,t);return _0(r)?r:void 0}n(x0,"getNative");ef.exports=x0});var ki=d((cJ,tf)=>{"use strict";var E0=br(),R0=function(){try{var e=E0(Object,"defineProperty");return e({},"",{}),e}catch{}}();tf.exports=R0});var nf=d((pJ,af)=>{"use strict";var O0=Bd(),rf=ki(),C0=mn(),M0=rf?function(e,t){return rf(e,"toString",{configurable:!0,enumerable:!1,value:O0(t),writable:!0})}:C0;af.exports=M0});var Ni=d((dJ,of)=>{"use strict";var P0=800,k0=16,N0=Date.now;function D0(e){var t=0,r=0;return function(){var a=N0(),o=k0-(a-r);if(r=a,o>0){if(++t>=P0)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}n(D0,"shortOut");of.exports=D0});var Ao=d((mJ,sf)=>{"use strict";var q0=nf(),U0=Ni(),L0=U0(q0);sf.exports=L0});var Di=d((gJ,uf)=>{"use strict";var F0=mn(),j0=Ci(),B0=Ao();function G0(e,t){return B0(j0(e,t,F0),e+"")}n(G0,"baseRest");uf.exports=G0});var hn=d((yJ,lf)=>{"use strict";var $0=br(),W0=$0(Object,"create");lf.exports=W0});var df=d((vJ,pf)=>{"use strict";var cf=hn();function V0(){this.__data__=cf?cf(null):{},this.size=0}n(V0,"hashClear");pf.exports=V0});var mf=d((wJ,ff)=>{"use strict";function Q0(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}n(Q0,"hashDelete");ff.exports=Q0});var hf=d((TJ,gf)=>{"use strict";var H0=hn(),K0="__lodash_hash_undefined__",J0=Object.prototype,z0=J0.hasOwnProperty;function Y0(e){var t=this.__data__;if(H0){var r=t[e];return r===K0?void 0:r}return z0.call(t,e)?t[e]:void 0}n(Y0,"hashGet");gf.exports=Y0});var vf=d((_J,yf)=>{"use strict";var Z0=hn(),X0=Object.prototype,eR=X0.hasOwnProperty;function tR(e){var t=this.__data__;return Z0?t[e]!==void 0:eR.call(t,e)}n(tR,"hashHas");yf.exports=tR});var wf=d((xJ,bf)=>{"use strict";var rR=hn(),aR="__lodash_hash_undefined__";function nR(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=rR&&t===void 0?aR:t,this}n(nR,"hashSet");bf.exports=nR});var Tf=d((RJ,If)=>{"use strict";var oR=df(),sR=mf(),iR=hf(),uR=vf(),lR=wf();function Xr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}n(Xr,"Hash");Xr.prototype.clear=oR;Xr.prototype.delete=sR;Xr.prototype.get=iR;Xr.prototype.has=uR;Xr.prototype.set=lR;If.exports=Xr});var _f=d((CJ,Sf)=>{"use strict";function cR(){this.__data__=[],this.size=0}n(cR,"listCacheClear");Sf.exports=cR});var ea=d((PJ,Af)=>{"use strict";function pR(e,t){return e===t||e!==e&&t!==t}n(pR,"eq");Af.exports=pR});var yn=d((NJ,xf)=>{"use strict";var dR=ea();function fR(e,t){for(var r=e.length;r--;)if(dR(e[r][0],t))return r;return-1}n(fR,"assocIndexOf");xf.exports=fR});var Rf=d((qJ,Ef)=>{"use strict";var mR=yn(),gR=Array.prototype,hR=gR.splice;function yR(e){var t=this.__data__,r=mR(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():hR.call(t,r,1),--this.size,!0}n(yR,"listCacheDelete");Ef.exports=yR});var Cf=d((LJ,Of)=>{"use strict";var vR=yn();function bR(e){var t=this.__data__,r=vR(t,e);return r<0?void 0:t[r][1]}n(bR,"listCacheGet");Of.exports=bR});var Pf=d((jJ,Mf)=>{"use strict";var wR=yn();function IR(e){return wR(this.__data__,e)>-1}n(IR,"listCacheHas");Mf.exports=IR});var Nf=d((GJ,kf)=>{"use strict";var TR=yn();function SR(e,t){var r=this.__data__,a=TR(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}n(SR,"listCacheSet");kf.exports=SR});var vn=d((WJ,Df)=>{"use strict";var _R=_f(),AR=Rf(),xR=Cf(),ER=Pf(),RR=Nf();function ta(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}n(ta,"ListCache");ta.prototype.clear=_R;ta.prototype.delete=AR;ta.prototype.get=xR;ta.prototype.has=ER;ta.prototype.set=RR;Df.exports=ta});var xo=d((QJ,qf)=>{"use strict";var OR=br(),CR=Je(),MR=OR(CR,"Map");qf.exports=MR});var Ff=d((HJ,Lf)=>{"use strict";var Uf=Tf(),PR=vn(),kR=xo();function NR(){this.size=0,this.__data__={hash:new Uf,map:new(kR||PR),string:new Uf}}n(NR,"mapCacheClear");Lf.exports=NR});var Bf=d((JJ,jf)=>{"use strict";function DR(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}n(DR,"isKeyable");jf.exports=DR});var bn=d((YJ,Gf)=>{"use strict";var qR=Bf();function UR(e,t){var r=e.__data__;return qR(t)?r[typeof t=="string"?"string":"hash"]:r.map}n(UR,"getMapData");Gf.exports=UR});var Wf=d((XJ,$f)=>{"use strict";var LR=bn();function FR(e){var t=LR(this,e).delete(e);return this.size-=t?1:0,t}n(FR,"mapCacheDelete");$f.exports=FR});var Qf=d((tz,Vf)=>{"use strict";var jR=bn();function BR(e){return jR(this,e).get(e)}n(BR,"mapCacheGet");Vf.exports=BR});var Kf=d((az,Hf)=>{"use strict";var GR=bn();function $R(e){return GR(this,e).has(e)}n($R,"mapCacheHas");Hf.exports=$R});var zf=d((oz,Jf)=>{"use strict";var WR=bn();function VR(e,t){var r=WR(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}n(VR,"mapCacheSet");Jf.exports=VR});var Eo=d((iz,Yf)=>{"use strict";var QR=Ff(),HR=Wf(),KR=Qf(),JR=Kf(),zR=zf();function ra(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}n(ra,"MapCache");ra.prototype.clear=QR;ra.prototype.delete=HR;ra.prototype.get=KR;ra.prototype.has=JR;ra.prototype.set=zR;Yf.exports=ra});var Xf=d((lz,Zf)=>{"use strict";var YR="__lodash_hash_undefined__";function ZR(e){return this.__data__.set(e,YR),this}n(ZR,"setCacheAdd");Zf.exports=ZR});var tm=d((pz,em)=>{"use strict";function XR(e){return this.__data__.has(e)}n(XR,"setCacheHas");em.exports=XR});var qi=d((fz,rm)=>{"use strict";var eO=Eo(),tO=Xf(),rO=tm();function Ro(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new eO;++t<r;)this.add(e[t])}n(Ro,"SetCache");Ro.prototype.add=Ro.prototype.push=tO;Ro.prototype.has=rO;rm.exports=Ro});var nm=d((gz,am)=>{"use strict";function aO(e,t,r,a){for(var o=e.length,s=r+(a?1:-1);a?s--:++s<o;)if(t(e[s],s,e))return s;return-1}n(aO,"baseFindIndex");am.exports=aO});var sm=d((yz,om)=>{"use strict";function nO(e){return e!==e}n(nO,"baseIsNaN");om.exports=nO});var um=d((bz,im)=>{"use strict";function oO(e,t,r){for(var a=r-1,o=e.length;++a<o;)if(e[a]===t)return a;return-1}n(oO,"strictIndexOf");im.exports=oO});var cm=d((Iz,lm)=>{"use strict";var sO=nm(),iO=sm(),uO=um();function lO(e,t,r){return t===t?uO(e,t,r):sO(e,iO,r)}n(lO,"baseIndexOf");lm.exports=lO});var Ui=d((Sz,pm)=>{"use strict";var cO=cm();function pO(e,t){var r=e==null?0:e.length;return!!r&&cO(e,t,0)>-1}n(pO,"arrayIncludes");pm.exports=pO});var fm=d((Az,dm)=>{"use strict";function dO(e,t,r){for(var a=-1,o=e==null?0:e.length;++a<o;)if(r(t,e[a]))return!0;return!1}n(dO,"arrayIncludesWith");dm.exports=dO});var Li=d((Ez,mm)=>{"use strict";function fO(e,t){return e.has(t)}n(fO,"cacheHas");mm.exports=fO});var Fi=d((Oz,gm)=>{"use strict";var mO=br(),gO=Je(),hO=mO(gO,"Set");gm.exports=hO});var ji=d((Cz,hm)=>{"use strict";function yO(){}n(yO,"noop");hm.exports=yO});var Oo=d((Pz,ym)=>{"use strict";function vO(e){var t=-1,r=Array(e.size);return e.forEach(function(a){r[++t]=a}),r}n(vO,"setToArray");ym.exports=vO});var bm=d((Nz,vm)=>{"use strict";var Bi=Fi(),bO=ji(),wO=Oo(),IO=1/0,TO=Bi&&1/wO(new Bi([,-0]))[1]==IO?function(e){return new Bi(e)}:bO;vm.exports=TO});var Im=d((Dz,wm)=>{"use strict";var SO=qi(),_O=Ui(),AO=fm(),xO=Li(),EO=bm(),RO=Oo(),OO=200;function CO(e,t,r){var a=-1,o=_O,s=e.length,i=!0,u=[],l=u;if(r)i=!1,o=AO;else if(s>=OO){var c=t?null:EO(e);if(c)return RO(c);i=!1,o=xO,l=new SO}else l=t?[]:u;e:for(;++a<s;){var f=e[a],y=t?t(f):f;if(f=r||f!==0?f:0,i&&y===y){for(var h=l.length;h--;)if(l[h]===y)continue e;t&&l.push(y),u.push(f)}else o(l,y,r)||(l!==u&&l.push(y),u.push(f))}return u}n(CO,"baseUniq");wm.exports=CO});var Co=d((Uz,Tm)=>{"use strict";var MO=9007199254740991;function PO(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=MO}n(PO,"isLength");Tm.exports=PO});var wn=d((Fz,Sm)=>{"use strict";var kO=gn(),NO=Co();function DO(e){return e!=null&&NO(e.length)&&!kO(e)}n(DO,"isArrayLike");Sm.exports=DO});var Gi=d((Bz,_m)=>{"use strict";var qO=wn(),UO=ht();function LO(e){return UO(e)&&qO(e)}n(LO,"isArrayLikeObject");_m.exports=LO});var xm=d(($z,Am)=>{"use strict";var FO=Oi(),jO=Di(),BO=Im(),GO=Gi(),$O=jO(function(e){return BO(FO(e,1,GO,!0))});Am.exports=$O});var Rm=d((Wz,Em)=>{"use strict";var WO=vn();function VO(){this.__data__=new WO,this.size=0}n(VO,"stackClear");Em.exports=VO});var Cm=d((Qz,Om)=>{"use strict";function QO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}n(QO,"stackDelete");Om.exports=QO});var Pm=d((Kz,Mm)=>{"use strict";function HO(e){return this.__data__.get(e)}n(HO,"stackGet");Mm.exports=HO});var Nm=d((zz,km)=>{"use strict";function KO(e){return this.__data__.has(e)}n(KO,"stackHas");km.exports=KO});var qm=d((Zz,Dm)=>{"use strict";var JO=vn(),zO=xo(),YO=Eo(),ZO=200;function XO(e,t){var r=this.__data__;if(r instanceof JO){var a=r.__data__;if(!zO||a.length<ZO-1)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new YO(a)}return r.set(e,t),this.size=r.size,this}n(XO,"stackSet");Dm.exports=XO});var In=d((eY,Um)=>{"use strict";var eC=vn(),tC=Rm(),rC=Cm(),aC=Pm(),nC=Nm(),oC=qm();function aa(e){var t=this.__data__=new eC(e);this.size=t.size}n(aa,"Stack");aa.prototype.clear=tC;aa.prototype.delete=rC;aa.prototype.get=aC;aa.prototype.has=nC;aa.prototype.set=oC;Um.exports=aa});var Mo=d((rY,Fm)=>{"use strict";var Lm=ki();function sC(e,t,r){t=="__proto__"&&Lm?Lm(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}n(sC,"baseAssignValue");Fm.exports=sC});var $i=d((nY,jm)=>{"use strict";var iC=Mo(),uC=ea();function lC(e,t,r){(r!==void 0&&!uC(e[t],r)||r===void 0&&!(t in e))&&iC(e,t,r)}n(lC,"assignMergeValue");jm.exports=lC});var Gm=d((sY,Bm)=>{"use strict";function cC(e){return function(t,r,a){for(var o=-1,s=Object(t),i=a(t),u=i.length;u--;){var l=i[e?u:++o];if(r(s[l],l,s)===!1)break}return t}}n(cC,"createBaseFor");Bm.exports=cC});var Wm=d((uY,$m)=>{"use strict";var pC=Gm(),dC=pC();$m.exports=dC});var Wi=d((Tn,na)=>{"use strict";var fC=Je(),Km=typeof Tn=="object"&&Tn&&!Tn.nodeType&&Tn,Vm=Km&&typeof na=="object"&&na&&!na.nodeType&&na,mC=Vm&&Vm.exports===Km,Qm=mC?fC.Buffer:void 0,Hm=Qm?Qm.allocUnsafe:void 0;function gC(e,t){if(t)return e.slice();var r=e.length,a=Hm?Hm(r):new e.constructor(r);return e.copy(a),a}n(gC,"cloneBuffer");na.exports=gC});var Vi=d((cY,Jm)=>{"use strict";var hC=Je(),yC=hC.Uint8Array;Jm.exports=yC});var Po=d((pY,Ym)=>{"use strict";var zm=Vi();function vC(e){var t=new e.constructor(e.byteLength);return new zm(t).set(new zm(e)),t}n(vC,"cloneArrayBuffer");Ym.exports=vC});var Qi=d((fY,Zm)=>{"use strict";var bC=Po();function wC(e,t){var r=t?bC(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}n(wC,"cloneTypedArray");Zm.exports=wC});var oa=d((gY,Xm)=>{"use strict";function IC(e,t){var r=-1,a=e.length;for(t||(t=Array(a));++r<a;)t[r]=e[r];return t}n(IC,"copyArray");Xm.exports=IC});var Sn=d((yY,tg)=>{"use strict";var TC=St(),eg=Object.create,SC=function(){function e(){}return n(e,"object"),function(t){if(!TC(t))return{};if(eg)return eg(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();tg.exports=SC});var Hi=d((bY,rg)=>{"use strict";function _C(e,t){return function(r){return e(t(r))}}n(_C,"overArg");rg.exports=_C});var ko=d((IY,ag)=>{"use strict";var AC=Hi(),xC=AC(Object.getPrototypeOf,Object);ag.exports=xC});var No=d((TY,ng)=>{"use strict";var EC=Object.prototype;function RC(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||EC;return e===r}n(RC,"isPrototype");ng.exports=RC});var Ki=d((_Y,og)=>{"use strict";var OC=Sn(),CC=ko(),MC=No();function PC(e){return typeof e.constructor=="function"&&!MC(e)?OC(CC(e)):{}}n(PC,"initCloneObject");og.exports=PC});var ig=d((xY,sg)=>{"use strict";function kC(){return!1}n(kC,"stubFalse");sg.exports=kC});var An=d((_n,sa)=>{"use strict";var NC=Je(),DC=ig(),cg=typeof _n=="object"&&_n&&!_n.nodeType&&_n,ug=cg&&typeof sa=="object"&&sa&&!sa.nodeType&&sa,qC=ug&&ug.exports===cg,lg=qC?NC.Buffer:void 0,UC=lg?lg.isBuffer:void 0,LC=UC||DC;sa.exports=LC});var Ji=d((RY,dg)=>{"use strict";var FC=vr(),jC=ko(),BC=ht(),GC="[object Object]",$C=Function.prototype,WC=Object.prototype,pg=$C.toString,VC=WC.hasOwnProperty,QC=pg.call(Object);function HC(e){if(!BC(e)||FC(e)!=GC)return!1;var t=jC(e);if(t===null)return!0;var r=VC.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&pg.call(r)==QC}n(HC,"isPlainObject");dg.exports=HC});var mg=d((CY,fg)=>{"use strict";var KC=vr(),JC=Co(),zC=ht(),YC="[object Arguments]",ZC="[object Array]",XC="[object Boolean]",eM="[object Date]",tM="[object Error]",rM="[object Function]",aM="[object Map]",nM="[object Number]",oM="[object Object]",sM="[object RegExp]",iM="[object Set]",uM="[object String]",lM="[object WeakMap]",cM="[object ArrayBuffer]",pM="[object DataView]",dM="[object Float32Array]",fM="[object Float64Array]",mM="[object Int8Array]",gM="[object Int16Array]",hM="[object Int32Array]",yM="[object Uint8Array]",vM="[object Uint8ClampedArray]",bM="[object Uint16Array]",wM="[object Uint32Array]",he={};he[dM]=he[fM]=he[mM]=he[gM]=he[hM]=he[yM]=he[vM]=he[bM]=he[wM]=!0;he[YC]=he[ZC]=he[cM]=he[XC]=he[pM]=he[eM]=he[tM]=he[rM]=he[aM]=he[nM]=he[oM]=he[sM]=he[iM]=he[uM]=he[lM]=!1;function IM(e){return zC(e)&&JC(e.length)&&!!he[KC(e)]}n(IM,"baseIsTypedArray");fg.exports=IM});var Do=d((PY,gg)=>{"use strict";function TM(e){return function(t){return e(t)}}n(TM,"baseUnary");gg.exports=TM});var qo=d((xn,ia)=>{"use strict";var SM=Ri(),hg=typeof xn=="object"&&xn&&!xn.nodeType&&xn,En=hg&&typeof ia=="object"&&ia&&!ia.nodeType&&ia,_M=En&&En.exports===hg,zi=_M&&SM.process,AM=function(){try{var e=En&&En.require&&En.require("util").types;return e||zi&&zi.binding&&zi.binding("util")}catch{}}();ia.exports=AM});var Uo=d((NY,bg)=>{"use strict";var xM=mg(),EM=Do(),yg=qo(),vg=yg&&yg.isTypedArray,RM=vg?EM(vg):xM;bg.exports=RM});var Yi=d((DY,wg)=>{"use strict";function OM(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}n(OM,"safeGet");wg.exports=OM});var Zi=d((UY,Ig)=>{"use strict";var CM=Mo(),MM=ea(),PM=Object.prototype,kM=PM.hasOwnProperty;function NM(e,t,r){var a=e[t];(!(kM.call(e,t)&&MM(a,r))||r===void 0&&!(t in e))&&CM(e,t,r)}n(NM,"assignValue");Ig.exports=NM});var ua=d((FY,Tg)=>{"use strict";var DM=Zi(),qM=Mo();function UM(e,t,r,a){var o=!r;r||(r={});for(var s=-1,i=t.length;++s<i;){var u=t[s],l=a?a(r[u],e[u],u,r,e):void 0;l===void 0&&(l=e[u]),o?qM(r,u,l):DM(r,u,l)}return r}n(UM,"copyObject");Tg.exports=UM});var _g=d((BY,Sg)=>{"use strict";function LM(e,t){for(var r=-1,a=Array(e);++r<e;)a[r]=t(r);return a}n(LM,"baseTimes");Sg.exports=LM});var Rn=d(($Y,Ag)=>{"use strict";var FM=9007199254740991,jM=/^(?:0|[1-9]\d*)$/;function BM(e,t){var r=typeof e;return t=t??FM,!!t&&(r=="number"||r!="symbol"&&jM.test(e))&&e>-1&&e%1==0&&e<t}n(BM,"isIndex");Ag.exports=BM});var Xi=d((VY,xg)=>{"use strict";var GM=_g(),$M=fn(),WM=ze(),VM=An(),QM=Rn(),HM=Uo(),KM=Object.prototype,JM=KM.hasOwnProperty;function zM(e,t){var r=WM(e),a=!r&&$M(e),o=!r&&!a&&VM(e),s=!r&&!a&&!o&&HM(e),i=r||a||o||s,u=i?GM(e.length,String):[],l=u.length;for(var c in e)(t||JM.call(e,c))&&!(i&&(c=="length"||o&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||QM(c,l)))&&u.push(c);return u}n(zM,"arrayLikeKeys");xg.exports=zM});var Rg=d((HY,Eg)=>{"use strict";function YM(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}n(YM,"nativeKeysIn");Eg.exports=YM});var Cg=d((JY,Og)=>{"use strict";var ZM=St(),XM=No(),eP=Rg(),tP=Object.prototype,rP=tP.hasOwnProperty;function aP(e){if(!ZM(e))return eP(e);var t=XM(e),r=[];for(var a in e)a=="constructor"&&(t||!rP.call(e,a))||r.push(a);return r}n(aP,"baseKeysIn");Og.exports=aP});var la=d((YY,Mg)=>{"use strict";var nP=Xi(),oP=Cg(),sP=wn();function iP(e){return sP(e)?nP(e,!0):oP(e)}n(iP,"keysIn");Mg.exports=iP});var kg=d((XY,Pg)=>{"use strict";var uP=ua(),lP=la();function cP(e){return uP(e,lP(e))}n(cP,"toPlainObject");Pg.exports=cP});var Fg=d((t6,Lg)=>{"use strict";var Ng=$i(),pP=Wi(),dP=Qi(),fP=oa(),mP=Ki(),Dg=fn(),qg=ze(),gP=Gi(),hP=An(),yP=gn(),vP=St(),bP=Ji(),wP=Uo(),Ug=Yi(),IP=kg();function TP(e,t,r,a,o,s,i){var u=Ug(e,r),l=Ug(t,r),c=i.get(l);if(c){Ng(e,r,c);return}var f=s?s(u,l,r+"",e,t,i):void 0,y=f===void 0;if(y){var h=qg(l),b=!h&&hP(l),D=!h&&!b&&wP(l);f=l,h||b||D?qg(u)?f=u:gP(u)?f=fP(u):b?(y=!1,f=pP(l,!0)):D?(y=!1,f=dP(l,!0)):f=[]:bP(l)||Dg(l)?(f=u,Dg(u)?f=IP(u):(!vP(u)||yP(u))&&(f=mP(l))):y=!1}y&&(i.set(l,f),o(f,l,a,s,i),i.delete(l)),Ng(e,r,f)}n(TP,"baseMergeDeep");Lg.exports=TP});var Gg=d((a6,Bg)=>{"use strict";var SP=In(),_P=$i(),AP=Wm(),xP=Fg(),EP=St(),RP=la(),OP=Yi();function jg(e,t,r,a,o){e!==t&&AP(t,function(s,i){if(o||(o=new SP),EP(s))xP(e,t,i,r,jg,a,o);else{var u=a?a(OP(e,i),s,i+"",e,t,o):void 0;u===void 0&&(u=s),_P(e,i,u)}},RP)}n(jg,"baseMerge");Bg.exports=jg});var Wg=d((o6,$g)=>{"use strict";var CP=ea(),MP=wn(),PP=Rn(),kP=St();function NP(e,t,r){if(!kP(r))return!1;var a=typeof t;return(a=="number"?MP(r)&&PP(t,r.length):a=="string"&&t in r)?CP(r[t],e):!1}n(NP,"isIterateeCall");$g.exports=NP});var Qg=d((i6,Vg)=>{"use strict";var DP=Di(),qP=Wg();function UP(e){return DP(function(t,r){var a=-1,o=r.length,s=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(s=e.length>3&&typeof s=="function"?(o--,s):void 0,i&&qP(r[0],r[1],i)&&(s=o<3?void 0:s,o=1),t=Object(t);++a<o;){var u=r[a];u&&e(t,u,a,s)}return t})}n(UP,"createAssigner");Vg.exports=UP});var eu=d((l6,Hg)=>{"use strict";var LP=Gg(),FP=Qg(),jP=FP(function(e,t,r){LP(e,t,r)});Hg.exports=jP});var Zh=d(st=>{"use strict";st.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"};st.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]};st.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]};st.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2};st.iterateeRearg={mapKeys:[1],reduceRight:[1,0]};st.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]};st.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}};st.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}};st.realToAlias=function(){var e=Object.prototype.hasOwnProperty,t=st.aliasToReal,r={};for(var a in t){var o=t[a];e.call(r,o)?r[o].push(a):r[o]=[a]}return r}();st.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"};st.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0};st.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}});var Hu=d((g8,Xh)=>{"use strict";Xh.exports={}});var ay=d((h8,ry)=>{"use strict";var Ue=Zh(),NN=Hu(),ey=Array.prototype.push;function DN(e,t){return t==2?function(r,a){return e.apply(void 0,arguments)}:function(r){return e.apply(void 0,arguments)}}n(DN,"baseArity");function Ku(e,t){return t==2?function(r,a){return e(r,a)}:function(r){return e(r)}}n(Ku,"baseAry");function ty(e){for(var t=e?e.length:0,r=Array(t);t--;)r[t]=e[t];return r}n(ty,"cloneArray");function qN(e){return function(t){return e({},t)}}n(qN,"createCloner");function UN(e,t){return function(){for(var r=arguments.length,a=r-1,o=Array(r);r--;)o[r]=arguments[r];var s=o[t],i=o.slice(0,t);return s&&ey.apply(i,s),t!=a&&ey.apply(i,o.slice(t+1)),e.apply(this,i)}}n(UN,"flatSpread");function Ju(e,t){return function(){var r=arguments.length;if(r){for(var a=Array(r);r--;)a[r]=arguments[r];var o=a[0]=t.apply(void 0,a);return e.apply(void 0,a),o}}}n(Ju,"wrapImmutable");function zu(e,t,r,a){var o=typeof t=="function",s=t===Object(t);if(s&&(a=r,r=t,t=void 0),r==null)throw new TypeError;a||(a={});var i={cap:"cap"in a?a.cap:!0,curry:"curry"in a?a.curry:!0,fixed:"fixed"in a?a.fixed:!0,immutable:"immutable"in a?a.immutable:!0,rearg:"rearg"in a?a.rearg:!0},u=o?r:NN,l="curry"in a&&a.curry,c="fixed"in a&&a.fixed,f="rearg"in a&&a.rearg,y=o?r.runInContext():void 0,h=o?r:{ary:e.ary,assign:e.assign,clone:e.clone,curry:e.curry,forEach:e.forEach,isArray:e.isArray,isError:e.isError,isFunction:e.isFunction,isWeakMap:e.isWeakMap,iteratee:e.iteratee,keys:e.keys,rearg:e.rearg,toInteger:e.toInteger,toPath:e.toPath},b=h.ary,D=h.assign,I=h.clone,S=h.curry,E=h.forEach,U=h.isArray,V=h.isError,de=h.isFunction,Z=h.isWeakMap,X=h.keys,ut=h.rearg,fe=h.toInteger,te=h.toPath,Bt=X(Ue.aryMethod),Er={castArray:function(P){return function(){var A=arguments[0];return U(A)?P(ty(A)):P.apply(void 0,arguments)}},iteratee:function(P){return function(){var A=arguments[0],x=arguments[1],N=P(A,x),B=N.length;return i.cap&&typeof x=="number"?(x=x>2?x-2:1,B&&B<=x?N:Ku(N,x)):N}},mixin:function(P){return function(A){var x=this;if(!de(x))return P(x,Object(A));var N=[];return E(X(A),function(B){de(A[B])&&N.push([B,x.prototype[B]])}),P(x,Object(A)),E(N,function(B){var ve=B[1];de(ve)?x.prototype[B[0]]=ve:delete x.prototype[B[0]]}),x}},nthArg:function(P){return function(A){var x=A<0?1:fe(A)+1;return S(P(A),x)}},rearg:function(P){return function(A,x){var N=x?x.length:0;return S(P(A,x),N)}},runInContext:function(P){return function(A){return zu(e,P(A),a)}}};function F(P,A){if(i.cap){var x=Ue.iterateeRearg[P];if(x)return ne(A,x);var N=!o&&Ue.iterateeAry[P];if(N)return re(A,N)}return A}n(F,"castCap");function O(P,A,x){return l||i.curry&&x>1?S(A,x):A}n(O,"castCurry");function _(P,A,x){if(i.fixed&&(c||!Ue.skipFixed[P])){var N=Ue.methodSpread[P],B=N&&N.start;return B===void 0?b(A,x):UN(A,B)}return A}n(_,"castFixed");function M(P,A,x){return i.rearg&&x>1&&(f||!Ue.skipRearg[P])?ut(A,Ue.methodRearg[P]||Ue.aryRearg[x]):A}n(M,"castRearg");function R(P,A){A=te(A);for(var x=-1,N=A.length,B=N-1,ve=I(Object(P)),Le=ve;Le!=null&&++x<N;){var He=A[x],lt=Le[He];lt!=null&&!(de(lt)||V(lt)||Z(lt))&&(Le[He]=I(x==B?lt:Object(lt))),Le=Le[He]}return ve}n(R,"cloneByPath");function G(P){return K.runInContext.convert(P)(void 0)}n(G,"convertLib");function j(P,A){var x=Ue.aliasToReal[P]||P,N=Ue.remap[x]||x,B=a;return function(ve){var Le=o?y:h,He=o?y[N]:A,lt=D(D({},B),ve);return zu(Le,x,He,lt)}}n(j,"createConverter");function re(P,A){return ye(P,function(x){return typeof x=="function"?Ku(x,A):x})}n(re,"iterateeAry");function ne(P,A){return ye(P,function(x){var N=A.length;return DN(ut(Ku(x,N),A),N)})}n(ne,"iterateeRearg");function ye(P,A){return function(){var x=arguments.length;if(!x)return P();for(var N=Array(x);x--;)N[x]=arguments[x];var B=i.rearg?0:x-1;return N[B]=A(N[B]),P.apply(void 0,N)}}n(ye,"overArg");function Ee(P,A,x){var N,B=Ue.aliasToReal[P]||P,ve=A,Le=Er[B];return Le?ve=Le(A):i.immutable&&(Ue.mutate.array[B]?ve=Ju(A,ty):Ue.mutate.object[B]?ve=Ju(A,qN(A)):Ue.mutate.set[B]&&(ve=Ju(A,R))),E(Bt,function(He){return E(Ue.aryMethod[He],function(lt){if(B==lt){var ka=Ue.methodSpread[B],oo=ka&&ka.afterRearg;return N=oo?_(B,M(B,ve,He),He):M(B,_(B,ve,He),He),N=F(B,N),N=O(B,N,He),!1}}),!N}),N||(N=ve),N==A&&(N=l?S(N,1):function(){return A.apply(this,arguments)}),N.convert=j(B,A),N.placeholder=A.placeholder=x,N}if(n(Ee,"wrap"),!s)return Ee(t,r,u);var K=r,Qe=[];return E(Bt,function(P){E(Ue.aryMethod[P],function(A){var x=K[Ue.remap[A]||A];x&&Qe.push([A,Ee(A,x,K)])})}),E(X(K),function(P){var A=K[P];if(typeof A=="function"){for(var x=Qe.length;x--;)if(Qe[x][0]==P)return;A.convert=j(P,A),Qe.push([P,A])}}),E(Qe,function(P){K[P[0]]=P[1]}),K.convert=G,K.placeholder=K,E(X(K),function(P){E(Ue.realToAlias[P]||[],function(A){K[A]=K[P]})}),K}n(zu,"baseConvert");ry.exports=zu});var Yu=d((v8,ny)=>{"use strict";var LN=br(),FN=Je(),jN=LN(FN,"WeakMap");ny.exports=jN});var Zu=d((b8,sy)=>{"use strict";var oy=Yu(),BN=oy&&new oy;sy.exports=BN});var Xu=d((w8,uy)=>{"use strict";var GN=mn(),iy=Zu(),$N=iy?function(e,t){return iy.set(e,t),e}:GN;uy.exports=$N});var jn=d((I8,ly)=>{"use strict";var WN=Sn(),VN=St();function QN(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=WN(e.prototype),a=e.apply(r,t);return VN(a)?a:r}}n(QN,"createCtor");ly.exports=QN});var py=d((S8,cy)=>{"use strict";var HN=jn(),KN=Je(),JN=1;function zN(e,t,r){var a=t&JN,o=HN(e);function s(){var i=this&&this!==KN&&this instanceof s?o:e;return i.apply(a?r:this,arguments)}return n(s,"wrapper"),s}n(zN,"createBind");cy.exports=zN});var el=d((A8,dy)=>{"use strict";var YN=Math.max;function ZN(e,t,r,a){for(var o=-1,s=e.length,i=r.length,u=-1,l=t.length,c=YN(s-i,0),f=Array(l+c),y=!a;++u<l;)f[u]=t[u];for(;++o<i;)(y||o<s)&&(f[r[o]]=e[o]);for(;c--;)f[u++]=e[o++];return f}n(ZN,"composeArgs");dy.exports=ZN});var tl=d((E8,fy)=>{"use strict";var XN=Math.max;function eD(e,t,r,a){for(var o=-1,s=e.length,i=-1,u=r.length,l=-1,c=t.length,f=XN(s-u,0),y=Array(f+c),h=!a;++o<f;)y[o]=e[o];for(var b=o;++l<c;)y[b+l]=t[l];for(;++i<u;)(h||o<s)&&(y[b+r[i]]=e[o++]);return y}n(eD,"composeArgsRight");fy.exports=eD});var gy=d((O8,my)=>{"use strict";function tD(e,t){for(var r=e.length,a=0;r--;)e[r]===t&&++a;return a}n(tD,"countHolders");my.exports=tD});var ds=d((M8,hy)=>{"use strict";function rD(){}n(rD,"baseLodash");hy.exports=rD});var ms=d((k8,yy)=>{"use strict";var aD=Sn(),nD=ds(),oD=4294967295;function fs(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=oD,this.__views__=[]}n(fs,"LazyWrapper");fs.prototype=aD(nD.prototype);fs.prototype.constructor=fs;yy.exports=fs});var rl=d((D8,by)=>{"use strict";var vy=Zu(),sD=ji(),iD=vy?function(e){return vy.get(e)}:sD;by.exports=iD});var Iy=d((q8,wy)=>{"use strict";var uD={};wy.exports=uD});var _y=d((U8,Sy)=>{"use strict";var Ty=Iy(),lD=Object.prototype,cD=lD.hasOwnProperty;function pD(e){for(var t=e.name+"",r=Ty[t],a=cD.call(Ty,t)?r.length:0;a--;){var o=r[a],s=o.func;if(s==null||s==e)return o.name}return t}n(pD,"getFuncName");Sy.exports=pD});var al=d((F8,Ay)=>{"use strict";var dD=Sn(),fD=ds();function gs(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}n(gs,"LodashWrapper");gs.prototype=dD(fD.prototype);gs.prototype.constructor=gs;Ay.exports=gs});var Ey=d((B8,xy)=>{"use strict";var mD=ms(),gD=al(),hD=oa();function yD(e){if(e instanceof mD)return e.clone();var t=new gD(e.__wrapped__,e.__chain__);return t.__actions__=hD(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}n(yD,"wrapperClone");xy.exports=yD});var Cy=d(($8,Oy)=>{"use strict";var vD=ms(),Ry=al(),bD=ds(),wD=ze(),ID=ht(),TD=Ey(),SD=Object.prototype,_D=SD.hasOwnProperty;function hs(e){if(ID(e)&&!wD(e)&&!(e instanceof vD)){if(e instanceof Ry)return e;if(_D.call(e,"__wrapped__"))return TD(e)}return new Ry(e)}n(hs,"lodash");hs.prototype=bD.prototype;hs.prototype.constructor=hs;Oy.exports=hs});var Py=d((V8,My)=>{"use strict";var AD=ms(),xD=rl(),ED=_y(),RD=Cy();function OD(e){var t=ED(e),r=RD[t];if(typeof r!="function"||!(t in AD.prototype))return!1;if(e===r)return!0;var a=xD(r);return!!a&&e===a[0]}n(OD,"isLaziable");My.exports=OD});var nl=d((H8,ky)=>{"use strict";var CD=Xu(),MD=Ni(),PD=MD(CD);ky.exports=PD});var Dy=d((K8,Ny)=>{"use strict";var kD=/\{\n\/\* \[wrapped with (.+)\] \*/,ND=/,? & /;function DD(e){var t=e.match(kD);return t?t[1].split(ND):[]}n(DD,"getWrapDetails");Ny.exports=DD});var Uy=d((z8,qy)=>{"use strict";var qD=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function UD(e,t){var r=t.length;if(!r)return e;var a=r-1;return t[a]=(r>1?"& ":"")+t[a],t=t.join(r>2?", ":" "),e.replace(qD,`{
2
2
  /* [wrapped with `+t+`] */
3
- `)}n(UD,"insertWrapDetails");qy.exports=UD});var ys=d((Z8,Ly)=>{"use strict";function LD(e,t){for(var r=-1,a=e==null?0:e.length;++r<a&&t(e[r],r,e)!==!1;);return e}n(LD,"arrayEach");Ly.exports=LD});var Fy=d((e7,jy)=>{"use strict";var jD=ys(),FD=Ui(),BD=1,GD=2,$D=8,WD=16,VD=32,QD=64,HD=128,KD=256,JD=512,YD=[["ary",HD],["bind",BD],["bindKey",GD],["curry",$D],["curryRight",WD],["flip",JD],["partial",VD],["partialRight",QD],["rearg",KD]];function zD(e,t){return jD(YD,function(r){var a="_."+r[0];t&r[1]&&!FD(e,a)&&e.push(a)}),e.sort()}n(zD,"updateWrapDetails");jy.exports=zD});var ol=d((r7,By)=>{"use strict";var ZD=Dy(),XD=Uy(),eq=Ao(),tq=Fy();function rq(e,t,r){var a=t+"";return eq(e,XD(a,tq(ZD(a),r)))}n(rq,"setWrapToString");By.exports=rq});var sl=d((n7,Wy)=>{"use strict";var aq=Py(),nq=nl(),oq=ol(),sq=1,iq=2,uq=4,lq=8,Gy=32,$y=64;function cq(e,t,r,a,o,s,i,u,l,c){var f=t&lq,y=f?i:void 0,h=f?void 0:i,b=f?s:void 0,D=f?void 0:s;t|=f?Gy:$y,t&=~(f?$y:Gy),t&uq||(t&=~(sq|iq));var I=[e,t,o,b,y,D,h,u,l,c],S=r.apply(void 0,I);return aq(e)&&nq(S,I),S.placeholder=a,oq(S,e,t)}n(cq,"createRecurry");Wy.exports=cq});var il=d((s7,Vy)=>{"use strict";function pq(e){var t=e;return t.placeholder}n(pq,"getHolder");Vy.exports=pq});var Hy=d((u7,Qy)=>{"use strict";var dq=oa(),fq=Rn(),mq=Math.min;function gq(e,t){for(var r=e.length,a=mq(t.length,r),o=dq(e);a--;){var s=t[a];e[a]=fq(s,r)?o[s]:void 0}return e}n(gq,"reorder");Qy.exports=gq});var vs=d((c7,Jy)=>{"use strict";var Ky="__lodash_placeholder__";function hq(e,t){for(var r=-1,a=e.length,o=0,s=[];++r<a;){var i=e[r];(i===t||i===Ky)&&(e[r]=Ky,s[o++]=r)}return s}n(hq,"replaceHolders");Jy.exports=hq});var ul=d((d7,Zy)=>{"use strict";var yq=el(),vq=tl(),bq=gy(),Yy=Fn(),wq=sl(),Iq=il(),Tq=Hy(),Sq=vs(),_q=Je(),Aq=1,xq=2,Eq=8,Rq=16,Oq=128,Cq=512;function zy(e,t,r,a,o,s,i,u,l,c){var f=t&Oq,y=t&Aq,h=t&xq,b=t&(Eq|Rq),D=t&Cq,I=h?void 0:Yy(e);function S(){for(var E=arguments.length,U=Array(E),V=E;V--;)U[V]=arguments[V];if(b)var de=Iq(S),Z=bq(U,de);if(a&&(U=yq(U,a,o,b)),s&&(U=vq(U,s,i,b)),E-=Z,b&&E<c){var X=Sq(U,de);return wq(e,t,zy,S.placeholder,r,U,X,u,l,c-E)}var ut=y?r:this,fe=h?ut[e]:e;return E=U.length,u?U=Tq(U,u):D&&E>1&&U.reverse(),f&&l<E&&(U.length=l),this&&this!==_q&&this instanceof S&&(fe=I||Yy(fe)),fe.apply(ut,U)}return n(S,"wrapper"),S}n(zy,"createHybrid");Zy.exports=zy});var ev=d((m7,Xy)=>{"use strict";var Mq=_o(),Pq=Fn(),kq=ul(),Nq=sl(),Dq=il(),qq=vs(),Uq=Je();function Lq(e,t,r){var a=Pq(e);function o(){for(var s=arguments.length,i=Array(s),u=s,l=Dq(o);u--;)i[u]=arguments[u];var c=s<3&&i[0]!==l&&i[s-1]!==l?[]:qq(i,l);if(s-=c.length,s<r)return Nq(e,t,kq,o.placeholder,void 0,i,c,void 0,void 0,r-s);var f=this&&this!==Uq&&this instanceof o?a:e;return Mq(f,this,i)}return n(o,"wrapper"),o}n(Lq,"createCurry");Xy.exports=Lq});var rv=d((h7,tv)=>{"use strict";var jq=_o(),Fq=Fn(),Bq=Je(),Gq=1;function $q(e,t,r,a){var o=t&Gq,s=Fq(e);function i(){for(var u=-1,l=arguments.length,c=-1,f=a.length,y=Array(f+l),h=this&&this!==Bq&&this instanceof i?s:e;++c<f;)y[c]=a[c];for(;l--;)y[c++]=arguments[++u];return jq(h,o?r:this,y)}return n(i,"wrapper"),i}n($q,"createPartial");tv.exports=$q});var uv=d((v7,iv)=>{"use strict";var Wq=el(),Vq=tl(),av=vs(),nv="__lodash_placeholder__",ll=1,Qq=2,Hq=4,ov=8,Bn=128,sv=256,Kq=Math.min;function Jq(e,t){var r=e[1],a=t[1],o=r|a,s=o<(ll|Qq|Bn),i=a==Bn&&r==ov||a==Bn&&r==sv&&e[7].length<=t[8]||a==(Bn|sv)&&t[7].length<=t[8]&&r==ov;if(!(s||i))return e;a&ll&&(e[2]=t[2],o|=r&ll?0:Hq);var u=t[3];if(u){var l=e[3];e[3]=l?Wq(l,u,t[4]):u,e[4]=l?av(e[3],nv):t[4]}return u=t[5],u&&(l=e[5],e[5]=l?Vq(l,u,t[6]):u,e[6]=l?av(e[5],nv):t[6]),u=t[7],u&&(e[7]=u),a&Bn&&(e[8]=e[8]==null?t[8]:Kq(e[8],t[8])),e[9]==null&&(e[9]=t[9]),e[0]=t[0],e[1]=o,e}n(Jq,"mergeData");iv.exports=Jq});var cv=d((w7,lv)=>{"use strict";var Yq=/\s/;function zq(e){for(var t=e.length;t--&&Yq.test(e.charAt(t)););return t}n(zq,"trimmedEndIndex");lv.exports=zq});var dv=d((T7,pv)=>{"use strict";var Zq=cv(),Xq=/^\s+/;function eU(e){return e&&e.slice(0,Zq(e)+1).replace(Xq,"")}n(eU,"baseTrim");pv.exports=eU});var ya=d((_7,fv)=>{"use strict";var tU=vr(),rU=ht(),aU="[object Symbol]";function nU(e){return typeof e=="symbol"||rU(e)&&tU(e)==aU}n(nU,"isSymbol");fv.exports=nU});var yv=d((x7,hv)=>{"use strict";var oU=dv(),mv=St(),sU=ya(),gv=0/0,iU=/^[-+]0x[0-9a-f]+$/i,uU=/^0b[01]+$/i,lU=/^0o[0-7]+$/i,cU=parseInt;function pU(e){if(typeof e=="number")return e;if(sU(e))return gv;if(mv(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=mv(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=oU(e);var r=uU.test(e);return r||lU.test(e)?cU(e.slice(2),r?2:8):iU.test(e)?gv:+e}n(pU,"toNumber");hv.exports=pU});var wv=d((R7,bv)=>{"use strict";var dU=yv(),vv=1/0,fU=17976931348623157e292;function mU(e){if(!e)return e===0?e:0;if(e=dU(e),e===vv||e===-vv){var t=e<0?-1:1;return t*fU}return e===e?e:0}n(mU,"toFinite");bv.exports=mU});var cl=d((C7,Iv)=>{"use strict";var gU=wv();function hU(e){var t=gU(e),r=t%1;return t===t?r?t-r:t:0}n(hU,"toInteger");Iv.exports=hU});var bs=d((P7,xv)=>{"use strict";var yU=Xu(),vU=py(),bU=ev(),wU=ul(),IU=rv(),TU=rl(),SU=uv(),_U=nl(),AU=ol(),Tv=cl(),xU="Expected a function",Sv=1,EU=2,pl=8,dl=16,fl=32,_v=64,Av=Math.max;function RU(e,t,r,a,o,s,i,u){var l=t&EU;if(!l&&typeof e!="function")throw new TypeError(xU);var c=a?a.length:0;if(c||(t&=~(fl|_v),a=o=void 0),i=i===void 0?i:Av(Tv(i),0),u=u===void 0?u:Tv(u),c-=o?o.length:0,t&_v){var f=a,y=o;a=o=void 0}var h=l?void 0:TU(e),b=[e,t,r,a,o,f,y,s,i,u];if(h&&SU(b,h),e=b[0],t=b[1],r=b[2],a=b[3],o=b[4],u=b[9]=b[9]===void 0?l?0:e.length:Av(b[9]-c,0),!u&&t&(pl|dl)&&(t&=~(pl|dl)),!t||t==Sv)var D=vU(e,t,r);else t==pl||t==dl?D=bU(e,t,u):(t==fl||t==(Sv|fl))&&!o.length?D=IU(e,t,r,a):D=wU.apply(void 0,b);var I=h?yU:_U;return AU(I(D,b),e,t)}n(RU,"createWrap");xv.exports=RU});var Rv=d((N7,Ev)=>{"use strict";var OU=bs(),CU=128;function MU(e,t,r){return t=r?void 0:t,t=e&&t==null?e.length:t,OU(e,CU,void 0,void 0,void 0,void 0,t)}n(MU,"ary");Ev.exports=MU});var Cv=d((q7,Ov)=>{"use strict";var PU=Hi(),kU=PU(Object.keys,Object);Ov.exports=kU});var ml=d((U7,Mv)=>{"use strict";var NU=No(),DU=Cv(),qU=Object.prototype,UU=qU.hasOwnProperty;function LU(e){if(!NU(e))return DU(e);var t=[];for(var r in Object(e))UU.call(e,r)&&r!="constructor"&&t.push(r);return t}n(LU,"baseKeys");Mv.exports=LU});var Gn=d((j7,Pv)=>{"use strict";var jU=Xi(),FU=ml(),BU=wn();function GU(e){return BU(e)?jU(e):FU(e)}n(GU,"keys");Pv.exports=GU});var gl=d((B7,kv)=>{"use strict";var $U=ua(),WU=Gn();function VU(e,t){return e&&$U(t,WU(t),e)}n(VU,"baseAssign");kv.exports=VU});var Dv=d(($7,Nv)=>{"use strict";var QU=ua(),HU=la();function KU(e,t){return e&&QU(t,HU(t),e)}n(KU,"baseAssignIn");Nv.exports=KU});var Uv=d((V7,qv)=>{"use strict";function JU(e,t){for(var r=-1,a=e==null?0:e.length,o=0,s=[];++r<a;){var i=e[r];t(i,r,e)&&(s[o++]=i)}return s}n(JU,"arrayFilter");qv.exports=JU});var hl=d((H7,Lv)=>{"use strict";function YU(){return[]}n(YU,"stubArray");Lv.exports=YU});var ws=d((J7,Fv)=>{"use strict";var zU=Uv(),ZU=hl(),XU=Object.prototype,eL=XU.propertyIsEnumerable,jv=Object.getOwnPropertySymbols,tL=jv?function(e){return e==null?[]:(e=Object(e),zU(jv(e),function(t){return eL.call(e,t)}))}:ZU;Fv.exports=tL});var Gv=d((Y7,Bv)=>{"use strict";var rL=ua(),aL=ws();function nL(e,t){return rL(e,aL(e),t)}n(nL,"copySymbols");Bv.exports=nL});var yl=d((Z7,$v)=>{"use strict";var oL=So(),sL=ko(),iL=ws(),uL=hl(),lL=Object.getOwnPropertySymbols,cL=lL?function(e){for(var t=[];e;)oL(t,iL(e)),e=sL(e);return t}:uL;$v.exports=cL});var Vv=d((X7,Wv)=>{"use strict";var pL=ua(),dL=yl();function fL(e,t){return pL(e,dL(e),t)}n(fL,"copySymbolsIn");Wv.exports=fL});var vl=d((tZ,Qv)=>{"use strict";var mL=So(),gL=Ye();function hL(e,t,r){var a=t(e);return gL(e)?a:mL(a,r(e))}n(hL,"baseGetAllKeys");Qv.exports=hL});var bl=d((aZ,Hv)=>{"use strict";var yL=vl(),vL=ws(),bL=Gn();function wL(e){return yL(e,bL,vL)}n(wL,"getAllKeys");Hv.exports=wL});var Jv=d((oZ,Kv)=>{"use strict";var IL=vl(),TL=yl(),SL=la();function _L(e){return IL(e,SL,TL)}n(_L,"getAllKeysIn");Kv.exports=_L});var zv=d((iZ,Yv)=>{"use strict";var AL=br(),xL=Je(),EL=AL(xL,"DataView");Yv.exports=EL});var Xv=d((uZ,Zv)=>{"use strict";var RL=br(),OL=Je(),CL=RL(OL,"Promise");Zv.exports=CL});var ba=d((lZ,sb)=>{"use strict";var wl=zv(),Il=xo(),Tl=Xv(),Sl=ji(),_l=zu(),ob=vr(),va=Pi(),eb="[object Map]",ML="[object Object]",tb="[object Promise]",rb="[object Set]",ab="[object WeakMap]",nb="[object DataView]",PL=va(wl),kL=va(Il),NL=va(Tl),DL=va(Sl),qL=va(_l),Ur=ob;(wl&&Ur(new wl(new ArrayBuffer(1)))!=nb||Il&&Ur(new Il)!=eb||Tl&&Ur(Tl.resolve())!=tb||Sl&&Ur(new Sl)!=rb||_l&&Ur(new _l)!=ab)&&(Ur=n(function(e){var t=ob(e),r=t==ML?e.constructor:void 0,a=r?va(r):"";if(a)switch(a){case PL:return nb;case kL:return eb;case NL:return tb;case DL:return rb;case qL:return ab}return t},"getTag"));sb.exports=Ur});var ub=d((pZ,ib)=>{"use strict";var UL=Object.prototype,LL=UL.hasOwnProperty;function jL(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&LL.call(e,"index")&&(r.index=e.index,r.input=e.input),r}n(jL,"initCloneArray");ib.exports=jL});var cb=d((fZ,lb)=>{"use strict";var FL=Po();function BL(e,t){var r=t?FL(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}n(BL,"cloneDataView");lb.exports=BL});var fb=d((gZ,pb)=>{"use strict";var GL=/\w*$/;function $L(e){var t=new e.constructor(e.source,GL.exec(e));return t.lastIndex=e.lastIndex,t}n($L,"cloneRegExp");pb.exports=$L});var vb=d((yZ,yb)=>{"use strict";var mb=Mr(),gb=mb?mb.prototype:void 0,hb=gb?gb.valueOf:void 0;function WL(e){return hb?Object(hb.call(e)):{}}n(WL,"cloneSymbol");yb.exports=WL});var wb=d((bZ,bb)=>{"use strict";var VL=Po(),QL=cb(),HL=fb(),KL=vb(),JL=Qi(),YL="[object Boolean]",zL="[object Date]",ZL="[object Map]",XL="[object Number]",e1="[object RegExp]",t1="[object Set]",r1="[object String]",a1="[object Symbol]",n1="[object ArrayBuffer]",o1="[object DataView]",s1="[object Float32Array]",i1="[object Float64Array]",u1="[object Int8Array]",l1="[object Int16Array]",c1="[object Int32Array]",p1="[object Uint8Array]",d1="[object Uint8ClampedArray]",f1="[object Uint16Array]",m1="[object Uint32Array]";function g1(e,t,r){var a=e.constructor;switch(t){case n1:return VL(e);case YL:case zL:return new a(+e);case o1:return QL(e,r);case s1:case i1:case u1:case l1:case c1:case p1:case d1:case f1:case m1:return JL(e,r);case ZL:return new a;case XL:case r1:return new a(e);case e1:return HL(e);case t1:return new a;case a1:return KL(e)}}n(g1,"initCloneByTag");bb.exports=g1});var Tb=d((IZ,Ib)=>{"use strict";var h1=ba(),y1=ht(),v1="[object Map]";function b1(e){return y1(e)&&h1(e)==v1}n(b1,"baseIsMap");Ib.exports=b1});var xb=d((SZ,Ab)=>{"use strict";var w1=Tb(),I1=Do(),Sb=qo(),_b=Sb&&Sb.isMap,T1=_b?I1(_b):w1;Ab.exports=T1});var Rb=d((_Z,Eb)=>{"use strict";var S1=ba(),_1=ht(),A1="[object Set]";function x1(e){return _1(e)&&S1(e)==A1}n(x1,"baseIsSet");Eb.exports=x1});var Pb=d((xZ,Mb)=>{"use strict";var E1=Rb(),R1=Do(),Ob=qo(),Cb=Ob&&Ob.isSet,O1=Cb?R1(Cb):E1;Mb.exports=O1});var Al=d((EZ,qb)=>{"use strict";var C1=In(),M1=ys(),P1=Zi(),k1=gl(),N1=Dv(),D1=Wi(),q1=oa(),U1=Gv(),L1=Vv(),j1=bl(),F1=Jv(),B1=ba(),G1=ub(),$1=wb(),W1=Ki(),V1=Ye(),Q1=An(),H1=xb(),K1=St(),J1=Pb(),Y1=Gn(),z1=la(),Z1=1,X1=2,ej=4,kb="[object Arguments]",tj="[object Array]",rj="[object Boolean]",aj="[object Date]",nj="[object Error]",Nb="[object Function]",oj="[object GeneratorFunction]",sj="[object Map]",ij="[object Number]",Db="[object Object]",uj="[object RegExp]",lj="[object Set]",cj="[object String]",pj="[object Symbol]",dj="[object WeakMap]",fj="[object ArrayBuffer]",mj="[object DataView]",gj="[object Float32Array]",hj="[object Float64Array]",yj="[object Int8Array]",vj="[object Int16Array]",bj="[object Int32Array]",wj="[object Uint8Array]",Ij="[object Uint8ClampedArray]",Tj="[object Uint16Array]",Sj="[object Uint32Array]",me={};me[kb]=me[tj]=me[fj]=me[mj]=me[rj]=me[aj]=me[gj]=me[hj]=me[yj]=me[vj]=me[bj]=me[sj]=me[ij]=me[Db]=me[uj]=me[lj]=me[cj]=me[pj]=me[wj]=me[Ij]=me[Tj]=me[Sj]=!0;me[nj]=me[Nb]=me[dj]=!1;function Is(e,t,r,a,o,s){var i,u=t&Z1,l=t&X1,c=t&ej;if(r&&(i=o?r(e,a,o,s):r(e)),i!==void 0)return i;if(!K1(e))return e;var f=V1(e);if(f){if(i=G1(e),!u)return q1(e,i)}else{var y=B1(e),h=y==Nb||y==oj;if(Q1(e))return D1(e,u);if(y==Db||y==kb||h&&!o){if(i=l||h?{}:W1(e),!u)return l?L1(e,N1(i,e)):U1(e,k1(i,e))}else{if(!me[y])return o?e:{};i=$1(e,y,u)}}s||(s=new C1);var b=s.get(e);if(b)return b;s.set(e,i),J1(e)?e.forEach(function(S){i.add(Is(S,t,r,S,e,s))}):H1(e)&&e.forEach(function(S,E){i.set(E,Is(S,t,r,E,e,s))});var D=c?l?F1:j1:l?z1:Y1,I=f?void 0:D(e);return M1(I||e,function(S,E){I&&(E=S,S=e[E]),P1(i,E,Is(S,t,r,E,e,s))}),i}n(Is,"baseClone");qb.exports=Is});var Lb=d((OZ,Ub)=>{"use strict";var _j=Al(),Aj=4;function xj(e){return _j(e,Aj)}n(xj,"clone");Ub.exports=xj});var Fb=d((MZ,jb)=>{"use strict";var Ej=bs(),Rj=8;function xl(e,t,r){t=r?void 0:t;var a=Ej(e,Rj,void 0,void 0,void 0,void 0,void 0,t);return a.placeholder=xl.placeholder,a}n(xl,"curry");xl.placeholder={};jb.exports=xl});var Gb=d((kZ,Bb)=>{"use strict";var Oj=vr(),Cj=ht(),Mj=Ji(),Pj="[object DOMException]",kj="[object Error]";function Nj(e){if(!Cj(e))return!1;var t=Oj(e);return t==kj||t==Pj||typeof e.message=="string"&&typeof e.name=="string"&&!Mj(e)}n(Nj,"isError");Bb.exports=Nj});var Wb=d((DZ,$b)=>{"use strict";var Dj=ba(),qj=ht(),Uj="[object WeakMap]";function Lj(e){return qj(e)&&Dj(e)==Uj}n(Lj,"isWeakMap");$b.exports=Lj});var Qb=d((UZ,Vb)=>{"use strict";function jj(e,t){for(var r=-1,a=e==null?0:e.length;++r<a;)if(t(e[r],r,e))return!0;return!1}n(jj,"arraySome");Vb.exports=jj});var El=d((jZ,Hb)=>{"use strict";var Fj=qi(),Bj=Qb(),Gj=Li(),$j=1,Wj=2;function Vj(e,t,r,a,o,s){var i=r&$j,u=e.length,l=t.length;if(u!=l&&!(i&&l>u))return!1;var c=s.get(e),f=s.get(t);if(c&&f)return c==t&&f==e;var y=-1,h=!0,b=r&Wj?new Fj:void 0;for(s.set(e,t),s.set(t,e);++y<u;){var D=e[y],I=t[y];if(a)var S=i?a(I,D,y,t,e,s):a(D,I,y,e,t,s);if(S!==void 0){if(S)continue;h=!1;break}if(b){if(!Bj(t,function(E,U){if(!Gj(b,U)&&(D===E||o(D,E,r,a,s)))return b.push(U)})){h=!1;break}}else if(!(D===I||o(D,I,r,a,s))){h=!1;break}}return s.delete(e),s.delete(t),h}n(Vj,"equalArrays");Hb.exports=Vj});var Jb=d((BZ,Kb)=>{"use strict";function Qj(e){var t=-1,r=Array(e.size);return e.forEach(function(a,o){r[++t]=[o,a]}),r}n(Qj,"mapToArray");Kb.exports=Qj});var ew=d(($Z,Xb)=>{"use strict";var Yb=Mr(),zb=Vi(),Hj=ea(),Kj=El(),Jj=Jb(),Yj=Oo(),zj=1,Zj=2,Xj="[object Boolean]",eF="[object Date]",tF="[object Error]",rF="[object Map]",aF="[object Number]",nF="[object RegExp]",oF="[object Set]",sF="[object String]",iF="[object Symbol]",uF="[object ArrayBuffer]",lF="[object DataView]",Zb=Yb?Yb.prototype:void 0,Rl=Zb?Zb.valueOf:void 0;function cF(e,t,r,a,o,s,i){switch(r){case lF:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case uF:return!(e.byteLength!=t.byteLength||!s(new zb(e),new zb(t)));case Xj:case eF:case aF:return Hj(+e,+t);case tF:return e.name==t.name&&e.message==t.message;case nF:case sF:return e==t+"";case rF:var u=Jj;case oF:var l=a&zj;if(u||(u=Yj),e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;a|=Zj,i.set(e,t);var f=Kj(u(e),u(t),a,o,s,i);return i.delete(e),f;case iF:if(Rl)return Rl.call(e)==Rl.call(t)}return!1}n(cF,"equalByTag");Xb.exports=cF});var aw=d((VZ,rw)=>{"use strict";var tw=bl(),pF=1,dF=Object.prototype,fF=dF.hasOwnProperty;function mF(e,t,r,a,o,s){var i=r&pF,u=tw(e),l=u.length,c=tw(t),f=c.length;if(l!=f&&!i)return!1;for(var y=l;y--;){var h=u[y];if(!(i?h in t:fF.call(t,h)))return!1}var b=s.get(e),D=s.get(t);if(b&&D)return b==t&&D==e;var I=!0;s.set(e,t),s.set(t,e);for(var S=i;++y<l;){h=u[y];var E=e[h],U=t[h];if(a)var V=i?a(U,E,h,t,e,s):a(E,U,h,e,t,s);if(!(V===void 0?E===U||o(E,U,r,a,s):V)){I=!1;break}S||(S=h=="constructor")}if(I&&!S){var de=e.constructor,Z=t.constructor;de!=Z&&"constructor"in e&&"constructor"in t&&!(typeof de=="function"&&de instanceof de&&typeof Z=="function"&&Z instanceof Z)&&(I=!1)}return s.delete(e),s.delete(t),I}n(mF,"equalObjects");rw.exports=mF});var pw=d((HZ,cw)=>{"use strict";var Ol=In(),gF=El(),hF=ew(),yF=aw(),nw=ba(),ow=Ye(),sw=An(),vF=Uo(),bF=1,iw="[object Arguments]",uw="[object Array]",Ts="[object Object]",wF=Object.prototype,lw=wF.hasOwnProperty;function IF(e,t,r,a,o,s){var i=ow(e),u=ow(t),l=i?uw:nw(e),c=u?uw:nw(t);l=l==iw?Ts:l,c=c==iw?Ts:c;var f=l==Ts,y=c==Ts,h=l==c;if(h&&sw(e)){if(!sw(t))return!1;i=!0,f=!1}if(h&&!f)return s||(s=new Ol),i||vF(e)?gF(e,t,r,a,o,s):hF(e,t,l,r,a,o,s);if(!(r&bF)){var b=f&&lw.call(e,"__wrapped__"),D=y&&lw.call(t,"__wrapped__");if(b||D){var I=b?e.value():e,S=D?t.value():t;return s||(s=new Ol),o(I,S,r,a,s)}}return h?(s||(s=new Ol),yF(e,t,r,a,o,s)):!1}n(IF,"baseIsEqualDeep");cw.exports=IF});var Cl=d((JZ,mw)=>{"use strict";var TF=pw(),dw=ht();function fw(e,t,r,a,o){return e===t?!0:e==null||t==null||!dw(e)&&!dw(t)?e!==e&&t!==t:TF(e,t,r,a,fw,o)}n(fw,"baseIsEqual");mw.exports=fw});var hw=d((zZ,gw)=>{"use strict";var SF=In(),_F=Cl(),AF=1,xF=2;function EF(e,t,r,a){var o=r.length,s=o,i=!a;if(e==null)return!s;for(e=Object(e);o--;){var u=r[o];if(i&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<s;){u=r[o];var l=u[0],c=e[l],f=u[1];if(i&&u[2]){if(c===void 0&&!(l in e))return!1}else{var y=new SF;if(a)var h=a(c,f,l,e,t,y);if(!(h===void 0?_F(f,c,AF|xF,a,y):h))return!1}}return!0}n(EF,"baseIsMatch");gw.exports=EF});var Ml=d((XZ,yw)=>{"use strict";var RF=St();function OF(e){return e===e&&!RF(e)}n(OF,"isStrictComparable");yw.exports=OF});var bw=d((tX,vw)=>{"use strict";var CF=Ml(),MF=Gn();function PF(e){for(var t=MF(e),r=t.length;r--;){var a=t[r],o=e[a];t[r]=[a,o,CF(o)]}return t}n(PF,"getMatchData");vw.exports=PF});var Pl=d((aX,ww)=>{"use strict";function kF(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}n(kF,"matchesStrictComparable");ww.exports=kF});var Tw=d((oX,Iw)=>{"use strict";var NF=hw(),DF=bw(),qF=Pl();function UF(e){var t=DF(e);return t.length==1&&t[0][2]?qF(t[0][0],t[0][1]):function(r){return r===e||NF(r,e,t)}}n(UF,"baseMatches");Iw.exports=UF});var Ss=d((iX,Sw)=>{"use strict";var LF=Ye(),jF=ya(),FF=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,BF=/^\w*$/;function GF(e,t){if(LF(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||jF(e)?!0:BF.test(e)||!FF.test(e)||t!=null&&e in Object(t)}n(GF,"isKey");Sw.exports=GF});var xw=d((lX,Aw)=>{"use strict";var _w=Eo(),$F="Expected a function";function kl(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError($F);var r=n(function(){var a=arguments,o=t?t.apply(this,a):a[0],s=r.cache;if(s.has(o))return s.get(o);var i=e.apply(this,a);return r.cache=s.set(o,i)||s,i},"memoized");return r.cache=new(kl.Cache||_w),r}n(kl,"memoize");kl.Cache=_w;Aw.exports=kl});var Rw=d((pX,Ew)=>{"use strict";var WF=xw(),VF=500;function QF(e){var t=WF(e,function(a){return r.size===VF&&r.clear(),a}),r=t.cache;return t}n(QF,"memoizeCapped");Ew.exports=QF});var Nl=d((fX,Ow)=>{"use strict";var HF=Rw(),KF=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,JF=/\\(\\)?/g,YF=HF(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(KF,function(r,a,o,s){t.push(o?s.replace(JF,"$1"):a||r)}),t});Ow.exports=YF});var Dl=d((mX,Cw)=>{"use strict";function zF(e,t){for(var r=-1,a=e==null?0:e.length,o=Array(a);++r<a;)o[r]=t(e[r],r,e);return o}n(zF,"arrayMap");Cw.exports=zF});var qw=d((hX,Dw)=>{"use strict";var Mw=Mr(),ZF=Dl(),XF=Ye(),eB=ya(),tB=1/0,Pw=Mw?Mw.prototype:void 0,kw=Pw?Pw.toString:void 0;function Nw(e){if(typeof e=="string")return e;if(XF(e))return ZF(e,Nw)+"";if(eB(e))return kw?kw.call(e):"";var t=e+"";return t=="0"&&1/e==-tB?"-0":t}n(Nw,"baseToString");Dw.exports=Nw});var ql=d((vX,Uw)=>{"use strict";var rB=qw();function aB(e){return e==null?"":rB(e)}n(aB,"toString");Uw.exports=aB});var Ul=d((wX,Lw)=>{"use strict";var nB=Ye(),oB=Ss(),sB=Nl(),iB=ql();function uB(e,t){return nB(e)?e:oB(e,t)?[e]:sB(iB(e))}n(uB,"castPath");Lw.exports=uB});var wa=d((TX,jw)=>{"use strict";var lB=ya(),cB=1/0;function pB(e){if(typeof e=="string"||lB(e))return e;var t=e+"";return t=="0"&&1/e==-cB?"-0":t}n(pB,"toKey");jw.exports=pB});var Ll=d((_X,Fw)=>{"use strict";var dB=Ul(),fB=wa();function mB(e,t){t=dB(t,e);for(var r=0,a=t.length;e!=null&&r<a;)e=e[fB(t[r++])];return r&&r==a?e:void 0}n(mB,"baseGet");Fw.exports=mB});var Gw=d((xX,Bw)=>{"use strict";var gB=Ll();function hB(e,t,r){var a=e==null?void 0:gB(e,t);return a===void 0?r:a}n(hB,"get");Bw.exports=hB});var Ww=d((RX,$w)=>{"use strict";function yB(e,t){return e!=null&&t in Object(e)}n(yB,"baseHasIn");$w.exports=yB});var Qw=d((CX,Vw)=>{"use strict";var vB=Ul(),bB=fn(),wB=Ye(),IB=Rn(),TB=Co(),SB=wa();function _B(e,t,r){t=vB(t,e);for(var a=-1,o=t.length,s=!1;++a<o;){var i=SB(t[a]);if(!(s=e!=null&&r(e,i)))break;e=e[i]}return s||++a!=o?s:(o=e==null?0:e.length,!!o&&TB(o)&&IB(i,o)&&(wB(e)||bB(e)))}n(_B,"hasPath");Vw.exports=_B});var Kw=d((PX,Hw)=>{"use strict";var AB=Ww(),xB=Qw();function EB(e,t){return e!=null&&xB(e,t,AB)}n(EB,"hasIn");Hw.exports=EB});var Yw=d((NX,Jw)=>{"use strict";var RB=Cl(),OB=Gw(),CB=Kw(),MB=Ss(),PB=Ml(),kB=Pl(),NB=wa(),DB=1,qB=2;function UB(e,t){return MB(e)&&PB(t)?kB(NB(e),t):function(r){var a=OB(r,e);return a===void 0&&a===t?CB(r,e):RB(t,a,DB|qB)}}n(UB,"baseMatchesProperty");Jw.exports=UB});var Zw=d((qX,zw)=>{"use strict";function LB(e){return function(t){return t?.[e]}}n(LB,"baseProperty");zw.exports=LB});var eI=d((LX,Xw)=>{"use strict";var jB=Ll();function FB(e){return function(t){return jB(t,e)}}n(FB,"basePropertyDeep");Xw.exports=FB});var rI=d((FX,tI)=>{"use strict";var BB=Zw(),GB=eI(),$B=Ss(),WB=wa();function VB(e){return $B(e)?BB(WB(e)):GB(e)}n(VB,"property");tI.exports=VB});var nI=d((GX,aI)=>{"use strict";var QB=Tw(),HB=Yw(),KB=mn(),JB=Ye(),YB=rI();function zB(e){return typeof e=="function"?e:e==null?KB:typeof e=="object"?JB(e)?HB(e[0],e[1]):QB(e):YB(e)}n(zB,"baseIteratee");aI.exports=zB});var sI=d((WX,oI)=>{"use strict";var ZB=Al(),XB=nI(),eG=1;function tG(e){return XB(typeof e=="function"?e:ZB(e,eG))}n(tG,"iteratee");oI.exports=tG});var uI=d((QX,iI)=>{"use strict";var rG=Oi();function aG(e){var t=e==null?0:e.length;return t?rG(e,1):[]}n(aG,"flatten");iI.exports=aG});var cI=d((KX,lI)=>{"use strict";var nG=uI(),oG=Ci(),sG=Ao();function iG(e){return sG(oG(e,void 0,nG),e+"")}n(iG,"flatRest");lI.exports=iG});var dI=d((YX,pI)=>{"use strict";var uG=bs(),lG=cI(),cG=256,pG=lG(function(e,t){return uG(e,cG,void 0,void 0,void 0,t)});pI.exports=pG});var mI=d((zX,fI)=>{"use strict";var dG=Dl(),fG=oa(),mG=Ye(),gG=ya(),hG=Nl(),yG=wa(),vG=ql();function bG(e){return mG(e)?dG(e,yG):gG(e)?[e]:fG(hG(vG(e)))}n(bG,"toPath");fI.exports=bG});var hI=d((XX,gI)=>{"use strict";gI.exports={ary:Rv(),assign:gl(),clone:Lb(),curry:Fb(),forEach:ys(),isArray:Ye(),isError:Gb(),isFunction:gn(),isWeakMap:Wb(),iteratee:sI(),keys:ml(),rearg:dI(),toInteger:cl(),toPath:mI()}});var vI=d((eee,yI)=>{"use strict";var wG=ay(),IG=hI();function TG(e,t,r){return wG(IG,e,t,r)}n(TG,"convert");yI.exports=TG});var jl=d((ree,wI)=>{"use strict";var SG=vI(),bI=SG("merge",eu());bI.placeholder=Hu();wI.exports=bI});var AI=d((Fl,Bl)=>{"use strict";(function(e,t){typeof Fl=="object"&&typeof Bl<"u"?Bl.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs=t()})(Fl,function(){"use strict";var e=1e3,t=6e4,r=36e5,a="millisecond",o="second",s="minute",i="hour",u="day",l="week",c="month",f="quarter",y="year",h="date",b="Invalid Date",D=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,I=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,S={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(j){var O=["th","st","nd","rd"],_=j%100;return"["+j+(O[(_-20)%10]||O[_]||O[0])+"]"}},E=n(function(j,O,_){var M=String(j);return!M||M.length>=O?j:""+Array(O+1-M.length).join(_)+j},"m"),U={s:E,z:function(j){var O=-j.utcOffset(),_=Math.abs(O),M=Math.floor(_/60),R=_%60;return(O<=0?"+":"-")+E(M,2,"0")+":"+E(R,2,"0")},m:n(function j(O,_){if(O.date()<_.date())return-j(_,O);var M=12*(_.year()-O.year())+(_.month()-O.month()),R=O.clone().add(M,c),G=_-R<0,F=O.clone().add(M+(G?-1:1),c);return+(-(M+(_-R)/(G?R-F:F-R))||0)},"t"),a:function(j){return j<0?Math.ceil(j)||0:Math.floor(j)},p:function(j){return{M:c,y,w:l,d:u,D:h,h:i,m:s,s:o,ms:a,Q:f}[j]||String(j||"").toLowerCase().replace(/s$/,"")},u:function(j){return j===void 0}},V="en",de={};de[V]=S;var Z="$isDayjsObject",X=n(function(j){return j instanceof Bt||!(!j||!j[Z])},"S"),ut=n(function j(O,_,M){var R;if(!O)return V;if(typeof O=="string"){var G=O.toLowerCase();de[G]&&(R=G),_&&(de[G]=_,R=G);var F=O.split("-");if(!R&&F.length>1)return j(F[0])}else{var re=O.name;de[re]=O,R=re}return!M&&R&&(V=R),R||!M&&V},"t"),fe=n(function(j,O){if(X(j))return j.clone();var _=typeof O=="object"?O:{};return _.date=j,_.args=arguments,new Bt(_)},"O"),te=U;te.l=ut,te.i=X,te.w=function(j,O){return fe(j,{locale:O.$L,utc:O.$u,x:O.$x,$offset:O.$offset})};var Bt=function(){function j(_){this.$L=ut(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[Z]=!0}n(j,"M");var O=j.prototype;return O.parse=function(_){this.$d=function(M){var R=M.date,G=M.utc;if(R===null)return new Date(NaN);if(te.u(R))return new Date;if(R instanceof Date)return new Date(R);if(typeof R=="string"&&!/Z$/i.test(R)){var F=R.match(D);if(F){var re=F[2]-1||0,ne=(F[7]||"0").substring(0,3);return G?new Date(Date.UTC(F[1],re,F[3]||1,F[4]||0,F[5]||0,F[6]||0,ne)):new Date(F[1],re,F[3]||1,F[4]||0,F[5]||0,F[6]||0,ne)}}return new Date(R)}(_),this.init()},O.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},O.$utils=function(){return te},O.isValid=function(){return this.$d.toString()!==b},O.isSame=function(_,M){var R=fe(_);return this.startOf(M)<=R&&R<=this.endOf(M)},O.isAfter=function(_,M){return fe(_)<this.startOf(M)},O.isBefore=function(_,M){return this.endOf(M)<fe(_)},O.$g=function(_,M,R){return te.u(_)?this[M]:this.set(R,_)},O.unix=function(){return Math.floor(this.valueOf()/1e3)},O.valueOf=function(){return this.$d.getTime()},O.startOf=function(_,M){var R=this,G=!!te.u(M)||M,F=te.p(_),re=n(function(x,N){var B=te.w(R.$u?Date.UTC(R.$y,N,x):new Date(R.$y,N,x),R);return G?B:B.endOf(u)},"l"),ne=n(function(x,N){return te.w(R.toDate()[x].apply(R.toDate("s"),(G?[0,0,0,0]:[23,59,59,999]).slice(N)),R)},"$"),ye=this.$W,Ee=this.$M,K=this.$D,Qe="set"+(this.$u?"UTC":"");switch(F){case y:return G?re(1,0):re(31,11);case c:return G?re(1,Ee):re(0,Ee+1);case l:var P=this.$locale().weekStart||0,A=(ye<P?ye+7:ye)-P;return re(G?K-A:K+(6-A),Ee);case u:case h:return ne(Qe+"Hours",0);case i:return ne(Qe+"Minutes",1);case s:return ne(Qe+"Seconds",2);case o:return ne(Qe+"Milliseconds",3);default:return this.clone()}},O.endOf=function(_){return this.startOf(_,!1)},O.$set=function(_,M){var R,G=te.p(_),F="set"+(this.$u?"UTC":""),re=(R={},R[u]=F+"Date",R[h]=F+"Date",R[c]=F+"Month",R[y]=F+"FullYear",R[i]=F+"Hours",R[s]=F+"Minutes",R[o]=F+"Seconds",R[a]=F+"Milliseconds",R)[G],ne=G===u?this.$D+(M-this.$W):M;if(G===c||G===y){var ye=this.clone().set(h,1);ye.$d[re](ne),ye.init(),this.$d=ye.set(h,Math.min(this.$D,ye.daysInMonth())).$d}else re&&this.$d[re](ne);return this.init(),this},O.set=function(_,M){return this.clone().$set(_,M)},O.get=function(_){return this[te.p(_)]()},O.add=function(_,M){var R,G=this;_=Number(_);var F=te.p(M),re=n(function(Ee){var K=fe(G);return te.w(K.date(K.date()+Math.round(Ee*_)),G)},"y");if(F===c)return this.set(c,this.$M+_);if(F===y)return this.set(y,this.$y+_);if(F===u)return re(1);if(F===l)return re(7);var ne=(R={},R[s]=t,R[i]=r,R[o]=e,R)[F]||1,ye=this.$d.getTime()+_*ne;return te.w(ye,this)},O.subtract=function(_,M){return this.add(-1*_,M)},O.format=function(_){var M=this,R=this.$locale();if(!this.isValid())return R.invalidDate||b;var G=_||"YYYY-MM-DDTHH:mm:ssZ",F=te.z(this),re=this.$H,ne=this.$m,ye=this.$M,Ee=R.weekdays,K=R.months,Qe=R.meridiem,P=n(function(N,B,ve,Le){return N&&(N[B]||N(M,G))||ve[B].slice(0,Le)},"h"),A=n(function(N){return te.s(re%12||12,N,"0")},"d"),x=Qe||function(N,B,ve){var Le=N<12?"AM":"PM";return ve?Le.toLowerCase():Le};return G.replace(I,function(N,B){return B||function(ve){switch(ve){case"YY":return String(M.$y).slice(-2);case"YYYY":return te.s(M.$y,4,"0");case"M":return ye+1;case"MM":return te.s(ye+1,2,"0");case"MMM":return P(R.monthsShort,ye,K,3);case"MMMM":return P(K,ye);case"D":return M.$D;case"DD":return te.s(M.$D,2,"0");case"d":return String(M.$W);case"dd":return P(R.weekdaysMin,M.$W,Ee,2);case"ddd":return P(R.weekdaysShort,M.$W,Ee,3);case"dddd":return Ee[M.$W];case"H":return String(re);case"HH":return te.s(re,2,"0");case"h":return A(1);case"hh":return A(2);case"a":return x(re,ne,!0);case"A":return x(re,ne,!1);case"m":return String(ne);case"mm":return te.s(ne,2,"0");case"s":return String(M.$s);case"ss":return te.s(M.$s,2,"0");case"SSS":return te.s(M.$ms,3,"0");case"Z":return F}return null}(N)||F.replace(":","")})},O.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},O.diff=function(_,M,R){var G,F=this,re=te.p(M),ne=fe(_),ye=(ne.utcOffset()-this.utcOffset())*t,Ee=this-ne,K=n(function(){return te.m(F,ne)},"D");switch(re){case y:G=K()/12;break;case c:G=K();break;case f:G=K()/3;break;case l:G=(Ee-ye)/6048e5;break;case u:G=(Ee-ye)/864e5;break;case i:G=Ee/r;break;case s:G=Ee/t;break;case o:G=Ee/e;break;default:G=Ee}return R?G:te.a(G)},O.daysInMonth=function(){return this.endOf(c).$D},O.$locale=function(){return de[this.$L]},O.locale=function(_,M){if(!_)return this.$L;var R=this.clone(),G=ut(_,M,!0);return G&&(R.$L=G),R},O.clone=function(){return te.w(this.$d,this)},O.toDate=function(){return new Date(this.valueOf())},O.toJSON=function(){return this.isValid()?this.toISOString():null},O.toISOString=function(){return this.$d.toISOString()},O.toString=function(){return this.$d.toUTCString()},j}(),Er=Bt.prototype;return fe.prototype=Er,[["$ms",a],["$s",o],["$m",s],["$H",i],["$W",u],["$M",c],["$y",y],["$D",h]].forEach(function(j){Er[j[1]]=function(O){return this.$g(O,j[0],j[1])}}),fe.extend=function(j,O){return j.$i||(j(O,Bt,fe),j.$i=!0),fe},fe.locale=ut,fe.isDayjs=X,fe.unix=function(j){return fe(1e3*j)},fe.en=de[V],fe.Ls=de,fe.p={},fe})});var uc=d((Ete,lS)=>{"use strict";var ic=Object.defineProperty,v2=Object.getOwnPropertyDescriptor,b2=Object.getOwnPropertyNames,w2=Object.prototype.hasOwnProperty,I2=n((e,t)=>{for(var r in t)ic(e,r,{get:t[r],enumerable:!0})},"__export"),T2=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of b2(t))!w2.call(e,o)&&o!==r&&ic(e,o,{get:()=>t[o],enumerable:!(a=v2(t,o))||a.enumerable});return e},"__copyProps"),S2=n(e=>T2(ic({},"__esModule",{value:!0}),e),"__toCommonJS"),iS={};I2(iS,{SYMBOL_FOR_REQ_CONTEXT:()=>uS,getContext:()=>_2});lS.exports=S2(iS);var uS=Symbol.for("@vercel/request-context");function _2(){return globalThis[uS]?.get?.()??{}}n(_2,"getContext")});var Qn=d((Ote,pS)=>{"use strict";var cc=Object.defineProperty,A2=Object.getOwnPropertyDescriptor,x2=Object.getOwnPropertyNames,E2=Object.prototype.hasOwnProperty,R2=n((e,t)=>{for(var r in t)cc(e,r,{get:t[r],enumerable:!0})},"__export"),O2=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of x2(t))!E2.call(e,o)&&o!==r&&cc(e,o,{get:()=>t[o],enumerable:!(a=A2(t,o))||a.enumerable});return e},"__copyProps"),C2=n(e=>O2(cc({},"__esModule",{value:!0}),e),"__toCommonJS"),cS={};R2(cS,{VercelOidcTokenError:()=>lc});pS.exports=C2(cS);var lc=class extends Error{static{n(this,"VercelOidcTokenError")}constructor(t,r){super(t),this.name="VercelOidcTokenError",this.cause=r}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}});var gS=d((Mte,mS)=>{"use strict";var M2=Object.create,qs=Object.defineProperty,P2=Object.getOwnPropertyDescriptor,k2=Object.getOwnPropertyNames,N2=Object.getPrototypeOf,D2=Object.prototype.hasOwnProperty,q2=n((e,t)=>{for(var r in t)qs(e,r,{get:t[r],enumerable:!0})},"__export"),dS=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of k2(t))!D2.call(e,o)&&o!==r&&qs(e,o,{get:()=>t[o],enumerable:!(a=P2(t,o))||a.enumerable});return e},"__copyProps"),dc=n((e,t,r)=>(r=e!=null?M2(N2(e)):{},dS(t||!e||!e.__esModule?qs(r,"default",{value:e,enumerable:!0}):r,e)),"__toESM"),U2=n(e=>dS(qs({},"__esModule",{value:!0}),e),"__toCommonJS"),fS={};q2(fS,{findRootDir:()=>F2,getUserDataDir:()=>B2});mS.exports=U2(fS);var Hn=dc(require("path")),L2=dc(require("fs")),pc=dc(require("os")),j2=Qn();function F2(){try{let e=process.cwd();for(;e!==Hn.default.dirname(e);){let t=Hn.default.join(e,".vercel");if(L2.default.existsSync(t))return e;e=Hn.default.dirname(e)}}catch{throw new j2.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}n(F2,"findRootDir");function B2(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(pc.default.platform()){case"darwin":return Hn.default.join(pc.default.homedir(),"Library/Application Support");case"linux":return Hn.default.join(pc.default.homedir(),".local/share");case"win32":return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}n(B2,"getUserDataDir")});var TS=d((kte,IS)=>{"use strict";var G2=Object.create,Us=Object.defineProperty,$2=Object.getOwnPropertyDescriptor,W2=Object.getOwnPropertyNames,V2=Object.getPrototypeOf,Q2=Object.prototype.hasOwnProperty,H2=n((e,t)=>{for(var r in t)Us(e,r,{get:t[r],enumerable:!0})},"__export"),hS=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of W2(t))!Q2.call(e,o)&&o!==r&&Us(e,o,{get:()=>t[o],enumerable:!(a=$2(t,o))||a.enumerable});return e},"__copyProps"),yS=n((e,t,r)=>(r=e!=null?G2(V2(e)):{},hS(t||!e||!e.__esModule?Us(r,"default",{value:e,enumerable:!0}):r,e)),"__toESM"),K2=n(e=>hS(Us({},"__esModule",{value:!0}),e),"__toCommonJS"),vS={};H2(vS,{isValidAccessToken:()=>Z2,readAuthConfig:()=>Y2,writeAuthConfig:()=>z2});IS.exports=K2(vS);var Kn=yS(require("fs")),bS=yS(require("path")),J2=Ls();function wS(){let e=(0,J2.getVercelDataDir)();if(!e)throw new Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return bS.join(e,"auth.json")}n(wS,"getAuthConfigPath");function Y2(){try{let e=wS();if(!Kn.existsSync(e))return null;let t=Kn.readFileSync(e,"utf8");return t?JSON.parse(t):null}catch{return null}}n(Y2,"readAuthConfig");function z2(e){let t=wS(),r=bS.dirname(t);Kn.existsSync(r)||Kn.mkdirSync(r,{mode:504,recursive:!0}),Kn.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}n(z2,"writeAuthConfig");function Z2(e){if(!e.token)return!1;if(typeof e.expiresAt!="number")return!0;let t=Math.floor(Date.now()/1e3);return e.expiresAt>=t}n(Z2,"isValidAccessToken")});var xS=d((Dte,AS)=>{"use strict";var gc=Object.defineProperty,X2=Object.getOwnPropertyDescriptor,eW=Object.getOwnPropertyNames,tW=Object.prototype.hasOwnProperty,rW=n((e,t)=>{for(var r in t)gc(e,r,{get:t[r],enumerable:!0})},"__export"),aW=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of eW(t))!tW.call(e,o)&&o!==r&&gc(e,o,{get:()=>t[o],enumerable:!(a=X2(t,o))||a.enumerable});return e},"__copyProps"),nW=n(e=>aW(gc({},"__esModule",{value:!0}),e),"__toCommonJS"),SS={};rW(SS,{processTokenResponse:()=>lW,refreshTokenRequest:()=>uW});AS.exports=nW(SS);var fc=require("os"),oW="https://vercel.com",sW="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",_S=`@vercel/oidc node-${process.version} ${(0,fc.platform)()} (${(0,fc.arch)()}) ${(0,fc.hostname)()}`,mc=null;async function iW(){if(mc)return mc;let e=`${oW}/.well-known/openid-configuration`,t=await fetch(e,{headers:{"user-agent":_S}});if(!t.ok)throw new Error("Failed to discover OAuth endpoints");let r=await t.json();if(!r||typeof r.token_endpoint!="string")throw new Error("Invalid OAuth discovery response");let a=r.token_endpoint;return mc=a,a}n(iW,"getTokenEndpoint");async function uW(e){let t=await iW();return await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":_S},body:new URLSearchParams({client_id:sW,grant_type:"refresh_token",...e})})}n(uW,"refreshTokenRequest");async function lW(e){let t=await e.json();if(!e.ok){let r=typeof t=="object"&&t&&"error"in t?String(t.error):"Token refresh failed";return[new Error(r)]}return typeof t!="object"||t===null?[new Error("Invalid token response")]:typeof t.access_token!="string"?[new Error("Missing access_token in response")]:t.token_type!=="Bearer"?[new Error("Invalid token_type in response")]:typeof t.expires_in!="number"?[new Error("Missing expires_in in response")]:[null,t]}n(lW,"processTokenResponse")});var Ls=d((Ute,MS)=>{"use strict";var cW=Object.create,Fs=Object.defineProperty,pW=Object.getOwnPropertyDescriptor,dW=Object.getOwnPropertyNames,fW=Object.getPrototypeOf,mW=Object.prototype.hasOwnProperty,gW=n((e,t)=>{for(var r in t)Fs(e,r,{get:t[r],enumerable:!0})},"__export"),RS=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of dW(t))!mW.call(e,o)&&o!==r&&Fs(e,o,{get:()=>t[o],enumerable:!(a=pW(t,o))||a.enumerable});return e},"__copyProps"),OS=n((e,t,r)=>(r=e!=null?cW(fW(e)):{},RS(t||!e||!e.__esModule?Fs(r,"default",{value:e,enumerable:!0}):r,e)),"__toESM"),hW=n(e=>RS(Fs({},"__esModule",{value:!0}),e),"__toCommonJS"),CS={};gW(CS,{assertVercelOidcTokenResponse:()=>hc,findProjectInfo:()=>wW,getTokenPayload:()=>SW,getVercelCliToken:()=>vW,getVercelDataDir:()=>yW,getVercelOidcToken:()=>bW,isExpired:()=>_W,loadToken:()=>TW,saveToken:()=>IW});MS.exports=hW(CS);var Jn=OS(require("path")),Gr=OS(require("fs")),Aa=Qn(),Bs=gS(),_a=TS(),ES=xS();function yW(){let e="com.vercel.cli",t=(0,Bs.getUserDataDir)();return t?Jn.join(t,e):null}n(yW,"getVercelDataDir");async function vW(){let e=(0,_a.readAuthConfig)();if(!e)return null;if((0,_a.isValidAccessToken)(e))return e.token||null;if(!e.refreshToken)return(0,_a.writeAuthConfig)({}),null;try{let t=await(0,ES.refreshTokenRequest)({refresh_token:e.refreshToken}),[r,a]=await(0,ES.processTokenResponse)(t);if(r||!a)return(0,_a.writeAuthConfig)({}),null;let o={token:a.access_token,expiresAt:Math.floor(Date.now()/1e3)+a.expires_in};return a.refresh_token&&(o.refreshToken=a.refresh_token),(0,_a.writeAuthConfig)(o),o.token??null}catch{return(0,_a.writeAuthConfig)({}),null}}n(vW,"getVercelCliToken");async function bW(e,t,r){let a=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${r?`&teamId=${r}`:""}`,o=await fetch(a,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!o.ok)throw new Aa.VercelOidcTokenError(`Failed to refresh OIDC token: ${o.statusText}`);let s=await o.json();return hc(s),s}n(bW,"getVercelOidcToken");function hc(e){if(!e||typeof e!="object")throw new TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in e)||typeof e.token!="string")throw new TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}n(hc,"assertVercelOidcTokenResponse");function wW(){let e=(0,Bs.findRootDir)();if(!e)throw new Aa.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=Jn.join(e,".vercel","project.json");if(!Gr.existsSync(t))throw new Aa.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let r=JSON.parse(Gr.readFileSync(t,"utf8"));if(typeof r.projectId!="string"&&typeof r.orgId!="string")throw new TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:r.projectId,teamId:r.orgId}}n(wW,"findProjectInfo");function IW(e,t){let r=(0,Bs.getUserDataDir)();if(!r)throw new Aa.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let a=Jn.join(r,"com.vercel.token",`${t}.json`),o=JSON.stringify(e);Gr.mkdirSync(Jn.dirname(a),{mode:504,recursive:!0}),Gr.writeFileSync(a,o),Gr.chmodSync(a,432)}n(IW,"saveToken");function TW(e){let t=(0,Bs.getUserDataDir)();if(!t)throw new Aa.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let r=Jn.join(t,"com.vercel.token",`${e}.json`);if(!Gr.existsSync(r))return null;let a=JSON.parse(Gr.readFileSync(r,"utf8"));return hc(a),a}n(TW,"loadToken");function SW(e){let t=e.split(".");if(t.length!==3)throw new Aa.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let r=t[1].replace(/-/g,"+").replace(/_/g,"/"),a=r.padEnd(r.length+(4-r.length%4)%4,"=");return JSON.parse(Buffer.from(a,"base64").toString("utf8"))}n(SW,"getTokenPayload");function _W(e){return e.exp*1e3<Date.now()}n(_W,"isExpired")});var NS=d((jte,kS)=>{"use strict";var vc=Object.defineProperty,AW=Object.getOwnPropertyDescriptor,xW=Object.getOwnPropertyNames,EW=Object.prototype.hasOwnProperty,RW=n((e,t)=>{for(var r in t)vc(e,r,{get:t[r],enumerable:!0})},"__export"),OW=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of xW(t))!EW.call(e,o)&&o!==r&&vc(e,o,{get:()=>t[o],enumerable:!(a=AW(t,o))||a.enumerable});return e},"__copyProps"),CW=n(e=>OW(vc({},"__esModule",{value:!0}),e),"__toCommonJS"),PS={};RW(PS,{refreshToken:()=>MW});kS.exports=CW(PS);var yc=Qn(),$r=Ls();async function MW(){let{projectId:e,teamId:t}=(0,$r.findProjectInfo)(),r=(0,$r.loadToken)(e);if(!r||(0,$r.isExpired)((0,$r.getTokenPayload)(r.token))){let a=await(0,$r.getVercelCliToken)();if(!a)throw new yc.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!e)throw new yc.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(r=await(0,$r.getVercelOidcToken)(a,e,t),!r)throw new yc.VercelOidcTokenError("Failed to refresh OIDC token");(0,$r.saveToken)(r,e)}process.env.VERCEL_OIDC_TOKEN=r.token}n(MW,"refreshToken")});var US=d((Bte,qS)=>{"use strict";var wc=Object.defineProperty,PW=Object.getOwnPropertyDescriptor,kW=Object.getOwnPropertyNames,NW=Object.prototype.hasOwnProperty,DW=n((e,t)=>{for(var r in t)wc(e,r,{get:t[r],enumerable:!0})},"__export"),qW=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of kW(t))!NW.call(e,o)&&o!==r&&wc(e,o,{get:()=>t[o],enumerable:!(a=PW(t,o))||a.enumerable});return e},"__copyProps"),UW=n(e=>qW(wc({},"__esModule",{value:!0}),e),"__toCommonJS"),DS={};DW(DS,{getVercelOidcToken:()=>FW,getVercelOidcTokenSync:()=>bc});qS.exports=UW(DS);var LW=uc(),jW=Qn();async function FW(){let e="",t;try{e=bc()}catch(r){t=r}try{let[{getTokenPayload:r,isExpired:a},{refreshToken:o}]=await Promise.all([await Promise.resolve().then(()=>Te(Ls())),await Promise.resolve().then(()=>Te(NS()))]);(!e||a(r(e)))&&(await o(),e=bc())}catch(r){let a=t instanceof Error?t.message:"";throw r instanceof Error&&(a=`${a}
4
- ${r.message}`),a?new jW.VercelOidcTokenError(a):r}return e}n(FW,"getVercelOidcToken");function bc(){let e=(0,LW.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw new Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return e}n(bc,"getVercelOidcTokenSync")});var Tc=d(($te,FS)=>{"use strict";var Ic=Object.defineProperty,BW=Object.getOwnPropertyDescriptor,GW=Object.getOwnPropertyNames,$W=Object.prototype.hasOwnProperty,WW=n((e,t)=>{for(var r in t)Ic(e,r,{get:t[r],enumerable:!0})},"__export"),VW=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of GW(t))!$W.call(e,o)&&o!==r&&Ic(e,o,{get:()=>t[o],enumerable:!(a=BW(t,o))||a.enumerable});return e},"__copyProps"),QW=n(e=>VW(Ic({},"__esModule",{value:!0}),e),"__toCommonJS"),jS={};WW(jS,{getContext:()=>HW.getContext,getVercelOidcToken:()=>LS.getVercelOidcToken,getVercelOidcTokenSync:()=>LS.getVercelOidcTokenSync});FS.exports=QW(jS);var LS=US(),HW=uc()});var PQ={};L(PQ,{Method:()=>ui,ai:()=>Yc,auditLogs:()=>ls,automations:()=>ns,backups:()=>jn,branding:()=>Qo,constants:()=>un,db:()=>hr,environmentVariables:()=>ss,features:()=>Ct,groups:()=>Pt,init:()=>zh,licensing:()=>Gt,logger:()=>Lr,mappers:()=>Yl,middleware:()=>Hl,plugins:()=>os,publicApi:()=>cs,quotas:()=>Qt,scimGroups:()=>As,scimUsers:()=>_s,sdk:()=>Gl,users:()=>es,utils:()=>To});module.exports=wx(PQ);var ui=(s=>(s.POST="POST",s.GET="GET",s.PATCH="PATCH",s.DELETE="DELETE",s.PUT="PUT",s))(ui||{});var Gl={};L(Gl,{auditLogs:()=>ls,automations:()=>ns,backups:()=>jn,branding:()=>Qo,environmentVariables:()=>ss,features:()=>Ct,groups:()=>Pt,init:()=>zh,licensing:()=>Gt,logger:()=>Lr,plugins:()=>os,publicApi:()=>cs,quotas:()=>Qt,scimGroups:()=>As,scimUsers:()=>_s,users:()=>es,utils:()=>To});var Qo={};L(Qo,{getBrandingConfig:()=>gk});var Ct={};L(Ct,{checkBackups:()=>ze,checkFeature:()=>$o,checkFeatures:()=>fu,checkSCIM:()=>yu,isAuditLogsEnabled:()=>Wo,isBackupsEnabled:()=>mu,isBrandingEnabled:()=>gu,isEnforceableSSO:()=>ch,isExpandedPublicApiEnabled:()=>pa,isPWAEnabled:()=>sk,isPkceOidcEnabled:()=>uk,isRecaptchaEnabled:()=>ik,isSSOEnforced:()=>pk,isSyncAutomationsEnabled:()=>nk,isTranslationsEnabled:()=>lk,isTriggerAutomationRunEnabled:()=>ok,isUserGroupsEnabled:()=>hu,isViewPermissionEnabled:()=>dk,isViewReadonlyColumnsEnabled:()=>fk,isWorkspaceImportExportEnabled:()=>ck,isWorkspaceImportExportPublicApiEnabled:()=>Vo});var zt=require("@budibase/backend-core"),Ce=require("@budibase/types");var Gt={};L(Gt,{cache:()=>Rt,client:()=>yr,features:()=>wo,getFreeLicense:()=>uu,getLicense:()=>su,getLicenseFromKey:()=>iu,keys:()=>cu,offline:()=>Lo,quotas:()=>Io});var Rt={};L(Rt,{getCachedLicense:()=>uh,invalidate:()=>lh,refresh:()=>Pr});var Bo=Te(require("dd-trace")),yt=require("@budibase/backend-core"),Go=require("@budibase/types");var yr={};L(yr,{activateLicenseKey:()=>_i,getLicense:()=>zr,getLicenseFromKey:()=>Si,triggerQuota:()=>nE});var Tp=Te(require("node-fetch"));var Sp=require("@budibase/backend-core"),li=require("dd-trace"),_p=require("dd-trace/ext/formats");var ci=class{constructor(t){this.apiCall=t=>async(r="",a={})=>await li.tracer.trace(`api.${t}`,async o=>{o.setTag("url",r);let s={...a.headers};s["Content-Type"]||(s["Content-Type"]="application/json",s.Accept="application/json");let i=s["Content-Type"]==="application/json";Sp.logging.correlation.setHeader(s),li.tracer.inject(o,_p.HTTP_HEADERS,s);let u={method:t,body:i?JSON.stringify(a.body):a.body,headers:s,credentials:"include"};return(0,Tp.default)(`${this.host}${r}`,u)});this.post=this.apiCall("POST");this.get=this.apiCall("GET");this.patch=this.apiCall("PATCH");this.del=this.apiCall("DELETE");this.put=this.apiCall("PUT");this.host=t}static{n(this,"API")}},pi=ci;var Ap=require("@budibase/backend-core");var{getDispatcher:QQ}=Ap.utils;var Yr=require("@budibase/types"),z=require("@budibase/backend-core");var hr={};L(hr,{backups:()=>mt,environmentVariables:()=>gr,groups:()=>ge,licenseInfo:()=>ft,quotas:()=>It});var It={};L(It,{bustCache:()=>mi,getCurrentUsageValues:()=>kp,getQuotaUsage:()=>Rr,setAllUsage:()=>hi,setAppUsageValue:()=>gi,setUsage:()=>Cp,setUsagePerApp:()=>Mp,utils:()=>$a});var at=require("@budibase/backend-core"),Ke=require("@budibase/types");var $a={};L($a,{generateBaseQuotaUsage:()=>lo,generateNewMonthlyQuotas:()=>Ga,generateNewQuotaUsage:()=>fi,getBreakdownName:()=>po,getCurrentMonthString:()=>dr,getQuotaDocId:()=>Ba,setCurrentMonth:()=>co,setQuotaReset:()=>di});var Fa=require("@budibase/backend-core"),uo=require("@budibase/shared-core"),ke=require("@budibase/types");var Ba=n(()=>Fa.context.isSelfHostUsingCloud()?`quota_usage_${Fa.context.getTenantId()}`:Fa.db.StaticDatabases.GLOBAL.docs.usageQuota,"getQuotaDocId"),xp=n(()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,1).toISOString()},"getNextQuotaReset"),di=n(e=>{e.quotaReset=xp()},"setQuotaReset"),dr=n(()=>{let e=new Date,t=e.getMonth()+1,r=e.getFullYear();return`${t}-${r}`},"getCurrentMonthString"),lo=n(()=>({usageQuota:{[ke.StaticQuotaName.WORKSPACES]:0,[ke.StaticQuotaName.ROWS]:0,[ke.StaticQuotaName.PLUGINS]:0,[ke.StaticQuotaName.USERS]:0,[ke.StaticQuotaName.CREATORS]:0,[ke.StaticQuotaName.USER_GROUPS]:0,[ke.StaticQuotaName.AI_CUSTOM_CONFIGS]:0,triggers:{}},monthly:{[dr()]:Ga()}}),"generateBaseQuotaUsage"),fi=n(()=>{let e={_id:Ba(),quotaReset:xp(),...lo(),apps:{}};return co(e),e},"generateNewQuotaUsage"),Ga=n(()=>({[ke.MonthlyQuotaName.QUERIES]:0,[ke.MonthlyQuotaName.AUTOMATIONS]:0,[ke.MonthlyQuotaName.BUDIBASE_AI_CREDITS]:0,[ke.MonthlyQuotaName.ACTIONS]:0,triggers:{}}),"generateNewMonthlyQuotas"),co=n(e=>{let t=dr();e.monthly||(e.monthly={}),e.monthly[t]||(e.monthly[t]=Ga()),e.monthly.current=e.monthly[t]},"setCurrentMonth"),po=n((e,t)=>{if(!(!t||!e))switch(e){case ke.MonthlyQuotaName.AUTOMATIONS:return ke.BreakdownQuotaName.AUTOMATIONS;case ke.MonthlyQuotaName.QUERIES:return(0,uo.isTableIdOrExternalTableId)(t)?ke.BreakdownQuotaName.ROW_QUERIES:(0,uo.isDatasourceOrDatasourcePlusId)(t)?ke.BreakdownQuotaName.DATASOURCE_QUERIES:void 0}},"getBreakdownName");var Ep=at.Duration.fromSeconds(60).toMs(),{Writethrough:Rp}=at.cache.writethrough;function Ix(e){return delete e.usageLimits,delete e.usageQuota.automationRuns,delete e.usageQuota.emails,delete e.usageQuota.storage,delete e.usageQuota.views,delete e.usageQuota.publishedApps,delete e.usageQuota.developers,e}n(Ix,"clearDeprecated");var fo=n(()=>at.tenancy.isSelfHostUsingCloud()?new Rp(at.tenancy.getSelfHostCloudDB(),Ep):new Rp(at.tenancy.getGlobalDB(),Ep),"getDB");async function mi(e=0){let r=fo(),a=Ba(),o=await r.tryGet(a);o&&o._rev&&await r.remove(a,o._rev).catch(async s=>{if(e<1)return await mi(e+1);throw s})}n(mi,"bustCache");var Rr=n(async()=>{let e=fo(),t=await e.tryGet(Ba());if(!t){t=fi();let{rev:r}=await e.put(t);t._rev=r}return co(t),di(t),Ix(t)},"getQuotaUsage"),Cp=n(async(e,t,r)=>hi({name:t,type:r,values:{total:e}}),"setUsage"),Mp=n(async(e,t,r)=>{let a=fo(),o=await Rr(),s=Object.values(e).reduce((u,l)=>u+l,0);for(let[u,l]of Object.entries(e))o=Pp(o,t,r,{total:s,app:l},{appId:u});let i=await a.put(o);return o._rev=i.rev,o},"setUsagePerApp"),Tx=n((e,t,r,a)=>{let o=po(t,r);if(!o||!a?.breakdown)return e;e.breakdown||(e.breakdown={}),e.breakdown[o]||(e.breakdown[o]={parent:t,values:{}});let s=e.breakdown[o];return s.values[r]=a.breakdown,e},"setBreakdown"),gi=n((e,t,r,a={},o)=>{let s;try{s=at.db.getProdWorkspaceID(a?.appId||at.context.getWorkspaceId())}catch{}if(!s||!o.app||!Ke.APP_QUOTA_NAMES.includes(t))return e;e.apps?.[s]||(e.apps={...e.apps,[s]:lo()});let i=e.apps[s];switch(r){case Ke.QuotaUsageType.STATIC:i.usageQuota[t]=o.app;break;case Ke.QuotaUsageType.MONTHLY:{let u=dr(),l=t,c=i.monthly[u];c||(i.monthly[u]=Ga(),c=i.monthly[u]),c[l]=o.app,Ke.BREAKDOWN_QUOTA_NAMES.includes(l)&&a?.id&&(c=Tx(c,l,a.id,o));break}}return e},"setAppUsageValue"),Op=n((e,t,r,a)=>{if(!Ke.APP_QUOTA_NAMES.includes(r))return{};let o;try{o=at.db.getProdWorkspaceID(at.context.getWorkspaceId())}catch{}if(!o||!e.apps||!e.apps[o])return{app:0};let s=e.apps[o];switch(t){case Ke.QuotaUsageType.STATIC:if(s.usageQuota?.[r])return{app:s.usageQuota[r]};break;case Ke.QuotaUsageType.MONTHLY:{let i=dr(),u=r;if(!s.monthly?.[i]?.[u])break;let l=s.monthly[i],c=l[u],f,y=po(u,a);return y&&a&&l.breakdown?.[y]&&(f=l.breakdown[y]?.values[a]),{app:c,breakdown:f||0}}}return{app:0}},"getAppUsageValue"),Sx=n((e,t,r)=>{t.usageQuota.triggers||(t.usageQuota.triggers={}),r&&(t.usageQuota.triggers[e]=r)},"setStaticTriggers"),_x=n((e,t,r,a)=>{r.monthly[t].triggers||(r.monthly[t].triggers={}),a&&(r.monthly[t].triggers[e]=a)},"setMonthlyTriggers"),Pp=n((e,t,r,a,o={})=>{if(r===Ke.QuotaUsageType.STATIC)t=t,e.usageQuota[t]=a.total,Sx(t,e,a.triggers);else if(r===Ke.QuotaUsageType.MONTHLY){t=t;let s=dr();e.monthly[s][t]=a.total,_x(t,s,e,a.triggers)}else throw new Error(`Invalid usage type: ${r}`);return gi(e,t,r,o,a)},"coreUsageUpdate"),hi=n(async e=>{let t=Array.isArray(e)?e:[e],r=fo(),a=await Rr();for(let s of t)a=Pp(a,s.name,s.type,s.values,s.opts);let o=await r.put(a,0);return a._rev=o.rev,a},"setAllUsage"),kp=n(async(e,t,r)=>{let a=await Rr(),o=0,s={};switch(e){case Ke.QuotaUsageType.STATIC:if(a.usageQuota[t]){let i=t;o=a.usageQuota[i],s=Op(a,e,t,r)}break;case Ke.QuotaUsageType.MONTHLY:{let i=dr(),u=t;a.monthly[i][u]&&(o=a.monthly[i][u],s=Op(a,e,t,r));break}default:throw new Error(`Invalid usage type: ${e}`)}return Ke.APP_QUOTA_NAMES.includes(t)&&!(s.app||s.breakdown)&&(s.app=s.app||0,s.breakdown=s.breakdown||0),{total:o,app:s.app,breakdown:s.breakdown}},"getCurrentUsageValues");var ft={};L(ft,{destroy:()=>Ex,get:()=>yi,save:()=>xx});var fr=require("@budibase/backend-core");var Ax=n(()=>({_id:fr.StaticDatabases.GLOBAL.docs.licenseInfo}),"newLicenseInfo"),xx=n(async e=>{let t=await yi();t={...t,...e};let a=await fr.tenancy.getGlobalDB().put(t);return t._rev=a.rev,t},"save"),yi=n(async()=>{let e=fr.tenancy.getGlobalDB();try{return await e.get(fr.StaticDatabases.GLOBAL.docs.licenseInfo)}catch(t){if(t.status===404)return Ax();throw t}},"get"),Ex=n(async()=>{let e=fr.tenancy.getGlobalDB(),t=await yi();t&&t._rev&&await e.remove(fr.StaticDatabases.GLOBAL.docs.licenseInfo,t._rev)},"destroy");var ge={};L(ge,{bulkSave:()=>jx,destroy:()=>Fx,fetch:()=>Dx,generateUserGroupID:()=>kx,get:()=>qx,getBulk:()=>Ux,getByName:()=>vi,getGroupUsers:()=>jp,getGroupUsersParams:()=>Lp,getUserGroupsParams:()=>Up,save:()=>Lx});var le=require("@budibase/backend-core");var Et=require("@budibase/types"),Hr=require("@budibase/backend-core");async function Np(){let e=Hr.sql.designDoc.base("type");e.sql.tables={[Et.AUDIT_LOG_TYPE]:{fields:{appId:Et.SQLiteType.TEXT,event:Et.SQLiteType.TEXT,userId:Et.SQLiteType.TEXT,timestamp:Et.SQLiteType.TEXT,metadata:Et.SQLiteType.TEXT,name:Et.SQLiteType.TEXT,type:Et.SQLiteType.TEXT,fallback:Et.SQLiteType.TEXT}}};let t=Hr.context.getAuditLogsDB(),r;try{r=await t.get(Hr.SQLITE_DESIGN_DOC_ID),r={...r,...e}}catch(a){if(a.status===404)r=e;else throw a}await t.put(r)}n(Np,"createAuditLogDesignDocSQL");var mo=require("@budibase/backend-core");var{ViewName:Rx,SEPARATOR:Ox,DocumentType:Cx,createView:Mx}=mo.db,Px=Cx.USER+Ox;async function Dp(){let e=mo.tenancy.getGlobalDB(),t=`function(doc) {
3
+ `)}n(UD,"insertWrapDetails");qy.exports=UD});var ys=d((Z8,Ly)=>{"use strict";function LD(e,t){for(var r=-1,a=e==null?0:e.length;++r<a&&t(e[r],r,e)!==!1;);return e}n(LD,"arrayEach");Ly.exports=LD});var jy=d((e7,Fy)=>{"use strict";var FD=ys(),jD=Ui(),BD=1,GD=2,$D=8,WD=16,VD=32,QD=64,HD=128,KD=256,JD=512,zD=[["ary",HD],["bind",BD],["bindKey",GD],["curry",$D],["curryRight",WD],["flip",JD],["partial",VD],["partialRight",QD],["rearg",KD]];function YD(e,t){return FD(zD,function(r){var a="_."+r[0];t&r[1]&&!jD(e,a)&&e.push(a)}),e.sort()}n(YD,"updateWrapDetails");Fy.exports=YD});var ol=d((r7,By)=>{"use strict";var ZD=Dy(),XD=Uy(),eq=Ao(),tq=jy();function rq(e,t,r){var a=t+"";return eq(e,XD(a,tq(ZD(a),r)))}n(rq,"setWrapToString");By.exports=rq});var sl=d((n7,Wy)=>{"use strict";var aq=Py(),nq=nl(),oq=ol(),sq=1,iq=2,uq=4,lq=8,Gy=32,$y=64;function cq(e,t,r,a,o,s,i,u,l,c){var f=t&lq,y=f?i:void 0,h=f?void 0:i,b=f?s:void 0,D=f?void 0:s;t|=f?Gy:$y,t&=~(f?$y:Gy),t&uq||(t&=~(sq|iq));var I=[e,t,o,b,y,D,h,u,l,c],S=r.apply(void 0,I);return aq(e)&&nq(S,I),S.placeholder=a,oq(S,e,t)}n(cq,"createRecurry");Wy.exports=cq});var il=d((s7,Vy)=>{"use strict";function pq(e){var t=e;return t.placeholder}n(pq,"getHolder");Vy.exports=pq});var Hy=d((u7,Qy)=>{"use strict";var dq=oa(),fq=Rn(),mq=Math.min;function gq(e,t){for(var r=e.length,a=mq(t.length,r),o=dq(e);a--;){var s=t[a];e[a]=fq(s,r)?o[s]:void 0}return e}n(gq,"reorder");Qy.exports=gq});var vs=d((c7,Jy)=>{"use strict";var Ky="__lodash_placeholder__";function hq(e,t){for(var r=-1,a=e.length,o=0,s=[];++r<a;){var i=e[r];(i===t||i===Ky)&&(e[r]=Ky,s[o++]=r)}return s}n(hq,"replaceHolders");Jy.exports=hq});var ul=d((d7,Zy)=>{"use strict";var yq=el(),vq=tl(),bq=gy(),zy=jn(),wq=sl(),Iq=il(),Tq=Hy(),Sq=vs(),_q=Je(),Aq=1,xq=2,Eq=8,Rq=16,Oq=128,Cq=512;function Yy(e,t,r,a,o,s,i,u,l,c){var f=t&Oq,y=t&Aq,h=t&xq,b=t&(Eq|Rq),D=t&Cq,I=h?void 0:zy(e);function S(){for(var E=arguments.length,U=Array(E),V=E;V--;)U[V]=arguments[V];if(b)var de=Iq(S),Z=bq(U,de);if(a&&(U=yq(U,a,o,b)),s&&(U=vq(U,s,i,b)),E-=Z,b&&E<c){var X=Sq(U,de);return wq(e,t,Yy,S.placeholder,r,U,X,u,l,c-E)}var ut=y?r:this,fe=h?ut[e]:e;return E=U.length,u?U=Tq(U,u):D&&E>1&&U.reverse(),f&&l<E&&(U.length=l),this&&this!==_q&&this instanceof S&&(fe=I||zy(fe)),fe.apply(ut,U)}return n(S,"wrapper"),S}n(Yy,"createHybrid");Zy.exports=Yy});var ev=d((m7,Xy)=>{"use strict";var Mq=_o(),Pq=jn(),kq=ul(),Nq=sl(),Dq=il(),qq=vs(),Uq=Je();function Lq(e,t,r){var a=Pq(e);function o(){for(var s=arguments.length,i=Array(s),u=s,l=Dq(o);u--;)i[u]=arguments[u];var c=s<3&&i[0]!==l&&i[s-1]!==l?[]:qq(i,l);if(s-=c.length,s<r)return Nq(e,t,kq,o.placeholder,void 0,i,c,void 0,void 0,r-s);var f=this&&this!==Uq&&this instanceof o?a:e;return Mq(f,this,i)}return n(o,"wrapper"),o}n(Lq,"createCurry");Xy.exports=Lq});var rv=d((h7,tv)=>{"use strict";var Fq=_o(),jq=jn(),Bq=Je(),Gq=1;function $q(e,t,r,a){var o=t&Gq,s=jq(e);function i(){for(var u=-1,l=arguments.length,c=-1,f=a.length,y=Array(f+l),h=this&&this!==Bq&&this instanceof i?s:e;++c<f;)y[c]=a[c];for(;l--;)y[c++]=arguments[++u];return Fq(h,o?r:this,y)}return n(i,"wrapper"),i}n($q,"createPartial");tv.exports=$q});var uv=d((v7,iv)=>{"use strict";var Wq=el(),Vq=tl(),av=vs(),nv="__lodash_placeholder__",ll=1,Qq=2,Hq=4,ov=8,Bn=128,sv=256,Kq=Math.min;function Jq(e,t){var r=e[1],a=t[1],o=r|a,s=o<(ll|Qq|Bn),i=a==Bn&&r==ov||a==Bn&&r==sv&&e[7].length<=t[8]||a==(Bn|sv)&&t[7].length<=t[8]&&r==ov;if(!(s||i))return e;a&ll&&(e[2]=t[2],o|=r&ll?0:Hq);var u=t[3];if(u){var l=e[3];e[3]=l?Wq(l,u,t[4]):u,e[4]=l?av(e[3],nv):t[4]}return u=t[5],u&&(l=e[5],e[5]=l?Vq(l,u,t[6]):u,e[6]=l?av(e[5],nv):t[6]),u=t[7],u&&(e[7]=u),a&Bn&&(e[8]=e[8]==null?t[8]:Kq(e[8],t[8])),e[9]==null&&(e[9]=t[9]),e[0]=t[0],e[1]=o,e}n(Jq,"mergeData");iv.exports=Jq});var cv=d((w7,lv)=>{"use strict";var zq=/\s/;function Yq(e){for(var t=e.length;t--&&zq.test(e.charAt(t)););return t}n(Yq,"trimmedEndIndex");lv.exports=Yq});var dv=d((T7,pv)=>{"use strict";var Zq=cv(),Xq=/^\s+/;function eU(e){return e&&e.slice(0,Zq(e)+1).replace(Xq,"")}n(eU,"baseTrim");pv.exports=eU});var ya=d((_7,fv)=>{"use strict";var tU=vr(),rU=ht(),aU="[object Symbol]";function nU(e){return typeof e=="symbol"||rU(e)&&tU(e)==aU}n(nU,"isSymbol");fv.exports=nU});var yv=d((x7,hv)=>{"use strict";var oU=dv(),mv=St(),sU=ya(),gv=0/0,iU=/^[-+]0x[0-9a-f]+$/i,uU=/^0b[01]+$/i,lU=/^0o[0-7]+$/i,cU=parseInt;function pU(e){if(typeof e=="number")return e;if(sU(e))return gv;if(mv(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=mv(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=oU(e);var r=uU.test(e);return r||lU.test(e)?cU(e.slice(2),r?2:8):iU.test(e)?gv:+e}n(pU,"toNumber");hv.exports=pU});var wv=d((R7,bv)=>{"use strict";var dU=yv(),vv=1/0,fU=17976931348623157e292;function mU(e){if(!e)return e===0?e:0;if(e=dU(e),e===vv||e===-vv){var t=e<0?-1:1;return t*fU}return e===e?e:0}n(mU,"toFinite");bv.exports=mU});var cl=d((C7,Iv)=>{"use strict";var gU=wv();function hU(e){var t=gU(e),r=t%1;return t===t?r?t-r:t:0}n(hU,"toInteger");Iv.exports=hU});var bs=d((P7,xv)=>{"use strict";var yU=Xu(),vU=py(),bU=ev(),wU=ul(),IU=rv(),TU=rl(),SU=uv(),_U=nl(),AU=ol(),Tv=cl(),xU="Expected a function",Sv=1,EU=2,pl=8,dl=16,fl=32,_v=64,Av=Math.max;function RU(e,t,r,a,o,s,i,u){var l=t&EU;if(!l&&typeof e!="function")throw new TypeError(xU);var c=a?a.length:0;if(c||(t&=~(fl|_v),a=o=void 0),i=i===void 0?i:Av(Tv(i),0),u=u===void 0?u:Tv(u),c-=o?o.length:0,t&_v){var f=a,y=o;a=o=void 0}var h=l?void 0:TU(e),b=[e,t,r,a,o,f,y,s,i,u];if(h&&SU(b,h),e=b[0],t=b[1],r=b[2],a=b[3],o=b[4],u=b[9]=b[9]===void 0?l?0:e.length:Av(b[9]-c,0),!u&&t&(pl|dl)&&(t&=~(pl|dl)),!t||t==Sv)var D=vU(e,t,r);else t==pl||t==dl?D=bU(e,t,u):(t==fl||t==(Sv|fl))&&!o.length?D=IU(e,t,r,a):D=wU.apply(void 0,b);var I=h?yU:_U;return AU(I(D,b),e,t)}n(RU,"createWrap");xv.exports=RU});var Rv=d((N7,Ev)=>{"use strict";var OU=bs(),CU=128;function MU(e,t,r){return t=r?void 0:t,t=e&&t==null?e.length:t,OU(e,CU,void 0,void 0,void 0,void 0,t)}n(MU,"ary");Ev.exports=MU});var Cv=d((q7,Ov)=>{"use strict";var PU=Hi(),kU=PU(Object.keys,Object);Ov.exports=kU});var ml=d((U7,Mv)=>{"use strict";var NU=No(),DU=Cv(),qU=Object.prototype,UU=qU.hasOwnProperty;function LU(e){if(!NU(e))return DU(e);var t=[];for(var r in Object(e))UU.call(e,r)&&r!="constructor"&&t.push(r);return t}n(LU,"baseKeys");Mv.exports=LU});var Gn=d((F7,Pv)=>{"use strict";var FU=Xi(),jU=ml(),BU=wn();function GU(e){return BU(e)?FU(e):jU(e)}n(GU,"keys");Pv.exports=GU});var gl=d((B7,kv)=>{"use strict";var $U=ua(),WU=Gn();function VU(e,t){return e&&$U(t,WU(t),e)}n(VU,"baseAssign");kv.exports=VU});var Dv=d(($7,Nv)=>{"use strict";var QU=ua(),HU=la();function KU(e,t){return e&&QU(t,HU(t),e)}n(KU,"baseAssignIn");Nv.exports=KU});var Uv=d((V7,qv)=>{"use strict";function JU(e,t){for(var r=-1,a=e==null?0:e.length,o=0,s=[];++r<a;){var i=e[r];t(i,r,e)&&(s[o++]=i)}return s}n(JU,"arrayFilter");qv.exports=JU});var hl=d((H7,Lv)=>{"use strict";function zU(){return[]}n(zU,"stubArray");Lv.exports=zU});var ws=d((J7,jv)=>{"use strict";var YU=Uv(),ZU=hl(),XU=Object.prototype,eL=XU.propertyIsEnumerable,Fv=Object.getOwnPropertySymbols,tL=Fv?function(e){return e==null?[]:(e=Object(e),YU(Fv(e),function(t){return eL.call(e,t)}))}:ZU;jv.exports=tL});var Gv=d((z7,Bv)=>{"use strict";var rL=ua(),aL=ws();function nL(e,t){return rL(e,aL(e),t)}n(nL,"copySymbols");Bv.exports=nL});var yl=d((Z7,$v)=>{"use strict";var oL=So(),sL=ko(),iL=ws(),uL=hl(),lL=Object.getOwnPropertySymbols,cL=lL?function(e){for(var t=[];e;)oL(t,iL(e)),e=sL(e);return t}:uL;$v.exports=cL});var Vv=d((X7,Wv)=>{"use strict";var pL=ua(),dL=yl();function fL(e,t){return pL(e,dL(e),t)}n(fL,"copySymbolsIn");Wv.exports=fL});var vl=d((tZ,Qv)=>{"use strict";var mL=So(),gL=ze();function hL(e,t,r){var a=t(e);return gL(e)?a:mL(a,r(e))}n(hL,"baseGetAllKeys");Qv.exports=hL});var bl=d((aZ,Hv)=>{"use strict";var yL=vl(),vL=ws(),bL=Gn();function wL(e){return yL(e,bL,vL)}n(wL,"getAllKeys");Hv.exports=wL});var Jv=d((oZ,Kv)=>{"use strict";var IL=vl(),TL=yl(),SL=la();function _L(e){return IL(e,SL,TL)}n(_L,"getAllKeysIn");Kv.exports=_L});var Yv=d((iZ,zv)=>{"use strict";var AL=br(),xL=Je(),EL=AL(xL,"DataView");zv.exports=EL});var Xv=d((uZ,Zv)=>{"use strict";var RL=br(),OL=Je(),CL=RL(OL,"Promise");Zv.exports=CL});var ba=d((lZ,sb)=>{"use strict";var wl=Yv(),Il=xo(),Tl=Xv(),Sl=Fi(),_l=Yu(),ob=vr(),va=Pi(),eb="[object Map]",ML="[object Object]",tb="[object Promise]",rb="[object Set]",ab="[object WeakMap]",nb="[object DataView]",PL=va(wl),kL=va(Il),NL=va(Tl),DL=va(Sl),qL=va(_l),Ur=ob;(wl&&Ur(new wl(new ArrayBuffer(1)))!=nb||Il&&Ur(new Il)!=eb||Tl&&Ur(Tl.resolve())!=tb||Sl&&Ur(new Sl)!=rb||_l&&Ur(new _l)!=ab)&&(Ur=n(function(e){var t=ob(e),r=t==ML?e.constructor:void 0,a=r?va(r):"";if(a)switch(a){case PL:return nb;case kL:return eb;case NL:return tb;case DL:return rb;case qL:return ab}return t},"getTag"));sb.exports=Ur});var ub=d((pZ,ib)=>{"use strict";var UL=Object.prototype,LL=UL.hasOwnProperty;function FL(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&LL.call(e,"index")&&(r.index=e.index,r.input=e.input),r}n(FL,"initCloneArray");ib.exports=FL});var cb=d((fZ,lb)=>{"use strict";var jL=Po();function BL(e,t){var r=t?jL(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}n(BL,"cloneDataView");lb.exports=BL});var fb=d((gZ,pb)=>{"use strict";var GL=/\w*$/;function $L(e){var t=new e.constructor(e.source,GL.exec(e));return t.lastIndex=e.lastIndex,t}n($L,"cloneRegExp");pb.exports=$L});var vb=d((yZ,yb)=>{"use strict";var mb=Mr(),gb=mb?mb.prototype:void 0,hb=gb?gb.valueOf:void 0;function WL(e){return hb?Object(hb.call(e)):{}}n(WL,"cloneSymbol");yb.exports=WL});var wb=d((bZ,bb)=>{"use strict";var VL=Po(),QL=cb(),HL=fb(),KL=vb(),JL=Qi(),zL="[object Boolean]",YL="[object Date]",ZL="[object Map]",XL="[object Number]",e1="[object RegExp]",t1="[object Set]",r1="[object String]",a1="[object Symbol]",n1="[object ArrayBuffer]",o1="[object DataView]",s1="[object Float32Array]",i1="[object Float64Array]",u1="[object Int8Array]",l1="[object Int16Array]",c1="[object Int32Array]",p1="[object Uint8Array]",d1="[object Uint8ClampedArray]",f1="[object Uint16Array]",m1="[object Uint32Array]";function g1(e,t,r){var a=e.constructor;switch(t){case n1:return VL(e);case zL:case YL:return new a(+e);case o1:return QL(e,r);case s1:case i1:case u1:case l1:case c1:case p1:case d1:case f1:case m1:return JL(e,r);case ZL:return new a;case XL:case r1:return new a(e);case e1:return HL(e);case t1:return new a;case a1:return KL(e)}}n(g1,"initCloneByTag");bb.exports=g1});var Tb=d((IZ,Ib)=>{"use strict";var h1=ba(),y1=ht(),v1="[object Map]";function b1(e){return y1(e)&&h1(e)==v1}n(b1,"baseIsMap");Ib.exports=b1});var xb=d((SZ,Ab)=>{"use strict";var w1=Tb(),I1=Do(),Sb=qo(),_b=Sb&&Sb.isMap,T1=_b?I1(_b):w1;Ab.exports=T1});var Rb=d((_Z,Eb)=>{"use strict";var S1=ba(),_1=ht(),A1="[object Set]";function x1(e){return _1(e)&&S1(e)==A1}n(x1,"baseIsSet");Eb.exports=x1});var Pb=d((xZ,Mb)=>{"use strict";var E1=Rb(),R1=Do(),Ob=qo(),Cb=Ob&&Ob.isSet,O1=Cb?R1(Cb):E1;Mb.exports=O1});var Al=d((EZ,qb)=>{"use strict";var C1=In(),M1=ys(),P1=Zi(),k1=gl(),N1=Dv(),D1=Wi(),q1=oa(),U1=Gv(),L1=Vv(),F1=bl(),j1=Jv(),B1=ba(),G1=ub(),$1=wb(),W1=Ki(),V1=ze(),Q1=An(),H1=xb(),K1=St(),J1=Pb(),z1=Gn(),Y1=la(),Z1=1,X1=2,eF=4,kb="[object Arguments]",tF="[object Array]",rF="[object Boolean]",aF="[object Date]",nF="[object Error]",Nb="[object Function]",oF="[object GeneratorFunction]",sF="[object Map]",iF="[object Number]",Db="[object Object]",uF="[object RegExp]",lF="[object Set]",cF="[object String]",pF="[object Symbol]",dF="[object WeakMap]",fF="[object ArrayBuffer]",mF="[object DataView]",gF="[object Float32Array]",hF="[object Float64Array]",yF="[object Int8Array]",vF="[object Int16Array]",bF="[object Int32Array]",wF="[object Uint8Array]",IF="[object Uint8ClampedArray]",TF="[object Uint16Array]",SF="[object Uint32Array]",me={};me[kb]=me[tF]=me[fF]=me[mF]=me[rF]=me[aF]=me[gF]=me[hF]=me[yF]=me[vF]=me[bF]=me[sF]=me[iF]=me[Db]=me[uF]=me[lF]=me[cF]=me[pF]=me[wF]=me[IF]=me[TF]=me[SF]=!0;me[nF]=me[Nb]=me[dF]=!1;function Is(e,t,r,a,o,s){var i,u=t&Z1,l=t&X1,c=t&eF;if(r&&(i=o?r(e,a,o,s):r(e)),i!==void 0)return i;if(!K1(e))return e;var f=V1(e);if(f){if(i=G1(e),!u)return q1(e,i)}else{var y=B1(e),h=y==Nb||y==oF;if(Q1(e))return D1(e,u);if(y==Db||y==kb||h&&!o){if(i=l||h?{}:W1(e),!u)return l?L1(e,N1(i,e)):U1(e,k1(i,e))}else{if(!me[y])return o?e:{};i=$1(e,y,u)}}s||(s=new C1);var b=s.get(e);if(b)return b;s.set(e,i),J1(e)?e.forEach(function(S){i.add(Is(S,t,r,S,e,s))}):H1(e)&&e.forEach(function(S,E){i.set(E,Is(S,t,r,E,e,s))});var D=c?l?j1:F1:l?Y1:z1,I=f?void 0:D(e);return M1(I||e,function(S,E){I&&(E=S,S=e[E]),P1(i,E,Is(S,t,r,E,e,s))}),i}n(Is,"baseClone");qb.exports=Is});var Lb=d((OZ,Ub)=>{"use strict";var _F=Al(),AF=4;function xF(e){return _F(e,AF)}n(xF,"clone");Ub.exports=xF});var jb=d((MZ,Fb)=>{"use strict";var EF=bs(),RF=8;function xl(e,t,r){t=r?void 0:t;var a=EF(e,RF,void 0,void 0,void 0,void 0,void 0,t);return a.placeholder=xl.placeholder,a}n(xl,"curry");xl.placeholder={};Fb.exports=xl});var Gb=d((kZ,Bb)=>{"use strict";var OF=vr(),CF=ht(),MF=Ji(),PF="[object DOMException]",kF="[object Error]";function NF(e){if(!CF(e))return!1;var t=OF(e);return t==kF||t==PF||typeof e.message=="string"&&typeof e.name=="string"&&!MF(e)}n(NF,"isError");Bb.exports=NF});var Wb=d((DZ,$b)=>{"use strict";var DF=ba(),qF=ht(),UF="[object WeakMap]";function LF(e){return qF(e)&&DF(e)==UF}n(LF,"isWeakMap");$b.exports=LF});var Qb=d((UZ,Vb)=>{"use strict";function FF(e,t){for(var r=-1,a=e==null?0:e.length;++r<a;)if(t(e[r],r,e))return!0;return!1}n(FF,"arraySome");Vb.exports=FF});var El=d((FZ,Hb)=>{"use strict";var jF=qi(),BF=Qb(),GF=Li(),$F=1,WF=2;function VF(e,t,r,a,o,s){var i=r&$F,u=e.length,l=t.length;if(u!=l&&!(i&&l>u))return!1;var c=s.get(e),f=s.get(t);if(c&&f)return c==t&&f==e;var y=-1,h=!0,b=r&WF?new jF:void 0;for(s.set(e,t),s.set(t,e);++y<u;){var D=e[y],I=t[y];if(a)var S=i?a(I,D,y,t,e,s):a(D,I,y,e,t,s);if(S!==void 0){if(S)continue;h=!1;break}if(b){if(!BF(t,function(E,U){if(!GF(b,U)&&(D===E||o(D,E,r,a,s)))return b.push(U)})){h=!1;break}}else if(!(D===I||o(D,I,r,a,s))){h=!1;break}}return s.delete(e),s.delete(t),h}n(VF,"equalArrays");Hb.exports=VF});var Jb=d((BZ,Kb)=>{"use strict";function QF(e){var t=-1,r=Array(e.size);return e.forEach(function(a,o){r[++t]=[o,a]}),r}n(QF,"mapToArray");Kb.exports=QF});var ew=d(($Z,Xb)=>{"use strict";var zb=Mr(),Yb=Vi(),HF=ea(),KF=El(),JF=Jb(),zF=Oo(),YF=1,ZF=2,XF="[object Boolean]",ej="[object Date]",tj="[object Error]",rj="[object Map]",aj="[object Number]",nj="[object RegExp]",oj="[object Set]",sj="[object String]",ij="[object Symbol]",uj="[object ArrayBuffer]",lj="[object DataView]",Zb=zb?zb.prototype:void 0,Rl=Zb?Zb.valueOf:void 0;function cj(e,t,r,a,o,s,i){switch(r){case lj:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case uj:return!(e.byteLength!=t.byteLength||!s(new Yb(e),new Yb(t)));case XF:case ej:case aj:return HF(+e,+t);case tj:return e.name==t.name&&e.message==t.message;case nj:case sj:return e==t+"";case rj:var u=JF;case oj:var l=a&YF;if(u||(u=zF),e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;a|=ZF,i.set(e,t);var f=KF(u(e),u(t),a,o,s,i);return i.delete(e),f;case ij:if(Rl)return Rl.call(e)==Rl.call(t)}return!1}n(cj,"equalByTag");Xb.exports=cj});var aw=d((VZ,rw)=>{"use strict";var tw=bl(),pj=1,dj=Object.prototype,fj=dj.hasOwnProperty;function mj(e,t,r,a,o,s){var i=r&pj,u=tw(e),l=u.length,c=tw(t),f=c.length;if(l!=f&&!i)return!1;for(var y=l;y--;){var h=u[y];if(!(i?h in t:fj.call(t,h)))return!1}var b=s.get(e),D=s.get(t);if(b&&D)return b==t&&D==e;var I=!0;s.set(e,t),s.set(t,e);for(var S=i;++y<l;){h=u[y];var E=e[h],U=t[h];if(a)var V=i?a(U,E,h,t,e,s):a(E,U,h,e,t,s);if(!(V===void 0?E===U||o(E,U,r,a,s):V)){I=!1;break}S||(S=h=="constructor")}if(I&&!S){var de=e.constructor,Z=t.constructor;de!=Z&&"constructor"in e&&"constructor"in t&&!(typeof de=="function"&&de instanceof de&&typeof Z=="function"&&Z instanceof Z)&&(I=!1)}return s.delete(e),s.delete(t),I}n(mj,"equalObjects");rw.exports=mj});var pw=d((HZ,cw)=>{"use strict";var Ol=In(),gj=El(),hj=ew(),yj=aw(),nw=ba(),ow=ze(),sw=An(),vj=Uo(),bj=1,iw="[object Arguments]",uw="[object Array]",Ts="[object Object]",wj=Object.prototype,lw=wj.hasOwnProperty;function Ij(e,t,r,a,o,s){var i=ow(e),u=ow(t),l=i?uw:nw(e),c=u?uw:nw(t);l=l==iw?Ts:l,c=c==iw?Ts:c;var f=l==Ts,y=c==Ts,h=l==c;if(h&&sw(e)){if(!sw(t))return!1;i=!0,f=!1}if(h&&!f)return s||(s=new Ol),i||vj(e)?gj(e,t,r,a,o,s):hj(e,t,l,r,a,o,s);if(!(r&bj)){var b=f&&lw.call(e,"__wrapped__"),D=y&&lw.call(t,"__wrapped__");if(b||D){var I=b?e.value():e,S=D?t.value():t;return s||(s=new Ol),o(I,S,r,a,s)}}return h?(s||(s=new Ol),yj(e,t,r,a,o,s)):!1}n(Ij,"baseIsEqualDeep");cw.exports=Ij});var Cl=d((JZ,mw)=>{"use strict";var Tj=pw(),dw=ht();function fw(e,t,r,a,o){return e===t?!0:e==null||t==null||!dw(e)&&!dw(t)?e!==e&&t!==t:Tj(e,t,r,a,fw,o)}n(fw,"baseIsEqual");mw.exports=fw});var hw=d((YZ,gw)=>{"use strict";var Sj=In(),_j=Cl(),Aj=1,xj=2;function Ej(e,t,r,a){var o=r.length,s=o,i=!a;if(e==null)return!s;for(e=Object(e);o--;){var u=r[o];if(i&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<s;){u=r[o];var l=u[0],c=e[l],f=u[1];if(i&&u[2]){if(c===void 0&&!(l in e))return!1}else{var y=new Sj;if(a)var h=a(c,f,l,e,t,y);if(!(h===void 0?_j(f,c,Aj|xj,a,y):h))return!1}}return!0}n(Ej,"baseIsMatch");gw.exports=Ej});var Ml=d((XZ,yw)=>{"use strict";var Rj=St();function Oj(e){return e===e&&!Rj(e)}n(Oj,"isStrictComparable");yw.exports=Oj});var bw=d((tX,vw)=>{"use strict";var Cj=Ml(),Mj=Gn();function Pj(e){for(var t=Mj(e),r=t.length;r--;){var a=t[r],o=e[a];t[r]=[a,o,Cj(o)]}return t}n(Pj,"getMatchData");vw.exports=Pj});var Pl=d((aX,ww)=>{"use strict";function kj(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}n(kj,"matchesStrictComparable");ww.exports=kj});var Tw=d((oX,Iw)=>{"use strict";var Nj=hw(),Dj=bw(),qj=Pl();function Uj(e){var t=Dj(e);return t.length==1&&t[0][2]?qj(t[0][0],t[0][1]):function(r){return r===e||Nj(r,e,t)}}n(Uj,"baseMatches");Iw.exports=Uj});var Ss=d((iX,Sw)=>{"use strict";var Lj=ze(),Fj=ya(),jj=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Bj=/^\w*$/;function Gj(e,t){if(Lj(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Fj(e)?!0:Bj.test(e)||!jj.test(e)||t!=null&&e in Object(t)}n(Gj,"isKey");Sw.exports=Gj});var xw=d((lX,Aw)=>{"use strict";var _w=Eo(),$j="Expected a function";function kl(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError($j);var r=n(function(){var a=arguments,o=t?t.apply(this,a):a[0],s=r.cache;if(s.has(o))return s.get(o);var i=e.apply(this,a);return r.cache=s.set(o,i)||s,i},"memoized");return r.cache=new(kl.Cache||_w),r}n(kl,"memoize");kl.Cache=_w;Aw.exports=kl});var Rw=d((pX,Ew)=>{"use strict";var Wj=xw(),Vj=500;function Qj(e){var t=Wj(e,function(a){return r.size===Vj&&r.clear(),a}),r=t.cache;return t}n(Qj,"memoizeCapped");Ew.exports=Qj});var Nl=d((fX,Ow)=>{"use strict";var Hj=Rw(),Kj=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Jj=/\\(\\)?/g,zj=Hj(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Kj,function(r,a,o,s){t.push(o?s.replace(Jj,"$1"):a||r)}),t});Ow.exports=zj});var Dl=d((mX,Cw)=>{"use strict";function Yj(e,t){for(var r=-1,a=e==null?0:e.length,o=Array(a);++r<a;)o[r]=t(e[r],r,e);return o}n(Yj,"arrayMap");Cw.exports=Yj});var qw=d((hX,Dw)=>{"use strict";var Mw=Mr(),Zj=Dl(),Xj=ze(),eB=ya(),tB=1/0,Pw=Mw?Mw.prototype:void 0,kw=Pw?Pw.toString:void 0;function Nw(e){if(typeof e=="string")return e;if(Xj(e))return Zj(e,Nw)+"";if(eB(e))return kw?kw.call(e):"";var t=e+"";return t=="0"&&1/e==-tB?"-0":t}n(Nw,"baseToString");Dw.exports=Nw});var ql=d((vX,Uw)=>{"use strict";var rB=qw();function aB(e){return e==null?"":rB(e)}n(aB,"toString");Uw.exports=aB});var Ul=d((wX,Lw)=>{"use strict";var nB=ze(),oB=Ss(),sB=Nl(),iB=ql();function uB(e,t){return nB(e)?e:oB(e,t)?[e]:sB(iB(e))}n(uB,"castPath");Lw.exports=uB});var wa=d((TX,Fw)=>{"use strict";var lB=ya(),cB=1/0;function pB(e){if(typeof e=="string"||lB(e))return e;var t=e+"";return t=="0"&&1/e==-cB?"-0":t}n(pB,"toKey");Fw.exports=pB});var Ll=d((_X,jw)=>{"use strict";var dB=Ul(),fB=wa();function mB(e,t){t=dB(t,e);for(var r=0,a=t.length;e!=null&&r<a;)e=e[fB(t[r++])];return r&&r==a?e:void 0}n(mB,"baseGet");jw.exports=mB});var Gw=d((xX,Bw)=>{"use strict";var gB=Ll();function hB(e,t,r){var a=e==null?void 0:gB(e,t);return a===void 0?r:a}n(hB,"get");Bw.exports=hB});var Ww=d((RX,$w)=>{"use strict";function yB(e,t){return e!=null&&t in Object(e)}n(yB,"baseHasIn");$w.exports=yB});var Qw=d((CX,Vw)=>{"use strict";var vB=Ul(),bB=fn(),wB=ze(),IB=Rn(),TB=Co(),SB=wa();function _B(e,t,r){t=vB(t,e);for(var a=-1,o=t.length,s=!1;++a<o;){var i=SB(t[a]);if(!(s=e!=null&&r(e,i)))break;e=e[i]}return s||++a!=o?s:(o=e==null?0:e.length,!!o&&TB(o)&&IB(i,o)&&(wB(e)||bB(e)))}n(_B,"hasPath");Vw.exports=_B});var Kw=d((PX,Hw)=>{"use strict";var AB=Ww(),xB=Qw();function EB(e,t){return e!=null&&xB(e,t,AB)}n(EB,"hasIn");Hw.exports=EB});var zw=d((NX,Jw)=>{"use strict";var RB=Cl(),OB=Gw(),CB=Kw(),MB=Ss(),PB=Ml(),kB=Pl(),NB=wa(),DB=1,qB=2;function UB(e,t){return MB(e)&&PB(t)?kB(NB(e),t):function(r){var a=OB(r,e);return a===void 0&&a===t?CB(r,e):RB(t,a,DB|qB)}}n(UB,"baseMatchesProperty");Jw.exports=UB});var Zw=d((qX,Yw)=>{"use strict";function LB(e){return function(t){return t?.[e]}}n(LB,"baseProperty");Yw.exports=LB});var eI=d((LX,Xw)=>{"use strict";var FB=Ll();function jB(e){return function(t){return FB(t,e)}}n(jB,"basePropertyDeep");Xw.exports=jB});var rI=d((jX,tI)=>{"use strict";var BB=Zw(),GB=eI(),$B=Ss(),WB=wa();function VB(e){return $B(e)?BB(WB(e)):GB(e)}n(VB,"property");tI.exports=VB});var nI=d((GX,aI)=>{"use strict";var QB=Tw(),HB=zw(),KB=mn(),JB=ze(),zB=rI();function YB(e){return typeof e=="function"?e:e==null?KB:typeof e=="object"?JB(e)?HB(e[0],e[1]):QB(e):zB(e)}n(YB,"baseIteratee");aI.exports=YB});var sI=d((WX,oI)=>{"use strict";var ZB=Al(),XB=nI(),eG=1;function tG(e){return XB(typeof e=="function"?e:ZB(e,eG))}n(tG,"iteratee");oI.exports=tG});var uI=d((QX,iI)=>{"use strict";var rG=Oi();function aG(e){var t=e==null?0:e.length;return t?rG(e,1):[]}n(aG,"flatten");iI.exports=aG});var cI=d((KX,lI)=>{"use strict";var nG=uI(),oG=Ci(),sG=Ao();function iG(e){return sG(oG(e,void 0,nG),e+"")}n(iG,"flatRest");lI.exports=iG});var dI=d((zX,pI)=>{"use strict";var uG=bs(),lG=cI(),cG=256,pG=lG(function(e,t){return uG(e,cG,void 0,void 0,void 0,t)});pI.exports=pG});var mI=d((YX,fI)=>{"use strict";var dG=Dl(),fG=oa(),mG=ze(),gG=ya(),hG=Nl(),yG=wa(),vG=ql();function bG(e){return mG(e)?dG(e,yG):gG(e)?[e]:fG(hG(vG(e)))}n(bG,"toPath");fI.exports=bG});var hI=d((XX,gI)=>{"use strict";gI.exports={ary:Rv(),assign:gl(),clone:Lb(),curry:jb(),forEach:ys(),isArray:ze(),isError:Gb(),isFunction:gn(),isWeakMap:Wb(),iteratee:sI(),keys:ml(),rearg:dI(),toInteger:cl(),toPath:mI()}});var vI=d((eee,yI)=>{"use strict";var wG=ay(),IG=hI();function TG(e,t,r){return wG(IG,e,t,r)}n(TG,"convert");yI.exports=TG});var Fl=d((ree,wI)=>{"use strict";var SG=vI(),bI=SG("merge",eu());bI.placeholder=Hu();wI.exports=bI});var AI=d((jl,Bl)=>{"use strict";(function(e,t){typeof jl=="object"&&typeof Bl<"u"?Bl.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs=t()})(jl,function(){"use strict";var e=1e3,t=6e4,r=36e5,a="millisecond",o="second",s="minute",i="hour",u="day",l="week",c="month",f="quarter",y="year",h="date",b="Invalid Date",D=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,I=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,S={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(F){var O=["th","st","nd","rd"],_=F%100;return"["+F+(O[(_-20)%10]||O[_]||O[0])+"]"}},E=n(function(F,O,_){var M=String(F);return!M||M.length>=O?F:""+Array(O+1-M.length).join(_)+F},"m"),U={s:E,z:function(F){var O=-F.utcOffset(),_=Math.abs(O),M=Math.floor(_/60),R=_%60;return(O<=0?"+":"-")+E(M,2,"0")+":"+E(R,2,"0")},m:n(function F(O,_){if(O.date()<_.date())return-F(_,O);var M=12*(_.year()-O.year())+(_.month()-O.month()),R=O.clone().add(M,c),G=_-R<0,j=O.clone().add(M+(G?-1:1),c);return+(-(M+(_-R)/(G?R-j:j-R))||0)},"t"),a:function(F){return F<0?Math.ceil(F)||0:Math.floor(F)},p:function(F){return{M:c,y,w:l,d:u,D:h,h:i,m:s,s:o,ms:a,Q:f}[F]||String(F||"").toLowerCase().replace(/s$/,"")},u:function(F){return F===void 0}},V="en",de={};de[V]=S;var Z="$isDayjsObject",X=n(function(F){return F instanceof Bt||!(!F||!F[Z])},"S"),ut=n(function F(O,_,M){var R;if(!O)return V;if(typeof O=="string"){var G=O.toLowerCase();de[G]&&(R=G),_&&(de[G]=_,R=G);var j=O.split("-");if(!R&&j.length>1)return F(j[0])}else{var re=O.name;de[re]=O,R=re}return!M&&R&&(V=R),R||!M&&V},"t"),fe=n(function(F,O){if(X(F))return F.clone();var _=typeof O=="object"?O:{};return _.date=F,_.args=arguments,new Bt(_)},"O"),te=U;te.l=ut,te.i=X,te.w=function(F,O){return fe(F,{locale:O.$L,utc:O.$u,x:O.$x,$offset:O.$offset})};var Bt=function(){function F(_){this.$L=ut(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[Z]=!0}n(F,"M");var O=F.prototype;return O.parse=function(_){this.$d=function(M){var R=M.date,G=M.utc;if(R===null)return new Date(NaN);if(te.u(R))return new Date;if(R instanceof Date)return new Date(R);if(typeof R=="string"&&!/Z$/i.test(R)){var j=R.match(D);if(j){var re=j[2]-1||0,ne=(j[7]||"0").substring(0,3);return G?new Date(Date.UTC(j[1],re,j[3]||1,j[4]||0,j[5]||0,j[6]||0,ne)):new Date(j[1],re,j[3]||1,j[4]||0,j[5]||0,j[6]||0,ne)}}return new Date(R)}(_),this.init()},O.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},O.$utils=function(){return te},O.isValid=function(){return this.$d.toString()!==b},O.isSame=function(_,M){var R=fe(_);return this.startOf(M)<=R&&R<=this.endOf(M)},O.isAfter=function(_,M){return fe(_)<this.startOf(M)},O.isBefore=function(_,M){return this.endOf(M)<fe(_)},O.$g=function(_,M,R){return te.u(_)?this[M]:this.set(R,_)},O.unix=function(){return Math.floor(this.valueOf()/1e3)},O.valueOf=function(){return this.$d.getTime()},O.startOf=function(_,M){var R=this,G=!!te.u(M)||M,j=te.p(_),re=n(function(x,N){var B=te.w(R.$u?Date.UTC(R.$y,N,x):new Date(R.$y,N,x),R);return G?B:B.endOf(u)},"l"),ne=n(function(x,N){return te.w(R.toDate()[x].apply(R.toDate("s"),(G?[0,0,0,0]:[23,59,59,999]).slice(N)),R)},"$"),ye=this.$W,Ee=this.$M,K=this.$D,Qe="set"+(this.$u?"UTC":"");switch(j){case y:return G?re(1,0):re(31,11);case c:return G?re(1,Ee):re(0,Ee+1);case l:var P=this.$locale().weekStart||0,A=(ye<P?ye+7:ye)-P;return re(G?K-A:K+(6-A),Ee);case u:case h:return ne(Qe+"Hours",0);case i:return ne(Qe+"Minutes",1);case s:return ne(Qe+"Seconds",2);case o:return ne(Qe+"Milliseconds",3);default:return this.clone()}},O.endOf=function(_){return this.startOf(_,!1)},O.$set=function(_,M){var R,G=te.p(_),j="set"+(this.$u?"UTC":""),re=(R={},R[u]=j+"Date",R[h]=j+"Date",R[c]=j+"Month",R[y]=j+"FullYear",R[i]=j+"Hours",R[s]=j+"Minutes",R[o]=j+"Seconds",R[a]=j+"Milliseconds",R)[G],ne=G===u?this.$D+(M-this.$W):M;if(G===c||G===y){var ye=this.clone().set(h,1);ye.$d[re](ne),ye.init(),this.$d=ye.set(h,Math.min(this.$D,ye.daysInMonth())).$d}else re&&this.$d[re](ne);return this.init(),this},O.set=function(_,M){return this.clone().$set(_,M)},O.get=function(_){return this[te.p(_)]()},O.add=function(_,M){var R,G=this;_=Number(_);var j=te.p(M),re=n(function(Ee){var K=fe(G);return te.w(K.date(K.date()+Math.round(Ee*_)),G)},"y");if(j===c)return this.set(c,this.$M+_);if(j===y)return this.set(y,this.$y+_);if(j===u)return re(1);if(j===l)return re(7);var ne=(R={},R[s]=t,R[i]=r,R[o]=e,R)[j]||1,ye=this.$d.getTime()+_*ne;return te.w(ye,this)},O.subtract=function(_,M){return this.add(-1*_,M)},O.format=function(_){var M=this,R=this.$locale();if(!this.isValid())return R.invalidDate||b;var G=_||"YYYY-MM-DDTHH:mm:ssZ",j=te.z(this),re=this.$H,ne=this.$m,ye=this.$M,Ee=R.weekdays,K=R.months,Qe=R.meridiem,P=n(function(N,B,ve,Le){return N&&(N[B]||N(M,G))||ve[B].slice(0,Le)},"h"),A=n(function(N){return te.s(re%12||12,N,"0")},"d"),x=Qe||function(N,B,ve){var Le=N<12?"AM":"PM";return ve?Le.toLowerCase():Le};return G.replace(I,function(N,B){return B||function(ve){switch(ve){case"YY":return String(M.$y).slice(-2);case"YYYY":return te.s(M.$y,4,"0");case"M":return ye+1;case"MM":return te.s(ye+1,2,"0");case"MMM":return P(R.monthsShort,ye,K,3);case"MMMM":return P(K,ye);case"D":return M.$D;case"DD":return te.s(M.$D,2,"0");case"d":return String(M.$W);case"dd":return P(R.weekdaysMin,M.$W,Ee,2);case"ddd":return P(R.weekdaysShort,M.$W,Ee,3);case"dddd":return Ee[M.$W];case"H":return String(re);case"HH":return te.s(re,2,"0");case"h":return A(1);case"hh":return A(2);case"a":return x(re,ne,!0);case"A":return x(re,ne,!1);case"m":return String(ne);case"mm":return te.s(ne,2,"0");case"s":return String(M.$s);case"ss":return te.s(M.$s,2,"0");case"SSS":return te.s(M.$ms,3,"0");case"Z":return j}return null}(N)||j.replace(":","")})},O.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},O.diff=function(_,M,R){var G,j=this,re=te.p(M),ne=fe(_),ye=(ne.utcOffset()-this.utcOffset())*t,Ee=this-ne,K=n(function(){return te.m(j,ne)},"D");switch(re){case y:G=K()/12;break;case c:G=K();break;case f:G=K()/3;break;case l:G=(Ee-ye)/6048e5;break;case u:G=(Ee-ye)/864e5;break;case i:G=Ee/r;break;case s:G=Ee/t;break;case o:G=Ee/e;break;default:G=Ee}return R?G:te.a(G)},O.daysInMonth=function(){return this.endOf(c).$D},O.$locale=function(){return de[this.$L]},O.locale=function(_,M){if(!_)return this.$L;var R=this.clone(),G=ut(_,M,!0);return G&&(R.$L=G),R},O.clone=function(){return te.w(this.$d,this)},O.toDate=function(){return new Date(this.valueOf())},O.toJSON=function(){return this.isValid()?this.toISOString():null},O.toISOString=function(){return this.$d.toISOString()},O.toString=function(){return this.$d.toUTCString()},F}(),Er=Bt.prototype;return fe.prototype=Er,[["$ms",a],["$s",o],["$m",s],["$H",i],["$W",u],["$M",c],["$y",y],["$D",h]].forEach(function(F){Er[F[1]]=function(O){return this.$g(O,F[0],F[1])}}),fe.extend=function(F,O){return F.$i||(F(O,Bt,fe),F.$i=!0),fe},fe.locale=ut,fe.isDayjs=X,fe.unix=function(F){return fe(1e3*F)},fe.en=de[V],fe.Ls=de,fe.p={},fe})});var uc=d((Ete,lS)=>{"use strict";var ic=Object.defineProperty,v2=Object.getOwnPropertyDescriptor,b2=Object.getOwnPropertyNames,w2=Object.prototype.hasOwnProperty,I2=n((e,t)=>{for(var r in t)ic(e,r,{get:t[r],enumerable:!0})},"__export"),T2=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of b2(t))!w2.call(e,o)&&o!==r&&ic(e,o,{get:()=>t[o],enumerable:!(a=v2(t,o))||a.enumerable});return e},"__copyProps"),S2=n(e=>T2(ic({},"__esModule",{value:!0}),e),"__toCommonJS"),iS={};I2(iS,{SYMBOL_FOR_REQ_CONTEXT:()=>uS,getContext:()=>_2});lS.exports=S2(iS);var uS=Symbol.for("@vercel/request-context");function _2(){return globalThis[uS]?.get?.()??{}}n(_2,"getContext")});var Qn=d((Ote,pS)=>{"use strict";var cc=Object.defineProperty,A2=Object.getOwnPropertyDescriptor,x2=Object.getOwnPropertyNames,E2=Object.prototype.hasOwnProperty,R2=n((e,t)=>{for(var r in t)cc(e,r,{get:t[r],enumerable:!0})},"__export"),O2=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of x2(t))!E2.call(e,o)&&o!==r&&cc(e,o,{get:()=>t[o],enumerable:!(a=A2(t,o))||a.enumerable});return e},"__copyProps"),C2=n(e=>O2(cc({},"__esModule",{value:!0}),e),"__toCommonJS"),cS={};R2(cS,{VercelOidcTokenError:()=>lc});pS.exports=C2(cS);var lc=class extends Error{static{n(this,"VercelOidcTokenError")}constructor(t,r){super(t),this.name="VercelOidcTokenError",this.cause=r}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}});var gS=d((Mte,mS)=>{"use strict";var M2=Object.create,qs=Object.defineProperty,P2=Object.getOwnPropertyDescriptor,k2=Object.getOwnPropertyNames,N2=Object.getPrototypeOf,D2=Object.prototype.hasOwnProperty,q2=n((e,t)=>{for(var r in t)qs(e,r,{get:t[r],enumerable:!0})},"__export"),dS=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of k2(t))!D2.call(e,o)&&o!==r&&qs(e,o,{get:()=>t[o],enumerable:!(a=P2(t,o))||a.enumerable});return e},"__copyProps"),dc=n((e,t,r)=>(r=e!=null?M2(N2(e)):{},dS(t||!e||!e.__esModule?qs(r,"default",{value:e,enumerable:!0}):r,e)),"__toESM"),U2=n(e=>dS(qs({},"__esModule",{value:!0}),e),"__toCommonJS"),fS={};q2(fS,{findRootDir:()=>j2,getUserDataDir:()=>B2});mS.exports=U2(fS);var Hn=dc(require("path")),L2=dc(require("fs")),pc=dc(require("os")),F2=Qn();function j2(){try{let e=process.cwd();for(;e!==Hn.default.dirname(e);){let t=Hn.default.join(e,".vercel");if(L2.default.existsSync(t))return e;e=Hn.default.dirname(e)}}catch{throw new F2.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}n(j2,"findRootDir");function B2(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(pc.default.platform()){case"darwin":return Hn.default.join(pc.default.homedir(),"Library/Application Support");case"linux":return Hn.default.join(pc.default.homedir(),".local/share");case"win32":return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}n(B2,"getUserDataDir")});var TS=d((kte,IS)=>{"use strict";var G2=Object.create,Us=Object.defineProperty,$2=Object.getOwnPropertyDescriptor,W2=Object.getOwnPropertyNames,V2=Object.getPrototypeOf,Q2=Object.prototype.hasOwnProperty,H2=n((e,t)=>{for(var r in t)Us(e,r,{get:t[r],enumerable:!0})},"__export"),hS=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of W2(t))!Q2.call(e,o)&&o!==r&&Us(e,o,{get:()=>t[o],enumerable:!(a=$2(t,o))||a.enumerable});return e},"__copyProps"),yS=n((e,t,r)=>(r=e!=null?G2(V2(e)):{},hS(t||!e||!e.__esModule?Us(r,"default",{value:e,enumerable:!0}):r,e)),"__toESM"),K2=n(e=>hS(Us({},"__esModule",{value:!0}),e),"__toCommonJS"),vS={};H2(vS,{isValidAccessToken:()=>Z2,readAuthConfig:()=>z2,writeAuthConfig:()=>Y2});IS.exports=K2(vS);var Kn=yS(require("fs")),bS=yS(require("path")),J2=Ls();function wS(){let e=(0,J2.getVercelDataDir)();if(!e)throw new Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return bS.join(e,"auth.json")}n(wS,"getAuthConfigPath");function z2(){try{let e=wS();if(!Kn.existsSync(e))return null;let t=Kn.readFileSync(e,"utf8");return t?JSON.parse(t):null}catch{return null}}n(z2,"readAuthConfig");function Y2(e){let t=wS(),r=bS.dirname(t);Kn.existsSync(r)||Kn.mkdirSync(r,{mode:504,recursive:!0}),Kn.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}n(Y2,"writeAuthConfig");function Z2(e){if(!e.token)return!1;if(typeof e.expiresAt!="number")return!0;let t=Math.floor(Date.now()/1e3);return e.expiresAt>=t}n(Z2,"isValidAccessToken")});var xS=d((Dte,AS)=>{"use strict";var gc=Object.defineProperty,X2=Object.getOwnPropertyDescriptor,eW=Object.getOwnPropertyNames,tW=Object.prototype.hasOwnProperty,rW=n((e,t)=>{for(var r in t)gc(e,r,{get:t[r],enumerable:!0})},"__export"),aW=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of eW(t))!tW.call(e,o)&&o!==r&&gc(e,o,{get:()=>t[o],enumerable:!(a=X2(t,o))||a.enumerable});return e},"__copyProps"),nW=n(e=>aW(gc({},"__esModule",{value:!0}),e),"__toCommonJS"),SS={};rW(SS,{processTokenResponse:()=>lW,refreshTokenRequest:()=>uW});AS.exports=nW(SS);var fc=require("os"),oW="https://vercel.com",sW="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",_S=`@vercel/oidc node-${process.version} ${(0,fc.platform)()} (${(0,fc.arch)()}) ${(0,fc.hostname)()}`,mc=null;async function iW(){if(mc)return mc;let e=`${oW}/.well-known/openid-configuration`,t=await fetch(e,{headers:{"user-agent":_S}});if(!t.ok)throw new Error("Failed to discover OAuth endpoints");let r=await t.json();if(!r||typeof r.token_endpoint!="string")throw new Error("Invalid OAuth discovery response");let a=r.token_endpoint;return mc=a,a}n(iW,"getTokenEndpoint");async function uW(e){let t=await iW();return await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":_S},body:new URLSearchParams({client_id:sW,grant_type:"refresh_token",...e})})}n(uW,"refreshTokenRequest");async function lW(e){let t=await e.json();if(!e.ok){let r=typeof t=="object"&&t&&"error"in t?String(t.error):"Token refresh failed";return[new Error(r)]}return typeof t!="object"||t===null?[new Error("Invalid token response")]:typeof t.access_token!="string"?[new Error("Missing access_token in response")]:t.token_type!=="Bearer"?[new Error("Invalid token_type in response")]:typeof t.expires_in!="number"?[new Error("Missing expires_in in response")]:[null,t]}n(lW,"processTokenResponse")});var Ls=d((Ute,MS)=>{"use strict";var cW=Object.create,Fs=Object.defineProperty,pW=Object.getOwnPropertyDescriptor,dW=Object.getOwnPropertyNames,fW=Object.getPrototypeOf,mW=Object.prototype.hasOwnProperty,gW=n((e,t)=>{for(var r in t)Fs(e,r,{get:t[r],enumerable:!0})},"__export"),RS=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of dW(t))!mW.call(e,o)&&o!==r&&Fs(e,o,{get:()=>t[o],enumerable:!(a=pW(t,o))||a.enumerable});return e},"__copyProps"),OS=n((e,t,r)=>(r=e!=null?cW(fW(e)):{},RS(t||!e||!e.__esModule?Fs(r,"default",{value:e,enumerable:!0}):r,e)),"__toESM"),hW=n(e=>RS(Fs({},"__esModule",{value:!0}),e),"__toCommonJS"),CS={};gW(CS,{assertVercelOidcTokenResponse:()=>hc,findProjectInfo:()=>wW,getTokenPayload:()=>SW,getVercelCliToken:()=>vW,getVercelDataDir:()=>yW,getVercelOidcToken:()=>bW,isExpired:()=>_W,loadToken:()=>TW,saveToken:()=>IW});MS.exports=hW(CS);var Jn=OS(require("path")),Gr=OS(require("fs")),Aa=Qn(),Bs=gS(),_a=TS(),ES=xS();function yW(){let e="com.vercel.cli",t=(0,Bs.getUserDataDir)();return t?Jn.join(t,e):null}n(yW,"getVercelDataDir");async function vW(){let e=(0,_a.readAuthConfig)();if(!e)return null;if((0,_a.isValidAccessToken)(e))return e.token||null;if(!e.refreshToken)return(0,_a.writeAuthConfig)({}),null;try{let t=await(0,ES.refreshTokenRequest)({refresh_token:e.refreshToken}),[r,a]=await(0,ES.processTokenResponse)(t);if(r||!a)return(0,_a.writeAuthConfig)({}),null;let o={token:a.access_token,expiresAt:Math.floor(Date.now()/1e3)+a.expires_in};return a.refresh_token&&(o.refreshToken=a.refresh_token),(0,_a.writeAuthConfig)(o),o.token??null}catch{return(0,_a.writeAuthConfig)({}),null}}n(vW,"getVercelCliToken");async function bW(e,t,r){let a=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${r?`&teamId=${r}`:""}`,o=await fetch(a,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!o.ok)throw new Aa.VercelOidcTokenError(`Failed to refresh OIDC token: ${o.statusText}`);let s=await o.json();return hc(s),s}n(bW,"getVercelOidcToken");function hc(e){if(!e||typeof e!="object")throw new TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in e)||typeof e.token!="string")throw new TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}n(hc,"assertVercelOidcTokenResponse");function wW(){let e=(0,Bs.findRootDir)();if(!e)throw new Aa.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=Jn.join(e,".vercel","project.json");if(!Gr.existsSync(t))throw new Aa.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let r=JSON.parse(Gr.readFileSync(t,"utf8"));if(typeof r.projectId!="string"&&typeof r.orgId!="string")throw new TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:r.projectId,teamId:r.orgId}}n(wW,"findProjectInfo");function IW(e,t){let r=(0,Bs.getUserDataDir)();if(!r)throw new Aa.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let a=Jn.join(r,"com.vercel.token",`${t}.json`),o=JSON.stringify(e);Gr.mkdirSync(Jn.dirname(a),{mode:504,recursive:!0}),Gr.writeFileSync(a,o),Gr.chmodSync(a,432)}n(IW,"saveToken");function TW(e){let t=(0,Bs.getUserDataDir)();if(!t)throw new Aa.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let r=Jn.join(t,"com.vercel.token",`${e}.json`);if(!Gr.existsSync(r))return null;let a=JSON.parse(Gr.readFileSync(r,"utf8"));return hc(a),a}n(TW,"loadToken");function SW(e){let t=e.split(".");if(t.length!==3)throw new Aa.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let r=t[1].replace(/-/g,"+").replace(/_/g,"/"),a=r.padEnd(r.length+(4-r.length%4)%4,"=");return JSON.parse(Buffer.from(a,"base64").toString("utf8"))}n(SW,"getTokenPayload");function _W(e){return e.exp*1e3<Date.now()}n(_W,"isExpired")});var NS=d((Fte,kS)=>{"use strict";var vc=Object.defineProperty,AW=Object.getOwnPropertyDescriptor,xW=Object.getOwnPropertyNames,EW=Object.prototype.hasOwnProperty,RW=n((e,t)=>{for(var r in t)vc(e,r,{get:t[r],enumerable:!0})},"__export"),OW=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of xW(t))!EW.call(e,o)&&o!==r&&vc(e,o,{get:()=>t[o],enumerable:!(a=AW(t,o))||a.enumerable});return e},"__copyProps"),CW=n(e=>OW(vc({},"__esModule",{value:!0}),e),"__toCommonJS"),PS={};RW(PS,{refreshToken:()=>MW});kS.exports=CW(PS);var yc=Qn(),$r=Ls();async function MW(){let{projectId:e,teamId:t}=(0,$r.findProjectInfo)(),r=(0,$r.loadToken)(e);if(!r||(0,$r.isExpired)((0,$r.getTokenPayload)(r.token))){let a=await(0,$r.getVercelCliToken)();if(!a)throw new yc.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!e)throw new yc.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(r=await(0,$r.getVercelOidcToken)(a,e,t),!r)throw new yc.VercelOidcTokenError("Failed to refresh OIDC token");(0,$r.saveToken)(r,e)}process.env.VERCEL_OIDC_TOKEN=r.token}n(MW,"refreshToken")});var US=d((Bte,qS)=>{"use strict";var wc=Object.defineProperty,PW=Object.getOwnPropertyDescriptor,kW=Object.getOwnPropertyNames,NW=Object.prototype.hasOwnProperty,DW=n((e,t)=>{for(var r in t)wc(e,r,{get:t[r],enumerable:!0})},"__export"),qW=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of kW(t))!NW.call(e,o)&&o!==r&&wc(e,o,{get:()=>t[o],enumerable:!(a=PW(t,o))||a.enumerable});return e},"__copyProps"),UW=n(e=>qW(wc({},"__esModule",{value:!0}),e),"__toCommonJS"),DS={};DW(DS,{getVercelOidcToken:()=>jW,getVercelOidcTokenSync:()=>bc});qS.exports=UW(DS);var LW=uc(),FW=Qn();async function jW(){let e="",t;try{e=bc()}catch(r){t=r}try{let[{getTokenPayload:r,isExpired:a},{refreshToken:o}]=await Promise.all([await Promise.resolve().then(()=>Te(Ls())),await Promise.resolve().then(()=>Te(NS()))]);(!e||a(r(e)))&&(await o(),e=bc())}catch(r){let a=t instanceof Error?t.message:"";throw r instanceof Error&&(a=`${a}
4
+ ${r.message}`),a?new FW.VercelOidcTokenError(a):r}return e}n(jW,"getVercelOidcToken");function bc(){let e=(0,LW.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw new Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return e}n(bc,"getVercelOidcTokenSync")});var Tc=d(($te,jS)=>{"use strict";var Ic=Object.defineProperty,BW=Object.getOwnPropertyDescriptor,GW=Object.getOwnPropertyNames,$W=Object.prototype.hasOwnProperty,WW=n((e,t)=>{for(var r in t)Ic(e,r,{get:t[r],enumerable:!0})},"__export"),VW=n((e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of GW(t))!$W.call(e,o)&&o!==r&&Ic(e,o,{get:()=>t[o],enumerable:!(a=BW(t,o))||a.enumerable});return e},"__copyProps"),QW=n(e=>VW(Ic({},"__esModule",{value:!0}),e),"__toCommonJS"),FS={};WW(FS,{getContext:()=>HW.getContext,getVercelOidcToken:()=>LS.getVercelOidcToken,getVercelOidcTokenSync:()=>LS.getVercelOidcTokenSync});jS.exports=QW(FS);var LS=US(),HW=uc()});var PQ={};L(PQ,{Method:()=>ui,ai:()=>zc,auditLogs:()=>ls,automations:()=>ns,backups:()=>Fn,branding:()=>Qo,constants:()=>un,db:()=>hr,environmentVariables:()=>ss,features:()=>Ct,groups:()=>Pt,init:()=>Yh,licensing:()=>Gt,logger:()=>Lr,mappers:()=>zl,middleware:()=>Hl,plugins:()=>os,publicApi:()=>cs,quotas:()=>Qt,scimGroups:()=>As,scimUsers:()=>_s,sdk:()=>Gl,users:()=>es,utils:()=>To});module.exports=wx(PQ);var ui=(s=>(s.POST="POST",s.GET="GET",s.PATCH="PATCH",s.DELETE="DELETE",s.PUT="PUT",s))(ui||{});var Gl={};L(Gl,{auditLogs:()=>ls,automations:()=>ns,backups:()=>Fn,branding:()=>Qo,environmentVariables:()=>ss,features:()=>Ct,groups:()=>Pt,init:()=>Yh,licensing:()=>Gt,logger:()=>Lr,plugins:()=>os,publicApi:()=>cs,quotas:()=>Qt,scimGroups:()=>As,scimUsers:()=>_s,users:()=>es,utils:()=>To});var Qo={};L(Qo,{getBrandingConfig:()=>gk});var Ct={};L(Ct,{checkBackups:()=>Ye,checkFeature:()=>$o,checkFeatures:()=>fu,checkSCIM:()=>yu,isAuditLogsEnabled:()=>Wo,isBackupsEnabled:()=>mu,isBrandingEnabled:()=>gu,isEnforceableSSO:()=>ch,isExpandedPublicApiEnabled:()=>pa,isPWAEnabled:()=>sk,isPkceOidcEnabled:()=>uk,isRecaptchaEnabled:()=>ik,isSSOEnforced:()=>pk,isSyncAutomationsEnabled:()=>nk,isTranslationsEnabled:()=>lk,isTriggerAutomationRunEnabled:()=>ok,isUserGroupsEnabled:()=>hu,isViewPermissionEnabled:()=>dk,isViewReadonlyColumnsEnabled:()=>fk,isWorkspaceImportExportEnabled:()=>ck,isWorkspaceImportExportPublicApiEnabled:()=>Vo});var Yt=require("@budibase/backend-core"),Ce=require("@budibase/types");var Gt={};L(Gt,{cache:()=>Rt,client:()=>yr,features:()=>wo,getFreeLicense:()=>uu,getLicense:()=>su,getLicenseFromKey:()=>iu,keys:()=>cu,offline:()=>Lo,quotas:()=>Io});var Rt={};L(Rt,{getCachedLicense:()=>uh,invalidate:()=>lh,refresh:()=>Pr});var Bo=Te(require("dd-trace")),yt=require("@budibase/backend-core"),Go=require("@budibase/types");var yr={};L(yr,{activateLicenseKey:()=>_i,getLicense:()=>Yr,getLicenseFromKey:()=>Si,triggerQuota:()=>nE});var Tp=Te(require("node-fetch"));var Sp=require("@budibase/backend-core"),li=require("dd-trace"),_p=require("dd-trace/ext/formats");var ci=class{constructor(t){this.apiCall=t=>async(r="",a={})=>await li.tracer.trace(`api.${t}`,async o=>{o.setTag("url",r);let s={...a.headers};s["Content-Type"]||(s["Content-Type"]="application/json",s.Accept="application/json");let i=s["Content-Type"]==="application/json";Sp.logging.correlation.setHeader(s),li.tracer.inject(o,_p.HTTP_HEADERS,s);let u={method:t,body:i?JSON.stringify(a.body):a.body,headers:s,credentials:"include"};return(0,Tp.default)(`${this.host}${r}`,u)});this.post=this.apiCall("POST");this.get=this.apiCall("GET");this.patch=this.apiCall("PATCH");this.del=this.apiCall("DELETE");this.put=this.apiCall("PUT");this.host=t}static{n(this,"API")}},pi=ci;var Ap=require("@budibase/backend-core");var{getDispatcher:QQ}=Ap.utils;var zr=require("@budibase/types"),Y=require("@budibase/backend-core");var hr={};L(hr,{backups:()=>mt,environmentVariables:()=>gr,groups:()=>ge,licenseInfo:()=>ft,quotas:()=>It});var It={};L(It,{bustCache:()=>mi,getCurrentUsageValues:()=>kp,getQuotaUsage:()=>Rr,setAllUsage:()=>hi,setAppUsageValue:()=>gi,setUsage:()=>Cp,setUsagePerApp:()=>Mp,utils:()=>$a});var at=require("@budibase/backend-core"),Ke=require("@budibase/types");var $a={};L($a,{generateBaseQuotaUsage:()=>lo,generateNewMonthlyQuotas:()=>Ga,generateNewQuotaUsage:()=>fi,getBreakdownName:()=>po,getCurrentMonthString:()=>dr,getQuotaDocId:()=>Ba,setCurrentMonth:()=>co,setQuotaReset:()=>di});var ja=require("@budibase/backend-core"),uo=require("@budibase/shared-core"),ke=require("@budibase/types");var Ba=n(()=>ja.context.isSelfHostUsingCloud()?`quota_usage_${ja.context.getTenantId()}`:ja.db.StaticDatabases.GLOBAL.docs.usageQuota,"getQuotaDocId"),xp=n(()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,1).toISOString()},"getNextQuotaReset"),di=n(e=>{e.quotaReset=xp()},"setQuotaReset"),dr=n(()=>{let e=new Date,t=e.getMonth()+1,r=e.getFullYear();return`${t}-${r}`},"getCurrentMonthString"),lo=n(()=>({usageQuota:{[ke.StaticQuotaName.WORKSPACES]:0,[ke.StaticQuotaName.ROWS]:0,[ke.StaticQuotaName.PLUGINS]:0,[ke.StaticQuotaName.USERS]:0,[ke.StaticQuotaName.CREATORS]:0,[ke.StaticQuotaName.USER_GROUPS]:0,[ke.StaticQuotaName.AI_CUSTOM_CONFIGS]:0,triggers:{}},monthly:{[dr()]:Ga()}}),"generateBaseQuotaUsage"),fi=n(()=>{let e={_id:Ba(),quotaReset:xp(),...lo(),apps:{}};return co(e),e},"generateNewQuotaUsage"),Ga=n(()=>({[ke.MonthlyQuotaName.QUERIES]:0,[ke.MonthlyQuotaName.AUTOMATIONS]:0,[ke.MonthlyQuotaName.BUDIBASE_AI_CREDITS]:0,[ke.MonthlyQuotaName.ACTIONS]:0,triggers:{}}),"generateNewMonthlyQuotas"),co=n(e=>{let t=dr();e.monthly||(e.monthly={}),e.monthly[t]||(e.monthly[t]=Ga()),e.monthly.current=e.monthly[t]},"setCurrentMonth"),po=n((e,t)=>{if(!(!t||!e))switch(e){case ke.MonthlyQuotaName.AUTOMATIONS:return ke.BreakdownQuotaName.AUTOMATIONS;case ke.MonthlyQuotaName.QUERIES:return(0,uo.isTableIdOrExternalTableId)(t)?ke.BreakdownQuotaName.ROW_QUERIES:(0,uo.isDatasourceOrDatasourcePlusId)(t)?ke.BreakdownQuotaName.DATASOURCE_QUERIES:void 0}},"getBreakdownName");var Ep=at.Duration.fromSeconds(60).toMs(),{Writethrough:Rp}=at.cache.writethrough;function Ix(e){return delete e.usageLimits,delete e.usageQuota.automationRuns,delete e.usageQuota.emails,delete e.usageQuota.storage,delete e.usageQuota.views,delete e.usageQuota.publishedApps,delete e.usageQuota.developers,e}n(Ix,"clearDeprecated");var fo=n(()=>at.tenancy.isSelfHostUsingCloud()?new Rp(at.tenancy.getSelfHostCloudDB(),Ep):new Rp(at.tenancy.getGlobalDB(),Ep),"getDB");async function mi(e=0){let r=fo(),a=Ba(),o=await r.tryGet(a);o&&o._rev&&await r.remove(a,o._rev).catch(async s=>{if(e<1)return await mi(e+1);throw s})}n(mi,"bustCache");var Rr=n(async()=>{let e=fo(),t=await e.tryGet(Ba());if(!t){t=fi();let{rev:r}=await e.put(t);t._rev=r}return co(t),di(t),Ix(t)},"getQuotaUsage"),Cp=n(async(e,t,r)=>hi({name:t,type:r,values:{total:e}}),"setUsage"),Mp=n(async(e,t,r)=>{let a=fo(),o=await Rr(),s=Object.values(e).reduce((u,l)=>u+l,0);for(let[u,l]of Object.entries(e))o=Pp(o,t,r,{total:s,app:l},{appId:u});let i=await a.put(o);return o._rev=i.rev,o},"setUsagePerApp"),Tx=n((e,t,r,a)=>{let o=po(t,r);if(!o||!a?.breakdown)return e;e.breakdown||(e.breakdown={}),e.breakdown[o]||(e.breakdown[o]={parent:t,values:{}});let s=e.breakdown[o];return s.values[r]=a.breakdown,e},"setBreakdown"),gi=n((e,t,r,a={},o)=>{let s;try{s=at.db.getProdWorkspaceID(a?.appId||at.context.getWorkspaceId())}catch{}if(!s||!o.app||!Ke.APP_QUOTA_NAMES.includes(t))return e;e.apps?.[s]||(e.apps={...e.apps,[s]:lo()});let i=e.apps[s];switch(r){case Ke.QuotaUsageType.STATIC:i.usageQuota[t]=o.app;break;case Ke.QuotaUsageType.MONTHLY:{let u=dr(),l=t,c=i.monthly[u];c||(i.monthly[u]=Ga(),c=i.monthly[u]),c[l]=o.app,Ke.BREAKDOWN_QUOTA_NAMES.includes(l)&&a?.id&&(c=Tx(c,l,a.id,o));break}}return e},"setAppUsageValue"),Op=n((e,t,r,a)=>{if(!Ke.APP_QUOTA_NAMES.includes(r))return{};let o;try{o=at.db.getProdWorkspaceID(at.context.getWorkspaceId())}catch{}if(!o||!e.apps||!e.apps[o])return{app:0};let s=e.apps[o];switch(t){case Ke.QuotaUsageType.STATIC:if(s.usageQuota?.[r])return{app:s.usageQuota[r]};break;case Ke.QuotaUsageType.MONTHLY:{let i=dr(),u=r;if(!s.monthly?.[i]?.[u])break;let l=s.monthly[i],c=l[u],f,y=po(u,a);return y&&a&&l.breakdown?.[y]&&(f=l.breakdown[y]?.values[a]),{app:c,breakdown:f||0}}}return{app:0}},"getAppUsageValue"),Sx=n((e,t,r)=>{t.usageQuota.triggers||(t.usageQuota.triggers={}),r&&(t.usageQuota.triggers[e]=r)},"setStaticTriggers"),_x=n((e,t,r,a)=>{r.monthly[t].triggers||(r.monthly[t].triggers={}),a&&(r.monthly[t].triggers[e]=a)},"setMonthlyTriggers"),Pp=n((e,t,r,a,o={})=>{if(r===Ke.QuotaUsageType.STATIC)t=t,e.usageQuota[t]=a.total,Sx(t,e,a.triggers);else if(r===Ke.QuotaUsageType.MONTHLY){t=t;let s=dr();e.monthly[s][t]=a.total,_x(t,s,e,a.triggers)}else throw new Error(`Invalid usage type: ${r}`);return gi(e,t,r,o,a)},"coreUsageUpdate"),hi=n(async e=>{let t=Array.isArray(e)?e:[e],r=fo(),a=await Rr();for(let s of t)a=Pp(a,s.name,s.type,s.values,s.opts);let o=await r.put(a,0);return a._rev=o.rev,a},"setAllUsage"),kp=n(async(e,t,r)=>{let a=await Rr(),o=0,s={};switch(e){case Ke.QuotaUsageType.STATIC:if(a.usageQuota[t]){let i=t;o=a.usageQuota[i],s=Op(a,e,t,r)}break;case Ke.QuotaUsageType.MONTHLY:{let i=dr(),u=t;a.monthly[i][u]&&(o=a.monthly[i][u],s=Op(a,e,t,r));break}default:throw new Error(`Invalid usage type: ${e}`)}return Ke.APP_QUOTA_NAMES.includes(t)&&!(s.app||s.breakdown)&&(s.app=s.app||0,s.breakdown=s.breakdown||0),{total:o,app:s.app,breakdown:s.breakdown}},"getCurrentUsageValues");var ft={};L(ft,{destroy:()=>Ex,get:()=>yi,save:()=>xx});var fr=require("@budibase/backend-core");var Ax=n(()=>({_id:fr.StaticDatabases.GLOBAL.docs.licenseInfo}),"newLicenseInfo"),xx=n(async e=>{let t=await yi();t={...t,...e};let a=await fr.tenancy.getGlobalDB().put(t);return t._rev=a.rev,t},"save"),yi=n(async()=>{let e=fr.tenancy.getGlobalDB();try{return await e.get(fr.StaticDatabases.GLOBAL.docs.licenseInfo)}catch(t){if(t.status===404)return Ax();throw t}},"get"),Ex=n(async()=>{let e=fr.tenancy.getGlobalDB(),t=await yi();t&&t._rev&&await e.remove(fr.StaticDatabases.GLOBAL.docs.licenseInfo,t._rev)},"destroy");var ge={};L(ge,{bulkSave:()=>Fx,destroy:()=>jx,fetch:()=>Dx,generateUserGroupID:()=>kx,get:()=>qx,getBulk:()=>Ux,getByName:()=>vi,getGroupUsers:()=>Fp,getGroupUsersParams:()=>Lp,getUserGroupsParams:()=>Up,save:()=>Lx});var le=require("@budibase/backend-core");var Et=require("@budibase/types"),Hr=require("@budibase/backend-core");async function Np(){let e=Hr.sql.designDoc.base("type");e.sql.tables={[Et.AUDIT_LOG_TYPE]:{fields:{appId:Et.SQLiteType.TEXT,event:Et.SQLiteType.TEXT,userId:Et.SQLiteType.TEXT,timestamp:Et.SQLiteType.TEXT,metadata:Et.SQLiteType.TEXT,name:Et.SQLiteType.TEXT,type:Et.SQLiteType.TEXT,fallback:Et.SQLiteType.TEXT}}};let t=Hr.context.getAuditLogsDB(),r;try{r=await t.get(Hr.SQLITE_DESIGN_DOC_ID),r={...r,...e}}catch(a){if(a.status===404)r=e;else throw a}await t.put(r)}n(Np,"createAuditLogDesignDocSQL");var mo=require("@budibase/backend-core");var{ViewName:Rx,SEPARATOR:Ox,DocumentType:Cx,createView:Mx}=mo.db,Px=Cx.USER+Ox;async function Dp(){let e=mo.tenancy.getGlobalDB(),t=`function(doc) {
5
5
  if (doc._id.startsWith("${Px}") && Array.isArray(doc.userGroups)) {
6
6
  for (let groupId of doc.userGroups) {
7
7
  emit("g_" + groupId, { email: doc.email, userId: doc._id })
8
8
  emit("e_" + groupId + doc.email, { email: doc.email, userId: doc._id })
9
9
  }
10
10
  }
11
- }`;await Mx(e,t,Rx.USER_BY_GROUP)}n(Dp,"createGroupUserLookupView");var qp=`${le.DocumentType.GROUP}${le.SEPARATOR}`,Wa=n(async()=>(await le.db.getAllWorkspaces({dev:!0,efficient:!0,idsOnly:!0})).map(t=>le.db.getProdWorkspaceID(t)),"getAppIDs");function Up(e,t={}){e||(e="");let r=e?.startsWith(le.DocumentType.GROUP)?"":qp;return{...t,startkey:`${r}${e}`,endkey:`${r}${e}${le.UNICODE_MAX}`}}n(Up,"getUserGroupsParams");function Lp(e,t={}){e||(e="");let{emailSearch:r,bookmark:a,...o}=t;return r?{...o,startkey:`e_${e}${a||r}`,endkey:`e_${e}${r}${le.UNICODE_MAX}`}:{...t,startkey:`g_${e}`,endkey:`g_${e}${le.UNICODE_MAX}`,startkey_docid:a}}n(Lp,"getGroupUsersParams");function kx(){return`${qp}${le.utils.newid()}`}n(kx,"generateUserGroupID");async function jp(e,t){let r=le.tenancy.getGlobalDB();return(await le.db.queryView(le.db.ViewName.USER_BY_GROUP,Lp(e,t),r,Dp,{arrayResponse:!0})).map(o=>({_id:o.userId,email:o.email}))||[]}n(jp,"getGroupUsers");async function Va(e,t){let r=await jp(e._id);return e.roles&&(e.roles=Object.fromEntries(Object.entries(e.roles).filter(([a])=>t.includes(a)))),{...e,users:r}}n(Va,"enrichGroup");async function Nx(e){let r=(await Va(e,await Wa())).users?.map(s=>s._id),a=await le.users.bulkGetGlobalUsersById(r),o=[];for(let s of a){if(!s.userGroups)continue;let i=s.userGroups.length;s.userGroups=s.userGroups.filter(u=>u!==e._id),s.userGroups.length!==i&&o.push(s)}o.length&&await le.users.bulkUpdateGlobalUsers(o)}n(Nx,"cleanupUsers");async function Fp(){return(await le.tenancy.getGlobalDB().allDocs(Up(null,{include_docs:!0}))).rows.map(t=>t.doc)}n(Fp,"getAllGroupDocuments");async function Dx(){let[e,t]=await Promise.all([Fp(),Wa()]),r=[];for(let a of e)r.push(Va(a,t));return await Promise.all(r)}n(Dx,"fetch");async function qx(e){let t=le.tenancy.getGlobalDB(),[r,a]=await Promise.all([t.get(e),Wa()]);return await Va(r,a)}n(qx,"get");async function Ux(e,t={enriched:!0}){let r=le.tenancy.getGlobalDB();if(t?.enriched){let[a,o]=await Promise.all([r.getMultiple(e,{allowMissing:!0}),Wa()]),s=[];for(let i of a)s.push(Va(i,o));return await Promise.all(s)}else return await r.getMultiple(e,{allowMissing:!0})}n(Ux,"getBulk");async function Lx(e){return await le.tenancy.getGlobalDB().put(e)}n(Lx,"save");async function jx(e){return await le.tenancy.getGlobalDB().bulkDocs(e)}n(jx,"bulkSave");async function Fx(e,t){let r=le.tenancy.getGlobalDB(),a=await r.get(e),o=await r.remove(e,t);return await Nx(a),o}n(Fx,"destroy");async function vi(e){let t=e.toLowerCase(),[r,a]=await Promise.all([Fp(),Wa()]),o=r.find(s=>s.name.toLowerCase()===t);if(o)return await Va(o,a)}n(vi,"getByName");var mt={};L(mt,{deleteAppBackupMetadata:()=>Xx,fetchAppBackups:()=>Yx,generateAppBackupID:()=>ed,getAppBackupMetadata:()=>eE,oldestBackupDate:()=>Zp,storeAppBackupMetadata:()=>zx,updateAppBackupMetadata:()=>Zx});var Se=require("@budibase/backend-core"),zp=require("@budibase/types");var un={};L(un,{GENERIC_PAGE_SIZE:()=>sn,auditLogs:()=>Kr,licenses:()=>Tt,quotas:()=>Yt,versions:()=>on});var Tt={};L(Tt,{CLOUD_FREE_LICENSE:()=>Gx,SELF_FREE_LICENSE:()=>bi,UNLIMITED:()=>be,UNLIMITED_LICENSE:()=>$x});var mr=require("@budibase/types");var Yt={};L(Yt,{UNLIMITED:()=>Bx,actions:()=>tn,appBackupRetentionDays:()=>an,apps:()=>Ha,automationLogRetentionDays:()=>rn,automations:()=>Xa,budibaseAICredits:()=>en,creators:()=>Ja,customAIConfigurations:()=>nn,plugins:()=>za,queries:()=>Za,rows:()=>Qa,userGroups:()=>Ya,users:()=>Ka});var We=require("@budibase/types");var Bx=-1,Qa=n(e=>({[We.StaticQuotaName.ROWS]:{name:"Rows",value:e,triggers:[90,100]}}),"rows"),Ha=n(e=>({[We.StaticQuotaName.WORKSPACES]:{name:"Workspaces",value:e,triggers:[100]}}),"apps"),Ka=n(e=>({[We.StaticQuotaName.USERS]:{name:"Users",value:e,triggers:[80,100]}}),"users"),Ja=n(e=>({[We.StaticQuotaName.CREATORS]:{name:"Creators",value:e,triggers:[]}}),"creators"),Ya=n(e=>({[We.StaticQuotaName.USER_GROUPS]:{name:"User Groups",value:e,triggers:[80,100]}}),"userGroups"),za=n(e=>({[We.StaticQuotaName.PLUGINS]:{name:"Plugins",value:e,triggers:[90,100]}}),"plugins"),Za=n(e=>({[We.MonthlyQuotaName.QUERIES]:{name:"Queries",value:e,triggers:[]}}),"queries"),Xa=n(e=>({[We.MonthlyQuotaName.AUTOMATIONS]:{name:"Automations",value:e,triggers:[80,90,100]}}),"automations"),en=n(e=>({[We.MonthlyQuotaName.BUDIBASE_AI_CREDITS]:{name:"Budibase AI Credits",value:e,triggers:[80,90,100]}}),"budibaseAICredits"),tn=n(e=>({[We.MonthlyQuotaName.ACTIONS]:{name:"Actions",value:e,triggers:[80,90,100]}}),"actions"),rn=n(e=>({[We.ConstantQuotaName.AUTOMATION_LOG_RETENTION_DAYS]:{name:"Automation Logs",value:e,triggers:[]}}),"automationLogRetentionDays"),an=n(e=>({[We.ConstantQuotaName.APP_BACKUPS_RETENTION_DAYS]:{name:"App Backups",value:e,triggers:[]}}),"appBackupRetentionDays"),nn=n(e=>({[We.StaticQuotaName.AI_CUSTOM_CONFIGS]:{name:"Custom AI Configuration",value:e,triggers:[]}}),"customAIConfigurations");var be=-1,Gx={features:[],quotas:{usage:{monthly:{...Za(be),...Xa(200),...en(0),...tn(be)},static:{...Ha(be),...Qa(2e3),...Ka(5),...Ja(5),...Ya(0),...za(10),...nn(0)}},constant:{...rn(1),...an(0)}},plan:{type:mr.PlanType.FREE,usesInvoicing:!1,model:mr.PlanModel.PER_USER}},bi={features:[],quotas:{usage:{monthly:{...Za(be),...Xa(be),...en(0),...tn(be)},static:{...Qa(be),...Ha(be),...Ka(be),...Ja(be),...Ya(0),...za(10),...nn(0)}},constant:{...rn(1),...an(0)}},plan:{type:mr.PlanType.FREE,usesInvoicing:!1,model:mr.PlanModel.PER_USER}},$x={features:[],quotas:{usage:{monthly:{...Za(be),...Xa(be),...en(be),...tn(be)},static:{...Ha(be),...Qa(be),...Ka(be),...Ja(be),...Ya(be),...za(be),...nn(be)}},constant:{...rn(be),...an(be)}},plan:{type:mr.PlanType.FREE,usesInvoicing:!1,model:mr.PlanModel.PER_USER}};var on={};L(on,{getLicenseVersion:()=>Wx,getProVersion:()=>Gp});var Or=require("@budibase/backend-core"),go=Te(require("fs")),Bp=Te(require("path"));var Wx=n(()=>{if(Or.env.isDev()){let e="dev-version.txt",t=Bp.default.join(Or.objectStore.budibaseTempDir(),e);if(go.default.existsSync(t))return go.default.readFileSync(t,"utf8");{let r=Or.utils.newid();return go.default.writeFileSync(t,r),r}}else return Gp()},"getLicenseVersion"),Gp=n(()=>{let e=Or.env.VERSION;if(!e)throw new Error("No budibase pro version was specified");return e},"getProVersion");var Kr={};L(Kr,{searchTable:()=>Vx});var Cr=require("@budibase/types"),$p=require("@budibase/backend-core");function Vx(){return{type:"table",sourceType:Cr.TableSourceType.INTERNAL,name:Cr.AUDIT_LOG_TYPE,sourceId:$p.SQS_DATASOURCE_INTERNAL,primary:["_id"],schema:{metadata:{name:"metadata",type:Cr.FieldType.JSON},fallback:{name:"fallback",type:Cr.FieldType.JSON}}}}n(Vx,"searchTable");var sn=9;function ln(e,t){let r=e.rows.map(o=>o.doc?o.doc:o);if(!t?.paginate)return{data:r,hasNextPage:!1,totalRows:e.total_rows};let a=r.length>t?.pageSize;return{data:r.slice(0,t?.pageSize),hasNextPage:a,nextPage:a?e.rows[t?.pageSize]?.key:void 0,totalRows:e.total_rows}}n(ln,"pagination");var Wp=require("@budibase/types");var Qx=new Date(864e13).toISOString(),Hx=1e3*60*60*24;async function ho(e){let r=(await Rt.getCachedLicense()).quotas?.[Wp.QuotaType.CONSTANT]?.[e]?.value||0;return r===Tt.UNLIMITED?new Date(Qx).toISOString():new Date(new Date().getTime()-Hx*r).toISOString()}n(ho,"getOldestRetentionDate");var Jr=require("@budibase/backend-core");var{ViewName:Qp,AutomationViewMode:wi,SEPARATOR:$t,DocumentType:Hp,createView:Kp}=Jr.db,Kx=Hp.AUTOMATION_LOG+$t,Vp=Hp.APP_BACKUP+$t;async function Jp(){let e=Jr.context.getProdWorkspaceDB(),t=`function(doc) {
11
+ }`;await Mx(e,t,Rx.USER_BY_GROUP)}n(Dp,"createGroupUserLookupView");var qp=`${le.DocumentType.GROUP}${le.SEPARATOR}`,Wa=n(async()=>(await le.db.getAllWorkspaces({dev:!0,efficient:!0,idsOnly:!0})).map(t=>le.db.getProdWorkspaceID(t)),"getAppIDs");function Up(e,t={}){e||(e="");let r=e?.startsWith(le.DocumentType.GROUP)?"":qp;return{...t,startkey:`${r}${e}`,endkey:`${r}${e}${le.UNICODE_MAX}`}}n(Up,"getUserGroupsParams");function Lp(e,t={}){e||(e="");let{emailSearch:r,bookmark:a,...o}=t;return r?{...o,startkey:`e_${e}${a||r}`,endkey:`e_${e}${r}${le.UNICODE_MAX}`}:{...t,startkey:`g_${e}`,endkey:`g_${e}${le.UNICODE_MAX}`,startkey_docid:a}}n(Lp,"getGroupUsersParams");function kx(){return`${qp}${le.utils.newid()}`}n(kx,"generateUserGroupID");async function Fp(e,t){let r=le.tenancy.getGlobalDB();return(await le.db.queryView(le.db.ViewName.USER_BY_GROUP,Lp(e,t),r,Dp,{arrayResponse:!0})).map(o=>({_id:o.userId,email:o.email}))||[]}n(Fp,"getGroupUsers");async function Va(e,t){let r=await Fp(e._id);return e.roles&&(e.roles=Object.fromEntries(Object.entries(e.roles).filter(([a])=>t.includes(a)))),{...e,users:r}}n(Va,"enrichGroup");async function Nx(e){let r=(await Va(e,await Wa())).users?.map(s=>s._id),a=await le.users.bulkGetGlobalUsersById(r),o=[];for(let s of a){if(!s.userGroups)continue;let i=s.userGroups.length;s.userGroups=s.userGroups.filter(u=>u!==e._id),s.userGroups.length!==i&&o.push(s)}o.length&&await le.users.bulkUpdateGlobalUsers(o)}n(Nx,"cleanupUsers");async function jp(){return(await le.tenancy.getGlobalDB().allDocs(Up(null,{include_docs:!0}))).rows.map(t=>t.doc)}n(jp,"getAllGroupDocuments");async function Dx(){let[e,t]=await Promise.all([jp(),Wa()]),r=[];for(let a of e)r.push(Va(a,t));return await Promise.all(r)}n(Dx,"fetch");async function qx(e){let t=le.tenancy.getGlobalDB(),[r,a]=await Promise.all([t.get(e),Wa()]);return await Va(r,a)}n(qx,"get");async function Ux(e,t={enriched:!0}){let r=le.tenancy.getGlobalDB();if(t?.enriched){let[a,o]=await Promise.all([r.getMultiple(e,{allowMissing:!0}),Wa()]),s=[];for(let i of a)s.push(Va(i,o));return await Promise.all(s)}else return await r.getMultiple(e,{allowMissing:!0})}n(Ux,"getBulk");async function Lx(e){return await le.tenancy.getGlobalDB().put(e)}n(Lx,"save");async function Fx(e){return await le.tenancy.getGlobalDB().bulkDocs(e)}n(Fx,"bulkSave");async function jx(e,t){let r=le.tenancy.getGlobalDB(),a=await r.get(e),o=await r.remove(e,t);return await Nx(a),o}n(jx,"destroy");async function vi(e){let t=e.toLowerCase(),[r,a]=await Promise.all([jp(),Wa()]),o=r.find(s=>s.name.toLowerCase()===t);if(o)return await Va(o,a)}n(vi,"getByName");var mt={};L(mt,{deleteAppBackupMetadata:()=>Xx,fetchAppBackups:()=>zx,generateAppBackupID:()=>ed,getAppBackupMetadata:()=>eE,oldestBackupDate:()=>Zp,storeAppBackupMetadata:()=>Yx,updateAppBackupMetadata:()=>Zx});var Se=require("@budibase/backend-core"),Yp=require("@budibase/types");var un={};L(un,{GENERIC_PAGE_SIZE:()=>sn,auditLogs:()=>Kr,licenses:()=>Tt,quotas:()=>zt,versions:()=>on});var Tt={};L(Tt,{CLOUD_FREE_LICENSE:()=>Gx,SELF_FREE_LICENSE:()=>bi,UNLIMITED:()=>be,UNLIMITED_LICENSE:()=>$x});var mr=require("@budibase/types");var zt={};L(zt,{UNLIMITED:()=>Bx,actions:()=>tn,appBackupRetentionDays:()=>an,apps:()=>Ha,automationLogRetentionDays:()=>rn,automations:()=>Xa,budibaseAICredits:()=>en,creators:()=>Ja,customAIConfigurations:()=>nn,plugins:()=>Ya,queries:()=>Za,rows:()=>Qa,userGroups:()=>za,users:()=>Ka});var We=require("@budibase/types");var Bx=-1,Qa=n(e=>({[We.StaticQuotaName.ROWS]:{name:"Rows",value:e,triggers:[90,100]}}),"rows"),Ha=n(e=>({[We.StaticQuotaName.WORKSPACES]:{name:"Workspaces",value:e,triggers:[100]}}),"apps"),Ka=n(e=>({[We.StaticQuotaName.USERS]:{name:"Users",value:e,triggers:[80,100]}}),"users"),Ja=n(e=>({[We.StaticQuotaName.CREATORS]:{name:"Creators",value:e,triggers:[]}}),"creators"),za=n(e=>({[We.StaticQuotaName.USER_GROUPS]:{name:"User Groups",value:e,triggers:[80,100]}}),"userGroups"),Ya=n(e=>({[We.StaticQuotaName.PLUGINS]:{name:"Plugins",value:e,triggers:[90,100]}}),"plugins"),Za=n(e=>({[We.MonthlyQuotaName.QUERIES]:{name:"Queries",value:e,triggers:[]}}),"queries"),Xa=n(e=>({[We.MonthlyQuotaName.AUTOMATIONS]:{name:"Automations",value:e,triggers:[80,90,100]}}),"automations"),en=n(e=>({[We.MonthlyQuotaName.BUDIBASE_AI_CREDITS]:{name:"Budibase AI Credits",value:e,triggers:[80,90,100]}}),"budibaseAICredits"),tn=n(e=>({[We.MonthlyQuotaName.ACTIONS]:{name:"Actions",value:e,triggers:[80,90,100]}}),"actions"),rn=n(e=>({[We.ConstantQuotaName.AUTOMATION_LOG_RETENTION_DAYS]:{name:"Automation Logs",value:e,triggers:[]}}),"automationLogRetentionDays"),an=n(e=>({[We.ConstantQuotaName.APP_BACKUPS_RETENTION_DAYS]:{name:"App Backups",value:e,triggers:[]}}),"appBackupRetentionDays"),nn=n(e=>({[We.StaticQuotaName.AI_CUSTOM_CONFIGS]:{name:"Custom AI Configuration",value:e,triggers:[]}}),"customAIConfigurations");var be=-1,Gx={features:[],quotas:{usage:{monthly:{...Za(be),...Xa(200),...en(0),...tn(be)},static:{...Ha(be),...Qa(2e3),...Ka(5),...Ja(5),...za(0),...Ya(10),...nn(0)}},constant:{...rn(1),...an(0)}},plan:{type:mr.PlanType.FREE,usesInvoicing:!1,model:mr.PlanModel.PER_USER}},bi={features:[],quotas:{usage:{monthly:{...Za(be),...Xa(be),...en(0),...tn(be)},static:{...Qa(be),...Ha(be),...Ka(be),...Ja(be),...za(0),...Ya(10),...nn(0)}},constant:{...rn(1),...an(0)}},plan:{type:mr.PlanType.FREE,usesInvoicing:!1,model:mr.PlanModel.PER_USER}},$x={features:[],quotas:{usage:{monthly:{...Za(be),...Xa(be),...en(be),...tn(be)},static:{...Ha(be),...Qa(be),...Ka(be),...Ja(be),...za(be),...Ya(be),...nn(be)}},constant:{...rn(be),...an(be)}},plan:{type:mr.PlanType.FREE,usesInvoicing:!1,model:mr.PlanModel.PER_USER}};var on={};L(on,{getLicenseVersion:()=>Wx,getProVersion:()=>Gp});var Or=require("@budibase/backend-core"),go=Te(require("fs")),Bp=Te(require("path"));var Wx=n(()=>{if(Or.env.isDev()){let e="dev-version.txt",t=Bp.default.join(Or.objectStore.budibaseTempDir(),e);if(go.default.existsSync(t))return go.default.readFileSync(t,"utf8");{let r=Or.utils.newid();return go.default.writeFileSync(t,r),r}}else return Gp()},"getLicenseVersion"),Gp=n(()=>{let e=Or.env.VERSION;if(!e)throw new Error("No budibase pro version was specified");return e},"getProVersion");var Kr={};L(Kr,{searchTable:()=>Vx});var Cr=require("@budibase/types"),$p=require("@budibase/backend-core");function Vx(){return{type:"table",sourceType:Cr.TableSourceType.INTERNAL,name:Cr.AUDIT_LOG_TYPE,sourceId:$p.SQS_DATASOURCE_INTERNAL,primary:["_id"],schema:{metadata:{name:"metadata",type:Cr.FieldType.JSON},fallback:{name:"fallback",type:Cr.FieldType.JSON}}}}n(Vx,"searchTable");var sn=9;function ln(e,t){let r=e.rows.map(o=>o.doc?o.doc:o);if(!t?.paginate)return{data:r,hasNextPage:!1,totalRows:e.total_rows};let a=r.length>t?.pageSize;return{data:r.slice(0,t?.pageSize),hasNextPage:a,nextPage:a?e.rows[t?.pageSize]?.key:void 0,totalRows:e.total_rows}}n(ln,"pagination");var Wp=require("@budibase/types");var Qx=new Date(864e13).toISOString(),Hx=1e3*60*60*24;async function ho(e){let r=(await Rt.getCachedLicense()).quotas?.[Wp.QuotaType.CONSTANT]?.[e]?.value||0;return r===Tt.UNLIMITED?new Date(Qx).toISOString():new Date(new Date().getTime()-Hx*r).toISOString()}n(ho,"getOldestRetentionDate");var Jr=require("@budibase/backend-core");var{ViewName:Qp,AutomationViewMode:wi,SEPARATOR:$t,DocumentType:Hp,createView:Kp}=Jr.db,Kx=Hp.AUTOMATION_LOG+$t,Vp=Hp.APP_BACKUP+$t;async function Jp(){let e=Jr.context.getProdWorkspaceDB(),t=`function(doc) {
12
12
  if (doc._id.startsWith("${Kx}")) {
13
13
  let autoId = doc.automationId + "${$t}"
14
14
  let status = doc.status + "${$t}"
@@ -19,14 +19,14 @@ ${r.message}`),a?new jW.VercelOidcTokenError(a):r}return e}n(FW,"getVercelOidcTo
19
19
  emit(autoKey)
20
20
  emit(allKey)
21
21
  }
22
- }`;await Kp(e,t,Qp.AUTOMATION_LOGS)}n(Jp,"createLogByAutomationView");async function Yp(){let e=Jr.tenancy.getGlobalDB(),t=`function(doc) {
22
+ }`;await Kp(e,t,Qp.AUTOMATION_LOGS)}n(Jp,"createLogByAutomationView");async function zp(){let e=Jr.tenancy.getGlobalDB(),t=`function(doc) {
23
23
  if (doc._id.startsWith("${Vp}") && doc.type && doc.trigger) {
24
24
  let full = doc.appId + "${$t}"
25
25
  full += doc.trigger.toLowerCase() + "${$t}"
26
26
  full += doc.type.toLowerCase() + "${$t}"
27
27
  emit("${Vp}" + full + doc.timestamp)
28
28
  }
29
- }`;await Kp(e,t,Qp.WORKSPACE_BACKUP_BY_TRIGGER)}n(Yp,"createAppBackupTriggerView");async function Zp(){return ho(zp.ConstantQuotaName.APP_BACKUPS_RETENTION_DAYS)}n(Zp,"oldestBackupDate");var Ii=`${Se.db.DocumentType.APP_BACKUP}${Se.db.SEPARATOR}`;async function Jx(e,t,r={}){let a=await Zp(),o=Se.db.getProdWorkspaceID(e),s=o,i=o;if(t.trigger&&t.type){let u=`${Se.db.SEPARATOR}${t.trigger}`;u+=`${Se.db.SEPARATOR}${t.type}`,s+=u,i+=u}return(!t.startDate||t.startDate<a)&&(t.startDate=a),t.startDate&&(i+=`${Se.db.SEPARATOR}${t.startDate}`),t.endDate&&(s+=`${Se.db.SEPARATOR}${t.endDate}`),{...r,descending:!0,startkey:`${Ii}${s}${Se.db.UNICODE_MAX}`,endkey:`${Ii}${i}`}}n(Jx,"getAppBackupParams");async function Xp(e,t){try{let r=Se.db.getQueryIndex(Se.db.ViewName.WORKSPACE_BACKUP_BY_TRIGGER);return await e.query(r,t)}catch(r){if(r!=null&&r.error==="not_found")return await Yp(),Xp(e,t);throw r}}n(Xp,"getAppBackupsByTrigger");function ed(e,t){return`${Ii}${e}${Se.db.SEPARATOR}${t}`}n(ed,"generateAppBackupID");async function Yx(e,t={}){let r=Se.tenancy.getGlobalDB(),a,o=t.limit||9,s=await Jx(e,t,{include_docs:!0,limit:o+1});t.page&&(s.startkey=t.page),!t.trigger||!t.type?a=await r.allDocs(s):a=await Xp(r,s);let i=ln(a,{paginate:t.paginate,pageSize:o}),u=[...new Set(i.data.filter(c=>c.createdBy).map(c=>c.createdBy))],l=await Se.users.bulkGetGlobalUsersById(u,{cleanup:!0});for(let c of l)for(let f of i.data)c?._id===f.createdBy&&(f.createdBy=c);return i}n(Yx,"fetchAppBackups");async function zx(e,t={}){let r=Se.tenancy.getGlobalDB(),a=Se.db.getProdWorkspaceID(e.appId),o=ed(a,e.timestamp),s={...e,_id:o,appId:a,name:e.name};return s._id=t.docId||s._id,s._rev=t.docRev||s._rev,t.filename&&(s.filename=t.filename),e.createdBy&&(s.createdBy=Se.db.getGlobalIDFromUserMetadataID(e.createdBy)),await r.put(s)}n(zx,"storeAppBackupMetadata");async function Zx(e,t){let r=Se.tenancy.getGlobalDB(),a=await r.get(e);return a.name=t,await r.put(a)}n(Zx,"updateAppBackupMetadata");async function Xx(e){let t=Se.tenancy.getGlobalDB(),r=await t.get(e);await t.remove(r._id,r._rev)}n(Xx,"deleteAppBackupMetadata");async function eE(e){return await Se.tenancy.getGlobalDB().get(e)}n(eE,"getAppBackupMetadata");var gr={};L(gr,{get:()=>rE,getCacheEnvVarID:()=>ad,getEnvVarID:()=>yo,update:()=>aE});var Ot=require("@budibase/backend-core"),rd=Te(require("lru-cache"));var tE=1e3,td=new rd.default({max:tE});function yo(){return Ot.StaticDatabases.GLOBAL.docs.environmentVariables}n(yo,"getEnvVarID");function ad(e){return`${Ot.tenancy.getTenantId()}/${yo()}/${e||""}`}n(ad,"getCacheEnvVarID");async function rE(){let e=yo(),t=Ot.tenancy.getGlobalDB(),r,a=!1;try{r=await t.get(e)}catch(u){if(u.status==404)a=!0;else throw u}let o=ad(r?._rev),s=td.get(o);if(s)return s;let i;return!a&&r?i={...r,variables:JSON.parse(Ot.encryption.decrypt(r.variables,Ot.encryption.SecretOption.ENCRYPTION))}:i={_id:e,variables:{}},td.set(o,i),i}n(rE,"get");async function aE(e){let t=yo();return await Ot.tenancy.getGlobalDB().put({_id:e._id||t,_rev:e._rev||void 0,variables:Ot.encryption.encrypt(JSON.stringify(e.variables),Ot.encryption.SecretOption.ENCRYPTION)})}n(aE,"update");var Ti=require("dd-trace");var vo=new pi(z.env.INTERNAL_ACCOUNT_PORTAL_URL||z.env.ACCOUNT_PORTAL_URL),bo=n(async e=>{try{let t=await e.json();if(t.message)return t.message}catch{}try{let t=await e.text();if(t)return t}catch{}},"getResponseErrorMessage"),nd=n(async e=>{let t,r;if(z.env.SELF_HOSTED){if(t=await ft.get(),!t.licenseKey)return;r={[z.constants.Header.LICENSE_KEY]:t.licenseKey}}else{let a=z.tenancy.getTenantId();r={[z.constants.Header.API_KEY]:z.env.ACCOUNT_PORTAL_API_KEY,[z.constants.Header.TENANT_ID]:a}}return e(r)},"authAware"),od=n(async()=>await Ti.tracer.trace("_getLicense",async()=>await nd(async e=>{let t=await It.getQuotaUsage();if(t.usageQuota.users==null){let l=await z.users.getUserCount();console.info(`Syncing user count quota to ${l}`),t.usageQuota.users=l,await It.setUsage(l,Yr.StaticQuotaName.USERS,Yr.QuotaUsageType.STATIC)}let r=await z.users.getCreatorCount();t.usageQuota.creators=r,await It.setUsage(r,Yr.StaticQuotaName.CREATORS,Yr.QuotaUsageType.STATIC);let a=await z.installation.getInstallFromDB(),o=z.tenancy.getTenantId(),s=await z.events.identification.getUniqueTenantId(o),i=on.getProVersion(),u={quotaUsage:t,tenantId:o,install:{id:a.installId,tenantId:s,version:i}};try{let l=await vo.post("/api/license",{headers:{...e},body:u});if(l.status===404||l.status===403)return;if(l.status!==200){let c=await bo(l);throw new z.HTTPError(`Error getting license: ${c}`,l.status)}return l.json()}catch(l){if(z.env.DISABLE_ACCOUNT_PORTAL)return;throw l}})),"_getLicense");z.env.isJest()&&(od=jest.fn());var zr=od;async function Si(e){return await Ti.tracer.trace("getLicenseFromKey",async t=>{let r;if(!z.env.ACCOUNT_PORTAL_API_KEY)throw new Error("getLicenseFromKey requires ACCOUNT_PORTAL_API_KEY to be set");try{r=await vo.get(`/api/license/${e}`,{headers:{[z.constants.Header.API_KEY]:z.env.ACCOUNT_PORTAL_API_KEY}})}catch(a){if(z.env.DISABLE_ACCOUNT_PORTAL)return;throw a}if(r.status===404||r.status===403){t.addTags({licenseFound:!1});return}if(r.status!==200){let a=await bo(r);throw new z.HTTPError(`Error getting license: ${a}`,r.status)}return r.json()})}n(Si,"getLicenseFromKey");var nE=n(e=>nd(async t=>{let r=await vo.post("/api/license/usage/triggered",{headers:{...t},body:e});if(r.status!==200){let a=await bo(r);z.logging.logAlert(`Error triggering quota usage: ${a}`)}}),"triggerQuota"),_i=n(async e=>{let t=await z.installation.getInstall(),r={installVersion:t.version,installId:t.installId},a=await vo.post("/api/license/activate",{headers:{[z.constants.Header.LICENSE_KEY]:e},body:r});if(a.status===403)throw new z.HTTPError("Invalid license key",400);if(a.status===409)throw new z.HTTPError("License key has already been activated",409);if(a.status!==200){let o=await bo(a);throw new z.HTTPError(`Error activating license key: ${o}`,a.status)}return a.json()},"activateLicenseKey");var ou=require("@budibase/backend-core");var Lo={};L(Lo,{activateOfflineLicenseToken:()=>BP,deleteOfflineLicenseToken:()=>GP,dev:()=>Cn,enrichLicense:()=>eh,getIdentifier:()=>tu,getIdentifierBase64:()=>$P,getIdentifierFromBase64:()=>WP,getOfflineLicense:()=>ru,getOfflineLicenseToken:()=>zg,signing:()=>pn,verifyExpiry:()=>Zg,verifyInstallation:()=>Xg});var pn={};L(pn,{sign:()=>sE,verifyLicenseToken:()=>cn});var Ai=Te(require("jsonwebtoken"));var oE=`-----BEGIN PUBLIC KEY-----
29
+ }`;await Kp(e,t,Qp.WORKSPACE_BACKUP_BY_TRIGGER)}n(zp,"createAppBackupTriggerView");async function Zp(){return ho(Yp.ConstantQuotaName.APP_BACKUPS_RETENTION_DAYS)}n(Zp,"oldestBackupDate");var Ii=`${Se.db.DocumentType.APP_BACKUP}${Se.db.SEPARATOR}`;async function Jx(e,t,r={}){let a=await Zp(),o=Se.db.getProdWorkspaceID(e),s=o,i=o;if(t.trigger&&t.type){let u=`${Se.db.SEPARATOR}${t.trigger}`;u+=`${Se.db.SEPARATOR}${t.type}`,s+=u,i+=u}return(!t.startDate||t.startDate<a)&&(t.startDate=a),t.startDate&&(i+=`${Se.db.SEPARATOR}${t.startDate}`),t.endDate&&(s+=`${Se.db.SEPARATOR}${t.endDate}`),{...r,descending:!0,startkey:`${Ii}${s}${Se.db.UNICODE_MAX}`,endkey:`${Ii}${i}`}}n(Jx,"getAppBackupParams");async function Xp(e,t){try{let r=Se.db.getQueryIndex(Se.db.ViewName.WORKSPACE_BACKUP_BY_TRIGGER);return await e.query(r,t)}catch(r){if(r!=null&&r.error==="not_found")return await zp(),Xp(e,t);throw r}}n(Xp,"getAppBackupsByTrigger");function ed(e,t){return`${Ii}${e}${Se.db.SEPARATOR}${t}`}n(ed,"generateAppBackupID");async function zx(e,t={}){let r=Se.tenancy.getGlobalDB(),a,o=t.limit||9,s=await Jx(e,t,{include_docs:!0,limit:o+1});t.page&&(s.startkey=t.page),!t.trigger||!t.type?a=await r.allDocs(s):a=await Xp(r,s);let i=ln(a,{paginate:t.paginate,pageSize:o}),u=[...new Set(i.data.filter(c=>c.createdBy).map(c=>c.createdBy))],l=await Se.users.bulkGetGlobalUsersById(u,{cleanup:!0});for(let c of l)for(let f of i.data)c?._id===f.createdBy&&(f.createdBy=c);return i}n(zx,"fetchAppBackups");async function Yx(e,t={}){let r=Se.tenancy.getGlobalDB(),a=Se.db.getProdWorkspaceID(e.appId),o=ed(a,e.timestamp),s={...e,_id:o,appId:a,name:e.name};return s._id=t.docId||s._id,s._rev=t.docRev||s._rev,t.filename&&(s.filename=t.filename),e.createdBy&&(s.createdBy=Se.db.getGlobalIDFromUserMetadataID(e.createdBy)),await r.put(s)}n(Yx,"storeAppBackupMetadata");async function Zx(e,t){let r=Se.tenancy.getGlobalDB(),a=await r.get(e);return a.name=t,await r.put(a)}n(Zx,"updateAppBackupMetadata");async function Xx(e){let t=Se.tenancy.getGlobalDB(),r=await t.get(e);await t.remove(r._id,r._rev)}n(Xx,"deleteAppBackupMetadata");async function eE(e){return await Se.tenancy.getGlobalDB().get(e)}n(eE,"getAppBackupMetadata");var gr={};L(gr,{get:()=>rE,getCacheEnvVarID:()=>ad,getEnvVarID:()=>yo,update:()=>aE});var Ot=require("@budibase/backend-core"),rd=Te(require("lru-cache"));var tE=1e3,td=new rd.default({max:tE});function yo(){return Ot.StaticDatabases.GLOBAL.docs.environmentVariables}n(yo,"getEnvVarID");function ad(e){return`${Ot.tenancy.getTenantId()}/${yo()}/${e||""}`}n(ad,"getCacheEnvVarID");async function rE(){let e=yo(),t=Ot.tenancy.getGlobalDB(),r,a=!1;try{r=await t.get(e)}catch(u){if(u.status==404)a=!0;else throw u}let o=ad(r?._rev),s=td.get(o);if(s)return s;let i;return!a&&r?i={...r,variables:JSON.parse(Ot.encryption.decrypt(r.variables,Ot.encryption.SecretOption.ENCRYPTION))}:i={_id:e,variables:{}},td.set(o,i),i}n(rE,"get");async function aE(e){let t=yo();return await Ot.tenancy.getGlobalDB().put({_id:e._id||t,_rev:e._rev||void 0,variables:Ot.encryption.encrypt(JSON.stringify(e.variables),Ot.encryption.SecretOption.ENCRYPTION)})}n(aE,"update");var Ti=require("dd-trace");var vo=new pi(Y.env.INTERNAL_ACCOUNT_PORTAL_URL||Y.env.ACCOUNT_PORTAL_URL),bo=n(async e=>{try{let t=await e.json();if(t.message)return t.message}catch{}try{let t=await e.text();if(t)return t}catch{}},"getResponseErrorMessage"),nd=n(async e=>{let t,r;if(Y.env.SELF_HOSTED){if(t=await ft.get(),!t.licenseKey)return;r={[Y.constants.Header.LICENSE_KEY]:t.licenseKey}}else{let a=Y.tenancy.getTenantId();r={[Y.constants.Header.API_KEY]:Y.env.ACCOUNT_PORTAL_API_KEY,[Y.constants.Header.TENANT_ID]:a}}return e(r)},"authAware"),od=n(async()=>await Ti.tracer.trace("_getLicense",async()=>await nd(async e=>{let t=await It.getQuotaUsage();if(t.usageQuota.users==null){let l=await Y.users.getUserCount();console.info(`Syncing user count quota to ${l}`),t.usageQuota.users=l,await It.setUsage(l,zr.StaticQuotaName.USERS,zr.QuotaUsageType.STATIC)}let r=await Y.users.getCreatorCount();t.usageQuota.creators=r,await It.setUsage(r,zr.StaticQuotaName.CREATORS,zr.QuotaUsageType.STATIC);let a=await Y.installation.getInstallFromDB(),o=Y.tenancy.getTenantId(),s=await Y.events.identification.getUniqueTenantId(o),i=on.getProVersion(),u={quotaUsage:t,tenantId:o,install:{id:a.installId,tenantId:s,version:i}};try{let l=await vo.post("/api/license",{headers:{...e},body:u});if(l.status===404||l.status===403)return;if(l.status!==200){let c=await bo(l);throw new Y.HTTPError(`Error getting license: ${c}`,l.status)}return l.json()}catch(l){if(Y.env.DISABLE_ACCOUNT_PORTAL)return;throw l}})),"_getLicense");Y.env.isJest()&&(od=jest.fn());var Yr=od;async function Si(e){return await Ti.tracer.trace("getLicenseFromKey",async t=>{let r;if(!Y.env.ACCOUNT_PORTAL_API_KEY)throw new Error("getLicenseFromKey requires ACCOUNT_PORTAL_API_KEY to be set");try{r=await vo.get(`/api/license/${e}`,{headers:{[Y.constants.Header.API_KEY]:Y.env.ACCOUNT_PORTAL_API_KEY}})}catch(a){if(Y.env.DISABLE_ACCOUNT_PORTAL)return;throw a}if(r.status===404||r.status===403){t.addTags({licenseFound:!1});return}if(r.status!==200){let a=await bo(r);throw new Y.HTTPError(`Error getting license: ${a}`,r.status)}return r.json()})}n(Si,"getLicenseFromKey");var nE=n(e=>nd(async t=>{let r=await vo.post("/api/license/usage/triggered",{headers:{...t},body:e});if(r.status!==200){let a=await bo(r);Y.logging.logAlert(`Error triggering quota usage: ${a}`)}}),"triggerQuota"),_i=n(async e=>{let t=await Y.installation.getInstall(),r={installVersion:t.version,installId:t.installId},a=await vo.post("/api/license/activate",{headers:{[Y.constants.Header.LICENSE_KEY]:e},body:r});if(a.status===403)throw new Y.HTTPError("Invalid license key",400);if(a.status===409)throw new Y.HTTPError("License key has already been activated",409);if(a.status!==200){let o=await bo(a);throw new Y.HTTPError(`Error activating license key: ${o}`,a.status)}return a.json()},"activateLicenseKey");var ou=require("@budibase/backend-core");var Lo={};L(Lo,{activateOfflineLicenseToken:()=>BP,deleteOfflineLicenseToken:()=>GP,dev:()=>Cn,enrichLicense:()=>eh,getIdentifier:()=>tu,getIdentifierBase64:()=>$P,getIdentifierFromBase64:()=>WP,getOfflineLicense:()=>ru,getOfflineLicenseToken:()=>Yg,signing:()=>pn,verifyExpiry:()=>Zg,verifyInstallation:()=>Xg});var pn={};L(pn,{sign:()=>sE,verifyLicenseToken:()=>cn});var Ai=Te(require("jsonwebtoken"));var oE=`-----BEGIN PUBLIC KEY-----
30
30
  MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvz3jePLCFBXZ19c8Dpkv
31
31
  XtSgOhKFOcvQdo/LV0KJRUzQWDPWuO4ILtBtnqhjtIzZH4CH0qCYBet5L6Qr4CM1
32
32
  l2HXiAD1Q2rlHNW9wDaYyKb1F5f+v4RyqCAyzlkwRdksmkLeECTboojNnmRCrE3C
@@ -35,18 +35,18 @@ l2HXiAD1Q2rlHNW9wDaYyKb1F5f+v4RyqCAyzlkwRdksmkLeECTboojNnmRCrE3C
35
35
  d/o3ZWE1TTj1zYwlCLN5qRKr3hU8nC3xEYNEbkB9SfTRaOq9Q7P8WmfLkoCPm3pR
36
36
  mwIDAQAB
37
37
  -----END PUBLIC KEY-----
38
- `;function cn(e){return Ai.default.verify(e,oE,{algorithms:["RS256"]})}n(cn,"verifyLicenseToken");function sE(e,t){return Ai.default.sign(t,e,{encoding:"utf-8",algorithm:"RS256"})}n(sE,"sign");var wo={};L(wo,{getOfflineFeatures:()=>xi});var v=require("@budibase/types");var sd=[v.Feature.BUDIBASE_AI,v.Feature.SYNC_AUTOMATIONS],id=[v.Feature.WORKSPACE_BACKUPS,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PDF,v.Feature.BUDIBASE_AI],iE={[v.PlanType.FREE]:[...Tt.SELF_FREE_LICENSE.features],[v.PlanType.PREMIUM]:[v.Feature.WORKSPACE_BACKUPS,v.Feature.BRANDING,v.Feature.VIEW_PERMISSIONS,v.Feature.PDF],[v.PlanType.PREMIUM_PLUS]:id,[v.PlanType.PREMIUM_MAX]:id,[v.PlanType.PREMIUM_PLUS_TRIAL]:[v.Feature.WORKSPACE_BACKUPS,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PDF,v.Feature.BUDIBASE_AI],[v.PlanType.PRO]:sd,[v.PlanType.PRO_MAX]:sd,[v.PlanType.TEAM]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS],[v.PlanType.BUSINESS]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS,v.Feature.BRANDING,v.Feature.ENFORCEABLE_SSO,v.Feature.ENVIRONMENT_VARIABLES,v.Feature.SYNC_AUTOMATIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.VIEW_PERMISSIONS,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.CUSTOM_APP_SCRIPTS,v.Feature.PWA,v.Feature.PDF,v.Feature.RECAPTCHA,v.Feature.PKCE_OIDC,v.Feature.TRANSLATIONS],[v.PlanType.ENTERPRISE_BASIC]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS,v.Feature.ENVIRONMENT_VARIABLES,v.Feature.ENFORCEABLE_SSO,v.Feature.AUDIT_LOGS,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.OFFLINE,v.Feature.EXPANDED_PUBLIC_API,v.Feature.WORKSPACE_IMPORT_EXPORT,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.SCIM,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PWA,v.Feature.CUSTOM_APP_SCRIPTS,v.Feature.PDF,v.Feature.BUDIBASE_AI,v.Feature.RECAPTCHA,v.Feature.PKCE_OIDC,v.Feature.TRANSLATIONS],[v.PlanType.ENTERPRISE_BASIC_TRIAL]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS,v.Feature.ENVIRONMENT_VARIABLES,v.Feature.ENFORCEABLE_SSO,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.EXPANDED_PUBLIC_API,v.Feature.WORKSPACE_IMPORT_EXPORT,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.SCIM,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PWA,v.Feature.CUSTOM_APP_SCRIPTS,v.Feature.PDF,v.Feature.BUDIBASE_AI,v.Feature.RECAPTCHA,v.Feature.PKCE_OIDC,v.Feature.TRANSLATIONS],[v.PlanType.ENTERPRISE]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS,v.Feature.ENVIRONMENT_VARIABLES,v.Feature.ENFORCEABLE_SSO,v.Feature.AUDIT_LOGS,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.OFFLINE,v.Feature.EXPANDED_PUBLIC_API,v.Feature.WORKSPACE_IMPORT_EXPORT,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.SCIM,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PWA,v.Feature.CUSTOM_APP_SCRIPTS,v.Feature.PDF,v.Feature.BUDIBASE_AI,v.Feature.RECAPTCHA,v.Feature.PKCE_OIDC,v.Feature.TRANSLATIONS]};function xi(e){function t(r){let a=r[e];if(!a)throw new Error(`Features do not exist for planType=${e}`);return a}return n(t,"readFeatures"),t(iE)}n(xi,"getOfflineFeatures");var Io={};L(Io,{UNLIMITED:()=>g,getQuotas:()=>Ei});var ie=require("@budibase/types");var p=Yt,ud=Tt,g=-1,gt=n(e=>e*1e6,"millions"),uE={[ie.PlanType.FREE]:{...ud.CLOUD_FREE_LICENSE.quotas},[ie.PlanType.PREMIUM]:{usage:{monthly:{...p.queries(g),...p.automations(1e3),...p.budibaseAICredits(0),...p.actions(5e3)},static:{...p.rows(1e4),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(7),...p.appBackupRetentionDays(7)}},[ie.PlanType.PREMIUM_PLUS]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(10)),...p.actions(2e4)},static:{...p.rows(25e4),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PREMIUM_MAX]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(10)),...p.actions(5e4)},static:{...p.rows(25e4),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PREMIUM_PLUS_TRIAL]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(75e4),...p.actions(2e4)},static:{...p.rows(25e4),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PRO]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(5e3)},static:{...p.rows(5e4),...p.apps(g),...p.users(g),...p.creators(1),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(7),...p.appBackupRetentionDays(7)}},[ie.PlanType.PRO_MAX]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(1e4)},static:{...p.rows(5e4),...p.apps(g),...p.users(g),...p.creators(1),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(1),...p.appBackupRetentionDays(0)}},[ie.PlanType.TEAM]:{usage:{monthly:{...p.queries(g),...p.automations(1e4),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(10),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(90)}},[ie.PlanType.BUSINESS]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(50)),...p.actions(25e4)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(g)}},[ie.PlanType.ENTERPRISE_BASIC]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(50)),...p.actions(25e4)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(g),...p.appBackupRetentionDays(g)}},[ie.PlanType.ENTERPRISE_BASIC_TRIAL]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(75e4),...p.actions(25e4)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(1),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(15),...p.appBackupRetentionDays(15)}},[ie.PlanType.ENTERPRISE]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(50)),...p.actions(25e4)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(g),...p.appBackupRetentionDays(g)}}},lE={[ie.PlanType.FREE]:{...ud.SELF_FREE_LICENSE.quotas},[ie.PlanType.PREMIUM]:void 0,[ie.PlanType.PREMIUM_PLUS]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(1)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PREMIUM_MAX]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(1)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PREMIUM_PLUS_TRIAL]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(1)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PRO]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(5),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(7),...p.appBackupRetentionDays(7)}},[ie.PlanType.PRO_MAX]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(5),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(7),...p.appBackupRetentionDays(7)}},[ie.PlanType.TEAM]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(10),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(90)}},[ie.PlanType.BUSINESS]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(50),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(90),...p.appBackupRetentionDays(365)}},[ie.PlanType.ENTERPRISE_BASIC]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(4)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(g),...p.appBackupRetentionDays(g)}},[ie.PlanType.ENTERPRISE_BASIC_TRIAL]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(4)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(15),...p.appBackupRetentionDays(15)}},[ie.PlanType.ENTERPRISE]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(4)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(g),...p.appBackupRetentionDays(g)}}};function Ei(e,t){let r;function a(o){let s=o[t];if(!s)throw new Error(`Quotas do not exist for planType=${t} and hosting=${e}`);return s}switch(n(a,"readQuotas"),e){case ie.Hosting.SELF:r=a(lE);break;case ie.Hosting.CLOUD:r=a(uE);break}return JSON.parse(JSON.stringify(r))}n(Ei,"getQuotas");var To={};L(To,{encoding:()=>Zr,workspaceExists:()=>cE});var ld=require("@budibase/backend-core");async function cE(e){return(await ld.db.getAllWorkspaces({all:!0,idsOnly:!0})).includes(e)}n(cE,"workspaceExists");var Zr={};L(Zr,{base64ToObject:()=>dE,objectToBase64:()=>pE});function pE(e){let t=JSON.stringify(e);return Buffer.from(t).toString("base64")}n(pE,"objectToBase64");function dE(e){let t=Buffer.from(e,"base64").toString();return JSON.parse(t)}n(dE,"base64ToObject");var Kg=require("@budibase/types"),ca=require("@budibase/backend-core"),Jg=Te(xm()),Yg=Te(eu());async function BP(e){await ft.save({offlineLicenseToken:e}),await Pr()}n(BP,"activateOfflineLicenseToken");async function GP(){await ft.save({offlineLicenseToken:void 0}),await Pr()}n(GP,"deleteOfflineLicenseToken");async function zg(){return(await ft.get()).offlineLicenseToken}n(zg,"getOfflineLicenseToken");async function tu(){let t=(await ca.installation.getInstall()).installId,r=ca.context.getTenantId(),a=await ca.events.identification.getUniqueTenantId(r);return{installId:t,tenantId:a}}n(tu,"getIdentifier");async function $P(){let e=await tu();return Zr.objectToBase64(e)}n($P,"getIdentifierBase64");function WP(e){return Zr.base64ToObject(e)}n(WP,"getIdentifierFromBase64");function Zg(e){let t=Date.now(),r=new Date(e.expireAt).getTime();if(t>r)throw new Error(`Offline license has expired. expireAt=${e.expireAt}`)}n(Zg,"verifyExpiry");async function Xg(e){let t=await tu();if(e.identifier.installId!==t.installId||e.identifier.tenantId!==t.tenantId)throw new Error("Invalid offline license")}n(Xg,"verifyInstallation");function eh(e){let t=e.plan.type,r=Kg.Hosting.SELF,a=xi(t),o=Ei(r,t);return e.features=(0,Jg.default)(e.features,a),e.quotas=(0,Yg.default)(e.quotas,o),e}n(eh,"enrichLicense");async function ru(){try{let e=await zg();if(e){let t=await cn(e);return Zg(t),await Xg(t),eh(t)}}catch(e){console.error("Error retrieving offline license",e)}}n(ru,"getOfflineLicense");var Cn={};L(Cn,{deleteDevLicense:()=>JP,getOfflineLicense:()=>HP,writeDevLicenseToDisk:()=>KP});var th=require("@budibase/backend-core"),nu=require("path"),rh=require("os"),kr=Te(require("fs"));var VP=th.env.isTest()?".budibase-test":".budibase",au=(0,nu.join)((0,rh.tmpdir)(),VP),QP="dev_license.txt",On=(0,nu.join)(au,QP);if(!kr.default.existsSync(au))try{kr.default.mkdirSync(au)}catch{}function HP(){try{if(kr.default.existsSync(On)){let e=kr.default.readFileSync(On,{encoding:"utf-8"});return cn(e)}}catch(e){console.error("Error retrieving offline license from disk",e)}}n(HP,"getOfflineLicense");function KP(e){console.log(`Writing license to: ${On}`),kr.default.writeFileSync(On,e,{encoding:"utf-8"})}n(KP,"writeDevLicenseToDisk");function JP(){kr.default.rmSync(On,{force:!0})}n(JP,"deleteDevLicense");var ah=require("dd-trace");var su=n(async()=>await ah.tracer.trace("getLicense",async e=>{if(ou.env.OFFLINE_MODE)return e.addTags({offline:!0}),ru();let t=await zr();return t||(e.addTags({offlineFallback:!0}),t=Cn.getOfflineLicense()),t}),"getLicense"),iu=n(e=>Si(e),"getLicenseFromKey"),uu=n(()=>ou.env.SELF_HOSTED?Tt.SELF_FREE_LICENSE:Tt.CLOUD_FREE_LICENSE,"getFreeLicense");var cu={};L(cu,{activateLicenseKey:()=>YP,deleteLicenseKey:()=>ZP,getLicenseKey:()=>zP});var lu=Te(require("dd-trace"));async function YP(e){await _i(e),await ft.save({licenseKey:e}),await Pr()}n(YP,"activateLicenseKey");async function zP(){return await lu.default.trace("getLicenseKey",async e=>{let t=await ft.get();return e.addTags({licenseKey:t.licenseKey}),t.licenseKey})}n(zP,"getLicenseKey");async function ZP(){return await lu.default.trace("deleteLicenseKey",async()=>{await ft.save({licenseKey:void 0}),await Pr()})}n(ZP,"deleteLicenseKey");var jo=require("@budibase/backend-core");var Mn,ek=n(async()=>{Mn=await jo.RedisClient.init(jo.redis.utils.Databases.LICENSES)},"init"),tk=n(async()=>{Mn&&await Mn.finish()},"shutdown");process.on("exit",async()=>{await tk()});var Fo=n(async()=>(Mn||await ek(),Mn),"getClient");var oh=require("@budibase/shared-core");var du=yt.Duration.fromHours(1).toSeconds(),sh=yt.Duration.fromHours(1).toSeconds(),ak=du+sh,Pr=n(async()=>{await lh(),await uh()},"refresh"),nh=n(async e=>{let{result:t}=await yt.locks.doWithLock({type:Go.LockType.DEFAULT,name:Go.LockName.SYNC_ACCOUNT_LICENSE,resource:e,ttl:yt.Duration.fromSeconds(10).toMs()},async()=>{let r=await Fo(),a=await r.get(e);if(a&&!ih(a))return a;let o=await Bo.default.trace("populateLicense",async()=>await su());return o||(o=Bo.default.trace("populateFreeLicense",()=>uu())),o.refreshedAt=new Date().toISOString(),await r.store(e,o,ak),o});return t},"populateAndStoreLicense"),ih=n(e=>{let t=e.refreshedAt?Date.parse(e.refreshedAt):0;return Date.now()-t>=du*1e3},"shouldRefreshLicense"),pu=n(async()=>await Bo.default.trace("getCachedLicense",async e=>{let t=yt.context.getLicense();if(t)return e.addTags({foundInContext:!0,features:t.features,plan:t.plan,quotas:t.quotas}),t;let r=yt.tenancy.getTenantId(),o=await(await Fo()).get(r);return e.addTags({tenantId:r,foundInCache:!!o}),o?(e.addTags({foundInCache:!0,refreshedAt:o.refreshedAt,features:o.features,plan:o.plan,quotas:o.quotas}),ih(o)&&nh(r).catch(()=>{}),o):(o=await oh.helpers.retry(()=>nh(r)),e.addTags({refreshedAt:o.refreshedAt,features:o.features,plan:o.plan,quotas:o.quotas,expirySeconds:du,staleGraceSeconds:sh}),o)}),"_getCachedLicense");yt.env.isJest()&&(pu=jest.fn().mockImplementation(pu));var uh=pu,lh=n(async()=>{let e=yt.tenancy.getTenantId();await(await Fo()).delete(e)},"invalidate");async function Ne(e,t){Array.isArray(e)||(e=[e]),t||(t=await Rt.getCachedLicense());for(let r of e)if(!t?.features.includes(r))return!1;return!0}n(Ne,"areFeaturesEnabled");async function $o(e,t){if(!await Ne(e,t))throw new zt.FeatureDisabledWarning(e)}n($o,"checkFeature");async function fu(e,t){if(!await Ne(e,t)){let r=e.join(", ");throw new zt.FeatureDisabledWarning(r)}}n(fu,"checkFeatures");function ze(e){return async(...t)=>(await $o(Ce.Feature.WORKSPACE_BACKUPS),e(...t))}n(ze,"checkBackups");async function mu(){return Ne(Ce.Feature.WORKSPACE_BACKUPS)}n(mu,"isBackupsEnabled");async function gu(){return Ne(Ce.Feature.BRANDING)}n(gu,"isBrandingEnabled");async function ch(){return Ne(Ce.Feature.ENFORCEABLE_SSO)}n(ch,"isEnforceableSSO");async function nk(){return Ne(Ce.Feature.SYNC_AUTOMATIONS)}n(nk,"isSyncAutomationsEnabled");async function ok(){return Ne(Ce.Feature.TRIGGER_AUTOMATION_RUN)}n(ok,"isTriggerAutomationRunEnabled");async function Wo(){return Ne(Ce.Feature.AUDIT_LOGS)}n(Wo,"isAuditLogsEnabled");async function hu(){return Ne(Ce.Feature.USER_GROUPS)}n(hu,"isUserGroupsEnabled");function sk(){return Ne(Ce.Feature.PWA)}n(sk,"isPWAEnabled");function ik(){return Ne(Ce.Feature.RECAPTCHA)}n(ik,"isRecaptchaEnabled");var uk=n(()=>Ne(Ce.Feature.PKCE_OIDC),"isPkceOidcEnabled");async function lk(){return Ne(Ce.Feature.TRANSLATIONS)}n(lk,"isTranslationsEnabled");async function pa(){return Ne(Ce.Feature.EXPANDED_PUBLIC_API)}n(pa,"isExpandedPublicApiEnabled");async function ck(){return Ne(Ce.Feature.WORKSPACE_IMPORT_EXPORT)}n(ck,"isWorkspaceImportExportEnabled");async function Vo(){return Ne([Ce.Feature.EXPANDED_PUBLIC_API,Ce.Feature.WORKSPACE_IMPORT_EXPORT])}n(Vo,"isWorkspaceImportExportPublicApiEnabled");async function pk(e){if(zt.env.ENABLE_SSO_MAINTENANCE_MODE||!await ch())return!1;let r;return e?.config?r=e.config:r=await zt.configs.getSettingsConfig(),!!r.isSSOEnforced}n(pk,"isSSOEnforced");var yu=n(async()=>{let e=Ce.Feature.SCIM,t=await Ne(e),r=await zt.configs.getSCIMConfig();if(!t||!r?.enabled)throw new zt.FeatureDisabledWarning(e);return!0},"checkSCIM");async function dk(){return Ne(Ce.Feature.VIEW_PERMISSIONS)}n(dk,"isViewPermissionEnabled");async function fk(){return Ne(Ce.Feature.VIEW_READONLY_COLUMNS)}n(fk,"isViewReadonlyColumnsEnabled");var mk={faviconUrl:void 0,faviconUrlEtag:void 0,emailBrandingEnabled:!0,platformTitle:void 0,loginHeading:void 0,loginButton:void 0,metaDescription:void 0,metaImageUrl:void 0,metaTitle:void 0};async function gk(e){return await gu()?{faviconUrl:e.faviconUrl,faviconUrlEtag:e.faviconUrlEtag,emailBrandingEnabled:e.emailBrandingEnabled,platformTitle:e.platformTitle,loginHeading:e.loginHeading,loginButton:e.loginButton,metaDescription:e.metaDescription,metaImageUrl:e.metaImageUrl,metaTitle:e.metaTitle}:mk}n(gk,"getBrandingConfig");var Qt={};L(Qt,{addAction:()=>bk,addApp:()=>wk,addAutomation:()=>xk,addGroup:()=>bu,addPlugin:()=>Iu,addRow:()=>Tk,addRows:()=>_k,addUsers:()=>Yo,bustCache:()=>mi,decrement:()=>Zt,decrementMany:()=>Pn,getCurrentUsageValues:()=>kp,getLicensedQuota:()=>Ho,getQuotaUsage:()=>Rr,increment:()=>vt,incrementBudibaseAICredits:()=>Ek,incrementMany:()=>Dr,removeApp:()=>Ik,removeGroup:()=>wu,removePlugin:()=>Tu,removeRow:()=>Sk,removeRows:()=>Ak,removeUsers:()=>ga,set:()=>kn,setAllUsage:()=>hi,setAppUsageValue:()=>gi,setBudibaseAICredits:()=>mh,setUsage:()=>Cp,setUsagePerApp:()=>Mp,throwIfBudibaseAICreditsExceeded:()=>Ok,updatePluginCount:()=>Su,updateUsage:()=>da,usageLimitIsExceeded:()=>vu,utils:()=>$a});var Ko=require("@budibase/types");var Mt=require("@budibase/backend-core"),De=require("@budibase/types"),Nr=require("dd-trace");var vt=n(async(e,t,r)=>await Nr.tracer.trace("quotas.increment",async a=>(a.addTags({name:e,type:t}),await ph({change:1,name:e,type:t,opts:r}))),"increment"),Dr=n(e=>Nr.tracer.trace("quotas.incrementMany",async()=>ph(e)),"incrementMany"),ph=n(async e=>await Nr.tracer.trace("quotas.tryIncrement",async t=>{let r=Array.isArray(e)?e:[e];t.addTags({numActions:r.length}),await da(r.map(o=>({usageChange:o.change,name:o.name,type:o.type,opts:{dryRun:!0,suppressErrorLog:o.opts?.suppressErrorLog,id:o.opts?.id}})));let a=[];for(let o of r)await Nr.tracer.trace("quotas.incrementMany.fn",async s=>{s.addTags({actionName:o.name,actionType:o.type,actionChange:o.change});let i=o.opts?.fn;i&&a.push(await i())});return await da(r.map(o=>({usageChange:o.change,name:o.name,type:o.type,opts:{dryRun:!1,valueFn:o.opts?.valueFn,suppressErrorLog:o.opts?.suppressErrorLog,id:o.opts?.id}}))),a[0]}),"tryIncrement"),Zt=n((e,t,r={})=>da({usageChange:-1,name:e,type:t,opts:r}),"decrement"),Pn=n(e=>{let t=Array.isArray(e)?e:[e];return da(t.map(r=>({usageChange:-r.change,name:r.name,type:r.type,opts:r.opts})))},"decrementMany"),kn=n(async(e,t,r)=>It.setUsage(r,e,t),"set"),hk=n((e,t,r)=>{if(e==De.QuotaUsageType.STATIC){let a=r.usageQuota.triggers;return a?a[t]||{}:{}}else{let a=It.utils.getCurrentMonthString(),o=r.monthly[a].triggers;return o?o[t]||{}:{}}},"getExistingTriggers"),yk=n(async(e,t,r,a)=>{try{await Mt.locks.doWithLock({type:De.LockType.TRY_ONCE,name:De.LockName.TRIGGER_QUOTA,resource:e,ttl:1e4},async()=>{let o={percentage:r,name:t.name};a&&(o.resetDate=a),await yr.triggerQuota(o)})}catch(o){Mt.logging.logAlert("Error triggering quota",o)}},"triggerQuota"),vk=n(async(e,t,r,a)=>{let o=await Rr(),s=e===De.QuotaUsageType.MONTHLY?o.quotaReset:void 0,i=await hk(e,t,o),u=a.triggers,l=r/a.value*100;l>100&&(l=100);for(let[c,f]of u.entries())if(l>=f&&a.value!==Yt.UNLIMITED){if(!i[f]){i[f]=new Date().toISOString();let h=u[c+1]||100;(!(l>=h)||l===f)&&await yk(t,a,l,s)}}else i[f]=void 0;return i},"checkTriggers"),da=n(async e=>{await Nr.tracer.trace("quotas.updateUsage",async t=>{let r=Mt.tenancy.getTenantId(),a=Array.isArray(e)?e:[e];t.addTags({numActions:a.length,tenantId:r});let o,s,i=[],u={},l={},c={},f={};for(let h of a)await Nr.tracer.trace("quotas.updateUsage.action",async b=>{b.addTags({actionName:h.name,actionType:h.type,actionUsageChange:h.usageChange});try{o=Mt.context.getWorkspaceId()}catch{}if(De.APP_QUOTA_NAMES.includes(h.name)&&!o)throw new Error("App context required for quota update");try{s=await Ho(De.QuotaType.USAGE,h.name,h.type),i.push(s);let{total:I,app:S,breakdown:E}=await It.getCurrentUsageValues(h.type,h.name,h.opts?.id);I+=h.usageChange,S!=null&&(S+=h.usageChange),E!=null&&(E+=h.usageChange);let U={};if(h.opts?.dryRun||(U=await vk(h.type,h.name,I,s),f={...f,[h.name]:U}),s.value!==Yt.UNLIMITED&&I>s.value&&h.usageChange>0)throw new Mt.UsageLimitWarning(`${h.name}`);if(I=Math.max(0,I),S&&(S=Math.max(0,S)),E&&(E=Math.max(0,E),c={...c,[h.name]:E}),!h.opts?.dryRun){let V=h.opts?.valueFn;V&&(I=await V(),S=I),u={...u,[h.name]:I},l={...l,[h.name]:S}}}catch(I){throw h.opts?.suppressErrorLog||console.warn(`Error updating usage quotas for ${h.name}`,I),I}});let y=a.filter(h=>!h.opts?.dryRun).map(h=>({name:h.name,type:h.type,values:{total:u[h.name],app:l[h.name],breakdown:c[h.name],triggers:f[h.name]},opts:{...h.opts,tenantId:r}}));y.length>0&&await It.setAllUsage(y)})},"updateUsage"),Ho=n(async(e,t,r)=>{let a=await Rt.getCachedLicense();if(!a){let o=Mt.tenancy.getTenantId();throw new Error("License not found for tenant id "+o)}if(r&&(0,De.isStaticQuota)(e,r,t))return a.quotas[e][r][t];if(r&&(0,De.isMonthlyQuota)(e,r,t))return a.quotas[e][r][t];if((0,De.isConstantQuota)(e,t))return a.quotas[e][t];throw new Error("Invalid quota type")},"getLicensedQuota"),vu=n(async({name:e,type:t,usageChange:r})=>{try{return await da({usageChange:r,name:e,type:t,opts:{dryRun:!0}}),!1}catch(a){if(a.code===De.APIWarningCode.USAGE_LIMIT_EXCEEDED)return!0;throw a}},"usageLimitIsExceeded");var bk=n(async e=>vt(Ko.MonthlyQuotaName.ACTIONS,Ko.QuotaUsageType.MONTHLY,{fn:e}),"addAction");var dh=require("@budibase/backend-core"),fa=require("@budibase/types");var fh=n(async()=>{let e=await dh.db.getAllWorkspaces({dev:!0});return e?e.length:0},"getDevAppsCount"),wk=n(async(e,{appId:t}={})=>vt(fa.StaticQuotaName.WORKSPACES,fa.QuotaUsageType.STATIC,{fn:e,valueFn:fh,id:t}),"addApp"),Ik=n(async({appId:e}={})=>Zt(fa.StaticQuotaName.WORKSPACES,fa.QuotaUsageType.STATIC,{valueFn:fh,id:e}),"removeApp");var Wt=require("@budibase/types");var Tk=n(async(e,{tableId:t}={})=>vt(Wt.StaticQuotaName.ROWS,Wt.QuotaUsageType.STATIC,{fn:e,id:t}),"addRow"),Sk=n(async({tableId:e}={})=>Zt(Wt.StaticQuotaName.ROWS,Wt.QuotaUsageType.STATIC,{id:e}),"removeRow"),_k=n(async(e,t,{tableId:r}={})=>Dr({change:e,name:Wt.StaticQuotaName.ROWS,type:Wt.QuotaUsageType.STATIC,opts:{fn:t,id:r}}),"addRows"),Ak=n(async(e,{tableId:t}={})=>Pn({change:e,name:Wt.StaticQuotaName.ROWS,type:Wt.QuotaUsageType.STATIC,opts:{id:t}}),"removeRows");var Jo=require("@budibase/types");var xk=n(async(e,{automationId:t}={})=>vt(Jo.MonthlyQuotaName.AUTOMATIONS,Jo.QuotaUsageType.MONTHLY,{fn:e,id:t}),"addAutomation");var ma=require("@budibase/types");var bu=n(async e=>vt(ma.StaticQuotaName.USER_GROUPS,ma.QuotaUsageType.STATIC,{fn:e}),"addGroup"),wu=n(async()=>Zt(ma.StaticQuotaName.USER_GROUPS,ma.QuotaUsageType.STATIC),"removeGroup");var Ir=require("@budibase/types");var Iu=n(async e=>vt(Ir.StaticQuotaName.PLUGINS,Ir.QuotaUsageType.STATIC,{fn:e}),"addPlugin"),Tu=n(async()=>Zt(Ir.StaticQuotaName.PLUGINS,Ir.QuotaUsageType.STATIC),"removePlugin"),Su=n(async e=>kn(Ir.StaticQuotaName.PLUGINS,Ir.QuotaUsageType.STATIC,e),"updatePluginCount");var Vt=require("@budibase/types"),Nn=require("@budibase/backend-core");var Yo=n(async(e,t,r)=>{if(e===0&&t===0)return r?await r():void 0;let a=[{change:e,name:Vt.StaticQuotaName.USERS,type:Vt.QuotaUsageType.STATIC,opts:{fn:r,valueFn:Nn.users.getUserCount}}];t>0&&a.push({change:t,name:Vt.StaticQuotaName.CREATORS,type:Vt.QuotaUsageType.STATIC,opts:{valueFn:Nn.users.getCreatorCount}});let o=await Dr(a);return Promise.resolve(zr()).catch(s=>{console.log("Failed to sync license after adding users",s)}),o},"addUsers"),ga=n(async(e,t)=>{let r=[{change:e,name:Vt.StaticQuotaName.USERS,type:Vt.QuotaUsageType.STATIC,opts:{valueFn:Nn.users.getUserCount}}];t>0&&r.push({change:t,name:Vt.StaticQuotaName.CREATORS,type:Vt.QuotaUsageType.STATIC,opts:{valueFn:Nn.users.getCreatorCount}}),await Pn(r),Promise.resolve(zr()).catch(a=>{console.log("Failed to sync license after removing users",a)})},"removeUsers");var nt=require("@budibase/types");var _u=require("@budibase/backend-core"),Xo=require("@budibase/types");var zo=class extends _u.HTTPError{static{n(this,"GroupNameUnavailableError")}constructor(t){super(`Group name "${t}" is unavailable`,409)}},Zo=class extends _u.HTTPError{static{n(this,"AICreditsExhaustedError")}constructor(){super("You have reached your Budibase AI Credits limit for this billing cycle.",402),this.code=Xo.APIWarningCode.USAGE_LIMIT_EXCEEDED}getPublicError(){return{quota:Xo.MonthlyQuotaName.BUDIBASE_AI_CREDITS}}};var Ek=n(async e=>{try{return await Dr({change:e,name:nt.MonthlyQuotaName.BUDIBASE_AI_CREDITS,type:nt.QuotaUsageType.MONTHLY})}catch(t){throw t.code===nt.APIWarningCode.USAGE_LIMIT_EXCEEDED&&await Rk().catch(()=>{}),t}},"incrementBudibaseAICredits"),Rk=n(async()=>{let e=await Ho(nt.QuotaType.USAGE,nt.MonthlyQuotaName.BUDIBASE_AI_CREDITS,nt.QuotaUsageType.MONTHLY);e.value>=0&&await mh(e.value)},"capBudibaseAICreditsAtLimit"),Ok=n(async()=>{if(await vu({name:nt.MonthlyQuotaName.BUDIBASE_AI_CREDITS,type:nt.QuotaUsageType.MONTHLY,usageChange:1}))throw new Zo},"throwIfBudibaseAICreditsExceeded"),mh=n(async e=>kn(nt.MonthlyQuotaName.BUDIBASE_AI_CREDITS,nt.QuotaUsageType.MONTHLY,e),"setBudibaseAICredits");var es={};L(es,{db:()=>kt});var Eu=require("@budibase/backend-core");var Pt={};L(Pt,{addUsers:()=>kk,adjustGroupCreatorsQuotas:()=>Uk,cleanupApp:()=>qk,enrichUserRolesFromGroups:()=>Mk,fetch:()=>xu,get:()=>wh,getBulk:()=>Ih,getGroupBuilderAppIds:()=>bh,getGroupRoleId:()=>Ck,remove:()=>Pk,removeUsers:()=>Nk,save:()=>Th,updateGroupApps:()=>Dk});var Q=require("@budibase/backend-core");async function Au(e,t){try{let r=[];for(let u of e)if(u.roles){let l=u.roles[Q.db.getProdWorkspaceID(t)];l&&r.push(l)}let a=await Promise.all(r.map(async u=>({[u]:await Q.roles.roleToNumber(u)}))),o,s,i={};a.forEach(u=>{let[l,c]=Object.entries(u)[0];i[l]={roleId:l,roleNum:c}});for(let{roleId:u,roleNum:l}of Object.values(i))(s===void 0||l>s)&&(s=l,o=u);return o}catch(r){throw Q.logging.logAlert(`Error finding higest role for ${e.length} on app ${t}`,r),r}}n(Au,"findHighestRole");async function vh(e,t){return t?t=t.filter(r=>e.includes(r._id)):t=await ge.getBulk(e,{enriched:!1}),t}n(vh,"groupList");async function bh(e,t){if(!e.userGroups)return[];let r=await vh(e.userGroups,t?.groups),a=t?.appId?Q.db.getProdWorkspaceID(t?.appId):null,o=[];for(let s of r){let i=s.builder?.apps;a&&i?.includes(a)?o.push(a):a||(o=o.concat(i||[]))}return[...new Set(o)]}n(bh,"getGroupBuilderAppIds");async function Ck(e,t,r){if(!e.userGroups)return null;let a=await vh(e.userGroups,r?.groups),o=Q.db.getProdWorkspaceID(t);return e.roles?.[o]?e.roles[o]:(a=a.filter(u=>u?.roles?Object.keys(u.roles).includes(o):!1),Q.context.getCurrentContext()?.appId===t?Au(a,t):await Q.context.doInWorkspaceContext(t,async()=>Au(a,t)))}n(Ck,"getGroupRoleId");async function Mk(e){if(!e||!e.userGroups)return e;let t=await Ih(e.userGroups,{enriched:!1}),r=[];for(let o of t)o?.roles&&(r=r.concat(Object.keys(o.roles)));r=[...new Set(r)];for(let o of r)await Q.context.doInWorkspaceContext(o,async()=>{if(e.roles[o])return;let s=await Au(t,o);s&&(e.roles[o]=s)});let a=await bh(e,{groups:t});if(a.length&&!e.builder?.global){let o=e.builder?.apps||[];e.builder={...e.builder,apps:o.concat(a)}}return e}n(Mk,"enrichUserRolesFromGroups");async function xu(){return await ge.fetch()}n(xu,"fetch");async function wh(e){return await ge.get(e)}n(wh,"get");async function Ih(e,t={enriched:!0}){return ge.getBulk(e,t)}n(Ih,"getBulk");async function gh(e){if(await ge.getByName(e))throw new zo(e)}n(gh,"guardNameAvailability");async function hh(e){let t=await ge.getGroupUsers(e._id);if(!t.length)return 0;let a=await Q.tenancy.getGlobalDB().getMultiple(t.map(s=>s._id));return(await Q.userUtils.creatorsInList(a)).filter(s=>s).length}n(hh,"getCreatorsCountInGroup");function yh(e){return Object.values(e.roles||{}).includes("CREATOR")}n(yh,"isCreatorGroup");async function Th(e){let t=[],r=!e._id,a=0;if(!e._id)e._id=ge.generateUserGroupID(),await gh(e.name),t.push(Q.events.group.created(e));else{let u=await ge.get(e._id);if(u.name!==e.name&&await gh(e.name),t.push(Q.events.group.updated(e)),JSON.stringify(u.roles)!==JSON.stringify(e.roles)){let l=yh(u),c=yh(e);if(l!==c){let f=u.users?.length||0,y=0;f>0&&(y=await hh(u)),c?a=f-y:a=-f}t.push(Q.events.group.permissionsEdited(e))}}await Promise.all(t);let{users:o,...s}=e,i=n(()=>ge.save(s),"saveGroup");if(r)return await bu(i);{let u=await i();if(a>0)await Yo(0,a);else if(a<0){let l=await hh(e),c=Math.abs(a)-l;c>0&&await ga(0,c)}return u}}n(Th,"save");async function Pk(e,t){let r;try{r=await ge.get(e)}catch{throw new Error("Group not found")}let a=Object.values(r.roles||{}).includes("CREATOR"),o=n(()=>{},"recalculateCreatorsQuotasFn");if(a){let i=Q.tenancy.getGlobalDB(),u=await ge.getGroupUsers(e),c=(await Promise.all(u.map(b=>i.get(b._id)))).map(b=>({...b,userGroups:b.userGroups.filter(D=>D!==e)})),y=(await Q.userUtils.creatorsInList(c)).filter(b=>b).length,h=u.length-y;h&&(o=n(()=>ga(0,h),"recalculateCreatorsQuotasFn"))}let s=await ge.destroy(e,t);return await Q.events.group.deleted(r),await wu(),await o(),s}n(Pk,"remove");async function kk(e,t){let r=await ge.get(e),a=await Q.users.bulkGetGlobalUsersById(t),o=[];for(let l of a)l.userGroups||(l.userGroups=[]),l.userGroups.includes(e)||o.push(l);if(!o.length)return o;let s=o.map(l=>({...l,userGroups:[...l?.userGroups||[],e]}));if(await Q.users.bulkUpdateGlobalUsers(s),Object.values(r.roles||{}).includes("CREATOR")){let c=(await Q.userUtils.creatorsInList(o)).filter(y=>y).length,f=o.length-c;f&&await Yo(0,f)}let u=[];for(let l of t)u.push(Q.cache.user.invalidateUser(l));return await Promise.all(u),await Q.events.group.usersAdded(s.length,r,t),s}n(kk,"addUsers");async function Nk(e,t){let r=await ge.get(e),a=await Q.users.bulkGetGlobalUsersById(t),o=[];for(let u of a){if(!u.userGroups||!u.userGroups.includes(e))continue;let l=u.userGroups.indexOf(e);u.userGroups.splice(l,1),o.push(u)}if(await Q.users.bulkUpdateGlobalUsers(o),Object.values(r.roles||{}).includes("CREATOR")){let l=(await Q.userUtils.creatorsInList(o)).filter(f=>f).length,c=o.length-l;c&&await ga(0,c)}let i=[];for(let u of t)i.push(Q.cache.user.invalidateUser(u));return await Promise.all(i),o.length&&await Q.events.group.usersDeleted(o.length,r,t),o}n(Nk,"removeUsers");async function Dk(e,t){let r=await wh(e);if(r.roles||(r.roles={}),t.appsToAdd)for(let a of t.appsToAdd)r.roles[a.appId]=a.roleId;if(t.appsToRemove)for(let a of t.appsToRemove)delete r.roles[a.appId];return r.builder={apps:Object.entries(r.roles).filter(([a,o])=>o==="CREATOR").map(([a])=>a)},await Th(r)}n(Dk,"updateGroupApps");async function qk(e){let t=await xu(),r=[];for(let a of t)!a.roles||!a.roles[e]||(delete a.roles[e],r.push(a));return await ge.bulkSave(r)}n(qk,"cleanupApp");async function Uk(){if(!await hu()){let e=Q.tenancy.getGlobalDB(),r=(await xu()||[]).filter(a=>Object.values(a?.roles||{}).includes("CREATOR"));for(let a of r){let o=await ge.getGroupUsers(a._id),i=(await Promise.all(o.map(f=>e.get(f._id)))).map(f=>({...f,userGroups:f.userGroups.filter(y=>y!==a._id)})),l=(await Q.userUtils.creatorsInList(i)).filter(f=>f).length,c=o.length-l;await ge.save({...a,roles:{}}),c&&await ga(0,c)}}}n(Uk,"adjustGroupCreatorsQuotas");Eu.users.UserDB.init(Qt,Pt,Ct);var kt=Eu.users.UserDB;var ns={};L(ns,{logs:()=>Nu});var Nu={};L(Nu,{logSearch:()=>Qk,oldestLogDate:()=>Oh,storeLog:()=>Hk});var as=require("@budibase/backend-core"),Rh=require("@budibase/types");var Fe=require("@budibase/backend-core"),rs=require("@budibase/types");var Sh=require("@budibase/backend-core");async function _h(e,t){let r,a=5,o=!1,s,i=!0;for(;a>0;a--)try{i?s=await e():s=await exports.randomDelay(e),o=!0;break}catch(u){r=u}return o||Sh.logging.logWarn(`Failed to backoff: ${t}`,r),s}n(_h,"backOff");var{SEPARATOR:Xt,UNICODE_MAX:Lk,DocumentType:Ah,AutomationViewMode:Ru,ViewName:jk,getQueryIndex:Fk}=Fe.db,Bk=new Date(0).toISOString(),Gk=100,ts=10,Ou=n(async()=>ho(rs.ConstantQuotaName.AUTOMATION_LOG_RETENTION_DAYS),"oldestLogDate");function xh(e,t,{status:r,automationId:a}={},o={}){let s=a?`${a}${Xt}`:"",i=r?`${r}${Xt}`:"",u;return r&&a?u=`${Ru.ALL}${Xt}${i}${s}`:r?u=`${Ru.STATUS}${Xt}${i}`:a?u=`${Ru.AUTOMATION}${Xt}${s}`:u=`${Ah.AUTOMATION_LOG}${Xt}`,{...o,descending:!0,startkey:`${u}${t}${Lk}`,endkey:`${u}${e}`}}n(xh,"getAutomationLogParams");function $k(e,t,r){return`${Ah.AUTOMATION_LOG}${Xt}${e}${Xt}${r}${Xt}${t}`}n($k,"generateAutomationLogID");async function Cu(e,t,r={docs:!0}){let a=Fe.context.getProdWorkspaceDB();await a.exists()||(a=Fe.context.getDevWorkspaceDB());let o={status:r.status},s=r?.limit?r.limit:r?.paginate?ts+1:void 0,i=xh(e,t,o,{include_docs:r.docs,limit:s});r?.page&&(i.startkey=r.page);let u=await a.allDocs(i),l=ln(u,{paginate:r?.paginate,pageSize:ts});return{...l,totalLogs:l.totalRows}}n(Cu,"getAllLogs");async function Mu(e,t,r={}){let a=Fe.context.getProdWorkspaceDB();await a.exists()||(a=Fe.context.getDevWorkspaceDB());let o;try{let i={automationId:r?.automationId,status:r?.status},u=xh(e,t,i,{include_docs:!0,limit:ts+1});r?.page&&(u.startkey=r.page),o=await a.query(Fk(jk.AUTOMATION_LOGS),u)}catch(i){if(i!=null&&(i.name==="not_found"||i.error==="not_found"))return await Jp(),Mu(e,t,r);throw i}let s=ln(o,{paginate:!0,pageSize:ts});return{...s,totalLogs:s.totalRows/3}}n(Mu,"getLogsByView");async function Eh(e,t){let r=Fe.context.getProdWorkspaceDB(),a=e._id,o=e.name,s=new Date().toISOString(),i=$k(s,t.status,a),u={...t,automationId:a,status:t.status,automationName:o,createdAt:s,_id:i};return await r.put(u),i}n(Eh,"writeLog");async function Pu(e,{clearing:t}={clearing:!1}){let r=Fe.context.getProdWorkspaceDB();await _h(async()=>{let a=await r.get(Fe.db.DocumentType.WORKSPACE_METADATA);for(let o of e){let s=o.split(Fe.db.SEPARATOR),i=`${s[s.length-3]}${Fe.db.SEPARATOR}${s[s.length-2]}`,u={};a.automationErrors&&(u=a.automationErrors),Array.isArray(u[i])||(u[i]=[]);let l=u[i].indexOf(o);t&&l!==-1?u[i].splice(l,1):u[i].push(o),u[i].length===0&&delete u[i],a.automationErrors=u}await r.put(a),await Fe.cache.workspace.invalidateWorkspaceMetadata(a.appId,a)},"Failed to update app metadata with automation log error")}n(Pu,"updateAppMetadataWithErrors");async function Wk(){let e=await Ou();try{return await Cu(Bk,e,{docs:!1,paginate:!1,limit:Gk})}catch{return{data:[],hasNextPage:!1,totalLogs:0}}}n(Wk,"getExpiredLogs");async function ku(){let e=Fe.context.getProdWorkspaceDB();try{let t=await Wk();if(!t.data||t.data.length===0)return;let r=t.data.map(o=>({_id:o.id,_rev:o.value.rev,_deleted:!0})),a=t.data.filter(o=>{let s=o.id.split(Fe.db.SEPARATOR);return s[s.length-1]===rs.AutomationStatus.ERROR}).map(o=>o.id);await e.bulkDocs(r),a.length&&await Pu(a,{clearing:!0})}catch(t){Fe.logging.logAlert(`Failed to cleanup automation log history - Database "${e.name}"`,t)}}n(ku,"clearOldHistory");var Oh=Ou;async function Vk(e,t,r,a){let o,s=new Date().toISOString(),i=await Oh();return(!e||e<i)&&(e=i),r||t?o=await Mu(e,s,{automationId:r,status:t,page:a}):o=await Cu(e,s,{status:t,page:a,docs:!0,paginate:!0}),o}n(Vk,"getLogs");async function Qk(e){return await ku(),await Vk(e.startDate,e.status,e.automationId,e.page)}n(Qk,"logSearch");async function Hk(e,t){if(!as.db.isProdWorkspaceID(as.context.getWorkspaceId()))return;let r=await Eh(e,t);t.status===Rh.AutomationStatus.ERROR&&await Pu([r]),await ku()}n(Hk,"storeLog");var os={};L(os,{checkPluginQuotas:()=>Yk,deletePlugin:()=>Jk,storePlugin:()=>Kk});var kh=require("@budibase/types"),qe=require("@budibase/backend-core");var Ch=Te(require("fs")),Mh=require("path");function Ph(e,t){return Ch.default.readFileSync((0,Mh.join)(e,t),"utf8")}n(Ph,"loadJSFile");async function Kk(metadata,directory,source,origin){let db=qe.tenancy.getGlobalDB(),version=metadata.package.version,name=metadata.package.name,description=metadata.package.description,hash=metadata.schema.hash,bucketPath=qe.objectStore.getPluginS3Dir(name),files=await qe.objectStore.uploadDirectory(qe.objectStore.ObjectStoreBuckets.PLUGINS,directory,bucketPath),jsFile=files.find(e=>e.name.endsWith(".js")),iconFile=files.find(e=>e.name.endsWith(".svg"));if(!jsFile)throw new Error("Plugin missing .js file.");if(metadata.schema.type===kh.PluginType.DATASOURCE){let js=Ph(directory,jsFile.name);try{eval(js)}catch(e){let t=e?.message?e.message:JSON.stringify(e);throw new Error(`JS invalid: ${t}`)}}let iconFileName=iconFile?iconFile.name:null,pluginId=qe.db.generatePluginID(name),rev;try{rev=(await db.get(pluginId))._rev}catch(e){rev=void 0}let doc={_id:pluginId,_rev:rev,...metadata,name,version,hash,description,source};iconFileName&&(doc.iconFileName=iconFileName),source&&(doc={...doc,source}),origin&&origin.source==="github"&&(doc.origin=origin);let write=n(async()=>{let e=await db.put(doc);return await qe.events.plugin.imported(doc),{...doc,_rev:e.rev}},"write");return rev?await write():await Iu(write)}n(Kk,"storePlugin");async function Jk(e){let t=qe.tenancy.getGlobalDB();try{let r=await t.get(e),a=qe.objectStore.getPluginS3Dir(r.name);await qe.objectStore.deleteFolder(qe.objectStore.ObjectStoreBuckets.PLUGINS,a),await t.remove(e,r._rev),await qe.events.plugin.deleted(r),await Tu()}catch(r){let a=r?.message?r?.message:r;throw new Error(`Failed to delete plugin: ${a}`)}}n(Jk,"deletePlugin");async function Yk(){let e=qe.tenancy.getGlobalDB();try{let r=(await e.allDocs(qe.db.getPluginParams())).rows.length;console.log(`Syncing plugin count: ${r}`),await Su(r)}catch(t){qe.logging.logAlert("Unable to retrieve plugins for quota check",t)}}n(Yk,"checkPluginQuotas");var ss={};L(ss,{fetch:()=>Zk,fetchValues:()=>Xk,isEncryptionKeyAvailable:()=>zk,isValid:()=>qh,remove:()=>tN,update:()=>eN});var Nh=require("@budibase/backend-core"),Dn=require("@budibase/types");function zk(){return!!Nh.env.ENCRYPTION_KEY}n(zk,"isEncryptionKeyAvailable");async function Zk(){let e=await gr.get();return Object.keys(e.variables)}n(Zk,"fetch");async function Xk(e){let r=(await gr.get()).variables,a={};for(let[o,s]of Object.entries(r))switch(e){case Dn.Environment.DEVELOPMENT:a[o]=s.development;break;case Dn.Environment.PRODUCTION:default:a[o]=s.production;break}return a}n(Xk,"fetchValues");async function Dh(e){if(!(await Gt.cache.getCachedLicense()).features.includes(Dn.Feature.ENVIRONMENT_VARIABLES))throw new Error("User does not have access to environment variables feature.");let r=await gr.get();r.variables=e(r.variables),await gr.update(r)}n(Dh,"changeValues");async function eN(e,t){if(qh(e))await Dh(a=>(a[e]=t,a));else throw new Error("Variable name has characters that are not allowed")}n(eN,"update");async function tN(e){await Dh(t=>(delete t[e],t))}n(tN,"remove");function qh(e){return/^[a-zA-Z0-9-_]+$/.test(e)}n(qh,"isValid");var ls={};L(ls,{definitions:()=>dN,download:()=>pN,fetch:()=>cN,write:()=>uN});var ot=require("@budibase/backend-core"),us=require("@budibase/types");var Me=require("@budibase/backend-core"),Nt=require("@budibase/types");var Uh=require("memorystream"),Lh=new Me.sql.Sql(Nt.SqlClient.SQL_LITE);async function rN(e,t,r){let a={operation:Nt.Operation.READ,table:Kr.searchTable(),tables:{},paginate:{limit:r||9,page:t},filters:e,resource:{fields:[]},sort:{timestamp:{direction:Nt.SortOrder.DESCENDING,type:Nt.SortType.STRING}}},o=Lh._query(a);if(Array.isArray(o))throw new Error("Cannot execute multiple queries for audit log search");return{sql:o.sql,bindings:o.bindings}}n(rN,"getAuditLogSqlQuery");function aN(e){return`${Me.DocumentType.AUDIT_LOG}${Me.SEPARATOR}${e}${Me.SEPARATOR}${Me.utils.newid()}`}n(aN,"generateAuditLogID");async function jh(e){e._id||(e._id=aN(e.timestamp)),e.type||(e.type=Nt.AUDIT_LOG_TYPE);try{let r=await Me.context.getAuditLogsDB().put(e);return{...e,_rev:r.rev}}catch(t){Me.logging.logAlert("Failed to write audit log",t)}}n(jh,"save");async function Du(e,t,r){t||(t=1);let a=Me.context.getAuditLogsDB();try{let o=9+1,s=await rN(e,t,o),i=Kr.searchTable(),u=Lh.convertJsonStringColumns(i,await a.sql(s.sql,s.bindings)),l;u.length>o&&(l=u.pop());let c={rows:u,hasNextPage:!!l};return c.hasNextPage&&(c.bookmark=t+1),c}catch(o){if(o.status===404&&!r?.isRetry)return await nN(),await Np(),await Du(e,t,{isRetry:!0});throw o}}n(Du,"searchSQL");async function nN(){let e=Me.context.getAuditLogsDB(),r=(await e.allDocs(Me.db.getDocParams(Me.DocumentType.AUDIT_LOG,null,{include_docs:!0}))).rows.map(a=>a.doc).filter(a=>a&&!a.type).map(a=>({...a,type:Nt.AUDIT_LOG_TYPE}));await e.bulkDocs(r)}n(nN,"migrate");function Fh(e){let t=Me.context.getAuditLogsDB(),r=new Uh,a=t.dump(r,{filter:s=>{let i=s;if(!i._id?.startsWith(Me.DocumentType.AUDIT_LOG))return!1;let u=!0,l=n((c,f)=>{!c||c.length===0||(u=!!(u&&f&&c.includes(f)))},"matcher");if(l(e.userIds,i.userId),l(e.appIds,i.appId),l(e.events,i.event),(e.startDate||e.endDate)&&(u=u&&i.timestamp>=e.startDate&&i.timestamp<=e.endDate),e.fullSearch){let c=JSON.stringify(s);u=u&&c.includes(e.fullSearch)}return u}}),o=new Uh;return r.on("data",s=>{let i=JSON.parse(Buffer.from(s).toString());if(Array.isArray(i.docs)){let u="";for(let l of i.docs)u+=JSON.stringify(l)+`
39
- `;o.write(u)}}),r.on("end",()=>{o.end()}),{promise:a,stream:o}}n(Fh,"dump");var qn=require("@budibase/backend-core"),Un=require("@budibase/string-templates"),is=require("@budibase/types");var sN=qn.constants.MIN_VALID_DATE.toISOString(),iN=qn.constants.MAX_VALID_DATE.toISOString();function qu(e){return(e.startDate||e.endDate)&&(e.startDate=e.startDate||sN,e.endDate=e.endDate||iN),e}n(qu,"fillDates");async function Bh(e){Array.isArray(e.appIds)&&(e.appIds=e.appIds.map(a=>qn.db.getProdWorkspaceID(a)));let t={};function r(a,o){o?.length&&(t.oneOf={...t.oneOf,[a]:o})}return n(r,"addStringParams"),r("userId",e.userIds),r("appId",e.appIds),r("event",e.events),e.fullSearch&&(t.fuzzyOr=!0,t.fuzzy={name:e.fullSearch,fallback:e.fullSearch}),(e.startDate||e.endDate)&&(e=qu(e),t.range={timestamp:{high:e.endDate,low:e.startDate}}),Object.keys(t).length===0&&(t.notEmpty={event:!0}),t}n(Bh,"getSearchFilters");function Uu(e,t,r){let a={_id:e,status:is.AuditLogResourceStatus.DELETED};switch(t){case"app":a.name=r?.appName;break;case"user":a.email=r?.email;break}return a}n(Uu,"deleted");function Lu(e){let t=(0,Un.findHBSBlocks)(e);for(let r of t){let a=` "${r}"`;e=e.replace(e.includes(a)?a:` ${r}`,""),e=(0,Un.processStringSync)(e,{})}return e}n(Lu,"removeTemplateStrings");function Gh(e,t){let r=is.AuditedEventFriendlyName[e];if(!r)throw new Error("No friendly name found.");let a=(0,Un.processStringSync)(r,t);return a.includes('""')&&(a=Lu(r)),a}n(Gh,"getEventFriendlyName");async function uN(e,t,r){if(!await Wo()||!ot.utils.isAudited(e))return;let a=Gh(e,t),o=new Date;r?.timestamp&&(o=new Date(r.timestamp));let s={timestamp:o.toISOString(),event:e,name:a,userId:r?.userId||us.AuditLogSystemUser,metadata:{...t,...r?.hostInfo}},i={};try{if(r?.appId){s.appId=ot.db.getProdWorkspaceID(r.appId);let u=await ot.cache.workspace.getWorkspaceMetadata(r.appId);"name"in u&&(i.appName=u.name)}if(r?.userId){let u=await ot.users.getById(r?.userId);i.email=u.email}}catch(u){ot.logging.logAlert("Failed to retrieve fallback information for audit log",u)}return s.fallback=i,await jh(s)}n(uN,"write");async function lN(e){let t=e.map(u=>u.userId),a=e.filter(u=>u.appId).map(u=>ot.db.getDevWorkspaceID(u.appId)),o=await ot.users.bulkGetGlobalUsersById([...new Set(t)],{cleanup:!0}),s=await ot.db.getWorkspacesByIDs([...new Set(a)]),i=[];for(let u of e){let l=o.find(y=>y?._id===u.userId),c=s.find(y=>ot.db.isSameWorkspaceID(y?.appId,u.appId)),f={event:u.event,timestamp:u.timestamp,name:u.name,metadata:u.metadata,user:l||Uu(u.userId,"user",u.fallback)};u.appId&&(f.app=c||Uu(u.appId,"app",u.fallback)),i.push(f)}return i}n(lN,"enrich");async function cN(e){if(!await Wo())throw new Error("Audit logs not available - license required.");let t=await Bh(e);if(typeof e.bookmark=="string")throw new Error("String based bookmark not supported.");let r=await Du(t,e.bookmark);return{hasNextPage:r.hasNextPage,bookmark:r.bookmark,data:await lN(r.rows)}}n(cN,"fetch");function pN(e){return e=qu(e),Fh(e)}n(pN,"download");function dN(){let e=Object.entries(us.AuditedEventFriendlyName).filter(r=>r[1]!=null),t={};for(let r of e)t[r[0]]=Lu(r[1]);return t}n(dN,"definitions");var cs={};L(cs,{applications:()=>Gu,roles:()=>Fu,users:()=>ju});var ju={};L(ju,{roleCheck:()=>mN});function fN(e,t){let r=e.request.body;return r.builder&&(r.builder=t?.builder||void 0),r.admin&&(r.admin=t?.admin||void 0),r.roles&&(r.roles=t?.roles||{}),e.request.body=r,e}n(fN,"removeRoles");async function mN(e,t){return await pa()||fN(e,t),e}n(mN,"roleCheck");var Fu={};L(Fu,{assign:()=>gN,unAssign:()=>hN});var Ln=require("@budibase/backend-core");async function gN(e,t){if(!await pa())throw new Error("Unable to assign roles - license required.");let r=await kt.bulkGet(e);for(let a of r){if(t.role&&t.role.roleId){let o=Ln.db.getProdWorkspaceID(t.role.appId);a.roles[o]=t.role.roleId}if(t.appBuilder){let o=Ln.db.getProdWorkspaceID(t.appBuilder.appId),s=a.builder?.apps||[];a.builder={apps:s.concat([o])}}t.builder&&(a.builder={global:!0}),t.admin&&(a.admin={global:!0}),a.roles}await kt.bulkUpdate(r)}n(gN,"assign");async function hN(e,t){if(!await pa())throw new Error("Unable to un-assign roles - license required.");let r=await kt.bulkGet(e);for(let a of r){if(t.role){let o=Ln.db.getProdWorkspaceID(t.role?.appId);a.roles[o]===t.role.roleId&&delete a.roles[o]}if(t.appBuilder&&a.builder?.apps){let o=Ln.db.getProdWorkspaceID(t.appBuilder.appId);a.builder.apps=a.builder.apps.filter(s=>s!==o)}t.builder&&a.builder&&delete a.builder,t.admin&&a.admin&&delete a.admin}await kt.bulkUpdate(r)}n(hN,"unAssign");var Gu={};L(Gu,{buildExportFn:()=>bN,buildImportFn:()=>vN});var Bu=require("@budibase/backend-core");var yN=n(e=>{if(e){if(e.appExport)return e.appExport;if(e.file)return e.file}},"ensureAppExportFile");function vN(e){return async(t,r)=>{await Vo()||t.throw(403,"Endpoint unavailable, enterprise license required."),yN(t.request.files)||t.throw(400,"Must provide app export file for import."),await Bu.context.doInWorkspaceContext(t.params.appId,async()=>{await e(t),t.body=void 0,t.status=204,await r()})}}n(vN,"buildImportFn");function bN(e){return async(t,r)=>{await Vo()||t.throw(403,"Endpoint unavailable, enterprise license required.");let{encryptPassword:a,excludeRows:o}=t.request.body;await Bu.context.doInWorkspaceContext(t.params.appId,async()=>{t.request.body={encryptPassword:a,excludeRows:o},t.query.appId=t.params.appId,await e(t),await r()})}}n(bN,"buildExportFn");var Ge=require("@budibase/backend-core"),Be=require("@budibase/types"),Vh=Te(require("fs")),Qh=require("path");var $u=require("@budibase/backend-core");var $h;function Wh(){$h=new $u.queue.BudibaseQueue($u.queue.JobQueue.APP_BACKUP,{maxStalledCount:3,jobOptions:{attempts:3,removeOnFail:!0,removeOnComplete:!0}})}n(Wh,"init");function qr(){return $h}n(qr,"getBackupQueue");async function Wu(e,t={}){return mt.storeAppBackupMetadata(e,t)}n(Wu,"storeAppBackupMetadata");function Hh(e){let t=new Date().toISOString();switch(e){case Be.BackupStatus.COMPLETE:case Be.BackupStatus.FAILED:return{timestamp:t,finishedAt:t};case Be.BackupStatus.STARTED:return{timestamp:t,startedAt:t};case Be.BackupStatus.PENDING:return{timestamp:t,createdAt:t}}}n(Hh,"getTimestamps");async function wN(e,t,r,a){let o=await ps(e);return await mt.storeAppBackupMetadata({...o,...Hh(t),contents:r,status:t,type:Be.BackupType.BACKUP},{filename:a,docId:e})}n(wN,"updateBackupStatus");async function IN(e,t,r){let a=await ps(e);return await mt.storeAppBackupMetadata({...a,...Hh(r),status:r,type:Be.BackupType.RESTORE,trigger:Be.BackupTrigger.MANUAL},{docId:e,docRev:t})}n(IN,"updateRestoreStatus");async function ps(e){return mt.getAppBackupMetadata(e)}n(ps,"getAppBackup");async function TN(e,t){return mt.updateAppBackupMetadata(e,t)}n(TN,"updateAppBackup");async function Kh(e){let t=await mt.getAppBackupMetadata(e);return t.filename&&await Ge.objectStore.deleteFile(Ge.objectStore.ObjectStoreBuckets.BACKUPS,t.filename),mt.deleteAppBackupMetadata(e)}n(Kh,"deleteAppBackup");async function SN(e){let t=[];for(let r of e)try{await Kh(r),t.push({backupId:r,success:!0})}catch(a){t.push({backupId:r,success:!1,error:a instanceof Error?a.message:"Unknown error"})}return t}n(SN,"deleteAppBackups");async function _N(e,t){return mt.fetchAppBackups(e,t)}n(_N,"fetchAppBackups");async function Jh(e){let t=await mt.getAppBackupMetadata(e);if(!t.filename)throw new Error("Backup incomplete - cannot download.");let{stream:r}=await Ge.objectStore.getReadStream(Ge.objectStore.ObjectStoreBuckets.BACKUPS,t.filename);return{metadata:t,stream:r}}n(Jh,"getBackupDownloadStream");async function AN(e){let{stream:t}=await Jh(e),r=(0,Qh.join)(Ge.objectStore.budibaseTempDir(),Ge.utils.newid()),a=Vh.default.createWriteStream(r);return new Promise((o,s)=>{t.on("error",s),a.on("error",s),t.pipe(a).on("close",()=>o(r))})}n(AN,"downloadAppBackup");async function xN(e,t,r={}){let a;try{a=await Wu({appId:e,trigger:t,timestamp:new Date().toISOString(),status:Be.BackupStatus.PENDING,type:Be.BackupType.BACKUP,...r})}catch(o){if(o.status===409)return;throw o}return await qr().add({docId:a.id,docRev:a.rev,appId:e,export:{trigger:t,...r}}),await Ge.events.backup.appBackupTriggered(e,a.id,Be.BackupType.BACKUP,t,r?.name),a.id}n(xN,"triggerAppBackup");async function EN(e,t,r,a){let o=await ps(t),s;try{s=await Wu({appId:e,timestamp:new Date().toISOString(),status:Be.BackupStatus.PENDING,type:Be.BackupType.RESTORE,createdBy:a})}catch(i){if(i?.status===409)return;throw i}return await qr().add({appId:e,docId:s.id,docRev:s.rev,import:{nameForBackup:r,backupId:t,createdBy:a}}),{restoreId:s.id,metadata:o}}n(EN,"triggerAppRestore");async function RN(e,t,r){let a=Ge.db.getProdWorkspaceID(e);await Ge.context.doInWorkspaceContext(a,async()=>{let o=Ge.context.getProdWorkspaceDB();if(!await o.exists())return;let i=await o.tryGet(Be.DocumentType.WORKSPACE_METADATA);i&&(i.backupErrors||(i.backupErrors={}),i.backupErrors[t]||(i.backupErrors[t]=[]),i.backupErrors[t].push(r),await o.put(i),await Ge.cache.workspace.invalidateWorkspaceMetadata(i.appId,i))})}n(RN,"trackBackupError");var ON={isEnabled:mu,triggerAppRestore:ze(EN),triggerAppBackup:ze(xN),getBackupDownloadStream:ze(Jh),downloadAppBackup:ze(AN),fetchAppBackups:ze(_N),storeAppBackupMetadata:ze(Wu),updateBackupStatus:ze(wN),updateRestoreStatus:ze(IN),getAppBackup:ze(ps),updateAppBackup:ze(TN),deleteAppBackup:ze(Kh),deleteAppBackups:ze(SN),trackBackupError:ze(RN)},_t=ON;var Qu={};L(Qu,{init:()=>Vu});var _e=require("@budibase/backend-core"),Dt=require("@budibase/types"),ha=Te(require("fs"));async function Vu(e){qr().process(async t=>{let r=t.data;try{if(r.export)return console.log("Exporting app backup:",r.appId,r.export.trigger),PN(t,e);if(r.import)return console.log("Importing app backup:",r.appId,r.import.backupId),MN(t,e)}catch(a){_e.logging.logAlert(`Failed to perform backup for app ID: ${r.appId}`,a)}})}n(Vu,"init");async function CN(e){await _e.db.getDB(e,{skip_setup:!0}).destroy()}n(CN,"removeExistingApp");async function Yh(e,t,r,a){let o=_e.db.getDevWorkspaceID(r),s=_e.db.getProdWorkspaceID(r),i=new Date().toISOString(),u=n(async(l,c)=>{a?.doc?await _t.updateBackupStatus(a.doc.id,l,c?.contents,c?.filename):await _t.storeAppBackupMetadata({appId:s,timestamp:i,trigger:e,status:l,name:a?.name,type:Dt.BackupType.BACKUP,contents:c?.contents,createdBy:a?.createdBy},{filename:c?.filename})},"updateMetadata");try{let l=await a.processing.exportAppFn(o,{tar:!0}),c=await a.processing.statsFn(o),f=`${s}/backup-${i}.tar.gz`,y=_e.objectStore.ObjectStoreBuckets.BACKUPS,h=ha.default.createReadStream(l);await _e.objectStore.streamUpload({bucket:y,filename:f,stream:h,extra:{type:"application/gzip",metadata:{name:a?.name,trigger:e,timestamp:i,appId:s}}}),await u(Dt.BackupStatus.COMPLETE,{filename:f,contents:c}),ha.default.existsSync(l)&&ha.default.rmSync(l)}catch(l){_e.logging.logAlert("App backup error",l),await u(Dt.BackupStatus.FAILED);let c=a?.doc?.id||`backup-${i}`,f=l instanceof Error?l.message:String(l);await _t.trackBackupError(s,c,`Backup export failed: ${f}`)}}n(Yh,"runBackup");async function MN(e,t){let r=e.data,a=r.appId,o=r.import.backupId,s=r.import.nameForBackup,i=r.import.createdBy,u=_e.tenancy.getTenantIDFromWorkspaceID(a);return _e.tenancy.doInTenant(u,async()=>{let l=_e.db.getDevWorkspaceID(a),c=`${l}_temp_${Date.now()}`,{rev:f}=await _t.updateRestoreStatus(r.docId,r.docRev,Dt.BackupStatus.STARTED);await Yh(Dt.BackupTrigger.RESTORING,u,a,{processing:t,createdBy:i,name:s});let y=await _t.downloadAppBackup(o),h=Dt.BackupStatus.COMPLETE;try{await t.importAppFn(c,_e.db.getDB(c),{file:{type:"application/gzip",path:y},key:y}),await CN(l),await new _e.db.Replication({source:c,target:l}).replicate()}catch(b){_e.logging.logAlert("App restore error",b),h=Dt.BackupStatus.FAILED;let D=b instanceof Error?b.message:String(b);await _t.trackBackupError(a,o,`Backup restore failed: ${D}`)}finally{try{await _e.db.getDB(c,{skip_setup:!0}).destroy()}catch{}}await _t.updateRestoreStatus(r.docId,f,h),ha.default.existsSync(y)&&ha.default.rmSync(y,{force:!0})})}n(MN,"importProcessor");async function PN(e,t){let r=e.data,a=r.appId,o=r.export.trigger,s=r.export.name,i=_e.tenancy.getTenantIDFromWorkspaceID(a);await _e.tenancy.doInTenant(i,async()=>{try{let{rev:u}=await _t.updateBackupStatus(r.docId,Dt.BackupStatus.STARTED);return Yh(o,i,a,{processing:t,doc:{id:r.docId,rev:u},name:s})}catch(u){_e.logging.logAlert("App backup error",u);let l=u instanceof Error?u.message:String(u);await _t.trackBackupError(a,r.docId,`Backup export failed: ${l}`)}})}n(PN,"exportProcessor");var kN=n(async e=>{Wh(),await Vu(e.processing)},"init"),jn={..._t,processing:Qu,init:kN,getBackupQueue:qr};var zh=n(async e=>{e.backups&&await jn.init(e.backups)},"init");var _s={};L(_s,{create:()=>xG,find:()=>AG,get:()=>_G,remove:()=>RG,update:()=>EG});var II=Te(jl()),er=require("@budibase/backend-core");var TI=require("@budibase/types");async function _G(e){let t=er.tenancy.getGlobalDB(),r=new er.db.QueryBuilder(t.name,TI.SearchIndex.USER);r.setIndexBuilder(er.db.searchIndexes.createUserIndex),r.setLimit(e.pageSize),r.addEqual("scimInfo.isSync",!0);for(let[o,s]of Object.entries(e.filters?.equal??{}))r.addEqual(o,s);r.setSort("_id"),r.setSkip(e.skip);let a=await r.run();return{users:a.rows,total:a.totalRows}}n(_G,"get");async function AG(e){return await er.users.getById(e)}n(AG,"find");async function xG(e){let t=await kt.getUserByEmail(e.email);if(t){if(t.scimInfo?.isSync)throw new er.HTTPError("User is already synched",409);e={...t,scimInfo:(0,II.default)(t.scimInfo,e.scimInfo),password:void 0,firstName:e.firstName,lastName:e.lastName,updatedAt:e.updatedAt}}return await kt.save(e,{requirePassword:!1})}n(xG,"create");async function EG(e,t){return await kt.save(e,{requirePassword:!1,allowChangingEmail:t?.allowChangingEmail})}n(EG,"update");async function RG(e){return await kt.destroy(e)}n(RG,"remove");var As={};L(As,{create:()=>OG});var SI=Te(jl());var _I=require("@budibase/backend-core");async function OG(e){let t=await vi(e.name),r;if(!t)r=(await Pt.save(e)).id;else{if(t.scimInfo?.isSync)throw new _I.HTTPError("Group is already synched",409);r=t._id,t.users.length&&await Pt.removeUsers(r,t.users.map(o=>o._id)),t.scimInfo=(0,SI.default)(t.scimInfo,e.scimInfo),await Pt.save(t)}return await Pt.get(r)}n(OG,"create");var Lr={};L(Lr,{logRequest:()=>PG,logResponse:()=>kG});var qt=require("@budibase/backend-core"),xI=Te(AI());var{DocWritethrough:CG}=qt.cache.docWritethrough;function MG(){return`${qt.db.DocumentType.SCIM_LOG}${qt.db.SEPARATOR}${(0,xI.default)().format("YYYYMMDD")}`}n(MG,"getLogDocId");var EI=n(()=>{let e=qt.context.getScimDBName();return new CG(qt.db.getDB(e),MG())},"getDB");async function PG(e){qt.logging.logWarn("SCIM request log",e);let t=Date.now().toString();return await EI().patch({[`${t}_request`]:{ts:new Date().toISOString(),...e}}),t}n(PG,"logRequest");async function kG(e,t){qt.logging.logWarn("SCIM response",t),await EI().patch({[`${e}_response`]:{ts:new Date().toISOString(),...t}})}n(kG,"logResponse");var Hl={};L(Hl,{doInScimContext:()=>UG,feature:()=>$l,internalGroupOnly:()=>BG,licenseAuth:()=>Ql,licensing:()=>RI,requireSCIM:()=>LG,scimGroupOnly:()=>FG,scimUserOnly:()=>jG});var Tr=require("@budibase/backend-core");var xs=require("@budibase/types");var NG=n((e={checkUsersLimit:!0})=>async(t,r)=>{if((e.licensingCheck?e.licensingCheck:()=>!!t.user)(t)){if(Tr.env.SELF_HOSTED&&Tr.env.DEFAULT_LICENSE)return t.user.license=bi,r();t.user.license=await Gt.cache.getCachedLicense(),e.checkUsersLimit&&(Tr.utils.isServingApp(t)||Tr.utils.isServingBuilder(t)||Tr.utils.isServingBuilderPreview(t)||Tr.utils.isPublicApiRequest(t))&&await Qt.usageLimitIsExceeded({name:xs.StaticQuotaName.USERS,type:xs.QuotaUsageType.STATIC,usageChange:0})}return r()},"licensing"),RI=NG;var $l={};L($l,{requireFeature:()=>DG,requireFeatures:()=>qG});var DG=n(e=>async(t,r)=>{await $o(e),await r()},"requireFeature"),qG=n((...e)=>async(t,r)=>{await fu(e),await r()},"requireFeatures");var Es=require("@budibase/backend-core");var UG=n(async(e,t)=>{let r;return Es.env.ENABLE_SCIM_LOGGER&&(r=await Lr.logRequest({...e.request.toJSON(),body:e.request.body})),await Es.context.doInScimContext(async()=>{let a=await t();return r&&await Lr.logResponse(r,{...e.response.toJSON(),body:e.response.body}),a})},"doInScimContext");var LG=n(async(e,t)=>{await yu(),await t()},"requireSCIM");var OI=require("@budibase/backend-core");var jG=n(e=>Wl(OI.users.getById,e,!0),"scimUserOnly"),FG=n(e=>Wl(ge.get,e,!0),"scimGroupOnly"),BG=n(e=>Wl(ge.get,e,!1),"internalGroupOnly");function Wl(e,t,r){return async(a,o)=>{let s=a.params[t];return typeof s!="string"&&a.throw(404),!!(await e(s)).scimInfo?.isSync!==r&&a.throw(404),o()}}n(Wl,"scimSyncChecks");var jr=require("@budibase/backend-core");var Vl=require("dd-trace");async function Ql(e,t){await Vl.tracer.trace("licenseAuth",async r=>{let a=e.request.headers[jr.constants.Header.LICENSE_KEY]||jr.utils.getBearerToken(e);Array.isArray(a)&&(a=a[0]),a||e.throw(403,"License key not provided");let o=await iu(a);o||(r.addTags({licenseFound:!1}),e.throw(403,"License not found or invalid")),o.tenantId||e.throw(403,"License does not have a tenant ID"),Vl.tracer.setUser({id:"anonymous",tenantId:o.tenantId}),await jr.context.doInSelfHostTenantUsingCloud(o.tenantId,async()=>{await jr.context.doInLicenseContext(o,async()=>{await t()})})})}n(Ql,"default");var Yl={};L(Yl,{group:()=>Jl,user:()=>Kl});var Kl={};L(Kl,{fromScimUser:()=>QG,toScimUserResponse:()=>$G,userFilters:()=>HG});var CI=require("@budibase/backend-core"),MI=require("@budibase/shared-core"),Rs=require("@budibase/types"),PI=require("scim2-parse-filter");var{unreachable:GG}=MI.utils,$G=n(e=>{let{isSync:t,roles:r,...a}=e.scimInfo||{},o={...a,schemas:["urn:ietf:params:scim:schemas:core:2.0:User"],id:e._id,meta:{resourceType:"User",created:new Date(e.createdAt),lastModified:new Date(e.updatedAt)},active:e.status===Rs.UserStatus.ACTIVE};(e.firstName||e.lastName)&&(o.name={formatted:[e.firstName,e.lastName].filter(i=>i).join(" "),familyName:e.lastName,givenName:e.firstName});let s="urn:ietf:params:scim:schemas:extension:enterprise:2.0:User";if(o[s]?.manager){let i=o[s].manager;typeof i=="string"&&(o[s].manager={value:i})}return o},"toScimUserResponse"),WG=n(e=>!!e?.id,"isScimUserResponse");function VG(e){if(CI.utils.validEmail(e.userName))return e.userName;if(e.emails)return e.emails.find(t=>t.primary)?.value||e.emails[0]?.value}n(VG,"tryGetEmail");var QG=n(e=>{let t=WG(e)?e:void 0,r=VG(e);if(!r)throw new Error("Email is required");let a;switch(e.active){case"True":case"true":case!0:a=!0;break;case"False":case"false":case!1:a=!1;break;default:GG(e.active)}let o,s;return e.name?.givenName?(o=e.name?.givenName,s=e.name?.familyName):o=e.displayName,{tenantId:"",_id:t?.id,userId:t?.id,email:r,firstName:o,lastName:s,scimInfo:{...e,isSync:!0},roles:{},status:a?Rs.UserStatus.ACTIVE:Rs.UserStatus.INACTIVE,createdAt:t?.meta.created.getTime(),updatedAt:t?.meta.lastModified.toISOString()}},"fromScimUser"),HG=n(e=>{let t={equal:{}},r=(0,PI.parse)(e);function a(o){switch(o.op){case"eq":{let s=o.attrPath,i;switch(s){case"emails.value":i="email";break;default:i=`scimInfo.${s}`}t.equal[i]=o.compValue;break}case"and":for(let s of o.filters)a(s);break;default:console.warn("Filter not handled",{filter:o})}}return n(a,"parseFilters"),a(r),t},"userFilters");var Jl={};L(Jl,{fromScimGroup:()=>YG,toScimGroupResponse:()=>KG});var KG=n(e=>({schemas:["urn:ietf:params:scim:schemas:core:2.0:Group"],id:e._id,externalId:e.scimInfo.externalId,meta:{resourceType:"Group",created:new Date(e.createdAt),lastModified:new Date(e.updatedAt)},displayName:e.name,members:e.users?.map(t=>({value:t._id}))}),"toScimGroupResponse"),JG=n(e=>!!e?.id,"isScimGroup"),YG=n(e=>{let t=JG(e)?e:void 0;return{_id:t?.id,name:e.displayName,scimInfo:{externalId:e.externalId,isSync:!0},icon:"UserGroup",color:"var(--spectrum-global-color-blue-600)",createdAt:t?.meta.created.getTime(),updatedAt:t?.meta.lastModified.toISOString()}},"fromScimGroup");var Yc={};L(Yc,{LLMRequest:()=>Ve,TableGeneration:()=>Jc,agentHistoryTitleSystemPrompt:()=>AQ,agentSystemPrompt:()=>_Q,aiColumnSchemas:()=>Qc,aiTableResponseToTableSchema:()=>Gc,appendAIColumns:()=>$c,classifyText:()=>gQ,cleanData:()=>hQ,composeAutomationAgentSystemPrompt:()=>TQ,composeAutomationAgentToolGuidelines:()=>SQ,generateAIColumns:()=>Fc,generateCronExpression:()=>yQ,generateData:()=>Bc,generateJs:()=>IQ,generateTables:()=>jc,generationStructure:()=>Vc,normalizeContentType:()=>MQ,parseResponseFormat:()=>nx,runWithReasoningEffortFallback:()=>Kc,sanitiseToolName:()=>CQ,searchWeb:()=>wQ,sentimentAnalysis:()=>bQ,summarizeText:()=>mQ,tableDataStructuredOutput:()=>Hc,translate:()=>vQ});var ti=require("@budibase/backend-core"),ix=require("@budibase/shared-core");var iT="vercel.ai.error",zG=Symbol.for(iT),kI,NI,C=class uT extends(NI=Error,kI=zG,NI){static{n(this,"_AISDKError")}constructor({name:t,message:r,cause:a}){super(r),this[kI]=!0,this.name=t,this.cause=a}static isInstance(t){return uT.hasMarker(t,iT)}static hasMarker(t,r){let a=Symbol.for(r);return t!=null&&typeof t=="object"&&a in t&&typeof t[a]=="boolean"&&t[a]===!0}},lT="AI_APICallError",cT=`vercel.ai.error.${lT}`,ZG=Symbol.for(cT),DI,qI,ce=class extends(qI=C,DI=ZG,qI){static{n(this,"APICallError")}constructor({message:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:o,responseBody:s,cause:i,isRetryable:u=a!=null&&(a===408||a===409||a===429||a>=500),data:l}){super({name:lT,message:e,cause:i}),this[DI]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=a,this.responseHeaders=o,this.responseBody=s,this.isRetryable=u,this.data=l}static isInstance(e){return C.hasMarker(e,cT)}},pT="AI_EmptyResponseBodyError",dT=`vercel.ai.error.${pT}`,XG=Symbol.for(dT),UI,LI,fT=class extends(LI=C,UI=XG,LI){static{n(this,"EmptyResponseBodyError")}constructor({message:e="Empty response body"}={}){super({name:pT,message:e}),this[UI]=!0}static isInstance(e){return C.hasMarker(e,dT)}};function Sr(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}n(Sr,"getErrorMessage");var mT="AI_InvalidArgumentError",gT=`vercel.ai.error.${mT}`,e$=Symbol.for(gT),jI,FI,hT=class extends(FI=C,jI=e$,FI){static{n(this,"InvalidArgumentError")}constructor({message:e,cause:t,argument:r}){super({name:mT,message:e,cause:t}),this[jI]=!0,this.argument=r}static isInstance(e){return C.hasMarker(e,gT)}},yT="AI_InvalidPromptError",vT=`vercel.ai.error.${yT}`,t$=Symbol.for(vT),BI,GI,Fr=class extends(GI=C,BI=t$,GI){static{n(this,"InvalidPromptError")}constructor({prompt:e,message:t,cause:r}){super({name:yT,message:`Invalid prompt: ${t}`,cause:r}),this[BI]=!0,this.prompt=e}static isInstance(e){return C.hasMarker(e,vT)}},bT="AI_InvalidResponseDataError",wT=`vercel.ai.error.${bT}`,r$=Symbol.for(wT),$I,WI,Bee=class extends(WI=C,$I=r$,WI){static{n(this,"InvalidResponseDataError")}constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:bT,message:t}),this[$I]=!0,this.data=e}static isInstance(e){return C.hasMarker(e,wT)}},IT="AI_JSONParseError",TT=`vercel.ai.error.${IT}`,a$=Symbol.for(TT),VI,QI,$n=class extends(QI=C,VI=a$,QI){static{n(this,"JSONParseError")}constructor({text:e,cause:t}){super({name:IT,message:`JSON parsing failed: Text: ${e}.
40
- Error message: ${Sr(t)}`,cause:t}),this[VI]=!0,this.text=e}static isInstance(e){return C.hasMarker(e,TT)}},ST="AI_LoadAPIKeyError",_T=`vercel.ai.error.${ST}`,n$=Symbol.for(_T),HI,KI,Gee=class extends(KI=C,HI=n$,KI){static{n(this,"LoadAPIKeyError")}constructor({message:e}){super({name:ST,message:e}),this[HI]=!0}static isInstance(e){return C.hasMarker(e,_T)}},AT="AI_LoadSettingError",xT=`vercel.ai.error.${AT}`,o$=Symbol.for(xT),JI,YI,$ee=class extends(YI=C,JI=o$,YI){static{n(this,"LoadSettingError")}constructor({message:e}){super({name:AT,message:e}),this[JI]=!0}static isInstance(e){return C.hasMarker(e,xT)}},ET="AI_NoContentGeneratedError",RT=`vercel.ai.error.${ET}`,s$=Symbol.for(RT),zI,ZI,Wee=class extends(ZI=C,zI=s$,ZI){static{n(this,"NoContentGeneratedError")}constructor({message:e="No content generated."}={}){super({name:ET,message:e}),this[zI]=!0}static isInstance(e){return C.hasMarker(e,RT)}},OT="AI_NoSuchModelError",CT=`vercel.ai.error.${OT}`,i$=Symbol.for(CT),XI,eT,Vee=class extends(eT=C,XI=i$,eT){static{n(this,"NoSuchModelError")}constructor({errorName:e=OT,modelId:t,modelType:r,message:a=`No such ${r}: ${t}`}){super({name:e,message:a}),this[XI]=!0,this.modelId=t,this.modelType=r}static isInstance(e){return C.hasMarker(e,CT)}},MT="AI_TooManyEmbeddingValuesForCallError",PT=`vercel.ai.error.${MT}`,u$=Symbol.for(PT),tT,rT,Qee=class extends(rT=C,tT=u$,rT){static{n(this,"TooManyEmbeddingValuesForCallError")}constructor(e){super({name:MT,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[tT]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return C.hasMarker(e,PT)}},kT="AI_TypeValidationError",NT=`vercel.ai.error.${kT}`,l$=Symbol.for(NT),aT,nT,Ut=class zl extends(nT=C,aT=l$,nT){static{n(this,"_TypeValidationError")}constructor({value:t,cause:r,context:a}){let o="Type validation failed";if(a?.field&&(o+=` for ${a.field}`),a?.entityName||a?.entityId){o+=" (";let s=[];a.entityName&&s.push(a.entityName),a.entityId&&s.push(`id: "${a.entityId}"`),o+=s.join(", "),o+=")"}super({name:kT,message:`${o}: Value: ${JSON.stringify(t)}.
41
- Error message: ${Sr(r)}`,cause:r}),this[aT]=!0,this.value=t,this.context=a}static isInstance(t){return C.hasMarker(t,NT)}static wrap({value:t,cause:r,context:a}){var o,s,i;return zl.isInstance(r)&&r.value===t&&((o=r.context)==null?void 0:o.field)===a?.field&&((s=r.context)==null?void 0:s.entityName)===a?.entityName&&((i=r.context)==null?void 0:i.entityId)===a?.entityId?r:new zl({value:t,cause:r,context:a})}},DT="AI_UnsupportedFunctionalityError",qT=`vercel.ai.error.${DT}`,c$=Symbol.for(qT),oT,sT,Hee=class extends(sT=C,oT=c$,sT){static{n(this,"UnsupportedFunctionalityError")}constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:DT,message:t}),this[oT]=!0,this.functionality=e}static isInstance(e){return C.hasMarker(e,qT)}};var ks=Te(require("zod/v4"),1),H=require("zod/v3"),ZT=require("zod/v3"),Wn=require("zod/v3");var Os=class extends Error{static{n(this,"ParseError")}constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}};function Zl(e){}n(Zl,"noop");function UT(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Zl,onError:r=Zl,onRetry:a=Zl,onComment:o}=e,s="",i=!0,u,l="",c="";function f(I){let S=i?I.replace(/^\xEF\xBB\xBF/,""):I,[E,U]=p$(`${s}${S}`);for(let V of E)y(V);s=U,i=!1}n(f,"feed");function y(I){if(I===""){b();return}if(I.startsWith(":")){o&&o(I.slice(I.startsWith(": ")?2:1));return}let S=I.indexOf(":");if(S!==-1){let E=I.slice(0,S),U=I[S+1]===" "?2:1,V=I.slice(S+U);h(E,V,I);return}h(I,"",I)}n(y,"parseLine");function h(I,S,E){switch(I){case"event":c=S;break;case"data":l=`${l}${S}
38
+ `;function cn(e){return Ai.default.verify(e,oE,{algorithms:["RS256"]})}n(cn,"verifyLicenseToken");function sE(e,t){return Ai.default.sign(t,e,{encoding:"utf-8",algorithm:"RS256"})}n(sE,"sign");var wo={};L(wo,{getOfflineFeatures:()=>xi});var v=require("@budibase/types");var sd=[v.Feature.BUDIBASE_AI,v.Feature.SYNC_AUTOMATIONS],id=[v.Feature.WORKSPACE_BACKUPS,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PDF,v.Feature.BUDIBASE_AI],iE={[v.PlanType.FREE]:[...Tt.SELF_FREE_LICENSE.features],[v.PlanType.PREMIUM]:[v.Feature.WORKSPACE_BACKUPS,v.Feature.BRANDING,v.Feature.VIEW_PERMISSIONS,v.Feature.PDF],[v.PlanType.PREMIUM_PLUS]:id,[v.PlanType.PREMIUM_MAX]:id,[v.PlanType.PREMIUM_PLUS_TRIAL]:[v.Feature.WORKSPACE_BACKUPS,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PDF,v.Feature.BUDIBASE_AI],[v.PlanType.PRO]:sd,[v.PlanType.PRO_MAX]:sd,[v.PlanType.TEAM]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS],[v.PlanType.BUSINESS]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS,v.Feature.BRANDING,v.Feature.ENFORCEABLE_SSO,v.Feature.ENVIRONMENT_VARIABLES,v.Feature.SYNC_AUTOMATIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.VIEW_PERMISSIONS,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.CUSTOM_APP_SCRIPTS,v.Feature.PWA,v.Feature.PDF,v.Feature.RECAPTCHA,v.Feature.PKCE_OIDC,v.Feature.TRANSLATIONS],[v.PlanType.ENTERPRISE_BASIC]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS,v.Feature.ENVIRONMENT_VARIABLES,v.Feature.ENFORCEABLE_SSO,v.Feature.AUDIT_LOGS,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.OFFLINE,v.Feature.EXPANDED_PUBLIC_API,v.Feature.WORKSPACE_IMPORT_EXPORT,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.SCIM,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PWA,v.Feature.CUSTOM_APP_SCRIPTS,v.Feature.PDF,v.Feature.BUDIBASE_AI,v.Feature.RECAPTCHA,v.Feature.PKCE_OIDC,v.Feature.TRANSLATIONS],[v.PlanType.ENTERPRISE_BASIC_TRIAL]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS,v.Feature.ENVIRONMENT_VARIABLES,v.Feature.ENFORCEABLE_SSO,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.EXPANDED_PUBLIC_API,v.Feature.WORKSPACE_IMPORT_EXPORT,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.SCIM,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PWA,v.Feature.CUSTOM_APP_SCRIPTS,v.Feature.PDF,v.Feature.BUDIBASE_AI,v.Feature.RECAPTCHA,v.Feature.PKCE_OIDC,v.Feature.TRANSLATIONS],[v.PlanType.ENTERPRISE]:[v.Feature.USER_GROUPS,v.Feature.WORKSPACE_BACKUPS,v.Feature.ENVIRONMENT_VARIABLES,v.Feature.ENFORCEABLE_SSO,v.Feature.AUDIT_LOGS,v.Feature.BRANDING,v.Feature.SYNC_AUTOMATIONS,v.Feature.OFFLINE,v.Feature.EXPANDED_PUBLIC_API,v.Feature.WORKSPACE_IMPORT_EXPORT,v.Feature.VIEW_PERMISSIONS,v.Feature.TRIGGER_AUTOMATION_RUN,v.Feature.SCIM,v.Feature.VIEW_READONLY_COLUMNS,v.Feature.AI_CUSTOM_CONFIGS,v.Feature.PWA,v.Feature.CUSTOM_APP_SCRIPTS,v.Feature.PDF,v.Feature.BUDIBASE_AI,v.Feature.RECAPTCHA,v.Feature.PKCE_OIDC,v.Feature.TRANSLATIONS]};function xi(e){function t(r){let a=r[e];if(!a)throw new Error(`Features do not exist for planType=${e}`);return a}return n(t,"readFeatures"),t(iE)}n(xi,"getOfflineFeatures");var Io={};L(Io,{UNLIMITED:()=>g,getQuotas:()=>Ei});var ie=require("@budibase/types");var p=zt,ud=Tt,g=-1,gt=n(e=>e*1e6,"millions"),uE={[ie.PlanType.FREE]:{...ud.CLOUD_FREE_LICENSE.quotas},[ie.PlanType.PREMIUM]:{usage:{monthly:{...p.queries(g),...p.automations(1e3),...p.budibaseAICredits(0),...p.actions(5e3)},static:{...p.rows(1e4),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(7),...p.appBackupRetentionDays(7)}},[ie.PlanType.PREMIUM_PLUS]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(10)),...p.actions(2e4)},static:{...p.rows(25e4),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PREMIUM_MAX]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(10)),...p.actions(5e4)},static:{...p.rows(25e4),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PREMIUM_PLUS_TRIAL]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(75e4),...p.actions(2e4)},static:{...p.rows(25e4),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PRO]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(5e3)},static:{...p.rows(5e4),...p.apps(g),...p.users(g),...p.creators(1),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(7),...p.appBackupRetentionDays(7)}},[ie.PlanType.PRO_MAX]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(1e4)},static:{...p.rows(5e4),...p.apps(g),...p.users(g),...p.creators(1),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(1),...p.appBackupRetentionDays(0)}},[ie.PlanType.TEAM]:{usage:{monthly:{...p.queries(g),...p.automations(1e4),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(10),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(90)}},[ie.PlanType.BUSINESS]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(50)),...p.actions(25e4)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(g)}},[ie.PlanType.ENTERPRISE_BASIC]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(50)),...p.actions(25e4)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(g),...p.appBackupRetentionDays(g)}},[ie.PlanType.ENTERPRISE_BASIC_TRIAL]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(75e4),...p.actions(25e4)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(1),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(15),...p.appBackupRetentionDays(15)}},[ie.PlanType.ENTERPRISE]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(50)),...p.actions(25e4)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(g),...p.appBackupRetentionDays(g)}}},lE={[ie.PlanType.FREE]:{...ud.SELF_FREE_LICENSE.quotas},[ie.PlanType.PREMIUM]:void 0,[ie.PlanType.PREMIUM_PLUS]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(1)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PREMIUM_MAX]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(1)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PREMIUM_PLUS_TRIAL]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(2)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(0),...p.plugins(g),...p.customAIConfigurations(1)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(30)}},[ie.PlanType.PRO]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(5),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(7),...p.appBackupRetentionDays(7)}},[ie.PlanType.PRO_MAX]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(5),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(7),...p.appBackupRetentionDays(7)}},[ie.PlanType.TEAM]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(10),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(30),...p.appBackupRetentionDays(90)}},[ie.PlanType.BUSINESS]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(0),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(50),...p.plugins(g),...p.customAIConfigurations(0)}},constant:{...p.automationLogRetentionDays(90),...p.appBackupRetentionDays(365)}},[ie.PlanType.ENTERPRISE_BASIC]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(4)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(g),...p.appBackupRetentionDays(g)}},[ie.PlanType.ENTERPRISE_BASIC_TRIAL]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(4)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(15),...p.appBackupRetentionDays(15)}},[ie.PlanType.ENTERPRISE]:{usage:{monthly:{...p.queries(g),...p.automations(g),...p.budibaseAICredits(gt(4)),...p.actions(g)},static:{...p.rows(g),...p.apps(g),...p.users(g),...p.creators(g),...p.userGroups(g),...p.plugins(g),...p.customAIConfigurations(g)}},constant:{...p.automationLogRetentionDays(g),...p.appBackupRetentionDays(g)}}};function Ei(e,t){let r;function a(o){let s=o[t];if(!s)throw new Error(`Quotas do not exist for planType=${t} and hosting=${e}`);return s}switch(n(a,"readQuotas"),e){case ie.Hosting.SELF:r=a(lE);break;case ie.Hosting.CLOUD:r=a(uE);break}return JSON.parse(JSON.stringify(r))}n(Ei,"getQuotas");var To={};L(To,{encoding:()=>Zr,workspaceExists:()=>cE});var ld=require("@budibase/backend-core");async function cE(e){return(await ld.db.getAllWorkspaces({all:!0,idsOnly:!0})).includes(e)}n(cE,"workspaceExists");var Zr={};L(Zr,{base64ToObject:()=>dE,objectToBase64:()=>pE});function pE(e){let t=JSON.stringify(e);return Buffer.from(t).toString("base64")}n(pE,"objectToBase64");function dE(e){let t=Buffer.from(e,"base64").toString();return JSON.parse(t)}n(dE,"base64ToObject");var Kg=require("@budibase/types"),ca=require("@budibase/backend-core"),Jg=Te(xm()),zg=Te(eu());async function BP(e){await ft.save({offlineLicenseToken:e}),await Pr()}n(BP,"activateOfflineLicenseToken");async function GP(){await ft.save({offlineLicenseToken:void 0}),await Pr()}n(GP,"deleteOfflineLicenseToken");async function Yg(){return(await ft.get()).offlineLicenseToken}n(Yg,"getOfflineLicenseToken");async function tu(){let t=(await ca.installation.getInstall()).installId,r=ca.context.getTenantId(),a=await ca.events.identification.getUniqueTenantId(r);return{installId:t,tenantId:a}}n(tu,"getIdentifier");async function $P(){let e=await tu();return Zr.objectToBase64(e)}n($P,"getIdentifierBase64");function WP(e){return Zr.base64ToObject(e)}n(WP,"getIdentifierFromBase64");function Zg(e){let t=Date.now(),r=new Date(e.expireAt).getTime();if(t>r)throw new Error(`Offline license has expired. expireAt=${e.expireAt}`)}n(Zg,"verifyExpiry");async function Xg(e){let t=await tu();if(e.identifier.installId!==t.installId||e.identifier.tenantId!==t.tenantId)throw new Error("Invalid offline license")}n(Xg,"verifyInstallation");function eh(e){let t=e.plan.type,r=Kg.Hosting.SELF,a=xi(t),o=Ei(r,t);return e.features=(0,Jg.default)(e.features,a),e.quotas=(0,zg.default)(e.quotas,o),e}n(eh,"enrichLicense");async function ru(){try{let e=await Yg();if(e){let t=await cn(e);return Zg(t),await Xg(t),eh(t)}}catch(e){console.error("Error retrieving offline license",e)}}n(ru,"getOfflineLicense");var Cn={};L(Cn,{deleteDevLicense:()=>JP,getOfflineLicense:()=>HP,writeDevLicenseToDisk:()=>KP});var th=require("@budibase/backend-core"),nu=require("path"),rh=require("os"),kr=Te(require("fs"));var VP=th.env.isTest()?".budibase-test":".budibase",au=(0,nu.join)((0,rh.tmpdir)(),VP),QP="dev_license.txt",On=(0,nu.join)(au,QP);if(!kr.default.existsSync(au))try{kr.default.mkdirSync(au)}catch{}function HP(){try{if(kr.default.existsSync(On)){let e=kr.default.readFileSync(On,{encoding:"utf-8"});return cn(e)}}catch(e){console.error("Error retrieving offline license from disk",e)}}n(HP,"getOfflineLicense");function KP(e){console.log(`Writing license to: ${On}`),kr.default.writeFileSync(On,e,{encoding:"utf-8"})}n(KP,"writeDevLicenseToDisk");function JP(){kr.default.rmSync(On,{force:!0})}n(JP,"deleteDevLicense");var ah=require("dd-trace");var su=n(async()=>await ah.tracer.trace("getLicense",async e=>{if(ou.env.OFFLINE_MODE)return e.addTags({offline:!0}),ru();let t=await Yr();return t||(e.addTags({offlineFallback:!0}),t=Cn.getOfflineLicense()),t}),"getLicense"),iu=n(e=>Si(e),"getLicenseFromKey"),uu=n(()=>ou.env.SELF_HOSTED?Tt.SELF_FREE_LICENSE:Tt.CLOUD_FREE_LICENSE,"getFreeLicense");var cu={};L(cu,{activateLicenseKey:()=>zP,deleteLicenseKey:()=>ZP,getLicenseKey:()=>YP});var lu=Te(require("dd-trace"));async function zP(e){await _i(e),await ft.save({licenseKey:e}),await Pr()}n(zP,"activateLicenseKey");async function YP(){return await lu.default.trace("getLicenseKey",async e=>{let t=await ft.get();return e.addTags({licenseKey:t.licenseKey}),t.licenseKey})}n(YP,"getLicenseKey");async function ZP(){return await lu.default.trace("deleteLicenseKey",async()=>{await ft.save({licenseKey:void 0}),await Pr()})}n(ZP,"deleteLicenseKey");var Fo=require("@budibase/backend-core");var Mn,ek=n(async()=>{Mn=await Fo.RedisClient.init(Fo.redis.utils.Databases.LICENSES)},"init"),tk=n(async()=>{Mn&&await Mn.finish()},"shutdown");process.on("exit",async()=>{await tk()});var jo=n(async()=>(Mn||await ek(),Mn),"getClient");var oh=require("@budibase/shared-core");var du=yt.Duration.fromHours(1).toSeconds(),sh=yt.Duration.fromHours(1).toSeconds(),ak=du+sh,Pr=n(async()=>{await lh(),await uh()},"refresh"),nh=n(async e=>{let{result:t}=await yt.locks.doWithLock({type:Go.LockType.DEFAULT,name:Go.LockName.SYNC_ACCOUNT_LICENSE,resource:e,ttl:yt.Duration.fromSeconds(10).toMs()},async()=>{let r=await jo(),a=await r.get(e);if(a&&!ih(a))return a;let o=await Bo.default.trace("populateLicense",async()=>await su());return o||(o=Bo.default.trace("populateFreeLicense",()=>uu())),o.refreshedAt=new Date().toISOString(),await r.store(e,o,ak),o});return t},"populateAndStoreLicense"),ih=n(e=>{let t=e.refreshedAt?Date.parse(e.refreshedAt):0;return Date.now()-t>=du*1e3},"shouldRefreshLicense"),pu=n(async()=>await Bo.default.trace("getCachedLicense",async e=>{let t=yt.context.getLicense();if(t)return e.addTags({foundInContext:!0,features:t.features,plan:t.plan,quotas:t.quotas}),t;let r=yt.tenancy.getTenantId(),o=await(await jo()).get(r);return e.addTags({tenantId:r,foundInCache:!!o}),o?(e.addTags({foundInCache:!0,refreshedAt:o.refreshedAt,features:o.features,plan:o.plan,quotas:o.quotas}),ih(o)&&nh(r).catch(()=>{}),o):(o=await oh.helpers.retry(()=>nh(r)),e.addTags({refreshedAt:o.refreshedAt,features:o.features,plan:o.plan,quotas:o.quotas,expirySeconds:du,staleGraceSeconds:sh}),o)}),"_getCachedLicense");yt.env.isJest()&&(pu=jest.fn().mockImplementation(pu));var uh=pu,lh=n(async()=>{let e=yt.tenancy.getTenantId();await(await jo()).delete(e)},"invalidate");async function Ne(e,t){Array.isArray(e)||(e=[e]),t||(t=await Rt.getCachedLicense());for(let r of e)if(!t?.features.includes(r))return!1;return!0}n(Ne,"areFeaturesEnabled");async function $o(e,t){if(!await Ne(e,t))throw new Yt.FeatureDisabledWarning(e)}n($o,"checkFeature");async function fu(e,t){if(!await Ne(e,t)){let r=e.join(", ");throw new Yt.FeatureDisabledWarning(r)}}n(fu,"checkFeatures");function Ye(e){return async(...t)=>(await $o(Ce.Feature.WORKSPACE_BACKUPS),e(...t))}n(Ye,"checkBackups");async function mu(){return Ne(Ce.Feature.WORKSPACE_BACKUPS)}n(mu,"isBackupsEnabled");async function gu(){return Ne(Ce.Feature.BRANDING)}n(gu,"isBrandingEnabled");async function ch(){return Ne(Ce.Feature.ENFORCEABLE_SSO)}n(ch,"isEnforceableSSO");async function nk(){return Ne(Ce.Feature.SYNC_AUTOMATIONS)}n(nk,"isSyncAutomationsEnabled");async function ok(){return Ne(Ce.Feature.TRIGGER_AUTOMATION_RUN)}n(ok,"isTriggerAutomationRunEnabled");async function Wo(){return Ne(Ce.Feature.AUDIT_LOGS)}n(Wo,"isAuditLogsEnabled");async function hu(){return Ne(Ce.Feature.USER_GROUPS)}n(hu,"isUserGroupsEnabled");function sk(){return Ne(Ce.Feature.PWA)}n(sk,"isPWAEnabled");function ik(){return Ne(Ce.Feature.RECAPTCHA)}n(ik,"isRecaptchaEnabled");var uk=n(()=>Ne(Ce.Feature.PKCE_OIDC),"isPkceOidcEnabled");async function lk(){return Ne(Ce.Feature.TRANSLATIONS)}n(lk,"isTranslationsEnabled");async function pa(){return Ne(Ce.Feature.EXPANDED_PUBLIC_API)}n(pa,"isExpandedPublicApiEnabled");async function ck(){return Ne(Ce.Feature.WORKSPACE_IMPORT_EXPORT)}n(ck,"isWorkspaceImportExportEnabled");async function Vo(){return Ne([Ce.Feature.EXPANDED_PUBLIC_API,Ce.Feature.WORKSPACE_IMPORT_EXPORT])}n(Vo,"isWorkspaceImportExportPublicApiEnabled");async function pk(e){if(Yt.env.ENABLE_SSO_MAINTENANCE_MODE||!await ch())return!1;let r;return e?.config?r=e.config:r=await Yt.configs.getSettingsConfig(),!!r.isSSOEnforced}n(pk,"isSSOEnforced");var yu=n(async()=>{let e=Ce.Feature.SCIM,t=await Ne(e),r=await Yt.configs.getSCIMConfig();if(!t||!r?.enabled)throw new Yt.FeatureDisabledWarning(e);return!0},"checkSCIM");async function dk(){return Ne(Ce.Feature.VIEW_PERMISSIONS)}n(dk,"isViewPermissionEnabled");async function fk(){return Ne(Ce.Feature.VIEW_READONLY_COLUMNS)}n(fk,"isViewReadonlyColumnsEnabled");var mk={faviconUrl:void 0,faviconUrlEtag:void 0,emailBrandingEnabled:!0,platformTitle:void 0,loginHeading:void 0,loginButton:void 0,metaDescription:void 0,metaImageUrl:void 0,metaTitle:void 0};async function gk(e){return await gu()?{faviconUrl:e.faviconUrl,faviconUrlEtag:e.faviconUrlEtag,emailBrandingEnabled:e.emailBrandingEnabled,platformTitle:e.platformTitle,loginHeading:e.loginHeading,loginButton:e.loginButton,metaDescription:e.metaDescription,metaImageUrl:e.metaImageUrl,metaTitle:e.metaTitle}:mk}n(gk,"getBrandingConfig");var Qt={};L(Qt,{addAction:()=>bk,addApp:()=>wk,addAutomation:()=>xk,addGroup:()=>bu,addPlugin:()=>Iu,addRow:()=>Tk,addRows:()=>_k,addUsers:()=>zo,bustCache:()=>mi,decrement:()=>Zt,decrementMany:()=>Pn,getCurrentUsageValues:()=>kp,getLicensedQuota:()=>Ho,getQuotaUsage:()=>Rr,increment:()=>vt,incrementBudibaseAICredits:()=>Ek,incrementMany:()=>Dr,removeApp:()=>Ik,removeGroup:()=>wu,removePlugin:()=>Tu,removeRow:()=>Sk,removeRows:()=>Ak,removeUsers:()=>ga,set:()=>kn,setAllUsage:()=>hi,setAppUsageValue:()=>gi,setBudibaseAICredits:()=>mh,setUsage:()=>Cp,setUsagePerApp:()=>Mp,throwIfBudibaseAICreditsExceeded:()=>Ok,updatePluginCount:()=>Su,updateUsage:()=>da,usageLimitIsExceeded:()=>vu,utils:()=>$a});var Ko=require("@budibase/types");var Mt=require("@budibase/backend-core"),De=require("@budibase/types"),Nr=require("dd-trace");var vt=n(async(e,t,r)=>await Nr.tracer.trace("quotas.increment",async a=>(a.addTags({name:e,type:t}),await ph({change:1,name:e,type:t,opts:r}))),"increment"),Dr=n(e=>Nr.tracer.trace("quotas.incrementMany",async()=>ph(e)),"incrementMany"),ph=n(async e=>await Nr.tracer.trace("quotas.tryIncrement",async t=>{let r=Array.isArray(e)?e:[e];t.addTags({numActions:r.length}),await da(r.map(o=>({usageChange:o.change,name:o.name,type:o.type,opts:{dryRun:!0,suppressErrorLog:o.opts?.suppressErrorLog,id:o.opts?.id}})));let a=[];for(let o of r)await Nr.tracer.trace("quotas.incrementMany.fn",async s=>{s.addTags({actionName:o.name,actionType:o.type,actionChange:o.change});let i=o.opts?.fn;i&&a.push(await i())});return await da(r.map(o=>({usageChange:o.change,name:o.name,type:o.type,opts:{dryRun:!1,valueFn:o.opts?.valueFn,suppressErrorLog:o.opts?.suppressErrorLog,id:o.opts?.id}}))),a[0]}),"tryIncrement"),Zt=n((e,t,r={})=>da({usageChange:-1,name:e,type:t,opts:r}),"decrement"),Pn=n(e=>{let t=Array.isArray(e)?e:[e];return da(t.map(r=>({usageChange:-r.change,name:r.name,type:r.type,opts:r.opts})))},"decrementMany"),kn=n(async(e,t,r)=>It.setUsage(r,e,t),"set"),hk=n((e,t,r)=>{if(e==De.QuotaUsageType.STATIC){let a=r.usageQuota.triggers;return a?a[t]||{}:{}}else{let a=It.utils.getCurrentMonthString(),o=r.monthly[a].triggers;return o?o[t]||{}:{}}},"getExistingTriggers"),yk=n(async(e,t,r,a)=>{try{await Mt.locks.doWithLock({type:De.LockType.TRY_ONCE,name:De.LockName.TRIGGER_QUOTA,resource:e,ttl:1e4},async()=>{let o={percentage:r,name:t.name};a&&(o.resetDate=a),await yr.triggerQuota(o)})}catch(o){Mt.logging.logAlert("Error triggering quota",o)}},"triggerQuota"),vk=n(async(e,t,r,a)=>{let o=await Rr(),s=e===De.QuotaUsageType.MONTHLY?o.quotaReset:void 0,i=await hk(e,t,o),u=a.triggers,l=r/a.value*100;l>100&&(l=100);for(let[c,f]of u.entries())if(l>=f&&a.value!==zt.UNLIMITED){if(!i[f]){i[f]=new Date().toISOString();let h=u[c+1]||100;(!(l>=h)||l===f)&&await yk(t,a,l,s)}}else i[f]=void 0;return i},"checkTriggers"),da=n(async e=>{await Nr.tracer.trace("quotas.updateUsage",async t=>{let r=Mt.tenancy.getTenantId(),a=Array.isArray(e)?e:[e];t.addTags({numActions:a.length,tenantId:r});let o,s,i=[],u={},l={},c={},f={};for(let h of a)await Nr.tracer.trace("quotas.updateUsage.action",async b=>{b.addTags({actionName:h.name,actionType:h.type,actionUsageChange:h.usageChange});try{o=Mt.context.getWorkspaceId()}catch{}if(De.APP_QUOTA_NAMES.includes(h.name)&&!o)throw new Error("App context required for quota update");try{s=await Ho(De.QuotaType.USAGE,h.name,h.type),i.push(s);let{total:I,app:S,breakdown:E}=await It.getCurrentUsageValues(h.type,h.name,h.opts?.id);I+=h.usageChange,S!=null&&(S+=h.usageChange),E!=null&&(E+=h.usageChange);let U={};if(h.opts?.dryRun||(U=await vk(h.type,h.name,I,s),f={...f,[h.name]:U}),s.value!==zt.UNLIMITED&&I>s.value&&h.usageChange>0)throw new Mt.UsageLimitWarning(`${h.name}`);if(I=Math.max(0,I),S&&(S=Math.max(0,S)),E&&(E=Math.max(0,E),c={...c,[h.name]:E}),!h.opts?.dryRun){let V=h.opts?.valueFn;V&&(I=await V(),S=I),u={...u,[h.name]:I},l={...l,[h.name]:S}}}catch(I){throw h.opts?.suppressErrorLog||console.warn(`Error updating usage quotas for ${h.name}`,I),I}});let y=a.filter(h=>!h.opts?.dryRun).map(h=>({name:h.name,type:h.type,values:{total:u[h.name],app:l[h.name],breakdown:c[h.name],triggers:f[h.name]},opts:{...h.opts,tenantId:r}}));y.length>0&&await It.setAllUsage(y)})},"updateUsage"),Ho=n(async(e,t,r)=>{let a=await Rt.getCachedLicense();if(!a){let o=Mt.tenancy.getTenantId();throw new Error("License not found for tenant id "+o)}if(r&&(0,De.isStaticQuota)(e,r,t))return a.quotas[e][r][t];if(r&&(0,De.isMonthlyQuota)(e,r,t))return a.quotas[e][r][t];if((0,De.isConstantQuota)(e,t))return a.quotas[e][t];throw new Error("Invalid quota type")},"getLicensedQuota"),vu=n(async({name:e,type:t,usageChange:r})=>{try{return await da({usageChange:r,name:e,type:t,opts:{dryRun:!0}}),!1}catch(a){if(a.code===De.APIWarningCode.USAGE_LIMIT_EXCEEDED)return!0;throw a}},"usageLimitIsExceeded");var bk=n(async e=>vt(Ko.MonthlyQuotaName.ACTIONS,Ko.QuotaUsageType.MONTHLY,{fn:e}),"addAction");var dh=require("@budibase/backend-core"),fa=require("@budibase/types");var fh=n(async()=>{let e=await dh.db.getAllWorkspaces({dev:!0});return e?e.length:0},"getDevAppsCount"),wk=n(async(e,{appId:t}={})=>vt(fa.StaticQuotaName.WORKSPACES,fa.QuotaUsageType.STATIC,{fn:e,valueFn:fh,id:t}),"addApp"),Ik=n(async({appId:e}={})=>Zt(fa.StaticQuotaName.WORKSPACES,fa.QuotaUsageType.STATIC,{valueFn:fh,id:e}),"removeApp");var Wt=require("@budibase/types");var Tk=n(async(e,{tableId:t}={})=>vt(Wt.StaticQuotaName.ROWS,Wt.QuotaUsageType.STATIC,{fn:e,id:t}),"addRow"),Sk=n(async({tableId:e}={})=>Zt(Wt.StaticQuotaName.ROWS,Wt.QuotaUsageType.STATIC,{id:e}),"removeRow"),_k=n(async(e,t,{tableId:r}={})=>Dr({change:e,name:Wt.StaticQuotaName.ROWS,type:Wt.QuotaUsageType.STATIC,opts:{fn:t,id:r}}),"addRows"),Ak=n(async(e,{tableId:t}={})=>Pn({change:e,name:Wt.StaticQuotaName.ROWS,type:Wt.QuotaUsageType.STATIC,opts:{id:t}}),"removeRows");var Jo=require("@budibase/types");var xk=n(async(e,{automationId:t}={})=>vt(Jo.MonthlyQuotaName.AUTOMATIONS,Jo.QuotaUsageType.MONTHLY,{fn:e,id:t}),"addAutomation");var ma=require("@budibase/types");var bu=n(async e=>vt(ma.StaticQuotaName.USER_GROUPS,ma.QuotaUsageType.STATIC,{fn:e}),"addGroup"),wu=n(async()=>Zt(ma.StaticQuotaName.USER_GROUPS,ma.QuotaUsageType.STATIC),"removeGroup");var Ir=require("@budibase/types");var Iu=n(async e=>vt(Ir.StaticQuotaName.PLUGINS,Ir.QuotaUsageType.STATIC,{fn:e}),"addPlugin"),Tu=n(async()=>Zt(Ir.StaticQuotaName.PLUGINS,Ir.QuotaUsageType.STATIC),"removePlugin"),Su=n(async e=>kn(Ir.StaticQuotaName.PLUGINS,Ir.QuotaUsageType.STATIC,e),"updatePluginCount");var Vt=require("@budibase/types"),Nn=require("@budibase/backend-core");var zo=n(async(e,t,r)=>{if(e===0&&t===0)return r?await r():void 0;let a=[{change:e,name:Vt.StaticQuotaName.USERS,type:Vt.QuotaUsageType.STATIC,opts:{fn:r,valueFn:Nn.users.getUserCount}}];t>0&&a.push({change:t,name:Vt.StaticQuotaName.CREATORS,type:Vt.QuotaUsageType.STATIC,opts:{valueFn:Nn.users.getCreatorCount}});let o=await Dr(a);return Promise.resolve(Yr()).catch(s=>{console.log("Failed to sync license after adding users",s)}),o},"addUsers"),ga=n(async(e,t)=>{let r=[{change:e,name:Vt.StaticQuotaName.USERS,type:Vt.QuotaUsageType.STATIC,opts:{valueFn:Nn.users.getUserCount}}];t>0&&r.push({change:t,name:Vt.StaticQuotaName.CREATORS,type:Vt.QuotaUsageType.STATIC,opts:{valueFn:Nn.users.getCreatorCount}}),await Pn(r),Promise.resolve(Yr()).catch(a=>{console.log("Failed to sync license after removing users",a)})},"removeUsers");var nt=require("@budibase/types");var _u=require("@budibase/backend-core"),Xo=require("@budibase/types");var Yo=class extends _u.HTTPError{static{n(this,"GroupNameUnavailableError")}constructor(t){super(`Group name "${t}" is unavailable`,409)}},Zo=class extends _u.HTTPError{static{n(this,"AICreditsExhaustedError")}constructor(){super("You have reached your Budibase AI Credits limit for this billing cycle.",402),this.code=Xo.APIWarningCode.USAGE_LIMIT_EXCEEDED}getPublicError(){return{quota:Xo.MonthlyQuotaName.BUDIBASE_AI_CREDITS}}};var Ek=n(async e=>{try{return await Dr({change:e,name:nt.MonthlyQuotaName.BUDIBASE_AI_CREDITS,type:nt.QuotaUsageType.MONTHLY})}catch(t){throw t.code===nt.APIWarningCode.USAGE_LIMIT_EXCEEDED&&await Rk().catch(()=>{}),t}},"incrementBudibaseAICredits"),Rk=n(async()=>{let e=await Ho(nt.QuotaType.USAGE,nt.MonthlyQuotaName.BUDIBASE_AI_CREDITS,nt.QuotaUsageType.MONTHLY);e.value>=0&&await mh(e.value)},"capBudibaseAICreditsAtLimit"),Ok=n(async()=>{if(await vu({name:nt.MonthlyQuotaName.BUDIBASE_AI_CREDITS,type:nt.QuotaUsageType.MONTHLY,usageChange:1}))throw new Zo},"throwIfBudibaseAICreditsExceeded"),mh=n(async e=>kn(nt.MonthlyQuotaName.BUDIBASE_AI_CREDITS,nt.QuotaUsageType.MONTHLY,e),"setBudibaseAICredits");var es={};L(es,{db:()=>kt});var Eu=require("@budibase/backend-core");var Pt={};L(Pt,{addUsers:()=>kk,adjustGroupCreatorsQuotas:()=>Uk,cleanupApp:()=>qk,enrichUserRolesFromGroups:()=>Mk,fetch:()=>xu,get:()=>wh,getBulk:()=>Ih,getGroupBuilderAppIds:()=>bh,getGroupRoleId:()=>Ck,remove:()=>Pk,removeUsers:()=>Nk,save:()=>Th,updateGroupApps:()=>Dk});var Q=require("@budibase/backend-core");async function Au(e,t){try{let r=[];for(let u of e)if(u.roles){let l=u.roles[Q.db.getProdWorkspaceID(t)];l&&r.push(l)}let a=await Promise.all(r.map(async u=>({[u]:await Q.roles.roleToNumber(u)}))),o,s,i={};a.forEach(u=>{let[l,c]=Object.entries(u)[0];i[l]={roleId:l,roleNum:c}});for(let{roleId:u,roleNum:l}of Object.values(i))(s===void 0||l>s)&&(s=l,o=u);return o}catch(r){throw Q.logging.logAlert(`Error finding higest role for ${e.length} on app ${t}`,r),r}}n(Au,"findHighestRole");async function vh(e,t){return t?t=t.filter(r=>e.includes(r._id)):t=await ge.getBulk(e,{enriched:!1}),t}n(vh,"groupList");async function bh(e,t){if(!e.userGroups)return[];let r=await vh(e.userGroups,t?.groups),a=t?.appId?Q.db.getProdWorkspaceID(t?.appId):null,o=[];for(let s of r){let i=s.builder?.apps;a&&i?.includes(a)?o.push(a):a||(o=o.concat(i||[]))}return[...new Set(o)]}n(bh,"getGroupBuilderAppIds");async function Ck(e,t,r){if(!e.userGroups)return null;let a=await vh(e.userGroups,r?.groups),o=Q.db.getProdWorkspaceID(t);return e.roles?.[o]?e.roles[o]:(a=a.filter(u=>u?.roles?Object.keys(u.roles).includes(o):!1),Q.context.getCurrentContext()?.appId===t?Au(a,t):await Q.context.doInWorkspaceContext(t,async()=>Au(a,t)))}n(Ck,"getGroupRoleId");async function Mk(e){if(!e||!e.userGroups)return e;let t=await Ih(e.userGroups,{enriched:!1}),r=[];for(let o of t)o?.roles&&(r=r.concat(Object.keys(o.roles)));r=[...new Set(r)];for(let o of r)await Q.context.doInWorkspaceContext(o,async()=>{if(e.roles[o])return;let s=await Au(t,o);s&&(e.roles[o]=s)});let a=await bh(e,{groups:t});if(a.length&&!e.builder?.global){let o=e.builder?.apps||[];e.builder={...e.builder,apps:o.concat(a)}}return e}n(Mk,"enrichUserRolesFromGroups");async function xu(){return await ge.fetch()}n(xu,"fetch");async function wh(e){return await ge.get(e)}n(wh,"get");async function Ih(e,t={enriched:!0}){return ge.getBulk(e,t)}n(Ih,"getBulk");async function gh(e){if(await ge.getByName(e))throw new Yo(e)}n(gh,"guardNameAvailability");async function hh(e){let t=await ge.getGroupUsers(e._id);if(!t.length)return 0;let a=await Q.tenancy.getGlobalDB().getMultiple(t.map(s=>s._id));return(await Q.userUtils.creatorsInList(a)).filter(s=>s).length}n(hh,"getCreatorsCountInGroup");function yh(e){return Object.values(e.roles||{}).includes("CREATOR")}n(yh,"isCreatorGroup");async function Th(e){let t=[],r=!e._id,a=0;if(!e._id)e._id=ge.generateUserGroupID(),await gh(e.name),t.push(Q.events.group.created(e));else{let u=await ge.get(e._id);if(u.name!==e.name&&await gh(e.name),t.push(Q.events.group.updated(e)),JSON.stringify(u.roles)!==JSON.stringify(e.roles)){let l=yh(u),c=yh(e);if(l!==c){let f=u.users?.length||0,y=0;f>0&&(y=await hh(u)),c?a=f-y:a=-f}t.push(Q.events.group.permissionsEdited(e))}}await Promise.all(t);let{users:o,...s}=e,i=n(()=>ge.save(s),"saveGroup");if(r)return await bu(i);{let u=await i();if(a>0)await zo(0,a);else if(a<0){let l=await hh(e),c=Math.abs(a)-l;c>0&&await ga(0,c)}return u}}n(Th,"save");async function Pk(e,t){let r;try{r=await ge.get(e)}catch{throw new Error("Group not found")}let a=Object.values(r.roles||{}).includes("CREATOR"),o=n(()=>{},"recalculateCreatorsQuotasFn");if(a){let i=Q.tenancy.getGlobalDB(),u=await ge.getGroupUsers(e),c=(await Promise.all(u.map(b=>i.get(b._id)))).map(b=>({...b,userGroups:b.userGroups.filter(D=>D!==e)})),y=(await Q.userUtils.creatorsInList(c)).filter(b=>b).length,h=u.length-y;h&&(o=n(()=>ga(0,h),"recalculateCreatorsQuotasFn"))}let s=await ge.destroy(e,t);return await Q.events.group.deleted(r),await wu(),await o(),s}n(Pk,"remove");async function kk(e,t){let r=await ge.get(e),a=await Q.users.bulkGetGlobalUsersById(t),o=[];for(let l of a)l.userGroups||(l.userGroups=[]),l.userGroups.includes(e)||o.push(l);if(!o.length)return o;let s=o.map(l=>({...l,userGroups:[...l?.userGroups||[],e]}));if(await Q.users.bulkUpdateGlobalUsers(s),Object.values(r.roles||{}).includes("CREATOR")){let c=(await Q.userUtils.creatorsInList(o)).filter(y=>y).length,f=o.length-c;f&&await zo(0,f)}let u=[];for(let l of t)u.push(Q.cache.user.invalidateUser(l));return await Promise.all(u),await Q.events.group.usersAdded(s.length,r,t),s}n(kk,"addUsers");async function Nk(e,t){let r=await ge.get(e),a=await Q.users.bulkGetGlobalUsersById(t),o=[];for(let u of a){if(!u.userGroups||!u.userGroups.includes(e))continue;let l=u.userGroups.indexOf(e);u.userGroups.splice(l,1),o.push(u)}if(await Q.users.bulkUpdateGlobalUsers(o),Object.values(r.roles||{}).includes("CREATOR")){let l=(await Q.userUtils.creatorsInList(o)).filter(f=>f).length,c=o.length-l;c&&await ga(0,c)}let i=[];for(let u of t)i.push(Q.cache.user.invalidateUser(u));return await Promise.all(i),o.length&&await Q.events.group.usersDeleted(o.length,r,t),o}n(Nk,"removeUsers");async function Dk(e,t){let r=await wh(e);if(r.roles||(r.roles={}),t.appsToAdd)for(let a of t.appsToAdd)r.roles[a.appId]=a.roleId;if(t.appsToRemove)for(let a of t.appsToRemove)delete r.roles[a.appId];return r.builder={apps:Object.entries(r.roles).filter(([a,o])=>o==="CREATOR").map(([a])=>a)},await Th(r)}n(Dk,"updateGroupApps");async function qk(e){let t=await xu(),r=[];for(let a of t)!a.roles||!a.roles[e]||(delete a.roles[e],r.push(a));return await ge.bulkSave(r)}n(qk,"cleanupApp");async function Uk(){if(!await hu()){let e=Q.tenancy.getGlobalDB(),r=(await xu()||[]).filter(a=>Object.values(a?.roles||{}).includes("CREATOR"));for(let a of r){let o=await ge.getGroupUsers(a._id),i=(await Promise.all(o.map(f=>e.get(f._id)))).map(f=>({...f,userGroups:f.userGroups.filter(y=>y!==a._id)})),l=(await Q.userUtils.creatorsInList(i)).filter(f=>f).length,c=o.length-l;await ge.save({...a,roles:{}}),c&&await ga(0,c)}}}n(Uk,"adjustGroupCreatorsQuotas");Eu.users.UserDB.init(Qt,Pt,Ct);var kt=Eu.users.UserDB;var ns={};L(ns,{logs:()=>Nu});var Nu={};L(Nu,{logSearch:()=>Qk,oldestLogDate:()=>Oh,storeLog:()=>Hk});var as=require("@budibase/backend-core"),Rh=require("@budibase/types");var je=require("@budibase/backend-core"),rs=require("@budibase/types");var Sh=require("@budibase/backend-core");async function _h(e,t){let r,a=5,o=!1,s,i=!0;for(;a>0;a--)try{i?s=await e():s=await exports.randomDelay(e),o=!0;break}catch(u){r=u}return o||Sh.logging.logWarn(`Failed to backoff: ${t}`,r),s}n(_h,"backOff");var{SEPARATOR:Xt,UNICODE_MAX:Lk,DocumentType:Ah,AutomationViewMode:Ru,ViewName:Fk,getQueryIndex:jk}=je.db,Bk=new Date(0).toISOString(),Gk=100,ts=10,Ou=n(async()=>ho(rs.ConstantQuotaName.AUTOMATION_LOG_RETENTION_DAYS),"oldestLogDate");function xh(e,t,{status:r,automationId:a}={},o={}){let s=a?`${a}${Xt}`:"",i=r?`${r}${Xt}`:"",u;return r&&a?u=`${Ru.ALL}${Xt}${i}${s}`:r?u=`${Ru.STATUS}${Xt}${i}`:a?u=`${Ru.AUTOMATION}${Xt}${s}`:u=`${Ah.AUTOMATION_LOG}${Xt}`,{...o,descending:!0,startkey:`${u}${t}${Lk}`,endkey:`${u}${e}`}}n(xh,"getAutomationLogParams");function $k(e,t,r){return`${Ah.AUTOMATION_LOG}${Xt}${e}${Xt}${r}${Xt}${t}`}n($k,"generateAutomationLogID");async function Cu(e,t,r={docs:!0}){let a=je.context.getProdWorkspaceDB();await a.exists()||(a=je.context.getDevWorkspaceDB());let o={status:r.status},s=r?.limit?r.limit:r?.paginate?ts+1:void 0,i=xh(e,t,o,{include_docs:r.docs,limit:s});r?.page&&(i.startkey=r.page);let u=await a.allDocs(i),l=ln(u,{paginate:r?.paginate,pageSize:ts});return{...l,totalLogs:l.totalRows}}n(Cu,"getAllLogs");async function Mu(e,t,r={}){let a=je.context.getProdWorkspaceDB();await a.exists()||(a=je.context.getDevWorkspaceDB());let o;try{let i={automationId:r?.automationId,status:r?.status},u=xh(e,t,i,{include_docs:!0,limit:ts+1});r?.page&&(u.startkey=r.page),o=await a.query(jk(Fk.AUTOMATION_LOGS),u)}catch(i){if(i!=null&&(i.name==="not_found"||i.error==="not_found"))return await Jp(),Mu(e,t,r);throw i}let s=ln(o,{paginate:!0,pageSize:ts});return{...s,totalLogs:s.totalRows/3}}n(Mu,"getLogsByView");async function Eh(e,t){let r=je.context.getProdWorkspaceDB(),a=e._id,o=e.name,s=new Date().toISOString(),i=$k(s,t.status,a),u={...t,automationId:a,status:t.status,automationName:o,createdAt:s,_id:i};return await r.put(u),i}n(Eh,"writeLog");async function Pu(e,{clearing:t}={clearing:!1}){let r=je.context.getProdWorkspaceDB();await _h(async()=>{let a=await r.get(je.db.DocumentType.WORKSPACE_METADATA);for(let o of e){let s=o.split(je.db.SEPARATOR),i=`${s[s.length-3]}${je.db.SEPARATOR}${s[s.length-2]}`,u={};a.automationErrors&&(u=a.automationErrors),Array.isArray(u[i])||(u[i]=[]);let l=u[i].indexOf(o);t&&l!==-1?u[i].splice(l,1):u[i].push(o),u[i].length===0&&delete u[i],a.automationErrors=u}await r.put(a),await je.cache.workspace.invalidateWorkspaceMetadata(a.appId,a)},"Failed to update app metadata with automation log error")}n(Pu,"updateAppMetadataWithErrors");async function Wk(){let e=await Ou();try{return await Cu(Bk,e,{docs:!1,paginate:!1,limit:Gk})}catch{return{data:[],hasNextPage:!1,totalLogs:0}}}n(Wk,"getExpiredLogs");async function ku(){let e=je.context.getProdWorkspaceDB();try{let t=await Wk();if(!t.data||t.data.length===0)return;let r=t.data.map(o=>({_id:o.id,_rev:o.value.rev,_deleted:!0})),a=t.data.filter(o=>{let s=o.id.split(je.db.SEPARATOR);return s[s.length-1]===rs.AutomationStatus.ERROR}).map(o=>o.id);await e.bulkDocs(r),a.length&&await Pu(a,{clearing:!0})}catch(t){je.logging.logAlert(`Failed to cleanup automation log history - Database "${e.name}"`,t)}}n(ku,"clearOldHistory");var Oh=Ou;async function Vk(e,t,r,a){let o,s=new Date().toISOString(),i=await Oh();return(!e||e<i)&&(e=i),r||t?o=await Mu(e,s,{automationId:r,status:t,page:a}):o=await Cu(e,s,{status:t,page:a,docs:!0,paginate:!0}),o}n(Vk,"getLogs");async function Qk(e){return await ku(),await Vk(e.startDate,e.status,e.automationId,e.page)}n(Qk,"logSearch");async function Hk(e,t){if(!as.db.isProdWorkspaceID(as.context.getWorkspaceId()))return;let r=await Eh(e,t);t.status===Rh.AutomationStatus.ERROR&&await Pu([r]),await ku()}n(Hk,"storeLog");var os={};L(os,{checkPluginQuotas:()=>zk,deletePlugin:()=>Jk,storePlugin:()=>Kk});var kh=require("@budibase/types"),qe=require("@budibase/backend-core");var Ch=Te(require("fs")),Mh=require("path");function Ph(e,t){return Ch.default.readFileSync((0,Mh.join)(e,t),"utf8")}n(Ph,"loadJSFile");async function Kk(metadata,directory,source,origin){let db=qe.tenancy.getGlobalDB(),version=metadata.package.version,name=metadata.package.name,description=metadata.package.description,hash=metadata.schema.hash,bucketPath=qe.objectStore.getPluginS3Dir(name),files=await qe.objectStore.uploadDirectory(qe.objectStore.ObjectStoreBuckets.PLUGINS,directory,bucketPath),jsFile=files.find(e=>e.name.endsWith(".js")),iconFile=files.find(e=>e.name.endsWith(".svg"));if(!jsFile)throw new Error("Plugin missing .js file.");if(metadata.schema.type===kh.PluginType.DATASOURCE){let js=Ph(directory,jsFile.name);try{eval(js)}catch(e){let t=e?.message?e.message:JSON.stringify(e);throw new Error(`JS invalid: ${t}`)}}let iconFileName=iconFile?iconFile.name:null,pluginId=qe.db.generatePluginID(name),rev;try{rev=(await db.get(pluginId))._rev}catch(e){rev=void 0}let doc={_id:pluginId,_rev:rev,...metadata,name,version,hash,description,source};iconFileName&&(doc.iconFileName=iconFileName),source&&(doc={...doc,source}),origin&&origin.source==="github"&&(doc.origin=origin);let write=n(async()=>{let e=await db.put(doc);return await qe.events.plugin.imported(doc),{...doc,_rev:e.rev}},"write");return rev?await write():await Iu(write)}n(Kk,"storePlugin");async function Jk(e){let t=qe.tenancy.getGlobalDB();try{let r=await t.get(e),a=qe.objectStore.getPluginS3Dir(r.name);await qe.objectStore.deleteFolder(qe.objectStore.ObjectStoreBuckets.PLUGINS,a),await t.remove(e,r._rev),await qe.events.plugin.deleted(r),await Tu()}catch(r){let a=r?.message?r?.message:r;throw new Error(`Failed to delete plugin: ${a}`)}}n(Jk,"deletePlugin");async function zk(){let e=qe.tenancy.getGlobalDB();try{let r=(await e.allDocs(qe.db.getPluginParams())).rows.length;console.log(`Syncing plugin count: ${r}`),await Su(r)}catch(t){qe.logging.logAlert("Unable to retrieve plugins for quota check",t)}}n(zk,"checkPluginQuotas");var ss={};L(ss,{fetch:()=>Zk,fetchValues:()=>Xk,isEncryptionKeyAvailable:()=>Yk,isValid:()=>qh,remove:()=>tN,update:()=>eN});var Nh=require("@budibase/backend-core"),Dn=require("@budibase/types");function Yk(){return!!Nh.env.ENCRYPTION_KEY}n(Yk,"isEncryptionKeyAvailable");async function Zk(){let e=await gr.get();return Object.keys(e.variables)}n(Zk,"fetch");async function Xk(e){let r=(await gr.get()).variables,a={};for(let[o,s]of Object.entries(r))switch(e){case Dn.Environment.DEVELOPMENT:a[o]=s.development;break;case Dn.Environment.PRODUCTION:default:a[o]=s.production;break}return a}n(Xk,"fetchValues");async function Dh(e){if(!(await Gt.cache.getCachedLicense()).features.includes(Dn.Feature.ENVIRONMENT_VARIABLES))throw new Error("User does not have access to environment variables feature.");let r=await gr.get();r.variables=e(r.variables),await gr.update(r)}n(Dh,"changeValues");async function eN(e,t){if(qh(e))await Dh(a=>(a[e]=t,a));else throw new Error("Variable name has characters that are not allowed")}n(eN,"update");async function tN(e){await Dh(t=>(delete t[e],t))}n(tN,"remove");function qh(e){return/^[a-zA-Z0-9-_]+$/.test(e)}n(qh,"isValid");var ls={};L(ls,{definitions:()=>dN,download:()=>pN,fetch:()=>cN,write:()=>uN});var ot=require("@budibase/backend-core"),us=require("@budibase/types");var Me=require("@budibase/backend-core"),Nt=require("@budibase/types");var Uh=require("memorystream"),Lh=new Me.sql.Sql(Nt.SqlClient.SQL_LITE);async function rN(e,t,r){let a={operation:Nt.Operation.READ,table:Kr.searchTable(),tables:{},paginate:{limit:r||9,page:t},filters:e,resource:{fields:[]},sort:{timestamp:{direction:Nt.SortOrder.DESCENDING,type:Nt.SortType.STRING}}},o=Lh._query(a);if(Array.isArray(o))throw new Error("Cannot execute multiple queries for audit log search");return{sql:o.sql,bindings:o.bindings}}n(rN,"getAuditLogSqlQuery");function aN(e){return`${Me.DocumentType.AUDIT_LOG}${Me.SEPARATOR}${e}${Me.SEPARATOR}${Me.utils.newid()}`}n(aN,"generateAuditLogID");async function Fh(e){e._id||(e._id=aN(e.timestamp)),e.type||(e.type=Nt.AUDIT_LOG_TYPE);try{let r=await Me.context.getAuditLogsDB().put(e);return{...e,_rev:r.rev}}catch(t){Me.logging.logAlert("Failed to write audit log",t)}}n(Fh,"save");async function Du(e,t,r){t||(t=1);let a=Me.context.getAuditLogsDB();try{let o=9+1,s=await rN(e,t,o),i=Kr.searchTable(),u=Lh.convertJsonStringColumns(i,await a.sql(s.sql,s.bindings)),l;u.length>o&&(l=u.pop());let c={rows:u,hasNextPage:!!l};return c.hasNextPage&&(c.bookmark=t+1),c}catch(o){if(o.status===404&&!r?.isRetry)return await nN(),await Np(),await Du(e,t,{isRetry:!0});throw o}}n(Du,"searchSQL");async function nN(){let e=Me.context.getAuditLogsDB(),r=(await e.allDocs(Me.db.getDocParams(Me.DocumentType.AUDIT_LOG,null,{include_docs:!0}))).rows.map(a=>a.doc).filter(a=>a&&!a.type).map(a=>({...a,type:Nt.AUDIT_LOG_TYPE}));await e.bulkDocs(r)}n(nN,"migrate");function jh(e){let t=Me.context.getAuditLogsDB(),r=new Uh,a=t.dump(r,{filter:s=>{let i=s;if(!i._id?.startsWith(Me.DocumentType.AUDIT_LOG))return!1;let u=!0,l=n((c,f)=>{!c||c.length===0||(u=!!(u&&f&&c.includes(f)))},"matcher");if(l(e.userIds,i.userId),l(e.appIds,i.appId),l(e.events,i.event),(e.startDate||e.endDate)&&(u=u&&i.timestamp>=e.startDate&&i.timestamp<=e.endDate),e.fullSearch){let c=JSON.stringify(s);u=u&&c.includes(e.fullSearch)}return u}}),o=new Uh;return r.on("data",s=>{let i=JSON.parse(Buffer.from(s).toString());if(Array.isArray(i.docs)){let u="";for(let l of i.docs)u+=JSON.stringify(l)+`
39
+ `;o.write(u)}}),r.on("end",()=>{o.end()}),{promise:a,stream:o}}n(jh,"dump");var qn=require("@budibase/backend-core"),Un=require("@budibase/string-templates"),is=require("@budibase/types");var sN=qn.constants.MIN_VALID_DATE.toISOString(),iN=qn.constants.MAX_VALID_DATE.toISOString();function qu(e){return(e.startDate||e.endDate)&&(e.startDate=e.startDate||sN,e.endDate=e.endDate||iN),e}n(qu,"fillDates");async function Bh(e){Array.isArray(e.appIds)&&(e.appIds=e.appIds.map(a=>qn.db.getProdWorkspaceID(a)));let t={};function r(a,o){o?.length&&(t.oneOf={...t.oneOf,[a]:o})}return n(r,"addStringParams"),r("userId",e.userIds),r("appId",e.appIds),r("event",e.events),e.fullSearch&&(t.fuzzyOr=!0,t.fuzzy={name:e.fullSearch,fallback:e.fullSearch}),(e.startDate||e.endDate)&&(e=qu(e),t.range={timestamp:{high:e.endDate,low:e.startDate}}),Object.keys(t).length===0&&(t.notEmpty={event:!0}),t}n(Bh,"getSearchFilters");function Uu(e,t,r){let a={_id:e,status:is.AuditLogResourceStatus.DELETED};switch(t){case"app":a.name=r?.appName;break;case"user":a.email=r?.email;break}return a}n(Uu,"deleted");function Lu(e){let t=(0,Un.findHBSBlocks)(e);for(let r of t){let a=` "${r}"`;e=e.replace(e.includes(a)?a:` ${r}`,""),e=(0,Un.processStringSync)(e,{})}return e}n(Lu,"removeTemplateStrings");function Gh(e,t){let r=is.AuditedEventFriendlyName[e];if(!r)throw new Error("No friendly name found.");let a=(0,Un.processStringSync)(r,t);return a.includes('""')&&(a=Lu(r)),a}n(Gh,"getEventFriendlyName");async function uN(e,t,r){if(!await Wo()||!ot.utils.isAudited(e))return;let a=Gh(e,t),o=new Date;r?.timestamp&&(o=new Date(r.timestamp));let s={timestamp:o.toISOString(),event:e,name:a,userId:r?.userId||us.AuditLogSystemUser,metadata:{...t,...r?.hostInfo}},i={};try{if(r?.appId){s.appId=ot.db.getProdWorkspaceID(r.appId);let u=await ot.cache.workspace.getWorkspaceMetadata(r.appId);"name"in u&&(i.appName=u.name)}if(r?.userId){let u=await ot.users.getById(r?.userId);i.email=u.email}}catch(u){ot.logging.logAlert("Failed to retrieve fallback information for audit log",u)}return s.fallback=i,await Fh(s)}n(uN,"write");async function lN(e){let t=e.map(u=>u.userId),a=e.filter(u=>u.appId).map(u=>ot.db.getDevWorkspaceID(u.appId)),o=await ot.users.bulkGetGlobalUsersById([...new Set(t)],{cleanup:!0}),s=await ot.db.getWorkspacesByIDs([...new Set(a)]),i=[];for(let u of e){let l=o.find(y=>y?._id===u.userId),c=s.find(y=>ot.db.isSameWorkspaceID(y?.appId,u.appId)),f={event:u.event,timestamp:u.timestamp,name:u.name,metadata:u.metadata,user:l||Uu(u.userId,"user",u.fallback)};u.appId&&(f.app=c||Uu(u.appId,"app",u.fallback)),i.push(f)}return i}n(lN,"enrich");async function cN(e){if(!await Wo())throw new Error("Audit logs not available - license required.");let t=await Bh(e);if(typeof e.bookmark=="string")throw new Error("String based bookmark not supported.");let r=await Du(t,e.bookmark);return{hasNextPage:r.hasNextPage,bookmark:r.bookmark,data:await lN(r.rows)}}n(cN,"fetch");function pN(e){return e=qu(e),jh(e)}n(pN,"download");function dN(){let e=Object.entries(us.AuditedEventFriendlyName).filter(r=>r[1]!=null),t={};for(let r of e)t[r[0]]=Lu(r[1]);return t}n(dN,"definitions");var cs={};L(cs,{applications:()=>Gu,roles:()=>ju,users:()=>Fu});var Fu={};L(Fu,{roleCheck:()=>mN});function fN(e,t){let r=e.request.body;return r.builder&&(r.builder=t?.builder||void 0),r.admin&&(r.admin=t?.admin||void 0),r.roles&&(r.roles=t?.roles||{}),e.request.body=r,e}n(fN,"removeRoles");async function mN(e,t){return await pa()||fN(e,t),e}n(mN,"roleCheck");var ju={};L(ju,{assign:()=>gN,unAssign:()=>hN});var Ln=require("@budibase/backend-core");async function gN(e,t){if(!await pa())throw new Error("Unable to assign roles - license required.");let r=await kt.bulkGet(e);for(let a of r){if(t.role&&t.role.roleId){let o=Ln.db.getProdWorkspaceID(t.role.appId);a.roles[o]=t.role.roleId}if(t.appBuilder){let o=Ln.db.getProdWorkspaceID(t.appBuilder.appId),s=a.builder?.apps||[];a.builder={apps:s.concat([o])}}t.builder&&(a.builder={global:!0}),t.admin&&(a.admin={global:!0}),a.roles}await kt.bulkUpdate(r)}n(gN,"assign");async function hN(e,t){if(!await pa())throw new Error("Unable to un-assign roles - license required.");let r=await kt.bulkGet(e);for(let a of r){if(t.role){let o=Ln.db.getProdWorkspaceID(t.role?.appId);a.roles[o]===t.role.roleId&&delete a.roles[o]}if(t.appBuilder&&a.builder?.apps){let o=Ln.db.getProdWorkspaceID(t.appBuilder.appId);a.builder.apps=a.builder.apps.filter(s=>s!==o)}t.builder&&a.builder&&delete a.builder,t.admin&&a.admin&&delete a.admin}await kt.bulkUpdate(r)}n(hN,"unAssign");var Gu={};L(Gu,{buildExportFn:()=>bN,buildImportFn:()=>vN});var Bu=require("@budibase/backend-core");var yN=n(e=>{if(e){if(e.appExport)return e.appExport;if(e.file)return e.file}},"ensureAppExportFile");function vN(e){return async(t,r)=>{await Vo()||t.throw(403,"Endpoint unavailable, enterprise license required."),yN(t.request.files)||t.throw(400,"Must provide app export file for import."),await Bu.context.doInWorkspaceContext(t.params.appId,async()=>{await e(t),t.body=void 0,t.status=204,await r()})}}n(vN,"buildImportFn");function bN(e){return async(t,r)=>{await Vo()||t.throw(403,"Endpoint unavailable, enterprise license required.");let{encryptPassword:a,excludeRows:o}=t.request.body;await Bu.context.doInWorkspaceContext(t.params.appId,async()=>{t.request.body={encryptPassword:a,excludeRows:o},t.query.appId=t.params.appId,await e(t),await r()})}}n(bN,"buildExportFn");var Ge=require("@budibase/backend-core"),Be=require("@budibase/types"),Vh=Te(require("fs")),Qh=require("path");var $u=require("@budibase/backend-core");var $h;function Wh(){$h=new $u.queue.BudibaseQueue($u.queue.JobQueue.APP_BACKUP,{maxStalledCount:3,jobOptions:{attempts:3,removeOnFail:!0,removeOnComplete:!0}})}n(Wh,"init");function qr(){return $h}n(qr,"getBackupQueue");async function Wu(e,t={}){return mt.storeAppBackupMetadata(e,t)}n(Wu,"storeAppBackupMetadata");function Hh(e){let t=new Date().toISOString();switch(e){case Be.BackupStatus.COMPLETE:case Be.BackupStatus.FAILED:return{timestamp:t,finishedAt:t};case Be.BackupStatus.STARTED:return{timestamp:t,startedAt:t};case Be.BackupStatus.PENDING:return{timestamp:t,createdAt:t}}}n(Hh,"getTimestamps");async function wN(e,t,r,a){let o=await ps(e);return await mt.storeAppBackupMetadata({...o,...Hh(t),contents:r,status:t,type:Be.BackupType.BACKUP},{filename:a,docId:e})}n(wN,"updateBackupStatus");async function IN(e,t,r){let a=await ps(e);return await mt.storeAppBackupMetadata({...a,...Hh(r),status:r,type:Be.BackupType.RESTORE,trigger:Be.BackupTrigger.MANUAL},{docId:e,docRev:t})}n(IN,"updateRestoreStatus");async function ps(e){return mt.getAppBackupMetadata(e)}n(ps,"getAppBackup");async function TN(e,t){return mt.updateAppBackupMetadata(e,t)}n(TN,"updateAppBackup");async function Kh(e){let t=await mt.getAppBackupMetadata(e);return t.filename&&await Ge.objectStore.deleteFile(Ge.objectStore.ObjectStoreBuckets.BACKUPS,t.filename),mt.deleteAppBackupMetadata(e)}n(Kh,"deleteAppBackup");async function SN(e){let t=[];for(let r of e)try{await Kh(r),t.push({backupId:r,success:!0})}catch(a){t.push({backupId:r,success:!1,error:a instanceof Error?a.message:"Unknown error"})}return t}n(SN,"deleteAppBackups");async function _N(e,t){return mt.fetchAppBackups(e,t)}n(_N,"fetchAppBackups");async function Jh(e){let t=await mt.getAppBackupMetadata(e);if(!t.filename)throw new Error("Backup incomplete - cannot download.");let{stream:r}=await Ge.objectStore.getReadStream(Ge.objectStore.ObjectStoreBuckets.BACKUPS,t.filename);return{metadata:t,stream:r}}n(Jh,"getBackupDownloadStream");async function AN(e){let{stream:t}=await Jh(e),r=(0,Qh.join)(Ge.objectStore.budibaseTempDir(),Ge.utils.newid()),a=Vh.default.createWriteStream(r);return new Promise((o,s)=>{t.on("error",s),a.on("error",s),t.pipe(a).on("close",()=>o(r))})}n(AN,"downloadAppBackup");async function xN(e,t,r={}){let a;try{a=await Wu({appId:e,trigger:t,timestamp:new Date().toISOString(),status:Be.BackupStatus.PENDING,type:Be.BackupType.BACKUP,...r})}catch(o){if(o.status===409)return;throw o}return await qr().add({docId:a.id,docRev:a.rev,appId:e,export:{trigger:t,...r}}),await Ge.events.backup.appBackupTriggered(e,a.id,Be.BackupType.BACKUP,t,r?.name),a.id}n(xN,"triggerAppBackup");async function EN(e,t,r,a){let o=await ps(t),s;try{s=await Wu({appId:e,timestamp:new Date().toISOString(),status:Be.BackupStatus.PENDING,type:Be.BackupType.RESTORE,createdBy:a})}catch(i){if(i?.status===409)return;throw i}return await qr().add({appId:e,docId:s.id,docRev:s.rev,import:{nameForBackup:r,backupId:t,createdBy:a}}),{restoreId:s.id,metadata:o}}n(EN,"triggerAppRestore");async function RN(e,t,r){let a=Ge.db.getProdWorkspaceID(e);await Ge.context.doInWorkspaceContext(a,async()=>{let o=Ge.context.getProdWorkspaceDB();if(!await o.exists())return;let i=await o.tryGet(Be.DocumentType.WORKSPACE_METADATA);i&&(i.backupErrors||(i.backupErrors={}),i.backupErrors[t]||(i.backupErrors[t]=[]),i.backupErrors[t].push(r),await o.put(i),await Ge.cache.workspace.invalidateWorkspaceMetadata(i.appId,i))})}n(RN,"trackBackupError");var ON={isEnabled:mu,triggerAppRestore:Ye(EN),triggerAppBackup:Ye(xN),getBackupDownloadStream:Ye(Jh),downloadAppBackup:Ye(AN),fetchAppBackups:Ye(_N),storeAppBackupMetadata:Ye(Wu),updateBackupStatus:Ye(wN),updateRestoreStatus:Ye(IN),getAppBackup:Ye(ps),updateAppBackup:Ye(TN),deleteAppBackup:Ye(Kh),deleteAppBackups:Ye(SN),trackBackupError:Ye(RN)},_t=ON;var Qu={};L(Qu,{init:()=>Vu});var _e=require("@budibase/backend-core"),Dt=require("@budibase/types"),ha=Te(require("fs"));async function Vu(e){qr().process(async t=>{let r=t.data;try{if(r.export)return console.log("Exporting app backup:",r.appId,r.export.trigger),PN(t,e);if(r.import)return console.log("Importing app backup:",r.appId,r.import.backupId),MN(t,e)}catch(a){_e.logging.logAlert(`Failed to perform backup for app ID: ${r.appId}`,a)}})}n(Vu,"init");async function CN(e){await _e.db.getDB(e,{skip_setup:!0}).destroy()}n(CN,"removeExistingApp");async function zh(e,t,r,a){let o=_e.db.getDevWorkspaceID(r),s=_e.db.getProdWorkspaceID(r),i=new Date().toISOString(),u=n(async(l,c)=>{a?.doc?await _t.updateBackupStatus(a.doc.id,l,c?.contents,c?.filename):await _t.storeAppBackupMetadata({appId:s,timestamp:i,trigger:e,status:l,name:a?.name,type:Dt.BackupType.BACKUP,contents:c?.contents,createdBy:a?.createdBy},{filename:c?.filename})},"updateMetadata");try{let l=await a.processing.exportAppFn(o,{tar:!0}),c=await a.processing.statsFn(o),f=`${s}/backup-${i}.tar.gz`,y=_e.objectStore.ObjectStoreBuckets.BACKUPS,h=ha.default.createReadStream(l);await _e.objectStore.streamUpload({bucket:y,filename:f,stream:h,extra:{type:"application/gzip",metadata:{name:a?.name,trigger:e,timestamp:i,appId:s}}}),await u(Dt.BackupStatus.COMPLETE,{filename:f,contents:c}),ha.default.existsSync(l)&&ha.default.rmSync(l)}catch(l){_e.logging.logAlert("App backup error",l),await u(Dt.BackupStatus.FAILED);let c=a?.doc?.id||`backup-${i}`,f=l instanceof Error?l.message:String(l);await _t.trackBackupError(s,c,`Backup export failed: ${f}`)}}n(zh,"runBackup");async function MN(e,t){let r=e.data,a=r.appId,o=r.import.backupId,s=r.import.nameForBackup,i=r.import.createdBy,u=_e.tenancy.getTenantIDFromWorkspaceID(a);return _e.tenancy.doInTenant(u,async()=>{let l=_e.db.getDevWorkspaceID(a),c=`${l}_temp_${Date.now()}`,{rev:f}=await _t.updateRestoreStatus(r.docId,r.docRev,Dt.BackupStatus.STARTED);await zh(Dt.BackupTrigger.RESTORING,u,a,{processing:t,createdBy:i,name:s});let y=await _t.downloadAppBackup(o),h=Dt.BackupStatus.COMPLETE;try{await t.importAppFn(c,_e.db.getDB(c),{file:{type:"application/gzip",path:y},key:y}),await CN(l),await new _e.db.Replication({source:c,target:l}).replicate()}catch(b){_e.logging.logAlert("App restore error",b),h=Dt.BackupStatus.FAILED;let D=b instanceof Error?b.message:String(b);await _t.trackBackupError(a,o,`Backup restore failed: ${D}`)}finally{try{await _e.db.getDB(c,{skip_setup:!0}).destroy()}catch{}}await _t.updateRestoreStatus(r.docId,f,h),ha.default.existsSync(y)&&ha.default.rmSync(y,{force:!0})})}n(MN,"importProcessor");async function PN(e,t){let r=e.data,a=r.appId,o=r.export.trigger,s=r.export.name,i=_e.tenancy.getTenantIDFromWorkspaceID(a);await _e.tenancy.doInTenant(i,async()=>{try{let{rev:u}=await _t.updateBackupStatus(r.docId,Dt.BackupStatus.STARTED);return zh(o,i,a,{processing:t,doc:{id:r.docId,rev:u},name:s})}catch(u){_e.logging.logAlert("App backup error",u);let l=u instanceof Error?u.message:String(u);await _t.trackBackupError(a,r.docId,`Backup export failed: ${l}`)}})}n(PN,"exportProcessor");var kN=n(async e=>{Wh(),await Vu(e.processing)},"init"),Fn={..._t,processing:Qu,init:kN,getBackupQueue:qr};var Yh=n(async e=>{e.backups&&await Fn.init(e.backups)},"init");var _s={};L(_s,{create:()=>xG,find:()=>AG,get:()=>_G,remove:()=>RG,update:()=>EG});var II=Te(Fl()),er=require("@budibase/backend-core");var TI=require("@budibase/types");async function _G(e){let t=er.tenancy.getGlobalDB(),r=new er.db.QueryBuilder(t.name,TI.SearchIndex.USER);r.setIndexBuilder(er.db.searchIndexes.createUserIndex),r.setLimit(e.pageSize),r.addEqual("scimInfo.isSync",!0);for(let[o,s]of Object.entries(e.filters?.equal??{}))r.addEqual(o,s);r.setSort("_id"),r.setSkip(e.skip);let a=await r.run();return{users:a.rows,total:a.totalRows}}n(_G,"get");async function AG(e){return await er.users.getById(e)}n(AG,"find");async function xG(e){let t=await kt.getUserByEmail(e.email);if(t){if(t.scimInfo?.isSync)throw new er.HTTPError("User is already synched",409);e={...t,scimInfo:(0,II.default)(t.scimInfo,e.scimInfo),password:void 0,firstName:e.firstName,lastName:e.lastName,updatedAt:e.updatedAt}}return await kt.save(e,{requirePassword:!1})}n(xG,"create");async function EG(e,t){return await kt.save(e,{requirePassword:!1,allowChangingEmail:t?.allowChangingEmail})}n(EG,"update");async function RG(e){return await kt.destroy(e)}n(RG,"remove");var As={};L(As,{create:()=>OG});var SI=Te(Fl());var _I=require("@budibase/backend-core");async function OG(e){let t=await vi(e.name),r;if(!t)r=(await Pt.save(e)).id;else{if(t.scimInfo?.isSync)throw new _I.HTTPError("Group is already synched",409);r=t._id,t.users.length&&await Pt.removeUsers(r,t.users.map(o=>o._id)),t.scimInfo=(0,SI.default)(t.scimInfo,e.scimInfo),await Pt.save(t)}return await Pt.get(r)}n(OG,"create");var Lr={};L(Lr,{logRequest:()=>PG,logResponse:()=>kG});var qt=require("@budibase/backend-core"),xI=Te(AI());var{DocWritethrough:CG}=qt.cache.docWritethrough;function MG(){return`${qt.db.DocumentType.SCIM_LOG}${qt.db.SEPARATOR}${(0,xI.default)().format("YYYYMMDD")}`}n(MG,"getLogDocId");var EI=n(()=>{let e=qt.context.getScimDBName();return new CG(qt.db.getDB(e),MG())},"getDB");async function PG(e){qt.logging.logWarn("SCIM request log",e);let t=Date.now().toString();return await EI().patch({[`${t}_request`]:{ts:new Date().toISOString(),...e}}),t}n(PG,"logRequest");async function kG(e,t){qt.logging.logWarn("SCIM response",t),await EI().patch({[`${e}_response`]:{ts:new Date().toISOString(),...t}})}n(kG,"logResponse");var Hl={};L(Hl,{doInScimContext:()=>UG,feature:()=>$l,internalGroupOnly:()=>BG,licenseAuth:()=>Ql,licensing:()=>RI,requireSCIM:()=>LG,scimGroupOnly:()=>jG,scimUserOnly:()=>FG});var Tr=require("@budibase/backend-core");var xs=require("@budibase/types");var NG=n((e={checkUsersLimit:!0})=>async(t,r)=>{if((e.licensingCheck?e.licensingCheck:()=>!!t.user)(t)){if(Tr.env.SELF_HOSTED&&Tr.env.DEFAULT_LICENSE)return t.user.license=bi,r();t.user.license=await Gt.cache.getCachedLicense(),e.checkUsersLimit&&(Tr.utils.isServingApp(t)||Tr.utils.isServingBuilder(t)||Tr.utils.isServingBuilderPreview(t)||Tr.utils.isPublicApiRequest(t))&&await Qt.usageLimitIsExceeded({name:xs.StaticQuotaName.USERS,type:xs.QuotaUsageType.STATIC,usageChange:0})}return r()},"licensing"),RI=NG;var $l={};L($l,{requireFeature:()=>DG,requireFeatures:()=>qG});var DG=n(e=>async(t,r)=>{await $o(e),await r()},"requireFeature"),qG=n((...e)=>async(t,r)=>{await fu(e),await r()},"requireFeatures");var Es=require("@budibase/backend-core");var UG=n(async(e,t)=>{let r;return Es.env.ENABLE_SCIM_LOGGER&&(r=await Lr.logRequest({...e.request.toJSON(),body:e.request.body})),await Es.context.doInScimContext(async()=>{let a=await t();return r&&await Lr.logResponse(r,{...e.response.toJSON(),body:e.response.body}),a})},"doInScimContext");var LG=n(async(e,t)=>{await yu(),await t()},"requireSCIM");var OI=require("@budibase/backend-core");var FG=n(e=>Wl(OI.users.getById,e,!0),"scimUserOnly"),jG=n(e=>Wl(ge.get,e,!0),"scimGroupOnly"),BG=n(e=>Wl(ge.get,e,!1),"internalGroupOnly");function Wl(e,t,r){return async(a,o)=>{let s=a.params[t];return typeof s!="string"&&a.throw(404),!!(await e(s)).scimInfo?.isSync!==r&&a.throw(404),o()}}n(Wl,"scimSyncChecks");var Fr=require("@budibase/backend-core");var Vl=require("dd-trace");async function Ql(e,t){await Vl.tracer.trace("licenseAuth",async r=>{let a=e.request.headers[Fr.constants.Header.LICENSE_KEY]||Fr.utils.getBearerToken(e);Array.isArray(a)&&(a=a[0]),a||e.throw(403,"License key not provided");let o=await iu(a);o||(r.addTags({licenseFound:!1}),e.throw(403,"License not found or invalid")),o.tenantId||e.throw(403,"License does not have a tenant ID"),Vl.tracer.setUser({id:"anonymous",tenantId:o.tenantId}),await Fr.context.doInSelfHostTenantUsingCloud(o.tenantId,async()=>{await Fr.context.doInLicenseContext(o,async()=>{await t()})})})}n(Ql,"default");var zl={};L(zl,{group:()=>Jl,user:()=>Kl});var Kl={};L(Kl,{fromScimUser:()=>QG,toScimUserResponse:()=>$G,userFilters:()=>HG});var CI=require("@budibase/backend-core"),MI=require("@budibase/shared-core"),Rs=require("@budibase/types"),PI=require("scim2-parse-filter");var{unreachable:GG}=MI.utils,$G=n(e=>{let{isSync:t,roles:r,...a}=e.scimInfo||{},o={...a,schemas:["urn:ietf:params:scim:schemas:core:2.0:User"],id:e._id,meta:{resourceType:"User",created:new Date(e.createdAt),lastModified:new Date(e.updatedAt)},active:e.status===Rs.UserStatus.ACTIVE};(e.firstName||e.lastName)&&(o.name={formatted:[e.firstName,e.lastName].filter(i=>i).join(" "),familyName:e.lastName,givenName:e.firstName});let s="urn:ietf:params:scim:schemas:extension:enterprise:2.0:User";if(o[s]?.manager){let i=o[s].manager;typeof i=="string"&&(o[s].manager={value:i})}return o},"toScimUserResponse"),WG=n(e=>!!e?.id,"isScimUserResponse");function VG(e){if(CI.utils.validEmail(e.userName))return e.userName;if(e.emails)return e.emails.find(t=>t.primary)?.value||e.emails[0]?.value}n(VG,"tryGetEmail");var QG=n(e=>{let t=WG(e)?e:void 0,r=VG(e);if(!r)throw new Error("Email is required");let a;switch(e.active){case"True":case"true":case!0:a=!0;break;case"False":case"false":case!1:a=!1;break;default:GG(e.active)}let o,s;return e.name?.givenName?(o=e.name?.givenName,s=e.name?.familyName):o=e.displayName,{tenantId:"",_id:t?.id,userId:t?.id,email:r,firstName:o,lastName:s,scimInfo:{...e,isSync:!0},roles:{},status:a?Rs.UserStatus.ACTIVE:Rs.UserStatus.INACTIVE,createdAt:t?.meta.created.getTime(),updatedAt:t?.meta.lastModified.toISOString()}},"fromScimUser"),HG=n(e=>{let t={equal:{}},r=(0,PI.parse)(e);function a(o){switch(o.op){case"eq":{let s=o.attrPath,i;switch(s){case"emails.value":i="email";break;default:i=`scimInfo.${s}`}t.equal[i]=o.compValue;break}case"and":for(let s of o.filters)a(s);break;default:console.warn("Filter not handled",{filter:o})}}return n(a,"parseFilters"),a(r),t},"userFilters");var Jl={};L(Jl,{fromScimGroup:()=>zG,toScimGroupResponse:()=>KG});var KG=n(e=>({schemas:["urn:ietf:params:scim:schemas:core:2.0:Group"],id:e._id,externalId:e.scimInfo.externalId,meta:{resourceType:"Group",created:new Date(e.createdAt),lastModified:new Date(e.updatedAt)},displayName:e.name,members:e.users?.map(t=>({value:t._id}))}),"toScimGroupResponse"),JG=n(e=>!!e?.id,"isScimGroup"),zG=n(e=>{let t=JG(e)?e:void 0;return{_id:t?.id,name:e.displayName,scimInfo:{externalId:e.externalId,isSync:!0},icon:"UserGroup",color:"var(--spectrum-global-color-blue-600)",createdAt:t?.meta.created.getTime(),updatedAt:t?.meta.lastModified.toISOString()}},"fromScimGroup");var zc={};L(zc,{LLMRequest:()=>Ve,TableGeneration:()=>Jc,agentHistoryTitleSystemPrompt:()=>AQ,agentSystemPrompt:()=>_Q,aiColumnSchemas:()=>Qc,aiTableResponseToTableSchema:()=>Gc,appendAIColumns:()=>$c,classifyText:()=>gQ,cleanData:()=>hQ,composeAutomationAgentSystemPrompt:()=>TQ,composeAutomationAgentToolGuidelines:()=>SQ,generateAIColumns:()=>jc,generateCronExpression:()=>yQ,generateData:()=>Bc,generateJs:()=>IQ,generateTables:()=>Fc,generationStructure:()=>Vc,normalizeContentType:()=>MQ,parseResponseFormat:()=>nx,runWithReasoningEffortFallback:()=>Kc,sanitiseToolName:()=>CQ,searchWeb:()=>wQ,sentimentAnalysis:()=>bQ,summarizeText:()=>mQ,tableDataStructuredOutput:()=>Hc,translate:()=>vQ});var ti=require("@budibase/backend-core"),ix=require("@budibase/shared-core");var iT="vercel.ai.error",YG=Symbol.for(iT),kI,NI,C=class uT extends(NI=Error,kI=YG,NI){static{n(this,"_AISDKError")}constructor({name:t,message:r,cause:a}){super(r),this[kI]=!0,this.name=t,this.cause=a}static isInstance(t){return uT.hasMarker(t,iT)}static hasMarker(t,r){let a=Symbol.for(r);return t!=null&&typeof t=="object"&&a in t&&typeof t[a]=="boolean"&&t[a]===!0}},lT="AI_APICallError",cT=`vercel.ai.error.${lT}`,ZG=Symbol.for(cT),DI,qI,ce=class extends(qI=C,DI=ZG,qI){static{n(this,"APICallError")}constructor({message:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:o,responseBody:s,cause:i,isRetryable:u=a!=null&&(a===408||a===409||a===429||a>=500),data:l}){super({name:lT,message:e,cause:i}),this[DI]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=a,this.responseHeaders=o,this.responseBody=s,this.isRetryable=u,this.data=l}static isInstance(e){return C.hasMarker(e,cT)}},pT="AI_EmptyResponseBodyError",dT=`vercel.ai.error.${pT}`,XG=Symbol.for(dT),UI,LI,fT=class extends(LI=C,UI=XG,LI){static{n(this,"EmptyResponseBodyError")}constructor({message:e="Empty response body"}={}){super({name:pT,message:e}),this[UI]=!0}static isInstance(e){return C.hasMarker(e,dT)}};function Sr(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}n(Sr,"getErrorMessage");var mT="AI_InvalidArgumentError",gT=`vercel.ai.error.${mT}`,e$=Symbol.for(gT),FI,jI,hT=class extends(jI=C,FI=e$,jI){static{n(this,"InvalidArgumentError")}constructor({message:e,cause:t,argument:r}){super({name:mT,message:e,cause:t}),this[FI]=!0,this.argument=r}static isInstance(e){return C.hasMarker(e,gT)}},yT="AI_InvalidPromptError",vT=`vercel.ai.error.${yT}`,t$=Symbol.for(vT),BI,GI,jr=class extends(GI=C,BI=t$,GI){static{n(this,"InvalidPromptError")}constructor({prompt:e,message:t,cause:r}){super({name:yT,message:`Invalid prompt: ${t}`,cause:r}),this[BI]=!0,this.prompt=e}static isInstance(e){return C.hasMarker(e,vT)}},bT="AI_InvalidResponseDataError",wT=`vercel.ai.error.${bT}`,r$=Symbol.for(wT),$I,WI,Bee=class extends(WI=C,$I=r$,WI){static{n(this,"InvalidResponseDataError")}constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:bT,message:t}),this[$I]=!0,this.data=e}static isInstance(e){return C.hasMarker(e,wT)}},IT="AI_JSONParseError",TT=`vercel.ai.error.${IT}`,a$=Symbol.for(TT),VI,QI,$n=class extends(QI=C,VI=a$,QI){static{n(this,"JSONParseError")}constructor({text:e,cause:t}){super({name:IT,message:`JSON parsing failed: Text: ${e}.
40
+ Error message: ${Sr(t)}`,cause:t}),this[VI]=!0,this.text=e}static isInstance(e){return C.hasMarker(e,TT)}},ST="AI_LoadAPIKeyError",_T=`vercel.ai.error.${ST}`,n$=Symbol.for(_T),HI,KI,Gee=class extends(KI=C,HI=n$,KI){static{n(this,"LoadAPIKeyError")}constructor({message:e}){super({name:ST,message:e}),this[HI]=!0}static isInstance(e){return C.hasMarker(e,_T)}},AT="AI_LoadSettingError",xT=`vercel.ai.error.${AT}`,o$=Symbol.for(xT),JI,zI,$ee=class extends(zI=C,JI=o$,zI){static{n(this,"LoadSettingError")}constructor({message:e}){super({name:AT,message:e}),this[JI]=!0}static isInstance(e){return C.hasMarker(e,xT)}},ET="AI_NoContentGeneratedError",RT=`vercel.ai.error.${ET}`,s$=Symbol.for(RT),YI,ZI,Wee=class extends(ZI=C,YI=s$,ZI){static{n(this,"NoContentGeneratedError")}constructor({message:e="No content generated."}={}){super({name:ET,message:e}),this[YI]=!0}static isInstance(e){return C.hasMarker(e,RT)}},OT="AI_NoSuchModelError",CT=`vercel.ai.error.${OT}`,i$=Symbol.for(CT),XI,eT,Vee=class extends(eT=C,XI=i$,eT){static{n(this,"NoSuchModelError")}constructor({errorName:e=OT,modelId:t,modelType:r,message:a=`No such ${r}: ${t}`}){super({name:e,message:a}),this[XI]=!0,this.modelId=t,this.modelType=r}static isInstance(e){return C.hasMarker(e,CT)}},MT="AI_TooManyEmbeddingValuesForCallError",PT=`vercel.ai.error.${MT}`,u$=Symbol.for(PT),tT,rT,Qee=class extends(rT=C,tT=u$,rT){static{n(this,"TooManyEmbeddingValuesForCallError")}constructor(e){super({name:MT,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[tT]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return C.hasMarker(e,PT)}},kT="AI_TypeValidationError",NT=`vercel.ai.error.${kT}`,l$=Symbol.for(NT),aT,nT,Ut=class Yl extends(nT=C,aT=l$,nT){static{n(this,"_TypeValidationError")}constructor({value:t,cause:r,context:a}){let o="Type validation failed";if(a?.field&&(o+=` for ${a.field}`),a?.entityName||a?.entityId){o+=" (";let s=[];a.entityName&&s.push(a.entityName),a.entityId&&s.push(`id: "${a.entityId}"`),o+=s.join(", "),o+=")"}super({name:kT,message:`${o}: Value: ${JSON.stringify(t)}.
41
+ Error message: ${Sr(r)}`,cause:r}),this[aT]=!0,this.value=t,this.context=a}static isInstance(t){return C.hasMarker(t,NT)}static wrap({value:t,cause:r,context:a}){var o,s,i;return Yl.isInstance(r)&&r.value===t&&((o=r.context)==null?void 0:o.field)===a?.field&&((s=r.context)==null?void 0:s.entityName)===a?.entityName&&((i=r.context)==null?void 0:i.entityId)===a?.entityId?r:new Yl({value:t,cause:r,context:a})}},DT="AI_UnsupportedFunctionalityError",qT=`vercel.ai.error.${DT}`,c$=Symbol.for(qT),oT,sT,Hee=class extends(sT=C,oT=c$,sT){static{n(this,"UnsupportedFunctionalityError")}constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:DT,message:t}),this[oT]=!0,this.functionality=e}static isInstance(e){return C.hasMarker(e,qT)}};var ks=Te(require("zod/v4"),1),H=require("zod/v3"),ZT=require("zod/v3"),Wn=require("zod/v3");var Os=class extends Error{static{n(this,"ParseError")}constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}};function Zl(e){}n(Zl,"noop");function UT(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Zl,onError:r=Zl,onRetry:a=Zl,onComment:o}=e,s="",i=!0,u,l="",c="";function f(I){let S=i?I.replace(/^\xEF\xBB\xBF/,""):I,[E,U]=p$(`${s}${S}`);for(let V of E)y(V);s=U,i=!1}n(f,"feed");function y(I){if(I===""){b();return}if(I.startsWith(":")){o&&o(I.slice(I.startsWith(": ")?2:1));return}let S=I.indexOf(":");if(S!==-1){let E=I.slice(0,S),U=I[S+1]===" "?2:1,V=I.slice(S+U);h(E,V,I);return}h(I,"",I)}n(y,"parseLine");function h(I,S,E){switch(I){case"event":c=S;break;case"data":l=`${l}${S}
42
42
  `;break;case"id":u=S.includes("\0")?void 0:S;break;case"retry":/^\d+$/.test(S)?a(parseInt(S,10)):r(new Os(`Invalid \`retry\` value: "${S}"`,{type:"invalid-retry",value:S,line:E}));break;default:r(new Os(`Unknown field "${I.length>20?`${I.slice(0,20)}\u2026`:I}"`,{type:"unknown-field",field:I,value:S,line:E}));break}}n(h,"processField");function b(){l.length>0&&t({id:u,event:c||void 0,data:l.endsWith(`
43
43
  `)?l.slice(0,-1):l}),u=void 0,l="",c=""}n(b,"dispatchEvent");function D(I={}){s&&I.consume&&y(s),i=!0,u=void 0,l="",c="",s=""}return n(D,"reset"),{feed:f,reset:D}}n(UT,"createParser");function p$(e){let t=[],r="",a=0;for(;a<e.length;){let o=e.indexOf("\r",a),s=e.indexOf(`
44
44
  `,a),i=-1;if(o!==-1&&s!==-1?i=Math.min(o,s):o!==-1?o===e.length-1?i=-1:i=o:s!==-1&&(i=s),i===-1){r=e.slice(a);break}else{let u=e.slice(a,i);t.push(u),a=i+1,e[a-1]==="\r"&&e[a]===`
45
- `&&a++}}return[t,r]}n(p$,"splitLines");var Cs=class extends TransformStream{static{n(this,"EventSourceParserStream")}constructor({onError:t,onRetry:r,onComment:a}={}){let o;super({start(s){o=UT({onEvent:i=>{s.enqueue(i)},onError(i){t==="terminate"?s.error(i):typeof t=="function"&&t(i)},onRetry:r,onComment:a})},transform(s){o.feed(s)}})}};function tr(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}n(tr,"combineHeaders");async function WT(e,t){if(e==null)return Promise.resolve();let r=t?.abortSignal;return new Promise((a,o)=>{if(r?.aborted){o(LT());return}let s=setTimeout(()=>{i(),a()},e),i=n(()=>{clearTimeout(s),r?.removeEventListener("abort",u)},"cleanup"),u=n(()=>{i(),o(LT())},"onAbort");r?.addEventListener("abort",u)})}n(WT,"delay");function LT(){return new DOMException("Delay was aborted","AbortError")}n(LT,"createAbortError");function Vn(e){return Object.fromEntries([...e.headers])}n(Vn,"extractResponseHeaders");var{btoa:d$,atob:f$}=globalThis;function Ta(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=f$(t);return Uint8Array.from(r,a=>a.codePointAt(0))}n(Ta,"convertBase64ToUint8Array");function rr(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return d$(t)}n(rr,"convertUint8ArrayToBase64");var VT="AI_DownloadError",QT=`vercel.ai.error.${VT}`,m$=Symbol.for(QT),jT,FT,Ia=class extends(FT=C,jT=m$,FT){static{n(this,"DownloadError")}constructor({url:e,statusCode:t,statusText:r,cause:a,message:o=a==null?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${a}`}){super({name:VT,message:o,cause:a}),this[jT]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return C.hasMarker(e,QT)}},ac=2*1024*1024*1024;async function HT({response:e,url:t,maxBytes:r=ac}){let a=e.headers.get("content-length");if(a!=null){let f=parseInt(a,10);if(!isNaN(f)&&f>r)throw new Ia({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes (Content-Length: ${f}).`})}let o=e.body;if(o==null)return new Uint8Array(0);let s=o.getReader(),i=[],u=0;try{for(;;){let{done:f,value:y}=await s.read();if(f)break;if(u+=y.length,u>r)throw new Ia({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes.`});i.push(y)}}finally{try{await s.cancel()}finally{s.releaseLock()}}let l=new Uint8Array(u),c=0;for(let f of i)l.set(f,c),c+=f.length;return l}n(HT,"readResponseWithSizeLimit");var ar=n(({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{let o=n(()=>{let s=r.length,i=new Array(t);for(let u=0;u<t;u++)i[u]=r[Math.random()*s|0];return i.join("")},"generator");if(e==null)return o;if(r.includes(a))throw new hT({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${o()}`},"createIdGenerator"),gte=ar();function Ms(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}n(Ms,"getErrorMessage");function _r(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}n(_r,"isAbortError");var g$=["fetch failed","failed to fetch"],h$=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];function y$(e){if(!(e instanceof Error))return!1;let t=e.code;return!!(typeof t=="string"&&h$.includes(t))}n(y$,"isBunNetworkError");function KT({error:e,url:t,requestBodyValues:r}){if(_r(e))return e;if(e instanceof TypeError&&g$.includes(e.message.toLowerCase())){let a=e.cause;if(a!=null)return new ce({message:`Cannot connect to API: ${a.message}`,cause:a,url:t,requestBodyValues:r,isRetryable:!0})}return y$(e)?new ce({message:`Cannot connect to API: ${e.message}`,cause:e,url:t,requestBodyValues:r,isRetryable:!0}):e}n(KT,"handleFetchError");function Ps(e=globalThis){var t,r,a;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(a=(r=e.process)==null?void 0:r.versions)!=null&&a.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}n(Ps,"getRuntimeEnvironmentUserAgent");function v$(e){if(e==null)return{};let t={};if(e instanceof Headers)e.forEach((r,a)=>{t[a.toLowerCase()]=r});else{Array.isArray(e)||(e=Object.entries(e));for(let[r,a]of e)a!=null&&(t[r.toLowerCase()]=a)}return t}n(v$,"normalizeHeaders");function nr(e,...t){let r=new Headers(v$(e)),a=r.get("user-agent")||"";return r.set("user-agent",[a,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}n(nr,"withUserAgentSuffix");var JT="4.0.15",b$=n(()=>globalThis.fetch,"getOriginalFetch"),nc=n(async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:a,abortSignal:o,fetch:s=b$()})=>{try{let i=await s(e,{method:"GET",headers:nr(t,`ai-sdk/provider-utils/${JT}`,Ps()),signal:o}),u=Vn(i);if(!i.ok){let l;try{l=await a({response:i,url:e,requestBodyValues:{}})}catch(c){throw _r(c)||ce.isInstance(c)?c:new ce({message:"Failed to process error response",cause:c,statusCode:i.status,url:e,responseHeaders:u,requestBodyValues:{}})}throw l.value}try{return await r({response:i,url:e,requestBodyValues:{}})}catch(l){throw l instanceof Error&&(_r(l)||ce.isInstance(l))?l:new ce({message:"Failed to process successful response",cause:l,statusCode:i.status,url:e,responseHeaders:u,requestBodyValues:{}})}}catch(i){throw KT({error:i,url:e,requestBodyValues:{}})}},"getFromApi");function YT({mediaType:e,url:t,supportedUrls:r}){return t=t.toLowerCase(),e=e.toLowerCase(),Object.entries(r).map(([a,o])=>{let s=a.toLowerCase();return s==="*"||s==="*/*"?{mediaTypePrefix:"",regexes:o}:{mediaTypePrefix:s.replace(/\*/,""),regexes:o}}).filter(({mediaTypePrefix:a})=>e.startsWith(a)).flatMap(({regexes:a})=>a).some(a=>a.test(t))}n(YT,"isUrlSupported");function Sa({settingValue:e,environmentVariableName:t}){if(typeof e=="string")return e;if(!(e!=null||typeof process>"u")&&(e=process.env[t],!(e==null||typeof e!="string")))return e}n(Sa,"loadOptionalSetting");var w$=/"__proto__"\s*:/,I$=/"constructor"\s*:/;function BT(e){let t=JSON.parse(e);return t===null||typeof t!="object"||w$.test(e)===!1&&I$.test(e)===!1?t:T$(t)}n(BT,"_parse");function T$(e){let t=[e];for(;t.length;){let r=t;t=[];for(let a of r){if(Object.prototype.hasOwnProperty.call(a,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(a,"constructor")&&Object.prototype.hasOwnProperty.call(a.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(let o in a){let s=a[o];s&&typeof s=="object"&&t.push(s)}}}return e}n(T$,"filter");function zT(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return BT(e)}try{return BT(e)}finally{Error.stackTraceLimit=t}}n(zT,"secureJsonParse");function oc(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;let{properties:r}=e;if(r!=null)for(let a of Object.keys(r))r[a]=Br(r[a])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(Br):Br(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(Br)),e.allOf!=null&&(e.allOf=e.allOf.map(Br)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(Br));let{definitions:t}=e;if(t!=null)for(let r of Object.keys(t))t[r]=Br(t[r]);return e}n(oc,"addAdditionalPropertiesToJsonSchema");function Br(e){return typeof e=="boolean"?e:oc(e)}n(Br,"visit");var S$=Symbol("Let zodToJsonSchema decide on which parser to use"),GT={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},_$=n(e=>typeof e=="string"?{...GT,name:e}:{...GT,...e},"getDefaultOptions");function bt(){return{}}n(bt,"parseAnyDef");function A$(e,t){var r,a,o;let s={type:"array"};return(r=e.type)!=null&&r._def&&((o=(a=e.type)==null?void 0:a._def)==null?void 0:o.typeName)!==ZT.ZodFirstPartyTypeKind.ZodAny&&(s.items=se(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(s.minItems=e.minLength.value),e.maxLength&&(s.maxItems=e.maxLength.value),e.exactLength&&(s.minItems=e.exactLength.value,s.maxItems=e.exactLength.value),s}n(A$,"parseArrayDef");function x$(e){let t={type:"integer",format:"int64"};if(!e.checks)return t;for(let r of e.checks)switch(r.kind){case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}n(x$,"parseBigintDef");function E$(){return{type:"boolean"}}n(E$,"parseBooleanDef");function XT(e,t){return se(e.type._def,t)}n(XT,"parseBrandedDef");var R$=n((e,t)=>se(e.innerType._def,t),"parseCatchDef");function eS(e,t,r){let a=r??t.dateStrategy;if(Array.isArray(a))return{anyOf:a.map((o,s)=>eS(e,t,o))};switch(a){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return O$(e)}}n(eS,"parseDateDef");var O$=n(e=>{let t={type:"integer",format:"unix-time"};for(let r of e.checks)switch(r.kind){case"min":t.minimum=r.value;break;case"max":t.maximum=r.value;break}return t},"integerDateParser");function C$(e,t){return{...se(e.innerType._def,t),default:e.defaultValue()}}n(C$,"parseDefaultDef");function M$(e,t){return t.effectStrategy==="input"?se(e.schema._def,t):bt()}n(M$,"parseEffectsDef");function P$(e){return{type:"string",enum:Array.from(e.values)}}n(P$,"parseEnumDef");var k$=n(e=>"type"in e&&e.type==="string"?!1:"allOf"in e,"isJsonSchema7AllOfType");function N$(e,t){let r=[se(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),se(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(o=>!!o),a=[];return r.forEach(o=>{if(k$(o))a.push(...o.allOf);else{let s=o;if("additionalProperties"in o&&o.additionalProperties===!1){let{additionalProperties:i,...u}=o;s=u}a.push(s)}}),a.length?{allOf:a}:void 0}n(N$,"parseIntersectionDef");function D$(e){let t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}n(D$,"parseLiteralDef");var Xl=void 0,Lt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Xl===void 0&&(Xl=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Xl),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function tS(e,t){let r={type:"string"};if(e.checks)for(let a of e.checks)switch(a.kind){case"min":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,a.value):a.value;break;case"max":r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,a.value):a.value;break;case"email":switch(t.emailStrategy){case"format:email":jt(r,"email",a.message,t);break;case"format:idn-email":jt(r,"idn-email",a.message,t);break;case"pattern:zod":Ze(r,Lt.email,a.message,t);break}break;case"url":jt(r,"uri",a.message,t);break;case"uuid":jt(r,"uuid",a.message,t);break;case"regex":Ze(r,a.regex,a.message,t);break;case"cuid":Ze(r,Lt.cuid,a.message,t);break;case"cuid2":Ze(r,Lt.cuid2,a.message,t);break;case"startsWith":Ze(r,RegExp(`^${ec(a.value,t)}`),a.message,t);break;case"endsWith":Ze(r,RegExp(`${ec(a.value,t)}$`),a.message,t);break;case"datetime":jt(r,"date-time",a.message,t);break;case"date":jt(r,"date",a.message,t);break;case"time":jt(r,"time",a.message,t);break;case"duration":jt(r,"duration",a.message,t);break;case"length":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,a.value):a.value,r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,a.value):a.value;break;case"includes":{Ze(r,RegExp(ec(a.value,t)),a.message,t);break}case"ip":{a.version!=="v6"&&jt(r,"ipv4",a.message,t),a.version!=="v4"&&jt(r,"ipv6",a.message,t);break}case"base64url":Ze(r,Lt.base64url,a.message,t);break;case"jwt":Ze(r,Lt.jwt,a.message,t);break;case"cidr":{a.version!=="v6"&&Ze(r,Lt.ipv4Cidr,a.message,t),a.version!=="v4"&&Ze(r,Lt.ipv6Cidr,a.message,t);break}case"emoji":Ze(r,Lt.emoji(),a.message,t);break;case"ulid":{Ze(r,Lt.ulid,a.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{jt(r,"binary",a.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{Ze(r,Lt.base64,a.message,t);break}}break}case"nanoid":Ze(r,Lt.nanoid,a.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}n(tS,"parseStringDef");function ec(e,t){return t.patternStrategy==="escape"?U$(e):e}n(ec,"escapeLiteralCheckValue");var q$=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function U$(e){let t="";for(let r=0;r<e.length;r++)q$.has(e[r])||(t+="\\"),t+=e[r];return t}n(U$,"escapeNonAlphaNumeric");function jt(e,t,r,a){var o;e.format||(o=e.anyOf)!=null&&o.some(s=>s.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&a.errorMessages&&{errorMessage:{format:r}}})):e.format=t}n(jt,"addFormat");function Ze(e,t,r,a){var o;e.pattern||(o=e.allOf)!=null&&o.some(s=>s.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:$T(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=$T(t,a)}n(Ze,"addPattern");function $T(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;let a={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},o=a.i?e.source.toLowerCase():e.source,s="",i=!1,u=!1,l=!1;for(let c=0;c<o.length;c++){if(i){s+=o[c],i=!1;continue}if(a.i){if(u){if(o[c].match(/[a-z]/)){l?(s+=o[c],s+=`${o[c-2]}-${o[c]}`.toUpperCase(),l=!1):o[c+1]==="-"&&((r=o[c+2])!=null&&r.match(/[a-z]/))?(s+=o[c],l=!0):s+=`${o[c]}${o[c].toUpperCase()}`;continue}}else if(o[c].match(/[a-z]/)){s+=`[${o[c]}${o[c].toUpperCase()}]`;continue}}if(a.m){if(o[c]==="^"){s+=`(^|(?<=[\r
45
+ `&&a++}}return[t,r]}n(p$,"splitLines");var Cs=class extends TransformStream{static{n(this,"EventSourceParserStream")}constructor({onError:t,onRetry:r,onComment:a}={}){let o;super({start(s){o=UT({onEvent:i=>{s.enqueue(i)},onError(i){t==="terminate"?s.error(i):typeof t=="function"&&t(i)},onRetry:r,onComment:a})},transform(s){o.feed(s)}})}};function tr(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}n(tr,"combineHeaders");async function WT(e,t){if(e==null)return Promise.resolve();let r=t?.abortSignal;return new Promise((a,o)=>{if(r?.aborted){o(LT());return}let s=setTimeout(()=>{i(),a()},e),i=n(()=>{clearTimeout(s),r?.removeEventListener("abort",u)},"cleanup"),u=n(()=>{i(),o(LT())},"onAbort");r?.addEventListener("abort",u)})}n(WT,"delay");function LT(){return new DOMException("Delay was aborted","AbortError")}n(LT,"createAbortError");function Vn(e){return Object.fromEntries([...e.headers])}n(Vn,"extractResponseHeaders");var{btoa:d$,atob:f$}=globalThis;function Ta(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=f$(t);return Uint8Array.from(r,a=>a.codePointAt(0))}n(Ta,"convertBase64ToUint8Array");function rr(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return d$(t)}n(rr,"convertUint8ArrayToBase64");var VT="AI_DownloadError",QT=`vercel.ai.error.${VT}`,m$=Symbol.for(QT),FT,jT,Ia=class extends(jT=C,FT=m$,jT){static{n(this,"DownloadError")}constructor({url:e,statusCode:t,statusText:r,cause:a,message:o=a==null?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${a}`}){super({name:VT,message:o,cause:a}),this[FT]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return C.hasMarker(e,QT)}},ac=2*1024*1024*1024;async function HT({response:e,url:t,maxBytes:r=ac}){let a=e.headers.get("content-length");if(a!=null){let f=parseInt(a,10);if(!isNaN(f)&&f>r)throw new Ia({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes (Content-Length: ${f}).`})}let o=e.body;if(o==null)return new Uint8Array(0);let s=o.getReader(),i=[],u=0;try{for(;;){let{done:f,value:y}=await s.read();if(f)break;if(u+=y.length,u>r)throw new Ia({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes.`});i.push(y)}}finally{try{await s.cancel()}finally{s.releaseLock()}}let l=new Uint8Array(u),c=0;for(let f of i)l.set(f,c),c+=f.length;return l}n(HT,"readResponseWithSizeLimit");var ar=n(({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{let o=n(()=>{let s=r.length,i=new Array(t);for(let u=0;u<t;u++)i[u]=r[Math.random()*s|0];return i.join("")},"generator");if(e==null)return o;if(r.includes(a))throw new hT({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${o()}`},"createIdGenerator"),gte=ar();function Ms(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}n(Ms,"getErrorMessage");function _r(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}n(_r,"isAbortError");var g$=["fetch failed","failed to fetch"],h$=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];function y$(e){if(!(e instanceof Error))return!1;let t=e.code;return!!(typeof t=="string"&&h$.includes(t))}n(y$,"isBunNetworkError");function KT({error:e,url:t,requestBodyValues:r}){if(_r(e))return e;if(e instanceof TypeError&&g$.includes(e.message.toLowerCase())){let a=e.cause;if(a!=null)return new ce({message:`Cannot connect to API: ${a.message}`,cause:a,url:t,requestBodyValues:r,isRetryable:!0})}return y$(e)?new ce({message:`Cannot connect to API: ${e.message}`,cause:e,url:t,requestBodyValues:r,isRetryable:!0}):e}n(KT,"handleFetchError");function Ps(e=globalThis){var t,r,a;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(a=(r=e.process)==null?void 0:r.versions)!=null&&a.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}n(Ps,"getRuntimeEnvironmentUserAgent");function v$(e){if(e==null)return{};let t={};if(e instanceof Headers)e.forEach((r,a)=>{t[a.toLowerCase()]=r});else{Array.isArray(e)||(e=Object.entries(e));for(let[r,a]of e)a!=null&&(t[r.toLowerCase()]=a)}return t}n(v$,"normalizeHeaders");function nr(e,...t){let r=new Headers(v$(e)),a=r.get("user-agent")||"";return r.set("user-agent",[a,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}n(nr,"withUserAgentSuffix");var JT="4.0.15",b$=n(()=>globalThis.fetch,"getOriginalFetch"),nc=n(async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:a,abortSignal:o,fetch:s=b$()})=>{try{let i=await s(e,{method:"GET",headers:nr(t,`ai-sdk/provider-utils/${JT}`,Ps()),signal:o}),u=Vn(i);if(!i.ok){let l;try{l=await a({response:i,url:e,requestBodyValues:{}})}catch(c){throw _r(c)||ce.isInstance(c)?c:new ce({message:"Failed to process error response",cause:c,statusCode:i.status,url:e,responseHeaders:u,requestBodyValues:{}})}throw l.value}try{return await r({response:i,url:e,requestBodyValues:{}})}catch(l){throw l instanceof Error&&(_r(l)||ce.isInstance(l))?l:new ce({message:"Failed to process successful response",cause:l,statusCode:i.status,url:e,responseHeaders:u,requestBodyValues:{}})}}catch(i){throw KT({error:i,url:e,requestBodyValues:{}})}},"getFromApi");function zT({mediaType:e,url:t,supportedUrls:r}){return t=t.toLowerCase(),e=e.toLowerCase(),Object.entries(r).map(([a,o])=>{let s=a.toLowerCase();return s==="*"||s==="*/*"?{mediaTypePrefix:"",regexes:o}:{mediaTypePrefix:s.replace(/\*/,""),regexes:o}}).filter(({mediaTypePrefix:a})=>e.startsWith(a)).flatMap(({regexes:a})=>a).some(a=>a.test(t))}n(zT,"isUrlSupported");function Sa({settingValue:e,environmentVariableName:t}){if(typeof e=="string")return e;if(!(e!=null||typeof process>"u")&&(e=process.env[t],!(e==null||typeof e!="string")))return e}n(Sa,"loadOptionalSetting");var w$=/"__proto__"\s*:/,I$=/"constructor"\s*:/;function BT(e){let t=JSON.parse(e);return t===null||typeof t!="object"||w$.test(e)===!1&&I$.test(e)===!1?t:T$(t)}n(BT,"_parse");function T$(e){let t=[e];for(;t.length;){let r=t;t=[];for(let a of r){if(Object.prototype.hasOwnProperty.call(a,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(a,"constructor")&&Object.prototype.hasOwnProperty.call(a.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(let o in a){let s=a[o];s&&typeof s=="object"&&t.push(s)}}}return e}n(T$,"filter");function YT(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return BT(e)}try{return BT(e)}finally{Error.stackTraceLimit=t}}n(YT,"secureJsonParse");function oc(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;let{properties:r}=e;if(r!=null)for(let a of Object.keys(r))r[a]=Br(r[a])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(Br):Br(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(Br)),e.allOf!=null&&(e.allOf=e.allOf.map(Br)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(Br));let{definitions:t}=e;if(t!=null)for(let r of Object.keys(t))t[r]=Br(t[r]);return e}n(oc,"addAdditionalPropertiesToJsonSchema");function Br(e){return typeof e=="boolean"?e:oc(e)}n(Br,"visit");var S$=Symbol("Let zodToJsonSchema decide on which parser to use"),GT={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},_$=n(e=>typeof e=="string"?{...GT,name:e}:{...GT,...e},"getDefaultOptions");function bt(){return{}}n(bt,"parseAnyDef");function A$(e,t){var r,a,o;let s={type:"array"};return(r=e.type)!=null&&r._def&&((o=(a=e.type)==null?void 0:a._def)==null?void 0:o.typeName)!==ZT.ZodFirstPartyTypeKind.ZodAny&&(s.items=se(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(s.minItems=e.minLength.value),e.maxLength&&(s.maxItems=e.maxLength.value),e.exactLength&&(s.minItems=e.exactLength.value,s.maxItems=e.exactLength.value),s}n(A$,"parseArrayDef");function x$(e){let t={type:"integer",format:"int64"};if(!e.checks)return t;for(let r of e.checks)switch(r.kind){case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}n(x$,"parseBigintDef");function E$(){return{type:"boolean"}}n(E$,"parseBooleanDef");function XT(e,t){return se(e.type._def,t)}n(XT,"parseBrandedDef");var R$=n((e,t)=>se(e.innerType._def,t),"parseCatchDef");function eS(e,t,r){let a=r??t.dateStrategy;if(Array.isArray(a))return{anyOf:a.map((o,s)=>eS(e,t,o))};switch(a){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return O$(e)}}n(eS,"parseDateDef");var O$=n(e=>{let t={type:"integer",format:"unix-time"};for(let r of e.checks)switch(r.kind){case"min":t.minimum=r.value;break;case"max":t.maximum=r.value;break}return t},"integerDateParser");function C$(e,t){return{...se(e.innerType._def,t),default:e.defaultValue()}}n(C$,"parseDefaultDef");function M$(e,t){return t.effectStrategy==="input"?se(e.schema._def,t):bt()}n(M$,"parseEffectsDef");function P$(e){return{type:"string",enum:Array.from(e.values)}}n(P$,"parseEnumDef");var k$=n(e=>"type"in e&&e.type==="string"?!1:"allOf"in e,"isJsonSchema7AllOfType");function N$(e,t){let r=[se(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),se(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(o=>!!o),a=[];return r.forEach(o=>{if(k$(o))a.push(...o.allOf);else{let s=o;if("additionalProperties"in o&&o.additionalProperties===!1){let{additionalProperties:i,...u}=o;s=u}a.push(s)}}),a.length?{allOf:a}:void 0}n(N$,"parseIntersectionDef");function D$(e){let t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}n(D$,"parseLiteralDef");var Xl=void 0,Lt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Xl===void 0&&(Xl=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Xl),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function tS(e,t){let r={type:"string"};if(e.checks)for(let a of e.checks)switch(a.kind){case"min":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,a.value):a.value;break;case"max":r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,a.value):a.value;break;case"email":switch(t.emailStrategy){case"format:email":Ft(r,"email",a.message,t);break;case"format:idn-email":Ft(r,"idn-email",a.message,t);break;case"pattern:zod":Ze(r,Lt.email,a.message,t);break}break;case"url":Ft(r,"uri",a.message,t);break;case"uuid":Ft(r,"uuid",a.message,t);break;case"regex":Ze(r,a.regex,a.message,t);break;case"cuid":Ze(r,Lt.cuid,a.message,t);break;case"cuid2":Ze(r,Lt.cuid2,a.message,t);break;case"startsWith":Ze(r,RegExp(`^${ec(a.value,t)}`),a.message,t);break;case"endsWith":Ze(r,RegExp(`${ec(a.value,t)}$`),a.message,t);break;case"datetime":Ft(r,"date-time",a.message,t);break;case"date":Ft(r,"date",a.message,t);break;case"time":Ft(r,"time",a.message,t);break;case"duration":Ft(r,"duration",a.message,t);break;case"length":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,a.value):a.value,r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,a.value):a.value;break;case"includes":{Ze(r,RegExp(ec(a.value,t)),a.message,t);break}case"ip":{a.version!=="v6"&&Ft(r,"ipv4",a.message,t),a.version!=="v4"&&Ft(r,"ipv6",a.message,t);break}case"base64url":Ze(r,Lt.base64url,a.message,t);break;case"jwt":Ze(r,Lt.jwt,a.message,t);break;case"cidr":{a.version!=="v6"&&Ze(r,Lt.ipv4Cidr,a.message,t),a.version!=="v4"&&Ze(r,Lt.ipv6Cidr,a.message,t);break}case"emoji":Ze(r,Lt.emoji(),a.message,t);break;case"ulid":{Ze(r,Lt.ulid,a.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{Ft(r,"binary",a.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{Ze(r,Lt.base64,a.message,t);break}}break}case"nanoid":Ze(r,Lt.nanoid,a.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}n(tS,"parseStringDef");function ec(e,t){return t.patternStrategy==="escape"?U$(e):e}n(ec,"escapeLiteralCheckValue");var q$=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function U$(e){let t="";for(let r=0;r<e.length;r++)q$.has(e[r])||(t+="\\"),t+=e[r];return t}n(U$,"escapeNonAlphaNumeric");function Ft(e,t,r,a){var o;e.format||(o=e.anyOf)!=null&&o.some(s=>s.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&a.errorMessages&&{errorMessage:{format:r}}})):e.format=t}n(Ft,"addFormat");function Ze(e,t,r,a){var o;e.pattern||(o=e.allOf)!=null&&o.some(s=>s.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:$T(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=$T(t,a)}n(Ze,"addPattern");function $T(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;let a={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},o=a.i?e.source.toLowerCase():e.source,s="",i=!1,u=!1,l=!1;for(let c=0;c<o.length;c++){if(i){s+=o[c],i=!1;continue}if(a.i){if(u){if(o[c].match(/[a-z]/)){l?(s+=o[c],s+=`${o[c-2]}-${o[c]}`.toUpperCase(),l=!1):o[c+1]==="-"&&((r=o[c+2])!=null&&r.match(/[a-z]/))?(s+=o[c],l=!0):s+=`${o[c]}${o[c].toUpperCase()}`;continue}}else if(o[c].match(/[a-z]/)){s+=`[${o[c]}${o[c].toUpperCase()}]`;continue}}if(a.m){if(o[c]==="^"){s+=`(^|(?<=[\r
46
46
  ]))`;continue}else if(o[c]==="$"){s+=`($|(?=[\r
47
47
  ]))`;continue}}if(a.s&&o[c]==="."){s+=u?`${o[c]}\r
48
48
  `:`[${o[c]}\r
49
- ]`;continue}s+=o[c],o[c]==="\\"?i=!0:u&&o[c]==="]"?u=!1:!u&&o[c]==="["&&(u=!0)}try{new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return s}n($T,"stringifyRegExpWithFlags");function rS(e,t){var r,a,o,s,i,u;let l={type:"object",additionalProperties:(r=se(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?r:t.allowedAdditionalProperties};if(((a=e.keyType)==null?void 0:a._def.typeName)===Wn.ZodFirstPartyTypeKind.ZodString&&((o=e.keyType._def.checks)!=null&&o.length)){let{type:c,...f}=tS(e.keyType._def,t);return{...l,propertyNames:f}}else{if(((s=e.keyType)==null?void 0:s._def.typeName)===Wn.ZodFirstPartyTypeKind.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};if(((i=e.keyType)==null?void 0:i._def.typeName)===Wn.ZodFirstPartyTypeKind.ZodBranded&&e.keyType._def.type._def.typeName===Wn.ZodFirstPartyTypeKind.ZodString&&((u=e.keyType._def.type._def.checks)!=null&&u.length)){let{type:c,...f}=XT(e.keyType._def,t);return{...l,propertyNames:f}}}return l}n(rS,"parseRecordDef");function L$(e,t){if(t.mapStrategy==="record")return rS(e,t);let r=se(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||bt(),a=se(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||bt();return{type:"array",maxItems:125,items:{type:"array",items:[r,a],minItems:2,maxItems:2}}}n(L$,"parseMapDef");function j$(e){let t=e.values,a=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(a.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:a}}n(j$,"parseNativeEnumDef");function F$(){return{not:bt()}}n(F$,"parseNeverDef");function B$(){return{type:"null"}}n(B$,"parseNullDef");var tc={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function G$(e,t){let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(a=>a._def.typeName in tc&&(!a._def.checks||!a._def.checks.length))){let a=r.reduce((o,s)=>{let i=tc[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:a.length>1?a:a[0]}}else if(r.every(a=>a._def.typeName==="ZodLiteral"&&!a.description)){let a=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(a.length===r.length){let o=a.filter((s,i,u)=>u.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(a=>a._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((a,o)=>[...a,...o._def.values.filter(s=>!a.includes(s))],[])};return $$(e,t)}n(G$,"parseUnionDef");var $$=n((e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((a,o)=>se(a._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(a=>!!a&&(!t.strictUnions||typeof a=="object"&&Object.keys(a).length>0));return r.length?{anyOf:r}:void 0},"asAnyOf");function W$(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[tc[e.innerType._def.typeName],"null"]};let r=se(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}n(W$,"parseNullableDef");function V$(e){let t={type:"number"};if(!e.checks)return t;for(let r of e.checks)switch(r.kind){case"int":t.type="integer";break;case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}n(V$,"parseNumberDef");function Q$(e,t){let r={type:"object",properties:{}},a=[],o=e.shape();for(let i in o){let u=o[i];if(u===void 0||u._def===void 0)continue;let l=K$(u),c=se(u._def,{...t,currentPath:[...t.currentPath,"properties",i],propertyPath:[...t.currentPath,"properties",i]});c!==void 0&&(r.properties[i]=c,l||a.push(i))}a.length&&(r.required=a);let s=H$(e,t);return s!==void 0&&(r.additionalProperties=s),r}n(Q$,"parseObjectDef");function H$(e,t){if(e.catchall._def.typeName!=="ZodNever")return se(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}n(H$,"decideAdditionalProperties");function K$(e){try{return e.isOptional()}catch{return!0}}n(K$,"safeIsOptional");var J$=n((e,t)=>{var r;if(t.currentPath.toString()===((r=t.propertyPath)==null?void 0:r.toString()))return se(e.innerType._def,t);let a=se(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return a?{anyOf:[{not:bt()},a]}:bt()},"parseOptionalDef"),Y$=n((e,t)=>{if(t.pipeStrategy==="input")return se(e.in._def,t);if(t.pipeStrategy==="output")return se(e.out._def,t);let r=se(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),a=se(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,a].filter(o=>o!==void 0)}},"parsePipelineDef");function z$(e,t){return se(e.type._def,t)}n(z$,"parsePromiseDef");function Z$(e,t){let a={type:"array",uniqueItems:!0,items:se(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(a.minItems=e.minSize.value),e.maxSize&&(a.maxItems=e.maxSize.value),a}n(Z$,"parseSetDef");function X$(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,a)=>se(r._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((r,a)=>a===void 0?r:[...r,a],[]),additionalItems:se(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,a)=>se(r._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((r,a)=>a===void 0?r:[...r,a],[])}}n(X$,"parseTupleDef");function e2(){return{not:bt()}}n(e2,"parseUndefinedDef");function t2(){return bt()}n(t2,"parseUnknownDef");var r2=n((e,t)=>se(e.innerType._def,t),"parseReadonlyDef"),a2=n((e,t,r)=>{switch(t){case H.ZodFirstPartyTypeKind.ZodString:return tS(e,r);case H.ZodFirstPartyTypeKind.ZodNumber:return V$(e);case H.ZodFirstPartyTypeKind.ZodObject:return Q$(e,r);case H.ZodFirstPartyTypeKind.ZodBigInt:return x$(e);case H.ZodFirstPartyTypeKind.ZodBoolean:return E$();case H.ZodFirstPartyTypeKind.ZodDate:return eS(e,r);case H.ZodFirstPartyTypeKind.ZodUndefined:return e2();case H.ZodFirstPartyTypeKind.ZodNull:return B$();case H.ZodFirstPartyTypeKind.ZodArray:return A$(e,r);case H.ZodFirstPartyTypeKind.ZodUnion:case H.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return G$(e,r);case H.ZodFirstPartyTypeKind.ZodIntersection:return N$(e,r);case H.ZodFirstPartyTypeKind.ZodTuple:return X$(e,r);case H.ZodFirstPartyTypeKind.ZodRecord:return rS(e,r);case H.ZodFirstPartyTypeKind.ZodLiteral:return D$(e);case H.ZodFirstPartyTypeKind.ZodEnum:return P$(e);case H.ZodFirstPartyTypeKind.ZodNativeEnum:return j$(e);case H.ZodFirstPartyTypeKind.ZodNullable:return W$(e,r);case H.ZodFirstPartyTypeKind.ZodOptional:return J$(e,r);case H.ZodFirstPartyTypeKind.ZodMap:return L$(e,r);case H.ZodFirstPartyTypeKind.ZodSet:return Z$(e,r);case H.ZodFirstPartyTypeKind.ZodLazy:return()=>e.getter()._def;case H.ZodFirstPartyTypeKind.ZodPromise:return z$(e,r);case H.ZodFirstPartyTypeKind.ZodNaN:case H.ZodFirstPartyTypeKind.ZodNever:return F$();case H.ZodFirstPartyTypeKind.ZodEffects:return M$(e,r);case H.ZodFirstPartyTypeKind.ZodAny:return bt();case H.ZodFirstPartyTypeKind.ZodUnknown:return t2();case H.ZodFirstPartyTypeKind.ZodDefault:return C$(e,r);case H.ZodFirstPartyTypeKind.ZodBranded:return XT(e,r);case H.ZodFirstPartyTypeKind.ZodReadonly:return r2(e,r);case H.ZodFirstPartyTypeKind.ZodCatch:return R$(e,r);case H.ZodFirstPartyTypeKind.ZodPipeline:return Y$(e,r);case H.ZodFirstPartyTypeKind.ZodFunction:case H.ZodFirstPartyTypeKind.ZodVoid:case H.ZodFirstPartyTypeKind.ZodSymbol:return;default:return(a=>{})(t)}},"selectParser"),n2=n((e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")},"getRelativePath");function se(e,t,r=!1){var a;let o=t.seen.get(e);if(t.override){let l=(a=t.override)==null?void 0:a.call(t,e,t,o,r);if(l!==S$)return l}if(o&&!r){let l=o2(o,t);if(l!==void 0)return l}let s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);let i=a2(e,e.typeName,t),u=typeof i=="function"?se(i(),t):i;if(u&&s2(e,t,u),t.postProcess){let l=t.postProcess(u,e,t);return s.jsonSchema=u,l}return s.jsonSchema=u,u}n(se,"parseDef");var o2=n((e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:n2(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,a)=>t.currentPath[a]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),bt()):t.$refStrategy==="seen"?bt():void 0}},"get$ref"),s2=n((e,t,r)=>(e.description&&(r.description=e.description),r),"addMeta"),i2=n(e=>{let t=_$(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([a,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,a],jsonSchema:void 0}]))}},"getRefs"),u2=n((e,t)=>{var r;let a=i2(t),o=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[f,y])=>{var h;return{...c,[f]:(h=se(y._def,{...a,currentPath:[...a.basePath,a.definitionPath,f]},!0))!=null?h:bt()}},{}):void 0,s=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,i=(r=se(e._def,s===void 0?a:{...a,currentPath:[...a.basePath,a.definitionPath,s]},!1))!=null?r:bt(),u=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;u!==void 0&&(i.title=u);let l=s===void 0?o?{...i,[a.definitionPath]:o}:i:{$ref:[...a.$refStrategy==="relative"?[]:a.basePath,a.definitionPath,s].join("/"),[a.definitionPath]:{...o,[s]:i}};return l.$schema="http://json-schema.org/draft-07/schema#",l},"zod3ToJsonSchema"),rc=Symbol.for("vercel.ai.schema");function Re(e){let t;return()=>(t==null&&(t=e()),t)}n(Re,"lazySchema");function Ns(e,{validate:t}={}){return{[rc]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}n(Ns,"jsonSchema");function l2(e){return typeof e=="object"&&e!==null&&rc in e&&e[rc]===!0&&"jsonSchema"in e&&"validate"in e}n(l2,"isSchema");function or(e){return e==null?Ns({properties:{},additionalProperties:!1}):l2(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Ae(e):c2(e):e()}n(or,"asSchema");function c2(e){return Ns(()=>oc(e["~standard"].jsonSchema.input({target:"draft-07"})),{validate:async t=>{let r=await e["~standard"].validate(t);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new Ut({value:t,cause:r.issues})}}})}n(c2,"standardSchema");function p2(e,t){var r;let a=(r=t?.useReferences)!=null?r:!1;return Ns(()=>u2(e,{$refStrategy:a?"root":"none"}),{validate:async o=>{let s=await e.safeParseAsync(o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}}})}n(p2,"zod3Schema");function d2(e,t){var r;let a=(r=t?.useReferences)!=null?r:!1;return Ns(()=>oc(ks.toJSONSchema(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async o=>{let s=await ks.safeParseAsync(e,o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}}})}n(d2,"zod4Schema");function f2(e){return"_zod"in e}n(f2,"isZod4Schema");function Ae(e,t){return f2(e)?d2(e,t):p2(e,t)}n(Ae,"zodSchema");async function aS({value:e,schema:t,context:r}){let a=await Xe({value:e,schema:t,context:r});if(!a.success)throw Ut.wrap({value:e,cause:a.error,context:r});return a.value}n(aS,"validateTypes");async function Xe({value:e,schema:t,context:r}){let a=or(t);try{if(a.validate==null)return{success:!0,value:e,rawValue:e};let o=await a.validate(e);return o.success?{success:!0,value:o.value,rawValue:e}:{success:!1,error:Ut.wrap({value:e,cause:o.error,context:r}),rawValue:e}}catch(o){return{success:!1,error:Ut.wrap({value:e,cause:o,context:r}),rawValue:e}}}n(Xe,"safeValidateTypes");async function m2({text:e,schema:t}){try{let r=zT(e);return t==null?r:aS({value:r,schema:t})}catch(r){throw $n.isInstance(r)||Ut.isInstance(r)?r:new $n({text:e,cause:r})}}n(m2,"parseJSON");async function it({text:e,schema:t}){try{let r=zT(e);return t==null?{success:!0,value:r,rawValue:r}:await Xe({value:r,schema:t})}catch(r){return{success:!1,error:$n.isInstance(r)?r:new $n({text:e,cause:r}),rawValue:void 0}}}n(it,"safeParseJSON");function sc({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Cs).pipeThrough(new TransformStream({async transform({data:r},a){r!=="[DONE]"&&a.enqueue(await it({text:r,schema:t}))}}))}n(sc,"parseJsonEventStream");var g2=n(()=>globalThis.fetch,"getOriginalFetch2"),sr=n(async({url:e,headers:t,body:r,failedResponseHandler:a,successfulResponseHandler:o,abortSignal:s,fetch:i})=>h2({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:a,successfulResponseHandler:o,abortSignal:s,fetch:i}),"postJsonToApi");var h2=n(async({url:e,headers:t={},body:r,successfulResponseHandler:a,failedResponseHandler:o,abortSignal:s,fetch:i=g2()})=>{try{let u=await i(e,{method:"POST",headers:nr(t,`ai-sdk/provider-utils/${JT}`,Ps()),body:r.content,signal:s}),l=Vn(u);if(!u.ok){let c;try{c=await o({response:u,url:e,requestBodyValues:r.values})}catch(f){throw _r(f)||ce.isInstance(f)?f:new ce({message:"Failed to process error response",cause:f,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw c.value}try{return await a({response:u,url:e,requestBodyValues:r.values})}catch(c){throw c instanceof Error&&(_r(c)||ce.isInstance(c))?c:new ce({message:"Failed to process successful response",cause:c,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(u){throw KT({error:u,url:e,requestBodyValues:r.values})}},"postToApi");function Ds({id:e,inputSchema:t,outputSchema:r,supportsDeferredResults:a}){return({execute:o,needsApproval:s,toModelOutput:i,onInputStart:u,onInputDelta:l,onInputAvailable:c,...f})=>({type:"provider",id:e,args:f,inputSchema:t,outputSchema:r,execute:o,needsApproval:s,toModelOutput:i,onInputStart:u,onInputDelta:l,onInputAvailable:c,supportsDeferredResults:a})}n(Ds,"createProviderToolFactoryWithOutputSchema");async function Pe(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}n(Pe,"resolve");var At=n(({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:a,url:o,requestBodyValues:s})=>{let i=await a.text(),u=Vn(a);if(i.trim()==="")return{responseHeaders:u,value:new ce({message:a.statusText,url:o,requestBodyValues:s,statusCode:a.status,responseHeaders:u,responseBody:i,isRetryable:r?.(a)})};try{let l=await m2({text:i,schema:e});return{responseHeaders:u,value:new ce({message:t(l),url:o,requestBodyValues:s,statusCode:a.status,responseHeaders:u,responseBody:i,data:l,isRetryable:r?.(a,l)})}}catch{return{responseHeaders:u,value:new ce({message:a.statusText,url:o,requestBodyValues:s,statusCode:a.status,responseHeaders:u,responseBody:i,isRetryable:r?.(a)})}}},"createJsonErrorResponseHandler"),nS=n(e=>async({response:t})=>{let r=Vn(t);if(t.body==null)throw new fT({});return{responseHeaders:r,value:sc({stream:t.body,schema:e})}},"createEventSourceResponseHandler"),ir=n(e=>async({response:t,url:r,requestBodyValues:a})=>{let o=await t.text(),s=await it({text:o,schema:e}),i=Vn(t);if(!s.success)throw new ce({message:"Invalid JSON response",cause:s.error,statusCode:t.status,responseHeaders:i,responseBody:o,url:r,requestBodyValues:a});return{responseHeaders:i,value:s.value,rawValue:s.rawValue}},"createJsonResponseHandler");function oS(e){return e?.replace(/\/$/,"")}n(oS,"withoutTrailingSlash");function y2(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}n(y2,"isAsyncIterable");async function*sS({execute:e,input:t,options:r}){let a=e(t,r);if(y2(a)){let o;for await(let s of a)o=s,yield{type:"preliminary",output:s};yield{type:"final",output:o}}else yield{type:"final",output:await a}}n(sS,"executeTool");var Ht=require("zod/v4"),_c=require("zod/v4");var Gs=require("zod/v4");var xe=require("zod/v4");var Yn=require("zod/v4");var wt=require("zod/v4");var ue=require("zod/v4");var W=require("zod/v4");var ae=require("zod");var ee=require("zod"),E_=Te(Tc(),1),R_=Te(Tc(),1);var KW="vercel.ai.gateway.error",Sc=Symbol.for(KW),BS,GS,et=class h_ extends(GS=Error,BS=Sc,GS){static{n(this,"_GatewayError")}constructor({message:t,statusCode:r=500,cause:a,generationId:o}){super(o?`${t} [${o}]`:t),this[BS]=!0,this.statusCode=r,this.cause=a,this.generationId=o}static isInstance(t){return h_.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&Sc in t&&t[Sc]===!0}},y_="GatewayAuthenticationError",JW=`vercel.ai.gateway.error.${y_}`,$S=Symbol.for(JW),WS,VS,$s=class v_ extends(VS=et,WS=$S,VS){static{n(this,"_GatewayAuthenticationError")}constructor({message:t="Authentication failed",statusCode:r=401,cause:a,generationId:o}={}){super({message:t,statusCode:r,cause:a,generationId:o}),this[WS]=!0,this.name=y_,this.type="authentication_error"}static isInstance(t){return et.hasMarker(t)&&$S in t}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,message:a="Authentication failed",statusCode:o=401,cause:s,generationId:i}){let u;return t?u=`AI Gateway authentication failed: Invalid API key.
49
+ ]`;continue}s+=o[c],o[c]==="\\"?i=!0:u&&o[c]==="]"?u=!1:!u&&o[c]==="["&&(u=!0)}try{new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return s}n($T,"stringifyRegExpWithFlags");function rS(e,t){var r,a,o,s,i,u;let l={type:"object",additionalProperties:(r=se(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?r:t.allowedAdditionalProperties};if(((a=e.keyType)==null?void 0:a._def.typeName)===Wn.ZodFirstPartyTypeKind.ZodString&&((o=e.keyType._def.checks)!=null&&o.length)){let{type:c,...f}=tS(e.keyType._def,t);return{...l,propertyNames:f}}else{if(((s=e.keyType)==null?void 0:s._def.typeName)===Wn.ZodFirstPartyTypeKind.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};if(((i=e.keyType)==null?void 0:i._def.typeName)===Wn.ZodFirstPartyTypeKind.ZodBranded&&e.keyType._def.type._def.typeName===Wn.ZodFirstPartyTypeKind.ZodString&&((u=e.keyType._def.type._def.checks)!=null&&u.length)){let{type:c,...f}=XT(e.keyType._def,t);return{...l,propertyNames:f}}}return l}n(rS,"parseRecordDef");function L$(e,t){if(t.mapStrategy==="record")return rS(e,t);let r=se(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||bt(),a=se(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||bt();return{type:"array",maxItems:125,items:{type:"array",items:[r,a],minItems:2,maxItems:2}}}n(L$,"parseMapDef");function F$(e){let t=e.values,a=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(a.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:a}}n(F$,"parseNativeEnumDef");function j$(){return{not:bt()}}n(j$,"parseNeverDef");function B$(){return{type:"null"}}n(B$,"parseNullDef");var tc={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function G$(e,t){let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(a=>a._def.typeName in tc&&(!a._def.checks||!a._def.checks.length))){let a=r.reduce((o,s)=>{let i=tc[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:a.length>1?a:a[0]}}else if(r.every(a=>a._def.typeName==="ZodLiteral"&&!a.description)){let a=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(a.length===r.length){let o=a.filter((s,i,u)=>u.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(a=>a._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((a,o)=>[...a,...o._def.values.filter(s=>!a.includes(s))],[])};return $$(e,t)}n(G$,"parseUnionDef");var $$=n((e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((a,o)=>se(a._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(a=>!!a&&(!t.strictUnions||typeof a=="object"&&Object.keys(a).length>0));return r.length?{anyOf:r}:void 0},"asAnyOf");function W$(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[tc[e.innerType._def.typeName],"null"]};let r=se(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}n(W$,"parseNullableDef");function V$(e){let t={type:"number"};if(!e.checks)return t;for(let r of e.checks)switch(r.kind){case"int":t.type="integer";break;case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}n(V$,"parseNumberDef");function Q$(e,t){let r={type:"object",properties:{}},a=[],o=e.shape();for(let i in o){let u=o[i];if(u===void 0||u._def===void 0)continue;let l=K$(u),c=se(u._def,{...t,currentPath:[...t.currentPath,"properties",i],propertyPath:[...t.currentPath,"properties",i]});c!==void 0&&(r.properties[i]=c,l||a.push(i))}a.length&&(r.required=a);let s=H$(e,t);return s!==void 0&&(r.additionalProperties=s),r}n(Q$,"parseObjectDef");function H$(e,t){if(e.catchall._def.typeName!=="ZodNever")return se(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}n(H$,"decideAdditionalProperties");function K$(e){try{return e.isOptional()}catch{return!0}}n(K$,"safeIsOptional");var J$=n((e,t)=>{var r;if(t.currentPath.toString()===((r=t.propertyPath)==null?void 0:r.toString()))return se(e.innerType._def,t);let a=se(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return a?{anyOf:[{not:bt()},a]}:bt()},"parseOptionalDef"),z$=n((e,t)=>{if(t.pipeStrategy==="input")return se(e.in._def,t);if(t.pipeStrategy==="output")return se(e.out._def,t);let r=se(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),a=se(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,a].filter(o=>o!==void 0)}},"parsePipelineDef");function Y$(e,t){return se(e.type._def,t)}n(Y$,"parsePromiseDef");function Z$(e,t){let a={type:"array",uniqueItems:!0,items:se(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(a.minItems=e.minSize.value),e.maxSize&&(a.maxItems=e.maxSize.value),a}n(Z$,"parseSetDef");function X$(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,a)=>se(r._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((r,a)=>a===void 0?r:[...r,a],[]),additionalItems:se(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,a)=>se(r._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((r,a)=>a===void 0?r:[...r,a],[])}}n(X$,"parseTupleDef");function e2(){return{not:bt()}}n(e2,"parseUndefinedDef");function t2(){return bt()}n(t2,"parseUnknownDef");var r2=n((e,t)=>se(e.innerType._def,t),"parseReadonlyDef"),a2=n((e,t,r)=>{switch(t){case H.ZodFirstPartyTypeKind.ZodString:return tS(e,r);case H.ZodFirstPartyTypeKind.ZodNumber:return V$(e);case H.ZodFirstPartyTypeKind.ZodObject:return Q$(e,r);case H.ZodFirstPartyTypeKind.ZodBigInt:return x$(e);case H.ZodFirstPartyTypeKind.ZodBoolean:return E$();case H.ZodFirstPartyTypeKind.ZodDate:return eS(e,r);case H.ZodFirstPartyTypeKind.ZodUndefined:return e2();case H.ZodFirstPartyTypeKind.ZodNull:return B$();case H.ZodFirstPartyTypeKind.ZodArray:return A$(e,r);case H.ZodFirstPartyTypeKind.ZodUnion:case H.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return G$(e,r);case H.ZodFirstPartyTypeKind.ZodIntersection:return N$(e,r);case H.ZodFirstPartyTypeKind.ZodTuple:return X$(e,r);case H.ZodFirstPartyTypeKind.ZodRecord:return rS(e,r);case H.ZodFirstPartyTypeKind.ZodLiteral:return D$(e);case H.ZodFirstPartyTypeKind.ZodEnum:return P$(e);case H.ZodFirstPartyTypeKind.ZodNativeEnum:return F$(e);case H.ZodFirstPartyTypeKind.ZodNullable:return W$(e,r);case H.ZodFirstPartyTypeKind.ZodOptional:return J$(e,r);case H.ZodFirstPartyTypeKind.ZodMap:return L$(e,r);case H.ZodFirstPartyTypeKind.ZodSet:return Z$(e,r);case H.ZodFirstPartyTypeKind.ZodLazy:return()=>e.getter()._def;case H.ZodFirstPartyTypeKind.ZodPromise:return Y$(e,r);case H.ZodFirstPartyTypeKind.ZodNaN:case H.ZodFirstPartyTypeKind.ZodNever:return j$();case H.ZodFirstPartyTypeKind.ZodEffects:return M$(e,r);case H.ZodFirstPartyTypeKind.ZodAny:return bt();case H.ZodFirstPartyTypeKind.ZodUnknown:return t2();case H.ZodFirstPartyTypeKind.ZodDefault:return C$(e,r);case H.ZodFirstPartyTypeKind.ZodBranded:return XT(e,r);case H.ZodFirstPartyTypeKind.ZodReadonly:return r2(e,r);case H.ZodFirstPartyTypeKind.ZodCatch:return R$(e,r);case H.ZodFirstPartyTypeKind.ZodPipeline:return z$(e,r);case H.ZodFirstPartyTypeKind.ZodFunction:case H.ZodFirstPartyTypeKind.ZodVoid:case H.ZodFirstPartyTypeKind.ZodSymbol:return;default:return(a=>{})(t)}},"selectParser"),n2=n((e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")},"getRelativePath");function se(e,t,r=!1){var a;let o=t.seen.get(e);if(t.override){let l=(a=t.override)==null?void 0:a.call(t,e,t,o,r);if(l!==S$)return l}if(o&&!r){let l=o2(o,t);if(l!==void 0)return l}let s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);let i=a2(e,e.typeName,t),u=typeof i=="function"?se(i(),t):i;if(u&&s2(e,t,u),t.postProcess){let l=t.postProcess(u,e,t);return s.jsonSchema=u,l}return s.jsonSchema=u,u}n(se,"parseDef");var o2=n((e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:n2(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,a)=>t.currentPath[a]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),bt()):t.$refStrategy==="seen"?bt():void 0}},"get$ref"),s2=n((e,t,r)=>(e.description&&(r.description=e.description),r),"addMeta"),i2=n(e=>{let t=_$(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([a,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,a],jsonSchema:void 0}]))}},"getRefs"),u2=n((e,t)=>{var r;let a=i2(t),o=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[f,y])=>{var h;return{...c,[f]:(h=se(y._def,{...a,currentPath:[...a.basePath,a.definitionPath,f]},!0))!=null?h:bt()}},{}):void 0,s=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,i=(r=se(e._def,s===void 0?a:{...a,currentPath:[...a.basePath,a.definitionPath,s]},!1))!=null?r:bt(),u=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;u!==void 0&&(i.title=u);let l=s===void 0?o?{...i,[a.definitionPath]:o}:i:{$ref:[...a.$refStrategy==="relative"?[]:a.basePath,a.definitionPath,s].join("/"),[a.definitionPath]:{...o,[s]:i}};return l.$schema="http://json-schema.org/draft-07/schema#",l},"zod3ToJsonSchema"),rc=Symbol.for("vercel.ai.schema");function Re(e){let t;return()=>(t==null&&(t=e()),t)}n(Re,"lazySchema");function Ns(e,{validate:t}={}){return{[rc]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}n(Ns,"jsonSchema");function l2(e){return typeof e=="object"&&e!==null&&rc in e&&e[rc]===!0&&"jsonSchema"in e&&"validate"in e}n(l2,"isSchema");function or(e){return e==null?Ns({properties:{},additionalProperties:!1}):l2(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Ae(e):c2(e):e()}n(or,"asSchema");function c2(e){return Ns(()=>oc(e["~standard"].jsonSchema.input({target:"draft-07"})),{validate:async t=>{let r=await e["~standard"].validate(t);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new Ut({value:t,cause:r.issues})}}})}n(c2,"standardSchema");function p2(e,t){var r;let a=(r=t?.useReferences)!=null?r:!1;return Ns(()=>u2(e,{$refStrategy:a?"root":"none"}),{validate:async o=>{let s=await e.safeParseAsync(o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}}})}n(p2,"zod3Schema");function d2(e,t){var r;let a=(r=t?.useReferences)!=null?r:!1;return Ns(()=>oc(ks.toJSONSchema(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async o=>{let s=await ks.safeParseAsync(e,o);return s.success?{success:!0,value:s.data}:{success:!1,error:s.error}}})}n(d2,"zod4Schema");function f2(e){return"_zod"in e}n(f2,"isZod4Schema");function Ae(e,t){return f2(e)?d2(e,t):p2(e,t)}n(Ae,"zodSchema");async function aS({value:e,schema:t,context:r}){let a=await Xe({value:e,schema:t,context:r});if(!a.success)throw Ut.wrap({value:e,cause:a.error,context:r});return a.value}n(aS,"validateTypes");async function Xe({value:e,schema:t,context:r}){let a=or(t);try{if(a.validate==null)return{success:!0,value:e,rawValue:e};let o=await a.validate(e);return o.success?{success:!0,value:o.value,rawValue:e}:{success:!1,error:Ut.wrap({value:e,cause:o.error,context:r}),rawValue:e}}catch(o){return{success:!1,error:Ut.wrap({value:e,cause:o,context:r}),rawValue:e}}}n(Xe,"safeValidateTypes");async function m2({text:e,schema:t}){try{let r=YT(e);return t==null?r:aS({value:r,schema:t})}catch(r){throw $n.isInstance(r)||Ut.isInstance(r)?r:new $n({text:e,cause:r})}}n(m2,"parseJSON");async function it({text:e,schema:t}){try{let r=YT(e);return t==null?{success:!0,value:r,rawValue:r}:await Xe({value:r,schema:t})}catch(r){return{success:!1,error:$n.isInstance(r)?r:new $n({text:e,cause:r}),rawValue:void 0}}}n(it,"safeParseJSON");function sc({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Cs).pipeThrough(new TransformStream({async transform({data:r},a){r!=="[DONE]"&&a.enqueue(await it({text:r,schema:t}))}}))}n(sc,"parseJsonEventStream");var g2=n(()=>globalThis.fetch,"getOriginalFetch2"),sr=n(async({url:e,headers:t,body:r,failedResponseHandler:a,successfulResponseHandler:o,abortSignal:s,fetch:i})=>h2({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:a,successfulResponseHandler:o,abortSignal:s,fetch:i}),"postJsonToApi");var h2=n(async({url:e,headers:t={},body:r,successfulResponseHandler:a,failedResponseHandler:o,abortSignal:s,fetch:i=g2()})=>{try{let u=await i(e,{method:"POST",headers:nr(t,`ai-sdk/provider-utils/${JT}`,Ps()),body:r.content,signal:s}),l=Vn(u);if(!u.ok){let c;try{c=await o({response:u,url:e,requestBodyValues:r.values})}catch(f){throw _r(f)||ce.isInstance(f)?f:new ce({message:"Failed to process error response",cause:f,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw c.value}try{return await a({response:u,url:e,requestBodyValues:r.values})}catch(c){throw c instanceof Error&&(_r(c)||ce.isInstance(c))?c:new ce({message:"Failed to process successful response",cause:c,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(u){throw KT({error:u,url:e,requestBodyValues:r.values})}},"postToApi");function Ds({id:e,inputSchema:t,outputSchema:r,supportsDeferredResults:a}){return({execute:o,needsApproval:s,toModelOutput:i,onInputStart:u,onInputDelta:l,onInputAvailable:c,...f})=>({type:"provider",id:e,args:f,inputSchema:t,outputSchema:r,execute:o,needsApproval:s,toModelOutput:i,onInputStart:u,onInputDelta:l,onInputAvailable:c,supportsDeferredResults:a})}n(Ds,"createProviderToolFactoryWithOutputSchema");async function Pe(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}n(Pe,"resolve");var At=n(({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:a,url:o,requestBodyValues:s})=>{let i=await a.text(),u=Vn(a);if(i.trim()==="")return{responseHeaders:u,value:new ce({message:a.statusText,url:o,requestBodyValues:s,statusCode:a.status,responseHeaders:u,responseBody:i,isRetryable:r?.(a)})};try{let l=await m2({text:i,schema:e});return{responseHeaders:u,value:new ce({message:t(l),url:o,requestBodyValues:s,statusCode:a.status,responseHeaders:u,responseBody:i,data:l,isRetryable:r?.(a,l)})}}catch{return{responseHeaders:u,value:new ce({message:a.statusText,url:o,requestBodyValues:s,statusCode:a.status,responseHeaders:u,responseBody:i,isRetryable:r?.(a)})}}},"createJsonErrorResponseHandler"),nS=n(e=>async({response:t})=>{let r=Vn(t);if(t.body==null)throw new fT({});return{responseHeaders:r,value:sc({stream:t.body,schema:e})}},"createEventSourceResponseHandler"),ir=n(e=>async({response:t,url:r,requestBodyValues:a})=>{let o=await t.text(),s=await it({text:o,schema:e}),i=Vn(t);if(!s.success)throw new ce({message:"Invalid JSON response",cause:s.error,statusCode:t.status,responseHeaders:i,responseBody:o,url:r,requestBodyValues:a});return{responseHeaders:i,value:s.value,rawValue:s.rawValue}},"createJsonResponseHandler");function oS(e){return e?.replace(/\/$/,"")}n(oS,"withoutTrailingSlash");function y2(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}n(y2,"isAsyncIterable");async function*sS({execute:e,input:t,options:r}){let a=e(t,r);if(y2(a)){let o;for await(let s of a)o=s,yield{type:"preliminary",output:s};yield{type:"final",output:o}}else yield{type:"final",output:await a}}n(sS,"executeTool");var Ht=require("zod/v4"),_c=require("zod/v4");var Gs=require("zod/v4");var xe=require("zod/v4");var zn=require("zod/v4");var wt=require("zod/v4");var ue=require("zod/v4");var W=require("zod/v4");var ae=require("zod");var ee=require("zod"),E_=Te(Tc(),1),R_=Te(Tc(),1);var KW="vercel.ai.gateway.error",Sc=Symbol.for(KW),BS,GS,et=class h_ extends(GS=Error,BS=Sc,GS){static{n(this,"_GatewayError")}constructor({message:t,statusCode:r=500,cause:a,generationId:o}){super(o?`${t} [${o}]`:t),this[BS]=!0,this.statusCode=r,this.cause=a,this.generationId=o}static isInstance(t){return h_.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&Sc in t&&t[Sc]===!0}},y_="GatewayAuthenticationError",JW=`vercel.ai.gateway.error.${y_}`,$S=Symbol.for(JW),WS,VS,$s=class v_ extends(VS=et,WS=$S,VS){static{n(this,"_GatewayAuthenticationError")}constructor({message:t="Authentication failed",statusCode:r=401,cause:a,generationId:o}={}){super({message:t,statusCode:r,cause:a,generationId:o}),this[WS]=!0,this.name=y_,this.type="authentication_error"}static isInstance(t){return et.hasMarker(t)&&$S in t}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,message:a="Authentication failed",statusCode:o=401,cause:s,generationId:i}){let u;return t?u=`AI Gateway authentication failed: Invalid API key.
50
50
 
51
51
  Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
52
52
 
@@ -61,9 +61,9 @@ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
61
61
  Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
62
62
 
63
63
  Option 2 - OIDC token:
64
- Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,new v_({message:u,statusCode:o,cause:s,generationId:i})}},b_="GatewayInvalidRequestError",YW=`vercel.ai.gateway.error.${b_}`,QS=Symbol.for(YW),HS,KS,zW=class extends(KS=et,HS=QS,KS){static{n(this,"GatewayInvalidRequestError")}constructor({message:e="Invalid request",statusCode:t=400,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[HS]=!0,this.name=b_,this.type="invalid_request_error"}static isInstance(e){return et.hasMarker(e)&&QS in e}},w_="GatewayRateLimitError",ZW=`vercel.ai.gateway.error.${w_}`,JS=Symbol.for(ZW),YS,zS,XW=class extends(zS=et,YS=JS,zS){static{n(this,"GatewayRateLimitError")}constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[YS]=!0,this.name=w_,this.type="rate_limit_exceeded"}static isInstance(e){return et.hasMarker(e)&&JS in e}},I_="GatewayModelNotFoundError",eV=`vercel.ai.gateway.error.${I_}`,ZS=Symbol.for(eV),tV=Re(()=>Ae(_c.z.object({modelId:_c.z.string()}))),XS,e_,rV=class extends(e_=et,XS=ZS,e_){static{n(this,"GatewayModelNotFoundError")}constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:a,generationId:o}={}){super({message:e,statusCode:t,cause:a,generationId:o}),this[XS]=!0,this.name=I_,this.type="model_not_found",this.modelId=r}static isInstance(e){return et.hasMarker(e)&&ZS in e}},T_="GatewayInternalServerError",aV=`vercel.ai.gateway.error.${T_}`,t_=Symbol.for(aV),r_,a_,n_=class extends(a_=et,r_=t_,a_){static{n(this,"GatewayInternalServerError")}constructor({message:e="Internal server error",statusCode:t=500,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[r_]=!0,this.name=T_,this.type="internal_server_error"}static isInstance(e){return et.hasMarker(e)&&t_ in e}},S_="GatewayResponseError",nV=`vercel.ai.gateway.error.${S_}`,o_=Symbol.for(nV),s_,i_,oV=class extends(i_=et,s_=o_,i_){static{n(this,"GatewayResponseError")}constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:a,cause:o,generationId:s}={}){super({message:e,statusCode:t,cause:o,generationId:s}),this[s_]=!0,this.name=S_,this.type="response_error",this.response=r,this.validationError=a}static isInstance(e){return et.hasMarker(e)&&o_ in e}};async function u_({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:a,authMethod:o}){var s;let i=await Xe({value:e,schema:sV});if(!i.success){let y=typeof e=="object"&&e!==null&&"generationId"in e?e.generationId:void 0;return new oV({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:i.error,cause:a,generationId:y})}let u=i.value,l=u.error.type,c=u.error.message,f=(s=u.generationId)!=null?s:void 0;switch(l){case"authentication_error":return $s.createContextualError({apiKeyProvided:o==="api-key",oidcTokenProvided:o==="oidc",statusCode:t,cause:a,generationId:f});case"invalid_request_error":return new zW({message:c,statusCode:t,cause:a,generationId:f});case"rate_limit_exceeded":return new XW({message:c,statusCode:t,cause:a,generationId:f});case"model_not_found":{let y=await Xe({value:u.error.param,schema:tV});return new rV({message:c,statusCode:t,modelId:y.success?y.value.modelId:void 0,cause:a,generationId:f})}case"internal_server_error":return new n_({message:c,statusCode:t,cause:a,generationId:f});default:return new n_({message:c,statusCode:t,cause:a,generationId:f})}}n(u_,"createGatewayErrorFromResponse");var sV=Re(()=>Ae(Ht.z.object({error:Ht.z.object({message:Ht.z.string(),type:Ht.z.string().nullish(),param:Ht.z.unknown().nullish(),code:Ht.z.union([Ht.z.string(),Ht.z.number()]).nullish()}),generationId:Ht.z.string().nullish()}))),__="GatewayTimeoutError",iV=`vercel.ai.gateway.error.${__}`,l_=Symbol.for(iV),c_,p_,d_=class A_ extends(p_=et,c_=l_,p_){static{n(this,"_GatewayTimeoutError")}constructor({message:t="Request timed out",statusCode:r=408,cause:a,generationId:o}={}){super({message:t,statusCode:r,cause:a,generationId:o}),this[c_]=!0,this.name=__,this.type="timeout_error"}static isInstance(t){return et.hasMarker(t)&&l_ in t}static createTimeoutError({originalMessage:t,statusCode:r=408,cause:a,generationId:o}){let s=`Gateway request timed out: ${t}
64
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,new v_({message:u,statusCode:o,cause:s,generationId:i})}},b_="GatewayInvalidRequestError",zW=`vercel.ai.gateway.error.${b_}`,QS=Symbol.for(zW),HS,KS,YW=class extends(KS=et,HS=QS,KS){static{n(this,"GatewayInvalidRequestError")}constructor({message:e="Invalid request",statusCode:t=400,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[HS]=!0,this.name=b_,this.type="invalid_request_error"}static isInstance(e){return et.hasMarker(e)&&QS in e}},w_="GatewayRateLimitError",ZW=`vercel.ai.gateway.error.${w_}`,JS=Symbol.for(ZW),zS,YS,XW=class extends(YS=et,zS=JS,YS){static{n(this,"GatewayRateLimitError")}constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[zS]=!0,this.name=w_,this.type="rate_limit_exceeded"}static isInstance(e){return et.hasMarker(e)&&JS in e}},I_="GatewayModelNotFoundError",eV=`vercel.ai.gateway.error.${I_}`,ZS=Symbol.for(eV),tV=Re(()=>Ae(_c.z.object({modelId:_c.z.string()}))),XS,e_,rV=class extends(e_=et,XS=ZS,e_){static{n(this,"GatewayModelNotFoundError")}constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:a,generationId:o}={}){super({message:e,statusCode:t,cause:a,generationId:o}),this[XS]=!0,this.name=I_,this.type="model_not_found",this.modelId=r}static isInstance(e){return et.hasMarker(e)&&ZS in e}},T_="GatewayInternalServerError",aV=`vercel.ai.gateway.error.${T_}`,t_=Symbol.for(aV),r_,a_,n_=class extends(a_=et,r_=t_,a_){static{n(this,"GatewayInternalServerError")}constructor({message:e="Internal server error",statusCode:t=500,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[r_]=!0,this.name=T_,this.type="internal_server_error"}static isInstance(e){return et.hasMarker(e)&&t_ in e}},S_="GatewayResponseError",nV=`vercel.ai.gateway.error.${S_}`,o_=Symbol.for(nV),s_,i_,oV=class extends(i_=et,s_=o_,i_){static{n(this,"GatewayResponseError")}constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:a,cause:o,generationId:s}={}){super({message:e,statusCode:t,cause:o,generationId:s}),this[s_]=!0,this.name=S_,this.type="response_error",this.response=r,this.validationError=a}static isInstance(e){return et.hasMarker(e)&&o_ in e}};async function u_({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:a,authMethod:o}){var s;let i=await Xe({value:e,schema:sV});if(!i.success){let y=typeof e=="object"&&e!==null&&"generationId"in e?e.generationId:void 0;return new oV({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:i.error,cause:a,generationId:y})}let u=i.value,l=u.error.type,c=u.error.message,f=(s=u.generationId)!=null?s:void 0;switch(l){case"authentication_error":return $s.createContextualError({apiKeyProvided:o==="api-key",oidcTokenProvided:o==="oidc",statusCode:t,cause:a,generationId:f});case"invalid_request_error":return new YW({message:c,statusCode:t,cause:a,generationId:f});case"rate_limit_exceeded":return new XW({message:c,statusCode:t,cause:a,generationId:f});case"model_not_found":{let y=await Xe({value:u.error.param,schema:tV});return new rV({message:c,statusCode:t,modelId:y.success?y.value.modelId:void 0,cause:a,generationId:f})}case"internal_server_error":return new n_({message:c,statusCode:t,cause:a,generationId:f});default:return new n_({message:c,statusCode:t,cause:a,generationId:f})}}n(u_,"createGatewayErrorFromResponse");var sV=Re(()=>Ae(Ht.z.object({error:Ht.z.object({message:Ht.z.string(),type:Ht.z.string().nullish(),param:Ht.z.unknown().nullish(),code:Ht.z.union([Ht.z.string(),Ht.z.number()]).nullish()}),generationId:Ht.z.string().nullish()}))),__="GatewayTimeoutError",iV=`vercel.ai.gateway.error.${__}`,l_=Symbol.for(iV),c_,p_,d_=class A_ extends(p_=et,c_=l_,p_){static{n(this,"_GatewayTimeoutError")}constructor({message:t="Request timed out",statusCode:r=408,cause:a,generationId:o}={}){super({message:t,statusCode:r,cause:a,generationId:o}),this[c_]=!0,this.name=__,this.type="timeout_error"}static isInstance(t){return et.hasMarker(t)&&l_ in t}static createTimeoutError({originalMessage:t,statusCode:r=408,cause:a,generationId:o}){let s=`Gateway request timed out: ${t}
65
65
 
66
- This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`;return new A_({message:s,statusCode:r,cause:a,generationId:o})}};function f_(e){if(!(e instanceof Error))return!1;let t=e.code;return typeof t=="string"?["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t):!1}n(f_,"isTimeoutError");async function ur(e,t){var r;return et.isInstance(e)?e:f_(e)?d_.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):ce.isInstance(e)?e.cause&&f_(e.cause)?d_.createTimeoutError({originalMessage:e.message,cause:e}):await u_({response:uV(e),statusCode:(r=e.statusCode)!=null?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):await u_({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}n(ur,"asGatewayError");function uV(e){if(e.data!==void 0)return e.data;if(e.responseBody!=null)try{return JSON.parse(e.responseBody)}catch{return e.responseBody}return{}}n(uV,"extractApiCallResponse");var x_="ai-gateway-auth-method";async function Wr(e){let t=await Xe({value:e[x_],schema:lV});return t.success?t.value:void 0}n(Wr,"parseAuthMethod");var lV=Re(()=>Ae(Gs.z.union([Gs.z.literal("api-key"),Gs.z.literal("oidc")]))),m_=class{static{n(this,"GatewayFetchMetadata")}constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await nc({url:`${this.config.baseURL}/config`,headers:await Pe(this.config.headers()),successfulResponseHandler:ir(cV),failedResponseHandler:At({errorSchema:xe.z.any(),errorToMessage:t=>t}),fetch:this.config.fetch});return e}catch(e){throw await ur(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await nc({url:`${e.origin}/v1/credits`,headers:await Pe(this.config.headers()),successfulResponseHandler:ir(pV),failedResponseHandler:At({errorSchema:xe.z.any(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await ur(e)}}},cV=Re(()=>Ae(xe.z.object({models:xe.z.array(xe.z.object({id:xe.z.string(),name:xe.z.string(),description:xe.z.string().nullish(),pricing:xe.z.object({input:xe.z.string(),output:xe.z.string(),input_cache_read:xe.z.string().nullish(),input_cache_write:xe.z.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:a})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...a?{cacheCreationInputTokens:a}:{}})).nullish(),specification:xe.z.object({specificationVersion:xe.z.literal("v3"),provider:xe.z.string(),modelId:xe.z.string()}),modelType:xe.z.enum(["embedding","image","language","video"]).nullish()}))}))),pV=Re(()=>Ae(xe.z.object({balance:xe.z.string(),total_used:xe.z.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),dV=class{static{n(this,"GatewayLanguageModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,o=await Pe(this.config.headers());try{let{responseHeaders:s,value:i,rawValue:u}=await sr({url:this.getUrl(),headers:tr(o,e.headers,this.getModelConfigHeaders(this.modelId,!1),await Pe(this.config.o11yHeaders)),body:t,successfulResponseHandler:ir(Yn.z.any()),failedResponseHandler:At({errorSchema:Yn.z.any(),errorToMessage:l=>l}),...a&&{abortSignal:a},fetch:this.config.fetch});return{...i,request:{body:t},response:{headers:s,body:u},warnings:r}}catch(s){throw await ur(s,await Wr(o))}}async doStream(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,o=await Pe(this.config.headers());try{let{value:s,responseHeaders:i}=await sr({url:this.getUrl(),headers:tr(o,e.headers,this.getModelConfigHeaders(this.modelId,!0),await Pe(this.config.o11yHeaders)),body:t,successfulResponseHandler:nS(Yn.z.any()),failedResponseHandler:At({errorSchema:Yn.z.any(),errorToMessage:u=>u}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:s.pipeThrough(new TransformStream({start(u){r.length>0&&u.enqueue({type:"stream-start",warnings:r})},transform(u,l){if(u.success){let c=u.value;if(c.type==="raw"&&!e.includeRawChunks)return;c.type==="response-metadata"&&c.timestamp&&typeof c.timestamp=="string"&&(c.timestamp=new Date(c.timestamp)),l.enqueue(c)}else l.error(u.error)}})),request:{body:t},response:{headers:i}}}catch(s){throw await ur(s,await Wr(o))}}isFilePart(e){return e&&typeof e=="object"&&"type"in e&&e.type==="file"}maybeEncodeFileParts(e){for(let t of e.prompt)for(let r of t.content)if(this.isFilePart(r)){let a=r;if(a.data instanceof Uint8Array){let o=Uint8Array.from(a.data),s=Buffer.from(o).toString("base64");a.data=new URL(`data:${a.mediaType||"application/octet-stream"};base64,${s}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"3","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},fV=class{static{n(this,"GatewayEmbeddingModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:a}){var o;let s=await Pe(this.config.headers());try{let{responseHeaders:i,value:u,rawValue:l}=await sr({url:this.getUrl(),headers:tr(s,t??{},this.getModelConfigHeaders(),await Pe(this.config.o11yHeaders)),body:{values:e,...a?{providerOptions:a}:{}},successfulResponseHandler:ir(mV),failedResponseHandler:At({errorSchema:wt.z.any(),errorToMessage:c=>c}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:u.embeddings,usage:(o=u.usage)!=null?o:void 0,providerMetadata:u.providerMetadata,response:{headers:i,body:l},warnings:[]}}catch(i){throw await ur(i,await Wr(s))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},mV=Re(()=>Ae(wt.z.object({embeddings:wt.z.array(wt.z.array(wt.z.number())),usage:wt.z.object({tokens:wt.z.number()}).nullish(),providerMetadata:wt.z.record(wt.z.string(),wt.z.record(wt.z.string(),wt.z.unknown())).optional()}))),gV=class{static{n(this,"GatewayImageModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:a,seed:o,files:s,mask:i,providerOptions:u,headers:l,abortSignal:c}){var f,y,h,b;let D=await Pe(this.config.headers());try{let{responseHeaders:I,value:S,rawValue:E}=await sr({url:this.getUrl(),headers:tr(D,l??{},this.getModelConfigHeaders(),await Pe(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...a&&{aspectRatio:a},...o&&{seed:o},...u&&{providerOptions:u},...s&&{files:s.map(U=>g_(U))},...i&&{mask:g_(i)}},successfulResponseHandler:ir(bV),failedResponseHandler:At({errorSchema:ue.z.any(),errorToMessage:U=>U}),...c&&{abortSignal:c},fetch:this.config.fetch});return{images:S.images,warnings:(f=S.warnings)!=null?f:[],providerMetadata:S.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:I},...S.usage!=null&&{usage:{inputTokens:(y=S.usage.inputTokens)!=null?y:void 0,outputTokens:(h=S.usage.outputTokens)!=null?h:void 0,totalTokens:(b=S.usage.totalTokens)!=null?b:void 0}}}}catch(I){throw await ur(I,await Wr(D))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function g_(e){return e.type==="file"&&e.data instanceof Uint8Array?{...e,data:rr(e.data)}:e}n(g_,"maybeEncodeImageFile");var hV=ue.z.object({images:ue.z.array(ue.z.unknown()).optional()}).catchall(ue.z.unknown()),yV=ue.z.discriminatedUnion("type",[ue.z.object({type:ue.z.literal("unsupported"),feature:ue.z.string(),details:ue.z.string().optional()}),ue.z.object({type:ue.z.literal("compatibility"),feature:ue.z.string(),details:ue.z.string().optional()}),ue.z.object({type:ue.z.literal("other"),message:ue.z.string()})]),vV=ue.z.object({inputTokens:ue.z.number().nullish(),outputTokens:ue.z.number().nullish(),totalTokens:ue.z.number().nullish()}),bV=ue.z.object({images:ue.z.array(ue.z.string()),warnings:ue.z.array(yV).optional(),providerMetadata:ue.z.record(ue.z.string(),hV).optional(),usage:vV.optional()}),wV=class{static{n(this,"GatewayVideoModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,aspectRatio:r,resolution:a,duration:o,fps:s,seed:i,image:u,providerOptions:l,headers:c,abortSignal:f}){var y;let h=await Pe(this.config.headers());try{let{responseHeaders:b,value:D}=await sr({url:this.getUrl(),headers:tr(h,c??{},this.getModelConfigHeaders(),await Pe(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:e,n:t,...r&&{aspectRatio:r},...a&&{resolution:a},...o&&{duration:o},...s&&{fps:s},...i&&{seed:i},...l&&{providerOptions:l},...u&&{image:IV(u)}},successfulResponseHandler:async({response:I,url:S,requestBodyValues:E})=>{if(I.body==null)throw new ce({message:"SSE response body is empty",url:S,requestBodyValues:E,statusCode:I.status});let V=sc({stream:I.body,schema:AV}).getReader(),{done:de,value:Z}=await V.read();if(V.releaseLock(),de||!Z)throw new ce({message:"SSE stream ended without a data event",url:S,requestBodyValues:E,statusCode:I.status});if(!Z.success)throw new ce({message:"Failed to parse video SSE event",cause:Z.error,url:S,requestBodyValues:E,statusCode:I.status});let X=Z.value;if(X.type==="error")throw new ce({message:X.message,statusCode:X.statusCode,url:S,requestBodyValues:E,responseHeaders:Object.fromEntries([...I.headers]),responseBody:JSON.stringify(X),data:{error:{message:X.message,type:X.errorType,param:X.param}}});return{value:{videos:X.videos,warnings:X.warnings,providerMetadata:X.providerMetadata},responseHeaders:Object.fromEntries([...I.headers])}},failedResponseHandler:At({errorSchema:W.z.any(),errorToMessage:I=>I}),...f&&{abortSignal:f},fetch:this.config.fetch});return{videos:D.videos,warnings:(y=D.warnings)!=null?y:[],providerMetadata:D.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:b}}}catch(b){throw await ur(b,await Wr(h))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}};function IV(e){return e.type==="file"&&e.data instanceof Uint8Array?{...e,data:rr(e.data)}:e}n(IV,"maybeEncodeVideoFile");var TV=W.z.object({videos:W.z.array(W.z.unknown()).optional()}).catchall(W.z.unknown()),SV=W.z.union([W.z.object({type:W.z.literal("url"),url:W.z.string(),mediaType:W.z.string()}),W.z.object({type:W.z.literal("base64"),data:W.z.string(),mediaType:W.z.string()})]),_V=W.z.discriminatedUnion("type",[W.z.object({type:W.z.literal("unsupported"),feature:W.z.string(),details:W.z.string().optional()}),W.z.object({type:W.z.literal("compatibility"),feature:W.z.string(),details:W.z.string().optional()}),W.z.object({type:W.z.literal("other"),message:W.z.string()})]),AV=W.z.discriminatedUnion("type",[W.z.object({type:W.z.literal("result"),videos:W.z.array(SV),warnings:W.z.array(_V).optional(),providerMetadata:W.z.record(W.z.string(),TV).optional()}),W.z.object({type:W.z.literal("error"),message:W.z.string(),errorType:W.z.string(),statusCode:W.z.number(),param:W.z.unknown().nullable()})]),xV=Re(()=>Ae(ae.z.object({objective:ae.z.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:ae.z.array(ae.z.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:ae.z.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:ae.z.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:ae.z.object({include_domains:ae.z.array(ae.z.string()).optional().describe("List of domains to include in search results."),exclude_domains:ae.z.array(ae.z.string()).optional().describe("List of domains to exclude from search results."),after_date:ae.z.string().optional().describe("Only include results published after this date (ISO 8601 format).")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:ae.z.object({max_chars_per_result:ae.z.number().optional().describe("Maximum characters per result."),max_chars_total:ae.z.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:ae.z.object({max_age_seconds:ae.z.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),EV=Re(()=>Ae(ae.z.union([ae.z.object({searchId:ae.z.string(),results:ae.z.array(ae.z.object({url:ae.z.string(),title:ae.z.string(),excerpt:ae.z.string(),publishDate:ae.z.string().nullable().optional(),relevanceScore:ae.z.number().optional()}))}),ae.z.object({error:ae.z.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:ae.z.number().optional(),message:ae.z.string()})]))),RV=Ds({id:"gateway.parallel_search",inputSchema:xV,outputSchema:EV}),OV=n((e={})=>RV(e),"parallelSearch"),CV=Re(()=>Ae(ee.z.object({query:ee.z.union([ee.z.string(),ee.z.array(ee.z.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:ee.z.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:ee.z.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:ee.z.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:ee.z.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:ee.z.array(ee.z.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:ee.z.array(ee.z.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:ee.z.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:ee.z.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:ee.z.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:ee.z.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:ee.z.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),MV=Re(()=>Ae(ee.z.union([ee.z.object({results:ee.z.array(ee.z.object({title:ee.z.string(),url:ee.z.string(),snippet:ee.z.string(),date:ee.z.string().optional(),lastUpdated:ee.z.string().optional()})),id:ee.z.string()}),ee.z.object({error:ee.z.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:ee.z.number().optional(),message:ee.z.string()})]))),PV=Ds({id:"gateway.perplexity_search",inputSchema:CV,outputSchema:MV}),kV=n((e={})=>PV(e),"perplexitySearch"),NV={parallelSearch:OV,perplexitySearch:kV};async function DV(){var e;return(e=(0,E_.getContext)().headers)==null?void 0:e["x-vercel-id"]}n(DV,"getVercelRequestId");var qV="3.0.58",UV="0.0.1";function LV(e={}){var t,r;let a=null,o=null,s=(t=e.metadataCacheRefreshMillis)!=null?t:1e3*60*5,i=0,u=(r=oS(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v3/ai",l=n(async()=>{try{let I=await jV(e);return nr({Authorization:`Bearer ${I.token}`,"ai-gateway-protocol-version":UV,[x_]:I.authMethod,...e.headers},`ai-sdk/gateway/${qV}`)}catch(I){throw $s.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:I})}},"getHeaders"),c=n(()=>{let I=Sa({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),S=Sa({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),E=Sa({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),U=Sa({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let V=await DV();return{...I&&{"ai-o11y-deployment-id":I},...S&&{"ai-o11y-environment":S},...E&&{"ai-o11y-region":E},...V&&{"ai-o11y-request-id":V},...U&&{"ai-o11y-project-id":U}}}},"createO11yHeaders"),f=n(I=>new dV(I,{provider:"gateway",baseURL:u,headers:l,fetch:e.fetch,o11yHeaders:c()}),"createLanguageModel"),y=n(async()=>{var I,S,E;let U=(E=(S=(I=e._internal)==null?void 0:I.currentDate)==null?void 0:S.call(I).getTime())!=null?E:Date.now();return(!a||U-i>s)&&(i=U,a=new m_({baseURL:u,headers:l,fetch:e.fetch}).getAvailableModels().then(V=>(o=V,V)).catch(async V=>{throw await ur(V,await Wr(await l()))})),o?Promise.resolve(o):a},"getAvailableModels"),h=n(async()=>new m_({baseURL:u,headers:l,fetch:e.fetch}).getCredits().catch(async I=>{throw await ur(I,await Wr(await l()))}),"getCredits"),b=n(function(I){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return f(I)},"provider");b.specificationVersion="v3",b.getAvailableModels=y,b.getCredits=h,b.imageModel=I=>new gV(I,{provider:"gateway",baseURL:u,headers:l,fetch:e.fetch,o11yHeaders:c()}),b.languageModel=f;let D=n(I=>new fV(I,{provider:"gateway",baseURL:u,headers:l,fetch:e.fetch,o11yHeaders:c()}),"createEmbeddingModel");return b.embeddingModel=D,b.textEmbeddingModel=D,b.videoModel=I=>new wV(I,{provider:"gateway",baseURL:u,headers:l,fetch:e.fetch,o11yHeaders:c()}),b.chat=b.languageModel,b.embedding=b.embeddingModel,b.image=b.imageModel,b.video=b.videoModel,b.tools=NV,b}n(LV,"createGatewayProvider");var O_=LV();async function jV(e){let t=Sa({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await(0,R_.getVercelOidcToken)(),authMethod:"oidc"}}n(jV,"getGatewayAuthToken");var Ma=require("zod/v4");var QA=require("zod/v4"),Oe=require("zod/v4"),to=require("zod/v4"),Kt=require("zod/v4"),T=require("zod/v4");var C_=typeof globalThis=="object"?globalThis:global;var lr="1.9.0";var M_=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function FV(e){var t=new Set([e]),r=new Set,a=e.match(M_);if(!a)return function(){return!1};var o={major:+a[1],minor:+a[2],patch:+a[3],prerelease:a[4]};if(o.prerelease!=null)return n(function(l){return l===e},"isExactmatch");function s(u){return r.add(u),!1}n(s,"_reject");function i(u){return t.add(u),!0}return n(i,"_accept"),n(function(l){if(t.has(l))return!0;if(r.has(l))return!1;var c=l.match(M_);if(!c)return s(l);var f={major:+c[1],minor:+c[2],patch:+c[3],prerelease:c[4]};return f.prerelease!=null||o.major!==f.major?s(l):o.major===0?o.minor===f.minor&&o.patch<=f.patch?i(l):s(l):o.minor<=f.minor?i(l):s(l)},"isCompatible")}n(FV,"_makeCompatibilityCheck");var P_=FV(lr);var BV=lr.split(".")[0],zn=Symbol.for("opentelemetry.js.api."+BV),Zn=C_;function xa(e,t,r,a){var o;a===void 0&&(a=!1);var s=Zn[zn]=(o=Zn[zn])!==null&&o!==void 0?o:{version:lr};if(!a&&s[e]){var i=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(i.stack||i.message),!1}if(s.version!==lr){var i=new Error("@opentelemetry/api: Registration of version v"+s.version+" for "+e+" does not match previously registered API v"+lr);return r.error(i.stack||i.message),!1}return s[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+lr+"."),!0}n(xa,"registerGlobal");function cr(e){var t,r,a=(t=Zn[zn])===null||t===void 0?void 0:t.version;if(!(!a||!P_(a)))return(r=Zn[zn])===null||r===void 0?void 0:r[e]}n(cr,"getGlobal");function Ea(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+lr+".");var r=Zn[zn];r&&delete r[e]}n(Ea,"unregisterGlobal");var GV=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a=r.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s},$V=function(e,t,r){if(r||arguments.length===2)for(var a=0,o=t.length,s;a<o;a++)(s||!(a in t))&&(s||(s=Array.prototype.slice.call(t,0,a)),s[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))},k_=function(){function e(t){this._namespace=t.namespace||"DiagComponentLogger"}return n(e,"DiagComponentLogger"),e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("verbose",this._namespace,t)},e}();function Xn(e,t,r){var a=cr("diag");if(a)return r.unshift(t),a[e].apply(a,$V([],GV(r),!1))}n(Xn,"logProxy");var tt;(function(e){e[e.NONE=0]="NONE",e[e.ERROR=30]="ERROR",e[e.WARN=50]="WARN",e[e.INFO=60]="INFO",e[e.DEBUG=70]="DEBUG",e[e.VERBOSE=80]="VERBOSE",e[e.ALL=9999]="ALL"})(tt||(tt={}));function N_(e,t){e<tt.NONE?e=tt.NONE:e>tt.ALL&&(e=tt.ALL),t=t||{};function r(a,o){var s=t[a];return typeof s=="function"&&e>=o?s.bind(t):function(){}}return n(r,"_filterFunc"),{error:r("error",tt.ERROR),warn:r("warn",tt.WARN),info:r("info",tt.INFO),debug:r("debug",tt.DEBUG),verbose:r("verbose",tt.VERBOSE)}}n(N_,"createLogLevelDiagLogger");var WV=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a=r.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s},VV=function(e,t,r){if(r||arguments.length===2)for(var a=0,o=t.length,s;a<o;a++)(s||!(a in t))&&(s||(s=Array.prototype.slice.call(t,0,a)),s[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))},QV="diag",Ra=function(){function e(){function t(o){return function(){for(var s=[],i=0;i<arguments.length;i++)s[i]=arguments[i];var u=cr("diag");if(u)return u[o].apply(u,VV([],WV(s),!1))}}n(t,"_logProxy");var r=this,a=n(function(o,s){var i,u,l;if(s===void 0&&(s={logLevel:tt.INFO}),o===r){var c=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((i=c.stack)!==null&&i!==void 0?i:c.message),!1}typeof s=="number"&&(s={logLevel:s});var f=cr("diag"),y=N_((u=s.logLevel)!==null&&u!==void 0?u:tt.INFO,o);if(f&&!s.suppressOverrideMessage){var h=(l=new Error().stack)!==null&&l!==void 0?l:"<failed to generate stacktrace>";f.warn("Current logger will be overwritten from "+h),y.warn("Current logger will overwrite one already registered from "+h)}return xa("diag",y,r,!0)},"setLogger");r.setLogger=a,r.disable=function(){Ea(QV,r)},r.createComponentLogger=function(o){return new k_(o)},r.verbose=t("verbose"),r.debug=t("debug"),r.info=t("info"),r.warn=t("warn"),r.error=t("error")}return n(e,"DiagAPI"),e.instance=function(){return this._instance||(this._instance=new e),this._instance},e}();function D_(e){return Symbol.for(e)}n(D_,"createContextKey");var HV=function(){function e(t){var r=this;r._currentContext=t?new Map(t):new Map,r.getValue=function(a){return r._currentContext.get(a)},r.setValue=function(a,o){var s=new e(r._currentContext);return s._currentContext.set(a,o),s},r.deleteValue=function(a){var o=new e(r._currentContext);return o._currentContext.delete(a),o}}return n(e,"BaseContext"),e}(),q_=new HV;var KV=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a=r.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s},JV=function(e,t,r){if(r||arguments.length===2)for(var a=0,o=t.length,s;a<o;a++)(s||!(a in t))&&(s||(s=Array.prototype.slice.call(t,0,a)),s[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))},U_=function(){function e(){}return n(e,"NoopContextManager"),e.prototype.active=function(){return q_},e.prototype.with=function(t,r,a){for(var o=[],s=3;s<arguments.length;s++)o[s-3]=arguments[s];return r.call.apply(r,JV([a],KV(o),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e}();var YV=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a=r.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s},zV=function(e,t,r){if(r||arguments.length===2)for(var a=0,o=t.length,s;a<o;a++)(s||!(a in t))&&(s||(s=Array.prototype.slice.call(t,0,a)),s[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))},Ac="context",ZV=new U_,Oa=function(){function e(){}return n(e,"ContextAPI"),e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return xa(Ac,t,Ra.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(t,r,a){for(var o,s=[],i=3;i<arguments.length;i++)s[i-3]=arguments[i];return(o=this._getContextManager()).with.apply(o,zV([t,r,a],YV(s),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return cr(Ac)||ZV},e.prototype.disable=function(){this._getContextManager().disable(),Ea(Ac,Ra.instance())},e}();var Ws;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(Ws||(Ws={}));var xc="0000000000000000",Ec="00000000000000000000000000000000",L_={traceId:Ec,spanId:xc,traceFlags:Ws.NONE};var Ar=function(){function e(t){t===void 0&&(t=L_),this._spanContext=t}return n(e,"NonRecordingSpan"),e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(t,r){return this},e.prototype.setAttributes=function(t){return this},e.prototype.addEvent=function(t,r){return this},e.prototype.addLink=function(t){return this},e.prototype.addLinks=function(t){return this},e.prototype.setStatus=function(t){return this},e.prototype.updateName=function(t){return this},e.prototype.end=function(t){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(t,r){},e}();var Rc=D_("OpenTelemetry Context Key SPAN");function Vs(e){return e.getValue(Rc)||void 0}n(Vs,"getSpan");function j_(){return Vs(Oa.getInstance().active())}n(j_,"getActiveSpan");function eo(e,t){return e.setValue(Rc,t)}n(eo,"setSpan");function F_(e){return e.deleteValue(Rc)}n(F_,"deleteSpan");function B_(e,t){return eo(e,new Ar(t))}n(B_,"setSpanContext");function Qs(e){var t;return(t=Vs(e))===null||t===void 0?void 0:t.spanContext()}n(Qs,"getSpanContext");var XV=/^([0-9a-f]{32})$/i,e4=/^[0-9a-f]{16}$/i;function t4(e){return XV.test(e)&&e!==Ec}n(t4,"isValidTraceId");function r4(e){return e4.test(e)&&e!==xc}n(r4,"isValidSpanId");function Hs(e){return t4(e.traceId)&&r4(e.spanId)}n(Hs,"isSpanContextValid");function G_(e){return new Ar(e)}n(G_,"wrapSpanContext");var Oc=Oa.getInstance(),Ks=function(){function e(){}return n(e,"NoopTracer"),e.prototype.startSpan=function(t,r,a){a===void 0&&(a=Oc.active());var o=!!r?.root;if(o)return new Ar;var s=a&&Qs(a);return a4(s)&&Hs(s)?new Ar(s):new Ar},e.prototype.startActiveSpan=function(t,r,a,o){var s,i,u;if(!(arguments.length<2)){arguments.length===2?u=r:arguments.length===3?(s=r,u=a):(s=r,i=a,u=o);var l=i??Oc.active(),c=this.startSpan(t,s,l),f=eo(l,c);return Oc.with(f,u,void 0,c)}},e}();function a4(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}n(a4,"isSpanContext");var n4=new Ks,$_=function(){function e(t,r,a,o){this._provider=t,this.name=r,this.version=a,this.options=o}return n(e,"ProxyTracer"),e.prototype.startSpan=function(t,r,a){return this._getTracer().startSpan(t,r,a)},e.prototype.startActiveSpan=function(t,r,a,o){var s=this._getTracer();return Reflect.apply(s.startActiveSpan,s,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var t=this._provider.getDelegateTracer(this.name,this.version,this.options);return t?(this._delegate=t,this._delegate):n4},e}();var W_=function(){function e(){}return n(e,"NoopTracerProvider"),e.prototype.getTracer=function(t,r,a){return new Ks},e}();var o4=new W_,Cc=function(){function e(){}return n(e,"ProxyTracerProvider"),e.prototype.getTracer=function(t,r,a){var o;return(o=this.getDelegateTracer(t,r,a))!==null&&o!==void 0?o:new $_(this,t,r,a)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:o4},e.prototype.setDelegate=function(t){this._delegate=t},e.prototype.getDelegateTracer=function(t,r,a){var o;return(o=this._delegate)===null||o===void 0?void 0:o.getTracer(t,r,a)},e}();var Ca;(function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"})(Ca||(Ca={}));var Js=Oa.getInstance();var Mc="trace",V_=function(){function e(){this._proxyTracerProvider=new Cc,this.wrapSpanContext=G_,this.isSpanContextValid=Hs,this.deleteSpan=F_,this.getSpan=Vs,this.getActiveSpan=j_,this.getSpanContext=Qs,this.setSpan=eo,this.setSpanContext=B_}return n(e,"TraceAPI"),e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=xa(Mc,this._proxyTracerProvider,Ra.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return cr(Mc)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){Ea(Mc,Ra.instance()),this._proxyTracerProvider=new Cc},e}();var Pc=V_.getInstance();var w=require("zod/v4");var m=require("zod/v4");var i4=Object.defineProperty,u4=n((e,t)=>{for(var r in t)i4(e,r,{get:t[r],enumerable:!0})},"__export"),nA="AI_InvalidArgumentError",oA=`vercel.ai.error.${nA}`,l4=Symbol.for(oA),sA,Jt=class extends C{static{n(this,"InvalidArgumentError")}constructor({parameter:e,value:t,message:r}){super({name:nA,message:`Invalid argument for parameter ${e}: ${r}`}),this[sA]=!0,this.parameter=e,this.value=t}static isInstance(e){return C.hasMarker(e,oA)}};sA=l4;var c4="AI_InvalidStreamPartError",p4=`vercel.ai.error.${c4}`,d4=Symbol.for(p4),f4;f4=d4;var iA="AI_InvalidToolApprovalError",uA=`vercel.ai.error.${iA}`,m4=Symbol.for(uA),lA,g4=class extends C{static{n(this,"InvalidToolApprovalError")}constructor({approvalId:e}){super({name:iA,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[lA]=!0,this.approvalId=e}static isInstance(e){return C.hasMarker(e,uA)}};lA=m4;var cA="AI_InvalidToolInputError",pA=`vercel.ai.error.${cA}`,h4=Symbol.for(pA),dA,Uc=class extends C{static{n(this,"InvalidToolInputError")}constructor({toolInput:e,toolName:t,cause:r,message:a=`Invalid input for tool ${t}: ${Sr(r)}`}){super({name:cA,message:a,cause:r}),this[dA]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return C.hasMarker(e,pA)}};dA=h4;var fA="AI_ToolCallNotFoundForApprovalError",mA=`vercel.ai.error.${fA}`,y4=Symbol.for(mA),gA,hA=class extends C{static{n(this,"ToolCallNotFoundForApprovalError")}constructor({toolCallId:e,approvalId:t}){super({name:fA,message:`Tool call "${e}" not found for approval request "${t}".`}),this[gA]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return C.hasMarker(e,mA)}};gA=y4;var yA="AI_MissingToolResultsError",vA=`vercel.ai.error.${yA}`,v4=Symbol.for(vA),bA,Q_=class extends C{static{n(this,"MissingToolResultsError")}constructor({toolCallIds:e}){super({name:yA,message:`Tool result${e.length>1?"s are":" is"} missing for tool call${e.length>1?"s":""} ${e.join(", ")}.`}),this[bA]=!0,this.toolCallIds=e}static isInstance(e){return C.hasMarker(e,vA)}};bA=v4;var b4="AI_NoImageGeneratedError",w4=`vercel.ai.error.${b4}`,I4=Symbol.for(w4),T4;T4=I4;var wA="AI_NoObjectGeneratedError",IA=`vercel.ai.error.${wA}`,S4=Symbol.for(IA),TA,xr=class extends C{static{n(this,"NoObjectGeneratedError")}constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:o,finishReason:s}){super({name:wA,message:e,cause:t}),this[TA]=!0,this.text=r,this.response=a,this.usage=o,this.finishReason=s}static isInstance(e){return C.hasMarker(e,IA)}};TA=S4;var SA="AI_NoOutputGeneratedError",_A=`vercel.ai.error.${SA}`,_4=Symbol.for(_A),AA,A4=class extends C{static{n(this,"NoOutputGeneratedError")}constructor({message:e="No output generated.",cause:t}={}){super({name:SA,message:e,cause:t}),this[AA]=!0}static isInstance(e){return C.hasMarker(e,_A)}};AA=_4;var x4="AI_NoSpeechGeneratedError",E4=`vercel.ai.error.${x4}`,R4=Symbol.for(E4),O4;O4=R4;var C4="AI_NoTranscriptGeneratedError",M4=`vercel.ai.error.${C4}`,P4=Symbol.for(M4),k4;k4=P4;var N4="AI_NoVideoGeneratedError",D4=`vercel.ai.error.${N4}`,q4=Symbol.for(D4),U4;U4=q4;var xA="AI_NoSuchToolError",EA=`vercel.ai.error.${xA}`,L4=Symbol.for(EA),RA,Nc=class extends C{static{n(this,"NoSuchToolError")}constructor({toolName:e,availableTools:t=void 0,message:r=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:xA,message:r}),this[RA]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return C.hasMarker(e,EA)}};RA=L4;var OA="AI_ToolCallRepairError",CA=`vercel.ai.error.${OA}`,j4=Symbol.for(CA),MA,F4=class extends C{static{n(this,"ToolCallRepairError")}constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${Sr(e)}`}){super({name:OA,message:r,cause:e}),this[MA]=!0,this.originalError=t}static isInstance(e){return C.hasMarker(e,CA)}};MA=j4;var B4=class extends C{static{n(this,"UnsupportedModelVersionError")}constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},G4="AI_UIMessageStreamError",$4=`vercel.ai.error.${G4}`,W4=Symbol.for($4),V4;V4=W4;var Q4="AI_InvalidDataContentError",H4=`vercel.ai.error.${Q4}`,K4=Symbol.for(H4),J4;J4=K4;var PA="AI_InvalidMessageRoleError",kA=`vercel.ai.error.${PA}`,Y4=Symbol.for(kA),NA,z4=class extends C{static{n(this,"InvalidMessageRoleError")}constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:PA,message:t}),this[NA]=!0,this.role=e}static isInstance(e){return C.hasMarker(e,kA)}};NA=Y4;var Z4="AI_MessageConversionError",X4=`vercel.ai.error.${Z4}`,e3=Symbol.for(X4),t3;t3=e3;var DA="AI_RetryError",qA=`vercel.ai.error.${DA}`,r3=Symbol.for(qA),UA,H_=class extends C{static{n(this,"RetryError")}constructor({message:e,reason:t,errors:r}){super({name:DA,message:e}),this[UA]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return C.hasMarker(e,qA)}};UA=r3;function Zs(e){return e===void 0?[]:Array.isArray(e)?e:[e]}n(Zs,"asArray");async function Vr(e){for(let t of Zs(e.callbacks))try{await t(e.event)}catch{}}n(Vr,"notify");function a3({warning:e,provider:t,model:r}){let a=`AI SDK Warning (${t} / ${r}):`;switch(e.type){case"unsupported":{let o=`${a} The feature "${e.feature}" is not supported.`;return e.details&&(o+=` ${e.details}`),o}case"compatibility":{let o=`${a} The feature "${e.feature}" is used in a compatibility mode.`;return e.details&&(o+=` ${e.details}`),o}case"other":return`${a} ${e.message}`;default:return`${a} ${JSON.stringify(e,null,2)}`}}n(a3,"formatWarning");var n3="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",K_=!1,LA=n(e=>{if(e.warnings.length===0)return;let t=globalThis.AI_SDK_LOG_WARNINGS;if(t!==!1){if(typeof t=="function"){t(e);return}K_||(K_=!0,console.info(n3));for(let r of e.warnings)console.warn(a3({warning:r,provider:e.provider,model:e.model}))}},"logWarnings");function o3({provider:e,modelId:t}){LA({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:e,model:t})}n(o3,"logV2CompatibilityWarning");function s3(e){return e.specificationVersion==="v3"?e:(o3({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,r){switch(r){case"specificationVersion":return"v3";case"doGenerate":return async(...a)=>{let o=await t.doGenerate(...a);return{...o,finishReason:jA(o.finishReason),usage:FA(o.usage)}};case"doStream":return async(...a)=>{let o=await t.doStream(...a);return{...o,stream:i3(o.stream)}};default:return t[r]}}}))}n(s3,"asLanguageModelV3");function i3(e){return e.pipeThrough(new TransformStream({transform(t,r){switch(t.type){case"finish":r.enqueue({...t,finishReason:jA(t.finishReason),usage:FA(t.usage)});break;default:r.enqueue(t);break}}}))}n(i3,"convertV2StreamToV3");function jA(e){return{unified:e==="unknown"?"other":e,raw:void 0}}n(jA,"convertV2FinishReasonToV3");function FA(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens}}}n(FA,"convertV2UsageToV3");function J_(e){if(typeof e!="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){let t=e;throw new B4({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return s3(e)}return u3().languageModel(e)}n(J_,"resolveLanguageModel");function u3(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:O_}n(u3,"getGlobalProvider");function BA(e){if(e!=null)return typeof e=="number"?e:e.totalMs}n(BA,"getTotalTimeoutMs");function l3(e){if(!(e==null||typeof e=="number"))return e.stepMs}n(l3,"getStepTimeoutMs");var c3=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}];var p3=n(e=>{let t=typeof e=="string"?Ta(e):e,r=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(r+10)},"stripID3");function d3(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?p3(e):e}n(d3,"stripID3TagsIfPresent");function f3({data:e,signatures:t}){let r=d3(e),a=typeof r=="string"?Ta(r.substring(0,Math.min(r.length,24))):r;for(let o of t)if(a.length>=o.bytesPrefix.length&&o.bytesPrefix.every((s,i)=>s===null||a[i]===s))return o.mediaType}n(f3,"detectMediaType");var GA="6.0.104",$A=n(async({url:e,maxBytes:t,abortSignal:r})=>{var a;let o=e.toString();try{let s=await fetch(o,{headers:nr({},`ai-sdk/${GA}`,Ps()),signal:r});if(!s.ok)throw new Ia({url:o,statusCode:s.status,statusText:s.statusText});return{data:await HT({response:s,url:o,maxBytes:t??ac}),mediaType:(a=s.headers.get("content-type"))!=null?a:void 0}}catch(s){throw Ia.isInstance(s)?s:new Ia({url:o,cause:s})}},"download"),m3=n((e=$A)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r))),"createDefaultDownloadFunction");function g3(e){try{let[t,r]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:r}}catch{return{mediaType:void 0,base64Content:void 0}}}n(g3,"splitDataUrl");var WA=Ma.z.union([Ma.z.string(),Ma.z.instanceof(Uint8Array),Ma.z.instanceof(ArrayBuffer),Ma.z.custom(e=>{var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:!1},{message:"Must be a Buffer"})]);function VA(e){if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if(typeof e=="string")try{e=new URL(e)}catch{}if(e instanceof URL&&e.protocol==="data:"){let{mediaType:t,base64Content:r}=g3(e.toString());if(t==null||r==null)throw new C({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:r,mediaType:t}}return{data:e,mediaType:void 0}}n(VA,"convertToLanguageModelV3DataContent");function h3(e){return typeof e=="string"?e:e instanceof ArrayBuffer?rr(new Uint8Array(e)):rr(e)}n(h3,"convertDataContentToBase64String");async function y3({prompt:e,supportedUrls:t,download:r=m3()}){let a=await b3(e.messages,r,t),o=new Map;for(let c of e.messages)if(c.role==="assistant"&&Array.isArray(c.content))for(let f of c.content)f.type==="tool-approval-request"&&"approvalId"in f&&"toolCallId"in f&&o.set(f.approvalId,f.toolCallId);let s=new Set;for(let c of e.messages)if(c.role==="tool"){for(let f of c.content)if(f.type==="tool-approval-response"){let y=o.get(f.approvalId);y&&s.add(y)}}let i=[...e.system!=null?typeof e.system=="string"?[{role:"system",content:e.system}]:Zs(e.system).map(c=>({role:"system",content:c.content,providerOptions:c.providerOptions})):[],...e.messages.map(c=>v3({message:c,downloadedAssets:a}))],u=[];for(let c of i){if(c.role!=="tool"){u.push(c);continue}let f=u.at(-1);f?.role==="tool"?f.content.push(...c.content):u.push(c)}let l=new Set;for(let c of u)switch(c.role){case"assistant":{for(let f of c.content)f.type==="tool-call"&&!f.providerExecuted&&l.add(f.toolCallId);break}case"tool":{for(let f of c.content)f.type==="tool-result"&&l.delete(f.toolCallId);break}case"user":case"system":for(let f of s)l.delete(f);if(l.size>0)throw new Q_({toolCallIds:Array.from(l)});break}for(let c of s)l.delete(c);if(l.size>0)throw new Q_({toolCallIds:Array.from(l)});return u.filter(c=>c.role!=="tool"||c.content.length>0)}n(y3,"convertToLanguageModelPrompt");function v3({message:e,downloadedAssets:t}){let r=e.role;switch(r){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":return typeof e.content=="string"?{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"user",content:e.content.map(a=>w3(a,t)).filter(a=>a.type!=="text"||a.text!==""),providerOptions:e.providerOptions};case"assistant":return typeof e.content=="string"?{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"assistant",content:e.content.filter(a=>a.type!=="text"||a.text!==""||a.providerOptions!=null).filter(a=>a.type!=="tool-approval-request").map(a=>{let o=a.providerOptions;switch(a.type){case"file":{let{data:s,mediaType:i}=VA(a.data);return{type:"file",data:s,filename:a.filename,mediaType:i??a.mediaType,providerOptions:o}}case"reasoning":return{type:"reasoning",text:a.text,providerOptions:o};case"text":return{type:"text",text:a.text,providerOptions:o};case"tool-call":return{type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,providerExecuted:a.providerExecuted,providerOptions:o};case"tool-result":return{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:Y_(a.output),providerOptions:o}}}),providerOptions:e.providerOptions};case"tool":return{role:"tool",content:e.content.filter(a=>a.type!=="tool-approval-response"||a.providerExecuted).map(a=>{switch(a.type){case"tool-result":return{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:Y_(a.output),providerOptions:a.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:a.approvalId,approved:a.approved,reason:a.reason}}}),providerOptions:e.providerOptions};default:{let a=r;throw new z4({role:a})}}}n(v3,"convertToLanguageModelMessage");async function b3(e,t,r){let a=e.filter(s=>s.role==="user").map(s=>s.content).filter(s=>Array.isArray(s)).flat().filter(s=>s.type==="image"||s.type==="file").map(s=>{var i;let u=(i=s.mediaType)!=null?i:s.type==="image"?"image/*":void 0,l=s.type==="image"?s.image:s.data;if(typeof l=="string")try{l=new URL(l)}catch{}return{mediaType:u,data:l}}).filter(s=>s.data instanceof URL).map(s=>({url:s.data,isUrlSupportedByModel:s.mediaType!=null&&YT({url:s.data.toString(),mediaType:s.mediaType,supportedUrls:r})})),o=await t(a);return Object.fromEntries(o.map((s,i)=>s==null?null:[a[i].url.toString(),{data:s.data,mediaType:s.mediaType}]).filter(s=>s!=null))}n(b3,"downloadAssets");function w3(e,t){var r;if(e.type==="text")return{type:"text",text:e.text,providerOptions:e.providerOptions};let a,o=e.type;switch(o){case"image":a=e.image;break;case"file":a=e.data;break;default:throw new Error(`Unsupported part type: ${o}`)}let{data:s,mediaType:i}=VA(a),u=i??e.mediaType,l=s;if(l instanceof URL){let c=t[l.toString()];c&&(l=c.data,u??(u=c.mediaType))}switch(o){case"image":return(l instanceof Uint8Array||typeof l=="string")&&(u=(r=f3({data:l,signatures:c3}))!=null?r:u),{type:"file",mediaType:u??"image/*",filename:void 0,data:l,providerOptions:e.providerOptions};case"file":{if(u==null)throw new Error("Media type is missing for file part");return{type:"file",mediaType:u,filename:e.filename,data:l,providerOptions:e.providerOptions}}}}n(w3,"convertPartToLanguageModelPart");function Y_(e){return e.type!=="content"?e:{type:"content",value:e.value.map(t=>t.type!=="media"?t:t.mediaType.startsWith("image/")?{type:"image-data",data:t.data,mediaType:t.mediaType}:{type:"file-data",data:t.data,mediaType:t.mediaType})}}n(Y_,"mapToolResultOutput");async function zs({toolCallId:e,input:t,output:r,tool:a,errorMode:o}){return o==="text"?{type:"error-text",value:Sr(r)}:o==="json"?{type:"error-json",value:z_(r)}:a?.toModelOutput?await a.toModelOutput({toolCallId:e,input:t,output:r}):typeof r=="string"?{type:"text",value:r}:{type:"json",value:z_(r)}}n(zs,"createToolModelOutput");function z_(e){return e===void 0?null:e}n(z_,"toJSONValue");function Z_({maxOutputTokens:e,temperature:t,topP:r,topK:a,presencePenalty:o,frequencyPenalty:s,seed:i,stopSequences:u}){if(e!=null){if(!Number.isInteger(e))throw new Jt({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new Jt({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(t!=null&&typeof t!="number")throw new Jt({parameter:"temperature",value:t,message:"temperature must be a number"});if(r!=null&&typeof r!="number")throw new Jt({parameter:"topP",value:r,message:"topP must be a number"});if(a!=null&&typeof a!="number")throw new Jt({parameter:"topK",value:a,message:"topK must be a number"});if(o!=null&&typeof o!="number")throw new Jt({parameter:"presencePenalty",value:o,message:"presencePenalty must be a number"});if(s!=null&&typeof s!="number")throw new Jt({parameter:"frequencyPenalty",value:s,message:"frequencyPenalty must be a number"});if(i!=null&&!Number.isInteger(i))throw new Jt({parameter:"seed",value:i,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:r,topK:a,presencePenalty:o,frequencyPenalty:s,stopSequences:u,seed:i}}n(Z_,"prepareCallSettings");function I3(e){return e!=null&&Object.keys(e).length>0}n(I3,"isNonEmptyObject");async function T3({tools:e,toolChoice:t,activeTools:r}){if(!I3(e))return{tools:void 0,toolChoice:void 0};let a=r!=null?Object.entries(e).filter(([s])=>r.includes(s)):Object.entries(e),o=[];for(let[s,i]of a){let u=i.type;switch(u){case void 0:case"dynamic":case"function":o.push({type:"function",name:s,description:i.description,inputSchema:await or(i.inputSchema).jsonSchema,...i.inputExamples!=null?{inputExamples:i.inputExamples}:{},providerOptions:i.providerOptions,...i.strict!=null?{strict:i.strict}:{}});break;case"provider":o.push({type:"provider",name:s,id:i.id,args:i.args});break;default:{let l=u;throw new Error(`Unsupported tool type: ${l}`)}}}return{tools:o,toolChoice:t==null?{type:"auto"}:typeof t=="string"?{type:t}:{type:"tool",toolName:t.toolName}}}n(T3,"prepareToolsAndToolChoice");var ro=Kt.z.lazy(()=>Kt.z.union([Kt.z.null(),Kt.z.string(),Kt.z.number(),Kt.z.boolean(),Kt.z.record(Kt.z.string(),ro.optional()),Kt.z.array(ro)])),q=to.z.record(to.z.string(),to.z.record(to.z.string(),ro.optional())),HA=T.z.object({type:T.z.literal("text"),text:T.z.string(),providerOptions:q.optional()}),S3=T.z.object({type:T.z.literal("image"),image:T.z.union([WA,T.z.instanceof(URL)]),mediaType:T.z.string().optional(),providerOptions:q.optional()}),KA=T.z.object({type:T.z.literal("file"),data:T.z.union([WA,T.z.instanceof(URL)]),filename:T.z.string().optional(),mediaType:T.z.string(),providerOptions:q.optional()}),_3=T.z.object({type:T.z.literal("reasoning"),text:T.z.string(),providerOptions:q.optional()}),A3=T.z.object({type:T.z.literal("tool-call"),toolCallId:T.z.string(),toolName:T.z.string(),input:T.z.unknown(),providerOptions:q.optional(),providerExecuted:T.z.boolean().optional()}),x3=T.z.discriminatedUnion("type",[T.z.object({type:T.z.literal("text"),value:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("json"),value:ro,providerOptions:q.optional()}),T.z.object({type:T.z.literal("execution-denied"),reason:T.z.string().optional(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("error-text"),value:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("error-json"),value:ro,providerOptions:q.optional()}),T.z.object({type:T.z.literal("content"),value:T.z.array(T.z.union([T.z.object({type:T.z.literal("text"),text:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("media"),data:T.z.string(),mediaType:T.z.string()}),T.z.object({type:T.z.literal("file-data"),data:T.z.string(),mediaType:T.z.string(),filename:T.z.string().optional(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("file-url"),url:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("file-id"),fileId:T.z.union([T.z.string(),T.z.record(T.z.string(),T.z.string())]),providerOptions:q.optional()}),T.z.object({type:T.z.literal("image-data"),data:T.z.string(),mediaType:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("image-url"),url:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("image-file-id"),fileId:T.z.union([T.z.string(),T.z.record(T.z.string(),T.z.string())]),providerOptions:q.optional()}),T.z.object({type:T.z.literal("custom"),providerOptions:q.optional()})]))})]),JA=T.z.object({type:T.z.literal("tool-result"),toolCallId:T.z.string(),toolName:T.z.string(),output:x3,providerOptions:q.optional()}),E3=T.z.object({type:T.z.literal("tool-approval-request"),approvalId:T.z.string(),toolCallId:T.z.string()}),R3=T.z.object({type:T.z.literal("tool-approval-response"),approvalId:T.z.string(),approved:T.z.boolean(),reason:T.z.string().optional()}),O3=Oe.z.object({role:Oe.z.literal("system"),content:Oe.z.string(),providerOptions:q.optional()}),C3=Oe.z.object({role:Oe.z.literal("user"),content:Oe.z.union([Oe.z.string(),Oe.z.array(Oe.z.union([HA,S3,KA]))]),providerOptions:q.optional()}),M3=Oe.z.object({role:Oe.z.literal("assistant"),content:Oe.z.union([Oe.z.string(),Oe.z.array(Oe.z.union([HA,KA,_3,A3,JA,E3]))]),providerOptions:q.optional()}),P3=Oe.z.object({role:Oe.z.literal("tool"),content:Oe.z.array(Oe.z.union([JA,R3])),providerOptions:q.optional()}),k3=Oe.z.union([O3,C3,M3,P3]);async function N3(e){if(e.prompt==null&&e.messages==null)throw new Fr({prompt:e,message:"prompt or messages must be defined"});if(e.prompt!=null&&e.messages!=null)throw new Fr({prompt:e,message:"prompt and messages cannot be defined at the same time"});if(e.system!=null&&typeof e.system!="string"&&!Zs(e.system).every(a=>typeof a=="object"&&a!==null&&"role"in a&&a.role==="system"))throw new Fr({prompt:e,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let t;if(e.prompt!=null&&typeof e.prompt=="string")t=[{role:"user",content:e.prompt}];else if(e.prompt!=null&&Array.isArray(e.prompt))t=e.prompt;else if(e.messages!=null)t=e.messages;else throw new Fr({prompt:e,message:"prompt or messages must be defined"});if(t.length===0)throw new Fr({prompt:e,message:"messages must not be empty"});let r=await Xe({value:t,schema:QA.z.array(k3)});if(!r.success)throw new Fr({prompt:e,message:"The messages do not match the ModelMessage[] schema.",cause:r.error});return{messages:t,system:e.system}}n(N3,"standardizePrompt");function D3(e){if(!$s.isInstance(e))return e;let t=(process==null?void 0:process.env.NODE_ENV)==="production",r="https://ai-sdk.dev/unauthenticated-ai-gateway";return t?new C({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${r}`}):Object.assign(new Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
66
+ This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`;return new A_({message:s,statusCode:r,cause:a,generationId:o})}};function f_(e){if(!(e instanceof Error))return!1;let t=e.code;return typeof t=="string"?["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t):!1}n(f_,"isTimeoutError");async function ur(e,t){var r;return et.isInstance(e)?e:f_(e)?d_.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):ce.isInstance(e)?e.cause&&f_(e.cause)?d_.createTimeoutError({originalMessage:e.message,cause:e}):await u_({response:uV(e),statusCode:(r=e.statusCode)!=null?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):await u_({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}n(ur,"asGatewayError");function uV(e){if(e.data!==void 0)return e.data;if(e.responseBody!=null)try{return JSON.parse(e.responseBody)}catch{return e.responseBody}return{}}n(uV,"extractApiCallResponse");var x_="ai-gateway-auth-method";async function Wr(e){let t=await Xe({value:e[x_],schema:lV});return t.success?t.value:void 0}n(Wr,"parseAuthMethod");var lV=Re(()=>Ae(Gs.z.union([Gs.z.literal("api-key"),Gs.z.literal("oidc")]))),m_=class{static{n(this,"GatewayFetchMetadata")}constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await nc({url:`${this.config.baseURL}/config`,headers:await Pe(this.config.headers()),successfulResponseHandler:ir(cV),failedResponseHandler:At({errorSchema:xe.z.any(),errorToMessage:t=>t}),fetch:this.config.fetch});return e}catch(e){throw await ur(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await nc({url:`${e.origin}/v1/credits`,headers:await Pe(this.config.headers()),successfulResponseHandler:ir(pV),failedResponseHandler:At({errorSchema:xe.z.any(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await ur(e)}}},cV=Re(()=>Ae(xe.z.object({models:xe.z.array(xe.z.object({id:xe.z.string(),name:xe.z.string(),description:xe.z.string().nullish(),pricing:xe.z.object({input:xe.z.string(),output:xe.z.string(),input_cache_read:xe.z.string().nullish(),input_cache_write:xe.z.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:a})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...a?{cacheCreationInputTokens:a}:{}})).nullish(),specification:xe.z.object({specificationVersion:xe.z.literal("v3"),provider:xe.z.string(),modelId:xe.z.string()}),modelType:xe.z.enum(["embedding","image","language","video"]).nullish()}))}))),pV=Re(()=>Ae(xe.z.object({balance:xe.z.string(),total_used:xe.z.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),dV=class{static{n(this,"GatewayLanguageModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,o=await Pe(this.config.headers());try{let{responseHeaders:s,value:i,rawValue:u}=await sr({url:this.getUrl(),headers:tr(o,e.headers,this.getModelConfigHeaders(this.modelId,!1),await Pe(this.config.o11yHeaders)),body:t,successfulResponseHandler:ir(zn.z.any()),failedResponseHandler:At({errorSchema:zn.z.any(),errorToMessage:l=>l}),...a&&{abortSignal:a},fetch:this.config.fetch});return{...i,request:{body:t},response:{headers:s,body:u},warnings:r}}catch(s){throw await ur(s,await Wr(o))}}async doStream(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,o=await Pe(this.config.headers());try{let{value:s,responseHeaders:i}=await sr({url:this.getUrl(),headers:tr(o,e.headers,this.getModelConfigHeaders(this.modelId,!0),await Pe(this.config.o11yHeaders)),body:t,successfulResponseHandler:nS(zn.z.any()),failedResponseHandler:At({errorSchema:zn.z.any(),errorToMessage:u=>u}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:s.pipeThrough(new TransformStream({start(u){r.length>0&&u.enqueue({type:"stream-start",warnings:r})},transform(u,l){if(u.success){let c=u.value;if(c.type==="raw"&&!e.includeRawChunks)return;c.type==="response-metadata"&&c.timestamp&&typeof c.timestamp=="string"&&(c.timestamp=new Date(c.timestamp)),l.enqueue(c)}else l.error(u.error)}})),request:{body:t},response:{headers:i}}}catch(s){throw await ur(s,await Wr(o))}}isFilePart(e){return e&&typeof e=="object"&&"type"in e&&e.type==="file"}maybeEncodeFileParts(e){for(let t of e.prompt)for(let r of t.content)if(this.isFilePart(r)){let a=r;if(a.data instanceof Uint8Array){let o=Uint8Array.from(a.data),s=Buffer.from(o).toString("base64");a.data=new URL(`data:${a.mediaType||"application/octet-stream"};base64,${s}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"3","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},fV=class{static{n(this,"GatewayEmbeddingModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:a}){var o;let s=await Pe(this.config.headers());try{let{responseHeaders:i,value:u,rawValue:l}=await sr({url:this.getUrl(),headers:tr(s,t??{},this.getModelConfigHeaders(),await Pe(this.config.o11yHeaders)),body:{values:e,...a?{providerOptions:a}:{}},successfulResponseHandler:ir(mV),failedResponseHandler:At({errorSchema:wt.z.any(),errorToMessage:c=>c}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:u.embeddings,usage:(o=u.usage)!=null?o:void 0,providerMetadata:u.providerMetadata,response:{headers:i,body:l},warnings:[]}}catch(i){throw await ur(i,await Wr(s))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},mV=Re(()=>Ae(wt.z.object({embeddings:wt.z.array(wt.z.array(wt.z.number())),usage:wt.z.object({tokens:wt.z.number()}).nullish(),providerMetadata:wt.z.record(wt.z.string(),wt.z.record(wt.z.string(),wt.z.unknown())).optional()}))),gV=class{static{n(this,"GatewayImageModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:a,seed:o,files:s,mask:i,providerOptions:u,headers:l,abortSignal:c}){var f,y,h,b;let D=await Pe(this.config.headers());try{let{responseHeaders:I,value:S,rawValue:E}=await sr({url:this.getUrl(),headers:tr(D,l??{},this.getModelConfigHeaders(),await Pe(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...a&&{aspectRatio:a},...o&&{seed:o},...u&&{providerOptions:u},...s&&{files:s.map(U=>g_(U))},...i&&{mask:g_(i)}},successfulResponseHandler:ir(bV),failedResponseHandler:At({errorSchema:ue.z.any(),errorToMessage:U=>U}),...c&&{abortSignal:c},fetch:this.config.fetch});return{images:S.images,warnings:(f=S.warnings)!=null?f:[],providerMetadata:S.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:I},...S.usage!=null&&{usage:{inputTokens:(y=S.usage.inputTokens)!=null?y:void 0,outputTokens:(h=S.usage.outputTokens)!=null?h:void 0,totalTokens:(b=S.usage.totalTokens)!=null?b:void 0}}}}catch(I){throw await ur(I,await Wr(D))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function g_(e){return e.type==="file"&&e.data instanceof Uint8Array?{...e,data:rr(e.data)}:e}n(g_,"maybeEncodeImageFile");var hV=ue.z.object({images:ue.z.array(ue.z.unknown()).optional()}).catchall(ue.z.unknown()),yV=ue.z.discriminatedUnion("type",[ue.z.object({type:ue.z.literal("unsupported"),feature:ue.z.string(),details:ue.z.string().optional()}),ue.z.object({type:ue.z.literal("compatibility"),feature:ue.z.string(),details:ue.z.string().optional()}),ue.z.object({type:ue.z.literal("other"),message:ue.z.string()})]),vV=ue.z.object({inputTokens:ue.z.number().nullish(),outputTokens:ue.z.number().nullish(),totalTokens:ue.z.number().nullish()}),bV=ue.z.object({images:ue.z.array(ue.z.string()),warnings:ue.z.array(yV).optional(),providerMetadata:ue.z.record(ue.z.string(),hV).optional(),usage:vV.optional()}),wV=class{static{n(this,"GatewayVideoModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,aspectRatio:r,resolution:a,duration:o,fps:s,seed:i,image:u,providerOptions:l,headers:c,abortSignal:f}){var y;let h=await Pe(this.config.headers());try{let{responseHeaders:b,value:D}=await sr({url:this.getUrl(),headers:tr(h,c??{},this.getModelConfigHeaders(),await Pe(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:e,n:t,...r&&{aspectRatio:r},...a&&{resolution:a},...o&&{duration:o},...s&&{fps:s},...i&&{seed:i},...l&&{providerOptions:l},...u&&{image:IV(u)}},successfulResponseHandler:async({response:I,url:S,requestBodyValues:E})=>{if(I.body==null)throw new ce({message:"SSE response body is empty",url:S,requestBodyValues:E,statusCode:I.status});let V=sc({stream:I.body,schema:AV}).getReader(),{done:de,value:Z}=await V.read();if(V.releaseLock(),de||!Z)throw new ce({message:"SSE stream ended without a data event",url:S,requestBodyValues:E,statusCode:I.status});if(!Z.success)throw new ce({message:"Failed to parse video SSE event",cause:Z.error,url:S,requestBodyValues:E,statusCode:I.status});let X=Z.value;if(X.type==="error")throw new ce({message:X.message,statusCode:X.statusCode,url:S,requestBodyValues:E,responseHeaders:Object.fromEntries([...I.headers]),responseBody:JSON.stringify(X),data:{error:{message:X.message,type:X.errorType,param:X.param}}});return{value:{videos:X.videos,warnings:X.warnings,providerMetadata:X.providerMetadata},responseHeaders:Object.fromEntries([...I.headers])}},failedResponseHandler:At({errorSchema:W.z.any(),errorToMessage:I=>I}),...f&&{abortSignal:f},fetch:this.config.fetch});return{videos:D.videos,warnings:(y=D.warnings)!=null?y:[],providerMetadata:D.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:b}}}catch(b){throw await ur(b,await Wr(h))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}};function IV(e){return e.type==="file"&&e.data instanceof Uint8Array?{...e,data:rr(e.data)}:e}n(IV,"maybeEncodeVideoFile");var TV=W.z.object({videos:W.z.array(W.z.unknown()).optional()}).catchall(W.z.unknown()),SV=W.z.union([W.z.object({type:W.z.literal("url"),url:W.z.string(),mediaType:W.z.string()}),W.z.object({type:W.z.literal("base64"),data:W.z.string(),mediaType:W.z.string()})]),_V=W.z.discriminatedUnion("type",[W.z.object({type:W.z.literal("unsupported"),feature:W.z.string(),details:W.z.string().optional()}),W.z.object({type:W.z.literal("compatibility"),feature:W.z.string(),details:W.z.string().optional()}),W.z.object({type:W.z.literal("other"),message:W.z.string()})]),AV=W.z.discriminatedUnion("type",[W.z.object({type:W.z.literal("result"),videos:W.z.array(SV),warnings:W.z.array(_V).optional(),providerMetadata:W.z.record(W.z.string(),TV).optional()}),W.z.object({type:W.z.literal("error"),message:W.z.string(),errorType:W.z.string(),statusCode:W.z.number(),param:W.z.unknown().nullable()})]),xV=Re(()=>Ae(ae.z.object({objective:ae.z.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:ae.z.array(ae.z.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:ae.z.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:ae.z.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:ae.z.object({include_domains:ae.z.array(ae.z.string()).optional().describe("List of domains to include in search results."),exclude_domains:ae.z.array(ae.z.string()).optional().describe("List of domains to exclude from search results."),after_date:ae.z.string().optional().describe("Only include results published after this date (ISO 8601 format).")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:ae.z.object({max_chars_per_result:ae.z.number().optional().describe("Maximum characters per result."),max_chars_total:ae.z.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:ae.z.object({max_age_seconds:ae.z.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),EV=Re(()=>Ae(ae.z.union([ae.z.object({searchId:ae.z.string(),results:ae.z.array(ae.z.object({url:ae.z.string(),title:ae.z.string(),excerpt:ae.z.string(),publishDate:ae.z.string().nullable().optional(),relevanceScore:ae.z.number().optional()}))}),ae.z.object({error:ae.z.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:ae.z.number().optional(),message:ae.z.string()})]))),RV=Ds({id:"gateway.parallel_search",inputSchema:xV,outputSchema:EV}),OV=n((e={})=>RV(e),"parallelSearch"),CV=Re(()=>Ae(ee.z.object({query:ee.z.union([ee.z.string(),ee.z.array(ee.z.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:ee.z.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:ee.z.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:ee.z.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:ee.z.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:ee.z.array(ee.z.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:ee.z.array(ee.z.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:ee.z.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:ee.z.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:ee.z.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:ee.z.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:ee.z.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),MV=Re(()=>Ae(ee.z.union([ee.z.object({results:ee.z.array(ee.z.object({title:ee.z.string(),url:ee.z.string(),snippet:ee.z.string(),date:ee.z.string().optional(),lastUpdated:ee.z.string().optional()})),id:ee.z.string()}),ee.z.object({error:ee.z.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:ee.z.number().optional(),message:ee.z.string()})]))),PV=Ds({id:"gateway.perplexity_search",inputSchema:CV,outputSchema:MV}),kV=n((e={})=>PV(e),"perplexitySearch"),NV={parallelSearch:OV,perplexitySearch:kV};async function DV(){var e;return(e=(0,E_.getContext)().headers)==null?void 0:e["x-vercel-id"]}n(DV,"getVercelRequestId");var qV="3.0.58",UV="0.0.1";function LV(e={}){var t,r;let a=null,o=null,s=(t=e.metadataCacheRefreshMillis)!=null?t:1e3*60*5,i=0,u=(r=oS(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v3/ai",l=n(async()=>{try{let I=await FV(e);return nr({Authorization:`Bearer ${I.token}`,"ai-gateway-protocol-version":UV,[x_]:I.authMethod,...e.headers},`ai-sdk/gateway/${qV}`)}catch(I){throw $s.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:I})}},"getHeaders"),c=n(()=>{let I=Sa({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),S=Sa({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),E=Sa({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),U=Sa({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let V=await DV();return{...I&&{"ai-o11y-deployment-id":I},...S&&{"ai-o11y-environment":S},...E&&{"ai-o11y-region":E},...V&&{"ai-o11y-request-id":V},...U&&{"ai-o11y-project-id":U}}}},"createO11yHeaders"),f=n(I=>new dV(I,{provider:"gateway",baseURL:u,headers:l,fetch:e.fetch,o11yHeaders:c()}),"createLanguageModel"),y=n(async()=>{var I,S,E;let U=(E=(S=(I=e._internal)==null?void 0:I.currentDate)==null?void 0:S.call(I).getTime())!=null?E:Date.now();return(!a||U-i>s)&&(i=U,a=new m_({baseURL:u,headers:l,fetch:e.fetch}).getAvailableModels().then(V=>(o=V,V)).catch(async V=>{throw await ur(V,await Wr(await l()))})),o?Promise.resolve(o):a},"getAvailableModels"),h=n(async()=>new m_({baseURL:u,headers:l,fetch:e.fetch}).getCredits().catch(async I=>{throw await ur(I,await Wr(await l()))}),"getCredits"),b=n(function(I){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return f(I)},"provider");b.specificationVersion="v3",b.getAvailableModels=y,b.getCredits=h,b.imageModel=I=>new gV(I,{provider:"gateway",baseURL:u,headers:l,fetch:e.fetch,o11yHeaders:c()}),b.languageModel=f;let D=n(I=>new fV(I,{provider:"gateway",baseURL:u,headers:l,fetch:e.fetch,o11yHeaders:c()}),"createEmbeddingModel");return b.embeddingModel=D,b.textEmbeddingModel=D,b.videoModel=I=>new wV(I,{provider:"gateway",baseURL:u,headers:l,fetch:e.fetch,o11yHeaders:c()}),b.chat=b.languageModel,b.embedding=b.embeddingModel,b.image=b.imageModel,b.video=b.videoModel,b.tools=NV,b}n(LV,"createGatewayProvider");var O_=LV();async function FV(e){let t=Sa({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await(0,R_.getVercelOidcToken)(),authMethod:"oidc"}}n(FV,"getGatewayAuthToken");var Ma=require("zod/v4");var QA=require("zod/v4"),Oe=require("zod/v4"),to=require("zod/v4"),Kt=require("zod/v4"),T=require("zod/v4");var C_=typeof globalThis=="object"?globalThis:global;var lr="1.9.0";var M_=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function jV(e){var t=new Set([e]),r=new Set,a=e.match(M_);if(!a)return function(){return!1};var o={major:+a[1],minor:+a[2],patch:+a[3],prerelease:a[4]};if(o.prerelease!=null)return n(function(l){return l===e},"isExactmatch");function s(u){return r.add(u),!1}n(s,"_reject");function i(u){return t.add(u),!0}return n(i,"_accept"),n(function(l){if(t.has(l))return!0;if(r.has(l))return!1;var c=l.match(M_);if(!c)return s(l);var f={major:+c[1],minor:+c[2],patch:+c[3],prerelease:c[4]};return f.prerelease!=null||o.major!==f.major?s(l):o.major===0?o.minor===f.minor&&o.patch<=f.patch?i(l):s(l):o.minor<=f.minor?i(l):s(l)},"isCompatible")}n(jV,"_makeCompatibilityCheck");var P_=jV(lr);var BV=lr.split(".")[0],Yn=Symbol.for("opentelemetry.js.api."+BV),Zn=C_;function xa(e,t,r,a){var o;a===void 0&&(a=!1);var s=Zn[Yn]=(o=Zn[Yn])!==null&&o!==void 0?o:{version:lr};if(!a&&s[e]){var i=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(i.stack||i.message),!1}if(s.version!==lr){var i=new Error("@opentelemetry/api: Registration of version v"+s.version+" for "+e+" does not match previously registered API v"+lr);return r.error(i.stack||i.message),!1}return s[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+lr+"."),!0}n(xa,"registerGlobal");function cr(e){var t,r,a=(t=Zn[Yn])===null||t===void 0?void 0:t.version;if(!(!a||!P_(a)))return(r=Zn[Yn])===null||r===void 0?void 0:r[e]}n(cr,"getGlobal");function Ea(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+lr+".");var r=Zn[Yn];r&&delete r[e]}n(Ea,"unregisterGlobal");var GV=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a=r.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s},$V=function(e,t,r){if(r||arguments.length===2)for(var a=0,o=t.length,s;a<o;a++)(s||!(a in t))&&(s||(s=Array.prototype.slice.call(t,0,a)),s[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))},k_=function(){function e(t){this._namespace=t.namespace||"DiagComponentLogger"}return n(e,"DiagComponentLogger"),e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Xn("verbose",this._namespace,t)},e}();function Xn(e,t,r){var a=cr("diag");if(a)return r.unshift(t),a[e].apply(a,$V([],GV(r),!1))}n(Xn,"logProxy");var tt;(function(e){e[e.NONE=0]="NONE",e[e.ERROR=30]="ERROR",e[e.WARN=50]="WARN",e[e.INFO=60]="INFO",e[e.DEBUG=70]="DEBUG",e[e.VERBOSE=80]="VERBOSE",e[e.ALL=9999]="ALL"})(tt||(tt={}));function N_(e,t){e<tt.NONE?e=tt.NONE:e>tt.ALL&&(e=tt.ALL),t=t||{};function r(a,o){var s=t[a];return typeof s=="function"&&e>=o?s.bind(t):function(){}}return n(r,"_filterFunc"),{error:r("error",tt.ERROR),warn:r("warn",tt.WARN),info:r("info",tt.INFO),debug:r("debug",tt.DEBUG),verbose:r("verbose",tt.VERBOSE)}}n(N_,"createLogLevelDiagLogger");var WV=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a=r.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s},VV=function(e,t,r){if(r||arguments.length===2)for(var a=0,o=t.length,s;a<o;a++)(s||!(a in t))&&(s||(s=Array.prototype.slice.call(t,0,a)),s[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))},QV="diag",Ra=function(){function e(){function t(o){return function(){for(var s=[],i=0;i<arguments.length;i++)s[i]=arguments[i];var u=cr("diag");if(u)return u[o].apply(u,VV([],WV(s),!1))}}n(t,"_logProxy");var r=this,a=n(function(o,s){var i,u,l;if(s===void 0&&(s={logLevel:tt.INFO}),o===r){var c=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((i=c.stack)!==null&&i!==void 0?i:c.message),!1}typeof s=="number"&&(s={logLevel:s});var f=cr("diag"),y=N_((u=s.logLevel)!==null&&u!==void 0?u:tt.INFO,o);if(f&&!s.suppressOverrideMessage){var h=(l=new Error().stack)!==null&&l!==void 0?l:"<failed to generate stacktrace>";f.warn("Current logger will be overwritten from "+h),y.warn("Current logger will overwrite one already registered from "+h)}return xa("diag",y,r,!0)},"setLogger");r.setLogger=a,r.disable=function(){Ea(QV,r)},r.createComponentLogger=function(o){return new k_(o)},r.verbose=t("verbose"),r.debug=t("debug"),r.info=t("info"),r.warn=t("warn"),r.error=t("error")}return n(e,"DiagAPI"),e.instance=function(){return this._instance||(this._instance=new e),this._instance},e}();function D_(e){return Symbol.for(e)}n(D_,"createContextKey");var HV=function(){function e(t){var r=this;r._currentContext=t?new Map(t):new Map,r.getValue=function(a){return r._currentContext.get(a)},r.setValue=function(a,o){var s=new e(r._currentContext);return s._currentContext.set(a,o),s},r.deleteValue=function(a){var o=new e(r._currentContext);return o._currentContext.delete(a),o}}return n(e,"BaseContext"),e}(),q_=new HV;var KV=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a=r.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s},JV=function(e,t,r){if(r||arguments.length===2)for(var a=0,o=t.length,s;a<o;a++)(s||!(a in t))&&(s||(s=Array.prototype.slice.call(t,0,a)),s[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))},U_=function(){function e(){}return n(e,"NoopContextManager"),e.prototype.active=function(){return q_},e.prototype.with=function(t,r,a){for(var o=[],s=3;s<arguments.length;s++)o[s-3]=arguments[s];return r.call.apply(r,JV([a],KV(o),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e}();var zV=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a=r.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s},YV=function(e,t,r){if(r||arguments.length===2)for(var a=0,o=t.length,s;a<o;a++)(s||!(a in t))&&(s||(s=Array.prototype.slice.call(t,0,a)),s[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))},Ac="context",ZV=new U_,Oa=function(){function e(){}return n(e,"ContextAPI"),e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return xa(Ac,t,Ra.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(t,r,a){for(var o,s=[],i=3;i<arguments.length;i++)s[i-3]=arguments[i];return(o=this._getContextManager()).with.apply(o,YV([t,r,a],zV(s),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return cr(Ac)||ZV},e.prototype.disable=function(){this._getContextManager().disable(),Ea(Ac,Ra.instance())},e}();var Ws;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(Ws||(Ws={}));var xc="0000000000000000",Ec="00000000000000000000000000000000",L_={traceId:Ec,spanId:xc,traceFlags:Ws.NONE};var Ar=function(){function e(t){t===void 0&&(t=L_),this._spanContext=t}return n(e,"NonRecordingSpan"),e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(t,r){return this},e.prototype.setAttributes=function(t){return this},e.prototype.addEvent=function(t,r){return this},e.prototype.addLink=function(t){return this},e.prototype.addLinks=function(t){return this},e.prototype.setStatus=function(t){return this},e.prototype.updateName=function(t){return this},e.prototype.end=function(t){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(t,r){},e}();var Rc=D_("OpenTelemetry Context Key SPAN");function Vs(e){return e.getValue(Rc)||void 0}n(Vs,"getSpan");function F_(){return Vs(Oa.getInstance().active())}n(F_,"getActiveSpan");function eo(e,t){return e.setValue(Rc,t)}n(eo,"setSpan");function j_(e){return e.deleteValue(Rc)}n(j_,"deleteSpan");function B_(e,t){return eo(e,new Ar(t))}n(B_,"setSpanContext");function Qs(e){var t;return(t=Vs(e))===null||t===void 0?void 0:t.spanContext()}n(Qs,"getSpanContext");var XV=/^([0-9a-f]{32})$/i,e4=/^[0-9a-f]{16}$/i;function t4(e){return XV.test(e)&&e!==Ec}n(t4,"isValidTraceId");function r4(e){return e4.test(e)&&e!==xc}n(r4,"isValidSpanId");function Hs(e){return t4(e.traceId)&&r4(e.spanId)}n(Hs,"isSpanContextValid");function G_(e){return new Ar(e)}n(G_,"wrapSpanContext");var Oc=Oa.getInstance(),Ks=function(){function e(){}return n(e,"NoopTracer"),e.prototype.startSpan=function(t,r,a){a===void 0&&(a=Oc.active());var o=!!r?.root;if(o)return new Ar;var s=a&&Qs(a);return a4(s)&&Hs(s)?new Ar(s):new Ar},e.prototype.startActiveSpan=function(t,r,a,o){var s,i,u;if(!(arguments.length<2)){arguments.length===2?u=r:arguments.length===3?(s=r,u=a):(s=r,i=a,u=o);var l=i??Oc.active(),c=this.startSpan(t,s,l),f=eo(l,c);return Oc.with(f,u,void 0,c)}},e}();function a4(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}n(a4,"isSpanContext");var n4=new Ks,$_=function(){function e(t,r,a,o){this._provider=t,this.name=r,this.version=a,this.options=o}return n(e,"ProxyTracer"),e.prototype.startSpan=function(t,r,a){return this._getTracer().startSpan(t,r,a)},e.prototype.startActiveSpan=function(t,r,a,o){var s=this._getTracer();return Reflect.apply(s.startActiveSpan,s,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var t=this._provider.getDelegateTracer(this.name,this.version,this.options);return t?(this._delegate=t,this._delegate):n4},e}();var W_=function(){function e(){}return n(e,"NoopTracerProvider"),e.prototype.getTracer=function(t,r,a){return new Ks},e}();var o4=new W_,Cc=function(){function e(){}return n(e,"ProxyTracerProvider"),e.prototype.getTracer=function(t,r,a){var o;return(o=this.getDelegateTracer(t,r,a))!==null&&o!==void 0?o:new $_(this,t,r,a)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:o4},e.prototype.setDelegate=function(t){this._delegate=t},e.prototype.getDelegateTracer=function(t,r,a){var o;return(o=this._delegate)===null||o===void 0?void 0:o.getTracer(t,r,a)},e}();var Ca;(function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"})(Ca||(Ca={}));var Js=Oa.getInstance();var Mc="trace",V_=function(){function e(){this._proxyTracerProvider=new Cc,this.wrapSpanContext=G_,this.isSpanContextValid=Hs,this.deleteSpan=j_,this.getSpan=Vs,this.getActiveSpan=F_,this.getSpanContext=Qs,this.setSpan=eo,this.setSpanContext=B_}return n(e,"TraceAPI"),e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=xa(Mc,this._proxyTracerProvider,Ra.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return cr(Mc)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){Ea(Mc,Ra.instance()),this._proxyTracerProvider=new Cc},e}();var Pc=V_.getInstance();var w=require("zod/v4");var m=require("zod/v4");var i4=Object.defineProperty,u4=n((e,t)=>{for(var r in t)i4(e,r,{get:t[r],enumerable:!0})},"__export"),nA="AI_InvalidArgumentError",oA=`vercel.ai.error.${nA}`,l4=Symbol.for(oA),sA,Jt=class extends C{static{n(this,"InvalidArgumentError")}constructor({parameter:e,value:t,message:r}){super({name:nA,message:`Invalid argument for parameter ${e}: ${r}`}),this[sA]=!0,this.parameter=e,this.value=t}static isInstance(e){return C.hasMarker(e,oA)}};sA=l4;var c4="AI_InvalidStreamPartError",p4=`vercel.ai.error.${c4}`,d4=Symbol.for(p4),f4;f4=d4;var iA="AI_InvalidToolApprovalError",uA=`vercel.ai.error.${iA}`,m4=Symbol.for(uA),lA,g4=class extends C{static{n(this,"InvalidToolApprovalError")}constructor({approvalId:e}){super({name:iA,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[lA]=!0,this.approvalId=e}static isInstance(e){return C.hasMarker(e,uA)}};lA=m4;var cA="AI_InvalidToolInputError",pA=`vercel.ai.error.${cA}`,h4=Symbol.for(pA),dA,Uc=class extends C{static{n(this,"InvalidToolInputError")}constructor({toolInput:e,toolName:t,cause:r,message:a=`Invalid input for tool ${t}: ${Sr(r)}`}){super({name:cA,message:a,cause:r}),this[dA]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return C.hasMarker(e,pA)}};dA=h4;var fA="AI_ToolCallNotFoundForApprovalError",mA=`vercel.ai.error.${fA}`,y4=Symbol.for(mA),gA,hA=class extends C{static{n(this,"ToolCallNotFoundForApprovalError")}constructor({toolCallId:e,approvalId:t}){super({name:fA,message:`Tool call "${e}" not found for approval request "${t}".`}),this[gA]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return C.hasMarker(e,mA)}};gA=y4;var yA="AI_MissingToolResultsError",vA=`vercel.ai.error.${yA}`,v4=Symbol.for(vA),bA,Q_=class extends C{static{n(this,"MissingToolResultsError")}constructor({toolCallIds:e}){super({name:yA,message:`Tool result${e.length>1?"s are":" is"} missing for tool call${e.length>1?"s":""} ${e.join(", ")}.`}),this[bA]=!0,this.toolCallIds=e}static isInstance(e){return C.hasMarker(e,vA)}};bA=v4;var b4="AI_NoImageGeneratedError",w4=`vercel.ai.error.${b4}`,I4=Symbol.for(w4),T4;T4=I4;var wA="AI_NoObjectGeneratedError",IA=`vercel.ai.error.${wA}`,S4=Symbol.for(IA),TA,xr=class extends C{static{n(this,"NoObjectGeneratedError")}constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:o,finishReason:s}){super({name:wA,message:e,cause:t}),this[TA]=!0,this.text=r,this.response=a,this.usage=o,this.finishReason=s}static isInstance(e){return C.hasMarker(e,IA)}};TA=S4;var SA="AI_NoOutputGeneratedError",_A=`vercel.ai.error.${SA}`,_4=Symbol.for(_A),AA,A4=class extends C{static{n(this,"NoOutputGeneratedError")}constructor({message:e="No output generated.",cause:t}={}){super({name:SA,message:e,cause:t}),this[AA]=!0}static isInstance(e){return C.hasMarker(e,_A)}};AA=_4;var x4="AI_NoSpeechGeneratedError",E4=`vercel.ai.error.${x4}`,R4=Symbol.for(E4),O4;O4=R4;var C4="AI_NoTranscriptGeneratedError",M4=`vercel.ai.error.${C4}`,P4=Symbol.for(M4),k4;k4=P4;var N4="AI_NoVideoGeneratedError",D4=`vercel.ai.error.${N4}`,q4=Symbol.for(D4),U4;U4=q4;var xA="AI_NoSuchToolError",EA=`vercel.ai.error.${xA}`,L4=Symbol.for(EA),RA,Nc=class extends C{static{n(this,"NoSuchToolError")}constructor({toolName:e,availableTools:t=void 0,message:r=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:xA,message:r}),this[RA]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return C.hasMarker(e,EA)}};RA=L4;var OA="AI_ToolCallRepairError",CA=`vercel.ai.error.${OA}`,F4=Symbol.for(CA),MA,j4=class extends C{static{n(this,"ToolCallRepairError")}constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${Sr(e)}`}){super({name:OA,message:r,cause:e}),this[MA]=!0,this.originalError=t}static isInstance(e){return C.hasMarker(e,CA)}};MA=F4;var B4=class extends C{static{n(this,"UnsupportedModelVersionError")}constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},G4="AI_UIMessageStreamError",$4=`vercel.ai.error.${G4}`,W4=Symbol.for($4),V4;V4=W4;var Q4="AI_InvalidDataContentError",H4=`vercel.ai.error.${Q4}`,K4=Symbol.for(H4),J4;J4=K4;var PA="AI_InvalidMessageRoleError",kA=`vercel.ai.error.${PA}`,z4=Symbol.for(kA),NA,Y4=class extends C{static{n(this,"InvalidMessageRoleError")}constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:PA,message:t}),this[NA]=!0,this.role=e}static isInstance(e){return C.hasMarker(e,kA)}};NA=z4;var Z4="AI_MessageConversionError",X4=`vercel.ai.error.${Z4}`,e3=Symbol.for(X4),t3;t3=e3;var DA="AI_RetryError",qA=`vercel.ai.error.${DA}`,r3=Symbol.for(qA),UA,H_=class extends C{static{n(this,"RetryError")}constructor({message:e,reason:t,errors:r}){super({name:DA,message:e}),this[UA]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return C.hasMarker(e,qA)}};UA=r3;function Zs(e){return e===void 0?[]:Array.isArray(e)?e:[e]}n(Zs,"asArray");async function Vr(e){for(let t of Zs(e.callbacks))try{await t(e.event)}catch{}}n(Vr,"notify");function a3({warning:e,provider:t,model:r}){let a=`AI SDK Warning (${t} / ${r}):`;switch(e.type){case"unsupported":{let o=`${a} The feature "${e.feature}" is not supported.`;return e.details&&(o+=` ${e.details}`),o}case"compatibility":{let o=`${a} The feature "${e.feature}" is used in a compatibility mode.`;return e.details&&(o+=` ${e.details}`),o}case"other":return`${a} ${e.message}`;default:return`${a} ${JSON.stringify(e,null,2)}`}}n(a3,"formatWarning");var n3="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",K_=!1,LA=n(e=>{if(e.warnings.length===0)return;let t=globalThis.AI_SDK_LOG_WARNINGS;if(t!==!1){if(typeof t=="function"){t(e);return}K_||(K_=!0,console.info(n3));for(let r of e.warnings)console.warn(a3({warning:r,provider:e.provider,model:e.model}))}},"logWarnings");function o3({provider:e,modelId:t}){LA({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:e,model:t})}n(o3,"logV2CompatibilityWarning");function s3(e){return e.specificationVersion==="v3"?e:(o3({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,r){switch(r){case"specificationVersion":return"v3";case"doGenerate":return async(...a)=>{let o=await t.doGenerate(...a);return{...o,finishReason:FA(o.finishReason),usage:jA(o.usage)}};case"doStream":return async(...a)=>{let o=await t.doStream(...a);return{...o,stream:i3(o.stream)}};default:return t[r]}}}))}n(s3,"asLanguageModelV3");function i3(e){return e.pipeThrough(new TransformStream({transform(t,r){switch(t.type){case"finish":r.enqueue({...t,finishReason:FA(t.finishReason),usage:jA(t.usage)});break;default:r.enqueue(t);break}}}))}n(i3,"convertV2StreamToV3");function FA(e){return{unified:e==="unknown"?"other":e,raw:void 0}}n(FA,"convertV2FinishReasonToV3");function jA(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens}}}n(jA,"convertV2UsageToV3");function J_(e){if(typeof e!="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){let t=e;throw new B4({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return s3(e)}return u3().languageModel(e)}n(J_,"resolveLanguageModel");function u3(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:O_}n(u3,"getGlobalProvider");function BA(e){if(e!=null)return typeof e=="number"?e:e.totalMs}n(BA,"getTotalTimeoutMs");function l3(e){if(!(e==null||typeof e=="number"))return e.stepMs}n(l3,"getStepTimeoutMs");var c3=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}];var p3=n(e=>{let t=typeof e=="string"?Ta(e):e,r=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(r+10)},"stripID3");function d3(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?p3(e):e}n(d3,"stripID3TagsIfPresent");function f3({data:e,signatures:t}){let r=d3(e),a=typeof r=="string"?Ta(r.substring(0,Math.min(r.length,24))):r;for(let o of t)if(a.length>=o.bytesPrefix.length&&o.bytesPrefix.every((s,i)=>s===null||a[i]===s))return o.mediaType}n(f3,"detectMediaType");var GA="6.0.104",$A=n(async({url:e,maxBytes:t,abortSignal:r})=>{var a;let o=e.toString();try{let s=await fetch(o,{headers:nr({},`ai-sdk/${GA}`,Ps()),signal:r});if(!s.ok)throw new Ia({url:o,statusCode:s.status,statusText:s.statusText});return{data:await HT({response:s,url:o,maxBytes:t??ac}),mediaType:(a=s.headers.get("content-type"))!=null?a:void 0}}catch(s){throw Ia.isInstance(s)?s:new Ia({url:o,cause:s})}},"download"),m3=n((e=$A)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r))),"createDefaultDownloadFunction");function g3(e){try{let[t,r]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:r}}catch{return{mediaType:void 0,base64Content:void 0}}}n(g3,"splitDataUrl");var WA=Ma.z.union([Ma.z.string(),Ma.z.instanceof(Uint8Array),Ma.z.instanceof(ArrayBuffer),Ma.z.custom(e=>{var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:!1},{message:"Must be a Buffer"})]);function VA(e){if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if(typeof e=="string")try{e=new URL(e)}catch{}if(e instanceof URL&&e.protocol==="data:"){let{mediaType:t,base64Content:r}=g3(e.toString());if(t==null||r==null)throw new C({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:r,mediaType:t}}return{data:e,mediaType:void 0}}n(VA,"convertToLanguageModelV3DataContent");function h3(e){return typeof e=="string"?e:e instanceof ArrayBuffer?rr(new Uint8Array(e)):rr(e)}n(h3,"convertDataContentToBase64String");async function y3({prompt:e,supportedUrls:t,download:r=m3()}){let a=await b3(e.messages,r,t),o=new Map;for(let c of e.messages)if(c.role==="assistant"&&Array.isArray(c.content))for(let f of c.content)f.type==="tool-approval-request"&&"approvalId"in f&&"toolCallId"in f&&o.set(f.approvalId,f.toolCallId);let s=new Set;for(let c of e.messages)if(c.role==="tool"){for(let f of c.content)if(f.type==="tool-approval-response"){let y=o.get(f.approvalId);y&&s.add(y)}}let i=[...e.system!=null?typeof e.system=="string"?[{role:"system",content:e.system}]:Zs(e.system).map(c=>({role:"system",content:c.content,providerOptions:c.providerOptions})):[],...e.messages.map(c=>v3({message:c,downloadedAssets:a}))],u=[];for(let c of i){if(c.role!=="tool"){u.push(c);continue}let f=u.at(-1);f?.role==="tool"?f.content.push(...c.content):u.push(c)}let l=new Set;for(let c of u)switch(c.role){case"assistant":{for(let f of c.content)f.type==="tool-call"&&!f.providerExecuted&&l.add(f.toolCallId);break}case"tool":{for(let f of c.content)f.type==="tool-result"&&l.delete(f.toolCallId);break}case"user":case"system":for(let f of s)l.delete(f);if(l.size>0)throw new Q_({toolCallIds:Array.from(l)});break}for(let c of s)l.delete(c);if(l.size>0)throw new Q_({toolCallIds:Array.from(l)});return u.filter(c=>c.role!=="tool"||c.content.length>0)}n(y3,"convertToLanguageModelPrompt");function v3({message:e,downloadedAssets:t}){let r=e.role;switch(r){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":return typeof e.content=="string"?{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"user",content:e.content.map(a=>w3(a,t)).filter(a=>a.type!=="text"||a.text!==""),providerOptions:e.providerOptions};case"assistant":return typeof e.content=="string"?{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"assistant",content:e.content.filter(a=>a.type!=="text"||a.text!==""||a.providerOptions!=null).filter(a=>a.type!=="tool-approval-request").map(a=>{let o=a.providerOptions;switch(a.type){case"file":{let{data:s,mediaType:i}=VA(a.data);return{type:"file",data:s,filename:a.filename,mediaType:i??a.mediaType,providerOptions:o}}case"reasoning":return{type:"reasoning",text:a.text,providerOptions:o};case"text":return{type:"text",text:a.text,providerOptions:o};case"tool-call":return{type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,providerExecuted:a.providerExecuted,providerOptions:o};case"tool-result":return{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:z_(a.output),providerOptions:o}}}),providerOptions:e.providerOptions};case"tool":return{role:"tool",content:e.content.filter(a=>a.type!=="tool-approval-response"||a.providerExecuted).map(a=>{switch(a.type){case"tool-result":return{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:z_(a.output),providerOptions:a.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:a.approvalId,approved:a.approved,reason:a.reason}}}),providerOptions:e.providerOptions};default:{let a=r;throw new Y4({role:a})}}}n(v3,"convertToLanguageModelMessage");async function b3(e,t,r){let a=e.filter(s=>s.role==="user").map(s=>s.content).filter(s=>Array.isArray(s)).flat().filter(s=>s.type==="image"||s.type==="file").map(s=>{var i;let u=(i=s.mediaType)!=null?i:s.type==="image"?"image/*":void 0,l=s.type==="image"?s.image:s.data;if(typeof l=="string")try{l=new URL(l)}catch{}return{mediaType:u,data:l}}).filter(s=>s.data instanceof URL).map(s=>({url:s.data,isUrlSupportedByModel:s.mediaType!=null&&zT({url:s.data.toString(),mediaType:s.mediaType,supportedUrls:r})})),o=await t(a);return Object.fromEntries(o.map((s,i)=>s==null?null:[a[i].url.toString(),{data:s.data,mediaType:s.mediaType}]).filter(s=>s!=null))}n(b3,"downloadAssets");function w3(e,t){var r;if(e.type==="text")return{type:"text",text:e.text,providerOptions:e.providerOptions};let a,o=e.type;switch(o){case"image":a=e.image;break;case"file":a=e.data;break;default:throw new Error(`Unsupported part type: ${o}`)}let{data:s,mediaType:i}=VA(a),u=i??e.mediaType,l=s;if(l instanceof URL){let c=t[l.toString()];c&&(l=c.data,u??(u=c.mediaType))}switch(o){case"image":return(l instanceof Uint8Array||typeof l=="string")&&(u=(r=f3({data:l,signatures:c3}))!=null?r:u),{type:"file",mediaType:u??"image/*",filename:void 0,data:l,providerOptions:e.providerOptions};case"file":{if(u==null)throw new Error("Media type is missing for file part");return{type:"file",mediaType:u,filename:e.filename,data:l,providerOptions:e.providerOptions}}}}n(w3,"convertPartToLanguageModelPart");function z_(e){return e.type!=="content"?e:{type:"content",value:e.value.map(t=>t.type!=="media"?t:t.mediaType.startsWith("image/")?{type:"image-data",data:t.data,mediaType:t.mediaType}:{type:"file-data",data:t.data,mediaType:t.mediaType})}}n(z_,"mapToolResultOutput");async function Ys({toolCallId:e,input:t,output:r,tool:a,errorMode:o}){return o==="text"?{type:"error-text",value:Sr(r)}:o==="json"?{type:"error-json",value:Y_(r)}:a?.toModelOutput?await a.toModelOutput({toolCallId:e,input:t,output:r}):typeof r=="string"?{type:"text",value:r}:{type:"json",value:Y_(r)}}n(Ys,"createToolModelOutput");function Y_(e){return e===void 0?null:e}n(Y_,"toJSONValue");function Z_({maxOutputTokens:e,temperature:t,topP:r,topK:a,presencePenalty:o,frequencyPenalty:s,seed:i,stopSequences:u}){if(e!=null){if(!Number.isInteger(e))throw new Jt({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new Jt({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(t!=null&&typeof t!="number")throw new Jt({parameter:"temperature",value:t,message:"temperature must be a number"});if(r!=null&&typeof r!="number")throw new Jt({parameter:"topP",value:r,message:"topP must be a number"});if(a!=null&&typeof a!="number")throw new Jt({parameter:"topK",value:a,message:"topK must be a number"});if(o!=null&&typeof o!="number")throw new Jt({parameter:"presencePenalty",value:o,message:"presencePenalty must be a number"});if(s!=null&&typeof s!="number")throw new Jt({parameter:"frequencyPenalty",value:s,message:"frequencyPenalty must be a number"});if(i!=null&&!Number.isInteger(i))throw new Jt({parameter:"seed",value:i,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:r,topK:a,presencePenalty:o,frequencyPenalty:s,stopSequences:u,seed:i}}n(Z_,"prepareCallSettings");function I3(e){return e!=null&&Object.keys(e).length>0}n(I3,"isNonEmptyObject");async function T3({tools:e,toolChoice:t,activeTools:r}){if(!I3(e))return{tools:void 0,toolChoice:void 0};let a=r!=null?Object.entries(e).filter(([s])=>r.includes(s)):Object.entries(e),o=[];for(let[s,i]of a){let u=i.type;switch(u){case void 0:case"dynamic":case"function":o.push({type:"function",name:s,description:i.description,inputSchema:await or(i.inputSchema).jsonSchema,...i.inputExamples!=null?{inputExamples:i.inputExamples}:{},providerOptions:i.providerOptions,...i.strict!=null?{strict:i.strict}:{}});break;case"provider":o.push({type:"provider",name:s,id:i.id,args:i.args});break;default:{let l=u;throw new Error(`Unsupported tool type: ${l}`)}}}return{tools:o,toolChoice:t==null?{type:"auto"}:typeof t=="string"?{type:t}:{type:"tool",toolName:t.toolName}}}n(T3,"prepareToolsAndToolChoice");var ro=Kt.z.lazy(()=>Kt.z.union([Kt.z.null(),Kt.z.string(),Kt.z.number(),Kt.z.boolean(),Kt.z.record(Kt.z.string(),ro.optional()),Kt.z.array(ro)])),q=to.z.record(to.z.string(),to.z.record(to.z.string(),ro.optional())),HA=T.z.object({type:T.z.literal("text"),text:T.z.string(),providerOptions:q.optional()}),S3=T.z.object({type:T.z.literal("image"),image:T.z.union([WA,T.z.instanceof(URL)]),mediaType:T.z.string().optional(),providerOptions:q.optional()}),KA=T.z.object({type:T.z.literal("file"),data:T.z.union([WA,T.z.instanceof(URL)]),filename:T.z.string().optional(),mediaType:T.z.string(),providerOptions:q.optional()}),_3=T.z.object({type:T.z.literal("reasoning"),text:T.z.string(),providerOptions:q.optional()}),A3=T.z.object({type:T.z.literal("tool-call"),toolCallId:T.z.string(),toolName:T.z.string(),input:T.z.unknown(),providerOptions:q.optional(),providerExecuted:T.z.boolean().optional()}),x3=T.z.discriminatedUnion("type",[T.z.object({type:T.z.literal("text"),value:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("json"),value:ro,providerOptions:q.optional()}),T.z.object({type:T.z.literal("execution-denied"),reason:T.z.string().optional(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("error-text"),value:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("error-json"),value:ro,providerOptions:q.optional()}),T.z.object({type:T.z.literal("content"),value:T.z.array(T.z.union([T.z.object({type:T.z.literal("text"),text:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("media"),data:T.z.string(),mediaType:T.z.string()}),T.z.object({type:T.z.literal("file-data"),data:T.z.string(),mediaType:T.z.string(),filename:T.z.string().optional(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("file-url"),url:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("file-id"),fileId:T.z.union([T.z.string(),T.z.record(T.z.string(),T.z.string())]),providerOptions:q.optional()}),T.z.object({type:T.z.literal("image-data"),data:T.z.string(),mediaType:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("image-url"),url:T.z.string(),providerOptions:q.optional()}),T.z.object({type:T.z.literal("image-file-id"),fileId:T.z.union([T.z.string(),T.z.record(T.z.string(),T.z.string())]),providerOptions:q.optional()}),T.z.object({type:T.z.literal("custom"),providerOptions:q.optional()})]))})]),JA=T.z.object({type:T.z.literal("tool-result"),toolCallId:T.z.string(),toolName:T.z.string(),output:x3,providerOptions:q.optional()}),E3=T.z.object({type:T.z.literal("tool-approval-request"),approvalId:T.z.string(),toolCallId:T.z.string()}),R3=T.z.object({type:T.z.literal("tool-approval-response"),approvalId:T.z.string(),approved:T.z.boolean(),reason:T.z.string().optional()}),O3=Oe.z.object({role:Oe.z.literal("system"),content:Oe.z.string(),providerOptions:q.optional()}),C3=Oe.z.object({role:Oe.z.literal("user"),content:Oe.z.union([Oe.z.string(),Oe.z.array(Oe.z.union([HA,S3,KA]))]),providerOptions:q.optional()}),M3=Oe.z.object({role:Oe.z.literal("assistant"),content:Oe.z.union([Oe.z.string(),Oe.z.array(Oe.z.union([HA,KA,_3,A3,JA,E3]))]),providerOptions:q.optional()}),P3=Oe.z.object({role:Oe.z.literal("tool"),content:Oe.z.array(Oe.z.union([JA,R3])),providerOptions:q.optional()}),k3=Oe.z.union([O3,C3,M3,P3]);async function N3(e){if(e.prompt==null&&e.messages==null)throw new jr({prompt:e,message:"prompt or messages must be defined"});if(e.prompt!=null&&e.messages!=null)throw new jr({prompt:e,message:"prompt and messages cannot be defined at the same time"});if(e.system!=null&&typeof e.system!="string"&&!Zs(e.system).every(a=>typeof a=="object"&&a!==null&&"role"in a&&a.role==="system"))throw new jr({prompt:e,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let t;if(e.prompt!=null&&typeof e.prompt=="string")t=[{role:"user",content:e.prompt}];else if(e.prompt!=null&&Array.isArray(e.prompt))t=e.prompt;else if(e.messages!=null)t=e.messages;else throw new jr({prompt:e,message:"prompt or messages must be defined"});if(t.length===0)throw new jr({prompt:e,message:"messages must not be empty"});let r=await Xe({value:t,schema:QA.z.array(k3)});if(!r.success)throw new jr({prompt:e,message:"The messages do not match the ModelMessage[] schema.",cause:r.error});return{messages:t,system:e.system}}n(N3,"standardizePrompt");function D3(e){if(!$s.isInstance(e))return e;let t=(process==null?void 0:process.env.NODE_ENV)==="production",r="https://ai-sdk.dev/unauthenticated-ai-gateway";return t?new C({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${r}`}):Object.assign(new Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
67
67
 
68
68
  To authenticate, set the \x1B[33mAI_GATEWAY_API_KEY\x1B[0m environment variable with your API key.
69
69
 
@@ -71,8 +71,8 @@ Alternatively, you can use a provider module instead of the AI Gateway.
71
71
 
72
72
  Learn more: \x1B[34m${r}\x1B[0m
73
73
 
74
- `),{name:"GatewayAuthenticationError"})}n(D3,"wrapGatewayError");function Dc({operationId:e,telemetry:t}){return{"operation.name":`${e}${t?.functionId!=null?` ${t.functionId}`:""}`,"resource.name":t?.functionId,"ai.operationId":e,"ai.telemetry.functionId":t?.functionId}}n(Dc,"assembleOperationName");function q3({model:e,settings:t,telemetry:r,headers:a}){var o;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((s,[i,u])=>{if(i==="timeout"){let l=BA(u);l!=null&&(s[`ai.settings.${i}`]=l)}else s[`ai.settings.${i}`]=u;return s},{}),...Object.entries((o=r?.metadata)!=null?o:{}).reduce((s,[i,u])=>(s[`ai.telemetry.metadata.${i}`]=u,s),{}),...Object.entries(a??{}).reduce((s,[i,u])=>(u!==void 0&&(s[`ai.request.headers.${i}`]=u),s),{})}}n(q3,"getBaseTelemetryAttributes");var U3={startSpan(){return Ys},startActiveSpan(e,t,r,a){if(typeof t=="function")return t(Ys);if(typeof r=="function")return r(Ys);if(typeof a=="function")return a(Ys)}},Ys={spanContext(){return L3},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this}},L3={traceId:"",spanId:"",traceFlags:0};function j3({isEnabled:e=!1,tracer:t}={}){return e?t||Pc.getTracer("ai"):U3}n(j3,"getTracer");async function qc({name:e,tracer:t,attributes:r,fn:a,endWhenDone:o=!0}){return t.startActiveSpan(e,{attributes:await r},async s=>{let i=Js.active();try{let u=await Js.with(i,()=>a(s));return o&&s.end(),u}catch(u){try{YA(s,u)}finally{s.end()}throw u}})}n(qc,"recordSpan");function YA(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:Ca.ERROR,message:t.message})):e.setStatus({code:Ca.ERROR})}n(YA,"recordErrorOnSpan");async function Pa({telemetry:e,attributes:t}){if(e?.isEnabled!==!0)return{};let r={};for(let[a,o]of Object.entries(t))if(o!=null){if(typeof o=="object"&&"input"in o&&typeof o.input=="function"){if(e?.recordInputs===!1)continue;let s=await o.input();s!=null&&(r[a]=s);continue}if(typeof o=="object"&&"output"in o&&typeof o.output=="function"){if(e?.recordOutputs===!1)continue;let s=await o.output();s!=null&&(r[a]=s);continue}r[a]=o}return r}n(Pa,"selectTelemetryAttributes");function F3(e){return JSON.stringify(e.map(t=>({...t,content:typeof t.content=="string"?t.content:t.content.map(r=>r.type==="file"?{...r,data:r.data instanceof Uint8Array?h3(r.data):r.data}:r)})))}n(F3,"stringifyForTelemetry");function B3(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:Ft(e.inputTokens.total,e.outputTokens.total),raw:e.raw,reasoningTokens:e.outputTokens.reasoning,cachedInputTokens:e.inputTokens.cacheRead}}n(B3,"asLanguageModelUsage");function G3(e,t){var r,a,o,s,i,u,l,c,f,y;return{inputTokens:Ft(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:Ft((r=e.inputTokenDetails)==null?void 0:r.noCacheTokens,(a=t.inputTokenDetails)==null?void 0:a.noCacheTokens),cacheReadTokens:Ft((o=e.inputTokenDetails)==null?void 0:o.cacheReadTokens,(s=t.inputTokenDetails)==null?void 0:s.cacheReadTokens),cacheWriteTokens:Ft((i=e.inputTokenDetails)==null?void 0:i.cacheWriteTokens,(u=t.inputTokenDetails)==null?void 0:u.cacheWriteTokens)},outputTokens:Ft(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:Ft((l=e.outputTokenDetails)==null?void 0:l.textTokens,(c=t.outputTokenDetails)==null?void 0:c.textTokens),reasoningTokens:Ft((f=e.outputTokenDetails)==null?void 0:f.reasoningTokens,(y=t.outputTokenDetails)==null?void 0:y.reasoningTokens)},totalTokens:Ft(e.totalTokens,t.totalTokens),reasoningTokens:Ft(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:Ft(e.cachedInputTokens,t.cachedInputTokens)}}n(G3,"addLanguageModelUsage");function Ft(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}n(Ft,"addTokenCounts");function zA(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let r={...e};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let o=t[a];if(o===void 0)continue;let s=a in e?e[a]:void 0,i=o!==null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),u=s!=null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp);i&&u?r[a]=zA(s,o):r[a]=o}return r}n(zA,"mergeObjects");function $3({error:e,exponentialBackoffDelay:t}){let r=e.responseHeaders;if(!r)return t;let a,o=r["retry-after-ms"];if(o){let i=parseFloat(o);Number.isNaN(i)||(a=i)}let s=r["retry-after"];if(s&&a===void 0){let i=parseFloat(s);Number.isNaN(i)?a=Date.parse(s)-Date.now():a=i*1e3}return a!=null&&!Number.isNaN(a)&&0<=a&&(a<60*1e3||a<t)?a:t}n($3,"getRetryDelayInMs");var W3=n(({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:a}={})=>async o=>ZA(o,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:a}),"retryWithExponentialBackoffRespectingRetryHeaders");async function ZA(e,{maxRetries:t,delayInMs:r,backoffFactor:a,abortSignal:o},s=[]){try{return await e()}catch(i){if(_r(i)||t===0)throw i;let u=Ms(i),l=[...s,i],c=l.length;if(c>t)throw new H_({message:`Failed after ${c} attempts. Last error: ${u}`,reason:"maxRetriesExceeded",errors:l});if(i instanceof Error&&ce.isInstance(i)&&i.isRetryable===!0&&c<=t)return await WT($3({error:i,exponentialBackoffDelay:r}),{abortSignal:o}),ZA(e,{maxRetries:t,delayInMs:a*r,backoffFactor:a,abortSignal:o},l);throw c===1?i:new H_({message:`Failed after ${c} attempts with non-retryable error: '${u}'`,reason:"errorNotRetryable",errors:l})}}n(ZA,"_retryWithExponentialBackoff");function V3({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new Jt({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new Jt({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}let r=e??2;return{maxRetries:r,retry:W3({maxRetries:r,abortSignal:t})}}n(V3,"prepareRetries");function Q3({messages:e}){let t=e.at(-1);if(t?.role!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let r={};for(let l of e)if(l.role==="assistant"&&typeof l.content!="string"){let c=l.content;for(let f of c)f.type==="tool-call"&&(r[f.toolCallId]=f)}let a={};for(let l of e)if(l.role==="assistant"&&typeof l.content!="string"){let c=l.content;for(let f of c)f.type==="tool-approval-request"&&(a[f.approvalId]=f)}let o={};for(let l of t.content)l.type==="tool-result"&&(o[l.toolCallId]=l);let s=[],i=[],u=t.content.filter(l=>l.type==="tool-approval-response");for(let l of u){let c=a[l.approvalId];if(c==null)throw new g4({approvalId:l.approvalId});if(o[c.toolCallId]!=null)continue;let f=r[c.toolCallId];if(f==null)throw new hA({toolCallId:c.toolCallId,approvalId:c.approvalId});let y={approvalRequest:c,approvalResponse:l,toolCall:f};l.approved?s.push(y):i.push(y)}return{approvedToolApprovals:s,deniedToolApprovals:i}}n(Q3,"collectToolApprovals");function kc(){var e,t;return(t=(e=globalThis?.performance)==null?void 0:e.now())!=null?t:Date.now()}n(kc,"now");async function H3({toolCall:e,tools:t,tracer:r,telemetry:a,messages:o,abortSignal:s,experimental_context:i,stepNumber:u,model:l,onPreliminaryToolResult:c,onToolCallStart:f,onToolCallFinish:y}){let{toolName:h,toolCallId:b,input:D}=e,I=t?.[h];if(I?.execute==null)return;let S={stepNumber:u,model:l,toolCall:e,messages:o,abortSignal:s,functionId:a?.functionId,metadata:a?.metadata,experimental_context:i};return qc({name:"ai.toolCall",attributes:Pa({telemetry:a,attributes:{...Dc({operationId:"ai.toolCall",telemetry:a}),"ai.toolCall.name":h,"ai.toolCall.id":b,"ai.toolCall.args":{output:()=>JSON.stringify(D)}}}),tracer:r,fn:async E=>{let U;await Vr({event:S,callbacks:f});let V=kc();try{let Z=sS({execute:I.execute.bind(I),input:D,options:{toolCallId:b,messages:o,abortSignal:s,experimental_context:i}});for await(let X of Z)X.type==="preliminary"?c?.({...e,type:"tool-result",output:X.output,preliminary:!0}):U=X.output}catch(Z){let X=kc()-V;return await Vr({event:{...S,success:!1,error:Z,durationMs:X},callbacks:y}),YA(E,Z),{type:"tool-error",toolCallId:b,toolName:h,input:D,error:Z,dynamic:I.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}let de=kc()-V;await Vr({event:{...S,success:!0,output:U,durationMs:de},callbacks:y});try{E.setAttributes(await Pa({telemetry:a,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(U)}}}))}catch{}return{type:"tool-result",toolCallId:b,toolName:h,input:D,output:U,dynamic:I.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}})}n(H3,"executeToolCall");function X_(e){let t=e.filter(r=>r.type==="reasoning");return t.length===0?void 0:t.map(r=>r.text).join(`
75
- `)}n(X_,"extractReasoningContent");function eA(e){let t=e.filter(r=>r.type==="text");if(t.length!==0)return t.map(r=>r.text).join("")}n(eA,"extractTextContent");var K3=class{static{n(this,"DefaultGeneratedFile")}constructor({data:e,mediaType:t}){let r=e instanceof Uint8Array;this.base64Data=r?void 0:e,this.uint8ArrayData=r?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=rr(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=Ta(this.base64Data)),this.uint8ArrayData}};async function J3({tool:e,toolCall:t,messages:r,experimental_context:a}){return e.needsApproval==null?!1:typeof e.needsApproval=="boolean"?e.needsApproval:await e.needsApproval(t.input,{toolCallId:t.toolCallId,messages:r,experimental_context:a})}n(J3,"isApprovalNeeded");var Lc={};u4(Lc,{array:()=>Z3,choice:()=>X3,json:()=>eQ,object:()=>z3,text:()=>XA});function Y3(e){let t=["ROOT"],r=-1,a=null;function o(l,c,f){switch(l){case'"':{r=c,t.pop(),t.push(f),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=c,a=c,t.pop(),t.push(f),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(f),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=c,t.pop(),t.push(f),t.push("INSIDE_NUMBER");break}case"{":{r=c,t.pop(),t.push(f),t.push("INSIDE_OBJECT_START");break}case"[":{r=c,t.pop(),t.push(f),t.push("INSIDE_ARRAY_START");break}}}n(o,"processValueStart");function s(l,c){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=c,t.pop();break}}}n(s,"processAfterObjectValue");function i(l,c){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=c,t.pop();break}}}n(i,"processAfterArrayValue");for(let l=0;l<e.length;l++){let c=e[l];switch(t[t.length-1]){case"ROOT":o(c,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=l,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(c){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{o(c,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{s(c,l);break}case"INSIDE_STRING":{switch(c){case'"':{t.pop(),r=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=l}break}case"INSIDE_ARRAY_START":{switch(c){case"]":{r=l,t.pop();break}default:{r=l,o(c,l,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(c){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=l,t.pop();break}default:{r=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{o(c,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),r=l;break}case"INSIDE_NUMBER":{switch(c){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&s(c,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&s(c,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{let y=e.substring(a,l+1);!"false".startsWith(y)&&!"true".startsWith(y)&&!"null".startsWith(y)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?s(c,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l)):r=l;break}}}let u=e.slice(0,r+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{u+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{u+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{u+="]";break}case"INSIDE_LITERAL":{let f=e.substring(a,e.length);"true".startsWith(f)?u+="true".slice(f.length):"false".startsWith(f)?u+="false".slice(f.length):"null".startsWith(f)&&(u+="null".slice(f.length))}}return u}n(Y3,"fixJson");async function Xs(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await it({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await it({text:Y3(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}n(Xs,"parsePartialJson");var XA=n(()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),"text"),z3=n(({schema:e,name:t,description:r})=>{let a=or(e);return{name:"object",responseFormat:Pe(a.jsonSchema).then(o=>({type:"json",schema:o,...t!=null&&{name:t},...r!=null&&{description:r}})),async parseCompleteOutput({text:o},s){let i=await it({text:o});if(!i.success)throw new xr({message:"No object generated: could not parse the response.",cause:i.error,text:o,response:s.response,usage:s.usage,finishReason:s.finishReason});let u=await Xe({value:i.value,schema:a});if(!u.success)throw new xr({message:"No object generated: response did not match schema.",cause:u.error,text:o,response:s.response,usage:s.usage,finishReason:s.finishReason});return u.value},async parsePartialOutput({text:o}){let s=await Xs(o);switch(s.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:s.value}}},createElementStreamTransform(){}}},"object"),Z3=n(({element:e,name:t,description:r})=>{let a=or(e);return{name:"array",responseFormat:Pe(a.jsonSchema).then(o=>{let{$schema:s,...i}=o;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:i}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}}),async parseCompleteOutput({text:o},s){let i=await it({text:o});if(!i.success)throw new xr({message:"No object generated: could not parse the response.",cause:i.error,text:o,response:s.response,usage:s.usage,finishReason:s.finishReason});let u=i.value;if(u==null||typeof u!="object"||!("elements"in u)||!Array.isArray(u.elements))throw new xr({message:"No object generated: response did not match schema.",cause:new Ut({value:u,cause:"response must be an object with an elements array"}),text:o,response:s.response,usage:s.usage,finishReason:s.finishReason});for(let l of u.elements){let c=await Xe({value:l,schema:a});if(!c.success)throw new xr({message:"No object generated: response did not match schema.",cause:c.error,text:o,response:s.response,usage:s.usage,finishReason:s.finishReason})}return u.elements},async parsePartialOutput({text:o}){let s=await Xs(o);switch(s.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let i=s.value;if(i==null||typeof i!="object"||!("elements"in i)||!Array.isArray(i.elements))return;let u=s.state==="repaired-parse"&&i.elements.length>0?i.elements.slice(0,-1):i.elements,l=[];for(let c of u){let f=await Xe({value:c,schema:a});f.success&&l.push(f.value)}return{partial:l}}}},createElementStreamTransform(){let o=0;return new TransformStream({transform({partialOutput:s},i){if(s!=null)for(;o<s.length;o++)i.enqueue(s[o])}})}}},"array"),X3=n(({options:e,name:t,description:r})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}),async parseCompleteOutput({text:a},o){let s=await it({text:a});if(!s.success)throw new xr({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});let i=s.value;if(i==null||typeof i!="object"||!("result"in i)||typeof i.result!="string"||!e.includes(i.result))throw new xr({message:"No object generated: response did not match schema.",cause:new Ut({value:i,cause:"response must be an object that contains a choice value."}),text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});return i.result},async parsePartialOutput({text:a}){let o=await Xs(a);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let s=o.value;if(s==null||typeof s!="object"||!("result"in s)||typeof s.result!="string")return;let i=e.filter(u=>u.startsWith(s.result));return o.state==="successful-parse"?i.includes(s.result)?{partial:s.result}:void 0:i.length===1?{partial:i[0]}:void 0}}},createElementStreamTransform(){}}),"choice"),eQ=n(({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:r},a){let o=await it({text:r});if(!o.success)throw new xr({message:"No object generated: could not parse the response.",cause:o.error,text:r,response:a.response,usage:a.usage,finishReason:a.finishReason});return o.value},async parsePartialOutput({text:r}){let a=await Xs(r);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return a.value===void 0?void 0:{partial:a.value}}},createElementStreamTransform(){}}),"json");async function tQ({toolCall:e,tools:t,repairToolCall:r,system:a,messages:o}){var s;try{if(t==null){if(e.providerExecuted&&e.dynamic)return await ex(e);throw new Nc({toolName:e.toolName})}try{return await tA({toolCall:e,tools:t})}catch(i){if(r==null||!(Nc.isInstance(i)||Uc.isInstance(i)))throw i;let u=null;try{u=await r({toolCall:e,tools:t,inputSchema:async({toolName:l})=>{let{inputSchema:c}=t[l];return await or(c).jsonSchema},system:a,messages:o,error:i})}catch(l){throw new F4({cause:l,originalError:i})}if(u==null)throw i;return await tA({toolCall:u,tools:t})}}catch(i){let u=await it({text:e.input}),l=u.success?u.value:e.input;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:l,dynamic:!0,invalid:!0,error:i,title:(s=t?.[e.toolName])==null?void 0:s.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}}}n(tQ,"parseToolCall");async function ex(e){let t=e.input.trim()===""?{success:!0,value:{}}:await it({text:e.input});if(t.success===!1)throw new Uc({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}n(ex,"parseProviderExecutedDynamicToolCall");async function tA({toolCall:e,tools:t}){let r=e.toolName,a=t[r];if(a==null){if(e.providerExecuted&&e.dynamic)return await ex(e);throw new Nc({toolName:e.toolName,availableTools:Object.keys(t)})}let o=or(a.inputSchema),s=e.input.trim()===""?await Xe({value:{},schema:o}):await it({text:e.input,schema:o});if(s.success===!1)throw new Uc({toolName:r,toolInput:e.input,cause:s.error});return a.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:s.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,dynamic:!0,title:a.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:r,input:s.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:a.title}}n(tA,"doParseToolCall");var rQ=class{static{n(this,"DefaultStepResult")}constructor({stepNumber:e,model:t,functionId:r,metadata:a,experimental_context:o,content:s,finishReason:i,rawFinishReason:u,usage:l,warnings:c,request:f,response:y,providerMetadata:h}){this.stepNumber=e,this.model=t,this.functionId=r,this.metadata=a,this.experimental_context=o,this.content=s,this.finishReason=i,this.rawFinishReason=u,this.usage=l,this.warnings=c,this.request=f,this.response=y,this.providerMetadata=h}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>e.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map(e=>e.text).join("")}get files(){return this.content.filter(e=>e.type==="file").map(e=>e.file)}get sources(){return this.content.filter(e=>e.type==="source")}get toolCalls(){return this.content.filter(e=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function aQ(e){return({steps:t})=>t.length===e}n(aQ,"stepCountIs");async function nQ({stopConditions:e,steps:t}){return(await Promise.all(e.map(r=>r({steps:t})))).some(r=>r)}n(nQ,"isStopConditionMet");async function oQ({content:e,tools:t}){let r=[],a=[];for(let s of e)if(s.type!=="source"&&!((s.type==="tool-result"||s.type==="tool-error")&&!s.providerExecuted)&&!(s.type==="text"&&s.text.length===0))switch(s.type){case"text":a.push({type:"text",text:s.text,providerOptions:s.providerMetadata});break;case"reasoning":a.push({type:"reasoning",text:s.text,providerOptions:s.providerMetadata});break;case"file":a.push({type:"file",data:s.file.base64,mediaType:s.file.mediaType,providerOptions:s.providerMetadata});break;case"tool-call":a.push({type:"tool-call",toolCallId:s.toolCallId,toolName:s.toolName,input:s.input,providerExecuted:s.providerExecuted,providerOptions:s.providerMetadata});break;case"tool-result":{let i=await zs({toolCallId:s.toolCallId,input:s.input,tool:t?.[s.toolName],output:s.output,errorMode:"none"});a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:i,providerOptions:s.providerMetadata});break}case"tool-error":{let i=await zs({toolCallId:s.toolCallId,input:s.input,tool:t?.[s.toolName],output:s.error,errorMode:"json"});a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:i,providerOptions:s.providerMetadata});break}case"tool-approval-request":a.push({type:"tool-approval-request",approvalId:s.approvalId,toolCallId:s.toolCall.toolCallId});break}a.length>0&&r.push({role:"assistant",content:a});let o=[];for(let s of e){if(!(s.type==="tool-result"||s.type==="tool-error")||s.providerExecuted)continue;let i=await zs({toolCallId:s.toolCallId,input:s.input,tool:t?.[s.toolName],output:s.type==="tool-result"?s.output:s.error,errorMode:s.type==="tool-error"?"text":"none"});o.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:i,...s.providerMetadata!=null?{providerOptions:s.providerMetadata}:{}})}return o.length>0&&r.push({role:"tool",content:o}),r}n(oQ,"toResponseMessages");function sQ(...e){let t=e.filter(a=>a!=null);if(t.length===0)return;if(t.length===1)return t[0];let r=new AbortController;for(let a of t){if(a.aborted)return r.abort(a.reason),r.signal;a.addEventListener("abort",()=>{r.abort(a.reason)},{once:!0})}return r.signal}n(sQ,"mergeAbortSignals");var iQ=ar({prefix:"aitxt",size:24});async function tx({model:e,tools:t,toolChoice:r,system:a,prompt:o,messages:s,maxRetries:i,abortSignal:u,timeout:l,headers:c,stopWhen:f=aQ(1),experimental_output:y,output:h=y,experimental_telemetry:b,providerOptions:D,experimental_activeTools:I,activeTools:S=I,experimental_prepareStep:E,prepareStep:U=E,experimental_repairToolCall:V,experimental_download:de,experimental_context:Z,experimental_include:X,_internal:{generateId:ut=iQ}={},experimental_onStart:fe,experimental_onStepStart:te,experimental_onToolCallStart:Bt,experimental_onToolCallFinish:Er,onStepFinish:j,onFinish:O,..._}){let M=J_(e),R=Zs(f),G=BA(l),F=l3(l),re=F!=null?new AbortController:void 0,ne=sQ(u,G!=null?AbortSignal.timeout(G):void 0,re?.signal),{maxRetries:ye,retry:Ee}=V3({maxRetries:i,abortSignal:ne}),K=Z_(_),Qe=nr(c??{},`ai/${GA}`),P=q3({model:M,telemetry:b,headers:Qe,settings:{...K,maxRetries:ye}}),A={provider:M.provider,modelId:M.modelId},x=await N3({system:a,prompt:o,messages:s});await Vr({event:{model:A,system:a,prompt:o,messages:s,tools:t,toolChoice:r,activeTools:S,maxOutputTokens:K.maxOutputTokens,temperature:K.temperature,topP:K.topP,topK:K.topK,presencePenalty:K.presencePenalty,frequencyPenalty:K.frequencyPenalty,stopSequences:K.stopSequences,seed:K.seed,maxRetries:ye,timeout:l,headers:c,providerOptions:D,stopWhen:f,output:h,abortSignal:u,include:X,functionId:b?.functionId,metadata:b?.metadata,experimental_context:Z},callbacks:fe});let N=j3(b);try{return await qc({name:"ai.generateText",attributes:Pa({telemetry:b,attributes:{...Dc({operationId:"ai.generateText",telemetry:b}),...P,"ai.model.provider":M.provider,"ai.model.id":M.modelId,"ai.prompt":{input:()=>JSON.stringify({system:a,prompt:o,messages:s})}}}),tracer:N,fn:async B=>{var ve,Le,He,lt,ka,oo,zc,Zc,Xc,ep,tp,rp,ap;let ri=x.messages,Na=[],{approvedToolApprovals:np,deniedToolApprovals:ai}=Q3({messages:ri}),op=np.filter(je=>!je.toolCall.providerExecuted);if(ai.length>0||op.length>0){let je=await rA({toolCalls:op.map(J=>J.toolCall),tools:t,tracer:N,telemetry:b,messages:ri,abortSignal:ne,experimental_context:Z,stepNumber:0,model:A,onToolCallStart:Bt,onToolCallFinish:Er}),pt=[];for(let J of je){let xt=await zs({toolCallId:J.toolCallId,input:J.input,tool:t?.[J.toolName],output:J.type==="tool-result"?J.output:J.error,errorMode:J.type==="tool-error"?"json":"none"});pt.push({type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:xt})}for(let J of ai)pt.push({type:"tool-result",toolCallId:J.toolCall.toolCallId,toolName:J.toolCall.toolName,output:{type:"execution-denied",reason:J.approvalResponse.reason,...J.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:J.approvalResponse.approvalId}}}}});Na.push({role:"tool",content:pt})}let sp=[...np,...ai].filter(je=>je.toolCall.providerExecuted);sp.length>0&&Na.push({role:"tool",content:sp.map(je=>({type:"tool-approval-response",approvalId:je.approvalResponse.approvalId,approved:je.approvalResponse.approved,reason:je.approvalResponse.reason,providerExecuted:!0}))});let ux=Z_(_),Ie,so=[],Da=[],ct=[],ni=new Map;do{let je=F!=null?setTimeout(()=>re.abort(),F):void 0;try{let pt=[...ri,...Na],J=await U?.({model:M,steps:ct,stepNumber:ct.length,messages:pt,experimental_context:Z}),xt=J_((ve=J?.model)!=null?ve:M),qa={provider:xt.provider,modelId:xt.modelId},lp=await y3({prompt:{system:(Le=J?.system)!=null?Le:x.system,messages:(He=J?.messages)!=null?He:pt},supportedUrls:await xt.supportedUrls,download:de});Z=(lt=J?.experimental_context)!=null?lt:Z;let cp=(ka=J?.activeTools)!=null?ka:S,{toolChoice:io,tools:oi}=await T3({tools:t,toolChoice:(oo=J?.toolChoice)!=null?oo:r,activeTools:cp}),lx=(zc=J?.messages)!=null?zc:pt,cx=(Zc=J?.system)!=null?Zc:x.system,pp=zA(D,J?.providerOptions);await Vr({event:{stepNumber:ct.length,model:qa,system:cx,messages:lx,tools:t,toolChoice:io,activeTools:cp,steps:[...ct],providerOptions:pp,timeout:l,headers:c,stopWhen:f,output:h,abortSignal:u,include:X,functionId:b?.functionId,metadata:b?.metadata,experimental_context:Z},callbacks:te}),Ie=await Ee(()=>{var Y;return qc({name:"ai.generateText.doGenerate",attributes:Pa({telemetry:b,attributes:{...Dc({operationId:"ai.generateText.doGenerate",telemetry:b}),...P,"ai.model.provider":xt.provider,"ai.model.id":xt.modelId,"ai.prompt.messages":{input:()=>F3(lp)},"ai.prompt.tools":{input:()=>oi?.map(dt=>JSON.stringify(dt))},"ai.prompt.toolChoice":{input:()=>io!=null?JSON.stringify(io):void 0},"gen_ai.system":xt.provider,"gen_ai.request.model":xt.modelId,"gen_ai.request.frequency_penalty":_.frequencyPenalty,"gen_ai.request.max_tokens":_.maxOutputTokens,"gen_ai.request.presence_penalty":_.presencePenalty,"gen_ai.request.stop_sequences":_.stopSequences,"gen_ai.request.temperature":(Y=_.temperature)!=null?Y:void 0,"gen_ai.request.top_k":_.topK,"gen_ai.request.top_p":_.topP}}),tracer:N,fn:async dt=>{var ii,La,mp,gp,hp,yp,vp,bp;let $e=await xt.doGenerate({...ux,tools:oi,toolChoice:io,responseFormat:await h?.responseFormat,prompt:lp,providerOptions:pp,abortSignal:ne,headers:Qe}),Qr={id:(La=(ii=$e.response)==null?void 0:ii.id)!=null?La:ut(),timestamp:(gp=(mp=$e.response)==null?void 0:mp.timestamp)!=null?gp:new Date,modelId:(yp=(hp=$e.response)==null?void 0:hp.modelId)!=null?yp:xt.modelId,headers:(vp=$e.response)==null?void 0:vp.headers,body:(bp=$e.response)==null?void 0:bp.body};return dt.setAttributes(await Pa({telemetry:b,attributes:{"ai.response.finishReason":$e.finishReason.unified,"ai.response.text":{output:()=>eA($e.content)},"ai.response.reasoning":{output:()=>X_($e.content)},"ai.response.toolCalls":{output:()=>{let wp=aA($e.content);return wp==null?void 0:JSON.stringify(wp)}},"ai.response.id":Qr.id,"ai.response.model":Qr.modelId,"ai.response.timestamp":Qr.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify($e.providerMetadata),"ai.usage.promptTokens":$e.usage.inputTokens.total,"ai.usage.completionTokens":$e.usage.outputTokens.total,"gen_ai.response.finish_reasons":[$e.finishReason.unified],"gen_ai.response.id":Qr.id,"gen_ai.response.model":Qr.modelId,"gen_ai.usage.input_tokens":$e.usage.inputTokens.total,"gen_ai.usage.output_tokens":$e.usage.outputTokens.total}})),{...$e,response:Qr}}})});let Ua=await Promise.all(Ie.content.filter(Y=>Y.type==="tool-call").map(Y=>tQ({toolCall:Y,tools:t,repairToolCall:V,system:a,messages:pt}))),si={};for(let Y of Ua){if(Y.invalid)continue;let dt=t?.[Y.toolName];dt!=null&&(dt?.onInputAvailable!=null&&await dt.onInputAvailable({input:Y.input,toolCallId:Y.toolCallId,messages:pt,abortSignal:ne,experimental_context:Z}),await J3({tool:dt,toolCall:Y,messages:pt,experimental_context:Z})&&(si[Y.toolCallId]={type:"tool-approval-request",approvalId:ut(),toolCall:Y}))}let px=Ua.filter(Y=>Y.invalid&&Y.dynamic);Da=[];for(let Y of px)Da.push({type:"tool-error",toolCallId:Y.toolCallId,toolName:Y.toolName,input:Y.input,error:Ms(Y.error),dynamic:!0});so=Ua.filter(Y=>!Y.providerExecuted),t!=null&&Da.push(...await rA({toolCalls:so.filter(Y=>!Y.invalid&&si[Y.toolCallId]==null),tools:t,tracer:N,telemetry:b,messages:pt,abortSignal:ne,experimental_context:Z,stepNumber:ct.length,model:qa,onToolCallStart:Bt,onToolCallFinish:Er}));for(let Y of Ua){if(!Y.providerExecuted)continue;let dt=t?.[Y.toolName];dt?.type==="provider"&&dt.supportsDeferredResults&&(Ie.content.some(La=>La.type==="tool-result"&&La.toolCallId===Y.toolCallId)||ni.set(Y.toolCallId,{toolName:Y.toolName}))}for(let Y of Ie.content)Y.type==="tool-result"&&ni.delete(Y.toolCallId);let dp=lQ({content:Ie.content,toolCalls:Ua,toolOutputs:Da,toolApprovalRequests:Object.values(si),tools:t});Na.push(...await oQ({content:dp,tools:t}));let dx=(Xc=X?.requestBody)==null||Xc?(ep=Ie.request)!=null?ep:{}:{...Ie.request,body:void 0},fx={...Ie.response,messages:structuredClone(Na),body:(tp=X?.responseBody)==null||tp?(rp=Ie.response)==null?void 0:rp.body:void 0},mx=ct.length,fp=new rQ({stepNumber:mx,model:qa,functionId:b?.functionId,metadata:b?.metadata,experimental_context:Z,content:dp,finishReason:Ie.finishReason.unified,rawFinishReason:Ie.finishReason.raw,usage:B3(Ie.usage),warnings:Ie.warnings,providerMetadata:Ie.providerMetadata,request:dx,response:fx});LA({warnings:(ap=Ie.warnings)!=null?ap:[],provider:qa.provider,model:qa.modelId}),ct.push(fp),await Vr({event:fp,callbacks:j})}finally{je!=null&&clearTimeout(je)}}while((so.length>0&&Da.length===so.length||ni.size>0)&&!await nQ({stopConditions:R,steps:ct}));B.setAttributes(await Pa({telemetry:b,attributes:{"ai.response.finishReason":Ie.finishReason.unified,"ai.response.text":{output:()=>eA(Ie.content)},"ai.response.reasoning":{output:()=>X_(Ie.content)},"ai.response.toolCalls":{output:()=>{let je=aA(Ie.content);return je==null?void 0:JSON.stringify(je)}},"ai.response.providerMetadata":JSON.stringify(Ie.providerMetadata),"ai.usage.promptTokens":Ie.usage.inputTokens.total,"ai.usage.completionTokens":Ie.usage.outputTokens.total}}));let oe=ct[ct.length-1],ip=ct.reduce((je,pt)=>G3(je,pt.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await Vr({event:{stepNumber:oe.stepNumber,model:oe.model,functionId:oe.functionId,metadata:oe.metadata,experimental_context:oe.experimental_context,finishReason:oe.finishReason,rawFinishReason:oe.rawFinishReason,usage:oe.usage,content:oe.content,text:oe.text,reasoningText:oe.reasoningText,reasoning:oe.reasoning,files:oe.files,sources:oe.sources,toolCalls:oe.toolCalls,staticToolCalls:oe.staticToolCalls,dynamicToolCalls:oe.dynamicToolCalls,toolResults:oe.toolResults,staticToolResults:oe.staticToolResults,dynamicToolResults:oe.dynamicToolResults,request:oe.request,response:oe.response,warnings:oe.warnings,providerMetadata:oe.providerMetadata,steps:ct,totalUsage:ip},callbacks:O});let up;return oe.finishReason==="stop"&&(up=await(h??XA()).parseCompleteOutput({text:oe.text},{response:oe.response,usage:oe.usage,finishReason:oe.finishReason})),new uQ({steps:ct,totalUsage:ip,output:up})}})}catch(B){throw D3(B)}}n(tx,"generateText");async function rA({toolCalls:e,tools:t,tracer:r,telemetry:a,messages:o,abortSignal:s,experimental_context:i,stepNumber:u,model:l,onToolCallStart:c,onToolCallFinish:f}){return(await Promise.all(e.map(async h=>H3({toolCall:h,tools:t,tracer:r,telemetry:a,messages:o,abortSignal:s,experimental_context:i,stepNumber:u,model:l,onToolCallStart:c,onToolCallFinish:f})))).filter(h=>h!=null)}n(rA,"executeTools");var uQ=class{static{n(this,"DefaultGenerateTextResult")}constructor(e){this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new A4;return this._output}};function aA(e){let t=e.filter(r=>r.type==="tool-call");if(t.length!==0)return t.map(r=>({toolCallId:r.toolCallId,toolName:r.toolName,input:r.input}))}n(aA,"asToolCalls");function lQ({content:e,toolCalls:t,toolOutputs:r,toolApprovalRequests:a,tools:o}){let s=[];for(let i of e)switch(i.type){case"text":case"reasoning":case"source":s.push(i);break;case"file":{s.push({type:"file",file:new K3(i),...i.providerMetadata!=null?{providerMetadata:i.providerMetadata}:{}});break}case"tool-call":{s.push(t.find(u=>u.toolCallId===i.toolCallId));break}case"tool-result":{let u=t.find(l=>l.toolCallId===i.toolCallId);if(u==null){let l=o?.[i.toolName];if(!(l?.type==="provider"&&l.supportsDeferredResults))throw new Error(`Tool call ${i.toolCallId} not found.`);i.isError?s.push({type:"tool-error",toolCallId:i.toolCallId,toolName:i.toolName,input:void 0,error:i.result,providerExecuted:!0,dynamic:i.dynamic}):s.push({type:"tool-result",toolCallId:i.toolCallId,toolName:i.toolName,input:void 0,output:i.result,providerExecuted:!0,dynamic:i.dynamic});break}i.isError?s.push({type:"tool-error",toolCallId:i.toolCallId,toolName:i.toolName,input:u.input,error:i.result,providerExecuted:!0,dynamic:u.dynamic}):s.push({type:"tool-result",toolCallId:i.toolCallId,toolName:i.toolName,input:u.input,output:i.result,providerExecuted:!0,dynamic:u.dynamic});break}case"tool-approval-request":{let u=t.find(l=>l.toolCallId===i.toolCallId);if(u==null)throw new hA({toolCallId:i.toolCallId,approvalId:i.approvalId});s.push({type:"tool-approval-request",approvalId:i.approvalId,toolCall:u});break}}return[...s,...r,...a]}n(lQ,"asContent");var xne=class extends TransformStream{static{n(this,"JsonToSseTransformStream")}constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
74
+ `),{name:"GatewayAuthenticationError"})}n(D3,"wrapGatewayError");function Dc({operationId:e,telemetry:t}){return{"operation.name":`${e}${t?.functionId!=null?` ${t.functionId}`:""}`,"resource.name":t?.functionId,"ai.operationId":e,"ai.telemetry.functionId":t?.functionId}}n(Dc,"assembleOperationName");function q3({model:e,settings:t,telemetry:r,headers:a}){var o;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((s,[i,u])=>{if(i==="timeout"){let l=BA(u);l!=null&&(s[`ai.settings.${i}`]=l)}else s[`ai.settings.${i}`]=u;return s},{}),...Object.entries((o=r?.metadata)!=null?o:{}).reduce((s,[i,u])=>(s[`ai.telemetry.metadata.${i}`]=u,s),{}),...Object.entries(a??{}).reduce((s,[i,u])=>(u!==void 0&&(s[`ai.request.headers.${i}`]=u),s),{})}}n(q3,"getBaseTelemetryAttributes");var U3={startSpan(){return zs},startActiveSpan(e,t,r,a){if(typeof t=="function")return t(zs);if(typeof r=="function")return r(zs);if(typeof a=="function")return a(zs)}},zs={spanContext(){return L3},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this}},L3={traceId:"",spanId:"",traceFlags:0};function F3({isEnabled:e=!1,tracer:t}={}){return e?t||Pc.getTracer("ai"):U3}n(F3,"getTracer");async function qc({name:e,tracer:t,attributes:r,fn:a,endWhenDone:o=!0}){return t.startActiveSpan(e,{attributes:await r},async s=>{let i=Js.active();try{let u=await Js.with(i,()=>a(s));return o&&s.end(),u}catch(u){try{zA(s,u)}finally{s.end()}throw u}})}n(qc,"recordSpan");function zA(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:Ca.ERROR,message:t.message})):e.setStatus({code:Ca.ERROR})}n(zA,"recordErrorOnSpan");async function Pa({telemetry:e,attributes:t}){if(e?.isEnabled!==!0)return{};let r={};for(let[a,o]of Object.entries(t))if(o!=null){if(typeof o=="object"&&"input"in o&&typeof o.input=="function"){if(e?.recordInputs===!1)continue;let s=await o.input();s!=null&&(r[a]=s);continue}if(typeof o=="object"&&"output"in o&&typeof o.output=="function"){if(e?.recordOutputs===!1)continue;let s=await o.output();s!=null&&(r[a]=s);continue}r[a]=o}return r}n(Pa,"selectTelemetryAttributes");function j3(e){return JSON.stringify(e.map(t=>({...t,content:typeof t.content=="string"?t.content:t.content.map(r=>r.type==="file"?{...r,data:r.data instanceof Uint8Array?h3(r.data):r.data}:r)})))}n(j3,"stringifyForTelemetry");function B3(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:jt(e.inputTokens.total,e.outputTokens.total),raw:e.raw,reasoningTokens:e.outputTokens.reasoning,cachedInputTokens:e.inputTokens.cacheRead}}n(B3,"asLanguageModelUsage");function G3(e,t){var r,a,o,s,i,u,l,c,f,y;return{inputTokens:jt(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:jt((r=e.inputTokenDetails)==null?void 0:r.noCacheTokens,(a=t.inputTokenDetails)==null?void 0:a.noCacheTokens),cacheReadTokens:jt((o=e.inputTokenDetails)==null?void 0:o.cacheReadTokens,(s=t.inputTokenDetails)==null?void 0:s.cacheReadTokens),cacheWriteTokens:jt((i=e.inputTokenDetails)==null?void 0:i.cacheWriteTokens,(u=t.inputTokenDetails)==null?void 0:u.cacheWriteTokens)},outputTokens:jt(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:jt((l=e.outputTokenDetails)==null?void 0:l.textTokens,(c=t.outputTokenDetails)==null?void 0:c.textTokens),reasoningTokens:jt((f=e.outputTokenDetails)==null?void 0:f.reasoningTokens,(y=t.outputTokenDetails)==null?void 0:y.reasoningTokens)},totalTokens:jt(e.totalTokens,t.totalTokens),reasoningTokens:jt(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:jt(e.cachedInputTokens,t.cachedInputTokens)}}n(G3,"addLanguageModelUsage");function jt(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}n(jt,"addTokenCounts");function YA(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let r={...e};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let o=t[a];if(o===void 0)continue;let s=a in e?e[a]:void 0,i=o!==null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),u=s!=null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp);i&&u?r[a]=YA(s,o):r[a]=o}return r}n(YA,"mergeObjects");function $3({error:e,exponentialBackoffDelay:t}){let r=e.responseHeaders;if(!r)return t;let a,o=r["retry-after-ms"];if(o){let i=parseFloat(o);Number.isNaN(i)||(a=i)}let s=r["retry-after"];if(s&&a===void 0){let i=parseFloat(s);Number.isNaN(i)?a=Date.parse(s)-Date.now():a=i*1e3}return a!=null&&!Number.isNaN(a)&&0<=a&&(a<60*1e3||a<t)?a:t}n($3,"getRetryDelayInMs");var W3=n(({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:a}={})=>async o=>ZA(o,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:a}),"retryWithExponentialBackoffRespectingRetryHeaders");async function ZA(e,{maxRetries:t,delayInMs:r,backoffFactor:a,abortSignal:o},s=[]){try{return await e()}catch(i){if(_r(i)||t===0)throw i;let u=Ms(i),l=[...s,i],c=l.length;if(c>t)throw new H_({message:`Failed after ${c} attempts. Last error: ${u}`,reason:"maxRetriesExceeded",errors:l});if(i instanceof Error&&ce.isInstance(i)&&i.isRetryable===!0&&c<=t)return await WT($3({error:i,exponentialBackoffDelay:r}),{abortSignal:o}),ZA(e,{maxRetries:t,delayInMs:a*r,backoffFactor:a,abortSignal:o},l);throw c===1?i:new H_({message:`Failed after ${c} attempts with non-retryable error: '${u}'`,reason:"errorNotRetryable",errors:l})}}n(ZA,"_retryWithExponentialBackoff");function V3({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new Jt({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new Jt({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}let r=e??2;return{maxRetries:r,retry:W3({maxRetries:r,abortSignal:t})}}n(V3,"prepareRetries");function Q3({messages:e}){let t=e.at(-1);if(t?.role!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let r={};for(let l of e)if(l.role==="assistant"&&typeof l.content!="string"){let c=l.content;for(let f of c)f.type==="tool-call"&&(r[f.toolCallId]=f)}let a={};for(let l of e)if(l.role==="assistant"&&typeof l.content!="string"){let c=l.content;for(let f of c)f.type==="tool-approval-request"&&(a[f.approvalId]=f)}let o={};for(let l of t.content)l.type==="tool-result"&&(o[l.toolCallId]=l);let s=[],i=[],u=t.content.filter(l=>l.type==="tool-approval-response");for(let l of u){let c=a[l.approvalId];if(c==null)throw new g4({approvalId:l.approvalId});if(o[c.toolCallId]!=null)continue;let f=r[c.toolCallId];if(f==null)throw new hA({toolCallId:c.toolCallId,approvalId:c.approvalId});let y={approvalRequest:c,approvalResponse:l,toolCall:f};l.approved?s.push(y):i.push(y)}return{approvedToolApprovals:s,deniedToolApprovals:i}}n(Q3,"collectToolApprovals");function kc(){var e,t;return(t=(e=globalThis?.performance)==null?void 0:e.now())!=null?t:Date.now()}n(kc,"now");async function H3({toolCall:e,tools:t,tracer:r,telemetry:a,messages:o,abortSignal:s,experimental_context:i,stepNumber:u,model:l,onPreliminaryToolResult:c,onToolCallStart:f,onToolCallFinish:y}){let{toolName:h,toolCallId:b,input:D}=e,I=t?.[h];if(I?.execute==null)return;let S={stepNumber:u,model:l,toolCall:e,messages:o,abortSignal:s,functionId:a?.functionId,metadata:a?.metadata,experimental_context:i};return qc({name:"ai.toolCall",attributes:Pa({telemetry:a,attributes:{...Dc({operationId:"ai.toolCall",telemetry:a}),"ai.toolCall.name":h,"ai.toolCall.id":b,"ai.toolCall.args":{output:()=>JSON.stringify(D)}}}),tracer:r,fn:async E=>{let U;await Vr({event:S,callbacks:f});let V=kc();try{let Z=sS({execute:I.execute.bind(I),input:D,options:{toolCallId:b,messages:o,abortSignal:s,experimental_context:i}});for await(let X of Z)X.type==="preliminary"?c?.({...e,type:"tool-result",output:X.output,preliminary:!0}):U=X.output}catch(Z){let X=kc()-V;return await Vr({event:{...S,success:!1,error:Z,durationMs:X},callbacks:y}),zA(E,Z),{type:"tool-error",toolCallId:b,toolName:h,input:D,error:Z,dynamic:I.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}let de=kc()-V;await Vr({event:{...S,success:!0,output:U,durationMs:de},callbacks:y});try{E.setAttributes(await Pa({telemetry:a,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(U)}}}))}catch{}return{type:"tool-result",toolCallId:b,toolName:h,input:D,output:U,dynamic:I.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}})}n(H3,"executeToolCall");function X_(e){let t=e.filter(r=>r.type==="reasoning");return t.length===0?void 0:t.map(r=>r.text).join(`
75
+ `)}n(X_,"extractReasoningContent");function eA(e){let t=e.filter(r=>r.type==="text");if(t.length!==0)return t.map(r=>r.text).join("")}n(eA,"extractTextContent");var K3=class{static{n(this,"DefaultGeneratedFile")}constructor({data:e,mediaType:t}){let r=e instanceof Uint8Array;this.base64Data=r?void 0:e,this.uint8ArrayData=r?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=rr(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=Ta(this.base64Data)),this.uint8ArrayData}};async function J3({tool:e,toolCall:t,messages:r,experimental_context:a}){return e.needsApproval==null?!1:typeof e.needsApproval=="boolean"?e.needsApproval:await e.needsApproval(t.input,{toolCallId:t.toolCallId,messages:r,experimental_context:a})}n(J3,"isApprovalNeeded");var Lc={};u4(Lc,{array:()=>Z3,choice:()=>X3,json:()=>eQ,object:()=>Y3,text:()=>XA});function z3(e){let t=["ROOT"],r=-1,a=null;function o(l,c,f){switch(l){case'"':{r=c,t.pop(),t.push(f),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=c,a=c,t.pop(),t.push(f),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(f),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=c,t.pop(),t.push(f),t.push("INSIDE_NUMBER");break}case"{":{r=c,t.pop(),t.push(f),t.push("INSIDE_OBJECT_START");break}case"[":{r=c,t.pop(),t.push(f),t.push("INSIDE_ARRAY_START");break}}}n(o,"processValueStart");function s(l,c){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=c,t.pop();break}}}n(s,"processAfterObjectValue");function i(l,c){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=c,t.pop();break}}}n(i,"processAfterArrayValue");for(let l=0;l<e.length;l++){let c=e[l];switch(t[t.length-1]){case"ROOT":o(c,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=l,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(c){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(c){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{o(c,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{s(c,l);break}case"INSIDE_STRING":{switch(c){case'"':{t.pop(),r=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=l}break}case"INSIDE_ARRAY_START":{switch(c){case"]":{r=l,t.pop();break}default:{r=l,o(c,l,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(c){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=l,t.pop();break}default:{r=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{o(c,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),r=l;break}case"INSIDE_NUMBER":{switch(c){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&s(c,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&s(c,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{let y=e.substring(a,l+1);!"false".startsWith(y)&&!"true".startsWith(y)&&!"null".startsWith(y)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?s(c,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(c,l)):r=l;break}}}let u=e.slice(0,r+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{u+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{u+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{u+="]";break}case"INSIDE_LITERAL":{let f=e.substring(a,e.length);"true".startsWith(f)?u+="true".slice(f.length):"false".startsWith(f)?u+="false".slice(f.length):"null".startsWith(f)&&(u+="null".slice(f.length))}}return u}n(z3,"fixJson");async function Xs(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await it({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await it({text:z3(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}n(Xs,"parsePartialJson");var XA=n(()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),"text"),Y3=n(({schema:e,name:t,description:r})=>{let a=or(e);return{name:"object",responseFormat:Pe(a.jsonSchema).then(o=>({type:"json",schema:o,...t!=null&&{name:t},...r!=null&&{description:r}})),async parseCompleteOutput({text:o},s){let i=await it({text:o});if(!i.success)throw new xr({message:"No object generated: could not parse the response.",cause:i.error,text:o,response:s.response,usage:s.usage,finishReason:s.finishReason});let u=await Xe({value:i.value,schema:a});if(!u.success)throw new xr({message:"No object generated: response did not match schema.",cause:u.error,text:o,response:s.response,usage:s.usage,finishReason:s.finishReason});return u.value},async parsePartialOutput({text:o}){let s=await Xs(o);switch(s.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:s.value}}},createElementStreamTransform(){}}},"object"),Z3=n(({element:e,name:t,description:r})=>{let a=or(e);return{name:"array",responseFormat:Pe(a.jsonSchema).then(o=>{let{$schema:s,...i}=o;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:i}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}}),async parseCompleteOutput({text:o},s){let i=await it({text:o});if(!i.success)throw new xr({message:"No object generated: could not parse the response.",cause:i.error,text:o,response:s.response,usage:s.usage,finishReason:s.finishReason});let u=i.value;if(u==null||typeof u!="object"||!("elements"in u)||!Array.isArray(u.elements))throw new xr({message:"No object generated: response did not match schema.",cause:new Ut({value:u,cause:"response must be an object with an elements array"}),text:o,response:s.response,usage:s.usage,finishReason:s.finishReason});for(let l of u.elements){let c=await Xe({value:l,schema:a});if(!c.success)throw new xr({message:"No object generated: response did not match schema.",cause:c.error,text:o,response:s.response,usage:s.usage,finishReason:s.finishReason})}return u.elements},async parsePartialOutput({text:o}){let s=await Xs(o);switch(s.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let i=s.value;if(i==null||typeof i!="object"||!("elements"in i)||!Array.isArray(i.elements))return;let u=s.state==="repaired-parse"&&i.elements.length>0?i.elements.slice(0,-1):i.elements,l=[];for(let c of u){let f=await Xe({value:c,schema:a});f.success&&l.push(f.value)}return{partial:l}}}},createElementStreamTransform(){let o=0;return new TransformStream({transform({partialOutput:s},i){if(s!=null)for(;o<s.length;o++)i.enqueue(s[o])}})}}},"array"),X3=n(({options:e,name:t,description:r})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}),async parseCompleteOutput({text:a},o){let s=await it({text:a});if(!s.success)throw new xr({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});let i=s.value;if(i==null||typeof i!="object"||!("result"in i)||typeof i.result!="string"||!e.includes(i.result))throw new xr({message:"No object generated: response did not match schema.",cause:new Ut({value:i,cause:"response must be an object that contains a choice value."}),text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});return i.result},async parsePartialOutput({text:a}){let o=await Xs(a);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let s=o.value;if(s==null||typeof s!="object"||!("result"in s)||typeof s.result!="string")return;let i=e.filter(u=>u.startsWith(s.result));return o.state==="successful-parse"?i.includes(s.result)?{partial:s.result}:void 0:i.length===1?{partial:i[0]}:void 0}}},createElementStreamTransform(){}}),"choice"),eQ=n(({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:r},a){let o=await it({text:r});if(!o.success)throw new xr({message:"No object generated: could not parse the response.",cause:o.error,text:r,response:a.response,usage:a.usage,finishReason:a.finishReason});return o.value},async parsePartialOutput({text:r}){let a=await Xs(r);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return a.value===void 0?void 0:{partial:a.value}}},createElementStreamTransform(){}}),"json");async function tQ({toolCall:e,tools:t,repairToolCall:r,system:a,messages:o}){var s;try{if(t==null){if(e.providerExecuted&&e.dynamic)return await ex(e);throw new Nc({toolName:e.toolName})}try{return await tA({toolCall:e,tools:t})}catch(i){if(r==null||!(Nc.isInstance(i)||Uc.isInstance(i)))throw i;let u=null;try{u=await r({toolCall:e,tools:t,inputSchema:async({toolName:l})=>{let{inputSchema:c}=t[l];return await or(c).jsonSchema},system:a,messages:o,error:i})}catch(l){throw new j4({cause:l,originalError:i})}if(u==null)throw i;return await tA({toolCall:u,tools:t})}}catch(i){let u=await it({text:e.input}),l=u.success?u.value:e.input;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:l,dynamic:!0,invalid:!0,error:i,title:(s=t?.[e.toolName])==null?void 0:s.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}}}n(tQ,"parseToolCall");async function ex(e){let t=e.input.trim()===""?{success:!0,value:{}}:await it({text:e.input});if(t.success===!1)throw new Uc({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}n(ex,"parseProviderExecutedDynamicToolCall");async function tA({toolCall:e,tools:t}){let r=e.toolName,a=t[r];if(a==null){if(e.providerExecuted&&e.dynamic)return await ex(e);throw new Nc({toolName:e.toolName,availableTools:Object.keys(t)})}let o=or(a.inputSchema),s=e.input.trim()===""?await Xe({value:{},schema:o}):await it({text:e.input,schema:o});if(s.success===!1)throw new Uc({toolName:r,toolInput:e.input,cause:s.error});return a.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:s.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,dynamic:!0,title:a.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:r,input:s.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:a.title}}n(tA,"doParseToolCall");var rQ=class{static{n(this,"DefaultStepResult")}constructor({stepNumber:e,model:t,functionId:r,metadata:a,experimental_context:o,content:s,finishReason:i,rawFinishReason:u,usage:l,warnings:c,request:f,response:y,providerMetadata:h}){this.stepNumber=e,this.model=t,this.functionId=r,this.metadata=a,this.experimental_context=o,this.content=s,this.finishReason=i,this.rawFinishReason=u,this.usage=l,this.warnings=c,this.request=f,this.response=y,this.providerMetadata=h}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>e.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map(e=>e.text).join("")}get files(){return this.content.filter(e=>e.type==="file").map(e=>e.file)}get sources(){return this.content.filter(e=>e.type==="source")}get toolCalls(){return this.content.filter(e=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function aQ(e){return({steps:t})=>t.length===e}n(aQ,"stepCountIs");async function nQ({stopConditions:e,steps:t}){return(await Promise.all(e.map(r=>r({steps:t})))).some(r=>r)}n(nQ,"isStopConditionMet");async function oQ({content:e,tools:t}){let r=[],a=[];for(let s of e)if(s.type!=="source"&&!((s.type==="tool-result"||s.type==="tool-error")&&!s.providerExecuted)&&!(s.type==="text"&&s.text.length===0))switch(s.type){case"text":a.push({type:"text",text:s.text,providerOptions:s.providerMetadata});break;case"reasoning":a.push({type:"reasoning",text:s.text,providerOptions:s.providerMetadata});break;case"file":a.push({type:"file",data:s.file.base64,mediaType:s.file.mediaType,providerOptions:s.providerMetadata});break;case"tool-call":a.push({type:"tool-call",toolCallId:s.toolCallId,toolName:s.toolName,input:s.input,providerExecuted:s.providerExecuted,providerOptions:s.providerMetadata});break;case"tool-result":{let i=await Ys({toolCallId:s.toolCallId,input:s.input,tool:t?.[s.toolName],output:s.output,errorMode:"none"});a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:i,providerOptions:s.providerMetadata});break}case"tool-error":{let i=await Ys({toolCallId:s.toolCallId,input:s.input,tool:t?.[s.toolName],output:s.error,errorMode:"json"});a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:i,providerOptions:s.providerMetadata});break}case"tool-approval-request":a.push({type:"tool-approval-request",approvalId:s.approvalId,toolCallId:s.toolCall.toolCallId});break}a.length>0&&r.push({role:"assistant",content:a});let o=[];for(let s of e){if(!(s.type==="tool-result"||s.type==="tool-error")||s.providerExecuted)continue;let i=await Ys({toolCallId:s.toolCallId,input:s.input,tool:t?.[s.toolName],output:s.type==="tool-result"?s.output:s.error,errorMode:s.type==="tool-error"?"text":"none"});o.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:i,...s.providerMetadata!=null?{providerOptions:s.providerMetadata}:{}})}return o.length>0&&r.push({role:"tool",content:o}),r}n(oQ,"toResponseMessages");function sQ(...e){let t=e.filter(a=>a!=null);if(t.length===0)return;if(t.length===1)return t[0];let r=new AbortController;for(let a of t){if(a.aborted)return r.abort(a.reason),r.signal;a.addEventListener("abort",()=>{r.abort(a.reason)},{once:!0})}return r.signal}n(sQ,"mergeAbortSignals");var iQ=ar({prefix:"aitxt",size:24});async function tx({model:e,tools:t,toolChoice:r,system:a,prompt:o,messages:s,maxRetries:i,abortSignal:u,timeout:l,headers:c,stopWhen:f=aQ(1),experimental_output:y,output:h=y,experimental_telemetry:b,providerOptions:D,experimental_activeTools:I,activeTools:S=I,experimental_prepareStep:E,prepareStep:U=E,experimental_repairToolCall:V,experimental_download:de,experimental_context:Z,experimental_include:X,_internal:{generateId:ut=iQ}={},experimental_onStart:fe,experimental_onStepStart:te,experimental_onToolCallStart:Bt,experimental_onToolCallFinish:Er,onStepFinish:F,onFinish:O,..._}){let M=J_(e),R=Zs(f),G=BA(l),j=l3(l),re=j!=null?new AbortController:void 0,ne=sQ(u,G!=null?AbortSignal.timeout(G):void 0,re?.signal),{maxRetries:ye,retry:Ee}=V3({maxRetries:i,abortSignal:ne}),K=Z_(_),Qe=nr(c??{},`ai/${GA}`),P=q3({model:M,telemetry:b,headers:Qe,settings:{...K,maxRetries:ye}}),A={provider:M.provider,modelId:M.modelId},x=await N3({system:a,prompt:o,messages:s});await Vr({event:{model:A,system:a,prompt:o,messages:s,tools:t,toolChoice:r,activeTools:S,maxOutputTokens:K.maxOutputTokens,temperature:K.temperature,topP:K.topP,topK:K.topK,presencePenalty:K.presencePenalty,frequencyPenalty:K.frequencyPenalty,stopSequences:K.stopSequences,seed:K.seed,maxRetries:ye,timeout:l,headers:c,providerOptions:D,stopWhen:f,output:h,abortSignal:u,include:X,functionId:b?.functionId,metadata:b?.metadata,experimental_context:Z},callbacks:fe});let N=F3(b);try{return await qc({name:"ai.generateText",attributes:Pa({telemetry:b,attributes:{...Dc({operationId:"ai.generateText",telemetry:b}),...P,"ai.model.provider":M.provider,"ai.model.id":M.modelId,"ai.prompt":{input:()=>JSON.stringify({system:a,prompt:o,messages:s})}}}),tracer:N,fn:async B=>{var ve,Le,He,lt,ka,oo,Yc,Zc,Xc,ep,tp,rp,ap;let ri=x.messages,Na=[],{approvedToolApprovals:np,deniedToolApprovals:ai}=Q3({messages:ri}),op=np.filter(Fe=>!Fe.toolCall.providerExecuted);if(ai.length>0||op.length>0){let Fe=await rA({toolCalls:op.map(J=>J.toolCall),tools:t,tracer:N,telemetry:b,messages:ri,abortSignal:ne,experimental_context:Z,stepNumber:0,model:A,onToolCallStart:Bt,onToolCallFinish:Er}),pt=[];for(let J of Fe){let xt=await Ys({toolCallId:J.toolCallId,input:J.input,tool:t?.[J.toolName],output:J.type==="tool-result"?J.output:J.error,errorMode:J.type==="tool-error"?"json":"none"});pt.push({type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:xt})}for(let J of ai)pt.push({type:"tool-result",toolCallId:J.toolCall.toolCallId,toolName:J.toolCall.toolName,output:{type:"execution-denied",reason:J.approvalResponse.reason,...J.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:J.approvalResponse.approvalId}}}}});Na.push({role:"tool",content:pt})}let sp=[...np,...ai].filter(Fe=>Fe.toolCall.providerExecuted);sp.length>0&&Na.push({role:"tool",content:sp.map(Fe=>({type:"tool-approval-response",approvalId:Fe.approvalResponse.approvalId,approved:Fe.approvalResponse.approved,reason:Fe.approvalResponse.reason,providerExecuted:!0}))});let ux=Z_(_),Ie,so=[],Da=[],ct=[],ni=new Map;do{let Fe=j!=null?setTimeout(()=>re.abort(),j):void 0;try{let pt=[...ri,...Na],J=await U?.({model:M,steps:ct,stepNumber:ct.length,messages:pt,experimental_context:Z}),xt=J_((ve=J?.model)!=null?ve:M),qa={provider:xt.provider,modelId:xt.modelId},lp=await y3({prompt:{system:(Le=J?.system)!=null?Le:x.system,messages:(He=J?.messages)!=null?He:pt},supportedUrls:await xt.supportedUrls,download:de});Z=(lt=J?.experimental_context)!=null?lt:Z;let cp=(ka=J?.activeTools)!=null?ka:S,{toolChoice:io,tools:oi}=await T3({tools:t,toolChoice:(oo=J?.toolChoice)!=null?oo:r,activeTools:cp}),lx=(Yc=J?.messages)!=null?Yc:pt,cx=(Zc=J?.system)!=null?Zc:x.system,pp=YA(D,J?.providerOptions);await Vr({event:{stepNumber:ct.length,model:qa,system:cx,messages:lx,tools:t,toolChoice:io,activeTools:cp,steps:[...ct],providerOptions:pp,timeout:l,headers:c,stopWhen:f,output:h,abortSignal:u,include:X,functionId:b?.functionId,metadata:b?.metadata,experimental_context:Z},callbacks:te}),Ie=await Ee(()=>{var z;return qc({name:"ai.generateText.doGenerate",attributes:Pa({telemetry:b,attributes:{...Dc({operationId:"ai.generateText.doGenerate",telemetry:b}),...P,"ai.model.provider":xt.provider,"ai.model.id":xt.modelId,"ai.prompt.messages":{input:()=>j3(lp)},"ai.prompt.tools":{input:()=>oi?.map(dt=>JSON.stringify(dt))},"ai.prompt.toolChoice":{input:()=>io!=null?JSON.stringify(io):void 0},"gen_ai.system":xt.provider,"gen_ai.request.model":xt.modelId,"gen_ai.request.frequency_penalty":_.frequencyPenalty,"gen_ai.request.max_tokens":_.maxOutputTokens,"gen_ai.request.presence_penalty":_.presencePenalty,"gen_ai.request.stop_sequences":_.stopSequences,"gen_ai.request.temperature":(z=_.temperature)!=null?z:void 0,"gen_ai.request.top_k":_.topK,"gen_ai.request.top_p":_.topP}}),tracer:N,fn:async dt=>{var ii,La,mp,gp,hp,yp,vp,bp;let $e=await xt.doGenerate({...ux,tools:oi,toolChoice:io,responseFormat:await h?.responseFormat,prompt:lp,providerOptions:pp,abortSignal:ne,headers:Qe}),Qr={id:(La=(ii=$e.response)==null?void 0:ii.id)!=null?La:ut(),timestamp:(gp=(mp=$e.response)==null?void 0:mp.timestamp)!=null?gp:new Date,modelId:(yp=(hp=$e.response)==null?void 0:hp.modelId)!=null?yp:xt.modelId,headers:(vp=$e.response)==null?void 0:vp.headers,body:(bp=$e.response)==null?void 0:bp.body};return dt.setAttributes(await Pa({telemetry:b,attributes:{"ai.response.finishReason":$e.finishReason.unified,"ai.response.text":{output:()=>eA($e.content)},"ai.response.reasoning":{output:()=>X_($e.content)},"ai.response.toolCalls":{output:()=>{let wp=aA($e.content);return wp==null?void 0:JSON.stringify(wp)}},"ai.response.id":Qr.id,"ai.response.model":Qr.modelId,"ai.response.timestamp":Qr.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify($e.providerMetadata),"ai.usage.promptTokens":$e.usage.inputTokens.total,"ai.usage.completionTokens":$e.usage.outputTokens.total,"gen_ai.response.finish_reasons":[$e.finishReason.unified],"gen_ai.response.id":Qr.id,"gen_ai.response.model":Qr.modelId,"gen_ai.usage.input_tokens":$e.usage.inputTokens.total,"gen_ai.usage.output_tokens":$e.usage.outputTokens.total}})),{...$e,response:Qr}}})});let Ua=await Promise.all(Ie.content.filter(z=>z.type==="tool-call").map(z=>tQ({toolCall:z,tools:t,repairToolCall:V,system:a,messages:pt}))),si={};for(let z of Ua){if(z.invalid)continue;let dt=t?.[z.toolName];dt!=null&&(dt?.onInputAvailable!=null&&await dt.onInputAvailable({input:z.input,toolCallId:z.toolCallId,messages:pt,abortSignal:ne,experimental_context:Z}),await J3({tool:dt,toolCall:z,messages:pt,experimental_context:Z})&&(si[z.toolCallId]={type:"tool-approval-request",approvalId:ut(),toolCall:z}))}let px=Ua.filter(z=>z.invalid&&z.dynamic);Da=[];for(let z of px)Da.push({type:"tool-error",toolCallId:z.toolCallId,toolName:z.toolName,input:z.input,error:Ms(z.error),dynamic:!0});so=Ua.filter(z=>!z.providerExecuted),t!=null&&Da.push(...await rA({toolCalls:so.filter(z=>!z.invalid&&si[z.toolCallId]==null),tools:t,tracer:N,telemetry:b,messages:pt,abortSignal:ne,experimental_context:Z,stepNumber:ct.length,model:qa,onToolCallStart:Bt,onToolCallFinish:Er}));for(let z of Ua){if(!z.providerExecuted)continue;let dt=t?.[z.toolName];dt?.type==="provider"&&dt.supportsDeferredResults&&(Ie.content.some(La=>La.type==="tool-result"&&La.toolCallId===z.toolCallId)||ni.set(z.toolCallId,{toolName:z.toolName}))}for(let z of Ie.content)z.type==="tool-result"&&ni.delete(z.toolCallId);let dp=lQ({content:Ie.content,toolCalls:Ua,toolOutputs:Da,toolApprovalRequests:Object.values(si),tools:t});Na.push(...await oQ({content:dp,tools:t}));let dx=(Xc=X?.requestBody)==null||Xc?(ep=Ie.request)!=null?ep:{}:{...Ie.request,body:void 0},fx={...Ie.response,messages:structuredClone(Na),body:(tp=X?.responseBody)==null||tp?(rp=Ie.response)==null?void 0:rp.body:void 0},mx=ct.length,fp=new rQ({stepNumber:mx,model:qa,functionId:b?.functionId,metadata:b?.metadata,experimental_context:Z,content:dp,finishReason:Ie.finishReason.unified,rawFinishReason:Ie.finishReason.raw,usage:B3(Ie.usage),warnings:Ie.warnings,providerMetadata:Ie.providerMetadata,request:dx,response:fx});LA({warnings:(ap=Ie.warnings)!=null?ap:[],provider:qa.provider,model:qa.modelId}),ct.push(fp),await Vr({event:fp,callbacks:F})}finally{Fe!=null&&clearTimeout(Fe)}}while((so.length>0&&Da.length===so.length||ni.size>0)&&!await nQ({stopConditions:R,steps:ct}));B.setAttributes(await Pa({telemetry:b,attributes:{"ai.response.finishReason":Ie.finishReason.unified,"ai.response.text":{output:()=>eA(Ie.content)},"ai.response.reasoning":{output:()=>X_(Ie.content)},"ai.response.toolCalls":{output:()=>{let Fe=aA(Ie.content);return Fe==null?void 0:JSON.stringify(Fe)}},"ai.response.providerMetadata":JSON.stringify(Ie.providerMetadata),"ai.usage.promptTokens":Ie.usage.inputTokens.total,"ai.usage.completionTokens":Ie.usage.outputTokens.total}}));let oe=ct[ct.length-1],ip=ct.reduce((Fe,pt)=>G3(Fe,pt.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await Vr({event:{stepNumber:oe.stepNumber,model:oe.model,functionId:oe.functionId,metadata:oe.metadata,experimental_context:oe.experimental_context,finishReason:oe.finishReason,rawFinishReason:oe.rawFinishReason,usage:oe.usage,content:oe.content,text:oe.text,reasoningText:oe.reasoningText,reasoning:oe.reasoning,files:oe.files,sources:oe.sources,toolCalls:oe.toolCalls,staticToolCalls:oe.staticToolCalls,dynamicToolCalls:oe.dynamicToolCalls,toolResults:oe.toolResults,staticToolResults:oe.staticToolResults,dynamicToolResults:oe.dynamicToolResults,request:oe.request,response:oe.response,warnings:oe.warnings,providerMetadata:oe.providerMetadata,steps:ct,totalUsage:ip},callbacks:O});let up;return oe.finishReason==="stop"&&(up=await(h??XA()).parseCompleteOutput({text:oe.text},{response:oe.response,usage:oe.usage,finishReason:oe.finishReason})),new uQ({steps:ct,totalUsage:ip,output:up})}})}catch(B){throw D3(B)}}n(tx,"generateText");async function rA({toolCalls:e,tools:t,tracer:r,telemetry:a,messages:o,abortSignal:s,experimental_context:i,stepNumber:u,model:l,onToolCallStart:c,onToolCallFinish:f}){return(await Promise.all(e.map(async h=>H3({toolCall:h,tools:t,tracer:r,telemetry:a,messages:o,abortSignal:s,experimental_context:i,stepNumber:u,model:l,onToolCallStart:c,onToolCallFinish:f})))).filter(h=>h!=null)}n(rA,"executeTools");var uQ=class{static{n(this,"DefaultGenerateTextResult")}constructor(e){this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new A4;return this._output}};function aA(e){let t=e.filter(r=>r.type==="tool-call");if(t.length!==0)return t.map(r=>({toolCallId:r.toolCallId,toolName:r.toolName,input:r.input}))}n(aA,"asToolCalls");function lQ({content:e,toolCalls:t,toolOutputs:r,toolApprovalRequests:a,tools:o}){let s=[];for(let i of e)switch(i.type){case"text":case"reasoning":case"source":s.push(i);break;case"file":{s.push({type:"file",file:new K3(i),...i.providerMetadata!=null?{providerMetadata:i.providerMetadata}:{}});break}case"tool-call":{s.push(t.find(u=>u.toolCallId===i.toolCallId));break}case"tool-result":{let u=t.find(l=>l.toolCallId===i.toolCallId);if(u==null){let l=o?.[i.toolName];if(!(l?.type==="provider"&&l.supportsDeferredResults))throw new Error(`Tool call ${i.toolCallId} not found.`);i.isError?s.push({type:"tool-error",toolCallId:i.toolCallId,toolName:i.toolName,input:void 0,error:i.result,providerExecuted:!0,dynamic:i.dynamic}):s.push({type:"tool-result",toolCallId:i.toolCallId,toolName:i.toolName,input:void 0,output:i.result,providerExecuted:!0,dynamic:i.dynamic});break}i.isError?s.push({type:"tool-error",toolCallId:i.toolCallId,toolName:i.toolName,input:u.input,error:i.result,providerExecuted:!0,dynamic:u.dynamic}):s.push({type:"tool-result",toolCallId:i.toolCallId,toolName:i.toolName,input:u.input,output:i.result,providerExecuted:!0,dynamic:u.dynamic});break}case"tool-approval-request":{let u=t.find(l=>l.toolCallId===i.toolCallId);if(u==null)throw new hA({toolCallId:i.toolCallId,approvalId:i.approvalId});s.push({type:"tool-approval-request",approvalId:i.approvalId,toolCall:u});break}}return[...s,...r,...a]}n(lQ,"asContent");var xne=class extends TransformStream{static{n(this,"JsonToSseTransformStream")}constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
76
76
 
77
77
  `)},flush(e){e.enqueue(`data: [DONE]
78
78
 
@@ -178,19 +178,41 @@ a variable, it will be provided to you as a binding.
178
178
 
179
179
  ${a}
180
180
 
181
- ${r}`)}n(IQ,"generateJs");function jc(){let e=`
181
+ ${r}`)}n(IQ,"generateJs");function Fc(){let e=`
182
182
  You are generating Budibase table schemas from user prompts.
183
183
  Always return at least 2 tables, and define only one side of relationships using a link field.
184
184
  Exclude id, created_at, and updated_at (Budibase adds them).
185
185
  Include a variety of column types: text, dropdown, date, number.
186
186
  Add at least one formula column, one attachment, and one multi-attachment column across the tables.
187
+ Use the exact Budibase field type names from the schema.
188
+ Single attachment must use type "attachment_single".
189
+ Multi-attachment must use type "attachment", never "attachments".
190
+ Multi-image must use type "attachment" with subtype "image".
187
191
  Budibase handles reverse relationships and many-to-many links \u2014 never define join tables or reverse fields.
188
192
  Never reference pre-existing/internal Budibase tables in relationships. Relationships must only reference table names generated in this same response.
189
193
  You may specify foreignColumnName, but do not create that field manually.
190
- `;return new Ve().addSystemMessage(e)}n(jc,"generateTables");function Fc(){let e='Given the generated schema, add only one field of type "AI" to relevant tables to add value to the Budibase user.';return new Ve().addSystemMessage(e)}n(Fc,"generateAIColumns");function Bc(){let e=`
194
+ `;return new Ve().addSystemMessage(e)}n(Fc,"generateTables");function jc(){let e=`
195
+ Given the generated schema, add only one field of type "ai" to relevant tables to add value to the Budibase user.
196
+ Use the exact Budibase AI operation enum values from the schema.
197
+ The field type itself must be exactly "ai" in lowercase, never "AI".
198
+ - translation must use operation "TRANSLATE"
199
+ - categorisation must use operation "CATEGORISE_TEXT"
200
+ - summarisation must use operation "SUMMARISE_TEXT"
201
+ Do not use lowercase operation names like "translate", "categorize", or "summarize".
202
+ For "TRANSLATE", provide both "column" and "language".
203
+ For "CATEGORISE_TEXT", provide both "columns" and "categories".
204
+ For "SUMMARISE_TEXT", provide "columns".
205
+ Only use table keys and column names that exist in the generated schema.
206
+ `;return new Ve().addSystemMessage(e)}n(jc,"generateAIColumns");function Bc(){let e=`
191
207
  For each table, populate the data field with realistic-looking sample records.
192
208
  Avoid placeholder values like "foo" or "bar". Use real names, emails, etc., and ensure values are unique across rows.
193
209
  Keep the dataset compact for speed: target 2-6 rows per table unless the prompt explicitly asks for more.
210
+ For image fields, use only these exact URLs:
211
+ - "https://picsum.photos/600/600" for profile pictures and similar
212
+ - "https://picsum.photos/1920/1080" for other images
213
+ Do not use any other image URLs.
214
+ For non-image attachments, return attachment objects with "fileName", "extension", and "content".
215
+ Only use ".pdf" or ".txt" as attachment extensions.
194
216
  `;return new Ve().addSystemMessage(e)}n(Bc,"generateData");function TQ(e){let{baseSystemPrompt:t,goal:r,promptInstructions:a,toolGuidelines:o,includeGoal:s=!0}=e,i=[];if(t&&t.trim())i.push(t.trim());else{let u=`
195
217
  You are a helpful automation agent running inside a Budibase workflow.
196
218
 
@@ -233,5 +255,5 @@ Example: return $("Score") + $("Weight")
233
255
  1. If we have posts and comments, there should be more posts than users, and more comments than posts.
234
256
  2. If it's a ticketing system, there may be more tickets than users, and some users may have submitted several tickets.
235
257
  3. In a CRM, there are fewer users than customers, and customers may have many deals.
236
- 4. In a project management tool, projects might have many tasks, and tasks might have multiple comments.`)}return t}n(Hc,"tableDataStructuredOutput");function EQ(e){return!!(e?.openai?.reasoningEffort||e?.azure?.reasoningEffort)}n(EQ,"hasReasoningEffort");function RQ(e){if(!e)return e;let t={...e};if(t.openai){let r={...t.openai};delete r.reasoningEffort,t.openai=r}if(t.azure){let r={...t.azure};delete r.reasoningEffort,t.azure=r}return t}n(RQ,"withoutReasoningEffort");function OQ(e){let t=e,r=t?.statusCode||t?.status||t?.cause?.status||t?.response?.status;if(r&&r!==400)return!1;let a=[t?.message,t?.cause?.message,t?.responseBody,t?.response?.body].filter(Boolean).join(" ").toLowerCase();return a.includes("reasoning")&&(a.includes("unsupported")||a.includes("unknown")||a.includes("invalid"))}n(OQ,"isUnsupportedReasoningError");async function Kc({providerOptions:e,run:t}){if(!EQ(e))return t(e);try{return await t(e)}catch(r){if(!OQ(r))throw r;return t(RQ(e))}}n(Kc,"runWithReasoningEffortFallback");var Jc=class e{constructor(t,r){this.llmFunctions={getTableStructure:async t=>ao.default.trace("llm.getTableStructure",async()=>{let r=await this.promptForStructuredOutput(jc().addUserMessage(t),Vc,"Error generating tables");return Gc(r)}),generateAIColumns:(t,r)=>ao.default.trace("llm.generateAIColumns",async()=>this.generateAIColumns(t,r)),generateData:async(t,r)=>ao.default.trace("llm.generateData",async()=>this.promptForStructuredOutput(Bc().addUserMessage(t),Hc(r),"Error generating data"))};this.aiModel=t,this.delegates=r}static{n(this,"TableGeneration")}static async init(t,r){if(!t)throw new ti.HTTPError("LLM not available",422);return new e(t,r)}async generate(t,r,a){return ao.default.trace("tableGeneration.generate",async o=>{let s=await this.generateTables(t,r,a);return o.addTags({table_count:s.length}),s})}async generateTables(t,r,a){a?.("Generating table schema...");let o=await this.llmFunctions.getTableStructure(t);a?.("Generating AI columns and sample data...");let[s,i]=await Promise.all([this.llmFunctions.generateAIColumns(t,o),this.llmFunctions.generateData(t,o)]);a?.("Creating tables...");let u=await this.delegates.generateTablesDelegate($c(o,s));return a?.("Populating rows..."),await this.delegates.generateDataDelegate(i,r,ix.utils.toMap("name",o)),a?.("Finalizing..."),u}async generateAIColumns(t,r){return this.promptForStructuredOutput(Fc().addUserMessage(`This is the initial user prompt that generated the given schema:
258
+ 4. In a project management tool, projects might have many tasks, and tasks might have multiple comments.`)}return t}n(Hc,"tableDataStructuredOutput");function EQ(e){return!!(e?.openai?.reasoningEffort||e?.azure?.reasoningEffort)}n(EQ,"hasReasoningEffort");function RQ(e){if(!e)return e;let t={...e};if(t.openai){let r={...t.openai};delete r.reasoningEffort,t.openai=r}if(t.azure){let r={...t.azure};delete r.reasoningEffort,t.azure=r}return t}n(RQ,"withoutReasoningEffort");function OQ(e){let t=e,r=t?.statusCode||t?.status||t?.cause?.status||t?.response?.status;if(r&&r!==400)return!1;let a=[t?.message,t?.cause?.message,t?.responseBody,t?.response?.body].filter(Boolean).join(" ").toLowerCase();return a.includes("reasoning")&&(a.includes("unsupported")||a.includes("unknown")||a.includes("invalid"))}n(OQ,"isUnsupportedReasoningError");async function Kc({providerOptions:e,run:t}){if(!EQ(e))return t(e);try{return await t(e)}catch(r){if(!OQ(r))throw r;return t(RQ(e))}}n(Kc,"runWithReasoningEffortFallback");var Jc=class e{constructor(t,r){this.llmFunctions={getTableStructure:async t=>ao.default.trace("llm.getTableStructure",async()=>{let r=await this.promptForStructuredOutput(Fc().addUserMessage(t),Vc,"Error generating tables");return Gc(r)}),generateAIColumns:(t,r)=>ao.default.trace("llm.generateAIColumns",async()=>this.generateAIColumns(t,r)),generateData:async(t,r)=>ao.default.trace("llm.generateData",async()=>this.promptForStructuredOutput(Bc().addUserMessage(t),Hc(r),"Error generating data"))};this.aiModel=t,this.delegates=r}static{n(this,"TableGeneration")}static async init(t,r){if(!t)throw new ti.HTTPError("LLM not available",422);return new e(t,r)}async generate(t,r,a){return ao.default.trace("tableGeneration.generate",async o=>{let s=await this.generateTables(t,r,a);return o.addTags({table_count:s.length}),s})}async generateTables(t,r,a){a?.("Generating table schema...");let o=await this.llmFunctions.getTableStructure(t);a?.("Generating AI columns and sample data...");let[s,i]=await Promise.all([this.llmFunctions.generateAIColumns(t,o),this.llmFunctions.generateData(t,o)]);a?.("Creating tables...");let u=await this.delegates.generateTablesDelegate($c(o,s));return a?.("Populating rows..."),await this.delegates.generateDataDelegate(i,r,ix.utils.toMap("name",o)),a?.("Finalizing..."),u}async generateAIColumns(t,r){return this.promptForStructuredOutput(jc().addUserMessage(`This is the initial user prompt that generated the given schema:
237
259
  "${t}"`),Qc(r),"Error generating columns")}async promptForStructuredOutput(t,r,a){let o=this.aiModel.providerOptions?.(!1),s=n(async i=>tx({model:this.aiModel.chat,messages:this.toModelMessages(t.messages),output:Lc.object({schema:r}),providerOptions:i}),"run");try{return(await Kc({providerOptions:o,run:s})).output}catch(i){let u=[a,this.getErrorMessage(i)].filter(Boolean).join(": ");throw new ti.HTTPError(u,500)}}getErrorMessage(t){if(!t||typeof t!="object")return String(t);let r=t;return typeof r.message=="string"?r.message:String(t)}toModelMessages(t){return t.map(r=>{if(typeof r.content!="string")throw new ti.HTTPError("AI message content must be a string",422);return{role:r.role,content:r.content}})}};var no=require("@budibase/types");function CQ(e){if(e.length>64)throw new Error("Tool name must be under 64 characters long");return e.replace(/[^a-zA-Z0-9_-]/g,"_")}n(CQ,"sanitiseToolName");function MQ(e){return e?e.includes("/")?e:{[no.SupportedFileType.PDF]:"application/pdf",[no.SupportedFileType.JPG]:"image/jpeg",[no.SupportedFileType.JPEG]:"image/jpeg",[no.SupportedFileType.PNG]:"image/png"}[e.toLowerCase()]||"application/octet-stream":"application/octet-stream"}n(MQ,"normalizeContentType");0&&(module.exports={Method,ai,auditLogs,automations,backups,branding,constants,db,environmentVariables,features,groups,init,licensing,logger,mappers,middleware,plugins,publicApi,quotas,scimGroups,scimUsers,sdk,users,utils});