@budibase/cli 3.20.7 → 3.20.8
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 +2 -2
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1364,7 +1364,7 @@ $1`)};$ce.parseAttributes=s(function(t){return Object.keys(t).map(function(r){va
|
|
|
1364
1364
|
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.
|
|
1365
1365
|
|
|
1366
1366
|
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.`;aji.exports=jxu});var A6t=y((uji,lji)=>{"use strict";var ip=Kp(),xj=jce(),rs=lji.exports,$xu=cji();rs.append=function(e,t){return typeof e=="string"&&typeof t=="string"?e+t:e};rs.camelcase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return t.toUpperCase()})};rs.capitalize=function(e){return typeof e!="string"?"":e.charAt(0).toUpperCase()+e.slice(1)};rs.capitalizeAll=function(e){if(typeof e!="string")return"";if(ip.isString(e))return e.replace(/\w\S*/g,function(t){return rs.capitalize(t)})};rs.center=function(e,t){if(typeof e!="string")return"";for(var r="",n=0;n<t;)r+=" ",n++;return r+e+r};rs.chop=function(e){return typeof e!="string"?"":xj.chop(e)};rs.dashcase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return"-"+t})};rs.dotcase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return"."+t})};rs.downcase=function(){return rs.lowercase.apply(this,arguments)};rs.ellipsis=function(e,t){if(ip.isString(e))return e.length<=t?e:rs.truncate(e,t)+"\u2026"};rs.hyphenate=function(e){return typeof e!="string"?"":e.split(" ").join("-")};rs.isString=function(e){return typeof e=="string"};rs.lowercase=function(e){return ip.isObject(e)&&e.fn?e.fn(this).toLowerCase():typeof e!="string"?"":e.toLowerCase()};rs.occurrences=function(e,t){if(typeof e!="string")return"";for(var r=t.length,n=0,i=0;(n=e.indexOf(t,n))>-1;)i++,n+=r;return i};rs.pascalcase=function(e){return typeof e!="string"?"":(e=xj.changecase(e,function(t){return t.toUpperCase()}),e.charAt(0).toUpperCase()+e.slice(1))};rs.pathcase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return"/"+t})};rs.plusify=function(e,t){return typeof e!="string"?"":(ip.isString(t)||(t=" "),e.split(t).join("+"))};rs.prepend=function(e,t){return typeof e=="string"&&typeof t=="string"?t+e:e};rs.raw=function(e){var t=e.fn(),r=ip.options(this,e);if(r.escape!==!1)for(var n=0;(n=t.indexOf("{{",n))!==-1;)t[n-1]!=="\\"&&(t=t.slice(0,n)+"\\"+t.slice(n)),n+=3;return t};rs.remove=function(e,t){return typeof e!="string"?"":ip.isString(t)?e.split(t).join(""):e};rs.removeFirst=function(e,t){return typeof e!="string"?"":ip.isString(t)?e.replace(t,""):e};rs.replace=function(e,t,r){return typeof e!="string"?"":ip.isString(t)?(ip.isString(r)||(r=""),e.split(t).join(r)):e};rs.replaceFirst=function(e,t,r){return typeof e!="string"?"":ip.isString(t)?(ip.isString(r)||(r=""),e.replace(t,r)):e};rs.reverse=KW().reverse;rs.sentence=function(e){return typeof e!="string"?"":e.replace(/((?:\S[^\.\?\!]*)[\.\?\!]*)/g,function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()})};rs.snakecase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return"_"+t})};rs.split=function(e,t){return typeof e!="string"?"":(ip.isString(t)||(t=","),e.split(t))};rs.startsWith=function(e,t,r){var n=[].slice.call(arguments);return r=n.pop(),ip.isString(t)&&t.indexOf(e)===0?r.fn(this):typeof r.inverse=="function"?r.inverse(this):""};rs.titleize=function(e){if(typeof e!="string")return"";for(var t=e.replace(/[- _]+/g," "),r=t.split(" "),n=r.length,i=[],o=0;n--;){var a=r[o++];i.push(uji.capitalize(a))}return i.join(" ")};rs.trim=function(e){return typeof e=="string"?e.trim():""};rs.trimLeft=function(e){if(ip.isString(e))return e.replace(/^\s+/,"")};rs.trimRight=function(e){if(ip.isString(e))return e.replace(/\s+$/,"")};rs.truncate=function(e,t,r){if(ip.isString(e))return typeof r!="string"&&(r=""),e.length>t?e.slice(0,t-r.length)+r:e};rs.truncateWords=function(e,t,r){if(ip.isString(e)&&!isNaN(t)){typeof r!="string"&&(r="\u2026");var n=Number(t),i=e.split(/[ \t]/);if(n>=i.length)return e;i=i.slice(0,n);var o=i.join(" ").trim();return o+r}};rs.upcase=function(){return rs.uppercase.apply(this,arguments)};rs.uppercase=function(e){return ip.isObject(e)&&e.fn?e.fn(this).toUpperCase():typeof e!="string"?"":e.toUpperCase()};rs.lorem=function(e){return(isNaN(e)||e<1||!e)&&(e=11),$xu.substring(0,e)}});var C6t=y((nBf,fji)=>{"use strict";var x6t=require("url"),Kce=Kp(),Hxu=require("querystring"),Cj=fji.exports;Cj.encodeURI=function(e){if(Kce.isString(e))return encodeURIComponent(e)};Cj.escape=function(e){if(Kce.isString(e))return Hxu.escape(e)};Cj.decodeURI=function(e){if(Kce.isString(e))return decodeURIComponent(e)};Cj.urlResolve=function(e,t){return x6t.resolve(e,t)};Cj.urlParse=function(e){return x6t.parse(e)};Cj.stripQuerystring=function(e){if(Kce.isString(e))return e.split("?")[0]};Cj.stripProtocol=function(e){if(Kce.isString(e)){var t=x6t.parse(e);return t.protocol="",t.format()}}});function Yce(){return GUe>zUe.length-16&&(dji.default.randomFillSync(zUe),GUe=0),zUe.slice(GUe,GUe+=16)}var dji,zUe,GUe,O6t=ue(()=>{"use strict";dji=at(require("crypto")),zUe=new Uint8Array(256),GUe=zUe.length;s(Yce,"rng")});var pji,hji=ue(()=>{"use strict";pji=/^(?:[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 Gxu(e){return typeof e=="string"&&pji.test(e)}var LD,Qce=ue(()=>{"use strict";hji();s(Gxu,"validate");LD=Gxu});function Oj(e,t=0){return Qp[e[t+0]]+Qp[e[t+1]]+Qp[e[t+2]]+Qp[e[t+3]]+"-"+Qp[e[t+4]]+Qp[e[t+5]]+"-"+Qp[e[t+6]]+Qp[e[t+7]]+"-"+Qp[e[t+8]]+Qp[e[t+9]]+"-"+Qp[e[t+10]]+Qp[e[t+11]]+Qp[e[t+12]]+Qp[e[t+13]]+Qp[e[t+14]]+Qp[e[t+15]]}function zxu(e,t=0){let r=Oj(e,t);if(!LD(r))throw TypeError("Stringified UUID is invalid");return r}var Qp,mji,Xce=ue(()=>{"use strict";Qce();Qp=[];for(let e=0;e<256;++e)Qp.push((e+256).toString(16).slice(1));s(Oj,"unsafeStringify");s(zxu,"stringify");mji=zxu});function Vxu(e,t,r){let n=t&&r||0,i=t||new Array(16);e=e||{};let o=e.node||gji,a=e.clockseq!==void 0?e.clockseq:R6t;if(o==null||a==null){let p=e.random||(e.rng||Yce)();o==null&&(o=gji=[p[0]|1,p[1],p[2],p[3],p[4],p[5]]),a==null&&(a=R6t=(p[6]<<8|p[7])&16383)}let c=e.msecs!==void 0?e.msecs:Date.now(),u=e.nsecs!==void 0?e.nsecs:k6t+1,l=c-I6t+(u-k6t)/1e4;if(l<0&&e.clockseq===void 0&&(a=a+1&16383),(l<0||c>I6t)&&e.nsecs===void 0&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");I6t=c,k6t=u,R6t=a,c+=122192928e5;let f=((c&268435455)*1e4+u)%4294967296;i[n++]=f>>>24&255,i[n++]=f>>>16&255,i[n++]=f>>>8&255,i[n++]=f&255;let d=c/4294967296*1e4&268435455;i[n++]=d>>>8&255,i[n++]=d&255,i[n++]=d>>>24&15|16,i[n++]=d>>>16&255,i[n++]=a>>>8|128,i[n++]=a&255;for(let p=0;p<6;++p)i[n+p]=o[p];return t||Oj(i)}var gji,R6t,I6t,k6t,_ji,yji=ue(()=>{"use strict";O6t();Xce();I6t=0,k6t=0;s(Vxu,"v1");_ji=Vxu});function Wxu(e){if(!LD(e))throw TypeError("Invalid UUID");let t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=t&255,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=t&255,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=t&255,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=t&255,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=t&255,r}var VUe,N6t=ue(()=>{"use strict";Qce();s(Wxu,"parse");VUe=Wxu});function Kxu(e){e=unescape(encodeURIComponent(e));let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}function Jce(e,t,r){function n(i,o,a,c){var u;if(typeof i=="string"&&(i=Kxu(i)),typeof o=="string"&&(o=VUe(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|t,l[8]=l[8]&63|128,a){c=c||0;for(let f=0;f<16;++f)a[c+f]=l[f];return a}return Oj(l)}s(n,"generateUUID");try{n.name=e}catch{}return n.DNS=Yxu,n.URL=Qxu,n}var Yxu,Qxu,P6t=ue(()=>{"use strict";Xce();N6t();s(Kxu,"stringToBytes");Yxu="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Qxu="6ba7b811-9dad-11d1-80b4-00c04fd430c8";s(Jce,"v35")});function Xxu(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),bji.default.createHash("md5").update(e).digest()}var bji,Eji,vji=ue(()=>{"use strict";bji=at(require("crypto"));s(Xxu,"md5");Eji=Xxu});var Jxu,Sji,wji=ue(()=>{"use strict";P6t();vji();Jxu=Jce("v3",48,Eji),Sji=Jxu});var Tji,D6t,Aji=ue(()=>{"use strict";Tji=at(require("crypto")),D6t={randomUUID:Tji.default.randomUUID}});function Zxu(e,t,r){if(D6t.randomUUID&&!t&&!e)return D6t.randomUUID();e=e||{};let n=e.random||(e.rng||Yce)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Oj(n)}var xji,Cji=ue(()=>{"use strict";Aji();O6t();Xce();s(Zxu,"v4");xji=Zxu});function eCu(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),Oji.default.createHash("sha1").update(e).digest()}var Oji,Rji,Iji=ue(()=>{"use strict";Oji=at(require("crypto"));s(eCu,"sha1");Rji=eCu});var tCu,kji,Nji=ue(()=>{"use strict";P6t();Iji();tCu=Jce("v5",80,Rji),kji=tCu});var Pji,Dji=ue(()=>{"use strict";Pji="00000000-0000-0000-0000-000000000000"});function rCu(e){if(!LD(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}var Mji,Lji=ue(()=>{"use strict";Qce();s(rCu,"version");Mji=rCu});var qji={};Co(qji,{NIL:()=>Pji,parse:()=>VUe,stringify:()=>mji,v1:()=>_ji,v3:()=>Sji,v4:()=>xji,v5:()=>kji,validate:()=>LD,version:()=>Mji});var Bji=ue(()=>{"use strict";yji();wji();Cji();Nji();Dji();Lji();Qce();Xce();N6t()});var M6t=y((ZBf,Uji)=>{"use strict";var nCu=(Bji(),Er(qji)),iCu=Uji.exports;iCu.uuid=function(){return nCu.v4()}});var jji=y((eUf,Fji)=>{"use strict";Fji.exports={array:KW(),code:zBi(),collection:oUi(),comparison:r6t(),html:AUi(),i18n:CUi(),inflection:IUi(),match:$Fi(),math:S6t(),misc:zFi(),number:w6t(),object:NUe(),path:iji(),regex:T6t(),string:A6t(),url:C6t(),uuid:M6t()}});var $ji=y((tUf,JW)=>{"use strict";var Zce=jji();JW.exports=s(function(t,r){typeof t=="string"?t=[t]:Array.isArray(t)||(r=t,t=null),r=r||{};var n=r.handlebars||r.hbs||qce();if(JW.exports.handlebars=n,t)t.forEach(function(i){n.registerHelper(Zce[i])});else for(let i in Zce){let o=Zce[i];n.registerHelper(o)}return n.helpers},"helpers");for(let e in Zce){let t=Zce[e];JW.exports[e]=function(r){r=r||{};var n=r.handlebars||r.hbs||qce();return JW.exports.handlebars=n,n.registerHelper(t),t}}JW.exports.utils=jce()});var Hji=y((L6t,q6t)=>{"use strict";(function(e,t){typeof L6t=="object"&&typeof q6t<"u"?q6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_duration=t()})(L6t,function(){"use strict";var e,t,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)?)?$/,f={years:c,months:u,days:o,hours:i,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},d=s(function(N){return N instanceof C},"c"),p=s(function(N,A,L){return new C(N,L,A.$l)},"f"),h=s(function(N){return t.p(N)+"s"},"m"),g=s(function(N){return N<0},"l"),b=s(function(N){return g(N)?Math.ceil(N):Math.floor(N)},"$"),v=s(function(N){return Math.abs(N)},"y"),S=s(function(N,A){return N?g(N)?{negative:!0,format:""+v(N)+A}:{negative:!1,format:""+N+A}:{negative:!1,format:""}},"v"),C=function(){function N(L,$,U){var G=this;if(this.$d={},this.$l=U,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),$)return p(L*f[h($)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach(function(me){G.$d[h(me)]=L[me]}),this.calMilliseconds(),this;if(typeof L=="string"){var Z=L.match(l);if(Z){var re=Z.slice(2).map(function(me){return me!=null?Number(me):0});return this.$d.years=re[0],this.$d.months=re[1],this.$d.weeks=re[2],this.$d.days=re[3],this.$d.hours=re[4],this.$d.minutes=re[5],this.$d.seconds=re[6],this.calMilliseconds(),this}}return this}s(N,"l");var A=N.prototype;return A.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce(function($,U){return $+(L.$d[U]||0)*f[U]},0)},A.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=b(L/c),L%=c,this.$d.months=b(L/u),L%=u,this.$d.days=b(L/o),L%=o,this.$d.hours=b(L/i),L%=i,this.$d.minutes=b(L/n),L%=n,this.$d.seconds=b(L/r),L%=r,this.$d.milliseconds=L},A.toISOString=function(){var L=S(this.$d.years,"Y"),$=S(this.$d.months,"M"),U=+this.$d.days||0;this.$d.weeks&&(U+=7*this.$d.weeks);var G=S(U,"D"),Z=S(this.$d.hours,"H"),re=S(this.$d.minutes,"M"),me=this.$d.seconds||0;this.$d.milliseconds&&(me+=this.$d.milliseconds/1e3,me=Math.round(1e3*me)/1e3);var B=S(me,"S"),le=L.negative||$.negative||G.negative||Z.negative||re.negative||B.negative,J=Z.format||re.format||B.format?"T":"",F=(le?"-":"")+"P"+L.format+$.format+G.format+J+Z.format+re.format+B.format;return F==="P"||F==="-P"?"P0D":F},A.toJSON=function(){return this.toISOString()},A.format=function(L){var $=L||"YYYY-MM-DDTHH:mm:ss",U={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return $.replace(a,function(G,Z){return Z||String(U[G])})},A.as=function(L){return this.$ms/f[h(L)]},A.get=function(L){var $=this.$ms,U=h(L);return U==="milliseconds"?$%=1e3:$=U==="weeks"?b($/f[U]):this.$d[U],$||0},A.add=function(L,$,U){var G;return G=$?L*f[h($)]:d(L)?L.$ms:p(L,this).$ms,p(this.$ms+G*(U?-1:1),this)},A.subtract=function(L,$){return this.add(L,$,!0)},A.locale=function(L){var $=this.clone();return $.$l=L,$},A.clone=function(){return p(this.$ms,this)},A.humanize=function(L){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},A.valueOf=function(){return this.asMilliseconds()},A.milliseconds=function(){return this.get("milliseconds")},A.asMilliseconds=function(){return this.as("milliseconds")},A.seconds=function(){return this.get("seconds")},A.asSeconds=function(){return this.as("seconds")},A.minutes=function(){return this.get("minutes")},A.asMinutes=function(){return this.as("minutes")},A.hours=function(){return this.get("hours")},A.asHours=function(){return this.as("hours")},A.days=function(){return this.get("days")},A.asDays=function(){return this.as("days")},A.weeks=function(){return this.get("weeks")},A.asWeeks=function(){return this.as("weeks")},A.months=function(){return this.get("months")},A.asMonths=function(){return this.as("months")},A.years=function(){return this.get("years")},A.asYears=function(){return this.as("years")},N}(),R=s(function(N,A,L){return N.add(A.years()*L,"y").add(A.months()*L,"M").add(A.days()*L,"d").add(A.hours()*L,"h").add(A.minutes()*L,"m").add(A.seconds()*L,"s").add(A.milliseconds()*L,"ms")},"p");return function(N,A,L){e=L,t=L().$utils(),L.duration=function(G,Z){var re=L.locale();return p(G,{$l:re},Z)},L.isDuration=d;var $=A.prototype.add,U=A.prototype.subtract;A.prototype.add=function(G,Z){return d(G)?R(this,G,1):$.bind(this)(G,Z)},A.prototype.subtract=function(G,Z){return d(G)?R(this,G,-1):U.bind(this)(G,Z)}}})});var Gji=y((B6t,U6t)=>{"use strict";(function(e,t){typeof B6t=="object"&&typeof U6t<"u"?U6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_advancedFormat=t()})(B6t,function(){"use strict";return function(e,t){var r=t.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 zji=y((F6t,j6t)=>{"use strict";(function(e,t){typeof F6t=="object"&&typeof j6t<"u"?j6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_isoWeek=t()})(F6t,function(){"use strict";var e="day";return function(t,r,n){var i=s(function(c){return c.add(4-c.isoWeekday(),e)},"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()),e);var u,l,f,d,p=i(this),h=(u=this.isoWeekYear(),l=this.$u,f=(l?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,e));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(),f=!!l.u(u)||u;return l.p(c)==="isoweek"?f?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 Vji=y(($6t,H6t)=>{"use strict";(function(e,t){typeof $6t=="object"&&typeof H6t<"u"?H6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_weekYear=t()})($6t,function(){"use strict";return function(e,t){t.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 Wji=y((G6t,z6t)=>{"use strict";(function(e,t){typeof G6t=="object"&&typeof z6t<"u"?z6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_weekOfYear=t()})(G6t,function(){"use strict";var e="week",t="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(t).add(1,t).date(c),l=i(this).endOf(e);if(u.isBefore(l))return 1}var f=i(this).startOf(t).date(c).startOf(e).subtract(1,"millisecond"),d=this.diff(f,e,!0);return d<0?i(this).startOf("week").week():Math.ceil(d)},o.weeks=function(a){return a===void 0&&(a=null),this.week(a)}}})});var Kji=y((V6t,W6t)=>{"use strict";(function(e,t){typeof V6t=="object"&&typeof W6t<"u"?W6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_relativeTime=t()})(V6t,function(){"use strict";return function(e,t,r){e=e||{};var n=t.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,f){return n.fromToBase(c,u,l,f)}s(o,"i"),r.en.relativeTime=i,n.fromToBase=function(c,u,l,f,d){for(var p,h,g,b=l.$locale().relativeTime||i,v=e.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"}],S=v.length,C=0;C<S;C+=1){var R=v[C];R.d&&(p=f?r(c).diff(l,R.d,!0):l.diff(c,R.d,!0));var N=(e.rounding||Math.round)(Math.abs(p));if(g=p>0,N<=R.r||!R.r){N<=1&&C>0&&(R=v[C-1]);var A=b[R.l];d&&(N=d(""+N)),h=typeof A=="string"?A.replace("%d",N):A(N,u,R.l,g);break}}if(u)return h;var L=g?b.future:b.past;return typeof L=="function"?L(h):L.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 Yji=y((K6t,Y6t)=>{"use strict";(function(e,t){typeof K6t=="object"&&typeof Y6t<"u"?Y6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_utc=t()})(K6t,function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(n,i,o){var a=i.prototype;o.utc=function(h){var g={date:h,utc:!0,args:arguments};return new i(g)},a.utc=function(h){var g=o(this.toDate(),{locale:this.$L,utc:!0});return h?g.add(this.utcOffset(),e):g},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,g){var b=this.$utils().u;if(b(h))return this.$u?0:b(this.$offset)?l.call(this):this.$offset;if(typeof h=="string"&&(h=function(R){R===void 0&&(R="");var N=R.match(t);if(!N)return null;var A=(""+N[0]).match(r)||["-",0,0],L=A[0],$=60*+A[1]+ +A[2];return $===0?0:L==="+"?$:-$}(h),h===null))return this;var v=Math.abs(h)<=16?60*h:h;if(v===0)return this.utc(g);var S=this.clone();if(g)return S.$offset=v,S.$u=!1,S;var C=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(S=this.local().add(v+C,e)).$offset=v,S.$x.$localOffset=C,S};var f=a.format;a.format=function(h){var g=h||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return f.call(this,g)},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 d=a.toDate;a.toDate=function(h){return h==="s"&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var p=a.diff;a.diff=function(h,g,b){if(h&&this.$u===h.$u)return p.call(this,h,g,b);var v=this.local(),S=o(h).local();return p.call(v,S,g,b)}}})});var Qji=y((Q6t,X6t)=>{"use strict";(function(e,t){typeof Q6t=="object"&&typeof X6t<"u"?X6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_timezone=t()})(Q6t,function(){"use strict";var e={year:0,month:1,day:2,hour:3,minute:4,second:5},t={};return function(r,n,i){var o,a=s(function(f,d,p){p===void 0&&(p={});var h=new Date(f),g=function(b,v){v===void 0&&(v={});var S=v.timeZoneName||"short",C=b+"|"+S,R=t[C];return R||(R=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:b,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:S}),t[C]=R),R}(d,p);return g.formatToParts(h)},"a"),c=s(function(f,d){for(var p=a(f,d),h=[],g=0;g<p.length;g+=1){var b=p[g],v=b.type,S=b.value,C=e[v];C>=0&&(h[C]=parseInt(S,10))}var R=h[3],N=R===24?0:R,A=h[0]+"-"+h[1]+"-"+h[2]+" "+N+":"+h[4]+":"+h[5]+":000",L=+f;return(i.utc(A).valueOf()-(L-=L%1e3))/6e4},"u"),u=n.prototype;u.tz=function(f,d){f===void 0&&(f=o);var p,h=this.utcOffset(),g=this.toDate(),b=g.toLocaleString("en-US",{timeZone:f}),v=Math.round((g-new Date(b))/1e3/60),S=15*-Math.round(g.getTimezoneOffset()/15)-v;if(!Number(S))p=this.utcOffset(0,d);else if(p=i(b,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(S,!0),d){var C=p.utcOffset();p=p.add(h-C,"minute")}return p.$x.$timezone=f,p},u.offsetName=function(f){var d=this.$x.$timezone||i.tz.guess(),p=a(this.valueOf(),d,{timeZoneName:f}).find(function(h){return h.type.toLowerCase()==="timezonename"});return p&&p.value};var l=u.startOf;u.startOf=function(f,d){if(!this.$x||!this.$x.$timezone)return l.call(this,f,d);var p=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return l.call(p,f,d).tz(this.$x.$timezone,!0)},i.tz=function(f,d,p){var h=p&&d,g=p||d||o,b=c(+i(),g);if(typeof f!="string")return i(f).tz(g);var v=function(N,A,L){var $=N-60*A*1e3,U=c($,L);if(A===U)return[$,A];var G=c($-=60*(U-A)*1e3,L);return U===G?[$,U]:[N-60*Math.min(U,G)*1e3,Math.max(U,G)]}(i.utc(f,h).valueOf(),b,g),S=v[0],C=v[1],R=i(S).utcOffset(C);return R.$x.$timezone=g,R},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(f){o=f}}})});process.env.DISABLE_PINO_LOGGER="1";process.env.NO_JS="1";process.env.JS_BCRYPT="1";process.env.DISABLE_JWT_WARNING="1";ad();var NS=class{static{s(this,"Command")}constructor(t,r){this.command=t,this.opts=[],this.func=r}convertToCommander(t){let r=t.toLowerCase().split("-");return[r.shift()].concat(r.map(i=>oje(i))).join("")}addHelp(t){return this.help=t,this}addSubOption(t,r,n,i=[]){return this.opts.push({command:t,help:r,func:n,extras:i}),this}configure(t){let r=this,n=t.command(r.command);this.help&&(n=n.description(yK(r.help)));for(let i of r.opts)n=n.option(i.command,jue(i.help));n.helpOption("--help",jue(`Get help with ${this.command} options`)),n.action(async i=>{try{let o=!1,a=!1;for(let c of r.opts){let u=c.command.split(" ")[0].replace("--","");if(u=this.convertToCommander(u),a=!o&&!!i[u],a&&c.func){let l=Object.keys(i).length>1?i:i[u];await c.func(l),o=!0}}a&&!o?console.log(ou(`${Object.keys(i)[0]} is an option, not an operation.`)):o||(console.log(ou(`Unknown ${this.command} option.`)),n.help())}catch(o){console.log(ou(o))}})}};iI();ad();var J5t=require("posthog-node");iI();var Gue=require("fs"),aVi=require("path"),cVi=require("os"),{error:uVi}=(ad(),Er(aje)),zue=class{static{s(this,"ConfigManager")}constructor(){this.path=aVi.join(cVi.homedir(),".budibase.json"),Gue.existsSync(this.path)||Gue.writeFileSync(this.path,"{}")}get config(){try{return JSON.parse(Gue.readFileSync(this.path,"utf8"))}catch{return console.log(uVi("Error parsing configuration file. Please check your .budibase.json is valid.")),{}}}set config(t){Gue.writeFileSync(this.path,JSON.stringify(t))}getValue(t){return this.config[t]}setValue(t,r){this.config={...this.config,[t]:r}}removeKey(t){let r={...this.config};delete r[t],this.config=r}};var Kj=class{static{s(this,"AnalyticsClient")}constructor(){this.client=new J5t.PostHog(Eje,{}),this.configManager=new zue}capture(t){this.configManager.config.analyticsDisabled||this.client.capture(t)}enable(){this.configManager.removeKey("analyticsDisabled"),this.client.capture({event:WA.OptIn,distinctId:"cli"})}disable(){this.client.capture({event:WA.OptOut,distinctId:"cli"}),this.configManager.setValue("analyticsDisabled",!0)}status(){return this.configManager.config.analyticsDisabled?"disabled":"enabled"}};var Sje=new Kj;async function lVi(){try{Sje.disable(),console.log(Fc("Successfully opted out of Budibase analytics. You can opt in at any time by running 'budi analytics opt-in'"))}catch(e){console.log(ou(`Error opting out of Budibase analytics. Please try again later - ${e}`))}}s(lVi,"optOut");async function fVi(){try{Sje.enable(),console.log(Fc("Successfully opted in to Budibase analytics. Thank you for helping us make Budibase better!"))}catch{console.log(ou("Error opting in to Budibase analytics. Please try again later."))}}s(fVi,"optIn");async function dVi(){try{console.log(Fc(`Budibase analytics ${Sje.status()}`))}catch{console.log(ou("Error fetching analytics status. Please try again later."))}}s(dVi,"status");var Z5t=new NS("analytics").addHelp("Control the analytics you send to Budibase.").addSubOption("--optin","Opt in to sending analytics to Budibase",fVi).addSubOption("--optout","Opt out of sending analytics to Budibase.",lVi).addSubOption("--status","Check whether you are currently opted in to Budibase analytics.",dVi);iI();iI();ZD();var hVi=new Kj;function Vue(e,t){hVi.capture({distinctId:"cli",event:e,properties:t})}s(Vue,"captureEvent");OK();ad();QA();var h9t=require("path"),m9t=at(require("fs"));ad();QA();async function Yue(e,t){let r="/plugins";if(e=(0,h9t.resolve)(e),!m9t.default.existsSync(e)){console.log(ou(`The directory "${e}" does not exist, please create and then try again.`));return}Cje(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(`${e}:${r}`)}),t||console.log(Fc(`Docker compose configured to watch directory: ${e}`))}s(Yue,"watchPlugins");var{success:yVi}=(ad(),Er(aje)),{updateDockerComposeService:bVi}=(QA(),Er(i9t)),EVi=require("randomstring"),{GENERATED_USER_EMAIL:vVi}=(iI(),Er(X5t));async function Que(e,t){let r=vVi;e||(e=EVi.generate({length:6})),bVi(n=>{n.environment.BB_ADMIN_USER_EMAIL=r,n.environment.BB_ADMIN_USER_PASSWORD=e}),t||console.log(yVi(`User admin credentials configured, access with email: ${r} - password: ${e}`))}s(Que,"generateUser");var g9t=at(require("node-fetch"));var SVi="http://169.254.169.254/metadata/v1/user-data";async function wVi(e,t,r){let n=t?c9t:{};if(e==="do")try{let o=await(await(0,g9t.default)(SVi)).text(),a=nje(o);for(let[c,u]of Object.entries(Nje))a[c]&&(n[u]=a[c])}catch{}return r&&(n[Nje.MAIN_PORT]=r),n}s(wVi,"getInitConfig");async function Xue(e){let t,r,n,i,o,a;typeof e=="string"?t=e:(t=e.init,r=e.single,n=e.watchPluginDir,i=e.genUser,o=e.port,a=e.silent);let c=t==="quick"||t==="do";if(await Tv(),!c&&!await sI("This will create multiple files in current directory, should continue?")){console.log("Stopping.");return}Vue(WA.SelfHostInit,{type:t});let u=await wVi(t,c,o);r?await f9t(u,a):(await xK(),await l9t(u,a)),n&&await Yue(n,a),i&&await Que(typeof i=="string"?i:null,a)}s(Xue,"init");QA();ad();OK();var _9t=at(require("docker-compose")),y9t=at(require("fs"));ZD();var TVi=require("open");async function Xj(){await Tv(),KA(),console.log(jc("Starting services, this may take a moment - first time this may take a few minutes to download images."));let e;y9t.default.existsSync(Qj)?e=d9t("MAIN_PORT"):e=p9t("port"),await YA(async()=>{await _9t.default.upAll({cwd:"./",log:!0})}),await sI(`Do you wish to open http://localhost:${e} ?`)&&await TVi(`http://localhost:${e}`),console.log(Fc(`Services started, please go to http://localhost:${e} for next steps.`))}s(Xj,"start");QA();ad();var b9t=at(require("docker-compose"));async function E9t(){await Tv(),KA(),console.log(jc("Stopping services, this may take a moment.")),await YA(async()=>{await b9t.default.stop()}),console.log(Fc("Services have been stopped successfully."))}s(E9t,"stop");QA();ad();var v9t=at(require("docker-compose"));async function S9t(){await Tv(),KA(),console.log(jc("Budibase status")),await YA(async()=>{let e=await v9t.default.ps();console.log(e.out)})}s(S9t,"status");QA();ZD();var Jue=at(require("docker-compose"));OK();ad();var AVi=["app-service","worker-service","proxy-service","couchdb-service"],xVi=["budibase"];async function w9t(){let{services:e}=CK(Yj),t=Object.keys(e).length===1;if(await Tv(),KA(),!t&&await sI("Do you wish to update you docker-compose.yaml?")){let r=await Wue("minio");await xK(),xje("minio",r)}await YA(async()=>{let n=(await Jue.default.ps()).out.split(`
|
|
1367
|
-
`),i=n[2]&&n[2].indexOf("Up")!==-1;i&&(console.log(jc("Stopping services, this may take a moment.")),await Jue.default.stop()),console.log(jc("Beginning update, this may take a few minutes."));let o;t?o=xVi:o=AVi,await Jue.default.pullMany(o,{log:!0}),i&&(console.log(Fc("Update complete, restarting services...")),await Xj())})}s(w9t,"update");var T9t=new NS("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'.",Xue).addSubOption("--start","Start the configured platform in current directory.",Xj).addSubOption("--status","Check the status of currently running services.",S9t).addSubOption("--stop","Stop the configured platform in the current directory.",E9t).addSubOption("--update","Update the Budibase images to the latest version.",w9t).addSubOption("--watch-plugin-dir [directory]","Add plugin directory watching to a Budibase install.",Yue).addSubOption("--gen-user","Create an admin user automatically as part of first start.",Que).addSubOption("--single","Specify this with init to use the single image.");iI();var mv=at(require("fs")),hj=require("path");var Zue=at(require("pouchdb"));ad();var A9t=at(require("node-fetch"));function ele(e){let t;e?t={prefix:e}:t={prefix:void 0,adapter:"leveldb"};let r=require("@budibase/pouchdb-replication-stream");return Zue.default.plugin(r.plugin),Zue.default.adapter("writableStream",r.adapters.writableStream),Zue.default.defaults(t)}s(ele,"getPouch");async function x9t(e){let t=await(0,A9t.default)(ije(encodeURI(`${e}/_all_dbs`)),{method:"GET"});if(t.status===200)return await t.json();throw"Cannot connect to CouchDB instance"}s(x9t,"getAllDbs");ad();var c2i=at(require("dotenv")),e4t=at(require("fs"));ZD();Ir();Ir();var H_={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"}},C9t={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var O3={};Co(O3,{ColumnSplitter:()=>r6e,NoEmptyFilterStrings:()=>Ter,buildQuery:()=>Aer,cleanupQuery:()=>s6e,fixupFilterArrays:()=>a6e,getKeyNumbering:()=>o6e,getValidOperatorsForType:()=>Sss,hasFilters:()=>n6e,limit:()=>Cer,recurseLogicalOperators:()=>i6e,removeKeyNumbering:()=>cle,runQuery:()=>nfe,search:()=>Ass,sort:()=>xer,splitFiltersArray:()=>ule});Ir();var C3=at(Mje());var nM={};Co(nM,{filterValueToLabel:()=>yKi,hasSchema:()=>bKi,isSupportedUserSearch:()=>UKt,parallelForeach:()=>_Ki,processSearchFilters:()=>Yje,toMap:()=>vKi,trimOtherProps:()=>EKi,unreachable:()=>gKi});Ir();var BKt=at(LKt());var mKi=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function gKi(e,t){let r=t?.message||`No such case in exhaustive switch: ${e}`;if(!!!t?.doNotThrow)throw new Error(r)}s(gKi,"unreachable");async function _Ki(e,t,r){let n=[],i=Symbol.asyncIterator in e,o=i?e[Symbol.asyncIterator]():e[Symbol.iterator](),a=s(async()=>{let c=await(i?o.next():Promise.resolve(o.next()));for(;!c.done;)await t(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(_Ki,"parallelForeach");function yKi(){return Object.keys(H_).reduce((e,t)=>{let n=H_[t];return e[n.value]=n.label,e},{})}s(yKi,"filterValueToLabel");function bKi(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null&&!(e instanceof Date)&&Object.keys(e).length>0}s(bKi,"hasSchema");function EKi(e,t){return Object.keys(e).filter(n=>t.includes(n)).reduce((n,i)=>({...n,[i]:e[i]}),{})}s(EKi,"trimOtherProps");function UKt(e){let t=[{op:"string",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=e;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if($ue(o)){for(let l of e[o].conditions)if(!UKt(l))return!1;return!0}let c=Object.keys(a||{});if(c.length===0)continue;if(!t.find(l=>l.op===o&&c.length===1&&c[0]===l.key))return!1}return!0}s(UKt,"isSupportedUserSearch");function Yje(e){if(!e||e.length===0)return;let{allOr:t,onEmptyFilter:r,filters:n}=ule(e);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:t?"any":"all",filters:n.map(i=>{let o=(0,BKt.default)(i,mKi);return o.field=cle(o.field),o})}]}}s(Yje,"processSearchFilters");function vKi(e,t){return t.reduce((r,n)=>(r[n[e]]=n,r),{})}s(vKi,"toMap");var ox={};Co(ox,{cancelableTimeout:()=>FKt,cron:()=>sss,deepGet:()=>Qje,duplicateName:()=>nss,getSequentialName:()=>iss,getUserColor:()=>wKi,getUserInitials:()=>SKi,getUserLabel:()=>TKi,isGoogleSheets:()=>CKi,isSQL:()=>OKi,lists:()=>e6e,retry:()=>RKi,roles:()=>Z4e,schema:()=>I7,views:()=>J4e,wait:()=>Xje,withTimeout:()=>AKi});var Qje=s((e,t)=>{if(!e||!t)return null;if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let r=t.split(".");for(let n=0;n<r.length;n++)e=e?.[r[n]];return e},"deepGet"),SKi=s(e=>{if(!e)return"?";let t="";return t+=e.firstName?e.firstName[0]:"",t+=e.lastName?e.lastName[0]:"",t!==""?t:e.email?.[0]||"U"},"getUserInitials"),wKi=s(e=>{let t=e?._id;if(!t)return"var(--spectrum-global-color-blue-400)";t=t.replace("ro_ta_users_","");let r=1;for(let n=0;n<t.length;n++)r+=t.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),TKi=s(e=>{if(!e)return"";let{firstName:t,lastName:r,email:n}=e;return t&&r?`${t} ${r}`:t||r||n},"getUserLabel");function FKt(e){let t;return[new Promise((r,n)=>{t=setTimeout(()=>{n({status:301,errno:"ETIME"})},e)}),()=>{clearTimeout(t)}]}s(FKt,"cancelableTimeout");async function AKi(e,t){let[r,n]=FKt(e),i=await Promise.race([t(),r]);return n(),i}s(AKi,"withTimeout");Ir();function CKi(e){return e==="GOOGLE_SHEETS"}s(CKi,"isGoogleSheets");function OKi(e){return!e||!e.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(e.source)!==-1||e.isSQL===!0}s(OKi,"isSQL");async function Xje(e){return new Promise(t=>setTimeout(t,e))}s(Xje,"wait");async function RKi(e,t){let{times:r=3}=t||{};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 Xje(o);try{return await e()}catch(a){n=a}}throw n}s(RKi,"retry");var cer=at(MS()),uer=at(oer());var aer="(Input cron: ",gis={"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 _is(e){let t=[];for(let r of e){r.includes(aer)&&(r=r.split(aer)[0].trim());for(let[n,i]of Object.entries(gis))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));t.push(r)}return t}s(_is,"improveErrors");function ler(e,t=4){let r=uer.default.parseExpression(e),n=[];for(let i=0;i<t;i++)n.push(r.next().toString());return n}s(ler,"getNextExecutionDates");function fer(e){let t=(0,cer.default)(e,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return t.isValid()?{valid:!0}:{valid:!1,err:_is(t.getError())}}s(fer,"validate");var I7={};Co(I7,{decodeNonAscii:()=>W4e,encodeNonAscii:()=>Eis,isDeprecatedSingleUserColumn:()=>yis,isNumeric:()=>vis,isRequired:()=>bis});Ir();function yis(e){return e.type==="bb_reference"&&e.subtype==="user"&&e.constraints?.type!=="array"}s(yis,"isDeprecatedSingleUserColumn");function bis(e){return!!e&&(typeof e.presence!="boolean"&&e.presence?.allowEmpty===!1||e.presence===!0)}s(bis,"isRequired");function Eis(e){return e.split("").map(t=>t.charCodeAt(0)>127?"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"):t).join("")}s(Eis,"encodeNonAscii");function W4e(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}s(W4e,"decodeNonAscii");function vis(e){return e.type==="number"||e.type==="bigint"}s(vis,"isNumeric");var J4e={};Co(J4e,{basicFields:()=>Jis,calculationFields:()=>Xis,hasCalculationFields:()=>Qis,isBasicViewField:()=>Kis,isCalculationField:()=>k7,isCalculationView:()=>Yis,isV2:()=>Zis,isVisible:()=>Eer});Ir();var X4e=at(Q4e());function k7(e){return"calculationType"in e}s(k7,"isCalculationField");function Kis(e){return!k7(e)}s(Kis,"isBasicViewField");function Yis(e){return e.type==="calculation"}s(Yis,"isCalculationView");function Qis(e){return Object.values(e.schema||{}).some(k7)}s(Qis,"hasCalculationFields");function Xis(e){return(0,X4e.default)(e.schema||{},k7)}s(Xis,"calculationFields");function Eer(e){return e.visible!==!1}s(Eer,"isVisible");function Jis(e,t){let{visible:r=!0}=t||{};return(0,X4e.default)(e.schema||{},n=>!k7(n)&&(!r||Eer(n)))}s(Jis,"basicFields");function Zis(e){return e.version===2}s(Zis,"isV2");var Z4e={};Co(Z4e,{checkForRoleInheritanceLoops:()=>tss});Ir();function ess(e){return`role${Fs}${e}`}s(ess,"prefixForCheck");function tss(e){let t=new Map;e.forEach(o=>{t.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=ess(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let c=t.get(a)||t.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"),!!e.find(o=>i(o._id))}s(tss,"checkForRoleInheritanceLoops");var e6e={};Co(e6e,{punctuateList:()=>rss});function rss(e){return e.length===0?"":e.length===1?e[0]:e.length===2?e.join(" and "):e.slice(0,-1).join(", ")+" and "+e[e.length-1]}s(rss,"punctuateList");var nss=s((e,t)=>{let r=new RegExp("\\s(\\d+)$"),n=e.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];t.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"),iss=s((e,t,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!t?.length)return"";let o=t.trim(),a=n?`${t}1`:o;if(!e?.length)return a;let c=0;return e.forEach(u=>{let l=r?.(u)??u;if(typeof l!="string"||!l.startsWith(o))return;let f=l.split(o);if(f.length!==2)return;f[1].trim()===""&&(f[1]="1");let d=parseInt(f[1]);d>c&&(c=d)}),c===0?a:`${t}${i}${c+1}`},"getSequentialName");var sss={getNextExecutionDates:ler,validate:fer};var rfe=at(_b()),t6e=at(Ng());var Ess=/{{([^{].*?)}}/g,wer=Object.values(wK),vss=[...Object.values(Wj),...Object.values(YD),...Object.values(SK)],Sss=s((e,t,r)=>{let n=H_,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:f}=e;u==="string"?f==="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"||I7.isDeprecatedSingleUserColumn(e)?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="bb_reference"?c=a:u==="barcodeqr"&&(c=i);let d=r?.tableId?.includes("datasource_plus");return t==="_id"&&d&&(c=[n.Equals,n.NotEquals,n.In]),c},"getValidOperatorsForType"),Ter=[H_.StartsWith.value,H_.Like.value,H_.Equals.value,H_.NotEquals.value,H_.Contains.value,H_.NotContains.value,H_.ContainsAny.value,H_.In.value];function i6e(e,t){for(let r of wer)e[r]&&(e[r].conditions=e[r].conditions.map(n=>t(n)));return e}s(i6e,"recurseLogicalOperators");var s6e=s(e=>{for(let t of Ter)if(e[t])for(let r of Object.keys(e)){if(r!==t)continue;if(typeof e[r]=="object")for(let[i,o]of Object.entries(e[r]))(o==null||o===""||wss(o))&&delete e[t][i]}return e=i6e(e,s6e),e},"cleanupQuery");function wss(e){return Array.isArray(e)&&e.length===0}s(wss,"isEmptyArray");var cle=s(e=>o6e(e).key,"removeKeyNumbering"),o6e=s(e=>{if(typeof e=="string"&&e.match(/\d[0-9]*:/g)!=null){let t=e.split(":");return{prefix:`${t.shift()}:`,key:t.join(":")}}else return{key:e}},"getKeyNumbering"),r6e=class{static{s(this,"ColumnSplitter")}constructor(t,r){if(this.tableNames=t.map(n=>n.name),this.tableIds=t.map(n=>n._id),this.relationshipColumnNames=t.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(t){let{prefix:r,key:n}=o6e(t),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=W4e(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Tss(e){if(!e||!e?.operator||!e?.field)return;let t={},{operator:r,field:n,type:i,externalType:o}=e,{value:a}=e;(r==="empty"||r==="notEmpty")&&(a=null);let c=typeof a=="string"&&(a.match(Ess)||[]).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(Hue(r))return t[r]??={},t[r][n]=a,t}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(Hue(r)){let l=C9t[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};t[r]??={},t[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!=="")t.range??={},t.range[n]={...t.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")t.range??={},t.range[n]={...t.range[n],low:a};else if(Szt(r)||wzt(r)||Hue(r))i==="boolean"?r==="equal"&&a===!1?(t.notEqual=t.notEqual||{},t.notEqual[n]=!0):r==="notEqual"&&a===!1?(t.equal=t.equal||{},t.equal[n]=!0):(t[r]??={},t[r][n]=a):(t[r]??={},t[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return t}s(Tss,"buildCondition");function ule(e){let t={filters:[]};for(let r of e)"operator"in r&&r.operator==="allOr"?t.allOr=!0:"onEmptyFilter"in r?t.onEmptyFilter=r.onEmptyFilter:t.filters.push(r);return t}s(ule,"splitFiltersArray");function Aer(e){if(!e)return{};if(Array.isArray(e)&&(e=Yje(e),!e))return{};let t={};e.onEmptyFilter?t.onEmptyFilter=e.onEmptyFilter:t.onEmptyFilter="all";let r=Ser(e.logicalOperator||"all");return t[r]={conditions:(e.groups||[]).map(n=>{if(n.groups){let u=Aer(n);return delete u.onEmptyFilter,u}let{allOr:i,onEmptyFilter:o,filters:a}=ule(n.filters||[]);o&&(t.onEmptyFilter=o);let c=i?"$or":"$and";return n.logicalOperator&&(c=Ser(n.logicalOperator)),{[c]:{conditions:a.map(Tss).filter(u=>u)}}})},t}s(Aer,"buildQuery");function Ser(e){return e==="all"?"$and":"$or"}s(Ser,"logicalOperatorFromUI");function a6e(e){if(!e)return e;for(let t of Object.values(YD)){let r=e[t];if(!(r==null||!(0,rfe.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 i6e(e,a6e),e}s(a6e,"fixupFilterArrays");function Ass(e,t){let r=nfe(e,t.query);t.sort&&(r=xer(r,t.sort,t.sortOrder||"ascending",t.sortType));let n=r.length;t.limit&&(r=Cer(r,t.limit.toString()));let i={rows:r};return t.countRows&&(i.totalRows=n),i}s(Ass,"search");function nfe(e,t){if(!e||!Array.isArray(e))return[];if(!t)return e;if(t=s6e(t),t=a6e(t),!n6e(t)&&t.onEmptyFilter==="none")return[];let r=s((A,L)=>$=>{for(let[U,G]of Object.entries(t[A]||{})){let Z=$ue(A)?$:Qje($,cle(U)),re=L(Z,G);if(t.allOr&&re)return!0;if(!t.allOr&&!re)return!1}return!t.allOr},"match"),n=r("string",(A,L)=>typeof A!="string"||typeof L!="string"?!1:A.toLowerCase().startsWith(L.toLowerCase())),i=r("fuzzy",(A,L)=>typeof A!="string"||typeof L!="string"?!1:A.toLowerCase().includes(L.toLowerCase())),o=r("range",(A,L)=>{if(A==null||A===""||((0,rfe.default)(L.low)&&(0,t6e.default)(L.low)&&(L.low=void 0),(0,rfe.default)(L.high)&&(0,t6e.default)(L.high)&&(L.high=void 0),L.low==null&&L.high==null))return!1;let $=+A;if(!isNaN($)){let G=+L.low,Z=+L.high;if(!isNaN(G)&&!isNaN(Z))return $>=G&&$<=Z;if(isNaN(G)){if(!isNaN(Z))return $<=Z}else return $>=G}let U=(0,C3.default)(A);if(U.isValid()){let G=(0,C3.default)(L.low||"0000-00-00T00:00:00.000Z"),Z=(0,C3.default)(L.high||"9999-00-00T00:00:00.000Z");if(G.isValid()&&Z.isValid())return U.isAfter(G)&&U.isBefore(Z)||U.isSame(G)||U.isSame(Z);if(G.isValid())return U.isAfter(G)||U.isSame(G);if(Z.isValid())return U.isBefore(Z)||U.isSame(Z)}return L.low!=null&&L.high!=null?A>=L.low&&A<=L.high:L.low!=null?A>=L.low:L.high!=null?A<=L.high:!1}),a=s((A,L)=>{if(Array.isArray(A)){for(let U of A)if(a(U,L))return!0;return!1}if(A&&typeof A=="object"&&typeof L=="string")return A._id===L;if(A===L)return!0;if(A==null&&L!=null||A!=null&&L==null)return!1;let $=(0,C3.default)(A);if($.isValid()){let U=(0,C3.default)(L);if(U.isValid())return $.isSame(U)}return!1},"_valueMatches"),c=s(A=>(...L)=>!A(...L),"not"),u=r("equal",a),l=r("notEqual",c(a)),f=s(A=>typeof A=="string"?A==="":Array.isArray(A)?A.length===0:A&&typeof A=="object"?Object.keys(A).length===0:A==null,"_empty"),d=r("empty",f),p=r("notEmpty",c(f)),h=r("oneOf",(A,L)=>(typeof L=="string"&&(L=L.split(",")),typeof A=="number"&&(L=L.map($=>parseFloat($))),Array.isArray(L)?L.some($=>a(A,$)):!1)),g=s(A=>(L,$)=>!Array.isArray(L)||(typeof $=="string"&&($=$.split(","),typeof L[0]=="number"&&($=$.map(U=>parseFloat(U)))),!Array.isArray($))?!1:$.length===0?!0:$[A](U=>a(L,U)),"_contains"),b=r("contains",(A,L)=>Array.isArray(L)&&L.length===0?!0:g("every")(A,L)),v=r("notContains",(A,L)=>Array.isArray(L)&&L.length===0?!0:c(g("every"))(A,L)),S=r("containsAny",g("some")),C=r("$and",(A,L)=>{if(!L.length)return!1;for(let $ of L)if(!nfe([A],$).length)return!1;return!0}),R=r("$or",(A,L)=>{if(!L.length)return!1;for(let $ of L)if(nfe([A],{...$,allOr:!0}).length)return!0;return!1}),N=s(A=>{let L={string:n,fuzzy:i,range:o,equal:u,notEqual:l,empty:d,notEmpty:p,oneOf:h,contains:b,containsAny:S,notContains:v,$and:C,$or:R},$=Object.entries(t||{}).filter(([U,G])=>!["allOr","onEmptyFilter"].includes(U)&&G&&Object.keys(G).length>0).map(([U])=>L[U]?.(A)??!1);return n6e(t)?t.allOr?$.some(U=>U===!0):$.every(U=>U===!0):!0},"docMatch");return e.filter(N)}s(nfe,"runQuery");function xer(e,t,r,n="string"){if(!t||!r||!n)return e;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return e.slice().sort((o,a)=>{let c=i(o[t]),u=i(a[t]),l=u==null||c>u?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(xer,"sort");function Cer(e,t){let r=typeof t=="number"?t:parseFloat(t);return isNaN(r)?e:e.slice(0,r)}s(Cer,"limit");var n6e=s(e=>{if(!e)return!1;let t=s(r=>{for(let n of wer)if(r[n])for(let i of r[n]?.conditions||[]){let o=t(i);if(o)return o}for(let n of vss){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 t(e)},"hasFilters");var Sb={};Co(Sb,{applications:()=>u6e,automations:()=>l6e,screens:()=>h6e,users:()=>p6e});var u6e={};Co(u6e,{getDevAppID:()=>xss,getProdAppID:()=>P7});Ir();var c6e=XD("app"),N7=XD("app_dev");function xss(e){if(!e)throw new Error("No app ID provided");if(e.startsWith(N7))return e;let t=e.split(c6e);t.shift();let r=t.join(c6e);return`${N7}${r}`}s(xss,"getDevAppID");function P7(e){if(!e)throw new Error("No app ID provided");if(!e.startsWith(N7))return e;let t=e.split(N7);t.shift();let r=t.join(N7);return`${c6e}${r}`}s(P7,"getProdAppID");var l6e={};Co(l6e,{checkForCollectStep:()=>Iss,isAppAction:()=>Rss,isRowAction:()=>Css,isWebhookAction:()=>Oss});Ir();function Css(e){return e.definition.trigger?.stepId==="ROW_ACTION"}s(Css,"isRowAction");function Oss(e){return e.definition.trigger?.stepId==="WEBHOOK"}s(Oss,"isWebhookAction");function Rss(e){return e.definition.trigger?.stepId==="APP"}s(Rss,"isAppAction");function Oer(e){if(!e||!Array.isArray(e))return!1;for(let t of e){if(t.stepId==="COLLECT")return!0;if(LVt(t)&&t.inputs.children){for(let r of Object.values(t.inputs.children))if(Oer(r))return!0}}return!1}s(Oer,"hasCollectBlockRecursive");function Iss(e){return Oer(e.definition.steps)}s(Iss,"checkForCollectStep");var p6e={};Co(p6e,{canCreateApps:()=>kss,containsUserID:()=>Uss,getGlobalUserID:()=>Bss,getUserAppGroups:()=>Fss,hasAdminPermissions:()=>d6e,hasAppBuilderPermissions:()=>ofe,hasBuilderPermissions:()=>Lss,hasCreatorPermissions:()=>afe,isAdmin:()=>D7,isAdminOrBuilder:()=>Pss,isAdminOrGlobalBuilder:()=>Dss,isAdminOrWorkspaceBuilder:()=>Nss,isBuilder:()=>f6e,isCreator:()=>qss,isGlobalBuilder:()=>sfe,userAppAccessList:()=>jss});Ir();function f6e(e,t){return e?e.builder?.global?!0:!!(t&&e.builder?.apps?.includes(P7(t))):!1}s(f6e,"isBuilder");function sfe(e){return f6e(e)&&!ofe(e)||D7(e)}s(sfe,"isGlobalBuilder");function kss(e){return sfe(e)||afe(e)}s(kss,"canCreateApps");function D7(e){return e?d6e(e):!1}s(D7,"isAdmin");function Nss(e,t){return e?!!(D7(e)||t&&e.builder?.apps?.includes(P7(t))):!1}s(Nss,"isAdminOrWorkspaceBuilder");function Pss(e,t){return f6e(e,t)||D7(e)}s(Pss,"isAdminOrBuilder");function Dss(e){return sfe(e)||D7(e)}s(Dss,"isAdminOrGlobalBuilder");function ofe(e){if(!e)return!1;let t=e.builder?.apps?.length;return!!!e.builder?.global&&t!=null&&t>0}s(ofe,"hasAppBuilderPermissions");function Mss(e){return e?!!Object.values(e.roles??{}).find(t=>t==="CREATOR"):!1}s(Mss,"hasAppCreatorPermissions");function Lss(e){return e?e.builder?.global||ofe(e)||afe(e):!1}s(Lss,"hasBuilderPermissions");function d6e(e){return e?!!e.admin?.global:!1}s(d6e,"hasAdminPermissions");function afe(e){return e?!!e.builder?.creator:!1}s(afe,"hasCreatorPermissions");function qss(e){return e?sfe(e)||d6e(e)||afe(e)||ofe(e)||Mss(e):!1}s(qss,"isCreator");function Bss(e){if(typeof e!="string")return e;let t=`ro${Fs}ta_users${Fs}`;return e.startsWith(t)?e.split(t)[1]:e}s(Bss,"getGlobalUserID");function Uss(e){return typeof e!="string"?!1:e.includes(`us${Fs}`)}s(Uss,"containsUserID");function Rer(e,t){return t?.filter(r=>r.users?.find(n=>n._id===e))||[]}s(Rer,"getUserGroups");function Fss(e,t,r){let n=P7(e);return Rer(t,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Fss,"getUserAppGroups");function jss(e,t){let n=Rer(e._id,t).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(e?.roles||{}),...n];return[...new Set(i)]}s(jss,"userAppAccessList");var h6e={};Co(h6e,{findInSettings:()=>$ss});function $ss(e,t){let r=[];function n(i,o=""){for(let[a,c]of Object.entries(i))c&&(typeof c=="string"&&c.includes(t)?r.push({setting:o?`${o}.${a}`:a,value:c}):typeof c=="object"&&n(c,a))}return s(n,"recurse"),n(e.props),r}s($ss,"findInSettings");Ir();var m6e={by_email2:["by_email"]},Nv={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"}},TM=XD("app"),Gss=XD("app_dev"),bI=Gss;var M7="_design/sqlite";var zss=`ro${Fs}ta_users${Fs}`;var cp="default";Ir();Ir();var g6e=require("crypto"),ufe=require("fs"),Wss=at(I3()),q7=require("path");var Kss=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,q7.resolve)((0,q7.join)(__dirname,"..","..","..")),ker=!1;!ker&&cfe()&&!_6e()&&(require("dotenv").config({path:(0,q7.join)(Kss,".env")}),ker=!0);function _6e(){return Per()}s(_6e,"isTest");function Per(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(Per,"isJest");function cfe(){return process.env.NODE_ENV!=="production"}s(cfe,"isDev");function Yss(e){if(e)return parseInt(e)}s(Yss,"parseIntSafe");var k3={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},Ner=!!parseInt(process.env.SELF_HOSTED||"");function Qss(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Qss,"getAPIEncryptionKey");function Xss(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Xss,"httpLogging");function Jss(){function e(r){function n(c,u){let l=`${u}/${c}`;if((0,ufe.existsSync)(l))return l;let f=`${u}/..`;return f===u?null:n(c,f)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,ufe.readFileSync)(i,"utf-8");return JSON.parse(o)}s(e,"getParentFile");let t;if(cfe()&&!_6e())try{t=`${e("lerna.json").version}+local`}catch{}try{let r=e("package.json");return{VERSION:t||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(Jss,"getPackageJsonFields");function Zss(){return EI.SERVICE_TYPE==="worker"}s(Zss,"isWorker");function eos(){return EI.SERVICE_TYPE==="apps"}s(eos,"isApps");function tos(){return EI.BUDIBASE_ENVIRONMENT==="QA"}s(tos,"isQA");function ros(){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(ros,"getServiceName");var EI={isTest:_6e,isJest:Per,isDev:cfe,isWorker:Zss,isApps:eos,isQA:tos,isProd:()=>!cfe(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JS_BCRYPT:process.env.JS_BCRYPT,JWT_SECRET:process.env.JWT_SECRET?(0,g6e.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,g6e.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Qss(),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_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,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:Ner,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||k3.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||k3.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||k3.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||k3.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||k3.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||k3.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:ros(),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:Xss(),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:Ner?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...Jss(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(e,t){process.env[e]=t,EI[e]=t},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",DISABLE_SCIM_CALLS:process.env.DISABLE_SCIM_CALLS,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:Yss(process.env.BSON_BUFFER_SIZE)};for(let[e,t]of Object.entries(EI))t==="0"&&(EI[e]=0),t==="false"&&(EI[e]=0);var ut=EI;var B7="-";function y6e(){let e=ut.REDIS_PASSWORD,t=ut.REDIS_URL.split("//");t=t.length>1?t[1]:t[0],t=t.split("@"),t.length>1?(e=t[0].split(":")[1],t=t[1]):t=t[0];let[r,n]=t.split(":"),i=parseInt(n);return{host:r,password:e,port:isNaN(i)?6379:i}}s(y6e,"getRedisConnectionDetails");function Der(){return{slotsRefreshTimeout:2e3,dnsLookup:(e,t)=>t(null,e),redisOptions:{...N3(),tls:{}}}}s(Der,"getRedisClusterOptions");function N3(){let{host:e,password:t,port:r}=y6e();return{connectTimeout:3e4,port:r,host:e,password:t}}s(N3,"getRedisOptions");function Mer(e){let t=e.split(B7);return t.length>=2?(t.shift(),t.join(B7)):t[0]}s(Mer,"removeDbPrefix");var Wmn=at(require("events"));H7();function US(){return AM().replace(/-/g,"")}s(US,"newid");var gos=ut.JS_BCRYPT?require("bcryptjs"):require("bcrypt"),B4u=ut.SALT_ROUNDS||10;async function itr(e,t){return gos.compare(e,t)}s(itr,"compare");Ir();var Cfa=at(h$e());var Pu={};Co(Pu,{DEFAULT_TENANT_ID:()=>cp,baseGlobalDBName:()=>zEe,doInAutomationContext:()=>ZUo,doInContext:()=>bct,doInEnvironmentContext:()=>uFo,doInFeatureFlagOverrideContext:()=>htn,doInIPContext:()=>dtn,doInIdentityContext:()=>Gfe,doInLicenseContext:()=>tFo,doInScimContext:()=>lFo,doInSelfHostTenantUsingCloud:()=>eFo,doInTenant:()=>vC,doInWorkspaceContext:()=>iFo,doInWorkspaceMigrationContext:()=>oFo,ensureSnippetContext:()=>ptn,getAuditLogDBName:()=>ltn,getAuditLogsDB:()=>dFo,getAutomationId:()=>Ect,getCurrentContext:()=>A2,getDevWorkspaceDB:()=>hFo,getDevWorkspaceId:()=>aFo,getEnvironmentVariables:()=>fFo,getFeatureFlagOverrides:()=>xct,getFeatureFlags:()=>Tct,getGlobalDB:()=>_h,getGlobalDBName:()=>RZ,getIP:()=>vct,getIdentity:()=>AI,getLicense:()=>rFo,getPlatformURL:()=>yct,getProdWorkspaceDB:()=>pFo,getProdWorkspaceId:()=>cFo,getScimDBName:()=>YUo,getSelfHostCloudDB:()=>nFo,getTableForView:()=>mFo,getTenantIDFromWorkspaceID:()=>z$,getTenantId:()=>eo,getWorkspaceDB:()=>Sct,getWorkspaceId:()=>e_,identity:()=>tY,isMultiTenant:()=>T2,isScim:()=>wct,isSelfHostUsingCloud:()=>VEe,isTenancyEnabled:()=>XUo,isTenantIdSet:()=>QUo,setFeatureFlags:()=>Act,setTableForView:()=>gFo});var tY={};Co(tY,{doInAccountContext:()=>vds,doInIdentityContext:()=>m$e,doInUserContext:()=>Dir,getAccountUserId:()=>Mir,getIdentity:()=>Pir});Ir();function Pir(){return AI()}s(Pir,"getIdentity");function m$e(e,t){return Gfe(e,t)}s(m$e,"doInIdentityContext");function Dir(e,t,r){let n={...e,_id:e._id,type:"user",hostInfo:{ipAddress:t.request.ip,userAgent:t.userAgent.source}};return m$e(n,r)}s(Dir,"doInUserContext");function vds(e,t){let r=Mir(e),n=e.tenantId,i={_id:r,type:"user",tenantId:n,account:e};return m$e(i,t)}s(vds,"doInAccountContext");function Mir(e){let t;return pje(e)?t=e.budibaseUserId:t=e.accountId,t}s(Mir,"getAccountUserId");var xI=s(e=>{let t=Lir(e),r,n;if(t.auth?.username)r=t.auth.username;else if(ut.COUCH_DB_USERNAME)r=ut.COUCH_DB_USERNAME;else if(!ut.isTest())throw new Error("CouchDB username not set");if(t.auth?.password)n=t.auth.password;else if(ut.COUCH_DB_PASSWORD)n=ut.COUCH_DB_PASSWORD;else if(!ut.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=ut.COUCH_DB_SQL_URL;if(ut.isDev()&&!o)o="http://localhost:4006";else if(!o&&t.url){let a=new URL(t.url);o=t.url.replace(a.port,"4984")}return{url:t.url,sqlUrl:Lir(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Lir=s((e=ut.COUCH_DB_URL)=>{let t,r,n,i;if(e){/^https?:\/\//i.test(e)||(e=`http://${e}`);let a=e.split("://"),c=a[0],u=a.slice(1).join("://");if(e.includes("@")){let l=u.split("@");i=l[l.length-1];let f=l.slice(0,-1).join("@");if(f.includes(":")){let d=f.split(":");r=d[0],n=d.slice(1).join(":")}else r=f}else i=u;t=`${c}://${i}`}return{url:t,auth:{username:r,password:n}}},"getUrlInfo");var atn=at(vlr());Ir();var Slr=at(require("node-fetch"));function qde(e){return e.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(qde,"checkSlashesInUrl");async function IHe({url:e,cookie:t,method:r,body:n}){let i={method:r,headers:{Authorization:t}};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,Slr.default)(qde(encodeURI(e)),i)}s(IHe,"directCouchUrlCall");var REs=at(require("pouchdb"));var IEs,kEs=!1;var NEs=s(()=>{if(!kEs)throw new Error("init has not been called")},"checkInitialised");function FI(e,t){NEs();let r=new IEs(e,t),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(FI,"getPouchDB");var qu=at(Qx());var OZ=class{constructor(t){this.db=t}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(t){return qu.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:t}),t?this.db.exists(t):this.db.exists()))}get(t){return qu.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:t}),this.db.get(t)))}tryGet(t){return qu.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:t});let n=await this.db.tryGet(t);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(t,r){return qu.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:t?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(t,r);return n.addTags({num_docs_found:i.length}),i})}remove(t,r){return qu.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:t,rev:r});let i=typeof t=="object",o=i?t._id:t;r=i?t._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(t,r){return qu.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:t.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(t,r)))}put(t,r){return qu.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:t._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(t,r);return n.addTags({ok:i.ok}),i})}bulkDocs(t){return qu.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:t.length}),this.db.bulkDocs(t)))}async find(t){return qu.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.find(t);return r.addTags({rows_length:n.docs.length}),n})}allDocs(t){return qu.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.allDocs(t);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(t,r){return qu.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:t,...r});let i=await this.db.query(t,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return qu.default.trace("db.destroy",async t=>{t.addTags({db_name:this.name});let r=await this.db.destroy();return t.addTags({ok:r.ok}),r})}compact(){return qu.default.trace("db.compact",async t=>{t.addTags({db_name:this.name});let r=await this.db.compact();return t.addTags({ok:r.ok}),r})}dump(t,r){return qu.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(t,r)))}load(...t){return qu.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.load(...t)))}createIndex(...t){return qu.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.createIndex(...t)))}deleteIndex(...t){return qu.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.deleteIndex(...t)))}getIndexes(...t){return qu.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.getIndexes(...t)))}sql(t,r){return qu.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(t,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(t){return qu.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(t)?t.length:1}),this.db.sqlPurgeDocument(t)))}sqlDiskCleanup(){return qu.default.trace("db.sqlDiskCleanup",t=>(t.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};Ir();var iSl=`${Fs}${Fs}`;var sSl=encodeURIComponent(" ");function gct(e,t,r){if(!ut.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${e.toUpperCase()}] query="${t}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(gct,"sqlLog");var itn="Database does not exist.";function stn(e){return(0,atn.default)({url:e.url,requestDefaults:{headers:{Authorization:e.cookie}},parseUrl:!1})}s(stn,"buildNano");var m1=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 GEe=class e{constructor(t,r,n){this.couchInfo=xI();this.name=t,this.pouchOpts=r||{},n&&(this.couchInfo=xI(n),this.instanceNano=stn(this.couchInfo)),e.nano||e.init()}static{s(this,"DatabaseImpl")}static init(){let t=xI();e.nano=stn(t)}exists(t){return t===void 0?this.dbExists():this.docExists(t)}async dbExists(){return(await IHe({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(t){try{return await this.performCall(r=>()=>r.head(t)),!0}catch{return!1}}nano(){return this.instanceNano||e.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let t=!this.pouchOpts?.skip_setup,r=await this.exists();if(!t&&!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 m1(n.message,n)}return this.getDb()}async performCallWithDBCreation(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===itn)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(t);throw new m1(`CouchDB error: ${i.message}`,i)}}async performCall(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){throw new m1(`CouchDB error: ${i.message}`,i)}}async get(t){return this.performCall(r=>{if(!t)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(t)})}async tryGet(t){try{return await this.get(t)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(t,r){if(!t||t.length===0)return[];t=[...new Set(t)];let n=!r?.excludeDocs,i=await this.allDocs({keys:t,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(f=>o(f)).map(f=>f.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(u=>n?u.doc:u.value)}async remove(t,r){return this.performCall(n=>{let i,o;if(Ozt(t)?(i=t._id,o=t._rev):(i=t,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(t,r){let n=await this.performCall(a=>()=>a.bulk({docs:t.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 m1(o,{name:this.name,status:400})}async post(t,r){return t._id||(t._id=US()),this.put(t,r)}async put(t,r){if(!t._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(t.createdAt||(t.createdAt=new Date().toISOString()),t.updatedAt=new Date().toISOString(),r?.force&&t._id)try{let i=await this.get(t._id);i&&(t._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(t);return r?.returnDoc?{...i,doc:{...t,_rev:i.rev}}:i}})}async bulkDocs(t){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:t.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(t){return this.performCall(r=>async()=>r.find(t))}async allDocs(t){return this.performCall(r=>async()=>{try{return await r.list(t)}catch(n){if(n.reason===itn)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(t,r,n){t=qde(`${this.couchInfo.sqlUrl}/${t}`);let i={url:t,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await IHe(i),a=await o.text();if(o.status>300){let c;try{c=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new m1("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw c}return JSON.parse(a)})}async sql(t,r){let i=`/${this.name}/${M7}`;return gct("sqlite3",t,r),await this._sqlQuery(i,"POST",{query:t,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(t){Array.isArray(t)||(t=[t]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:t})}async query(t,r){return this.performCall(n=>{let[i,o]=t.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(M7)){let t=await this.get(M7);t.sql.tables={},await this.put(t),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(t){if(t.statusCode===404)return{ok:!0};throw new m1(t.message,t)}}async compact(){return this.performCall(t=>()=>t.compact())}async dump(t,r){return FI(this.name).dump(t,r)}async load(t){return FI(this.name).load(t)}async createIndex(t){return FI(this.name).createIndex(t)}async deleteIndex(t){return FI(this.name).deleteIndex(t)}async getIndexes(){return FI(this.name).getIndexes()}};function l0(e,t){return new OZ(new GEe(e,t))}s(l0,"getDB");function _ct(e){if(!e||e.startsWith(bI))return e;let t=e.split(TM);t.shift();let r=t.join(TM);return`${bI}${r}`}s(_ct,"getDevWorkspaceID");function G$(e){if(!e||!e.startsWith(bI))return e;let t=e.split(bI);t.shift();let r=t.join(bI);return`${TM}${r}`}s(G$,"getProdWorkspaceID");var ctn=require("async_hooks");var jl=class e{static{s(this,"Context")}static{this.storage=new ctn.AsyncLocalStorage}static run(t,r){return e.storage.run(t,()=>r())}static get(){return e.storage.getStore()}};var utn=null;function RZ(e){return e||(e=eo()),zEe(e)}s(RZ,"getGlobalDBName");function ltn(e){return e||(e=eo()),e===cp?Nv.AUDIT_LOGS.name:`${e}${Fs}${Nv.AUDIT_LOGS.name}`}s(ltn,"getAuditLogDBName");function YUo(e){return e||(e=eo()),e===cp?Nv.SCIM_LOGS.name:`${e}${Fs}${Nv.SCIM_LOGS.name}`}s(YUo,"getScimDBName");function zEe(e){return!e||e===cp?Nv.GLOBAL.name:`${e}${Fs}${Nv.GLOBAL.name}`}s(zEe,"baseGlobalDBName");function yct(){return ut.PLATFORM_URL}s(yct,"getPlatformURL");function T2(){return!!ut.MULTI_TENANCY}s(T2,"isMultiTenant");function QUo(){return!!jl.get()?.tenantId}s(QUo,"isTenantIdSet");function XUo(){return ut.MULTI_TENANCY}s(XUo,"isTenancyEnabled");function z$(e){if(!e)return;if(!T2())return cp;let t=e.split(Fs),r=t[1]==="dev";if(!(r&&t.length===3||!r&&t.length===2))return r?t[2]:t[1]}s(z$,"getTenantIDFromWorkspaceID");function JUo(e){let t;try{t=jl.get()}catch{t={}}return t={...t,...e},t}s(JUo,"updateContext");async function f0(e,t){sFo();let r=JUo(e);return jl.run(r,t)}s(f0,"newContext");async function ZUo(e){return await ptn(),await f0({tenantId:z$(e.workspaceId),appId:e.workspaceId,automationId:e.automationId},e.task)}s(ZUo,"doInAutomationContext");async function bct(e,t){let r=z$(e);return f0({tenantId:r,appId:e},t)}s(bct,"doInContext");async function vC(e,t){return ut.MULTI_TENANCY||(e=e||cp),f0(e?{tenantId:e}:{},t)}s(vC,"doInTenant");async function eFo(e,t){return f0({tenantId:e,isSelfHostUsingCloud:!0},t)}s(eFo,"doInSelfHostTenantUsingCloud");async function tFo(e,t){return f0({license:e},t)}s(tFo,"doInLicenseContext");function rFo(){return jl.get()?.license}s(rFo,"getLicense");function VEe(){return!!jl.get()?.isSelfHostUsingCloud}s(VEe,"isSelfHostUsingCloud");function nFo(){let e=jl.get();if(!e||!e.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return l0(Nv.SELF_HOST_CLOUD.name)}s(nFo,"getSelfHostCloudDB");async function iFo(e,t){return ftn(e,t)}s(iFo,"doInWorkspaceContext");async function ftn(e,t,r){if(!e)throw new Error("workspaceId is required");let n=z$(e),i={appId:e,...r};return n&&(i.tenantId=n),f0(i,t)}s(ftn,"_doInWorkspaceContext");async function Gfe(e,t){if(!e)throw new Error("identity is required");let r={identity:e};return e.tenantId&&(r.tenantId=e.tenantId),f0(r,t)}s(Gfe,"doInIdentityContext");function sFo(){if(jl.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(sFo,"guardMigration");async function oFo(e,t){return ftn(e,t,{isMigrating:!0})}s(oFo,"doInWorkspaceMigrationContext");function AI(){try{return jl.get()?.identity}catch{}}s(AI,"getIdentity");function eo(){if(!T2())return cp;let t=jl.get()?.tenantId;if(!t)throw new Error("Tenant id not found");return t}s(eo,"getTenantId");function Ect(){return jl.get()?.automationId}s(Ect,"getAutomationId");function e_(){let t=jl.get()?.appId;return!t&&ut.isTest()&&utn?utn:t}s(e_,"getWorkspaceId");function vct(){return jl.get()?.ip}s(vct,"getIP");var aFo=s(()=>{let e=e_();if(!e)throw new Error("Could not get workspaceId");return _ct(e)},"getDevWorkspaceId"),cFo=s(()=>{let e=e_();if(!e)throw new Error("Could not get workspaceId");return G$(e)},"getProdWorkspaceId");function uFo(e,t){if(!e)throw new Error("Must supply environment variables.");return f0({environmentVariables:e},t)}s(uFo,"doInEnvironmentContext");function lFo(e){return f0({isScim:!0},e)}s(lFo,"doInScimContext");function dtn(e,t){return f0({ip:e},t)}s(dtn,"doInIPContext");async function ptn(){let e=A2();if(!e||e.snippets)return;let t,r=Sct();r&&(t=(await r.tryGet("app_metadata"))?.snippets),e.snippets=t||[]}s(ptn,"ensureSnippetContext");function fFo(){let e=jl.get();return e.environmentVariables?e.environmentVariables:null}s(fFo,"getEnvironmentVariables");function _h(){let e=jl.get();if(!e||ut.MULTI_TENANCY&&!e.tenantId)throw new Error("Global DB not found");if(e.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return l0(zEe(e?.tenantId))}s(_h,"getGlobalDB");function dFo(){if(!eo())throw new Error("No tenant ID found - cannot open audit log DB");return l0(ltn())}s(dFo,"getAuditLogsDB");function Sct(e){let t=e_();if(!t)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(VEe())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return l0(t,e)}s(Sct,"getWorkspaceDB");function pFo(e){let t=e_();if(!t)throw new Error("Unable to retrieve prod DB - no workspace ID.");return l0(G$(t),e)}s(pFo,"getProdWorkspaceDB");function hFo(e){let t=e_();if(!t)throw new Error("Unable to retrieve dev DB - no workspace ID.");return l0(_ct(t),e)}s(hFo,"getDevWorkspaceDB");function wct(){return!!jl.get()?.isScim}s(wct,"isScim");function A2(){try{return jl.get()}catch{return}}s(A2,"getCurrentContext");function Tct(e){let t=A2();if(t)return t.featureFlagCache?.[e]}s(Tct,"getFeatureFlags");function Act(e,t){let r=A2();r&&(r.featureFlagCache??={},r.featureFlagCache[e]=t)}s(Act,"setFeatureFlags");function xct(){return A2()?.featureFlagOverrides||{}}s(xct,"getFeatureFlagOverrides");async function htn(e,t){return await f0({featureFlagOverrides:e},t)}s(htn,"doInFeatureFlagOverrideContext");function mFo(e){let t=A2();if(t)return t.viewToTableCache?.[e]}s(mFo,"getTableForView");function gFo(e,t){let r=A2();r&&(r.viewToTableCache??={},r.viewToTableCache[e]=t)}s(gFo,"setTableForView");var VSe=at(enn());var zSe=at(Qx()),qmn=at(I3());var Lmn;if(ut.MOCK_REDIS)try{Lmn=Mmn()}catch{console.log("Mock redis unavailable")}async function cfa(e=0){return await zSe.tracer.trace("Redis.init",async t=>{if(ut.MOCK_REDIS)return t.addTags({mock:!0}),new Lmn(N3());let r;if(ut.REDIS_CLUSTERED){t.addTags({clustered:!0});let{host:n,port:i}=y6e();r=new VSe.Cluster([{host:n,port:i}],Der())}else r=new VSe.default(N3());return new Promise((n,i)=>{r.on("error",o=>{t.addTags({error:!0}),console.error(`failed to connect to redis (db: ${e})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${e})`)}),r.on("ready",()=>{t.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${e})`),n(r)})})})}s(cfa,"init");function ufa(e,t){return new Promise((r,n)=>{let i=new Set;e.on("data",o=>o.forEach(a=>i.add(a))),e.on("error",o=>n(o)),e.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let c=await t.get(a);return c&&(c=JSON.parse(c)),{key:Mer(a),value:c}});r(await Promise.all(o))}catch(o){n(o)}})})}s(ufa,"promisifyStream");function lfa(e){return e.isCluster}s(lfa,"isCluster");var xmt=class e{static{s(this,"RedisWrapper")}constructor(t,r){this.client=t,this.db=r}static async init(t,r=0){return await zSe.tracer.trace("RedisWrapper.init",async n=>{let i=await cfa(r);return r&&!ut.isTest()&&(n.addTags({db:t}),i.select(r)),new e(i,t)})}trace(t,r){return zSe.tracer.trace(t,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(t){return t.includes(this.db)?t:`${this.db}${B7}${t}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(t=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:t}),t=`${this.db}${B7}${t}`;let n;lfa(this.client)?n=this.client.nodes("master")[0].scanStream({match:t+"*",count:100}):n=this.client.scanStream({match:t+"*",count:100});let i=await ufa(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(t){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:t}),this.client.keys(this.prefixed(t))))}async exists(t){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:t}),await this.client.exists(this.prefixed(t))))}async get(t){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:t});let n=await this.client.get(this.prefixed(t));n!=null&&n.key&&(n.key=t);try{return JSON.parse(n)}catch{return n}})}async bulkGet(t){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:t.length}),t.length===0)return{};let n=await this.client.mget(t.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,qmn.zip)(t,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${t.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(t,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:t,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(t),r),n&&await this.client.expire(this.prefixed(t),n)})}async bulkStore(t,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(t).length,expirySeconds:r});let i=Object.entries(t).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(t){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:t}),await this.client.ttl(this.prefixed(t))))}async setExpiry(t,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:t,expirySeconds:r}),await this.client.expire(this.prefixed(t),r)))}async delete(t){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:t}),await this.client.del(this.prefixed(t))})}async bulkDelete(t){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:t.length}),await this.client.del(t.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async t=>{let r=await this.scan();t.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(t){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:t});let n=await this.client.incr(this.prefixed(t));if(isNaN(n))throw new Error(`Redis ${t} does not contain a number`);return n})}async deleteIfValue(t,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:t});let i=`
|
|
1367
|
+
`),i=n[2]&&n[2].indexOf("Up")!==-1;i&&(console.log(jc("Stopping services, this may take a moment.")),await Jue.default.stop()),console.log(jc("Beginning update, this may take a few minutes."));let o;t?o=xVi:o=AVi,await Jue.default.pullMany(o,{log:!0}),i&&(console.log(Fc("Update complete, restarting services...")),await Xj())})}s(w9t,"update");var T9t=new NS("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'.",Xue).addSubOption("--start","Start the configured platform in current directory.",Xj).addSubOption("--status","Check the status of currently running services.",S9t).addSubOption("--stop","Stop the configured platform in the current directory.",E9t).addSubOption("--update","Update the Budibase images to the latest version.",w9t).addSubOption("--watch-plugin-dir [directory]","Add plugin directory watching to a Budibase install.",Yue).addSubOption("--gen-user","Create an admin user automatically as part of first start.",Que).addSubOption("--single","Specify this with init to use the single image.");iI();var mv=at(require("fs")),hj=require("path");var Zue=at(require("pouchdb"));ad();var A9t=at(require("node-fetch"));function ele(e){let t;e?t={prefix:e}:t={prefix:void 0,adapter:"leveldb"};let r=require("@budibase/pouchdb-replication-stream");return Zue.default.plugin(r.plugin),Zue.default.adapter("writableStream",r.adapters.writableStream),Zue.default.defaults(t)}s(ele,"getPouch");async function x9t(e){let t=await(0,A9t.default)(ije(encodeURI(`${e}/_all_dbs`)),{method:"GET"});if(t.status===200)return await t.json();throw"Cannot connect to CouchDB instance"}s(x9t,"getAllDbs");ad();var c2i=at(require("dotenv")),e4t=at(require("fs"));ZD();Ir();Ir();var H_={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"}},C9t={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var O3={};Co(O3,{ColumnSplitter:()=>r6e,NoEmptyFilterStrings:()=>Ter,buildQuery:()=>Aer,cleanupQuery:()=>s6e,fixupFilterArrays:()=>a6e,getKeyNumbering:()=>o6e,getValidOperatorsForType:()=>Sss,hasFilters:()=>n6e,limit:()=>Cer,recurseLogicalOperators:()=>i6e,removeKeyNumbering:()=>cle,runQuery:()=>nfe,search:()=>Ass,sort:()=>xer,splitFiltersArray:()=>ule});Ir();var C3=at(Mje());var nM={};Co(nM,{filterValueToLabel:()=>yKi,hasSchema:()=>bKi,isSupportedUserSearch:()=>UKt,parallelForeach:()=>_Ki,processSearchFilters:()=>Yje,toMap:()=>vKi,trimOtherProps:()=>EKi,unreachable:()=>gKi});Ir();var BKt=at(LKt());var mKi=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function gKi(e,t){let r=t?.message||`No such case in exhaustive switch: ${e}`;if(!!!t?.doNotThrow)throw new Error(r)}s(gKi,"unreachable");async function _Ki(e,t,r){let n=[],i=Symbol.asyncIterator in e,o=i?e[Symbol.asyncIterator]():e[Symbol.iterator](),a=s(async()=>{let c=await(i?o.next():Promise.resolve(o.next()));for(;!c.done;)await t(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(_Ki,"parallelForeach");function yKi(){return Object.keys(H_).reduce((e,t)=>{let n=H_[t];return e[n.value]=n.label,e},{})}s(yKi,"filterValueToLabel");function bKi(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null&&!(e instanceof Date)&&Object.keys(e).length>0}s(bKi,"hasSchema");function EKi(e,t){return Object.keys(e).filter(n=>t.includes(n)).reduce((n,i)=>({...n,[i]:e[i]}),{})}s(EKi,"trimOtherProps");function UKt(e){let t=[{op:"string",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=e;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if($ue(o)){for(let l of e[o].conditions)if(!UKt(l))return!1;return!0}let c=Object.keys(a||{});if(c.length===0)continue;if(!t.find(l=>l.op===o&&c.length===1&&c[0]===l.key))return!1}return!0}s(UKt,"isSupportedUserSearch");function Yje(e){if(!e||e.length===0)return;let{allOr:t,onEmptyFilter:r,filters:n}=ule(e);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:t?"any":"all",filters:n.map(i=>{let o=(0,BKt.default)(i,mKi);return o.field=cle(o.field),o})}]}}s(Yje,"processSearchFilters");function vKi(e,t){return t.reduce((r,n)=>(r[n[e]]=n,r),{})}s(vKi,"toMap");var ox={};Co(ox,{cancelableTimeout:()=>FKt,cron:()=>sss,deepGet:()=>Qje,duplicateName:()=>nss,getSequentialName:()=>iss,getUserColor:()=>wKi,getUserInitials:()=>SKi,getUserLabel:()=>TKi,isGoogleSheets:()=>CKi,isSQL:()=>OKi,lists:()=>e6e,retry:()=>RKi,roles:()=>Z4e,schema:()=>I7,views:()=>J4e,wait:()=>Xje,withTimeout:()=>AKi});var Qje=s((e,t)=>{if(!e||!t)return null;if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let r=t.split(".");for(let n=0;n<r.length;n++)e=e?.[r[n]];return e},"deepGet"),SKi=s(e=>{if(!e)return"?";let t="";return t+=e.firstName?e.firstName[0]:"",t+=e.lastName?e.lastName[0]:"",t!==""?t:e.email?.[0]||"U"},"getUserInitials"),wKi=s(e=>{let t=e?._id;if(!t)return"var(--spectrum-global-color-blue-400)";t=t.replace("ro_ta_users_","");let r=1;for(let n=0;n<t.length;n++)r+=t.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),TKi=s(e=>{if(!e)return"";let{firstName:t,lastName:r,email:n}=e;return t&&r?`${t} ${r}`:t||r||n},"getUserLabel");function FKt(e){let t;return[new Promise((r,n)=>{t=setTimeout(()=>{n({status:301,errno:"ETIME"})},e)}),()=>{clearTimeout(t)}]}s(FKt,"cancelableTimeout");async function AKi(e,t){let[r,n]=FKt(e),i=await Promise.race([t(),r]);return n(),i}s(AKi,"withTimeout");Ir();function CKi(e){return e==="GOOGLE_SHEETS"}s(CKi,"isGoogleSheets");function OKi(e){return!e||!e.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(e.source)!==-1||e.isSQL===!0}s(OKi,"isSQL");async function Xje(e){return new Promise(t=>setTimeout(t,e))}s(Xje,"wait");async function RKi(e,t){let{times:r=3}=t||{};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 Xje(o);try{return await e()}catch(a){n=a}}throw n}s(RKi,"retry");var cer=at(MS()),uer=at(oer());var aer="(Input cron: ",gis={"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 _is(e){let t=[];for(let r of e){r.includes(aer)&&(r=r.split(aer)[0].trim());for(let[n,i]of Object.entries(gis))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));t.push(r)}return t}s(_is,"improveErrors");function ler(e,t=4){let r=uer.default.parseExpression(e),n=[];for(let i=0;i<t;i++)n.push(r.next().toString());return n}s(ler,"getNextExecutionDates");function fer(e){let t=(0,cer.default)(e,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return t.isValid()?{valid:!0}:{valid:!1,err:_is(t.getError())}}s(fer,"validate");var I7={};Co(I7,{decodeNonAscii:()=>W4e,encodeNonAscii:()=>Eis,isDeprecatedSingleUserColumn:()=>yis,isNumeric:()=>vis,isRequired:()=>bis});Ir();function yis(e){return e.type==="bb_reference"&&e.subtype==="user"&&e.constraints?.type!=="array"}s(yis,"isDeprecatedSingleUserColumn");function bis(e){return!!e&&(typeof e.presence!="boolean"&&e.presence?.allowEmpty===!1||e.presence===!0)}s(bis,"isRequired");function Eis(e){return e.split("").map(t=>t.charCodeAt(0)>127?"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"):t).join("")}s(Eis,"encodeNonAscii");function W4e(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}s(W4e,"decodeNonAscii");function vis(e){return e.type==="number"||e.type==="bigint"}s(vis,"isNumeric");var J4e={};Co(J4e,{basicFields:()=>Jis,calculationFields:()=>Xis,hasCalculationFields:()=>Qis,isBasicViewField:()=>Kis,isCalculationField:()=>k7,isCalculationView:()=>Yis,isV2:()=>Zis,isVisible:()=>Eer});Ir();var X4e=at(Q4e());function k7(e){return"calculationType"in e}s(k7,"isCalculationField");function Kis(e){return!k7(e)}s(Kis,"isBasicViewField");function Yis(e){return e.type==="calculation"}s(Yis,"isCalculationView");function Qis(e){return Object.values(e.schema||{}).some(k7)}s(Qis,"hasCalculationFields");function Xis(e){return(0,X4e.default)(e.schema||{},k7)}s(Xis,"calculationFields");function Eer(e){return e.visible!==!1}s(Eer,"isVisible");function Jis(e,t){let{visible:r=!0}=t||{};return(0,X4e.default)(e.schema||{},n=>!k7(n)&&(!r||Eer(n)))}s(Jis,"basicFields");function Zis(e){return e.version===2}s(Zis,"isV2");var Z4e={};Co(Z4e,{checkForRoleInheritanceLoops:()=>tss});Ir();function ess(e){return`role${Fs}${e}`}s(ess,"prefixForCheck");function tss(e){let t=new Map;e.forEach(o=>{t.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=ess(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let c=t.get(a)||t.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"),!!e.find(o=>i(o._id))}s(tss,"checkForRoleInheritanceLoops");var e6e={};Co(e6e,{punctuateList:()=>rss});function rss(e){return e.length===0?"":e.length===1?e[0]:e.length===2?e.join(" and "):e.slice(0,-1).join(", ")+" and "+e[e.length-1]}s(rss,"punctuateList");var nss=s((e,t)=>{let r=new RegExp("\\s(\\d+)$"),n=e.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];t.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"),iss=s((e,t,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!t?.length)return"";let o=t.trim(),a=n?`${t}1`:o;if(!e?.length)return a;let c=0;return e.forEach(u=>{let l=r?.(u)??u;if(typeof l!="string"||!l.startsWith(o))return;let f=l.split(o);if(f.length!==2)return;f[1].trim()===""&&(f[1]="1");let d=parseInt(f[1]);d>c&&(c=d)}),c===0?a:`${t}${i}${c+1}`},"getSequentialName");var sss={getNextExecutionDates:ler,validate:fer};var rfe=at(_b()),t6e=at(Ng());var Ess=/{{([^{].*?)}}/g,wer=Object.values(wK),vss=[...Object.values(Wj),...Object.values(YD),...Object.values(SK)],Sss=s((e,t,r)=>{let n=H_,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:f}=e;u==="string"?f==="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"||I7.isDeprecatedSingleUserColumn(e)?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="bb_reference"?c=a:u==="barcodeqr"&&(c=i);let d=r?.tableId?.includes("datasource_plus");return t==="_id"&&d&&(c=[n.Equals,n.NotEquals,n.In]),c},"getValidOperatorsForType"),Ter=[H_.StartsWith.value,H_.Like.value,H_.Equals.value,H_.NotEquals.value,H_.Contains.value,H_.NotContains.value,H_.ContainsAny.value,H_.In.value];function i6e(e,t){for(let r of wer)e[r]&&(e[r].conditions=e[r].conditions.map(n=>t(n)));return e}s(i6e,"recurseLogicalOperators");var s6e=s(e=>{for(let t of Ter)if(e[t])for(let r of Object.keys(e)){if(r!==t)continue;if(typeof e[r]=="object")for(let[i,o]of Object.entries(e[r]))(o==null||o===""||wss(o))&&delete e[t][i]}return e=i6e(e,s6e),e},"cleanupQuery");function wss(e){return Array.isArray(e)&&e.length===0}s(wss,"isEmptyArray");var cle=s(e=>o6e(e).key,"removeKeyNumbering"),o6e=s(e=>{if(typeof e=="string"&&e.match(/\d[0-9]*:/g)!=null){let t=e.split(":");return{prefix:`${t.shift()}:`,key:t.join(":")}}else return{key:e}},"getKeyNumbering"),r6e=class{static{s(this,"ColumnSplitter")}constructor(t,r){if(this.tableNames=t.map(n=>n.name),this.tableIds=t.map(n=>n._id),this.relationshipColumnNames=t.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(t){let{prefix:r,key:n}=o6e(t),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=W4e(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Tss(e){if(!e||!e?.operator||!e?.field)return;let t={},{operator:r,field:n,type:i,externalType:o}=e,{value:a}=e;(r==="empty"||r==="notEmpty")&&(a=null);let c=typeof a=="string"&&(a.match(Ess)||[]).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(Hue(r))return t[r]??={},t[r][n]=a,t}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(Hue(r)){let l=C9t[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};t[r]??={},t[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!=="")t.range??={},t.range[n]={...t.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")t.range??={},t.range[n]={...t.range[n],low:a};else if(Szt(r)||wzt(r)||Hue(r))i==="boolean"?r==="equal"&&a===!1?(t.notEqual=t.notEqual||{},t.notEqual[n]=!0):r==="notEqual"&&a===!1?(t.equal=t.equal||{},t.equal[n]=!0):(t[r]??={},t[r][n]=a):(t[r]??={},t[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return t}s(Tss,"buildCondition");function ule(e){let t={filters:[]};for(let r of e)"operator"in r&&r.operator==="allOr"?t.allOr=!0:"onEmptyFilter"in r?t.onEmptyFilter=r.onEmptyFilter:t.filters.push(r);return t}s(ule,"splitFiltersArray");function Aer(e){if(!e)return{};if(Array.isArray(e)&&(e=Yje(e),!e))return{};let t={};e.onEmptyFilter?t.onEmptyFilter=e.onEmptyFilter:t.onEmptyFilter="all";let r=Ser(e.logicalOperator||"all");return t[r]={conditions:(e.groups||[]).map(n=>{if(n.groups){let u=Aer(n);return delete u.onEmptyFilter,u}let{allOr:i,onEmptyFilter:o,filters:a}=ule(n.filters||[]);o&&(t.onEmptyFilter=o);let c=i?"$or":"$and";return n.logicalOperator&&(c=Ser(n.logicalOperator)),{[c]:{conditions:a.map(Tss).filter(u=>u)}}})},t}s(Aer,"buildQuery");function Ser(e){return e==="all"?"$and":"$or"}s(Ser,"logicalOperatorFromUI");function a6e(e){if(!e)return e;for(let t of Object.values(YD)){let r=e[t];if(!(r==null||!(0,rfe.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 i6e(e,a6e),e}s(a6e,"fixupFilterArrays");function Ass(e,t){let r=nfe(e,t.query);t.sort&&(r=xer(r,t.sort,t.sortOrder||"ascending",t.sortType));let n=r.length;t.limit&&(r=Cer(r,t.limit.toString()));let i={rows:r};return t.countRows&&(i.totalRows=n),i}s(Ass,"search");function nfe(e,t){if(!e||!Array.isArray(e))return[];if(!t)return e;if(t=s6e(t),t=a6e(t),!n6e(t)&&t.onEmptyFilter==="none")return[];let r=s((A,L)=>$=>{for(let[U,G]of Object.entries(t[A]||{})){let Z=$ue(A)?$:Qje($,cle(U)),re=L(Z,G);if(t.allOr&&re)return!0;if(!t.allOr&&!re)return!1}return!t.allOr},"match"),n=r("string",(A,L)=>typeof A!="string"||typeof L!="string"?!1:A.toLowerCase().startsWith(L.toLowerCase())),i=r("fuzzy",(A,L)=>typeof A!="string"||typeof L!="string"?!1:A.toLowerCase().includes(L.toLowerCase())),o=r("range",(A,L)=>{if(A==null||A===""||((0,rfe.default)(L.low)&&(0,t6e.default)(L.low)&&(L.low=void 0),(0,rfe.default)(L.high)&&(0,t6e.default)(L.high)&&(L.high=void 0),L.low==null&&L.high==null))return!1;let $=+A;if(!isNaN($)){let G=+L.low,Z=+L.high;if(!isNaN(G)&&!isNaN(Z))return $>=G&&$<=Z;if(isNaN(G)){if(!isNaN(Z))return $<=Z}else return $>=G}let U=(0,C3.default)(A);if(U.isValid()){let G=(0,C3.default)(L.low||"0000-00-00T00:00:00.000Z"),Z=(0,C3.default)(L.high||"9999-00-00T00:00:00.000Z");if(G.isValid()&&Z.isValid())return U.isAfter(G)&&U.isBefore(Z)||U.isSame(G)||U.isSame(Z);if(G.isValid())return U.isAfter(G)||U.isSame(G);if(Z.isValid())return U.isBefore(Z)||U.isSame(Z)}return L.low!=null&&L.high!=null?A>=L.low&&A<=L.high:L.low!=null?A>=L.low:L.high!=null?A<=L.high:!1}),a=s((A,L)=>{if(Array.isArray(A)){for(let U of A)if(a(U,L))return!0;return!1}if(A&&typeof A=="object"&&typeof L=="string")return A._id===L;if(A===L)return!0;if(A==null&&L!=null||A!=null&&L==null)return!1;let $=(0,C3.default)(A);if($.isValid()){let U=(0,C3.default)(L);if(U.isValid())return $.isSame(U)}return!1},"_valueMatches"),c=s(A=>(...L)=>!A(...L),"not"),u=r("equal",a),l=r("notEqual",c(a)),f=s(A=>typeof A=="string"?A==="":Array.isArray(A)?A.length===0:A&&typeof A=="object"?Object.keys(A).length===0:A==null,"_empty"),d=r("empty",f),p=r("notEmpty",c(f)),h=r("oneOf",(A,L)=>(typeof L=="string"&&(L=L.split(",")),typeof A=="number"&&(L=L.map($=>parseFloat($))),Array.isArray(L)?L.some($=>a(A,$)):!1)),g=s(A=>(L,$)=>!Array.isArray(L)||(typeof $=="string"&&($=$.split(","),typeof L[0]=="number"&&($=$.map(U=>parseFloat(U)))),!Array.isArray($))?!1:$.length===0?!0:$[A](U=>a(L,U)),"_contains"),b=r("contains",(A,L)=>Array.isArray(L)&&L.length===0?!0:g("every")(A,L)),v=r("notContains",(A,L)=>Array.isArray(L)&&L.length===0?!0:c(g("every"))(A,L)),S=r("containsAny",g("some")),C=r("$and",(A,L)=>{if(!L.length)return!1;for(let $ of L)if(!nfe([A],$).length)return!1;return!0}),R=r("$or",(A,L)=>{if(!L.length)return!1;for(let $ of L)if(nfe([A],{...$,allOr:!0}).length)return!0;return!1}),N=s(A=>{let L={string:n,fuzzy:i,range:o,equal:u,notEqual:l,empty:d,notEmpty:p,oneOf:h,contains:b,containsAny:S,notContains:v,$and:C,$or:R},$=Object.entries(t||{}).filter(([U,G])=>!["allOr","onEmptyFilter"].includes(U)&&G&&Object.keys(G).length>0).map(([U])=>L[U]?.(A)??!1);return n6e(t)?t.allOr?$.some(U=>U===!0):$.every(U=>U===!0):!0},"docMatch");return e.filter(N)}s(nfe,"runQuery");function xer(e,t,r,n="string"){if(!t||!r||!n)return e;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return e.slice().sort((o,a)=>{let c=i(o[t]),u=i(a[t]),l=u==null||c>u?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(xer,"sort");function Cer(e,t){let r=typeof t=="number"?t:parseFloat(t);return isNaN(r)?e:e.slice(0,r)}s(Cer,"limit");var n6e=s(e=>{if(!e)return!1;let t=s(r=>{for(let n of wer)if(r[n])for(let i of r[n]?.conditions||[]){let o=t(i);if(o)return o}for(let n of vss){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 t(e)},"hasFilters");var Sb={};Co(Sb,{applications:()=>u6e,automations:()=>l6e,screens:()=>h6e,users:()=>p6e});var u6e={};Co(u6e,{getDevAppID:()=>xss,getProdAppID:()=>P7});Ir();var c6e=XD("app"),N7=XD("app_dev");function xss(e){if(!e)throw new Error("No app ID provided");if(e.startsWith(N7))return e;let t=e.split(c6e);t.shift();let r=t.join(c6e);return`${N7}${r}`}s(xss,"getDevAppID");function P7(e){if(!e)throw new Error("No app ID provided");if(!e.startsWith(N7))return e;let t=e.split(N7);t.shift();let r=t.join(N7);return`${c6e}${r}`}s(P7,"getProdAppID");var l6e={};Co(l6e,{checkForCollectStep:()=>Iss,isAppAction:()=>Rss,isRowAction:()=>Css,isWebhookAction:()=>Oss});Ir();function Css(e){return e.definition.trigger?.stepId==="ROW_ACTION"}s(Css,"isRowAction");function Oss(e){return e.definition.trigger?.stepId==="WEBHOOK"}s(Oss,"isWebhookAction");function Rss(e){return e.definition.trigger?.stepId==="APP"}s(Rss,"isAppAction");function Oer(e){if(!e||!Array.isArray(e))return!1;for(let t of e){if(t.stepId==="COLLECT")return!0;if(LVt(t)&&t.inputs.children){for(let r of Object.values(t.inputs.children))if(Oer(r))return!0}}return!1}s(Oer,"hasCollectBlockRecursive");function Iss(e){return Oer(e.definition.steps)}s(Iss,"checkForCollectStep");var p6e={};Co(p6e,{canCreateApps:()=>kss,containsUserID:()=>Uss,getGlobalUserID:()=>Bss,getUserAppGroups:()=>Fss,hasAdminPermissions:()=>d6e,hasAppBuilderPermissions:()=>ofe,hasBuilderPermissions:()=>Lss,hasCreatorPermissions:()=>afe,isAdmin:()=>D7,isAdminOrBuilder:()=>Pss,isAdminOrGlobalBuilder:()=>Dss,isAdminOrWorkspaceBuilder:()=>Nss,isBuilder:()=>f6e,isCreator:()=>qss,isGlobalBuilder:()=>sfe,userAppAccessList:()=>jss});Ir();function f6e(e,t){return e?e.builder?.global?!0:!!(t&&e.builder?.apps?.includes(P7(t))):!1}s(f6e,"isBuilder");function sfe(e){return f6e(e)&&!ofe(e)||D7(e)}s(sfe,"isGlobalBuilder");function kss(e){return sfe(e)||afe(e)}s(kss,"canCreateApps");function D7(e){return e?d6e(e):!1}s(D7,"isAdmin");function Nss(e,t){return e?!!(D7(e)||t&&e.builder?.apps?.includes(P7(t))):!1}s(Nss,"isAdminOrWorkspaceBuilder");function Pss(e,t){return f6e(e,t)||D7(e)}s(Pss,"isAdminOrBuilder");function Dss(e){return sfe(e)||D7(e)}s(Dss,"isAdminOrGlobalBuilder");function ofe(e){if(!e)return!1;let t=e.builder?.apps?.length;return!!!e.builder?.global&&t!=null&&t>0}s(ofe,"hasAppBuilderPermissions");function Mss(e){return e?!!Object.values(e.roles??{}).find(t=>t==="CREATOR"):!1}s(Mss,"hasAppCreatorPermissions");function Lss(e){return e?e.builder?.global||ofe(e)||afe(e):!1}s(Lss,"hasBuilderPermissions");function d6e(e){return e?!!e.admin?.global:!1}s(d6e,"hasAdminPermissions");function afe(e){return e?!!e.builder?.creator:!1}s(afe,"hasCreatorPermissions");function qss(e){return e?sfe(e)||d6e(e)||afe(e)||ofe(e)||Mss(e):!1}s(qss,"isCreator");function Bss(e){if(typeof e!="string")return e;let t=`ro${Fs}ta_users${Fs}`;return e.startsWith(t)?e.split(t)[1]:e}s(Bss,"getGlobalUserID");function Uss(e){return typeof e!="string"?!1:e.includes(`us${Fs}`)}s(Uss,"containsUserID");function Rer(e,t){return t?.filter(r=>r.users?.find(n=>n._id===e))||[]}s(Rer,"getUserGroups");function Fss(e,t,r){let n=P7(e);return Rer(t,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Fss,"getUserAppGroups");function jss(e,t){let n=Rer(e._id,t).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(e?.roles||{}),...n];return[...new Set(i)]}s(jss,"userAppAccessList");var h6e={};Co(h6e,{findInSettings:()=>$ss});function $ss(e,t){let r=[];function n(i,o=""){for(let[a,c]of Object.entries(i))c&&(typeof c=="string"&&c.includes(t)?r.push({setting:o?`${o}.${a}`:a,value:c}):typeof c=="object"&&n(c,a))}return s(n,"recurse"),n(e.props),r}s($ss,"findInSettings");Ir();var m6e={by_email2:["by_email"]},Nv={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"}},TM=XD("app"),Gss=XD("app_dev"),bI=Gss;var M7="_design/sqlite";var zss=`ro${Fs}ta_users${Fs}`;var cp="default";Ir();Ir();var g6e=require("crypto"),ufe=require("fs"),Wss=at(I3()),q7=require("path");var Kss=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,q7.resolve)((0,q7.join)(__dirname,"..","..","..")),ker=!1;!ker&&cfe()&&!_6e()&&(require("dotenv").config({path:(0,q7.join)(Kss,".env")}),ker=!0);function _6e(){return Per()}s(_6e,"isTest");function Per(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(Per,"isJest");function cfe(){return process.env.NODE_ENV!=="production"}s(cfe,"isDev");function Yss(e){if(e)return parseInt(e)}s(Yss,"parseIntSafe");var k3={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},Ner=!!parseInt(process.env.SELF_HOSTED||"");function Qss(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Qss,"getAPIEncryptionKey");function Xss(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Xss,"httpLogging");function Jss(){function e(r){function n(c,u){let l=`${u}/${c}`;if((0,ufe.existsSync)(l))return l;let f=`${u}/..`;return f===u?null:n(c,f)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,ufe.readFileSync)(i,"utf-8");return JSON.parse(o)}s(e,"getParentFile");let t;if(cfe()&&!_6e())try{t=`${e("lerna.json").version}+local`}catch{}try{let r=e("package.json");return{VERSION:t||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(Jss,"getPackageJsonFields");function Zss(){return EI.SERVICE_TYPE==="worker"}s(Zss,"isWorker");function eos(){return EI.SERVICE_TYPE==="apps"}s(eos,"isApps");function tos(){return EI.BUDIBASE_ENVIRONMENT==="QA"}s(tos,"isQA");function ros(){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(ros,"getServiceName");var EI={isTest:_6e,isJest:Per,isDev:cfe,isWorker:Zss,isApps:eos,isQA:tos,isProd:()=>!cfe(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JS_BCRYPT:process.env.JS_BCRYPT,JWT_SECRET:process.env.JWT_SECRET?(0,g6e.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,g6e.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Qss(),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_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,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:Ner,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||k3.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||k3.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||k3.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||k3.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||k3.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||k3.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:ros(),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:Xss(),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:Ner?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...Jss(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(e,t){process.env[e]=t,EI[e]=t},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:Yss(process.env.BSON_BUFFER_SIZE)};for(let[e,t]of Object.entries(EI))t==="0"&&(EI[e]=0),t==="false"&&(EI[e]=0);var ut=EI;var B7="-";function y6e(){let e=ut.REDIS_PASSWORD,t=ut.REDIS_URL.split("//");t=t.length>1?t[1]:t[0],t=t.split("@"),t.length>1?(e=t[0].split(":")[1],t=t[1]):t=t[0];let[r,n]=t.split(":"),i=parseInt(n);return{host:r,password:e,port:isNaN(i)?6379:i}}s(y6e,"getRedisConnectionDetails");function Der(){return{slotsRefreshTimeout:2e3,dnsLookup:(e,t)=>t(null,e),redisOptions:{...N3(),tls:{}}}}s(Der,"getRedisClusterOptions");function N3(){let{host:e,password:t,port:r}=y6e();return{connectTimeout:3e4,port:r,host:e,password:t}}s(N3,"getRedisOptions");function Mer(e){let t=e.split(B7);return t.length>=2?(t.shift(),t.join(B7)):t[0]}s(Mer,"removeDbPrefix");var Wmn=at(require("events"));H7();function US(){return AM().replace(/-/g,"")}s(US,"newid");var gos=ut.JS_BCRYPT?require("bcryptjs"):require("bcrypt"),B4u=ut.SALT_ROUNDS||10;async function itr(e,t){return gos.compare(e,t)}s(itr,"compare");Ir();var Cfa=at(h$e());var Pu={};Co(Pu,{DEFAULT_TENANT_ID:()=>cp,baseGlobalDBName:()=>zEe,doInAutomationContext:()=>ZUo,doInContext:()=>bct,doInEnvironmentContext:()=>uFo,doInFeatureFlagOverrideContext:()=>htn,doInIPContext:()=>dtn,doInIdentityContext:()=>Gfe,doInLicenseContext:()=>tFo,doInScimContext:()=>lFo,doInSelfHostTenantUsingCloud:()=>eFo,doInTenant:()=>vC,doInWorkspaceContext:()=>iFo,doInWorkspaceMigrationContext:()=>oFo,ensureSnippetContext:()=>ptn,getAuditLogDBName:()=>ltn,getAuditLogsDB:()=>dFo,getAutomationId:()=>Ect,getCurrentContext:()=>A2,getDevWorkspaceDB:()=>hFo,getDevWorkspaceId:()=>aFo,getEnvironmentVariables:()=>fFo,getFeatureFlagOverrides:()=>xct,getFeatureFlags:()=>Tct,getGlobalDB:()=>_h,getGlobalDBName:()=>RZ,getIP:()=>vct,getIdentity:()=>AI,getLicense:()=>rFo,getPlatformURL:()=>yct,getProdWorkspaceDB:()=>pFo,getProdWorkspaceId:()=>cFo,getScimDBName:()=>YUo,getSelfHostCloudDB:()=>nFo,getTableForView:()=>mFo,getTenantIDFromWorkspaceID:()=>z$,getTenantId:()=>eo,getWorkspaceDB:()=>Sct,getWorkspaceId:()=>e_,identity:()=>tY,isMultiTenant:()=>T2,isScim:()=>wct,isSelfHostUsingCloud:()=>VEe,isTenancyEnabled:()=>XUo,isTenantIdSet:()=>QUo,setFeatureFlags:()=>Act,setTableForView:()=>gFo});var tY={};Co(tY,{doInAccountContext:()=>vds,doInIdentityContext:()=>m$e,doInUserContext:()=>Dir,getAccountUserId:()=>Mir,getIdentity:()=>Pir});Ir();function Pir(){return AI()}s(Pir,"getIdentity");function m$e(e,t){return Gfe(e,t)}s(m$e,"doInIdentityContext");function Dir(e,t,r){let n={...e,_id:e._id,type:"user",hostInfo:{ipAddress:t.request.ip,userAgent:t.userAgent.source}};return m$e(n,r)}s(Dir,"doInUserContext");function vds(e,t){let r=Mir(e),n=e.tenantId,i={_id:r,type:"user",tenantId:n,account:e};return m$e(i,t)}s(vds,"doInAccountContext");function Mir(e){let t;return pje(e)?t=e.budibaseUserId:t=e.accountId,t}s(Mir,"getAccountUserId");var xI=s(e=>{let t=Lir(e),r,n;if(t.auth?.username)r=t.auth.username;else if(ut.COUCH_DB_USERNAME)r=ut.COUCH_DB_USERNAME;else if(!ut.isTest())throw new Error("CouchDB username not set");if(t.auth?.password)n=t.auth.password;else if(ut.COUCH_DB_PASSWORD)n=ut.COUCH_DB_PASSWORD;else if(!ut.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=ut.COUCH_DB_SQL_URL;if(ut.isDev()&&!o)o="http://localhost:4006";else if(!o&&t.url){let a=new URL(t.url);o=t.url.replace(a.port,"4984")}return{url:t.url,sqlUrl:Lir(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Lir=s((e=ut.COUCH_DB_URL)=>{let t,r,n,i;if(e){/^https?:\/\//i.test(e)||(e=`http://${e}`);let a=e.split("://"),c=a[0],u=a.slice(1).join("://");if(e.includes("@")){let l=u.split("@");i=l[l.length-1];let f=l.slice(0,-1).join("@");if(f.includes(":")){let d=f.split(":");r=d[0],n=d.slice(1).join(":")}else r=f}else i=u;t=`${c}://${i}`}return{url:t,auth:{username:r,password:n}}},"getUrlInfo");var atn=at(vlr());Ir();var Slr=at(require("node-fetch"));function qde(e){return e.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(qde,"checkSlashesInUrl");async function IHe({url:e,cookie:t,method:r,body:n}){let i={method:r,headers:{Authorization:t}};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,Slr.default)(qde(encodeURI(e)),i)}s(IHe,"directCouchUrlCall");var REs=at(require("pouchdb"));var IEs,kEs=!1;var NEs=s(()=>{if(!kEs)throw new Error("init has not been called")},"checkInitialised");function FI(e,t){NEs();let r=new IEs(e,t),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(FI,"getPouchDB");var qu=at(Qx());var OZ=class{constructor(t){this.db=t}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(t){return qu.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:t}),t?this.db.exists(t):this.db.exists()))}get(t){return qu.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:t}),this.db.get(t)))}tryGet(t){return qu.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:t});let n=await this.db.tryGet(t);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(t,r){return qu.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:t?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(t,r);return n.addTags({num_docs_found:i.length}),i})}remove(t,r){return qu.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:t,rev:r});let i=typeof t=="object",o=i?t._id:t;r=i?t._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(t,r){return qu.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:t.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(t,r)))}put(t,r){return qu.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:t._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(t,r);return n.addTags({ok:i.ok}),i})}bulkDocs(t){return qu.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:t.length}),this.db.bulkDocs(t)))}async find(t){return qu.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.find(t);return r.addTags({rows_length:n.docs.length}),n})}allDocs(t){return qu.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.allDocs(t);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(t,r){return qu.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:t,...r});let i=await this.db.query(t,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return qu.default.trace("db.destroy",async t=>{t.addTags({db_name:this.name});let r=await this.db.destroy();return t.addTags({ok:r.ok}),r})}compact(){return qu.default.trace("db.compact",async t=>{t.addTags({db_name:this.name});let r=await this.db.compact();return t.addTags({ok:r.ok}),r})}dump(t,r){return qu.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(t,r)))}load(...t){return qu.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.load(...t)))}createIndex(...t){return qu.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.createIndex(...t)))}deleteIndex(...t){return qu.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.deleteIndex(...t)))}getIndexes(...t){return qu.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.getIndexes(...t)))}sql(t,r){return qu.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(t,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(t){return qu.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(t)?t.length:1}),this.db.sqlPurgeDocument(t)))}sqlDiskCleanup(){return qu.default.trace("db.sqlDiskCleanup",t=>(t.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};Ir();var iSl=`${Fs}${Fs}`;var sSl=encodeURIComponent(" ");function gct(e,t,r){if(!ut.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${e.toUpperCase()}] query="${t}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(gct,"sqlLog");var itn="Database does not exist.";function stn(e){return(0,atn.default)({url:e.url,requestDefaults:{headers:{Authorization:e.cookie}},parseUrl:!1})}s(stn,"buildNano");var m1=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 GEe=class e{constructor(t,r,n){this.couchInfo=xI();this.name=t,this.pouchOpts=r||{},n&&(this.couchInfo=xI(n),this.instanceNano=stn(this.couchInfo)),e.nano||e.init()}static{s(this,"DatabaseImpl")}static init(){let t=xI();e.nano=stn(t)}exists(t){return t===void 0?this.dbExists():this.docExists(t)}async dbExists(){return(await IHe({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(t){try{return await this.performCall(r=>()=>r.head(t)),!0}catch{return!1}}nano(){return this.instanceNano||e.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let t=!this.pouchOpts?.skip_setup,r=await this.exists();if(!t&&!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 m1(n.message,n)}return this.getDb()}async performCallWithDBCreation(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===itn)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(t);throw new m1(`CouchDB error: ${i.message}`,i)}}async performCall(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){throw new m1(`CouchDB error: ${i.message}`,i)}}async get(t){return this.performCall(r=>{if(!t)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(t)})}async tryGet(t){try{return await this.get(t)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(t,r){if(!t||t.length===0)return[];t=[...new Set(t)];let n=!r?.excludeDocs,i=await this.allDocs({keys:t,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(f=>o(f)).map(f=>f.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(u=>n?u.doc:u.value)}async remove(t,r){return this.performCall(n=>{let i,o;if(Ozt(t)?(i=t._id,o=t._rev):(i=t,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(t,r){let n=await this.performCall(a=>()=>a.bulk({docs:t.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 m1(o,{name:this.name,status:400})}async post(t,r){return t._id||(t._id=US()),this.put(t,r)}async put(t,r){if(!t._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(t.createdAt||(t.createdAt=new Date().toISOString()),t.updatedAt=new Date().toISOString(),r?.force&&t._id)try{let i=await this.get(t._id);i&&(t._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(t);return r?.returnDoc?{...i,doc:{...t,_rev:i.rev}}:i}})}async bulkDocs(t){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:t.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(t){return this.performCall(r=>async()=>r.find(t))}async allDocs(t){return this.performCall(r=>async()=>{try{return await r.list(t)}catch(n){if(n.reason===itn)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(t,r,n){t=qde(`${this.couchInfo.sqlUrl}/${t}`);let i={url:t,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await IHe(i),a=await o.text();if(o.status>300){let c;try{c=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new m1("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw c}return JSON.parse(a)})}async sql(t,r){let i=`/${this.name}/${M7}`;return gct("sqlite3",t,r),await this._sqlQuery(i,"POST",{query:t,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(t){Array.isArray(t)||(t=[t]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:t})}async query(t,r){return this.performCall(n=>{let[i,o]=t.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(M7)){let t=await this.get(M7);t.sql.tables={},await this.put(t),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(t){if(t.statusCode===404)return{ok:!0};throw new m1(t.message,t)}}async compact(){return this.performCall(t=>()=>t.compact())}async dump(t,r){return FI(this.name).dump(t,r)}async load(t){return FI(this.name).load(t)}async createIndex(t){return FI(this.name).createIndex(t)}async deleteIndex(t){return FI(this.name).deleteIndex(t)}async getIndexes(){return FI(this.name).getIndexes()}};function l0(e,t){return new OZ(new GEe(e,t))}s(l0,"getDB");function _ct(e){if(!e||e.startsWith(bI))return e;let t=e.split(TM);t.shift();let r=t.join(TM);return`${bI}${r}`}s(_ct,"getDevWorkspaceID");function G$(e){if(!e||!e.startsWith(bI))return e;let t=e.split(bI);t.shift();let r=t.join(bI);return`${TM}${r}`}s(G$,"getProdWorkspaceID");var ctn=require("async_hooks");var jl=class e{static{s(this,"Context")}static{this.storage=new ctn.AsyncLocalStorage}static run(t,r){return e.storage.run(t,()=>r())}static get(){return e.storage.getStore()}};var utn=null;function RZ(e){return e||(e=eo()),zEe(e)}s(RZ,"getGlobalDBName");function ltn(e){return e||(e=eo()),e===cp?Nv.AUDIT_LOGS.name:`${e}${Fs}${Nv.AUDIT_LOGS.name}`}s(ltn,"getAuditLogDBName");function YUo(e){return e||(e=eo()),e===cp?Nv.SCIM_LOGS.name:`${e}${Fs}${Nv.SCIM_LOGS.name}`}s(YUo,"getScimDBName");function zEe(e){return!e||e===cp?Nv.GLOBAL.name:`${e}${Fs}${Nv.GLOBAL.name}`}s(zEe,"baseGlobalDBName");function yct(){return ut.PLATFORM_URL}s(yct,"getPlatformURL");function T2(){return!!ut.MULTI_TENANCY}s(T2,"isMultiTenant");function QUo(){return!!jl.get()?.tenantId}s(QUo,"isTenantIdSet");function XUo(){return ut.MULTI_TENANCY}s(XUo,"isTenancyEnabled");function z$(e){if(!e)return;if(!T2())return cp;let t=e.split(Fs),r=t[1]==="dev";if(!(r&&t.length===3||!r&&t.length===2))return r?t[2]:t[1]}s(z$,"getTenantIDFromWorkspaceID");function JUo(e){let t;try{t=jl.get()}catch{t={}}return t={...t,...e},t}s(JUo,"updateContext");async function f0(e,t){sFo();let r=JUo(e);return jl.run(r,t)}s(f0,"newContext");async function ZUo(e){return await ptn(),await f0({tenantId:z$(e.workspaceId),appId:e.workspaceId,automationId:e.automationId},e.task)}s(ZUo,"doInAutomationContext");async function bct(e,t){let r=z$(e);return f0({tenantId:r,appId:e},t)}s(bct,"doInContext");async function vC(e,t){return ut.MULTI_TENANCY||(e=e||cp),f0(e?{tenantId:e}:{},t)}s(vC,"doInTenant");async function eFo(e,t){return f0({tenantId:e,isSelfHostUsingCloud:!0},t)}s(eFo,"doInSelfHostTenantUsingCloud");async function tFo(e,t){return f0({license:e},t)}s(tFo,"doInLicenseContext");function rFo(){return jl.get()?.license}s(rFo,"getLicense");function VEe(){return!!jl.get()?.isSelfHostUsingCloud}s(VEe,"isSelfHostUsingCloud");function nFo(){let e=jl.get();if(!e||!e.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return l0(Nv.SELF_HOST_CLOUD.name)}s(nFo,"getSelfHostCloudDB");async function iFo(e,t){return ftn(e,t)}s(iFo,"doInWorkspaceContext");async function ftn(e,t,r){if(!e)throw new Error("workspaceId is required");let n=z$(e),i={appId:e,...r};return n&&(i.tenantId=n),f0(i,t)}s(ftn,"_doInWorkspaceContext");async function Gfe(e,t){if(!e)throw new Error("identity is required");let r={identity:e};return e.tenantId&&(r.tenantId=e.tenantId),f0(r,t)}s(Gfe,"doInIdentityContext");function sFo(){if(jl.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(sFo,"guardMigration");async function oFo(e,t){return ftn(e,t,{isMigrating:!0})}s(oFo,"doInWorkspaceMigrationContext");function AI(){try{return jl.get()?.identity}catch{}}s(AI,"getIdentity");function eo(){if(!T2())return cp;let t=jl.get()?.tenantId;if(!t)throw new Error("Tenant id not found");return t}s(eo,"getTenantId");function Ect(){return jl.get()?.automationId}s(Ect,"getAutomationId");function e_(){let t=jl.get()?.appId;return!t&&ut.isTest()&&utn?utn:t}s(e_,"getWorkspaceId");function vct(){return jl.get()?.ip}s(vct,"getIP");var aFo=s(()=>{let e=e_();if(!e)throw new Error("Could not get workspaceId");return _ct(e)},"getDevWorkspaceId"),cFo=s(()=>{let e=e_();if(!e)throw new Error("Could not get workspaceId");return G$(e)},"getProdWorkspaceId");function uFo(e,t){if(!e)throw new Error("Must supply environment variables.");return f0({environmentVariables:e},t)}s(uFo,"doInEnvironmentContext");function lFo(e){return f0({isScim:!0},e)}s(lFo,"doInScimContext");function dtn(e,t){return f0({ip:e},t)}s(dtn,"doInIPContext");async function ptn(){let e=A2();if(!e||e.snippets)return;let t,r=Sct();r&&(t=(await r.tryGet("app_metadata"))?.snippets),e.snippets=t||[]}s(ptn,"ensureSnippetContext");function fFo(){let e=jl.get();return e.environmentVariables?e.environmentVariables:null}s(fFo,"getEnvironmentVariables");function _h(){let e=jl.get();if(!e||ut.MULTI_TENANCY&&!e.tenantId)throw new Error("Global DB not found");if(e.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return l0(zEe(e?.tenantId))}s(_h,"getGlobalDB");function dFo(){if(!eo())throw new Error("No tenant ID found - cannot open audit log DB");return l0(ltn())}s(dFo,"getAuditLogsDB");function Sct(e){let t=e_();if(!t)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(VEe())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return l0(t,e)}s(Sct,"getWorkspaceDB");function pFo(e){let t=e_();if(!t)throw new Error("Unable to retrieve prod DB - no workspace ID.");return l0(G$(t),e)}s(pFo,"getProdWorkspaceDB");function hFo(e){let t=e_();if(!t)throw new Error("Unable to retrieve dev DB - no workspace ID.");return l0(_ct(t),e)}s(hFo,"getDevWorkspaceDB");function wct(){return!!jl.get()?.isScim}s(wct,"isScim");function A2(){try{return jl.get()}catch{return}}s(A2,"getCurrentContext");function Tct(e){let t=A2();if(t)return t.featureFlagCache?.[e]}s(Tct,"getFeatureFlags");function Act(e,t){let r=A2();r&&(r.featureFlagCache??={},r.featureFlagCache[e]=t)}s(Act,"setFeatureFlags");function xct(){return A2()?.featureFlagOverrides||{}}s(xct,"getFeatureFlagOverrides");async function htn(e,t){return await f0({featureFlagOverrides:e},t)}s(htn,"doInFeatureFlagOverrideContext");function mFo(e){let t=A2();if(t)return t.viewToTableCache?.[e]}s(mFo,"getTableForView");function gFo(e,t){let r=A2();r&&(r.viewToTableCache??={},r.viewToTableCache[e]=t)}s(gFo,"setTableForView");var VSe=at(enn());var zSe=at(Qx()),qmn=at(I3());var Lmn;if(ut.MOCK_REDIS)try{Lmn=Mmn()}catch{console.log("Mock redis unavailable")}async function cfa(e=0){return await zSe.tracer.trace("Redis.init",async t=>{if(ut.MOCK_REDIS)return t.addTags({mock:!0}),new Lmn(N3());let r;if(ut.REDIS_CLUSTERED){t.addTags({clustered:!0});let{host:n,port:i}=y6e();r=new VSe.Cluster([{host:n,port:i}],Der())}else r=new VSe.default(N3());return new Promise((n,i)=>{r.on("error",o=>{t.addTags({error:!0}),console.error(`failed to connect to redis (db: ${e})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${e})`)}),r.on("ready",()=>{t.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${e})`),n(r)})})})}s(cfa,"init");function ufa(e,t){return new Promise((r,n)=>{let i=new Set;e.on("data",o=>o.forEach(a=>i.add(a))),e.on("error",o=>n(o)),e.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let c=await t.get(a);return c&&(c=JSON.parse(c)),{key:Mer(a),value:c}});r(await Promise.all(o))}catch(o){n(o)}})})}s(ufa,"promisifyStream");function lfa(e){return e.isCluster}s(lfa,"isCluster");var xmt=class e{static{s(this,"RedisWrapper")}constructor(t,r){this.client=t,this.db=r}static async init(t,r=0){return await zSe.tracer.trace("RedisWrapper.init",async n=>{let i=await cfa(r);return r&&!ut.isTest()&&(n.addTags({db:t}),i.select(r)),new e(i,t)})}trace(t,r){return zSe.tracer.trace(t,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(t){return t.includes(this.db)?t:`${this.db}${B7}${t}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(t=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:t}),t=`${this.db}${B7}${t}`;let n;lfa(this.client)?n=this.client.nodes("master")[0].scanStream({match:t+"*",count:100}):n=this.client.scanStream({match:t+"*",count:100});let i=await ufa(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(t){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:t}),this.client.keys(this.prefixed(t))))}async exists(t){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:t}),await this.client.exists(this.prefixed(t))))}async get(t){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:t});let n=await this.client.get(this.prefixed(t));n!=null&&n.key&&(n.key=t);try{return JSON.parse(n)}catch{return n}})}async bulkGet(t){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:t.length}),t.length===0)return{};let n=await this.client.mget(t.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,qmn.zip)(t,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${t.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(t,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:t,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(t),r),n&&await this.client.expire(this.prefixed(t),n)})}async bulkStore(t,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(t).length,expirySeconds:r});let i=Object.entries(t).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(t){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:t}),await this.client.ttl(this.prefixed(t))))}async setExpiry(t,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:t,expirySeconds:r}),await this.client.expire(this.prefixed(t),r)))}async delete(t){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:t}),await this.client.del(this.prefixed(t))})}async bulkDelete(t){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:t.length}),await this.client.del(t.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async t=>{let r=await this.scan();t.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(t){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:t});let n=await this.client.incr(this.prefixed(t));if(isNaN(n))throw new Error(`Redis ${t} does not contain a number`);return n})}async deleteIfValue(t,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:t});let i=`
|
|
1368
1368
|
if redis.call('GET', KEYS[1]) == ARGV[1] then
|
|
1369
1369
|
redis.call('DEL', KEYS[1])
|
|
1370
1370
|
end
|
|
@@ -1399,7 +1399,7 @@ $1`)};$ce.parseAttributes=s(function(t){return Object.keys(t).map(function(r){va
|
|
|
1399
1399
|
`}s(QUe,"frontendWrapJS");var g3i=at(S6t()),_3i=at(KW()),y3i=at(w6t()),b3i=at(C6t()),E3i=at(A6t()),v3i=at(r6t()),S3i=at(NUe()),w3i=at(T6t()),T3i=at(M6t());var uCu={math:g3i.default,array:_3i.default,number:y3i.default,url:b3i.default,string:E3i.default,comparison:v3i.default,object:S3i.default,regex:w3i.default,uuid:T3i.default},A3i=["sortBy"],lCu={date:WUe,duration:eue},zR;function rue(){if(zR)return zR;zR={};for(let e of Object.values(uCu))for(let[t,r]of Object.entries(e))zR[t]=(...n)=>r(...n,{});zR={...zR,...lCu};for(let e of A3i)delete zR[e];return Object.freeze(zR),zR}s(rue,"getJsHelperList");var XUe=s(e=>`(function(){
|
|
1400
1400
|
${e}
|
|
1401
1401
|
})();`,"iifeWrapper");var eK=class e extends Error{constructor(){super(e.message);this.code=e.code}static{s(this,"JsTimeoutError")}static{this.message="Timed out while executing JS"}static{this.code="JS_TIMEOUT_ERROR"}},Nj=class e extends Error{constructor(r){super(`error while running user-supplied JavaScript: ${r.toString()}`);this.userScriptError=r;this.code=e.code}static{s(this,"UserScriptError")}static{this.code="USER_SCRIPT_ERROR"}};var x3i=at(Ske());var JUe,c$t=s(e=>JUe=e,"setJSRunner"),C3i=s(()=>{JUe=void 0},"removeJSRunner"),a$t,fCu=s(e=>a$t=e,"setOnErrorLog"),dCu=s(e=>{if(!e||typeof e!="string")return e;let t=/\[+(.+)]+/,r=e.match(t);return r&&r[1]?r[1]:e},"removeSquareBrackets"),pCu=s(e=>e==="snippets"||e==="helpers"||e.startsWith("snippets.")||e.startsWith("helpers."),"isReservedKey"),hCu=s((e,t)=>{if(pCu(e))return;let r=/^(["'`]).*\1$/,n=t;return r.test(e)?e.substring(1,e.length-1):(e.split(".").forEach(i=>{if(n==null||typeof n!="object")return null;n=n[dCu(i)]}),n)},"getContextValue");function O3i(handlebars,context){if(!d3i()||!JUe)throw new Error("JS disabled in environment.");try{let js=XUe(o$t(handlebars)),snippetMap={},snippetCache={};for(let e of context.snippets||[])snippetMap[e.name]=e.code;let clonedContext;tue()?clonedContext=context:clonedContext=(0,x3i.default)(context);let sandboxContext={$:e=>hCu(e,clonedContext),helpers:rue(),snippets:new Proxy({},{get:function(_,name){return name in snippetCache||(snippetCache[name]=eval(XUe(snippetMap[name]))),snippetCache[name]}})},logs=[];if(!tue()){let e=QUe(js).split(js)[0].split(`
|
|
1402
|
-
`).length,t=s(r=>(...n)=>{kj()||console[r](...n),n.forEach((o,a)=>{typeof o=="object"&&(n[a]=JSON.stringify(o))});let i=new Error().stack?.match(/<anonymous>:(\d+):\d+/)?.[1];logs.push({log:n,line:i?parseInt(i)-e:void 0,type:r})},"buildLogResponse");sandboxContext.console={log:t("log"),info:t("info"),debug:t("debug"),warn:t("warn"),error:t("error"),table:t("table")}}let res={data:JUe(js,sandboxContext),logs};return`{{${ZW} js_result-${JSON.stringify(res)}}}`}catch(e){a$t&&a$t(e);let{noThrow:t=!0}=context.__opts||{};if(e.code==="ERR_SCRIPT_EXECUTION_TIMEOUT")return"Timed out while executing JS";if(e.code==="JS_REQUEST_TIMEOUT_ERROR")return e.message;if(e.code===eK.code)return eK.message;if(e.code===Nj.code){if(t)return e.userScriptError.toString();throw e}if(e.name==="SyntaxError"){if(t)return e.toString();throw e}return"Error while executing JS"}}s(O3i,"processJS");var mCu={"<":"<",">":">"};function gCu(e){return e==null||typeof e!="object"?!1:e.toString()==="[object Object]"||e.length>0&&typeof e[0]=="object"}s(gCu,"isObject");var _Cu=[new FR(Ij.OBJECT,e=>new ZUe.default.SafeString(JSON.stringify(e))),new FR(Ij.JS,O3i,!1),new FR(Ij.DECODE_ID,e=>{if(!e)return[];let t=typeof e=="string"?e:e._id,r=decodeURIComponent(t).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[e]}}),new FR(Ij.ALL,(e,t)=>{let{__opts:r}=t;if(gCu(e))return new ZUe.default.SafeString(JSON.stringify(e));if(r&&r.onlyFound&&e==null)return r.input;if(e==null||typeof e!="string")return e??"";e&&e.string&&(e=e.string);let n=e;return r&&r.escapeNewlines&&(n=e.replace(/\n/g,"\\n")),n=new ZUe.default.SafeString(n.replace(/&/g,"&")),n==null||typeof n!="string"?n:n.replace(/[<>]/g,i=>mCu[i]||i)}),new FR(Ij.LITERAL,e=>{if(e===void 0)return"";let t=typeof e,r=t==="object"?JSON.stringify(e):e;return`{{${ZW} ${t}-${r}}}`})];function R3i(){return Object.values(Ij).concat(KUe,n$t)}s(R3i,"HelperNames");function u$t(e){for(let t of _Cu)t.register(e)}s(u$t,"registerMinimum");function I3i(e){u$t(e),l3i(e)}s(I3i,"registerAll");var k3i=["#","else","/"];var tK=class{static{s(this,"Preprocessor")}constructor(t,r){this.name=t,this.fn=r}process(t,r,n){let i=this.fn(r,n),o=t.indexOf(r);return s$t(t,o,r.length,i)}},N3i=[new tK("swap-to-dot-notation",e=>{let t=e.indexOf("["),r=0;for(;t!==-1;){h3i(e.charAt(t-1))&&(e=s$t(e,t+r,1,".[")),r=t+1;let n=e.substring(r+1).indexOf("[");t=n>0?r+1+n:-1}return e}),new tK("fix-functions",e=>{for(let t of k3i){let r=`{ ${t}`,n=`{${t}`;e=e.replace(new RegExp(r,"g"),n)}return e}),new tK("normalize-spaces",e=>e.replace(/{{(\s{2,})/g,"{{ ")),new tK("finalise",(e,t)=>{let n=!t?.noHelpers,i=e.slice(2,e.length-2);i.charAt(0)===" "&&(i=i.slice(1)),i.charAt(i.length-1)===" "&&(i=i.slice(0,i.length-1));let o=i.split(" ")[0];for(let c of k3i)if(o.includes(c))return e;let a=o.trim().toLowerCase();return n&&!t?.disabledHelpers?.includes(a)&&R3i().some(c=>a===c.toLowerCase())&&(i=`(${i})`),`{{ all ${i} }}`})];var l$t=class{static{s(this,"Postprocessor")}constructor(t,r){this.name=t,this.fn=r}process(t){return this.fn(t)}},f$t=[new l$t("convert-literals",e=>{if(typeof e!="string"||!e.includes(ZW))return{result:e};let t=e.indexOf("-"),r=e.substring(12,t),n=e.substring(t+1,e.length-2);switch(r){case"string":return{result:n};case"number":return{result:parseFloat(n)};case"boolean":return{result:n==="true"};case"object":return{result:JSON.parse(n)};case"js_result":{let i=JSON.parse(n);return{result:i.data,logs:i.logs}}}return{result:n}})];function d$t(e,t,r){let n=[];for(let i of t){if(typeof e!="string")break;let o=new RegExp(YUe),a=e.match(o);if(a!=null)for(let c of a){let u=i.process(e,c,r||{});typeof u=="object"?("logs"in u&&u.logs&&(n=n.concat(u.logs)),e=u.result):e=u}}return{result:e,logs:n}}s(d$t,"process");function P3i(e,t){let r=N3i;return t.noFinalise&&(r=r.filter(n=>n.name!=="finalise")),d$t(e,r,t).result}s(P3i,"preprocess");function D3i(e){return d$t(e,f$t).result}s(D3i,"postprocess");function M3i(e){return d$t(e,f$t)}s(M3i,"postprocessWithLogs");var m$t=(0,h$t.create)();I3i(m$t);var ECu=Object.keys(m$t.helpers),B3i=(0,h$t.create)();u$t(B3i);var vCu={noHelpers:!1,cacheTemplates:!1,noEscaping:!1,escapeNewlines:!1,noFinalise:!1};function SCu(e){return e?Object.keys(e).filter(r=>ECu.includes(r)):[]}s(SCu,"findOverlappingHelpers");var p$t={};function wCu(e,t,r){t={...vCu,...t};let n=!t?.noHelpers,i=`${e}-${JSON.stringify(t)}`;if(t.cacheTemplates&&p$t[i])return p$t[i];let o=n?SCu(r):[];if(e=P3i(e,{...t,disabledHelpers:o}),r&&n&&o.length>0)for(let u of F3i(e))e=e.replace(u,m3i(u,o,"./"));t.noEscaping&&(e=ACu(e));let c=(t.noHelpers?B3i:m$t).compile(e,{strict:!1});return p$t[i]=c,c}s(wCu,"createTemplate");function TCu(e,t,r){let n=e;if(typeof e!="string")throw new Error("Cannot process non-string types.");function i(o){let a=wCu(o,r,t),c=Math.floor(Date.now()/1e3)*1e3,u=a({now:new Date(c).toISOString(),__opts:{...r,input:o},...t});return r?.logging?M3i(u):D3i(u)}s(i,"process");try{if(r&&r.onlyFound){let o=[],a=F3i(e);for(let c of a){let u=i(c);typeof u=="object"&&"result"in u?(o=o.concat(u.logs||[]),e=e.replace(c,u.result)):e=e.replace(c,u)}return r?.logging?{result:e,logs:o}:e}else return i(e)}catch(o){let{noThrow:a=!0}=r||{};if(a)return n;throw o}}s(TCu,"processStringSyncInternal");function U3i(e,t,r){return TCu(e,t,{...r,logging:!1})}s(U3i,"processStringSync");function ACu(e){let t=p3i(e);if(t==null)return e;let r=[...new Set(t)];for(let n of r){let i=new RegExp(`${n}(?!})`,"g");e=e.replace(i,`{${n}}`)}return e}s(ACu,"disableEscaping");function F3i(e){if(!e||typeof e!="string")return[];let t=new RegExp(i$t),r=e.match(t);return r??[]}s(F3i,"findHBSBlocks");function xCu(){let e=kj()?q3i.default:L3i.default;c$t((t,r)=>{e.createContext(r);let n=QUe(t),i=e.runInNewContext(n,r);if(i.error)throw new Nj(i.error);return i.result})}s(xCu,"browserJSSetup");function CCu(){tue()?C3i():xCu()}s(CCu,"defaultJSSetup");CCu();var OCu=require("download"),RCu=require("tar"),ICu=["package.json.hbs","schema.json.hbs","README.md.hbs"];async function kCu(e){let t=await(0,j3i.default)("https://api.github.com/repos/budibase/budibase-skeleton/releases/latest");if(t.status>=300)throw new Error("Failed to retrieve skeleton metadata");let r=await t.json();for(let n of r.assets)if(n.name&&n.name.includes(e))return n.browser_download_url;throw new Error("No skeleton found in latest release.")}s(kCu,"getSkeletonUrl");async function H3i(e,t){let r=await kCu(e),n=(0,eFe.join)($3i.default.tmpdir(),"skeleton.tar.gz");Pj.default.writeFileSync(n,await OCu(r)),Pj.default.mkdirSync(t),await RCu.extract({file:n,C:t}),Pj.default.rmSync(n)}s(H3i,"getSkeleton");async function G3i(e,t,r,n){for(let i of ICu){let o=(0,eFe.join)(t,i),a=(0,eFe.join)(t,i.substring(0,i.length-4)),c=Pj.default.readFileSync(o,"utf8");if(!c)continue;let u=U3i(c,{name:t,description:r,version:n});Pj.default.writeFileSync(a,u),Pj.default.rmSync(o)}}s(G3i,"fleshOutSkeleton");ZD();var Dj=at(require("fs"));Ir();var V3i=at(require("util")),W3i=at(require("child_process"));var NCu=V3i.default.promisify(W3i.default.exec);async function K3i(e,t="./"){let{stdout:r}=await NCu(e,{cwd:t});return r}s(K3i,"exec");async function z3i(e){try{return await K3i(`${e} --version`),!0}catch{return!1}}s(z3i,"utilityInstalled");async function tFe(e,t="./"){let r=await z3i("yarn"),n=await z3i("npm");if(!r&&!n)throw new Error("Must have yarn or npm installed to run build.");let i=e==="install"?`npm ${e}`:`npm run ${e}`,o=r?`yarn ${e} --ignore-engines`:i;await K3i(o,t)}s(tFe,"runPkgCommand");var rFe=require("path");ad();var PCu=require("find-free-port");function DCu(){if(!Dj.default.existsSync("package.json"))throw new Error("Please run in a plugin directory - must contain package.json");if(!Dj.default.existsSync("schema.json"))throw new Error("Please run in a plugin directory - must contain schema.json")}s(DCu,"checkInPlugin");async function MCu(e){return Dj.default.readdirSync(process.cwd()).find(r=>r===".git")?!1:(console.log(jc(`By default the plugin will be created in the directory "${e}"`)),console.log(jc("if you are already in an empty directory, such as a new Git repo, you can disable this functionality.")),sI("Create top level directory?"))}s(MCu,"askAboutTopLevel");async function LCu(e){let t=e.init||e;if(!t||!_Vt.includes(t)){console.log(ou("Please provide a type to init, either 'component', 'datasource' or 'automation'."));return}console.log(jc("Lets get some details about your new plugin:"));let r=await JD("Name",`budibase-${t}`);if(Dj.default.existsSync(r)){console.log(ou("Directory by plugin name already exists, pick a new name."));return}let n=await JD("Description",`An amazing Budibase ${t}!`),i=await JD("Version","1.0.0"),o=await MCu(r);console.log(jc("Retrieving project...")),await H3i(t,r),await G3i(t,r,n,i),console.log(jc("Installing dependencies...")),await tFe("install",(0,rFe.join)(process.cwd(),r)),o?console.log(jc(`Plugin created in directory "${r}"`)):(sje(r,process.cwd()),console.log(jc("Plugin created in current directory."))),Vue(WA.PluginInit,{type:t,name:r,description:n,version:i})}s(LCu,"init");async function Y3i(){DCu(),console.log(jc("Verifying plugin..."));let e=Dj.default.readFileSync("schema.json","utf8"),t=Dj.default.readFileSync("package.json","utf8"),r,n;try{let i=JSON.parse(e),o=JSON.parse(t);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,cPe.validate(i),{name:r,version:n}}catch(i){i&&i.message&&i.message.includes("not valid JSON")?console.log(ou(`schema.json is not valid JSON: ${i.message}`)):console.log(ou(`Invalid schema/package.json: ${i.message}`))}}s(Y3i,"verify");async function qCu(){let e=await Y3i();if(!e?.name)return;console.log(Fc("Verified!")),console.log(jc("Building plugin...")),await tFe("build");let t=(0,rFe.join)("dist",`${e.name}-${e.version}.tar.gz`);console.log(Fc(`Build complete - output in: ${t}`))}s(qCu,"build");async function BCu(){let e=await Y3i();if(!e?.name)return;let t=(0,rFe.join)("dist",`${e.name}-${e.version}.tar.gz`);console.log(jc(`Watching - build in: ${t}`));try{await tFe("watch")}catch{console.log(Fc("Watch exited."))}}s(BCu,"watch");async function UCu(){let e=await JD("Directory to watch","./"),[t]=await PCu(1e4),r="admin";await Xue({init:"quick",single:!0,watchPluginDir:e,genUser:r,port:t,silent:!0}),await Xj(),console.log(Fc("Configuration has been written to docker-compose.yaml")),console.log(Fc("Development environment started successfully - connect at: ")+jc(`http://localhost:${t}`)),console.log(Fc("Use the following credentials to login:")),console.log(Fc("Email: ")+jc(vje)),console.log(Fc("Password: ")+jc(r))}s(UCu,"dev");var Q3i=new NS("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.",LCu).addSubOption("--build","Build your plugin, this will verify and produce a final tarball for your project.",qCu).addSubOption("--watch","Automatically build any changes to your plugin.",BCu).addSubOption("--dev","Run a development environment which automatically watches the current directory.",UCu);function X3i(){return[T9t,Z5t,y2i,Q3i]}s(X3i,"getCommands");var Z3i=require("commander");ad();var J3i="3.20.7";async function jCu(){let e=new Z3i.Command().addHelpCommand("help",yK("Help with Budibase commands.")).helpOption(!1).version(J3i);for(let t of X3i())t.configure(e);await e.parseAsync(process.argv)}s(jCu,"init");var $Cu=["exit","SIGINT","SIGUSR1","SIGUSR2","uncaughtException"];$Cu.forEach(e=>{process.on(e,t=>{t&&!isNaN(t)||t&&(console.error(ou("Failed to run CLI command - please report with the following message:")),console.error(ou(t)))})});jCu().catch(e=>{console.error("Unexpected error - ",e)});
|
|
1402
|
+
`).length,t=s(r=>(...n)=>{kj()||console[r](...n),n.forEach((o,a)=>{typeof o=="object"&&(n[a]=JSON.stringify(o))});let i=new Error().stack?.match(/<anonymous>:(\d+):\d+/)?.[1];logs.push({log:n,line:i?parseInt(i)-e:void 0,type:r})},"buildLogResponse");sandboxContext.console={log:t("log"),info:t("info"),debug:t("debug"),warn:t("warn"),error:t("error"),table:t("table")}}let res={data:JUe(js,sandboxContext),logs};return`{{${ZW} js_result-${JSON.stringify(res)}}}`}catch(e){a$t&&a$t(e);let{noThrow:t=!0}=context.__opts||{};if(e.code==="ERR_SCRIPT_EXECUTION_TIMEOUT")return"Timed out while executing JS";if(e.code==="JS_REQUEST_TIMEOUT_ERROR")return e.message;if(e.code===eK.code)return eK.message;if(e.code===Nj.code){if(t)return e.userScriptError.toString();throw e}if(e.name==="SyntaxError"){if(t)return e.toString();throw e}return"Error while executing JS"}}s(O3i,"processJS");var mCu={"<":"<",">":">"};function gCu(e){return e==null||typeof e!="object"?!1:e.toString()==="[object Object]"||e.length>0&&typeof e[0]=="object"}s(gCu,"isObject");var _Cu=[new FR(Ij.OBJECT,e=>new ZUe.default.SafeString(JSON.stringify(e))),new FR(Ij.JS,O3i,!1),new FR(Ij.DECODE_ID,e=>{if(!e)return[];let t=typeof e=="string"?e:e._id,r=decodeURIComponent(t).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[e]}}),new FR(Ij.ALL,(e,t)=>{let{__opts:r}=t;if(gCu(e))return new ZUe.default.SafeString(JSON.stringify(e));if(r&&r.onlyFound&&e==null)return r.input;if(e==null||typeof e!="string")return e??"";e&&e.string&&(e=e.string);let n=e;return r&&r.escapeNewlines&&(n=e.replace(/\n/g,"\\n")),n=new ZUe.default.SafeString(n.replace(/&/g,"&")),n==null||typeof n!="string"?n:n.replace(/[<>]/g,i=>mCu[i]||i)}),new FR(Ij.LITERAL,e=>{if(e===void 0)return"";let t=typeof e,r=t==="object"?JSON.stringify(e):e;return`{{${ZW} ${t}-${r}}}`})];function R3i(){return Object.values(Ij).concat(KUe,n$t)}s(R3i,"HelperNames");function u$t(e){for(let t of _Cu)t.register(e)}s(u$t,"registerMinimum");function I3i(e){u$t(e),l3i(e)}s(I3i,"registerAll");var k3i=["#","else","/"];var tK=class{static{s(this,"Preprocessor")}constructor(t,r){this.name=t,this.fn=r}process(t,r,n){let i=this.fn(r,n),o=t.indexOf(r);return s$t(t,o,r.length,i)}},N3i=[new tK("swap-to-dot-notation",e=>{let t=e.indexOf("["),r=0;for(;t!==-1;){h3i(e.charAt(t-1))&&(e=s$t(e,t+r,1,".[")),r=t+1;let n=e.substring(r+1).indexOf("[");t=n>0?r+1+n:-1}return e}),new tK("fix-functions",e=>{for(let t of k3i){let r=`{ ${t}`,n=`{${t}`;e=e.replace(new RegExp(r,"g"),n)}return e}),new tK("normalize-spaces",e=>e.replace(/{{(\s{2,})/g,"{{ ")),new tK("finalise",(e,t)=>{let n=!t?.noHelpers,i=e.slice(2,e.length-2);i.charAt(0)===" "&&(i=i.slice(1)),i.charAt(i.length-1)===" "&&(i=i.slice(0,i.length-1));let o=i.split(" ")[0];for(let c of k3i)if(o.includes(c))return e;let a=o.trim().toLowerCase();return n&&!t?.disabledHelpers?.includes(a)&&R3i().some(c=>a===c.toLowerCase())&&(i=`(${i})`),`{{ all ${i} }}`})];var l$t=class{static{s(this,"Postprocessor")}constructor(t,r){this.name=t,this.fn=r}process(t){return this.fn(t)}},f$t=[new l$t("convert-literals",e=>{if(typeof e!="string"||!e.includes(ZW))return{result:e};let t=e.indexOf("-"),r=e.substring(12,t),n=e.substring(t+1,e.length-2);switch(r){case"string":return{result:n};case"number":return{result:parseFloat(n)};case"boolean":return{result:n==="true"};case"object":return{result:JSON.parse(n)};case"js_result":{let i=JSON.parse(n);return{result:i.data,logs:i.logs}}}return{result:n}})];function d$t(e,t,r){let n=[];for(let i of t){if(typeof e!="string")break;let o=new RegExp(YUe),a=e.match(o);if(a!=null)for(let c of a){let u=i.process(e,c,r||{});typeof u=="object"?("logs"in u&&u.logs&&(n=n.concat(u.logs)),e=u.result):e=u}}return{result:e,logs:n}}s(d$t,"process");function P3i(e,t){let r=N3i;return t.noFinalise&&(r=r.filter(n=>n.name!=="finalise")),d$t(e,r,t).result}s(P3i,"preprocess");function D3i(e){return d$t(e,f$t).result}s(D3i,"postprocess");function M3i(e){return d$t(e,f$t)}s(M3i,"postprocessWithLogs");var m$t=(0,h$t.create)();I3i(m$t);var ECu=Object.keys(m$t.helpers),B3i=(0,h$t.create)();u$t(B3i);var vCu={noHelpers:!1,cacheTemplates:!1,noEscaping:!1,escapeNewlines:!1,noFinalise:!1};function SCu(e){return e?Object.keys(e).filter(r=>ECu.includes(r)):[]}s(SCu,"findOverlappingHelpers");var p$t={};function wCu(e,t,r){t={...vCu,...t};let n=!t?.noHelpers,i=`${e}-${JSON.stringify(t)}`;if(t.cacheTemplates&&p$t[i])return p$t[i];let o=n?SCu(r):[];if(e=P3i(e,{...t,disabledHelpers:o}),r&&n&&o.length>0)for(let u of F3i(e))e=e.replace(u,m3i(u,o,"./"));t.noEscaping&&(e=ACu(e));let c=(t.noHelpers?B3i:m$t).compile(e,{strict:!1});return p$t[i]=c,c}s(wCu,"createTemplate");function TCu(e,t,r){let n=e;if(typeof e!="string")throw new Error("Cannot process non-string types.");function i(o){let a=wCu(o,r,t),c=Math.floor(Date.now()/1e3)*1e3,u=a({now:new Date(c).toISOString(),__opts:{...r,input:o},...t});return r?.logging?M3i(u):D3i(u)}s(i,"process");try{if(r&&r.onlyFound){let o=[],a=F3i(e);for(let c of a){let u=i(c);typeof u=="object"&&"result"in u?(o=o.concat(u.logs||[]),e=e.replace(c,u.result)):e=e.replace(c,u)}return r?.logging?{result:e,logs:o}:e}else return i(e)}catch(o){let{noThrow:a=!0}=r||{};if(a)return n;throw o}}s(TCu,"processStringSyncInternal");function U3i(e,t,r){return TCu(e,t,{...r,logging:!1})}s(U3i,"processStringSync");function ACu(e){let t=p3i(e);if(t==null)return e;let r=[...new Set(t)];for(let n of r){let i=new RegExp(`${n}(?!})`,"g");e=e.replace(i,`{${n}}`)}return e}s(ACu,"disableEscaping");function F3i(e){if(!e||typeof e!="string")return[];let t=new RegExp(i$t),r=e.match(t);return r??[]}s(F3i,"findHBSBlocks");function xCu(){let e=kj()?q3i.default:L3i.default;c$t((t,r)=>{e.createContext(r);let n=QUe(t),i=e.runInNewContext(n,r);if(i.error)throw new Nj(i.error);return i.result})}s(xCu,"browserJSSetup");function CCu(){tue()?C3i():xCu()}s(CCu,"defaultJSSetup");CCu();var OCu=require("download"),RCu=require("tar"),ICu=["package.json.hbs","schema.json.hbs","README.md.hbs"];async function kCu(e){let t=await(0,j3i.default)("https://api.github.com/repos/budibase/budibase-skeleton/releases/latest");if(t.status>=300)throw new Error("Failed to retrieve skeleton metadata");let r=await t.json();for(let n of r.assets)if(n.name&&n.name.includes(e))return n.browser_download_url;throw new Error("No skeleton found in latest release.")}s(kCu,"getSkeletonUrl");async function H3i(e,t){let r=await kCu(e),n=(0,eFe.join)($3i.default.tmpdir(),"skeleton.tar.gz");Pj.default.writeFileSync(n,await OCu(r)),Pj.default.mkdirSync(t),await RCu.extract({file:n,C:t}),Pj.default.rmSync(n)}s(H3i,"getSkeleton");async function G3i(e,t,r,n){for(let i of ICu){let o=(0,eFe.join)(t,i),a=(0,eFe.join)(t,i.substring(0,i.length-4)),c=Pj.default.readFileSync(o,"utf8");if(!c)continue;let u=U3i(c,{name:t,description:r,version:n});Pj.default.writeFileSync(a,u),Pj.default.rmSync(o)}}s(G3i,"fleshOutSkeleton");ZD();var Dj=at(require("fs"));Ir();var V3i=at(require("util")),W3i=at(require("child_process"));var NCu=V3i.default.promisify(W3i.default.exec);async function K3i(e,t="./"){let{stdout:r}=await NCu(e,{cwd:t});return r}s(K3i,"exec");async function z3i(e){try{return await K3i(`${e} --version`),!0}catch{return!1}}s(z3i,"utilityInstalled");async function tFe(e,t="./"){let r=await z3i("yarn"),n=await z3i("npm");if(!r&&!n)throw new Error("Must have yarn or npm installed to run build.");let i=e==="install"?`npm ${e}`:`npm run ${e}`,o=r?`yarn ${e} --ignore-engines`:i;await K3i(o,t)}s(tFe,"runPkgCommand");var rFe=require("path");ad();var PCu=require("find-free-port");function DCu(){if(!Dj.default.existsSync("package.json"))throw new Error("Please run in a plugin directory - must contain package.json");if(!Dj.default.existsSync("schema.json"))throw new Error("Please run in a plugin directory - must contain schema.json")}s(DCu,"checkInPlugin");async function MCu(e){return Dj.default.readdirSync(process.cwd()).find(r=>r===".git")?!1:(console.log(jc(`By default the plugin will be created in the directory "${e}"`)),console.log(jc("if you are already in an empty directory, such as a new Git repo, you can disable this functionality.")),sI("Create top level directory?"))}s(MCu,"askAboutTopLevel");async function LCu(e){let t=e.init||e;if(!t||!_Vt.includes(t)){console.log(ou("Please provide a type to init, either 'component', 'datasource' or 'automation'."));return}console.log(jc("Lets get some details about your new plugin:"));let r=await JD("Name",`budibase-${t}`);if(Dj.default.existsSync(r)){console.log(ou("Directory by plugin name already exists, pick a new name."));return}let n=await JD("Description",`An amazing Budibase ${t}!`),i=await JD("Version","1.0.0"),o=await MCu(r);console.log(jc("Retrieving project...")),await H3i(t,r),await G3i(t,r,n,i),console.log(jc("Installing dependencies...")),await tFe("install",(0,rFe.join)(process.cwd(),r)),o?console.log(jc(`Plugin created in directory "${r}"`)):(sje(r,process.cwd()),console.log(jc("Plugin created in current directory."))),Vue(WA.PluginInit,{type:t,name:r,description:n,version:i})}s(LCu,"init");async function Y3i(){DCu(),console.log(jc("Verifying plugin..."));let e=Dj.default.readFileSync("schema.json","utf8"),t=Dj.default.readFileSync("package.json","utf8"),r,n;try{let i=JSON.parse(e),o=JSON.parse(t);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,cPe.validate(i),{name:r,version:n}}catch(i){i&&i.message&&i.message.includes("not valid JSON")?console.log(ou(`schema.json is not valid JSON: ${i.message}`)):console.log(ou(`Invalid schema/package.json: ${i.message}`))}}s(Y3i,"verify");async function qCu(){let e=await Y3i();if(!e?.name)return;console.log(Fc("Verified!")),console.log(jc("Building plugin...")),await tFe("build");let t=(0,rFe.join)("dist",`${e.name}-${e.version}.tar.gz`);console.log(Fc(`Build complete - output in: ${t}`))}s(qCu,"build");async function BCu(){let e=await Y3i();if(!e?.name)return;let t=(0,rFe.join)("dist",`${e.name}-${e.version}.tar.gz`);console.log(jc(`Watching - build in: ${t}`));try{await tFe("watch")}catch{console.log(Fc("Watch exited."))}}s(BCu,"watch");async function UCu(){let e=await JD("Directory to watch","./"),[t]=await PCu(1e4),r="admin";await Xue({init:"quick",single:!0,watchPluginDir:e,genUser:r,port:t,silent:!0}),await Xj(),console.log(Fc("Configuration has been written to docker-compose.yaml")),console.log(Fc("Development environment started successfully - connect at: ")+jc(`http://localhost:${t}`)),console.log(Fc("Use the following credentials to login:")),console.log(Fc("Email: ")+jc(vje)),console.log(Fc("Password: ")+jc(r))}s(UCu,"dev");var Q3i=new NS("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.",LCu).addSubOption("--build","Build your plugin, this will verify and produce a final tarball for your project.",qCu).addSubOption("--watch","Automatically build any changes to your plugin.",BCu).addSubOption("--dev","Run a development environment which automatically watches the current directory.",UCu);function X3i(){return[T9t,Z5t,y2i,Q3i]}s(X3i,"getCommands");var Z3i=require("commander");ad();var J3i="3.20.8";async function jCu(){let e=new Z3i.Command().addHelpCommand("help",yK("Help with Budibase commands.")).helpOption(!1).version(J3i);for(let t of X3i())t.configure(e);await e.parseAsync(process.argv)}s(jCu,"init");var $Cu=["exit","SIGINT","SIGUSR1","SIGUSR2","uncaughtException"];$Cu.forEach(e=>{process.on(e,t=>{t&&!isNaN(t)||t&&(console.error(ou("Failed to run CLI command - please report with the following message:")),console.error(ou(t)))})});jCu().catch(e=>{console.error("Unexpected error - ",e)});
|
|
1403
1403
|
/*! Bundled license information:
|
|
1404
1404
|
|
|
1405
1405
|
lodash/lodash.js:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/cli",
|
|
3
|
-
"version": "3.20.
|
|
3
|
+
"version": "3.20.8",
|
|
4
4
|
"description": "Budibase CLI, for developers, self hosting and migrations.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"@types/pouchdb": "^6.4.0",
|
|
42
42
|
"ts-node": "10.8.1"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "47aa471ca663f1a409efa47027336e60268d65c6"
|
|
45
45
|
}
|