@budibase/server 3.27.1 → 3.27.2

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.
@@ -430,7 +430,7 @@ $1`)};hv.parseAttributes=o(function(t){return Object.keys(t).map(function(r){var
430
430
 
431
431
  Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus.
432
432
 
433
- Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Pellentesque in ipsum id orci porta dapibus. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.`;xqe.exports=HJt});var Fz=v((Pqe,Nqe)=>{"use strict";var Pn=Jn(),mh=pv(),et=Nqe.exports,QJt=Dqe();et.append=function(e,t){return typeof e=="string"&&typeof t=="string"?e+t:e};et.camelcase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return t.toUpperCase()})};et.capitalize=function(e){return typeof e!="string"?"":e.charAt(0).toUpperCase()+e.slice(1)};et.capitalizeAll=function(e){if(typeof e!="string")return"";if(Pn.isString(e))return e.replace(/\w\S*/g,function(t){return et.capitalize(t)})};et.center=function(e,t){if(typeof e!="string")return"";for(var r="",n=0;n<t;)r+="&nbsp;",n++;return r+e+r};et.chop=function(e){return typeof e!="string"?"":mh.chop(e)};et.dashcase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return"-"+t})};et.dotcase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return"."+t})};et.downcase=function(){return et.lowercase.apply(this,arguments)};et.ellipsis=function(e,t){if(Pn.isString(e))return e.length<=t?e:et.truncate(e,t)+"\u2026"};et.hyphenate=function(e){return typeof e!="string"?"":e.split(" ").join("-")};et.isString=function(e){return typeof e=="string"};et.lowercase=function(e){return Pn.isObject(e)&&e.fn?e.fn(this).toLowerCase():typeof e!="string"?"":e.toLowerCase()};et.occurrences=function(e,t){if(typeof e!="string")return"";for(var r=t.length,n=0,i=0;(n=e.indexOf(t,n))>-1;)i++,n+=r;return i};et.pascalcase=function(e){return typeof e!="string"?"":(e=mh.changecase(e,function(t){return t.toUpperCase()}),e.charAt(0).toUpperCase()+e.slice(1))};et.pathcase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return"/"+t})};et.plusify=function(e,t){return typeof e!="string"?"":(Pn.isString(t)||(t=" "),e.split(t).join("+"))};et.prepend=function(e,t){return typeof e=="string"&&typeof t=="string"?t+e:e};et.raw=function(e){var t=e.fn(),r=Pn.options(this,e);if(r.escape!==!1)for(var n=0;(n=t.indexOf("{{",n))!==-1;)t[n-1]!=="\\"&&(t=t.slice(0,n)+"\\"+t.slice(n)),n+=3;return t};et.remove=function(e,t){return typeof e!="string"?"":Pn.isString(t)?e.split(t).join(""):e};et.removeFirst=function(e,t){return typeof e!="string"?"":Pn.isString(t)?e.replace(t,""):e};et.replace=function(e,t,r){return typeof e!="string"?"":Pn.isString(t)?(Pn.isString(r)||(r=""),e.split(t).join(r)):e};et.replaceFirst=function(e,t,r){return typeof e!="string"?"":Pn.isString(t)?(Pn.isString(r)||(r=""),e.replace(t,r)):e};et.reverse=Hy().reverse;et.sentence=function(e){return typeof e!="string"?"":e.replace(/((?:\S[^\.\?\!]*)[\.\?\!]*)/g,function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()})};et.snakecase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return"_"+t})};et.split=function(e,t){return typeof e!="string"?"":(Pn.isString(t)||(t=","),e.split(t))};et.startsWith=function(e,t,r){var n=[].slice.call(arguments);return r=n.pop(),Pn.isString(t)&&t.indexOf(e)===0?r.fn(this):typeof r.inverse=="function"?r.inverse(this):""};et.titleize=function(e){if(typeof e!="string")return"";for(var t=e.replace(/[- _]+/g," "),r=t.split(" "),n=r.length,i=[],s=0;n--;){var a=r[s++];i.push(Pqe.capitalize(a))}return i.join(" ")};et.trim=function(e){return typeof e=="string"?e.trim():""};et.trimLeft=function(e){if(Pn.isString(e))return e.replace(/^\s+/,"")};et.trimRight=function(e){if(Pn.isString(e))return e.replace(/\s+$/,"")};et.truncate=function(e,t,r){if(Pn.isString(e))return typeof r!="string"&&(r=""),e.length>t?e.slice(0,t-r.length)+r:e};et.truncateWords=function(e,t,r){if(Pn.isString(e)&&!isNaN(t)){typeof r!="string"&&(r="\u2026");var n=Number(t),i=e.split(/[ \t]/);if(n>=i.length)return e;i=i.slice(0,n);var s=i.join(" ").trim();return s+r}};et.upcase=function(){return et.uppercase.apply(this,arguments)};et.uppercase=function(e){return Pn.isObject(e)&&e.fn?e.fn(this).toUpperCase():typeof e!="string"?"":e.toUpperCase()};et.lorem=function(e){return(isNaN(e)||e<1||!e)&&(e=11),QJt.substring(0,e)}});var qz=v((m7r,Lqe)=>{"use strict";var Bz=require("url"),wv=Jn(),KJt=require("querystring"),gh=Lqe.exports;gh.encodeURI=function(e){if(wv.isString(e))return encodeURIComponent(e)};gh.escape=function(e){if(wv.isString(e))return KJt.escape(e)};gh.decodeURI=function(e){if(wv.isString(e))return decodeURIComponent(e)};gh.urlResolve=function(e,t){return Bz.resolve(e,t)};gh.urlParse=function(e){return Bz.parse(e)};gh.stripQuerystring=function(e){if(wv.isString(e))return e.split("?")[0]};gh.stripProtocol=function(e){if(wv.isString(e)){var t=Bz.parse(e);return t.protocol="",t.format()}}});var jz=v((g7r,kqe)=>{"use strict";var zJt=require("uuid"),YJt=kqe.exports;YJt.uuid=function(){return zJt.v4()}});var Uqe=v((y7r,Mqe)=>{"use strict";Mqe.exports={array:Hy(),code:hBe(),collection:CBe(),comparison:mz(),html:KBe(),i18n:YBe(),inflection:ZBe(),match:fqe(),math:kz(),misc:hqe(),number:Mz(),object:hL(),path:Oqe(),regex:Uz(),string:Fz(),url:qz(),uuid:jz()}});var Fqe=v((b7r,Yy)=>{"use strict";var Ev=Uqe();Yy.exports=o(function(t,r){typeof t=="string"?t=[t]:Array.isArray(t)||(r=t,t=null),r=r||{};var n=r.handlebars||r.hbs||cv();if(Yy.exports.handlebars=n,t)t.forEach(function(i){n.registerHelper(Ev[i])});else for(let i in Ev){let s=Ev[i];n.registerHelper(s)}return n.helpers},"helpers");for(let e in Ev){let t=Ev[e];Yy.exports[e]=function(r){r=r||{};var n=r.handlebars||r.hbs||cv();return Yy.exports.handlebars=n,n.registerHelper(t),t}}Yy.exports.utils=pv()});var _We=v(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.InvalidRemoveOpPath=sr.NoTarget=sr.InvalidScimPatchRequest=sr.NoPathInScimPatchOp=sr.FilterArrayTargetNotFound=sr.FilterOnEmptyArray=sr.InvalidScimPatchOp=sr.RemoveValueNotArray=sr.RemoveValueNestedArrayNotSupported=sr.InvalidScimRemoveValue=sr.InvalidScimPatch=sr.ScimError=void 0;var Dv=class extends Error{static{o(this,"ScimError")}constructor(t){super(),this.scimCode=t}};sr.ScimError=Dv;var Df=class extends Dv{static{o(this,"InvalidScimPatch")}constructor(t,r="invalidSyntax"){super(r),this.message=`Invalid SCIM Patch: ${t}`}};sr.InvalidScimPatch=Df;var Pv=class extends Dv{static{o(this,"InvalidScimRemoveValue")}constructor(t,r="invalidSyntax"){super(r),this.message=`Invalid SCIM Remove Operation: ${t}`}};sr.InvalidScimRemoveValue=Pv;var b5=class extends Pv{static{o(this,"RemoveValueNestedArrayNotSupported")}constructor(){super("Invalid patch value, remove does not support arrays inside arrays.")}};sr.RemoveValueNestedArrayNotSupported=b5;var _5=class extends Pv{static{o(this,"RemoveValueNotArray")}constructor(){super("Remove with patch value is supported only for array properties.")}};sr.RemoveValueNotArray=_5;var Nv=class extends Df{static{o(this,"InvalidScimPatchOp")}constructor(t){super(`${t}`,"invalidSyntax")}};sr.InvalidScimPatchOp=Nv;var w5=class extends Nv{static{o(this,"FilterOnEmptyArray")}constructor(t,r,n){super(`${t}`),this.attrName=r,this.valuePath=n}};sr.FilterOnEmptyArray=w5;var E5=class extends Nv{static{o(this,"FilterArrayTargetNotFound")}constructor(t,r,n,i){super(`${t}`),this.attrName=r,this.valuePath=n,this.schema=i}};sr.FilterArrayTargetNotFound=E5;var S5=class extends Df{static{o(this,"NoPathInScimPatchOp")}constructor(){super('Missing path in "remove" patch operation',"noTarget")}};sr.NoPathInScimPatchOp=S5;var T5=class extends Df{static{o(this,"InvalidScimPatchRequest")}constructor(t){super(`The SCIM patch request is invalid: ${t}`)}};sr.InvalidScimPatchRequest=T5;var v5=class extends Df{static{o(this,"NoTarget")}constructor(t){super(`Target location is a multi-valued attribute for which a value selection filter (${t}) has been supplied and no record match was made.`,"noTarget")}};sr.NoTarget=v5;var A5=class extends Df{static{o(this,"InvalidRemoveOpPath")}constructor(){super("Path specified in 'remove' operation doesn't exist")}};sr.InvalidRemoveOpPath=A5});var TWe=v(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.parseExpression=su.parseFilter=su.Tokens=su.tokenizer=void 0;var EWe={type:"EOT",literal:""};function _9t(e){let t=[],r=e,n=/^(?:(\s+)|(-?\d+(?:\.\d+)?(?:[eE][-+]?\d+)?(?![-\w._:\/\)\s]))|("(?:[^"\\]|\\.|\n)*")|([[()]|]\.?)|(\w[-\w._:\/%]*))/,i;for(;i=n.exec(r);){if(!(i[1]||i[0].length===0))if(i[2])t.push({literal:i[2],type:"Number"});else if(i[3]){let s=i[3].replace(/\\(?!")/g,"\\\\");t.push({literal:s,type:"Quoted"})}else i[4]?t.push({literal:i[4],type:"Bracket"}):i[5]&&t.push({literal:i[5],type:"Word"});r=r.substring(i.index+i[0].length)}if(r.length!==0)throw new Error(`unexpected token ${r}`);return t.push(EWe),t}o(_9t,"tokenizer");su.tokenizer=_9t;var R5=class{static{o(this,"Tokens")}getList(){return this.list.map((t,r)=>r==this.i?`[${t.literal}]`:t.literal)}peek(){return this.current||EWe}constructor(t){this.list=t,this.i=0,this.current=this.list[this.i]}forward(){return this.current=this.list[++this.i],this}shift(){let t=this.peek();return this.forward(),t}};su.Tokens=R5;var w9t=new Set(["eq","ne","co","sw","ew","gt","lt","ge","le"]),E9t=new Set(["pr"]);function O5(e){return BL(qL(e),e,Ah.LOWEST)}o(O5,"parseFilter");su.parseFilter=O5;function qL(e){let t=e.shift();if(t.literal=="("){let r=O5(e),n=e.shift();if(n.literal!==")")throw new Error(`Unexpected token [${n.literal}(${n.type})] expected ')'`);return r}else if(t.literal.toLowerCase()=="not"){let r={op:"not",filter:qL(e)};return BL(r,e,Ah.NOT)}else{if(t.type=="Word")return SWe(t,e);throw new Error(`Unexpected token ${t.literal} (${t.type})`)}}o(qL,"parseExpression");su.parseExpression=qL;var Ah;(function(e){e[e.LOWEST=1]="LOWEST",e[e.OR=2]="OR",e[e.AND=3]="AND",e[e.NOT=4]="NOT"})(Ah||(Ah={}));var wWe={or:Ah.OR,and:Ah.AND,not:Ah.NOT};function BL(e,t,r){let n=t.peek().literal.toLowerCase(),i=wWe[n];if(!i||r>=i)return e;let s=[e];for(;t.peek().literal.toLowerCase()===n;){let a=qL(t.forward()),u=t.peek().literal.toLowerCase();wWe[u]>i&&(a=BL(a,t,i)),s.push(a)}return BL({op:n,filters:s},t,r)}o(BL,"parseInxif");function SWe(e,t){if(e.type!=="Word")throw new Error(`Unexpected token ${e.literal} expected Word`);let r=e.literal,n=t.shift(),i=n.literal.toLowerCase();if(w9t.has(i)){let s=S9t(t);return{op:i,attrPath:r,compValue:s}}else{if(E9t.has(i))return{op:i,attrPath:r};if(i==="["){let s=O5(t),a=t.shift();if(a.literal[0]!=="]")throw new Error(`Unexpected token ${a.literal} expected ']'`);let u={op:"[]",attrPath:r,valFilter:s};if(a.literal[1]!=="."||t.peek().type!=="Word")return u;let c=t.shift();return c.literal=`${r}.${c.literal}`,{op:"and",filters:[u,SWe(c,t)]}}else throw new Error(`Unexpected token ${r} ${n.literal} as valFilter operator`)}}o(SWe,"readValFilter");function S9t(e){let t=e.shift();try{let r=JSON.parse(t.literal);if(r===null||typeof r=="string"||typeof r=="number"||typeof r=="boolean")return r;throw new Error(`${t.literal} is ${typeof r} (un supported value)`)}catch{throw new Error(`[${t.literal}(${t.type})] is not json`)}}o(S9t,"parseCompValue")});var vWe=v(WL=>{"use strict";Object.defineProperty(WL,"__esModule",{value:!0});WL.Tester=void 0;var jL=class{static{o(this,"Tester")}constructor(){}test(t,r){switch(r.op){case"or":return r.filters.some(n=>this.test(t,n));case"and":return r.filters.every(n=>this.test(t,n));case"not":return!this.test(t,r.filter);case"[]":return this.attrTest(this.attrPath(r.attrPath),t,n=>this.test(n,r.valFilter));case"pr":return this.attrTest(this.attrPath(r.attrPath),t,n=>this[r.op](n));case"eq":case"ne":case"co":case"sw":case"ew":case"gt":case"lt":case"ge":case"le":return this.attrTest(this.attrPath(r.attrPath),t,n=>this[r.op](n,r.compValue))}}attrPath(t){let r=t.lastIndexOf(":");return r===-1?t.split("."):[t.substring(0,r),...t.substring(r+1).split(".")]}attrTest(t,r,n){if(t.length===0)return n(r);if(typeof r!="object"||r===null)return!1;if(Array.isArray(r))return r.some(a=>this.attrTest(t,a,n));let i=t[0].toLowerCase(),s=Object.keys(r).find(a=>a.toLowerCase()===i);return s===void 0?!1:this.attrTest(t.slice(1),r[s],n)}pr(t,r){return t!==void 0}eq(t,r){return t===r}ne(t,r){return t!==r}gt(t,r){return r!==null&&t>r}lt(t,r){return r!==null&&t<r}le(t,r){return r!==null&&t<=r}ge(t,r){return r!==null&&t>=r}sw(t,r){return r!==null&&t!==null&&t.toString().startsWith(r.toString())}ew(t,r){return r!==null&&t!==null&&t.toString().endsWith(r.toString())}co(t,r){return typeof t=="object"||r===null?t==r:(typeof t!="string"&&(t=t.toString()),t.indexOf(r.toString())!==-1)}};WL.Tester=jL;jL.UNDEF=Symbol("undefined")});var AWe=v(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});au.log=au.valfilter=void 0;var T9t=o((e,t)=>{switch(t&&"attrPath"in e&&(e=Object.assign(Object.assign({},e),{attrPath:`${t}.${e.attrPath}`})),e.op){case"and":case"or":return Object.assign(Object.assign({},e),{filters:e.filters.map(r=>(0,au.valfilter)(r,t))});case"not":return Object.assign(Object.assign({},e),{filter:(0,au.valfilter)(e,t)});case"[]":return(0,au.valfilter)(e.valFilter,e.attrPath)}return e},"valfilter");au.valfilter=T9t;var v9t=o(e=>{switch(e.op){case"and":case"or":let t=e.filters.map(au.log),r=[];return t.forEach(n=>{n.op==e.op?n.filters.forEach(i=>r.push(i)):r.push(n)}),Object.assign(Object.assign({},e),{filters:r})}return e},"log");au.log=v9t});var RWe=v(GL=>{"use strict";Object.defineProperty(GL,"__esModule",{value:!0});GL.stringify=void 0;function Lv(e,t=!1){let r="";switch(e.op){case"eq":case"ne":case"co":case"sw":case"ew":case"gt":case"lt":case"ge":case"le":r=`${e.attrPath} ${e.op} ${JSON.stringify(e.compValue)}`;break;case"pr":r=`${e.attrPath} ${e.op}`;break;case"or":let n=e.filters.map(i=>Lv(i)).join(` ${e.op} `);r=t?`(${n})`:n;break;case"and":r=e.filters.map(i=>Lv(i,!0)).join(` ${e.op} `);break;case"not":r=`${e.op} (${Lv(e.filter)})`;break;case"[]":r=`${e.attrPath}[${Lv(e.valFilter)}]`;break}return r}o(Lv,"stringify");GL.stringify=Lv});var $L=v(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.flatten=Wo.parse=Wo.filter=Wo.Tester=Wo.stringify=void 0;var I5=TWe(),A9t=vWe(),OWe=AWe(),R9t=RWe();Object.defineProperty(Wo,"stringify",{enumerable:!0,get:function(){return R9t.stringify}});Wo.Tester=A9t.Tester;function O9t(e){let t=new Wo.Tester;return r=>t.test(r,e)}o(O9t,"filter");Wo.filter=O9t;function I9t(e){let t=new I5.Tokens(I5.tokenizer(e)),r=I5.parseFilter(t);if(t.peek().type!=="EOT")throw new Error(`unexpected EOT ${t.getList()}`);return r}o(I9t,"parse");Wo.parse=I9t;function C9t(e){return OWe.log(OWe.valfilter(e))}o(C9t,"flatten");Wo.flatten=C9t});var CWe=v((Pen,IWe)=>{"use strict";IWe.exports=o(function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,i,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[i]))return!1;for(i=n;i--!==0;){var a=s[i];if(!e(t[a],r[a]))return!1}return!0}return t!==t&&r!==r},"equal")});var F5=v(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.PATCH_OPERATION_SCHEMA=_r.InvalidScimRemoveValue=_r.RemoveValueNotArray=_r.RemoveValueNestedArrayNotSupported=_r.NoTarget=_r.InvalidScimPatchRequest=_r.NoPathInScimPatchOp=_r.InvalidScimPatchOp=_r.InvalidScimPatch=_r.ScimError=void 0;_r.patchBodyValidation=L9t;_r.scimPatch=k9t;var Pt=_We();Object.defineProperty(_r,"ScimError",{enumerable:!0,get:function(){return Pt.ScimError}});Object.defineProperty(_r,"InvalidScimPatch",{enumerable:!0,get:function(){return Pt.InvalidScimPatch}});Object.defineProperty(_r,"InvalidScimPatchOp",{enumerable:!0,get:function(){return Pt.InvalidScimPatchOp}});Object.defineProperty(_r,"NoPathInScimPatchOp",{enumerable:!0,get:function(){return Pt.NoPathInScimPatchOp}});Object.defineProperty(_r,"InvalidScimPatchRequest",{enumerable:!0,get:function(){return Pt.InvalidScimPatchRequest}});Object.defineProperty(_r,"NoTarget",{enumerable:!0,get:function(){return Pt.NoTarget}});Object.defineProperty(_r,"RemoveValueNestedArrayNotSupported",{enumerable:!0,get:function(){return Pt.RemoveValueNestedArrayNotSupported}});Object.defineProperty(_r,"RemoveValueNotArray",{enumerable:!0,get:function(){return Pt.RemoveValueNotArray}});Object.defineProperty(_r,"InvalidScimRemoveValue",{enumerable:!0,get:function(){return Pt.InvalidScimRemoveValue}});var C5=$L(),x5=CWe(),N5=/(\[|\])/,x9t=/^(.+)\[(.+)\]$/,xWe=/(?!\B"[^[]*)\.(?![^\]]*"\B)/g,D9t=["remove","add","replace"],P9t="urn:ietf:params:scim:schemas:core:2.0:User",N9t="urn:ietf:params:scim:schemas:core:2.0:Group";_r.PATCH_OPERATION_SCHEMA="urn:ietf:params:scim:api:messages:2.0:PatchOp";function L9t(e){if(!e.schemas||!e.schemas.includes(_r.PATCH_OPERATION_SCHEMA))throw new Pt.InvalidScimPatchRequest("Missing schemas.");if(!Array.isArray(e.Operations))throw new Pt.InvalidScimPatchRequest("Operations should be an array.");if(!e.Operations||e.Operations.length<=0)throw new Pt.InvalidScimPatchRequest("Missing operations.");e.Operations.forEach(L5)}o(L9t,"patchBodyValidation");function k9t(e,t,r={mutateDocument:!0,treatMissingAsAdd:!0}){return r.mutateDocument||(e=JSON.parse(JSON.stringify(e))),t.reduce((n,i)=>{switch(i.op){case"remove":case"Remove":return M9t(n,i);case"add":case"Add":case"replace":case"Replace":return PWe(n,i,!!r.treatMissingAsAdd);default:throw new Pt.InvalidScimPatchRequest(`Operator is invalid for SCIM patch request. ${i}`)}},e)}o(k9t,"scimPatch");function L5(e){if(typeof e.op!="string"||!q9t(e.op))throw new Pt.InvalidScimPatchRequest(`Invalid op "${e.op}" in the request.`);if(e.op==="remove"&&!e.path)throw new Pt.NoPathInScimPatchOp;if(Mv(e.op)&&!("value"in e))throw new Pt.InvalidScimPatchRequest(`The operation ${e.op} MUST contain a "value" member whose content specifies the value to be added`);if(e.path&&typeof e.path!="string")throw new Pt.InvalidScimPatchRequest("Path is supposed to be a string")}o(L5,"validatePatchOperation");function k5(e){let t=e.lastIndexOf(":");if(t<0)return e.split(xWe);let r=e.substring(0,t),n=e.substring(t+1).split(xWe);switch(r){case N9t:case P9t:break;default:n.unshift(r);break}return n}o(k5,"resolvePaths");function M9t(e,t){let r;L5(t);let n=k5(t.path);try{r=NWe(e,n,{isRemoveOp:!0})}catch(s){if(s instanceof Pt.InvalidRemoveOpPath)return e;throw s}let i=n[n.length-1];if(!N5.test(i)){for(let s of r)t.value?s[i]=B9t(s[i],t.value):delete s[i];return e}for(let s of r){let{attrName:a,valuePath:u,array:c}=M5(i,s);s[a]=U5(c,u,{excludeIfMatchFilter:!0}),s[a].length===0&&delete s[a]}return e}o(M9t,"applyRemoveOperation");function PWe(e,t,r){var n;let i;if(L5(t),!t.path)return kv(e,t);let s=k5(t.path),a=s[s.length-1];try{i=NWe(e,s)}catch(u){if(u instanceof Pt.FilterOnEmptyArray||u instanceof Pt.FilterArrayTargetNotFound){let c=u.schema,l=(0,C5.parse)(u.valuePath);if(Mv(t.op)&&"compValue"in l&&l.compValue!==void 0&&l.op==="eq"){let f={};return f[l.attrPath]=l.compValue,f[a]=kv(void 0,t,!0),c[u.attrName]=[...(n=c[u.attrName])!==null&&n!==void 0?n:[],f],e}else if(r&&D5(t.op)&&"compValue"in l&&l.compValue!==void 0&&l.op==="eq")return PWe(e,Object.assign(Object.assign({},t),{op:"add"}),!1);throw new Pt.NoTarget(t.path)}throw u}if(!N5.test(a)){for(let u of i)u[a]=kv(u[a],t);return e}for(let u of i){let{valuePath:c,array:l}=M5(a,u),f=U5(l,c);if(D5(t.op)&&f.length===0)throw new Pt.NoTarget(t.path);for(let d=0;d<l.length;d++)f.includes(l[d])&&(l[d]=kv(l[d],t))}return e}o(PWe,"applyAddOrReplaceOperation");function M5(e,t){let r=e.match(x9t);if(!r)throw new Pt.InvalidScimPatchOp(`This part of the path ${e} is invalid for SCIM patch request.`);let[,n,i]=r,s=t[n];if(!Array.isArray(s))throw new Pt.FilterOnEmptyArray("Impossible to search on a mono valued attribute.",n,i);return new P5(n,i,s)}o(M5,"extractArray");function NWe(e,t,r={}){let n=[e];for(let i=0;i<t.length-1;i++){let s=t[i];N5.test(s)?n=n.flatMap(a=>{try{let{attrName:u,valuePath:c,array:l}=M5(s,a),f=U5(l,c);if(f.length===0)throw new Pt.FilterArrayTargetNotFound("A matching array entry was not found using the supplied filter.",u,c,a);return f}catch(u){throw u instanceof Pt.FilterOnEmptyArray&&(u.schema=a),u}}):n=n.flatMap(a=>{if(!a[s]&&r.isRemoveOp)throw new Pt.InvalidRemoveOpPath;return a[s]||(a[s]={})})}return n}o(NWe,"navigate");function kv(e,t,r){if(Array.isArray(e)){if(Array.isArray(t.value)){if(Mv(t.op)){let i=t.value.filter(s=>!DWe(e,s));return e.concat(i)}return t.value}if(D5(t.op))return e.map(i=>kv(i,t,r));let n=e;return DWe(n,t.value)||n.push(t.value),n}return e!==null&&typeof e=="object"?U9t(e,t,r):t.value}o(kv,"addOrReplaceAttribute");function U9t(e,t,r){if(typeof t.value!="object"){if(Mv(t.op)&&!r)throw new Pt.InvalidScimPatchOp("Invalid patch query.");return t.value}for(let[n,i]of Object.entries(t.value))F9t(e,k5(n),i,t.op);return e}o(U9t,"addOrReplaceObjectAttribute");function F9t(e,t,r,n){let i=t.length-1;for(let a=0;a<i;++a){let u=t[a];u in e||(e[u]={}),e=e[u]}let s=e[t[i]];if(Mv(n)&&Array.isArray(s)){if(Array.isArray(r)){e[t[i]]=[...s,...r];return}e[t[i]]=[...s,r];return}e[t[i]]=r}o(F9t,"assign");function U5(e,t,r={}){try{let n=(0,C5.filter)((0,C5.parse)(t));return e.filter(i=>r.excludeIfMatchFilter?!n(i):n(i))}catch(n){throw new Pt.InvalidScimPatchOp(`${n}`)}}o(U5,"filterWithQuery");function B9t(e,t){if(!Array.isArray(e))throw new Pt.RemoveValueNotArray;return Array.isArray(t)?(t.forEach(r=>{if(Array.isArray(r))throw new Pt.RemoveValueNestedArrayNotSupported;e=e.filter(n=>!x5(r,n))}),e):e.filter(r=>!x5(t,r))}o(B9t,"removeWithPatchValue");function DWe(e,t){return e.some(r=>x5(t,r))}o(DWe,"deepIncludes");function q9t(e){return D9t.includes(e.toLowerCase())}o(q9t,"isValidOperation");function Mv(e){return e!==void 0&&e.toLowerCase()==="add"}o(Mv,"isAddOperation");function D5(e){return e!==void 0&&e.toLowerCase()==="replace"}o(D5,"isReplaceOperation");var P5=class{static{o(this,"ScimSearchQuery")}constructor(t,r,n){this.attrName=t,this.valuePath=r,this.array=n}}});var aur={};var IKe,CKe=er(()=>{"use strict";IKe=U(require("dd-trace"));process.env.DD_APM_ENABLED&&(console.log("Starting dd-trace"),IKe.default.init({debug:process.env.DD_ENV==="qa",llmobs:{mlApp:process.env.DD_LLMOBS_ML_APP||"budibase"}}))});var f4e={};G(f4e,{execute:()=>yur,executeInThread:()=>W7,removeStalled:()=>F7});module.exports=qA(f4e);var Qn={};G(Qn,{analyticsEnabled:()=>z0,generateConfigID:()=>rT,getAIConfig:()=>sWt,getConfig:()=>Ii,getDefaultGoogleConfig:()=>F3,getGoogleConfig:()=>UD,getGoogleDatasourceConfig:()=>q3,getOIDCConfig:()=>nWt,getOIDCConfigById:()=>j3,getOIDCLogosDoc:()=>tWt,getPlatformUrl:()=>nT,getRecaptchaConfig:()=>aWt,getSCIMConfig:()=>oWt,getSMTPConfig:()=>iWt,getSMTPConfigDoc:()=>y0e,getSettingsConfig:()=>B3,getSettingsConfigDoc:()=>uy,getTranslationsConfig:()=>Zjt,getTranslationsConfigDoc:()=>g0e,save:()=>Xjt});var uo=(r=>(r.ASCENDING="ascending",r.DESCENDING="descending",r))(uo||{});var ct=(te=>(te.USER_CREATED="user:created",te.USER_UPDATED="user:updated",te.USER_DELETED="user:deleted",te.USER_ONBOARDING_COMPLETE="user:onboarding:complete",te.USER_PERMISSION_ADMIN_ASSIGNED="user:admin:assigned",te.USER_PERMISSION_ADMIN_REMOVED="user:admin:removed",te.USER_PERMISSION_BUILDER_ASSIGNED="user:builder:assigned",te.USER_PERMISSION_BUILDER_REMOVED="user:builder:removed",te.USER_INVITED="user:invited",te.USER_INVITED_ACCEPTED="user:invite:accepted",te.USER_PASSWORD_FORCE_RESET="user:password:force:reset",te.USER_PASSWORD_UPDATED="user:password:updated",te.USER_PASSWORD_RESET_REQUESTED="user:password:reset:requested",te.USER_PASSWORD_RESET="user:password:reset",te.USER_DATA_COLLABORATION="user:data:collaboration",te.EMAIL_SMTP_CREATED="email:smtp:created",te.EMAIL_SMTP_UPDATED="email:smtp:updated",te.AI_CONFIG_CREATED="ai:config:created",te.AI_CONFIG_UPDATED="ai:config:updated",te.AUTH_SSO_CREATED="auth:sso:created",te.AUTH_SSO_UPDATED="auth:sso:updated",te.AUTH_SSO_ACTIVATED="auth:sso:activated",te.AUTH_SSO_DEACTIVATED="auth:sso:deactivated",te.AUTH_LOGIN="auth:login",te.AUTH_LOGOUT="auth:logout",te.ORG_NAME_UPDATED="org:info:name:updated",te.ORG_LOGO_UPDATED="org:info:logo:updated",te.ORG_PLATFORM_URL_UPDATED="org:platformurl:updated",te.INSTALLATION_VERSION_CHECKED="installation:version:checked",te.INSTALLATION_VERSION_UPGRADED="installation:version:upgraded",te.INSTALLATION_VERSION_DOWNGRADED="installation:version:downgraded",te.INSTALLATION_FIRST_STARTUP="installation:firstStartup",te.ANALYTICS_OPT_OUT="analytics:opt:out",te.ANALYTICS_OPT_IN="analytics:opt:in",te.WORKSPACE_CREATED="app:created",te.WORKSPACE_UPDATED="app:updated",te.WORKSPACE_DELETED="app:deleted",te.WORKSPACE_DUPLICATED="app:duplicated",te.WORKSPACE_PUBLISHED="app:published",te.WORKSPACE_UNPUBLISHED="app:unpublished",te.WORKSPACE_TEMPLATE_IMPORTED="app:template:imported",te.WORKSPACE_FILE_IMPORTED="app:file:imported",te.WORKSPACE_APP_VERSION_UPDATED="app:version:updated",te.WORKSPACE_APP_VERSION_REVERTED="app:version:reverted",te.WORKSPACE_REVERTED="app:reverted",te.WORKSPACE_EXPORTED="app:exported",te.ROLE_CREATED="role:created",te.ROLE_UPDATED="role:updated",te.ROLE_DELETED="role:deleted",te.ROLE_ASSIGNED="role:assigned",te.ROLE_UNASSIGNED="role:unassigned",te.SERVED_BUILDER="served:builder",te.SERVED_APP="served:app",te.SERVED_APP_PREVIEW="served:app:preview",te.DATASOURCE_CREATED="datasource:created",te.DATASOURCE_UPDATED="datasource:updated",te.DATASOURCE_DELETED="datasource:deleted",te.QUERY_CREATED="query:created",te.QUERY_UPDATED="query:updated",te.QUERY_DELETED="query:deleted",te.QUERY_IMPORT="query:import",te.QUERIES_RUN="queries:run",te.QUERY_PREVIEWED="query:previewed",te.TABLE_CREATED="table:created",te.TABLE_UPDATED="table:updated",te.TABLE_DELETED="table:deleted",te.TABLE_EXPORTED="table:exported",te.TABLE_IMPORTED="table:imported",te.TABLE_DATA_IMPORTED="table:data:imported",te.VIEW_CREATED="view:created",te.VIEW_UPDATED="view:updated",te.VIEW_DELETED="view:deleted",te.VIEW_EXPORTED="view:exported",te.VIEW_FILTER_CREATED="view:filter:created",te.VIEW_FILTER_UPDATED="view:filter:updated",te.VIEW_FILTER_DELETED="view:filter:deleted",te.VIEW_CALCULATION_CREATED="view:calculation:created",te.VIEW_CALCULATION_UPDATED="view:calculation:updated",te.VIEW_CALCULATION_DELETED="view:calculation:deleted",te.VIEW_JOIN_CREATED="view:join:created",te.ROWS_CREATED="rows:created",te.ROWS_IMPORTED="rows:imported",te.COMPONENT_CREATED="component:created",te.COMPONENT_DELETED="component:deleted",te.SCREEN_CREATED="screen:created",te.SCREEN_DELETED="screen:deleted",te.LAYOUT_CREATED="layout:created",te.LAYOUT_DELETED="layout:deleted",te.AUTOMATION_CREATED="automation:created",te.AUTOMATION_DELETED="automation:deleted",te.AUTOMATION_TESTED="automation:tested",te.AUTOMATIONS_RUN="automations:run",te.AUTOMATION_STEP_CREATED="automation:step:created",te.AUTOMATION_STEP_DELETED="automation:step:deleted",te.AUTOMATION_TRIGGER_UPDATED="automation:trigger:updated",te.LICENSE_PLAN_CHANGED="license:plan:changed",te.LICENSE_ACTIVATED="license:activated",te.LICENSE_PAYMENT_FAILED="license:payment:failed",te.LICENSE_PAYMENT_RECOVERED="license:payment:recovered",te.LICENSE_CHECKOUT_OPENED="license:checkout:opened",te.LICENSE_CHECKOUT_SUCCESS="license:checkout:success",te.LICENSE_PORTAL_OPENED="license:portal:opened",te.ACCOUNT_CREATED="account:created",te.ACCOUNT_DELETED="account:deleted",te.ACCOUNT_VERIFIED="account:verified",te.APP_BACKFILL_SUCCEEDED="app:backfill:succeeded",te.APP_BACKFILL_FAILED="app:backfill:failed",te.TENANT_BACKFILL_SUCCEEDED="tenant:backfill:succeeded",te.TENANT_BACKFILL_FAILED="tenant:backfill:failed",te.INSTALLATION_BACKFILL_SUCCEEDED="installation:backfill:succeeded",te.INSTALLATION_BACKFILL_FAILED="installation:backfill:failed",te.USER_GROUP_CREATED="user_group:created",te.USER_GROUP_UPDATED="user_group:updated",te.USER_GROUP_DELETED="user_group:deleted",te.USER_GROUP_USERS_ADDED="user_group:user_added",te.USER_GROUP_USERS_REMOVED="user_group:users_deleted",te.USER_GROUP_PERMISSIONS_EDITED="user_group:permissions_edited",te.USER_GROUP_ONBOARDING="user_group:onboarding_added",te.PLUGIN_INIT="plugin:init",te.PLUGIN_IMPORTED="plugin:imported",te.PLUGIN_DELETED="plugin:deleted",te.APP_BACKUP_RESTORED="app:backup:restored",te.APP_BACKUP_TRIGGERED="app:backup:triggered",te.ENVIRONMENT_VARIABLE_CREATED="environment_variable:created",te.ENVIRONMENT_VARIABLE_DELETED="environment_variable:deleted",te.ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED="environment_variable:upgrade_panel_opened",te.AUDIT_LOGS_FILTERED="audit_log:filtered",te.AUDIT_LOGS_DOWNLOADED="audit_log:downloaded",te.ROW_ACTION_CREATED="row_action:created",te.ACTION_AUTOMATION_STEP_EXECUTED="action:automation_step:executed",te.ACTION_CRUD_EXECUTED="action:crud:executed",te.ACTION_AI_AGENT_EXECUTED="action:ai_agent:executed",te.WORKSPACE_APP_CREATED="workspace_app:created",te.WORKSPACE_APP_UPDATED="workspace_app:updated",te.WORKSPACE_APP_DELETED="workspace_app:deleted",te.RESOURCE_COPIED_TO_WORKSPACE="resource:copied_to_workspace",te))(ct||{}),TX=["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"],vX=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],AX=[...TX,...vX],jh={"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 created","ai:config:updated":"AI configuration updated","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:crud:executed":void 0,"action:ai_agent:executed":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 RX=o((e,t,r)=>e==="usage"&&t==="static","isStaticQuota"),OX=o((e,t,r)=>e==="usage"&&t==="monthly","isMonthlyQuota"),IX=o((e,t)=>e==="constant","isConstantQuota");var Ui="--secret-value--";var an=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(an||{}),Jr=(h=>(h.STRING="string",h.CODE="code",h.LONGFORM="longForm",h.SENSITIVE_LONGFORM="sensitiveLongForm",h.BOOLEAN="boolean",h.NUMBER="number",h.PASSWORD="password",h.LIST="list",h.OBJECT="object",h.JSON="json",h.FILE="file",h.FIELD_GROUP="fieldGroup",h.SELECT="select",h))(Jr||{}),kn=(b=>(b.AIRTABLE="AIRTABLE",b.ARANGODB="ARANGODB",b.BUDIBASE="BUDIBASE",b.COUCHDB="COUCHDB",b.DYNAMODB="DYNAMODB",b.ELASTICSEARCH="ELASTICSEARCH",b.FIRESTORE="FIRESTORE",b.GOOGLE_SHEETS="GOOGLE_SHEETS",b.MONGODB="MONGODB",b.MYSQL="MYSQL",b.ORACLE="ORACLE",b.POSTGRES="POSTGRES",b.REDIS="REDIS",b.REST="REST",b.S3="S3",b.SNOWFLAKE="SNOWFLAKE",b.SQL_SERVER="SQL_SERVER",b))(kn||{});var Sn=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(Sn||{});var CX=U(require("lodash/isPlainObject"));var Qf=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Qf||{}),wa=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(wa||{}),Wh=(t=>(t.RANGE="range",t))(Wh||{}),Wb=(r=>(r.AND="$and",r.OR="$or",r))(Wb||{});function $c(e){return Object.values(Wb).includes(e)}o($c,"isLogicalSearchOperator");function xX(e){return Object.values(Qf).includes(e)}o(xX,"isBasicSearchOperator");function DX(e){return Object.values(wa).includes(e)}o(DX,"isArraySearchOperator");function jA(e){return Object.values(Wh).includes(e)}o(jA,"isRangeSearchOperator");function PX(e){return(0,CX.default)(e)&&"conditions"in e}o(PX,"isLogicalFilter");var NX=o(e=>typeof e=="object"&&e._id&&e._rev,"isDocument");var Gb=(s=>(s.USER="user",s.HEADER="header",s.QUERY="query",s.SUBDOMAIN="subdomain",s.PATH="path",s))(Gb||{});var Vc=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(Vc||{});var $b=(d=>(d.WORKSPACE="app",d.TABLE="table",d.USER="user",d.AUTOMATION="automation",d.WEBHOOK="webhook",d.BUILDER="builder",d.CREATOR="creator",d.GLOBAL_BUILDER="globalBuilder",d.QUERY="query",d.VIEW="view",d.LEGACY_VIEW="legacy_view",d))($b||{});var WA=o(e=>e.hosting==="cloud","isCloudAccount");var GA=o(e=>e.authType==="sso","isSSOAccount");var ce="_",Mn="\uFFF0",ti=o(e=>`${e}${ce}`,"prefixed"),Me=(se=>(se.USER="us",se.GROUP="gr",se.CONFIG="config",se.TEMPLATE="template",se.WORKSPACE="app",se.DEV="dev",se.WORKSPACE_DEV="app_dev",se.WORKSPACE_METADATA="app_metadata",se.ROLE="role",se.DEV_INFO="devinfo",se.AUTOMATION_LOG="log_au",se.ACCOUNT_METADATA="acc_metadata",se.PLUGIN="plg",se.DATASOURCE="datasource",se.DATASOURCE_PLUS="datasource_plus",se.APP_BACKUP="backup",se.TABLE="ta",se.ROW="ro",se.AUTOMATION="au",se.LINK="li",se.WEBHOOK="wh",se.INSTANCE="inst",se.LAYOUT="layout",se.SCREEN="screen",se.QUERY="query",se.DEPLOYMENTS="deployments",se.METADATA="metadata",se.MEM_VIEW="view",se.USER_FLAG="flag",se.AUTOMATION_METADATA="meta_au",se.AUDIT_LOG="al",se.SCIM_LOG="scimlog",se.ROW_ACTIONS="ra",se.OAUTH2_CONFIG="oauth2",se.OAUTH2_CONFIG_LOG="oauth2log",se.AGENT="agent",se.CHAT_APP="chatapp",se.CHAT_CONVERSATION="chatconvo",se.AGENT_TOOL_SOURCE="agenttoolsource",se.AGENT_FILE="agentfile",se.AI_CONFIG="aiconfig",se.LITELLM_KEY="litellmkey",se.VECTOR_STORE="vectordb",se.WORKSPACE_APP="workspace_app",se.WORKSPACE_FAVOURITE="workspace_favourite",se.AUTO_COLUMN_STATE="autocolumn_state",se))(Me||{}),DM=["role","datasource","datasource_plus","ta","au","wh","screen","query","metadata","view","workspace_app","workspace_favourite","inst","layout"],Tu=(t=>(t.USER_METADATA="ta_users",t))(Tu||{}),Hc=(r=>(r.VIEW="view",r.ROW_ACTION="row_action",r))(Hc||{});function Gh(e){return!!e.providerType}o(Gh,"isSSOUser");var $h=["rows","queries","automations"],LX=["queries","automations"];var kX="SYSTEM",Kf="auditLog";var He=(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))(He||{}),Bt=(R=>(R.TABLE="table",R.ROW="row",R.ROWS="rows",R.WIDE="wide",R.QUERY="query",R.QUERY_PARAMS="queryParams",R.QUERY_LIMIT="queryLimit",R.LOOP_OPTION="loopOption",R.ITEM="item",R.CODE="code",R.FILTERS="filters",R.COLUMN="column",R.TRIGGER_SCHEMA="triggerSchema",R.CRON="cron",R.WEBHOOK_URL="webhookUrl",R.AUTOMATION="automation",R.AUTOMATION_FIELDS="automationFields",R.MULTI_ATTACHMENTS="multi_attachments",R.TRIGGER_FILTER="trigger_filter",R.CATEGORIES="categories",R.AGENT="agent",R.OUTPUT_SCHEMA="outputSchema",R))(Bt||{}),co=(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))(co||{});var rt=($=>($.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",$.CREATE_ROW="CREATE_ROW",$.GET_ROW="GET_ROW",$.UPDATE_ROW="UPDATE_ROW",$.DELETE_ROW="DELETE_ROW",$.QUERY_ROWS="QUERY_ROWS",$.EXECUTE_BASH="EXECUTE_BASH",$.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",$.EXECUTE_SCRIPT="EXECUTE_SCRIPT",$.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",$.EXECUTE_QUERY="EXECUTE_QUERY",$.SERVER_LOG="SERVER_LOG",$.DELAY="DELAY",$.FILTER="FILTER",$.API_REQUEST="API_REQUEST",$.LOOP="LOOP",$.COLLECT="COLLECT",$.OPENAI="OPENAI",$.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",$.BRANCH="BRANCH",$.CLASSIFY_CONTENT="CLASSIFY_CONTENT",$.PROMPT_LLM="PROMPT_LLM",$.TRANSLATE="TRANSLATE",$.SUMMARISE="SUMMARISE",$.GENERATE_TEXT="GENERATE_TEXT",$.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",$.EXTRACT_STATE="EXTRACT_STATE",$.LOOP_V2="LOOP_V2",$.AGENT="AGENT",$.discord="discord",$.slack="slack",$.zapier="zapier",$.integromat="integromat",$.n8n="n8n",$))(rt||{}),MX=[...Object.values(rt),...Object.values(co)];var $A=(u=>(u.EMAIL="email",u.DOCUMENT="document",u.BLOG_POST="blog_post",u.CHAT_MESSAGE="chat_message",u.LETTER="letter",u.PROPOSAL="proposal",u.OTHER="other",u))($A||{}),UX={email:"Email",document:"Document",blog_post:"Blog post",chat_message:"Chat message",letter:"Letter",proposal:"Proposal",other:"Other"},VA=(r=>(r.URL="URL",r.ATTACHMENT="Attachment",r))(VA||{}),HA=(i=>(i.PDF="pdf",i.JPG="jpg",i.PNG="png",i.JPEG="jpeg",i))(HA||{}),QA=["png","jpg","jpeg","image/png","image/jpeg","image/jpg","image/jpeg"];function FX(e){return e.stepId==="BRANCH"}o(FX,"isBranchStep");function PM(e){return e.stepId==="CRON"}o(PM,"isCronTrigger");function Qc(e){return e?.stepId==="EMAIL"}o(Qc,"isEmailTrigger");var KA=(i=>(i.EQUAL="EQUAL",i.NOT_EQUAL="NOT_EQUAL",i.GREATER_THAN="GREATER_THAN",i.LESS_THAN="LESS_THAN",i))(KA||{});var Vb=(r=>(r.BACKUP="backup",r.RESTORE="restore",r))(Vb||{});var Kc=(i=>(i.PUBLISH="publish",i.MANUAL="manual",i.SCHEDULED="scheduled",i.RESTORING="restoring",i))(Kc||{});var Vh=(a=>(a.NONE="none",a.FORM_DATA="form",a.XML="xml",a.ENCODED="encoded",a.JSON="json",a.TEXT="text",a))(Vh||{}),Hb=(a=>(a.GET="GET",a.POST="POST",a.PATCH="PATCH",a.PUT="PUT",a.HEAD="HEAD",a.DELETE="DELETE",a))(Hb||{});var Un="bb_internal";var zc=(s=>(s.CREATED_BY="createdBy",s.CREATED_AT="createdAt",s.UPDATED_BY="updatedBy",s.UPDATED_AT="updatedAt",s.AUTO_ID="autoID",s))(zc||{});function zA(e){return e.type==="link"}o(zA,"isRelationshipField");function YA(e){return e.relationshipType==="one-to-many"}o(YA,"isOneToMany");function JA(e){return e.relationshipType==="many-to-one"}o(JA,"isManyToOne");var BX="rev",Le=(S=>(S.STRING="string",S.LONGFORM="longform",S.OPTIONS="options",S.NUMBER="number",S.BOOLEAN="boolean",S.ARRAY="array",S.DATETIME="datetime",S.ATTACHMENTS="attachment",S.ATTACHMENT_SINGLE="attachment_single",S.LINK="link",S.FORMULA="formula",S.AUTO="auto",S.AI="ai",S.JSON="json",S.INTERNAL="internal",S.BARCODEQR="barcodeqr",S.SIGNATURE_SINGLE="signature_single",S.BIGINT="bigint",S.BB_REFERENCE="bb_reference",S.BB_REFERENCE_SINGLE="bb_reference_single",S))(Le||{}),XA=["attachment_single","attachment","signature_single","bb_reference","json","array"],FKe=["number","bigint"];function NM(e){return FKe.includes(e)}o(NM,"isNumeric");function qX(e){return e.type==="formula"&&e.formulaType==="static"&&e.responseType&&NM(e.responseType)}o(qX,"isNumericStaticFormula");var BKe=["string","longform","options","number","boolean","datetime","bigint","ai"];function qKe(e){return BKe.includes(e)}o(qKe,"canGroupBy");function LM(e){return e.type==="formula"&&e.formulaType==="static"}o(LM,"isStaticFormula");function jX(e){return qKe(e.type)||LM(e)}o(jX,"canGroupBySchema");var lt={};G(lt,{AutomationViewMode:()=>a1,BUDIBASE_DATASOURCE_TYPE:()=>zre,Config:()=>tne,Cookie:()=>dm,DEFAULT_BB_DATASOURCE_ID:()=>Qb,DEFAULT_EMPLOYEE_TABLE_ID:()=>Zre,DEFAULT_EXPENSES_TABLE_ID:()=>Xre,DEFAULT_INVENTORY_TABLE_ID:()=>Jre,DEFAULT_JOBS_TABLE_ID:()=>Yre,DEFAULT_TENANT_ID:()=>Lr,DeprecatedViews:()=>j_,DesignDocuments:()=>pd,DocumentType:()=>Me,GlobalRole:()=>ene,Header:()=>yi,InternalTable:()=>Tu,MAX_VALID_DATE:()=>l1,MIN_VALID_DATE:()=>U7e,SEPARATOR:()=>ce,SQLITE_DESIGN_DOC_ID:()=>Fn,SQS_DATASOURCE_INTERNAL:()=>sl,StaticDatabases:()=>tr,UNICODE_MAX:()=>Mn,USER_METADATA_PREFIX:()=>VR,UserStatus:()=>c1,ViewName:()=>ol,WORKSPACE_DEV:()=>u1,WORKSPACE_DEV_PREFIX:()=>ks,WORKSPACE_PREFIX:()=>Ls});var GX={SUMMARISE_TEXT:{columns:"columns"},CLEAN_DATA:{column:"column"},TRANSLATE:{column:"column",language:"prompt"},CATEGORISE_TEXT:{columns:"columns",categories:"prompt"},SENTIMENT_ANALYSIS:{column:"column"},PROMPT:{prompt:"prompt"},SEARCH_WEB:{columns:"columns"}};var yi=(E=>(E.API_KEY="x-budibase-api-key",E.LICENSE_KEY="x-budibase-license-key",E.API_VER="x-budibase-api-version",E.APP_ID="x-budibase-app-id",E.SESSION_ID="x-budibase-session-id",E.CLIENT="x-budibase-client",E.TYPE="x-budibase-type",E.PREVIEW_ROLE="x-budibase-role",E.TENANT_ID="x-budibase-tenant-id",E.VERIFICATION_CODE="x-budibase-verification-code",E.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",E.RESET_PASSWORD_CODE="x-budibase-reset-password-code",E.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",E.TOKEN="x-budibase-token",E.CSRF_TOKEN="x-csrf-token",E.CORRELATION_ID="x-budibase-correlation-id",E.AUTHORIZATION="authorization",E.MIGRATING_APP="x-budibase-migrating-app",E.COOKIE="cookie",E))(yi||{});var Tn=["_id","_rev","type","createdAt","updatedAt","tableId"],Rs=["_id","_rev","tableId"];function zf(e){return Tn.includes(e)}o(zf,"isInternalColumnName");function $X(e){return Rs.includes(e)}o($X,"isExternalColumnName");var Hh={WORKSPACES:"/builder/workspaces",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},ZA={ACCOUNT:"/portal/account",BILLING:"/portal/billing",UPGRADE:"/portal/upgrade"};var lo={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},VX={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var kM=/^[^()]*$/;var Qb="datasource_internal_bb_default";var Tt={};G(Tt,{ColumnSplitter:()=>lF,NoEmptyFilterStrings:()=>Ore,buildQuery:()=>Ire,cleanupQuery:()=>hF,fixupFilterArrays:()=>gF,getKeyNumbering:()=>mF,getValidOperatorsForType:()=>EJe,hasFilters:()=>fF,limit:()=>xre,recurseLogicalOperators:()=>pF,removeKeyNumbering:()=>eR,runQuery:()=>BR,search:()=>vJe,sort:()=>Cre,splitFiltersArray:()=>tR});var lm=U(require("dayjs"));var Fe={};G(Fe,{filterValueToLabel:()=>QKe,hasSchema:()=>KKe,isSupportedUserSearch:()=>QX,nameToUrl:()=>ZKe,parallelForeach:()=>HKe,processSearchFilters:()=>MM,toMap:()=>YKe,trimOtherProps:()=>zKe,unreachable:()=>VKe});var HX=U(require("lodash/pick"));var $Ke=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function VKe(e,t){let r=t?.message||`No such case in exhaustive switch: ${e}`;if(!!!t?.doNotThrow)throw new Error(r)}o(VKe,"unreachable");async function HKe(e,t,r){let n=[],i=Symbol.asyncIterator in e,s=i?e[Symbol.asyncIterator]():e[Symbol.iterator](),a=o(async()=>{let u=await(i?s.next():Promise.resolve(s.next()));for(;!u.done;)await t(u.value),u=await(i?s.next():Promise.resolve(s.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}o(HKe,"parallelForeach");function QKe(){return Object.keys(lo).reduce((e,t)=>{let n=lo[t];return e[n.value]=n.label,e},{})}o(QKe,"filterValueToLabel");function KKe(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null&&!(e instanceof Date)&&Object.keys(e).length>0}o(KKe,"hasSchema");function zKe(e,t){return Object.keys(e).filter(n=>t.includes(n)).reduce((n,i)=>({...n,[i]:e[i]}),{})}o(zKe,"trimOtherProps");function QX(e){let t=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=e;for(let[s,a]of Object.entries(i)){if(typeof a!="object")return!1;if($c(s)){for(let l of e[s].conditions)if(!QX(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!t.find(l=>l.op===s&&u.length===1&&u[0]===l.key))return!1}return!0}o(QX,"isSupportedUserSearch");function MM(e){if(!e||e.length===0)return;let{allOr:t,onEmptyFilter:r,filters:n}=tR(e);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:t?"any":"all",filters:n.map(i=>{let s=(0,HX.default)(i,$Ke);return s.field=eR(s.field),s})}]}}o(MM,"processSearchFilters");function YKe(e,t){return t.reduce((r,n)=>(r[n[e]]=n,r),{})}o(YKe,"toMap");var JKe=o(e=>e?e.trim():null,"resolveWorkspaceName"),XKe=o(e=>{let t,r=JKe(e);t=r?r.toLowerCase():"";let n=t?t.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),ZKe=o(e=>{let t=XKe(e);return e6e(t)},"nameToUrl"),e6e=o(e=>(e&&!e.startsWith("/")&&(e=`/${e}`),e===""?null:e),"tidyUrl");var de={};G(de,{accountPortalAccountUrl:()=>yre,accountPortalBillingUrl:()=>bre,accountPortalUpgradeUrl:()=>_re,builderAppsUrl:()=>vre,builderSettingsAuthUrl:()=>Sre,builderSettingsEmailUrl:()=>Ere,builderSettingsPeopleUsersUrl:()=>Tre,builderWorkspacesUrl:()=>wre,cancelableTimeout:()=>KX,cron:()=>yJe,deepGet:()=>UM,duplicateName:()=>fJe,formatBytes:()=>gJe,getSequentialName:()=>dJe,getUserColor:()=>r6e,getUserInitials:()=>t6e,getUserLabel:()=>n6e,isGoogleSheets:()=>o6e,isSQL:()=>s6e,lists:()=>uF,retry:()=>a6e,roles:()=>aF,schema:()=>M_,structuredOutput:()=>iF,urlHelpers:()=>mJe,views:()=>sF,wait:()=>FM,withTimeout:()=>i6e});var UM=o((e,t)=>{if(!e||!t)return null;if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let r=t.split(".");for(let n=0;n<r.length;n++)e=e?.[r[n]];return e},"deepGet"),t6e=o(e=>{if(!e)return"?";let t="";return t+=e.firstName?e.firstName[0]:"",t+=e.lastName?e.lastName[0]:"",t!==""?t:e.email?.[0]||"U"},"getUserInitials"),r6e=o(e=>{let t=e?._id;if(!t)return"var(--spectrum-global-color-blue-400)";t=t.replace("ro_ta_users_","");let r=1;for(let n=0;n<t.length;n++)r+=t.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),n6e=o(e=>{if(!e)return"";let{firstName:t,lastName:r,email:n}=e;return t&&r?`${t} ${r}`:t||r||n},"getUserLabel");function KX(e){let t;return[new Promise((r,n)=>{t=setTimeout(()=>{n({status:301,errno:"ETIME"})},e)}),()=>{clearTimeout(t)}]}o(KX,"cancelableTimeout");async function i6e(e,t){let[r,n]=KX(e),i=await Promise.race([t(),r]);return n(),i}o(i6e,"withTimeout");function o6e(e){return e==="GOOGLE_SHEETS"}o(o6e,"isGoogleSheets");function s6e(e){return!e||!e.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(e.source)!==-1||e.isSQL===!0}o(s6e,"isSQL");async function FM(e){return new Promise(t=>setTimeout(t,e))}o(FM,"wait");async function a6e(e,t){let{times:r=3}=t||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let s=1.5**i*1e3*(Math.random()+.5);await FM(s);try{return await e()}catch(a){n=a}}throw n}o(a6e,"retry");var dre=U(Ea()),pre=U(lre());var fre="(Input cron: ",zYe={"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 YYe(e){let t=[];for(let r of e){r.includes(fre)&&(r=r.split(fre)[0].trim());for(let[n,i]of Object.entries(zYe))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));t.push(r)}return t}o(YYe,"improveErrors");function hre(e,t=4){let r=pre.default.parseExpression(e),n=[];for(let i=0;i<t;i++)n.push(r.next().toString());return n}o(hre,"getNextExecutionDates");function mre(e){let t=(0,dre.default)(e,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return t.isValid()?{valid:!0}:{valid:!1,err:YYe(t.getError())}}o(mre,"validate");var M_={};G(M_,{decodeNonAscii:()=>nF,encodeNonAscii:()=>ZYe,isDeprecatedSingleUserColumn:()=>JYe,isNumeric:()=>eJe,isRequired:()=>XYe});function JYe(e){return e.type==="bb_reference"&&e.subtype==="user"&&e.constraints?.type!=="array"}o(JYe,"isDeprecatedSingleUserColumn");function XYe(e){return!!e&&(typeof e.presence!="boolean"&&e.presence?.allowEmpty===!1||e.presence===!0)}o(XYe,"isRequired");function ZYe(e){return e.split("").map(t=>t.charCodeAt(0)>127?"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"):t).join("")}o(ZYe,"encodeNonAscii");function nF(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}o(nF,"decodeNonAscii");function eJe(e){return e.type==="number"||e.type==="bigint"}o(eJe,"isNumeric");var iF={};G(iF,{normalizeSchemaForStructuredOutput:()=>tJe});function tJe(e){function t(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 s=i.properties,a=[],u={};for(let[f,d]of Object.entries(s))if(typeof d=="object"&&d!==null){let p=d;if(p.required===!0){a.push(f);let{required:h,...m}=p;u[f]=t(m)}else u[f]=t(p)}else u[f]=d;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=t(i.items));for(let s of["anyOf","oneOf","allOf"])Array.isArray(i[s])&&(i[s]=i[s].map(a=>t(a)));return i}o(t,"processSchema");let r=t(e);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}o(tJe,"normalizeSchemaForStructuredOutput");var sF={};G(sF,{basicFields:()=>sJe,calculationFields:()=>oJe,hasCalculationFields:()=>iJe,isBasicViewField:()=>rJe,isCalculationField:()=>U_,isCalculationView:()=>nJe,isV2:()=>aJe,isVisible:()=>gre});var oF=U(require("lodash/pickBy"));function U_(e){return"calculationType"in e}o(U_,"isCalculationField");function rJe(e){return!U_(e)}o(rJe,"isBasicViewField");function nJe(e){return e.type==="calculation"}o(nJe,"isCalculationView");function iJe(e){return Object.values(e.schema||{}).some(U_)}o(iJe,"hasCalculationFields");function oJe(e){return(0,oF.default)(e.schema||{},U_)}o(oJe,"calculationFields");function gre(e){return e.visible!==!1}o(gre,"isVisible");function sJe(e,t){let{visible:r=!0}=t||{};return(0,oF.default)(e.schema||{},n=>!U_(n)&&(!r||gre(n)))}o(sJe,"basicFields");function aJe(e){return e.version===2}o(aJe,"isV2");var aF={};G(aF,{checkForRoleInheritanceLoops:()=>cJe});function uJe(e){return`role${ce}${e}`}o(uJe,"prefixForCheck");function cJe(e){let t=new Map;e.forEach(s=>{t.set(s._id,s)});let r=new Set,n=new Set;function i(s){let a=uJe(s);if(n.has(s)||n.has(a))return!0;if(r.has(s)||r.has(a))return!1;n.add(s);let u=t.get(a)||t.get(s);if(!u)return n.delete(s),!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(s),r.add(s),!1}return o(i,"hasLoop"),!!e.find(s=>i(s._id))}o(cJe,"checkForRoleInheritanceLoops");var uF={};G(uF,{punctuateList:()=>lJe});function lJe(e){return e.length===0?"":e.length===1?e[0]:e.length===2?e.join(" and "):e.slice(0,-1).join(", ")+" and "+e[e.length-1]}o(lJe,"punctuateList");var fJe=o((e,t)=>{let r=new RegExp("\\s(\\d+)$"),n=e.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),s=[];t.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(s.push(parseInt(c[1])),!0):!1}),s.sort((u,c)=>u-c);let a;if(s.length===0)a=1;else{for(let u=0;u<s.length;u++)if(s[u]!==u+1){a=u+1;break}a||(a=s.length+1)}return`${n} ${a}`},"duplicateName"),dJe=o((e,t,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!t?.length)return"";let s=t.trim(),a=n?`${t}1`:s;if(!e?.length)return a;let u=0;return e.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(s))return;let f=l.split(s);if(f.length!==2)return;f[1].trim()===""&&(f[1]="1");let d=parseInt(f[1]);d>u&&(u=d)}),u===0?a:`${t}${i}${u+1}`},"getSequentialName");var pJe=o(e=>e?e.startsWith("/")?e:`/${e}`:"","normalizePath"),hJe=o(e=>e?e.endsWith("/")?e.slice(0,-1):e:"","normalizeBase"),nl=o((e,t)=>{let r=pJe(t);if(!e)return r;let n=hJe(e);return r?`${n}${r}`:n},"joinBaseAndPath"),yre=o(e=>nl(e,ZA.ACCOUNT),"accountPortalAccountUrl"),bre=o(e=>nl(e,ZA.BILLING),"accountPortalBillingUrl"),_re=o(e=>nl(e,ZA.UPGRADE),"accountPortalUpgradeUrl"),wre=o(e=>nl(e,Hh.WORKSPACES),"builderWorkspacesUrl"),Ere=o(e=>nl(e,Hh.SETTINGS_EMAIL),"builderSettingsEmailUrl"),Sre=o(e=>nl(e,Hh.SETTINGS_AUTH),"builderSettingsAuthUrl"),Tre=o(e=>nl(e,Hh.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),vre=o(e=>nl(e,Hh.APPS),"builderAppsUrl"),mJe={accountPortalAccountUrl:yre,accountPortalBillingUrl:bre,accountPortalUpgradeUrl:_re,builderWorkspacesUrl:wre,builderSettingsEmailUrl:Ere,builderSettingsAuthUrl:Sre,builderSettingsPeopleUsersUrl:Tre,builderAppsUrl:vre};function gJe(e,t=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,s=typeof e=="string"?parseInt(e,10):e||0;for(;s>=1024&&i<r.length-1&&++i;)s/=1024;return`${s.toFixed(s<10&&i>0?1:0)}${t}${r[i]}`}o(gJe,"formatBytes");var yJe={getNextExecutionDates:hre,validate:mre};var FR=U(require("lodash/isPlainObject")),cF=U(require("lodash/isEmpty"));var _Je=/{{([^{].*?)}}/g,Rre=Object.values(Wb),wJe=[...Object.values(Qf),...Object.values(wa),...Object.values(Wh)],EJe=o((e,t,r)=>{let n=lo,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],s=[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:f}=e;c==="string"?f==="array"?u=a:u=i:c==="number"||c==="bigint"?u=s:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=s:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||M_.isDeprecatedSingleUserColumn(e)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let d=r?.tableId?.includes("datasource_plus");return t==="_id"&&d&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),Ore=[lo.StartsWith.value,lo.Like.value,lo.Equals.value,lo.NotEquals.value,lo.Contains.value,lo.NotContains.value,lo.ContainsAny.value,lo.In.value];function pF(e,t){for(let r of Rre)e[r]&&(e[r].conditions=e[r].conditions.map(n=>t(n)));return e}o(pF,"recurseLogicalOperators");var hF=o(e=>{for(let t of Ore)if(e[t])for(let r of Object.keys(e)){if(r!==t)continue;if(typeof e[r]=="object")for(let[i,s]of Object.entries(e[r]))(s==null||s===""||SJe(s))&&delete e[t][i]}return e=pF(e,hF),e},"cleanupQuery");function SJe(e){return Array.isArray(e)&&e.length===0}o(SJe,"isEmptyArray");var eR=o(e=>mF(e).key,"removeKeyNumbering"),mF=o(e=>{if(typeof e=="string"&&e.match(/\d[0-9]*:/g)!=null){let t=e.split(":");return{prefix:`${t.shift()}:`,key:t.join(":")}}else return{key:e}},"getKeyNumbering"),lF=class{static{o(this,"ColumnSplitter")}constructor(t,r){if(this.tableNames=t.map(n=>n.name),this.tableIds=t.map(n=>n._id),this.relationshipColumnNames=t.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(t){let{prefix:r,key:n}=mF(t),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 s;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),s=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=nF(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:s,column:n}}};function TJe(e){if(!e||!e?.operator||!e?.field)return;let t={},{operator:r,field:n,type:i,externalType:s}=e,{value:a}=e;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(_Je)||[]).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(jA(r))return t[r]??={},t[r][n]=a,t}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(jA(r)){let l=VX[s]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};t[r]??={},t[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")t.range??={},t.range[n]={...t.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")t.range??={},t.range[n]={...t.range[n],low:a};else if(xX(r)||DX(r)||jA(r))i==="boolean"?r==="equal"&&a===!1?(t.notEqual=t.notEqual||{},t.notEqual[n]=!0):r==="notEqual"&&a===!1?(t.equal=t.equal||{},t.equal[n]=!0):(t[r]??={},t[r][n]=a):(t[r]??={},t[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return t}o(TJe,"buildCondition");function tR(e){let t={filters:[]};for(let r of e)"operator"in r&&r.operator==="allOr"?t.allOr=!0:"onEmptyFilter"in r?t.onEmptyFilter=r.onEmptyFilter:t.filters.push(r);return t}o(tR,"splitFiltersArray");function Ire(e){if(!e)return{};if(Array.isArray(e)&&(e=MM(e),!e))return{};let t={};e.onEmptyFilter?t.onEmptyFilter=e.onEmptyFilter:t.onEmptyFilter="all";let r=Are(e.logicalOperator||"all");return t[r]={conditions:(e.groups||[]).map(n=>{if(n.groups){let c=Ire(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:s,filters:a}=tR(n.filters||[]);s&&(t.onEmptyFilter=s);let u=i?"$or":"$and";return n.logicalOperator&&(u=Are(n.logicalOperator)),{[u]:{conditions:a.map(TJe).filter(c=>c)}}})},t}o(Ire,"buildQuery");function Are(e){return e==="all"?"$and":"$or"}o(Are,"logicalOperatorFromUI");function gF(e){if(!e)return e;for(let t of Object.values(wa)){let r=e[t];if(!(r==null||!(0,FR.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(s=>s.trim()):r[n]=[i]}}return pF(e,gF),e}o(gF,"fixupFilterArrays");function vJe(e,t){let r=BR(e,t.query);t.sort&&(r=Cre(r,t.sort,t.sortOrder||"ascending",t.sortType));let n=r.length;t.limit&&(r=xre(r,t.limit.toString()));let i={rows:r};return t.countRows&&(i.totalRows=n),i}o(vJe,"search");function BR(e,t){if(!e||!Array.isArray(e))return[];if(!t)return e;if(t=hF(t),t=gF(t),!fF(t)&&t.onEmptyFilter==="none")return[];let r=o((T,R)=>A=>{for(let[O,I]of Object.entries(t[T]||{})){let D=$c(T)?A:UM(A,eR(O)),x=R(D,I);if(t.allOr&&x)return!0;if(!t.allOr&&!x)return!1}return!t.allOr},"match"),n=r("string",(T,R)=>typeof T!="string"||typeof R!="string"?!1:T.toLowerCase().startsWith(R.toLowerCase())),i=r("fuzzy",(T,R)=>typeof T!="string"||typeof R!="string"?!1:T.toLowerCase().includes(R.toLowerCase())),s=r("range",(T,R)=>{if(T==null||T===""||((0,FR.default)(R.low)&&(0,cF.default)(R.low)&&(R.low=void 0),(0,FR.default)(R.high)&&(0,cF.default)(R.high)&&(R.high=void 0),R.low==null&&R.high==null))return!1;let A=+T;if(!isNaN(A)){let I=+R.low,D=+R.high;if(!isNaN(I)&&!isNaN(D))return A>=I&&A<=D;if(isNaN(I)){if(!isNaN(D))return A<=D}else return A>=I}let O=(0,lm.default)(T);if(O.isValid()){let I=(0,lm.default)(R.low||"0000-00-00T00:00:00.000Z"),D=(0,lm.default)(R.high||"9999-00-00T00:00:00.000Z");if(I.isValid()&&D.isValid())return O.isAfter(I)&&O.isBefore(D)||O.isSame(I)||O.isSame(D);if(I.isValid())return O.isAfter(I)||O.isSame(I);if(D.isValid())return O.isBefore(D)||O.isSame(D)}return R.low!=null&&R.high!=null?T>=R.low&&T<=R.high:R.low!=null?T>=R.low:R.high!=null?T<=R.high:!1}),a=o((T,R)=>{if(Array.isArray(T)){for(let O of T)if(a(O,R))return!0;return!1}if(T&&typeof T=="object"&&typeof R=="string")return T._id===R;if(T===R)return!0;if(T==null&&R!=null||T!=null&&R==null)return!1;let A=(0,lm.default)(T);if(A.isValid()){let O=(0,lm.default)(R);if(O.isValid())return A.isSame(O)}return!1},"_valueMatches"),u=o(T=>(...R)=>!T(...R),"not"),c=r("equal",a),l=r("notEqual",u(a)),f=o(T=>typeof T=="string"?T==="":Array.isArray(T)?T.length===0:T&&typeof T=="object"?Object.keys(T).length===0:T==null,"_empty"),d=r("empty",f),p=r("notEmpty",u(f)),h=r("oneOf",(T,R)=>(typeof R=="string"&&(R=R.split(",")),typeof T=="number"&&(R=R.map(A=>parseFloat(A))),Array.isArray(R)?R.some(A=>a(T,A)):!1)),m=o(T=>(R,A)=>!Array.isArray(R)||(typeof A=="string"&&(A=A.split(","),typeof R[0]=="number"&&(A=A.map(O=>parseFloat(O)))),!Array.isArray(A))?!1:A.length===0?!0:A[T](O=>a(R,O)),"_contains"),g=r("contains",(T,R)=>Array.isArray(R)&&R.length===0?!0:m("every")(T,R)),y=r("notContains",(T,R)=>Array.isArray(R)&&R.length===0?!0:u(m("every"))(T,R)),b=r("containsAny",m("some")),w=r("$and",(T,R)=>{if(!R.length)return!1;for(let A of R)if(!BR([T],A).length)return!1;return!0}),E=r("$or",(T,R)=>{if(!R.length)return!1;for(let A of R)if(BR([T],{...A,allOr:!0}).length)return!0;return!1}),S=o(T=>{let R={string:n,fuzzy:i,range:s,equal:c,notEqual:l,empty:d,notEmpty:p,oneOf:h,contains:g,containsAny:b,notContains:y,$and:w,$or:E},A=Object.entries(t||{}).filter(([O,I])=>!["allOr","onEmptyFilter"].includes(O)&&I&&Object.keys(I).length>0).map(([O])=>R[O]?.(T)??!1);return fF(t)?t.allOr?A.some(O=>O===!0):A.every(O=>O===!0):!0},"docMatch");return e.filter(S)}o(BR,"runQuery");function Cre(e,t,r,n="string"){if(!t||!r||!n)return e;let i=o(s=>s==null?s:n==="string"?`${s}`:parseFloat(s),"parse");return e.slice().sort((s,a)=>{let u=i(s[t]),c=i(a[t]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}o(Cre,"sort");function xre(e,t){let r=typeof t=="number"?t:parseFloat(t);return isNaN(r)?e:e.slice(0,r)}o(xre,"limit");var fF=o(e=>{if(!e)return!1;let t=o(r=>{for(let n of Rre)if(r[n])for(let i of r[n]?.conditions||[]){let s=t(i);if(s)return s}for(let n of wJe){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 t(e)},"hasFilters");var cn={};G(cn,{applications:()=>bF,automations:()=>wF,screens:()=>vF,users:()=>TF});var bF={};G(bF,{getDevAppID:()=>AJe,getProdAppID:()=>B_});var yF=ti("app"),F_=ti("app_dev");function AJe(e){if(!e)throw new Error("No app ID provided");if(e.startsWith(F_))return e;let t=e.split(yF);t.shift();let r=t.join(yF);return`${F_}${r}`}o(AJe,"getDevAppID");function B_(e){if(!e)throw new Error("No app ID provided");if(!e.startsWith(F_))return e;let t=e.split(F_);t.shift();let r=t.join(F_);return`${yF}${r}`}o(B_,"getProdAppID");var wF={};G(wF,{checkForCollectStep:()=>_F,isAppAction:()=>IJe,isRowAction:()=>RJe,isWebhookAction:()=>OJe});function RJe(e){return e.definition.trigger?.stepId==="ROW_ACTION"}o(RJe,"isRowAction");function OJe(e){return e.definition.trigger?.stepId==="WEBHOOK"}o(OJe,"isWebhookAction");function IJe(e){return e.definition.trigger?.stepId==="APP"}o(IJe,"isAppAction");function Dre(e){if(!e||!Array.isArray(e))return!1;for(let t of e){if(t.stepId==="COLLECT")return!0;if(FX(t)&&t.inputs.children){for(let r of Object.values(t.inputs.children))if(Dre(r))return!0}}return!1}o(Dre,"hasCollectBlockRecursive");function _F(e){return Dre(e.definition.steps)}o(_F,"checkForCollectStep");var TF={};G(TF,{canCreateApps:()=>CJe,containsUserID:()=>UJe,getGlobalUserID:()=>MJe,getUserAppGroups:()=>FJe,hasAdminPermissions:()=>SF,hasAppBuilderPermissions:()=>WR,hasBuilderPermissions:()=>LJe,hasCreatorPermissions:()=>GR,isAdmin:()=>q_,isAdminOrBuilder:()=>DJe,isAdminOrGlobalBuilder:()=>PJe,isAdminOrWorkspaceBuilder:()=>xJe,isBuilder:()=>EF,isCreator:()=>kJe,isGlobalBuilder:()=>jR,userAppAccessList:()=>BJe});function EF(e,t){return e?e.builder?.global?!0:!!(t&&e.builder?.apps?.includes(B_(t))):!1}o(EF,"isBuilder");function jR(e){return EF(e)&&!WR(e)||q_(e)}o(jR,"isGlobalBuilder");function CJe(e){return jR(e)||GR(e)}o(CJe,"canCreateApps");function q_(e){return e?SF(e):!1}o(q_,"isAdmin");function xJe(e,t){return e?!!(q_(e)||t&&e.builder?.apps?.includes(B_(t))):!1}o(xJe,"isAdminOrWorkspaceBuilder");function DJe(e,t){return EF(e,t)||q_(e)}o(DJe,"isAdminOrBuilder");function PJe(e){return jR(e)||q_(e)}o(PJe,"isAdminOrGlobalBuilder");function WR(e){if(!e)return!1;let t=e.builder?.apps?.length;return!!!e.builder?.global&&t!=null&&t>0}o(WR,"hasAppBuilderPermissions");function NJe(e){return e?!!Object.values(e.roles??{}).find(t=>t==="CREATOR"):!1}o(NJe,"hasAppCreatorPermissions");function LJe(e){return e?e.builder?.global||WR(e)||GR(e):!1}o(LJe,"hasBuilderPermissions");function SF(e){return e?!!e.admin?.global:!1}o(SF,"hasAdminPermissions");function GR(e){return e?!!e.builder?.creator:!1}o(GR,"hasCreatorPermissions");function kJe(e){return e?jR(e)||SF(e)||GR(e)||WR(e)||NJe(e):!1}o(kJe,"isCreator");function MJe(e){if(typeof e!="string")return e;let t=`ro${ce}ta_users${ce}`;return e.startsWith(t)?e.split(t)[1]:e}o(MJe,"getGlobalUserID");function UJe(e){return typeof e!="string"?!1:e.includes(`us${ce}`)}o(UJe,"containsUserID");function Pre(e,t){return t?.filter(r=>r.users?.find(n=>n._id===e))||[]}o(Pre,"getUserGroups");function FJe(e,t,r){let n=B_(e);return Pre(t,r).filter(s=>Object.keys(s.roles||{}).find(a=>a===n))}o(FJe,"getUserAppGroups");function BJe(e,t){let n=Pre(e._id,t).flatMap(s=>Object.keys(s.roles||{})),i=[...Object.keys(e?.roles||{}),...n];return[...new Set(i)]}o(BJe,"userAppAccessList");var vF={};G(vF,{findInSettings:()=>qJe});function qJe(e,t){let r=[];function n(i,s=""){for(let[a,u]of Object.entries(i))u&&(typeof u=="string"&&u.includes(t)?r.push({setting:s?`${s}.${a}`:a,value:u}):typeof u=="object"&&n(u,a))}return o(n,"recurse"),n(e.props),r}o(qJe,"findInSettings");var qdr={string:!0,longform:!0,options:!0,number:!0,datetime:!0,formula:!0,ai:!0,auto:!0,internal:!0,barcodeqr:!0,bigint:!0,boolean:!1,array:!1,attachment:!1,attachment_single:!1,signature_single:!1,link:!1,json:!1,bb_reference:!1,bb_reference_single:!1},jdr={string:!0,longform:!0,options:!0,number:!0,datetime:!0,auto:!0,internal:!0,barcodeqr:!0,bigint:!0,boolean:!0,json:!1,formula:!1,ai:!1,attachment:!1,attachment_single:!1,signature_single:!1,array:!1,link:!1,bb_reference:!1,bb_reference_single:!1},Wdr={number:!0,json:!0,datetime:!0,longform:!0,string:!0,options:!0,array:!0,bigint:!0,boolean:!0,auto:!1,internal:!1,barcodeqr:!1,formula:!1,ai:!1,attachment:!1,attachment_single:!1,signature_single:!1,link:!1,bb_reference:!0,bb_reference_single:!0};function Nre(e){let t=Object.keys(e.schema),r=t.map(s=>s.toLowerCase()),n=new Set(r),i=[];if(n.size!==r.length)for(let s of n.keys())r.filter(u=>u===s).length>1&&i.push(s);for(let s of Tn)t.find(a=>a===s)&&i.push(s);return i}o(Nre,"findDuplicateInternalColumns");var Ve={};G(Ve,{steps:()=>o1,triggers:()=>s1});var o1={};G(o1,{agent:()=>r1,apiRequest:()=>NF,bash:()=>AF,branch:()=>RF,classifyText:()=>YF,collect:()=>OF,createRow:()=>IF,delay:()=>CF,deleteRow:()=>xF,discord:()=>DF,executeQuery:()=>PF,executeScript:()=>LF,executeScriptV2:()=>kF,extract:()=>t1,extractState:()=>n1,filter:()=>MF,generate:()=>e1,getRow:()=>UF,loop:()=>FF,loopV2:()=>i1,make:()=>BF,n8n:()=>qF,openai:()=>jF,outgoingWebhook:()=>WF,promptLLM:()=>JF,queryRows:()=>GF,sendSmtpEmail:()=>$F,serverLog:()=>VF,slack:()=>HF,summarise:()=>ZF,translate:()=>XF,triggerAutomationRun:()=>QF,updateRow:()=>KF,zapier:()=>zF});var AF={};G(AF,{definition:()=>jJe});var jJe={name:"Bash Scripting",tagline:"Execute a bash command",icon:"git-branch",description:"Run a bash script",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"EXECUTE_BASH",inputs:{},schema:{inputs:{properties:{code:{type:"string",customType:"code",title:"Code"}},required:["code"]},outputs:{properties:{stdout:{type:"string",description:"Standard output of your bash command or script"},success:{type:"boolean",description:"Whether the command was successful"}},required:["stdout"]}}};var RF={};G(RF,{definition:()=>WJe});var WJe={name:"Branch",icon:"git-branch",tagline:"Branch from this step",description:"Branching",stepId:"BRANCH",internal:!0,features:{},inputs:{},schema:{inputs:{properties:{branches:{properties:{name:{type:"string"},condition:{customType:"filters"}}},children:{type:"array"}},required:["conditions"]},outputs:{properties:{branchName:{type:"string"},status:{type:"string",description:"Branch result"},branchId:{type:"string",description:"Branch ID"},success:{type:"boolean",description:"Branch success"}},required:["output"]}},type:"LOGIC"};var OF={};G(OF,{definition:()=>GJe});var GJe={name:"Collect Data",tagline:"Collect data to be sent to design",icon:"stack",description:"Collects specified data so it can be provided to the design section",type:"ACTION",internal:!0,features:{},stepId:"COLLECT",inputs:{},schema:{inputs:{properties:{collection:{type:"string",title:"What to Collect"}},required:["collection"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},value:{type:"string",description:"Collected data"}},required:["success","value"]}}};var IF={};G(IF,{definition:()=>$Je});var $Je={name:"Create Row",tagline:"Create a {{inputs.enriched.table.name}} row",icon:"rows-plus-bottom",description:"Add a row to your database",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"CREATE_ROW",inputs:{},schema:{inputs:{properties:{row:{type:"object",properties:{tableId:{type:"string",customType:"table"}},customType:"row",title:"Table",required:["tableId"]}},required:["row"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The new row"},response:{type:"object",description:"The response from the table"},success:{type:"boolean",description:"Whether the row creation was successful"},id:{type:"string",description:"The identifier of the new row"},revision:{type:"string",description:"The revision of the new row"}},required:["success","id","revision"]}}};var CF={};G(CF,{definition:()=>VJe});var VJe={name:"Delay",icon:"clock",tagline:"Delay for {{inputs.time}} milliseconds",description:"Delay the automation until an amount of time has passed",stepId:"DELAY",internal:!0,features:{},inputs:{},schema:{inputs:{properties:{time:{type:"number",title:"Delay in milliseconds"}},required:["time"]},outputs:{properties:{success:{type:"boolean",description:"Whether the delay was successful"}},required:["success"]}},type:"LOGIC"};var xF={};G(xF,{definition:()=>HJe});var HJe={description:"Delete a row from your database",icon:"trash-simple",name:"Delete Row",tagline:"Delete a {{inputs.enriched.table.name}} row",type:"ACTION",stepId:"DELETE_ROW",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},id:{type:"string",title:"Row ID"}},required:["tableId","id"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The deleted row"},response:{type:"object",description:"The response from the table"},success:{type:"boolean",description:"Whether the deletion was successful"}},required:["row","success"]}}};var DF={};G(DF,{definition:()=>QJe});var QJe={name:"Discord Message",tagline:"Send a message to a Discord server",description:"Send a message to a Discord server",icon:"ri-discord-line",stepId:"discord",type:"ACTION",internal:!1,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Discord Webhook URL"},username:{type:"string",title:"Bot Name"},avatar_url:{type:"string",title:"Bot Avatar URL"},content:{type:"string",title:"Message"}},required:["url","content"]},outputs:{properties:{httpStatus:{type:"number",description:"The HTTP status code of the request"},response:{type:"string",description:"The response from the Discord Webhook"},success:{type:"boolean",description:"Whether the message sent successfully"}}}}};var PF={};G(PF,{definition:()=>KJe});var KJe={name:"External Data Connector",tagline:"Execute Data Connector",icon:"database",description:"Execute a query in an external data connector",type:"ACTION",stepId:"EXECUTE_QUERY",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{query:{type:"object",properties:{queryId:{type:"string",customType:"query"}},customType:"queryParams",title:"Parameters",required:["queryId"]}},required:["query"]},outputs:{properties:{response:{type:"object",description:"The response from the datasource execution"},info:{type:"object",description:"Some query types may return extra data, like headers from a REST query"},success:{type:"boolean",description:"Whether the action was successful"}},required:["response","success"]}}};var NF={};G(NF,{definition:()=>zJe});var zJe={name:"API Request",tagline:"Execute a REST request",icon:"globe",description:"Execute a HTTP query from a REST datasource",type:"ACTION",stepId:"API_REQUEST",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{query:{type:"object",properties:{queryId:{type:"string"}},customType:"queryParams",title:"Parameters",required:["queryId"]}},required:["query"]},outputs:{properties:{response:{type:"object",description:"The response from the datasource execution"},info:{type:"object",description:"Some query types may return extra data, like headers from a REST query"},success:{type:"boolean",description:"Whether the action was successful"}},required:["response","success"]}}};var LF={};G(LF,{definition:()=>YJe});var YJe={name:"JS Scripting",tagline:"Execute JavaScript Code",deprecated:!0,icon:"code",description:"Run a piece of JavaScript code in your automation",type:"ACTION",internal:!0,stepId:"EXECUTE_SCRIPT",inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{code:{type:"string",customType:"code",title:"Code"}},required:["code"]},outputs:{properties:{value:{type:"string",description:"The result of the return statement"},success:{type:"boolean",description:"Whether the action was successful"}},required:["success"]}}};var kF={};G(kF,{definition:()=>JJe});var JJe={name:"JavaScript",tagline:"Execute JavaScript Code",icon:"brackets-angle",description:"Run a piece of JavaScript code in your automation",type:"ACTION",internal:!0,new:!1,stepId:"EXECUTE_SCRIPT_V2",inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{code:{type:"string",customType:"code",title:"Code"}},required:["code"]},outputs:{properties:{value:{type:"string",description:"The result of the return statement"},success:{type:"boolean",description:"Whether the action was successful"}},required:["success"]}}};var MF={};G(MF,{PrettyFilterConditions:()=>Lre,definition:()=>XJe});var Lre={EQUAL:"Equals",NOT_EQUAL:"Not equals",GREATER_THAN:"Greater than",LESS_THAN:"Less than"},XJe={name:"Condition",tagline:"{{inputs.field}} {{inputs.condition}} {{inputs.value}}",icon:"git-branch",description:"Conditionally halt automations which do not meet certain conditions",type:"LOGIC",internal:!0,features:{},stepId:"FILTER",inputs:{condition:"EQUAL"},schema:{inputs:{properties:{field:{type:"string",title:"Reference Value"},condition:{type:"string",title:"Condition",enum:Object.values(KA),pretty:Object.values(Lre)},value:{type:"string",title:"Comparison Value"}},required:["field","condition","value"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},result:{type:"boolean",description:"Whether the logic block passed"}},required:["success","result"]}}};var UF={};G(UF,{definition:()=>e7e});var ZJe={ascending:"Ascending",descending:"Descending"},e7e={description:"Get a single row from the database",icon:"box-arrow-down",name:"Get Row",tagline:"Get a row from {{inputs.enriched.table.name}} table",type:"ACTION",stepId:"GET_ROW",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},rowId:{type:"string",title:"Row ID"},filters:{type:"object",customType:"filters",title:"Filtering"},sortColumn:{type:"string",title:"Sort Column",customType:"column"},sortOrder:{type:"string",title:"Sort Order",enum:Object.values(uo),pretty:Object.values(ZJe)}},required:["tableId"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The row that was found"},success:{type:"boolean",description:"Whether the query was successful"}},required:["row","success"]}}};var FF={};G(FF,{definition:()=>t7e});var t7e={name:"Looping",icon:"recycle",tagline:"Loop the block",description:"Loop",stepId:"LOOP",internal:!0,features:{},inputs:{},schema:{inputs:{properties:{option:{customType:"loopOption",title:"Input type"},binding:{type:"string",title:"Binding / Value"},iterations:{type:"number",title:"Max loop iterations"},failure:{type:"string",title:"Failure Condition"}},required:["type","value","iterations","failure"]},outputs:{properties:{items:{customType:"item",description:"The item currently being executed"},success:{type:"boolean",description:"Whether the message loop was successfully"},iterations:{type:"number",description:"The amount of times the block ran"}},required:["success","items","iterations"]}},type:"LOGIC"};var BF={};G(BF,{definition:()=>r7e});var r7e={name:"Make Integration",stepTitle:"Make",tagline:"Trigger a Make scenario",description:"Performs a webhook call to Make and gets the response (if configured)",icon:"ri-shut-down-line",stepId:"integromat",type:"ACTION",internal:!1,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Webhook URL"},body:{type:"json",title:"Payload"}},required:["url","body"]},outputs:{properties:{success:{type:"boolean",description:"Whether call was successful"},httpStatus:{type:"number",description:"The HTTP status code returned"},response:{type:"object",description:"The webhook response - this can have properties"}},required:["success","response"]}}};var qF={};G(qF,{definition:()=>n7e});var n7e={name:"n8n Integration",stepTitle:"n8n",tagline:"Trigger an n8n workflow",description:"Performs a webhook call to n8n and gets the response (if configured)",icon:"ri-shut-down-line",stepId:"n8n",type:"ACTION",internal:!1,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Webhook URL"},method:{type:"string",title:"Method",enum:Object.values(Hb)},authorization:{type:"string",title:"Authorization"},body:{type:"json",title:"Payload"}},required:["url","method"]},outputs:{properties:{success:{type:"boolean",description:"Whether call was successful"},httpStatus:{type:"number",description:"The HTTP status code returned"},response:{type:"object",description:"The webhook response - this can have properties"}},required:["success","response"]}}};var jF={};G(jF,{definition:()=>i7e});var kre=(u=>(u.GPT_4O_MINI="gpt-4o-mini",u.GPT_4O="gpt-4o",u.GPT_4="gpt-4",u.GPT_35_TURBO="gpt-3.5-turbo",u.GPT_5_MINI="gpt-5-mini",u.GPT_5="gpt-5",u.GPT_5_NANO="gpt-5-nano",u))(kre||{}),i7e={name:"OpenAI",tagline:"Send prompts to ChatGPT",icon:"flow-arrow",description:"Interact with the OpenAI ChatGPT API.",type:"ACTION",internal:!0,features:{},deprecated:!1,stepId:"OPENAI",inputs:{prompt:""},schema:{inputs:{properties:{prompt:{type:"string",title:"Prompt"},model:{type:"string",title:"Model",enum:Object.values(kre)}},required:["prompt","model"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},response:{type:"string",description:"What was output"}},required:["success","response"]}}};var WF={};G(WF,{definition:()=>o7e});var Mre=(s=>(s.POST="POST",s.GET="GET",s.PUT="PUT",s.DELETE="DELETE",s.PATCH="PATCH",s))(Mre||{}),o7e={deprecated:!0,name:"Outgoing webhook",tagline:"Send a {{inputs.requestMethod}} request",icon:"paper-plane-right",description:"Send a request of specified method to a URL",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"OUTGOING_WEBHOOK",inputs:{requestMethod:"POST",url:"http://",requestBody:"{}",headers:"{}"},schema:{inputs:{properties:{requestMethod:{type:"string",enum:Object.values(Mre),title:"Request method"},url:{type:"string",title:"URL"},requestBody:{type:"string",title:"JSON Body",customType:"wide"},headers:{type:"string",title:"Headers",customType:"wide"}},required:["requestMethod","url"]},outputs:{properties:{response:{type:"object",description:"The response from the webhook"},httpStatus:{type:"number",description:"The HTTP status code returned"},success:{type:"boolean",description:"Whether the action was successful"}},required:["response","success"]}}};var GF={};G(GF,{definition:()=>a7e});var s7e={ascending:"Ascending",descending:"Descending"},a7e={description:"Query rows from the database",icon:"magnifying-glass",name:"Query Rows",tagline:"Query rows from {{inputs.enriched.table.name}} table",type:"ACTION",stepId:"QUERY_ROWS",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},filters:{type:"object",customType:"filters",title:"Filtering"},sortColumn:{type:"string",title:"Sort Column",customType:"column"},sortOrder:{type:"string",title:"Sort Order",enum:Object.values(uo),pretty:Object.values(s7e)},limit:{type:"number",title:"Limit",customType:"queryLimit"}},required:["tableId"]},outputs:{properties:{rows:{type:"array",customType:"rows",description:"The rows that were found"},success:{type:"boolean",description:"Whether the query was successful"}},required:["rows","success"]}}};var $F={};G($F,{definition:()=>u7e});var u7e={description:"Send an email using SMTP",tagline:"Send SMTP email to {{inputs.to}}",icon:"envelope",name:"Send Email (SMTP)",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"SEND_EMAIL_SMTP",inputs:{},schema:{inputs:{properties:{to:{type:"string",title:"Send To"},from:{type:"string",title:"Send From"},cc:{type:"string",title:"CC"},bcc:{type:"string",title:"BCC"},subject:{type:"string",title:"Email Subject"},contents:{type:"longform",title:"Message",description:"Use markdown or HTML for rich text formatting: **bold**, _italics_, # Headings, * Bullets, <br> for line breaks, and more."},addInvite:{type:"boolean",title:"Add calendar invite"},startTime:{type:"date",title:"Start Time",dependsOn:"addInvite"},endTime:{type:"date",title:"End Time",dependsOn:"addInvite"},summary:{type:"string",title:"Meeting Summary",dependsOn:"addInvite"},location:{type:"string",title:"Location",dependsOn:"addInvite"},attachments:{type:"attachment",customType:"multi_attachments",title:"Attachments"}},required:["to","from","subject","contents"]},outputs:{properties:{success:{type:"boolean",description:"Whether the email was sent"},response:{type:"object",description:"A response from the email client, this may be an error"}},required:["success"]}}};var VF={};G(VF,{definition:()=>c7e});var c7e={name:"Backend log",tagline:"Console log a value in the backend",icon:"activity",description:"Logs the given text to the server (using console.log)",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"SERVER_LOG",inputs:{text:""},schema:{inputs:{properties:{text:{type:"string",title:"Log"}},required:["text"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},message:{type:"string",description:"What was output"}},required:["success","message"]}}};var HF={};G(HF,{definition:()=>l7e});var l7e={name:"Slack Message",tagline:"Send a message to Slack",description:"Send a message to Slack",icon:"ri-slack-line",stepId:"slack",type:"ACTION",internal:!1,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Incoming Webhook URL"},text:{type:"string",title:"Message"}},required:["url","text"]},outputs:{properties:{httpStatus:{type:"number",description:"The HTTP status code of the request"},success:{type:"boolean",description:"Whether the message sent successfully"},response:{type:"string",description:"The response from the Slack Webhook"}}}}};var QF={};G(QF,{definition:()=>f7e});var f7e={name:"Trigger an automation",tagline:"Triggers an automation synchronously",icon:"arrows-clockwise",description:"Triggers an automation synchronously",type:"ACTION",internal:!0,features:{},stepId:"TRIGGER_AUTOMATION_RUN",inputs:{},schema:{inputs:{properties:{automation:{type:"object",properties:{automationId:{type:"string",customType:"automation"}},customType:"automationFields",title:"Automation Fields",required:["automationId"]},timeout:{type:"number",title:"Timeout (ms)"}},required:["automationId"]},outputs:{properties:{success:{type:"boolean",description:"Whether the automation was successful"},value:{type:"object",description:"Automation Result"}},required:["success","value"]}}};var KF={};G(KF,{definition:()=>d7e});var d7e={name:"Update Row",tagline:"Update a {{inputs.enriched.table.name}} row",icon:"arrow-clockwise",description:"Update a row in your database",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"UPDATE_ROW",inputs:{},schema:{inputs:{properties:{meta:{type:"object",title:"Field settings"},row:{type:"object",customType:"row",title:"Table"},rowId:{type:"string",title:"Row ID"}},required:["row","rowId"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The updated row"},response:{type:"object",description:"The response from the table"},success:{type:"boolean",description:"Whether the action was successful"},id:{type:"string",description:"The identifier of the updated row"},revision:{type:"string",description:"The revision of the updated row"}},required:["success","id","revision"]}}};var zF={};G(zF,{definition:()=>p7e});var p7e={name:"Zapier Webhook",stepId:"zapier",type:"ACTION",internal:!1,features:{LOOPING:!0},description:"Trigger a Zapier Zap via webhooks",tagline:"Trigger a Zapier Zap",icon:"ri-flashlight-line",inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Webhook URL"},body:{type:"json",title:"Payload"}},required:["url"]},outputs:{properties:{httpStatus:{type:"number",description:"The HTTP status code of the request"},response:{type:"string",description:"The response from Zapier"}}}}};var YF={};G(YF,{definition:()=>h7e});var h7e={name:"Classify Text",icon:"PageTag",tagline:"Classify text into predefined categories using AI",description:"Analyzes text and assigns it to one of the categories you provide.",stepId:"CLASSIFY_CONTENT",internal:!0,inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{textInput:{type:"longform",title:"Text",description:"The text content you want the AI to classify."},categoryItems:{type:"array",customType:"categories",title:"Categories",description:"Add categories for the AI to use when classifying text."}},required:["textInput","categoryItems"]},outputs:{properties:{category:{type:"string",description:"The category assigned by the AI."},success:{type:"boolean",description:"Whether the classification was successful."}},required:["category","success"]}},type:"ACTION"};var JF={};G(JF,{definition:()=>m7e});var m7e={name:"LLM Prompt",tagline:"Send prompts to LLM",icon:"Algorithm",description:"Interact with an LLM.",type:"ACTION",internal:!0,features:{},stepId:"PROMPT_LLM",inputs:{prompt:""},schema:{inputs:{properties:{prompt:{type:"longform",title:"Prompt"}},required:["prompt","model"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},response:{type:"string",description:"What was output"}},required:["success","response"]}}};var XF={};G(XF,{definition:()=>g7e});var g7e={name:"Translate",tagline:"Translate text to a different language",icon:"globe",description:"Translate text to a different language.",type:"ACTION",internal:!0,features:{},stepId:"TRANSLATE",inputs:{prompt:""},schema:{inputs:{properties:{text:{type:"string",title:"Text"},language:{type:"string",title:"Language"}},required:["text","language"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},response:{type:"string",description:"What was the translated text"}},required:["success","response"]}}};var ZF={};G(ZF,{definition:()=>y7e});var Ure=(n=>(n.SHORT="Short",n.MEDIUM="Medium",n.LONG="Long",n))(Ure||{}),y7e={name:"Summarise",tagline:"Summarise text",icon:"Summarize",description:"Summarise text.",type:"ACTION",internal:!0,features:{},stepId:"SUMMARISE",inputs:{prompt:""},schema:{inputs:{properties:{text:{type:"longform",title:"Text"},length:{type:"string",title:"Length",enum:Object.values(Ure)}},required:["text","length"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},response:{type:"string",description:"What was the summarised text"}},required:["success","response"]}}};var e1={};G(e1,{definition:()=>b7e});var b7e={name:"Generate Text",icon:"Edit",tagline:"Generate contentusing AI",description:"Uses AI to generate text content based on your instructions and chosen format",stepId:"GENERATE_TEXT",internal:!0,inputs:{contentType:"document"},features:{LOOPING:!0},schema:{inputs:{properties:{contentType:{type:"string",title:"Content type",enum:Object.values($A),pretty:Object.values(UX)},instructions:{type:"longform",title:"Instructions",description:"Provide guidance to help the AI produce content in the format that you want"}},required:["contentType","instructions"]},outputs:{properties:{generatedText:{type:"string",description:"The text content generated by the AI"},success:{type:"boolean",description:"Whether the text generation was successful"}},required:["generatedText","success"]}},type:"ACTION"};var t1={};G(t1,{definition:()=>_7e});var _7e={name:"Extract Document Data",icon:"Document",tagline:"Extract structured data from documents using AI",description:"Extracts structured data from PDF or image according to provided schema.",stepId:"EXTRACT_FILE_DATA",internal:!0,inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{file:{type:"string",title:"Document",description:"Attachment or Link to the document to extract data from."},source:{type:"string",enum:Object.values(VA),title:"Source",description:"The source of the document to extract data from."},fileType:{dependsOn:{field:"source",value:"URL"},type:"string",enum:Object.values(HA),title:"File Type",description:"The type of file at the URL."},schema:{customType:"triggerSchema",title:"Data schema",description:'Schema defining the structure of data to extract. Example: {"name": "string", "price": "number"}.'}},required:["file","schema"]},outputs:{properties:{data:{type:"json",description:"The structured data extracted from the document."},success:{type:"boolean",description:"Whether the extraction was successful."}},required:["data","success"]}},type:"ACTION"};var r1={};G(r1,{definition:()=>w7e});var w7e={name:"Agent",icon:"Effect",tagline:"Run an AI agent with tools",description:"Execute a pre-configured AI agent that can use tools to accomplish tasks",stepId:"AGENT",internal:!0,inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{agentId:{customType:"agent",title:"Agent",description:"Select the agent to run"},prompt:{type:"longform",title:"Prompt",description:"The task or question to send to the agent"},useStructuredOutput:{type:"boolean",title:"Use structured output",description:"Constrain the agent response to a specific JSON structure"},outputSchema:{type:"object",customType:"outputSchema",title:"Output Schema",description:"Define the structure of the agent's output",dependsOn:"useStructuredOutput"}},required:["agentId","prompt"]},outputs:{properties:{response:{type:"string",description:"The agent's response"},success:{type:"boolean",description:"Whether the agent completed successfully"},steps:{type:"array",description:"The steps taken by the agent"},output:{type:"object",description:"Structured output from the agent (when output schema is defined)"}},required:["response","success"]}},type:"ACTION"};var n1={};G(n1,{definition:()=>E7e});var E7e={name:"State",tagline:"Extract automation state",icon:"brackets-curly",description:"Extract automation state into a named variable",type:"ACTION",internal:!0,new:!1,stepId:"EXTRACT_STATE",inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{key:{type:"string",title:"Key"},value:{type:"longform",title:"Value"}},required:["value","key"]},outputs:{properties:{value:{type:"string",description:"The result of the return statement"},success:{type:"boolean",description:"Whether the action was successful"}},required:["success"]}}};var i1={};G(i1,{definition:()=>S7e});var S7e={name:"Loop",icon:"recycle",tagline:"Loop the block",description:"Loop",stepId:"LOOP_V2",internal:!0,features:{},inputs:{},schema:{inputs:{properties:{children:{type:"array",title:"Input type"},binding:{type:"string",title:"Binding / Value"},iterations:{type:"number",title:"Max loop iterations"},failure:{type:"string",title:"Failure Condition"}}},outputs:{properties:{success:{type:"boolean",description:"Loop success"},iterations:{type:"number",description:"The number of iterations executed"},items:{type:"json",description:"Per-step iteration results"},summary:{type:"json",description:"Loop summary including per-step counters"}},required:["success"]}},type:"LOGIC"};var s1={};G(s1,{definitions:()=>D7e});var Fre={name:"User action",event:"app:trigger",icon:"cursor-click",tagline:"Automation fired from the frontend",description:"Trigger an automation from an action inside your app",stepId:"APP",inputs:{},schema:{inputs:{properties:{fields:{type:"object",customType:"triggerSchema",title:"Fields"}},required:[]},outputs:{properties:{fields:{type:"object",description:"Fields submitted from the app frontend",customType:"triggerSchema"}},required:["fields"]}},type:"TRIGGER"};var Bre={name:"CRON / Schedule",event:"cron:trigger",icon:"clock",tagline:"Cron Trigger (<b>{{inputs.cron}}</b>)",description:"Triggers automation on a cron schedule.",stepId:"CRON",inputs:{},schema:{inputs:{properties:{cron:{type:"string",customType:"cron",title:"Expression"}},required:["cron"]},outputs:{properties:{timestamp:{type:"number",description:"Timestamp the cron was executed"}},required:["timestamp"]}},type:"TRIGGER"};var qre={name:"Email Received",event:"email:trigger",icon:"envelope",tagline:"Email Trigger",description:"Triggers automation when an email is received",stepId:"EMAIL",inputs:{host:"",port:993,secure:!0,username:"",password:"",mailbox:"INBOX"},schema:{inputs:{properties:{host:{type:"string",description:"IMAP host address"},port:{type:"number",description:"IMAP port"},secure:{type:"boolean",description:"Use TLS/SSL for the IMAP connection"},username:{type:"string",description:"IMAP username"},password:{type:"string",description:"IMAP password"},mailbox:{type:"string",description:"Mailbox to monitor"}},required:["host","port","secure","username","password"]},outputs:{properties:{from:{type:"string",description:"Who sent the email"},to:{type:"string",description:"Who received the email"},cc:{type:"array",subtype:"string",description:"Who was CC'd on the email"},subject:{type:"string",description:"What was the subject of the email"},sentAt:{type:"datetime",description:"When the email was sent"},bodyText:{type:"string",description:"Email content (plain text)"}},required:["from","to"]}},type:"TRIGGER"};var jre={name:"Row Deleted",event:"row:delete",icon:"trash-simple",tagline:"Row is deleted from {{inputs.enriched.table.name}}",description:"Fired when a row is deleted from your database",stepId:"ROW_DELETED",inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"}},required:["tableId"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The row that was deleted"}},required:["row"]}},type:"TRIGGER"};var Wre={name:"Row Created",event:"row:save",icon:"rows-plus-bottom",tagline:"Row is added to {{inputs.enriched.table.name}}",description:"Fired when a row is added to your database",stepId:"ROW_SAVED",inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},filters:{type:"object",customType:"trigger_filter",title:"Filtering"}},required:["tableId"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The new row that was created"},id:{type:"string",description:"Row ID - can be used for updating"},revision:{type:"string",description:"Revision of row"}},required:["row","id"]}},type:"TRIGGER"};var Gre={name:"Row Updated",event:"row:update",icon:"arrow-clockwise",tagline:"Row is updated in {{inputs.enriched.table.name}}",description:"Fired when a row is updated in your database",stepId:"ROW_UPDATED",inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},filters:{type:"object",customType:"trigger_filter",title:"Filtering"}},required:["tableId"]},outputs:{properties:{oldRow:{type:"object",customType:"row",description:"The row that was updated",title:"Old Row"},row:{type:"object",customType:"row",description:"The row before it was updated",title:"Row"},id:{type:"string",description:"Row ID - can be used for updating"},revision:{type:"string",description:"Revision of row"}},required:["row","id"]}},type:"TRIGGER"};var $re={name:"Webhook",event:"web:trigger",icon:"paper-plane-right",tagline:"Webhook endpoint is hit",description:"Trigger an automation when a HTTP POST webhook is hit",stepId:"WEBHOOK",inputs:{},schema:{inputs:{properties:{schemaUrl:{type:"string",customType:"webhookUrl",title:"Schema URL"},triggerUrl:{type:"string",customType:"webhookUrl",title:"Trigger URL"}},required:["schemaUrl","triggerUrl"]},outputs:{properties:{body:{type:"object",description:"Body of the request which hit the webhook"}},required:["body"]}},type:"TRIGGER"};var Vre={type:"TRIGGER",name:"Row Action",event:"row:action",icon:"tree-structure",tagline:"Row action triggered in {{inputs.enriched.table.name}} by {{inputs.enriched.row._id}}",description:"row action workflow",stepId:"ROW_ACTION",inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table",readonly:!0}},required:["tableId"]},outputs:{properties:{id:{type:"string",description:"Row ID - can be used for updating"},revision:{type:"string",description:"Revision of row"},table:{type:"object",customType:"table",title:"The table linked to the row action"},row:{type:"object",customType:"row",description:"The row linked to the row action"}}}}};var D7e={ROW_SAVED:Wre,ROW_UPDATED:Gre,ROW_DELETED:jre,WEBHOOK:$re,APP:Fre,CRON:Bre,EMAIL:qre,ROW_ACTION:Vre};var P7e=Object.values(Me).sort((e,t)=>t.length-e.length);function Hre(e){return P7e.find(t=>e.startsWith(`${t}${ce}`))}o(Hre,"getDocumentType");var N7e=Object.values(Hc).sort((e,t)=>t.length-e.length);function Qre(e){return N7e.find(t=>e.startsWith(`${t}${ce}`))}o(Qre,"getVirtualDocumentType");var L7e=new RegExp("^datasource_plus_(.+)__(.+)$"),$R=o(e=>t=>!!t&&t.startsWith(`${e}${ce}`),"idCheckFor"),k7e=o(e=>{let t=e.match(L7e);return!!e&&t!==null},"isExternalTableId"),Ns=o(e=>M7e(e)||k7e(e),"isTableIdOrExternalTableId"),M7e=$R("ta"),ln=$R("view"),fm=$R("datasource"),Kre=$R("query");function Zr(e){if(!ln(e))throw new Error("Unable to extract table ID, is not a view ID");let t=e.split(ce);return t.shift(),e=t.join(ce),new RegExp(`^(?<tableId>.+)${ce}([^${ce}]+)$`).exec(e).groups.tableId}o(Zr,"getTableIdFromViewId");var a1=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(a1||{}),ol=(f=>(f.USER_BY_WORKSPACE="by_app",f.USER_BY_EMAIL="by_email2",f.BY_API_KEY="by_api_key",f.LINK="by_link",f.ROUTING="screen_routes_2",f.AUTOMATION_LOGS="automation_logs",f.ACCOUNT_BY_EMAIL="account_by_email",f.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",f.USER_BY_GROUP="user_by_group",f.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",f))(ol||{}),j_={by_email2:["by_email"]},tr={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"}},Ls=ti("app"),u1=ti("app_dev"),ks=u1,sl="internal",zre="budibase",Fn="_design/sqlite",Yre="ta_bb_jobs",Jre="ta_bb_inventory",Xre="ta_bb_expenses",Zre="ta_bb_employee",VR=`ro${ce}ta_users${ce}`,pd=(r=>(r[r.SQLITE=Fn]="SQLITE",r.MIGRATIONS="_design/migrations",r))(pd||{});var c1=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(c1||{}),dm=(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))(dm||{}),ene=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(ene||{}),tne=(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))(tne||{}),U7e=new Date(-2147483647e3),l1=new Date(2147483647e3),Lr="default";var Be={};G(Be,{CacheKey:()=>bn,TTL:()=>Op,bustCache:()=>Yg,destroy:()=>yS,docWritethrough:()=>YH,generic:()=>bS,get:()=>Ip,invite:()=>XH,keys:()=>V0,passwordReset:()=>ZH,store:()=>uc,user:()=>df,withCache:()=>ef,withCacheWithDynamicTTL:()=>YRe,workspace:()=>Kw,writethrough:()=>U3});var YH={};G(YH,{DocWritethrough:()=>zH,DocWritethroughProcessor:()=>gS,getProcessor:()=>kMt,init:()=>zRe});var Vn={};G(Vn,{BudibaseQueue:()=>Gs,InMemoryQueue:()=>AI,JobQueue:()=>ng,QueuedProcessor:()=>KH,UnretriableError:()=>G0,shutdown:()=>lct});var f1=require("crypto"),QR=require("fs"),B7e=require("lodash"),W_=require("path");var q7e=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,W_.resolve)((0,W_.join)(__dirname,"..","..","..")),rne=!1;!rne&&HR()&&!d1()&&(require("dotenv").config({path:(0,W_.join)(q7e,".env")}),rne=!0);function d1(){return ine()}o(d1,"isTest");function ine(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}o(ine,"isJest");function HR(){return process.env.NODE_ENV!=="production"}o(HR,"isDev");function j7e(e){if(e)return parseInt(e)}o(j7e,"parseIntSafe");var pm={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},nne=!!parseInt(process.env.SELF_HOSTED||"");function W7e(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}o(W7e,"getAPIEncryptionKey");function G7e(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}o(G7e,"httpLogging");function $7e(){function e(r){function n(u,c){let l=`${c}/${u}`;if((0,QR.existsSync)(l))return l;let f=`${c}/..`;return f===c?null:n(u,f)}o(n,"findFileInAncestors");let i=n(r,process.cwd()),s=(0,QR.readFileSync)(i,"utf-8");return JSON.parse(s)}o(e,"getParentFile");let t;if(HR()&&!d1())try{t=`${e("lerna.json").version}+local`}catch{}try{let r=e("package.json");return{VERSION:t||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}o($7e,"getPackageJsonFields");function V7e(){return al.SERVICE_TYPE==="worker"}o(V7e,"isWorker");function H7e(){return al.SERVICE_TYPE==="apps"}o(H7e,"isApps");function Q7e(){return al.BUDIBASE_ENVIRONMENT==="QA"}o(Q7e,"isQA");function K7e(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}o(K7e,"getServiceName");var al={isTest:d1,isJest:ine,isDev:HR,isWorker:V7e,isApps:H7e,isQA:Q7e,isProd:()=>!HR(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,f1.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,f1.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:W7e(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:nne,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||pm.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||pm.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||pm.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||pm.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||pm.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||pm.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:K7e(),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:G7e(),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:nne?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...$7e(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(e,t){process.env[e]=t,al[e]=t},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,OPENAI_API_KEY:process.env.OPENAI_API_KEY,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:j7e(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};var one=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","OPENAI_API_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[e,t]of Object.entries(al))t==="0"&&(al[e]=0),t==="false"&&(al[e]=0);var L=al;var YR={};G(YR,{Databases:()=>p1,SEPARATOR:()=>hm,SelectableDatabase:()=>KR,getRedisClusterOptions:()=>h1,getRedisConnectionDetails:()=>zR,getRedisOptions:()=>hd,removeDbPrefix:()=>m1});var hm="-",p1=(E=>(E.PW_RESETS="pwReset",E.VERIFICATIONS="verification",E.INVITATIONS="invitation",E.DEV_LOCKS="devLocks",E.DEBOUNCE="debounce",E.SESSIONS="session",E.USER_CACHE="users",E.FLAGS="flags",E.WORKSPACE_METADATA="appMetadata",E.QUERY_VARS="queryVars",E.LICENSES="license",E.GENERIC_CACHE="data_cache",E.WRITE_THROUGH="writeThrough",E.LOCKS="locks",E.SOCKET_IO="socket_io",E.BPM_EVENTS="bpmEvents",E.DOC_WRITE_THROUGH="docWriteThrough",E.RECAPTCHA_SESSION="recaptchaSession",E.OPENAPI_IMPORT_SPECS="openapiImportSpecs",E))(p1||{}),KR=(y=>(y[y.DEFAULT=0]="DEFAULT",y[y.SOCKET_IO=1]="SOCKET_IO",y[y.RATE_LIMITING=2]="RATE_LIMITING",y[y.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",y[y.UNUSED_3=4]="UNUSED_3",y[y.UNUSED_4=5]="UNUSED_4",y[y.UNUSED_5=6]="UNUSED_5",y[y.UNUSED_6=7]="UNUSED_6",y[y.UNUSED_7=8]="UNUSED_7",y[y.UNUSED_8=9]="UNUSED_8",y[y.UNUSED_9=10]="UNUSED_9",y[y.UNUSED_10=11]="UNUSED_10",y[y.UNUSED_11=12]="UNUSED_11",y[y.UNUSED_12=13]="UNUSED_12",y[y.UNUSED_13=14]="UNUSED_13",y[y.UNUSED_14=15]="UNUSED_14",y))(KR||{});function zR(){let e=L.REDIS_PASSWORD,t=L.REDIS_USERNAME,r=L.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");t=t||a[0]||void 0,e=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),s=parseInt(i);return{host:n,password:e,username:t,port:isNaN(s)?6379:s}}o(zR,"getRedisConnectionDetails");function h1(){return{slotsRefreshTimeout:2e3,dnsLookup:(e,t)=>t(null,e),redisOptions:{...hd(),tls:{}}}}o(h1,"getRedisClusterOptions");function hd(){let{host:e,password:t,port:r,username:n}=zR();return{connectTimeout:3e4,port:r,host:e,password:t,...n&&{username:n}}}o(hd,"getRedisOptions");function m1(e){let t=e.split(hm);return t.length>=2?(t.shift(),t.join(hm)):t[0]}o(m1,"removeDbPrefix");var kle=U(require("events"));var nt={};G(nt,{Duration:()=>nr,DurationType:()=>Lle,GZIP_PREFIX:()=>vI,clearCookie:()=>Dl,compare:()=>b1,getCookie:()=>$u,getDispatcher:()=>Jut,getWorkspaceIdFromCtx:()=>Bd,gunzipFromBase64:()=>tct,gzipToBase64:()=>ect,hasCircularStructure:()=>Gut,hash:()=>y1,isAudited:()=>Gq,isClient:()=>Wut,isPublicApiRequest:()=>qut,isServingApp:()=>Uut,isServingBuilder:()=>Fut,isServingBuilderPreview:()=>But,isValidInternalAPIKey:()=>rE,newid:()=>Nt,openJwt:()=>EI,setCookie:()=>Nle,time:()=>Vut,timeout:()=>Wq,urlHasProtocol:()=>$ut,validEmail:()=>$q});var sne=require("uuid");function Nt(){return(0,sne.v4)().replace(/-/g,"")}o(Nt,"newid");var g1=require("bcrypt"),z7e=L.SALT_ROUNDS||10;async function y1(e){let t=await g1.genSalt(z7e);return g1.hash(e,t)}o(y1,"hash");async function b1(e,t){return g1.compare(e,t)}o(b1,"compare");var wI=U(require("jsonwebtoken"));var C={};G(C,{DEFAULT_TENANT_ID:()=>Lr,baseGlobalDBName:()=>Vw,doInAutomationContext:()=>Vat,doInContext:()=>yq,doInEnvironmentContext:()=>rut,doInFeatureFlagOverrideContext:()=>vq,doInIPContext:()=>wq,doInIdentityContext:()=>V_,doInLicenseContext:()=>Qat,doInScimContext:()=>nut,doInSelfHostTenantUsingCloud:()=>Hat,doInTenant:()=>ji,doInWorkspaceContext:()=>Yat,doInWorkspaceMigrationContext:()=>Xat,ensureSnippetContext:()=>Bce,getAuditLogDBName:()=>Uce,getAuditLogsDB:()=>out,getAutomationId:()=>bq,getCurrentContext:()=>kd,getDevWorkspaceDB:()=>aut,getDevWorkspaceId:()=>eut,getEnvironmentVariables:()=>iut,getFeatureFlagOverrides:()=>Tq,getFeatureFlags:()=>Eq,getGlobalDB:()=>gt,getGlobalDBName:()=>Ld,getIP:()=>_q,getIdentity:()=>Du,getLicense:()=>Kat,getOrThrowWorkspaceId:()=>Zat,getPlatformURL:()=>gq,getProdWorkspaceDB:()=>sut,getProdWorkspaceId:()=>tut,getScimDBName:()=>jat,getSelfHostCloudDB:()=>zat,getTableForView:()=>uut,getTenantIDFromWorkspaceID:()=>Jm,getTenantId:()=>Ue,getWorkspaceDB:()=>Xm,getWorkspaceId:()=>Si,identity:()=>$_,isMultiTenant:()=>Cl,isScim:()=>Ws,isSelfHostUsingCloud:()=>nI,isTenancyEnabled:()=>Gat,isTenantIdSet:()=>Wat,setFeatureFlags:()=>Sq,setTableForView:()=>cut});var $_={};G($_,{doInAccountContext:()=>Y7e,doInIdentityContext:()=>w1,doInUserContext:()=>E1,getAccountUserId:()=>ane,getIdentity:()=>_1});function _1(){return Du()}o(_1,"getIdentity");function w1(e,t){return V_(e,t)}o(w1,"doInIdentityContext");function E1(e,t,r){let n={...e,_id:e._id,type:"user",hostInfo:{ipAddress:t.request.ip,userAgent:t.userAgent.source}};return w1(n,r)}o(E1,"doInUserContext");function Y7e(e,t){let r=ane(e),n=e.tenantId,i={_id:r,type:"user",tenantId:n,account:e};return w1(i,t)}o(Y7e,"doInAccountContext");function ane(e){let t;return WA(e)?t=e.budibaseUserId:t=e.accountId,t}o(ane,"getAccountUserId");var Ms=o(e=>{let t=S1(e),r,n;if(t.auth?.username)r=t.auth.username;else if(L.COUCH_DB_USERNAME)r=L.COUCH_DB_USERNAME;else if(!L.isTest())throw new Error("CouchDB username not set");if(t.auth?.password)n=t.auth.password;else if(L.COUCH_DB_PASSWORD)n=L.COUCH_DB_PASSWORD;else if(!L.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),s=L.COUCH_DB_SQL_URL;if(L.isDev()&&!s)s="http://localhost:4006";else if(!s&&t.url){let a=new URL(t.url);s=t.url.replace(a.port,"4984")}return{url:t.url,sqlUrl:S1(s).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),S1=o((e=L.COUCH_DB_URL)=>{let t,r,n,i;if(e){/^https?:\/\//i.test(e)||(e=`http://${e}`);let a=e.split("://"),u=a[0],c=a.slice(1).join("://");if(e.includes("@")){let l=c.split("@");i=l[l.length-1];let f=l.slice(0,-1).join("@");if(f.includes(":")){let d=f.split(":");r=d[0],n=d.slice(1).join(":")}else r=f}else i=c;t=`${u}://${i}`}return{url:t,auth:{username:r,password:n}}},"getUrlInfo");var Lce=U(require("@budibase/nano"));var une=U(require("node-fetch"));function JR(e){return e.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}o(JR,"checkSlashesInUrl");async function cne(e,t="GET",r){let{url:n,cookie:i}=Ms(),s=`${n}/${e}`;return await H_({url:s,cookie:i,method:t,body:r})}o(cne,"directCouchCall");async function H_({url:e,cookie:t,method:r,body:n}){let i={method:r,headers:{Authorization:t}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,une.default)(JR(encodeURI(e)),i)}o(H_,"directCouchUrlCall");async function T1(e,t="GET",r){let n=await cne(e,t,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}o(T1,"directCouchQuery");var Nd=U(require("pouchdb"));var Cce,xce=!1,oq=o((e={})=>{let{url:t,cookie:r}=Ms(),n={prefix:t,fetch:(i,s)=>(s.headers.set("Authorization",r),Nd.default.fetch(i,s))};if(e.inMemory){let i=Sae();Nd.default.plugin(i),n={adapter:"memory"}}if(e.onDisk&&(n={adapter:"leveldb"}),e.replication){let i=Ice();Nd.default.plugin(i.plugin),Nd.default.adapter("writableStream",i.adapters.writableStream)}if(e.find){let i=require("pouchdb-find");Nd.default.plugin(i)}return Nd.default.defaults(n)},"getPouch");function XO(e){Cce=oq(e),xce=!0}o(XO,"init");var Tat=o(()=>{if(!xce)throw new Error("init has not been called")},"checkInitialised");function es(e,t){Tat();let r=new Cce(e,t),n=r.put;return r.put=async(i,s={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,s)),r.exists=async()=>!(await r.info()).error,r}o(es,"getPouchDB");async function Ww(e){if(!(!e||L.isTest()))try{return await e.close()}catch{}}o(Ww,"closePouchDB");var Mr=U(require("dd-trace"));var Km=class{constructor(t){this.db=t}static{o(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(t){return Mr.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:t}),t?this.db.exists(t):this.db.exists()))}get(t){return Mr.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:t}),this.db.get(t)))}tryGet(t){return Mr.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:t});let n=await this.db.tryGet(t);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(t,r){return Mr.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:t?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(t,r);return n.addTags({num_docs_found:i.length}),i})}remove(t,r){return Mr.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:t,rev:r});let i=typeof t=="object",s=i?t._id:t;r=i?t._rev:r;let a=await this.db.remove(s,r);return n.addTags({ok:a.ok}),a})}bulkRemove(t,r){return Mr.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:t.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(t,r)))}put(t,r){return Mr.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:t._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(t,r);return n.addTags({ok:i.ok}),i})}bulkDocs(t){return Mr.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:t.length}),this.db.bulkDocs(t)))}async find(t){return Mr.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.find(t);return r.addTags({rows_length:n.docs.length}),n})}allDocs(t){return Mr.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.allDocs(t);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(t,r){return Mr.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:t,...r});let i=await this.db.query(t,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return Mr.default.trace("db.destroy",async t=>{t.addTags({db_name:this.name});let r=await this.db.destroy();return t.addTags({ok:r.ok}),r})}compact(){return Mr.default.trace("db.compact",async t=>{t.addTags({db_name:this.name});let r=await this.db.compact();return t.addTags({ok:r.ok}),r})}dump(t,r){return Mr.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(t,r)))}load(...t){return Mr.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.load(...t)))}createIndex(...t){return Mr.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.createIndex(...t)))}deleteIndex(...t){return Mr.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.deleteIndex(...t)))}getIndexes(...t){return Mr.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.getIndexes(...t)))}sql(t,r){return Mr.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(t,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(t){return Mr.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(t)?t.length:1}),this.db.sqlPurgeDocument(t)))}sqlDiskCleanup(){return Mr.default.trace("db.sqlDiskCleanup",t=>(t.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var pq={};G(pq,{breakExternalTableId:()=>uq,breakRowIdField:()=>Mat,buildExternalTableId:()=>xat,convertRowId:()=>kat,encodeTableId:()=>Dat,encodeViewId:()=>Pat,extractDate:()=>lq,generateRowIdField:()=>Nat,getNativeSql:()=>zm,isExternalTable:()=>aq,isExternalTableID:()=>ZO,isInternalTableID:()=>Cat,isRowId:()=>Lat,isValidFilter:()=>tI,isValidISODateString:()=>eI,isValidISODateStringWithoutTimezone:()=>cq,isValidTime:()=>fq,sqlLog:()=>Gw,validateManyToMany:()=>dq});var sq=`${ce}${ce}`,Dce=/^\[.*]$/g,vat=encodeURIComponent(" "),Aat=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,Rat=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,Oat=/(\d{4}-\d{2}-\d{2})/,Iat=/^(?:\d{2}:)?(?:\d{2}:)(?:\d{2})$/;function ZO(e){return e.startsWith("datasource"+ce)}o(ZO,"isExternalTableID");function Cat(e){return!ZO(e)}o(Cat,"isInternalTableID");function zm(e){let t=e.toSQL();if(Array.isArray(t))return t;let r;return t.toNative&&(r=t.toNative()),{sql:r?.sql||t.sql,bindings:r?.bindings||t.bindings}}o(zm,"getNativeSql");function aq(e){return e?.sourceId&&e.sourceId.includes("datasource"+ce)&&e?.sourceId!==Qb||e?.sourceType==="external"?!0:!!(e?._id&&ZO(e._id))}o(aq,"isExternalTable");function xat(e,t){return`${e}${sq}${encodeURIComponent(t)}`}o(xat,"buildExternalTableId");function Dat(e){return ZO(e)?encodeURIComponent(e):e}o(Dat,"encodeTableId");function Pat(e){return encodeURIComponent(e)}o(Pat,"encodeViewId");function uq(e){let t=e.split(sq),r=t.shift(),n=t.join(sq);if(n.includes(vat)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}o(uq,"breakExternalTableId");function Nat(e=[]){Array.isArray(e)||(e=[e]);for(let t in e)e[t]instanceof Buffer&&(e[t]=e[t].toString());return encodeURIComponent(JSON.stringify(e).replace(/"/g,"'"))}o(Nat,"generateRowIdField");function Lat(e){return Array.isArray(e)||typeof e=="string"&&e.match(Dce)!=null}o(Lat,"isRowId");function kat(e){return Array.isArray(e)?e[0]:typeof e=="string"&&e.match(Dce)!=null?e.substring(1,e.length-1):e}o(kat,"convertRowId");function Mat(e){if(!e)return[];let t=typeof e=="string"?e:e._id,r=decodeURIComponent(t).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[e]}}o(Mat,"breakRowIdField");function eI(e){let t=e.trim();if(!Aat.test(t))return!1;let r=new Date(t);return!isNaN(r.getTime())}o(eI,"isValidISODateString");function cq(e){let t=e.trim();if(!Rat.test(t))return!1;let r=new Date(t);return!isNaN(r.getTime())}o(cq,"isValidISODateStringWithoutTimezone");function lq(e){let t=e.match(Oat);if(t)return t[0]}o(lq,"extractDate");function tI(e){return e!=null&&e!==""}o(tI,"isValidFilter");function fq(e){return Iat.test(e)}o(fq,"isValidTime");function Gw(e,t,r){if(!L.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${e.toUpperCase()}] query="${t}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}o(Gw,"sqlLog");function Uat(e){return!!e.through&&!!e.fromPrimary&&!!e.from&&!!e.toPrimary&&!!e.to}o(Uat,"isValidManyToManyRelationship");function dq(e){if(Uat(e))return e}o(dq,"validateManyToMany");var Pce="Database does not exist.";function Nce(e){return(0,Lce.default)({url:e.url,requestDefaults:{headers:{Authorization:e.cookie}},parseUrl:!1})}o(Nce,"buildNano");var Ol=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{o(this,"CouchDBError")}};function Fat(e,t,r){if(!e||!t)throw new Error("Unable to create database without database name or connection");let n=new Ym(e,r,t);return new Km(n)}o(Fat,"DatabaseWithConnection");var Ym=class e{constructor(t,r,n){this.couchInfo=Ms();this.name=t,this.pouchOpts=r||{},n&&(this.couchInfo=Ms(n),this.instanceNano=Nce(this.couchInfo)),e.nano||e.init()}static{o(this,"DatabaseImpl")}static init(){let t=Ms();e.nano=Nce(t)}exists(t){return t===void 0?this.dbExists():this.docExists(t)}async dbExists(){return(await H_({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(t){try{return await this.performCall(r=>()=>r.head(t)),!0}catch{return!1}}nano(){return this.instanceNano||e.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let t=!this.pouchOpts?.skip_setup,r=await this.exists();if(!t&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new Ol(n.message,n)}return this.getDb()}async performCallWithDBCreation(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===Pce)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(t);throw new Ol(`CouchDB error: ${i.message}`,i)}}async performCall(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){throw new Ol(`CouchDB error: ${i.message}`,i)}}async get(t){return this.performCall(r=>{if(!t)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(t)})}async tryGet(t){try{return await this.get(t)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(t,r){if(!t||t.length===0)return[];t=[...new Set(t)];let n=!r?.excludeDocs,i=await this.allDocs({keys:t,include_docs:n}),s=o(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=>!s(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(f=>s(f)).map(f=>f.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(t,r){return this.performCall(n=>{let i,s;if(NX(t)?(i=t._id,s=t._rev):(i=t,s=r),!i||!s)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,s)})}async bulkRemove(t,r){let n=await this.performCall(a=>()=>a.bulk({docs:t.map(u=>({...u,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,s="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,s+=a.error);if(i)throw new Ol(s,{name:this.name,status:400})}async post(t,r){return t._id||(t._id=Nt()),this.put(t,r)}async put(t,r){if(!t._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(t.createdAt||(t.createdAt=new Date().toISOString()),t.updatedAt=new Date().toISOString(),r?.force&&t._id)try{let i=await this.get(t._id);i&&(t._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(t);return r?.returnDoc?{...i,doc:{...t,_rev:i.rev}}:i}})}async bulkDocs(t){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:t.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(t){return this.performCall(r=>async()=>r.find(t))}async allDocs(t){return this.performCall(r=>async()=>{try{return await r.list(t)}catch(n){if(n.reason===Pce)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(t,r,n){t=JR(`${this.couchInfo.sqlUrl}/${t}`);let i={url:t,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let s=await H_(i),a=await s.text();if(s.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new Ol("error while running SQS query, please try again later",{name:"sqs_error",status:s.status})}throw u}return JSON.parse(a)})}async sql(t,r){let i=`/${this.name}/${Fn}`;return Gw("sqlite3",t,r),await this._sqlQuery(i,"POST",{query:t,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(t){Array.isArray(t)||(t=[t]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:t})}async query(t,r){return this.performCall(n=>{let[i,s]=t.split("/");return()=>n.view(i,s,r)})}async destroy(){if(await this.exists(Fn)){let t=await this.get(Fn);t.sql.tables={},await this.put(t),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(t){if(t.statusCode===404)return{ok:!0};throw new Ol(t.message,t)}}async compact(){return this.performCall(t=>()=>t.compact())}async dump(t,r){return es(this.name).dump(t,r)}async load(t){return es(this.name).load(t)}async createIndex(t){return es(this.name).createIndex(t)}async deleteIndex(t){return es(this.name).deleteIndex(t)}async getIndexes(){return es(this.name).getIndexes()}};function Ei(e,t){return new Km(new Ym(e,t))}o(Ei,"getDB");async function Oo(e,t,r){let n=Ei(e,r);return await t(n)}o(Oo,"doWithDB");async function hq(e){let t="/_all_dbs";return e&&(t+=`?${e}`),await T1(t)}o(hq,"directCouchAllDbs");var mq="No app provided";function Il(e){if(!e)throw mq;return e.startsWith(ks)}o(Il,"isDevWorkspaceID");function Bat(e){if(!e)throw mq;return e.startsWith(Ls)&&!Il(e)}o(Bat,"isProdWorkspaceID");function $w(e){if(!e)throw mq;return Il(e.appId)}o($w,"isDevWorkspace");function rI(e){if(!e||e.startsWith(ks))return e;let t=e.split(Ls);t.shift();let r=t.join(Ls);return`${ks}${r}`}o(rI,"getDevWorkspaceID");function Io(e){if(!e||!e.startsWith(ks))return e;let t=e.split(ks);t.shift();let r=t.join(ks);return`${Ls}${r}`}o(Io,"getProdWorkspaceID");var kce=require("async_hooks");var tn=class e{static{o(this,"Context")}static{this.storage=new kce.AsyncLocalStorage}static run(t,r){return e.storage.run(t,()=>r())}static get(){return e.storage.getStore()}};var Mce=null;function Ld(e){return e||(e=Ue()),Vw(e)}o(Ld,"getGlobalDBName");function Uce(e){return e||(e=Ue()),e===Lr?tr.AUDIT_LOGS.name:`${e}${ce}${tr.AUDIT_LOGS.name}`}o(Uce,"getAuditLogDBName");function jat(e){return e||(e=Ue()),e===Lr?tr.SCIM_LOGS.name:`${e}${ce}${tr.SCIM_LOGS.name}`}o(jat,"getScimDBName");function Vw(e){return!e||e===Lr?tr.GLOBAL.name:`${e}${ce}${tr.GLOBAL.name}`}o(Vw,"baseGlobalDBName");function gq(){return L.PLATFORM_URL}o(gq,"getPlatformURL");function Cl(){return!!L.MULTI_TENANCY}o(Cl,"isMultiTenant");function Wat(){return!!tn.get()?.tenantId}o(Wat,"isTenantIdSet");function Gat(){return L.MULTI_TENANCY}o(Gat,"isTenancyEnabled");function Jm(e){if(!e)return;if(!Cl())return Lr;let t=e.split(ce),r=t[1]==="dev";if(!(r&&t.length===3||!r&&t.length===2))return r?t[2]:t[1]}o(Jm,"getTenantIDFromWorkspaceID");function $at(e){let t;try{t=tn.get()}catch{t={}}return t={...t,...e},t}o($at,"updateContext");async function qs(e,t){Jat();let r=$at(e);return tn.run(r,t)}o(qs,"newContext");async function Vat(e){return await Bce(),await qs({tenantId:Jm(e.workspaceId),appId:e.workspaceId,automationId:e.automationId},e.task)}o(Vat,"doInAutomationContext");async function yq(e,t){let r=Jm(e);return qs({tenantId:r,appId:e},t)}o(yq,"doInContext");async function ji(e,t){return L.MULTI_TENANCY||(e=e||Lr),qs(e?{tenantId:e}:{},t)}o(ji,"doInTenant");async function Hat(e,t){return qs({tenantId:e,isSelfHostUsingCloud:!0},t)}o(Hat,"doInSelfHostTenantUsingCloud");async function Qat(e,t){return qs({license:e},t)}o(Qat,"doInLicenseContext");function Kat(){return tn.get()?.license}o(Kat,"getLicense");function nI(){return!!tn.get()?.isSelfHostUsingCloud}o(nI,"isSelfHostUsingCloud");function zat(){let e=tn.get();if(!e||!e.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return Ei(tr.SELF_HOST_CLOUD.name)}o(zat,"getSelfHostCloudDB");async function Yat(e,t){return Fce(e,t)}o(Yat,"doInWorkspaceContext");async function Fce(e,t,r){if(!e)throw new Error("workspaceId is required");let n=Jm(e),i={appId:e,...r};return n&&(i.tenantId=n),qs(i,t)}o(Fce,"_doInWorkspaceContext");async function V_(e,t){if(!e)throw new Error("identity is required");let r={identity:e};return e.tenantId&&(r.tenantId=e.tenantId),qs(r,t)}o(V_,"doInIdentityContext");function Jat(){if(tn.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}o(Jat,"guardMigration");async function Xat(e,t){return Fce(e,t,{isMigrating:!0})}o(Xat,"doInWorkspaceMigrationContext");function Du(){try{return tn.get()?.identity}catch{}}o(Du,"getIdentity");function Ue(){if(!Cl())return Lr;let t=tn.get()?.tenantId;if(!t)throw new Error("Tenant id not found");return t}o(Ue,"getTenantId");function bq(){return tn.get()?.automationId}o(bq,"getAutomationId");function Si(){let t=tn.get()?.appId;return!t&&L.isTest()&&Mce?Mce:t}o(Si,"getWorkspaceId");function Zat(){let e=Si();if(!e)throw new Error("Workspace id not set");return e}o(Zat,"getOrThrowWorkspaceId");function _q(){return tn.get()?.ip}o(_q,"getIP");var eut=o(()=>{let e=Si();if(!e)throw new Error("Could not get workspaceId");return rI(e)},"getDevWorkspaceId"),tut=o(()=>{let e=Si();if(!e)throw new Error("Could not get workspaceId");return Io(e)},"getProdWorkspaceId");function rut(e,t){if(!e)throw new Error("Must supply environment variables.");return qs({environmentVariables:e},t)}o(rut,"doInEnvironmentContext");function nut(e){return qs({isScim:!0},e)}o(nut,"doInScimContext");function wq(e,t){return qs({ip:e},t)}o(wq,"doInIPContext");async function Bce(){let e=kd();if(!e||e.snippets)return;let t,r=Xm();r&&(t=(await r.tryGet("app_metadata"))?.snippets),e.snippets=t||[]}o(Bce,"ensureSnippetContext");function iut(){let e=tn.get();return e.environmentVariables?e.environmentVariables:null}o(iut,"getEnvironmentVariables");function gt(){let e=tn.get();if(!e||L.MULTI_TENANCY&&!e.tenantId)throw new Error("Global DB not found");if(e.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return Ei(Vw(e?.tenantId))}o(gt,"getGlobalDB");function out(){if(!Ue())throw new Error("No tenant ID found - cannot open audit log DB");return Ei(Uce())}o(out,"getAuditLogsDB");function Xm(e){let t=Si();if(!t)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(nI())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return Ei(t,e)}o(Xm,"getWorkspaceDB");function sut(e){let t=Si();if(!t)throw new Error("Unable to retrieve prod DB - no workspace ID.");return Ei(Io(t),e)}o(sut,"getProdWorkspaceDB");function aut(e){let t=Si();if(!t)throw new Error("Unable to retrieve dev DB - no workspace ID.");return Ei(rI(t),e)}o(aut,"getDevWorkspaceDB");function Ws(){return!!tn.get()?.isScim}o(Ws,"isScim");function kd(){try{return tn.get()}catch{return}}o(kd,"getCurrentContext");function Eq(e){let t=kd();if(t)return t.featureFlagCache?.[e]}o(Eq,"getFeatureFlags");function Sq(e,t){let r=kd();r&&(r.featureFlagCache??={},r.featureFlagCache[e]=t)}o(Sq,"setFeatureFlags");function Tq(){return kd()?.featureFlagOverrides||{}}o(Tq,"getFeatureFlagOverrides");async function vq(e,t){return await qs({featureFlagOverrides:e},t)}o(vq,"doInFeatureFlagOverrideContext");function uut(e){let t=kd();if(t)return t.viewToTableCache?.[e]}o(uut,"getTableForView");function cut(e,t){let r=kd();r&&(r.viewToTableCache??={},r.viewToTableCache[e]=t)}o(cut,"setTableForView");var F={};G(F,{AutomationViewMode:()=>a1,BUDIBASE_DATASOURCE_TYPE:()=>zre,DEFAULT_BB_DATASOURCE_ID:()=>Qb,DEFAULT_EMPLOYEE_TABLE_ID:()=>Zre,DEFAULT_EXPENSES_TABLE_ID:()=>Xre,DEFAULT_INVENTORY_TABLE_ID:()=>Jre,DEFAULT_JOBS_TABLE_ID:()=>Yre,DatabaseImpl:()=>Ym,DatabaseWithConnection:()=>Fat,DeprecatedViews:()=>j_,DesignDocuments:()=>pd,DocumentType:()=>Me,InternalTable:()=>Tu,QueryBuilder:()=>Gu,Replication:()=>Rle,SEPARATOR:()=>ce,SQLITE_DESIGN_DOC_ID:()=>Fn,SQS_DATASOURCE_INTERNAL:()=>sl,StaticDatabases:()=>tr,UNICODE_MAX:()=>Mn,USER_METADATA_PREFIX:()=>VR,ViewName:()=>ol,WORKSPACE_DEV:()=>u1,WORKSPACE_DEV_PREFIX:()=>ks,WORKSPACE_PREFIX:()=>Ls,baseGlobalDBName:()=>Vw,checkErrorCode:()=>xle,closePouchDB:()=>Ww,createApiKeyView:()=>wle,createNewUserEmailView:()=>ble,createPlatformAccountEmailView:()=>Sle,createPlatformUserView:()=>Tle,createUserAppView:()=>_le,createView:()=>rg,dbExists:()=>Aut,directCouchAllDbs:()=>hq,directCouchCall:()=>cne,directCouchQuery:()=>T1,directCouchUrlCall:()=>H_,doWithDB:()=>Oo,fullSearch:()=>xut,generateAIConfigID:()=>ole,generateAgentFileID:()=>ile,generateAgentID:()=>ele,generateAgentToolSourceID:()=>nle,generateAppUserID:()=>yI,generateChatAppID:()=>tle,generateChatConversationID:()=>rle,generateDevInfoID:()=>Jce,generateGlobalUserID:()=>tg,generateOAuth2LogID:()=>Zce,generatePluginID:()=>Xce,generateRoleID:()=>Dq,generateRowID:()=>xq,generateTableID:()=>Hce,generateTemplateID:()=>Yce,generateUserMetadataID:()=>Kce,generateVectorDbID:()=>cle,generateWorkspaceAppID:()=>ale,generateWorkspaceFavouriteID:()=>ule,generateWorkspaceID:()=>Vce,getAllDbs:()=>yle,getAllWorkspaces:()=>Yw,getCouchInfo:()=>Ms,getDB:()=>Ei,getDevWorkspaceID:()=>rI,getDevWorkspaceIDs:()=>Tut,getDocParams:()=>ju,getGlobalDBName:()=>Ld,getGlobalIDFromUserMetadataID:()=>zce,getGlobalUserParams:()=>Ud,getLiteLLMKeyID:()=>sle,getOAuth2ConfigParams:()=>hle,getPluginParams:()=>ple,getPouch:()=>oq,getPouchDB:()=>es,getProdWorkpaceIDs:()=>Sut,getProdWorkspaceID:()=>Io,getQueryIndex:()=>lle,getRoleParams:()=>_I,getRowParams:()=>Pq,getStartEndKeyURL:()=>zw,getTemplateParams:()=>dle,getUrlInfo:()=>S1,getUserMetadataParams:()=>fle,getUsersByWorkspaceParams:()=>bI,getWorkspaceAppParams:()=>mle,getWorkspaceFavouriteParams:()=>gle,getWorkspacesByIDs:()=>Eut,init:()=>XO,isDevWorkspace:()=>$w,isDevWorkspaceID:()=>Il,isDocumentConflictError:()=>Put,isGlobalUserID:()=>Qce,isProdWorkspaceID:()=>Bat,isSameWorkspaceID:()=>vut,paginatedSearch:()=>Cut,pagination:()=>Nq,prefixRoleID:()=>qu,queryGlobalView:()=>Wu,queryGlobalViewRaw:()=>Mq,queryPlatformView:()=>Xw,queryView:()=>kq,queryViewRaw:()=>Jw,removeKeyNumbering:()=>Zw,searchIndexes:()=>Bq});var Kw={};G(Kw,{WorkspaceState:()=>Cq,getWorkspaceMetadata:()=>gI,invalidateWorkspaceMetadata:()=>_ut});var xl={};G(xl,{getCacheClient:()=>Rq,getDocWritethroughClient:()=>mut,getInviteClient:()=>Md,getLockClient:()=>Iq,getOpenapiImportSpecsClient:()=>put,getPasswordResetClient:()=>Qw,getSessionClient:()=>eg,getSocketClient:()=>hut,getUserClient:()=>Hw,getWorkspaceClient:()=>mI,getWritethroughClient:()=>Oq,init:()=>ts,shutdown:()=>Gce});var oI=U(require("ioredis"));var iI=require("dd-trace"),jce=require("lodash");var qce;if(L.MOCK_REDIS)try{qce=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function lut(e=0){return await iI.tracer.trace("Redis.init",async t=>{if(L.MOCK_REDIS)return t.addTags({mock:!0}),new qce(hd());let r;if(L.REDIS_CLUSTERED){t.addTags({clustered:!0});let{host:n,port:i}=zR();r=new oI.Cluster([{host:n,port:i}],h1())}else r=new oI.default(hd());return new Promise((n,i)=>{r.on("error",s=>{t.addTags({error:!0}),console.error(`failed to connect to redis (db: ${e})`,s),i(s)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${e})`)}),r.on("ready",()=>{t.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${e})`),n(r)})})})}o(lut,"init");function fut(e,t){return new Promise((r,n)=>{let i=new Set;e.on("data",s=>s.forEach(a=>i.add(a))),e.on("error",s=>n(s)),e.on("end",async()=>{try{let s=Array.from(i).map(async a=>{let u=await t.get(a);return u&&(u=JSON.parse(u)),{key:m1(a),value:u}});r(await Promise.all(s))}catch(s){n(s)}})})}o(fut,"promisifyStream");function dut(e){return e.isCluster}o(dut,"isCluster");var Aq=class e{static{o(this,"RedisWrapper")}constructor(t,r){this.client=t,this.db=r}static async init(t,r=0){return await iI.tracer.trace("RedisWrapper.init",async n=>{let i=await lut(r);return r&&!L.isTest()&&(n.addTags({db:t}),i.select(r)),new e(i,t)})}trace(t,r){return iI.tracer.trace(t,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(t){return t.includes(this.db)?t:`${this.db}${hm}${t}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(t=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:t}),t=`${this.db}${hm}${t}`;let n;dut(this.client)?n=this.client.nodes("master")[0].scanStream({match:t+"*",count:100}):n=this.client.scanStream({match:t+"*",count:100});let i=await fut(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(t){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:t}),this.client.keys(this.prefixed(t))))}async exists(t){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:t}),await this.client.exists(this.prefixed(t))))}async get(t){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:t});let n=await this.client.get(this.prefixed(t));n!=null&&n.key&&(n.key=t);try{return JSON.parse(n)}catch{return n}})}async bulkGet(t){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:t.length}),t.length===0)return{};let n=await this.client.mget(t.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,jce.zip)(t,n).reduce((i,[s,a])=>{if(s===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${t.length} vs ${n.length}`);try{i[s]=a?JSON.parse(a):null}catch{i[s]=a}return i},{})})}async store(t,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:t,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(t),r),n&&await this.client.expire(this.prefixed(t),n)})}async bulkStore(t,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(t).length,expirySeconds:r});let i=Object.entries(t).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),s=this.client.pipeline();if(s.mset(i),r!==null)for(let a of Object.keys(i))s.expire(a,r);await s.exec()})}async getTTL(t){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:t}),await this.client.ttl(this.prefixed(t))))}async setExpiry(t,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:t,expirySeconds:r}),await this.client.expire(this.prefixed(t),r)))}async delete(t){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:t}),await this.client.del(this.prefixed(t))})}async bulkDelete(t){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:t.length}),await this.client.del(t.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async t=>{let r=await this.scan();t.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(t){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:t});let n=await this.client.incr(this.prefixed(t));if(isNaN(n))throw new Error(`Redis ${t} does not contain a number`);return n})}async deleteIfValue(t,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:t});let i=`
433
+ Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Pellentesque in ipsum id orci porta dapibus. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.`;xqe.exports=HJt});var Fz=v((Pqe,Nqe)=>{"use strict";var Pn=Jn(),mh=pv(),et=Nqe.exports,QJt=Dqe();et.append=function(e,t){return typeof e=="string"&&typeof t=="string"?e+t:e};et.camelcase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return t.toUpperCase()})};et.capitalize=function(e){return typeof e!="string"?"":e.charAt(0).toUpperCase()+e.slice(1)};et.capitalizeAll=function(e){if(typeof e!="string")return"";if(Pn.isString(e))return e.replace(/\w\S*/g,function(t){return et.capitalize(t)})};et.center=function(e,t){if(typeof e!="string")return"";for(var r="",n=0;n<t;)r+="&nbsp;",n++;return r+e+r};et.chop=function(e){return typeof e!="string"?"":mh.chop(e)};et.dashcase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return"-"+t})};et.dotcase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return"."+t})};et.downcase=function(){return et.lowercase.apply(this,arguments)};et.ellipsis=function(e,t){if(Pn.isString(e))return e.length<=t?e:et.truncate(e,t)+"\u2026"};et.hyphenate=function(e){return typeof e!="string"?"":e.split(" ").join("-")};et.isString=function(e){return typeof e=="string"};et.lowercase=function(e){return Pn.isObject(e)&&e.fn?e.fn(this).toLowerCase():typeof e!="string"?"":e.toLowerCase()};et.occurrences=function(e,t){if(typeof e!="string")return"";for(var r=t.length,n=0,i=0;(n=e.indexOf(t,n))>-1;)i++,n+=r;return i};et.pascalcase=function(e){return typeof e!="string"?"":(e=mh.changecase(e,function(t){return t.toUpperCase()}),e.charAt(0).toUpperCase()+e.slice(1))};et.pathcase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return"/"+t})};et.plusify=function(e,t){return typeof e!="string"?"":(Pn.isString(t)||(t=" "),e.split(t).join("+"))};et.prepend=function(e,t){return typeof e=="string"&&typeof t=="string"?t+e:e};et.raw=function(e){var t=e.fn(),r=Pn.options(this,e);if(r.escape!==!1)for(var n=0;(n=t.indexOf("{{",n))!==-1;)t[n-1]!=="\\"&&(t=t.slice(0,n)+"\\"+t.slice(n)),n+=3;return t};et.remove=function(e,t){return typeof e!="string"?"":Pn.isString(t)?e.split(t).join(""):e};et.removeFirst=function(e,t){return typeof e!="string"?"":Pn.isString(t)?e.replace(t,""):e};et.replace=function(e,t,r){return typeof e!="string"?"":Pn.isString(t)?(Pn.isString(r)||(r=""),e.split(t).join(r)):e};et.replaceFirst=function(e,t,r){return typeof e!="string"?"":Pn.isString(t)?(Pn.isString(r)||(r=""),e.replace(t,r)):e};et.reverse=Hy().reverse;et.sentence=function(e){return typeof e!="string"?"":e.replace(/((?:\S[^\.\?\!]*)[\.\?\!]*)/g,function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()})};et.snakecase=function(e){return typeof e!="string"?"":mh.changecase(e,function(t){return"_"+t})};et.split=function(e,t){return typeof e!="string"?"":(Pn.isString(t)||(t=","),e.split(t))};et.startsWith=function(e,t,r){var n=[].slice.call(arguments);return r=n.pop(),Pn.isString(t)&&t.indexOf(e)===0?r.fn(this):typeof r.inverse=="function"?r.inverse(this):""};et.titleize=function(e){if(typeof e!="string")return"";for(var t=e.replace(/[- _]+/g," "),r=t.split(" "),n=r.length,i=[],s=0;n--;){var a=r[s++];i.push(Pqe.capitalize(a))}return i.join(" ")};et.trim=function(e){return typeof e=="string"?e.trim():""};et.trimLeft=function(e){if(Pn.isString(e))return e.replace(/^\s+/,"")};et.trimRight=function(e){if(Pn.isString(e))return e.replace(/\s+$/,"")};et.truncate=function(e,t,r){if(Pn.isString(e))return typeof r!="string"&&(r=""),e.length>t?e.slice(0,t-r.length)+r:e};et.truncateWords=function(e,t,r){if(Pn.isString(e)&&!isNaN(t)){typeof r!="string"&&(r="\u2026");var n=Number(t),i=e.split(/[ \t]/);if(n>=i.length)return e;i=i.slice(0,n);var s=i.join(" ").trim();return s+r}};et.upcase=function(){return et.uppercase.apply(this,arguments)};et.uppercase=function(e){return Pn.isObject(e)&&e.fn?e.fn(this).toUpperCase():typeof e!="string"?"":e.toUpperCase()};et.lorem=function(e){return(isNaN(e)||e<1||!e)&&(e=11),QJt.substring(0,e)}});var qz=v((m7r,Lqe)=>{"use strict";var Bz=require("url"),wv=Jn(),KJt=require("querystring"),gh=Lqe.exports;gh.encodeURI=function(e){if(wv.isString(e))return encodeURIComponent(e)};gh.escape=function(e){if(wv.isString(e))return KJt.escape(e)};gh.decodeURI=function(e){if(wv.isString(e))return decodeURIComponent(e)};gh.urlResolve=function(e,t){return Bz.resolve(e,t)};gh.urlParse=function(e){return Bz.parse(e)};gh.stripQuerystring=function(e){if(wv.isString(e))return e.split("?")[0]};gh.stripProtocol=function(e){if(wv.isString(e)){var t=Bz.parse(e);return t.protocol="",t.format()}}});var jz=v((g7r,kqe)=>{"use strict";var zJt=require("uuid"),YJt=kqe.exports;YJt.uuid=function(){return zJt.v4()}});var Uqe=v((y7r,Mqe)=>{"use strict";Mqe.exports={array:Hy(),code:hBe(),collection:CBe(),comparison:mz(),html:KBe(),i18n:YBe(),inflection:ZBe(),match:fqe(),math:kz(),misc:hqe(),number:Mz(),object:hL(),path:Oqe(),regex:Uz(),string:Fz(),url:qz(),uuid:jz()}});var Fqe=v((b7r,Yy)=>{"use strict";var Ev=Uqe();Yy.exports=o(function(t,r){typeof t=="string"?t=[t]:Array.isArray(t)||(r=t,t=null),r=r||{};var n=r.handlebars||r.hbs||cv();if(Yy.exports.handlebars=n,t)t.forEach(function(i){n.registerHelper(Ev[i])});else for(let i in Ev){let s=Ev[i];n.registerHelper(s)}return n.helpers},"helpers");for(let e in Ev){let t=Ev[e];Yy.exports[e]=function(r){r=r||{};var n=r.handlebars||r.hbs||cv();return Yy.exports.handlebars=n,n.registerHelper(t),t}}Yy.exports.utils=pv()});var _We=v(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.InvalidRemoveOpPath=sr.NoTarget=sr.InvalidScimPatchRequest=sr.NoPathInScimPatchOp=sr.FilterArrayTargetNotFound=sr.FilterOnEmptyArray=sr.InvalidScimPatchOp=sr.RemoveValueNotArray=sr.RemoveValueNestedArrayNotSupported=sr.InvalidScimRemoveValue=sr.InvalidScimPatch=sr.ScimError=void 0;var Dv=class extends Error{static{o(this,"ScimError")}constructor(t){super(),this.scimCode=t}};sr.ScimError=Dv;var Df=class extends Dv{static{o(this,"InvalidScimPatch")}constructor(t,r="invalidSyntax"){super(r),this.message=`Invalid SCIM Patch: ${t}`}};sr.InvalidScimPatch=Df;var Pv=class extends Dv{static{o(this,"InvalidScimRemoveValue")}constructor(t,r="invalidSyntax"){super(r),this.message=`Invalid SCIM Remove Operation: ${t}`}};sr.InvalidScimRemoveValue=Pv;var b5=class extends Pv{static{o(this,"RemoveValueNestedArrayNotSupported")}constructor(){super("Invalid patch value, remove does not support arrays inside arrays.")}};sr.RemoveValueNestedArrayNotSupported=b5;var _5=class extends Pv{static{o(this,"RemoveValueNotArray")}constructor(){super("Remove with patch value is supported only for array properties.")}};sr.RemoveValueNotArray=_5;var Nv=class extends Df{static{o(this,"InvalidScimPatchOp")}constructor(t){super(`${t}`,"invalidSyntax")}};sr.InvalidScimPatchOp=Nv;var w5=class extends Nv{static{o(this,"FilterOnEmptyArray")}constructor(t,r,n){super(`${t}`),this.attrName=r,this.valuePath=n}};sr.FilterOnEmptyArray=w5;var E5=class extends Nv{static{o(this,"FilterArrayTargetNotFound")}constructor(t,r,n,i){super(`${t}`),this.attrName=r,this.valuePath=n,this.schema=i}};sr.FilterArrayTargetNotFound=E5;var S5=class extends Df{static{o(this,"NoPathInScimPatchOp")}constructor(){super('Missing path in "remove" patch operation',"noTarget")}};sr.NoPathInScimPatchOp=S5;var T5=class extends Df{static{o(this,"InvalidScimPatchRequest")}constructor(t){super(`The SCIM patch request is invalid: ${t}`)}};sr.InvalidScimPatchRequest=T5;var v5=class extends Df{static{o(this,"NoTarget")}constructor(t){super(`Target location is a multi-valued attribute for which a value selection filter (${t}) has been supplied and no record match was made.`,"noTarget")}};sr.NoTarget=v5;var A5=class extends Df{static{o(this,"InvalidRemoveOpPath")}constructor(){super("Path specified in 'remove' operation doesn't exist")}};sr.InvalidRemoveOpPath=A5});var TWe=v(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.parseExpression=su.parseFilter=su.Tokens=su.tokenizer=void 0;var EWe={type:"EOT",literal:""};function _9t(e){let t=[],r=e,n=/^(?:(\s+)|(-?\d+(?:\.\d+)?(?:[eE][-+]?\d+)?(?![-\w._:\/\)\s]))|("(?:[^"\\]|\\.|\n)*")|([[()]|]\.?)|(\w[-\w._:\/%]*))/,i;for(;i=n.exec(r);){if(!(i[1]||i[0].length===0))if(i[2])t.push({literal:i[2],type:"Number"});else if(i[3]){let s=i[3].replace(/\\(?!")/g,"\\\\");t.push({literal:s,type:"Quoted"})}else i[4]?t.push({literal:i[4],type:"Bracket"}):i[5]&&t.push({literal:i[5],type:"Word"});r=r.substring(i.index+i[0].length)}if(r.length!==0)throw new Error(`unexpected token ${r}`);return t.push(EWe),t}o(_9t,"tokenizer");su.tokenizer=_9t;var R5=class{static{o(this,"Tokens")}getList(){return this.list.map((t,r)=>r==this.i?`[${t.literal}]`:t.literal)}peek(){return this.current||EWe}constructor(t){this.list=t,this.i=0,this.current=this.list[this.i]}forward(){return this.current=this.list[++this.i],this}shift(){let t=this.peek();return this.forward(),t}};su.Tokens=R5;var w9t=new Set(["eq","ne","co","sw","ew","gt","lt","ge","le"]),E9t=new Set(["pr"]);function O5(e){return BL(qL(e),e,Ah.LOWEST)}o(O5,"parseFilter");su.parseFilter=O5;function qL(e){let t=e.shift();if(t.literal=="("){let r=O5(e),n=e.shift();if(n.literal!==")")throw new Error(`Unexpected token [${n.literal}(${n.type})] expected ')'`);return r}else if(t.literal.toLowerCase()=="not"){let r={op:"not",filter:qL(e)};return BL(r,e,Ah.NOT)}else{if(t.type=="Word")return SWe(t,e);throw new Error(`Unexpected token ${t.literal} (${t.type})`)}}o(qL,"parseExpression");su.parseExpression=qL;var Ah;(function(e){e[e.LOWEST=1]="LOWEST",e[e.OR=2]="OR",e[e.AND=3]="AND",e[e.NOT=4]="NOT"})(Ah||(Ah={}));var wWe={or:Ah.OR,and:Ah.AND,not:Ah.NOT};function BL(e,t,r){let n=t.peek().literal.toLowerCase(),i=wWe[n];if(!i||r>=i)return e;let s=[e];for(;t.peek().literal.toLowerCase()===n;){let a=qL(t.forward()),u=t.peek().literal.toLowerCase();wWe[u]>i&&(a=BL(a,t,i)),s.push(a)}return BL({op:n,filters:s},t,r)}o(BL,"parseInxif");function SWe(e,t){if(e.type!=="Word")throw new Error(`Unexpected token ${e.literal} expected Word`);let r=e.literal,n=t.shift(),i=n.literal.toLowerCase();if(w9t.has(i)){let s=S9t(t);return{op:i,attrPath:r,compValue:s}}else{if(E9t.has(i))return{op:i,attrPath:r};if(i==="["){let s=O5(t),a=t.shift();if(a.literal[0]!=="]")throw new Error(`Unexpected token ${a.literal} expected ']'`);let u={op:"[]",attrPath:r,valFilter:s};if(a.literal[1]!=="."||t.peek().type!=="Word")return u;let c=t.shift();return c.literal=`${r}.${c.literal}`,{op:"and",filters:[u,SWe(c,t)]}}else throw new Error(`Unexpected token ${r} ${n.literal} as valFilter operator`)}}o(SWe,"readValFilter");function S9t(e){let t=e.shift();try{let r=JSON.parse(t.literal);if(r===null||typeof r=="string"||typeof r=="number"||typeof r=="boolean")return r;throw new Error(`${t.literal} is ${typeof r} (un supported value)`)}catch{throw new Error(`[${t.literal}(${t.type})] is not json`)}}o(S9t,"parseCompValue")});var vWe=v(WL=>{"use strict";Object.defineProperty(WL,"__esModule",{value:!0});WL.Tester=void 0;var jL=class{static{o(this,"Tester")}constructor(){}test(t,r){switch(r.op){case"or":return r.filters.some(n=>this.test(t,n));case"and":return r.filters.every(n=>this.test(t,n));case"not":return!this.test(t,r.filter);case"[]":return this.attrTest(this.attrPath(r.attrPath),t,n=>this.test(n,r.valFilter));case"pr":return this.attrTest(this.attrPath(r.attrPath),t,n=>this[r.op](n));case"eq":case"ne":case"co":case"sw":case"ew":case"gt":case"lt":case"ge":case"le":return this.attrTest(this.attrPath(r.attrPath),t,n=>this[r.op](n,r.compValue))}}attrPath(t){let r=t.lastIndexOf(":");return r===-1?t.split("."):[t.substring(0,r),...t.substring(r+1).split(".")]}attrTest(t,r,n){if(t.length===0)return n(r);if(typeof r!="object"||r===null)return!1;if(Array.isArray(r))return r.some(a=>this.attrTest(t,a,n));let i=t[0].toLowerCase(),s=Object.keys(r).find(a=>a.toLowerCase()===i);return s===void 0?!1:this.attrTest(t.slice(1),r[s],n)}pr(t,r){return t!==void 0}eq(t,r){return t===r}ne(t,r){return t!==r}gt(t,r){return r!==null&&t>r}lt(t,r){return r!==null&&t<r}le(t,r){return r!==null&&t<=r}ge(t,r){return r!==null&&t>=r}sw(t,r){return r!==null&&t!==null&&t.toString().startsWith(r.toString())}ew(t,r){return r!==null&&t!==null&&t.toString().endsWith(r.toString())}co(t,r){return typeof t=="object"||r===null?t==r:(typeof t!="string"&&(t=t.toString()),t.indexOf(r.toString())!==-1)}};WL.Tester=jL;jL.UNDEF=Symbol("undefined")});var AWe=v(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});au.log=au.valfilter=void 0;var T9t=o((e,t)=>{switch(t&&"attrPath"in e&&(e=Object.assign(Object.assign({},e),{attrPath:`${t}.${e.attrPath}`})),e.op){case"and":case"or":return Object.assign(Object.assign({},e),{filters:e.filters.map(r=>(0,au.valfilter)(r,t))});case"not":return Object.assign(Object.assign({},e),{filter:(0,au.valfilter)(e,t)});case"[]":return(0,au.valfilter)(e.valFilter,e.attrPath)}return e},"valfilter");au.valfilter=T9t;var v9t=o(e=>{switch(e.op){case"and":case"or":let t=e.filters.map(au.log),r=[];return t.forEach(n=>{n.op==e.op?n.filters.forEach(i=>r.push(i)):r.push(n)}),Object.assign(Object.assign({},e),{filters:r})}return e},"log");au.log=v9t});var RWe=v(GL=>{"use strict";Object.defineProperty(GL,"__esModule",{value:!0});GL.stringify=void 0;function Lv(e,t=!1){let r="";switch(e.op){case"eq":case"ne":case"co":case"sw":case"ew":case"gt":case"lt":case"ge":case"le":r=`${e.attrPath} ${e.op} ${JSON.stringify(e.compValue)}`;break;case"pr":r=`${e.attrPath} ${e.op}`;break;case"or":let n=e.filters.map(i=>Lv(i)).join(` ${e.op} `);r=t?`(${n})`:n;break;case"and":r=e.filters.map(i=>Lv(i,!0)).join(` ${e.op} `);break;case"not":r=`${e.op} (${Lv(e.filter)})`;break;case"[]":r=`${e.attrPath}[${Lv(e.valFilter)}]`;break}return r}o(Lv,"stringify");GL.stringify=Lv});var $L=v(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.flatten=Wo.parse=Wo.filter=Wo.Tester=Wo.stringify=void 0;var I5=TWe(),A9t=vWe(),OWe=AWe(),R9t=RWe();Object.defineProperty(Wo,"stringify",{enumerable:!0,get:function(){return R9t.stringify}});Wo.Tester=A9t.Tester;function O9t(e){let t=new Wo.Tester;return r=>t.test(r,e)}o(O9t,"filter");Wo.filter=O9t;function I9t(e){let t=new I5.Tokens(I5.tokenizer(e)),r=I5.parseFilter(t);if(t.peek().type!=="EOT")throw new Error(`unexpected EOT ${t.getList()}`);return r}o(I9t,"parse");Wo.parse=I9t;function C9t(e){return OWe.log(OWe.valfilter(e))}o(C9t,"flatten");Wo.flatten=C9t});var CWe=v((Pen,IWe)=>{"use strict";IWe.exports=o(function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,i,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[i]))return!1;for(i=n;i--!==0;){var a=s[i];if(!e(t[a],r[a]))return!1}return!0}return t!==t&&r!==r},"equal")});var F5=v(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.PATCH_OPERATION_SCHEMA=_r.InvalidScimRemoveValue=_r.RemoveValueNotArray=_r.RemoveValueNestedArrayNotSupported=_r.NoTarget=_r.InvalidScimPatchRequest=_r.NoPathInScimPatchOp=_r.InvalidScimPatchOp=_r.InvalidScimPatch=_r.ScimError=void 0;_r.patchBodyValidation=L9t;_r.scimPatch=k9t;var Pt=_We();Object.defineProperty(_r,"ScimError",{enumerable:!0,get:function(){return Pt.ScimError}});Object.defineProperty(_r,"InvalidScimPatch",{enumerable:!0,get:function(){return Pt.InvalidScimPatch}});Object.defineProperty(_r,"InvalidScimPatchOp",{enumerable:!0,get:function(){return Pt.InvalidScimPatchOp}});Object.defineProperty(_r,"NoPathInScimPatchOp",{enumerable:!0,get:function(){return Pt.NoPathInScimPatchOp}});Object.defineProperty(_r,"InvalidScimPatchRequest",{enumerable:!0,get:function(){return Pt.InvalidScimPatchRequest}});Object.defineProperty(_r,"NoTarget",{enumerable:!0,get:function(){return Pt.NoTarget}});Object.defineProperty(_r,"RemoveValueNestedArrayNotSupported",{enumerable:!0,get:function(){return Pt.RemoveValueNestedArrayNotSupported}});Object.defineProperty(_r,"RemoveValueNotArray",{enumerable:!0,get:function(){return Pt.RemoveValueNotArray}});Object.defineProperty(_r,"InvalidScimRemoveValue",{enumerable:!0,get:function(){return Pt.InvalidScimRemoveValue}});var C5=$L(),x5=CWe(),N5=/(\[|\])/,x9t=/^(.+)\[(.+)\]$/,xWe=/(?!\B"[^[]*)\.(?![^\]]*"\B)/g,D9t=["remove","add","replace"],P9t="urn:ietf:params:scim:schemas:core:2.0:User",N9t="urn:ietf:params:scim:schemas:core:2.0:Group";_r.PATCH_OPERATION_SCHEMA="urn:ietf:params:scim:api:messages:2.0:PatchOp";function L9t(e){if(!e.schemas||!e.schemas.includes(_r.PATCH_OPERATION_SCHEMA))throw new Pt.InvalidScimPatchRequest("Missing schemas.");if(!Array.isArray(e.Operations))throw new Pt.InvalidScimPatchRequest("Operations should be an array.");if(!e.Operations||e.Operations.length<=0)throw new Pt.InvalidScimPatchRequest("Missing operations.");e.Operations.forEach(L5)}o(L9t,"patchBodyValidation");function k9t(e,t,r={mutateDocument:!0,treatMissingAsAdd:!0}){return r.mutateDocument||(e=JSON.parse(JSON.stringify(e))),t.reduce((n,i)=>{switch(i.op){case"remove":case"Remove":return M9t(n,i);case"add":case"Add":case"replace":case"Replace":return PWe(n,i,!!r.treatMissingAsAdd);default:throw new Pt.InvalidScimPatchRequest(`Operator is invalid for SCIM patch request. ${i}`)}},e)}o(k9t,"scimPatch");function L5(e){if(typeof e.op!="string"||!q9t(e.op))throw new Pt.InvalidScimPatchRequest(`Invalid op "${e.op}" in the request.`);if(e.op==="remove"&&!e.path)throw new Pt.NoPathInScimPatchOp;if(Mv(e.op)&&!("value"in e))throw new Pt.InvalidScimPatchRequest(`The operation ${e.op} MUST contain a "value" member whose content specifies the value to be added`);if(e.path&&typeof e.path!="string")throw new Pt.InvalidScimPatchRequest("Path is supposed to be a string")}o(L5,"validatePatchOperation");function k5(e){let t=e.lastIndexOf(":");if(t<0)return e.split(xWe);let r=e.substring(0,t),n=e.substring(t+1).split(xWe);switch(r){case N9t:case P9t:break;default:n.unshift(r);break}return n}o(k5,"resolvePaths");function M9t(e,t){let r;L5(t);let n=k5(t.path);try{r=NWe(e,n,{isRemoveOp:!0})}catch(s){if(s instanceof Pt.InvalidRemoveOpPath)return e;throw s}let i=n[n.length-1];if(!N5.test(i)){for(let s of r)t.value?s[i]=B9t(s[i],t.value):delete s[i];return e}for(let s of r){let{attrName:a,valuePath:u,array:c}=M5(i,s);s[a]=U5(c,u,{excludeIfMatchFilter:!0}),s[a].length===0&&delete s[a]}return e}o(M9t,"applyRemoveOperation");function PWe(e,t,r){var n;let i;if(L5(t),!t.path)return kv(e,t);let s=k5(t.path),a=s[s.length-1];try{i=NWe(e,s)}catch(u){if(u instanceof Pt.FilterOnEmptyArray||u instanceof Pt.FilterArrayTargetNotFound){let c=u.schema,l=(0,C5.parse)(u.valuePath);if(Mv(t.op)&&"compValue"in l&&l.compValue!==void 0&&l.op==="eq"){let f={};return f[l.attrPath]=l.compValue,f[a]=kv(void 0,t,!0),c[u.attrName]=[...(n=c[u.attrName])!==null&&n!==void 0?n:[],f],e}else if(r&&D5(t.op)&&"compValue"in l&&l.compValue!==void 0&&l.op==="eq")return PWe(e,Object.assign(Object.assign({},t),{op:"add"}),!1);throw new Pt.NoTarget(t.path)}throw u}if(!N5.test(a)){for(let u of i)u[a]=kv(u[a],t);return e}for(let u of i){let{valuePath:c,array:l}=M5(a,u),f=U5(l,c);if(D5(t.op)&&f.length===0)throw new Pt.NoTarget(t.path);for(let d=0;d<l.length;d++)f.includes(l[d])&&(l[d]=kv(l[d],t))}return e}o(PWe,"applyAddOrReplaceOperation");function M5(e,t){let r=e.match(x9t);if(!r)throw new Pt.InvalidScimPatchOp(`This part of the path ${e} is invalid for SCIM patch request.`);let[,n,i]=r,s=t[n];if(!Array.isArray(s))throw new Pt.FilterOnEmptyArray("Impossible to search on a mono valued attribute.",n,i);return new P5(n,i,s)}o(M5,"extractArray");function NWe(e,t,r={}){let n=[e];for(let i=0;i<t.length-1;i++){let s=t[i];N5.test(s)?n=n.flatMap(a=>{try{let{attrName:u,valuePath:c,array:l}=M5(s,a),f=U5(l,c);if(f.length===0)throw new Pt.FilterArrayTargetNotFound("A matching array entry was not found using the supplied filter.",u,c,a);return f}catch(u){throw u instanceof Pt.FilterOnEmptyArray&&(u.schema=a),u}}):n=n.flatMap(a=>{if(!a[s]&&r.isRemoveOp)throw new Pt.InvalidRemoveOpPath;return a[s]||(a[s]={})})}return n}o(NWe,"navigate");function kv(e,t,r){if(Array.isArray(e)){if(Array.isArray(t.value)){if(Mv(t.op)){let i=t.value.filter(s=>!DWe(e,s));return e.concat(i)}return t.value}if(D5(t.op))return e.map(i=>kv(i,t,r));let n=e;return DWe(n,t.value)||n.push(t.value),n}return e!==null&&typeof e=="object"?U9t(e,t,r):t.value}o(kv,"addOrReplaceAttribute");function U9t(e,t,r){if(typeof t.value!="object"){if(Mv(t.op)&&!r)throw new Pt.InvalidScimPatchOp("Invalid patch query.");return t.value}for(let[n,i]of Object.entries(t.value))F9t(e,k5(n),i,t.op);return e}o(U9t,"addOrReplaceObjectAttribute");function F9t(e,t,r,n){let i=t.length-1;for(let a=0;a<i;++a){let u=t[a];u in e||(e[u]={}),e=e[u]}let s=e[t[i]];if(Mv(n)&&Array.isArray(s)){if(Array.isArray(r)){e[t[i]]=[...s,...r];return}e[t[i]]=[...s,r];return}e[t[i]]=r}o(F9t,"assign");function U5(e,t,r={}){try{let n=(0,C5.filter)((0,C5.parse)(t));return e.filter(i=>r.excludeIfMatchFilter?!n(i):n(i))}catch(n){throw new Pt.InvalidScimPatchOp(`${n}`)}}o(U5,"filterWithQuery");function B9t(e,t){if(!Array.isArray(e))throw new Pt.RemoveValueNotArray;return Array.isArray(t)?(t.forEach(r=>{if(Array.isArray(r))throw new Pt.RemoveValueNestedArrayNotSupported;e=e.filter(n=>!x5(r,n))}),e):e.filter(r=>!x5(t,r))}o(B9t,"removeWithPatchValue");function DWe(e,t){return e.some(r=>x5(t,r))}o(DWe,"deepIncludes");function q9t(e){return D9t.includes(e.toLowerCase())}o(q9t,"isValidOperation");function Mv(e){return e!==void 0&&e.toLowerCase()==="add"}o(Mv,"isAddOperation");function D5(e){return e!==void 0&&e.toLowerCase()==="replace"}o(D5,"isReplaceOperation");var P5=class{static{o(this,"ScimSearchQuery")}constructor(t,r,n){this.attrName=t,this.valuePath=r,this.array=n}}});var aur={};var IKe,CKe=er(()=>{"use strict";IKe=U(require("dd-trace"));process.env.DD_APM_ENABLED&&(console.log("Starting dd-trace"),IKe.default.init({debug:process.env.DD_ENV==="qa",llmobs:{mlApp:process.env.DD_LLMOBS_ML_APP||"budibase"}}))});var f4e={};G(f4e,{execute:()=>yur,executeInThread:()=>W7,removeStalled:()=>F7});module.exports=qA(f4e);var Qn={};G(Qn,{analyticsEnabled:()=>z0,generateConfigID:()=>rT,getAIConfig:()=>sWt,getConfig:()=>Ii,getDefaultGoogleConfig:()=>F3,getGoogleConfig:()=>UD,getGoogleDatasourceConfig:()=>q3,getOIDCConfig:()=>nWt,getOIDCConfigById:()=>j3,getOIDCLogosDoc:()=>tWt,getPlatformUrl:()=>nT,getRecaptchaConfig:()=>aWt,getSCIMConfig:()=>oWt,getSMTPConfig:()=>iWt,getSMTPConfigDoc:()=>y0e,getSettingsConfig:()=>B3,getSettingsConfigDoc:()=>uy,getTranslationsConfig:()=>Zjt,getTranslationsConfigDoc:()=>g0e,save:()=>Xjt});var uo=(r=>(r.ASCENDING="ascending",r.DESCENDING="descending",r))(uo||{});var ct=(te=>(te.USER_CREATED="user:created",te.USER_UPDATED="user:updated",te.USER_DELETED="user:deleted",te.USER_ONBOARDING_COMPLETE="user:onboarding:complete",te.USER_PERMISSION_ADMIN_ASSIGNED="user:admin:assigned",te.USER_PERMISSION_ADMIN_REMOVED="user:admin:removed",te.USER_PERMISSION_BUILDER_ASSIGNED="user:builder:assigned",te.USER_PERMISSION_BUILDER_REMOVED="user:builder:removed",te.USER_INVITED="user:invited",te.USER_INVITED_ACCEPTED="user:invite:accepted",te.USER_PASSWORD_FORCE_RESET="user:password:force:reset",te.USER_PASSWORD_UPDATED="user:password:updated",te.USER_PASSWORD_RESET_REQUESTED="user:password:reset:requested",te.USER_PASSWORD_RESET="user:password:reset",te.USER_DATA_COLLABORATION="user:data:collaboration",te.EMAIL_SMTP_CREATED="email:smtp:created",te.EMAIL_SMTP_UPDATED="email:smtp:updated",te.AI_CONFIG_CREATED="ai:config:created",te.AI_CONFIG_UPDATED="ai:config:updated",te.AUTH_SSO_CREATED="auth:sso:created",te.AUTH_SSO_UPDATED="auth:sso:updated",te.AUTH_SSO_ACTIVATED="auth:sso:activated",te.AUTH_SSO_DEACTIVATED="auth:sso:deactivated",te.AUTH_LOGIN="auth:login",te.AUTH_LOGOUT="auth:logout",te.ORG_NAME_UPDATED="org:info:name:updated",te.ORG_LOGO_UPDATED="org:info:logo:updated",te.ORG_PLATFORM_URL_UPDATED="org:platformurl:updated",te.INSTALLATION_VERSION_CHECKED="installation:version:checked",te.INSTALLATION_VERSION_UPGRADED="installation:version:upgraded",te.INSTALLATION_VERSION_DOWNGRADED="installation:version:downgraded",te.INSTALLATION_FIRST_STARTUP="installation:firstStartup",te.ANALYTICS_OPT_OUT="analytics:opt:out",te.ANALYTICS_OPT_IN="analytics:opt:in",te.WORKSPACE_CREATED="app:created",te.WORKSPACE_UPDATED="app:updated",te.WORKSPACE_DELETED="app:deleted",te.WORKSPACE_DUPLICATED="app:duplicated",te.WORKSPACE_PUBLISHED="app:published",te.WORKSPACE_UNPUBLISHED="app:unpublished",te.WORKSPACE_TEMPLATE_IMPORTED="app:template:imported",te.WORKSPACE_FILE_IMPORTED="app:file:imported",te.WORKSPACE_APP_VERSION_UPDATED="app:version:updated",te.WORKSPACE_APP_VERSION_REVERTED="app:version:reverted",te.WORKSPACE_REVERTED="app:reverted",te.WORKSPACE_EXPORTED="app:exported",te.ROLE_CREATED="role:created",te.ROLE_UPDATED="role:updated",te.ROLE_DELETED="role:deleted",te.ROLE_ASSIGNED="role:assigned",te.ROLE_UNASSIGNED="role:unassigned",te.SERVED_BUILDER="served:builder",te.SERVED_APP="served:app",te.SERVED_APP_PREVIEW="served:app:preview",te.DATASOURCE_CREATED="datasource:created",te.DATASOURCE_UPDATED="datasource:updated",te.DATASOURCE_DELETED="datasource:deleted",te.QUERY_CREATED="query:created",te.QUERY_UPDATED="query:updated",te.QUERY_DELETED="query:deleted",te.QUERY_IMPORT="query:import",te.QUERIES_RUN="queries:run",te.QUERY_PREVIEWED="query:previewed",te.TABLE_CREATED="table:created",te.TABLE_UPDATED="table:updated",te.TABLE_DELETED="table:deleted",te.TABLE_EXPORTED="table:exported",te.TABLE_IMPORTED="table:imported",te.TABLE_DATA_IMPORTED="table:data:imported",te.VIEW_CREATED="view:created",te.VIEW_UPDATED="view:updated",te.VIEW_DELETED="view:deleted",te.VIEW_EXPORTED="view:exported",te.VIEW_FILTER_CREATED="view:filter:created",te.VIEW_FILTER_UPDATED="view:filter:updated",te.VIEW_FILTER_DELETED="view:filter:deleted",te.VIEW_CALCULATION_CREATED="view:calculation:created",te.VIEW_CALCULATION_UPDATED="view:calculation:updated",te.VIEW_CALCULATION_DELETED="view:calculation:deleted",te.VIEW_JOIN_CREATED="view:join:created",te.ROWS_CREATED="rows:created",te.ROWS_IMPORTED="rows:imported",te.COMPONENT_CREATED="component:created",te.COMPONENT_DELETED="component:deleted",te.SCREEN_CREATED="screen:created",te.SCREEN_DELETED="screen:deleted",te.LAYOUT_CREATED="layout:created",te.LAYOUT_DELETED="layout:deleted",te.AUTOMATION_CREATED="automation:created",te.AUTOMATION_DELETED="automation:deleted",te.AUTOMATION_TESTED="automation:tested",te.AUTOMATIONS_RUN="automations:run",te.AUTOMATION_STEP_CREATED="automation:step:created",te.AUTOMATION_STEP_DELETED="automation:step:deleted",te.AUTOMATION_TRIGGER_UPDATED="automation:trigger:updated",te.LICENSE_PLAN_CHANGED="license:plan:changed",te.LICENSE_ACTIVATED="license:activated",te.LICENSE_PAYMENT_FAILED="license:payment:failed",te.LICENSE_PAYMENT_RECOVERED="license:payment:recovered",te.LICENSE_CHECKOUT_OPENED="license:checkout:opened",te.LICENSE_CHECKOUT_SUCCESS="license:checkout:success",te.LICENSE_PORTAL_OPENED="license:portal:opened",te.ACCOUNT_CREATED="account:created",te.ACCOUNT_DELETED="account:deleted",te.ACCOUNT_VERIFIED="account:verified",te.APP_BACKFILL_SUCCEEDED="app:backfill:succeeded",te.APP_BACKFILL_FAILED="app:backfill:failed",te.TENANT_BACKFILL_SUCCEEDED="tenant:backfill:succeeded",te.TENANT_BACKFILL_FAILED="tenant:backfill:failed",te.INSTALLATION_BACKFILL_SUCCEEDED="installation:backfill:succeeded",te.INSTALLATION_BACKFILL_FAILED="installation:backfill:failed",te.USER_GROUP_CREATED="user_group:created",te.USER_GROUP_UPDATED="user_group:updated",te.USER_GROUP_DELETED="user_group:deleted",te.USER_GROUP_USERS_ADDED="user_group:user_added",te.USER_GROUP_USERS_REMOVED="user_group:users_deleted",te.USER_GROUP_PERMISSIONS_EDITED="user_group:permissions_edited",te.USER_GROUP_ONBOARDING="user_group:onboarding_added",te.PLUGIN_INIT="plugin:init",te.PLUGIN_IMPORTED="plugin:imported",te.PLUGIN_DELETED="plugin:deleted",te.APP_BACKUP_RESTORED="app:backup:restored",te.APP_BACKUP_TRIGGERED="app:backup:triggered",te.ENVIRONMENT_VARIABLE_CREATED="environment_variable:created",te.ENVIRONMENT_VARIABLE_DELETED="environment_variable:deleted",te.ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED="environment_variable:upgrade_panel_opened",te.AUDIT_LOGS_FILTERED="audit_log:filtered",te.AUDIT_LOGS_DOWNLOADED="audit_log:downloaded",te.ROW_ACTION_CREATED="row_action:created",te.ACTION_AUTOMATION_STEP_EXECUTED="action:automation_step:executed",te.ACTION_CRUD_EXECUTED="action:crud:executed",te.ACTION_AI_AGENT_EXECUTED="action:ai_agent:executed",te.WORKSPACE_APP_CREATED="workspace_app:created",te.WORKSPACE_APP_UPDATED="workspace_app:updated",te.WORKSPACE_APP_DELETED="workspace_app:deleted",te.RESOURCE_COPIED_TO_WORKSPACE="resource:copied_to_workspace",te))(ct||{}),TX=["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"],vX=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],AX=[...TX,...vX],jh={"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 created","ai:config:updated":"AI configuration updated","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:crud:executed":void 0,"action:ai_agent:executed":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 RX=o((e,t,r)=>e==="usage"&&t==="static","isStaticQuota"),OX=o((e,t,r)=>e==="usage"&&t==="monthly","isMonthlyQuota"),IX=o((e,t)=>e==="constant","isConstantQuota");var Ui="--secret-value--";var an=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(an||{}),Jr=(h=>(h.STRING="string",h.CODE="code",h.LONGFORM="longForm",h.SENSITIVE_LONGFORM="sensitiveLongForm",h.BOOLEAN="boolean",h.NUMBER="number",h.PASSWORD="password",h.LIST="list",h.OBJECT="object",h.JSON="json",h.FILE="file",h.FIELD_GROUP="fieldGroup",h.SELECT="select",h))(Jr||{}),kn=(b=>(b.AIRTABLE="AIRTABLE",b.ARANGODB="ARANGODB",b.BUDIBASE="BUDIBASE",b.COUCHDB="COUCHDB",b.DYNAMODB="DYNAMODB",b.ELASTICSEARCH="ELASTICSEARCH",b.FIRESTORE="FIRESTORE",b.GOOGLE_SHEETS="GOOGLE_SHEETS",b.MONGODB="MONGODB",b.MYSQL="MYSQL",b.ORACLE="ORACLE",b.POSTGRES="POSTGRES",b.REDIS="REDIS",b.REST="REST",b.S3="S3",b.SNOWFLAKE="SNOWFLAKE",b.SQL_SERVER="SQL_SERVER",b))(kn||{});var Sn=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(Sn||{});var CX=U(require("lodash/isPlainObject"));var Qf=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Qf||{}),wa=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(wa||{}),Wh=(t=>(t.RANGE="range",t))(Wh||{}),Wb=(r=>(r.AND="$and",r.OR="$or",r))(Wb||{});function $c(e){return Object.values(Wb).includes(e)}o($c,"isLogicalSearchOperator");function xX(e){return Object.values(Qf).includes(e)}o(xX,"isBasicSearchOperator");function DX(e){return Object.values(wa).includes(e)}o(DX,"isArraySearchOperator");function jA(e){return Object.values(Wh).includes(e)}o(jA,"isRangeSearchOperator");function PX(e){return(0,CX.default)(e)&&"conditions"in e}o(PX,"isLogicalFilter");var NX=o(e=>typeof e=="object"&&e._id&&e._rev,"isDocument");var Gb=(s=>(s.USER="user",s.HEADER="header",s.QUERY="query",s.SUBDOMAIN="subdomain",s.PATH="path",s))(Gb||{});var Vc=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(Vc||{});var $b=(d=>(d.WORKSPACE="app",d.TABLE="table",d.USER="user",d.AUTOMATION="automation",d.WEBHOOK="webhook",d.BUILDER="builder",d.CREATOR="creator",d.GLOBAL_BUILDER="globalBuilder",d.QUERY="query",d.VIEW="view",d.LEGACY_VIEW="legacy_view",d))($b||{});var WA=o(e=>e.hosting==="cloud","isCloudAccount");var GA=o(e=>e.authType==="sso","isSSOAccount");var ce="_",Mn="\uFFF0",ti=o(e=>`${e}${ce}`,"prefixed"),Me=(se=>(se.USER="us",se.GROUP="gr",se.CONFIG="config",se.TEMPLATE="template",se.WORKSPACE="app",se.DEV="dev",se.WORKSPACE_DEV="app_dev",se.WORKSPACE_METADATA="app_metadata",se.ROLE="role",se.DEV_INFO="devinfo",se.AUTOMATION_LOG="log_au",se.ACCOUNT_METADATA="acc_metadata",se.PLUGIN="plg",se.DATASOURCE="datasource",se.DATASOURCE_PLUS="datasource_plus",se.APP_BACKUP="backup",se.TABLE="ta",se.ROW="ro",se.AUTOMATION="au",se.LINK="li",se.WEBHOOK="wh",se.INSTANCE="inst",se.LAYOUT="layout",se.SCREEN="screen",se.QUERY="query",se.DEPLOYMENTS="deployments",se.METADATA="metadata",se.MEM_VIEW="view",se.USER_FLAG="flag",se.AUTOMATION_METADATA="meta_au",se.AUDIT_LOG="al",se.SCIM_LOG="scimlog",se.ROW_ACTIONS="ra",se.OAUTH2_CONFIG="oauth2",se.OAUTH2_CONFIG_LOG="oauth2log",se.AGENT="agent",se.CHAT_APP="chatapp",se.CHAT_CONVERSATION="chatconvo",se.AGENT_TOOL_SOURCE="agenttoolsource",se.AGENT_FILE="agentfile",se.AI_CONFIG="aiconfig",se.LITELLM_KEY="litellmkey",se.VECTOR_STORE="vectordb",se.WORKSPACE_APP="workspace_app",se.WORKSPACE_FAVOURITE="workspace_favourite",se.AUTO_COLUMN_STATE="autocolumn_state",se))(Me||{}),DM=["role","datasource","datasource_plus","ta","au","wh","screen","query","metadata","view","workspace_app","workspace_favourite","inst","layout"],Tu=(t=>(t.USER_METADATA="ta_users",t))(Tu||{}),Hc=(r=>(r.VIEW="view",r.ROW_ACTION="row_action",r))(Hc||{});function Gh(e){return!!e.providerType}o(Gh,"isSSOUser");var $h=["rows","queries","automations"],LX=["queries","automations"];var kX="SYSTEM",Kf="auditLog";var He=(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))(He||{}),Bt=(R=>(R.TABLE="table",R.ROW="row",R.ROWS="rows",R.WIDE="wide",R.QUERY="query",R.QUERY_PARAMS="queryParams",R.QUERY_LIMIT="queryLimit",R.LOOP_OPTION="loopOption",R.ITEM="item",R.CODE="code",R.FILTERS="filters",R.COLUMN="column",R.TRIGGER_SCHEMA="triggerSchema",R.CRON="cron",R.WEBHOOK_URL="webhookUrl",R.AUTOMATION="automation",R.AUTOMATION_FIELDS="automationFields",R.MULTI_ATTACHMENTS="multi_attachments",R.TRIGGER_FILTER="trigger_filter",R.CATEGORIES="categories",R.AGENT="agent",R.OUTPUT_SCHEMA="outputSchema",R))(Bt||{}),co=(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))(co||{});var rt=($=>($.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",$.CREATE_ROW="CREATE_ROW",$.GET_ROW="GET_ROW",$.UPDATE_ROW="UPDATE_ROW",$.DELETE_ROW="DELETE_ROW",$.QUERY_ROWS="QUERY_ROWS",$.EXECUTE_BASH="EXECUTE_BASH",$.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",$.EXECUTE_SCRIPT="EXECUTE_SCRIPT",$.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",$.EXECUTE_QUERY="EXECUTE_QUERY",$.SERVER_LOG="SERVER_LOG",$.DELAY="DELAY",$.FILTER="FILTER",$.API_REQUEST="API_REQUEST",$.LOOP="LOOP",$.COLLECT="COLLECT",$.OPENAI="OPENAI",$.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",$.BRANCH="BRANCH",$.CLASSIFY_CONTENT="CLASSIFY_CONTENT",$.PROMPT_LLM="PROMPT_LLM",$.TRANSLATE="TRANSLATE",$.SUMMARISE="SUMMARISE",$.GENERATE_TEXT="GENERATE_TEXT",$.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",$.EXTRACT_STATE="EXTRACT_STATE",$.LOOP_V2="LOOP_V2",$.AGENT="AGENT",$.discord="discord",$.slack="slack",$.zapier="zapier",$.integromat="integromat",$.n8n="n8n",$))(rt||{}),MX=[...Object.values(rt),...Object.values(co)];var $A=(u=>(u.EMAIL="email",u.DOCUMENT="document",u.BLOG_POST="blog_post",u.CHAT_MESSAGE="chat_message",u.LETTER="letter",u.PROPOSAL="proposal",u.OTHER="other",u))($A||{}),UX={email:"Email",document:"Document",blog_post:"Blog post",chat_message:"Chat message",letter:"Letter",proposal:"Proposal",other:"Other"},VA=(r=>(r.URL="URL",r.ATTACHMENT="Attachment",r))(VA||{}),HA=(i=>(i.PDF="pdf",i.JPG="jpg",i.PNG="png",i.JPEG="jpeg",i))(HA||{}),QA=["png","jpg","jpeg","image/png","image/jpeg","image/jpg","image/jpeg"];function FX(e){return e.stepId==="BRANCH"}o(FX,"isBranchStep");function PM(e){return e.stepId==="CRON"}o(PM,"isCronTrigger");function Qc(e){return e?.stepId==="EMAIL"}o(Qc,"isEmailTrigger");var KA=(i=>(i.EQUAL="EQUAL",i.NOT_EQUAL="NOT_EQUAL",i.GREATER_THAN="GREATER_THAN",i.LESS_THAN="LESS_THAN",i))(KA||{});var Vb=(r=>(r.BACKUP="backup",r.RESTORE="restore",r))(Vb||{});var Kc=(i=>(i.PUBLISH="publish",i.MANUAL="manual",i.SCHEDULED="scheduled",i.RESTORING="restoring",i))(Kc||{});var Vh=(a=>(a.NONE="none",a.FORM_DATA="form",a.XML="xml",a.ENCODED="encoded",a.JSON="json",a.TEXT="text",a))(Vh||{}),Hb=(a=>(a.GET="GET",a.POST="POST",a.PATCH="PATCH",a.PUT="PUT",a.HEAD="HEAD",a.DELETE="DELETE",a))(Hb||{});var Un="bb_internal";var zc=(s=>(s.CREATED_BY="createdBy",s.CREATED_AT="createdAt",s.UPDATED_BY="updatedBy",s.UPDATED_AT="updatedAt",s.AUTO_ID="autoID",s))(zc||{});function zA(e){return e.type==="link"}o(zA,"isRelationshipField");function YA(e){return e.relationshipType==="one-to-many"}o(YA,"isOneToMany");function JA(e){return e.relationshipType==="many-to-one"}o(JA,"isManyToOne");var BX="rev",Le=(S=>(S.STRING="string",S.LONGFORM="longform",S.OPTIONS="options",S.NUMBER="number",S.BOOLEAN="boolean",S.ARRAY="array",S.DATETIME="datetime",S.ATTACHMENTS="attachment",S.ATTACHMENT_SINGLE="attachment_single",S.LINK="link",S.FORMULA="formula",S.AUTO="auto",S.AI="ai",S.JSON="json",S.INTERNAL="internal",S.BARCODEQR="barcodeqr",S.SIGNATURE_SINGLE="signature_single",S.BIGINT="bigint",S.BB_REFERENCE="bb_reference",S.BB_REFERENCE_SINGLE="bb_reference_single",S))(Le||{}),XA=["attachment_single","attachment","signature_single","bb_reference","json","array"],FKe=["number","bigint"];function NM(e){return FKe.includes(e)}o(NM,"isNumeric");function qX(e){return e.type==="formula"&&e.formulaType==="static"&&e.responseType&&NM(e.responseType)}o(qX,"isNumericStaticFormula");var BKe=["string","longform","options","number","boolean","datetime","bigint","ai"];function qKe(e){return BKe.includes(e)}o(qKe,"canGroupBy");function LM(e){return e.type==="formula"&&e.formulaType==="static"}o(LM,"isStaticFormula");function jX(e){return qKe(e.type)||LM(e)}o(jX,"canGroupBySchema");var lt={};G(lt,{AutomationViewMode:()=>a1,BUDIBASE_DATASOURCE_TYPE:()=>zre,Config:()=>tne,Cookie:()=>dm,DEFAULT_BB_DATASOURCE_ID:()=>Qb,DEFAULT_EMPLOYEE_TABLE_ID:()=>Zre,DEFAULT_EXPENSES_TABLE_ID:()=>Xre,DEFAULT_INVENTORY_TABLE_ID:()=>Jre,DEFAULT_JOBS_TABLE_ID:()=>Yre,DEFAULT_TENANT_ID:()=>Lr,DeprecatedViews:()=>j_,DesignDocuments:()=>pd,DocumentType:()=>Me,GlobalRole:()=>ene,Header:()=>yi,InternalTable:()=>Tu,MAX_VALID_DATE:()=>l1,MIN_VALID_DATE:()=>U7e,SEPARATOR:()=>ce,SQLITE_DESIGN_DOC_ID:()=>Fn,SQS_DATASOURCE_INTERNAL:()=>sl,StaticDatabases:()=>tr,UNICODE_MAX:()=>Mn,USER_METADATA_PREFIX:()=>VR,UserStatus:()=>c1,ViewName:()=>ol,WORKSPACE_DEV:()=>u1,WORKSPACE_DEV_PREFIX:()=>ks,WORKSPACE_PREFIX:()=>Ls});var GX={SUMMARISE_TEXT:{columns:"columns"},CLEAN_DATA:{column:"column"},TRANSLATE:{column:"column",language:"prompt"},CATEGORISE_TEXT:{columns:"columns",categories:"prompt"},SENTIMENT_ANALYSIS:{column:"column"},PROMPT:{prompt:"prompt"},SEARCH_WEB:{columns:"columns"}};var yi=(E=>(E.API_KEY="x-budibase-api-key",E.LICENSE_KEY="x-budibase-license-key",E.API_VER="x-budibase-api-version",E.APP_ID="x-budibase-app-id",E.SESSION_ID="x-budibase-session-id",E.CLIENT="x-budibase-client",E.TYPE="x-budibase-type",E.PREVIEW_ROLE="x-budibase-role",E.TENANT_ID="x-budibase-tenant-id",E.VERIFICATION_CODE="x-budibase-verification-code",E.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",E.RESET_PASSWORD_CODE="x-budibase-reset-password-code",E.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",E.TOKEN="x-budibase-token",E.CSRF_TOKEN="x-csrf-token",E.CORRELATION_ID="x-budibase-correlation-id",E.AUTHORIZATION="authorization",E.MIGRATING_APP="x-budibase-migrating-app",E.COOKIE="cookie",E))(yi||{});var Tn=["_id","_rev","type","createdAt","updatedAt","tableId"],Rs=["_id","_rev","tableId"];function zf(e){return Tn.includes(e)}o(zf,"isInternalColumnName");function $X(e){return Rs.includes(e)}o($X,"isExternalColumnName");var Hh={WORKSPACES:"/builder/workspaces",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},ZA={ACCOUNT:"/portal/account",BILLING:"/portal/billing",UPGRADE:"/portal/upgrade"};var lo={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},VX={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var kM=/^[^()]*$/;var Qb="datasource_internal_bb_default";var Tt={};G(Tt,{ColumnSplitter:()=>lF,NoEmptyFilterStrings:()=>Ore,buildQuery:()=>Ire,cleanupQuery:()=>hF,fixupFilterArrays:()=>gF,getKeyNumbering:()=>mF,getValidOperatorsForType:()=>EJe,hasFilters:()=>fF,limit:()=>xre,recurseLogicalOperators:()=>pF,removeKeyNumbering:()=>eR,runQuery:()=>BR,search:()=>vJe,sort:()=>Cre,splitFiltersArray:()=>tR});var lm=U(require("dayjs"));var Fe={};G(Fe,{filterValueToLabel:()=>QKe,hasSchema:()=>KKe,isSupportedUserSearch:()=>QX,nameToUrl:()=>ZKe,parallelForeach:()=>HKe,processSearchFilters:()=>MM,toMap:()=>YKe,trimOtherProps:()=>zKe,unreachable:()=>VKe});var HX=U(require("lodash/pick"));var $Ke=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function VKe(e,t){let r=t?.message||`No such case in exhaustive switch: ${e}`;if(!!!t?.doNotThrow)throw new Error(r)}o(VKe,"unreachable");async function HKe(e,t,r){let n=[],i=Symbol.asyncIterator in e,s=i?e[Symbol.asyncIterator]():e[Symbol.iterator](),a=o(async()=>{let u=await(i?s.next():Promise.resolve(s.next()));for(;!u.done;)await t(u.value),u=await(i?s.next():Promise.resolve(s.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}o(HKe,"parallelForeach");function QKe(){return Object.keys(lo).reduce((e,t)=>{let n=lo[t];return e[n.value]=n.label,e},{})}o(QKe,"filterValueToLabel");function KKe(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null&&!(e instanceof Date)&&Object.keys(e).length>0}o(KKe,"hasSchema");function zKe(e,t){return Object.keys(e).filter(n=>t.includes(n)).reduce((n,i)=>({...n,[i]:e[i]}),{})}o(zKe,"trimOtherProps");function QX(e){let t=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=e;for(let[s,a]of Object.entries(i)){if(typeof a!="object")return!1;if($c(s)){for(let l of e[s].conditions)if(!QX(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!t.find(l=>l.op===s&&u.length===1&&u[0]===l.key))return!1}return!0}o(QX,"isSupportedUserSearch");function MM(e){if(!e||e.length===0)return;let{allOr:t,onEmptyFilter:r,filters:n}=tR(e);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:t?"any":"all",filters:n.map(i=>{let s=(0,HX.default)(i,$Ke);return s.field=eR(s.field),s})}]}}o(MM,"processSearchFilters");function YKe(e,t){return t.reduce((r,n)=>(r[n[e]]=n,r),{})}o(YKe,"toMap");var JKe=o(e=>e?e.trim():null,"resolveWorkspaceName"),XKe=o(e=>{let t,r=JKe(e);t=r?r.toLowerCase():"";let n=t?t.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),ZKe=o(e=>{let t=XKe(e);return e6e(t)},"nameToUrl"),e6e=o(e=>(e&&!e.startsWith("/")&&(e=`/${e}`),e===""?null:e),"tidyUrl");var de={};G(de,{accountPortalAccountUrl:()=>yre,accountPortalBillingUrl:()=>bre,accountPortalUpgradeUrl:()=>_re,builderAppsUrl:()=>vre,builderSettingsAuthUrl:()=>Sre,builderSettingsEmailUrl:()=>Ere,builderSettingsPeopleUsersUrl:()=>Tre,builderWorkspacesUrl:()=>wre,cancelableTimeout:()=>KX,cron:()=>yJe,deepGet:()=>UM,duplicateName:()=>fJe,formatBytes:()=>gJe,getSequentialName:()=>dJe,getUserColor:()=>r6e,getUserInitials:()=>t6e,getUserLabel:()=>n6e,isGoogleSheets:()=>o6e,isSQL:()=>s6e,lists:()=>uF,retry:()=>a6e,roles:()=>aF,schema:()=>M_,structuredOutput:()=>iF,urlHelpers:()=>mJe,views:()=>sF,wait:()=>FM,withTimeout:()=>i6e});var UM=o((e,t)=>{if(!e||!t)return null;if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let r=t.split(".");for(let n=0;n<r.length;n++)e=e?.[r[n]];return e},"deepGet"),t6e=o(e=>{if(!e)return"?";let t="";return t+=e.firstName?e.firstName[0]:"",t+=e.lastName?e.lastName[0]:"",t!==""?t:e.email?.[0]||"U"},"getUserInitials"),r6e=o(e=>{let t=e?._id;if(!t)return"var(--spectrum-global-color-blue-400)";t=t.replace("ro_ta_users_","");let r=1;for(let n=0;n<t.length;n++)r+=t.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),n6e=o(e=>{if(!e)return"";let{firstName:t,lastName:r,email:n}=e;return t&&r?`${t} ${r}`:t||r||n},"getUserLabel");function KX(e){let t;return[new Promise((r,n)=>{t=setTimeout(()=>{n({status:301,errno:"ETIME"})},e)}),()=>{clearTimeout(t)}]}o(KX,"cancelableTimeout");async function i6e(e,t){let[r,n]=KX(e),i=await Promise.race([t(),r]);return n(),i}o(i6e,"withTimeout");function o6e(e){return e==="GOOGLE_SHEETS"}o(o6e,"isGoogleSheets");function s6e(e){return!e||!e.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(e.source)!==-1||e.isSQL===!0}o(s6e,"isSQL");async function FM(e){return new Promise(t=>setTimeout(t,e))}o(FM,"wait");async function a6e(e,t){let{times:r=3}=t||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let s=1.5**i*1e3*(Math.random()+.5);await FM(s);try{return await e()}catch(a){n=a}}throw n}o(a6e,"retry");var dre=U(Ea()),pre=U(lre());var fre="(Input cron: ",zYe={"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 YYe(e){let t=[];for(let r of e){r.includes(fre)&&(r=r.split(fre)[0].trim());for(let[n,i]of Object.entries(zYe))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));t.push(r)}return t}o(YYe,"improveErrors");function hre(e,t=4){let r=pre.default.parseExpression(e),n=[];for(let i=0;i<t;i++)n.push(r.next().toString());return n}o(hre,"getNextExecutionDates");function mre(e){let t=(0,dre.default)(e,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return t.isValid()?{valid:!0}:{valid:!1,err:YYe(t.getError())}}o(mre,"validate");var M_={};G(M_,{decodeNonAscii:()=>nF,encodeNonAscii:()=>ZYe,isDeprecatedSingleUserColumn:()=>JYe,isNumeric:()=>eJe,isRequired:()=>XYe});function JYe(e){return e.type==="bb_reference"&&e.subtype==="user"&&e.constraints?.type!=="array"}o(JYe,"isDeprecatedSingleUserColumn");function XYe(e){return!!e&&(typeof e.presence!="boolean"&&e.presence?.allowEmpty===!1||e.presence===!0)}o(XYe,"isRequired");function ZYe(e){return e.split("").map(t=>t.charCodeAt(0)>127?"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"):t).join("")}o(ZYe,"encodeNonAscii");function nF(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}o(nF,"decodeNonAscii");function eJe(e){return e.type==="number"||e.type==="bigint"}o(eJe,"isNumeric");var iF={};G(iF,{normalizeSchemaForStructuredOutput:()=>tJe});function tJe(e){function t(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 s=i.properties,a=[],u={};for(let[f,d]of Object.entries(s))if(typeof d=="object"&&d!==null){let p=d;if(p.required===!0){a.push(f);let{required:h,...m}=p;u[f]=t(m)}else u[f]=t(p)}else u[f]=d;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=t(i.items));for(let s of["anyOf","oneOf","allOf"])Array.isArray(i[s])&&(i[s]=i[s].map(a=>t(a)));return i}o(t,"processSchema");let r=t(e);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}o(tJe,"normalizeSchemaForStructuredOutput");var sF={};G(sF,{basicFields:()=>sJe,calculationFields:()=>oJe,hasCalculationFields:()=>iJe,isBasicViewField:()=>rJe,isCalculationField:()=>U_,isCalculationView:()=>nJe,isV2:()=>aJe,isVisible:()=>gre});var oF=U(require("lodash/pickBy"));function U_(e){return"calculationType"in e}o(U_,"isCalculationField");function rJe(e){return!U_(e)}o(rJe,"isBasicViewField");function nJe(e){return e.type==="calculation"}o(nJe,"isCalculationView");function iJe(e){return Object.values(e.schema||{}).some(U_)}o(iJe,"hasCalculationFields");function oJe(e){return(0,oF.default)(e.schema||{},U_)}o(oJe,"calculationFields");function gre(e){return e.visible!==!1}o(gre,"isVisible");function sJe(e,t){let{visible:r=!0}=t||{};return(0,oF.default)(e.schema||{},n=>!U_(n)&&(!r||gre(n)))}o(sJe,"basicFields");function aJe(e){return e.version===2}o(aJe,"isV2");var aF={};G(aF,{checkForRoleInheritanceLoops:()=>cJe});function uJe(e){return`role${ce}${e}`}o(uJe,"prefixForCheck");function cJe(e){let t=new Map;e.forEach(s=>{t.set(s._id,s)});let r=new Set,n=new Set;function i(s){let a=uJe(s);if(n.has(s)||n.has(a))return!0;if(r.has(s)||r.has(a))return!1;n.add(s);let u=t.get(a)||t.get(s);if(!u)return n.delete(s),!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(s),r.add(s),!1}return o(i,"hasLoop"),!!e.find(s=>i(s._id))}o(cJe,"checkForRoleInheritanceLoops");var uF={};G(uF,{punctuateList:()=>lJe});function lJe(e){return e.length===0?"":e.length===1?e[0]:e.length===2?e.join(" and "):e.slice(0,-1).join(", ")+" and "+e[e.length-1]}o(lJe,"punctuateList");var fJe=o((e,t)=>{let r=new RegExp("\\s(\\d+)$"),n=e.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),s=[];t.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(s.push(parseInt(c[1])),!0):!1}),s.sort((u,c)=>u-c);let a;if(s.length===0)a=1;else{for(let u=0;u<s.length;u++)if(s[u]!==u+1){a=u+1;break}a||(a=s.length+1)}return`${n} ${a}`},"duplicateName"),dJe=o((e,t,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!t?.length)return"";let s=t.trim(),a=n?`${t}1`:s;if(!e?.length)return a;let u=0;return e.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(s))return;let f=l.split(s);if(f.length!==2)return;f[1].trim()===""&&(f[1]="1");let d=parseInt(f[1]);d>u&&(u=d)}),u===0?a:`${t}${i}${u+1}`},"getSequentialName");var pJe=o(e=>e?e.startsWith("/")?e:`/${e}`:"","normalizePath"),hJe=o(e=>e?e.endsWith("/")?e.slice(0,-1):e:"","normalizeBase"),nl=o((e,t)=>{let r=pJe(t);if(!e)return r;let n=hJe(e);return r?`${n}${r}`:n},"joinBaseAndPath"),yre=o(e=>nl(e,ZA.ACCOUNT),"accountPortalAccountUrl"),bre=o(e=>nl(e,ZA.BILLING),"accountPortalBillingUrl"),_re=o(e=>nl(e,ZA.UPGRADE),"accountPortalUpgradeUrl"),wre=o(e=>nl(e,Hh.WORKSPACES),"builderWorkspacesUrl"),Ere=o(e=>nl(e,Hh.SETTINGS_EMAIL),"builderSettingsEmailUrl"),Sre=o(e=>nl(e,Hh.SETTINGS_AUTH),"builderSettingsAuthUrl"),Tre=o(e=>nl(e,Hh.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),vre=o(e=>nl(e,Hh.APPS),"builderAppsUrl"),mJe={accountPortalAccountUrl:yre,accountPortalBillingUrl:bre,accountPortalUpgradeUrl:_re,builderWorkspacesUrl:wre,builderSettingsEmailUrl:Ere,builderSettingsAuthUrl:Sre,builderSettingsPeopleUsersUrl:Tre,builderAppsUrl:vre};function gJe(e,t=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,s=typeof e=="string"?parseInt(e,10):e||0;for(;s>=1024&&i<r.length-1&&++i;)s/=1024;return`${s.toFixed(s<10&&i>0?1:0)}${t}${r[i]}`}o(gJe,"formatBytes");var yJe={getNextExecutionDates:hre,validate:mre};var FR=U(require("lodash/isPlainObject")),cF=U(require("lodash/isEmpty"));var _Je=/{{([^{].*?)}}/g,Rre=Object.values(Wb),wJe=[...Object.values(Qf),...Object.values(wa),...Object.values(Wh)],EJe=o((e,t,r)=>{let n=lo,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],s=[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:f}=e;c==="string"?f==="array"?u=a:u=i:c==="number"||c==="bigint"?u=s:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=s:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||M_.isDeprecatedSingleUserColumn(e)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let d=r?.tableId?.includes("datasource_plus");return t==="_id"&&d&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),Ore=[lo.StartsWith.value,lo.Like.value,lo.Equals.value,lo.NotEquals.value,lo.Contains.value,lo.NotContains.value,lo.ContainsAny.value,lo.In.value];function pF(e,t){for(let r of Rre)e[r]&&(e[r].conditions=e[r].conditions.map(n=>t(n)));return e}o(pF,"recurseLogicalOperators");var hF=o(e=>{for(let t of Ore)if(e[t])for(let r of Object.keys(e)){if(r!==t)continue;if(typeof e[r]=="object")for(let[i,s]of Object.entries(e[r]))(s==null||s===""||SJe(s))&&delete e[t][i]}return e=pF(e,hF),e},"cleanupQuery");function SJe(e){return Array.isArray(e)&&e.length===0}o(SJe,"isEmptyArray");var eR=o(e=>mF(e).key,"removeKeyNumbering"),mF=o(e=>{if(typeof e=="string"&&e.match(/\d[0-9]*:/g)!=null){let t=e.split(":");return{prefix:`${t.shift()}:`,key:t.join(":")}}else return{key:e}},"getKeyNumbering"),lF=class{static{o(this,"ColumnSplitter")}constructor(t,r){if(this.tableNames=t.map(n=>n.name),this.tableIds=t.map(n=>n._id),this.relationshipColumnNames=t.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(t){let{prefix:r,key:n}=mF(t),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 s;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),s=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=nF(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:s,column:n}}};function TJe(e){if(!e||!e?.operator||!e?.field)return;let t={},{operator:r,field:n,type:i,externalType:s}=e,{value:a}=e;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(_Je)||[]).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(jA(r))return t[r]??={},t[r][n]=a,t}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(jA(r)){let l=VX[s]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};t[r]??={},t[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")t.range??={},t.range[n]={...t.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")t.range??={},t.range[n]={...t.range[n],low:a};else if(xX(r)||DX(r)||jA(r))i==="boolean"?r==="equal"&&a===!1?(t.notEqual=t.notEqual||{},t.notEqual[n]=!0):r==="notEqual"&&a===!1?(t.equal=t.equal||{},t.equal[n]=!0):(t[r]??={},t[r][n]=a):(t[r]??={},t[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return t}o(TJe,"buildCondition");function tR(e){let t={filters:[]};for(let r of e)"operator"in r&&r.operator==="allOr"?t.allOr=!0:"onEmptyFilter"in r?t.onEmptyFilter=r.onEmptyFilter:t.filters.push(r);return t}o(tR,"splitFiltersArray");function Ire(e){if(!e)return{};if(Array.isArray(e)&&(e=MM(e),!e))return{};let t={};e.onEmptyFilter?t.onEmptyFilter=e.onEmptyFilter:t.onEmptyFilter="all";let r=Are(e.logicalOperator||"all");return t[r]={conditions:(e.groups||[]).map(n=>{if(n.groups){let c=Ire(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:s,filters:a}=tR(n.filters||[]);s&&(t.onEmptyFilter=s);let u=i?"$or":"$and";return n.logicalOperator&&(u=Are(n.logicalOperator)),{[u]:{conditions:a.map(TJe).filter(c=>c)}}})},t}o(Ire,"buildQuery");function Are(e){return e==="all"?"$and":"$or"}o(Are,"logicalOperatorFromUI");function gF(e){if(!e)return e;for(let t of Object.values(wa)){let r=e[t];if(!(r==null||!(0,FR.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(s=>s.trim()):r[n]=[i]}}return pF(e,gF),e}o(gF,"fixupFilterArrays");function vJe(e,t){let r=BR(e,t.query);t.sort&&(r=Cre(r,t.sort,t.sortOrder||"ascending",t.sortType));let n=r.length;t.limit&&(r=xre(r,t.limit.toString()));let i={rows:r};return t.countRows&&(i.totalRows=n),i}o(vJe,"search");function BR(e,t){if(!e||!Array.isArray(e))return[];if(!t)return e;if(t=hF(t),t=gF(t),!fF(t)&&t.onEmptyFilter==="none")return[];let r=o((T,R)=>A=>{for(let[O,I]of Object.entries(t[T]||{})){let D=$c(T)?A:UM(A,eR(O)),x=R(D,I);if(t.allOr&&x)return!0;if(!t.allOr&&!x)return!1}return!t.allOr},"match"),n=r("string",(T,R)=>typeof T!="string"||typeof R!="string"?!1:T.toLowerCase().startsWith(R.toLowerCase())),i=r("fuzzy",(T,R)=>typeof T!="string"||typeof R!="string"?!1:T.toLowerCase().includes(R.toLowerCase())),s=r("range",(T,R)=>{if(T==null||T===""||((0,FR.default)(R.low)&&(0,cF.default)(R.low)&&(R.low=void 0),(0,FR.default)(R.high)&&(0,cF.default)(R.high)&&(R.high=void 0),R.low==null&&R.high==null))return!1;let A=+T;if(!isNaN(A)){let I=+R.low,D=+R.high;if(!isNaN(I)&&!isNaN(D))return A>=I&&A<=D;if(isNaN(I)){if(!isNaN(D))return A<=D}else return A>=I}let O=(0,lm.default)(T);if(O.isValid()){let I=(0,lm.default)(R.low||"0000-00-00T00:00:00.000Z"),D=(0,lm.default)(R.high||"9999-00-00T00:00:00.000Z");if(I.isValid()&&D.isValid())return O.isAfter(I)&&O.isBefore(D)||O.isSame(I)||O.isSame(D);if(I.isValid())return O.isAfter(I)||O.isSame(I);if(D.isValid())return O.isBefore(D)||O.isSame(D)}return R.low!=null&&R.high!=null?T>=R.low&&T<=R.high:R.low!=null?T>=R.low:R.high!=null?T<=R.high:!1}),a=o((T,R)=>{if(Array.isArray(T)){for(let O of T)if(a(O,R))return!0;return!1}if(T&&typeof T=="object"&&typeof R=="string")return T._id===R;if(T===R)return!0;if(T==null&&R!=null||T!=null&&R==null)return!1;let A=(0,lm.default)(T);if(A.isValid()){let O=(0,lm.default)(R);if(O.isValid())return A.isSame(O)}return!1},"_valueMatches"),u=o(T=>(...R)=>!T(...R),"not"),c=r("equal",a),l=r("notEqual",u(a)),f=o(T=>typeof T=="string"?T==="":Array.isArray(T)?T.length===0:T&&typeof T=="object"?Object.keys(T).length===0:T==null,"_empty"),d=r("empty",f),p=r("notEmpty",u(f)),h=r("oneOf",(T,R)=>(typeof R=="string"&&(R=R.split(",")),typeof T=="number"&&(R=R.map(A=>parseFloat(A))),Array.isArray(R)?R.some(A=>a(T,A)):!1)),m=o(T=>(R,A)=>!Array.isArray(R)||(typeof A=="string"&&(A=A.split(","),typeof R[0]=="number"&&(A=A.map(O=>parseFloat(O)))),!Array.isArray(A))?!1:A.length===0?!0:A[T](O=>a(R,O)),"_contains"),g=r("contains",(T,R)=>Array.isArray(R)&&R.length===0?!0:m("every")(T,R)),y=r("notContains",(T,R)=>Array.isArray(R)&&R.length===0?!0:u(m("every"))(T,R)),b=r("containsAny",m("some")),w=r("$and",(T,R)=>{if(!R.length)return!1;for(let A of R)if(!BR([T],A).length)return!1;return!0}),E=r("$or",(T,R)=>{if(!R.length)return!1;for(let A of R)if(BR([T],{...A,allOr:!0}).length)return!0;return!1}),S=o(T=>{let R={string:n,fuzzy:i,range:s,equal:c,notEqual:l,empty:d,notEmpty:p,oneOf:h,contains:g,containsAny:b,notContains:y,$and:w,$or:E},A=Object.entries(t||{}).filter(([O,I])=>!["allOr","onEmptyFilter"].includes(O)&&I&&Object.keys(I).length>0).map(([O])=>R[O]?.(T)??!1);return fF(t)?t.allOr?A.some(O=>O===!0):A.every(O=>O===!0):!0},"docMatch");return e.filter(S)}o(BR,"runQuery");function Cre(e,t,r,n="string"){if(!t||!r||!n)return e;let i=o(s=>s==null?s:n==="string"?`${s}`:parseFloat(s),"parse");return e.slice().sort((s,a)=>{let u=i(s[t]),c=i(a[t]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}o(Cre,"sort");function xre(e,t){let r=typeof t=="number"?t:parseFloat(t);return isNaN(r)?e:e.slice(0,r)}o(xre,"limit");var fF=o(e=>{if(!e)return!1;let t=o(r=>{for(let n of Rre)if(r[n])for(let i of r[n]?.conditions||[]){let s=t(i);if(s)return s}for(let n of wJe){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 t(e)},"hasFilters");var cn={};G(cn,{applications:()=>bF,automations:()=>wF,screens:()=>vF,users:()=>TF});var bF={};G(bF,{getDevAppID:()=>AJe,getProdAppID:()=>B_});var yF=ti("app"),F_=ti("app_dev");function AJe(e){if(!e)throw new Error("No app ID provided");if(e.startsWith(F_))return e;let t=e.split(yF);t.shift();let r=t.join(yF);return`${F_}${r}`}o(AJe,"getDevAppID");function B_(e){if(!e)throw new Error("No app ID provided");if(!e.startsWith(F_))return e;let t=e.split(F_);t.shift();let r=t.join(F_);return`${yF}${r}`}o(B_,"getProdAppID");var wF={};G(wF,{checkForCollectStep:()=>_F,isAppAction:()=>IJe,isRowAction:()=>RJe,isWebhookAction:()=>OJe});function RJe(e){return e.definition.trigger?.stepId==="ROW_ACTION"}o(RJe,"isRowAction");function OJe(e){return e.definition.trigger?.stepId==="WEBHOOK"}o(OJe,"isWebhookAction");function IJe(e){return e.definition.trigger?.stepId==="APP"}o(IJe,"isAppAction");function Dre(e){if(!e||!Array.isArray(e))return!1;for(let t of e){if(t.stepId==="COLLECT")return!0;if(FX(t)&&t.inputs.children){for(let r of Object.values(t.inputs.children))if(Dre(r))return!0}}return!1}o(Dre,"hasCollectBlockRecursive");function _F(e){return Dre(e.definition.steps)}o(_F,"checkForCollectStep");var TF={};G(TF,{canCreateApps:()=>CJe,containsUserID:()=>UJe,getGlobalUserID:()=>MJe,getUserAppGroups:()=>FJe,hasAdminPermissions:()=>SF,hasAppBuilderPermissions:()=>WR,hasBuilderPermissions:()=>LJe,hasCreatorPermissions:()=>GR,isAdmin:()=>q_,isAdminOrBuilder:()=>DJe,isAdminOrGlobalBuilder:()=>PJe,isAdminOrWorkspaceBuilder:()=>xJe,isBuilder:()=>EF,isCreator:()=>kJe,isGlobalBuilder:()=>jR,userAppAccessList:()=>BJe});function EF(e,t){return e?e.builder?.global?!0:!!(t&&e.builder?.apps?.includes(B_(t))):!1}o(EF,"isBuilder");function jR(e){return EF(e)&&!WR(e)||q_(e)}o(jR,"isGlobalBuilder");function CJe(e){return jR(e)||GR(e)}o(CJe,"canCreateApps");function q_(e){return e?SF(e):!1}o(q_,"isAdmin");function xJe(e,t){return e?!!(q_(e)||t&&e.builder?.apps?.includes(B_(t))):!1}o(xJe,"isAdminOrWorkspaceBuilder");function DJe(e,t){return EF(e,t)||q_(e)}o(DJe,"isAdminOrBuilder");function PJe(e){return jR(e)||q_(e)}o(PJe,"isAdminOrGlobalBuilder");function WR(e){if(!e)return!1;let t=e.builder?.apps?.length;return!!!e.builder?.global&&t!=null&&t>0}o(WR,"hasAppBuilderPermissions");function NJe(e){return e?!!Object.values(e.roles??{}).find(t=>t==="CREATOR"):!1}o(NJe,"hasAppCreatorPermissions");function LJe(e){return e?e.builder?.global||WR(e)||GR(e):!1}o(LJe,"hasBuilderPermissions");function SF(e){return e?!!e.admin?.global:!1}o(SF,"hasAdminPermissions");function GR(e){return e?!!e.builder?.creator:!1}o(GR,"hasCreatorPermissions");function kJe(e){return e?jR(e)||SF(e)||GR(e)||WR(e)||NJe(e):!1}o(kJe,"isCreator");function MJe(e){if(typeof e!="string")return e;let t=`ro${ce}ta_users${ce}`;return e.startsWith(t)?e.split(t)[1]:e}o(MJe,"getGlobalUserID");function UJe(e){return typeof e!="string"?!1:e.includes(`us${ce}`)}o(UJe,"containsUserID");function Pre(e,t){return t?.filter(r=>r.users?.find(n=>n._id===e))||[]}o(Pre,"getUserGroups");function FJe(e,t,r){let n=B_(e);return Pre(t,r).filter(s=>Object.keys(s.roles||{}).find(a=>a===n))}o(FJe,"getUserAppGroups");function BJe(e,t){let n=Pre(e._id,t).flatMap(s=>Object.keys(s.roles||{})),i=[...Object.keys(e?.roles||{}),...n];return[...new Set(i)]}o(BJe,"userAppAccessList");var vF={};G(vF,{findInSettings:()=>qJe});function qJe(e,t){let r=[];function n(i,s=""){for(let[a,u]of Object.entries(i))u&&(typeof u=="string"&&u.includes(t)?r.push({setting:s?`${s}.${a}`:a,value:u}):typeof u=="object"&&n(u,a))}return o(n,"recurse"),n(e.props),r}o(qJe,"findInSettings");var qdr={string:!0,longform:!0,options:!0,number:!0,datetime:!0,formula:!0,ai:!0,auto:!0,internal:!0,barcodeqr:!0,bigint:!0,boolean:!1,array:!1,attachment:!1,attachment_single:!1,signature_single:!1,link:!1,json:!1,bb_reference:!1,bb_reference_single:!1},jdr={string:!0,longform:!0,options:!0,number:!0,datetime:!0,auto:!0,internal:!0,barcodeqr:!0,bigint:!0,boolean:!0,json:!1,formula:!1,ai:!1,attachment:!1,attachment_single:!1,signature_single:!1,array:!1,link:!1,bb_reference:!1,bb_reference_single:!1},Wdr={number:!0,json:!0,datetime:!0,longform:!0,string:!0,options:!0,array:!0,bigint:!0,boolean:!0,auto:!1,internal:!1,barcodeqr:!1,formula:!1,ai:!1,attachment:!1,attachment_single:!1,signature_single:!1,link:!1,bb_reference:!0,bb_reference_single:!0};function Nre(e){let t=Object.keys(e.schema),r=t.map(s=>s.toLowerCase()),n=new Set(r),i=[];if(n.size!==r.length)for(let s of n.keys())r.filter(u=>u===s).length>1&&i.push(s);for(let s of Tn)t.find(a=>a===s)&&i.push(s);return i}o(Nre,"findDuplicateInternalColumns");var Ve={};G(Ve,{steps:()=>o1,triggers:()=>s1});var o1={};G(o1,{agent:()=>r1,apiRequest:()=>NF,bash:()=>AF,branch:()=>RF,classifyText:()=>YF,collect:()=>OF,createRow:()=>IF,delay:()=>CF,deleteRow:()=>xF,discord:()=>DF,executeQuery:()=>PF,executeScript:()=>LF,executeScriptV2:()=>kF,extract:()=>t1,extractState:()=>n1,filter:()=>MF,generate:()=>e1,getRow:()=>UF,loop:()=>FF,loopV2:()=>i1,make:()=>BF,n8n:()=>qF,openai:()=>jF,outgoingWebhook:()=>WF,promptLLM:()=>JF,queryRows:()=>GF,sendSmtpEmail:()=>$F,serverLog:()=>VF,slack:()=>HF,summarise:()=>ZF,translate:()=>XF,triggerAutomationRun:()=>QF,updateRow:()=>KF,zapier:()=>zF});var AF={};G(AF,{definition:()=>jJe});var jJe={name:"Bash Scripting",tagline:"Execute a bash command",icon:"git-branch",description:"Run a bash script",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"EXECUTE_BASH",inputs:{},schema:{inputs:{properties:{code:{type:"string",customType:"code",title:"Code"}},required:["code"]},outputs:{properties:{stdout:{type:"string",description:"Standard output of your bash command or script"},success:{type:"boolean",description:"Whether the command was successful"}},required:["stdout"]}}};var RF={};G(RF,{definition:()=>WJe});var WJe={name:"Branch",icon:"git-branch",tagline:"Branch from this step",description:"Branching",stepId:"BRANCH",internal:!0,features:{},inputs:{},schema:{inputs:{properties:{branches:{properties:{name:{type:"string"},condition:{customType:"filters"}}},children:{type:"array"}},required:["conditions"]},outputs:{properties:{branchName:{type:"string"},status:{type:"string",description:"Branch result"},branchId:{type:"string",description:"Branch ID"},success:{type:"boolean",description:"Branch success"}},required:["output"]}},type:"LOGIC"};var OF={};G(OF,{definition:()=>GJe});var GJe={name:"Collect Data",tagline:"Collect data to be sent to design",icon:"stack",description:"Collects specified data so it can be provided to the design section",type:"ACTION",internal:!0,features:{},stepId:"COLLECT",inputs:{},schema:{inputs:{properties:{collection:{type:"string",title:"What to Collect"}},required:["collection"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},value:{type:"string",description:"Collected data"}},required:["success","value"]}}};var IF={};G(IF,{definition:()=>$Je});var $Je={name:"Create Row",tagline:"Create a {{inputs.enriched.table.name}} row",icon:"rows-plus-bottom",description:"Add a row to your database",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"CREATE_ROW",inputs:{},schema:{inputs:{properties:{row:{type:"object",properties:{tableId:{type:"string",customType:"table"}},customType:"row",title:"Table",required:["tableId"]}},required:["row"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The new row"},response:{type:"object",description:"The response from the table"},success:{type:"boolean",description:"Whether the row creation was successful"},id:{type:"string",description:"The identifier of the new row"},revision:{type:"string",description:"The revision of the new row"}},required:["success","id","revision"]}}};var CF={};G(CF,{definition:()=>VJe});var VJe={name:"Delay",icon:"clock",tagline:"Delay for {{inputs.time}} milliseconds",description:"Delay the automation until an amount of time has passed",stepId:"DELAY",internal:!0,features:{},inputs:{},schema:{inputs:{properties:{time:{type:"number",title:"Delay in milliseconds"}},required:["time"]},outputs:{properties:{success:{type:"boolean",description:"Whether the delay was successful"}},required:["success"]}},type:"LOGIC"};var xF={};G(xF,{definition:()=>HJe});var HJe={description:"Delete a row from your database",icon:"trash-simple",name:"Delete Row",tagline:"Delete a {{inputs.enriched.table.name}} row",type:"ACTION",stepId:"DELETE_ROW",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},id:{type:"string",title:"Row ID"}},required:["tableId","id"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The deleted row"},response:{type:"object",description:"The response from the table"},success:{type:"boolean",description:"Whether the deletion was successful"}},required:["row","success"]}}};var DF={};G(DF,{definition:()=>QJe});var QJe={name:"Discord Message",tagline:"Send a message to a Discord server",description:"Send a message to a Discord server",icon:"ri-discord-line",stepId:"discord",type:"ACTION",internal:!1,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Discord Webhook URL"},username:{type:"string",title:"Bot Name"},avatar_url:{type:"string",title:"Bot Avatar URL"},content:{type:"string",title:"Message"}},required:["url","content"]},outputs:{properties:{httpStatus:{type:"number",description:"The HTTP status code of the request"},response:{type:"string",description:"The response from the Discord Webhook"},success:{type:"boolean",description:"Whether the message sent successfully"}}}}};var PF={};G(PF,{definition:()=>KJe});var KJe={name:"External Data Connector",tagline:"Execute Data Connector",icon:"database",description:"Execute a query in an external data connector",type:"ACTION",stepId:"EXECUTE_QUERY",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{query:{type:"object",properties:{queryId:{type:"string",customType:"query"}},customType:"queryParams",title:"Parameters",required:["queryId"]}},required:["query"]},outputs:{properties:{response:{type:"object",description:"The response from the datasource execution"},info:{type:"object",description:"Some query types may return extra data, like headers from a REST query"},success:{type:"boolean",description:"Whether the action was successful"}},required:["response","success"]}}};var NF={};G(NF,{definition:()=>zJe});var zJe={name:"API Request",tagline:"Execute a REST request",icon:"globe",description:"Execute a HTTP query from a REST datasource",type:"ACTION",stepId:"API_REQUEST",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{query:{type:"object",properties:{queryId:{type:"string"}},customType:"queryParams",title:"Parameters",required:["queryId"]}},required:["query"]},outputs:{properties:{response:{type:"object",description:"The response from the datasource execution"},info:{type:"object",description:"Some query types may return extra data, like headers from a REST query"},success:{type:"boolean",description:"Whether the action was successful"}},required:["response","success"]}}};var LF={};G(LF,{definition:()=>YJe});var YJe={name:"JS Scripting",tagline:"Execute JavaScript Code",deprecated:!0,icon:"code",description:"Run a piece of JavaScript code in your automation",type:"ACTION",internal:!0,stepId:"EXECUTE_SCRIPT",inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{code:{type:"string",customType:"code",title:"Code"}},required:["code"]},outputs:{properties:{value:{type:"string",description:"The result of the return statement"},success:{type:"boolean",description:"Whether the action was successful"}},required:["success"]}}};var kF={};G(kF,{definition:()=>JJe});var JJe={name:"JavaScript",tagline:"Execute JavaScript Code",icon:"brackets-angle",description:"Run a piece of JavaScript code in your automation",type:"ACTION",internal:!0,new:!1,stepId:"EXECUTE_SCRIPT_V2",inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{code:{type:"string",customType:"code",title:"Code"}},required:["code"]},outputs:{properties:{value:{type:"string",description:"The result of the return statement"},success:{type:"boolean",description:"Whether the action was successful"}},required:["success"]}}};var MF={};G(MF,{PrettyFilterConditions:()=>Lre,definition:()=>XJe});var Lre={EQUAL:"Equals",NOT_EQUAL:"Not equals",GREATER_THAN:"Greater than",LESS_THAN:"Less than"},XJe={name:"Condition",tagline:"{{inputs.field}} {{inputs.condition}} {{inputs.value}}",icon:"git-branch",description:"Conditionally halt automations which do not meet certain conditions",type:"LOGIC",internal:!0,features:{},stepId:"FILTER",inputs:{condition:"EQUAL"},schema:{inputs:{properties:{field:{type:"string",title:"Reference Value"},condition:{type:"string",title:"Condition",enum:Object.values(KA),pretty:Object.values(Lre)},value:{type:"string",title:"Comparison Value"}},required:["field","condition","value"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},result:{type:"boolean",description:"Whether the logic block passed"}},required:["success","result"]}}};var UF={};G(UF,{definition:()=>e7e});var ZJe={ascending:"Ascending",descending:"Descending"},e7e={description:"Get a single row from the database",icon:"box-arrow-down",name:"Get Row",tagline:"Get a row from {{inputs.enriched.table.name}} table",type:"ACTION",stepId:"GET_ROW",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},rowId:{type:"string",title:"Row ID"},filters:{type:"object",customType:"filters",title:"Filtering"},sortColumn:{type:"string",title:"Sort Column",customType:"column"},sortOrder:{type:"string",title:"Sort Order",enum:Object.values(uo),pretty:Object.values(ZJe)}},required:["tableId"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The row that was found"},success:{type:"boolean",description:"Whether the query was successful"}},required:["row","success"]}}};var FF={};G(FF,{definition:()=>t7e});var t7e={name:"Looping",icon:"recycle",tagline:"Loop the block",description:"Loop",stepId:"LOOP",internal:!0,features:{},inputs:{},schema:{inputs:{properties:{option:{customType:"loopOption",title:"Input type"},binding:{type:"string",title:"Binding / Value"},iterations:{type:"number",title:"Max loop iterations"},failure:{type:"string",title:"Failure Condition"}},required:["type","value","iterations","failure"]},outputs:{properties:{items:{customType:"item",description:"The item currently being executed"},success:{type:"boolean",description:"Whether the message loop was successfully"},iterations:{type:"number",description:"The amount of times the block ran"}},required:["success","items","iterations"]}},type:"LOGIC"};var BF={};G(BF,{definition:()=>r7e});var r7e={name:"Make Integration",stepTitle:"Make",tagline:"Trigger a Make scenario",description:"Performs a webhook call to Make and gets the response (if configured)",icon:"ri-shut-down-line",stepId:"integromat",type:"ACTION",internal:!1,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Webhook URL"},body:{type:"json",title:"Payload"}},required:["url","body"]},outputs:{properties:{success:{type:"boolean",description:"Whether call was successful"},httpStatus:{type:"number",description:"The HTTP status code returned"},response:{type:"object",description:"The webhook response - this can have properties"}},required:["success","response"]}}};var qF={};G(qF,{definition:()=>n7e});var n7e={name:"n8n Integration",stepTitle:"n8n",tagline:"Trigger an n8n workflow",description:"Performs a webhook call to n8n and gets the response (if configured)",icon:"ri-shut-down-line",stepId:"n8n",type:"ACTION",internal:!1,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Webhook URL"},method:{type:"string",title:"Method",enum:Object.values(Hb)},authorization:{type:"string",title:"Authorization"},body:{type:"json",title:"Payload"}},required:["url","method"]},outputs:{properties:{success:{type:"boolean",description:"Whether call was successful"},httpStatus:{type:"number",description:"The HTTP status code returned"},response:{type:"object",description:"The webhook response - this can have properties"}},required:["success","response"]}}};var jF={};G(jF,{definition:()=>i7e});var kre=(u=>(u.GPT_4O_MINI="gpt-4o-mini",u.GPT_4O="gpt-4o",u.GPT_4="gpt-4",u.GPT_35_TURBO="gpt-3.5-turbo",u.GPT_5_MINI="gpt-5-mini",u.GPT_5="gpt-5",u.GPT_5_NANO="gpt-5-nano",u))(kre||{}),i7e={name:"OpenAI",tagline:"Send prompts to ChatGPT",icon:"flow-arrow",description:"Interact with the OpenAI ChatGPT API.",type:"ACTION",internal:!0,features:{},deprecated:!1,stepId:"OPENAI",inputs:{prompt:""},schema:{inputs:{properties:{prompt:{type:"string",title:"Prompt"},model:{type:"string",title:"Model",enum:Object.values(kre)}},required:["prompt","model"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},response:{type:"string",description:"What was output"}},required:["success","response"]}}};var WF={};G(WF,{definition:()=>o7e});var Mre=(s=>(s.POST="POST",s.GET="GET",s.PUT="PUT",s.DELETE="DELETE",s.PATCH="PATCH",s))(Mre||{}),o7e={deprecated:!0,name:"Outgoing webhook",tagline:"Send a {{inputs.requestMethod}} request",icon:"paper-plane-right",description:"Send a request of specified method to a URL",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"OUTGOING_WEBHOOK",inputs:{requestMethod:"POST",url:"http://",requestBody:"{}",headers:"{}"},schema:{inputs:{properties:{requestMethod:{type:"string",enum:Object.values(Mre),title:"Request method"},url:{type:"string",title:"URL"},requestBody:{type:"string",title:"JSON Body",customType:"wide"},headers:{type:"string",title:"Headers",customType:"wide"}},required:["requestMethod","url"]},outputs:{properties:{response:{type:"object",description:"The response from the webhook"},httpStatus:{type:"number",description:"The HTTP status code returned"},success:{type:"boolean",description:"Whether the action was successful"}},required:["response","success"]}}};var GF={};G(GF,{definition:()=>a7e});var s7e={ascending:"Ascending",descending:"Descending"},a7e={description:"Query rows from the database",icon:"magnifying-glass",name:"Query Rows",tagline:"Query rows from {{inputs.enriched.table.name}} table",type:"ACTION",stepId:"QUERY_ROWS",internal:!0,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},filters:{type:"object",customType:"filters",title:"Filtering"},sortColumn:{type:"string",title:"Sort Column",customType:"column"},sortOrder:{type:"string",title:"Sort Order",enum:Object.values(uo),pretty:Object.values(s7e)},limit:{type:"number",title:"Limit",customType:"queryLimit"}},required:["tableId"]},outputs:{properties:{rows:{type:"array",customType:"rows",description:"The rows that were found"},success:{type:"boolean",description:"Whether the query was successful"}},required:["rows","success"]}}};var $F={};G($F,{definition:()=>u7e});var u7e={description:"Send an email using SMTP",tagline:"Send SMTP email to {{inputs.to}}",icon:"envelope",name:"Send Email (SMTP)",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"SEND_EMAIL_SMTP",inputs:{},schema:{inputs:{properties:{to:{type:"string",title:"Send To"},from:{type:"string",title:"Send From"},cc:{type:"string",title:"CC"},bcc:{type:"string",title:"BCC"},subject:{type:"string",title:"Email Subject"},contents:{type:"longform",title:"Message",description:"Use markdown or HTML for rich text formatting: **bold**, _italics_, # Headings, * Bullets, <br> for line breaks, and more."},addInvite:{type:"boolean",title:"Add calendar invite"},startTime:{type:"date",title:"Start Time",dependsOn:"addInvite"},endTime:{type:"date",title:"End Time",dependsOn:"addInvite"},summary:{type:"string",title:"Meeting Summary",dependsOn:"addInvite"},location:{type:"string",title:"Location",dependsOn:"addInvite"},attachments:{type:"attachment",customType:"multi_attachments",title:"Attachments"}},required:["to","from","subject","contents"]},outputs:{properties:{success:{type:"boolean",description:"Whether the email was sent"},response:{type:"object",description:"A response from the email client, this may be an error"}},required:["success"]}}};var VF={};G(VF,{definition:()=>c7e});var c7e={name:"Backend log",tagline:"Console log a value in the backend",icon:"activity",description:"Logs the given text to the server (using console.log)",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"SERVER_LOG",inputs:{text:""},schema:{inputs:{properties:{text:{type:"string",title:"Log"}},required:["text"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},message:{type:"string",description:"What was output"}},required:["success","message"]}}};var HF={};G(HF,{definition:()=>l7e});var l7e={name:"Slack Message",tagline:"Send a message to Slack",description:"Send a message to Slack",icon:"ri-slack-line",stepId:"slack",type:"ACTION",internal:!1,features:{LOOPING:!0},inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Incoming Webhook URL"},text:{type:"string",title:"Message"}},required:["url","text"]},outputs:{properties:{httpStatus:{type:"number",description:"The HTTP status code of the request"},success:{type:"boolean",description:"Whether the message sent successfully"},response:{type:"string",description:"The response from the Slack Webhook"}}}}};var QF={};G(QF,{definition:()=>f7e});var f7e={name:"Trigger an automation",tagline:"Triggers an automation synchronously",icon:"arrows-clockwise",description:"Triggers an automation synchronously",type:"ACTION",internal:!0,features:{},stepId:"TRIGGER_AUTOMATION_RUN",inputs:{},schema:{inputs:{properties:{automation:{type:"object",properties:{automationId:{type:"string",customType:"automation"}},customType:"automationFields",title:"Automation Fields",required:["automationId"]},timeout:{type:"number",title:"Timeout (ms)"}},required:["automationId"]},outputs:{properties:{success:{type:"boolean",description:"Whether the automation was successful"},value:{type:"object",description:"Automation Result"}},required:["success","value"]}}};var KF={};G(KF,{definition:()=>d7e});var d7e={name:"Update Row",tagline:"Update a {{inputs.enriched.table.name}} row",icon:"arrow-clockwise",description:"Update a row in your database",type:"ACTION",internal:!0,features:{LOOPING:!0},stepId:"UPDATE_ROW",inputs:{},schema:{inputs:{properties:{meta:{type:"object",title:"Field settings"},row:{type:"object",customType:"row",title:"Table"},rowId:{type:"string",title:"Row ID"}},required:["row","rowId"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The updated row"},response:{type:"object",description:"The response from the table"},success:{type:"boolean",description:"Whether the action was successful"},id:{type:"string",description:"The identifier of the updated row"},revision:{type:"string",description:"The revision of the updated row"}},required:["success","id","revision"]}}};var zF={};G(zF,{definition:()=>p7e});var p7e={name:"Zapier Webhook",stepId:"zapier",type:"ACTION",internal:!1,features:{LOOPING:!0},description:"Trigger a Zapier Zap via webhooks",tagline:"Trigger a Zapier Zap",icon:"ri-flashlight-line",inputs:{},schema:{inputs:{properties:{url:{type:"string",title:"Webhook URL"},body:{type:"json",title:"Payload"}},required:["url"]},outputs:{properties:{httpStatus:{type:"number",description:"The HTTP status code of the request"},response:{type:"string",description:"The response from Zapier"}}}}};var YF={};G(YF,{definition:()=>h7e});var h7e={name:"Classify Text",icon:"PageTag",tagline:"Classify text into predefined categories using AI",description:"Analyzes text and assigns it to one of the categories you provide.",stepId:"CLASSIFY_CONTENT",internal:!0,inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{textInput:{type:"longform",title:"Text",description:"The text content you want the AI to classify."},categoryItems:{type:"array",customType:"categories",title:"Categories",description:"Add categories for the AI to use when classifying text."}},required:["textInput","categoryItems"]},outputs:{properties:{category:{type:"string",description:"The category assigned by the AI."},success:{type:"boolean",description:"Whether the classification was successful."}},required:["category","success"]}},type:"ACTION"};var JF={};G(JF,{definition:()=>m7e});var m7e={name:"LLM Prompt",tagline:"Send prompts to LLM",icon:"Algorithm",description:"Interact with an LLM.",type:"ACTION",internal:!0,features:{},stepId:"PROMPT_LLM",inputs:{prompt:""},schema:{inputs:{properties:{prompt:{type:"longform",title:"Prompt"}},required:["prompt","model"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},response:{type:"string",description:"What was output"}},required:["success","response"]}}};var XF={};G(XF,{definition:()=>g7e});var g7e={name:"Translate",tagline:"Translate text to a different language",icon:"globe",description:"Translate text to a different language.",type:"ACTION",internal:!0,features:{},stepId:"TRANSLATE",inputs:{prompt:""},schema:{inputs:{properties:{text:{type:"string",title:"Text"},language:{type:"string",title:"Language"}},required:["text","language"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},response:{type:"string",description:"What was the translated text"}},required:["success","response"]}}};var ZF={};G(ZF,{definition:()=>y7e});var Ure=(n=>(n.SHORT="Short",n.MEDIUM="Medium",n.LONG="Long",n))(Ure||{}),y7e={name:"Summarise",tagline:"Summarise text",icon:"Summarize",description:"Summarise text.",type:"ACTION",internal:!0,features:{},stepId:"SUMMARISE",inputs:{prompt:""},schema:{inputs:{properties:{text:{type:"longform",title:"Text"},length:{type:"string",title:"Length",enum:Object.values(Ure)}},required:["text","length"]},outputs:{properties:{success:{type:"boolean",description:"Whether the action was successful"},response:{type:"string",description:"What was the summarised text"}},required:["success","response"]}}};var e1={};G(e1,{definition:()=>b7e});var b7e={name:"Generate Text",icon:"Edit",tagline:"Generate contentusing AI",description:"Uses AI to generate text content based on your instructions and chosen format",stepId:"GENERATE_TEXT",internal:!0,inputs:{contentType:"document"},features:{LOOPING:!0},schema:{inputs:{properties:{contentType:{type:"string",title:"Content type",enum:Object.values($A),pretty:Object.values(UX)},instructions:{type:"longform",title:"Instructions",description:"Provide guidance to help the AI produce content in the format that you want"}},required:["contentType","instructions"]},outputs:{properties:{generatedText:{type:"string",description:"The text content generated by the AI"},success:{type:"boolean",description:"Whether the text generation was successful"}},required:["generatedText","success"]}},type:"ACTION"};var t1={};G(t1,{definition:()=>_7e});var _7e={name:"Extract Document Data",icon:"Document",tagline:"Extract structured data from documents using AI",description:"Extracts structured data from PDF or image according to provided schema.",stepId:"EXTRACT_FILE_DATA",internal:!0,inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{file:{type:"string",title:"Document",description:"Attachment or Link to the document to extract data from."},source:{type:"string",enum:Object.values(VA),title:"Source",description:"The source of the document to extract data from."},fileType:{dependsOn:{field:"source",value:"URL"},type:"string",enum:Object.values(HA),title:"File Type",description:"The type of file at the URL."},schema:{customType:"triggerSchema",title:"Data schema",description:'Schema defining the structure of data to extract. Example: {"name": "string", "price": "number"}.'}},required:["file","schema"]},outputs:{properties:{data:{type:"json",description:"The structured data extracted from the document."},success:{type:"boolean",description:"Whether the extraction was successful."}},required:["data","success"]}},type:"ACTION"};var r1={};G(r1,{definition:()=>w7e});var w7e={name:"Agent",icon:"Effect",tagline:"Run an AI agent with tools",description:"Execute a pre-configured AI agent that can use tools to accomplish tasks",stepId:"AGENT",internal:!0,inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{agentId:{customType:"agent",title:"Agent",description:"Select the agent to run"},prompt:{type:"longform",title:"Prompt",description:"The task or question to send to the agent"},useStructuredOutput:{type:"boolean",title:"Use structured output",description:"Constrain the agent response to a specific JSON structure"},outputSchema:{type:"object",customType:"outputSchema",title:"Output Schema",description:"Define the structure of the agent's output",dependsOn:"useStructuredOutput"}},required:["agentId","prompt"]},outputs:{properties:{response:{type:"string",description:"The agent's response"},success:{type:"boolean",description:"Whether the agent completed successfully"},steps:{type:"array",description:"The steps taken by the agent"},output:{type:"object",description:"Structured output from the agent (when output schema is defined)"}},required:["response","success"]}},type:"ACTION"};var n1={};G(n1,{definition:()=>E7e});var E7e={name:"State",tagline:"Extract automation state",icon:"brackets-curly",description:"Extract automation state into a named variable",type:"ACTION",internal:!0,new:!1,stepId:"EXTRACT_STATE",inputs:{},features:{LOOPING:!0},schema:{inputs:{properties:{key:{type:"string",title:"Key"},value:{type:"longform",title:"Value"}},required:["value","key"]},outputs:{properties:{value:{type:"string",description:"The result of the return statement"},success:{type:"boolean",description:"Whether the action was successful"}},required:["success"]}}};var i1={};G(i1,{definition:()=>S7e});var S7e={name:"Loop",icon:"recycle",tagline:"Loop the block",description:"Loop",stepId:"LOOP_V2",internal:!0,features:{},inputs:{},schema:{inputs:{properties:{children:{type:"array",title:"Input type"},binding:{type:"string",title:"Binding / Value"},iterations:{type:"number",title:"Max loop iterations"},failure:{type:"string",title:"Failure Condition"}}},outputs:{properties:{success:{type:"boolean",description:"Loop success"},iterations:{type:"number",description:"The number of iterations executed"},items:{type:"json",description:"Per-step iteration results"},summary:{type:"json",description:"Loop summary including per-step counters"}},required:["success"]}},type:"LOGIC"};var s1={};G(s1,{definitions:()=>D7e});var Fre={name:"User action",event:"app:trigger",icon:"cursor-click",tagline:"Automation fired from the frontend",description:"Trigger an automation from an action inside your app",stepId:"APP",inputs:{},schema:{inputs:{properties:{fields:{type:"object",customType:"triggerSchema",title:"Fields"}},required:[]},outputs:{properties:{fields:{type:"object",description:"Fields submitted from the app frontend",customType:"triggerSchema"}},required:["fields"]}},type:"TRIGGER"};var Bre={name:"CRON / Schedule",event:"cron:trigger",icon:"clock",tagline:"Cron Trigger (<b>{{inputs.cron}}</b>)",description:"Triggers automation on a cron schedule.",stepId:"CRON",inputs:{},schema:{inputs:{properties:{cron:{type:"string",customType:"cron",title:"Expression"}},required:["cron"]},outputs:{properties:{timestamp:{type:"number",description:"Timestamp the cron was executed"}},required:["timestamp"]}},type:"TRIGGER"};var qre={name:"Email Received",event:"email:trigger",icon:"envelope",tagline:"Email Trigger",description:"Triggers automation when an email is received",stepId:"EMAIL",inputs:{host:"",port:993,secure:!0,username:"",password:"",mailbox:"INBOX"},schema:{inputs:{properties:{host:{type:"string",description:"IMAP host address"},port:{type:"number",description:"IMAP port"},secure:{type:"boolean",description:"Use TLS/SSL for the IMAP connection"},username:{type:"string",description:"IMAP username"},password:{type:"string",description:"IMAP password"},mailbox:{type:"string",description:"Mailbox to monitor"}},required:["host","port","secure","username","password"]},outputs:{properties:{from:{type:"string",description:"Who sent the email"},to:{type:"string",description:"Who received the email"},cc:{type:"array",subtype:"string",description:"Who was CC'd on the email"},subject:{type:"string",description:"What was the subject of the email"},sentAt:{type:"datetime",description:"When the email was sent"},bodyText:{type:"string",description:"Email content (plain text)"}},required:["from","to"]}},type:"TRIGGER"};var jre={name:"Row Deleted",event:"row:delete",icon:"trash-simple",tagline:"Row is deleted from {{inputs.enriched.table.name}}",description:"Fired when a row is deleted from your database",stepId:"ROW_DELETED",inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"}},required:["tableId"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The row that was deleted"}},required:["row"]}},type:"TRIGGER"};var Wre={name:"Row Created",event:"row:save",icon:"rows-plus-bottom",tagline:"Row is added to {{inputs.enriched.table.name}}",description:"Fired when a row is added to your database",stepId:"ROW_SAVED",inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},filters:{type:"object",customType:"trigger_filter",title:"Filtering"}},required:["tableId"]},outputs:{properties:{row:{type:"object",customType:"row",description:"The new row that was created"},id:{type:"string",description:"Row ID - can be used for updating"},revision:{type:"string",description:"Revision of row"}},required:["row","id"]}},type:"TRIGGER"};var Gre={name:"Row Updated",event:"row:update",icon:"arrow-clockwise",tagline:"Row is updated in {{inputs.enriched.table.name}}",description:"Fired when a row is updated in your database",stepId:"ROW_UPDATED",inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table"},filters:{type:"object",customType:"trigger_filter",title:"Filtering"}},required:["tableId"]},outputs:{properties:{oldRow:{type:"object",customType:"row",description:"The row that was updated",title:"Old Row"},row:{type:"object",customType:"row",description:"The row before it was updated",title:"Row"},id:{type:"string",description:"Row ID - can be used for updating"},revision:{type:"string",description:"Revision of row"}},required:["row","id"]}},type:"TRIGGER"};var $re={name:"Webhook",event:"web:trigger",icon:"paper-plane-right",tagline:"Webhook endpoint is hit",description:"Trigger an automation when a HTTP POST webhook is hit",stepId:"WEBHOOK",inputs:{},schema:{inputs:{properties:{schemaUrl:{type:"string",customType:"webhookUrl",title:"Schema URL"},triggerUrl:{type:"string",customType:"webhookUrl",title:"Trigger URL"}},required:["schemaUrl","triggerUrl"]},outputs:{properties:{body:{type:"object",description:"Body of the request which hit the webhook"}},required:["body"]}},type:"TRIGGER"};var Vre={type:"TRIGGER",name:"Row Action",event:"row:action",icon:"tree-structure",tagline:"Row action triggered in {{inputs.enriched.table.name}} by {{inputs.enriched.row._id}}",description:"row action workflow",stepId:"ROW_ACTION",inputs:{},schema:{inputs:{properties:{tableId:{type:"string",customType:"table",title:"Table",readonly:!0}},required:["tableId"]},outputs:{properties:{id:{type:"string",description:"Row ID - can be used for updating"},revision:{type:"string",description:"Revision of row"},table:{type:"object",customType:"table",title:"The table linked to the row action"},row:{type:"object",customType:"row",description:"The row linked to the row action"}}}}};var D7e={ROW_SAVED:Wre,ROW_UPDATED:Gre,ROW_DELETED:jre,WEBHOOK:$re,APP:Fre,CRON:Bre,EMAIL:qre,ROW_ACTION:Vre};var P7e=Object.values(Me).sort((e,t)=>t.length-e.length);function Hre(e){return P7e.find(t=>e.startsWith(`${t}${ce}`))}o(Hre,"getDocumentType");var N7e=Object.values(Hc).sort((e,t)=>t.length-e.length);function Qre(e){return N7e.find(t=>e.startsWith(`${t}${ce}`))}o(Qre,"getVirtualDocumentType");var L7e=new RegExp("^datasource_plus_(.+)__(.+)$"),$R=o(e=>t=>!!t&&t.startsWith(`${e}${ce}`),"idCheckFor"),k7e=o(e=>{let t=e.match(L7e);return!!e&&t!==null},"isExternalTableId"),Ns=o(e=>M7e(e)||k7e(e),"isTableIdOrExternalTableId"),M7e=$R("ta"),ln=$R("view"),fm=$R("datasource"),Kre=$R("query");function Zr(e){if(!ln(e))throw new Error("Unable to extract table ID, is not a view ID");let t=e.split(ce);return t.shift(),e=t.join(ce),new RegExp(`^(?<tableId>.+)${ce}([^${ce}]+)$`).exec(e).groups.tableId}o(Zr,"getTableIdFromViewId");var a1=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(a1||{}),ol=(f=>(f.USER_BY_WORKSPACE="by_app",f.USER_BY_EMAIL="by_email2",f.BY_API_KEY="by_api_key",f.LINK="by_link",f.ROUTING="screen_routes_2",f.AUTOMATION_LOGS="automation_logs",f.ACCOUNT_BY_EMAIL="account_by_email",f.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",f.USER_BY_GROUP="user_by_group",f.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",f))(ol||{}),j_={by_email2:["by_email"]},tr={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"}},Ls=ti("app"),u1=ti("app_dev"),ks=u1,sl="internal",zre="budibase",Fn="_design/sqlite",Yre="ta_bb_jobs",Jre="ta_bb_inventory",Xre="ta_bb_expenses",Zre="ta_bb_employee",VR=`ro${ce}ta_users${ce}`,pd=(r=>(r[r.SQLITE=Fn]="SQLITE",r.MIGRATIONS="_design/migrations",r))(pd||{});var c1=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(c1||{}),dm=(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))(dm||{}),ene=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(ene||{}),tne=(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))(tne||{}),U7e=new Date(-2147483647e3),l1=new Date(2147483647e3),Lr="default";var Be={};G(Be,{CacheKey:()=>bn,TTL:()=>Op,bustCache:()=>Yg,destroy:()=>yS,docWritethrough:()=>YH,generic:()=>bS,get:()=>Ip,invite:()=>XH,keys:()=>V0,passwordReset:()=>ZH,store:()=>uc,user:()=>df,withCache:()=>ef,withCacheWithDynamicTTL:()=>YRe,workspace:()=>Kw,writethrough:()=>U3});var YH={};G(YH,{DocWritethrough:()=>zH,DocWritethroughProcessor:()=>gS,getProcessor:()=>kMt,init:()=>zRe});var Vn={};G(Vn,{BudibaseQueue:()=>Gs,InMemoryQueue:()=>AI,JobQueue:()=>ng,QueuedProcessor:()=>KH,UnretriableError:()=>G0,shutdown:()=>lct});var f1=require("crypto"),QR=require("fs"),B7e=require("lodash"),W_=require("path");var q7e=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,W_.resolve)((0,W_.join)(__dirname,"..","..","..")),rne=!1;!rne&&HR()&&!d1()&&(require("dotenv").config({path:(0,W_.join)(q7e,".env")}),rne=!0);function d1(){return ine()}o(d1,"isTest");function ine(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}o(ine,"isJest");function HR(){return process.env.NODE_ENV!=="production"}o(HR,"isDev");function j7e(e){if(e)return parseInt(e)}o(j7e,"parseIntSafe");var pm={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},nne=!!parseInt(process.env.SELF_HOSTED||"");function W7e(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}o(W7e,"getAPIEncryptionKey");function G7e(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}o(G7e,"httpLogging");function $7e(){function e(r){function n(u,c){let l=`${c}/${u}`;if((0,QR.existsSync)(l))return l;let f=`${c}/..`;return f===c?null:n(u,f)}o(n,"findFileInAncestors");let i=n(r,process.cwd()),s=(0,QR.readFileSync)(i,"utf-8");return JSON.parse(s)}o(e,"getParentFile");let t;if(HR()&&!d1())try{t=`${e("lerna.json").version}+local`}catch{}try{let r=e("package.json");return{VERSION:t||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}o($7e,"getPackageJsonFields");function V7e(){return al.SERVICE_TYPE==="worker"}o(V7e,"isWorker");function H7e(){return al.SERVICE_TYPE==="apps"}o(H7e,"isApps");function Q7e(){return al.BUDIBASE_ENVIRONMENT==="QA"}o(Q7e,"isQA");function K7e(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}o(K7e,"getServiceName");var al={isTest:d1,isJest:ine,isDev:HR,isWorker:V7e,isApps:H7e,isQA:Q7e,isProd:()=>!HR(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,f1.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,f1.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:W7e(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:nne,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||pm.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||pm.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||pm.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||pm.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||pm.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||pm.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:K7e(),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:G7e(),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:nne?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...$7e(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(e,t){process.env[e]=t,al[e]=t},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,OPENAI_API_KEY:process.env.OPENAI_API_KEY,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:j7e(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};var one=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","OPENAI_API_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[e,t]of Object.entries(al))t==="0"&&(al[e]=0),t==="false"&&(al[e]=0);var L=al;var YR={};G(YR,{Databases:()=>p1,SEPARATOR:()=>hm,SelectableDatabase:()=>KR,getRedisClusterOptions:()=>h1,getRedisConnectionDetails:()=>zR,getRedisOptions:()=>hd,removeDbPrefix:()=>m1});var hm="-",p1=(E=>(E.PW_RESETS="pwReset",E.VERIFICATIONS="verification",E.INVITATIONS="invitation",E.DEV_LOCKS="devLocks",E.DEBOUNCE="debounce",E.SESSIONS="session",E.USER_CACHE="users",E.FLAGS="flags",E.WORKSPACE_METADATA="appMetadata",E.QUERY_VARS="queryVars",E.LICENSES="license",E.GENERIC_CACHE="data_cache",E.WRITE_THROUGH="writeThrough",E.LOCKS="locks",E.SOCKET_IO="socket_io",E.BPM_EVENTS="bpmEvents",E.DOC_WRITE_THROUGH="docWriteThrough",E.RECAPTCHA_SESSION="recaptchaSession",E.OPENAPI_IMPORT_SPECS="openapiImportSpecs",E))(p1||{}),KR=(y=>(y[y.DEFAULT=0]="DEFAULT",y[y.SOCKET_IO=1]="SOCKET_IO",y[y.RATE_LIMITING=2]="RATE_LIMITING",y[y.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",y[y.UNUSED_3=4]="UNUSED_3",y[y.UNUSED_4=5]="UNUSED_4",y[y.UNUSED_5=6]="UNUSED_5",y[y.UNUSED_6=7]="UNUSED_6",y[y.UNUSED_7=8]="UNUSED_7",y[y.UNUSED_8=9]="UNUSED_8",y[y.UNUSED_9=10]="UNUSED_9",y[y.UNUSED_10=11]="UNUSED_10",y[y.UNUSED_11=12]="UNUSED_11",y[y.UNUSED_12=13]="UNUSED_12",y[y.UNUSED_13=14]="UNUSED_13",y[y.UNUSED_14=15]="UNUSED_14",y))(KR||{});function zR(){let e=L.REDIS_PASSWORD,t=L.REDIS_USERNAME,r=L.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");t=t||a[0]||void 0,e=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),s=parseInt(i);return{host:n,password:e,username:t,port:isNaN(s)?6379:s}}o(zR,"getRedisConnectionDetails");function h1(){return{slotsRefreshTimeout:2e3,dnsLookup:(e,t)=>t(null,e),redisOptions:{...hd(),tls:{}}}}o(h1,"getRedisClusterOptions");function hd(){let{host:e,password:t,port:r,username:n}=zR();return{connectTimeout:3e4,port:r,host:e,password:t,...n&&{username:n}}}o(hd,"getRedisOptions");function m1(e){let t=e.split(hm);return t.length>=2?(t.shift(),t.join(hm)):t[0]}o(m1,"removeDbPrefix");var kle=U(require("events"));var nt={};G(nt,{Duration:()=>nr,DurationType:()=>Lle,GZIP_PREFIX:()=>vI,clearCookie:()=>Dl,compare:()=>b1,getCookie:()=>$u,getDispatcher:()=>Jut,getWorkspaceIdFromCtx:()=>Bd,gunzipFromBase64:()=>tct,gzipToBase64:()=>ect,hasCircularStructure:()=>Gut,hash:()=>y1,isAudited:()=>Gq,isClient:()=>Wut,isPublicApiRequest:()=>qut,isServingApp:()=>Uut,isServingBuilder:()=>Fut,isServingBuilderPreview:()=>But,isValidInternalAPIKey:()=>rE,newid:()=>Nt,openJwt:()=>EI,setCookie:()=>Nle,time:()=>Vut,timeout:()=>Wq,urlHasProtocol:()=>$ut,validEmail:()=>$q});var sne=require("uuid");function Nt(){return(0,sne.v4)().replace(/-/g,"")}o(Nt,"newid");var g1=require("bcrypt"),z7e=L.SALT_ROUNDS||10;async function y1(e){let t=await g1.genSalt(z7e);return g1.hash(e,t)}o(y1,"hash");async function b1(e,t){return g1.compare(e,t)}o(b1,"compare");var wI=U(require("jsonwebtoken"));var C={};G(C,{DEFAULT_TENANT_ID:()=>Lr,baseGlobalDBName:()=>Vw,doInAutomationContext:()=>Vat,doInContext:()=>yq,doInEnvironmentContext:()=>rut,doInFeatureFlagOverrideContext:()=>vq,doInIPContext:()=>wq,doInIdentityContext:()=>V_,doInLicenseContext:()=>Qat,doInScimContext:()=>nut,doInSelfHostTenantUsingCloud:()=>Hat,doInTenant:()=>ji,doInWorkspaceContext:()=>Yat,doInWorkspaceMigrationContext:()=>Xat,ensureSnippetContext:()=>Bce,getAuditLogDBName:()=>Uce,getAuditLogsDB:()=>out,getAutomationId:()=>bq,getCurrentContext:()=>kd,getDevWorkspaceDB:()=>aut,getDevWorkspaceId:()=>eut,getEnvironmentVariables:()=>iut,getFeatureFlagOverrides:()=>Tq,getFeatureFlags:()=>Eq,getGlobalDB:()=>gt,getGlobalDBName:()=>Ld,getIP:()=>_q,getIdentity:()=>Du,getLicense:()=>Kat,getOrThrowWorkspaceId:()=>Zat,getPlatformURL:()=>gq,getProdWorkspaceDB:()=>sut,getProdWorkspaceId:()=>tut,getScimDBName:()=>jat,getSelfHostCloudDB:()=>zat,getTableForView:()=>uut,getTenantIDFromWorkspaceID:()=>Jm,getTenantId:()=>Ue,getWorkspaceDB:()=>Xm,getWorkspaceId:()=>Si,identity:()=>$_,isMultiTenant:()=>Cl,isScim:()=>Ws,isSelfHostUsingCloud:()=>nI,isTenancyEnabled:()=>Gat,isTenantIdSet:()=>Wat,setFeatureFlags:()=>Sq,setTableForView:()=>cut});var $_={};G($_,{doInAccountContext:()=>Y7e,doInIdentityContext:()=>w1,doInUserContext:()=>E1,getAccountUserId:()=>ane,getIdentity:()=>_1});function _1(){return Du()}o(_1,"getIdentity");function w1(e,t){return V_(e,t)}o(w1,"doInIdentityContext");function E1(e,t,r){let n={...e,_id:e._id,type:"user",hostInfo:{ipAddress:t.request.ip,userAgent:t.userAgent.source}};return w1(n,r)}o(E1,"doInUserContext");function Y7e(e,t){let r=ane(e),n=e.tenantId,i={_id:r,type:"user",tenantId:n,account:e};return w1(i,t)}o(Y7e,"doInAccountContext");function ane(e){let t;return WA(e)?t=e.budibaseUserId:t=e.accountId,t}o(ane,"getAccountUserId");var Ms=o(e=>{let t=S1(e),r,n;if(t.auth?.username)r=t.auth.username;else if(L.COUCH_DB_USERNAME)r=L.COUCH_DB_USERNAME;else if(!L.isTest())throw new Error("CouchDB username not set");if(t.auth?.password)n=t.auth.password;else if(L.COUCH_DB_PASSWORD)n=L.COUCH_DB_PASSWORD;else if(!L.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),s=L.COUCH_DB_SQL_URL;if(L.isDev()&&!s)s="http://localhost:4006";else if(!s&&t.url){let a=new URL(t.url);s=t.url.replace(a.port,"4984")}return{url:t.url,sqlUrl:S1(s).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),S1=o((e=L.COUCH_DB_URL)=>{let t,r,n,i;if(e){/^https?:\/\//i.test(e)||(e=`http://${e}`);let a=e.split("://"),u=a[0],c=a.slice(1).join("://");if(e.includes("@")){let l=c.split("@");i=l[l.length-1];let f=l.slice(0,-1).join("@");if(f.includes(":")){let d=f.split(":");r=d[0],n=d.slice(1).join(":")}else r=f}else i=c;t=`${u}://${i}`}return{url:t,auth:{username:r,password:n}}},"getUrlInfo");var Lce=U(require("@budibase/nano"));var une=U(require("node-fetch"));function JR(e){return e.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}o(JR,"checkSlashesInUrl");async function cne(e,t="GET",r){let{url:n,cookie:i}=Ms(),s=`${n}/${e}`;return await H_({url:s,cookie:i,method:t,body:r})}o(cne,"directCouchCall");async function H_({url:e,cookie:t,method:r,body:n}){let i={method:r,headers:{Authorization:t}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,une.default)(JR(encodeURI(e)),i)}o(H_,"directCouchUrlCall");async function T1(e,t="GET",r){let n=await cne(e,t,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}o(T1,"directCouchQuery");var Nd=U(require("pouchdb"));var Cce,xce=!1,oq=o((e={})=>{let{url:t,cookie:r}=Ms(),n={prefix:t,fetch:(i,s)=>(s.headers.set("Authorization",r),Nd.default.fetch(i,s))};if(e.inMemory){let i=Sae();Nd.default.plugin(i),n={adapter:"memory"}}if(e.onDisk&&(n={adapter:"leveldb"}),e.replication){let i=Ice();Nd.default.plugin(i.plugin),Nd.default.adapter("writableStream",i.adapters.writableStream)}if(e.find){let i=require("pouchdb-find");Nd.default.plugin(i)}return Nd.default.defaults(n)},"getPouch");function XO(e){Cce=oq(e),xce=!0}o(XO,"init");var Tat=o(()=>{if(!xce)throw new Error("init has not been called")},"checkInitialised");function es(e,t){Tat();let r=new Cce(e,t),n=r.put;return r.put=async(i,s={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,s)),r.exists=async()=>!(await r.info()).error,r}o(es,"getPouchDB");async function Ww(e){if(!(!e||L.isTest()))try{return await e.close()}catch{}}o(Ww,"closePouchDB");var Mr=U(require("dd-trace"));var Km=class{constructor(t){this.db=t}static{o(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(t){return Mr.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:t}),t?this.db.exists(t):this.db.exists()))}get(t){return Mr.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:t}),this.db.get(t)))}tryGet(t){return Mr.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:t});let n=await this.db.tryGet(t);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(t,r){return Mr.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:t?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(t,r);return n.addTags({num_docs_found:i.length}),i})}remove(t,r){return Mr.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:t,rev:r});let i=typeof t=="object",s=i?t._id:t;r=i?t._rev:r;let a=await this.db.remove(s,r);return n.addTags({ok:a.ok}),a})}bulkRemove(t,r){return Mr.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:t.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(t,r)))}put(t,r){return Mr.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:t._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(t,r);return n.addTags({ok:i.ok}),i})}bulkDocs(t){return Mr.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:t.length}),this.db.bulkDocs(t)))}async find(t){return Mr.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.find(t);return r.addTags({rows_length:n.docs.length}),n})}allDocs(t){return Mr.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.allDocs(t);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(t,r){return Mr.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:t,...r});let i=await this.db.query(t,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return Mr.default.trace("db.destroy",async t=>{t.addTags({db_name:this.name});let r=await this.db.destroy();return t.addTags({ok:r.ok}),r})}compact(){return Mr.default.trace("db.compact",async t=>{t.addTags({db_name:this.name});let r=await this.db.compact();return t.addTags({ok:r.ok}),r})}dump(t,r){return Mr.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(t,r)))}load(...t){return Mr.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.load(...t)))}createIndex(...t){return Mr.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.createIndex(...t)))}deleteIndex(...t){return Mr.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.deleteIndex(...t)))}getIndexes(...t){return Mr.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.getIndexes(...t)))}sql(t,r){return Mr.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(t,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(t){return Mr.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(t)?t.length:1}),this.db.sqlPurgeDocument(t)))}sqlDiskCleanup(){return Mr.default.trace("db.sqlDiskCleanup",t=>(t.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var pq={};G(pq,{breakExternalTableId:()=>uq,breakRowIdField:()=>Mat,buildExternalTableId:()=>xat,convertRowId:()=>kat,encodeTableId:()=>Dat,encodeViewId:()=>Pat,extractDate:()=>lq,generateRowIdField:()=>Nat,getNativeSql:()=>zm,isExternalTable:()=>aq,isExternalTableID:()=>ZO,isInternalTableID:()=>Cat,isRowId:()=>Lat,isValidFilter:()=>tI,isValidISODateString:()=>eI,isValidISODateStringWithoutTimezone:()=>cq,isValidTime:()=>fq,sqlLog:()=>Gw,validateManyToMany:()=>dq});var sq=`${ce}${ce}`,Dce=/^\[.*]$/g,vat=encodeURIComponent(" "),Aat=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,Rat=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,Oat=/(\d{4}-\d{2}-\d{2})/,Iat=/^(?:\d{2}:)?(?:\d{2}:)(?:\d{2})$/;function ZO(e){return e.startsWith("datasource"+ce)}o(ZO,"isExternalTableID");function Cat(e){return!ZO(e)}o(Cat,"isInternalTableID");function zm(e){let t=e.toSQL();if(Array.isArray(t))return t;let r;return t.toNative&&(r=t.toNative()),{sql:r?.sql||t.sql,bindings:r?.bindings||t.bindings}}o(zm,"getNativeSql");function aq(e){return e?.sourceId&&e.sourceId.includes("datasource"+ce)&&e?.sourceId!==Qb||e?.sourceType==="external"?!0:!!(e?._id&&ZO(e._id))}o(aq,"isExternalTable");function xat(e,t){return`${e}${sq}${encodeURIComponent(t)}`}o(xat,"buildExternalTableId");function Dat(e){return ZO(e)?encodeURIComponent(e):e}o(Dat,"encodeTableId");function Pat(e){return encodeURIComponent(e)}o(Pat,"encodeViewId");function uq(e){let t=e.split(sq),r=t.shift(),n=t.join(sq);if(n.includes(vat)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}o(uq,"breakExternalTableId");function Nat(e=[]){Array.isArray(e)||(e=[e]);for(let t in e)e[t]instanceof Buffer&&(e[t]=e[t].toString());return encodeURIComponent(JSON.stringify(e).replace(/"/g,"'"))}o(Nat,"generateRowIdField");function Lat(e){return Array.isArray(e)||typeof e=="string"&&e.match(Dce)!=null}o(Lat,"isRowId");function kat(e){return Array.isArray(e)?e[0]:typeof e=="string"&&e.match(Dce)!=null?e.substring(1,e.length-1):e}o(kat,"convertRowId");function Mat(e){if(!e)return[];let t=typeof e=="string"?e:e._id,r=decodeURIComponent(t).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[e]}}o(Mat,"breakRowIdField");function eI(e){let t=e.trim();if(!Aat.test(t))return!1;let r=new Date(t);return!isNaN(r.getTime())}o(eI,"isValidISODateString");function cq(e){let t=e.trim();if(!Rat.test(t))return!1;let r=new Date(t);return!isNaN(r.getTime())}o(cq,"isValidISODateStringWithoutTimezone");function lq(e){let t=e.match(Oat);if(t)return t[0]}o(lq,"extractDate");function tI(e){return e!=null&&e!==""}o(tI,"isValidFilter");function fq(e){return Iat.test(e)}o(fq,"isValidTime");function Gw(e,t,r){if(!L.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${e.toUpperCase()}] query="${t}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}o(Gw,"sqlLog");function Uat(e){return!!e.through&&!!e.fromPrimary&&!!e.from&&!!e.toPrimary&&!!e.to}o(Uat,"isValidManyToManyRelationship");function dq(e){if(Uat(e))return e}o(dq,"validateManyToMany");var Pce="Database does not exist.";function Nce(e){return(0,Lce.default)({url:e.url,requestDefaults:{headers:{Authorization:e.cookie}},parseUrl:!1})}o(Nce,"buildNano");var Ol=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{o(this,"CouchDBError")}};function Fat(e,t,r){if(!e||!t)throw new Error("Unable to create database without database name or connection");let n=new Ym(e,r,t);return new Km(n)}o(Fat,"DatabaseWithConnection");var Ym=class e{constructor(t,r,n){this.couchInfo=Ms();this.name=t,this.pouchOpts=r||{},n&&(this.couchInfo=Ms(n),this.instanceNano=Nce(this.couchInfo)),e.nano||e.init()}static{o(this,"DatabaseImpl")}static init(){let t=Ms();e.nano=Nce(t)}exists(t){return t===void 0?this.dbExists():this.docExists(t)}async dbExists(){return(await H_({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(t){try{return await this.performCall(r=>()=>r.head(t)),!0}catch{return!1}}nano(){return this.instanceNano||e.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let t=!this.pouchOpts?.skip_setup,r=await this.exists();if(!t&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new Ol(n.message,n)}return this.getDb()}async performCallWithDBCreation(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===Pce)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(t);throw new Ol(`CouchDB error: ${i.message}`,i)}}async performCall(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){throw new Ol(`CouchDB error: ${i.message}`,i)}}async get(t){return this.performCall(r=>{if(!t)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(t)})}async tryGet(t){try{return await this.get(t)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(t,r){if(!t||t.length===0)return[];t=[...new Set(t)];let n=!r?.excludeDocs,i=await this.allDocs({keys:t,include_docs:n}),s=o(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=>!s(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(f=>s(f)).map(f=>f.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(t,r){return this.performCall(n=>{let i,s;if(NX(t)?(i=t._id,s=t._rev):(i=t,s=r),!i||!s)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,s)})}async bulkRemove(t,r){let n=await this.performCall(a=>()=>a.bulk({docs:t.map(u=>({...u,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,s="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,s+=a.error);if(i)throw new Ol(s,{name:this.name,status:400})}async post(t,r){return t._id||(t._id=Nt()),this.put(t,r)}async put(t,r){if(!t._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(t.createdAt||(t.createdAt=new Date().toISOString()),t.updatedAt=new Date().toISOString(),r?.force&&t._id)try{let i=await this.get(t._id);i&&(t._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(t);return r?.returnDoc?{...i,doc:{...t,_rev:i.rev}}:i}})}async bulkDocs(t){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:t.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(t){return this.performCall(r=>async()=>r.find(t))}async allDocs(t){return this.performCall(r=>async()=>{try{return await r.list(t)}catch(n){if(n.reason===Pce)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(t,r,n){t=JR(`${this.couchInfo.sqlUrl}/${t}`);let i={url:t,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let s=await H_(i),a=await s.text();if(s.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new Ol("error while running SQS query, please try again later",{name:"sqs_error",status:s.status})}throw u}return JSON.parse(a)})}async sql(t,r){let i=`/${this.name}/${Fn}`;return Gw("sqlite3",t,r),await this._sqlQuery(i,"POST",{query:t,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(t){Array.isArray(t)||(t=[t]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:t})}async query(t,r){return this.performCall(n=>{let[i,s]=t.split("/");return()=>n.view(i,s,r)})}async destroy(){if(await this.exists(Fn)){let t=await this.get(Fn);t.sql.tables={},await this.put(t),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(t){if(t.statusCode===404)return{ok:!0};throw new Ol(t.message,t)}}async compact(){return this.performCall(t=>()=>t.compact())}async dump(t,r){return es(this.name).dump(t,r)}async load(t){return es(this.name).load(t)}async createIndex(t){return es(this.name).createIndex(t)}async deleteIndex(t){return es(this.name).deleteIndex(t)}async getIndexes(){return es(this.name).getIndexes()}};function Ei(e,t){return new Km(new Ym(e,t))}o(Ei,"getDB");async function Oo(e,t,r){let n=Ei(e,r);return await t(n)}o(Oo,"doWithDB");async function hq(e){let t="/_all_dbs";return e&&(t+=`?${e}`),await T1(t)}o(hq,"directCouchAllDbs");var mq="No app provided";function Il(e){if(!e)throw mq;return e.startsWith(ks)}o(Il,"isDevWorkspaceID");function Bat(e){if(!e)throw mq;return e.startsWith(Ls)&&!Il(e)}o(Bat,"isProdWorkspaceID");function $w(e){if(!e)throw mq;return Il(e.appId)}o($w,"isDevWorkspace");function rI(e){if(!e||e.startsWith(ks))return e;let t=e.split(Ls);t.shift();let r=t.join(Ls);return`${ks}${r}`}o(rI,"getDevWorkspaceID");function Io(e){if(!e||!e.startsWith(ks))return e;let t=e.split(ks);t.shift();let r=t.join(ks);return`${Ls}${r}`}o(Io,"getProdWorkspaceID");var kce=require("async_hooks");var tn=class e{static{o(this,"Context")}static{this.storage=new kce.AsyncLocalStorage}static run(t,r){return e.storage.run(t,()=>r())}static get(){return e.storage.getStore()}};var Mce=null;function Ld(e){return e||(e=Ue()),Vw(e)}o(Ld,"getGlobalDBName");function Uce(e){return e||(e=Ue()),e===Lr?tr.AUDIT_LOGS.name:`${e}${ce}${tr.AUDIT_LOGS.name}`}o(Uce,"getAuditLogDBName");function jat(e){return e||(e=Ue()),e===Lr?tr.SCIM_LOGS.name:`${e}${ce}${tr.SCIM_LOGS.name}`}o(jat,"getScimDBName");function Vw(e){return!e||e===Lr?tr.GLOBAL.name:`${e}${ce}${tr.GLOBAL.name}`}o(Vw,"baseGlobalDBName");function gq(){return L.PLATFORM_URL}o(gq,"getPlatformURL");function Cl(){return!!L.MULTI_TENANCY}o(Cl,"isMultiTenant");function Wat(){return!!tn.get()?.tenantId}o(Wat,"isTenantIdSet");function Gat(){return L.MULTI_TENANCY}o(Gat,"isTenancyEnabled");function Jm(e){if(!e)return;if(!Cl())return Lr;let t=e.split(ce),r=t[1]==="dev";if(!(r&&t.length===3||!r&&t.length===2))return r?t[2]:t[1]}o(Jm,"getTenantIDFromWorkspaceID");function $at(e){let t;try{t=tn.get()}catch{t={}}return t={...t,...e},t}o($at,"updateContext");async function qs(e,t){Jat();let r=$at(e);return tn.run(r,t)}o(qs,"newContext");async function Vat(e){return await Bce(),await qs({tenantId:Jm(e.workspaceId),appId:e.workspaceId,automationId:e.automationId},e.task)}o(Vat,"doInAutomationContext");async function yq(e,t){let r=Jm(e);return qs({tenantId:r,appId:e},t)}o(yq,"doInContext");async function ji(e,t){return L.MULTI_TENANCY||(e=e||Lr),qs(e?{tenantId:e}:{},t)}o(ji,"doInTenant");async function Hat(e,t){return qs({tenantId:e,isSelfHostUsingCloud:!0},t)}o(Hat,"doInSelfHostTenantUsingCloud");async function Qat(e,t){return qs({license:e},t)}o(Qat,"doInLicenseContext");function Kat(){return tn.get()?.license}o(Kat,"getLicense");function nI(){return!!tn.get()?.isSelfHostUsingCloud}o(nI,"isSelfHostUsingCloud");function zat(){let e=tn.get();if(!e||!e.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return Ei(tr.SELF_HOST_CLOUD.name)}o(zat,"getSelfHostCloudDB");async function Yat(e,t){return Fce(e,t)}o(Yat,"doInWorkspaceContext");async function Fce(e,t,r){if(!e)throw new Error("workspaceId is required");let n=Jm(e),i={appId:e,...r};return n&&(i.tenantId=n),qs(i,t)}o(Fce,"_doInWorkspaceContext");async function V_(e,t){if(!e)throw new Error("identity is required");let r={identity:e};return e.tenantId&&(r.tenantId=e.tenantId),qs(r,t)}o(V_,"doInIdentityContext");function Jat(){if(tn.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}o(Jat,"guardMigration");async function Xat(e,t){return Fce(e,t,{isMigrating:!0})}o(Xat,"doInWorkspaceMigrationContext");function Du(){try{return tn.get()?.identity}catch{}}o(Du,"getIdentity");function Ue(){if(!Cl())return Lr;let t=tn.get()?.tenantId;if(!t)throw new Error("Tenant id not found");return t}o(Ue,"getTenantId");function bq(){return tn.get()?.automationId}o(bq,"getAutomationId");function Si(){let t=tn.get()?.appId;return!t&&L.isTest()&&Mce?Mce:t}o(Si,"getWorkspaceId");function Zat(){let e=Si();if(!e)throw new Error("Workspace id not set");return e}o(Zat,"getOrThrowWorkspaceId");function _q(){return tn.get()?.ip}o(_q,"getIP");var eut=o(()=>{let e=Si();if(!e)throw new Error("Could not get workspaceId");return rI(e)},"getDevWorkspaceId"),tut=o(()=>{let e=Si();if(!e)throw new Error("Could not get workspaceId");return Io(e)},"getProdWorkspaceId");function rut(e,t){if(!e)throw new Error("Must supply environment variables.");return qs({environmentVariables:e},t)}o(rut,"doInEnvironmentContext");function nut(e){return qs({isScim:!0},e)}o(nut,"doInScimContext");function wq(e,t){return qs({ip:e},t)}o(wq,"doInIPContext");async function Bce(){let e=kd();if(!e||e.snippets)return;let t,r=Xm();r&&(t=(await r.tryGet("app_metadata"))?.snippets),e.snippets=t||[]}o(Bce,"ensureSnippetContext");function iut(){let e=tn.get();return e.environmentVariables?e.environmentVariables:null}o(iut,"getEnvironmentVariables");function gt(){let e=tn.get();if(!e||L.MULTI_TENANCY&&!e.tenantId)throw new Error("Global DB not found");if(e.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return Ei(Vw(e?.tenantId))}o(gt,"getGlobalDB");function out(){if(!Ue())throw new Error("No tenant ID found - cannot open audit log DB");return Ei(Uce())}o(out,"getAuditLogsDB");function Xm(e){let t=Si();if(!t)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(nI())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return Ei(t,e)}o(Xm,"getWorkspaceDB");function sut(e){let t=Si();if(!t)throw new Error("Unable to retrieve prod DB - no workspace ID.");return Ei(Io(t),e)}o(sut,"getProdWorkspaceDB");function aut(e){let t=Si();if(!t)throw new Error("Unable to retrieve dev DB - no workspace ID.");return Ei(rI(t),e)}o(aut,"getDevWorkspaceDB");function Ws(){return!!tn.get()?.isScim}o(Ws,"isScim");function kd(){try{return tn.get()}catch{return}}o(kd,"getCurrentContext");function Eq(e){let t=kd();if(t)return t.featureFlagCache?.[e]}o(Eq,"getFeatureFlags");function Sq(e,t){let r=kd();r&&(r.featureFlagCache??={},r.featureFlagCache[e]=t)}o(Sq,"setFeatureFlags");function Tq(){return kd()?.featureFlagOverrides||{}}o(Tq,"getFeatureFlagOverrides");async function vq(e,t){return await qs({featureFlagOverrides:e},t)}o(vq,"doInFeatureFlagOverrideContext");function uut(e){let t=kd();if(t)return t.viewToTableCache?.[e]}o(uut,"getTableForView");function cut(e,t){let r=kd();r&&(r.viewToTableCache??={},r.viewToTableCache[e]=t)}o(cut,"setTableForView");var F={};G(F,{AutomationViewMode:()=>a1,BUDIBASE_DATASOURCE_TYPE:()=>zre,DEFAULT_BB_DATASOURCE_ID:()=>Qb,DEFAULT_EMPLOYEE_TABLE_ID:()=>Zre,DEFAULT_EXPENSES_TABLE_ID:()=>Xre,DEFAULT_INVENTORY_TABLE_ID:()=>Jre,DEFAULT_JOBS_TABLE_ID:()=>Yre,DatabaseImpl:()=>Ym,DatabaseWithConnection:()=>Fat,DeprecatedViews:()=>j_,DesignDocuments:()=>pd,DocumentType:()=>Me,InternalTable:()=>Tu,QueryBuilder:()=>Gu,Replication:()=>Rle,SEPARATOR:()=>ce,SQLITE_DESIGN_DOC_ID:()=>Fn,SQS_DATASOURCE_INTERNAL:()=>sl,StaticDatabases:()=>tr,UNICODE_MAX:()=>Mn,USER_METADATA_PREFIX:()=>VR,ViewName:()=>ol,WORKSPACE_DEV:()=>u1,WORKSPACE_DEV_PREFIX:()=>ks,WORKSPACE_PREFIX:()=>Ls,baseGlobalDBName:()=>Vw,checkErrorCode:()=>xle,closePouchDB:()=>Ww,createApiKeyView:()=>wle,createNewUserEmailView:()=>ble,createPlatformAccountEmailView:()=>Sle,createPlatformUserView:()=>Tle,createUserAppView:()=>_le,createView:()=>rg,dbExists:()=>Aut,directCouchAllDbs:()=>hq,directCouchCall:()=>cne,directCouchQuery:()=>T1,directCouchUrlCall:()=>H_,doWithDB:()=>Oo,fullSearch:()=>xut,generateAIConfigID:()=>ole,generateAgentFileID:()=>ile,generateAgentID:()=>ele,generateAgentToolSourceID:()=>nle,generateAppUserID:()=>yI,generateChatAppID:()=>tle,generateChatConversationID:()=>rle,generateDevInfoID:()=>Jce,generateGlobalUserID:()=>tg,generateOAuth2LogID:()=>Zce,generatePluginID:()=>Xce,generateRoleID:()=>Dq,generateRowID:()=>xq,generateTableID:()=>Hce,generateTemplateID:()=>Yce,generateUserMetadataID:()=>Kce,generateVectorDbID:()=>cle,generateWorkspaceAppID:()=>ale,generateWorkspaceFavouriteID:()=>ule,generateWorkspaceID:()=>Vce,getAllDbs:()=>yle,getAllWorkspaces:()=>Yw,getCouchInfo:()=>Ms,getDB:()=>Ei,getDevWorkspaceID:()=>rI,getDevWorkspaceIDs:()=>Tut,getDocParams:()=>ju,getGlobalDBName:()=>Ld,getGlobalIDFromUserMetadataID:()=>zce,getGlobalUserParams:()=>Ud,getLiteLLMKeyID:()=>sle,getOAuth2ConfigParams:()=>hle,getPluginParams:()=>ple,getPouch:()=>oq,getPouchDB:()=>es,getProdWorkpaceIDs:()=>Sut,getProdWorkspaceID:()=>Io,getQueryIndex:()=>lle,getRoleParams:()=>_I,getRowParams:()=>Pq,getStartEndKeyURL:()=>zw,getTemplateParams:()=>dle,getUrlInfo:()=>S1,getUserMetadataParams:()=>fle,getUsersByWorkspaceParams:()=>bI,getWorkspaceAppParams:()=>mle,getWorkspaceFavouriteParams:()=>gle,getWorkspacesByIDs:()=>Eut,init:()=>XO,isDevWorkspace:()=>$w,isDevWorkspaceID:()=>Il,isDocumentConflictError:()=>Put,isGlobalUserID:()=>Qce,isProdWorkspaceID:()=>Bat,isSameWorkspaceID:()=>vut,paginatedSearch:()=>Cut,pagination:()=>Nq,prefixRoleID:()=>qu,queryGlobalView:()=>Wu,queryGlobalViewRaw:()=>Mq,queryPlatformView:()=>Xw,queryView:()=>kq,queryViewRaw:()=>Jw,removeKeyNumbering:()=>Zw,searchIndexes:()=>Bq});var Kw={};G(Kw,{WorkspaceState:()=>Cq,getWorkspaceMetadata:()=>gI,invalidateWorkspaceMetadata:()=>_ut});var xl={};G(xl,{getCacheClient:()=>Rq,getDocWritethroughClient:()=>mut,getInviteClient:()=>Md,getLockClient:()=>Iq,getOpenapiImportSpecsClient:()=>put,getPasswordResetClient:()=>Qw,getSessionClient:()=>eg,getSocketClient:()=>hut,getUserClient:()=>Hw,getWorkspaceClient:()=>mI,getWritethroughClient:()=>Oq,init:()=>ts,shutdown:()=>Gce});var oI=U(require("ioredis"));var iI=require("dd-trace"),jce=require("lodash");var qce;if(L.MOCK_REDIS)try{qce=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function lut(e=0){return await iI.tracer.trace("Redis.init",async t=>{if(L.MOCK_REDIS)return t.addTags({mock:!0}),new qce(hd());let r;if(L.REDIS_CLUSTERED){t.addTags({clustered:!0});let{host:n,port:i}=zR();r=new oI.Cluster([{host:n,port:i}],h1())}else r=new oI.default(hd());return new Promise((n,i)=>{r.on("error",s=>{t.addTags({error:!0}),console.error(`failed to connect to redis (db: ${e})`,s),i(s)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${e})`)}),r.on("ready",()=>{t.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${e})`),n(r)})})})}o(lut,"init");function fut(e,t){return new Promise((r,n)=>{let i=new Set;e.on("data",s=>s.forEach(a=>i.add(a))),e.on("error",s=>n(s)),e.on("end",async()=>{try{let s=Array.from(i).map(async a=>{let u=await t.get(a);return u&&(u=JSON.parse(u)),{key:m1(a),value:u}});r(await Promise.all(s))}catch(s){n(s)}})})}o(fut,"promisifyStream");function dut(e){return e.isCluster}o(dut,"isCluster");var Aq=class e{static{o(this,"RedisWrapper")}constructor(t,r){this.client=t,this.db=r}static async init(t,r=0){return await iI.tracer.trace("RedisWrapper.init",async n=>{let i=await lut(r);return r&&!L.isTest()&&(n.addTags({db:t}),i.select(r)),new e(i,t)})}trace(t,r){return iI.tracer.trace(t,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(t){return t.includes(this.db)?t:`${this.db}${hm}${t}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(t=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:t}),t=`${this.db}${hm}${t}`;let n;dut(this.client)?n=this.client.nodes("master")[0].scanStream({match:t+"*",count:1e3}):n=this.client.scanStream({match:t+"*",count:1e3});let i=await fut(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(t){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:t}),this.client.keys(this.prefixed(t))))}async exists(t){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:t}),await this.client.exists(this.prefixed(t))))}async get(t){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:t});let n=await this.client.get(this.prefixed(t));n!=null&&n.key&&(n.key=t);try{return JSON.parse(n)}catch{return n}})}async bulkGet(t){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:t.length}),t.length===0)return{};let n=await this.client.mget(t.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,jce.zip)(t,n).reduce((i,[s,a])=>{if(s===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${t.length} vs ${n.length}`);try{i[s]=a?JSON.parse(a):null}catch{i[s]=a}return i},{})})}async store(t,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:t,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(t),r),n&&await this.client.expire(this.prefixed(t),n)})}async bulkStore(t,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(t).length,expirySeconds:r});let i=Object.entries(t).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),s=this.client.pipeline();if(s.mset(i),r!==null)for(let a of Object.keys(i))s.expire(a,r);await s.exec()})}async getTTL(t){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:t}),await this.client.ttl(this.prefixed(t))))}async setExpiry(t,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:t,expirySeconds:r}),await this.client.expire(this.prefixed(t),r)))}async delete(t){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:t}),await this.client.del(this.prefixed(t))})}async bulkDelete(t){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:t.length}),await this.client.del(t.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async t=>{let r=await this.scan();t.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(t){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:t});let n=await this.client.incr(this.prefixed(t));if(isNaN(n))throw new Error(`Redis ${t} does not contain a number`);return n})}async deleteIfValue(t,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:t});let i=`
434
434
  if redis.call('GET', KEYS[1]) == ARGV[1] then
435
435
  redis.call('DEL', KEYS[1])
436
436
  end