@budibase/cli 3.24.5 → 3.24.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1438,8 +1438,8 @@ $1`)};Mue.parseAttributes=s(function(e){return Object.keys(e).map(function(r){va
1438
1438
 
1439
1439
  Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus.
1440
1440
 
1441
- Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Pellentesque in ipsum id orci porta dapibus. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.`;W4i.exports=Xqu});var V4t=g((K4i,J4i)=>{"use strict";var yf=dp(),VQ=Bue(),pi=J4i.exports,Zqu=Y4i();pi.append=function(t,e){return typeof t=="string"&&typeof e=="string"?t+e:t};pi.camelcase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return e.toUpperCase()})};pi.capitalize=function(t){return typeof t!="string"?"":t.charAt(0).toUpperCase()+t.slice(1)};pi.capitalizeAll=function(t){if(typeof t!="string")return"";if(yf.isString(t))return t.replace(/\w\S*/g,function(e){return pi.capitalize(e)})};pi.center=function(t,e){if(typeof t!="string")return"";for(var r="",n=0;n<e;)r+="&nbsp;",n++;return r+t+r};pi.chop=function(t){return typeof t!="string"?"":VQ.chop(t)};pi.dashcase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return"-"+e})};pi.dotcase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return"."+e})};pi.downcase=function(){return pi.lowercase.apply(this,arguments)};pi.ellipsis=function(t,e){if(yf.isString(t))return t.length<=e?t:pi.truncate(t,e)+"\u2026"};pi.hyphenate=function(t){return typeof t!="string"?"":t.split(" ").join("-")};pi.isString=function(t){return typeof t=="string"};pi.lowercase=function(t){return yf.isObject(t)&&t.fn?t.fn(this).toLowerCase():typeof t!="string"?"":t.toLowerCase()};pi.occurrences=function(t,e){if(typeof t!="string")return"";for(var r=e.length,n=0,i=0;(n=t.indexOf(e,n))>-1;)i++,n+=r;return i};pi.pascalcase=function(t){return typeof t!="string"?"":(t=VQ.changecase(t,function(e){return e.toUpperCase()}),t.charAt(0).toUpperCase()+t.slice(1))};pi.pathcase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return"/"+e})};pi.plusify=function(t,e){return typeof t!="string"?"":(yf.isString(e)||(e=" "),t.split(e).join("+"))};pi.prepend=function(t,e){return typeof t=="string"&&typeof e=="string"?e+t:t};pi.raw=function(t){var e=t.fn(),r=yf.options(this,t);if(r.escape!==!1)for(var n=0;(n=e.indexOf("{{",n))!==-1;)e[n-1]!=="\\"&&(e=e.slice(0,n)+"\\"+e.slice(n)),n+=3;return e};pi.remove=function(t,e){return typeof t!="string"?"":yf.isString(e)?t.split(e).join(""):t};pi.removeFirst=function(t,e){return typeof t!="string"?"":yf.isString(e)?t.replace(e,""):t};pi.replace=function(t,e,r){return typeof t!="string"?"":yf.isString(e)?(yf.isString(r)||(r=""),t.split(e).join(r)):t};pi.replaceFirst=function(t,e,r){return typeof t!="string"?"":yf.isString(e)?(yf.isString(r)||(r=""),t.replace(e,r)):t};pi.reverse=R9().reverse;pi.sentence=function(t){return typeof t!="string"?"":t.replace(/((?:\S[^\.\?\!]*)[\.\?\!]*)/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})};pi.snakecase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return"_"+e})};pi.split=function(t,e){return typeof t!="string"?"":(yf.isString(e)||(e=","),t.split(e))};pi.startsWith=function(t,e,r){var n=[].slice.call(arguments);return r=n.pop(),yf.isString(e)&&e.indexOf(t)===0?r.fn(this):typeof r.inverse=="function"?r.inverse(this):""};pi.titleize=function(t){if(typeof t!="string")return"";for(var e=t.replace(/[- _]+/g," "),r=e.split(" "),n=r.length,i=[],o=0;n--;){var a=r[o++];i.push(K4i.capitalize(a))}return i.join(" ")};pi.trim=function(t){return typeof t=="string"?t.trim():""};pi.trimLeft=function(t){if(yf.isString(t))return t.replace(/^\s+/,"")};pi.trimRight=function(t){if(yf.isString(t))return t.replace(/\s+$/,"")};pi.truncate=function(t,e,r){if(yf.isString(t))return typeof r!="string"&&(r=""),t.length>e?t.slice(0,e-r.length)+r:t};pi.truncateWords=function(t,e,r){if(yf.isString(t)&&!isNaN(e)){typeof r!="string"&&(r="\u2026");var n=Number(e),i=t.split(/[ \t]/);if(n>=i.length)return t;i=i.slice(0,n);var o=i.join(" ").trim();return o+r}};pi.upcase=function(){return pi.uppercase.apply(this,arguments)};pi.uppercase=function(t){return yf.isObject(t)&&t.fn?t.fn(this).toUpperCase():typeof t!="string"?"":t.toUpperCase()};pi.lorem=function(t){return(isNaN(t)||t<1||!t)&&(t=11),Zqu.substring(0,t)}});var z4t=g((m6d,X4i)=>{"use strict";var $4t=require("url"),jue=dp(),e2u=require("querystring"),$Q=X4i.exports;$Q.encodeURI=function(t){if(jue.isString(t))return encodeURIComponent(t)};$Q.escape=function(t){if(jue.isString(t))return e2u.escape(t)};$Q.decodeURI=function(t){if(jue.isString(t))return decodeURIComponent(t)};$Q.urlResolve=function(t,e){return $4t.resolve(t,e)};$Q.urlParse=function(t){return $4t.parse(t)};$Q.stripQuerystring=function(t){if(jue.isString(t))return t.split("?")[0]};$Q.stripProtocol=function(t){if(jue.isString(t)){var e=$4t.parse(t);return e.protocol="",e.format()}}});function Hue(){return AQe>yQe.length-16&&(Z4i.default.randomFillSync(yQe),AQe=0),yQe.slice(AQe,AQe+=16)}var Z4i,yQe,AQe,W4t=Z(()=>{"use strict";Z4i=qe(require("crypto")),yQe=new Uint8Array(256),AQe=yQe.length;s(Hue,"rng")});var e$i,t$i=Z(()=>{"use strict";e$i=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function t2u(t){return typeof t=="string"&&e$i.test(t)}var VP,Gue=Z(()=>{"use strict";t$i();s(t2u,"validate");VP=t2u});function zQ(t,e=0){return pp[t[e+0]]+pp[t[e+1]]+pp[t[e+2]]+pp[t[e+3]]+"-"+pp[t[e+4]]+pp[t[e+5]]+"-"+pp[t[e+6]]+pp[t[e+7]]+"-"+pp[t[e+8]]+pp[t[e+9]]+"-"+pp[t[e+10]]+pp[t[e+11]]+pp[t[e+12]]+pp[t[e+13]]+pp[t[e+14]]+pp[t[e+15]]}function r2u(t,e=0){let r=zQ(t,e);if(!VP(r))throw TypeError("Stringified UUID is invalid");return r}var pp,r$i,Vue=Z(()=>{"use strict";Gue();pp=[];for(let t=0;t<256;++t)pp.push((t+256).toString(16).slice(1));s(zQ,"unsafeStringify");s(r2u,"stringify");r$i=r2u});function n2u(t,e,r){let n=e&&r||0,i=e||new Array(16);t=t||{};let o=t.node||n$i,a=t.clockseq!==void 0?t.clockseq:Y4t;if(o==null||a==null){let p=t.random||(t.rng||Hue)();o==null&&(o=n$i=[p[0]|1,p[1],p[2],p[3],p[4],p[5]]),a==null&&(a=Y4t=(p[6]<<8|p[7])&16383)}let c=t.msecs!==void 0?t.msecs:Date.now(),u=t.nsecs!==void 0?t.nsecs:J4t+1,l=c-K4t+(u-J4t)/1e4;if(l<0&&t.clockseq===void 0&&(a=a+1&16383),(l<0||c>K4t)&&t.nsecs===void 0&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");K4t=c,J4t=u,Y4t=a,c+=122192928e5;let d=((c&268435455)*1e4+u)%4294967296;i[n++]=d>>>24&255,i[n++]=d>>>16&255,i[n++]=d>>>8&255,i[n++]=d&255;let f=c/4294967296*1e4&268435455;i[n++]=f>>>8&255,i[n++]=f&255,i[n++]=f>>>24&15|16,i[n++]=f>>>16&255,i[n++]=a>>>8|128,i[n++]=a&255;for(let p=0;p<6;++p)i[n+p]=o[p];return e||zQ(i)}var n$i,Y4t,K4t,J4t,i$i,s$i=Z(()=>{"use strict";W4t();Vue();K4t=0,J4t=0;s(n2u,"v1");i$i=n2u});function i2u(t){if(!VP(t))throw TypeError("Invalid UUID");let e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}var _Qe,X4t=Z(()=>{"use strict";Gue();s(i2u,"parse");_Qe=i2u});function s2u(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e}function $ue(t,e,r){function n(i,o,a,c){var u;if(typeof i=="string"&&(i=s2u(i)),typeof o=="string"&&(o=_Qe(o)),((u=o)===null||u===void 0?void 0:u.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(o),l.set(i,o.length),l=r(l),l[6]=l[6]&15|e,l[8]=l[8]&63|128,a){c=c||0;for(let d=0;d<16;++d)a[c+d]=l[d];return a}return zQ(l)}s(n,"generateUUID");try{n.name=t}catch{}return n.DNS=o2u,n.URL=a2u,n}var o2u,a2u,Z4t=Z(()=>{"use strict";Vue();X4t();s(s2u,"stringToBytes");o2u="6ba7b810-9dad-11d1-80b4-00c04fd430c8",a2u="6ba7b811-9dad-11d1-80b4-00c04fd430c8";s($ue,"v35")});function c2u(t){return Array.isArray(t)?t=Buffer.from(t):typeof t=="string"&&(t=Buffer.from(t,"utf8")),o$i.default.createHash("md5").update(t).digest()}var o$i,a$i,c$i=Z(()=>{"use strict";o$i=qe(require("crypto"));s(c2u,"md5");a$i=c2u});var u2u,u$i,l$i=Z(()=>{"use strict";Z4t();c$i();u2u=$ue("v3",48,a$i),u$i=u2u});var d$i,e$t,f$i=Z(()=>{"use strict";d$i=qe(require("crypto")),e$t={randomUUID:d$i.default.randomUUID}});function l2u(t,e,r){if(e$t.randomUUID&&!e&&!t)return e$t.randomUUID();t=t||{};let n=t.random||(t.rng||Hue)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(let i=0;i<16;++i)e[r+i]=n[i];return e}return zQ(n)}var p$i,h$i=Z(()=>{"use strict";f$i();W4t();Vue();s(l2u,"v4");p$i=l2u});function d2u(t){return Array.isArray(t)?t=Buffer.from(t):typeof t=="string"&&(t=Buffer.from(t,"utf8")),m$i.default.createHash("sha1").update(t).digest()}var m$i,g$i,A$i=Z(()=>{"use strict";m$i=qe(require("crypto"));s(d2u,"sha1");g$i=d2u});var f2u,y$i,_$i=Z(()=>{"use strict";Z4t();A$i();f2u=$ue("v5",80,g$i),y$i=f2u});var E$i,b$i=Z(()=>{"use strict";E$i="00000000-0000-0000-0000-000000000000"});function p2u(t){if(!VP(t))throw TypeError("Invalid UUID");return parseInt(t.slice(14,15),16)}var S$i,v$i=Z(()=>{"use strict";Gue();s(p2u,"version");S$i=p2u});var w$i={};Is(w$i,{NIL:()=>E$i,parse:()=>_Qe,stringify:()=>r$i,v1:()=>i$i,v3:()=>u$i,v4:()=>p$i,v5:()=>y$i,validate:()=>VP,version:()=>S$i});var T$i=Z(()=>{"use strict";s$i();l$i();h$i();_$i();b$i();v$i();Gue();Vue();X4t()});var t$t=g((d9d,C$i)=>{"use strict";var h2u=(T$i(),Nt(w$i)),m2u=C$i.exports;m2u.uuid=function(){return h2u.v4()}});var x$i=g((f9d,I$i)=>{"use strict";I$i.exports={array:R9(),code:N3i(),collection:z3i(),comparison:S4t(),html:fVi(),i18n:hVi(),inflection:AVi(),match:R4i(),math:j4t(),misc:N4i(),number:H4t(),object:sQe(),path:V4i(),regex:G4t(),string:V4t(),url:z4t(),uuid:t$t()}});var R$i=g((p9d,D9)=>{"use strict";var zue=x$i();D9.exports=s(function(e,r){typeof e=="string"?e=[e]:Array.isArray(e)||(r=e,e=null),r=r||{};var n=r.handlebars||r.hbs||kue();if(D9.exports.handlebars=n,e)e.forEach(function(i){n.registerHelper(zue[i])});else for(let i in zue){let o=zue[i];n.registerHelper(o)}return n.helpers},"helpers");for(let t in zue){let e=zue[t];D9.exports[t]=function(r){r=r||{};var n=r.handlebars||r.hbs||kue();return D9.exports.handlebars=n,n.registerHelper(e),e}}D9.exports.utils=Bue()});var O$i=g((r$t,n$t)=>{"use strict";(function(t,e){typeof r$t=="object"&&typeof n$t<"u"?n$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_duration=e()})(r$t,function(){"use strict";var t,e,r=1e3,n=6e4,i=36e5,o=864e5,a=/\[([^\]]+)]|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,c=31536e6,u=2628e6,l=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,d={years:c,months:u,days:o,hours:i,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},f=s(function(N){return N instanceof x},"c"),p=s(function(N,T,B){return new x(N,B,T.$l)},"f"),h=s(function(N){return e.p(N)+"s"},"m"),A=s(function(N){return N<0},"l"),y=s(function(N){return A(N)?Math.ceil(N):Math.floor(N)},"$"),v=s(function(N){return Math.abs(N)},"y"),b=s(function(N,T){return N?A(N)?{negative:!0,format:""+v(N)+T}:{negative:!1,format:""+N+T}:{negative:!1,format:""}},"v"),x=function(){function N(B,q,j){var H=this;if(this.$d={},this.$l=j,B===void 0&&(this.$ms=0,this.parseFromMilliseconds()),q)return p(B*d[h(q)],this);if(typeof B=="number")return this.$ms=B,this.parseFromMilliseconds(),this;if(typeof B=="object")return Object.keys(B).forEach(function(ce){H.$d[h(ce)]=B[ce]}),this.calMilliseconds(),this;if(typeof B=="string"){var $=B.match(l);if($){var X=$.slice(2).map(function(ce){return ce!=null?Number(ce):0});return this.$d.years=X[0],this.$d.months=X[1],this.$d.weeks=X[2],this.$d.days=X[3],this.$d.hours=X[4],this.$d.minutes=X[5],this.$d.seconds=X[6],this.calMilliseconds(),this}}return this}s(N,"l");var T=N.prototype;return T.calMilliseconds=function(){var B=this;this.$ms=Object.keys(this.$d).reduce(function(q,j){return q+(B.$d[j]||0)*d[j]},0)},T.parseFromMilliseconds=function(){var B=this.$ms;this.$d.years=y(B/c),B%=c,this.$d.months=y(B/u),B%=u,this.$d.days=y(B/o),B%=o,this.$d.hours=y(B/i),B%=i,this.$d.minutes=y(B/n),B%=n,this.$d.seconds=y(B/r),B%=r,this.$d.milliseconds=B},T.toISOString=function(){var B=b(this.$d.years,"Y"),q=b(this.$d.months,"M"),j=+this.$d.days||0;this.$d.weeks&&(j+=7*this.$d.weeks);var H=b(j,"D"),$=b(this.$d.hours,"H"),X=b(this.$d.minutes,"M"),ce=this.$d.seconds||0;this.$d.milliseconds&&(ce+=this.$d.milliseconds/1e3,ce=Math.round(1e3*ce)/1e3);var L=b(ce,"S"),ue=B.negative||q.negative||H.negative||$.negative||X.negative||L.negative,W=$.format||X.format||L.format?"T":"",F=(ue?"-":"")+"P"+B.format+q.format+H.format+W+$.format+X.format+L.format;return F==="P"||F==="-P"?"P0D":F},T.toJSON=function(){return this.toISOString()},T.format=function(B){var q=B||"YYYY-MM-DDTHH:mm:ss",j={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return q.replace(a,function(H,$){return $||String(j[H])})},T.as=function(B){return this.$ms/d[h(B)]},T.get=function(B){var q=this.$ms,j=h(B);return j==="milliseconds"?q%=1e3:q=j==="weeks"?y(q/d[j]):this.$d[j],q||0},T.add=function(B,q,j){var H;return H=q?B*d[h(q)]:f(B)?B.$ms:p(B,this).$ms,p(this.$ms+H*(j?-1:1),this)},T.subtract=function(B,q){return this.add(B,q,!0)},T.locale=function(B){var q=this.clone();return q.$l=B,q},T.clone=function(){return p(this.$ms,this)},T.humanize=function(B){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!B)},T.valueOf=function(){return this.asMilliseconds()},T.milliseconds=function(){return this.get("milliseconds")},T.asMilliseconds=function(){return this.as("milliseconds")},T.seconds=function(){return this.get("seconds")},T.asSeconds=function(){return this.as("seconds")},T.minutes=function(){return this.get("minutes")},T.asMinutes=function(){return this.as("minutes")},T.hours=function(){return this.get("hours")},T.asHours=function(){return this.as("hours")},T.days=function(){return this.get("days")},T.asDays=function(){return this.as("days")},T.weeks=function(){return this.get("weeks")},T.asWeeks=function(){return this.as("weeks")},T.months=function(){return this.get("months")},T.asMonths=function(){return this.as("months")},T.years=function(){return this.get("years")},T.asYears=function(){return this.as("years")},N}(),O=s(function(N,T,B){return N.add(T.years()*B,"y").add(T.months()*B,"M").add(T.days()*B,"d").add(T.hours()*B,"h").add(T.minutes()*B,"m").add(T.seconds()*B,"s").add(T.milliseconds()*B,"ms")},"p");return function(N,T,B){t=B,e=B().$utils(),B.duration=function(H,$){var X=B.locale();return p(H,{$l:X},$)},B.isDuration=f;var q=T.prototype.add,j=T.prototype.subtract;T.prototype.add=function(H,$){return f(H)?O(this,H,1):q.bind(this)(H,$)},T.prototype.subtract=function(H,$){return f(H)?O(this,H,-1):j.bind(this)(H,$)}}})});var k$i=g((i$t,s$t)=>{"use strict";(function(t,e){typeof i$t=="object"&&typeof s$t<"u"?s$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(i$t,function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var o=this,a=this.$locale();if(!this.isValid())return n.bind(this)(i);var c=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(l){switch(l){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return a.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return a.ordinal(o.week(),"W");case"w":case"ww":return c.s(o.week(),l==="w"?1:2,"0");case"W":case"WW":return c.s(o.isoWeek(),l==="W"?1:2,"0");case"k":case"kk":return c.s(String(o.$H===0?24:o.$H),l==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return l}});return n.bind(this)(u)}}})});var N$i=g((o$t,a$t)=>{"use strict";(function(t,e){typeof o$t=="object"&&typeof a$t<"u"?a$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(o$t,function(){"use strict";var t="day";return function(e,r,n){var i=s(function(c){return c.add(4-c.isoWeekday(),t)},"a"),o=r.prototype;o.isoWeekYear=function(){return i(this).year()},o.isoWeek=function(c){if(!this.$utils().u(c))return this.add(7*(c-this.isoWeek()),t);var u,l,d,f,p=i(this),h=(u=this.isoWeekYear(),l=this.$u,d=(l?n.utc:n)().year(u).startOf("year"),f=4-d.isoWeekday(),d.isoWeekday()>4&&(f+=7),d.add(f,t));return p.diff(h,"week")+1},o.isoWeekday=function(c){return this.$utils().u(c)?this.day()||7:this.day(this.day()%7?c:c-7)};var a=o.startOf;o.startOf=function(c,u){var l=this.$utils(),d=!!l.u(u)||u;return l.p(c)==="isoweek"?d?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(c,u)}}})});var D$i=g((c$t,u$t)=>{"use strict";(function(t,e){typeof c$t=="object"&&typeof u$t<"u"?u$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_weekYear=e()})(c$t,function(){"use strict";return function(t,e){e.prototype.weekYear=function(){var r=this.month(),n=this.week(),i=this.year();return n===1&&r===11?i+1:r===0&&n>=52?i-1:i}}})});var P$i=g((l$t,d$t)=>{"use strict";(function(t,e){typeof l$t=="object"&&typeof d$t<"u"?d$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_weekOfYear=e()})(l$t,function(){"use strict";var t="week",e="year";return function(r,n,i){var o=n.prototype;o.week=function(a){if(a===void 0&&(a=null),a!==null)return this.add(7*(a-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var u=i(this).startOf(e).add(1,e).date(c),l=i(this).endOf(t);if(u.isBefore(l))return 1}var d=i(this).startOf(e).date(c).startOf(t).subtract(1,"millisecond"),f=this.diff(d,t,!0);return f<0?i(this).startOf("week").week():Math.ceil(f)},o.weeks=function(a){return a===void 0&&(a=null),this.week(a)}}})});var B$i=g((f$t,p$t)=>{"use strict";(function(t,e){typeof f$t=="object"&&typeof p$t<"u"?p$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_relativeTime=e()})(f$t,function(){"use strict";return function(t,e,r){t=t||{};var n=e.prototype,i={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function o(c,u,l,d){return n.fromToBase(c,u,l,d)}s(o,"i"),r.en.relativeTime=i,n.fromToBase=function(c,u,l,d,f){for(var p,h,A,y=l.$locale().relativeTime||i,v=t.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],b=v.length,x=0;x<b;x+=1){var O=v[x];O.d&&(p=d?r(c).diff(l,O.d,!0):l.diff(c,O.d,!0));var N=(t.rounding||Math.round)(Math.abs(p));if(A=p>0,N<=O.r||!O.r){N<=1&&x>0&&(O=v[x-1]);var T=y[O.l];f&&(N=f(""+N)),h=typeof T=="string"?T.replace("%d",N):T(N,u,O.l,A);break}}if(u)return h;var B=A?y.future:y.past;return typeof B=="function"?B(h):B.replace("%s",h)},n.to=function(c,u){return o(c,u,this,!0)},n.from=function(c,u){return o(c,u,this)};var a=s(function(c){return c.$u?r.utc():r()},"d");n.toNow=function(c){return this.to(a(this),c)},n.fromNow=function(c){return this.from(a(this),c)}}})});var M$i=g((h$t,m$t)=>{"use strict";(function(t,e){typeof h$t=="object"&&typeof m$t<"u"?m$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_utc=e()})(h$t,function(){"use strict";var t="minute",e=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(n,i,o){var a=i.prototype;o.utc=function(h){var A={date:h,utc:!0,args:arguments};return new i(A)},a.utc=function(h){var A=o(this.toDate(),{locale:this.$L,utc:!0});return h?A.add(this.utcOffset(),t):A},a.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var c=a.parse;a.parse=function(h){h.utc&&(this.$u=!0),this.$utils().u(h.$offset)||(this.$offset=h.$offset),c.call(this,h)};var u=a.init;a.init=function(){if(this.$u){var h=this.$d;this.$y=h.getUTCFullYear(),this.$M=h.getUTCMonth(),this.$D=h.getUTCDate(),this.$W=h.getUTCDay(),this.$H=h.getUTCHours(),this.$m=h.getUTCMinutes(),this.$s=h.getUTCSeconds(),this.$ms=h.getUTCMilliseconds()}else u.call(this)};var l=a.utcOffset;a.utcOffset=function(h,A){var y=this.$utils().u;if(y(h))return this.$u?0:y(this.$offset)?l.call(this):this.$offset;if(typeof h=="string"&&(h=function(O){O===void 0&&(O="");var N=O.match(e);if(!N)return null;var T=(""+N[0]).match(r)||["-",0,0],B=T[0],q=60*+T[1]+ +T[2];return q===0?0:B==="+"?q:-q}(h),h===null))return this;var v=Math.abs(h)<=16?60*h:h;if(v===0)return this.utc(A);var b=this.clone();if(A)return b.$offset=v,b.$u=!1,b;var x=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(b=this.local().add(v+x,t)).$offset=v,b.$x.$localOffset=x,b};var d=a.format;a.format=function(h){var A=h||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return d.call(this,A)},a.valueOf=function(){var h=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*h},a.isUTC=function(){return!!this.$u},a.toISOString=function(){return this.toDate().toISOString()},a.toString=function(){return this.toDate().toUTCString()};var f=a.toDate;a.toDate=function(h){return h==="s"&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var p=a.diff;a.diff=function(h,A,y){if(h&&this.$u===h.$u)return p.call(this,h,A,y);var v=this.local(),b=o(h).local();return p.call(v,b,A,y)}}})});var L$i=g((g$t,A$t)=>{"use strict";(function(t,e){typeof g$t=="object"&&typeof A$t<"u"?A$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_timezone=e()})(g$t,function(){"use strict";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(r,n,i){var o,a=s(function(d,f,p){p===void 0&&(p={});var h=new Date(d),A=function(y,v){v===void 0&&(v={});var b=v.timeZoneName||"short",x=y+"|"+b,O=e[x];return O||(O=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:y,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:b}),e[x]=O),O}(f,p);return A.formatToParts(h)},"a"),c=s(function(d,f){for(var p=a(d,f),h=[],A=0;A<p.length;A+=1){var y=p[A],v=y.type,b=y.value,x=t[v];x>=0&&(h[x]=parseInt(b,10))}var O=h[3],N=O===24?0:O,T=h[0]+"-"+h[1]+"-"+h[2]+" "+N+":"+h[4]+":"+h[5]+":000",B=+d;return(i.utc(T).valueOf()-(B-=B%1e3))/6e4},"u"),u=n.prototype;u.tz=function(d,f){d===void 0&&(d=o);var p,h=this.utcOffset(),A=this.toDate(),y=A.toLocaleString("en-US",{timeZone:d}),v=Math.round((A-new Date(y))/1e3/60),b=15*-Math.round(A.getTimezoneOffset()/15)-v;if(!Number(b))p=this.utcOffset(0,f);else if(p=i(y,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(b,!0),f){var x=p.utcOffset();p=p.add(h-x,"minute")}return p.$x.$timezone=d,p},u.offsetName=function(d){var f=this.$x.$timezone||i.tz.guess(),p=a(this.valueOf(),f,{timeZoneName:d}).find(function(h){return h.type.toLowerCase()==="timezonename"});return p&&p.value};var l=u.startOf;u.startOf=function(d,f){if(!this.$x||!this.$x.$timezone)return l.call(this,d,f);var p=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return l.call(p,d,f).tz(this.$x.$timezone,!0)},i.tz=function(d,f,p){var h=p&&f,A=p||f||o,y=c(+i(),A);if(typeof d!="string")return i(d).tz(A);var v=function(N,T,B){var q=N-60*T*1e3,j=c(q,B);if(T===j)return[q,T];var H=c(q-=60*(j-T)*1e3,B);return j===H?[q,j]:[N-60*Math.min(j,H)*1e3,Math.max(j,H)]}(i.utc(d,h).valueOf(),y,A),b=v[0],x=v[1],O=i(b).utcOffset(x);return O.$x.$timezone=A,O},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(d){o=d}}})});process.env.DISABLE_PINO_LOGGER="1";process.env.NO_JS="1";process.env.JS_BCRYPT="1";process.env.DISABLE_JWT_WARNING="1";wd();var Q0=class{static{s(this,"Command")}constructor(e,r){this.command=e,this.opts=[],this.func=r}convertToCommander(e){let r=e.toLowerCase().split("-");return[r.shift()].concat(r.map(i=>Pje(i))).join("")}addHelp(e){return this.help=e,this}addSubOption(e,r,n,i=[]){return this.opts.push({command:e,help:r,func:n,extras:i}),this}configure(e){let r=this,n=e.command(r.command);this.help&&(n=n.description(t5(r.help)));let i=new Set;for(let o of r.opts){n=n.option(o.command,r5(o.help));for(let a of o.extras)!a?.command||i.has(a.command)||(i.add(a.command),n=n.option(a.command,r5(a.help)))}n.helpOption("-h, --help",r5(`Get help with ${this.command} options`)),n.action(async o=>{try{let a=!1,c=!1;for(let u of r.opts){let l=u.command.split(" ")[0].replace("--","");if(l=this.convertToCommander(l),c=!a&&!!o[l],c&&u.func){let d=Object.keys(o).length>1?o:o[l];await u.func(d),a=!0}}c&&!a?console.log(Wo(`${Object.keys(o)[0]} is an option, not an operation.`)):a||(console.log(Wo(`Unknown ${this.command} option.`)),n.help())}catch(a){console.log(Wo(a))}})}};gO();wd();var N5t=require("posthog-node");gO();var Fle=require("fs"),e7i=require("path"),t7i=require("os"),{error:r7i}=(wd(),Nt(Bje)),qle=class{static{s(this,"ConfigManager")}constructor(){this.path=e7i.join(t7i.homedir(),".budibase.json"),Fle.existsSync(this.path)||Fle.writeFileSync(this.path,"{}")}get config(){try{return JSON.parse(Fle.readFileSync(this.path,"utf8"))}catch{return console.log(r7i("Error parsing configuration file. Please check your .budibase.json is valid.")),{}}}set config(e){Fle.writeFileSync(this.path,JSON.stringify(e))}getValue(e){return this.config[e]}setValue(e,r){this.config={...this.config,[e]:r}}removeKey(e){let r={...this.config};delete r[e],this.config=r}};var pj=class{static{s(this,"AnalyticsClient")}constructor(){this.client=new N5t.PostHog(Wje,{}),this.configManager=new qle}capture(e){this.configManager.config.analyticsDisabled||this.client.capture(e)}enable(){this.configManager.removeKey("analyticsDisabled"),this.client.capture({event:cC.OptIn,distinctId:"cli"})}disable(){this.client.capture({event:cC.OptOut,distinctId:"cli"}),this.configManager.setValue("analyticsDisabled",!0)}status(){return this.configManager.config.analyticsDisabled?"disabled":"enabled"}};var Kje=new pj;async function n7i(){try{Kje.disable(),console.log(ba("Successfully opted out of Budibase analytics. You can opt in at any time by running 'budi analytics opt-in'"))}catch(t){console.log(Wo(`Error opting out of Budibase analytics. Please try again later - ${t}`))}}s(n7i,"optOut");async function i7i(){try{Kje.enable(),console.log(ba("Successfully opted in to Budibase analytics. Thank you for helping us make Budibase better!"))}catch{console.log(Wo("Error opting in to Budibase analytics. Please try again later."))}}s(i7i,"optIn");async function s7i(){try{console.log(ba(`Budibase analytics ${Kje.status()}`))}catch{console.log(Wo("Error fetching analytics status. Please try again later."))}}s(s7i,"status");var D5t=new Q0("analytics").addHelp("Control the analytics you send to Budibase.").addSubOption("--optin","Opt in to sending analytics to Budibase",i7i).addSubOption("--optout","Opt out of sending analytics to Budibase.",n7i).addSubOption("--status","Check whether you are currently opted in to Budibase analytics.",s7i);gO();gO();uB();var a7i=new pj;function Qle(t,e){a7i.capture({distinctId:"cli",event:t,properties:e})}s(Qle,"captureEvent");f5();wd();dC();var W5t=require("path"),Y5t=qe(require("fs"));wd();dC();async function Gle(t,e){let r="/plugins";if(t=(0,W5t.resolve)(t),!Y5t.default.existsSync(t)){console.log(Wo(`The directory "${t}" does not exist, please create and then try again.`));return}tHe(n=>{n.environment.PLUGINS_DIR=r,n.volumes||(n.volumes=[]);let i=n.volumes.find(o=>o.includes(r));i&&n.volumes.splice(n.volumes.indexOf(i),1),n.volumes.push(`${t}:${r}`)}),e||console.log(ba(`Docker compose configured to watch directory: ${t}`))}s(Gle,"watchPlugins");var{success:d7i}=(wd(),Nt(Bje)),{updateDockerComposeService:f7i}=(dC(),Nt(U5t)),p7i=require("randomstring"),{GENERATED_USER_EMAIL:h7i}=(gO(),Nt(k5t));async function Vle(t,e){let r=h7i;t||(t=p7i.generate({length:6})),f7i(n=>{n.environment.BB_ADMIN_USER_EMAIL=r,n.environment.BB_ADMIN_USER_PASSWORD=t}),e||console.log(d7i(`User admin credentials configured, access with email: ${r} - password: ${t}`))}s(Vle,"generateUser");var K5t=qe(require("node-fetch"));var m7i="http://169.254.169.254/metadata/v1/user-data";async function g7i(t,e,r){let n=e?j5t:{};if(t==="do")try{let o=await(await(0,K5t.default)(m7i)).text(),a=kje(o);for(let[c,u]of Object.entries(oHe))a[c]&&(n[u]=a[c])}catch{}return r&&(n[oHe.MAIN_PORT]=r),n}s(g7i,"getInitConfig");async function $le(t){let e,r,n,i,o,a;typeof t=="string"?e=t:(e=t.init,r=t.single,n=t.watchPluginDir,i=t.genUser,o=t.port,a=t.silent);let c=e==="quick"||e==="do";if(await kb(),!c&&!await j0("This will create multiple files in current directory, should continue?")){console.log("Stopping.");return}Qle(cC.SelfHostInit,{type:e});let u=await g7i(e,c,o);r?await V5t(u,a):(await l5(),await G5t(u,a)),n&&await Gle(n,a),i&&await Vle(typeof i=="string"?i:null,a)}s($le,"init");dC();wd();f5();var J5t=qe(require("docker-compose")),X5t=qe(require("fs"));uB();var A7i=require("open");async function gj(){await kb(),uC(),console.log(yi("Starting services, this may take a moment - first time this may take a few minutes to download images."));let t;X5t.default.existsSync(mj)?t=$5t("MAIN_PORT"):t=z5t("port"),await lC(async()=>{await J5t.default.upAll({cwd:"./",log:!0})}),await j0(`Do you wish to open http://localhost:${t} ?`)&&await A7i(`http://localhost:${t}`),console.log(ba(`Services started, please go to http://localhost:${t} for next steps.`))}s(gj,"start");dC();wd();var Z5t=qe(require("docker-compose"));async function eKt(){await kb(),uC(),console.log(yi("Stopping services, this may take a moment.")),await lC(async()=>{await Z5t.default.stop()}),console.log(ba("Services have been stopped successfully."))}s(eKt,"stop");dC();wd();var tKt=qe(require("docker-compose"));async function rKt(){await kb(),uC(),console.log(yi("Budibase status")),await lC(async()=>{let t=await tKt.default.ps();console.log(t.out)})}s(rKt,"status");dC();uB();var zle=qe(require("docker-compose"));f5();wd();var y7i=["app-service","worker-service","proxy-service","couchdb-service"],_7i=["budibase"];async function nKt(){let{services:t}=d5(hj),e=Object.keys(t).length===1;if(await kb(),uC(),!e&&await j0("Do you wish to update you docker-compose.yaml?")){let r=await jle("minio");await l5(),eHe("minio",r)}await lC(async()=>{let n=(await zle.default.ps()).out.split(`
1442
- `),i=n[2]&&n[2].indexOf("Up")!==-1;i&&(console.log(yi("Stopping services, this may take a moment.")),await zle.default.stop()),console.log(yi("Beginning update, this may take a few minutes."));let o;e?o=_7i:o=y7i,await zle.default.pullMany(o,{log:!0}),i&&(console.log(ba("Update complete, restarting services...")),await gj())})}s(nKt,"update");var iKt=new Q0("hosting").addHelp("Controls self hosting on the Budibase platform.").addSubOption("--init [type]","Configure a self hosted platform in current directory, type can be unspecified, 'quick' or 'single'.",$le).addSubOption("--start","Start the configured platform in current directory.",gj).addSubOption("--status","Check the status of currently running services.",rKt).addSubOption("--stop","Stop the configured platform in the current directory.",eKt).addSubOption("--update","Update the Budibase images to the latest version.",nKt).addSubOption("--watch-plugin-dir [directory]","Add plugin directory watching to a Budibase install.",Gle).addSubOption("--gen-user","Create an admin user automatically as part of first start.",Vle).addSubOption("--single","Specify this with init to use the single image.");gO();var Eb=qe(require("fs")),DQ=require("path");var Wle=qe(require("pouchdb"));wd();var sKt=qe(require("node-fetch"));function Yle(t){let e;t?e={prefix:t}:e={prefix:void 0,adapter:"leveldb"};let r=require("@budibase/pouchdb-replication-stream");return Wle.default.plugin(r.plugin),Wle.default.adapter("writableStream",r.adapters.writableStream),Wle.default.defaults(e)}s(Yle,"getPouch");async function oKt(t){let e=await(0,sKt.default)(Nje(encodeURI(`${t}/_all_dbs`)),{method:"GET"});if(e.status===200)return await e.json();throw"Cannot connect to CouchDB instance"}s(oKt,"getAllDbs");wd();var Yji=qe(require("dotenv")),EVt=qe(require("fs"));uB();Ut();Ut();var Aj={WORKSPACES:"/builder/workspaces",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},Kle={ACCOUNT:"/portal/account",BILLING:"/portal/billing",UPGRADE:"/portal/upgrade"};var vA={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},aKt={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var Wj={};Is(Wj,{ColumnSplitter:()=>k3e,NoEmptyFilterStrings:()=>fir,buildQuery:()=>pir,cleanupQuery:()=>P3e,fixupFilterArrays:()=>M3e,getKeyNumbering:()=>B3e,getValidOperatorsForType:()=>wfs,hasFilters:()=>N3e,limit:()=>mir,recurseLogicalOperators:()=>D3e,removeKeyNumbering:()=>ide,runQuery:()=>Zde,search:()=>Ifs,sort:()=>hir,splitFiltersArray:()=>sde});Ut();var zj=qe(uHe());var bO={};Is(bO,{filterValueToLabel:()=>fes,hasSchema:()=>pes,isSupportedUserSearch:()=>_Jt,nameToUrl:()=>yes,parallelForeach:()=>des,processSearchFilters:()=>vHe,toMap:()=>mes,trimOtherProps:()=>hes,unreachable:()=>les});Ut();var yJt=qe(gJt());var ues=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function les(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(les,"unreachable");async function des(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let c=await(i?o.next():Promise.resolve(o.next()));for(;!c.done;)await e(c.value),c=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let c=0;c<r;c++)n.push(a());await Promise.all(n)}s(des,"parallelForeach");function fes(){return Object.keys(vA).reduce((t,e)=>{let n=vA[e];return t[n.value]=n.label,t},{})}s(fes,"filterValueToLabel");function pes(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(pes,"hasSchema");function hes(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(hes,"trimOtherProps");function _Jt(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(Lle(o)){for(let l of t[o].conditions)if(!_Jt(l))return!1;return!0}let c=Object.keys(a||{});if(c.length===0)continue;if(!e.find(l=>l.op===o&&c.length===1&&c[0]===l.key))return!1}return!0}s(_Jt,"isSupportedUserSearch");function vHe(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=sde(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,yJt.default)(i,ues);return o.field=ide(o.field),o})}]}}s(vHe,"processSearchFilters");function mes(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(mes,"toMap");var ges=s(t=>t?t.trim():null,"resolveWorkspaceName"),Aes=s(t=>{let e,r=ges(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),yes=s(t=>{let e=Aes(t);return _es(e)},"nameToUrl"),_es=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var bC={};Is(bC,{accountPortalAccountUrl:()=>tir,accountPortalBillingUrl:()=>rir,accountPortalUpgradeUrl:()=>nir,builderAppsUrl:()=>cir,builderSettingsAuthUrl:()=>oir,builderSettingsEmailUrl:()=>sir,builderSettingsPeopleUsersUrl:()=>air,builderWorkspacesUrl:()=>iir,cancelableTimeout:()=>EJt,cron:()=>afs,deepGet:()=>wHe,duplicateName:()=>tfs,formatBytes:()=>ofs,getSequentialName:()=>rfs,getUserColor:()=>bes,getUserInitials:()=>Ees,getUserLabel:()=>Ses,isGoogleSheets:()=>Tes,isSQL:()=>Ces,lists:()=>R3e,retry:()=>Ies,roles:()=>x3e,schema:()=>hK,structuredOutput:()=>S3e,urlHelpers:()=>sfs,views:()=>I3e,wait:()=>THe,withTimeout:()=>ves});var wHe=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),Ees=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),bes=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),Ses=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function EJt(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(EJt,"cancelableTimeout");async function ves(t,e){let[r,n]=EJt(t),i=await Promise.race([e(),r]);return n(),i}s(ves,"withTimeout");Ut();function Tes(t){return t==="GOOGLE_SHEETS"}s(Tes,"isGoogleSheets");function Ces(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(Ces,"isSQL");async function THe(t){return new Promise(e=>setTimeout(e,t))}s(THe,"wait");async function Ies(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await THe(o);try{return await t()}catch(a){n=a}}throw n}s(Ies,"retry");var jnr=qe(V0()),Hnr=qe(qnr());var Qnr="(Input cron: ",pds={"smaller than lower limit":"less than","bigger than upper limit":"greater than",daysOfMonth:"'days of the month'",daysOfWeek:"'days of the week'",years:"'years'",months:"'months'",hours:"'hours'",minutes:"'minutes'",seconds:"'seconds'"};function hds(t){let e=[];for(let r of t){r.includes(Qnr)&&(r=r.split(Qnr)[0].trim());for(let[n,i]of Object.entries(pds))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(hds,"improveErrors");function Gnr(t,e=4){let r=Hnr.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(Gnr,"getNextExecutionDates");function Vnr(t){let e=(0,jnr.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:hds(e.getError())}}s(Vnr,"validate");var hK={};Is(hK,{decodeNonAscii:()=>b3e,encodeNonAscii:()=>Ads,isDeprecatedSingleUserColumn:()=>mds,isNumeric:()=>yds,isRequired:()=>gds});Ut();function mds(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(mds,"isDeprecatedSingleUserColumn");function gds(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(gds,"isRequired");function Ads(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(Ads,"encodeNonAscii");function b3e(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(b3e,"decodeNonAscii");function yds(t){return t.type==="number"||t.type==="bigint"}s(yds,"isNumeric");var S3e={};Is(S3e,{normalizeSchemaForStructuredOutput:()=>_ds});function _ds(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],c={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let p=f;if(p.required===!0){a.push(d);let{required:h,...A}=p;c[d]=e(A)}else c[d]=e(p)}else c[d]=f;i.properties=c;let u=Array.isArray(i.required)?i.required:[],l=[...new Set([...u,...a])];l.length>0?i.required=l:i.required=Object.keys(c)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(_ds,"normalizeSchemaForStructuredOutput");var I3e={};Is(I3e,{basicFields:()=>Kds,calculationFields:()=>Yds,hasCalculationFields:()=>Wds,isBasicViewField:()=>$ds,isCalculationField:()=>mK,isCalculationView:()=>zds,isV2:()=>Jds,isVisible:()=>eir});Ut();var C3e=qe(T3e());function mK(t){return"calculationType"in t}s(mK,"isCalculationField");function $ds(t){return!mK(t)}s($ds,"isBasicViewField");function zds(t){return t.type==="calculation"}s(zds,"isCalculationView");function Wds(t){return Object.values(t.schema||{}).some(mK)}s(Wds,"hasCalculationFields");function Yds(t){return(0,C3e.default)(t.schema||{},mK)}s(Yds,"calculationFields");function eir(t){return t.visible!==!1}s(eir,"isVisible");function Kds(t,e){let{visible:r=!0}=e||{};return(0,C3e.default)(t.schema||{},n=>!mK(n)&&(!r||eir(n)))}s(Kds,"basicFields");function Jds(t){return t.version===2}s(Jds,"isV2");var x3e={};Is(x3e,{checkForRoleInheritanceLoops:()=>Zds});Ut();function Xds(t){return`role${rs}${t}`}s(Xds,"prefixForCheck");function Zds(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=Xds(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let c=e.get(a)||e.get(o);if(!c)return n.delete(o),!1;let u=Array.isArray(c.inherits)?c.inherits:[c.inherits];for(let l of u)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(Zds,"checkForRoleInheritanceLoops");var R3e={};Is(R3e,{punctuateList:()=>efs});function efs(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(efs,"punctuateList");var tfs=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(c=>{if(c===n)return!0;let u=c.match(i);return u?(o.push(parseInt(u[1])),!0):!1}),o.sort((c,u)=>c-u);let a;if(o.length===0)a=1;else{for(let c=0;c<o.length;c++)if(o[c]!==c+1){a=c+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),rfs=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let c=0;return t.forEach(u=>{let l=r?.(u)??u;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>c&&(c=f)}),c===0?a:`${e}${i}${c+1}`},"getSequentialName");var nfs=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),ifs=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),kO=s((t,e)=>{let r=nfs(e);if(!t)return r;let n=ifs(t);return r?`${n}${r}`:n},"joinBaseAndPath"),tir=s(t=>kO(t,Kle.ACCOUNT),"accountPortalAccountUrl"),rir=s(t=>kO(t,Kle.BILLING),"accountPortalBillingUrl"),nir=s(t=>kO(t,Kle.UPGRADE),"accountPortalUpgradeUrl"),iir=s(t=>kO(t,Aj.WORKSPACES),"builderWorkspacesUrl"),sir=s(t=>kO(t,Aj.SETTINGS_EMAIL),"builderSettingsEmailUrl"),oir=s(t=>kO(t,Aj.SETTINGS_AUTH),"builderSettingsAuthUrl"),air=s(t=>kO(t,Aj.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),cir=s(t=>kO(t,Aj.APPS),"builderAppsUrl"),sfs={accountPortalAccountUrl:tir,accountPortalBillingUrl:rir,accountPortalUpgradeUrl:nir,builderWorkspacesUrl:iir,builderSettingsEmailUrl:sir,builderSettingsAuthUrl:oir,builderSettingsPeopleUsersUrl:air,builderAppsUrl:cir};function ofs(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(ofs,"formatBytes");var afs={getNextExecutionDates:Gnr,validate:Vnr};var Xde=qe(p_()),O3e=qe(sg());var Sfs=/{{([^{].*?)}}/g,dir=Object.values(a5),vfs=[...Object.values(fj),...Object.values(sB),...Object.values(o5)],wfs=s((t,e,r)=>{let n=vA,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],o=[n.Equals,n.NotEquals,n.MoreThan,n.LessThan,n.Empty,n.NotEmpty,n.In],a=[n.Contains,n.NotContains,n.ContainsAny,n.Empty,n.NotEmpty],c=[],{type:u,formulaType:l,subtype:d}=t;u==="string"?d==="array"?c=a:c=i:u==="number"||u==="bigint"?c=o:u==="options"?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="array"?c=a:u==="boolean"?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:u==="longform"?c=i:u==="datetime"?c=o:u==="formula"&&l==="static"?c=i.concat([n.MoreThan,n.LessThan]):u==="ai"?c=i.concat([n.MoreThan,n.LessThan]):u==="bb_reference_single"||hK.isDeprecatedSingleUserColumn(t)?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="bb_reference"?c=a:u==="barcodeqr"&&(c=i);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(c=[n.Equals,n.NotEquals,n.In]),c},"getValidOperatorsForType"),fir=[vA.StartsWith.value,vA.Like.value,vA.Equals.value,vA.NotEquals.value,vA.Contains.value,vA.NotContains.value,vA.ContainsAny.value,vA.In.value];function D3e(t,e){for(let r of dir)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(D3e,"recurseLogicalOperators");var P3e=s(t=>{for(let e of fir)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||Tfs(o))&&delete t[e][i]}return t=D3e(t,P3e),t},"cleanupQuery");function Tfs(t){return Array.isArray(t)&&t.length===0}s(Tfs,"isEmptyArray");var ide=s(t=>B3e(t).key,"removeKeyNumbering"),B3e=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),k3e=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=B3e(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let c=`${a}.`;n.startsWith(c)&&(i=this.aliases[a],n=n.slice(c.length))}let o;for(let a of this.relationships){let c=`${a}.`;if(n.startsWith(c)){let u=n.split(c);u.shift(),o=c,n=u.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=b3e(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Cfs(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let c=typeof a=="string"&&(a.match(Sfs)||[]).length>0;switch(i){case"datetime":if(!c&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Ule(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!c&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(Ule(r)){let l=aKt[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if(YYt(r)||KYt(r)||Ule(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s(Cfs,"buildCondition");function sde(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(sde,"splitFiltersArray");function pir(t){if(!t)return{};if(Array.isArray(t)&&(t=vHe(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=lir(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let u=pir(n);return delete u.onEmptyFilter,u}let{allOr:i,onEmptyFilter:o,filters:a}=sde(n.filters||[]);o&&(e.onEmptyFilter=o);let c=i?"$or":"$and";return n.logicalOperator&&(c=lir(n.logicalOperator)),{[c]:{conditions:a.map(Cfs).filter(u=>u)}}})},e}s(pir,"buildQuery");function lir(t){return t==="all"?"$and":"$or"}s(lir,"logicalOperatorFromUI");function M3e(t){if(!t)return t;for(let e of Object.values(sB)){let r=t[e];if(!(r==null||!(0,Xde.default)(r)))for(let n of Object.keys(r)){if(Array.isArray(r[n]))continue;let i=r[n];typeof i=="string"?r[n]=i.split(",").map(o=>o.trim()):r[n]=[i]}}return D3e(t,M3e),t}s(M3e,"fixupFilterArrays");function Ifs(t,e){let r=Zde(t,e.query);e.sort&&(r=hir(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=mir(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(Ifs,"search");function Zde(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=P3e(e),e=M3e(e),!N3e(e)&&e.onEmptyFilter==="none")return[];let r=s((T,B)=>q=>{for(let[j,H]of Object.entries(e[T]||{})){let $=Lle(T)?q:wHe(q,ide(j)),X=B($,H);if(e.allOr&&X)return!0;if(!e.allOr&&!X)return!1}return!e.allOr},"match"),n=r("string",(T,B)=>typeof T!="string"||typeof B!="string"?!1:T.toLowerCase().startsWith(B.toLowerCase())),i=r("fuzzy",(T,B)=>typeof T!="string"||typeof B!="string"?!1:T.toLowerCase().includes(B.toLowerCase())),o=r("range",(T,B)=>{if(T==null||T===""||((0,Xde.default)(B.low)&&(0,O3e.default)(B.low)&&(B.low=void 0),(0,Xde.default)(B.high)&&(0,O3e.default)(B.high)&&(B.high=void 0),B.low==null&&B.high==null))return!1;let q=+T;if(!isNaN(q)){let H=+B.low,$=+B.high;if(!isNaN(H)&&!isNaN($))return q>=H&&q<=$;if(isNaN(H)){if(!isNaN($))return q<=$}else return q>=H}let j=(0,zj.default)(T);if(j.isValid()){let H=(0,zj.default)(B.low||"0000-00-00T00:00:00.000Z"),$=(0,zj.default)(B.high||"9999-00-00T00:00:00.000Z");if(H.isValid()&&$.isValid())return j.isAfter(H)&&j.isBefore($)||j.isSame(H)||j.isSame($);if(H.isValid())return j.isAfter(H)||j.isSame(H);if($.isValid())return j.isBefore($)||j.isSame($)}return B.low!=null&&B.high!=null?T>=B.low&&T<=B.high:B.low!=null?T>=B.low:B.high!=null?T<=B.high:!1}),a=s((T,B)=>{if(Array.isArray(T)){for(let j of T)if(a(j,B))return!0;return!1}if(T&&typeof T=="object"&&typeof B=="string")return T._id===B;if(T===B)return!0;if(T==null&&B!=null||T!=null&&B==null)return!1;let q=(0,zj.default)(T);if(q.isValid()){let j=(0,zj.default)(B);if(j.isValid())return q.isSame(j)}return!1},"_valueMatches"),c=s(T=>(...B)=>!T(...B),"not"),u=r("equal",a),l=r("notEqual",c(a)),d=s(T=>typeof T=="string"?T==="":Array.isArray(T)?T.length===0:T&&typeof T=="object"?Object.keys(T).length===0:T==null,"_empty"),f=r("empty",d),p=r("notEmpty",c(d)),h=r("oneOf",(T,B)=>(typeof B=="string"&&(B=B.split(",")),typeof T=="number"&&(B=B.map(q=>parseFloat(q))),Array.isArray(B)?B.some(q=>a(T,q)):!1)),A=s(T=>(B,q)=>!Array.isArray(B)||(typeof q=="string"&&(q=q.split(","),typeof B[0]=="number"&&(q=q.map(j=>parseFloat(j)))),!Array.isArray(q))?!1:q.length===0?!0:q[T](j=>a(B,j)),"_contains"),y=r("contains",(T,B)=>Array.isArray(B)&&B.length===0?!0:A("every")(T,B)),v=r("notContains",(T,B)=>Array.isArray(B)&&B.length===0?!0:c(A("every"))(T,B)),b=r("containsAny",A("some")),x=r("$and",(T,B)=>{if(!B.length)return!1;for(let q of B)if(!Zde([T],q).length)return!1;return!0}),O=r("$or",(T,B)=>{if(!B.length)return!1;for(let q of B)if(Zde([T],{...q,allOr:!0}).length)return!0;return!1}),N=s(T=>{let B={string:n,fuzzy:i,range:o,equal:u,notEqual:l,empty:f,notEmpty:p,oneOf:h,contains:y,containsAny:b,notContains:v,$and:x,$or:O},q=Object.entries(e||{}).filter(([j,H])=>!["allOr","onEmptyFilter"].includes(j)&&H&&Object.keys(H).length>0).map(([j])=>B[j]?.(T)??!1);return N3e(e)?e.allOr?q.some(j=>j===!0):q.every(j=>j===!0):!0},"docMatch");return t.filter(N)}s(Zde,"runQuery");function hir(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let c=i(o[e]),u=i(a[e]),l=u==null||c>u?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(hir,"sort");function mir(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(mir,"limit");var N3e=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of dir)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of vfs){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let c=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||c}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var y_={};Is(y_,{applications:()=>U3e,automations:()=>F3e,screens:()=>H3e,users:()=>j3e});var U3e={};Is(U3e,{getDevAppID:()=>xfs,getProdAppID:()=>AK});Ut();var L3e=aB("app"),gK=aB("app_dev");function xfs(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(gK))return t;let e=t.split(L3e);e.shift();let r=e.join(L3e);return`${gK}${r}`}s(xfs,"getDevAppID");function AK(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(gK))return t;let e=t.split(gK);e.shift();let r=e.join(gK);return`${L3e}${r}`}s(AK,"getProdAppID");var F3e={};Is(F3e,{checkForCollectStep:()=>Nfs,isAppAction:()=>kfs,isRowAction:()=>Rfs,isWebhookAction:()=>Ofs});Ut();function Rfs(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(Rfs,"isRowAction");function Ofs(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(Ofs,"isWebhookAction");function kfs(t){return t.definition.trigger?.stepId==="APP"}s(kfs,"isAppAction");function gir(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(f9t(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(gir(r))return!0}}return!1}s(gir,"hasCollectBlockRecursive");function Nfs(t){return gir(t.definition.steps)}s(Nfs,"checkForCollectStep");var j3e={};Is(j3e,{canCreateApps:()=>Dfs,containsUserID:()=>Qfs,getGlobalUserID:()=>qfs,getUserAppGroups:()=>jfs,hasAdminPermissions:()=>Q3e,hasAppBuilderPermissions:()=>rfe,hasBuilderPermissions:()=>Ufs,hasCreatorPermissions:()=>nfe,isAdmin:()=>yK,isAdminOrBuilder:()=>Bfs,isAdminOrGlobalBuilder:()=>Mfs,isAdminOrWorkspaceBuilder:()=>Pfs,isBuilder:()=>q3e,isCreator:()=>Ffs,isGlobalBuilder:()=>tfe,userAppAccessList:()=>Hfs});Ut();function q3e(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(AK(e))):!1}s(q3e,"isBuilder");function tfe(t){return q3e(t)&&!rfe(t)||yK(t)}s(tfe,"isGlobalBuilder");function Dfs(t){return tfe(t)||nfe(t)}s(Dfs,"canCreateApps");function yK(t){return t?Q3e(t):!1}s(yK,"isAdmin");function Pfs(t,e){return t?!!(yK(t)||e&&t.builder?.apps?.includes(AK(e))):!1}s(Pfs,"isAdminOrWorkspaceBuilder");function Bfs(t,e){return q3e(t,e)||yK(t)}s(Bfs,"isAdminOrBuilder");function Mfs(t){return tfe(t)||yK(t)}s(Mfs,"isAdminOrGlobalBuilder");function rfe(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(rfe,"hasAppBuilderPermissions");function Lfs(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(Lfs,"hasAppCreatorPermissions");function Ufs(t){return t?t.builder?.global||rfe(t)||nfe(t):!1}s(Ufs,"hasBuilderPermissions");function Q3e(t){return t?!!t.admin?.global:!1}s(Q3e,"hasAdminPermissions");function nfe(t){return t?!!t.builder?.creator:!1}s(nfe,"hasCreatorPermissions");function Ffs(t){return t?tfe(t)||Q3e(t)||nfe(t)||rfe(t)||Lfs(t):!1}s(Ffs,"isCreator");function qfs(t){if(typeof t!="string")return t;let e=`ro${rs}ta_users${rs}`;return t.startsWith(e)?t.split(e)[1]:t}s(qfs,"getGlobalUserID");function Qfs(t){return typeof t!="string"?!1:t.includes(`us${rs}`)}s(Qfs,"containsUserID");function Air(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(Air,"getUserGroups");function jfs(t,e,r){let n=AK(t);return Air(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(jfs,"getUserAppGroups");function Hfs(t,e){let n=Air(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(Hfs,"userAppAccessList");var H3e={};Is(H3e,{findInSettings:()=>Gfs});function Gfs(t,e){let r=[];function n(i,o=""){for(let[a,c]of Object.entries(i))c&&(typeof c=="string"&&c.includes(e)?r.push({setting:o?`${o}.${a}`:a,value:c}):typeof c=="object"&&n(c,a))}return s(n,"recurse"),n(t.props),r}s(Gfs,"findInSettings");Ut();var G3e={by_email2:["by_email"]},Fb={GLOBAL:{name:"global-db",docs:{apiKeys:"apikeys",usageQuota:"usage_quota",licenseInfo:"license_info",environmentVariables:"environmentvariables"}},PLATFORM_INFO:{name:"global-info",docs:{tenants:"tenants",install:"install"}},AUDIT_LOGS:{name:"audit-logs"},SCIM_LOGS:{name:"scim-logs"},SELF_HOST_CLOUD:{name:"self-host-cloud"}},DB=aB("app"),$fs=aB("app_dev"),NO=$fs;var _K="_design/sqlite";var zfs=`ro${rs}ta_users${rs}`;var Tf="default";Ut();Ut();var V3e=require("crypto"),sfe=require("fs"),Yfs=qe(Kj()),bK=require("path");var Kfs=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,bK.resolve)((0,bK.join)(__dirname,"..","..","..")),_ir=!1;!_ir&&ife()&&!$3e()&&(require("dotenv").config({path:(0,bK.join)(Kfs,".env")}),_ir=!0);function $3e(){return bir()}s($3e,"isTest");function bir(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(bir,"isJest");function ife(){return process.env.NODE_ENV!=="production"}s(ife,"isDev");function Jfs(t){if(t)return parseInt(t)}s(Jfs,"parseIntSafe");var Jj={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},Eir=!!parseInt(process.env.SELF_HOSTED||"");function Xfs(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Xfs,"getAPIEncryptionKey");function Zfs(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Zfs,"httpLogging");function eps(){function t(r){function n(c,u){let l=`${u}/${c}`;if((0,sfe.existsSync)(l))return l;let d=`${u}/..`;return d===u?null:n(c,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,sfe.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(ife()&&!$3e())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(eps,"getPackageJsonFields");function tps(){return DO.SERVICE_TYPE==="worker"}s(tps,"isWorker");function rps(){return DO.SERVICE_TYPE==="apps"}s(rps,"isApps");function nps(){return DO.BUDIBASE_ENVIRONMENT==="QA"}s(nps,"isQA");function ips(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}s(ips,"getServiceName");var DO={isTest:$3e,isJest:bir,isDev:ife,isWorker:tps,isApps:rps,isQA:nps,isProd:()=>!ife(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JS_BCRYPT:process.env.JS_BCRYPT,JWT_SECRET:process.env.JWT_SECRET?(0,V3e.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,V3e.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Xfs(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:Eir,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||Jj.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Jj.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Jj.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Jj.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Jj.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Jj.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:ips(),LOG_LEVEL:process.env.LOG_LEVEL||"info",SESSION_UPDATE_PERIOD:process.env.SESSION_UPDATE_PERIOD,DEPLOYMENT_ENVIRONMENT:process.env.DEPLOYMENT_ENVIRONMENT||"docker-compose",HTTP_LOGGING:Zfs(),ENABLE_AUDIT_LOG_IP_ADDR:process.env.ENABLE_AUDIT_LOG_IP_ADDR,SQL_LOGGING_ENABLE:process.env.SQL_LOGGING_ENABLE,SQL_MAX_ROWS:process.env.SQL_MAX_ROWS,SQL_MAX_RELATED_ROWS:process.env.MAX_RELATED_ROWS,SMTP_FALLBACK_ENABLED:process.env.SMTP_FALLBACK_ENABLED,SMTP_USER:process.env.SMTP_USER,SMTP_PASSWORD:process.env.SMTP_PASSWORD,SMTP_HOST:process.env.SMTP_HOST,SMTP_PORT:parseInt(process.env.SMTP_PORT||""),SMTP_FROM_ADDRESS:process.env.SMTP_FROM_ADDRESS,DISABLE_JWT_WARNING:process.env.DISABLE_JWT_WARNING,BLACKLIST_IPS:process.env.BLACKLIST_IPS,SERVICE_TYPE:"unknown",PASSWORD_MIN_LENGTH:process.env.PASSWORD_MIN_LENGTH,PASSWORD_MAX_LENGTH:process.env.PASSWORD_MAX_LENGTH,ENABLE_SSO_MAINTENANCE_MODE:Eir?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...eps(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,DO[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,OPENAI_API_KEY:process.env.OPENAI_API_KEY,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:Jfs(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC};for(let[t,e]of Object.entries(DO))e==="0"&&(DO[t]=0),e==="false"&&(DO[t]=0);var je=DO;var SK="-";function z3e(){let t=je.REDIS_PASSWORD,e=je.REDIS_USERNAME,r=je.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(z3e,"getRedisConnectionDetails");function Sir(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...Xj(),tls:{}}}}s(Sir,"getRedisClusterOptions");function Xj(){let{host:t,password:e,port:r,username:n}=z3e();return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n}}}s(Xj,"getRedisOptions");function vir(t){let e=t.split(SK);return e.length>=2?(e.shift(),e.join(SK)):e[0]}s(vir,"removeDbPrefix");var Vxn=qe(require("events"));IK();function Y0(){return PB().replace(/-/g,"")}s(Y0,"newid");var yps=je.JS_BCRYPT?require("bcryptjs"):require("bcrypt"),NXu=je.SALT_ROUNDS||10;async function $ir(t,e){return yps.compare(t,e)}s($ir,"compare");Ut();var CEa=qe(GVe());var $c={};Is($c,{DEFAULT_TENANT_ID:()=>Tf,baseGlobalDBName:()=>jbe,doInAutomationContext:()=>J$o,doInContext:()=>Alt,doInEnvironmentContext:()=>azo,doInFeatureFlagOverrideContext:()=>Zsn,doInIPContext:()=>Jsn,doInIdentityContext:()=>qfe,doInLicenseContext:()=>Z$o,doInScimContext:()=>czo,doInSelfHostTenantUsingCloud:()=>X$o,doInTenant:()=>kI,doInWorkspaceContext:()=>rzo,doInWorkspaceMigrationContext:()=>izo,ensureSnippetContext:()=>Xsn,getAuditLogDBName:()=>Ysn,getAuditLogsDB:()=>lzo,getAutomationId:()=>ylt,getCurrentContext:()=>kL,getDevWorkspaceDB:()=>fzo,getDevWorkspaceId:()=>szo,getEnvironmentVariables:()=>uzo,getFeatureFlagOverrides:()=>wlt,getFeatureFlags:()=>Slt,getGlobalDB:()=>Fp,getGlobalDBName:()=>dee,getIP:()=>_lt,getIdentity:()=>UO,getLicense:()=>ezo,getPlatformURL:()=>glt,getProdWorkspaceDB:()=>dzo,getProdWorkspaceId:()=>ozo,getScimDBName:()=>z$o,getSelfHostCloudDB:()=>tzo,getTableForView:()=>pzo,getTenantIDFromWorkspaceID:()=>_V,getTenantId:()=>ms,getWorkspaceDB:()=>Elt,getWorkspaceId:()=>Cg,identity:()=>FK,isMultiTenant:()=>OL,isScim:()=>blt,isSelfHostUsingCloud:()=>Hbe,isTenancyEnabled:()=>Y$o,isTenantIdSet:()=>W$o,setFeatureFlags:()=>vlt,setTableForView:()=>hzo});var FK={};Is(FK,{doInAccountContext:()=>v_s,doInIdentityContext:()=>VVe,doInUserContext:()=>wcr,getAccountUserId:()=>Tcr,getIdentity:()=>vcr});Ut();function vcr(){return UO()}s(vcr,"getIdentity");function VVe(t,e){return qfe(t,e)}s(VVe,"doInIdentityContext");function wcr(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return VVe(n,r)}s(wcr,"doInUserContext");function v_s(t,e){let r=Tcr(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return VVe(i,e)}s(v_s,"doInAccountContext");function Tcr(t){let e;return Qje(t)?e=t.budibaseUserId:e=t.accountId,e}s(Tcr,"getAccountUserId");var FO=s(t=>{let e=Ccr(t),r,n;if(e.auth?.username)r=e.auth.username;else if(je.COUCH_DB_USERNAME)r=je.COUCH_DB_USERNAME;else if(!je.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(je.COUCH_DB_PASSWORD)n=je.COUCH_DB_PASSWORD;else if(!je.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=je.COUCH_DB_SQL_URL;if(je.isDev()&&!o)o="http://localhost:4006";else if(!o&&e.url){let a=new URL(e.url);o=e.url.replace(a.port,"4984")}return{url:e.url,sqlUrl:Ccr(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Ccr=s((t=je.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),c=a[0],u=a.slice(1).join("://");if(t.includes("@")){let l=u.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=u;e=`${c}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var $sn=qe(phr());Ut();var hhr=qe(require("node-fetch"));function kpe(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(kpe,"checkSlashesInUrl");async function ize({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,hhr.default)(kpe(encodeURI(t)),i)}s(ize,"directCouchUrlCall");var kCs=qe(require("pouchdb"));var NCs,DCs=!1;var PCs=s(()=>{if(!DCs)throw new Error("init has not been called")},"checkInitialised");function ZO(t,e){PCs();let r=new NCs(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(ZO,"getPouchDB");var Xc=qe(Ov());var lee=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return Xc.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return Xc.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return Xc.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return Xc.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return Xc.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return Xc.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return Xc.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return Xc.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return Xc.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return Xc.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return Xc.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return Xc.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return Xc.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return Xc.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return Xc.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return Xc.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return Xc.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return Xc.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return Xc.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return Xc.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return Xc.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};Ut();var HLl=`${rs}${rs}`;var GLl=encodeURIComponent(" ");function hlt(t,e,r){if(!je.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(hlt,"sqlLog");var Hsn="Database does not exist.";function Gsn(t){return(0,$sn.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(Gsn,"buildNano");var vN=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{s(this,"CouchDBError")}};var Qbe=class t{constructor(e,r,n){this.couchInfo=FO();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=FO(n),this.instanceNano=Gsn(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=FO();t.nano=Gsn(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await ize({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new vN(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===Hsn)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new vN(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new vN(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(u=>n&&u.doc==null||u.value&&"deleted"in u.value&&u.value.deleted?!0:u.error==="not_found","rowUnavailable"),a=i.rows.filter(u=>!o(u)),c=a.length!==i.rows.length;if(!r?.allowMissing&&c){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(u=>n?u.doc:u.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(t6t(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(c=>({...c,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,o="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,o+=a.error);if(i)throw new vN(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=Y0()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===Hsn)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=kpe(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await ize(i),a=await o.text();if(o.status>300){let c;try{c=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new vN("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw c}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${_K}`;return hlt("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(_K)){let e=await this.get(_K);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new vN(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return ZO(this.name).dump(e,r)}async load(e){return ZO(this.name).load(e)}async createIndex(e){return ZO(this.name).createIndex(e)}async deleteIndex(e){return ZO(this.name).deleteIndex(e)}async getIndexes(){return ZO(this.name).getIndexes()}};function _S(t,e){return new lee(new Qbe(t,e))}s(_S,"getDB");function mlt(t){if(!t||t.startsWith(NO))return t;let e=t.split(DB);e.shift();let r=e.join(DB);return`${NO}${r}`}s(mlt,"getDevWorkspaceID");function yV(t){if(!t||!t.startsWith(NO))return t;let e=t.split(NO);e.shift();let r=e.join(NO);return`${DB}${r}`}s(yV,"getProdWorkspaceID");var zsn=require("async_hooks");var ol=class t{static{s(this,"Context")}static{this.storage=new zsn.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var Wsn=null;function dee(t){return t||(t=ms()),jbe(t)}s(dee,"getGlobalDBName");function Ysn(t){return t||(t=ms()),t===Tf?Fb.AUDIT_LOGS.name:`${t}${rs}${Fb.AUDIT_LOGS.name}`}s(Ysn,"getAuditLogDBName");function z$o(t){return t||(t=ms()),t===Tf?Fb.SCIM_LOGS.name:`${t}${rs}${Fb.SCIM_LOGS.name}`}s(z$o,"getScimDBName");function jbe(t){return!t||t===Tf?Fb.GLOBAL.name:`${t}${rs}${Fb.GLOBAL.name}`}s(jbe,"baseGlobalDBName");function glt(){return je.PLATFORM_URL}s(glt,"getPlatformURL");function OL(){return!!je.MULTI_TENANCY}s(OL,"isMultiTenant");function W$o(){return!!ol.get()?.tenantId}s(W$o,"isTenantIdSet");function Y$o(){return je.MULTI_TENANCY}s(Y$o,"isTenancyEnabled");function _V(t){if(!t)return;if(!OL())return Tf;let e=t.split(rs),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(_V,"getTenantIDFromWorkspaceID");function K$o(t){let e;try{e=ol.get()}catch{e={}}return e={...e,...t},e}s(K$o,"updateContext");async function ES(t,e){nzo();let r=K$o(t);return ol.run(r,e)}s(ES,"newContext");async function J$o(t){return await Xsn(),await ES({tenantId:_V(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(J$o,"doInAutomationContext");async function Alt(t,e){let r=_V(t);return ES({tenantId:r,appId:t},e)}s(Alt,"doInContext");async function kI(t,e){return je.MULTI_TENANCY||(t=t||Tf),ES(t?{tenantId:t}:{},e)}s(kI,"doInTenant");async function X$o(t,e){return ES({tenantId:t,isSelfHostUsingCloud:!0},e)}s(X$o,"doInSelfHostTenantUsingCloud");async function Z$o(t,e){return ES({license:t},e)}s(Z$o,"doInLicenseContext");function ezo(){return ol.get()?.license}s(ezo,"getLicense");function Hbe(){return!!ol.get()?.isSelfHostUsingCloud}s(Hbe,"isSelfHostUsingCloud");function tzo(){let t=ol.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return _S(Fb.SELF_HOST_CLOUD.name)}s(tzo,"getSelfHostCloudDB");async function rzo(t,e){return Ksn(t,e)}s(rzo,"doInWorkspaceContext");async function Ksn(t,e,r){if(!t)throw new Error("workspaceId is required");let n=_V(t),i={appId:t,...r};return n&&(i.tenantId=n),ES(i,e)}s(Ksn,"_doInWorkspaceContext");async function qfe(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ES(r,e)}s(qfe,"doInIdentityContext");function nzo(){if(ol.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(nzo,"guardMigration");async function izo(t,e){return Ksn(t,e,{isMigrating:!0})}s(izo,"doInWorkspaceMigrationContext");function UO(){try{return ol.get()?.identity}catch{}}s(UO,"getIdentity");function ms(){if(!OL())return Tf;let e=ol.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(ms,"getTenantId");function ylt(){return ol.get()?.automationId}s(ylt,"getAutomationId");function Cg(){let e=ol.get()?.appId;return!e&&je.isTest()&&Wsn?Wsn:e}s(Cg,"getWorkspaceId");function _lt(){return ol.get()?.ip}s(_lt,"getIP");var szo=s(()=>{let t=Cg();if(!t)throw new Error("Could not get workspaceId");return mlt(t)},"getDevWorkspaceId"),ozo=s(()=>{let t=Cg();if(!t)throw new Error("Could not get workspaceId");return yV(t)},"getProdWorkspaceId");function azo(t,e){if(!t)throw new Error("Must supply environment variables.");return ES({environmentVariables:t},e)}s(azo,"doInEnvironmentContext");function czo(t){return ES({isScim:!0},t)}s(czo,"doInScimContext");function Jsn(t,e){return ES({ip:t},e)}s(Jsn,"doInIPContext");async function Xsn(){let t=kL();if(!t||t.snippets)return;let e,r=Elt();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(Xsn,"ensureSnippetContext");function uzo(){let t=ol.get();return t.environmentVariables?t.environmentVariables:null}s(uzo,"getEnvironmentVariables");function Fp(){let t=ol.get();if(!t||je.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return _S(jbe(t?.tenantId))}s(Fp,"getGlobalDB");function lzo(){if(!ms())throw new Error("No tenant ID found - cannot open audit log DB");return _S(Ysn())}s(lzo,"getAuditLogsDB");function Elt(t){let e=Cg();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(Hbe())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return _S(e,t)}s(Elt,"getWorkspaceDB");function dzo(t){let e=Cg();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return _S(yV(e),t)}s(dzo,"getProdWorkspaceDB");function fzo(t){let e=Cg();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return _S(mlt(e),t)}s(fzo,"getDevWorkspaceDB");function blt(){return!!ol.get()?.isScim}s(blt,"isScim");function kL(){try{return ol.get()}catch{return}}s(kL,"getCurrentContext");function Slt(t){let e=kL();if(e)return e.featureFlagCache?.[t]}s(Slt,"getFeatureFlags");function vlt(t,e){let r=kL();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(vlt,"setFeatureFlags");function wlt(){return kL()?.featureFlagOverrides||{}}s(wlt,"getFeatureFlagOverrides");async function Zsn(t,e){return await ES({featureFlagOverrides:t},e)}s(Zsn,"doInFeatureFlagOverrideContext");function pzo(t){let e=kL();if(e)return e.viewToTableCache?.[t]}s(pzo,"getTableForView");function hzo(t,e){let r=kL();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(hzo,"setTableForView");var Hve=qe(Fan());var jve=qe(Ov()),SEn=qe(Kj());var bEn;if(je.MOCK_REDIS)try{bEn=EEn()}catch{console.log("Mock redis unavailable")}async function oEa(t=0){return await jve.tracer.trace("Redis.init",async e=>{if(je.MOCK_REDIS)return e.addTags({mock:!0}),new bEn(Xj());let r;if(je.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=z3e();r=new Hve.Cluster([{host:n,port:i}],Sir())}else r=new Hve.default(Xj());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(oEa,"init");function aEa(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let c=await e.get(a);return c&&(c=JSON.parse(c)),{key:vir(a),value:c}});r(await Promise.all(o))}catch(o){n(o)}})})}s(aEa,"promisifyStream");function cEa(t){return t.isCluster}s(cEa,"isCluster");var wAt=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await jve.tracer.trace("RedisWrapper.init",async n=>{let i=await oEa(r);return r&&!je.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return jve.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${SK}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${SK}${e}`;let n;cEa(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await aEa(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,SEn.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[c,u])=>(a[this.prefixed(c)]=typeof u=="object"?JSON.stringify(u):u,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e});let i=`
1441
+ Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Pellentesque in ipsum id orci porta dapibus. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.`;W4i.exports=Xqu});var V4t=g((K4i,J4i)=>{"use strict";var yf=dp(),VQ=Bue(),pi=J4i.exports,Zqu=Y4i();pi.append=function(t,e){return typeof t=="string"&&typeof e=="string"?t+e:t};pi.camelcase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return e.toUpperCase()})};pi.capitalize=function(t){return typeof t!="string"?"":t.charAt(0).toUpperCase()+t.slice(1)};pi.capitalizeAll=function(t){if(typeof t!="string")return"";if(yf.isString(t))return t.replace(/\w\S*/g,function(e){return pi.capitalize(e)})};pi.center=function(t,e){if(typeof t!="string")return"";for(var r="",n=0;n<e;)r+="&nbsp;",n++;return r+t+r};pi.chop=function(t){return typeof t!="string"?"":VQ.chop(t)};pi.dashcase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return"-"+e})};pi.dotcase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return"."+e})};pi.downcase=function(){return pi.lowercase.apply(this,arguments)};pi.ellipsis=function(t,e){if(yf.isString(t))return t.length<=e?t:pi.truncate(t,e)+"\u2026"};pi.hyphenate=function(t){return typeof t!="string"?"":t.split(" ").join("-")};pi.isString=function(t){return typeof t=="string"};pi.lowercase=function(t){return yf.isObject(t)&&t.fn?t.fn(this).toLowerCase():typeof t!="string"?"":t.toLowerCase()};pi.occurrences=function(t,e){if(typeof t!="string")return"";for(var r=e.length,n=0,i=0;(n=t.indexOf(e,n))>-1;)i++,n+=r;return i};pi.pascalcase=function(t){return typeof t!="string"?"":(t=VQ.changecase(t,function(e){return e.toUpperCase()}),t.charAt(0).toUpperCase()+t.slice(1))};pi.pathcase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return"/"+e})};pi.plusify=function(t,e){return typeof t!="string"?"":(yf.isString(e)||(e=" "),t.split(e).join("+"))};pi.prepend=function(t,e){return typeof t=="string"&&typeof e=="string"?e+t:t};pi.raw=function(t){var e=t.fn(),r=yf.options(this,t);if(r.escape!==!1)for(var n=0;(n=e.indexOf("{{",n))!==-1;)e[n-1]!=="\\"&&(e=e.slice(0,n)+"\\"+e.slice(n)),n+=3;return e};pi.remove=function(t,e){return typeof t!="string"?"":yf.isString(e)?t.split(e).join(""):t};pi.removeFirst=function(t,e){return typeof t!="string"?"":yf.isString(e)?t.replace(e,""):t};pi.replace=function(t,e,r){return typeof t!="string"?"":yf.isString(e)?(yf.isString(r)||(r=""),t.split(e).join(r)):t};pi.replaceFirst=function(t,e,r){return typeof t!="string"?"":yf.isString(e)?(yf.isString(r)||(r=""),t.replace(e,r)):t};pi.reverse=R9().reverse;pi.sentence=function(t){return typeof t!="string"?"":t.replace(/((?:\S[^\.\?\!]*)[\.\?\!]*)/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})};pi.snakecase=function(t){return typeof t!="string"?"":VQ.changecase(t,function(e){return"_"+e})};pi.split=function(t,e){return typeof t!="string"?"":(yf.isString(e)||(e=","),t.split(e))};pi.startsWith=function(t,e,r){var n=[].slice.call(arguments);return r=n.pop(),yf.isString(e)&&e.indexOf(t)===0?r.fn(this):typeof r.inverse=="function"?r.inverse(this):""};pi.titleize=function(t){if(typeof t!="string")return"";for(var e=t.replace(/[- _]+/g," "),r=e.split(" "),n=r.length,i=[],o=0;n--;){var a=r[o++];i.push(K4i.capitalize(a))}return i.join(" ")};pi.trim=function(t){return typeof t=="string"?t.trim():""};pi.trimLeft=function(t){if(yf.isString(t))return t.replace(/^\s+/,"")};pi.trimRight=function(t){if(yf.isString(t))return t.replace(/\s+$/,"")};pi.truncate=function(t,e,r){if(yf.isString(t))return typeof r!="string"&&(r=""),t.length>e?t.slice(0,e-r.length)+r:t};pi.truncateWords=function(t,e,r){if(yf.isString(t)&&!isNaN(e)){typeof r!="string"&&(r="\u2026");var n=Number(e),i=t.split(/[ \t]/);if(n>=i.length)return t;i=i.slice(0,n);var o=i.join(" ").trim();return o+r}};pi.upcase=function(){return pi.uppercase.apply(this,arguments)};pi.uppercase=function(t){return yf.isObject(t)&&t.fn?t.fn(this).toUpperCase():typeof t!="string"?"":t.toUpperCase()};pi.lorem=function(t){return(isNaN(t)||t<1||!t)&&(t=11),Zqu.substring(0,t)}});var z4t=g((m6d,X4i)=>{"use strict";var $4t=require("url"),jue=dp(),e2u=require("querystring"),$Q=X4i.exports;$Q.encodeURI=function(t){if(jue.isString(t))return encodeURIComponent(t)};$Q.escape=function(t){if(jue.isString(t))return e2u.escape(t)};$Q.decodeURI=function(t){if(jue.isString(t))return decodeURIComponent(t)};$Q.urlResolve=function(t,e){return $4t.resolve(t,e)};$Q.urlParse=function(t){return $4t.parse(t)};$Q.stripQuerystring=function(t){if(jue.isString(t))return t.split("?")[0]};$Q.stripProtocol=function(t){if(jue.isString(t)){var e=$4t.parse(t);return e.protocol="",e.format()}}});function Hue(){return AQe>yQe.length-16&&(Z4i.default.randomFillSync(yQe),AQe=0),yQe.slice(AQe,AQe+=16)}var Z4i,yQe,AQe,W4t=Z(()=>{"use strict";Z4i=qe(require("crypto")),yQe=new Uint8Array(256),AQe=yQe.length;s(Hue,"rng")});var e$i,t$i=Z(()=>{"use strict";e$i=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function t2u(t){return typeof t=="string"&&e$i.test(t)}var VP,Gue=Z(()=>{"use strict";t$i();s(t2u,"validate");VP=t2u});function zQ(t,e=0){return pp[t[e+0]]+pp[t[e+1]]+pp[t[e+2]]+pp[t[e+3]]+"-"+pp[t[e+4]]+pp[t[e+5]]+"-"+pp[t[e+6]]+pp[t[e+7]]+"-"+pp[t[e+8]]+pp[t[e+9]]+"-"+pp[t[e+10]]+pp[t[e+11]]+pp[t[e+12]]+pp[t[e+13]]+pp[t[e+14]]+pp[t[e+15]]}function r2u(t,e=0){let r=zQ(t,e);if(!VP(r))throw TypeError("Stringified UUID is invalid");return r}var pp,r$i,Vue=Z(()=>{"use strict";Gue();pp=[];for(let t=0;t<256;++t)pp.push((t+256).toString(16).slice(1));s(zQ,"unsafeStringify");s(r2u,"stringify");r$i=r2u});function n2u(t,e,r){let n=e&&r||0,i=e||new Array(16);t=t||{};let o=t.node||n$i,a=t.clockseq!==void 0?t.clockseq:Y4t;if(o==null||a==null){let p=t.random||(t.rng||Hue)();o==null&&(o=n$i=[p[0]|1,p[1],p[2],p[3],p[4],p[5]]),a==null&&(a=Y4t=(p[6]<<8|p[7])&16383)}let c=t.msecs!==void 0?t.msecs:Date.now(),u=t.nsecs!==void 0?t.nsecs:J4t+1,l=c-K4t+(u-J4t)/1e4;if(l<0&&t.clockseq===void 0&&(a=a+1&16383),(l<0||c>K4t)&&t.nsecs===void 0&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");K4t=c,J4t=u,Y4t=a,c+=122192928e5;let d=((c&268435455)*1e4+u)%4294967296;i[n++]=d>>>24&255,i[n++]=d>>>16&255,i[n++]=d>>>8&255,i[n++]=d&255;let f=c/4294967296*1e4&268435455;i[n++]=f>>>8&255,i[n++]=f&255,i[n++]=f>>>24&15|16,i[n++]=f>>>16&255,i[n++]=a>>>8|128,i[n++]=a&255;for(let p=0;p<6;++p)i[n+p]=o[p];return e||zQ(i)}var n$i,Y4t,K4t,J4t,i$i,s$i=Z(()=>{"use strict";W4t();Vue();K4t=0,J4t=0;s(n2u,"v1");i$i=n2u});function i2u(t){if(!VP(t))throw TypeError("Invalid UUID");let e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}var _Qe,X4t=Z(()=>{"use strict";Gue();s(i2u,"parse");_Qe=i2u});function s2u(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e}function $ue(t,e,r){function n(i,o,a,c){var u;if(typeof i=="string"&&(i=s2u(i)),typeof o=="string"&&(o=_Qe(o)),((u=o)===null||u===void 0?void 0:u.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(o),l.set(i,o.length),l=r(l),l[6]=l[6]&15|e,l[8]=l[8]&63|128,a){c=c||0;for(let d=0;d<16;++d)a[c+d]=l[d];return a}return zQ(l)}s(n,"generateUUID");try{n.name=t}catch{}return n.DNS=o2u,n.URL=a2u,n}var o2u,a2u,Z4t=Z(()=>{"use strict";Vue();X4t();s(s2u,"stringToBytes");o2u="6ba7b810-9dad-11d1-80b4-00c04fd430c8",a2u="6ba7b811-9dad-11d1-80b4-00c04fd430c8";s($ue,"v35")});function c2u(t){return Array.isArray(t)?t=Buffer.from(t):typeof t=="string"&&(t=Buffer.from(t,"utf8")),o$i.default.createHash("md5").update(t).digest()}var o$i,a$i,c$i=Z(()=>{"use strict";o$i=qe(require("crypto"));s(c2u,"md5");a$i=c2u});var u2u,u$i,l$i=Z(()=>{"use strict";Z4t();c$i();u2u=$ue("v3",48,a$i),u$i=u2u});var d$i,e$t,f$i=Z(()=>{"use strict";d$i=qe(require("crypto")),e$t={randomUUID:d$i.default.randomUUID}});function l2u(t,e,r){if(e$t.randomUUID&&!e&&!t)return e$t.randomUUID();t=t||{};let n=t.random||(t.rng||Hue)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(let i=0;i<16;++i)e[r+i]=n[i];return e}return zQ(n)}var p$i,h$i=Z(()=>{"use strict";f$i();W4t();Vue();s(l2u,"v4");p$i=l2u});function d2u(t){return Array.isArray(t)?t=Buffer.from(t):typeof t=="string"&&(t=Buffer.from(t,"utf8")),m$i.default.createHash("sha1").update(t).digest()}var m$i,g$i,A$i=Z(()=>{"use strict";m$i=qe(require("crypto"));s(d2u,"sha1");g$i=d2u});var f2u,y$i,_$i=Z(()=>{"use strict";Z4t();A$i();f2u=$ue("v5",80,g$i),y$i=f2u});var E$i,b$i=Z(()=>{"use strict";E$i="00000000-0000-0000-0000-000000000000"});function p2u(t){if(!VP(t))throw TypeError("Invalid UUID");return parseInt(t.slice(14,15),16)}var S$i,v$i=Z(()=>{"use strict";Gue();s(p2u,"version");S$i=p2u});var w$i={};Is(w$i,{NIL:()=>E$i,parse:()=>_Qe,stringify:()=>r$i,v1:()=>i$i,v3:()=>u$i,v4:()=>p$i,v5:()=>y$i,validate:()=>VP,version:()=>S$i});var T$i=Z(()=>{"use strict";s$i();l$i();h$i();_$i();b$i();v$i();Gue();Vue();X4t()});var t$t=g((d9d,C$i)=>{"use strict";var h2u=(T$i(),Nt(w$i)),m2u=C$i.exports;m2u.uuid=function(){return h2u.v4()}});var x$i=g((f9d,I$i)=>{"use strict";I$i.exports={array:R9(),code:N3i(),collection:z3i(),comparison:S4t(),html:fVi(),i18n:hVi(),inflection:AVi(),match:R4i(),math:j4t(),misc:N4i(),number:H4t(),object:sQe(),path:V4i(),regex:G4t(),string:V4t(),url:z4t(),uuid:t$t()}});var R$i=g((p9d,D9)=>{"use strict";var zue=x$i();D9.exports=s(function(e,r){typeof e=="string"?e=[e]:Array.isArray(e)||(r=e,e=null),r=r||{};var n=r.handlebars||r.hbs||kue();if(D9.exports.handlebars=n,e)e.forEach(function(i){n.registerHelper(zue[i])});else for(let i in zue){let o=zue[i];n.registerHelper(o)}return n.helpers},"helpers");for(let t in zue){let e=zue[t];D9.exports[t]=function(r){r=r||{};var n=r.handlebars||r.hbs||kue();return D9.exports.handlebars=n,n.registerHelper(e),e}}D9.exports.utils=Bue()});var O$i=g((r$t,n$t)=>{"use strict";(function(t,e){typeof r$t=="object"&&typeof n$t<"u"?n$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_duration=e()})(r$t,function(){"use strict";var t,e,r=1e3,n=6e4,i=36e5,o=864e5,a=/\[([^\]]+)]|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,c=31536e6,u=2628e6,l=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,d={years:c,months:u,days:o,hours:i,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},f=s(function(N){return N instanceof x},"c"),p=s(function(N,T,B){return new x(N,B,T.$l)},"f"),h=s(function(N){return e.p(N)+"s"},"m"),A=s(function(N){return N<0},"l"),y=s(function(N){return A(N)?Math.ceil(N):Math.floor(N)},"$"),v=s(function(N){return Math.abs(N)},"y"),b=s(function(N,T){return N?A(N)?{negative:!0,format:""+v(N)+T}:{negative:!1,format:""+N+T}:{negative:!1,format:""}},"v"),x=function(){function N(B,q,j){var H=this;if(this.$d={},this.$l=j,B===void 0&&(this.$ms=0,this.parseFromMilliseconds()),q)return p(B*d[h(q)],this);if(typeof B=="number")return this.$ms=B,this.parseFromMilliseconds(),this;if(typeof B=="object")return Object.keys(B).forEach(function(ce){H.$d[h(ce)]=B[ce]}),this.calMilliseconds(),this;if(typeof B=="string"){var $=B.match(l);if($){var X=$.slice(2).map(function(ce){return ce!=null?Number(ce):0});return this.$d.years=X[0],this.$d.months=X[1],this.$d.weeks=X[2],this.$d.days=X[3],this.$d.hours=X[4],this.$d.minutes=X[5],this.$d.seconds=X[6],this.calMilliseconds(),this}}return this}s(N,"l");var T=N.prototype;return T.calMilliseconds=function(){var B=this;this.$ms=Object.keys(this.$d).reduce(function(q,j){return q+(B.$d[j]||0)*d[j]},0)},T.parseFromMilliseconds=function(){var B=this.$ms;this.$d.years=y(B/c),B%=c,this.$d.months=y(B/u),B%=u,this.$d.days=y(B/o),B%=o,this.$d.hours=y(B/i),B%=i,this.$d.minutes=y(B/n),B%=n,this.$d.seconds=y(B/r),B%=r,this.$d.milliseconds=B},T.toISOString=function(){var B=b(this.$d.years,"Y"),q=b(this.$d.months,"M"),j=+this.$d.days||0;this.$d.weeks&&(j+=7*this.$d.weeks);var H=b(j,"D"),$=b(this.$d.hours,"H"),X=b(this.$d.minutes,"M"),ce=this.$d.seconds||0;this.$d.milliseconds&&(ce+=this.$d.milliseconds/1e3,ce=Math.round(1e3*ce)/1e3);var L=b(ce,"S"),ue=B.negative||q.negative||H.negative||$.negative||X.negative||L.negative,W=$.format||X.format||L.format?"T":"",F=(ue?"-":"")+"P"+B.format+q.format+H.format+W+$.format+X.format+L.format;return F==="P"||F==="-P"?"P0D":F},T.toJSON=function(){return this.toISOString()},T.format=function(B){var q=B||"YYYY-MM-DDTHH:mm:ss",j={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return q.replace(a,function(H,$){return $||String(j[H])})},T.as=function(B){return this.$ms/d[h(B)]},T.get=function(B){var q=this.$ms,j=h(B);return j==="milliseconds"?q%=1e3:q=j==="weeks"?y(q/d[j]):this.$d[j],q||0},T.add=function(B,q,j){var H;return H=q?B*d[h(q)]:f(B)?B.$ms:p(B,this).$ms,p(this.$ms+H*(j?-1:1),this)},T.subtract=function(B,q){return this.add(B,q,!0)},T.locale=function(B){var q=this.clone();return q.$l=B,q},T.clone=function(){return p(this.$ms,this)},T.humanize=function(B){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!B)},T.valueOf=function(){return this.asMilliseconds()},T.milliseconds=function(){return this.get("milliseconds")},T.asMilliseconds=function(){return this.as("milliseconds")},T.seconds=function(){return this.get("seconds")},T.asSeconds=function(){return this.as("seconds")},T.minutes=function(){return this.get("minutes")},T.asMinutes=function(){return this.as("minutes")},T.hours=function(){return this.get("hours")},T.asHours=function(){return this.as("hours")},T.days=function(){return this.get("days")},T.asDays=function(){return this.as("days")},T.weeks=function(){return this.get("weeks")},T.asWeeks=function(){return this.as("weeks")},T.months=function(){return this.get("months")},T.asMonths=function(){return this.as("months")},T.years=function(){return this.get("years")},T.asYears=function(){return this.as("years")},N}(),O=s(function(N,T,B){return N.add(T.years()*B,"y").add(T.months()*B,"M").add(T.days()*B,"d").add(T.hours()*B,"h").add(T.minutes()*B,"m").add(T.seconds()*B,"s").add(T.milliseconds()*B,"ms")},"p");return function(N,T,B){t=B,e=B().$utils(),B.duration=function(H,$){var X=B.locale();return p(H,{$l:X},$)},B.isDuration=f;var q=T.prototype.add,j=T.prototype.subtract;T.prototype.add=function(H,$){return f(H)?O(this,H,1):q.bind(this)(H,$)},T.prototype.subtract=function(H,$){return f(H)?O(this,H,-1):j.bind(this)(H,$)}}})});var k$i=g((i$t,s$t)=>{"use strict";(function(t,e){typeof i$t=="object"&&typeof s$t<"u"?s$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(i$t,function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var o=this,a=this.$locale();if(!this.isValid())return n.bind(this)(i);var c=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(l){switch(l){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return a.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return a.ordinal(o.week(),"W");case"w":case"ww":return c.s(o.week(),l==="w"?1:2,"0");case"W":case"WW":return c.s(o.isoWeek(),l==="W"?1:2,"0");case"k":case"kk":return c.s(String(o.$H===0?24:o.$H),l==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return l}});return n.bind(this)(u)}}})});var N$i=g((o$t,a$t)=>{"use strict";(function(t,e){typeof o$t=="object"&&typeof a$t<"u"?a$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(o$t,function(){"use strict";var t="day";return function(e,r,n){var i=s(function(c){return c.add(4-c.isoWeekday(),t)},"a"),o=r.prototype;o.isoWeekYear=function(){return i(this).year()},o.isoWeek=function(c){if(!this.$utils().u(c))return this.add(7*(c-this.isoWeek()),t);var u,l,d,f,p=i(this),h=(u=this.isoWeekYear(),l=this.$u,d=(l?n.utc:n)().year(u).startOf("year"),f=4-d.isoWeekday(),d.isoWeekday()>4&&(f+=7),d.add(f,t));return p.diff(h,"week")+1},o.isoWeekday=function(c){return this.$utils().u(c)?this.day()||7:this.day(this.day()%7?c:c-7)};var a=o.startOf;o.startOf=function(c,u){var l=this.$utils(),d=!!l.u(u)||u;return l.p(c)==="isoweek"?d?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(c,u)}}})});var D$i=g((c$t,u$t)=>{"use strict";(function(t,e){typeof c$t=="object"&&typeof u$t<"u"?u$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_weekYear=e()})(c$t,function(){"use strict";return function(t,e){e.prototype.weekYear=function(){var r=this.month(),n=this.week(),i=this.year();return n===1&&r===11?i+1:r===0&&n>=52?i-1:i}}})});var P$i=g((l$t,d$t)=>{"use strict";(function(t,e){typeof l$t=="object"&&typeof d$t<"u"?d$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_weekOfYear=e()})(l$t,function(){"use strict";var t="week",e="year";return function(r,n,i){var o=n.prototype;o.week=function(a){if(a===void 0&&(a=null),a!==null)return this.add(7*(a-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var u=i(this).startOf(e).add(1,e).date(c),l=i(this).endOf(t);if(u.isBefore(l))return 1}var d=i(this).startOf(e).date(c).startOf(t).subtract(1,"millisecond"),f=this.diff(d,t,!0);return f<0?i(this).startOf("week").week():Math.ceil(f)},o.weeks=function(a){return a===void 0&&(a=null),this.week(a)}}})});var B$i=g((f$t,p$t)=>{"use strict";(function(t,e){typeof f$t=="object"&&typeof p$t<"u"?p$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_relativeTime=e()})(f$t,function(){"use strict";return function(t,e,r){t=t||{};var n=e.prototype,i={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function o(c,u,l,d){return n.fromToBase(c,u,l,d)}s(o,"i"),r.en.relativeTime=i,n.fromToBase=function(c,u,l,d,f){for(var p,h,A,y=l.$locale().relativeTime||i,v=t.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],b=v.length,x=0;x<b;x+=1){var O=v[x];O.d&&(p=d?r(c).diff(l,O.d,!0):l.diff(c,O.d,!0));var N=(t.rounding||Math.round)(Math.abs(p));if(A=p>0,N<=O.r||!O.r){N<=1&&x>0&&(O=v[x-1]);var T=y[O.l];f&&(N=f(""+N)),h=typeof T=="string"?T.replace("%d",N):T(N,u,O.l,A);break}}if(u)return h;var B=A?y.future:y.past;return typeof B=="function"?B(h):B.replace("%s",h)},n.to=function(c,u){return o(c,u,this,!0)},n.from=function(c,u){return o(c,u,this)};var a=s(function(c){return c.$u?r.utc():r()},"d");n.toNow=function(c){return this.to(a(this),c)},n.fromNow=function(c){return this.from(a(this),c)}}})});var M$i=g((h$t,m$t)=>{"use strict";(function(t,e){typeof h$t=="object"&&typeof m$t<"u"?m$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_utc=e()})(h$t,function(){"use strict";var t="minute",e=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(n,i,o){var a=i.prototype;o.utc=function(h){var A={date:h,utc:!0,args:arguments};return new i(A)},a.utc=function(h){var A=o(this.toDate(),{locale:this.$L,utc:!0});return h?A.add(this.utcOffset(),t):A},a.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var c=a.parse;a.parse=function(h){h.utc&&(this.$u=!0),this.$utils().u(h.$offset)||(this.$offset=h.$offset),c.call(this,h)};var u=a.init;a.init=function(){if(this.$u){var h=this.$d;this.$y=h.getUTCFullYear(),this.$M=h.getUTCMonth(),this.$D=h.getUTCDate(),this.$W=h.getUTCDay(),this.$H=h.getUTCHours(),this.$m=h.getUTCMinutes(),this.$s=h.getUTCSeconds(),this.$ms=h.getUTCMilliseconds()}else u.call(this)};var l=a.utcOffset;a.utcOffset=function(h,A){var y=this.$utils().u;if(y(h))return this.$u?0:y(this.$offset)?l.call(this):this.$offset;if(typeof h=="string"&&(h=function(O){O===void 0&&(O="");var N=O.match(e);if(!N)return null;var T=(""+N[0]).match(r)||["-",0,0],B=T[0],q=60*+T[1]+ +T[2];return q===0?0:B==="+"?q:-q}(h),h===null))return this;var v=Math.abs(h)<=16?60*h:h;if(v===0)return this.utc(A);var b=this.clone();if(A)return b.$offset=v,b.$u=!1,b;var x=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(b=this.local().add(v+x,t)).$offset=v,b.$x.$localOffset=x,b};var d=a.format;a.format=function(h){var A=h||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return d.call(this,A)},a.valueOf=function(){var h=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*h},a.isUTC=function(){return!!this.$u},a.toISOString=function(){return this.toDate().toISOString()},a.toString=function(){return this.toDate().toUTCString()};var f=a.toDate;a.toDate=function(h){return h==="s"&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var p=a.diff;a.diff=function(h,A,y){if(h&&this.$u===h.$u)return p.call(this,h,A,y);var v=this.local(),b=o(h).local();return p.call(v,b,A,y)}}})});var L$i=g((g$t,A$t)=>{"use strict";(function(t,e){typeof g$t=="object"&&typeof A$t<"u"?A$t.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_timezone=e()})(g$t,function(){"use strict";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(r,n,i){var o,a=s(function(d,f,p){p===void 0&&(p={});var h=new Date(d),A=function(y,v){v===void 0&&(v={});var b=v.timeZoneName||"short",x=y+"|"+b,O=e[x];return O||(O=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:y,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:b}),e[x]=O),O}(f,p);return A.formatToParts(h)},"a"),c=s(function(d,f){for(var p=a(d,f),h=[],A=0;A<p.length;A+=1){var y=p[A],v=y.type,b=y.value,x=t[v];x>=0&&(h[x]=parseInt(b,10))}var O=h[3],N=O===24?0:O,T=h[0]+"-"+h[1]+"-"+h[2]+" "+N+":"+h[4]+":"+h[5]+":000",B=+d;return(i.utc(T).valueOf()-(B-=B%1e3))/6e4},"u"),u=n.prototype;u.tz=function(d,f){d===void 0&&(d=o);var p,h=this.utcOffset(),A=this.toDate(),y=A.toLocaleString("en-US",{timeZone:d}),v=Math.round((A-new Date(y))/1e3/60),b=15*-Math.round(A.getTimezoneOffset()/15)-v;if(!Number(b))p=this.utcOffset(0,f);else if(p=i(y,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(b,!0),f){var x=p.utcOffset();p=p.add(h-x,"minute")}return p.$x.$timezone=d,p},u.offsetName=function(d){var f=this.$x.$timezone||i.tz.guess(),p=a(this.valueOf(),f,{timeZoneName:d}).find(function(h){return h.type.toLowerCase()==="timezonename"});return p&&p.value};var l=u.startOf;u.startOf=function(d,f){if(!this.$x||!this.$x.$timezone)return l.call(this,d,f);var p=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return l.call(p,d,f).tz(this.$x.$timezone,!0)},i.tz=function(d,f,p){var h=p&&f,A=p||f||o,y=c(+i(),A);if(typeof d!="string")return i(d).tz(A);var v=function(N,T,B){var q=N-60*T*1e3,j=c(q,B);if(T===j)return[q,T];var H=c(q-=60*(j-T)*1e3,B);return j===H?[q,j]:[N-60*Math.min(j,H)*1e3,Math.max(j,H)]}(i.utc(d,h).valueOf(),y,A),b=v[0],x=v[1],O=i(b).utcOffset(x);return O.$x.$timezone=A,O},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(d){o=d}}})});process.env.DISABLE_PINO_LOGGER="1";process.env.NO_JS="1";process.env.DISABLE_JWT_WARNING="1";wd();var Q0=class{static{s(this,"Command")}constructor(e,r){this.command=e,this.opts=[],this.func=r}convertToCommander(e){let r=e.toLowerCase().split("-");return[r.shift()].concat(r.map(i=>Pje(i))).join("")}addHelp(e){return this.help=e,this}addSubOption(e,r,n,i=[]){return this.opts.push({command:e,help:r,func:n,extras:i}),this}configure(e){let r=this,n=e.command(r.command);this.help&&(n=n.description(t5(r.help)));let i=new Set;for(let o of r.opts){n=n.option(o.command,r5(o.help));for(let a of o.extras)!a?.command||i.has(a.command)||(i.add(a.command),n=n.option(a.command,r5(a.help)))}n.helpOption("-h, --help",r5(`Get help with ${this.command} options`)),n.action(async o=>{try{let a=!1,c=!1;for(let u of r.opts){let l=u.command.split(" ")[0].replace("--","");if(l=this.convertToCommander(l),c=!a&&!!o[l],c&&u.func){let d=Object.keys(o).length>1?o:o[l];await u.func(d),a=!0}}c&&!a?console.log(Wo(`${Object.keys(o)[0]} is an option, not an operation.`)):a||(console.log(Wo(`Unknown ${this.command} option.`)),n.help())}catch(a){console.log(Wo(a))}})}};gO();wd();var N5t=require("posthog-node");gO();var Fle=require("fs"),e7i=require("path"),t7i=require("os"),{error:r7i}=(wd(),Nt(Bje)),qle=class{static{s(this,"ConfigManager")}constructor(){this.path=e7i.join(t7i.homedir(),".budibase.json"),Fle.existsSync(this.path)||Fle.writeFileSync(this.path,"{}")}get config(){try{return JSON.parse(Fle.readFileSync(this.path,"utf8"))}catch{return console.log(r7i("Error parsing configuration file. Please check your .budibase.json is valid.")),{}}}set config(e){Fle.writeFileSync(this.path,JSON.stringify(e))}getValue(e){return this.config[e]}setValue(e,r){this.config={...this.config,[e]:r}}removeKey(e){let r={...this.config};delete r[e],this.config=r}};var pj=class{static{s(this,"AnalyticsClient")}constructor(){this.client=new N5t.PostHog(Wje,{}),this.configManager=new qle}capture(e){this.configManager.config.analyticsDisabled||this.client.capture(e)}enable(){this.configManager.removeKey("analyticsDisabled"),this.client.capture({event:cC.OptIn,distinctId:"cli"})}disable(){this.client.capture({event:cC.OptOut,distinctId:"cli"}),this.configManager.setValue("analyticsDisabled",!0)}status(){return this.configManager.config.analyticsDisabled?"disabled":"enabled"}};var Kje=new pj;async function n7i(){try{Kje.disable(),console.log(ba("Successfully opted out of Budibase analytics. You can opt in at any time by running 'budi analytics opt-in'"))}catch(t){console.log(Wo(`Error opting out of Budibase analytics. Please try again later - ${t}`))}}s(n7i,"optOut");async function i7i(){try{Kje.enable(),console.log(ba("Successfully opted in to Budibase analytics. Thank you for helping us make Budibase better!"))}catch{console.log(Wo("Error opting in to Budibase analytics. Please try again later."))}}s(i7i,"optIn");async function s7i(){try{console.log(ba(`Budibase analytics ${Kje.status()}`))}catch{console.log(Wo("Error fetching analytics status. Please try again later."))}}s(s7i,"status");var D5t=new Q0("analytics").addHelp("Control the analytics you send to Budibase.").addSubOption("--optin","Opt in to sending analytics to Budibase",i7i).addSubOption("--optout","Opt out of sending analytics to Budibase.",n7i).addSubOption("--status","Check whether you are currently opted in to Budibase analytics.",s7i);gO();gO();uB();var a7i=new pj;function Qle(t,e){a7i.capture({distinctId:"cli",event:t,properties:e})}s(Qle,"captureEvent");f5();wd();dC();var W5t=require("path"),Y5t=qe(require("fs"));wd();dC();async function Gle(t,e){let r="/plugins";if(t=(0,W5t.resolve)(t),!Y5t.default.existsSync(t)){console.log(Wo(`The directory "${t}" does not exist, please create and then try again.`));return}tHe(n=>{n.environment.PLUGINS_DIR=r,n.volumes||(n.volumes=[]);let i=n.volumes.find(o=>o.includes(r));i&&n.volumes.splice(n.volumes.indexOf(i),1),n.volumes.push(`${t}:${r}`)}),e||console.log(ba(`Docker compose configured to watch directory: ${t}`))}s(Gle,"watchPlugins");var{success:d7i}=(wd(),Nt(Bje)),{updateDockerComposeService:f7i}=(dC(),Nt(U5t)),p7i=require("randomstring"),{GENERATED_USER_EMAIL:h7i}=(gO(),Nt(k5t));async function Vle(t,e){let r=h7i;t||(t=p7i.generate({length:6})),f7i(n=>{n.environment.BB_ADMIN_USER_EMAIL=r,n.environment.BB_ADMIN_USER_PASSWORD=t}),e||console.log(d7i(`User admin credentials configured, access with email: ${r} - password: ${t}`))}s(Vle,"generateUser");var K5t=qe(require("node-fetch"));var m7i="http://169.254.169.254/metadata/v1/user-data";async function g7i(t,e,r){let n=e?j5t:{};if(t==="do")try{let o=await(await(0,K5t.default)(m7i)).text(),a=kje(o);for(let[c,u]of Object.entries(oHe))a[c]&&(n[u]=a[c])}catch{}return r&&(n[oHe.MAIN_PORT]=r),n}s(g7i,"getInitConfig");async function $le(t){let e,r,n,i,o,a;typeof t=="string"?e=t:(e=t.init,r=t.single,n=t.watchPluginDir,i=t.genUser,o=t.port,a=t.silent);let c=e==="quick"||e==="do";if(await kb(),!c&&!await j0("This will create multiple files in current directory, should continue?")){console.log("Stopping.");return}Qle(cC.SelfHostInit,{type:e});let u=await g7i(e,c,o);r?await V5t(u,a):(await l5(),await G5t(u,a)),n&&await Gle(n,a),i&&await Vle(typeof i=="string"?i:null,a)}s($le,"init");dC();wd();f5();var J5t=qe(require("docker-compose")),X5t=qe(require("fs"));uB();var A7i=require("open");async function gj(){await kb(),uC(),console.log(yi("Starting services, this may take a moment - first time this may take a few minutes to download images."));let t;X5t.default.existsSync(mj)?t=$5t("MAIN_PORT"):t=z5t("port"),await lC(async()=>{await J5t.default.upAll({cwd:"./",log:!0})}),await j0(`Do you wish to open http://localhost:${t} ?`)&&await A7i(`http://localhost:${t}`),console.log(ba(`Services started, please go to http://localhost:${t} for next steps.`))}s(gj,"start");dC();wd();var Z5t=qe(require("docker-compose"));async function eKt(){await kb(),uC(),console.log(yi("Stopping services, this may take a moment.")),await lC(async()=>{await Z5t.default.stop()}),console.log(ba("Services have been stopped successfully."))}s(eKt,"stop");dC();wd();var tKt=qe(require("docker-compose"));async function rKt(){await kb(),uC(),console.log(yi("Budibase status")),await lC(async()=>{let t=await tKt.default.ps();console.log(t.out)})}s(rKt,"status");dC();uB();var zle=qe(require("docker-compose"));f5();wd();var y7i=["app-service","worker-service","proxy-service","couchdb-service"],_7i=["budibase"];async function nKt(){let{services:t}=d5(hj),e=Object.keys(t).length===1;if(await kb(),uC(),!e&&await j0("Do you wish to update you docker-compose.yaml?")){let r=await jle("minio");await l5(),eHe("minio",r)}await lC(async()=>{let n=(await zle.default.ps()).out.split(`
1442
+ `),i=n[2]&&n[2].indexOf("Up")!==-1;i&&(console.log(yi("Stopping services, this may take a moment.")),await zle.default.stop()),console.log(yi("Beginning update, this may take a few minutes."));let o;e?o=_7i:o=y7i,await zle.default.pullMany(o,{log:!0}),i&&(console.log(ba("Update complete, restarting services...")),await gj())})}s(nKt,"update");var iKt=new Q0("hosting").addHelp("Controls self hosting on the Budibase platform.").addSubOption("--init [type]","Configure a self hosted platform in current directory, type can be unspecified, 'quick' or 'single'.",$le).addSubOption("--start","Start the configured platform in current directory.",gj).addSubOption("--status","Check the status of currently running services.",rKt).addSubOption("--stop","Stop the configured platform in the current directory.",eKt).addSubOption("--update","Update the Budibase images to the latest version.",nKt).addSubOption("--watch-plugin-dir [directory]","Add plugin directory watching to a Budibase install.",Gle).addSubOption("--gen-user","Create an admin user automatically as part of first start.",Vle).addSubOption("--single","Specify this with init to use the single image.");gO();var Eb=qe(require("fs")),DQ=require("path");var Wle=qe(require("pouchdb"));wd();var sKt=qe(require("node-fetch"));function Yle(t){let e;t?e={prefix:t}:e={prefix:void 0,adapter:"leveldb"};let r=require("@budibase/pouchdb-replication-stream");return Wle.default.plugin(r.plugin),Wle.default.adapter("writableStream",r.adapters.writableStream),Wle.default.defaults(e)}s(Yle,"getPouch");async function oKt(t){let e=await(0,sKt.default)(Nje(encodeURI(`${t}/_all_dbs`)),{method:"GET"});if(e.status===200)return await e.json();throw"Cannot connect to CouchDB instance"}s(oKt,"getAllDbs");wd();var Yji=qe(require("dotenv")),EVt=qe(require("fs"));uB();Ut();Ut();var Aj={WORKSPACES:"/builder/workspaces",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},Kle={ACCOUNT:"/portal/account",BILLING:"/portal/billing",UPGRADE:"/portal/upgrade"};var vA={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},aKt={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var Wj={};Is(Wj,{ColumnSplitter:()=>k3e,NoEmptyFilterStrings:()=>fir,buildQuery:()=>pir,cleanupQuery:()=>P3e,fixupFilterArrays:()=>M3e,getKeyNumbering:()=>B3e,getValidOperatorsForType:()=>wfs,hasFilters:()=>N3e,limit:()=>mir,recurseLogicalOperators:()=>D3e,removeKeyNumbering:()=>ide,runQuery:()=>Zde,search:()=>Ifs,sort:()=>hir,splitFiltersArray:()=>sde});Ut();var zj=qe(uHe());var bO={};Is(bO,{filterValueToLabel:()=>fes,hasSchema:()=>pes,isSupportedUserSearch:()=>_Jt,nameToUrl:()=>yes,parallelForeach:()=>des,processSearchFilters:()=>vHe,toMap:()=>mes,trimOtherProps:()=>hes,unreachable:()=>les});Ut();var yJt=qe(gJt());var ues=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function les(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(les,"unreachable");async function des(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let c=await(i?o.next():Promise.resolve(o.next()));for(;!c.done;)await e(c.value),c=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let c=0;c<r;c++)n.push(a());await Promise.all(n)}s(des,"parallelForeach");function fes(){return Object.keys(vA).reduce((t,e)=>{let n=vA[e];return t[n.value]=n.label,t},{})}s(fes,"filterValueToLabel");function pes(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(pes,"hasSchema");function hes(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(hes,"trimOtherProps");function _Jt(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(Lle(o)){for(let l of t[o].conditions)if(!_Jt(l))return!1;return!0}let c=Object.keys(a||{});if(c.length===0)continue;if(!e.find(l=>l.op===o&&c.length===1&&c[0]===l.key))return!1}return!0}s(_Jt,"isSupportedUserSearch");function vHe(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=sde(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,yJt.default)(i,ues);return o.field=ide(o.field),o})}]}}s(vHe,"processSearchFilters");function mes(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(mes,"toMap");var ges=s(t=>t?t.trim():null,"resolveWorkspaceName"),Aes=s(t=>{let e,r=ges(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),yes=s(t=>{let e=Aes(t);return _es(e)},"nameToUrl"),_es=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var bC={};Is(bC,{accountPortalAccountUrl:()=>tir,accountPortalBillingUrl:()=>rir,accountPortalUpgradeUrl:()=>nir,builderAppsUrl:()=>cir,builderSettingsAuthUrl:()=>oir,builderSettingsEmailUrl:()=>sir,builderSettingsPeopleUsersUrl:()=>air,builderWorkspacesUrl:()=>iir,cancelableTimeout:()=>EJt,cron:()=>afs,deepGet:()=>wHe,duplicateName:()=>tfs,formatBytes:()=>ofs,getSequentialName:()=>rfs,getUserColor:()=>bes,getUserInitials:()=>Ees,getUserLabel:()=>Ses,isGoogleSheets:()=>Tes,isSQL:()=>Ces,lists:()=>R3e,retry:()=>Ies,roles:()=>x3e,schema:()=>hK,structuredOutput:()=>S3e,urlHelpers:()=>sfs,views:()=>I3e,wait:()=>THe,withTimeout:()=>ves});var wHe=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),Ees=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),bes=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),Ses=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function EJt(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(EJt,"cancelableTimeout");async function ves(t,e){let[r,n]=EJt(t),i=await Promise.race([e(),r]);return n(),i}s(ves,"withTimeout");Ut();function Tes(t){return t==="GOOGLE_SHEETS"}s(Tes,"isGoogleSheets");function Ces(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(Ces,"isSQL");async function THe(t){return new Promise(e=>setTimeout(e,t))}s(THe,"wait");async function Ies(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await THe(o);try{return await t()}catch(a){n=a}}throw n}s(Ies,"retry");var jnr=qe(V0()),Hnr=qe(qnr());var Qnr="(Input cron: ",pds={"smaller than lower limit":"less than","bigger than upper limit":"greater than",daysOfMonth:"'days of the month'",daysOfWeek:"'days of the week'",years:"'years'",months:"'months'",hours:"'hours'",minutes:"'minutes'",seconds:"'seconds'"};function hds(t){let e=[];for(let r of t){r.includes(Qnr)&&(r=r.split(Qnr)[0].trim());for(let[n,i]of Object.entries(pds))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(hds,"improveErrors");function Gnr(t,e=4){let r=Hnr.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(Gnr,"getNextExecutionDates");function Vnr(t){let e=(0,jnr.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:hds(e.getError())}}s(Vnr,"validate");var hK={};Is(hK,{decodeNonAscii:()=>b3e,encodeNonAscii:()=>Ads,isDeprecatedSingleUserColumn:()=>mds,isNumeric:()=>yds,isRequired:()=>gds});Ut();function mds(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(mds,"isDeprecatedSingleUserColumn");function gds(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(gds,"isRequired");function Ads(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(Ads,"encodeNonAscii");function b3e(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(b3e,"decodeNonAscii");function yds(t){return t.type==="number"||t.type==="bigint"}s(yds,"isNumeric");var S3e={};Is(S3e,{normalizeSchemaForStructuredOutput:()=>_ds});function _ds(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],c={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let p=f;if(p.required===!0){a.push(d);let{required:h,...A}=p;c[d]=e(A)}else c[d]=e(p)}else c[d]=f;i.properties=c;let u=Array.isArray(i.required)?i.required:[],l=[...new Set([...u,...a])];l.length>0?i.required=l:i.required=Object.keys(c)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(_ds,"normalizeSchemaForStructuredOutput");var I3e={};Is(I3e,{basicFields:()=>Kds,calculationFields:()=>Yds,hasCalculationFields:()=>Wds,isBasicViewField:()=>$ds,isCalculationField:()=>mK,isCalculationView:()=>zds,isV2:()=>Jds,isVisible:()=>eir});Ut();var C3e=qe(T3e());function mK(t){return"calculationType"in t}s(mK,"isCalculationField");function $ds(t){return!mK(t)}s($ds,"isBasicViewField");function zds(t){return t.type==="calculation"}s(zds,"isCalculationView");function Wds(t){return Object.values(t.schema||{}).some(mK)}s(Wds,"hasCalculationFields");function Yds(t){return(0,C3e.default)(t.schema||{},mK)}s(Yds,"calculationFields");function eir(t){return t.visible!==!1}s(eir,"isVisible");function Kds(t,e){let{visible:r=!0}=e||{};return(0,C3e.default)(t.schema||{},n=>!mK(n)&&(!r||eir(n)))}s(Kds,"basicFields");function Jds(t){return t.version===2}s(Jds,"isV2");var x3e={};Is(x3e,{checkForRoleInheritanceLoops:()=>Zds});Ut();function Xds(t){return`role${rs}${t}`}s(Xds,"prefixForCheck");function Zds(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=Xds(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let c=e.get(a)||e.get(o);if(!c)return n.delete(o),!1;let u=Array.isArray(c.inherits)?c.inherits:[c.inherits];for(let l of u)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(Zds,"checkForRoleInheritanceLoops");var R3e={};Is(R3e,{punctuateList:()=>efs});function efs(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(efs,"punctuateList");var tfs=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(c=>{if(c===n)return!0;let u=c.match(i);return u?(o.push(parseInt(u[1])),!0):!1}),o.sort((c,u)=>c-u);let a;if(o.length===0)a=1;else{for(let c=0;c<o.length;c++)if(o[c]!==c+1){a=c+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),rfs=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let c=0;return t.forEach(u=>{let l=r?.(u)??u;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>c&&(c=f)}),c===0?a:`${e}${i}${c+1}`},"getSequentialName");var nfs=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),ifs=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),kO=s((t,e)=>{let r=nfs(e);if(!t)return r;let n=ifs(t);return r?`${n}${r}`:n},"joinBaseAndPath"),tir=s(t=>kO(t,Kle.ACCOUNT),"accountPortalAccountUrl"),rir=s(t=>kO(t,Kle.BILLING),"accountPortalBillingUrl"),nir=s(t=>kO(t,Kle.UPGRADE),"accountPortalUpgradeUrl"),iir=s(t=>kO(t,Aj.WORKSPACES),"builderWorkspacesUrl"),sir=s(t=>kO(t,Aj.SETTINGS_EMAIL),"builderSettingsEmailUrl"),oir=s(t=>kO(t,Aj.SETTINGS_AUTH),"builderSettingsAuthUrl"),air=s(t=>kO(t,Aj.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),cir=s(t=>kO(t,Aj.APPS),"builderAppsUrl"),sfs={accountPortalAccountUrl:tir,accountPortalBillingUrl:rir,accountPortalUpgradeUrl:nir,builderWorkspacesUrl:iir,builderSettingsEmailUrl:sir,builderSettingsAuthUrl:oir,builderSettingsPeopleUsersUrl:air,builderAppsUrl:cir};function ofs(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(ofs,"formatBytes");var afs={getNextExecutionDates:Gnr,validate:Vnr};var Xde=qe(p_()),O3e=qe(sg());var Sfs=/{{([^{].*?)}}/g,dir=Object.values(a5),vfs=[...Object.values(fj),...Object.values(sB),...Object.values(o5)],wfs=s((t,e,r)=>{let n=vA,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],o=[n.Equals,n.NotEquals,n.MoreThan,n.LessThan,n.Empty,n.NotEmpty,n.In],a=[n.Contains,n.NotContains,n.ContainsAny,n.Empty,n.NotEmpty],c=[],{type:u,formulaType:l,subtype:d}=t;u==="string"?d==="array"?c=a:c=i:u==="number"||u==="bigint"?c=o:u==="options"?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="array"?c=a:u==="boolean"?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:u==="longform"?c=i:u==="datetime"?c=o:u==="formula"&&l==="static"?c=i.concat([n.MoreThan,n.LessThan]):u==="ai"?c=i.concat([n.MoreThan,n.LessThan]):u==="bb_reference_single"||hK.isDeprecatedSingleUserColumn(t)?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="bb_reference"?c=a:u==="barcodeqr"&&(c=i);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(c=[n.Equals,n.NotEquals,n.In]),c},"getValidOperatorsForType"),fir=[vA.StartsWith.value,vA.Like.value,vA.Equals.value,vA.NotEquals.value,vA.Contains.value,vA.NotContains.value,vA.ContainsAny.value,vA.In.value];function D3e(t,e){for(let r of dir)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(D3e,"recurseLogicalOperators");var P3e=s(t=>{for(let e of fir)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||Tfs(o))&&delete t[e][i]}return t=D3e(t,P3e),t},"cleanupQuery");function Tfs(t){return Array.isArray(t)&&t.length===0}s(Tfs,"isEmptyArray");var ide=s(t=>B3e(t).key,"removeKeyNumbering"),B3e=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),k3e=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=B3e(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let c=`${a}.`;n.startsWith(c)&&(i=this.aliases[a],n=n.slice(c.length))}let o;for(let a of this.relationships){let c=`${a}.`;if(n.startsWith(c)){let u=n.split(c);u.shift(),o=c,n=u.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=b3e(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Cfs(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let c=typeof a=="string"&&(a.match(Sfs)||[]).length>0;switch(i){case"datetime":if(!c&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Ule(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!c&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(Ule(r)){let l=aKt[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if(YYt(r)||KYt(r)||Ule(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s(Cfs,"buildCondition");function sde(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(sde,"splitFiltersArray");function pir(t){if(!t)return{};if(Array.isArray(t)&&(t=vHe(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=lir(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let u=pir(n);return delete u.onEmptyFilter,u}let{allOr:i,onEmptyFilter:o,filters:a}=sde(n.filters||[]);o&&(e.onEmptyFilter=o);let c=i?"$or":"$and";return n.logicalOperator&&(c=lir(n.logicalOperator)),{[c]:{conditions:a.map(Cfs).filter(u=>u)}}})},e}s(pir,"buildQuery");function lir(t){return t==="all"?"$and":"$or"}s(lir,"logicalOperatorFromUI");function M3e(t){if(!t)return t;for(let e of Object.values(sB)){let r=t[e];if(!(r==null||!(0,Xde.default)(r)))for(let n of Object.keys(r)){if(Array.isArray(r[n]))continue;let i=r[n];typeof i=="string"?r[n]=i.split(",").map(o=>o.trim()):r[n]=[i]}}return D3e(t,M3e),t}s(M3e,"fixupFilterArrays");function Ifs(t,e){let r=Zde(t,e.query);e.sort&&(r=hir(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=mir(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(Ifs,"search");function Zde(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=P3e(e),e=M3e(e),!N3e(e)&&e.onEmptyFilter==="none")return[];let r=s((T,B)=>q=>{for(let[j,H]of Object.entries(e[T]||{})){let $=Lle(T)?q:wHe(q,ide(j)),X=B($,H);if(e.allOr&&X)return!0;if(!e.allOr&&!X)return!1}return!e.allOr},"match"),n=r("string",(T,B)=>typeof T!="string"||typeof B!="string"?!1:T.toLowerCase().startsWith(B.toLowerCase())),i=r("fuzzy",(T,B)=>typeof T!="string"||typeof B!="string"?!1:T.toLowerCase().includes(B.toLowerCase())),o=r("range",(T,B)=>{if(T==null||T===""||((0,Xde.default)(B.low)&&(0,O3e.default)(B.low)&&(B.low=void 0),(0,Xde.default)(B.high)&&(0,O3e.default)(B.high)&&(B.high=void 0),B.low==null&&B.high==null))return!1;let q=+T;if(!isNaN(q)){let H=+B.low,$=+B.high;if(!isNaN(H)&&!isNaN($))return q>=H&&q<=$;if(isNaN(H)){if(!isNaN($))return q<=$}else return q>=H}let j=(0,zj.default)(T);if(j.isValid()){let H=(0,zj.default)(B.low||"0000-00-00T00:00:00.000Z"),$=(0,zj.default)(B.high||"9999-00-00T00:00:00.000Z");if(H.isValid()&&$.isValid())return j.isAfter(H)&&j.isBefore($)||j.isSame(H)||j.isSame($);if(H.isValid())return j.isAfter(H)||j.isSame(H);if($.isValid())return j.isBefore($)||j.isSame($)}return B.low!=null&&B.high!=null?T>=B.low&&T<=B.high:B.low!=null?T>=B.low:B.high!=null?T<=B.high:!1}),a=s((T,B)=>{if(Array.isArray(T)){for(let j of T)if(a(j,B))return!0;return!1}if(T&&typeof T=="object"&&typeof B=="string")return T._id===B;if(T===B)return!0;if(T==null&&B!=null||T!=null&&B==null)return!1;let q=(0,zj.default)(T);if(q.isValid()){let j=(0,zj.default)(B);if(j.isValid())return q.isSame(j)}return!1},"_valueMatches"),c=s(T=>(...B)=>!T(...B),"not"),u=r("equal",a),l=r("notEqual",c(a)),d=s(T=>typeof T=="string"?T==="":Array.isArray(T)?T.length===0:T&&typeof T=="object"?Object.keys(T).length===0:T==null,"_empty"),f=r("empty",d),p=r("notEmpty",c(d)),h=r("oneOf",(T,B)=>(typeof B=="string"&&(B=B.split(",")),typeof T=="number"&&(B=B.map(q=>parseFloat(q))),Array.isArray(B)?B.some(q=>a(T,q)):!1)),A=s(T=>(B,q)=>!Array.isArray(B)||(typeof q=="string"&&(q=q.split(","),typeof B[0]=="number"&&(q=q.map(j=>parseFloat(j)))),!Array.isArray(q))?!1:q.length===0?!0:q[T](j=>a(B,j)),"_contains"),y=r("contains",(T,B)=>Array.isArray(B)&&B.length===0?!0:A("every")(T,B)),v=r("notContains",(T,B)=>Array.isArray(B)&&B.length===0?!0:c(A("every"))(T,B)),b=r("containsAny",A("some")),x=r("$and",(T,B)=>{if(!B.length)return!1;for(let q of B)if(!Zde([T],q).length)return!1;return!0}),O=r("$or",(T,B)=>{if(!B.length)return!1;for(let q of B)if(Zde([T],{...q,allOr:!0}).length)return!0;return!1}),N=s(T=>{let B={string:n,fuzzy:i,range:o,equal:u,notEqual:l,empty:f,notEmpty:p,oneOf:h,contains:y,containsAny:b,notContains:v,$and:x,$or:O},q=Object.entries(e||{}).filter(([j,H])=>!["allOr","onEmptyFilter"].includes(j)&&H&&Object.keys(H).length>0).map(([j])=>B[j]?.(T)??!1);return N3e(e)?e.allOr?q.some(j=>j===!0):q.every(j=>j===!0):!0},"docMatch");return t.filter(N)}s(Zde,"runQuery");function hir(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let c=i(o[e]),u=i(a[e]),l=u==null||c>u?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(hir,"sort");function mir(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(mir,"limit");var N3e=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of dir)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of vfs){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let c=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||c}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var y_={};Is(y_,{applications:()=>U3e,automations:()=>F3e,screens:()=>H3e,users:()=>j3e});var U3e={};Is(U3e,{getDevAppID:()=>xfs,getProdAppID:()=>AK});Ut();var L3e=aB("app"),gK=aB("app_dev");function xfs(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(gK))return t;let e=t.split(L3e);e.shift();let r=e.join(L3e);return`${gK}${r}`}s(xfs,"getDevAppID");function AK(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(gK))return t;let e=t.split(gK);e.shift();let r=e.join(gK);return`${L3e}${r}`}s(AK,"getProdAppID");var F3e={};Is(F3e,{checkForCollectStep:()=>Nfs,isAppAction:()=>kfs,isRowAction:()=>Rfs,isWebhookAction:()=>Ofs});Ut();function Rfs(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(Rfs,"isRowAction");function Ofs(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(Ofs,"isWebhookAction");function kfs(t){return t.definition.trigger?.stepId==="APP"}s(kfs,"isAppAction");function gir(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(f9t(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(gir(r))return!0}}return!1}s(gir,"hasCollectBlockRecursive");function Nfs(t){return gir(t.definition.steps)}s(Nfs,"checkForCollectStep");var j3e={};Is(j3e,{canCreateApps:()=>Dfs,containsUserID:()=>Qfs,getGlobalUserID:()=>qfs,getUserAppGroups:()=>jfs,hasAdminPermissions:()=>Q3e,hasAppBuilderPermissions:()=>rfe,hasBuilderPermissions:()=>Ufs,hasCreatorPermissions:()=>nfe,isAdmin:()=>yK,isAdminOrBuilder:()=>Bfs,isAdminOrGlobalBuilder:()=>Mfs,isAdminOrWorkspaceBuilder:()=>Pfs,isBuilder:()=>q3e,isCreator:()=>Ffs,isGlobalBuilder:()=>tfe,userAppAccessList:()=>Hfs});Ut();function q3e(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(AK(e))):!1}s(q3e,"isBuilder");function tfe(t){return q3e(t)&&!rfe(t)||yK(t)}s(tfe,"isGlobalBuilder");function Dfs(t){return tfe(t)||nfe(t)}s(Dfs,"canCreateApps");function yK(t){return t?Q3e(t):!1}s(yK,"isAdmin");function Pfs(t,e){return t?!!(yK(t)||e&&t.builder?.apps?.includes(AK(e))):!1}s(Pfs,"isAdminOrWorkspaceBuilder");function Bfs(t,e){return q3e(t,e)||yK(t)}s(Bfs,"isAdminOrBuilder");function Mfs(t){return tfe(t)||yK(t)}s(Mfs,"isAdminOrGlobalBuilder");function rfe(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(rfe,"hasAppBuilderPermissions");function Lfs(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(Lfs,"hasAppCreatorPermissions");function Ufs(t){return t?t.builder?.global||rfe(t)||nfe(t):!1}s(Ufs,"hasBuilderPermissions");function Q3e(t){return t?!!t.admin?.global:!1}s(Q3e,"hasAdminPermissions");function nfe(t){return t?!!t.builder?.creator:!1}s(nfe,"hasCreatorPermissions");function Ffs(t){return t?tfe(t)||Q3e(t)||nfe(t)||rfe(t)||Lfs(t):!1}s(Ffs,"isCreator");function qfs(t){if(typeof t!="string")return t;let e=`ro${rs}ta_users${rs}`;return t.startsWith(e)?t.split(e)[1]:t}s(qfs,"getGlobalUserID");function Qfs(t){return typeof t!="string"?!1:t.includes(`us${rs}`)}s(Qfs,"containsUserID");function Air(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(Air,"getUserGroups");function jfs(t,e,r){let n=AK(t);return Air(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(jfs,"getUserAppGroups");function Hfs(t,e){let n=Air(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(Hfs,"userAppAccessList");var H3e={};Is(H3e,{findInSettings:()=>Gfs});function Gfs(t,e){let r=[];function n(i,o=""){for(let[a,c]of Object.entries(i))c&&(typeof c=="string"&&c.includes(e)?r.push({setting:o?`${o}.${a}`:a,value:c}):typeof c=="object"&&n(c,a))}return s(n,"recurse"),n(t.props),r}s(Gfs,"findInSettings");Ut();var G3e={by_email2:["by_email"]},Fb={GLOBAL:{name:"global-db",docs:{apiKeys:"apikeys",usageQuota:"usage_quota",licenseInfo:"license_info",environmentVariables:"environmentvariables"}},PLATFORM_INFO:{name:"global-info",docs:{tenants:"tenants",install:"install"}},AUDIT_LOGS:{name:"audit-logs"},SCIM_LOGS:{name:"scim-logs"},SELF_HOST_CLOUD:{name:"self-host-cloud"}},DB=aB("app"),$fs=aB("app_dev"),NO=$fs;var _K="_design/sqlite";var zfs=`ro${rs}ta_users${rs}`;var Tf="default";Ut();Ut();var V3e=require("crypto"),sfe=require("fs"),Yfs=qe(Kj()),bK=require("path");var Kfs=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,bK.resolve)((0,bK.join)(__dirname,"..","..","..")),_ir=!1;!_ir&&ife()&&!$3e()&&(require("dotenv").config({path:(0,bK.join)(Kfs,".env")}),_ir=!0);function $3e(){return bir()}s($3e,"isTest");function bir(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(bir,"isJest");function ife(){return process.env.NODE_ENV!=="production"}s(ife,"isDev");function Jfs(t){if(t)return parseInt(t)}s(Jfs,"parseIntSafe");var Jj={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},Eir=!!parseInt(process.env.SELF_HOSTED||"");function Xfs(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Xfs,"getAPIEncryptionKey");function Zfs(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Zfs,"httpLogging");function eps(){function t(r){function n(c,u){let l=`${u}/${c}`;if((0,sfe.existsSync)(l))return l;let d=`${u}/..`;return d===u?null:n(c,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,sfe.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(ife()&&!$3e())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(eps,"getPackageJsonFields");function tps(){return DO.SERVICE_TYPE==="worker"}s(tps,"isWorker");function rps(){return DO.SERVICE_TYPE==="apps"}s(rps,"isApps");function nps(){return DO.BUDIBASE_ENVIRONMENT==="QA"}s(nps,"isQA");function ips(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}s(ips,"getServiceName");var DO={isTest:$3e,isJest:bir,isDev:ife,isWorker:tps,isApps:rps,isQA:nps,isProd:()=>!ife(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,V3e.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,V3e.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Xfs(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:Eir,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||Jj.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Jj.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Jj.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Jj.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Jj.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Jj.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:ips(),LOG_LEVEL:process.env.LOG_LEVEL||"info",SESSION_UPDATE_PERIOD:process.env.SESSION_UPDATE_PERIOD,DEPLOYMENT_ENVIRONMENT:process.env.DEPLOYMENT_ENVIRONMENT||"docker-compose",HTTP_LOGGING:Zfs(),ENABLE_AUDIT_LOG_IP_ADDR:process.env.ENABLE_AUDIT_LOG_IP_ADDR,SQL_LOGGING_ENABLE:process.env.SQL_LOGGING_ENABLE,SQL_MAX_ROWS:process.env.SQL_MAX_ROWS,SQL_MAX_RELATED_ROWS:process.env.MAX_RELATED_ROWS,SMTP_FALLBACK_ENABLED:process.env.SMTP_FALLBACK_ENABLED,SMTP_USER:process.env.SMTP_USER,SMTP_PASSWORD:process.env.SMTP_PASSWORD,SMTP_HOST:process.env.SMTP_HOST,SMTP_PORT:parseInt(process.env.SMTP_PORT||""),SMTP_FROM_ADDRESS:process.env.SMTP_FROM_ADDRESS,DISABLE_JWT_WARNING:process.env.DISABLE_JWT_WARNING,BLACKLIST_IPS:process.env.BLACKLIST_IPS,SERVICE_TYPE:"unknown",PASSWORD_MIN_LENGTH:process.env.PASSWORD_MIN_LENGTH,PASSWORD_MAX_LENGTH:process.env.PASSWORD_MAX_LENGTH,ENABLE_SSO_MAINTENANCE_MODE:Eir?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...eps(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,DO[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,OPENAI_API_KEY:process.env.OPENAI_API_KEY,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:Jfs(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC};for(let[t,e]of Object.entries(DO))e==="0"&&(DO[t]=0),e==="false"&&(DO[t]=0);var je=DO;var SK="-";function z3e(){let t=je.REDIS_PASSWORD,e=je.REDIS_USERNAME,r=je.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(z3e,"getRedisConnectionDetails");function Sir(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...Xj(),tls:{}}}}s(Sir,"getRedisClusterOptions");function Xj(){let{host:t,password:e,port:r,username:n}=z3e();return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n}}}s(Xj,"getRedisOptions");function vir(t){let e=t.split(SK);return e.length>=2?(e.shift(),e.join(SK)):e[0]}s(vir,"removeDbPrefix");var Vxn=qe(require("events"));IK();function Y0(){return PB().replace(/-/g,"")}s(Y0,"newid");var yps=require("bcrypt"),NXu=je.SALT_ROUNDS||10;async function $ir(t,e){return yps.compare(t,e)}s($ir,"compare");Ut();var CEa=qe(GVe());var $c={};Is($c,{DEFAULT_TENANT_ID:()=>Tf,baseGlobalDBName:()=>jbe,doInAutomationContext:()=>J$o,doInContext:()=>Alt,doInEnvironmentContext:()=>azo,doInFeatureFlagOverrideContext:()=>Zsn,doInIPContext:()=>Jsn,doInIdentityContext:()=>qfe,doInLicenseContext:()=>Z$o,doInScimContext:()=>czo,doInSelfHostTenantUsingCloud:()=>X$o,doInTenant:()=>kI,doInWorkspaceContext:()=>rzo,doInWorkspaceMigrationContext:()=>izo,ensureSnippetContext:()=>Xsn,getAuditLogDBName:()=>Ysn,getAuditLogsDB:()=>lzo,getAutomationId:()=>ylt,getCurrentContext:()=>kL,getDevWorkspaceDB:()=>fzo,getDevWorkspaceId:()=>szo,getEnvironmentVariables:()=>uzo,getFeatureFlagOverrides:()=>wlt,getFeatureFlags:()=>Slt,getGlobalDB:()=>Fp,getGlobalDBName:()=>dee,getIP:()=>_lt,getIdentity:()=>UO,getLicense:()=>ezo,getPlatformURL:()=>glt,getProdWorkspaceDB:()=>dzo,getProdWorkspaceId:()=>ozo,getScimDBName:()=>z$o,getSelfHostCloudDB:()=>tzo,getTableForView:()=>pzo,getTenantIDFromWorkspaceID:()=>_V,getTenantId:()=>ms,getWorkspaceDB:()=>Elt,getWorkspaceId:()=>Cg,identity:()=>FK,isMultiTenant:()=>OL,isScim:()=>blt,isSelfHostUsingCloud:()=>Hbe,isTenancyEnabled:()=>Y$o,isTenantIdSet:()=>W$o,setFeatureFlags:()=>vlt,setTableForView:()=>hzo});var FK={};Is(FK,{doInAccountContext:()=>v_s,doInIdentityContext:()=>VVe,doInUserContext:()=>wcr,getAccountUserId:()=>Tcr,getIdentity:()=>vcr});Ut();function vcr(){return UO()}s(vcr,"getIdentity");function VVe(t,e){return qfe(t,e)}s(VVe,"doInIdentityContext");function wcr(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return VVe(n,r)}s(wcr,"doInUserContext");function v_s(t,e){let r=Tcr(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return VVe(i,e)}s(v_s,"doInAccountContext");function Tcr(t){let e;return Qje(t)?e=t.budibaseUserId:e=t.accountId,e}s(Tcr,"getAccountUserId");var FO=s(t=>{let e=Ccr(t),r,n;if(e.auth?.username)r=e.auth.username;else if(je.COUCH_DB_USERNAME)r=je.COUCH_DB_USERNAME;else if(!je.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(je.COUCH_DB_PASSWORD)n=je.COUCH_DB_PASSWORD;else if(!je.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=je.COUCH_DB_SQL_URL;if(je.isDev()&&!o)o="http://localhost:4006";else if(!o&&e.url){let a=new URL(e.url);o=e.url.replace(a.port,"4984")}return{url:e.url,sqlUrl:Ccr(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Ccr=s((t=je.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),c=a[0],u=a.slice(1).join("://");if(t.includes("@")){let l=u.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=u;e=`${c}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var $sn=qe(phr());Ut();var hhr=qe(require("node-fetch"));function kpe(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(kpe,"checkSlashesInUrl");async function ize({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,hhr.default)(kpe(encodeURI(t)),i)}s(ize,"directCouchUrlCall");var kCs=qe(require("pouchdb"));var NCs,DCs=!1;var PCs=s(()=>{if(!DCs)throw new Error("init has not been called")},"checkInitialised");function ZO(t,e){PCs();let r=new NCs(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(ZO,"getPouchDB");var Xc=qe(Ov());var lee=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return Xc.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return Xc.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return Xc.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return Xc.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return Xc.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return Xc.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return Xc.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return Xc.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return Xc.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return Xc.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return Xc.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return Xc.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return Xc.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return Xc.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return Xc.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return Xc.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return Xc.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return Xc.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return Xc.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return Xc.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return Xc.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};Ut();var HLl=`${rs}${rs}`;var GLl=encodeURIComponent(" ");function hlt(t,e,r){if(!je.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(hlt,"sqlLog");var Hsn="Database does not exist.";function Gsn(t){return(0,$sn.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(Gsn,"buildNano");var vN=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{s(this,"CouchDBError")}};var Qbe=class t{constructor(e,r,n){this.couchInfo=FO();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=FO(n),this.instanceNano=Gsn(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=FO();t.nano=Gsn(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await ize({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new vN(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===Hsn)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new vN(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new vN(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(u=>n&&u.doc==null||u.value&&"deleted"in u.value&&u.value.deleted?!0:u.error==="not_found","rowUnavailable"),a=i.rows.filter(u=>!o(u)),c=a.length!==i.rows.length;if(!r?.allowMissing&&c){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(u=>n?u.doc:u.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(t6t(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(c=>({...c,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,o="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,o+=a.error);if(i)throw new vN(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=Y0()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===Hsn)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=kpe(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await ize(i),a=await o.text();if(o.status>300){let c;try{c=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new vN("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw c}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${_K}`;return hlt("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(_K)){let e=await this.get(_K);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new vN(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return ZO(this.name).dump(e,r)}async load(e){return ZO(this.name).load(e)}async createIndex(e){return ZO(this.name).createIndex(e)}async deleteIndex(e){return ZO(this.name).deleteIndex(e)}async getIndexes(){return ZO(this.name).getIndexes()}};function _S(t,e){return new lee(new Qbe(t,e))}s(_S,"getDB");function mlt(t){if(!t||t.startsWith(NO))return t;let e=t.split(DB);e.shift();let r=e.join(DB);return`${NO}${r}`}s(mlt,"getDevWorkspaceID");function yV(t){if(!t||!t.startsWith(NO))return t;let e=t.split(NO);e.shift();let r=e.join(NO);return`${DB}${r}`}s(yV,"getProdWorkspaceID");var zsn=require("async_hooks");var ol=class t{static{s(this,"Context")}static{this.storage=new zsn.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var Wsn=null;function dee(t){return t||(t=ms()),jbe(t)}s(dee,"getGlobalDBName");function Ysn(t){return t||(t=ms()),t===Tf?Fb.AUDIT_LOGS.name:`${t}${rs}${Fb.AUDIT_LOGS.name}`}s(Ysn,"getAuditLogDBName");function z$o(t){return t||(t=ms()),t===Tf?Fb.SCIM_LOGS.name:`${t}${rs}${Fb.SCIM_LOGS.name}`}s(z$o,"getScimDBName");function jbe(t){return!t||t===Tf?Fb.GLOBAL.name:`${t}${rs}${Fb.GLOBAL.name}`}s(jbe,"baseGlobalDBName");function glt(){return je.PLATFORM_URL}s(glt,"getPlatformURL");function OL(){return!!je.MULTI_TENANCY}s(OL,"isMultiTenant");function W$o(){return!!ol.get()?.tenantId}s(W$o,"isTenantIdSet");function Y$o(){return je.MULTI_TENANCY}s(Y$o,"isTenancyEnabled");function _V(t){if(!t)return;if(!OL())return Tf;let e=t.split(rs),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(_V,"getTenantIDFromWorkspaceID");function K$o(t){let e;try{e=ol.get()}catch{e={}}return e={...e,...t},e}s(K$o,"updateContext");async function ES(t,e){nzo();let r=K$o(t);return ol.run(r,e)}s(ES,"newContext");async function J$o(t){return await Xsn(),await ES({tenantId:_V(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(J$o,"doInAutomationContext");async function Alt(t,e){let r=_V(t);return ES({tenantId:r,appId:t},e)}s(Alt,"doInContext");async function kI(t,e){return je.MULTI_TENANCY||(t=t||Tf),ES(t?{tenantId:t}:{},e)}s(kI,"doInTenant");async function X$o(t,e){return ES({tenantId:t,isSelfHostUsingCloud:!0},e)}s(X$o,"doInSelfHostTenantUsingCloud");async function Z$o(t,e){return ES({license:t},e)}s(Z$o,"doInLicenseContext");function ezo(){return ol.get()?.license}s(ezo,"getLicense");function Hbe(){return!!ol.get()?.isSelfHostUsingCloud}s(Hbe,"isSelfHostUsingCloud");function tzo(){let t=ol.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return _S(Fb.SELF_HOST_CLOUD.name)}s(tzo,"getSelfHostCloudDB");async function rzo(t,e){return Ksn(t,e)}s(rzo,"doInWorkspaceContext");async function Ksn(t,e,r){if(!t)throw new Error("workspaceId is required");let n=_V(t),i={appId:t,...r};return n&&(i.tenantId=n),ES(i,e)}s(Ksn,"_doInWorkspaceContext");async function qfe(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ES(r,e)}s(qfe,"doInIdentityContext");function nzo(){if(ol.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(nzo,"guardMigration");async function izo(t,e){return Ksn(t,e,{isMigrating:!0})}s(izo,"doInWorkspaceMigrationContext");function UO(){try{return ol.get()?.identity}catch{}}s(UO,"getIdentity");function ms(){if(!OL())return Tf;let e=ol.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(ms,"getTenantId");function ylt(){return ol.get()?.automationId}s(ylt,"getAutomationId");function Cg(){let e=ol.get()?.appId;return!e&&je.isTest()&&Wsn?Wsn:e}s(Cg,"getWorkspaceId");function _lt(){return ol.get()?.ip}s(_lt,"getIP");var szo=s(()=>{let t=Cg();if(!t)throw new Error("Could not get workspaceId");return mlt(t)},"getDevWorkspaceId"),ozo=s(()=>{let t=Cg();if(!t)throw new Error("Could not get workspaceId");return yV(t)},"getProdWorkspaceId");function azo(t,e){if(!t)throw new Error("Must supply environment variables.");return ES({environmentVariables:t},e)}s(azo,"doInEnvironmentContext");function czo(t){return ES({isScim:!0},t)}s(czo,"doInScimContext");function Jsn(t,e){return ES({ip:t},e)}s(Jsn,"doInIPContext");async function Xsn(){let t=kL();if(!t||t.snippets)return;let e,r=Elt();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(Xsn,"ensureSnippetContext");function uzo(){let t=ol.get();return t.environmentVariables?t.environmentVariables:null}s(uzo,"getEnvironmentVariables");function Fp(){let t=ol.get();if(!t||je.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return _S(jbe(t?.tenantId))}s(Fp,"getGlobalDB");function lzo(){if(!ms())throw new Error("No tenant ID found - cannot open audit log DB");return _S(Ysn())}s(lzo,"getAuditLogsDB");function Elt(t){let e=Cg();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(Hbe())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return _S(e,t)}s(Elt,"getWorkspaceDB");function dzo(t){let e=Cg();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return _S(yV(e),t)}s(dzo,"getProdWorkspaceDB");function fzo(t){let e=Cg();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return _S(mlt(e),t)}s(fzo,"getDevWorkspaceDB");function blt(){return!!ol.get()?.isScim}s(blt,"isScim");function kL(){try{return ol.get()}catch{return}}s(kL,"getCurrentContext");function Slt(t){let e=kL();if(e)return e.featureFlagCache?.[t]}s(Slt,"getFeatureFlags");function vlt(t,e){let r=kL();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(vlt,"setFeatureFlags");function wlt(){return kL()?.featureFlagOverrides||{}}s(wlt,"getFeatureFlagOverrides");async function Zsn(t,e){return await ES({featureFlagOverrides:t},e)}s(Zsn,"doInFeatureFlagOverrideContext");function pzo(t){let e=kL();if(e)return e.viewToTableCache?.[t]}s(pzo,"getTableForView");function hzo(t,e){let r=kL();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(hzo,"setTableForView");var Hve=qe(Fan());var jve=qe(Ov()),SEn=qe(Kj());var bEn;if(je.MOCK_REDIS)try{bEn=EEn()}catch{console.log("Mock redis unavailable")}async function oEa(t=0){return await jve.tracer.trace("Redis.init",async e=>{if(je.MOCK_REDIS)return e.addTags({mock:!0}),new bEn(Xj());let r;if(je.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=z3e();r=new Hve.Cluster([{host:n,port:i}],Sir())}else r=new Hve.default(Xj());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(oEa,"init");function aEa(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let c=await e.get(a);return c&&(c=JSON.parse(c)),{key:vir(a),value:c}});r(await Promise.all(o))}catch(o){n(o)}})})}s(aEa,"promisifyStream");function cEa(t){return t.isCluster}s(cEa,"isCluster");var wAt=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await jve.tracer.trace("RedisWrapper.init",async n=>{let i=await oEa(r);return r&&!je.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return jve.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${SK}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${SK}${e}`;let n;cEa(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await aEa(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,SEn.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[c,u])=>(a[this.prefixed(c)]=typeof u=="object"?JSON.stringify(u):u,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e});let i=`
1443
1443
  if redis.call('GET', KEYS[1]) == ARGV[1] then
1444
1444
  redis.call('DEL', KEYS[1])
1445
1445
  end
@@ -1493,7 +1493,7 @@ ${t}
1493
1493
  </style>
1494
1494
  `,a=!1,c,u,l=[];if(i){let f=`${t}.pre-svelte5`;Zi.default.writeFileSync(f,e),Zi.default.writeFileSync(t,o),a=!0,c=e,u=o,l.push(`Updated ${t} to use <svelte:boundary>, $$restProps, and error UI.`)}else l.push(`${t} already looks Svelte 5 compatible (uses <svelte:boundary> with no legacy Boundary.js wrapper).`);let d=_f.default.join(_f.default.dirname(t),"Boundary.js");if(Zi.default.existsSync(d))try{Zi.default.unlinkSync(d),a=!0,l.push("Removed legacy lib/Boundary.js (incompatible with Svelte 5).")}catch(f){console.log("Failed to delete legacy Boundary.js:",f instanceof Error?f.message:f)}return{changed:a,before:c,after:u,message:l.join(" ")}}s(z2u,"migrateWrapper");function W2u(){let t=_f.default.join(process.cwd(),"package.json");if(!Zi.default.existsSync(t))return{changed:!1,message:"package.json not found"};let e=Zi.default.readFileSync(t,"utf8"),r;try{r=JSON.parse(e)}catch(d){return{changed:!1,message:`Invalid package.json: ${d?.message||"parse error"}`}}let n=JSON.stringify(r,null,2),i=typeof r.version=="string"?r.version.trim():void 0,o=Dzi(i);r.dependencies||(r.dependencies={}),r.dependencies.svelte="^5.0.0",r.peerDependencies={...r.peerDependencies||{},svelte:"^5.0.0"};let a=r.devDependencies||{};a.rollup="^4.21.0",a["@rollup/plugin-commonjs"]="^25.0.7",a["@rollup/plugin-node-resolve"]="^15.2.3",a["rollup-plugin-svelte"]="^7.2.3",a["@budibase/backend-core"]&&(a["@budibase/backend-core"]="^2.8.0"),a["npm-run-all"]&&delete a["npm-run-all"],r.devDependencies=a,r.dependencies?.["@crownframework/svelte-error-boundary"]&&delete r.dependencies["@crownframework/svelte-error-boundary"],r.scripts||(r.scripts={}),r.scripts.build="rollup -c rollup.config.mjs",r.scripts.watch="rollup -cw rollup.config.mjs",o&&(r.version=o);let c=JSON.stringify(r,null,2);if(n===c)return{changed:!1,message:"package.json already appears Svelte 5 ready. Skipping."};Zi.default.writeFileSync(`${t}.pre-svelte5`,e),Zi.default.writeFileSync(t,`${c}
1495
1495
  `);let u=i&&o?` (version ${i} -> ${o})`:"",l=o?`Updated package.json for Svelte 5, Rollup 4, scripts, and version bump${u}.`:"Updated package.json for Svelte 5, Rollup 4, and scripts.";return{changed:!0,before:n,after:c,message:l}}s(W2u,"migratePackageJson");function Uzi(){let t=_f.default.join(process.cwd(),".github","workflows");return Zi.default.existsSync(t)?Zi.default.readdirSync(t).filter(r=>r.endsWith(".yml")||r.endsWith(".yaml")).map(r=>_f.default.join(".github","workflows",r)):[]}s(Uzi,"findWorkflowFiles");function Y2u(){let t=Uzi();if(t.length===0)return{changed:!1,message:"No GitHub workflow files found in .github/workflows/ - skipping node version migration."};let e=[],r=!1;for(let n of t){let i=_f.default.join(process.cwd(),n),o=Zi.default.readFileSync(i,"utf8");if(!/node-version:\s*['"]?16['"]?/g.test(o))continue;let c=o.replace(/node-version:\s*['"]?16['"]?/g,"node-version: 18");if(c!==o){let u=`${i}.pre-svelte5`;Zi.default.writeFileSync(u,o),Zi.default.writeFileSync(i,c),r=!0,e.push(`Updated ${n}: node-version 16 -> 18`)}}return r?{changed:!0,message:e.join("; ")}:{changed:!1,message:"No workflow files with node-version: 16 found - skipping node version migration."}}s(Y2u,"migrateNodeVersion");function K2u(){let t=_f.default.join(process.cwd(),"schema.json");if(!Zi.default.existsSync(t))return{changed:!1,message:"schema.json not found - skipping schema metadata migration."};let e=Zi.default.readFileSync(t,"utf8"),r;try{r=JSON.parse(e)}catch(u){return{changed:!1,message:`Invalid schema.json: ${u?.message||"parse error"}`}}let n=r&&typeof r.metadata=="object"&&!Array.isArray(r.metadata)?r.metadata:{};if(!(n?.svelteMajor!==5))return{changed:!1,message:"schema.json metadata already includes svelteMajor: 5. Skipping."};let o=JSON.stringify(r,null,2),a={...n,svelteMajor:5};r.metadata=a;let c=JSON.stringify(r,null,2);return Zi.default.writeFileSync(`${t}.pre-svelte5`,e),Zi.default.writeFileSync(t,`${c}
1496
- `),{changed:!0,before:o,after:c,message:"Updated schema.json metadata to include svelteMajor: 5."}}s(K2u,"migrateSchemaJson");async function Fzi(){let t=[],e=Zi.default.readFileSync("package.json","utf8"),r=JSON.parse(e),n=r?.dependencies?.svelte?.startsWith("^5")||r?.peerDependencies?.svelte?.startsWith("^5"),i=typeof r?.version=="string"?r.version.trim():void 0,o=Dzi(i);n?t.push("package.json appears to already depend on Svelte 5."):t.push("Will bump svelte to ^5.0.0 and align dev/peer dependencies."),r?.dependencies?.["@crownframework/svelte-error-boundary"]&&t.push("Detected @crownframework/svelte-error-boundary; migration will replace it with <svelte:boundary> in lib/Wrapper.svelte."),o&&i&&o!==i&&t.push(`Will bump package.json version from ${i} to ${o}.`);let a=Pzi(),c="unknown";if(a){let A=Zi.default.readFileSync(a,"utf8");Bzi(A)?(c="looks-new",t.push(`Rollup config ${a} already looks Svelte 5-ready.`)):(c="needs-migration",t.push("Will write Rollup 4 / Svelte 5 config and rename to rollup.config.mjs."))}else c="unknown",t.push("No rollup config found - will create rollup.config.mjs.");let u=Lzi(),l="not-found";u?Zi.default.readFileSync(u,"utf8").includes("<svelte:boundary>")?(l="looks-new",t.push(`${u} already uses <svelte:boundary>.`)):(l="needs-migration",t.push(`Will update ${u} to use <svelte:boundary>, $$restProps, and error UI.`)):t.push("No wrapper.svelte found - skipping wrapper migration.");let d="unknown";if(Zi.default.existsSync("schema.json"))try{let A=Zi.default.readFileSync("schema.json","utf8"),y=JSON.parse(A);(y&&typeof y.metadata=="object"&&!Array.isArray(y.metadata)?y.metadata:{}).svelteMajor===5?(d="looks-new",t.push("schema.json metadata already declares svelteMajor: 5.")):(d="needs-migration",t.push("Will update schema.json metadata to set svelteMajor: 5."))}catch(A){d="unknown",t.push(`schema.json could not be parsed - please fix JSON before migration (${A?.message||"parse error"}).`)}else d="not-found",t.push("schema.json not found - cannot update metadata.");let f=n?"looks-new":"needs-migration",p="not-found",h=Uzi();if(h.length>0){let A=!1,y=!1;for(let v of h){let b=_f.default.join(process.cwd(),v),x=Zi.default.readFileSync(b,"utf8");/node-version:\s*['"]?16['"]?/.test(x)&&(A=!0),/node-version:\s*['"]?(18|20|22)['"]?/.test(x)&&(y=!0)}A?(p="needs-migration",t.push("Will update GitHub workflow files: node-version 16 -> 18.")):y?(p="looks-new",t.push("GitHub workflow files already use node-version 18 or higher.")):(p="looks-new",t.push("GitHub workflow files found but no node-version: 16 detected."))}else t.push("No GitHub workflow files found in .github/workflows/ - skipping node version check.");return{report:t,rollup:c,packageJson:f,wrapper:l,schema:d,nodeVersion:p,canBuildAfter:!0,rollupFile:a,wrapperFile:u,pkg:r}}s(Fzi,"analysePluginForSvelte5");async function qzi(){let t=await $2u();if(t.message.includes("Failed to retrieve canonical rollup.config.mjs from skeleton"))return{pkgRes:{changed:!1,message:"Skipped package.json migration due to Rollup template failure."},schemaRes:{changed:!1,message:"Skipped schema.json migration due to Rollup template failure."},rollupRes:t,wrapperRes:{changed:!1,message:"Skipped wrapper migration due to Rollup template failure."},nodeVersionRes:{changed:!1,message:"Skipped node version migration due to Rollup template failure."}};let e=z2u(),r=K2u(),n=W2u(),i=Y2u();return{pkgRes:n,schemaRes:r,rollupRes:t,wrapperRes:e,nodeVersionRes:i}}s(qzi,"runSvelte5Migration");var Qzi=require("child_process");var J2u=require("find-free-port");function X2u(t){let e=[],r=[];for(let n of new Set(t.filter(Boolean)))if(nO.default.existsSync(n))try{nO.default.unlinkSync(n),e.push(n)}catch(i){r.push({path:n,error:i instanceof Error?i.message:String(i)})}return{deleted:e,failed:r}}s(X2u,"cleanupPreSvelte5Backups");function jzi(){if(!nO.default.existsSync("package.json"))throw new Error("Please run in a plugin directory - must contain package.json");if(!nO.default.existsSync("schema.json"))throw new Error("Please run in a plugin directory - must contain schema.json")}s(jzi,"checkInPlugin");async function Z2u(t){return nO.default.readdirSync(process.cwd()).find(r=>r===".git")?!1:(console.log(yi(`By default the plugin will be created in the directory "${t}"`)),console.log(yi("if you are already in an empty directory, such as a new Git repo, you can disable this functionality.")),j0("Create top level directory?"))}s(Z2u,"askAboutTopLevel");async function eQu(t){let e=t.init||t;if(!e||!H6t.includes(e)){console.log(Wo("Please provide a type to init, either 'component', 'datasource' or 'automation'."));return}console.log(yi("Lets get some details about your new plugin:"));let r=await cB("Name",`budibase-${e}`);if(nO.default.existsSync(r)){console.log(Wo("Directory by plugin name already exists, pick a new name."));return}let n=await cB("Description",`An amazing Budibase ${e}!`),i=await cB("Version","1.0.0"),o=await Z2u(r);console.log(yi("Retrieving project...")),await RQe(e,r),await Rzi(e,r,n,i),console.log(yi("Installing dependencies...")),await U9("install",(0,OQe.join)(process.cwd(),r)),o?console.log(yi(`Plugin created in directory "${r}"`)):(Dje(r,process.cwd()),console.log(yi("Plugin created in current directory."))),Qle(cC.PluginInit,{type:e,name:r,description:n,version:i})}s(eQu,"init");async function M$t(){jzi(),console.log(yi("Verifying plugin..."));let t=nO.default.readFileSync("schema.json","utf8"),e=nO.default.readFileSync("package.json","utf8"),r,n;try{let i=JSON.parse(t),o=JSON.parse(e);if(!o.name||!o.version||!o.description)throw new Error("package.json is missing one of 'name', 'version' or 'description'.");return r=o.name,n=o.version,PPe.validate(i),{name:r,version:n}}catch(i){i&&i.message&&i.message.includes("not valid JSON")?console.log(Wo(`schema.json is not valid JSON: ${i.message}`)):console.log(Wo(`Invalid schema/package.json: ${i.message}`))}}s(M$t,"verify");async function tQu(){let t=await M$t();if(!t?.name)return;console.log(ba("Verified!")),console.log(yi("Building plugin...")),await U9("build");let e=(0,OQe.join)("dist",`${t.name}-${t.version}.tar.gz`);console.log(ba(`Build complete - output in: ${e}`))}s(tQu,"build");async function rQu(){let t=await M$t();if(!t?.name)return;let e=(0,OQe.join)("dist",`${t.name}-${t.version}.tar.gz`);console.log(yi(`Watching - build in: ${e}`));try{await U9("watch")}catch{console.log(ba("Watch exited."))}}s(rQu,"watch");async function nQu(){let t=await cB("Directory to watch","./"),[e]=await J2u(1e4),r="admin";await $le({init:"quick",single:!0,watchPluginDir:t,genUser:r,port:e,silent:!0}),await gj(),console.log(ba("Configuration has been written to docker-compose.yaml")),console.log(ba("Development environment started successfully - connect at: ")+yi(`http://localhost:${e}`)),console.log(ba("Use the following credentials to login:")),console.log(ba("Email: ")+yi(Yje)),console.log(ba("Password: ")+yi(r))}s(nQu,"dev");async function iQu(t){jzi();let e=!!t?.yes,r=!!t?.force,n=!1;try{n=!!(0,Qzi.execSync)("git status --porcelain",{encoding:"utf8"}).trim()}catch{}if(n&&!r&&(console.log(yi("Your git working directory is not clean. Commit or stash changes, or re-run with --force.")),!await j0("Proceed with migration anyway?"))){console.log(yi("Migration aborted."));return}console.log(yi("Analyzing plugin for Svelte 5 migration..."));let i=await Fzi();console.log(yi("Proposed changes:"));for(let u of i.report)console.log(yi(" - "+u));let o=["package.json.pre-svelte5","schema.json.pre-svelte5",i.rollupFile?`${i.rollupFile}.pre-svelte5`:void 0,i.wrapperFile?`${i.wrapperFile}.pre-svelte5`:void 0];if(!e&&!await j0("Apply these changes now?")){console.log(yi("Migration aborted by user."));return}console.log(yi("Applying migrations..."));let a=await qzi();if(a.rollupRes?.message?.includes("Failed to retrieve canonical rollup.config.mjs from skeleton")){console.log(Wo(a.rollupRes.message));return}if(a.pkgRes?.message&&console.log(yi(a.pkgRes.message)),a.schemaRes?.message&&console.log(yi(a.schemaRes.message)),a.rollupRes?.message&&console.log(yi(a.rollupRes.message)),a.wrapperRes?.message&&console.log(yi(a.wrapperRes.message)),console.log(yi("Installing updated dependencies...")),await U9("install"),console.log(yi("Re-verifying plugin...")),!(await M$t())?.name){console.log(Wo("Verification failed after migration."));return}console.log(yi("Attempting build..."));try{await U9("build");let u=X2u(o.filter(l=>!!l));console.log(ba("Migration completed. Your plugin was migrated to Svelte 5 and built successfully.")),u.deleted.length&&console.log(yi(`Removed ${u.deleted.length} pre-svelte5 backup file(s): ${u.deleted.join(", ")}`)),u.failed.length&&console.log(yi(`Failed to remove ${u.failed.length} pre-svelte5 backup file(s): ${u.failed.map(l=>`${l.path} (${l.error})`).join(", ")}`))}catch(u){console.log(Wo(`Build failed after migration. Please review the errors above. ${u?.message||""}`))}}s(iQu,"migrateSvelte5");var Hzi=new Q0("plugins").addHelp("Custom plugins for Budibase, init, build and verify your components and datasources with this tool.").addSubOption("--init [type]","Init a new plugin project, with a type of either component or datasource.",eQu).addSubOption("--build","Build your plugin, this will verify and produce a final tarball for your project.",tQu).addSubOption("--watch","Automatically build any changes to your plugin.",rQu).addSubOption("--dev","Run a development environment which automatically watches the current directory.",nQu).addSubOption("--migrate-svelte5","Migrate this plugin to the Svelte 5-compatible Budibase plugin format.",iQu,[{command:"--yes",help:"Skip confirmation prompts during migration."},{command:"--force",help:"Proceed even if the git working directory is not clean (creates .pre-svelte5 backups during migration, removed on success)."}]);function Gzi(){return[iKt,D5t,sHi,Hzi]}s(Gzi,"getCommands");var $zi=require("commander");wd();var Vzi="3.24.5";async function oQu(){let t=new $zi.Command().addHelpCommand("help",t5("Help with Budibase commands.")).helpOption(!1).version(Vzi);for(let e of Gzi())e.configure(t);await t.parseAsync(process.argv)}s(oQu,"init");var aQu=["exit","SIGINT","SIGUSR1","SIGUSR2","uncaughtException"];aQu.forEach(t=>{process.on(t,e=>{e&&!isNaN(e)||e&&(console.error(Wo("Failed to run CLI command - please report with the following message:")),console.error(Wo(e)))})});oQu().catch(t=>{console.error("Unexpected error - ",t)});
1496
+ `),{changed:!0,before:o,after:c,message:"Updated schema.json metadata to include svelteMajor: 5."}}s(K2u,"migrateSchemaJson");async function Fzi(){let t=[],e=Zi.default.readFileSync("package.json","utf8"),r=JSON.parse(e),n=r?.dependencies?.svelte?.startsWith("^5")||r?.peerDependencies?.svelte?.startsWith("^5"),i=typeof r?.version=="string"?r.version.trim():void 0,o=Dzi(i);n?t.push("package.json appears to already depend on Svelte 5."):t.push("Will bump svelte to ^5.0.0 and align dev/peer dependencies."),r?.dependencies?.["@crownframework/svelte-error-boundary"]&&t.push("Detected @crownframework/svelte-error-boundary; migration will replace it with <svelte:boundary> in lib/Wrapper.svelte."),o&&i&&o!==i&&t.push(`Will bump package.json version from ${i} to ${o}.`);let a=Pzi(),c="unknown";if(a){let A=Zi.default.readFileSync(a,"utf8");Bzi(A)?(c="looks-new",t.push(`Rollup config ${a} already looks Svelte 5-ready.`)):(c="needs-migration",t.push("Will write Rollup 4 / Svelte 5 config and rename to rollup.config.mjs."))}else c="unknown",t.push("No rollup config found - will create rollup.config.mjs.");let u=Lzi(),l="not-found";u?Zi.default.readFileSync(u,"utf8").includes("<svelte:boundary>")?(l="looks-new",t.push(`${u} already uses <svelte:boundary>.`)):(l="needs-migration",t.push(`Will update ${u} to use <svelte:boundary>, $$restProps, and error UI.`)):t.push("No wrapper.svelte found - skipping wrapper migration.");let d="unknown";if(Zi.default.existsSync("schema.json"))try{let A=Zi.default.readFileSync("schema.json","utf8"),y=JSON.parse(A);(y&&typeof y.metadata=="object"&&!Array.isArray(y.metadata)?y.metadata:{}).svelteMajor===5?(d="looks-new",t.push("schema.json metadata already declares svelteMajor: 5.")):(d="needs-migration",t.push("Will update schema.json metadata to set svelteMajor: 5."))}catch(A){d="unknown",t.push(`schema.json could not be parsed - please fix JSON before migration (${A?.message||"parse error"}).`)}else d="not-found",t.push("schema.json not found - cannot update metadata.");let f=n?"looks-new":"needs-migration",p="not-found",h=Uzi();if(h.length>0){let A=!1,y=!1;for(let v of h){let b=_f.default.join(process.cwd(),v),x=Zi.default.readFileSync(b,"utf8");/node-version:\s*['"]?16['"]?/.test(x)&&(A=!0),/node-version:\s*['"]?(18|20|22)['"]?/.test(x)&&(y=!0)}A?(p="needs-migration",t.push("Will update GitHub workflow files: node-version 16 -> 18.")):y?(p="looks-new",t.push("GitHub workflow files already use node-version 18 or higher.")):(p="looks-new",t.push("GitHub workflow files found but no node-version: 16 detected."))}else t.push("No GitHub workflow files found in .github/workflows/ - skipping node version check.");return{report:t,rollup:c,packageJson:f,wrapper:l,schema:d,nodeVersion:p,canBuildAfter:!0,rollupFile:a,wrapperFile:u,pkg:r}}s(Fzi,"analysePluginForSvelte5");async function qzi(){let t=await $2u();if(t.message.includes("Failed to retrieve canonical rollup.config.mjs from skeleton"))return{pkgRes:{changed:!1,message:"Skipped package.json migration due to Rollup template failure."},schemaRes:{changed:!1,message:"Skipped schema.json migration due to Rollup template failure."},rollupRes:t,wrapperRes:{changed:!1,message:"Skipped wrapper migration due to Rollup template failure."},nodeVersionRes:{changed:!1,message:"Skipped node version migration due to Rollup template failure."}};let e=z2u(),r=K2u(),n=W2u(),i=Y2u();return{pkgRes:n,schemaRes:r,rollupRes:t,wrapperRes:e,nodeVersionRes:i}}s(qzi,"runSvelte5Migration");var Qzi=require("child_process");var J2u=require("find-free-port");function X2u(t){let e=[],r=[];for(let n of new Set(t.filter(Boolean)))if(nO.default.existsSync(n))try{nO.default.unlinkSync(n),e.push(n)}catch(i){r.push({path:n,error:i instanceof Error?i.message:String(i)})}return{deleted:e,failed:r}}s(X2u,"cleanupPreSvelte5Backups");function jzi(){if(!nO.default.existsSync("package.json"))throw new Error("Please run in a plugin directory - must contain package.json");if(!nO.default.existsSync("schema.json"))throw new Error("Please run in a plugin directory - must contain schema.json")}s(jzi,"checkInPlugin");async function Z2u(t){return nO.default.readdirSync(process.cwd()).find(r=>r===".git")?!1:(console.log(yi(`By default the plugin will be created in the directory "${t}"`)),console.log(yi("if you are already in an empty directory, such as a new Git repo, you can disable this functionality.")),j0("Create top level directory?"))}s(Z2u,"askAboutTopLevel");async function eQu(t){let e=t.init||t;if(!e||!H6t.includes(e)){console.log(Wo("Please provide a type to init, either 'component', 'datasource' or 'automation'."));return}console.log(yi("Lets get some details about your new plugin:"));let r=await cB("Name",`budibase-${e}`);if(nO.default.existsSync(r)){console.log(Wo("Directory by plugin name already exists, pick a new name."));return}let n=await cB("Description",`An amazing Budibase ${e}!`),i=await cB("Version","1.0.0"),o=await Z2u(r);console.log(yi("Retrieving project...")),await RQe(e,r),await Rzi(e,r,n,i),console.log(yi("Installing dependencies...")),await U9("install",(0,OQe.join)(process.cwd(),r)),o?console.log(yi(`Plugin created in directory "${r}"`)):(Dje(r,process.cwd()),console.log(yi("Plugin created in current directory."))),Qle(cC.PluginInit,{type:e,name:r,description:n,version:i})}s(eQu,"init");async function M$t(){jzi(),console.log(yi("Verifying plugin..."));let t=nO.default.readFileSync("schema.json","utf8"),e=nO.default.readFileSync("package.json","utf8"),r,n;try{let i=JSON.parse(t),o=JSON.parse(e);if(!o.name||!o.version||!o.description)throw new Error("package.json is missing one of 'name', 'version' or 'description'.");return r=o.name,n=o.version,PPe.validate(i),{name:r,version:n}}catch(i){i&&i.message&&i.message.includes("not valid JSON")?console.log(Wo(`schema.json is not valid JSON: ${i.message}`)):console.log(Wo(`Invalid schema/package.json: ${i.message}`))}}s(M$t,"verify");async function tQu(){let t=await M$t();if(!t?.name)return;console.log(ba("Verified!")),console.log(yi("Building plugin...")),await U9("build");let e=(0,OQe.join)("dist",`${t.name}-${t.version}.tar.gz`);console.log(ba(`Build complete - output in: ${e}`))}s(tQu,"build");async function rQu(){let t=await M$t();if(!t?.name)return;let e=(0,OQe.join)("dist",`${t.name}-${t.version}.tar.gz`);console.log(yi(`Watching - build in: ${e}`));try{await U9("watch")}catch{console.log(ba("Watch exited."))}}s(rQu,"watch");async function nQu(){let t=await cB("Directory to watch","./"),[e]=await J2u(1e4),r="admin";await $le({init:"quick",single:!0,watchPluginDir:t,genUser:r,port:e,silent:!0}),await gj(),console.log(ba("Configuration has been written to docker-compose.yaml")),console.log(ba("Development environment started successfully - connect at: ")+yi(`http://localhost:${e}`)),console.log(ba("Use the following credentials to login:")),console.log(ba("Email: ")+yi(Yje)),console.log(ba("Password: ")+yi(r))}s(nQu,"dev");async function iQu(t){jzi();let e=!!t?.yes,r=!!t?.force,n=!1;try{n=!!(0,Qzi.execSync)("git status --porcelain",{encoding:"utf8"}).trim()}catch{}if(n&&!r&&(console.log(yi("Your git working directory is not clean. Commit or stash changes, or re-run with --force.")),!await j0("Proceed with migration anyway?"))){console.log(yi("Migration aborted."));return}console.log(yi("Analyzing plugin for Svelte 5 migration..."));let i=await Fzi();console.log(yi("Proposed changes:"));for(let u of i.report)console.log(yi(" - "+u));let o=["package.json.pre-svelte5","schema.json.pre-svelte5",i.rollupFile?`${i.rollupFile}.pre-svelte5`:void 0,i.wrapperFile?`${i.wrapperFile}.pre-svelte5`:void 0];if(!e&&!await j0("Apply these changes now?")){console.log(yi("Migration aborted by user."));return}console.log(yi("Applying migrations..."));let a=await qzi();if(a.rollupRes?.message?.includes("Failed to retrieve canonical rollup.config.mjs from skeleton")){console.log(Wo(a.rollupRes.message));return}if(a.pkgRes?.message&&console.log(yi(a.pkgRes.message)),a.schemaRes?.message&&console.log(yi(a.schemaRes.message)),a.rollupRes?.message&&console.log(yi(a.rollupRes.message)),a.wrapperRes?.message&&console.log(yi(a.wrapperRes.message)),console.log(yi("Installing updated dependencies...")),await U9("install"),console.log(yi("Re-verifying plugin...")),!(await M$t())?.name){console.log(Wo("Verification failed after migration."));return}console.log(yi("Attempting build..."));try{await U9("build");let u=X2u(o.filter(l=>!!l));console.log(ba("Migration completed. Your plugin was migrated to Svelte 5 and built successfully.")),u.deleted.length&&console.log(yi(`Removed ${u.deleted.length} pre-svelte5 backup file(s): ${u.deleted.join(", ")}`)),u.failed.length&&console.log(yi(`Failed to remove ${u.failed.length} pre-svelte5 backup file(s): ${u.failed.map(l=>`${l.path} (${l.error})`).join(", ")}`))}catch(u){console.log(Wo(`Build failed after migration. Please review the errors above. ${u?.message||""}`))}}s(iQu,"migrateSvelte5");var Hzi=new Q0("plugins").addHelp("Custom plugins for Budibase, init, build and verify your components and datasources with this tool.").addSubOption("--init [type]","Init a new plugin project, with a type of either component or datasource.",eQu).addSubOption("--build","Build your plugin, this will verify and produce a final tarball for your project.",tQu).addSubOption("--watch","Automatically build any changes to your plugin.",rQu).addSubOption("--dev","Run a development environment which automatically watches the current directory.",nQu).addSubOption("--migrate-svelte5","Migrate this plugin to the Svelte 5-compatible Budibase plugin format.",iQu,[{command:"--yes",help:"Skip confirmation prompts during migration."},{command:"--force",help:"Proceed even if the git working directory is not clean (creates .pre-svelte5 backups during migration, removed on success)."}]);function Gzi(){return[iKt,D5t,sHi,Hzi]}s(Gzi,"getCommands");var $zi=require("commander");wd();var Vzi="3.24.6";async function oQu(){let t=new $zi.Command().addHelpCommand("help",t5("Help with Budibase commands.")).helpOption(!1).version(Vzi);for(let e of Gzi())e.configure(t);await t.parseAsync(process.argv)}s(oQu,"init");var aQu=["exit","SIGINT","SIGUSR1","SIGUSR2","uncaughtException"];aQu.forEach(t=>{process.on(t,e=>{e&&!isNaN(e)||e&&(console.error(Wo("Failed to run CLI command - please report with the following message:")),console.error(Wo(e)))})});oQu().catch(t=>{console.error("Unexpected error - ",t)});
1497
1497
  /*! Bundled license information:
1498
1498
 
1499
1499
  lodash/lodash.js: