@budibase/backend-core 3.41.3 → 3.42.0
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 +1 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +7 -4
- package/dist/src/index.d.ts +14 -14
- package/dist/src/platform/platformDb.d.ts +1 -1
- package/dist/src/tenancy/db.d.ts +1 -1
- package/package.json +7 -4
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
attempted value: ${o}
|
|
4
4
|
`+(a!==o?`result of cast: ${a}`:""))}return i}_cast(e,r){let n=e===void 0?e:this.transforms.reduce((i,o)=>o.call(this,i,e,this),e);return n===void 0&&(n=this.getDefault()),n}_validate(e,r={},n){let{sync:i,path:o,from:a=[],originalValue:u=e,strict:c=this.spec.strict,abortEarly:l=this.spec.abortEarly}=r,d=e;c||(d=this._cast(d,Xe({assert:!1},r)));let f={value:d,path:o,options:r,originalValue:u,schema:this,label:this.spec.label,sync:i,from:a},g=[];this._typeError&&g.push(this._typeError),this._whitelistError&&g.push(this._whitelistError),this._blacklistError&&g.push(this._blacklistError),(0,cg.default)({args:f,value:d,path:o,sync:i,tests:g,endEarly:l},m=>{if(m)return void n(m,d);(0,cg.default)({tests:this.tests,args:f,path:o,sync:i,value:d,endEarly:l},n)})}validate(e,r,n){let i=this.resolve(Xe({},r,{value:e}));return typeof n=="function"?i._validate(e,r,n):new Promise((o,a)=>i._validate(e,r,(u,c)=>{u?a(u):o(c)}))}validateSync(e,r){let n=this.resolve(Xe({},r,{value:e})),i;return n._validate(e,Xe({},r,{sync:!0}),(o,a)=>{if(o)throw o;i=a}),i}isValid(e,r){return this.validate(e,r).then(()=>!0,n=>{if(dg.default.isError(n))return!1;throw n})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(n){if(dg.default.isError(n))return!1;throw n}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,ug.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Un.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Un.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(n){return this.schema._isPresent(n)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Un.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let n=this.clone(),i=(0,aa.default)(r),o=r.exclusive||r.name&&n.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(n.exclusiveTests[r.name]=!!r.exclusive),n.tests=n.tests.filter(a=>!(a.OPTIONS.name===r.name&&(o||a.OPTIONS.test===i.OPTIONS.test))),n.tests.push(i),n}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let n=this.clone(),i=(0,Bw.default)(e).map(o=>new Mw.default(o));return i.forEach(o=>{o.isSibling&&n.deps.push(o.key)}),n.conditions.push(new kw.default(i,r)),n}typeError(e){var r=this.clone();return r._typeError=(0,aa.default)({message:e,name:"typeError",test(n){return n!==void 0&&!this.schema.isType(n)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Un.mixed.oneOf){var n=this.clone();return e.forEach(i=>{n._whitelist.add(i),n._blacklist.delete(i)}),n._whitelistError=(0,aa.default)({message:r,name:"oneOf",test(i){if(i===void 0)return!0;let o=this.schema._whitelist;return o.has(i,this.resolve)?!0:this.createError({params:{values:o.toArray().join(", ")}})}}),n}notOneOf(e,r=Un.mixed.notOneOf){var n=this.clone();return e.forEach(i=>{n._blacklist.add(i),n._whitelist.delete(i)}),n._blacklistError=(0,aa.default)({message:r,name:"notOneOf",test(i){let o=this.schema._blacklist;return o.has(i,this.resolve)?this.createError({params:{values:o.toArray().join(", ")}}):!0}}),n}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:n}=e.spec;return{meta:n,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(o=>({name:o.OPTIONS.name,params:o.OPTIONS.params})).filter((o,a,u)=>u.findIndex(c=>c.name===o.name)===a)}}};ua.default=dt;dt.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])dt.prototype[`${t}At`]=function(e,r,n={}){let{parent:i,parentPath:o,schema:a}=(0,Fw.getIn)(this,e,r,n.context);return a[t](i&&i[o],Xe({},n,{parent:i,path:e}))};for(let t of["equals","is"])dt.prototype[t]=dt.prototype.oneOf;for(let t of["not","nope"])dt.prototype[t]=dt.prototype.notOneOf;dt.prototype.optional=dt.prototype.notRequired});var mg=Q(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.create=pg;Zi.default=void 0;var Ww=Gw(Bt());function Gw(t){return t&&t.__esModule?t:{default:t}}s(Gw,"_interopRequireDefault");var Sl=Ww.default,$w=Sl;Zi.default=$w;function pg(){return new Sl}s(pg,"create");pg.prototype=Sl.prototype});var kn=Q(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.default=void 0;var Vw=s(t=>t==null,"_default");ca.default=Vw});var Tg=Q(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.create=yg;ts.default=void 0;var qw=Eg(Bt()),hg=Mt(),gg=Eg(kn());function Eg(t){return t&&t.__esModule?t:{default:t}}s(Eg,"_interopRequireDefault");function yg(){return new es}s(yg,"create");var es=class extends qw.default{static{s(this,"BooleanSchema")}constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=hg.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,gg.default)(r)||r===!0}})}isFalse(e=hg.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,gg.default)(r)||r===!1}})}};ts.default=es;yg.prototype=es.prototype});var _g=Q(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.create=Ag;ns.default=void 0;var Ct=Mt(),Wt=Sg(kn()),Kw=Sg(Bt());function Sg(t){return t&&t.__esModule?t:{default:t}}s(Sg,"_interopRequireDefault");var Qw=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,jw=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,Hw=/^(?:[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,Yw=s(t=>(0,Wt.default)(t)||t===t.trim(),"isTrimmed"),zw={}.toString();function Ag(){return new rs}s(Ag,"create");var rs=class extends Kw.default{static{s(this,"StringSchema")}constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===zw?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=Ct.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,Wt.default)(n)||n.length===this.resolve(e)}})}min(e,r=Ct.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Wt.default)(n)||n.length>=this.resolve(e)}})}max(e,r=Ct.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(n){return(0,Wt.default)(n)||n.length<=this.resolve(e)}})}matches(e,r){let n=!1,i,o;return r&&(typeof r=="object"?{excludeEmptyString:n=!1,message:i,name:o}=r:i=r),this.test({name:o||"matches",message:i||Ct.string.matches,params:{regex:e},test:s(a=>(0,Wt.default)(a)||a===""&&n||a.search(e)!==-1,"test")})}email(e=Ct.string.email){return this.matches(Qw,{name:"email",message:e,excludeEmptyString:!0})}url(e=Ct.string.url){return this.matches(jw,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Ct.string.uuid){return this.matches(Hw,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Ct.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:Yw})}lowercase(e=Ct.string.lowercase){return this.transform(r=>(0,Wt.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:s(r=>(0,Wt.default)(r)||r===r.toLowerCase(),"test")})}uppercase(e=Ct.string.uppercase){return this.transform(r=>(0,Wt.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:s(r=>(0,Wt.default)(r)||r===r.toUpperCase(),"test")})}};ns.default=rs;Ag.prototype=rs.prototype});var wg=Q(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.create=Ig;ss.default=void 0;var jr=Mt(),Hr=Og(kn()),Jw=Og(Bt());function Og(t){return t&&t.__esModule?t:{default:t}}s(Og,"_interopRequireDefault");var Xw=s(t=>t!=+t,"isNaN");function Ig(){return new is}s(Ig,"create");var is=class extends Jw.default{static{s(this,"NumberSchema")}constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!Xw(e)}min(e,r=jr.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Hr.default)(n)||n>=this.resolve(e)}})}max(e,r=jr.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Hr.default)(n)||n<=this.resolve(e)}})}lessThan(e,r=jr.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(n){return(0,Hr.default)(n)||n<this.resolve(e)}})}moreThan(e,r=jr.number.moreThan){return this.test({message:r,name:"min",exclusive:!0,params:{more:e},test(n){return(0,Hr.default)(n)||n>this.resolve(e)}})}positive(e=jr.number.positive){return this.moreThan(0,e)}negative(e=jr.number.negative){return this.lessThan(0,e)}integer(e=jr.number.integer){return this.test({name:"integer",message:e,test:s(r=>(0,Hr.default)(r)||Number.isInteger(r),"test")})}truncate(){return this.transform(e=>(0,Hr.default)(e)?e:e|0)}round(e){var r,n=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(n.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+n.join(", "));return this.transform(i=>(0,Hr.default)(i)?i:Math[e](i))}};ss.default=is;Ig.prototype=is.prototype});var Rg=Q(Al=>{"use strict";Object.defineProperty(Al,"__esModule",{value:!0});Al.default=eR;var Zw=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function eR(t){var e=[1,4,5,6,7,10,11],r=0,n,i;if(i=Zw.exec(t)){for(var o=0,a;a=e[o];++o)i[a]=+i[a]||0;i[2]=(+i[2]||1)-1,i[3]=+i[3]||1,i[7]=i[7]?String(i[7]).substr(0,3):0,(i[8]===void 0||i[8]==="")&&(i[9]===void 0||i[9]==="")?n=+new Date(i[1],i[2],i[3],i[4],i[5],i[6],i[7]):(i[8]!=="Z"&&i[9]!==void 0&&(r=i[10]*60+i[11],i[9]==="+"&&(r=0-r)),n=Date.UTC(i[1],i[2],i[3],i[4],i[5]+r,i[6],i[7]))}else n=Date.parse?Date.parse(t):NaN;return n}s(eR,"parseIsoDate")});var bg=Q(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.create=Ol;os.default=void 0;var tR=la(Rg()),Cg=Mt(),Dg=la(kn()),rR=la(Qr()),nR=la(Bt());function la(t){return t&&t.__esModule?t:{default:t}}s(la,"_interopRequireDefault");var _l=new Date(""),iR=s(t=>Object.prototype.toString.call(t)==="[object Date]","isDate");function Ol(){return new Mn}s(Ol,"create");var Mn=class extends nR.default{static{s(this,"DateSchema")}constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,tR.default)(e),isNaN(e)?_l:new Date(e))})})}_typeCheck(e){return iR(e)&&!isNaN(e.getTime())}prepareParam(e,r){let n;if(rR.default.isRef(e))n=e;else{let i=this.cast(e);if(!this._typeCheck(i))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);n=i}return n}min(e,r=Cg.date.min){let n=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Dg.default)(i)||i>=this.resolve(n)}})}max(e,r=Cg.date.max){var n=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Dg.default)(i)||i<=this.resolve(n)}})}};os.default=Mn;Mn.INVALID_DATE=_l;Ol.prototype=Mn.prototype;Ol.INVALID_DATE=_l});var vg=Q((DW,Il)=>{"use strict";Il.exports=function(t){return xg(sR(t),t)};Il.exports.array=xg;function xg(t,e){var r=t.length,n=new Array(r),i={},o=r,a=oR(e),u=aR(t);for(e.forEach(function(l){if(!u.has(l[0])||!u.has(l[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});o--;)i[o]||c(t[o],o,new Set);return n;function c(l,d,f){if(f.has(l)){var g;try{g=", node was:"+JSON.stringify(l)}catch{g=""}throw new Error("Cyclic dependency"+g)}if(!u.has(l))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(l));if(!i[d]){i[d]=!0;var m=a.get(l)||new Set;if(m=Array.from(m),d=m.length){f.add(l);do{var y=m[--d];c(y,u.get(y),f)}while(d);f.delete(l)}n[--r]=l}}}s(xg,"toposort");function sR(t){for(var e=new Set,r=0,n=t.length;r<n;r++){var i=t[r];e.add(i[0]),e.add(i[1])}return Array.from(e)}s(sR,"uniqueNodes");function oR(t){for(var e=new Map,r=0,n=t.length;r<n;r++){var i=t[r];e.has(i[0])||e.set(i[0],new Set),e.has(i[1])||e.set(i[1],new Set),e.get(i[0]).add(i[1])}return e}s(oR,"makeOutgoingEdges");function aR(t){for(var e=new Map,r=0,n=t.length;r<n;r++)e.set(t[r],r);return e}s(aR,"makeNodesHash")});var Ng=Q(wl=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});wl.default=pR;var uR=da(require("lodash/has")),cR=da(vg()),lR=Yi(),dR=da(Qr()),fR=da(Ln());function da(t){return t&&t.__esModule?t:{default:t}}s(da,"_interopRequireDefault");function pR(t,e=[]){let r=[],n=[];function i(o,a){var u=(0,lR.split)(o)[0];~n.indexOf(u)||n.push(u),~e.indexOf(`${a}-${u}`)||r.push([a,u])}s(i,"addNode");for(let o in t)if((0,uR.default)(t,o)){let a=t[o];~n.indexOf(o)||n.push(o),dR.default.isRef(a)&&a.isSibling?i(a.path,o):(0,fR.default)(a)&&"deps"in a&&a.deps.forEach(u=>i(u,o))}return cR.default.array(n,r).reverse()}s(pR,"sortFields")});var Lg=Q(Rl=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});Rl.default=mR;function Pg(t,e){let r=1/0;return t.some((n,i)=>{var o;if(((o=e.path)==null?void 0:o.indexOf(n))!==-1)return r=i,!0}),r}s(Pg,"findIndex");function mR(t){return(e,r)=>Pg(t,e)-Pg(t,r)}s(mR,"sortByKeyOrder")});var Gg=Q(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.create=Wg;us.default=void 0;var Ug=Dt(require("lodash/has")),kg=Dt(require("lodash/snakeCase")),hR=Dt(require("lodash/camelCase")),gR=Dt(require("lodash/mapKeys")),ER=Dt(require("lodash/mapValues")),yR=Yi(),Mg=Mt(),TR=Dt(Ng()),Bg=Dt(Lg()),SR=Dt(ra()),AR=Dt(qr()),Cl=Dt(Bt());function Dt(t){return t&&t.__esModule?t:{default:t}}s(Dt,"_interopRequireDefault");function Fn(){return Fn=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},Fn.apply(this,arguments)}s(Fn,"_extends");var Fg=s(t=>Object.prototype.toString.call(t)==="[object Object]","isObject");function _R(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(n=>r.indexOf(n)===-1)}s(_R,"unknown");var OR=(0,Bg.default)([]),as=class extends Cl.default{static{s(this,"ObjectSchema")}constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=OR,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(s(function(n){if(typeof n=="string")try{n=JSON.parse(n)}catch{n=null}return this.isType(n)?n:null},"coerce")),e&&this.shape(e)})}_typeCheck(e){return Fg(e)||typeof e=="function"}_cast(e,r={}){var n;let i=super._cast(e,r);if(i===void 0)return this.getDefault();if(!this._typeCheck(i))return i;let o=this.fields,a=(n=r.stripUnknown)!=null?n:this.spec.noUnknown,u=this._nodes.concat(Object.keys(i).filter(f=>this._nodes.indexOf(f)===-1)),c={},l=Fn({},r,{parent:c,__validating:r.__validating||!1}),d=!1;for(let f of u){let g=o[f],m=(0,Ug.default)(i,f);if(g){let y,h=i[f];l.path=(r.path?`${r.path}.`:"")+f,g=g.resolve({value:h,context:r.context,parent:c});let p="spec"in g?g.spec:void 0,T=p?.strict;if(p?.strip){d=d||f in i;continue}y=!r.__validating||!T?g.cast(i[f],l):i[f],y!==void 0&&(c[f]=y)}else m&&!a&&(c[f]=i[f]);c[f]!==i[f]&&(d=!0)}return d?c:i}_validate(e,r={},n){let i=[],{sync:o,from:a=[],originalValue:u=e,abortEarly:c=this.spec.abortEarly,recursive:l=this.spec.recursive}=r;a=[{schema:this,value:u},...a],r.__validating=!0,r.originalValue=u,r.from=a,super._validate(e,r,(d,f)=>{if(d){if(!AR.default.isError(d)||c)return void n(d,f);i.push(d)}if(!l||!Fg(f)){n(i[0]||null,f);return}u=u||f;let g=this._nodes.map(m=>(y,h)=>{let p=m.indexOf(".")===-1?(r.path?`${r.path}.`:"")+m:`${r.path||""}["${m}"]`,T=this.fields[m];if(T&&"validate"in T){T.validate(f[m],Fn({},r,{path:p,from:a,strict:!0,parent:f,originalValue:u[m]}),h);return}h(null)});(0,SR.default)({sync:o,tests:g,value:f,errors:i,endEarly:c,sort:this._sortErrors,path:r.path},n)})}clone(e){let r=super.clone(e);return r.fields=Fn({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),n=r.fields;for(let[i,o]of Object.entries(this.fields)){let a=n[i];a===void 0?n[i]=o:a instanceof Cl.default&&o instanceof Cl.default&&(n[i]=o.concat(a))}return r.withMutation(()=>r.shape(n))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let n=this.fields[r];e[r]="default"in n?n.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let n=this.clone(),i=Object.assign(n.fields,e);if(n.fields=i,n._sortErrors=(0,Bg.default)(Object.keys(i)),r.length){Array.isArray(r[0])||(r=[r]);let o=r.map(([a,u])=>`${a}-${u}`);n._excludedEdges=n._excludedEdges.concat(o)}return n._nodes=(0,TR.default)(i,n._excludedEdges),n}pick(e){let r={};for(let n of e)this.fields[n]&&(r[n]=this.fields[n]);return this.clone().withMutation(n=>(n.fields={},n.shape(r)))}omit(e){let r=this.clone(),n=r.fields;r.fields={};for(let i of e)delete n[i];return r.withMutation(()=>r.shape(n))}from(e,r,n){let i=(0,yR.getter)(e,!0);return this.transform(o=>{if(o==null)return o;let a=o;return(0,Ug.default)(o,e)&&(a=Fn({},o),n||delete a[e],a[r]=i(o)),a})}noUnknown(e=!0,r=Mg.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let n=this.test({name:"noUnknown",exclusive:!0,message:r,test(i){if(i==null)return!0;let o=_R(this.schema,i);return!e||o.length===0||this.createError({params:{unknown:o.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,r=Mg.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,gR.default)(r,(n,i)=>e(i)))}camelCase(){return this.transformKeys(hR.default)}snakeCase(){return this.transformKeys(kg.default)}constantCase(){return this.transformKeys(e=>(0,kg.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,ER.default)(this.fields,r=>r.describe()),e}};us.default=as;function Wg(t){return new as(t)}s(Wg,"create");Wg.prototype=as.prototype});var Vg=Q(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.create=$g;ls.default=void 0;var Dl=Bn(kn()),IR=Bn(Ln()),wR=Bn(Hi()),bl=Mt(),RR=Bn(ra()),CR=Bn(qr()),DR=Bn(Bt());function Bn(t){return t&&t.__esModule?t:{default:t}}s(Bn,"_interopRequireDefault");function fa(){return fa=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},fa.apply(this,arguments)}s(fa,"_extends");function $g(t){return new cs(t)}s($g,"create");var cs=class extends DR.default{static{s(this,"ArraySchema")}constructor(e){super({type:"array"}),this.innerType=e,this.withMutation(()=>{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch{r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let n=super._cast(e,r);if(!this._typeCheck(n)||!this.innerType)return n;let i=!1,o=n.map((a,u)=>{let c=this.innerType.cast(a,fa({},r,{path:`${r.path||""}[${u}]`}));return c!==a&&(i=!0),c});return i?o:n}_validate(e,r={},n){var i,o;let a=[],u=r.sync,c=r.path,l=this.innerType,d=(i=r.abortEarly)!=null?i:this.spec.abortEarly,f=(o=r.recursive)!=null?o:this.spec.recursive,g=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(m,y)=>{if(m){if(!CR.default.isError(m)||d)return void n(m,y);a.push(m)}if(!f||!l||!this._typeCheck(y)){n(a[0]||null,y);return}g=g||y;let h=new Array(y.length);for(let p=0;p<y.length;p++){let T=y[p],A=`${r.path||""}[${p}]`,_=fa({},r,{path:A,strict:!0,parent:y,index:p,originalValue:g[p]});h[p]=(I,O)=>l.validate(T,_,O)}(0,RR.default)({sync:u,path:c,value:y,errors:a,endEarly:d,tests:h},n)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,IR.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,wR.default)(e));return r.innerType=e,r}length(e,r=bl.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,Dl.default)(n)||n.length===this.resolve(e)}})}min(e,r){return r=r||bl.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Dl.default)(n)||n.length>=this.resolve(e)}})}max(e,r){return r=r||bl.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Dl.default)(n)||n.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(n,i,o)=>!e(n,i,o):n=>!!n;return this.transform(n=>n!=null?n.filter(r):n)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};ls.default=cs;$g.prototype=cs.prototype});var qg=Q(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.create=vR;ds.default=void 0;var bR=xR(Ln());function xR(t){return t&&t.__esModule?t:{default:t}}s(xR,"_interopRequireDefault");function vR(t){return new pa(t)}s(vR,"create");var pa=class{static{s(this,"Lazy")}constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,n={})=>{let i=this.builder(r,n);if(!(0,bR.default)(i))throw new TypeError("lazy() functions must return a valid schema");return i.resolve(n)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,n){return this._resolve(e,r).validate(e,r,n)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,n){return this._resolve(r,n).validateAt(e,r,n)}validateSyncAt(e,r,n){return this._resolve(r,n).validateSyncAt(e,r,n)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},NR=pa;ds.default=NR});var Kg=Q(xl=>{"use strict";Object.defineProperty(xl,"__esModule",{value:!0});xl.default=UR;var PR=LR(Mt());function LR(t){return t&&t.__esModule?t:{default:t}}s(LR,"_interopRequireDefault");function UR(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{PR.default[e][r]=t[e][r]})})}s(UR,"setLocale")});var Nl=Q(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.addMethod=$R;Object.defineProperty(ie,"MixedSchema",{enumerable:!0,get:s(function(){return Qg.default},"get")});Object.defineProperty(ie,"mixed",{enumerable:!0,get:s(function(){return Qg.create},"get")});Object.defineProperty(ie,"BooleanSchema",{enumerable:!0,get:s(function(){return vl.default},"get")});Object.defineProperty(ie,"bool",{enumerable:!0,get:s(function(){return vl.create},"get")});Object.defineProperty(ie,"boolean",{enumerable:!0,get:s(function(){return vl.create},"get")});Object.defineProperty(ie,"StringSchema",{enumerable:!0,get:s(function(){return jg.default},"get")});Object.defineProperty(ie,"string",{enumerable:!0,get:s(function(){return jg.create},"get")});Object.defineProperty(ie,"NumberSchema",{enumerable:!0,get:s(function(){return Hg.default},"get")});Object.defineProperty(ie,"number",{enumerable:!0,get:s(function(){return Hg.create},"get")});Object.defineProperty(ie,"DateSchema",{enumerable:!0,get:s(function(){return Yg.default},"get")});Object.defineProperty(ie,"date",{enumerable:!0,get:s(function(){return Yg.create},"get")});Object.defineProperty(ie,"ObjectSchema",{enumerable:!0,get:s(function(){return zg.default},"get")});Object.defineProperty(ie,"object",{enumerable:!0,get:s(function(){return zg.create},"get")});Object.defineProperty(ie,"ArraySchema",{enumerable:!0,get:s(function(){return Jg.default},"get")});Object.defineProperty(ie,"array",{enumerable:!0,get:s(function(){return Jg.create},"get")});Object.defineProperty(ie,"ref",{enumerable:!0,get:s(function(){return kR.create},"get")});Object.defineProperty(ie,"lazy",{enumerable:!0,get:s(function(){return MR.create},"get")});Object.defineProperty(ie,"ValidationError",{enumerable:!0,get:s(function(){return FR.default},"get")});Object.defineProperty(ie,"reach",{enumerable:!0,get:s(function(){return BR.default},"get")});Object.defineProperty(ie,"isSchema",{enumerable:!0,get:s(function(){return Xg.default},"get")});Object.defineProperty(ie,"setLocale",{enumerable:!0,get:s(function(){return WR.default},"get")});Object.defineProperty(ie,"BaseSchema",{enumerable:!0,get:s(function(){return GR.default},"get")});var Qg=Yr(mg()),vl=Yr(Tg()),jg=Yr(_g()),Hg=Yr(wg()),Yg=Yr(bg()),zg=Yr(Gg()),Jg=Yr(Vg()),kR=Qr(),MR=qg(),FR=fs(qr()),BR=fs(yl()),Xg=fs(Ln()),WR=fs(Kg()),GR=fs(Bt());function fs(t){return t&&t.__esModule?t:{default:t}}s(fs,"_interopRequireDefault");function Zg(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Zg=s(function(){return t},"_getRequireWildcardCache"),t}s(Zg,"_getRequireWildcardCache");function Yr(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Zg();if(e&&e.has(t))return e.get(t);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var o=n?Object.getOwnPropertyDescriptor(t,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=t[i]}return r.default=t,e&&e.set(t,r),r}s(Yr,"_interopRequireWildcard");function $R(t,e,r){if(!t||!(0,Xg.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}s($R,"addMethod")});var eE=Q(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var Pl=Ul();Ll.default=()=>{(0,Pl.registerOptionPreset)("npm-node-cron",{presetId:"npm-node-cron",useSeconds:!0,useYears:!1,useAliases:!0,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:0,maxValue:11},daysOfWeek:{minValue:0,maxValue:6},years:{minValue:1970,maxValue:2099}}),(0,Pl.registerOptionPreset)("aws-cloud-watch",{presetId:"aws-cloud-watch",useSeconds:!1,useYears:!0,useAliases:!0,useBlankDay:!0,allowOnlyOneBlankDayField:!0,mustHaveBlankDayField:!0,useLastDayOfMonth:!0,useLastDayOfWeek:!0,useNearestWeekday:!0,useNthWeekdayOfMonth:!0,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:1,maxValue:12},daysOfWeek:{minValue:1,maxValue:7},years:{minValue:1970,maxValue:2199}}),(0,Pl.registerOptionPreset)("npm-cron-schedule",{presetId:"npm-cron-schedule",useSeconds:!0,useYears:!1,useAliases:!0,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:1,maxValue:12},daysOfWeek:{minValue:0,maxValue:7},years:{minValue:1970,maxValue:2099}})}});var Ul=Q(Ae=>{"use strict";var VR=Ae&&Ae.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),qR=Ae&&Ae.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),KR=Ae&&Ae.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&VR(e,t,r);return qR(e,t),e},QR=Ae&&Ae.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.validateOptions=Ae.registerOptionPreset=Ae.getOptionPresets=Ae.getOptionPreset=void 0;var x=KR(Nl());Nl();var ps=ct(),jR=QR(eE());lt();var zr={default:{presetId:"default",useSeconds:!1,useYears:!1,useAliases:!1,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:0,maxValue:31},months:{minValue:0,maxValue:12},daysOfWeek:{minValue:0,maxValue:7},years:{minValue:1970,maxValue:2099}}},tE=x.object({presetId:x.string().required(),useSeconds:x.boolean().required(),useYears:x.boolean().required(),useAliases:x.boolean(),useBlankDay:x.boolean().required(),allowOnlyOneBlankDayField:x.boolean().required(),mustHaveBlankDayField:x.boolean(),useLastDayOfMonth:x.boolean(),useLastDayOfWeek:x.boolean(),useNearestWeekday:x.boolean(),useNthWeekdayOfMonth:x.boolean(),seconds:x.object({minValue:x.number().min(0).required(),maxValue:x.number().min(0).required(),lowerLimit:x.number().min(0),upperLimit:x.number().min(0)}).required(),minutes:x.object({minValue:x.number().min(0).required(),maxValue:x.number().min(0).required(),lowerLimit:x.number().min(0),upperLimit:x.number().min(0)}).required(),hours:x.object({minValue:x.number().min(0).required(),maxValue:x.number().min(0).required(),lowerLimit:x.number().min(0),upperLimit:x.number().min(0)}).required(),daysOfMonth:x.object({minValue:x.number().min(0).required(),maxValue:x.number().min(0).required(),lowerLimit:x.number().min(0),upperLimit:x.number().min(0)}).required(),months:x.object({minValue:x.number().min(0).required(),maxValue:x.number().min(0).required(),lowerLimit:x.number().min(0),upperLimit:x.number().min(0)}).required(),daysOfWeek:x.object({minValue:x.number().min(0).required(),maxValue:x.number().min(0).required(),lowerLimit:x.number().min(0),upperLimit:x.number().min(0)}).required(),years:x.object({minValue:x.number().min(0).required(),maxValue:x.number().min(0).required(),lowerLimit:x.number().min(0),upperLimit:x.number().min(0)}).required()}).required(),HR=s(t=>zr[t]?(0,ps.valid)(zr[t]):(0,ps.err)(`Option preset '${t}' not found.`),"getOptionPreset");Ae.getOptionPreset=HR;var YR=s(()=>zr,"getOptionPresets");Ae.getOptionPresets=YR;var zR=s((t,e)=>{zr[t]=tE.validateSync(e,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0})},"registerOptionPreset");Ae.registerOptionPreset=zR;var JR=s(t=>{var e,r,n,i,o,a,u,c,l,d,f,g,m,y,h,p,T,A,_,I;try{(0,jR.default)();let O;if(t.preset)if(typeof t.preset=="string"){if(!zr[t.preset])return(0,ps.err)([`Option preset ${t.preset} does not exist.`]);O=zr[t.preset]}else O=t.preset;else O=zr.default;let C=Object.assign(Object.assign({presetId:O.presetId,preset:O},{useSeconds:O.useSeconds,useYears:O.useYears,useAliases:(e=O.useAliases)!==null&&e!==void 0?e:!1,useBlankDay:O.useBlankDay,allowOnlyOneBlankDayField:O.allowOnlyOneBlankDayField,mustHaveBlankDayField:(r=O.mustHaveBlankDayField)!==null&&r!==void 0?r:!1,useLastDayOfMonth:(n=O.useLastDayOfMonth)!==null&&n!==void 0?n:!1,useLastDayOfWeek:(i=O.useLastDayOfWeek)!==null&&i!==void 0?i:!1,useNearestWeekday:(o=O.useNearestWeekday)!==null&&o!==void 0?o:!1,useNthWeekdayOfMonth:(a=O.useNthWeekdayOfMonth)!==null&&a!==void 0?a:!1,seconds:{lowerLimit:(u=O.seconds.lowerLimit)!==null&&u!==void 0?u:O.seconds.minValue,upperLimit:(c=O.seconds.upperLimit)!==null&&c!==void 0?c:O.seconds.maxValue},minutes:{lowerLimit:(l=O.minutes.lowerLimit)!==null&&l!==void 0?l:O.minutes.minValue,upperLimit:(d=O.minutes.upperLimit)!==null&&d!==void 0?d:O.minutes.maxValue},hours:{lowerLimit:(f=O.hours.lowerLimit)!==null&&f!==void 0?f:O.hours.minValue,upperLimit:(g=O.hours.upperLimit)!==null&&g!==void 0?g:O.hours.maxValue},daysOfMonth:{lowerLimit:(m=O.daysOfMonth.lowerLimit)!==null&&m!==void 0?m:O.daysOfMonth.minValue,upperLimit:(y=O.daysOfMonth.upperLimit)!==null&&y!==void 0?y:O.daysOfMonth.maxValue},months:{lowerLimit:(h=O.months.lowerLimit)!==null&&h!==void 0?h:O.months.minValue,upperLimit:(p=O.months.upperLimit)!==null&&p!==void 0?p:O.months.maxValue},daysOfWeek:{lowerLimit:(T=O.daysOfWeek.lowerLimit)!==null&&T!==void 0?T:O.daysOfWeek.minValue,upperLimit:(A=O.daysOfWeek.upperLimit)!==null&&A!==void 0?A:O.daysOfWeek.maxValue},years:{lowerLimit:(_=O.years.lowerLimit)!==null&&_!==void 0?_:O.years.minValue,upperLimit:(I=O.years.upperLimit)!==null&&I!==void 0?I:O.years.maxValue}}),t.override),w=x.object({presetId:x.string().required(),preset:tE.required(),useSeconds:x.boolean().required(),useYears:x.boolean().required(),useAliases:x.boolean(),useBlankDay:x.boolean().required(),allowOnlyOneBlankDayField:x.boolean().required(),mustHaveBlankDayField:x.boolean(),useLastDayOfMonth:x.boolean(),useLastDayOfWeek:x.boolean(),useNearestWeekday:x.boolean(),useNthWeekdayOfMonth:x.boolean(),seconds:x.object({lowerLimit:x.number().min(O.seconds.minValue).max(O.seconds.maxValue),upperLimit:x.number().min(O.seconds.minValue).max(O.seconds.maxValue)}).required(),minutes:x.object({lowerLimit:x.number().min(O.minutes.minValue).max(O.minutes.maxValue),upperLimit:x.number().min(O.minutes.minValue).max(O.minutes.maxValue)}).required(),hours:x.object({lowerLimit:x.number().min(O.hours.minValue).max(O.hours.maxValue),upperLimit:x.number().min(O.hours.minValue).max(O.hours.maxValue)}).required(),daysOfMonth:x.object({lowerLimit:x.number().min(O.daysOfMonth.minValue).max(O.daysOfMonth.maxValue),upperLimit:x.number().min(O.daysOfMonth.minValue).max(O.daysOfMonth.maxValue)}).required(),months:x.object({lowerLimit:x.number().min(O.months.minValue).max(O.months.maxValue),upperLimit:x.number().min(O.months.minValue).max(O.months.maxValue)}).required(),daysOfWeek:x.object({lowerLimit:x.number().min(O.daysOfWeek.minValue).max(O.daysOfWeek.maxValue),upperLimit:x.number().min(O.daysOfWeek.minValue).max(O.daysOfWeek.maxValue)}).required(),years:x.object({lowerLimit:x.number().min(O.years.minValue).max(O.years.maxValue),upperLimit:x.number().min(O.years.minValue).max(O.years.maxValue)}).required()}).required().validateSync(C,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0});return(0,ps.valid)(w)}catch(O){return(0,ps.err)(O.errors)}},"validateOptions");Ae.validateOptions=JR});var Rt=Q((ms,Ml)=>{"use strict";var Xr=ms&&ms.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ms,"__esModule",{value:!0});var Jr=ct(),XR=Xr(xh()),ZR=Xr(vh()),eC=Xr(Nh()),tC=Xr(Ph()),rC=Xr(Lh()),nC=Xr(Uh()),iC=Xr(kh()),sC=Ul();lt();var oC=s((t,e)=>{let r=t.trim().split(" ");if(e.useSeconds&&e.useYears&&r.length!==7)return(0,Jr.err)(`Expected 7 values, but got ${r.length}.`);if((e.useSeconds&&!e.useYears||e.useYears&&!e.useSeconds)&&r.length!==6)return(0,Jr.err)(`Expected 6 values, but got ${r.length}.`);if(!e.useSeconds&&!e.useYears&&r.length!==5)return(0,Jr.err)(`Expected 5 values, but got ${r.length}.`);let n={seconds:e.useSeconds?r[0]:void 0,minutes:r[e.useSeconds?1:0],hours:r[e.useSeconds?2:1],daysOfMonth:r[e.useSeconds?3:2],months:r[e.useSeconds?4:3],daysOfWeek:r[e.useSeconds?5:4],years:e.useYears?r[e.useSeconds?6:5]:void 0};return(0,Jr.valid)(n)},"splitCronString"),kl=s((t,e={})=>{let r=(0,sC.validateOptions)(e);if(r.isError())return r;let n=r.getValue(),i=oC(t,n);if(i.isError())return(0,Jr.err)([`${i.getError()} (Input cron: '${t}')`]);let o=i.getValue(),a=[];if(n.useSeconds&&a.push((0,XR.default)(o,n)),a.push((0,ZR.default)(o,n)),a.push((0,eC.default)(o,n)),a.push((0,tC.default)(o,n)),a.push((0,rC.default)(o,n)),a.push((0,nC.default)(o,n)),n.useYears&&a.push((0,iC.default)(o,n)),a.every(c=>c.isValid()))return(0,Jr.valid)(o);let u=[];return a.forEach(c=>{c.isError()&&c.getError().forEach(l=>{u.push(l)})}),u.forEach((c,l)=>{u[l]=`${c} (Input cron: '${t}')`}),(0,Jr.err)(u)},"cron");ms.default=kl;Ml.exports=kl;Ml.exports.default=kl});var vy=Q(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});var $t=class extends Error{static{s(this,"LuxonError")}},jl=class extends $t{static{s(this,"InvalidDateTimeError")}constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}},Hl=class extends $t{static{s(this,"InvalidIntervalError")}constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}},Yl=class extends $t{static{s(this,"InvalidDurationError")}constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}},pr=class extends $t{static{s(this,"ConflictingSpecificationError")}},Aa=class extends $t{static{s(this,"InvalidUnitError")}constructor(e){super(`Invalid unit ${e}`)}},_e=class extends $t{static{s(this,"InvalidArgumentError")}},bt=class extends $t{static{s(this,"ZoneIsAbstractError")}constructor(){super("Zone is an abstract class")}},N="numeric",mt="short",qe="long",_a={year:N,month:N,day:N},NE={year:N,month:mt,day:N},aC={year:N,month:mt,day:N,weekday:mt},PE={year:N,month:qe,day:N},LE={year:N,month:qe,day:N,weekday:qe},UE={hour:N,minute:N},kE={hour:N,minute:N,second:N},ME={hour:N,minute:N,second:N,timeZoneName:mt},FE={hour:N,minute:N,second:N,timeZoneName:qe},BE={hour:N,minute:N,hourCycle:"h23"},WE={hour:N,minute:N,second:N,hourCycle:"h23"},GE={hour:N,minute:N,second:N,hourCycle:"h23",timeZoneName:mt},$E={hour:N,minute:N,second:N,hourCycle:"h23",timeZoneName:qe},VE={year:N,month:N,day:N,hour:N,minute:N},qE={year:N,month:N,day:N,hour:N,minute:N,second:N},KE={year:N,month:mt,day:N,hour:N,minute:N},QE={year:N,month:mt,day:N,hour:N,minute:N,second:N},uC={year:N,month:mt,day:N,weekday:mt,hour:N,minute:N},jE={year:N,month:qe,day:N,hour:N,minute:N,timeZoneName:mt},HE={year:N,month:qe,day:N,hour:N,minute:N,second:N,timeZoneName:mt},YE={year:N,month:qe,day:N,weekday:qe,hour:N,minute:N,timeZoneName:qe},zE={year:N,month:qe,day:N,weekday:qe,hour:N,minute:N,second:N,timeZoneName:qe},hr=class{static{s(this,"Zone")}get type(){throw new bt}get name(){throw new bt}get ianaName(){return this.name}get isUniversal(){throw new bt}offsetName(e,r){throw new bt}formatOffset(e,r){throw new bt}offset(e){throw new bt}equals(e){throw new bt}get isValid(){throw new bt}},Fl=null,Ss=class t extends hr{static{s(this,"SystemZone")}static get instance(){return Fl===null&&(Fl=new t),Fl}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return ay(e,r,n)}formatOffset(e,r){return Ts(this.offset(e),r)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}},zl=new Map;function cC(t){let e=zl.get(t);return e===void 0&&(e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),zl.set(t,e)),e}s(cC,"makeDTF");var lC={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function dC(t,e){let r=t.format(e).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(r),[,i,o,a,u,c,l,d]=n;return[a,i,o,u,c,l,d]}s(dC,"hackyOffset");function fC(t,e){let r=t.formatToParts(e),n=[];for(let i=0;i<r.length;i++){let{type:o,value:a}=r[i],u=lC[o];o==="era"?n[u]=a:H(u)||(n[u]=parseInt(a,10))}return n}s(fC,"partsOffset");var Bl=new Map,Vt=class t extends hr{static{s(this,"IANAZone")}static create(e){let r=Bl.get(e);return r===void 0&&Bl.set(e,r=new t(e)),r}static resetCache(){Bl.clear(),zl.clear()}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch{return!1}}constructor(e){super(),this.zoneName=e,this.valid=t.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return ay(e,r,n,this.name)}formatOffset(e,r){return Ts(this.offset(e),r)}offset(e){if(!this.valid)return NaN;let r=new Date(e);if(isNaN(r))return NaN;let n=cC(this.name),[i,o,a,u,c,l,d]=n.formatToParts?fC(n,r):dC(n,r);u==="BC"&&(i=-Math.abs(i)+1);let g=ba({year:i,month:o,day:a,hour:c===24?0:c,minute:l,second:d,millisecond:0}),m=+r,y=m%1e3;return m-=y>=0?y:1e3+y,(g-m)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}},rE={};function pC(t,e={}){let r=JSON.stringify([t,e]),n=rE[r];return n||(n=new Intl.ListFormat(t,e),rE[r]=n),n}s(pC,"getCachedLF");var Jl=new Map;function Xl(t,e={}){let r=JSON.stringify([t,e]),n=Jl.get(r);return n===void 0&&(n=new Intl.DateTimeFormat(t,e),Jl.set(r,n)),n}s(Xl,"getCachedDTF");var Zl=new Map;function mC(t,e={}){let r=JSON.stringify([t,e]),n=Zl.get(r);return n===void 0&&(n=new Intl.NumberFormat(t,e),Zl.set(r,n)),n}s(mC,"getCachedINF");var ed=new Map;function hC(t,e={}){let{base:r,...n}=e,i=JSON.stringify([t,n]),o=ed.get(i);return o===void 0&&(o=new Intl.RelativeTimeFormat(t,e),ed.set(i,o)),o}s(hC,"getCachedRTF");var gs=null;function gC(){return gs||(gs=new Intl.DateTimeFormat().resolvedOptions().locale,gs)}s(gC,"systemLocale");var td=new Map;function JE(t){let e=td.get(t);return e===void 0&&(e=new Intl.DateTimeFormat(t).resolvedOptions(),td.set(t,e)),e}s(JE,"getCachedIntResolvedOptions");var rd=new Map;function EC(t){let e=rd.get(t);if(!e){let r=new Intl.Locale(t);e="getWeekInfo"in r?r.getWeekInfo():r.weekInfo,"minimalDays"in e||(e={...XE,...e}),rd.set(t,e)}return e}s(EC,"getCachedWeekInfo");function yC(t){let e=t.indexOf("-x-");e!==-1&&(t=t.substring(0,e));let r=t.indexOf("-u-");if(r===-1)return[t];{let n,i;try{n=Xl(t).resolvedOptions(),i=t}catch{let c=t.substring(0,r);n=Xl(c).resolvedOptions(),i=c}let{numberingSystem:o,calendar:a}=n;return[i,o,a]}}s(yC,"parseLocaleString");function TC(t,e,r){return(r||e)&&(t.includes("-u-")||(t+="-u"),r&&(t+=`-ca-${r}`),e&&(t+=`-nu-${e}`)),t}s(TC,"intlConfigString");function SC(t){let e=[];for(let r=1;r<=12;r++){let n=ue.utc(2009,r,1);e.push(t(n))}return e}s(SC,"mapMonths");function AC(t){let e=[];for(let r=1;r<=7;r++){let n=ue.utc(2016,11,13+r);e.push(t(n))}return e}s(AC,"mapWeekdays");function ma(t,e,r,n){let i=t.listingMode();return i==="error"?null:i==="en"?r(e):n(e)}s(ma,"listStuff");function _C(t){return t.numberingSystem&&t.numberingSystem!=="latn"?!1:t.numberingSystem==="latn"||!t.locale||t.locale.startsWith("en")||JE(t.locale).numberingSystem==="latn"}s(_C,"supportsFastNumbers");var nd=class{static{s(this,"PolyNumberFormatter")}constructor(e,r,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;let{padTo:i,floor:o,...a}=n;if(!r||Object.keys(a).length>0){let u={useGrouping:!1,...n};n.padTo>0&&(u.minimumIntegerDigits=n.padTo),this.inf=mC(e,u)}}format(e){if(this.inf){let r=this.floor?Math.floor(e):e;return this.inf.format(r)}else{let r=this.floor?Math.floor(e):md(e,3);return he(r,this.padTo)}}},id=class{static{s(this,"PolyDateFormatter")}constructor(e,r,n){this.opts=n,this.originalZone=void 0;let i;if(this.opts.timeZone)this.dt=e;else if(e.zone.type==="fixed"){let a=-1*(e.offset/60),u=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;e.offset!==0&&Vt.create(u).valid?(i=u,this.dt=e):(i="UTC",this.dt=e.offset===0?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type==="system"?this.dt=e:e.zone.type==="iana"?(this.dt=e,i=e.zone.name):(i="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);let o={...this.opts};o.timeZone=o.timeZone||i,this.dtf=Xl(r,o)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(r=>{if(r.type==="timeZoneName"){let n=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...r,value:n}}else return r}):e}resolvedOptions(){return this.dtf.resolvedOptions()}},sd=class{static{s(this,"PolyRelFormatter")}constructor(e,r,n){this.opts={style:"long",...n},!r&&sy()&&(this.rtf=hC(e,n))}format(e,r){return this.rtf?this.rtf.format(e,r):VC(r,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,r){return this.rtf?this.rtf.formatToParts(e,r):[]}},XE={firstDay:1,minimalDays:4,weekend:[6,7]},re=class t{static{s(this,"Locale")}static fromOpts(e){return t.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,r,n,i,o=!1){let a=e||se.defaultLocale,u=a||(o?"en-US":gC()),c=r||se.defaultNumberingSystem,l=n||se.defaultOutputCalendar,d=ad(i)||se.defaultWeekSettings;return new t(u,c,l,d,a)}static resetCache(){gs=null,Jl.clear(),Zl.clear(),ed.clear(),td.clear(),rd.clear()}static fromObject({locale:e,numberingSystem:r,outputCalendar:n,weekSettings:i}={}){return t.create(e,r,n,i)}constructor(e,r,n,i,o){let[a,u,c]=yC(e);this.locale=a,this.numberingSystem=r||u||null,this.outputCalendar=n||c||null,this.weekSettings=i,this.intl=TC(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=o,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=_C(this)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),r=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&r?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:t.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,ad(e.weekSettings)||this.weekSettings,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,r=!1){return ma(this,e,ly,()=>{let n=this.intl==="ja"||this.intl.startsWith("ja-");r&=!n;let i=r?{month:e,day:"numeric"}:{month:e},o=r?"format":"standalone";if(!this.monthsCache[o][e]){let a=n?u=>this.dtFormatter(u,i).format():u=>this.extract(u,i,"month");this.monthsCache[o][e]=SC(a)}return this.monthsCache[o][e]})}weekdays(e,r=!1){return ma(this,e,py,()=>{let n=r?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=r?"format":"standalone";return this.weekdaysCache[i][e]||(this.weekdaysCache[i][e]=AC(o=>this.extract(o,n,"weekday"))),this.weekdaysCache[i][e]})}meridiems(){return ma(this,void 0,()=>my,()=>{if(!this.meridiemCache){let e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[ue.utc(2016,11,13,9),ue.utc(2016,11,13,19)].map(r=>this.extract(r,e,"dayperiod"))}return this.meridiemCache})}eras(e){return ma(this,e,hy,()=>{let r={era:e};return this.eraCache[e]||(this.eraCache[e]=[ue.utc(-40,1,1),ue.utc(2017,1,1)].map(n=>this.extract(n,r,"era"))),this.eraCache[e]})}extract(e,r,n){let i=this.dtFormatter(e,r),o=i.formatToParts(),a=o.find(u=>u.type.toLowerCase()===n);return a?a.value:null}numberFormatter(e={}){return new nd(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,r={}){return new id(e,this.intl,r)}relFormatter(e={}){return new sd(this.intl,this.isEnglish(),e)}listFormatter(e={}){return pC(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||JE(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:oy()?EC(this.locale):XE}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},Wl=null,Ke=class t extends hr{static{s(this,"FixedOffsetZone")}static get utcInstance(){return Wl===null&&(Wl=new t(0)),Wl}static instance(e){return e===0?t.utcInstance:new t(e)}static parseSpecifier(e){if(e){let r=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r)return new t(xa(r[1],r[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Ts(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${Ts(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,r){return Ts(this.fixed,r)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}},Oa=class extends hr{static{s(this,"InvalidZone")}constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function fr(t,e){if(H(t)||t===null)return e;if(t instanceof hr)return t;if(DC(t)){let r=t.toLowerCase();return r==="default"?e:r==="local"||r==="system"?Ss.instance:r==="utc"||r==="gmt"?Ke.utcInstance:Ke.parseSpecifier(r)||Vt.create(t)}else return mr(t)?Ke.instance(t):typeof t=="object"&&"offset"in t&&typeof t.offset=="function"?t:new Oa(t)}s(fr,"normalizeZone");var ld={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},nE={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},OC=ld.hanidec.replace(/[\[|\]]/g,"").split("");function IC(t){let e=parseInt(t,10);if(isNaN(e)){e="";for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);if(t[r].search(ld.hanidec)!==-1)e+=OC.indexOf(t[r]);else for(let i in nE){let[o,a]=nE[i];n>=o&&n<=a&&(e+=n-o)}}return parseInt(e,10)}else return e}s(IC,"parseDigits");var od=new Map;function wC(){od.clear()}s(wC,"resetDigitRegexCache");function ft({numberingSystem:t},e=""){let r=t||"latn",n=od.get(r);n===void 0&&(n=new Map,od.set(r,n));let i=n.get(e);return i===void 0&&(i=new RegExp(`${ld[r]}${e}`),n.set(e,i)),i}s(ft,"digitRegex");var iE=s(()=>Date.now(),"now"),sE="system",oE=null,aE=null,uE=null,cE=60,lE,dE=null,se=class{static{s(this,"Settings")}static get now(){return iE}static set now(e){iE=e}static set defaultZone(e){sE=e}static get defaultZone(){return fr(sE,Ss.instance)}static get defaultLocale(){return oE}static set defaultLocale(e){oE=e}static get defaultNumberingSystem(){return aE}static set defaultNumberingSystem(e){aE=e}static get defaultOutputCalendar(){return uE}static set defaultOutputCalendar(e){uE=e}static get defaultWeekSettings(){return dE}static set defaultWeekSettings(e){dE=ad(e)}static get twoDigitCutoffYear(){return cE}static set twoDigitCutoffYear(e){cE=e%100}static get throwOnInvalid(){return lE}static set throwOnInvalid(e){lE=e}static resetCaches(){re.resetCache(),Vt.resetCache(),ue.resetCache(),wC()}},Ve=class{static{s(this,"Invalid")}constructor(e,r){this.reason=e,this.explanation=r}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},ZE=[0,31,59,90,120,151,181,212,243,273,304,334],ey=[0,31,60,91,121,152,182,213,244,274,305,335];function et(t,e){return new Ve("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${t}, which is invalid`)}s(et,"unitOutOfRange");function dd(t,e,r){let n=new Date(Date.UTC(t,e-1,r));t<100&&t>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);let i=n.getUTCDay();return i===0?7:i}s(dd,"dayOfWeek");function ty(t,e,r){return r+(_s(t)?ey:ZE)[e-1]}s(ty,"computeOrdinal");function ry(t,e){let r=_s(t)?ey:ZE,n=r.findIndex(o=>o<e),i=e-r[n];return{month:n+1,day:i}}s(ry,"uncomputeOrdinal");function fd(t,e){return(t-e+7)%7+1}s(fd,"isoWeekdayToLocal");function Ia(t,e=4,r=1){let{year:n,month:i,day:o}=t,a=ty(n,i,o),u=fd(dd(n,i,o),r),c=Math.floor((a-u+14-e)/7),l;return c<1?(l=n-1,c=As(l,e,r)):c>As(n,e,r)?(l=n+1,c=1):l=n,{weekYear:l,weekNumber:c,weekday:u,...va(t)}}s(Ia,"gregorianToWeek");function fE(t,e=4,r=1){let{weekYear:n,weekNumber:i,weekday:o}=t,a=fd(dd(n,1,e),r),u=Vn(n),c=i*7+o-a-7+e,l;c<1?(l=n-1,c+=Vn(l)):c>u?(l=n+1,c-=Vn(n)):l=n;let{month:d,day:f}=ry(l,c);return{year:l,month:d,day:f,...va(t)}}s(fE,"weekToGregorian");function Gl(t){let{year:e,month:r,day:n}=t,i=ty(e,r,n);return{year:e,ordinal:i,...va(t)}}s(Gl,"gregorianToOrdinal");function pE(t){let{year:e,ordinal:r}=t,{month:n,day:i}=ry(e,r);return{year:e,month:n,day:i,...va(t)}}s(pE,"ordinalToGregorian");function mE(t,e){if(!H(t.localWeekday)||!H(t.localWeekNumber)||!H(t.localWeekYear)){if(!H(t.weekday)||!H(t.weekNumber)||!H(t.weekYear))throw new pr("Cannot mix locale-based week fields with ISO-based week fields");return H(t.localWeekday)||(t.weekday=t.localWeekday),H(t.localWeekNumber)||(t.weekNumber=t.localWeekNumber),H(t.localWeekYear)||(t.weekYear=t.localWeekYear),delete t.localWeekday,delete t.localWeekNumber,delete t.localWeekYear,{minDaysInFirstWeek:e.getMinDaysInFirstWeek(),startOfWeek:e.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}s(mE,"usesLocalWeekValues");function RC(t,e=4,r=1){let n=Da(t.weekYear),i=tt(t.weekNumber,1,As(t.weekYear,e,r)),o=tt(t.weekday,1,7);return n?i?o?!1:et("weekday",t.weekday):et("week",t.weekNumber):et("weekYear",t.weekYear)}s(RC,"hasInvalidWeekData");function CC(t){let e=Da(t.year),r=tt(t.ordinal,1,Vn(t.year));return e?r?!1:et("ordinal",t.ordinal):et("year",t.year)}s(CC,"hasInvalidOrdinalData");function ny(t){let e=Da(t.year),r=tt(t.month,1,12),n=tt(t.day,1,wa(t.year,t.month));return e?r?n?!1:et("day",t.day):et("month",t.month):et("year",t.year)}s(ny,"hasInvalidGregorianData");function iy(t){let{hour:e,minute:r,second:n,millisecond:i}=t,o=tt(e,0,23)||e===24&&r===0&&n===0&&i===0,a=tt(r,0,59),u=tt(n,0,59),c=tt(i,0,999);return o?a?u?c?!1:et("millisecond",i):et("second",n):et("minute",r):et("hour",e)}s(iy,"hasInvalidTimeData");function H(t){return typeof t>"u"}s(H,"isUndefined");function mr(t){return typeof t=="number"}s(mr,"isNumber");function Da(t){return typeof t=="number"&&t%1===0}s(Da,"isInteger");function DC(t){return typeof t=="string"}s(DC,"isString");function bC(t){return Object.prototype.toString.call(t)==="[object Date]"}s(bC,"isDate");function sy(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}s(sy,"hasRelative");function oy(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}s(oy,"hasLocaleWeekInfo");function xC(t){return Array.isArray(t)?t:[t]}s(xC,"maybeArray");function hE(t,e,r){if(t.length!==0)return t.reduce((n,i)=>{let o=[e(i),i];return n&&r(n[0],o[0])===n[0]?n:o},null)[1]}s(hE,"bestBy");function vC(t,e){return e.reduce((r,n)=>(r[n]=t[n],r),{})}s(vC,"pick");function Kn(t,e){return Object.prototype.hasOwnProperty.call(t,e)}s(Kn,"hasOwnProperty");function ad(t){if(t==null)return null;if(typeof t!="object")throw new _e("Week settings must be an object");if(!tt(t.firstDay,1,7)||!tt(t.minimalDays,1,7)||!Array.isArray(t.weekend)||t.weekend.some(e=>!tt(e,1,7)))throw new _e("Invalid week settings");return{firstDay:t.firstDay,minimalDays:t.minimalDays,weekend:Array.from(t.weekend)}}s(ad,"validateWeekSettings");function tt(t,e,r){return Da(t)&&t>=e&&t<=r}s(tt,"integerBetween");function NC(t,e){return t-e*Math.floor(t/e)}s(NC,"floorMod");function he(t,e=2){let r=t<0,n;return r?n="-"+(""+-t).padStart(e,"0"):n=(""+t).padStart(e,"0"),n}s(he,"padStart");function dr(t){if(!(H(t)||t===null||t===""))return parseInt(t,10)}s(dr,"parseInteger");function Zr(t){if(!(H(t)||t===null||t===""))return parseFloat(t)}s(Zr,"parseFloating");function pd(t){if(!(H(t)||t===null||t==="")){let e=parseFloat("0."+t)*1e3;return Math.floor(e)}}s(pd,"parseMillis");function md(t,e,r="round"){let n=10**e;switch(r){case"expand":return t>0?Math.ceil(t*n)/n:Math.floor(t*n)/n;case"trunc":return Math.trunc(t*n)/n;case"round":return Math.round(t*n)/n;case"floor":return Math.floor(t*n)/n;case"ceil":return Math.ceil(t*n)/n;default:throw new RangeError(`Value rounding ${r} is out of range`)}}s(md,"roundTo");function _s(t){return t%4===0&&(t%100!==0||t%400===0)}s(_s,"isLeapYear");function Vn(t){return _s(t)?366:365}s(Vn,"daysInYear");function wa(t,e){let r=NC(e-1,12)+1,n=t+(e-r)/12;return r===2?_s(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}s(wa,"daysInMonth");function ba(t){let e=Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,t.second,t.millisecond);return t.year<100&&t.year>=0&&(e=new Date(e),e.setUTCFullYear(t.year,t.month-1,t.day)),+e}s(ba,"objToLocalTS");function gE(t,e,r){return-fd(dd(t,1,e),r)+e-1}s(gE,"firstWeekOffset");function As(t,e=4,r=1){let n=gE(t,e,r),i=gE(t+1,e,r);return(Vn(t)-n+i)/7}s(As,"weeksInWeekYear");function ud(t){return t>99?t:t>se.twoDigitCutoffYear?1900+t:2e3+t}s(ud,"untruncateYear");function ay(t,e,r,n=null){let i=new Date(t),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(o.timeZone=n);let a={timeZoneName:e,...o},u=new Intl.DateTimeFormat(r,a).formatToParts(i).find(c=>c.type.toLowerCase()==="timezonename");return u?u.value:null}s(ay,"parseZoneInfo");function xa(t,e){let r=parseInt(t,10);Number.isNaN(r)&&(r=0);let n=parseInt(e,10)||0,i=r<0||Object.is(r,-0)?-n:n;return r*60+i}s(xa,"signedOffset");function uy(t){let e=Number(t);if(typeof t=="boolean"||t===""||!Number.isFinite(e))throw new _e(`Invalid unit value ${t}`);return e}s(uy,"asNumber");function Ra(t,e){let r={};for(let n in t)if(Kn(t,n)){let i=t[n];if(i==null)continue;r[e(n)]=uy(i)}return r}s(Ra,"normalizeObject");function Ts(t,e){let r=Math.trunc(Math.abs(t/60)),n=Math.trunc(Math.abs(t%60)),i=t>=0?"+":"-";switch(e){case"short":return`${i}${he(r,2)}:${he(n,2)}`;case"narrow":return`${i}${r}${n>0?`:${n}`:""}`;case"techie":return`${i}${he(r,2)}${he(n,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}s(Ts,"formatOffset");function va(t){return vC(t,["hour","minute","second","millisecond"])}s(va,"timeObject");var PC=["January","February","March","April","May","June","July","August","September","October","November","December"],cy=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],LC=["J","F","M","A","M","J","J","A","S","O","N","D"];function ly(t){switch(t){case"narrow":return[...LC];case"short":return[...cy];case"long":return[...PC];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}s(ly,"months");var dy=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],fy=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],UC=["M","T","W","T","F","S","S"];function py(t){switch(t){case"narrow":return[...UC];case"short":return[...fy];case"long":return[...dy];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}s(py,"weekdays");var my=["AM","PM"],kC=["Before Christ","Anno Domini"],MC=["BC","AD"],FC=["B","A"];function hy(t){switch(t){case"narrow":return[...FC];case"short":return[...MC];case"long":return[...kC];default:return null}}s(hy,"eras");function BC(t){return my[t.hour<12?0:1]}s(BC,"meridiemForDateTime");function WC(t,e){return py(e)[t.weekday-1]}s(WC,"weekdayForDateTime");function GC(t,e){return ly(e)[t.month-1]}s(GC,"monthForDateTime");function $C(t,e){return hy(e)[t.year<0?0:1]}s($C,"eraForDateTime");function VC(t,e,r="always",n=!1){let i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},o=["hours","minutes","seconds"].indexOf(t)===-1;if(r==="auto"&&o){let f=t==="days";switch(e){case 1:return f?"tomorrow":`next ${i[t][0]}`;case-1:return f?"yesterday":`last ${i[t][0]}`;case 0:return f?"today":`this ${i[t][0]}`}}let a=Object.is(e,-0)||e<0,u=Math.abs(e),c=u===1,l=i[t],d=n?c?l[1]:l[2]||l[1]:c?i[t][0]:t;return a?`${u} ${d} ago`:`in ${u} ${d}`}s(VC,"formatRelativeTime");function EE(t,e){let r="";for(let n of t)n.literal?r+=n.val:r+=e(n.val);return r}s(EE,"stringifyTokens");var qC={D:_a,DD:NE,DDD:PE,DDDD:LE,t:UE,tt:kE,ttt:ME,tttt:FE,T:BE,TT:WE,TTT:GE,TTTT:$E,f:VE,ff:KE,fff:jE,ffff:YE,F:qE,FF:QE,FFF:HE,FFFF:zE},$e=class t{static{s(this,"Formatter")}static create(e,r={}){return new t(e,r)}static parseFormat(e){let r=null,n="",i=!1,o=[];for(let a=0;a<e.length;a++){let u=e.charAt(a);u==="'"?((n.length>0||i)&&o.push({literal:i||/^\s+$/.test(n),val:n===""?"'":n}),r=null,n="",i=!i):i||u===r?n+=u:(n.length>0&&o.push({literal:/^\s+$/.test(n),val:n}),n=u,r=u)}return n.length>0&&o.push({literal:i||/^\s+$/.test(n),val:n}),o}static macroTokenToFormatOpts(e){return qC[e]}constructor(e,r){this.opts=r,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,r){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...r}).format()}dtFormatter(e,r={}){return this.loc.dtFormatter(e,{...this.opts,...r})}formatDateTime(e,r){return this.dtFormatter(e,r).format()}formatDateTimeParts(e,r){return this.dtFormatter(e,r).formatToParts()}formatInterval(e,r){return this.dtFormatter(e.start,r).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,r){return this.dtFormatter(e,r).resolvedOptions()}num(e,r=0,n=void 0){if(this.opts.forceSimple)return he(e,r);let i={...this.opts};return r>0&&(i.padTo=r),n&&(i.signDisplay=n),this.loc.numberFormatter(i).format(e)}formatDateTimeFromString(e,r){let n=this.loc.listingMode()==="en",i=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",o=s((m,y)=>this.loc.extract(e,m,y),"string"),a=s(m=>e.isOffsetFixed&&e.offset===0&&m.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,m.format):"","formatOffset"),u=s(()=>n?BC(e):o({hour:"numeric",hourCycle:"h12"},"dayperiod"),"meridiem"),c=s((m,y)=>n?GC(e,m):o(y?{month:m}:{month:m,day:"numeric"},"month"),"month"),l=s((m,y)=>n?WC(e,m):o(y?{weekday:m}:{weekday:m,month:"long",day:"numeric"},"weekday"),"weekday"),d=s(m=>{let y=t.macroTokenToFormatOpts(m);return y?this.formatWithSystemDefault(e,y):m},"maybeMacro"),f=s(m=>n?$C(e,m):o({era:m},"era"),"era"),g=s(m=>{switch(m){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return u();case"d":return i?o({day:"numeric"},"day"):this.num(e.day);case"dd":return i?o({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return i?o({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return i?o({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return c("short",!0);case"LLLL":return c("long",!0);case"LLLLL":return c("narrow",!0);case"M":return i?o({month:"numeric"},"month"):this.num(e.month);case"MM":return i?o({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return c("short",!1);case"MMMM":return c("long",!1);case"MMMMM":return c("narrow",!1);case"y":return i?o({year:"numeric"},"year"):this.num(e.year);case"yy":return i?o({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return i?o({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return i?o({year:"numeric"},"year"):this.num(e.year,6);case"G":return f("short");case"GG":return f("long");case"GGGGG":return f("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return d(m)}},"tokenToString");return EE(t.parseFormat(r),g)}formatDurationFromString(e,r){let n=this.opts.signMode==="negativeLargestOnly"?-1:1,i=s(d=>{switch(d[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},"tokenToField"),o=s((d,f)=>g=>{let m=i(g);if(m){let y=f.isNegativeDuration&&m!==f.largestUnit?n:1,h;return this.opts.signMode==="negativeLargestOnly"&&m!==f.largestUnit?h="never":this.opts.signMode==="all"?h="always":h="auto",this.num(d.get(m)*y,g.length,h)}else return g},"tokenToString"),a=t.parseFormat(r),u=a.reduce((d,{literal:f,val:g})=>f?d:d.concat(g),[]),c=e.shiftTo(...u.map(i).filter(d=>d)),l={isNegativeDuration:c<0,largestUnit:Object.keys(c.values)[0]};return EE(a,o(c,l))}},gy=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function Qn(...t){let e=t.reduce((r,n)=>r+n.source,"");return RegExp(`^${e}$`)}s(Qn,"combineRegexes");function jn(...t){return e=>t.reduce(([r,n,i],o)=>{let[a,u,c]=o(e,i);return[{...r,...a},u||n,c]},[{},null,1]).slice(0,2)}s(jn,"combineExtractors");function Hn(t,...e){if(t==null)return[null,null];for(let[r,n]of e){let i=r.exec(t);if(i)return n(i)}return[null,null]}s(Hn,"parse");function Ey(...t){return(e,r)=>{let n={},i;for(i=0;i<t.length;i++)n[t[i]]=dr(e[r+i]);return[n,null,r+i]}}s(Ey,"simpleParse");var yy=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,KC=`(?:${yy.source}?(?:\\[(${gy.source})\\])?)?`,hd=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Ty=RegExp(`${hd.source}${KC}`),gd=RegExp(`(?:[Tt]${Ty.source})?`),QC=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,jC=/(\d{4})-?W(\d\d)(?:-?(\d))?/,HC=/(\d{4})-?(\d{3})/,YC=Ey("weekYear","weekNumber","weekDay"),zC=Ey("year","ordinal"),JC=/(\d{4})-(\d\d)-(\d\d)/,Sy=RegExp(`${hd.source} ?(?:${yy.source}|(${gy.source}))?`),XC=RegExp(`(?: ${Sy.source})?`);function qn(t,e,r){let n=t[e];return H(n)?r:dr(n)}s(qn,"int");function ZC(t,e){return[{year:qn(t,e),month:qn(t,e+1,1),day:qn(t,e+2,1)},null,e+3]}s(ZC,"extractISOYmd");function Yn(t,e){return[{hours:qn(t,e,0),minutes:qn(t,e+1,0),seconds:qn(t,e+2,0),milliseconds:pd(t[e+3])},null,e+4]}s(Yn,"extractISOTime");function Os(t,e){let r=!t[e]&&!t[e+1],n=xa(t[e+1],t[e+2]),i=r?null:Ke.instance(n);return[{},i,e+3]}s(Os,"extractISOOffset");function Is(t,e){let r=t[e]?Vt.create(t[e]):null;return[{},r,e+1]}s(Is,"extractIANAZone");var eD=RegExp(`^T?${hd.source}$`),tD=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function rD(t){let[e,r,n,i,o,a,u,c,l]=t,d=e[0]==="-",f=c&&c[0]==="-",g=s((m,y=!1)=>m!==void 0&&(y||m&&d)?-m:m,"maybeNegate");return[{years:g(Zr(r)),months:g(Zr(n)),weeks:g(Zr(i)),days:g(Zr(o)),hours:g(Zr(a)),minutes:g(Zr(u)),seconds:g(Zr(c),c==="-0"),milliseconds:g(pd(l),f)}]}s(rD,"extractISODuration");var nD={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Ed(t,e,r,n,i,o,a){let u={year:e.length===2?ud(dr(e)):dr(e),month:cy.indexOf(r)+1,day:dr(n),hour:dr(i),minute:dr(o)};return a&&(u.second=dr(a)),t&&(u.weekday=t.length>3?dy.indexOf(t)+1:fy.indexOf(t)+1),u}s(Ed,"fromStrings");var iD=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function sD(t){let[,e,r,n,i,o,a,u,c,l,d,f]=t,g=Ed(e,i,n,r,o,a,u),m;return c?m=nD[c]:l?m=0:m=xa(d,f),[g,new Ke(m)]}s(sD,"extractRFC2822");function oD(t){return t.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}s(oD,"preprocessRFC2822");var aD=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,uD=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,cD=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function yE(t){let[,e,r,n,i,o,a,u]=t;return[Ed(e,i,n,r,o,a,u),Ke.utcInstance]}s(yE,"extractRFC1123Or850");function lD(t){let[,e,r,n,i,o,a,u]=t;return[Ed(e,u,r,n,i,o,a),Ke.utcInstance]}s(lD,"extractASCII");var dD=Qn(QC,gd),fD=Qn(jC,gd),pD=Qn(HC,gd),mD=Qn(Ty),Ay=jn(ZC,Yn,Os,Is),hD=jn(YC,Yn,Os,Is),gD=jn(zC,Yn,Os,Is),ED=jn(Yn,Os,Is);function yD(t){return Hn(t,[dD,Ay],[fD,hD],[pD,gD],[mD,ED])}s(yD,"parseISODate");function TD(t){return Hn(oD(t),[iD,sD])}s(TD,"parseRFC2822Date");function SD(t){return Hn(t,[aD,yE],[uD,yE],[cD,lD])}s(SD,"parseHTTPDate");function AD(t){return Hn(t,[tD,rD])}s(AD,"parseISODuration");var _D=jn(Yn);function OD(t){return Hn(t,[eD,_D])}s(OD,"parseISOTimeOnly");var ID=Qn(JC,XC),wD=Qn(Sy),RD=jn(Yn,Os,Is);function CD(t){return Hn(t,[ID,Ay],[wD,RD])}s(CD,"parseSQL");var TE="Invalid Duration",_y={weeks:{days:7,hours:168,minutes:10080,seconds:10080*60,milliseconds:10080*60*1e3},days:{hours:24,minutes:1440,seconds:1440*60,milliseconds:1440*60*1e3},hours:{minutes:60,seconds:3600,milliseconds:3600*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},DD={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:2184*60,seconds:2184*60*60,milliseconds:2184*60*60*1e3},months:{weeks:4,days:30,hours:720,minutes:720*60,seconds:720*60*60,milliseconds:720*60*60*1e3},..._y},Ze=146097/400,Wn=146097/4800,bD={years:{quarters:4,months:12,weeks:Ze/7,days:Ze,hours:Ze*24,minutes:Ze*24*60,seconds:Ze*24*60*60,milliseconds:Ze*24*60*60*1e3},quarters:{months:3,weeks:Ze/28,days:Ze/4,hours:Ze*24/4,minutes:Ze*24*60/4,seconds:Ze*24*60*60/4,milliseconds:Ze*24*60*60*1e3/4},months:{weeks:Wn/7,days:Wn,hours:Wn*24,minutes:Wn*24*60,seconds:Wn*24*60*60,milliseconds:Wn*24*60*60*1e3},..._y},tn=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],xD=tn.slice(0).reverse();function Gt(t,e,r=!1){let n={values:r?e.values:{...t.values,...e.values||{}},loc:t.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||t.conversionAccuracy,matrix:e.matrix||t.matrix};return new ye(n)}s(Gt,"clone$1");function Oy(t,e){var r;let n=(r=e.milliseconds)!=null?r:0;for(let i of xD.slice(1))e[i]&&(n+=e[i]*t[i].milliseconds);return n}s(Oy,"durationToMillis");function SE(t,e){let r=Oy(t,e)<0?-1:1;tn.reduceRight((n,i)=>{if(H(e[i]))return n;if(n){let o=e[n]*r,a=t[i][n],u=Math.floor(o/a);e[i]+=u*r,e[n]-=u*a*r}return i},null),tn.reduce((n,i)=>{if(H(e[i]))return n;if(n){let o=e[n]%1;e[n]-=o,e[i]+=o*t[n][i]}return i},null)}s(SE,"normalizeValues");function AE(t){let e={};for(let[r,n]of Object.entries(t))n!==0&&(e[r]=n);return e}s(AE,"removeZeroes");var ye=class t{static{s(this,"Duration")}constructor(e){let r=e.conversionAccuracy==="longterm"||!1,n=r?bD:DD;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||re.create(),this.conversionAccuracy=r?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(e,r){return t.fromObject({milliseconds:e},r)}static fromObject(e,r={}){if(e==null||typeof e!="object")throw new _e(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new t({values:Ra(e,t.normalizeUnit),loc:re.fromObject(r),conversionAccuracy:r.conversionAccuracy,matrix:r.matrix})}static fromDurationLike(e){if(mr(e))return t.fromMillis(e);if(t.isDuration(e))return e;if(typeof e=="object")return t.fromObject(e);throw new _e(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,r){let[n]=AD(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,r){let[n]=OD(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the Duration is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(se.throwOnInvalid)throw new Yl(n);return new t({invalid:n})}static normalizeUnit(e){let r={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!r)throw new Aa(e);return r}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,r={}){let n={...r,floor:r.round!==!1&&r.floor!==!1};return this.isValid?$e.create(this.loc,n).formatDurationFromString(this,e):TE}toHuman(e={}){if(!this.isValid)return TE;let r=e.showZeros!==!1,n=tn.map(i=>{let o=this.values[i];return H(o)||o===0&&!r?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:i.slice(0,-1)}).format(o)}).filter(i=>i);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=md(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let r=this.toMillis();return r<0||r>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},ue.fromMillis(r,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?Oy(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e),n={};for(let i of tn)(Kn(r.values,i)||Kn(this.values,i))&&(n[i]=r.get(i)+this.get(i));return Gt(this,{values:n},!0)}minus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e);return this.plus(r.negate())}mapUnits(e){if(!this.isValid)return this;let r={};for(let n of Object.keys(this.values))r[n]=uy(e(this.values[n],n));return Gt(this,{values:r},!0)}get(e){return this[t.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let r={...this.values,...Ra(e,t.normalizeUnit)};return Gt(this,{values:r})}reconfigure({locale:e,numberingSystem:r,conversionAccuracy:n,matrix:i}={}){let a={loc:this.loc.clone({locale:e,numberingSystem:r}),matrix:i,conversionAccuracy:n};return Gt(this,a)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return SE(this.matrix,e),Gt(this,{values:e},!0)}rescale(){if(!this.isValid)return this;let e=AE(this.normalize().shiftToAll().toObject());return Gt(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(a=>t.normalizeUnit(a));let r={},n={},i=this.toObject(),o;for(let a of tn)if(e.indexOf(a)>=0){o=a;let u=0;for(let l in n)u+=this.matrix[l][a]*n[l],n[l]=0;mr(i[a])&&(u+=i[a]);let c=Math.trunc(u);r[a]=c,n[a]=(u*1e3-c*1e3)/1e3}else mr(i[a])&&(n[a]=i[a]);for(let a in n)n[a]!==0&&(r[o]+=a===o?n[a]:n[a]/this.matrix[o][a]);return SE(this.matrix,r),Gt(this,{values:r},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let e={};for(let r of Object.keys(this.values))e[r]=this.values[r]===0?0:-this.values[r];return Gt(this,{values:e},!0)}removeZeros(){if(!this.isValid)return this;let e=AE(this.values);return Gt(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function r(n,i){return n===void 0||n===0?i===void 0||i===0:n===i}s(r,"eq");for(let n of tn)if(!r(this.values[n],e.values[n]))return!1;return!0}},Gn="Invalid Interval";function vD(t,e){return!t||!t.isValid?nn.invalid("missing or invalid start"):!e||!e.isValid?nn.invalid("missing or invalid end"):e<t?nn.invalid("end before start",`The end of an interval must be after its start, but you had start=${t.toISO()} and end=${e.toISO()}`):null}s(vD,"validateStartEnd");var nn=class t{static{s(this,"Interval")}constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the Interval is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(se.throwOnInvalid)throw new Hl(n);return new t({invalid:n})}static fromDateTimes(e,r){let n=hs(e),i=hs(r),o=vD(n,i);return o??new t({start:n,end:i})}static after(e,r){let n=ye.fromDurationLike(r),i=hs(e);return t.fromDateTimes(i,i.plus(n))}static before(e,r){let n=ye.fromDurationLike(r),i=hs(e);return t.fromDateTimes(i.minus(n),i)}static fromISO(e,r){let[n,i]=(e||"").split("/",2);if(n&&i){let o,a;try{o=ue.fromISO(n,r),a=o.isValid}catch{a=!1}let u,c;try{u=ue.fromISO(i,r),c=u.isValid}catch{c=!1}if(a&&c)return t.fromDateTimes(o,u);if(a){let l=ye.fromISO(i,r);if(l.isValid)return t.after(o,l)}else if(c){let l=ye.fromISO(n,r);if(l.isValid)return t.before(u,l)}}return t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds",r){if(!this.isValid)return NaN;let n=this.start.startOf(e,r),i;return r!=null&&r.useLocaleWeeks?i=this.end.reconfigure({locale:n.locale}):i=this.end,i=i.startOf(e,r),Math.floor(i.diff(n,e).get(e))+(i.valueOf()!==this.end.valueOf())}hasSame(e){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,e):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return this.isValid?this.s>e:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:r}={}){return this.isValid?t.fromDateTimes(e||this.s,r||this.e):this}splitAt(...e){if(!this.isValid)return[];let r=e.map(hs).filter(a=>this.contains(a)).sort((a,u)=>a.toMillis()-u.toMillis()),n=[],{s:i}=this,o=0;for(;i<this.e;){let a=r[o]||this.e,u=+a>+this.e?this.e:a;n.push(t.fromDateTimes(i,u)),i=u,o+=1}return n}splitBy(e){let r=ye.fromDurationLike(e);if(!this.isValid||!r.isValid||r.as("milliseconds")===0)return[];let{s:n}=this,i=1,o,a=[];for(;n<this.e;){let u=this.start.plus(r.mapUnits(c=>c*i));o=+u>+this.e?this.e:u,a.push(t.fromDateTimes(n,o)),n=o,i+=1}return a}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return this.isValid?+this.e==+e.s:!1}abutsEnd(e){return this.isValid?+e.e==+this.s:!1}engulfs(e){return this.isValid?this.s<=e.s&&this.e>=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let r=this.s>e.s?this.s:e.s,n=this.e<e.e?this.e:e.e;return r>=n?null:t.fromDateTimes(r,n)}union(e){if(!this.isValid)return this;let r=this.s<e.s?this.s:e.s,n=this.e>e.e?this.e:e.e;return t.fromDateTimes(r,n)}static merge(e){let[r,n]=e.sort((i,o)=>i.s-o.s).reduce(([i,o],a)=>o?o.overlaps(a)||o.abutsStart(a)?[i,o.union(a)]:[i.concat([o]),a]:[i,a],[[],null]);return n&&r.push(n),r}static xor(e){let r=null,n=0,i=[],o=e.map(c=>[{time:c.s,type:"s"},{time:c.e,type:"e"}]),a=Array.prototype.concat(...o),u=a.sort((c,l)=>c.time-l.time);for(let c of u)n+=c.type==="s"?1:-1,n===1?r=c.time:(r&&+r!=+c.time&&i.push(t.fromDateTimes(r,c.time)),r=null);return t.merge(i)}difference(...e){return t.xor([this].concat(e)).map(r=>this.intersection(r)).filter(r=>r&&!r.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:Gn}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=_a,r={}){return this.isValid?$e.create(this.s.loc.clone(r),e).formatInterval(this):Gn}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:Gn}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Gn}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:Gn}toFormat(e,{separator:r=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${r}${this.e.toFormat(e)}`:Gn}toDuration(e,r){return this.isValid?this.e.diff(this.s,e,r):ye.invalid(this.invalidReason)}mapEndpoints(e){return t.fromDateTimes(e(this.s),e(this.e))}},rn=class{static{s(this,"Info")}static hasDST(e=se.defaultZone){let r=ue.now().setZone(e).set({month:12});return!e.isUniversal&&r.offset!==r.set({month:6}).offset}static isValidIANAZone(e){return Vt.isValidZone(e)}static normalizeZone(e){return fr(e,se.defaultZone)}static getStartOfWeek({locale:e=null,locObj:r=null}={}){return(r||re.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:r=null}={}){return(r||re.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:r=null}={}){return(r||re.create(e)).getWeekendDays().slice()}static months(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||re.create(r,n,o)).months(e)}static monthsFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||re.create(r,n,o)).months(e,!0)}static weekdays(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||re.create(r,n,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||re.create(r,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return re.create(e).meridiems()}static eras(e="short",{locale:r=null}={}){return re.create(r,null,"gregory").eras(e)}static features(){return{relative:sy(),localeWeek:oy()}}};function _E(t,e){let r=s(i=>i.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),"utcDayStart"),n=r(e)-r(t);return Math.floor(ye.fromMillis(n).as("days"))}s(_E,"dayDiff");function ND(t,e,r){let n=[["years",(c,l)=>l.year-c.year],["quarters",(c,l)=>l.quarter-c.quarter+(l.year-c.year)*4],["months",(c,l)=>l.month-c.month+(l.year-c.year)*12],["weeks",(c,l)=>{let d=_E(c,l);return(d-d%7)/7}],["days",_E]],i={},o=t,a,u;for(let[c,l]of n)r.indexOf(c)>=0&&(a=c,i[c]=l(t,e),u=o.plus(i),u>e?(i[c]--,t=o.plus(i),t>e&&(u=t,i[c]--,t=o.plus(i))):t=u);return[t,i,u,a]}s(ND,"highOrderDiffs");function PD(t,e,r,n){let[i,o,a,u]=ND(t,e,r),c=e-i,l=r.filter(f=>["hours","minutes","seconds","milliseconds"].indexOf(f)>=0);l.length===0&&(a<e&&(a=i.plus({[u]:1})),a!==i&&(o[u]=(o[u]||0)+c/(a-i)));let d=ye.fromObject(o,n);return l.length>0?ye.fromMillis(c,n).shiftTo(...l).plus(d):d}s(PD,"diff");var LD="missing Intl.DateTimeFormat.formatToParts support";function Z(t,e=r=>r){return{regex:t,deser:s(([r])=>e(IC(r)),"deser")}}s(Z,"intUnit");var UD="\xA0",Iy=`[ ${UD}]`,wy=new RegExp(Iy,"g");function kD(t){return t.replace(/\./g,"\\.?").replace(wy,Iy)}s(kD,"fixListRegex");function OE(t){return t.replace(/\./g,"").replace(wy," ").toLowerCase()}s(OE,"stripInsensitivities");function pt(t,e){return t===null?null:{regex:RegExp(t.map(kD).join("|")),deser:s(([r])=>t.findIndex(n=>OE(r)===OE(n))+e,"deser")}}s(pt,"oneOf");function IE(t,e){return{regex:t,deser:s(([,r,n])=>xa(r,n),"deser"),groups:e}}s(IE,"offset");function ha(t){return{regex:t,deser:s(([e])=>e,"deser")}}s(ha,"simple");function MD(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}s(MD,"escapeToken");function FD(t,e){let r=ft(e),n=ft(e,"{2}"),i=ft(e,"{3}"),o=ft(e,"{4}"),a=ft(e,"{6}"),u=ft(e,"{1,2}"),c=ft(e,"{1,3}"),l=ft(e,"{1,6}"),d=ft(e,"{1,9}"),f=ft(e,"{2,4}"),g=ft(e,"{4,6}"),m=s(p=>({regex:RegExp(MD(p.val)),deser:s(([T])=>T,"deser"),literal:!0}),"literal"),h=s(p=>{if(t.literal)return m(p);switch(p.val){case"G":return pt(e.eras("short"),0);case"GG":return pt(e.eras("long"),0);case"y":return Z(l);case"yy":return Z(f,ud);case"yyyy":return Z(o);case"yyyyy":return Z(g);case"yyyyyy":return Z(a);case"M":return Z(u);case"MM":return Z(n);case"MMM":return pt(e.months("short",!0),1);case"MMMM":return pt(e.months("long",!0),1);case"L":return Z(u);case"LL":return Z(n);case"LLL":return pt(e.months("short",!1),1);case"LLLL":return pt(e.months("long",!1),1);case"d":return Z(u);case"dd":return Z(n);case"o":return Z(c);case"ooo":return Z(i);case"HH":return Z(n);case"H":return Z(u);case"hh":return Z(n);case"h":return Z(u);case"mm":return Z(n);case"m":return Z(u);case"q":return Z(u);case"qq":return Z(n);case"s":return Z(u);case"ss":return Z(n);case"S":return Z(c);case"SSS":return Z(i);case"u":return ha(d);case"uu":return ha(u);case"uuu":return Z(r);case"a":return pt(e.meridiems(),0);case"kkkk":return Z(o);case"kk":return Z(f,ud);case"W":return Z(u);case"WW":return Z(n);case"E":case"c":return Z(r);case"EEE":return pt(e.weekdays("short",!1),1);case"EEEE":return pt(e.weekdays("long",!1),1);case"ccc":return pt(e.weekdays("short",!0),1);case"cccc":return pt(e.weekdays("long",!0),1);case"Z":case"ZZ":return IE(new RegExp(`([+-]${u.source})(?::(${n.source}))?`),2);case"ZZZ":return IE(new RegExp(`([+-]${u.source})(${n.source})?`),2);case"z":return ha(/[a-z_+-/]{1,256}?/i);case" ":return ha(/[^\S\n\r]/);default:return m(p)}},"unitate")(t)||{invalidReason:LD};return h.token=t,h}s(FD,"unitForToken");var BD={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function WD(t,e,r){let{type:n,value:i}=t;if(n==="literal"){let c=/^\s+$/.test(i);return{literal:!c,val:c?" ":i}}let o=e[n],a=n;n==="hour"&&(e.hour12!=null?a=e.hour12?"hour12":"hour24":e.hourCycle!=null?e.hourCycle==="h11"||e.hourCycle==="h12"?a="hour12":a="hour24":a=r.hour12?"hour12":"hour24");let u=BD[a];if(typeof u=="object"&&(u=u[o]),u)return{literal:!1,val:u}}s(WD,"tokenForPart");function GD(t){return[`^${t.map(r=>r.regex).reduce((r,n)=>`${r}(${n.source})`,"")}$`,t]}s(GD,"buildRegex");function $D(t,e,r){let n=t.match(e);if(n){let i={},o=1;for(let a in r)if(Kn(r,a)){let u=r[a],c=u.groups?u.groups+1:1;!u.literal&&u.token&&(i[u.token.val[0]]=u.deser(n.slice(o,o+c))),o+=c}return[n,i]}else return[n,{}]}s($D,"match");function VD(t){let e=s(o=>{switch(o){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},"toField"),r=null,n;return H(t.z)||(r=Vt.create(t.z)),H(t.Z)||(r||(r=new Ke(t.Z)),n=t.Z),H(t.q)||(t.M=(t.q-1)*3+1),H(t.h)||(t.h<12&&t.a===1?t.h+=12:t.h===12&&t.a===0&&(t.h=0)),t.G===0&&t.y&&(t.y=-t.y),H(t.u)||(t.S=pd(t.u)),[Object.keys(t).reduce((o,a)=>{let u=e(a);return u&&(o[u]=t[a]),o},{}),r,n]}s(VD,"dateTimeFromMatches");var $l=null;function qD(){return $l||($l=ue.fromMillis(1555555555555)),$l}s(qD,"getDummyDateTime");function KD(t,e){if(t.literal)return t;let r=$e.macroTokenToFormatOpts(t.val),n=Dy(r,e);return n==null||n.includes(void 0)?t:n}s(KD,"maybeExpandMacroToken");function Ry(t,e){return Array.prototype.concat(...t.map(r=>KD(r,e)))}s(Ry,"expandMacroTokens");var Ca=class{static{s(this,"TokenParser")}constructor(e,r){if(this.locale=e,this.format=r,this.tokens=Ry($e.parseFormat(r),e),this.units=this.tokens.map(n=>FD(n,e)),this.disqualifyingUnit=this.units.find(n=>n.invalidReason),!this.disqualifyingUnit){let[n,i]=GD(this.units);this.regex=RegExp(n,"i"),this.handlers=i}}explainFromTokens(e){if(this.isValid){let[r,n]=$D(e,this.regex,this.handlers),[i,o,a]=n?VD(n):[null,null,void 0];if(Kn(n,"a")&&Kn(n,"H"))throw new pr("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:r,matches:n,result:i,zone:o,specificOffset:a}}else return{input:e,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function Cy(t,e,r){return new Ca(t,r).explainFromTokens(e)}s(Cy,"explainFromTokens");function QD(t,e,r){let{result:n,zone:i,specificOffset:o,invalidReason:a}=Cy(t,e,r);return[n,i,o,a]}s(QD,"parseFromTokens");function Dy(t,e){if(!t)return null;let n=$e.create(e,t).dtFormatter(qD()),i=n.formatToParts(),o=n.resolvedOptions();return i.map(a=>WD(a,t,o))}s(Dy,"formatOptsToTokens");var Vl="Invalid DateTime",wE=864e13;function Es(t){return new Ve("unsupported zone",`the zone "${t.name}" is not supported`)}s(Es,"unsupportedZone");function ql(t){return t.weekData===null&&(t.weekData=Ia(t.c)),t.weekData}s(ql,"possiblyCachedWeekData");function Kl(t){return t.localWeekData===null&&(t.localWeekData=Ia(t.c,t.loc.getMinDaysInFirstWeek(),t.loc.getStartOfWeek())),t.localWeekData}s(Kl,"possiblyCachedLocalWeekData");function en(t,e){let r={ts:t.ts,zone:t.zone,c:t.c,o:t.o,loc:t.loc,invalid:t.invalid};return new ue({...r,...e,old:r})}s(en,"clone");function by(t,e,r){let n=t-e*60*1e3,i=r.offset(n);if(e===i)return[n,e];n-=(i-e)*60*1e3;let o=r.offset(n);return i===o?[n,i]:[t-Math.min(i,o)*60*1e3,Math.max(i,o)]}s(by,"fixOffset");function ga(t,e){t+=e*60*1e3;let r=new Date(t);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}s(ga,"tsToObj");function ya(t,e,r){return by(ba(t),e,r)}s(ya,"objToTS");function RE(t,e){let r=t.o,n=t.c.year+Math.trunc(e.years),i=t.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,o={...t.c,year:n,month:i,day:Math.min(t.c.day,wa(n,i))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},a=ye.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),u=ba(o),[c,l]=by(u,r,t.zone);return a!==0&&(c+=a,l=t.zone.offset(c)),{ts:c,o:l}}s(RE,"adjustTime");function $n(t,e,r,n,i,o){let{setZone:a,zone:u}=r;if(t&&Object.keys(t).length!==0||e){let c=e||u,l=ue.fromObject(t,{...r,zone:c,specificOffset:o});return a?l:l.setZone(u)}else return ue.invalid(new Ve("unparsable",`the input "${i}" can't be parsed as ${n}`))}s($n,"parseDataToDateTime");function Ea(t,e,r=!0){return t.isValid?$e.create(re.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(t,e):null}s(Ea,"toTechFormat");function Ql(t,e,r){let n=t.c.year>9999||t.c.year<0,i="";if(n&&t.c.year>=0&&(i+="+"),i+=he(t.c.year,n?6:4),r==="year")return i;if(e){if(i+="-",i+=he(t.c.month),r==="month")return i;i+="-"}else if(i+=he(t.c.month),r==="month")return i;return i+=he(t.c.day),i}s(Ql,"toISODate");function CE(t,e,r,n,i,o,a){let u=!r||t.c.millisecond!==0||t.c.second!==0,c="";switch(a){case"day":case"month":case"year":break;default:if(c+=he(t.c.hour),a==="hour")break;if(e){if(c+=":",c+=he(t.c.minute),a==="minute")break;u&&(c+=":",c+=he(t.c.second))}else{if(c+=he(t.c.minute),a==="minute")break;u&&(c+=he(t.c.second))}if(a==="second")break;u&&(!n||t.c.millisecond!==0)&&(c+=".",c+=he(t.c.millisecond,3))}return i&&(t.isOffsetFixed&&t.offset===0&&!o?c+="Z":t.o<0?(c+="-",c+=he(Math.trunc(-t.o/60)),c+=":",c+=he(Math.trunc(-t.o%60))):(c+="+",c+=he(Math.trunc(t.o/60)),c+=":",c+=he(Math.trunc(t.o%60)))),o&&(c+="["+t.zone.ianaName+"]"),c}s(CE,"toISOTime");var xy={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},jD={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},HD={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ta=["year","month","day","hour","minute","second","millisecond"],YD=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],zD=["year","ordinal","hour","minute","second","millisecond"];function Sa(t){let e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[t.toLowerCase()];if(!e)throw new Aa(t);return e}s(Sa,"normalizeUnit");function DE(t){switch(t.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return Sa(t)}}s(DE,"normalizeUnitWithLocalWeeks");function JD(t){if(ys===void 0&&(ys=se.now()),t.type!=="iana")return t.offset(ys);let e=t.name,r=cd.get(e);return r===void 0&&(r=t.offset(ys),cd.set(e,r)),r}s(JD,"guessOffsetForZone");function bE(t,e){let r=fr(e.zone,se.defaultZone);if(!r.isValid)return ue.invalid(Es(r));let n=re.fromObject(e),i,o;if(H(t.year))i=se.now();else{for(let c of Ta)H(t[c])&&(t[c]=xy[c]);let a=ny(t)||iy(t);if(a)return ue.invalid(a);let u=JD(r);[i,o]=ya(t,u,r)}return new ue({ts:i,zone:r,loc:n,o})}s(bE,"quickDT");function xE(t,e,r){let n=H(r.round)?!0:r.round,i=H(r.rounding)?"trunc":r.rounding,o=s((u,c)=>(u=md(u,n||r.calendary?0:2,r.calendary?"round":i),e.loc.clone(r).relFormatter(r).format(u,c)),"format"),a=s(u=>r.calendary?e.hasSame(t,u)?0:e.startOf(u).diff(t.startOf(u),u).get(u):e.diff(t,u).get(u),"differ");if(r.unit)return o(a(r.unit),r.unit);for(let u of r.units){let c=a(u);if(Math.abs(c)>=1)return o(c,u)}return o(t>e?-0:0,r.units[r.units.length-1])}s(xE,"diffRelative");function vE(t){let e={},r;return t.length>0&&typeof t[t.length-1]=="object"?(e=t[t.length-1],r=Array.from(t).slice(0,t.length-1)):r=Array.from(t),[e,r]}s(vE,"lastOpts");var ys,cd=new Map,ue=class t{static{s(this,"DateTime")}constructor(e){let r=e.zone||se.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new Ve("invalid input"):null)||(r.isValid?null:Es(r));this.ts=H(e.ts)?se.now():e.ts;let i=null,o=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(r))[i,o]=[e.old.c,e.old.o];else{let u=mr(e.o)&&!e.old?e.o:r.offset(this.ts);i=ga(this.ts,u),n=Number.isNaN(i.year)?new Ve("invalid input"):null,i=n?null:i,o=n?null:u}this._zone=r,this.loc=e.loc||re.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=i,this.o=o,this.isLuxonDateTime=!0}static now(){return new t({})}static local(){let[e,r]=vE(arguments),[n,i,o,a,u,c,l]=r;return bE({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static utc(){let[e,r]=vE(arguments),[n,i,o,a,u,c,l]=r;return e.zone=Ke.utcInstance,bE({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static fromJSDate(e,r={}){let n=bC(e)?e.valueOf():NaN;if(Number.isNaN(n))return t.invalid("invalid input");let i=fr(r.zone,se.defaultZone);return i.isValid?new t({ts:n,zone:i,loc:re.fromObject(r)}):t.invalid(Es(i))}static fromMillis(e,r={}){if(mr(e))return e<-wE||e>wE?t.invalid("Timestamp out of range"):new t({ts:e,zone:fr(r.zone,se.defaultZone),loc:re.fromObject(r)});throw new _e(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,r={}){if(mr(e))return new t({ts:e*1e3,zone:fr(r.zone,se.defaultZone),loc:re.fromObject(r)});throw new _e("fromSeconds requires a numerical input")}static fromObject(e,r={}){e=e||{};let n=fr(r.zone,se.defaultZone);if(!n.isValid)return t.invalid(Es(n));let i=re.fromObject(r),o=Ra(e,DE),{minDaysInFirstWeek:a,startOfWeek:u}=mE(o,i),c=se.now(),l=H(r.specificOffset)?n.offset(c):r.specificOffset,d=!H(o.ordinal),f=!H(o.year),g=!H(o.month)||!H(o.day),m=f||g,y=o.weekYear||o.weekNumber;if((m||d)&&y)throw new pr("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(g&&d)throw new pr("Can't mix ordinal dates with month/day");let h=y||o.weekday&&!m,p,T,A=ga(c,l);h?(p=YD,T=jD,A=Ia(A,a,u)):d?(p=zD,T=HD,A=Gl(A)):(p=Ta,T=xy);let _=!1;for(let G of p){let ee=o[G];H(ee)?_?o[G]=T[G]:o[G]=A[G]:_=!0}let I=h?RC(o,a,u):d?CC(o):ny(o),O=I||iy(o);if(O)return t.invalid(O);let C=h?fE(o,a,u):d?pE(o):o,[R,w]=ya(C,l,n),b=new t({ts:R,zone:n,o:w,loc:i});return o.weekday&&m&&e.weekday!==b.weekday?t.invalid("mismatched weekday",`you can't specify both a weekday of ${o.weekday} and a date of ${b.toISO()}`):b.isValid?b:t.invalid(b.invalid)}static fromISO(e,r={}){let[n,i]=yD(e);return $n(n,i,r,"ISO 8601",e)}static fromRFC2822(e,r={}){let[n,i]=TD(e);return $n(n,i,r,"RFC 2822",e)}static fromHTTP(e,r={}){let[n,i]=SD(e);return $n(n,i,r,"HTTP",r)}static fromFormat(e,r,n={}){if(H(e)||H(r))throw new _e("fromFormat requires an input string and a format");let{locale:i=null,numberingSystem:o=null}=n,a=re.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0}),[u,c,l,d]=QD(a,e,r);return d?t.invalid(d):$n(u,c,n,`format ${r}`,e,l)}static fromString(e,r,n={}){return t.fromFormat(e,r,n)}static fromSQL(e,r={}){let[n,i]=CD(e);return $n(n,i,r,"SQL",e)}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the DateTime is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(se.throwOnInvalid)throw new jl(n);return new t({invalid:n})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,r={}){let n=Dy(e,re.fromObject(r));return n?n.map(i=>i?i.val:null).join(""):null}static expandFormat(e,r={}){return Ry($e.parseFormat(e),re.fromObject(r)).map(i=>i.val).join("")}static resetCache(){ys=void 0,cd.clear()}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?ql(this).weekYear:NaN}get weekNumber(){return this.isValid?ql(this).weekNumber:NaN}get weekday(){return this.isValid?ql(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Kl(this).weekday:NaN}get localWeekNumber(){return this.isValid?Kl(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Kl(this).weekYear:NaN}get ordinal(){return this.isValid?Gl(this.c).ordinal:NaN}get monthShort(){return this.isValid?rn.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?rn.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?rn.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?rn.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=864e5,r=6e4,n=ba(this.c),i=this.zone.offset(n-e),o=this.zone.offset(n+e),a=this.zone.offset(n-i*r),u=this.zone.offset(n-o*r);if(a===u)return[this];let c=n-a*r,l=n-u*r,d=ga(c,a),f=ga(l,u);return d.hour===f.hour&&d.minute===f.minute&&d.second===f.second&&d.millisecond===f.millisecond?[en(this,{ts:c}),en(this,{ts:l})]:[this]}get isInLeapYear(){return _s(this.year)}get daysInMonth(){return wa(this.year,this.month)}get daysInYear(){return this.isValid?Vn(this.year):NaN}get weeksInWeekYear(){return this.isValid?As(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?As(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:r,numberingSystem:n,calendar:i}=$e.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:r,numberingSystem:n,outputCalendar:i}}toUTC(e=0,r={}){return this.setZone(Ke.instance(e),r)}toLocal(){return this.setZone(se.defaultZone)}setZone(e,{keepLocalTime:r=!1,keepCalendarTime:n=!1}={}){if(e=fr(e,se.defaultZone),e.equals(this.zone))return this;if(e.isValid){let i=this.ts;if(r||n){let o=e.offset(this.ts),a=this.toObject();[i]=ya(a,o,e)}return en(this,{ts:i,zone:e})}else return t.invalid(Es(e))}reconfigure({locale:e,numberingSystem:r,outputCalendar:n}={}){let i=this.loc.clone({locale:e,numberingSystem:r,outputCalendar:n});return en(this,{loc:i})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let r=Ra(e,DE),{minDaysInFirstWeek:n,startOfWeek:i}=mE(r,this.loc),o=!H(r.weekYear)||!H(r.weekNumber)||!H(r.weekday),a=!H(r.ordinal),u=!H(r.year),c=!H(r.month)||!H(r.day),l=u||c,d=r.weekYear||r.weekNumber;if((l||a)&&d)throw new pr("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(c&&a)throw new pr("Can't mix ordinal dates with month/day");let f;o?f=fE({...Ia(this.c,n,i),...r},n,i):H(r.ordinal)?(f={...this.toObject(),...r},H(r.day)&&(f.day=Math.min(wa(f.year,f.month),f.day))):f=pE({...Gl(this.c),...r});let[g,m]=ya(f,this.o,this.zone);return en(this,{ts:g,o:m})}plus(e){if(!this.isValid)return this;let r=ye.fromDurationLike(e);return en(this,RE(this,r))}minus(e){if(!this.isValid)return this;let r=ye.fromDurationLike(e).negate();return en(this,RE(this,r))}startOf(e,{useLocaleWeeks:r=!1}={}){if(!this.isValid)return this;let n={},i=ye.normalizeUnit(e);switch(i){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0;break}if(i==="weeks")if(r){let o=this.loc.getStartOfWeek(),{weekday:a}=this;a<o&&(n.weekNumber=this.weekNumber-1),n.weekday=o}else n.weekday=1;if(i==="quarters"){let o=Math.ceil(this.month/3);n.month=(o-1)*3+1}return this.set(n)}endOf(e,r){return this.isValid?this.plus({[e]:1}).startOf(e,r).minus(1):this}toFormat(e,r={}){return this.isValid?$e.create(this.loc.redefaultToEN(r)).formatDateTimeFromString(this,e):Vl}toLocaleString(e=_a,r={}){return this.isValid?$e.create(this.loc.clone(r),e).formatDateTime(this):Vl}toLocaleParts(e={}){return this.isValid?$e.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:r=!1,suppressMilliseconds:n=!1,includeOffset:i=!0,extendedZone:o=!1,precision:a="milliseconds"}={}){if(!this.isValid)return null;a=Sa(a);let u=e==="extended",c=Ql(this,u,a);return Ta.indexOf(a)>=3&&(c+="T"),c+=CE(this,u,r,n,i,o,a),c}toISODate({format:e="extended",precision:r="day"}={}){return this.isValid?Ql(this,e==="extended",Sa(r)):null}toISOWeekDate(){return Ea(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:r=!1,includeOffset:n=!0,includePrefix:i=!1,extendedZone:o=!1,format:a="extended",precision:u="milliseconds"}={}){return this.isValid?(u=Sa(u),(i&&Ta.indexOf(u)>=3?"T":"")+CE(this,a==="extended",r,e,n,o,u)):null}toRFC2822(){return Ea(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Ea(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?Ql(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:r=!1,includeOffsetSpace:n=!0}={}){let i="HH:mm:ss.SSS";return(r||e)&&(n&&(i+=" "),r?i+="z":e&&(i+="ZZ")),Ea(this,i,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():Vl}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let r={...this.c};return e.includeConfig&&(r.outputCalendar=this.outputCalendar,r.numberingSystem=this.loc.numberingSystem,r.locale=this.loc.locale),r}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,r="milliseconds",n={}){if(!this.isValid||!e.isValid)return ye.invalid("created by diffing an invalid DateTime");let i={locale:this.locale,numberingSystem:this.numberingSystem,...n},o=xC(r).map(ye.normalizeUnit),a=e.valueOf()>this.valueOf(),u=a?this:e,c=a?e:this,l=PD(u,c,o,i);return a?l.negate():l}diffNow(e="milliseconds",r={}){return this.diff(t.now(),e,r)}until(e){return this.isValid?nn.fromDateTimes(this,e):this}hasSame(e,r,n){if(!this.isValid)return!1;let i=e.valueOf(),o=this.setZone(e.zone,{keepLocalTime:!0});return o.startOf(r,n)<=i&&i<=o.endOf(r,n)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let r=e.base||t.fromObject({},{zone:this.zone}),n=e.padding?this<r?-e.padding:e.padding:0,i=["years","months","days","hours","minutes","seconds"],o=e.unit;return Array.isArray(e.unit)&&(i=e.unit,o=void 0),xE(r,this.plus(n),{...e,numeric:"always",units:i,unit:o})}toRelativeCalendar(e={}){return this.isValid?xE(e.base||t.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(t.isDateTime))throw new _e("min requires all arguments be DateTimes");return hE(e,r=>r.valueOf(),Math.min)}static max(...e){if(!e.every(t.isDateTime))throw new _e("max requires all arguments be DateTimes");return hE(e,r=>r.valueOf(),Math.max)}static fromFormatExplain(e,r,n={}){let{locale:i=null,numberingSystem:o=null}=n,a=re.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0});return Cy(a,e,r)}static fromStringExplain(e,r,n={}){return t.fromFormatExplain(e,r,n)}static buildFormatParser(e,r={}){let{locale:n=null,numberingSystem:i=null}=r,o=re.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0});return new Ca(o,e)}static fromFormatParser(e,r,n={}){if(H(e)||H(r))throw new _e("fromFormatParser requires an input string and a format parser");let{locale:i=null,numberingSystem:o=null}=n,a=re.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0});if(!a.equals(r.locale))throw new _e(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${r.locale}`);let{result:u,zone:c,specificOffset:l,invalidReason:d}=r.explainFromTokens(e);return d?t.invalid(d):$n(u,c,n,`format ${r.format}`,e,l)}static get DATE_SHORT(){return _a}static get DATE_MED(){return NE}static get DATE_MED_WITH_WEEKDAY(){return aC}static get DATE_FULL(){return PE}static get DATE_HUGE(){return LE}static get TIME_SIMPLE(){return UE}static get TIME_WITH_SECONDS(){return kE}static get TIME_WITH_SHORT_OFFSET(){return ME}static get TIME_WITH_LONG_OFFSET(){return FE}static get TIME_24_SIMPLE(){return BE}static get TIME_24_WITH_SECONDS(){return WE}static get TIME_24_WITH_SHORT_OFFSET(){return GE}static get TIME_24_WITH_LONG_OFFSET(){return $E}static get DATETIME_SHORT(){return VE}static get DATETIME_SHORT_WITH_SECONDS(){return qE}static get DATETIME_MED(){return KE}static get DATETIME_MED_WITH_SECONDS(){return QE}static get DATETIME_MED_WITH_WEEKDAY(){return uC}static get DATETIME_FULL(){return jE}static get DATETIME_FULL_WITH_SECONDS(){return HE}static get DATETIME_HUGE(){return YE}static get DATETIME_HUGE_WITH_SECONDS(){return zE}};function hs(t){if(ue.isDateTime(t))return t;if(t&&t.valueOf&&mr(t.valueOf()))return ue.fromJSDate(t);if(t&&typeof t=="object")return ue.fromObject(t);throw new _e(`Unknown datetime argument: ${t}, of type ${typeof t}`)}s(hs,"friendlyDateTime");var XD="3.7.2";Qe.DateTime=ue;Qe.Duration=ye;Qe.FixedOffsetZone=Ke;Qe.IANAZone=Vt;Qe.Info=rn;Qe.Interval=nn;Qe.InvalidZone=Oa;Qe.Settings=se;Qe.SystemZone=Ss;Qe.VERSION=XD;Qe.Zone=hr});var Py=Q((zW,Ny)=>{"use strict";var sn=vy();Y.prototype.addYear=function(){this._date=this._date.plus({years:1})};Y.prototype.addMonth=function(){this._date=this._date.plus({months:1}).startOf("month")};Y.prototype.addDay=function(){this._date=this._date.plus({days:1}).startOf("day")};Y.prototype.addHour=function(){var t=this._date;this._date=this._date.plus({hours:1}).startOf("hour"),this._date<=t&&(this._date=this._date.plus({hours:1}))};Y.prototype.addMinute=function(){var t=this._date;this._date=this._date.plus({minutes:1}).startOf("minute"),this._date<t&&(this._date=this._date.plus({hours:1}))};Y.prototype.addSecond=function(){var t=this._date;this._date=this._date.plus({seconds:1}).startOf("second"),this._date<t&&(this._date=this._date.plus({hours:1}))};Y.prototype.subtractYear=function(){this._date=this._date.minus({years:1})};Y.prototype.subtractMonth=function(){this._date=this._date.minus({months:1}).endOf("month").startOf("second")};Y.prototype.subtractDay=function(){this._date=this._date.minus({days:1}).endOf("day").startOf("second")};Y.prototype.subtractHour=function(){var t=this._date;this._date=this._date.minus({hours:1}).endOf("hour").startOf("second"),this._date>=t&&(this._date=this._date.minus({hours:1}))};Y.prototype.subtractMinute=function(){var t=this._date;this._date=this._date.minus({minutes:1}).endOf("minute").startOf("second"),this._date>t&&(this._date=this._date.minus({hours:1}))};Y.prototype.subtractSecond=function(){var t=this._date;this._date=this._date.minus({seconds:1}).startOf("second"),this._date>t&&(this._date=this._date.minus({hours:1}))};Y.prototype.getDate=function(){return this._date.day};Y.prototype.getFullYear=function(){return this._date.year};Y.prototype.getDay=function(){var t=this._date.weekday;return t==7?0:t};Y.prototype.getMonth=function(){return this._date.month-1};Y.prototype.getHours=function(){return this._date.hour};Y.prototype.getMinutes=function(){return this._date.minute};Y.prototype.getSeconds=function(){return this._date.second};Y.prototype.getMilliseconds=function(){return this._date.millisecond};Y.prototype.getTime=function(){return this._date.valueOf()};Y.prototype.getUTCDate=function(){return this._getUTC().day};Y.prototype.getUTCFullYear=function(){return this._getUTC().year};Y.prototype.getUTCDay=function(){var t=this._getUTC().weekday;return t==7?0:t};Y.prototype.getUTCMonth=function(){return this._getUTC().month-1};Y.prototype.getUTCHours=function(){return this._getUTC().hour};Y.prototype.getUTCMinutes=function(){return this._getUTC().minute};Y.prototype.getUTCSeconds=function(){return this._getUTC().second};Y.prototype.toISOString=function(){return this._date.toUTC().toISO()};Y.prototype.toJSON=function(){return this._date.toJSON()};Y.prototype.setDate=function(t){this._date=this._date.set({day:t})};Y.prototype.setFullYear=function(t){this._date=this._date.set({year:t})};Y.prototype.setDay=function(t){this._date=this._date.set({weekday:t})};Y.prototype.setMonth=function(t){this._date=this._date.set({month:t+1})};Y.prototype.setHours=function(t){this._date=this._date.set({hour:t})};Y.prototype.setMinutes=function(t){this._date=this._date.set({minute:t})};Y.prototype.setSeconds=function(t){this._date=this._date.set({second:t})};Y.prototype.setMilliseconds=function(t){this._date=this._date.set({millisecond:t})};Y.prototype._getUTC=function(){return this._date.toUTC()};Y.prototype.toString=function(){return this.toDate().toString()};Y.prototype.toDate=function(){return this._date.toJSDate()};Y.prototype.isLastDayOfMonth=function(){var t=this._date.plus({days:1}).startOf("day");return this._date.month!==t.month};Y.prototype.isLastWeekdayOfMonth=function(){var t=this._date.plus({days:7}).startOf("day");return this._date.month!==t.month};function Y(t,e){var r={zone:e};if(t?t instanceof Y?this._date=t._date:t instanceof Date?this._date=sn.DateTime.fromJSDate(t,r):typeof t=="number"?this._date=sn.DateTime.fromMillis(t,r):typeof t=="string"&&(this._date=sn.DateTime.fromISO(t,r),this._date.isValid||(this._date=sn.DateTime.fromRFC2822(t,r)),this._date.isValid||(this._date=sn.DateTime.fromSQL(t,r)),this._date.isValid||(this._date=sn.DateTime.fromFormat(t,"EEE, d MMM yyyy HH:mm:ss",r))):this._date=sn.DateTime.local(),!this._date||!this._date.isValid)throw new Error("CronDate: unhandled timestamp: "+JSON.stringify(t));e&&e!==this._date.zoneName&&(this._date=this._date.setZone(e))}s(Y,"CronDate");Ny.exports=Y});var ky=Q((XW,Uy)=>{"use strict";function on(t){return{start:t,count:1}}s(on,"buildRange");function Ly(t,e){t.end=e,t.step=e-t.start,t.count=2}s(Ly,"completeRangeWithItem");function yd(t,e,r){e&&(e.count===2?(t.push(on(e.start)),t.push(on(e.end))):t.push(e)),r&&t.push(r)}s(yd,"finalizeCurrentRange");function ZD(t){for(var e=[],r=void 0,n=0;n<t.length;n++){var i=t[n];typeof i!="number"?(yd(e,r,on(i)),r=void 0):r?r.count===1?Ly(r,i):r.step===i-r.end?(r.count++,r.end=i):r.count===2?(e.push(on(r.start)),r=on(r.end),Ly(r,i)):(yd(e,r),r=on(i)):r=on(i)}return yd(e,r),e}s(ZD,"compactField");Uy.exports=ZD});var Fy=Q((eG,My)=>{"use strict";var eb=ky();function tb(t,e,r){var n=eb(t);if(n.length===1){var i=n[0],o=i.step;if(o===1&&i.start===e&&i.end===r)return"*";if(o!==1&&i.start===e&&i.end===r-o+1)return"*/"+o}for(var a=[],u=0,c=n.length;u<c;++u){var l=n[u];if(l.count===1){a.push(l.start);continue}var o=l.step;if(l.step===1){a.push(l.start+"-"+l.end);continue}var d=l.start==0?l.count-1:l.count;l.step*d>l.end?a=a.concat(Array.from({length:l.end-l.start+1}).map(function(g,m){var y=l.start+m;return(y-l.start)%l.step===0?y:null}).filter(function(g){return g!=null})):l.end===r-l.step+1?a.push(l.start+"/"+l.step):a.push(l.start+"-"+l.end+"/"+l.step)}return a.join(",")}s(tb,"stringifyField");My.exports=tb});var Gy=Q((rG,Wy)=>{"use strict";var an=Py(),rb=Fy(),By=1e4;function k(t,e){this._options=e,this._utc=e.utc||!1,this._tz=this._utc?"UTC":e.tz,this._currentDate=new an(e.currentDate,this._tz),this._startDate=e.startDate?new an(e.startDate,this._tz):null,this._endDate=e.endDate?new an(e.endDate,this._tz):null,this._isIterator=e.iterator||!1,this._hasIterated=!1,this._nthDayOfWeek=e.nthDayOfWeek||0,this.fields=k._freezeFields(t)}s(k,"CronExpression");k.map=["second","minute","hour","dayOfMonth","month","dayOfWeek"];k.predefined={"@yearly":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@hourly":"0 * * * *"};k.constraints=[{min:0,max:59,chars:[]},{min:0,max:59,chars:[]},{min:0,max:23,chars:[]},{min:1,max:31,chars:["L"]},{min:1,max:12,chars:[]},{min:0,max:7,chars:["L"]}];k.daysInMonth=[31,29,31,30,31,30,31,31,30,31,30,31];k.aliases={month:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},dayOfWeek:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}};k.parseDefaults=["0","*","*","*","*","*"];k.standardValidCharacters=/^[,*\d/-]+$/;k.dayOfWeekValidCharacters=/^[?,*\dL#/-]+$/;k.dayOfMonthValidCharacters=/^[?,*\dL/-]+$/;k.validCharacters={second:k.standardValidCharacters,minute:k.standardValidCharacters,hour:k.standardValidCharacters,dayOfMonth:k.dayOfMonthValidCharacters,month:k.standardValidCharacters,dayOfWeek:k.dayOfWeekValidCharacters};k._isValidConstraintChar=s(function(e,r){return typeof r!="string"?!1:e.chars.some(function(n){return r.indexOf(n)>-1})},"_isValidConstraintChar");k._parseField=s(function(e,r,n){switch(e){case"month":case"dayOfWeek":var i=k.aliases[e];r=r.replace(/[a-z]{3}/gi,function(c){if(c=c.toLowerCase(),typeof i[c]<"u")return i[c];throw new Error('Validation error, cannot resolve alias "'+c+'"')});break}if(!k.validCharacters[e].test(r))throw new Error("Invalid characters, got value: "+r);r.indexOf("*")!==-1?r=r.replace(/\*/g,n.min+"-"+n.max):r.indexOf("?")!==-1&&(r=r.replace(/\?/g,n.min+"-"+n.max));function o(c){var l=[];function d(y){if(y instanceof Array)for(var h=0,p=y.length;h<p;h++){var T=y[h];if(k._isValidConstraintChar(n,T)){l.push(T);continue}if(typeof T!="number"||Number.isNaN(T)||T<n.min||T>n.max)throw new Error("Constraint error, got value "+T+" expected range "+n.min+"-"+n.max);l.push(T)}else{if(k._isValidConstraintChar(n,y)){l.push(y);return}var A=+y;if(Number.isNaN(A)||A<n.min||A>n.max)throw new Error("Constraint error, got value "+y+" expected range "+n.min+"-"+n.max);e==="dayOfWeek"&&(A=A%7),l.push(A)}}s(d,"handleResult");var f=c.split(",");if(!f.every(function(y){return y.length>0}))throw new Error("Invalid list value format");if(f.length>1)for(var g=0,m=f.length;g<m;g++)d(a(f[g]));else d(a(c));return l.sort(k._sortCompareFn),l}s(o,"parseSequence");function a(c){var l=1,d=c.split("/");if(d.length>2)throw new Error("Invalid repeat: "+c);return d.length>1?(d[0]==+d[0]&&(d=[d[0]+"-"+n.max,d[1]]),u(d[0],d[d.length-1])):u(c,l)}s(a,"parseRepeat");function u(c,l){var d=[],f=c.split("-");if(f.length>1){if(f.length<2)return+c;if(!f[0].length){if(!f[1].length)throw new Error("Invalid range: "+c);return+c}var g=+f[0],m=+f[1];if(Number.isNaN(g)||Number.isNaN(m)||g<n.min||m>n.max)throw new Error("Constraint error, got range "+g+"-"+m+" expected range "+n.min+"-"+n.max);if(g>m)throw new Error("Invalid range: "+c);var y=+l;if(Number.isNaN(y)||y<=0)throw new Error("Constraint error, cannot repeat at every "+y+" time.");e==="dayOfWeek"&&m%7===0&&d.push(0);for(var h=g,p=m;h<=p;h++){var T=d.indexOf(h)!==-1;!T&&y>0&&y%l===0?(y=1,d.push(h)):y++}return d}return Number.isNaN(+c)?c:+c}return s(u,"parseRange"),o(r)},"_parseField");k._sortCompareFn=function(t,e){var r=typeof t=="number",n=typeof e=="number";return r&&n?t-e:!r&&n?1:r&&!n?-1:t.localeCompare(e)};k._handleMaxDaysInMonth=function(t){if(t.month.length===1){var e=k.daysInMonth[t.month[0]-1];if(t.dayOfMonth[0]>e)throw new Error("Invalid explicit day of month definition");return t.dayOfMonth.filter(function(r){return r==="L"?!0:r<=e}).sort(k._sortCompareFn)}};k._freezeFields=function(t){for(var e=0,r=k.map.length;e<r;++e){var n=k.map[e],i=t[n];t[n]=Object.freeze(i)}return Object.freeze(t)};k.prototype._applyTimezoneShift=function(t,e,r){if(r==="Month"||r==="Day"){var n=t.getTime();t[e+r]();var i=t.getTime();n===i&&(t.getMinutes()===0&&t.getSeconds()===0?t.addHour():t.getMinutes()===59&&t.getSeconds()===59&&t.subtractHour())}else{var o=t.getHours();t[e+r]();var a=t.getHours(),u=a-o;u===2?this.fields.hour.length!==24&&(this._dstStart=a):u===0&&t.getMinutes()===0&&t.getSeconds()===0&&this.fields.hour.length!==24&&(this._dstEnd=a)}};k.prototype._findSchedule=s(function(e){function r(T,A){for(var _=0,I=A.length;_<I;_++)if(A[_]>=T)return A[_]===T;return A[0]===T}s(r,"matchSchedule");function n(T,A){if(A<6){if(T.getDate()<8&&A===1)return!0;var _=T.getDate()%7?1:0,I=T.getDate()-T.getDate()%7,O=Math.floor(I/7)+_;return O===A}return!1}s(n,"isNthDayMatch");function i(T){return T.length>0&&T.some(function(A){return typeof A=="string"&&A.indexOf("L")>=0})}s(i,"isLInExpressions"),e=e||!1;var o=e?"subtract":"add",a=new an(this._currentDate,this._tz),u=this._startDate,c=this._endDate,l=a.getTime(),d=0;function f(T){return T.some(function(A){if(!i([A]))return!1;var _=Number.parseInt(A[0])%7;if(Number.isNaN(_))throw new Error("Invalid last weekday of the month expression: "+A);return a.getDay()===_&&a.isLastWeekdayOfMonth()})}for(s(f,"isLastWeekdayOfMonthMatch");d<By;){if(d++,e){if(u&&a.getTime()-u.getTime()<0)throw new Error("Out of the timespan range")}else if(c&&c.getTime()-a.getTime()<0)throw new Error("Out of the timespan range");var g=r(a.getDate(),this.fields.dayOfMonth);i(this.fields.dayOfMonth)&&(g=g||a.isLastDayOfMonth());var m=r(a.getDay(),this.fields.dayOfWeek);i(this.fields.dayOfWeek)&&(m=m||f(this.fields.dayOfWeek));var y=this.fields.dayOfMonth.length>=k.daysInMonth[a.getMonth()],h=this.fields.dayOfWeek.length===k.constraints[5].max-k.constraints[5].min+1,p=a.getHours();if(!g&&(!m||h)){this._applyTimezoneShift(a,o,"Day");continue}if(!y&&h&&!g){this._applyTimezoneShift(a,o,"Day");continue}if(y&&!h&&!m){this._applyTimezoneShift(a,o,"Day");continue}if(this._nthDayOfWeek>0&&!n(a,this._nthDayOfWeek)){this._applyTimezoneShift(a,o,"Day");continue}if(!r(a.getMonth()+1,this.fields.month)){this._applyTimezoneShift(a,o,"Month");continue}if(r(p,this.fields.hour)){if(this._dstEnd===p&&!e){this._dstEnd=null,this._applyTimezoneShift(a,"add","Hour");continue}}else if(this._dstStart!==p){this._dstStart=null,this._applyTimezoneShift(a,o,"Hour");continue}else if(!r(p-1,this.fields.hour)){a[o+"Hour"]();continue}if(!r(a.getMinutes(),this.fields.minute)){this._applyTimezoneShift(a,o,"Minute");continue}if(!r(a.getSeconds(),this.fields.second)){this._applyTimezoneShift(a,o,"Second");continue}if(l===a.getTime()){o==="add"||a.getMilliseconds()===0?this._applyTimezoneShift(a,o,"Second"):a.setMilliseconds(0);continue}break}if(d>=By)throw new Error("Invalid expression, loop limit exceeded");return this._currentDate=new an(a,this._tz),this._hasIterated=!0,a},"_findSchedule");k.prototype.next=s(function(){var e=this._findSchedule();return this._isIterator?{value:e,done:!this.hasNext()}:e},"next");k.prototype.prev=s(function(){var e=this._findSchedule(!0);return this._isIterator?{value:e,done:!this.hasPrev()}:e},"prev");k.prototype.hasNext=function(){var t=this._currentDate,e=this._hasIterated;try{return this._findSchedule(),!0}catch{return!1}finally{this._currentDate=t,this._hasIterated=e}};k.prototype.hasPrev=function(){var t=this._currentDate,e=this._hasIterated;try{return this._findSchedule(!0),!0}catch{return!1}finally{this._currentDate=t,this._hasIterated=e}};k.prototype.iterate=s(function(e,r){var n=[];if(e>=0)for(var i=0,o=e;i<o;i++)try{var a=this.next();n.push(a),r&&r(a,i)}catch{break}else for(var i=0,o=e;i>o;i--)try{var a=this.prev();n.push(a),r&&r(a,i)}catch{break}return n},"iterate");k.prototype.reset=s(function(e){this._currentDate=new an(e||this._options.currentDate)},"reset");k.prototype.stringify=s(function(e){for(var r=[],n=e?0:1,i=k.map.length;n<i;++n){var o=k.map[n],a=this.fields[o],u=k.constraints[n];o==="dayOfMonth"&&this.fields.month.length===1?u={min:1,max:k.daysInMonth[this.fields.month[0]-1]}:o==="dayOfWeek"&&(u={min:0,max:6},a=a[a.length-1]===7?a.slice(0,-1):a),r.push(rb(a,u.min,u.max))}return r.join(" ")},"stringify");k.parse=s(function(e,r){var n=this;typeof r=="function"&&(r={});function i(o,a){a||(a={}),typeof a.currentDate>"u"&&(a.currentDate=new an(void 0,n._tz)),k.predefined[o]&&(o=k.predefined[o]);var u=[],c=(o+"").trim().split(/\s+/);if(c.length>6)throw new Error("Invalid cron expression");for(var l=k.map.length-c.length,d=0,f=k.map.length;d<f;++d){var g=k.map[d],m=c[c.length>f?d:d-l];if(d<l||!m)u.push(k._parseField(g,k.parseDefaults[d],k.constraints[d]));else{var y=g==="dayOfWeek"?A(m):m;u.push(k._parseField(g,y,k.constraints[d]))}}for(var h={},d=0,f=k.map.length;d<f;d++){var p=k.map[d];h[p]=u[d]}var T=k._handleMaxDaysInMonth(h);return h.dayOfMonth=T||h.dayOfMonth,new k(h,a);function A(_){var I=_.split("#");if(I.length>1){var O=+I[I.length-1];if(/,/.test(_))throw new Error("Constraint error, invalid dayOfWeek `#` and `,` special characters are incompatible");if(/\//.test(_))throw new Error("Constraint error, invalid dayOfWeek `#` and `/` special characters are incompatible");if(/-/.test(_))throw new Error("Constraint error, invalid dayOfWeek `#` and `-` special characters are incompatible");if(I.length>2||Number.isNaN(O)||O<1||O>5)throw new Error("Constraint error, invalid dayOfWeek occurrence number (#)");return a.nthDayOfWeek=O,I[0]}return _}s(A,"parseNthDay")}return s(i,"parse"),i(e,r)},"parse");k.fieldsToExpression=s(function(e,r){function n(g,m,y){if(!m)throw new Error("Validation error, Field "+g+" is missing");if(m.length===0)throw new Error("Validation error, Field "+g+" contains no values");for(var h=0,p=m.length;h<p;h++){var T=m[h];if(!k._isValidConstraintChar(y,T)&&(typeof T!="number"||Number.isNaN(T)||T<y.min||T>y.max))throw new Error("Constraint error, got value "+T+" expected range "+y.min+"-"+y.max)}}s(n,"validateConstraints");for(var i={},o=0,a=k.map.length;o<a;++o){var u=k.map[o],c=e[u];n(u,c,k.constraints[o]);for(var l=[],d=-1;++d<c.length;)l[d]=c[d];if(c=l.sort(k._sortCompareFn).filter(function(g,m,y){return!m||g!==y[m-1]}),c.length!==l.length)throw new Error("Validation error, Field "+u+" contains duplicate values");i[u]=c}var f=k._handleMaxDaysInMonth(i);return i.dayOfMonth=f||i.dayOfMonth,new k(i,r||{})},"fieldsToExpression");Wy.exports=k});var Vy=Q((iG,$y)=>{"use strict";var Na=Gy();function gr(){}s(gr,"CronParser");gr._parseEntry=s(function(e){var r=e.split(" ");if(r.length===6)return{interval:Na.parse(e)};if(r.length>6)return{interval:Na.parse(r.slice(0,6).join(" ")),command:r.slice(6,r.length)};throw new Error("Invalid entry: "+e)},"_parseEntry");gr.parseExpression=s(function(e,r){return Na.parse(e,r)},"parseExpression");gr.fieldsToExpression=s(function(e,r){return Na.fieldsToExpression(e,r)},"fieldsToExpression");gr.parseString=s(function(e){for(var r=e.split(`
|
|
5
|
-
`),n={variables:{},expressions:[],errors:{}},i=0,o=r.length;i<o;i++){var a=r[i],u=null,c=a.trim();if(c.length>0){if(c.match(/^#/))continue;if(u=c.match(/^(.*)=(.*)$/))n.variables[u[1]]=u[2];else{var l=null;try{l=gr._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");gr.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,gr.parseString(i.toString()))})},"parseFile");$y.exports=gr});var hF={};P(hF,{APIWarning:()=>Cn,ActiveContentFileError:()=>Ku,AutomationViewMode:()=>Ga,BUDIBASE_DATASOURCE_TYPE:()=>zd,BadRequestError:()=>Eo,BudibaseError:()=>go,Config:()=>rf,Cookie:()=>yr,DEFAULT_BB_DATASOURCE_ID:()=>Pn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DEFAULT_TENANT_ID:()=>ce,DeprecatedViews:()=>Jn,DesignDocuments:()=>vs,DocumentType:()=>ae,Duration:()=>me,EmailUnavailableError:()=>er,Endpoint:()=>Gc,EndpointGroup:()=>Dn,EndpointGroupList:()=>Go,FeatureDisabledError:()=>Hu,FeatureDisabledWarning:()=>bc,ForbiddenError:()=>Qu,GlobalRole:()=>tf,HTTPError:()=>Be,Header:()=>Pe,InternalTable:()=>It,InvalidAPIKeyWarning:()=>bi,MAX_VALID_DATE:()=>qa,MIN_VALID_DATE:()=>lT,NotFoundError:()=>qu,NotImplementedError:()=>ju,RedisClient:()=>Re,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>xt,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>pe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>xs,UnexpectedError:()=>Vu,UsageLimitError:()=>Yu,UsageLimitWarning:()=>Dc,UserStatus:()=>Va,ViewName:()=>Kt,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>nt,WORKSPACE_PREFIX:()=>rt,accounts:()=>On,auth:()=>zm,blacklist:()=>pp,cache:()=>Di,configs:()=>tr,constants:()=>nf,context:()=>le,csv:()=>dh,db:()=>Ir,docIds:()=>Hf,docUpdates:()=>th,encryption:()=>Gm,env:()=>E,errors:()=>Ju,events:()=>wn,features:()=>km,getErrorMessage:()=>VA,getPublicError:()=>zu,init:()=>mF,installation:()=>rc,locks:()=>xr,logging:()=>uo,middleware:()=>Ym,objectStore:()=>bp,permissions:()=>Pm,platform:()=>ho,plugins:()=>Xm,queue:()=>Up,redis:()=>Zm,roles:()=>Nm,security:()=>Hp,sessions:()=>Xu,setEnv:()=>Ps,sql:()=>lh,tenancy:()=>pF,timers:()=>Du,userUtils:()=>cm,users:()=>Ii,utils:()=>di,warnings:()=>$m,withEnv:()=>hT});module.exports=VO(hF);var tr={};P(tr,{analyticsEnabled:()=>Zu,generateConfigID:()=>Lo,getConfig:()=>Ge,getDefaultGoogleConfig:()=>Tm,getGoogleConfig:()=>mc,getGoogleDatasourceConfig:()=>Am,getOIDCConfig:()=>yk,getOIDCConfigById:()=>_m,getOIDCLogosDoc:()=>gk,getPlatformUrl:()=>Uo,getRecaptchaConfig:()=>Ak,getSCIMConfig:()=>Sk,getSMTPConfig:()=>Tk,getSMTPConfigDoc:()=>M_,getSettingsConfig:()=>Sm,getSettingsConfigDoc:()=>wi,getTranslationsConfig:()=>mk,getTranslationsConfigDoc:()=>k_,save:()=>pk});var qO=["user:created","user:updated","user:deleted","user:admin:assigned","user:admin:removed","user:builder:assigned","user:builder:removed","user_group:created","user_group:updated","user_group:deleted","user_group:user_added","user_group:users_deleted","user_group:permissions_edited"],KO=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],mh=[...qO,...KO],hh={"user:created":'User "{{ email }}" created{{#if viaScim}} via SCIM{{/if}}',"user:updated":'User "{{ email }}" updated{{#if viaScim}} via SCIM{{/if}}',"user:deleted":'User "{{ email }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user:admin:assigned":'User "{{ email }}" admin role assigned',"user:admin:removed":'User "{{ email }}" admin role removed',"user:builder:assigned":'User "{{ email }}" builder role assigned',"user:builder:removed":'User "{{ email }}" builder role removed',"user:invited":'User "{{ email }}" invited',"user:invite:accepted":'User "{{ email }}" accepted invite',"user:password:updated":'User "{{ email }}" password updated',"user:password:reset:requested":'User "{{ email }}" password reset requested',"user:password:reset":'User "{{ email }}" password reset',"user_group:created":'User group "{{ name }}" created{{#if viaScim}} via SCIM{{/if}}',"user_group:updated":'User group "{{ name }}" updated{{#if viaScim}} via SCIM{{/if}}',"user_group:deleted":'User group "{{ name }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user_group:user_added":'User group "{{ name }}" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}',"user_group:users_deleted":'User group "{{ name }}" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}',"user_group:permissions_edited":'User group "{{ name }}" permissions edited',"user:password:force:reset":void 0,"user_group:onboarding_added":void 0,"user:onboarding:complete":void 0,"user:data:collaboration":void 0,"email:smtp:created":"Email configuration created","email:smtp:updated":"Email configuration updated","ai:config:created":'AI configuration "{{ name }}" created',"ai:config:updated":'AI configuration "{{ name }}" updated',"ai:config:deleted":'AI configuration "{{ name }}" deleted',"ai:agent:created":'AI agent "{{ name }}" created',"ai:agent:updated":'AI agent "{{ name }}" updated',"ai:agent:deleted":'AI agent "{{ name }}" deleted',"rag:file:uploaded":void 0,"rag:file:deleted":void 0,"rag:file:sharepoint:connected":void 0,"rag:file:sharepoint:disconnected":void 0,"rag:file:sharepoint:sync":void 0,"rag:file:processed":void 0,"auth:sso:created":"SSO configuration created","auth:sso:updated":"SSO configuration updated","auth:sso:activated":"SSO configuration activated","auth:sso:deactivated":"SSO configuration deactivated","auth:login":'User "{{ email }}" logged in',"auth:logout":'User "{{ email }}" logged out',"org:info:name:updated":"Organisation name updated","org:info:logo:updated":"Organisation logo updated","org:platformurl:updated":"Organisation platform URL updated","app:created":'App "{{ name }}" created',"app:updated":'App "{{ name }}" updated',"app:deleted":'App "{{ name }}" deleted',"app:duplicated":'App "{{ name }}" duplicated',"app:published":'App "{{ name }}" published',"app:unpublished":'App "{{ name }}" unpublished',"app:template:imported":'App "{{ name }}" template imported',"app:file:imported":'App "{{ name }}" file imported',"app:version:updated":'App "{{ name }}" version updated',"app:version:reverted":'App "{{ name }}" version reverted',"app:reverted":'App "{{ name }}" reverted',"app:exported":'App "{{ name }}" exported',"app:backup:restored":'App backup "{{ name }}" restored',"app:backup:triggered":'App backup "{{ name }}" triggered',"datasource:created":"Datasource created","datasource:updated":"Datasource updated","datasource:deleted":"Datasource deleted","query:created":"Query created","query:updated":"Query updated","query:deleted":"Query deleted","query:import":"Query import","queries:run":void 0,"query:previewed":void 0,"table:created":'Table "{{ name }}" created',"table:updated":'Table "{{ name }}" updated',"table:deleted":'Table "{{ name }}" deleted',"table:exported":'Table "{{ name }}" exported',"table:imported":'Table "{{ name }}" imported',"table:data:imported":"Data imported to table","rows:created":"Rows created","rows:imported":"Rows imported","automation:created":'Automation "{{ name }}" created',"automation:deleted":'Automation "{{ name }}" deleted',"automation:step:created":'Automation "{{ name }}" step added',"automation:step:deleted":'Automation "{{ name }}" step removed',"automation:tested":void 0,"automations:run":void 0,"automation:trigger:updated":void 0,"screen:created":'Screen "{{ name }}" created',"screen:deleted":'Screen "{{ name }}" deleted',"component:created":"Component created","component:deleted":"Component deleted","environment_variable:created":"Environment variable created","environment_variable:deleted":"Environment variable deleted","environment_variable:upgrade_panel_opened":void 0,"plugin:imported":"Plugin imported","plugin:deleted":"Plugin deleted","plugin:init":void 0,"action:automation_step:executed":void 0,"action:automation_step:failed":void 0,"action:crud:executed":void 0,"action:crud:failed":void 0,"action:ai_agent:executed":void 0,"action:ai_agent:failed":void 0,"role:created":void 0,"role:updated":void 0,"role:deleted":void 0,"role:assigned":void 0,"role:unassigned":void 0,"license:plan:changed":void 0,"license:activated":void 0,"license:payment:failed":void 0,"license:payment:recovered":void 0,"license:checkout:opened":void 0,"license:checkout:success":void 0,"license:portal:opened":void 0,"account:created":void 0,"account:deleted":void 0,"account:verified":void 0,"app:backfill:succeeded":void 0,"app:backfill:failed":void 0,"tenant:backfill:succeeded":void 0,"tenant:backfill:failed":void 0,"installation:backfill:succeeded":void 0,"installation:backfill:failed":void 0,"layout:created":void 0,"layout:deleted":void 0,"view:created":void 0,"view:updated":void 0,"view:deleted":void 0,"view:exported":void 0,"view:filter:created":void 0,"view:filter:updated":void 0,"view:filter:deleted":void 0,"view:calculation:created":void 0,"view:calculation:updated":void 0,"view:calculation:deleted":void 0,"view:join:created":void 0,"served:builder":void 0,"served:app":void 0,"served:app:preview":void 0,"analytics:opt:out":void 0,"analytics:opt:in":void 0,"installation:version:checked":void 0,"installation:version:upgraded":void 0,"installation:version:downgraded":void 0,"installation:firstStartup":void 0,"audit_log:filtered":void 0,"audit_log:downloaded":void 0,"row_action:created":void 0,"workspace_app:created":void 0,"workspace_app:deleted":void 0,"workspace_app:updated":void 0,"resource:copied_to_workspace":"{{ resource.type }} copied to workspace"};var $c=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))($c||{}),Vc=(m=>(m.STRING="string",m.CODE="code",m.LONGFORM="longForm",m.SENSITIVE_LONGFORM="sensitiveLongForm",m.BOOLEAN="boolean",m.NUMBER="number",m.PASSWORD="password",m.LIST="list",m.OBJECT="object",m.JSON="json",m.FILE="file",m.FIELD_GROUP="fieldGroup",m.SELECT="select",m))(Vc||{}),Vo=(T=>(T.AIRTABLE="AIRTABLE",T.ARANGODB="ARANGODB",T.BUDIBASE="BUDIBASE",T.COUCHDB="COUCHDB",T.DYNAMODB="DYNAMODB",T.ELASTICSEARCH="ELASTICSEARCH",T.FIRESTORE="FIRESTORE",T.GOOGLE_SHEETS="GOOGLE_SHEETS",T.MONGODB="MONGODB",T.MYSQL="MYSQL",T.ORACLE="ORACLE",T.POSTGRES="POSTGRES",T.REDIS="REDIS",T.REST="REST",T.S3="S3",T.SNOWFLAKE="SNOWFLAKE",T.SQL_SERVER="SQL_SERVER",T))(Vo||{});var qc=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(qc||{});var QO=W(require("lodash/isPlainObject"));var Vr=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Vr||{}),cr=(o=>(o.CONTAINS="contains",o.NOT_CONTAINS="notContains",o.CONTAINS_ANY="containsAny",o.ONE_OF="oneOf",o.NOT_ONE_OF="notOneOf",o))(cr||{}),xn=(e=>(e.RANGE="range",e))(xn||{}),Li=(r=>(r.AND="$and",r.OR="$or",r))(Li||{});function qo(t){return Object.values(Li).includes(t)}s(qo,"isLogicalSearchOperator");function gh(t){return Object.values(Vr).includes(t)}s(gh,"isBasicSearchOperator");function Eh(t){return Object.values(cr).includes(t)}s(Eh,"isArraySearchOperator");function Ko(t){return Object.values(xn).includes(t)}s(Ko,"isRangeSearchOperator");var yh=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var Ui=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(Ui||{});var ki=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(ki||{});var Qo=(f=>(f.WORKSPACE="app",f.TABLE="table",f.USER="user",f.AUTOMATION="automation",f.WEBHOOK="webhook",f.BUILDER="builder",f.CREATOR="creator",f.GLOBAL_BUILDER="globalBuilder",f.QUERY="query",f.VIEW="view",f.LEGACY_VIEW="legacy_view",f))(Qo||{});var jo=s(t=>t.hosting==="cloud","isCloudAccount");var Ho=s(t=>t.authType==="sso","isSSOAccount");var D="_",Ne="\uFFF0",Ot=s(t=>`${t}_`,"prefixed"),ae=($=>($.USER="us",$.GROUP="gr",$.CONFIG="config",$.TEMPLATE="template",$.WORKSPACE="app",$.DEV="dev",$.WORKSPACE_DEV="app_dev",$.WORKSPACE_METADATA="app_metadata",$.ROLE="role",$.DEV_INFO="devinfo",$.AUTOMATION_LOG="log_au",$.ACCOUNT_METADATA="acc_metadata",$.PLUGIN="plg",$.DATASOURCE="datasource",$.DATASOURCE_PLUS="datasource_plus",$.WORKSPACE_BACKUP="backup",$.TABLE="ta",$.ROW="ro",$.AUTOMATION="au",$.LINK="li",$.WEBHOOK="wh",$.INSTANCE="inst",$.LAYOUT="layout",$.SCREEN="screen",$.QUERY="query",$.DEPLOYMENTS="deployments",$.METADATA="metadata",$.MEM_VIEW="view",$.USER_FLAG="flag",$.AUTOMATION_METADATA="meta_au",$.AUDIT_LOG="al",$.SCIM_LOG="scimlog",$.ROW_ACTIONS="ra",$.OAUTH2_CONFIG="oauth2",$.OAUTH2_CONFIG_LOG="oauth2log",$.AGENT="agent",$.CHAT_APP="chatapp",$.CHAT_CONVERSATION="chatconvo",$.CHAT_IDENTITY_LINK="chatidentitylink",$.AGENT_TOOL_SOURCE="agenttoolsource",$.AGENT_FILE="agentfile",$.AGENT_LOG_SESSION="agentlogsession",$.AGENT_LOG_REQUEST="agentlogrequest",$.AGENT_REQUEST="agentrequest",$.AGENT_TEST_SUITE="agenttestsuite",$.AGENT_TEST_RUN="agenttestrun",$.AGENT_KNOWLEDGE_SOURCE_SYNC_STATE="agentknowledgesync",$.AGENT_KNOWLEDGE_SOURCE_CONNECTION="agentknowledgeconn",$.KNOWLEDGE_BASE_FILE="knowledgebasefile",$.AI_CONFIG="aiconfig",$.LITELLM_KEY="litellmkey",$.KNOWLEDGE_BASE="knowledgebase",$.WORKSPACE_APP="workspace_app",$.WORKSPACE_FAVOURITE="workspace_favourite",$.PROJECT="project",$.AUTO_COLUMN_STATE="autocolumn_state",$.ESCALATION_CONTEXT="escalation_context",$.ESCALATION_NOTIFICATION="escalation_notification",$))(ae||{});var It=(e=>(e.USER_METADATA="ta_users",e))(It||{});function vn(t){return!!t.providerType}s(vn,"isSSOUser");var Kc=(f=>(f.OBJECT="object",f.STRING="string",f.BOOLEAN="boolean",f.NUMBER="number",f.ARRAY="array",f.JSON="json",f.DATE="date",f.DATETIME="datetime",f.ATTACHMENT="attachment",f.LONGFORM="longform",f.JS="javascript",f))(Kc||{}),Qc=(C=>(C.TABLE="table",C.ROW="row",C.ROWS="rows",C.WIDE="wide",C.QUERY="query",C.QUERY_PARAMS="queryParams",C.QUERY_LIMIT="queryLimit",C.LOOP_OPTION="loopOption",C.ITEM="item",C.CODE="code",C.FILTERS="filters",C.COLUMN="column",C.TRIGGER_SCHEMA="triggerSchema",C.CRON="cron",C.WEBHOOK_URL="webhookUrl",C.AUTOMATION="automation",C.AUTOMATION_FIELDS="automationFields",C.MULTI_ATTACHMENTS="multi_attachments",C.TRIGGER_FILTER="trigger_filter",C.CATEGORIES="categories",C.AGENT="agent",C.OUTPUT_SCHEMA="outputSchema",C))(Qc||{}),jc=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c.EMAIL="EMAIL",c))(jc||{});var Hc=(B=>(B.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",B.CREATE_ROW="CREATE_ROW",B.GET_ROW="GET_ROW",B.UPDATE_ROW="UPDATE_ROW",B.DELETE_ROW="DELETE_ROW",B.QUERY_ROWS="QUERY_ROWS",B.EXECUTE_BASH="EXECUTE_BASH",B.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",B.EXECUTE_SCRIPT="EXECUTE_SCRIPT",B.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",B.EXECUTE_QUERY="EXECUTE_QUERY",B.SERVER_LOG="SERVER_LOG",B.DELAY="DELAY",B.FILTER="FILTER",B.API_REQUEST="API_REQUEST",B.LOOP="LOOP",B.COLLECT="COLLECT",B.OPENAI="OPENAI",B.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",B.BRANCH="BRANCH",B.CLASSIFY_CONTENT="CLASSIFY_CONTENT",B.PROMPT_LLM="PROMPT_LLM",B.TRANSLATE="TRANSLATE",B.SUMMARISE="SUMMARISE",B.GENERATE_TEXT="GENERATE_TEXT",B.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",B.EXTRACT_STATE="EXTRACT_STATE",B.LOOP_V2="LOOP_V2",B.AGENT="AGENT",B.ESCALATION="ESCALATION",B.discord="discord",B.slack="slack",B.zapier="zapier",B.integromat="integromat",B.n8n="n8n",B))(Hc||{}),Th=[...Object.values(Hc),...Object.values(jc)];function Sh(t){return t.stepId==="BRANCH"}s(Sh,"isBranchStep");var Yc="bb_internal";var Ah=["attachment_single","attachment","signature_single","bb_reference","json","array"];var nf={};P(nf,{AutomationViewMode:()=>Ga,BUDIBASE_DATASOURCE_TYPE:()=>zd,Config:()=>rf,Cookie:()=>yr,DEFAULT_BB_DATASOURCE_ID:()=>Pn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DEFAULT_TENANT_ID:()=>ce,DeprecatedViews:()=>Jn,DesignDocuments:()=>vs,DocumentType:()=>ae,GlobalRole:()=>tf,Header:()=>Pe,InternalTable:()=>It,MAX_VALID_DATE:()=>qa,MIN_VALID_DATE:()=>lT,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>xt,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>pe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>xs,UserStatus:()=>Va,ViewName:()=>Kt,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>nt,WORKSPACE_PREFIX:()=>rt});var Pe=(I=>(I.API_KEY="x-budibase-api-key",I.LICENSE_KEY="x-budibase-license-key",I.API_VER="x-budibase-api-version",I.WORKSPACE_ID="x-budibase-app-id",I.SESSION_ID="x-budibase-session-id",I.CLIENT="x-budibase-client",I.TYPE="x-budibase-type",I.PREVIEW_ROLE="x-budibase-role",I.TENANT_ID="x-budibase-tenant-id",I.VERIFICATION_CODE="x-budibase-verification-code",I.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",I.RESET_PASSWORD_CODE="x-budibase-reset-password-code",I.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",I.TOKEN="x-budibase-token",I.CSRF_TOKEN="x-csrf-token",I.CORRELATION_ID="x-budibase-correlation-id",I.AUTHORIZATION="authorization",I.MIGRATING_APP="x-budibase-migrating-app",I.SKIP_MIGRATING_WAIT="x-budibase-migrating-app-skip-wait",I.COOKIE="cookie",I))(Pe||{});var Nn={WORKSPACES:"/builder/apps",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},Mi={ACCOUNT:"/portal/account",BILLING:"/portal/billing",TENANTS:"/portal/tenants",UPGRADE:"/portal/upgrade"};var Le={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"},NotIn:{value:"notOneOf",label:"Is not in"},ContainsAny:{value:"containsAny",label:"Has any"}},_h={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var Pn="datasource_internal_bb_default";var Er={};P(Er,{ColumnSplitter:()=>kd,NoEmptyFilterStrings:()=>nT,buildQuery:()=>iT,cleanupQuery:()=>Bd,fixupFilterArrays:()=>Gd,getKeyNumbering:()=>Wd,getValidOperatorsForType:()=>Pb,hasFilters:()=>Md,limit:()=>aT,multiSort:()=>oT,recurseLogicalOperators:()=>Fd,removeKeyNumbering:()=>Yo,runQuery:()=>Ma,search:()=>kb,sort:()=>sT,splitFiltersArray:()=>zo});var zn=W(Oh());var wt={};P(wt,{filterValueToLabel:()=>XO,hasSchema:()=>ZO,isSupportedUserSearch:()=>Rh,nameToUrl:()=>iI,parallelForeach:()=>JO,processSearchFilters:()=>Xc,toMap:()=>tI,trimOtherProps:()=>eI,unreachable:()=>zO});var wh=W(require("lodash/pick"));var YO=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function zO(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(zO,"unreachable");async function JO(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let u=await(i?o.next():Promise.resolve(o.next()));for(;!u.done;)await e(u.value),u=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}s(JO,"parallelForeach");function XO(){return Object.keys(Le).reduce((t,e)=>{let n=Le[e];return t[n.value]=n.label,t},{})}s(XO,"filterValueToLabel");function ZO(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(ZO,"hasSchema");function eI(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(eI,"trimOtherProps");function Rh(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(qo(o)){for(let l of t[o].conditions)if(!Rh(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!e.find(l=>l.op===o&&u.length===1&&u[0]===l.key))return!1}return!0}s(Rh,"isSupportedUserSearch");function Xc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=zo(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,wh.default)(i,YO);return o.field=Yo(o.field),o})}]}}s(Xc,"processSearchFilters");function tI(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(tI,"toMap");var rI=s(t=>t?t.trim():null,"resolveWorkspaceName"),nI=s(t=>{let e,r=rI(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),iI=s(t=>{let e=nI(t);return sI(e)},"nameToUrl"),sI=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var ke={};P(ke,{accountPortalAccountUrl:()=>Rd,accountPortalBillingUrl:()=>Cd,accountPortalUpgradeUrl:()=>Dd,agentChatUrl:()=>Ld,appAgentUrl:()=>Ua,appChatUrl:()=>La,applyBaseUrl:()=>zy,builderAppsUrl:()=>Pd,builderSettingsAuthUrl:()=>vd,builderSettingsEmailUrl:()=>xd,builderSettingsPeopleUsersUrl:()=>Nd,builderWorkspacesUrl:()=>bd,cancelableTimeout:()=>Ch,cron:()=>bb,deepGet:()=>Zc,duplicateName:()=>Ob,escapeHtml:()=>lI,formatBytes:()=>Db,getNextPreviewDevice:()=>Sb,getPreviewDeviceIcon:()=>Ab,getPreviewModalDevice:()=>_b,getSequentialName:()=>Ib,getUserColor:()=>aI,getUserInitials:()=>oI,getUserLabel:()=>uI,isEnvironmentVariableKey:()=>eT,isGoogleSheets:()=>fI,isSQL:()=>pI,lists:()=>Id,normaliseSafeCssColor:()=>hI,normalizeForComparison:()=>dI,retry:()=>mI,roles:()=>Od,schema:()=>ws,structuredOutput:()=>Sd,urlHelpers:()=>Zy,views:()=>_d,wait:()=>el,withTimeout:()=>cI});var Zc=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),oI=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),aI=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),uI=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function Ch(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(Ch,"cancelableTimeout");async function cI(t,e){let[r,n]=Ch(t),i=await Promise.race([e(),r]);return n(),i}s(cI,"withTimeout");var lI=s(t=>t==null?"":String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),"escapeHtml"),dI=s(t=>t.toLowerCase().trim(),"normalizeForComparison");function fI(t){return t==="GOOGLE_SHEETS"}s(fI,"isGoogleSheets");function pI(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(pI,"isSQL");async function el(t){return new Promise(e=>setTimeout(e,t))}s(el,"wait");async function mI(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await el(o);try{return await t()}catch(a){n=a}}throw n}s(mI,"retry");var hI=s(t=>{if(t==null||t.trim()==="")return;let e=t.trim();if(e.includes(";")||/\burl\s*\(/i.test(e))throw new Error("Color is invalid.");return e},"normaliseSafeCssColor");var Ky=W(Rt()),Qy=W(Vy());var qy="(Input cron: ",nb={"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 ib(t,e){return new Intl.DateTimeFormat("en-GB",{weekday:"short",day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1,timeZone:e}).format(t)}s(ib,"formatExecutionDate");function sb(t){let e=[];for(let r of t){r.includes(qy)&&(r=r.split(qy)[0].trim());for(let[n,i]of Object.entries(nb))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(sb,"improveErrors");function jy(t,e=4,r){let n=Qy.default.parseExpression(t,r?{tz:r}:void 0),i=[];for(let o=0;o<e;o++)i.push(ib(n.next().toDate(),r));return i}s(jy,"getNextExecutionDates");function Hy(t){let e=(0,Ky.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:sb(e.getError())}}s(Hy,"validate");var ws={};P(ws,{decodeNonAscii:()=>Td,encodeNonAscii:()=>ub,isDeprecatedSingleUserColumn:()=>ob,isNumeric:()=>cb,isRequired:()=>ab});function ob(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(ob,"isDeprecatedSingleUserColumn");function ab(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(ab,"isRequired");function ub(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(ub,"encodeNonAscii");function Td(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(Td,"decodeNonAscii");function cb(t){return t.type==="number"||t.type==="bigint"}s(cb,"isNumeric");var Sd={};P(Sd,{normalizeSchemaForStructuredOutput:()=>lb});function lb(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],u={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let g=f;if(g.required===!0){a.push(d);let{required:m,...y}=g;u[d]=e(y)}else u[d]=e(g)}else u[d]=f;i.properties=u;let c=Array.isArray(i.required)?i.required:[],l=[...new Set([...c,...a])];l.length>0?i.required=l:i.required=Object.keys(u)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(lb,"normalizeSchemaForStructuredOutput");var _d={};P(_d,{basicFields:()=>hb,calculationFields:()=>mb,hasCalculationFields:()=>pb,isBasicViewField:()=>db,isCalculationField:()=>Rs,isCalculationView:()=>fb,isV2:()=>gb,isVisible:()=>Yy});var Ad=W(require("lodash/pickBy"));function Rs(t){return"calculationType"in t}s(Rs,"isCalculationField");function db(t){return!Rs(t)}s(db,"isBasicViewField");function fb(t){return t.type==="calculation"}s(fb,"isCalculationView");function pb(t){return Object.values(t.schema||{}).some(Rs)}s(pb,"hasCalculationFields");function mb(t){return(0,Ad.default)(t.schema||{},Rs)}s(mb,"calculationFields");function Yy(t){return t.visible!==!1}s(Yy,"isVisible");function hb(t,e){let{visible:r=!0}=e||{};return(0,Ad.default)(t.schema||{},n=>!Rs(n)&&(!r||Yy(n)))}s(hb,"basicFields");function gb(t){return t.version===2}s(gb,"isV2");var Od={};P(Od,{checkForRoleInheritanceLoops:()=>yb});function Eb(t){return`role${"_"}${t}`}s(Eb,"prefixForCheck");function yb(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=Eb(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let u=e.get(a)||e.get(o);if(!u)return n.delete(o),!1;let c=Array.isArray(u.inherits)?u.inherits:[u.inherits];for(let l of c)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(yb,"checkForRoleInheritanceLoops");var Id={};P(Id,{punctuateList:()=>Tb});function Tb(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(Tb,"punctuateList");var wd=["desktop","tablet","mobile"],Sb=s(t=>{let e=wd.indexOf(t||"desktop"),n=((e===-1?0:e)+1)%wd.length;return wd[n]},"getNextPreviewDevice"),Ab=s(t=>t==="mobile"?"device-mobile-camera":t==="tablet"?"device-tablet-camera":"monitor","getPreviewDeviceIcon"),_b=s(t=>t&&t!=="desktop"?t:null,"getPreviewModalDevice");var Ob=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(o.push(parseInt(c[1])),!0):!1}),o.sort((u,c)=>u-c);let a;if(o.length===0)a=1;else{for(let u=0;u<o.length;u++)if(o[u]!==u+1){a=u+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),Ib=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let u=0;return t.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>u&&(u=f)}),u===0?a:`${e}${i}${u+1}`},"getSequentialName");var wb=/{?{{([^{].*?)}}}?/g;function zy(t,e){if(!e)return t;let r=t.match(wb)??[],n=[],i=t;for(let l of r){let d=`:${l}`;i.includes(d)&&(n.push(l),i=i.replace(d,":0"))}let o=s(l=>`__hbs${l}__`,"placeholder"),a=r.filter(l=>!n.includes(l));i=a.reduce((l,d,f)=>l.replace(d,o(f)),i);let u=s(l=>a.reduce((d,f,g)=>d.replace(o(g),f),l),"restore"),c=e.replace(/\/$/,"");try{let l=new URL(i),d=l.pathname==="/"?"":l.pathname;return c+u(d+l.search+l.hash)}catch{let l=u(i);return l.startsWith("/")?c+l:c}}s(zy,"applyBaseUrl");var Jy=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),Rb=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),qt=s((t,e)=>{let r=Jy(e);if(!t)return r;let n=Rb(t);return r?`${n}${r}`:n},"joinBaseAndPath"),Cb=s(t=>t.replace(/\/+$/,""),"trimTrailingSlash"),Xy=s(t=>Cb(Jy(t)),"normalizeAppUrl"),Rd=s(t=>qt(t,Mi.ACCOUNT),"accountPortalAccountUrl"),Cd=s((t,e)=>{let r=typeof e=="string"||e==null?{tenantId:e}:e,n=qt(t,Mi.BILLING),i=new URLSearchParams;r?.tenantId&&i.set("tenantId",r.tenantId),r?.purchasePrepaidAiCredits&&i.set("purchasePrepaidAiCredits","1");let o=i.toString();return o?`${n}?${o}`:n},"accountPortalBillingUrl"),Dd=s((t,e)=>{if(e){let r=qt(t,Mi.TENANTS),n=encodeURIComponent(e);return`${r}?managePlansTenantId=${n}`}return qt(t,Mi.UPGRADE)},"accountPortalUpgradeUrl"),bd=s(t=>qt(t,Nn.WORKSPACES),"builderWorkspacesUrl"),xd=s(t=>qt(t,Nn.SETTINGS_EMAIL),"builderSettingsEmailUrl"),vd=s(t=>qt(t,Nn.SETTINGS_AUTH),"builderSettingsAuthUrl"),Nd=s(t=>qt(t,Nn.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),Pd=s(t=>qt(t,Nn.APPS),"builderAppsUrl"),La=s(t=>`/app-chat${Xy(t)}`,"appChatUrl"),Ua=s((t,e)=>`${Xy(t)}/agent/${encodeURIComponent(e)}`,"appAgentUrl"),Ld=s((t,e)=>La(Ua(t,e)),"agentChatUrl"),Zy={accountPortalAccountUrl:Rd,accountPortalBillingUrl:Cd,accountPortalUpgradeUrl:Dd,builderWorkspacesUrl:bd,builderSettingsEmailUrl:xd,builderSettingsAuthUrl:vd,builderSettingsPeopleUsersUrl:Nd,builderAppsUrl:Pd,appChatUrl:La,appAgentUrl:Ua,agentChatUrl:Ld};function Db(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(Db,"formatBytes");function eT(t){return/^{{\s*env\.([^\s]+)\s*}}$/.test(String(t))}s(eT,"isEnvironmentVariableKey");var bb={getNextExecutionDates:jy,validate:Hy};var ka=W(require("lodash/isPlainObject")),Ud=W(require("lodash/isEmpty"));var vb=/{{([^{].*?)}}/g,rT=Object.values(Li),Nb=[...Object.values(Vr),...Object.values(cr),...Object.values(xn)],Pb=s((t,e,r)=>{let n=Le,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In,n.NotIn],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],u=[],{type:c,formulaType:l,subtype:d}=t;c==="string"?d==="array"?u=a:u=i:c==="number"||c==="bigint"?u=o:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In,n.NotIn]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=o:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||ws.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In,n.NotIn]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In,n.NotIn]),u},"getValidOperatorsForType"),nT=[Le.StartsWith.value,Le.Like.value,Le.Equals.value,Le.NotEquals.value,Le.Contains.value,Le.NotContains.value,Le.ContainsAny.value,Le.In.value,Le.NotIn.value];function Fd(t,e){for(let r of rT)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(Fd,"recurseLogicalOperators");var Bd=s(t=>{for(let e of nT)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||Lb(o))&&delete t[e][i]}return t=Fd(t,Bd),t},"cleanupQuery");function Lb(t){return Array.isArray(t)&&t.length===0}s(Lb,"isEmptyArray");var Yo=s(t=>Wd(t).key,"removeKeyNumbering"),Wd=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),kd=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=Wd(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let u=`${a}.`;n.startsWith(u)&&(i=this.aliases[a],n=n.slice(u.length))}let o;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),o=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=Td(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Ub(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(vb)||[]).length>0;switch(i){case"datetime":if(!u&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Ko(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"||r==="notOneOf"?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(Ko(r)){let l=_h[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if(gh(r)||Eh(r)||Ko(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s(Ub,"buildCondition");function zo(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(zo,"splitFiltersArray");function iT(t){if(!t)return{};if(Array.isArray(t)&&(t=Xc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=tT(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=iT(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=zo(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=tT(n.logicalOperator)),{[u]:{conditions:a.map(Ub).filter(c=>c)}}})},e}s(iT,"buildQuery");function tT(t){return t==="all"?"$and":"$or"}s(tT,"logicalOperatorFromUI");function Gd(t){if(!t)return t;for(let e of Object.values(cr)){let r=t[e];if(!(r==null||!(0,ka.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 Fd(t,Gd),t}s(Gd,"fixupFilterArrays");function kb(t,e){let r=Ma(t,e.query);typeof e.sort=="string"?r=sT(r,e.sort,e.sortOrder||"ascending",e.sortType):e.sort&&(r=oT(r,e.sort));let n=r.length;e.limit&&(r=aT(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(kb,"search");function Ma(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=Bd(e),e=Gd(e),!Md(e)&&e.onEmptyFilter==="none")return[];let r=s((R,w)=>b=>{for(let[G,ee]of Object.entries(e[R]||{})){let M=qo(R)?b:Zc(b,Yo(G)),U=w(M,ee);if(e.allOr&&U)return!0;if(!e.allOr&&!U)return!1}return!e.allOr},"match"),n=r("string",(R,w)=>typeof R!="string"||typeof w!="string"?!1:R.toLowerCase().startsWith(w.toLowerCase())),i=r("fuzzy",(R,w)=>typeof R!="string"||typeof w!="string"?!1:R.toLowerCase().includes(w.toLowerCase())),o=r("range",(R,w)=>{if(R==null||R===""||((0,ka.default)(w.low)&&(0,Ud.default)(w.low)&&(w.low=void 0),(0,ka.default)(w.high)&&(0,Ud.default)(w.high)&&(w.high=void 0),w.low==null&&w.high==null))return!1;let b=+R;if(!isNaN(b)){let ee=+w.low,M=+w.high;if(!isNaN(ee)&&!isNaN(M))return b>=ee&&b<=M;if(isNaN(ee)){if(!isNaN(M))return b<=M}else return b>=ee}let G=(0,zn.default)(R);if(G.isValid()){let ee=(0,zn.default)(w.low||"0000-00-00T00:00:00.000Z"),M=(0,zn.default)(w.high||"9999-00-00T00:00:00.000Z");if(ee.isValid()&&M.isValid())return G.isAfter(ee)&&G.isBefore(M)||G.isSame(ee)||G.isSame(M);if(ee.isValid())return G.isAfter(ee)||G.isSame(ee);if(M.isValid())return G.isBefore(M)||G.isSame(M)}return w.low!=null&&w.high!=null?R>=w.low&&R<=w.high:w.low!=null?R>=w.low:w.high!=null?R<=w.high:!1}),a=s((R,w)=>{if(Array.isArray(R)){for(let G of R)if(a(G,w))return!0;return!1}if(R&&typeof R=="object"&&typeof w=="string")return R._id===w;if(R===w)return!0;if(R==null&&w!=null||R!=null&&w==null)return!1;let b=(0,zn.default)(R);if(b.isValid()){let G=(0,zn.default)(w);if(G.isValid())return b.isSame(G)}return!1},"_valueMatches"),u=s(R=>(...w)=>!R(...w),"not"),c=r("equal",a),l=r("notEqual",u(a)),d=s(R=>typeof R=="string"?R==="":Array.isArray(R)?R.length===0:R&&typeof R=="object"?Object.keys(R).length===0:R==null,"_empty"),f=r("empty",d),g=r("notEmpty",u(d)),m=s((R,w)=>(typeof w=="string"&&(w=w.split(",")),typeof R=="number"&&(w=w.map(b=>parseFloat(b))),Array.isArray(w)?w.some(b=>a(R,b)):!1),"_oneOf"),y=r("oneOf",m),h=r("notOneOf",u(m)),p=s(R=>(w,b)=>!Array.isArray(w)||(typeof b=="string"&&(b=b.split(","),typeof w[0]=="number"&&(b=b.map(G=>parseFloat(G)))),!Array.isArray(b))?!1:b.length===0?!0:b[R](G=>a(w,G)),"_contains"),T=r("contains",(R,w)=>Array.isArray(w)&&w.length===0?!0:p("every")(R,w)),A=r("notContains",(R,w)=>Array.isArray(w)&&w.length===0?!0:u(p("every"))(R,w)),_=r("containsAny",p("some")),I=r("$and",(R,w)=>{if(!w.length)return!1;for(let b of w)if(!Ma([R],b).length)return!1;return!0}),O=r("$or",(R,w)=>{if(!w.length)return!1;for(let b of w)if(Ma([R],{...b,allOr:!0}).length)return!0;return!1}),C=s(R=>{let w={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:g,oneOf:y,notOneOf:h,contains:T,containsAny:_,notContains:A,$and:I,$or:O},b=Object.entries(e||{}).filter(([G,ee])=>!["allOr","onEmptyFilter"].includes(G)&&ee&&Object.keys(ee).length>0).map(([G])=>w[G]?.(R)??!1);return Md(e)?e.allOr?b.some(G=>G===!0):b.every(G=>G===!0):!0},"docMatch");return t.filter(C)}s(Ma,"runQuery");function sT(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let u=i(o[e]),c=i(a[e]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(sT,"sort");function oT(t,e){let r=Object.entries(e);if(!r.length)return t;let n=s((i,o)=>i==null?i:o==="number"?parseFloat(i):`${i}`,"parse");return t.slice().sort((i,o)=>{for(let[a,u]of r){let c=n(i[a],u.type),l=n(o[a],u.type);if(c===l)continue;let d;return c==null?d=-1:l==null||c>l?d=1:d=-1,u.direction==="descending"?d*-1:d}return 0})}s(oT,"multiSort");function aT(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(aT,"limit");var Md=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of rT)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of Nb){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let u=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||u}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var Me={};P(Me,{automations:()=>qd,screens:()=>Hd,users:()=>jd,workspaces:()=>Vd});var Vd={};P(Vd,{getDevWorkspaceID:()=>Mb,getProdWorkspaceID:()=>Ds});var $d=Ot("app"),Cs=Ot("app_dev");function Mb(t){if(!t)throw new Error("No workspace ID provided");if(t.startsWith(Cs))return t;let e=t.split($d);e.shift();let r=e.join($d);return`${Cs}${r}`}s(Mb,"getDevWorkspaceID");function Ds(t){if(!t)throw new Error("No workspace ID provided");if(!t.startsWith(Cs))return t;let e=t.split(Cs);e.shift();let r=e.join(Cs);return`${$d}${r}`}s(Ds,"getProdWorkspaceID");var qd={};P(qd,{checkForCollectStep:()=>Gb,isAppAction:()=>Wb,isRowAction:()=>Fb,isWebhookAction:()=>Bb});function Fb(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(Fb,"isRowAction");function Bb(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(Bb,"isWebhookAction");function Wb(t){return t.definition.trigger?.stepId==="APP"}s(Wb,"isAppAction");function uT(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(Sh(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(uT(r))return!0}}return!1}s(uT,"hasCollectBlockRecursive");function Gb(t){return uT(t.definition.steps)}s(Gb,"checkForCollectStep");var jd={};P(jd,{canCreateApps:()=>$b,containsUserID:()=>zb,getGlobalUserID:()=>Yb,getUserAppGroups:()=>Jb,hasAdminPermissions:()=>Qd,hasAppBuilderPermissions:()=>Ba,hasBuilderPermissions:()=>jb,hasCreatorPermissions:()=>Wa,isAdmin:()=>bs,isAdminOrBuilder:()=>qb,isAdminOrGlobalBuilder:()=>Kb,isAdminOrWorkspaceBuilder:()=>Vb,isBuilder:()=>Kd,isCreator:()=>Hb,isGlobalBuilder:()=>Fa,userAppAccessList:()=>Xb});function Kd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(Ds(e))):!1}s(Kd,"isBuilder");function Fa(t){return Kd(t)&&!Ba(t)||bs(t)}s(Fa,"isGlobalBuilder");function $b(t){return Fa(t)||Wa(t)}s($b,"canCreateApps");function bs(t){return t?Qd(t):!1}s(bs,"isAdmin");function Vb(t,e){return t?!!(bs(t)||e&&t.builder?.apps?.includes(Ds(e))):!1}s(Vb,"isAdminOrWorkspaceBuilder");function qb(t,e){return Kd(t,e)||bs(t)}s(qb,"isAdminOrBuilder");function Kb(t){return Fa(t)||bs(t)}s(Kb,"isAdminOrGlobalBuilder");function Ba(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(Ba,"hasAppBuilderPermissions");function Qb(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(Qb,"hasAppCreatorPermissions");function jb(t){return t?t.builder?.global||Ba(t)||Wa(t):!1}s(jb,"hasBuilderPermissions");function Qd(t){return t?!!t.admin?.global:!1}s(Qd,"hasAdminPermissions");function Wa(t){return t?!!t.builder?.creator:!1}s(Wa,"hasCreatorPermissions");function Hb(t){return t?Fa(t)||Qd(t)||Wa(t)||Ba(t)||Qb(t):!1}s(Hb,"isCreator");function Yb(t){if(typeof t!="string")return t;let e=`ro${"_"}ta_users${"_"}`;return t.startsWith(e)?t.split(e)[1]:t}s(Yb,"getGlobalUserID");function zb(t){return typeof t!="string"?!1:t.includes(`us${"_"}`)}s(zb,"containsUserID");function cT(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(cT,"getUserGroups");function Jb(t,e,r){let n=Ds(t);return cT(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Jb,"getUserAppGroups");function Xb(t,e){let n=cT(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(Xb,"userAppAccessList");var Hd={};P(Hd,{findInSettings:()=>Zb});function Zb(t,e){let r=[];function n(i,o=""){if(!(!i||typeof i!="object"))for(let[a,u]of Object.entries(i)){let c=o?`${o}.${a}`:a;u&&(typeof u=="string"&&u.includes(e)?r.push({setting:c,value:u}):typeof u=="object"&&n(u,c))}}return s(n,"recurse"),n(t.props),n(t.onLoad||[],"onLoad"),r}s(Zb,"findInSettings");var Ga=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(Ga||{}),Kt=(h=>(h.USER_BY_WORKSPACE="by_app",h.USER_BY_EMAIL="by_email2",h.BY_API_KEY="by_api_key",h.AGENT_REQUESTS_BY_AGENT="agent_requests_by_agent",h.AGENT_REQUESTS_BY_UPDATED_AT="agent_requests_by_updated_at_2",h.AGENT_REQUESTS_BY_STATUS_AND_UPDATED_AT="agent_requests_by_status_and_updated_at",h.LINK="by_link",h.ROUTING="screen_routes_2",h.PROJECT_MEMBERS="project_members",h.AUTOMATION_LOGS="automation_logs",h.ACCOUNT_BY_EMAIL="account_by_email",h.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",h.USER_BY_GROUP="user_by_group",h.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",h.WORKSPACE_BACKUP_BY_EXPIRY="workspace_backup_by_expiry",h))(Kt||{}),Jn={by_email2:["by_email"],agent_requests_by_updated_at_2:["agent_requests_by_updated_at"]},pe={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"}},rt=Ot("app"),$a=Ot("app_dev"),nt=$a,Yd="internal",zd="budibase",xt="_design/sqlite",Jd="ta_bb_jobs",Xd="ta_bb_inventory",Zd="ta_bb_expenses",ef="ta_bb_employee",xs=`ro${"_"}ta_users${"_"}`,vs=(r=>(r[r.SQLITE=xt]="SQLITE",r.MIGRATIONS="_design/migrations",r))(vs||{});var Va=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(Va||{}),yr=(u=>(u.Auth="budibase:auth",u.Init="budibase:init",u.ACCOUNT_RETURN_URL="budibase:account:returnurl",u.DatasourceAuth="budibase:datasourceauth",u.OIDC_CONFIG="budibase:oidc:config",u.FeatureFlags="budibase:featureflags",u.RecaptchaSession="budibase:recaptcha",u))(yr||{}),tf=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(tf||{}),rf=(c=>(c.SETTINGS="settings",c.ACCOUNT="account",c.SMTP="smtp",c.GOOGLE="google",c.OIDC="oidc",c.OIDC_LOGOS="logos_oidc",c.SCIM="scim",c.AI="AI",c))(rf||{}),lT=new Date(-2147483647e3),qa=new Date(2147483647e3),ce="default";var Di={};P(Di,{CacheKey:()=>Oe,TTL:()=>gi,bustCache:()=>Ei,destroy:()=>fo,docWritethrough:()=>Mp,generic:()=>Gu,get:()=>lo,increment:()=>NA,invite:()=>An,keys:()=>Wu,passwordReset:()=>Gp,store:()=>yn,user:()=>nr,withCache:()=>br,withCacheWithDynamicTTL:()=>vA,workspace:()=>Vs,writethrough:()=>ym});var Mp={};P(Mp,{DocWritethrough:()=>kp,DocWritethroughProcessor:()=>co,getProcessor:()=>sP,init:()=>xA});var Up={};P(Up,{BudibaseQueue:()=>yt,InMemoryQueue:()=>Cu,JobQueue:()=>fi,QueuedProcessor:()=>Lp,UnretriableError:()=>Fu,shutdown:()=>TN});var sf=require("crypto"),Qa=require("fs"),pT=require("lodash"),Ns=require("path");var ex=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,Ns.resolve)((0,Ns.join)(__dirname,"..","..","..")),dT=!1;!dT&&Ka()&&!of()&&(require("dotenv").config({path:(0,Ns.join)(ex,".env")}),dT=!0);function of(){return mT()}s(of,"isTest");function mT(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(mT,"isJest");function Ka(){return process.env.NODE_ENV!=="production"}s(Ka,"isDev");function tx(t){if(t)return parseInt(t)}s(tx,"parseIntSafe");var Xn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},fT=!!parseInt(process.env.SELF_HOSTED||"");function rx(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(rx,"getAPIEncryptionKey");function nx(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(nx,"httpLogging");function ix(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Qa.existsSync)(l))return l;let d=`${c}/..`;return d===c?null:n(u,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,Qa.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(Ka()&&!of())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(ix,"getPackageJsonFields");function sx(){return ht.SERVICE_TYPE==="worker"}s(sx,"isWorker");function ox(){return ht.SERVICE_TYPE==="apps"}s(ox,"isApps");function ax(){return ht.BUDIBASE_ENVIRONMENT==="QA"}s(ax,"isQA");function ux(){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(ux,"getServiceName");var ht={isTest:of,isJest:mT,isDev:Ka,isWorker:sx,isApps:ox,isQA:ax,isProd:s(()=>!Ka(),"isProd"),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,sf.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,sf.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:rx(),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,MICROSOFT_CLIENT_ID:process.env.MICROSOFT_CLIENT_ID,MICROSOFT_CLIENT_SECRET:process.env.MICROSOFT_CLIENT_SECRET,MICROSOFT_TENANT_ID:process.env.MICROSOFT_TENANT_ID,RAG_SHAREPOINT_DEFAULT_SCOPE:process.env.RAG_SHAREPOINT_DEFAULT_SCOPE||"offline_access User.Read https://graph.microsoft.com/Sites.Read.All",SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:fT,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,POSTHOG_FEATURE_FLAGS_POLLING_INTERVAL_MS:process.env.POSTHOG_FEATURE_FLAGS_POLLING_INTERVAL_MS,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||Xn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Xn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Xn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Xn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Xn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Xn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:ux(),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:nx(),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:fT?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,OIDC_ALLOW_UNVERIFIED_EMAIL_LINKING:process.env.OIDC_ALLOW_UNVERIFIED_EMAIL_LINKING,...ix(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,ht[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,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:tx(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC,OPENROUTER_BASE_URL:process.env.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1",COUCH_DB_SQS_PORT:process.env.COUCH_DB_SQS_PORT||"4984"};function Ps(t){let e=(0,pT.cloneDeep)(ht),r;for(r in t)ht._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))ht._set(n,i)}}s(Ps,"setEnv");function hT(t,e){let r=Ps(t);try{let n=e();return n instanceof Promise?n.finally(r):(r(),n)}catch(n){throw r(),n}}s(hT,"withEnv");var gT=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","MICROSOFT_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[t,e]of Object.entries(ht))e==="0"&&(ht[t]=0),e==="false"&&(ht[t]=0);var E=ht;var Ya={};P(Ya,{Databases:()=>af,SEPARATOR:()=>Zn,SelectableDatabase:()=>ja,getRedisClusterOptions:()=>uf,getRedisConnectionDetails:()=>Ha,getRedisOptions:()=>un,removeDbPrefix:()=>cf});var Zn="-",af=(_=>(_.PW_RESETS="pwReset",_.VERIFICATIONS="verification",_.INVITATIONS_LIST="invitationList",_.DEV_LOCKS="devLocks",_.DEBOUNCE="debounce",_.SESSIONS="session",_.USER_CACHE="users",_.FLAGS="flags",_.WORKSPACE_METADATA="appMetadata",_.QUERY_VARS="queryVars",_.LICENSES="license",_.GENERIC_CACHE="data_cache",_.WRITE_THROUGH="writeThrough",_.LOCKS="locks",_.SOCKET_IO="socket_io",_.BPM_EVENTS="bpmEvents",_.DOC_WRITE_THROUGH="docWriteThrough",_.RECAPTCHA_SESSION="recaptchaSession",_.OPENAPI_IMPORT_SPECS="openapiImportSpecs",_))(af||{}),ja=(p=>(p[p.DEFAULT=0]="DEFAULT",p[p.SOCKET_IO=1]="SOCKET_IO",p[p.RATE_LIMITING=2]="RATE_LIMITING",p[p.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",p[p.UNUSED_3=4]="UNUSED_3",p[p.UNUSED_4=5]="UNUSED_4",p[p.UNUSED_5=6]="UNUSED_5",p[p.UNUSED_6=7]="UNUSED_6",p[p.UNUSED_7=8]="UNUSED_7",p[p.UNUSED_8=9]="UNUSED_8",p[p.UNUSED_9=10]="UNUSED_9",p[p.UNUSED_10=11]="UNUSED_10",p[p.UNUSED_11=12]="UNUSED_11",p[p.UNUSED_12=13]="UNUSED_12",p[p.UNUSED_13=14]="UNUSED_13",p[p.UNUSED_14=15]="UNUSED_14",p))(ja||{});function Ha(){let t=E.REDIS_PASSWORD,e=E.REDIS_USERNAME,r=E.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(Ha,"getRedisConnectionDetails");function uf(){return{slotsRefreshTimeout:2e3,dnsLookup:s((t,e)=>e(null,t),"dnsLookup"),redisOptions:{...un()}}}s(uf,"getRedisClusterOptions");function un(){let{host:t,password:e,port:r,username:n}=Ha(),i=E.REDIS_URL.toLowerCase().startsWith("rediss://")?{}:void 0;return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n},...i&&{tls:i}}}s(un,"getRedisOptions");function cf(t){let e=t.split(Zn);return e.length>=2?(e.shift(),e.join(Zn)):e[0]}s(cf,"removeDbPrefix");var QS=W(require("events"));var di={};P(di,{Duration:()=>me,GZIP_PREFIX:()=>Iu,clearCookie:()=>Jt,compare:()=>ff,createPinnedLookup:()=>KS,fetchWithBlacklist:()=>li,getBearerToken:()=>jv,getCookie:()=>zt,getDispatcher:()=>$v,getSessionExpiryDate:()=>tp,getSessionExpirySeconds:()=>Su,getWorkspaceIdFromCtx:()=>pn,gunzipFromBase64:()=>Qv,gzipToBase64:()=>Kv,hasCircularStructure:()=>Lv,hash:()=>df,isAudited:()=>sp,isClient:()=>Pv,isPublicApiRequest:()=>xv,isServingApp:()=>Cv,isServingBuilder:()=>Dv,isServingBuilderPreview:()=>bv,isValidInternalAPIKey:()=>Xs,microsoftDatasourceCreationCacheKey:()=>cN,newid:()=>X,openJwt:()=>_u,setAuthCookie:()=>Nv,setCookie:()=>np,time:()=>kv,timeout:()=>ip,urlHasProtocol:()=>Uv,validEmail:()=>op});var ET=require("uuid");function X(){return(0,ET.v4)().replace(/-/g,"")}s(X,"newid");var lf=require("bcrypt"),cx=E.SALT_ROUNDS||10;async function df(t){let e=await lf.genSalt(cx);return lf.hash(t,e)}s(df,"hash");async function ff(t,e){return lf.compare(t,e)}s(ff,"compare");var Au=W(require("jsonwebtoken"));var le={};P(le,{DEFAULT_TENANT_ID:()=>ce,baseGlobalDBName:()=>Ws,doInAutomationContext:()=>Px,doInContext:()=>vf,doInEnvironmentContext:()=>qx,doInFeatureFlagOverrideContext:()=>Ff,doInIPContext:()=>Lf,doInIdentityContext:()=>Us,doInLicenseContext:()=>Ux,doInScimContext:()=>Kx,doInSelfHostTenantUsingCloud:()=>Lx,doInTenant:()=>be,doInWorkspaceContext:()=>Fx,doInWorkspaceMigrationContext:()=>Wx,ensureSnippetContext:()=>PT,getAuditLogDBName:()=>vT,getAuditLogsDB:()=>jx,getAutomationId:()=>Nf,getCurrentContext:()=>dn,getDevWorkspaceDB:()=>Yx,getDevWorkspaceId:()=>$x,getEnvironmentVariables:()=>Qx,getFeatureFlagOverrides:()=>Mf,getFeatureFlags:()=>Uf,getGlobalDB:()=>z,getGlobalDBName:()=>ln,getIP:()=>Pf,getIdentity:()=>Qt,getLicense:()=>kx,getOrThrowWorkspaceId:()=>Gx,getPlatformURL:()=>xf,getProdWorkspaceDB:()=>Hx,getProdWorkspaceId:()=>Vx,getScimDBName:()=>bx,getSelfHostCloudDB:()=>Mx,getTableForView:()=>zx,getTenantIDFromWorkspaceID:()=>ni,getTenantId:()=>V,getWorkspaceDB:()=>ii,getWorkspaceId:()=>Fe,identity:()=>Ls,isDevWorkspace:()=>LT,isMultiTenant:()=>Sr,isProdWorkspace:()=>Xx,isScim:()=>Et,isSelfHostUsingCloud:()=>nu,isTenancyEnabled:()=>vx,isTenantIdSet:()=>xx,setFeatureFlags:()=>kf,setTableForView:()=>Jx});var Ls={};P(Ls,{doInAccountContext:()=>lx,doInIdentityContext:()=>hf,doInUserContext:()=>gf,getAccountUserId:()=>yT,getIdentity:()=>mf});function mf(){return Qt()}s(mf,"getIdentity");function hf(t,e){return Us(t,e)}s(hf,"doInIdentityContext");function gf(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return hf(n,r)}s(gf,"doInUserContext");function lx(t,e){let r=yT(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return hf(i,e)}s(lx,"doInAccountContext");function yT(t){let e;return jo(t)?e=t.budibaseUserId:e=t.accountId,e}s(yT,"getAccountUserId");var vt=s(()=>za(E.COUCH_DB_URL,{user:E.COUCH_DB_USERNAME||"",password:E.COUCH_DB_PASSWORD||""}),"getCouchInfo"),za=s((t,e)=>{let r=Ef(t),n,i;if(r.auth?.username)n=r.auth.username;else if(e?.user)n=e?.user;else throw new Error("CouchDB username not set");if(r.auth?.password)i=r.auth.password;else if(e?.password)i=e?.password;else throw new Error("CouchDB password not set");let o=Buffer.from(`${n}:${i}`).toString("base64"),a=E.COUCH_DB_SQL_URL;if(!a&&r.url){let u=new URL(r.url);u.port=E.COUCH_DB_SQS_PORT,a=u.toString().replace(/\/$/,"")}return{url:r.url,sqlUrl:Ef(a).url,auth:{username:n,password:i},cookie:`Basic ${o}`}},"parseCouchConnection"),Ef=s((t=E.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),u=a[0],c=a.slice(1).join("://");if(t.includes("@")){let l=c.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=c;e=`${u}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var DT=W(require("@budibase/nano"));var TT=W(require("node-fetch"));function Ja(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(Ja,"checkSlashesInUrl");async function ST(t,e="GET",r){let{url:n,cookie:i}=vt(),o=`${n}/${t}`;return await ks({url:o,cookie:i,method:e,body:r})}s(ST,"directCouchCall");async function ks({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,TT.default)(Ja(encodeURI(t)),i)}s(ks,"directCouchUrlCall");async function yf(t,e="GET",r){let n=await ST(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(yf,"directCouchQuery");var cn=W(require("pouchdb"));var AT,_T=!1,Tf=s((t={})=>{let{url:e,cookie:r}=vt(),n={prefix:e,fetch:s((i,o)=>(o.headers.set("Authorization",r),cn.default.fetch(i,o)),"fetch")};if(t.inMemory){let i=require("pouchdb-adapter-memory");cn.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");cn.default.plugin(i.plugin),cn.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");cn.default.plugin(i)}return cn.default.defaults(n)},"getPouch");function Xa(t){AT=Tf(t),_T=!0}s(Xa,"init");var dx=s(()=>{if(!_T)throw new Error("init has not been called")},"checkInitialised");function it(t,e){dx();let r=new AT(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(it,"getPouchDB");async function Ms(t){if(!(!t||E.isTest()))try{return await t.close()}catch{}}s(Ms,"closePouchDB");var de=W(require("dd-trace"));var ei=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return de.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return de.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return de.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return de.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return de.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return de.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return de.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return de.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return de.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return de.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return de.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return de.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return de.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return de.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return de.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return de.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return de.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return de.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return de.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return de.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return de.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var Cf={};P(Cf,{breakExternalTableId:()=>_f,breakRowIdField:()=>Ix,buildExternalTableId:()=>yx,convertRowId:()=>Ox,encodeTableId:()=>Tx,encodeViewId:()=>Sx,extractDate:()=>If,generateRowIdField:()=>Ax,getNativeSql:()=>ti,isExternalTable:()=>Af,isExternalTableID:()=>Za,isInternalTableID:()=>Ex,isRowId:()=>_x,isValidFilter:()=>tu,isValidISODateString:()=>eu,isValidISODateStringWithoutTimezone:()=>Of,isValidTime:()=>wf,sqlLog:()=>Fs,validateManyToMany:()=>Rf});var Sf=`${"_"}${"_"}`,IT=/^\[.*]$/g,fx=encodeURIComponent(" "),px=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,mx=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,hx=/(\d{4}-\d{2}-\d{2})/,gx=/^\d{1,2}:\d{2}(?:\.\d{1,6}|:\d{2}(?:\.\d{1,6})?)?$/;function Za(t){return t.startsWith("datasource_")}s(Za,"isExternalTableID");function Ex(t){return!Za(t)}s(Ex,"isInternalTableID");function ti(t){let e=t.toSQL();if(Array.isArray(e))return e;let r;return e.toNative&&(r=e.toNative()),{sql:r?.sql||e.sql,bindings:r?.bindings||e.bindings}}s(ti,"getNativeSql");function Af(t){return t?.sourceId&&t.sourceId.includes("datasource_")&&t?.sourceId!==Pn||t?.sourceType==="external"?!0:!!(t?._id&&Za(t._id))}s(Af,"isExternalTable");function yx(t,e){return`${t}${Sf}${encodeURIComponent(e)}`}s(yx,"buildExternalTableId");function Tx(t){return Za(t)?encodeURIComponent(t):t}s(Tx,"encodeTableId");function Sx(t){return encodeURIComponent(t)}s(Sx,"encodeViewId");function _f(t){let e=t.split(Sf),r=e.shift(),n=e.join(Sf);if(n.includes(fx)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(_f,"breakExternalTableId");function Ax(t=[]){Array.isArray(t)||(t=[t]);for(let e in t)t[e]instanceof Buffer&&(t[e]=t[e].toString());return encodeURIComponent(JSON.stringify(t).replace(/"/g,"'"))}s(Ax,"generateRowIdField");function _x(t){return Array.isArray(t)||typeof t=="string"&&t.match(IT)!=null}s(_x,"isRowId");function Ox(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(IT)!=null?t.substring(1,t.length-1):t}s(Ox,"convertRowId");function Ix(t){if(!t)return[];let e=typeof t=="string"?t:t._id,r=decodeURIComponent(e).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[t]}}s(Ix,"breakRowIdField");function eu(t){let e=t.trim();if(!px.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(eu,"isValidISODateString");function Of(t){let e=t.trim();if(!mx.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(Of,"isValidISODateStringWithoutTimezone");function If(t){let e=t.match(hx);if(e)return e[0]}s(If,"extractDate");function tu(t){return t!=null&&t!==""}s(tu,"isValidFilter");function wf(t){return gx.test(t)}s(wf,"isValidTime");function Fs(t,e,r){if(!E.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(Fs,"sqlLog");function wx(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(wx,"isValidManyToManyRelationship");function Rf(t){if(wx(t))return t}s(Rf,"validateManyToMany");var wT="Database does not exist.";function RT(t){return(0,DT.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(RT,"buildNano");var Tr=class extends Error{static{s(this,"CouchDBError")}constructor(e,r){super(e);let n=r.status||r.statusCode||500;this.status=n,this.statusCode=n,this.reason=r.reason||"Unknown",this.name=r.name,this.errid=r.errid||"Unknown",this.description=r.description||"Unknown",this.error=r.error||"Not found"}};function Rx(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new ri(t,r,e);return new ei(n)}s(Rx,"DatabaseWithConnection");var ri=class t{constructor(e,r,n){this.couchInfo=vt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=za(n),this.instanceNano=RT(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=vt();t.nano=RT(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await ks({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new Tr(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===wT)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new Tr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new Tr(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(c=>n&&c.doc==null||c.value&&"deleted"in c.value&&c.value.deleted?!0:c.error==="not_found","rowUnavailable"),a=i.rows.filter(c=>!o(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(yh(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(u=>({...u,_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 Tr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=X()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===wT)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=Ja(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await ks(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new Tr("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw u}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${xt}`;return Fs("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(xt)){let e=await this.get(xt);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new Tr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return it(this.name).dump(e,r)}async load(e){return it(this.name).load(e)}async createIndex(e){return it(this.name).createIndex(e)}async deleteIndex(e){return it(this.name).deleteIndex(e)}async getIndexes(){return it(this.name).getIndexes()}};function De(t,e){return new ei(new ri(t,e))}s(De,"getDB");async function je(t,e,r){let n=De(t,r);return await e(n)}s(je,"doWithDB");async function Df(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await yf(e)}s(Df,"directCouchAllDbs");var bf="No app provided";function Nt(t){if(!t)throw bf;return t.startsWith(nt)}s(Nt,"isDevWorkspaceID");function Cx(t){if(!t)throw bf;return t.startsWith(rt)&&!Nt(t)}s(Cx,"isProdWorkspaceID");function Bs(t){if(!t)throw bf;return Nt(t.appId)}s(Bs,"isDevWorkspace");function ru(t){if(!t||t.startsWith(nt))return t;let e=t.split(rt);e.shift();let r=e.join(rt);return`${nt}${r}`}s(ru,"getDevWorkspaceID");function He(t){if(!t||!t.startsWith(nt))return t;let e=t.split(nt);e.shift();let r=e.join(nt);return`${rt}${r}`}s(He,"getProdWorkspaceID");var bT=require("async_hooks");var ge=class t{static{s(this,"Context")}static{this.storage=new bT.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var xT=null;function ln(t){return t||(t=V()),Ws(t)}s(ln,"getGlobalDBName");function vT(t){return t||(t=V()),t===ce?pe.AUDIT_LOGS.name:`${t}${"_"}${pe.AUDIT_LOGS.name}`}s(vT,"getAuditLogDBName");function bx(t){return t||(t=V()),t===ce?pe.SCIM_LOGS.name:`${t}${"_"}${pe.SCIM_LOGS.name}`}s(bx,"getScimDBName");function Ws(t){return!t||t===ce?pe.GLOBAL.name:`${t}${"_"}${pe.GLOBAL.name}`}s(Ws,"baseGlobalDBName");function xf(){return E.PLATFORM_URL}s(xf,"getPlatformURL");function Sr(){return!!E.MULTI_TENANCY}s(Sr,"isMultiTenant");function xx(){return!!ge.get()?.tenantId}s(xx,"isTenantIdSet");function vx(){return E.MULTI_TENANCY}s(vx,"isTenancyEnabled");function ni(t){if(!t)return;if(!Sr())return ce;let e=t.split("_"),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(ni,"getTenantIDFromWorkspaceID");function Nx(t){let e;try{e=ge.get()}catch{e={}}return e={...e,...t},e}s(Nx,"updateContext");async function gt(t,e){Bx();let r=Nx(t);return ge.run(r,e)}s(gt,"newContext");async function Px(t){return await PT(),await gt({tenantId:ni(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(Px,"doInAutomationContext");async function vf(t,e){let r=ni(t);return gt({tenantId:r,appId:t},e)}s(vf,"doInContext");async function be(t,e){return E.MULTI_TENANCY||(t=t||ce),gt(t?{tenantId:t}:{},e)}s(be,"doInTenant");async function Lx(t,e){return gt({tenantId:t,isSelfHostUsingCloud:!0},e)}s(Lx,"doInSelfHostTenantUsingCloud");async function Ux(t,e){return gt({license:t},e)}s(Ux,"doInLicenseContext");function kx(){return ge.get()?.license}s(kx,"getLicense");function nu(){return!!ge.get()?.isSelfHostUsingCloud}s(nu,"isSelfHostUsingCloud");function Mx(){let t=ge.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return De(pe.SELF_HOST_CLOUD.name)}s(Mx,"getSelfHostCloudDB");async function Fx(t,e){return NT(t,e)}s(Fx,"doInWorkspaceContext");async function NT(t,e,r){if(!t)throw new Error("workspaceId is required");let n=ni(t),i={appId:t,...r};return n&&(i.tenantId=n),gt(i,e)}s(NT,"_doInWorkspaceContext");async function Us(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),gt(r,e)}s(Us,"doInIdentityContext");function Bx(){if(ge.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(Bx,"guardMigration");async function Wx(t,e){return NT(t,e,{isMigrating:!0})}s(Wx,"doInWorkspaceMigrationContext");function Qt(){try{return ge.get()?.identity}catch{}}s(Qt,"getIdentity");function V(){if(!Sr())return ce;let e=ge.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(V,"getTenantId");function Nf(){return ge.get()?.automationId}s(Nf,"getAutomationId");function Fe(){let e=ge.get()?.appId;return!e&&E.isTest()&&xT?xT:e}s(Fe,"getWorkspaceId");function Gx(){let t=Fe();if(!t)throw new Error("Workspace id not set");return t}s(Gx,"getOrThrowWorkspaceId");function Pf(){return ge.get()?.ip}s(Pf,"getIP");var $x=s(()=>{let t=Fe();if(!t)throw new Error("Could not get workspaceId");return ru(t)},"getDevWorkspaceId"),Vx=s(()=>{let t=Fe();if(!t)throw new Error("Could not get workspaceId");return He(t)},"getProdWorkspaceId");function qx(t,e){if(!t)throw new Error("Must supply environment variables.");return gt({environmentVariables:t},e)}s(qx,"doInEnvironmentContext");function Kx(t){return gt({isScim:!0},t)}s(Kx,"doInScimContext");function Lf(t,e){return gt({ip:t},e)}s(Lf,"doInIPContext");async function PT(){let t=dn();if(!t||t.snippets)return;let e,r=ii();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(PT,"ensureSnippetContext");function Qx(){let t=ge.get();return t.environmentVariables?t.environmentVariables:null}s(Qx,"getEnvironmentVariables");function z(){let t=ge.get();if(!t||E.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return De(Ws(t?.tenantId))}s(z,"getGlobalDB");function jx(){if(!V())throw new Error("No tenant ID found - cannot open audit log DB");return De(vT())}s(jx,"getAuditLogsDB");function ii(t){let e=Fe();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(nu())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return De(e,t)}s(ii,"getWorkspaceDB");function Hx(t){let e=Fe();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return De(He(e),t)}s(Hx,"getProdWorkspaceDB");function Yx(t){let e=Fe();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return De(ru(e),t)}s(Yx,"getDevWorkspaceDB");function Et(){return!!ge.get()?.isScim}s(Et,"isScim");function dn(){try{return ge.get()}catch{return}}s(dn,"getCurrentContext");function Uf(t){let e=dn();if(e)return e.featureFlagCache?.[t]}s(Uf,"getFeatureFlags");function kf(t,e){let r=dn();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(kf,"setFeatureFlags");function Mf(){return dn()?.featureFlagOverrides||{}}s(Mf,"getFeatureFlagOverrides");async function Ff(t,e){return await gt({featureFlagOverrides:t},e)}s(Ff,"doInFeatureFlagOverrideContext");function zx(t){let e=dn();if(e)return e.viewToTableCache?.[t]}s(zx,"getTableForView");function Jx(t,e){let r=dn();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(Jx,"setTableForView");function LT(){let t=Fe();return Nt(t)}s(LT,"isDevWorkspace");function Xx(){return!LT()}s(Xx,"isProdWorkspace");var Ir={};P(Ir,{AutomationViewMode:()=>Ga,BUDIBASE_DATASOURCE_TYPE:()=>zd,DEFAULT_BB_DATASOURCE_ID:()=>Pn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DatabaseImpl:()=>ri,DatabaseWithConnection:()=>Rx,DeprecatedViews:()=>Jn,DesignDocuments:()=>vs,DocumentType:()=>ae,InternalTable:()=>It,QueryBuilder:()=>Yt,Replication:()=>bS,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>xt,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>pe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>xs,ViewName:()=>Kt,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>nt,WORKSPACE_PREFIX:()=>rt,baseGlobalDBName:()=>Ws,checkErrorCode:()=>PS,closePouchDB:()=>Ms,createApiKeyView:()=>OS,createNewUserEmailView:()=>AS,createPlatformAccountEmailView:()=>wS,createPlatformUserView:()=>RS,createUserAppView:()=>_S,createView:()=>ci,dbExists:()=>hv,directCouchAllDbs:()=>Df,directCouchCall:()=>ST,directCouchQuery:()=>yf,directCouchUrlCall:()=>ks,doWithDB:()=>je,fullSearch:()=>Sv,generateAIConfigID:()=>sS,generateAgentID:()=>YT,generateAgentKnowledgeSourceConnectionID:()=>rS,generateAgentKnowledgeSourceSyncStateID:()=>tS,generateAgentRequestID:()=>XT,generateAgentToolSourceID:()=>eS,generateAppUserID:()=>Eu,generateChatAppID:()=>zT,generateChatConversationID:()=>JT,generateDevInfoID:()=>QT,generateGlobalUserID:()=>ai,generateKnowledgeBaseFileID:()=>nS,generateKnowledgeBaseID:()=>lS,generateOAuth2LogID:()=>HT,generatePluginID:()=>jT,generateProjectID:()=>cS,generateRoleID:()=>Kf,generateRowID:()=>qf,generateTableID:()=>GT,generateTemplateID:()=>KT,generateUserMetadataID:()=>VT,generateWorkspaceAppID:()=>aS,generateWorkspaceFavouriteID:()=>uS,generateWorkspaceID:()=>WT,getAgentTestRunID:()=>ZT,getAgentTestSuiteID:()=>Qf,getAllDbs:()=>SS,getAllWorkspaces:()=>Ks,getCouchInfo:()=>vt,getDB:()=>De,getDevWorkspaceID:()=>ru,getDevWorkspaceIDs:()=>pv,getDocParams:()=>Pt,getGlobalDBName:()=>ln,getGlobalIDFromUserMetadataID:()=>qT,getGlobalUserParams:()=>fn,getLiteLLMKeyID:()=>oS,getOAuth2ConfigParams:()=>hS,getPluginParams:()=>mS,getPouch:()=>Tf,getPouchDB:()=>it,getProdWorkpaceIDs:()=>fv,getProdWorkspaceID:()=>He,getProjectParams:()=>yS,getQueryIndex:()=>dS,getRoleParams:()=>yu,getRowParams:()=>jf,getStartEndKeyURL:()=>qs,getTemplateParams:()=>pS,getUrlInfo:()=>Ef,getUserMetadataParams:()=>fS,getUsersByWorkspaceParams:()=>ui,getWorkspaceAppParams:()=>gS,getWorkspaceFavouriteParams:()=>ES,getWorkspacesByIDs:()=>dv,init:()=>Xa,isDevWorkspace:()=>Bs,isDevWorkspaceID:()=>Nt,isDocumentConflictError:()=>_v,isGlobalUserID:()=>$T,isKnowledgeBaseFileID:()=>iS,isProdWorkspaceID:()=>Cx,isSameWorkspaceID:()=>mv,isType:()=>TS,paginatedSearch:()=>Tv,pagination:()=>Yf,parseCouchConnection:()=>za,prefixRoleID:()=>jt,queryGlobalView:()=>Ht,queryGlobalViewRaw:()=>Hs,queryPlatformView:()=>js,queryView:()=>Jf,queryViewRaw:()=>Qs,removeKeyNumbering:()=>Ys,searchIndexes:()=>Zf});var Vs={};P(Vs,{WorkspaceState:()=>Vf,getWorkspaceMetadata:()=>gu,invalidateWorkspaceMetadata:()=>uv});var _r={};P(_r,{getCacheClient:()=>Wf,getDocWritethroughClient:()=>iv,getInviteListClient:()=>Gs,getLockClient:()=>$f,getOpenapiImportSpecsClient:()=>rv,getPasswordResetClient:()=>$s,getSessionClient:()=>Ar,getSocketClient:()=>nv,getUserClient:()=>oi,getWorkspaceClient:()=>hu,getWritethroughClient:()=>Gf,init:()=>st,shutdown:()=>FT});var su=W(require("ioredis"));var iu=require("dd-trace"),kT=require("lodash");var UT;if(E.MOCK_REDIS)try{UT=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function Zx(t=0){return await iu.tracer.trace("Redis.init",async e=>{if(E.MOCK_REDIS)return e.addTags({mock:!0}),new UT(un());let r;if(E.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=Ha();r=new su.Cluster([{host:n,port:i}],uf())}else r=new su.default(un());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(Zx,"init");function ev(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let u=await e.get(a);return u&&(u=JSON.parse(u)),{key:cf(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(ev,"promisifyStream");function tv(t){return t.isCluster}s(tv,"isCluster");var Bf=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await iu.tracer.trace("RedisWrapper.init",async n=>{let i=await Zx(r);return r&&!E.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return iu.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Zn}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${Zn}${e}`;let n;tv(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await ev(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,kT.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e}),await this.client.eval(`
|
|
5
|
+
`),n={variables:{},expressions:[],errors:{}},i=0,o=r.length;i<o;i++){var a=r[i],u=null,c=a.trim();if(c.length>0){if(c.match(/^#/))continue;if(u=c.match(/^(.*)=(.*)$/))n.variables[u[1]]=u[2];else{var l=null;try{l=gr._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");gr.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,gr.parseString(i.toString()))})},"parseFile");$y.exports=gr});var hF={};P(hF,{APIWarning:()=>Cn,ActiveContentFileError:()=>Ku,AutomationViewMode:()=>Ga,BUDIBASE_DATASOURCE_TYPE:()=>zd,BadRequestError:()=>Eo,BudibaseError:()=>go,Config:()=>rf,Cookie:()=>yr,DEFAULT_BB_DATASOURCE_ID:()=>Pn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DEFAULT_TENANT_ID:()=>ce,DeprecatedViews:()=>Jn,DesignDocuments:()=>vs,DocumentType:()=>ae,Duration:()=>me,EmailUnavailableError:()=>er,Endpoint:()=>Gc,EndpointGroup:()=>Dn,EndpointGroupList:()=>Go,FeatureDisabledError:()=>Hu,FeatureDisabledWarning:()=>bc,ForbiddenError:()=>Qu,GlobalRole:()=>tf,HTTPError:()=>Be,Header:()=>Pe,InternalTable:()=>It,InvalidAPIKeyWarning:()=>bi,MAX_VALID_DATE:()=>qa,MIN_VALID_DATE:()=>lT,NotFoundError:()=>qu,NotImplementedError:()=>ju,RedisClient:()=>Re,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>xt,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>pe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>xs,UnexpectedError:()=>Vu,UsageLimitError:()=>Yu,UsageLimitWarning:()=>Dc,UserStatus:()=>Va,ViewName:()=>Kt,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>nt,WORKSPACE_PREFIX:()=>rt,accounts:()=>On,auth:()=>zm,blacklist:()=>pp,cache:()=>Di,configs:()=>tr,constants:()=>nf,context:()=>le,csv:()=>dh,db:()=>Ir,docIds:()=>Hf,docUpdates:()=>th,encryption:()=>Gm,env:()=>E,errors:()=>Ju,events:()=>wn,features:()=>km,getErrorMessage:()=>VA,getPublicError:()=>zu,init:()=>mF,installation:()=>rc,locks:()=>xr,logging:()=>uo,middleware:()=>Ym,objectStore:()=>bp,permissions:()=>Pm,platform:()=>ho,plugins:()=>Xm,queue:()=>Up,redis:()=>Zm,roles:()=>Nm,security:()=>Hp,sessions:()=>Xu,setEnv:()=>Ps,sql:()=>lh,tenancy:()=>pF,timers:()=>Du,userUtils:()=>cm,users:()=>Ii,utils:()=>di,warnings:()=>$m,withEnv:()=>hT});module.exports=VO(hF);var tr={};P(tr,{analyticsEnabled:()=>Zu,generateConfigID:()=>Lo,getConfig:()=>Ge,getDefaultGoogleConfig:()=>Tm,getGoogleConfig:()=>mc,getGoogleDatasourceConfig:()=>Am,getOIDCConfig:()=>yk,getOIDCConfigById:()=>_m,getOIDCLogosDoc:()=>gk,getPlatformUrl:()=>Uo,getRecaptchaConfig:()=>Ak,getSCIMConfig:()=>Sk,getSMTPConfig:()=>Tk,getSMTPConfigDoc:()=>M_,getSettingsConfig:()=>Sm,getSettingsConfigDoc:()=>wi,getTranslationsConfig:()=>mk,getTranslationsConfigDoc:()=>k_,save:()=>pk});var qO=["user:created","user:updated","user:deleted","user:admin:assigned","user:admin:removed","user:builder:assigned","user:builder:removed","user_group:created","user_group:updated","user_group:deleted","user_group:user_added","user_group:users_deleted","user_group:permissions_edited"],KO=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],mh=[...qO,...KO],hh={"user:created":'User "{{ email }}" created{{#if viaScim}} via SCIM{{/if}}',"user:updated":'User "{{ email }}" updated{{#if viaScim}} via SCIM{{/if}}',"user:deleted":'User "{{ email }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user:admin:assigned":'User "{{ email }}" admin role assigned',"user:admin:removed":'User "{{ email }}" admin role removed',"user:builder:assigned":'User "{{ email }}" builder role assigned',"user:builder:removed":'User "{{ email }}" builder role removed',"user:invited":'User "{{ email }}" invited',"user:invite:accepted":'User "{{ email }}" accepted invite',"user:password:updated":'User "{{ email }}" password updated',"user:password:reset:requested":'User "{{ email }}" password reset requested',"user:password:reset":'User "{{ email }}" password reset',"user_group:created":'User group "{{ name }}" created{{#if viaScim}} via SCIM{{/if}}',"user_group:updated":'User group "{{ name }}" updated{{#if viaScim}} via SCIM{{/if}}',"user_group:deleted":'User group "{{ name }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user_group:user_added":'User group "{{ name }}" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}',"user_group:users_deleted":'User group "{{ name }}" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}',"user_group:permissions_edited":'User group "{{ name }}" permissions edited',"user:password:force:reset":void 0,"user_group:onboarding_added":void 0,"user:onboarding:complete":void 0,"user:data:collaboration":void 0,"email:smtp:created":"Email configuration created","email:smtp:updated":"Email configuration updated","ai:config:created":'AI configuration "{{ name }}" created',"ai:config:updated":'AI configuration "{{ name }}" updated',"ai:config:deleted":'AI configuration "{{ name }}" deleted',"ai:agent:created":'AI agent "{{ name }}" created',"ai:agent:updated":'AI agent "{{ name }}" updated',"ai:agent:deleted":'AI agent "{{ name }}" deleted',"rag:file:uploaded":void 0,"rag:file:deleted":void 0,"rag:file:sharepoint:connected":void 0,"rag:file:sharepoint:disconnected":void 0,"rag:file:sharepoint:sync":void 0,"rag:file:processed":void 0,"auth:sso:created":"SSO configuration created","auth:sso:updated":"SSO configuration updated","auth:sso:activated":"SSO configuration activated","auth:sso:deactivated":"SSO configuration deactivated","auth:login":'User "{{ email }}" logged in',"auth:logout":'User "{{ email }}" logged out',"org:info:name:updated":"Organisation name updated","org:info:logo:updated":"Organisation logo updated","org:platformurl:updated":"Organisation platform URL updated","app:created":'App "{{ name }}" created',"app:updated":'App "{{ name }}" updated',"app:deleted":'App "{{ name }}" deleted',"app:duplicated":'App "{{ name }}" duplicated',"app:published":'App "{{ name }}" published',"app:unpublished":'App "{{ name }}" unpublished',"app:template:imported":'App "{{ name }}" template imported',"app:file:imported":'App "{{ name }}" file imported',"app:version:updated":'App "{{ name }}" version updated',"app:version:reverted":'App "{{ name }}" version reverted',"app:reverted":'App "{{ name }}" reverted',"app:exported":'App "{{ name }}" exported',"app:backup:restored":'App backup "{{ name }}" restored',"app:backup:triggered":'App backup "{{ name }}" triggered',"datasource:created":"Datasource created","datasource:updated":"Datasource updated","datasource:deleted":"Datasource deleted","query:created":"Query created","query:updated":"Query updated","query:deleted":"Query deleted","query:import":"Query import","queries:run":void 0,"query:previewed":void 0,"table:created":'Table "{{ name }}" created',"table:updated":'Table "{{ name }}" updated',"table:deleted":'Table "{{ name }}" deleted',"table:exported":'Table "{{ name }}" exported',"table:imported":'Table "{{ name }}" imported',"table:data:imported":"Data imported to table","rows:created":"Rows created","rows:imported":"Rows imported","automation:created":'Automation "{{ name }}" created',"automation:deleted":'Automation "{{ name }}" deleted',"automation:step:created":'Automation "{{ name }}" step added',"automation:step:deleted":'Automation "{{ name }}" step removed',"automation:tested":void 0,"automations:run":void 0,"automation:trigger:updated":void 0,"screen:created":'Screen "{{ name }}" created',"screen:deleted":'Screen "{{ name }}" deleted',"component:created":"Component created","component:deleted":"Component deleted","environment_variable:created":"Environment variable created","environment_variable:deleted":"Environment variable deleted","environment_variable:upgrade_panel_opened":void 0,"plugin:imported":"Plugin imported","plugin:deleted":"Plugin deleted","plugin:init":void 0,"action:automation_step:executed":void 0,"action:automation_step:failed":void 0,"action:crud:executed":void 0,"action:crud:failed":void 0,"action:ai_agent:executed":void 0,"action:ai_agent:failed":void 0,"role:created":void 0,"role:updated":void 0,"role:deleted":void 0,"role:assigned":void 0,"role:unassigned":void 0,"license:plan:changed":void 0,"license:activated":void 0,"license:payment:failed":void 0,"license:payment:recovered":void 0,"license:checkout:opened":void 0,"license:checkout:success":void 0,"license:portal:opened":void 0,"account:created":void 0,"account:deleted":void 0,"account:verified":void 0,"app:backfill:succeeded":void 0,"app:backfill:failed":void 0,"tenant:backfill:succeeded":void 0,"tenant:backfill:failed":void 0,"installation:backfill:succeeded":void 0,"installation:backfill:failed":void 0,"layout:created":void 0,"layout:deleted":void 0,"view:created":void 0,"view:updated":void 0,"view:deleted":void 0,"view:exported":void 0,"view:filter:created":void 0,"view:filter:updated":void 0,"view:filter:deleted":void 0,"view:calculation:created":void 0,"view:calculation:updated":void 0,"view:calculation:deleted":void 0,"view:join:created":void 0,"served:builder":void 0,"served:app":void 0,"served:app:preview":void 0,"analytics:opt:out":void 0,"analytics:opt:in":void 0,"installation:version:checked":void 0,"installation:version:upgraded":void 0,"installation:version:downgraded":void 0,"installation:firstStartup":void 0,"audit_log:filtered":void 0,"audit_log:downloaded":void 0,"row_action:created":void 0,"workspace_app:created":void 0,"workspace_app:deleted":void 0,"workspace_app:updated":void 0,"resource:copied_to_workspace":"{{ resource.type }} copied to workspace"};var $c=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))($c||{}),Vc=(m=>(m.STRING="string",m.CODE="code",m.LONGFORM="longForm",m.SENSITIVE_LONGFORM="sensitiveLongForm",m.BOOLEAN="boolean",m.NUMBER="number",m.PASSWORD="password",m.LIST="list",m.OBJECT="object",m.JSON="json",m.FILE="file",m.FIELD_GROUP="fieldGroup",m.SELECT="select",m))(Vc||{}),Vo=(T=>(T.AIRTABLE="AIRTABLE",T.ARANGODB="ARANGODB",T.BUDIBASE="BUDIBASE",T.COUCHDB="COUCHDB",T.DYNAMODB="DYNAMODB",T.ELASTICSEARCH="ELASTICSEARCH",T.FIRESTORE="FIRESTORE",T.GOOGLE_SHEETS="GOOGLE_SHEETS",T.MONGODB="MONGODB",T.MYSQL="MYSQL",T.ORACLE="ORACLE",T.POSTGRES="POSTGRES",T.REDIS="REDIS",T.REST="REST",T.S3="S3",T.SNOWFLAKE="SNOWFLAKE",T.SQL_SERVER="SQL_SERVER",T))(Vo||{});var qc=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(qc||{});var QO=W(require("lodash/isPlainObject"));var Vr=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Vr||{}),cr=(o=>(o.CONTAINS="contains",o.NOT_CONTAINS="notContains",o.CONTAINS_ANY="containsAny",o.ONE_OF="oneOf",o.NOT_ONE_OF="notOneOf",o))(cr||{}),xn=(e=>(e.RANGE="range",e))(xn||{}),Li=(r=>(r.AND="$and",r.OR="$or",r))(Li||{});function qo(t){return Object.values(Li).includes(t)}s(qo,"isLogicalSearchOperator");function gh(t){return Object.values(Vr).includes(t)}s(gh,"isBasicSearchOperator");function Eh(t){return Object.values(cr).includes(t)}s(Eh,"isArraySearchOperator");function Ko(t){return Object.values(xn).includes(t)}s(Ko,"isRangeSearchOperator");var yh=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var Ui=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(Ui||{});var ki=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(ki||{});var Qo=(f=>(f.WORKSPACE="app",f.TABLE="table",f.USER="user",f.AUTOMATION="automation",f.WEBHOOK="webhook",f.BUILDER="builder",f.CREATOR="creator",f.GLOBAL_BUILDER="globalBuilder",f.QUERY="query",f.VIEW="view",f.LEGACY_VIEW="legacy_view",f))(Qo||{});var jo=s(t=>t.hosting==="cloud","isCloudAccount");var Ho=s(t=>t.authType==="sso","isSSOAccount");var D="_",Ne="\uFFF0",Ot=s(t=>`${t}_`,"prefixed"),ae=($=>($.USER="us",$.GROUP="gr",$.CONFIG="config",$.TEMPLATE="template",$.WORKSPACE="app",$.DEV="dev",$.WORKSPACE_DEV="app_dev",$.WORKSPACE_METADATA="app_metadata",$.ROLE="role",$.DEV_INFO="devinfo",$.AUTOMATION_LOG="log_au",$.ACCOUNT_METADATA="acc_metadata",$.PLUGIN="plg",$.DATASOURCE="datasource",$.DATASOURCE_PLUS="datasource_plus",$.WORKSPACE_BACKUP="backup",$.TABLE="ta",$.ROW="ro",$.AUTOMATION="au",$.LINK="li",$.WEBHOOK="wh",$.INSTANCE="inst",$.LAYOUT="layout",$.SCREEN="screen",$.QUERY="query",$.DEPLOYMENTS="deployments",$.METADATA="metadata",$.MEM_VIEW="view",$.USER_FLAG="flag",$.AUTOMATION_METADATA="meta_au",$.AUDIT_LOG="al",$.SCIM_LOG="scimlog",$.ROW_ACTIONS="ra",$.OAUTH2_CONFIG="oauth2",$.OAUTH2_CONFIG_LOG="oauth2log",$.AGENT="agent",$.CHAT_APP="chatapp",$.CHAT_CONVERSATION="chatconvo",$.CHAT_IDENTITY_LINK="chatidentitylink",$.AGENT_TOOL_SOURCE="agenttoolsource",$.AGENT_FILE="agentfile",$.AGENT_LOG_SESSION="agentlogsession",$.AGENT_LOG_REQUEST="agentlogrequest",$.AGENT_REQUEST="agentrequest",$.AGENT_TEST_SUITE="agenttestsuite",$.AGENT_TEST_RUN="agenttestrun",$.AGENT_KNOWLEDGE_SOURCE_SYNC_STATE="agentknowledgesync",$.AGENT_KNOWLEDGE_SOURCE_CONNECTION="agentknowledgeconn",$.KNOWLEDGE_BASE_FILE="knowledgebasefile",$.AI_CONFIG="aiconfig",$.LITELLM_KEY="litellmkey",$.KNOWLEDGE_BASE="knowledgebase",$.WORKSPACE_APP="workspace_app",$.WORKSPACE_FAVOURITE="workspace_favourite",$.PROJECT="project",$.AUTO_COLUMN_STATE="autocolumn_state",$.ESCALATION_CONTEXT="escalation_context",$.ESCALATION_NOTIFICATION="escalation_notification",$))(ae||{});var It=(e=>(e.USER_METADATA="ta_users",e))(It||{});function vn(t){return!!t.providerType}s(vn,"isSSOUser");var Kc=(f=>(f.OBJECT="object",f.STRING="string",f.BOOLEAN="boolean",f.NUMBER="number",f.ARRAY="array",f.JSON="json",f.DATE="date",f.DATETIME="datetime",f.ATTACHMENT="attachment",f.LONGFORM="longform",f.JS="javascript",f))(Kc||{}),Qc=(C=>(C.TABLE="table",C.ROW="row",C.ROWS="rows",C.WIDE="wide",C.QUERY="query",C.QUERY_PARAMS="queryParams",C.QUERY_LIMIT="queryLimit",C.LOOP_OPTION="loopOption",C.ITEM="item",C.CODE="code",C.FILTERS="filters",C.COLUMN="column",C.TRIGGER_SCHEMA="triggerSchema",C.CRON="cron",C.WEBHOOK_URL="webhookUrl",C.AUTOMATION="automation",C.AUTOMATION_FIELDS="automationFields",C.MULTI_ATTACHMENTS="multi_attachments",C.TRIGGER_FILTER="trigger_filter",C.CATEGORIES="categories",C.AGENT="agent",C.OUTPUT_SCHEMA="outputSchema",C))(Qc||{}),jc=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c.EMAIL="EMAIL",c))(jc||{});var Hc=(B=>(B.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",B.CREATE_ROW="CREATE_ROW",B.GET_ROW="GET_ROW",B.UPDATE_ROW="UPDATE_ROW",B.DELETE_ROW="DELETE_ROW",B.QUERY_ROWS="QUERY_ROWS",B.EXECUTE_BASH="EXECUTE_BASH",B.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",B.EXECUTE_SCRIPT="EXECUTE_SCRIPT",B.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",B.EXECUTE_QUERY="EXECUTE_QUERY",B.SERVER_LOG="SERVER_LOG",B.DELAY="DELAY",B.FILTER="FILTER",B.API_REQUEST="API_REQUEST",B.LOOP="LOOP",B.COLLECT="COLLECT",B.OPENAI="OPENAI",B.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",B.BRANCH="BRANCH",B.CLASSIFY_CONTENT="CLASSIFY_CONTENT",B.PROMPT_LLM="PROMPT_LLM",B.TRANSLATE="TRANSLATE",B.SUMMARISE="SUMMARISE",B.GENERATE_TEXT="GENERATE_TEXT",B.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",B.EXTRACT_STATE="EXTRACT_STATE",B.LOOP_V2="LOOP_V2",B.AGENT="AGENT",B.ESCALATION="ESCALATION",B.discord="discord",B.slack="slack",B.zapier="zapier",B.integromat="integromat",B.n8n="n8n",B))(Hc||{}),Th=[...Object.values(Hc),...Object.values(jc)];function Sh(t){return t.stepId==="BRANCH"}s(Sh,"isBranchStep");var Yc="bb_internal";var Ah=["attachment_single","attachment","signature_single","bb_reference","json","array"];var nf={};P(nf,{AutomationViewMode:()=>Ga,BUDIBASE_DATASOURCE_TYPE:()=>zd,Config:()=>rf,Cookie:()=>yr,DEFAULT_BB_DATASOURCE_ID:()=>Pn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DEFAULT_TENANT_ID:()=>ce,DeprecatedViews:()=>Jn,DesignDocuments:()=>vs,DocumentType:()=>ae,GlobalRole:()=>tf,Header:()=>Pe,InternalTable:()=>It,MAX_VALID_DATE:()=>qa,MIN_VALID_DATE:()=>lT,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>xt,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>pe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>xs,UserStatus:()=>Va,ViewName:()=>Kt,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>nt,WORKSPACE_PREFIX:()=>rt});var Pe=(I=>(I.API_KEY="x-budibase-api-key",I.LICENSE_KEY="x-budibase-license-key",I.API_VER="x-budibase-api-version",I.WORKSPACE_ID="x-budibase-app-id",I.SESSION_ID="x-budibase-session-id",I.CLIENT="x-budibase-client",I.TYPE="x-budibase-type",I.PREVIEW_ROLE="x-budibase-role",I.TENANT_ID="x-budibase-tenant-id",I.VERIFICATION_CODE="x-budibase-verification-code",I.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",I.RESET_PASSWORD_CODE="x-budibase-reset-password-code",I.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",I.TOKEN="x-budibase-token",I.CSRF_TOKEN="x-csrf-token",I.CORRELATION_ID="x-budibase-correlation-id",I.AUTHORIZATION="authorization",I.MIGRATING_APP="x-budibase-migrating-app",I.SKIP_MIGRATING_WAIT="x-budibase-migrating-app-skip-wait",I.COOKIE="cookie",I))(Pe||{});var Nn={WORKSPACES:"/builder/apps",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},Mi={ACCOUNT:"/portal/account",BILLING:"/portal/billing",TENANTS:"/portal/tenants",UPGRADE:"/portal/upgrade"};var Le={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"},NotIn:{value:"notOneOf",label:"Is not in"},ContainsAny:{value:"containsAny",label:"Has any"}},_h={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var Pn="datasource_internal_bb_default";var Er={};P(Er,{ColumnSplitter:()=>kd,NoEmptyFilterStrings:()=>nT,buildQuery:()=>iT,cleanupQuery:()=>Bd,fixupFilterArrays:()=>Gd,getKeyNumbering:()=>Wd,getValidOperatorsForType:()=>Pb,hasFilters:()=>Md,limit:()=>aT,multiSort:()=>oT,recurseLogicalOperators:()=>Fd,removeKeyNumbering:()=>Yo,runQuery:()=>Ma,search:()=>kb,sort:()=>sT,splitFiltersArray:()=>zo});var zn=W(Oh());var wt={};P(wt,{filterValueToLabel:()=>XO,hasSchema:()=>ZO,isSupportedUserSearch:()=>Rh,nameToUrl:()=>iI,parallelForeach:()=>JO,processSearchFilters:()=>Xc,toMap:()=>tI,trimOtherProps:()=>eI,unreachable:()=>zO});var wh=W(require("lodash/pick"));var YO=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function zO(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(zO,"unreachable");async function JO(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let u=await(i?o.next():Promise.resolve(o.next()));for(;!u.done;)await e(u.value),u=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}s(JO,"parallelForeach");function XO(){return Object.keys(Le).reduce((t,e)=>{let n=Le[e];return t[n.value]=n.label,t},{})}s(XO,"filterValueToLabel");function ZO(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(ZO,"hasSchema");function eI(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(eI,"trimOtherProps");function Rh(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(qo(o)){for(let l of t[o].conditions)if(!Rh(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!e.find(l=>l.op===o&&u.length===1&&u[0]===l.key))return!1}return!0}s(Rh,"isSupportedUserSearch");function Xc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=zo(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,wh.default)(i,YO);return o.field=Yo(o.field),o})}]}}s(Xc,"processSearchFilters");function tI(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(tI,"toMap");var rI=s(t=>t?t.trim():null,"resolveWorkspaceName"),nI=s(t=>{let e,r=rI(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),iI=s(t=>{let e=nI(t);return sI(e)},"nameToUrl"),sI=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var ke={};P(ke,{accountPortalAccountUrl:()=>Rd,accountPortalBillingUrl:()=>Cd,accountPortalUpgradeUrl:()=>Dd,agentChatUrl:()=>Ld,appAgentUrl:()=>Ua,appChatUrl:()=>La,applyBaseUrl:()=>zy,builderAppsUrl:()=>Pd,builderSettingsAuthUrl:()=>vd,builderSettingsEmailUrl:()=>xd,builderSettingsPeopleUsersUrl:()=>Nd,builderWorkspacesUrl:()=>bd,cancelableTimeout:()=>Ch,cron:()=>bb,deepGet:()=>Zc,duplicateName:()=>Ob,escapeHtml:()=>lI,formatBytes:()=>Db,getNextPreviewDevice:()=>Sb,getPreviewDeviceIcon:()=>Ab,getPreviewModalDevice:()=>_b,getSequentialName:()=>Ib,getUserColor:()=>aI,getUserInitials:()=>oI,getUserLabel:()=>uI,isEnvironmentVariableKey:()=>eT,isGoogleSheets:()=>fI,isSQL:()=>pI,lists:()=>Id,normaliseSafeCssColor:()=>hI,normalizeForComparison:()=>dI,retry:()=>mI,roles:()=>Od,schema:()=>ws,structuredOutput:()=>Sd,urlHelpers:()=>Zy,views:()=>_d,wait:()=>el,withTimeout:()=>cI});var Zc=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),oI=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),aI=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),uI=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function Ch(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(Ch,"cancelableTimeout");async function cI(t,e){let[r,n]=Ch(t),i=await Promise.race([e(),r]);return n(),i}s(cI,"withTimeout");var lI=s(t=>t==null?"":String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),"escapeHtml"),dI=s(t=>t.toLowerCase().trim(),"normalizeForComparison");function fI(t){return t==="GOOGLE_SHEETS"}s(fI,"isGoogleSheets");function pI(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(pI,"isSQL");async function el(t){return new Promise(e=>setTimeout(e,t))}s(el,"wait");async function mI(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await el(o);try{return await t()}catch(a){n=a}}throw n}s(mI,"retry");var hI=s(t=>{if(t==null||t.trim()==="")return;let e=t.trim();if(e.includes(";")||/\burl\s*\(/i.test(e))throw new Error("Color is invalid.");return e},"normaliseSafeCssColor");var Ky=W(Rt()),Qy=W(Vy());var qy="(Input cron: ",nb={"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 ib(t,e){return new Intl.DateTimeFormat("en-GB",{weekday:"short",day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1,timeZone:e}).format(t)}s(ib,"formatExecutionDate");function sb(t){let e=[];for(let r of t){r.includes(qy)&&(r=r.split(qy)[0].trim());for(let[n,i]of Object.entries(nb))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(sb,"improveErrors");function jy(t,e=4,r){let n=Qy.default.parseExpression(t,r?{tz:r}:void 0),i=[];for(let o=0;o<e;o++)i.push(ib(n.next().toDate(),r));return i}s(jy,"getNextExecutionDates");function Hy(t){let e=(0,Ky.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:sb(e.getError())}}s(Hy,"validate");var ws={};P(ws,{decodeNonAscii:()=>Td,encodeNonAscii:()=>ub,isDeprecatedSingleUserColumn:()=>ob,isNumeric:()=>cb,isRequired:()=>ab});function ob(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(ob,"isDeprecatedSingleUserColumn");function ab(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(ab,"isRequired");function ub(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(ub,"encodeNonAscii");function Td(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(Td,"decodeNonAscii");function cb(t){return t.type==="number"||t.type==="bigint"}s(cb,"isNumeric");var Sd={};P(Sd,{normalizeSchemaForStructuredOutput:()=>lb});function lb(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],u={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let g=f;if(g.required===!0){a.push(d);let{required:m,...y}=g;u[d]=e(y)}else u[d]=e(g)}else u[d]=f;i.properties=u;let c=Array.isArray(i.required)?i.required:[],l=[...new Set([...c,...a])];l.length>0?i.required=l:i.required=Object.keys(u)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(lb,"normalizeSchemaForStructuredOutput");var _d={};P(_d,{basicFields:()=>hb,calculationFields:()=>mb,hasCalculationFields:()=>pb,isBasicViewField:()=>db,isCalculationField:()=>Rs,isCalculationView:()=>fb,isV2:()=>gb,isVisible:()=>Yy});var Ad=W(require("lodash/pickBy"));function Rs(t){return"calculationType"in t}s(Rs,"isCalculationField");function db(t){return!Rs(t)}s(db,"isBasicViewField");function fb(t){return t.type==="calculation"}s(fb,"isCalculationView");function pb(t){return Object.values(t.schema||{}).some(Rs)}s(pb,"hasCalculationFields");function mb(t){return(0,Ad.default)(t.schema||{},Rs)}s(mb,"calculationFields");function Yy(t){return t.visible!==!1}s(Yy,"isVisible");function hb(t,e){let{visible:r=!0}=e||{};return(0,Ad.default)(t.schema||{},n=>!Rs(n)&&(!r||Yy(n)))}s(hb,"basicFields");function gb(t){return t.version===2}s(gb,"isV2");var Od={};P(Od,{checkForRoleInheritanceLoops:()=>yb});function Eb(t){return`role${"_"}${t}`}s(Eb,"prefixForCheck");function yb(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=Eb(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let u=e.get(a)||e.get(o);if(!u)return n.delete(o),!1;let c=Array.isArray(u.inherits)?u.inherits:[u.inherits];for(let l of c)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(yb,"checkForRoleInheritanceLoops");var Id={};P(Id,{punctuateList:()=>Tb});function Tb(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(Tb,"punctuateList");var wd=["desktop","tablet","mobile"],Sb=s(t=>{let e=wd.indexOf(t||"desktop"),n=((e===-1?0:e)+1)%wd.length;return wd[n]},"getNextPreviewDevice"),Ab=s(t=>t==="mobile"?"device-mobile-camera":t==="tablet"?"device-tablet-camera":"monitor","getPreviewDeviceIcon"),_b=s(t=>t&&t!=="desktop"?t:null,"getPreviewModalDevice");var Ob=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(o.push(parseInt(c[1])),!0):!1}),o.sort((u,c)=>u-c);let a;if(o.length===0)a=1;else{for(let u=0;u<o.length;u++)if(o[u]!==u+1){a=u+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),Ib=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let u=0;return t.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>u&&(u=f)}),u===0?a:`${e}${i}${u+1}`},"getSequentialName");var wb=/{?{{([^{].*?)}}}?/g;function zy(t,e){if(!e)return t;let r=t.match(wb)??[],n=[],i=t;for(let l of r){let d=`:${l}`;i.includes(d)&&(n.push(l),i=i.replace(d,":0"))}let o=s(l=>`__hbs${l}__`,"placeholder"),a=r.filter(l=>!n.includes(l));i=a.reduce((l,d,f)=>l.replace(d,o(f)),i);let u=s(l=>a.reduce((d,f,g)=>d.replace(o(g),f),l),"restore"),c=e.replace(/\/$/,"");try{let l=new URL(i),d=l.pathname==="/"?"":l.pathname;return c+u(d+l.search+l.hash)}catch{let l=u(i);return l.startsWith("/")?c+l:c}}s(zy,"applyBaseUrl");var Jy=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),Rb=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),qt=s((t,e)=>{let r=Jy(e);if(!t)return r;let n=Rb(t);return r?`${n}${r}`:n},"joinBaseAndPath"),Cb=s(t=>t.replace(/\/+$/,""),"trimTrailingSlash"),Xy=s(t=>Cb(Jy(t)),"normalizeAppUrl"),Rd=s(t=>qt(t,Mi.ACCOUNT),"accountPortalAccountUrl"),Cd=s((t,e)=>{let r=typeof e=="string"||e==null?{tenantId:e}:e,n=qt(t,Mi.BILLING),i=new URLSearchParams;r?.tenantId&&i.set("tenantId",r.tenantId),r?.purchasePrepaidAiCredits&&i.set("purchasePrepaidAiCredits","1");let o=i.toString();return o?`${n}?${o}`:n},"accountPortalBillingUrl"),Dd=s((t,e)=>{if(e){let r=qt(t,Mi.TENANTS),n=encodeURIComponent(e);return`${r}?managePlansTenantId=${n}`}return qt(t,Mi.UPGRADE)},"accountPortalUpgradeUrl"),bd=s(t=>qt(t,Nn.WORKSPACES),"builderWorkspacesUrl"),xd=s(t=>qt(t,Nn.SETTINGS_EMAIL),"builderSettingsEmailUrl"),vd=s(t=>qt(t,Nn.SETTINGS_AUTH),"builderSettingsAuthUrl"),Nd=s(t=>qt(t,Nn.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),Pd=s(t=>qt(t,Nn.APPS),"builderAppsUrl"),La=s(t=>`/app-chat${Xy(t)}`,"appChatUrl"),Ua=s((t,e)=>`${Xy(t)}/agent/${encodeURIComponent(e)}`,"appAgentUrl"),Ld=s((t,e)=>La(Ua(t,e)),"agentChatUrl"),Zy={accountPortalAccountUrl:Rd,accountPortalBillingUrl:Cd,accountPortalUpgradeUrl:Dd,builderWorkspacesUrl:bd,builderSettingsEmailUrl:xd,builderSettingsAuthUrl:vd,builderSettingsPeopleUsersUrl:Nd,builderAppsUrl:Pd,appChatUrl:La,appAgentUrl:Ua,agentChatUrl:Ld};function Db(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(Db,"formatBytes");function eT(t){return/^{{\s*env\.([^\s]+)\s*}}$/.test(String(t))}s(eT,"isEnvironmentVariableKey");var bb={getNextExecutionDates:jy,validate:Hy};var ka=W(require("lodash/isPlainObject")),Ud=W(require("lodash/isEmpty"));var vb=/{{([^{].*?)}}/g,rT=Object.values(Li),Nb=[...Object.values(Vr),...Object.values(cr),...Object.values(xn)],Pb=s((t,e,r)=>{let n=Le,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In,n.NotIn],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],u=[],{type:c,formulaType:l,subtype:d}=t;c==="string"?d==="array"?u=a:u=i:c==="number"||c==="bigint"?u=o:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In,n.NotIn]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=o:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||ws.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In,n.NotIn]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In,n.NotIn]),u},"getValidOperatorsForType"),nT=[Le.StartsWith.value,Le.Like.value,Le.Equals.value,Le.NotEquals.value,Le.Contains.value,Le.NotContains.value,Le.ContainsAny.value,Le.In.value,Le.NotIn.value];function Fd(t,e){for(let r of rT)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(Fd,"recurseLogicalOperators");var Bd=s(t=>{for(let e of nT)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||Lb(o))&&delete t[e][i]}return t=Fd(t,Bd),t},"cleanupQuery");function Lb(t){return Array.isArray(t)&&t.length===0}s(Lb,"isEmptyArray");var Yo=s(t=>Wd(t).key,"removeKeyNumbering"),Wd=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),kd=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=Wd(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let u=`${a}.`;n.startsWith(u)&&(i=this.aliases[a],n=n.slice(u.length))}let o;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),o=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=Td(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Ub(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(vb)||[]).length>0;switch(i){case"datetime":if(!u&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a!="string"&&Ko(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"||r==="notOneOf"?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(Ko(r)){let l=_h[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if(gh(r)||Eh(r)||Ko(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s(Ub,"buildCondition");function zo(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(zo,"splitFiltersArray");function iT(t){if(!t)return{};if(Array.isArray(t)&&(t=Xc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=tT(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=iT(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=zo(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=tT(n.logicalOperator)),{[u]:{conditions:a.map(Ub).filter(c=>c)}}})},e}s(iT,"buildQuery");function tT(t){return t==="all"?"$and":"$or"}s(tT,"logicalOperatorFromUI");function Gd(t){if(!t)return t;for(let e of Object.values(cr)){let r=t[e];if(!(r==null||!(0,ka.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 Fd(t,Gd),t}s(Gd,"fixupFilterArrays");function kb(t,e){let r=Ma(t,e.query);typeof e.sort=="string"?r=sT(r,e.sort,e.sortOrder||"ascending",e.sortType):e.sort&&(r=oT(r,e.sort));let n=r.length;e.limit&&(r=aT(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(kb,"search");function Ma(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=Bd(e),e=Gd(e),!Md(e)&&e.onEmptyFilter==="none")return[];let r=s((R,w)=>b=>{for(let[G,ee]of Object.entries(e[R]||{})){let M=qo(R)?b:Zc(b,Yo(G)),U=w(M,ee);if(e.allOr&&U)return!0;if(!e.allOr&&!U)return!1}return!e.allOr},"match"),n=r("string",(R,w)=>typeof R!="string"||typeof w!="string"?!1:R.toLowerCase().startsWith(w.toLowerCase())),i=r("fuzzy",(R,w)=>typeof R!="string"||typeof w!="string"?!1:R.toLowerCase().includes(w.toLowerCase())),o=r("range",(R,w)=>{if(R==null||R===""||((0,ka.default)(w.low)&&(0,Ud.default)(w.low)&&(w.low=void 0),(0,ka.default)(w.high)&&(0,Ud.default)(w.high)&&(w.high=void 0),w.low==null&&w.high==null))return!1;let b=+R;if(!isNaN(b)){let ee=+w.low,M=+w.high;if(!isNaN(ee)&&!isNaN(M))return b>=ee&&b<=M;if(isNaN(ee)){if(!isNaN(M))return b<=M}else return b>=ee}let G=(0,zn.default)(R);if(G.isValid()){let ee=(0,zn.default)(w.low||"0000-00-00T00:00:00.000Z"),M=(0,zn.default)(w.high||"9999-00-00T00:00:00.000Z");if(ee.isValid()&&M.isValid())return G.isAfter(ee)&&G.isBefore(M)||G.isSame(ee)||G.isSame(M);if(ee.isValid())return G.isAfter(ee)||G.isSame(ee);if(M.isValid())return G.isBefore(M)||G.isSame(M)}return w.low!=null&&w.high!=null?R>=w.low&&R<=w.high:w.low!=null?R>=w.low:w.high!=null?R<=w.high:!1}),a=s((R,w)=>{if(Array.isArray(R)){for(let G of R)if(a(G,w))return!0;return!1}if(R&&typeof R=="object"&&typeof w=="string")return R._id===w;if(R===w)return!0;if(R==null&&w!=null||R!=null&&w==null)return!1;let b=(0,zn.default)(R);if(b.isValid()){let G=(0,zn.default)(w);if(G.isValid())return b.isSame(G)}return!1},"_valueMatches"),u=s(R=>(...w)=>!R(...w),"not"),c=r("equal",a),l=r("notEqual",u(a)),d=s(R=>typeof R=="string"?R==="":Array.isArray(R)?R.length===0:R&&typeof R=="object"?Object.keys(R).length===0:R==null,"_empty"),f=r("empty",d),g=r("notEmpty",u(d)),m=s((R,w)=>(typeof w=="string"&&(w=w.split(",")),typeof R=="number"&&(w=w.map(b=>parseFloat(b))),Array.isArray(w)?w.some(b=>a(R,b)):!1),"_oneOf"),y=r("oneOf",m),h=r("notOneOf",u(m)),p=s(R=>(w,b)=>!Array.isArray(w)||(typeof b=="string"&&(b=b.split(","),typeof w[0]=="number"&&(b=b.map(G=>parseFloat(G)))),!Array.isArray(b))?!1:b.length===0?!0:b[R](G=>a(w,G)),"_contains"),T=r("contains",(R,w)=>Array.isArray(w)&&w.length===0?!0:p("every")(R,w)),A=r("notContains",(R,w)=>Array.isArray(w)&&w.length===0?!0:u(p("every"))(R,w)),_=r("containsAny",p("some")),I=r("$and",(R,w)=>{if(!w.length)return!1;for(let b of w)if(!Ma([R],b).length)return!1;return!0}),O=r("$or",(R,w)=>{if(!w.length)return!1;for(let b of w)if(Ma([R],{...b,allOr:!0}).length)return!0;return!1}),C=s(R=>{let w={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:g,oneOf:y,notOneOf:h,contains:T,containsAny:_,notContains:A,$and:I,$or:O},b=Object.entries(e||{}).filter(([G,ee])=>!["allOr","onEmptyFilter"].includes(G)&&ee&&Object.keys(ee).length>0).map(([G])=>w[G]?.(R)??!1);return Md(e)?e.allOr?b.some(G=>G===!0):b.every(G=>G===!0):!0},"docMatch");return t.filter(C)}s(Ma,"runQuery");function sT(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let u=i(o[e]),c=i(a[e]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(sT,"sort");function oT(t,e){let r=Object.entries(e);if(!r.length)return t;let n=s((i,o)=>i==null?i:o==="number"?parseFloat(i):`${i}`,"parse");return t.slice().sort((i,o)=>{for(let[a,u]of r){let c=n(i[a],u.type),l=n(o[a],u.type);if(c===l)continue;let d;return c==null?d=-1:l==null||c>l?d=1:d=-1,u.direction==="descending"?d*-1:d}return 0})}s(oT,"multiSort");function aT(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(aT,"limit");var Md=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of rT)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of Nb){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let u=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||u}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var Me={};P(Me,{automations:()=>qd,screens:()=>Hd,users:()=>jd,workspaces:()=>Vd});var Vd={};P(Vd,{getDevWorkspaceID:()=>Mb,getProdWorkspaceID:()=>Ds});var $d=Ot("app"),Cs=Ot("app_dev");function Mb(t){if(!t)throw new Error("No workspace ID provided");if(t.startsWith(Cs))return t;let e=t.split($d);e.shift();let r=e.join($d);return`${Cs}${r}`}s(Mb,"getDevWorkspaceID");function Ds(t){if(!t)throw new Error("No workspace ID provided");if(!t.startsWith(Cs))return t;let e=t.split(Cs);e.shift();let r=e.join(Cs);return`${$d}${r}`}s(Ds,"getProdWorkspaceID");var qd={};P(qd,{checkForCollectStep:()=>Gb,isAppAction:()=>Wb,isRowAction:()=>Fb,isWebhookAction:()=>Bb});function Fb(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(Fb,"isRowAction");function Bb(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(Bb,"isWebhookAction");function Wb(t){return t.definition.trigger?.stepId==="APP"}s(Wb,"isAppAction");function uT(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(Sh(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(uT(r))return!0}}return!1}s(uT,"hasCollectBlockRecursive");function Gb(t){return uT(t.definition.steps)}s(Gb,"checkForCollectStep");var jd={};P(jd,{canCreateApps:()=>$b,containsUserID:()=>zb,getGlobalUserID:()=>Yb,getUserAppGroups:()=>Jb,hasAdminPermissions:()=>Qd,hasAppBuilderPermissions:()=>Ba,hasBuilderPermissions:()=>jb,hasCreatorPermissions:()=>Wa,isAdmin:()=>bs,isAdminOrBuilder:()=>qb,isAdminOrGlobalBuilder:()=>Kb,isAdminOrWorkspaceBuilder:()=>Vb,isBuilder:()=>Kd,isCreator:()=>Hb,isGlobalBuilder:()=>Fa,userAppAccessList:()=>Xb});function Kd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(Ds(e))):!1}s(Kd,"isBuilder");function Fa(t){return Kd(t)&&!Ba(t)||bs(t)}s(Fa,"isGlobalBuilder");function $b(t){return Fa(t)||Wa(t)}s($b,"canCreateApps");function bs(t){return t?Qd(t):!1}s(bs,"isAdmin");function Vb(t,e){return t?!!(bs(t)||e&&t.builder?.apps?.includes(Ds(e))):!1}s(Vb,"isAdminOrWorkspaceBuilder");function qb(t,e){return Kd(t,e)||bs(t)}s(qb,"isAdminOrBuilder");function Kb(t){return Fa(t)||bs(t)}s(Kb,"isAdminOrGlobalBuilder");function Ba(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(Ba,"hasAppBuilderPermissions");function Qb(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(Qb,"hasAppCreatorPermissions");function jb(t){return t?t.builder?.global||Ba(t)||Wa(t):!1}s(jb,"hasBuilderPermissions");function Qd(t){return t?!!t.admin?.global:!1}s(Qd,"hasAdminPermissions");function Wa(t){return t?!!t.builder?.creator:!1}s(Wa,"hasCreatorPermissions");function Hb(t){return t?Fa(t)||Qd(t)||Wa(t)||Ba(t)||Qb(t):!1}s(Hb,"isCreator");function Yb(t){if(typeof t!="string")return t;let e=`ro${"_"}ta_users${"_"}`;return t.startsWith(e)?t.split(e)[1]:t}s(Yb,"getGlobalUserID");function zb(t){return typeof t!="string"?!1:t.includes(`us${"_"}`)}s(zb,"containsUserID");function cT(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(cT,"getUserGroups");function Jb(t,e,r){let n=Ds(t);return cT(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Jb,"getUserAppGroups");function Xb(t,e){let n=cT(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(Xb,"userAppAccessList");var Hd={};P(Hd,{findInSettings:()=>Zb});function Zb(t,e){let r=[];function n(i,o=""){if(!(!i||typeof i!="object"))for(let[a,u]of Object.entries(i)){let c=o?`${o}.${a}`:a;u&&(typeof u=="string"&&u.includes(e)?r.push({setting:c,value:u}):typeof u=="object"&&n(u,c))}}return s(n,"recurse"),n(t.props),n(t.onLoad||[],"onLoad"),r}s(Zb,"findInSettings");var Ga=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(Ga||{}),Kt=(h=>(h.USER_BY_WORKSPACE="by_app",h.USER_BY_EMAIL="by_email2",h.BY_API_KEY="by_api_key",h.AGENT_REQUESTS_BY_AGENT="agent_requests_by_agent",h.AGENT_REQUESTS_BY_UPDATED_AT="agent_requests_by_updated_at_2",h.AGENT_REQUESTS_BY_STATUS_AND_UPDATED_AT="agent_requests_by_status_and_updated_at",h.LINK="by_link",h.ROUTING="screen_routes_2",h.PROJECT_MEMBERS="project_members",h.AUTOMATION_LOGS="automation_logs",h.ACCOUNT_BY_EMAIL="account_by_email",h.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",h.USER_BY_GROUP="user_by_group",h.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",h.WORKSPACE_BACKUP_BY_EXPIRY="workspace_backup_by_expiry",h))(Kt||{}),Jn={by_email2:["by_email"],agent_requests_by_updated_at_2:["agent_requests_by_updated_at"]},pe={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"}},rt=Ot("app"),$a=Ot("app_dev"),nt=$a,Yd="internal",zd="budibase",xt="_design/sqlite",Jd="ta_bb_jobs",Xd="ta_bb_inventory",Zd="ta_bb_expenses",ef="ta_bb_employee",xs=`ro${"_"}ta_users${"_"}`,vs=(r=>(r[r.SQLITE=xt]="SQLITE",r.MIGRATIONS="_design/migrations",r))(vs||{});var Va=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(Va||{}),yr=(u=>(u.Auth="budibase:auth",u.Init="budibase:init",u.ACCOUNT_RETURN_URL="budibase:account:returnurl",u.DatasourceAuth="budibase:datasourceauth",u.OIDC_CONFIG="budibase:oidc:config",u.FeatureFlags="budibase:featureflags",u.RecaptchaSession="budibase:recaptcha",u))(yr||{}),tf=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(tf||{}),rf=(c=>(c.SETTINGS="settings",c.ACCOUNT="account",c.SMTP="smtp",c.GOOGLE="google",c.OIDC="oidc",c.OIDC_LOGOS="logos_oidc",c.SCIM="scim",c.AI="AI",c))(rf||{}),lT=new Date(-2147483647e3),qa=new Date(2147483647e3),ce="default";var Di={};P(Di,{CacheKey:()=>Oe,TTL:()=>gi,bustCache:()=>Ei,destroy:()=>fo,docWritethrough:()=>Mp,generic:()=>Gu,get:()=>lo,increment:()=>NA,invite:()=>An,keys:()=>Wu,passwordReset:()=>Gp,store:()=>yn,user:()=>nr,withCache:()=>br,withCacheWithDynamicTTL:()=>vA,workspace:()=>Vs,writethrough:()=>ym});var Mp={};P(Mp,{DocWritethrough:()=>kp,DocWritethroughProcessor:()=>co,getProcessor:()=>sP,init:()=>xA});var Up={};P(Up,{BudibaseQueue:()=>yt,InMemoryQueue:()=>Cu,JobQueue:()=>fi,QueuedProcessor:()=>Lp,UnretriableError:()=>Fu,shutdown:()=>TN});var sf=require("crypto"),Qa=require("fs"),pT=require("lodash"),Ns=require("path");var ex=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,Ns.resolve)((0,Ns.join)(__dirname,"..","..","..")),dT=!1;!dT&&Ka()&&!of()&&(require("dotenv").config({path:(0,Ns.join)(ex,".env")}),dT=!0);function of(){return mT()}s(of,"isTest");function mT(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(mT,"isJest");function Ka(){return process.env.NODE_ENV!=="production"}s(Ka,"isDev");function tx(t){if(t)return parseInt(t)}s(tx,"parseIntSafe");var Xn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},fT=!!parseInt(process.env.SELF_HOSTED||"");function rx(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(rx,"getAPIEncryptionKey");function nx(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(nx,"httpLogging");function ix(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Qa.existsSync)(l))return l;let d=`${c}/..`;return d===c?null:n(u,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,Qa.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(Ka()&&!of())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(ix,"getPackageJsonFields");function sx(){return ht.SERVICE_TYPE==="worker"}s(sx,"isWorker");function ox(){return ht.SERVICE_TYPE==="apps"}s(ox,"isApps");function ax(){return ht.BUDIBASE_ENVIRONMENT==="QA"}s(ax,"isQA");function ux(){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(ux,"getServiceName");var ht={isTest:of,isJest:mT,isDev:Ka,isWorker:sx,isApps:ox,isQA:ax,isProd:s(()=>!Ka(),"isProd"),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,sf.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,sf.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:rx(),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,MICROSOFT_CLIENT_ID:process.env.MICROSOFT_CLIENT_ID,MICROSOFT_CLIENT_SECRET:process.env.MICROSOFT_CLIENT_SECRET,MICROSOFT_TENANT_ID:process.env.MICROSOFT_TENANT_ID,RAG_SHAREPOINT_DEFAULT_SCOPE:process.env.RAG_SHAREPOINT_DEFAULT_SCOPE||"offline_access User.Read https://graph.microsoft.com/Sites.Read.All",SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:fT,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,POSTHOG_FEATURE_FLAGS_POLLING_INTERVAL_MS:process.env.POSTHOG_FEATURE_FLAGS_POLLING_INTERVAL_MS,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||Xn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Xn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Xn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Xn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Xn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Xn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:ux(),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:nx(),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:fT?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,OIDC_ALLOW_UNVERIFIED_EMAIL_LINKING:process.env.OIDC_ALLOW_UNVERIFIED_EMAIL_LINKING,...ix(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,ht[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,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:tx(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC,OPENROUTER_BASE_URL:process.env.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1",COUCH_DB_SQS_PORT:process.env.COUCH_DB_SQS_PORT||"4984"};function Ps(t){let e=(0,pT.cloneDeep)(ht),r;for(r in t)ht._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))ht._set(n,i)}}s(Ps,"setEnv");function hT(t,e){let r=Ps(t);try{let n=e();return n instanceof Promise?n.finally(r):(r(),n)}catch(n){throw r(),n}}s(hT,"withEnv");var gT=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","MICROSOFT_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[t,e]of Object.entries(ht))e==="0"&&(ht[t]=0),e==="false"&&(ht[t]=0);var E=ht;var Ya={};P(Ya,{Databases:()=>af,SEPARATOR:()=>Zn,SelectableDatabase:()=>ja,getRedisClusterOptions:()=>uf,getRedisConnectionDetails:()=>Ha,getRedisOptions:()=>un,removeDbPrefix:()=>cf});var Zn="-",af=(_=>(_.PW_RESETS="pwReset",_.VERIFICATIONS="verification",_.INVITATIONS_LIST="invitationList",_.DEV_LOCKS="devLocks",_.DEBOUNCE="debounce",_.SESSIONS="session",_.USER_CACHE="users",_.FLAGS="flags",_.WORKSPACE_METADATA="appMetadata",_.QUERY_VARS="queryVars",_.LICENSES="license",_.GENERIC_CACHE="data_cache",_.WRITE_THROUGH="writeThrough",_.LOCKS="locks",_.SOCKET_IO="socket_io",_.BPM_EVENTS="bpmEvents",_.DOC_WRITE_THROUGH="docWriteThrough",_.RECAPTCHA_SESSION="recaptchaSession",_.OPENAPI_IMPORT_SPECS="openapiImportSpecs",_))(af||{}),ja=(p=>(p[p.DEFAULT=0]="DEFAULT",p[p.SOCKET_IO=1]="SOCKET_IO",p[p.RATE_LIMITING=2]="RATE_LIMITING",p[p.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",p[p.UNUSED_3=4]="UNUSED_3",p[p.UNUSED_4=5]="UNUSED_4",p[p.UNUSED_5=6]="UNUSED_5",p[p.UNUSED_6=7]="UNUSED_6",p[p.UNUSED_7=8]="UNUSED_7",p[p.UNUSED_8=9]="UNUSED_8",p[p.UNUSED_9=10]="UNUSED_9",p[p.UNUSED_10=11]="UNUSED_10",p[p.UNUSED_11=12]="UNUSED_11",p[p.UNUSED_12=13]="UNUSED_12",p[p.UNUSED_13=14]="UNUSED_13",p[p.UNUSED_14=15]="UNUSED_14",p))(ja||{});function Ha(){let t=E.REDIS_PASSWORD,e=E.REDIS_USERNAME,r=E.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(Ha,"getRedisConnectionDetails");function uf(){return{slotsRefreshTimeout:2e3,dnsLookup:s((t,e)=>e(null,t),"dnsLookup"),redisOptions:{...un()}}}s(uf,"getRedisClusterOptions");function un(){let{host:t,password:e,port:r,username:n}=Ha(),i=E.REDIS_URL.toLowerCase().startsWith("rediss://")?{}:void 0;return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n},...i&&{tls:i}}}s(un,"getRedisOptions");function cf(t){let e=t.split(Zn);return e.length>=2?(e.shift(),e.join(Zn)):e[0]}s(cf,"removeDbPrefix");var QS=W(require("events"));var di={};P(di,{Duration:()=>me,GZIP_PREFIX:()=>Iu,clearCookie:()=>Jt,compare:()=>ff,createPinnedLookup:()=>KS,fetchWithBlacklist:()=>li,getBearerToken:()=>jv,getCookie:()=>zt,getDispatcher:()=>$v,getSessionExpiryDate:()=>tp,getSessionExpirySeconds:()=>Su,getWorkspaceIdFromCtx:()=>pn,gunzipFromBase64:()=>Qv,gzipToBase64:()=>Kv,hasCircularStructure:()=>Lv,hash:()=>df,isAudited:()=>sp,isClient:()=>Pv,isPublicApiRequest:()=>xv,isServingApp:()=>Cv,isServingBuilder:()=>Dv,isServingBuilderPreview:()=>bv,isValidInternalAPIKey:()=>Xs,microsoftDatasourceCreationCacheKey:()=>cN,newid:()=>X,openJwt:()=>_u,setAuthCookie:()=>Nv,setCookie:()=>np,time:()=>kv,timeout:()=>ip,urlHasProtocol:()=>Uv,validEmail:()=>op});var ET=require("uuid");function X(){return(0,ET.v4)().replace(/-/g,"")}s(X,"newid");var lf=require("bcrypt"),cx=E.SALT_ROUNDS||10;async function df(t){let e=await lf.genSalt(cx);return lf.hash(t,e)}s(df,"hash");async function ff(t,e){return lf.compare(t,e)}s(ff,"compare");var Au=W(require("jsonwebtoken"));var le={};P(le,{DEFAULT_TENANT_ID:()=>ce,baseGlobalDBName:()=>Ws,doInAutomationContext:()=>Px,doInContext:()=>vf,doInEnvironmentContext:()=>qx,doInFeatureFlagOverrideContext:()=>Ff,doInIPContext:()=>Lf,doInIdentityContext:()=>Us,doInLicenseContext:()=>Ux,doInScimContext:()=>Kx,doInSelfHostTenantUsingCloud:()=>Lx,doInTenant:()=>be,doInWorkspaceContext:()=>Fx,doInWorkspaceMigrationContext:()=>Wx,ensureSnippetContext:()=>PT,getAuditLogDBName:()=>vT,getAuditLogsDB:()=>jx,getAutomationId:()=>Nf,getCurrentContext:()=>dn,getDevWorkspaceDB:()=>Yx,getDevWorkspaceId:()=>$x,getEnvironmentVariables:()=>Qx,getFeatureFlagOverrides:()=>Mf,getFeatureFlags:()=>Uf,getGlobalDB:()=>z,getGlobalDBName:()=>ln,getIP:()=>Pf,getIdentity:()=>Qt,getLicense:()=>kx,getOrThrowWorkspaceId:()=>Gx,getPlatformURL:()=>xf,getProdWorkspaceDB:()=>Hx,getProdWorkspaceId:()=>Vx,getScimDBName:()=>bx,getSelfHostCloudDB:()=>Mx,getTableForView:()=>zx,getTenantIDFromWorkspaceID:()=>ni,getTenantId:()=>V,getWorkspaceDB:()=>ii,getWorkspaceId:()=>Fe,identity:()=>Ls,isDevWorkspace:()=>LT,isMultiTenant:()=>Sr,isProdWorkspace:()=>Xx,isScim:()=>Et,isSelfHostUsingCloud:()=>nu,isTenancyEnabled:()=>vx,isTenantIdSet:()=>xx,setFeatureFlags:()=>kf,setTableForView:()=>Jx});var Ls={};P(Ls,{doInAccountContext:()=>lx,doInIdentityContext:()=>hf,doInUserContext:()=>gf,getAccountUserId:()=>yT,getIdentity:()=>mf});function mf(){return Qt()}s(mf,"getIdentity");function hf(t,e){return Us(t,e)}s(hf,"doInIdentityContext");function gf(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return hf(n,r)}s(gf,"doInUserContext");function lx(t,e){let r=yT(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return hf(i,e)}s(lx,"doInAccountContext");function yT(t){let e;return jo(t)?e=t.budibaseUserId:e=t.accountId,e}s(yT,"getAccountUserId");var vt=s(()=>za(E.COUCH_DB_URL,{user:E.COUCH_DB_USERNAME||"",password:E.COUCH_DB_PASSWORD||""}),"getCouchInfo"),za=s((t,e)=>{let r=Ef(t),n,i;if(r.auth?.username)n=r.auth.username;else if(e?.user)n=e?.user;else throw new Error("CouchDB username not set");if(r.auth?.password)i=r.auth.password;else if(e?.password)i=e?.password;else throw new Error("CouchDB password not set");let o=Buffer.from(`${n}:${i}`).toString("base64"),a=E.COUCH_DB_SQL_URL;if(!a&&r.url){let u=new URL(r.url);u.port=E.COUCH_DB_SQS_PORT,a=u.toString().replace(/\/$/,"")}return{url:r.url,sqlUrl:Ef(a).url,auth:{username:n,password:i},cookie:`Basic ${o}`}},"parseCouchConnection"),Ef=s((t=E.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),u=a[0],c=a.slice(1).join("://");if(t.includes("@")){let l=c.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=c;e=`${u}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var DT=W(require("@budibase/nano"));var TT=W(require("node-fetch"));function Ja(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(Ja,"checkSlashesInUrl");async function ST(t,e="GET",r){let{url:n,cookie:i}=vt(),o=`${n}/${t}`;return await ks({url:o,cookie:i,method:e,body:r})}s(ST,"directCouchCall");async function ks({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,TT.default)(Ja(encodeURI(t)),i)}s(ks,"directCouchUrlCall");async function yf(t,e="GET",r){let n=await ST(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(yf,"directCouchQuery");var cn=W(require("pouchdb"));var AT,_T=!1,Tf=s((t={})=>{let{url:e,cookie:r}=vt(),n={prefix:e,fetch:s((i,o)=>(o.headers.set("Authorization",r),cn.default.fetch(i,o)),"fetch")};if(t.inMemory){let i=require("pouchdb-adapter-memory");cn.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");cn.default.plugin(i.plugin),cn.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");cn.default.plugin(i)}return cn.default.defaults(n)},"getPouch");function Xa(t){AT=Tf(t),_T=!0}s(Xa,"init");var dx=s(()=>{if(!_T)throw new Error("init has not been called")},"checkInitialised");function it(t,e){dx();let r=new AT(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(it,"getPouchDB");async function Ms(t){if(!(!t||E.isTest()))try{return await t.close()}catch{}}s(Ms,"closePouchDB");var de=W(require("dd-trace"));var ei=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return de.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return de.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return de.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return de.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return de.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return de.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return de.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return de.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return de.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return de.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return de.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return de.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return de.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return de.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return de.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return de.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return de.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return de.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return de.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return de.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return de.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var Cf={};P(Cf,{breakExternalTableId:()=>_f,breakRowIdField:()=>Ix,buildExternalTableId:()=>yx,convertRowId:()=>Ox,encodeTableId:()=>Tx,encodeViewId:()=>Sx,extractDate:()=>If,generateRowIdField:()=>Ax,getNativeSql:()=>ti,isExternalTable:()=>Af,isExternalTableID:()=>Za,isInternalTableID:()=>Ex,isRowId:()=>_x,isValidFilter:()=>tu,isValidISODateString:()=>eu,isValidISODateStringWithoutTimezone:()=>Of,isValidTime:()=>wf,sqlLog:()=>Fs,validateManyToMany:()=>Rf});var Sf=`${"_"}${"_"}`,IT=/^\[.*]$/g,fx=encodeURIComponent(" "),px=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,mx=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,hx=/(\d{4}-\d{2}-\d{2})/,gx=/^\d{1,2}:\d{2}(?:\.\d{1,6}|:\d{2}(?:\.\d{1,6})?)?$/;function Za(t){return t.startsWith("datasource_")}s(Za,"isExternalTableID");function Ex(t){return!Za(t)}s(Ex,"isInternalTableID");function ti(t){let e=t.toSQL();if(Array.isArray(e))return e;let r;return e.toNative&&(r=e.toNative()),{sql:r?.sql||e.sql,bindings:r?.bindings||e.bindings}}s(ti,"getNativeSql");function Af(t){return t?.sourceId&&t.sourceId.includes("datasource_")&&t?.sourceId!==Pn||t?.sourceType==="external"?!0:!!(t?._id&&Za(t._id))}s(Af,"isExternalTable");function yx(t,e){return`${t}${Sf}${encodeURIComponent(e)}`}s(yx,"buildExternalTableId");function Tx(t){return Za(t)?encodeURIComponent(t):t}s(Tx,"encodeTableId");function Sx(t){return encodeURIComponent(t)}s(Sx,"encodeViewId");function _f(t){let e=t.split(Sf),r=e.shift(),n=e.join(Sf);if(n.includes(fx)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(_f,"breakExternalTableId");function Ax(t=[]){Array.isArray(t)||(t=[t]);for(let e in t)t[e]instanceof Buffer&&(t[e]=t[e].toString());return encodeURIComponent(JSON.stringify(t).replace(/"/g,"'"))}s(Ax,"generateRowIdField");function _x(t){return Array.isArray(t)||typeof t=="string"&&t.match(IT)!=null}s(_x,"isRowId");function Ox(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(IT)!=null?t.substring(1,t.length-1):t}s(Ox,"convertRowId");function Ix(t){if(!t)return[];let e=typeof t=="string"?t:t._id,r=decodeURIComponent(e).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[t]}}s(Ix,"breakRowIdField");function eu(t){let e=t.trim();if(!px.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(eu,"isValidISODateString");function Of(t){let e=t.trim();if(!mx.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(Of,"isValidISODateStringWithoutTimezone");function If(t){let e=t.match(hx);if(e)return e[0]}s(If,"extractDate");function tu(t){return t!=null&&t!==""}s(tu,"isValidFilter");function wf(t){return gx.test(t)}s(wf,"isValidTime");function Fs(t,e,r){if(!E.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(Fs,"sqlLog");function wx(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(wx,"isValidManyToManyRelationship");function Rf(t){if(wx(t))return t}s(Rf,"validateManyToMany");var wT="Database does not exist.";function RT(t){return(0,DT.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(RT,"buildNano");var Tr=class extends Error{static{s(this,"CouchDBError")}constructor(e,r){super(e);let n=r.status||r.statusCode||500;this.status=n,this.statusCode=n,this.reason=r.reason||"Unknown",this.name=r.name,this.errid=r.errid||"Unknown",this.description=r.description||"Unknown",this.error=r.error||"Not found"}};function Rx(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new ri(t,r,e);return new ei(n)}s(Rx,"DatabaseWithConnection");var ri=class t{constructor(e,r,n){this.couchInfo=vt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=za(n),this.instanceNano=RT(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=vt();t.nano=RT(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await ks({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new Tr(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===wT)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new Tr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new Tr(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(c=>n&&c.doc==null||c.value&&"deleted"in c.value&&c.value.deleted?!0:c.error==="not_found","rowUnavailable"),a=i.rows.filter(c=>!o(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(yh(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(u=>({...u,_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 Tr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=X()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===wT)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=Ja(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await ks(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new Tr("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw u}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${xt}`;return Fs("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(xt)){let e=await this.get(xt);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new Tr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return it(this.name).dump(e,r)}async load(e){return it(this.name).load(e)}async createIndex(e){return it(this.name).createIndex(e)}async deleteIndex(e){return it(this.name).deleteIndex(e)}async getIndexes(){return it(this.name).getIndexes()}};function De(t,e){return new ei(new ri(t,e))}s(De,"getDB");async function je(t,e,r){let n=De(t,r);return await e(n)}s(je,"doWithDB");async function Df(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await yf(e)}s(Df,"directCouchAllDbs");var bf="No app provided";function Nt(t){if(!t)throw bf;return t.startsWith(nt)}s(Nt,"isDevWorkspaceID");function Cx(t){if(!t)throw bf;return t.startsWith(rt)&&!Nt(t)}s(Cx,"isProdWorkspaceID");function Bs(t){if(!t)throw bf;return Nt(t.appId)}s(Bs,"isDevWorkspace");function ru(t){if(!t||t.startsWith(nt))return t;let e=t.split(rt);e.shift();let r=e.join(rt);return`${nt}${r}`}s(ru,"getDevWorkspaceID");function He(t){if(!t||!t.startsWith(nt))return t;let e=t.split(nt);e.shift();let r=e.join(nt);return`${rt}${r}`}s(He,"getProdWorkspaceID");var bT=require("async_hooks");var ge=class t{static{s(this,"Context")}static{this.storage=new bT.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var xT=null;function ln(t){return t||(t=V()),Ws(t)}s(ln,"getGlobalDBName");function vT(t){return t||(t=V()),t===ce?pe.AUDIT_LOGS.name:`${t}${"_"}${pe.AUDIT_LOGS.name}`}s(vT,"getAuditLogDBName");function bx(t){return t||(t=V()),t===ce?pe.SCIM_LOGS.name:`${t}${"_"}${pe.SCIM_LOGS.name}`}s(bx,"getScimDBName");function Ws(t){return!t||t===ce?pe.GLOBAL.name:`${t}${"_"}${pe.GLOBAL.name}`}s(Ws,"baseGlobalDBName");function xf(){return E.PLATFORM_URL}s(xf,"getPlatformURL");function Sr(){return!!E.MULTI_TENANCY}s(Sr,"isMultiTenant");function xx(){return!!ge.get()?.tenantId}s(xx,"isTenantIdSet");function vx(){return E.MULTI_TENANCY}s(vx,"isTenancyEnabled");function ni(t){if(!t)return;if(!Sr())return ce;let e=t.split("_"),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(ni,"getTenantIDFromWorkspaceID");function Nx(t){let e;try{e=ge.get()}catch{e={}}return e={...e,...t},e}s(Nx,"updateContext");async function gt(t,e){Bx();let r=Nx(t);return ge.run(r,e)}s(gt,"newContext");async function Px(t){return await PT(),await gt({tenantId:ni(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(Px,"doInAutomationContext");async function vf(t,e){let r=ni(t);return gt({tenantId:r,appId:t},e)}s(vf,"doInContext");async function be(t,e){return E.MULTI_TENANCY||(t=t||ce),gt(t?{tenantId:t}:{},e)}s(be,"doInTenant");async function Lx(t,e){return gt({tenantId:t,isSelfHostUsingCloud:!0},e)}s(Lx,"doInSelfHostTenantUsingCloud");async function Ux(t,e){return gt({license:t},e)}s(Ux,"doInLicenseContext");function kx(){return ge.get()?.license}s(kx,"getLicense");function nu(){return!!ge.get()?.isSelfHostUsingCloud}s(nu,"isSelfHostUsingCloud");function Mx(){let t=ge.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return De(pe.SELF_HOST_CLOUD.name)}s(Mx,"getSelfHostCloudDB");async function Fx(t,e){return NT(t,e)}s(Fx,"doInWorkspaceContext");async function NT(t,e,r){if(!t)throw new Error("workspaceId is required");let n=ni(t),i={appId:t,...r};return n&&(i.tenantId=n),gt(i,e)}s(NT,"_doInWorkspaceContext");async function Us(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),gt(r,e)}s(Us,"doInIdentityContext");function Bx(){if(ge.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(Bx,"guardMigration");async function Wx(t,e){return NT(t,e,{isMigrating:!0})}s(Wx,"doInWorkspaceMigrationContext");function Qt(){try{return ge.get()?.identity}catch{}}s(Qt,"getIdentity");function V(){if(!Sr())return ce;let e=ge.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(V,"getTenantId");function Nf(){return ge.get()?.automationId}s(Nf,"getAutomationId");function Fe(){let e=ge.get()?.appId;return!e&&E.isTest()&&xT?xT:e}s(Fe,"getWorkspaceId");function Gx(){let t=Fe();if(!t)throw new Error("Workspace id not set");return t}s(Gx,"getOrThrowWorkspaceId");function Pf(){return ge.get()?.ip}s(Pf,"getIP");var $x=s(()=>{let t=Fe();if(!t)throw new Error("Could not get workspaceId");return ru(t)},"getDevWorkspaceId"),Vx=s(()=>{let t=Fe();if(!t)throw new Error("Could not get workspaceId");return He(t)},"getProdWorkspaceId");function qx(t,e){if(!t)throw new Error("Must supply environment variables.");return gt({environmentVariables:t},e)}s(qx,"doInEnvironmentContext");function Kx(t){return gt({isScim:!0},t)}s(Kx,"doInScimContext");function Lf(t,e){return gt({ip:t},e)}s(Lf,"doInIPContext");async function PT(){let t=dn();if(!t||t.snippets)return;let e,r=ii();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(PT,"ensureSnippetContext");function Qx(){let t=ge.get();return t.environmentVariables?t.environmentVariables:null}s(Qx,"getEnvironmentVariables");function z(){let t=ge.get();if(!t||E.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return De(Ws(t?.tenantId))}s(z,"getGlobalDB");function jx(){if(!V())throw new Error("No tenant ID found - cannot open audit log DB");return De(vT())}s(jx,"getAuditLogsDB");function ii(t){let e=Fe();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(nu())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return De(e,t)}s(ii,"getWorkspaceDB");function Hx(t){let e=Fe();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return De(He(e),t)}s(Hx,"getProdWorkspaceDB");function Yx(t){let e=Fe();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return De(ru(e),t)}s(Yx,"getDevWorkspaceDB");function Et(){return!!ge.get()?.isScim}s(Et,"isScim");function dn(){try{return ge.get()}catch{return}}s(dn,"getCurrentContext");function Uf(t){let e=dn();if(e)return e.featureFlagCache?.[t]}s(Uf,"getFeatureFlags");function kf(t,e){let r=dn();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(kf,"setFeatureFlags");function Mf(){return dn()?.featureFlagOverrides||{}}s(Mf,"getFeatureFlagOverrides");async function Ff(t,e){return await gt({featureFlagOverrides:t},e)}s(Ff,"doInFeatureFlagOverrideContext");function zx(t){let e=dn();if(e)return e.viewToTableCache?.[t]}s(zx,"getTableForView");function Jx(t,e){let r=dn();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(Jx,"setTableForView");function LT(){let t=Fe();return Nt(t)}s(LT,"isDevWorkspace");function Xx(){return!LT()}s(Xx,"isProdWorkspace");var Ir={};P(Ir,{AutomationViewMode:()=>Ga,BUDIBASE_DATASOURCE_TYPE:()=>zd,DEFAULT_BB_DATASOURCE_ID:()=>Pn,DEFAULT_EMPLOYEE_TABLE_ID:()=>ef,DEFAULT_EXPENSES_TABLE_ID:()=>Zd,DEFAULT_INVENTORY_TABLE_ID:()=>Xd,DEFAULT_JOBS_TABLE_ID:()=>Jd,DatabaseImpl:()=>ri,DatabaseWithConnection:()=>Rx,DeprecatedViews:()=>Jn,DesignDocuments:()=>vs,DocumentType:()=>ae,InternalTable:()=>It,QueryBuilder:()=>Yt,Replication:()=>bS,SEPARATOR:()=>D,SQLITE_DESIGN_DOC_ID:()=>xt,SQS_DATASOURCE_INTERNAL:()=>Yd,StaticDatabases:()=>pe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>xs,ViewName:()=>Kt,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>nt,WORKSPACE_PREFIX:()=>rt,baseGlobalDBName:()=>Ws,checkErrorCode:()=>PS,closePouchDB:()=>Ms,createApiKeyView:()=>OS,createNewUserEmailView:()=>AS,createPlatformAccountEmailView:()=>wS,createPlatformUserView:()=>RS,createUserAppView:()=>_S,createView:()=>ci,dbExists:()=>hv,directCouchAllDbs:()=>Df,directCouchCall:()=>ST,directCouchQuery:()=>yf,directCouchUrlCall:()=>ks,doWithDB:()=>je,fullSearch:()=>Sv,generateAIConfigID:()=>sS,generateAgentID:()=>YT,generateAgentKnowledgeSourceConnectionID:()=>rS,generateAgentKnowledgeSourceSyncStateID:()=>tS,generateAgentRequestID:()=>XT,generateAgentToolSourceID:()=>eS,generateAppUserID:()=>Eu,generateChatAppID:()=>zT,generateChatConversationID:()=>JT,generateDevInfoID:()=>QT,generateGlobalUserID:()=>ai,generateKnowledgeBaseFileID:()=>nS,generateKnowledgeBaseID:()=>lS,generateOAuth2LogID:()=>HT,generatePluginID:()=>jT,generateProjectID:()=>cS,generateRoleID:()=>Kf,generateRowID:()=>qf,generateTableID:()=>GT,generateTemplateID:()=>KT,generateUserMetadataID:()=>VT,generateWorkspaceAppID:()=>aS,generateWorkspaceFavouriteID:()=>uS,generateWorkspaceID:()=>WT,getAgentTestRunID:()=>ZT,getAgentTestSuiteID:()=>Qf,getAllDbs:()=>SS,getAllWorkspaces:()=>Ks,getCouchInfo:()=>vt,getDB:()=>De,getDevWorkspaceID:()=>ru,getDevWorkspaceIDs:()=>pv,getDocParams:()=>Pt,getGlobalDBName:()=>ln,getGlobalIDFromUserMetadataID:()=>qT,getGlobalUserParams:()=>fn,getLiteLLMKeyID:()=>oS,getOAuth2ConfigParams:()=>hS,getPluginParams:()=>mS,getPouch:()=>Tf,getPouchDB:()=>it,getProdWorkpaceIDs:()=>fv,getProdWorkspaceID:()=>He,getProjectParams:()=>yS,getQueryIndex:()=>dS,getRoleParams:()=>yu,getRowParams:()=>jf,getStartEndKeyURL:()=>qs,getTemplateParams:()=>pS,getUrlInfo:()=>Ef,getUserMetadataParams:()=>fS,getUsersByWorkspaceParams:()=>ui,getWorkspaceAppParams:()=>gS,getWorkspaceFavouriteParams:()=>ES,getWorkspacesByIDs:()=>dv,init:()=>Xa,isDevWorkspace:()=>Bs,isDevWorkspaceID:()=>Nt,isDocumentConflictError:()=>_v,isGlobalUserID:()=>$T,isKnowledgeBaseFileID:()=>iS,isProdWorkspaceID:()=>Cx,isSameWorkspaceID:()=>mv,isType:()=>TS,paginatedSearch:()=>Tv,pagination:()=>Yf,parseCouchConnection:()=>za,prefixRoleID:()=>jt,queryGlobalView:()=>Ht,queryGlobalViewRaw:()=>Hs,queryPlatformView:()=>js,queryView:()=>Jf,queryViewRaw:()=>Qs,removeKeyNumbering:()=>Ys,searchIndexes:()=>Zf});var Vs={};P(Vs,{WorkspaceState:()=>Vf,getWorkspaceMetadata:()=>gu,invalidateWorkspaceMetadata:()=>uv});var _r={};P(_r,{getCacheClient:()=>Wf,getDocWritethroughClient:()=>iv,getInviteListClient:()=>Gs,getLockClient:()=>$f,getOpenapiImportSpecsClient:()=>rv,getPasswordResetClient:()=>$s,getSessionClient:()=>Ar,getSocketClient:()=>nv,getUserClient:()=>oi,getWorkspaceClient:()=>hu,getWritethroughClient:()=>Gf,init:()=>st,shutdown:()=>FT});var su=W(require("ioredis"));var iu=require("dd-trace"),kT=require("lodash");var UT;if(E.MOCK_REDIS)try{UT=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function Zx(t=0){return await iu.tracer.trace("Redis.init",async e=>{if(E.MOCK_REDIS)return e.addTags({mock:!0}),new UT(un());let r;if(E.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=Ha();r=new su.Cluster([{host:n,port:i}],uf())}else r=new su.default(un());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(Zx,"init");function ev(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let u=await e.get(a);return u&&(u=JSON.parse(u)),{key:cf(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(ev,"promisifyStream");function tv(t){return t.isCluster}s(tv,"isCluster");var Bf=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await iu.tracer.trace("RedisWrapper.init",async n=>{let i=await Zx(r);return r&&!E.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return iu.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Zn}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${Zn}${e}`;let n;tv(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await ev(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,kT.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e}),await this.client.eval(`
|
|
6
6
|
if redis.call('GET', KEYS[1]) == ARGV[1] then
|
|
7
7
|
redis.call('DEL', KEYS[1])
|
|
8
8
|
end
|