@revturbine/sdk 0.2.21 → 0.2.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/headless.js +1 -1
- package/dist/headless.js.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/types/web-sdk/react/index.d.ts +1 -0
- package/dist/types/web-sdk/react/index.d.ts.map +1 -1
- package/dist/types/web-sdk/react/useCan.d.ts +47 -0
- package/dist/types/web-sdk/react/useCan.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/headless.js
CHANGED
|
@@ -62,7 +62,7 @@ import {createContext,useState,useCallback,useMemo,useRef,useEffect,useContext}f
|
|
|
62
62
|
|
|
63
63
|
`);}g.write("payload.value = newResult;"),g.write("return payload;");let C=g.compile();return (N,R)=>C(f,N,R)},i,a=mi,c=!di.jitless,u=c&&df.value,m=n.catchall,p;e._zod.parse=(f,g)=>{p??(p=o.value);let h=f.value;return a(h)?c&&u&&g?.async===false&&g.jitless!==true?(i||(i=t(n.shape)),f=i(f,g),m?qk([],h,f,g,p,e):f):r(f,g):(f.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),f)};});function Rk(e,n,r,o){for(let i of e)if(i.issues.length===0)return n.value=i.value,n;let t=e.filter(i=>!Ur(i));return t.length===1?(n.value=t[0].value,t[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:e.map(i=>i.issues.map(a=>Gt(a,o,pt())))}),n)}var gs=x("$ZodUnion",(e,n)=>{me.init(e,n),xe(e._zod,"optin",()=>n.options.some(o=>o._zod.optin==="optional")?"optional":void 0),xe(e._zod,"optout",()=>n.options.some(o=>o._zod.optout==="optional")?"optional":void 0),xe(e._zod,"values",()=>{if(n.options.every(o=>o._zod.values))return new Set(n.options.flatMap(o=>Array.from(o._zod.values)))}),xe(e._zod,"pattern",()=>{if(n.options.every(o=>o._zod.pattern)){let o=n.options.map(t=>t._zod.pattern);return new RegExp(`^(${o.map(t=>is(t.source)).join("|")})$`)}});let r=n.options.length===1?n.options[0]._zod.run:null;e._zod.parse=(o,t)=>{if(r)return r(o,t);let i=false,a=[];for(let c of n.options){let l=c._zod.run({value:o.value,issues:[]},t);if(l instanceof Promise)a.push(l),i=true;else {if(l.issues.length===0)return l;a.push(l);}}return i?Promise.all(a).then(c=>Rk(c,o,e,t)):Rk(a,o,e,t)};});function Ck(e,n,r,o){let t=e.filter(i=>i.issues.length===0);return t.length===1?(n.value=t[0].value,n):(t.length===0?n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:e.map(i=>i.issues.map(a=>Gt(a,o,pt())))}):n.issues.push({code:"invalid_union",input:n.value,inst:r,errors:[],inclusive:false}),n)}var th=x("$ZodXor",(e,n)=>{gs.init(e,n),n.inclusive=false;let r=n.options.length===1?n.options[0]._zod.run:null;e._zod.parse=(o,t)=>{if(r)return r(o,t);let i=false,a=[];for(let c of n.options){let l=c._zod.run({value:o.value,issues:[]},t);l instanceof Promise?(a.push(l),i=true):a.push(l);}return i?Promise.all(a).then(c=>Ck(c,o,e,t)):Ck(a,o,e,t)};}),nh=x("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=false,gs.init(e,n);let r=e._zod.parse;xe(e._zod,"propValues",()=>{let t={};for(let i of n.options){let a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(i)}"`);for(let[c,l]of Object.entries(a)){t[c]||(t[c]=new Set);for(let u of l)t[c].add(u);}}return t});let o=Fi(()=>{let t=n.options,i=new Map;for(let a of t){let c=a._zod.propValues?.[n.discriminator];if(!c||c.size===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(a)}"`);for(let l of c){if(i.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);i.set(l,a);}}return i});e._zod.parse=(t,i)=>{let a=t.value;if(!mi(a))return t.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),t;let c=o.value.get(a?.[n.discriminator]);return c?c._zod.run(t,i):n.unionFallback||i.direction==="backward"?r(t,i):(t.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:n.discriminator,options:Array.from(o.value.keys()),input:a,path:[n.discriminator],inst:e}),t)};}),rh=x("$ZodIntersection",(e,n)=>{me.init(e,n),e._zod.parse=(r,o)=>{let t=r.value,i=n.left._zod.run({value:t,issues:[]},o),a=n.right._zod.run({value:t,issues:[]},o);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([l,u])=>Ek(r,l,u)):Ek(r,i,a)};});function hg(e,n){if(e===n)return {valid:true,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return {valid:true,data:e};if(jr(e)&&jr(n)){let r=Object.keys(n),o=Object.keys(e).filter(i=>r.indexOf(i)!==-1),t={...e,...n};for(let i of o){let a=hg(e[i],n[i]);if(!a.valid)return {valid:false,mergeErrorPath:[i,...a.mergeErrorPath]};t[i]=a.data;}return {valid:true,data:t}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return {valid:false,mergeErrorPath:[]};let r=[];for(let o=0;o<e.length;o++){let t=e[o],i=n[o],a=hg(t,i);if(!a.valid)return {valid:false,mergeErrorPath:[o,...a.mergeErrorPath]};r.push(a.data);}return {valid:true,data:r}}return {valid:false,mergeErrorPath:[]}}function Ek(e,n,r){let o=new Map,t;for(let c of n.issues)if(c.code==="unrecognized_keys"){t??(t=c);for(let l of c.keys)o.has(l)||o.set(l,{}),o.get(l).l=true;}else e.issues.push(c);for(let c of r.issues)if(c.code==="unrecognized_keys")for(let l of c.keys)o.has(l)||o.set(l,{}),o.get(l).r=true;else e.issues.push(c);let i=[...o].filter(([,c])=>c.l&&c.r).map(([c])=>c);if(i.length&&t&&e.issues.push({...t,keys:i}),Ur(e))return e;let a=hg(n.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}var Bl=x("$ZodTuple",(e,n)=>{me.init(e,n);let r=n.items;e._zod.parse=(o,t)=>{let i=o.value;if(!Array.isArray(i))return o.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=[];let a=[],c=zk(r,"optin"),l=zk(r,"optout");if(!n.rest){if(i.length<c)return o.issues.push({code:"too_small",minimum:c,inclusive:true,input:i,inst:e,origin:"array"}),o;i.length>r.length&&o.issues.push({code:"too_big",maximum:r.length,inclusive:true,input:i,inst:e,origin:"array"});}let u=new Array(r.length);for(let m=0;m<r.length;m++){let p=r[m]._zod.run({value:i[m],issues:[]},t);p instanceof Promise?a.push(p.then(f=>{u[m]=f;})):u[m]=p;}if(n.rest){let m=r.length-1,p=i.slice(r.length);for(let f of p){m++;let g=n.rest._zod.run({value:f,issues:[]},t);g instanceof Promise?a.push(g.then(h=>jk(h,o,m))):jk(g,o,m);}}return a.length?Promise.all(a).then(()=>Uk(u,o,r,i,l)):Uk(u,o,r,i,l)};});function zk(e,n){for(let r=e.length-1;r>=0;r--)if(e[r]._zod[n]!=="optional")return r+1;return 0}function jk(e,n,r){e.issues.length&&n.issues.push(...ln(r,e.issues)),n.value[r]=e.value;}function Uk(e,n,r,o,t){for(let i=0;i<r.length;i++){let a=e[i],c=i<o.length;if(a.issues.length){if(!c&&i>=t){n.value.length=i;break}n.issues.push(...ln(i,a.issues));}n.value[i]=a.value;}for(let i=n.value.length-1;i>=o.length&&(r[i]._zod.optout==="optional"&&n.value[i]===void 0);i--)n.value.length=i;return n}var ih=x("$ZodRecord",(e,n)=>{me.init(e,n),e._zod.parse=(r,o)=>{let t=r.value;if(!jr(t))return r.issues.push({expected:"record",code:"invalid_type",input:t,inst:e}),r;let i=[],a=n.keyType._zod.values;if(a){r.value={};let c=new Set;for(let u of a)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){c.add(typeof u=="number"?u.toString():u);let m=n.keyType._zod.run({value:u,issues:[]},o);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(m.issues.length){r.issues.push({code:"invalid_key",origin:"record",issues:m.issues.map(g=>Gt(g,o,pt())),input:u,path:[u],inst:e});continue}let p=m.value,f=n.valueType._zod.run({value:t[u],issues:[]},o);f instanceof Promise?i.push(f.then(g=>{g.issues.length&&r.issues.push(...ln(u,g.issues)),r.value[p]=g.value;})):(f.issues.length&&r.issues.push(...ln(u,f.issues)),r.value[p]=f.value);}let l;for(let u in t)c.has(u)||(l=l??[],l.push(u));l&&l.length>0&&r.issues.push({code:"unrecognized_keys",input:t,inst:e,keys:l});}else {r.value={};for(let c of Reflect.ownKeys(t)){if(c==="__proto__"||!Object.prototype.propertyIsEnumerable.call(t,c))continue;let l=n.keyType._zod.run({value:c,issues:[]},o);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof c=="string"&&jl.test(c)&&l.issues.length){let p=n.keyType._zod.run({value:Number(c),issues:[]},o);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(l=p);}if(l.issues.length){n.mode==="loose"?r.value[c]=t[c]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(p=>Gt(p,o,pt())),input:c,path:[c],inst:e});continue}let m=n.valueType._zod.run({value:t[c],issues:[]},o);m instanceof Promise?i.push(m.then(p=>{p.issues.length&&r.issues.push(...ln(c,p.issues)),r.value[l.value]=p.value;})):(m.issues.length&&r.issues.push(...ln(c,m.issues)),r.value[l.value]=m.value);}}return i.length?Promise.all(i).then(()=>r):r};}),oh=x("$ZodMap",(e,n)=>{me.init(e,n),e._zod.parse=(r,o)=>{let t=r.value;if(!(t instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:t,inst:e}),r;let i=[];r.value=new Map;for(let[a,c]of t){let l=n.keyType._zod.run({value:a,issues:[]},o),u=n.valueType._zod.run({value:c,issues:[]},o);l instanceof Promise||u instanceof Promise?i.push(Promise.all([l,u]).then(([m,p])=>{Ok(m,p,r,a,t,e,o);})):Ok(l,u,r,a,t,e,o);}return i.length?Promise.all(i).then(()=>r):r};});function Ok(e,n,r,o,t,i,a){e.issues.length&&(os.has(typeof o)?r.issues.push(...ln(o,e.issues)):r.issues.push({code:"invalid_key",origin:"map",input:t,inst:i,issues:e.issues.map(c=>Gt(c,a,pt()))})),n.issues.length&&(os.has(typeof o)?r.issues.push(...ln(o,n.issues)):r.issues.push({origin:"map",code:"invalid_element",input:t,inst:i,key:o,issues:n.issues.map(c=>Gt(c,a,pt()))})),r.value.set(e.value,n.value);}var ah=x("$ZodSet",(e,n)=>{me.init(e,n),e._zod.parse=(r,o)=>{let t=r.value;if(!(t instanceof Set))return r.issues.push({input:t,inst:e,expected:"set",code:"invalid_type"}),r;let i=[];r.value=new Set;for(let a of t){let c=n.valueType._zod.run({value:a,issues:[]},o);c instanceof Promise?i.push(c.then(l=>Dk(l,r))):Dk(c,r);}return i.length?Promise.all(i).then(()=>r):r};});function Dk(e,n){e.issues.length&&n.issues.push(...e.issues),n.value.add(e.value);}var sh=x("$ZodEnum",(e,n)=>{me.init(e,n);let r=rs(n.entries),o=new Set(r);e._zod.values=o,e._zod.pattern=new RegExp(`^(${r.filter(t=>os.has(typeof t)).map(t=>typeof t=="string"?Cn(t):t.toString()).join("|")})$`),e._zod.parse=(t,i)=>{let a=t.value;return o.has(a)||t.issues.push({code:"invalid_value",values:r,input:a,inst:e}),t};}),ch=x("$ZodLiteral",(e,n)=>{if(me.init(e,n),n.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(n.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.values.map(o=>typeof o=="string"?Cn(o):o?Cn(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,t)=>{let i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:n.values,input:i,inst:e}),o};}),lh=x("$ZodFile",(e,n)=>{me.init(e,n),e._zod.parse=(r,o)=>{let t=r.value;return t instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:t,inst:e}),r};}),uh=x("$ZodTransform",(e,n)=>{me.init(e,n),e._zod.optin="optional",e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Cr(e.constructor.name);let t=n.transform(r.value,r);if(o.async)return (t instanceof Promise?t:Promise.resolve(t)).then(a=>(r.value=a,r.fallback=true,r));if(t instanceof Promise)throw new Ln;return r.value=t,r.fallback=true,r};});function Ak(e,n){return n===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var Ml=x("$ZodOptional",(e,n)=>{me.init(e,n),e._zod.optin="optional",e._zod.optout="optional",xe(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),xe(e._zod,"pattern",()=>{let r=n.innerType._zod.pattern;return r?new RegExp(`^(${is(r.source)})?$`):void 0}),e._zod.parse=(r,o)=>{if(n.innerType._zod.optin==="optional"){let t=r.value,i=n.innerType._zod.run(r,o);return i instanceof Promise?i.then(a=>Ak(a,t)):Ak(i,t)}return r.value===void 0?r:n.innerType._zod.run(r,o)};}),dh=x("$ZodExactOptional",(e,n)=>{Ml.init(e,n),xe(e._zod,"values",()=>n.innerType._zod.values),xe(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(r,o)=>n.innerType._zod.run(r,o);}),mh=x("$ZodNullable",(e,n)=>{me.init(e,n),xe(e._zod,"optin",()=>n.innerType._zod.optin),xe(e._zod,"optout",()=>n.innerType._zod.optout),xe(e._zod,"pattern",()=>{let r=n.innerType._zod.pattern;return r?new RegExp(`^(${is(r.source)}|null)$`):void 0}),xe(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(r,o)=>r.value===null?r:n.innerType._zod.run(r,o);}),ph=x("$ZodDefault",(e,n)=>{me.init(e,n),e._zod.optin="optional",xe(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return n.innerType._zod.run(r,o);if(r.value===void 0)return r.value=n.defaultValue,r;let t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(i=>Nk(i,n)):Nk(t,n)};});function Nk(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}var fh=x("$ZodPrefault",(e,n)=>{me.init(e,n),e._zod.optin="optional",xe(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,o)=>(o.direction==="backward"||r.value===void 0&&(r.value=n.defaultValue),n.innerType._zod.run(r,o));}),gh=x("$ZodNonOptional",(e,n)=>{me.init(e,n),xe(e._zod,"values",()=>{let r=n.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,o)=>{let t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(i=>Fk(i,e)):Fk(t,e)};});function Fk(e,n){return !e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}var hh=x("$ZodSuccess",(e,n)=>{me.init(e,n),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Cr("ZodSuccess");let t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(i=>(r.value=i.issues.length===0,r)):(r.value=t.issues.length===0,r)};}),bh=x("$ZodCatch",(e,n)=>{me.init(e,n),e._zod.optin="optional",xe(e._zod,"optout",()=>n.innerType._zod.optout),xe(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return n.innerType._zod.run(r,o);let t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(i=>(r.value=i.value,i.issues.length&&(r.value=n.catchValue({...r,error:{issues:i.issues.map(a=>Gt(a,o,pt()))},input:r.value}),r.issues=[],r.fallback=true),r)):(r.value=t.value,t.issues.length&&(r.value=n.catchValue({...r,error:{issues:t.issues.map(i=>Gt(i,o,pt()))},input:r.value}),r.issues=[],r.fallback=true),r)};}),_h=x("$ZodNaN",(e,n)=>{me.init(e,n),e._zod.parse=(r,o)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:e,expected:"nan",code:"invalid_type"}),r);}),Vl=x("$ZodPipe",(e,n)=>{me.init(e,n),xe(e._zod,"values",()=>n.in._zod.values),xe(e._zod,"optin",()=>n.in._zod.optin),xe(e._zod,"optout",()=>n.out._zod.optout),xe(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(r,o)=>{if(o.direction==="backward"){let i=n.out._zod.run(r,o);return i instanceof Promise?i.then(a=>Dl(a,n.in,o)):Dl(i,n.in,o)}let t=n.in._zod.run(r,o);return t instanceof Promise?t.then(i=>Dl(i,n.out,o)):Dl(t,n.out,o)};});function Dl(e,n,r){return e.issues.length?(e.aborted=true,e):n._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},r)}var hs=x("$ZodCodec",(e,n)=>{me.init(e,n),xe(e._zod,"values",()=>n.in._zod.values),xe(e._zod,"optin",()=>n.in._zod.optin),xe(e._zod,"optout",()=>n.out._zod.optout),xe(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(r,o)=>{if((o.direction||"forward")==="forward"){let i=n.in._zod.run(r,o);return i instanceof Promise?i.then(a=>Al(a,n,o)):Al(i,n,o)}else {let i=n.out._zod.run(r,o);return i instanceof Promise?i.then(a=>Al(a,n,o)):Al(i,n,o)}};});function Al(e,n,r){if(e.issues.length)return e.aborted=true,e;if((r.direction||"forward")==="forward"){let t=n.transform(e.value,e);return t instanceof Promise?t.then(i=>Nl(e,i,n.out,r)):Nl(e,t,n.out,r)}else {let t=n.reverseTransform(e.value,e);return t instanceof Promise?t.then(i=>Nl(e,i,n.in,r)):Nl(e,t,n.in,r)}}function Nl(e,n,r,o){return e.issues.length?(e.aborted=true,e):r._zod.run({value:n,issues:e.issues},o)}var vh=x("$ZodPreprocess",(e,n)=>{Vl.init(e,n);}),yh=x("$ZodReadonly",(e,n)=>{me.init(e,n),xe(e._zod,"propValues",()=>n.innerType._zod.propValues),xe(e._zod,"values",()=>n.innerType._zod.values),xe(e._zod,"optin",()=>n.innerType?._zod?.optin),xe(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(r,o)=>{if(o.direction==="backward")return n.innerType._zod.run(r,o);let t=n.innerType._zod.run(r,o);return t instanceof Promise?t.then(Lk):Lk(t)};});function Lk(e){return e.value=Object.freeze(e.value),e}var xh=x("$ZodTemplateLiteral",(e,n)=>{me.init(e,n);let r=[];for(let o of n.parts)if(typeof o=="object"&&o!==null){if(!o._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...o._zod.traits].shift()}`);let t=o._zod.pattern instanceof RegExp?o._zod.pattern.source:o._zod.pattern;if(!t)throw new Error(`Invalid template literal part: ${o._zod.traits}`);let i=t.startsWith("^")?1:0,a=t.endsWith("$")?t.length-1:t.length;r.push(t.slice(i,a));}else if(o===null||pf.has(typeof o))r.push(Cn(`${o}`));else throw new Error(`Invalid template literal part: ${o}`);e._zod.pattern=new RegExp(`^${r.join("")}$`),e._zod.parse=(o,t)=>typeof o.value!="string"?(o.issues.push({input:o.value,inst:e,expected:"string",code:"invalid_type"}),o):(e._zod.pattern.lastIndex=0,e._zod.pattern.test(o.value)||o.issues.push({input:o.value,inst:e,code:"invalid_format",format:n.format??"template_literal",pattern:e._zod.pattern.source}),o);}),Ih=x("$ZodFunction",(e,n)=>(me.init(e,n),e._def=n,e._zod.def=n,e.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...o){let t=e._def.input?Il(e._def.input,o):o,i=Reflect.apply(r,this,t);return e._def.output?Il(e._def.output,i):i}},e.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...o){let t=e._def.input?await Sl(e._def.input,o):o,i=await Reflect.apply(r,this,t);return e._def.output?await Sl(e._def.output,i):i}},e._zod.parse=(r,o)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:e}),r):(e._def.output&&e._def.output._zod.def.type==="promise"?r.value=e.implementAsync(r.value):r.value=e.implement(r.value),r),e.input=(...r)=>{let o=e.constructor;return Array.isArray(r[0])?new o({type:"function",input:new Bl({type:"tuple",items:r[0],rest:r[1]}),output:e._def.output}):new o({type:"function",input:r[0],output:e._def.output})},e.output=r=>{let o=e.constructor;return new o({type:"function",input:e._def.input,output:r})},e)),Sh=x("$ZodPromise",(e,n)=>{me.init(e,n),e._zod.parse=(r,o)=>Promise.resolve(r.value).then(t=>n.innerType._zod.run({value:t,issues:[]},o));}),Ph=x("$ZodLazy",(e,n)=>{me.init(e,n),xe(e._zod,"innerType",()=>{let r=n;return r._cachedInner||(r._cachedInner=n.getter()),r._cachedInner}),xe(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),xe(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),xe(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),xe(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(r,o)=>e._zod.innerType._zod.run(r,o);}),$h=x("$ZodCustom",(e,n)=>{et.init(e,n),me.init(e,n),e._zod.parse=(r,o)=>r,e._zod.check=r=>{let o=r.value,t=n.fn(o);if(t instanceof Promise)return t.then(i=>Zk(i,r,o,e));Zk(t,r,o,e);};});function Zk(e,n,r,o){if(!e){let t={code:"custom",input:r,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(t.params=o._zod.def.params),n.issues.push(Li(t));}}var _s={};$t(_s,{ar:()=>Kk,az:()=>Gk,be:()=>Wk,bg:()=>Xk,ca:()=>Yk,cs:()=>Qk,da:()=>e0,de:()=>t0,el:()=>n0,en:()=>ql,eo:()=>r0,es:()=>i0,fa:()=>o0,fi:()=>a0,fr:()=>s0,frCA:()=>c0,he:()=>l0,hr:()=>u0,hu:()=>d0,hy:()=>p0,id:()=>f0,is:()=>g0,it:()=>h0,ja:()=>b0,ka:()=>_0,kh:()=>v0,km:()=>Hl,ko:()=>y0,lt:()=>I0,mk:()=>S0,ms:()=>P0,nl:()=>$0,no:()=>k0,ota:()=>w0,pl:()=>R0,ps:()=>T0,pt:()=>C0,ro:()=>E0,ru:()=>j0,sl:()=>U0,sv:()=>O0,ta:()=>D0,th:()=>A0,tr:()=>N0,ua:()=>F0,uk:()=>Kl,ur:()=>L0,uz:()=>Z0,vi:()=>B0,yo:()=>q0,zhCN:()=>M0,zhTW:()=>V0});var kU=()=>{let e={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function n(t){return e[t]??null}let r={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${t.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${c}`:`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${i}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${c}`}case "invalid_value":return t.values.length===1?`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${z(t.values[0])}`:`\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${t.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${i} ${t.maximum.toString()} ${a.unit??"\u0639\u0646\u0635\u0631"}`:`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${t.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${i} ${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${t.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${i} ${t.minimum.toString()} ${a.unit}`:`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${t.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${i} ${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${t.prefix}"`:i.format==="ends_with"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${i.suffix}"`:i.format==="includes"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${i.includes}"`:i.format==="regex"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${i.pattern}`:`${r[i.format]??t.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case "not_multiple_of":return `\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${t.divisor}`;case "unrecognized_keys":return `\u0645\u0639\u0631\u0641${t.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${t.keys.length>1?"\u0629":""}: ${P(t.keys,"\u060C ")}`;case "invalid_key":return `\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${t.origin}`;case "invalid_union":return "\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case "invalid_element":return `\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${t.origin}`;default:return "\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};function Kk(){return {localeError:kU()}}var wU=()=>{let e={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function n(t){return e[t]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${t.expected}, daxil olan ${c}`:`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${i}, daxil olan ${c}`}case "invalid_value":return t.values.length===1?`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${z(t.values[0])}`:`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${t.origin??"d\u0259y\u0259r"} ${i}${t.maximum.toString()} ${a.unit??"element"}`:`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${t.origin??"d\u0259y\u0259r"} ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${t.origin} ${i}${t.minimum.toString()} ${a.unit}`:`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${t.origin} ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Yanl\u0131\u015F m\u0259tn: "${i.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`:i.format==="ends_with"?`Yanl\u0131\u015F m\u0259tn: "${i.suffix}" il\u0259 bitm\u0259lidir`:i.format==="includes"?`Yanl\u0131\u015F m\u0259tn: "${i.includes}" daxil olmal\u0131d\u0131r`:i.format==="regex"?`Yanl\u0131\u015F m\u0259tn: ${i.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`:`Yanl\u0131\u015F ${r[i.format]??t.format}`}case "not_multiple_of":return `Yanl\u0131\u015F \u0259d\u0259d: ${t.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case "unrecognized_keys":return `Tan\u0131nmayan a\xE7ar${t.keys.length>1?"lar":""}: ${P(t.keys,", ")}`;case "invalid_key":return `${t.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case "invalid_union":return "Yanl\u0131\u015F d\u0259y\u0259r";case "invalid_element":return `${t.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return "Yanl\u0131\u015F d\u0259y\u0259r"}}};function Gk(){return {localeError:wU()}}function Jk(e,n,r,o){let t=Math.abs(e),i=t%10,a=t%100;return a>=11&&a<=19?o:i===1?n:i>=2&&i<=4?r:o}var TU=()=>{let e={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function n(t){return e[t]??null}let r={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},o={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${t.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${c}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${i}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${c}`}case "invalid_value":return t.values.length===1?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${z(t.values[0])}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);if(a){let c=Number(t.maximum),l=Jk(c,a.unit.one,a.unit.few,a.unit.many);return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${a.verb} ${i}${t.maximum.toString()} ${l}`}return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);if(a){let c=Number(t.minimum),l=Jk(c,a.unit.one,a.unit.few,a.unit.many);return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${a.verb} ${i}${t.minimum.toString()} ${l}`}return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 "${i.prefix}"`:i.format==="ends_with"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 "${i.suffix}"`:i.format==="includes"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C "${i.includes}"`:i.format==="regex"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${i.pattern}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${r[i.format]??t.format}`}case "not_multiple_of":return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${t.divisor}`;case "unrecognized_keys":return `\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${t.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${P(t.keys,", ")}`;case "invalid_key":return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${t.origin}`;case "invalid_union":return "\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case "invalid_element":return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${t.origin}`;default:return "\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};function Wk(){return {localeError:TU()}}var RU=()=>{let e={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function n(t){return e[t]??null}let r={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},o={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${t.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${c}`:`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${i}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${c}`}case "invalid_value":return t.values.length===1?`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${z(t.values[0])}`:`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${i}${t.maximum.toString()} ${a.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`:`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${i}${t.minimum.toString()} ${a.unit}`:`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;if(i.format==="starts_with")return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 "${i.prefix}"`;if(i.format==="ends_with")return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 "${i.suffix}"`;if(i.format==="includes")return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 "${i.includes}"`;if(i.format==="regex")return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${i.pattern}`;let a="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";return i.format==="emoji"&&(a="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"),i.format==="datetime"&&(a="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"),i.format==="date"&&(a="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"),i.format==="time"&&(a="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"),i.format==="duration"&&(a="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"),`${a} ${r[i.format]??t.format}`}case "not_multiple_of":return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${t.divisor}`;case "unrecognized_keys":return `\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${t.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${t.keys.length>1?"\u043E\u0432\u0435":""}: ${P(t.keys,", ")}`;case "invalid_key":return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${t.origin}`;case "invalid_union":return "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case "invalid_element":return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${t.origin}`;default:return "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};function Xk(){return {localeError:RU()}}var CU=()=>{let e={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function n(t){return e[t]??null}let r={regex:"entrada",email:"adre\xE7a electr\xF2nica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Tipus inv\xE0lid: s'esperava instanceof ${t.expected}, s'ha rebut ${c}`:`Tipus inv\xE0lid: s'esperava ${i}, s'ha rebut ${c}`}case "invalid_value":return t.values.length===1?`Valor inv\xE0lid: s'esperava ${z(t.values[0])}`:`Opci\xF3 inv\xE0lida: s'esperava una de ${P(t.values," o ")}`;case "too_big":{let i=t.inclusive?"com a m\xE0xim":"menys de",a=n(t.origin);return a?`Massa gran: s'esperava que ${t.origin??"el valor"} contingu\xE9s ${i} ${t.maximum.toString()} ${a.unit??"elements"}`:`Massa gran: s'esperava que ${t.origin??"el valor"} fos ${i} ${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?"com a m\xEDnim":"m\xE9s de",a=n(t.origin);return a?`Massa petit: s'esperava que ${t.origin} contingu\xE9s ${i} ${t.minimum.toString()} ${a.unit}`:`Massa petit: s'esperava que ${t.origin} fos ${i} ${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Format inv\xE0lid: ha de comen\xE7ar amb "${i.prefix}"`:i.format==="ends_with"?`Format inv\xE0lid: ha d'acabar amb "${i.suffix}"`:i.format==="includes"?`Format inv\xE0lid: ha d'incloure "${i.includes}"`:i.format==="regex"?`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${i.pattern}`:`Format inv\xE0lid per a ${r[i.format]??t.format}`}case "not_multiple_of":return `N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${t.divisor}`;case "unrecognized_keys":return `Clau${t.keys.length>1?"s":""} no reconeguda${t.keys.length>1?"s":""}: ${P(t.keys,", ")}`;case "invalid_key":return `Clau inv\xE0lida a ${t.origin}`;case "invalid_union":return "Entrada inv\xE0lida";case "invalid_element":return `Element inv\xE0lid a ${t.origin}`;default:return "Entrada inv\xE0lida"}}};function Yk(){return {localeError:CU()}}var EU=()=>{let e={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function n(t){return e[t]??null}let r={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},o={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${t.expected}, obdr\u017Eeno ${c}`:`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${i}, obdr\u017Eeno ${c}`}case "invalid_value":return t.values.length===1?`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${z(t.values[0])}`:`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${t.origin??"hodnota"} mus\xED m\xEDt ${i}${t.maximum.toString()} ${a.unit??"prvk\u016F"}`:`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${t.origin??"hodnota"} mus\xED b\xFDt ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${t.origin??"hodnota"} mus\xED m\xEDt ${i}${t.minimum.toString()} ${a.unit??"prvk\u016F"}`:`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${t.origin??"hodnota"} mus\xED b\xFDt ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${i.prefix}"`:i.format==="ends_with"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${i.suffix}"`:i.format==="includes"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${i.includes}"`:i.format==="regex"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${i.pattern}`:`Neplatn\xFD form\xE1t ${r[i.format]??t.format}`}case "not_multiple_of":return `Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${t.divisor}`;case "unrecognized_keys":return `Nezn\xE1m\xE9 kl\xED\u010De: ${P(t.keys,", ")}`;case "invalid_key":return `Neplatn\xFD kl\xED\u010D v ${t.origin}`;case "invalid_union":return "Neplatn\xFD vstup";case "invalid_element":return `Neplatn\xE1 hodnota v ${t.origin}`;default:return "Neplatn\xFD vstup"}}};function Qk(){return {localeError:EU()}}var zU=()=>{let e={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function n(t){return e[t]??null}let r={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},o={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Ugyldigt input: forventede instanceof ${t.expected}, fik ${c}`:`Ugyldigt input: forventede ${i}, fik ${c}`}case "invalid_value":return t.values.length===1?`Ugyldig v\xE6rdi: forventede ${z(t.values[0])}`:`Ugyldigt valg: forventede en af f\xF8lgende ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin),c=o[t.origin]??t.origin;return a?`For stor: forventede ${c??"value"} ${a.verb} ${i} ${t.maximum.toString()} ${a.unit??"elementer"}`:`For stor: forventede ${c??"value"} havde ${i} ${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin),c=o[t.origin]??t.origin;return a?`For lille: forventede ${c} ${a.verb} ${i} ${t.minimum.toString()} ${a.unit}`:`For lille: forventede ${c} havde ${i} ${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Ugyldig streng: skal starte med "${i.prefix}"`:i.format==="ends_with"?`Ugyldig streng: skal ende med "${i.suffix}"`:i.format==="includes"?`Ugyldig streng: skal indeholde "${i.includes}"`:i.format==="regex"?`Ugyldig streng: skal matche m\xF8nsteret ${i.pattern}`:`Ugyldig ${r[i.format]??t.format}`}case "not_multiple_of":return `Ugyldigt tal: skal v\xE6re deleligt med ${t.divisor}`;case "unrecognized_keys":return `${t.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${P(t.keys,", ")}`;case "invalid_key":return `Ugyldig n\xF8gle i ${t.origin}`;case "invalid_union":return "Ugyldigt input: matcher ingen af de tilladte typer";case "invalid_element":return `Ugyldig v\xE6rdi i ${t.origin}`;default:return "Ugyldigt input"}}};function e0(){return {localeError:zU()}}var jU=()=>{let e={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function n(t){return e[t]??null}let r={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},o={nan:"NaN",number:"Zahl",array:"Array"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Ung\xFCltige Eingabe: erwartet instanceof ${t.expected}, erhalten ${c}`:`Ung\xFCltige Eingabe: erwartet ${i}, erhalten ${c}`}case "invalid_value":return t.values.length===1?`Ung\xFCltige Eingabe: erwartet ${z(t.values[0])}`:`Ung\xFCltige Option: erwartet eine von ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Zu gro\xDF: erwartet, dass ${t.origin??"Wert"} ${i}${t.maximum.toString()} ${a.unit??"Elemente"} hat`:`Zu gro\xDF: erwartet, dass ${t.origin??"Wert"} ${i}${t.maximum.toString()} ist`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Zu klein: erwartet, dass ${t.origin} ${i}${t.minimum.toString()} ${a.unit} hat`:`Zu klein: erwartet, dass ${t.origin} ${i}${t.minimum.toString()} ist`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Ung\xFCltiger String: muss mit "${i.prefix}" beginnen`:i.format==="ends_with"?`Ung\xFCltiger String: muss mit "${i.suffix}" enden`:i.format==="includes"?`Ung\xFCltiger String: muss "${i.includes}" enthalten`:i.format==="regex"?`Ung\xFCltiger String: muss dem Muster ${i.pattern} entsprechen`:`Ung\xFCltig: ${r[i.format]??t.format}`}case "not_multiple_of":return `Ung\xFCltige Zahl: muss ein Vielfaches von ${t.divisor} sein`;case "unrecognized_keys":return `${t.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${P(t.keys,", ")}`;case "invalid_key":return `Ung\xFCltiger Schl\xFCssel in ${t.origin}`;case "invalid_union":return "Ung\xFCltige Eingabe";case "invalid_element":return `Ung\xFCltiger Wert in ${t.origin}`;default:return "Ung\xFCltige Eingabe"}}};function t0(){return {localeError:jU()}}var UU=()=>{let e={string:{unit:"\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},file:{unit:"bytes",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},array:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},set:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},map:{unit:"\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"}};function n(t){return e[t]??null}let r={regex:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",email:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",date:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",time:"ISO \u03CE\u03C1\u03B1",duration:"ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",ipv4:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",ipv6:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",mac:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",cidrv4:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",cidrv6:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",base64:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64",base64url:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64url",json_string:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",e164:"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",jwt:"JWT",template_literal:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return typeof t.expected=="string"&&/^[A-Z]/.test(t.expected)?`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD instanceof ${t.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${c}`:`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${i}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${c}`}case "invalid_value":return t.values.length===1?`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${z(t.values[0])}`:`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD \u03AD\u03BD\u03B1 \u03B1\u03C0\u03CC ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${t.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${i}${t.maximum.toString()} ${a.unit??"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`:`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${t.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${t.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${i}${t.minimum.toString()} ${a.unit}`:`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${t.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AC \u03BC\u03B5 "${i.prefix}"`:i.format==="ends_with"?`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B5\u03BB\u03B5\u03B9\u03CE\u03BD\u03B5\u03B9 \u03BC\u03B5 "${i.suffix}"`:i.format==="includes"?`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03B5\u03B9 "${i.includes}"`:i.format==="regex"?`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B1\u03B9\u03C1\u03B9\u03AC\u03B6\u03B5\u03B9 \u03BC\u03B5 \u03C4\u03BF \u03BC\u03BF\u03C4\u03AF\u03B2\u03BF ${i.pattern}`:`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${r[i.format]??t.format}`}case "not_multiple_of":return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03BB\u03B1\u03C0\u03BB\u03AC\u03C3\u03B9\u03BF \u03C4\u03BF\u03C5 ${t.divisor}`;case "unrecognized_keys":return `\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${t.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${t.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${P(t.keys,", ")}`;case "invalid_key":return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${t.origin}`;case "invalid_union":return "\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case "invalid_element":return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${t.origin}`;default:return "\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};function n0(){return {localeError:UU()}}var OU=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function n(t){return e[t]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return `Invalid input: expected ${i}, received ${c}`}case "invalid_value":return t.values.length===1?`Invalid input: expected ${z(t.values[0])}`:`Invalid option: expected one of ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Too big: expected ${t.origin??"value"} to have ${i}${t.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${t.origin??"value"} to be ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Too small: expected ${t.origin} to have ${i}${t.minimum.toString()} ${a.unit}`:`Too small: expected ${t.origin} to be ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??t.format}`}case "not_multiple_of":return `Invalid number: must be a multiple of ${t.divisor}`;case "unrecognized_keys":return `Unrecognized key${t.keys.length>1?"s":""}: ${P(t.keys,", ")}`;case "invalid_key":return `Invalid key in ${t.origin}`;case "invalid_union":return t.options&&Array.isArray(t.options)&&t.options.length>0?`Invalid discriminator value. Expected ${t.options.map(a=>`'${a}'`).join(" | ")}`:"Invalid input";case "invalid_element":return `Invalid value in ${t.origin}`;default:return "Invalid input"}}};function ql(){return {localeError:OU()}}var DU=()=>{let e={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function n(t){return e[t]??null}let r={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},o={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Nevalida enigo: atendi\u011Dis instanceof ${t.expected}, ricevi\u011Dis ${c}`:`Nevalida enigo: atendi\u011Dis ${i}, ricevi\u011Dis ${c}`}case "invalid_value":return t.values.length===1?`Nevalida enigo: atendi\u011Dis ${z(t.values[0])}`:`Nevalida opcio: atendi\u011Dis unu el ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Tro granda: atendi\u011Dis ke ${t.origin??"valoro"} havu ${i}${t.maximum.toString()} ${a.unit??"elementojn"}`:`Tro granda: atendi\u011Dis ke ${t.origin??"valoro"} havu ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Tro malgranda: atendi\u011Dis ke ${t.origin} havu ${i}${t.minimum.toString()} ${a.unit}`:`Tro malgranda: atendi\u011Dis ke ${t.origin} estu ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Nevalida karaktraro: devas komenci\u011Di per "${i.prefix}"`:i.format==="ends_with"?`Nevalida karaktraro: devas fini\u011Di per "${i.suffix}"`:i.format==="includes"?`Nevalida karaktraro: devas inkluzivi "${i.includes}"`:i.format==="regex"?`Nevalida karaktraro: devas kongrui kun la modelo ${i.pattern}`:`Nevalida ${r[i.format]??t.format}`}case "not_multiple_of":return `Nevalida nombro: devas esti oblo de ${t.divisor}`;case "unrecognized_keys":return `Nekonata${t.keys.length>1?"j":""} \u015Dlosilo${t.keys.length>1?"j":""}: ${P(t.keys,", ")}`;case "invalid_key":return `Nevalida \u015Dlosilo en ${t.origin}`;case "invalid_union":return "Nevalida enigo";case "invalid_element":return `Nevalida valoro en ${t.origin}`;default:return "Nevalida enigo"}}};function r0(){return {localeError:DU()}}var AU=()=>{let e={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function n(t){return e[t]??null}let r={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},o={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Entrada inv\xE1lida: se esperaba instanceof ${t.expected}, recibido ${c}`:`Entrada inv\xE1lida: se esperaba ${i}, recibido ${c}`}case "invalid_value":return t.values.length===1?`Entrada inv\xE1lida: se esperaba ${z(t.values[0])}`:`Opci\xF3n inv\xE1lida: se esperaba una de ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin),c=o[t.origin]??t.origin;return a?`Demasiado grande: se esperaba que ${c??"valor"} tuviera ${i}${t.maximum.toString()} ${a.unit??"elementos"}`:`Demasiado grande: se esperaba que ${c??"valor"} fuera ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin),c=o[t.origin]??t.origin;return a?`Demasiado peque\xF1o: se esperaba que ${c} tuviera ${i}${t.minimum.toString()} ${a.unit}`:`Demasiado peque\xF1o: se esperaba que ${c} fuera ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Cadena inv\xE1lida: debe comenzar con "${i.prefix}"`:i.format==="ends_with"?`Cadena inv\xE1lida: debe terminar en "${i.suffix}"`:i.format==="includes"?`Cadena inv\xE1lida: debe incluir "${i.includes}"`:i.format==="regex"?`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${i.pattern}`:`Inv\xE1lido ${r[i.format]??t.format}`}case "not_multiple_of":return `N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${t.divisor}`;case "unrecognized_keys":return `Llave${t.keys.length>1?"s":""} desconocida${t.keys.length>1?"s":""}: ${P(t.keys,", ")}`;case "invalid_key":return `Llave inv\xE1lida en ${o[t.origin]??t.origin}`;case "invalid_union":return "Entrada inv\xE1lida";case "invalid_element":return `Valor inv\xE1lido en ${o[t.origin]??t.origin}`;default:return "Entrada inv\xE1lida"}}};function i0(){return {localeError:AU()}}var NU=()=>{let e={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function n(t){return e[t]??null}let r={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},o={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${t.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${c} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`:`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${i} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${c} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case "invalid_value":return t.values.length===1?`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${z(t.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`:`\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${P(t.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${t.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${i}${t.maximum.toString()} ${a.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`:`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${t.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${i}${t.maximum.toString()} \u0628\u0627\u0634\u062F`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${t.origin} \u0628\u0627\u06CC\u062F ${i}${t.minimum.toString()} ${a.unit} \u0628\u0627\u0634\u062F`:`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${t.origin} \u0628\u0627\u06CC\u062F ${i}${t.minimum.toString()} \u0628\u0627\u0634\u062F`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${i.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`:i.format==="ends_with"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${i.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`:i.format==="includes"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${i.includes}" \u0628\u0627\u0634\u062F`:i.format==="regex"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${i.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`:`${r[i.format]??t.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case "not_multiple_of":return `\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${t.divisor} \u0628\u0627\u0634\u062F`;case "unrecognized_keys":return `\u06A9\u0644\u06CC\u062F${t.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${P(t.keys,", ")}`;case "invalid_key":return `\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${t.origin}`;case "invalid_union":return "\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case "invalid_element":return `\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${t.origin}`;default:return "\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};function o0(){return {localeError:NU()}}var FU=()=>{let e={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function n(t){return e[t]??null}let r={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Virheellinen tyyppi: odotettiin instanceof ${t.expected}, oli ${c}`:`Virheellinen tyyppi: odotettiin ${i}, oli ${c}`}case "invalid_value":return t.values.length===1?`Virheellinen sy\xF6te: t\xE4ytyy olla ${z(t.values[0])}`:`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Liian suuri: ${a.subject} t\xE4ytyy olla ${i}${t.maximum.toString()} ${a.unit}`.trim():`Liian suuri: arvon t\xE4ytyy olla ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Liian pieni: ${a.subject} t\xE4ytyy olla ${i}${t.minimum.toString()} ${a.unit}`.trim():`Liian pieni: arvon t\xE4ytyy olla ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${i.prefix}"`:i.format==="ends_with"?`Virheellinen sy\xF6te: t\xE4ytyy loppua "${i.suffix}"`:i.format==="includes"?`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${i.includes}"`:i.format==="regex"?`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${i.pattern}`:`Virheellinen ${r[i.format]??t.format}`}case "not_multiple_of":return `Virheellinen luku: t\xE4ytyy olla luvun ${t.divisor} monikerta`;case "unrecognized_keys":return `${t.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${P(t.keys,", ")}`;case "invalid_key":return "Virheellinen avain tietueessa";case "invalid_union":return "Virheellinen unioni";case "invalid_element":return "Virheellinen arvo joukossa";default:return "Virheellinen sy\xF6te"}}};function a0(){return {localeError:FU()}}var LU=()=>{let e={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function n(t){return e[t]??null}let r={regex:"entr\xE9e",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},o={string:"cha\xEEne",number:"nombre",int:"entier",boolean:"bool\xE9en",bigint:"grand entier",symbol:"symbole",undefined:"ind\xE9fini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Entr\xE9e invalide : instanceof ${t.expected} attendu, ${c} re\xE7u`:`Entr\xE9e invalide : ${i} attendu, ${c} re\xE7u`}case "invalid_value":return t.values.length===1?`Entr\xE9e invalide : ${z(t.values[0])} attendu`:`Option invalide : une valeur parmi ${P(t.values,"|")} attendue`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Trop grand : ${o[t.origin]??"valeur"} doit ${a.verb} ${i}${t.maximum.toString()} ${a.unit??"\xE9l\xE9ment(s)"}`:`Trop grand : ${o[t.origin]??"valeur"} doit \xEAtre ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Trop petit : ${o[t.origin]??"valeur"} doit ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`Trop petit : ${o[t.origin]??"valeur"} doit \xEAtre ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Cha\xEEne invalide : doit commencer par "${i.prefix}"`:i.format==="ends_with"?`Cha\xEEne invalide : doit se terminer par "${i.suffix}"`:i.format==="includes"?`Cha\xEEne invalide : doit inclure "${i.includes}"`:i.format==="regex"?`Cha\xEEne invalide : doit correspondre au mod\xE8le ${i.pattern}`:`${r[i.format]??t.format} invalide`}case "not_multiple_of":return `Nombre invalide : doit \xEAtre un multiple de ${t.divisor}`;case "unrecognized_keys":return `Cl\xE9${t.keys.length>1?"s":""} non reconnue${t.keys.length>1?"s":""} : ${P(t.keys,", ")}`;case "invalid_key":return `Cl\xE9 invalide dans ${t.origin}`;case "invalid_union":return "Entr\xE9e invalide";case "invalid_element":return `Valeur invalide dans ${t.origin}`;default:return "Entr\xE9e invalide"}}};function s0(){return {localeError:LU()}}var ZU=()=>{let e={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function n(t){return e[t]??null}let r={regex:"entr\xE9e",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Entr\xE9e invalide : attendu instanceof ${t.expected}, re\xE7u ${c}`:`Entr\xE9e invalide : attendu ${i}, re\xE7u ${c}`}case "invalid_value":return t.values.length===1?`Entr\xE9e invalide : attendu ${z(t.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"\u2264":"<",a=n(t.origin);return a?`Trop grand : attendu que ${t.origin??"la valeur"} ait ${i}${t.maximum.toString()} ${a.unit}`:`Trop grand : attendu que ${t.origin??"la valeur"} soit ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?"\u2265":">",a=n(t.origin);return a?`Trop petit : attendu que ${t.origin} ait ${i}${t.minimum.toString()} ${a.unit}`:`Trop petit : attendu que ${t.origin} soit ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Cha\xEEne invalide : doit commencer par "${i.prefix}"`:i.format==="ends_with"?`Cha\xEEne invalide : doit se terminer par "${i.suffix}"`:i.format==="includes"?`Cha\xEEne invalide : doit inclure "${i.includes}"`:i.format==="regex"?`Cha\xEEne invalide : doit correspondre au motif ${i.pattern}`:`${r[i.format]??t.format} invalide`}case "not_multiple_of":return `Nombre invalide : doit \xEAtre un multiple de ${t.divisor}`;case "unrecognized_keys":return `Cl\xE9${t.keys.length>1?"s":""} non reconnue${t.keys.length>1?"s":""} : ${P(t.keys,", ")}`;case "invalid_key":return `Cl\xE9 invalide dans ${t.origin}`;case "invalid_union":return "Entr\xE9e invalide";case "invalid_element":return `Valeur invalide dans ${t.origin}`;default:return "Entr\xE9e invalide"}}};function c0(){return {localeError:ZU()}}var BU=()=>{let e={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},n={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},r=u=>u?e[u]:void 0,o=u=>{let m=r(u);return m?m.label:u??e.unknown.label},t=u=>`\u05D4${o(u)}`,i=u=>(r(u)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA",a=u=>u?n[u]??null:null,c={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},base64url:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA",gender:"f"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},l={nan:"NaN"};return u=>{switch(u.code){case "invalid_type":{let m=u.expected,p=l[m??""]??o(m),f=U(u.input),g=l[f]??e[f]?.label??f;return /^[A-Z]/.test(u.expected)?`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${u.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${g}`:`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${p}, \u05D4\u05EA\u05E7\u05D1\u05DC ${g}`}case "invalid_value":{if(u.values.length===1)return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${z(u.values[0])}`;let m=u.values.map(g=>z(g));if(u.values.length===2)return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${m[0]} \u05D0\u05D5 ${m[1]}`;let p=m[m.length-1];return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${m.slice(0,-1).join(", ")} \u05D0\u05D5 ${p}`}case "too_big":{let m=a(u.origin),p=t(u.origin??"value");if(u.origin==="string")return `${m?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${p} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${u.maximum.toString()} ${m?.unit??""} ${u.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(u.origin==="number"){let h=u.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${u.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${u.maximum}`;return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${p} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${h}`}if(u.origin==="array"||u.origin==="set"){let h=u.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",k=u.inclusive?`${u.maximum} ${m?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${u.maximum} ${m?.unit??""}`;return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${p} ${h} \u05DC\u05D4\u05DB\u05D9\u05DC ${k}`.trim()}let f=u.inclusive?"<=":"<",g=i(u.origin??"value");return m?.unit?`${m.longLabel} \u05DE\u05D3\u05D9: ${p} ${g} ${f}${u.maximum.toString()} ${m.unit}`:`${m?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${p} ${g} ${f}${u.maximum.toString()}`}case "too_small":{let m=a(u.origin),p=t(u.origin??"value");if(u.origin==="string")return `${m?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${p} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${u.minimum.toString()} ${m?.unit??""} ${u.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(u.origin==="number"){let h=u.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${u.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${u.minimum}`;return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${p} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${h}`}if(u.origin==="array"||u.origin==="set"){let h=u.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(u.minimum===1&&u.inclusive){let S=(u.origin==="set","\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3");return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${p} ${h} \u05DC\u05D4\u05DB\u05D9\u05DC ${S}`}let k=u.inclusive?`${u.minimum} ${m?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${u.minimum} ${m?.unit??""}`;return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${p} ${h} \u05DC\u05D4\u05DB\u05D9\u05DC ${k}`.trim()}let f=u.inclusive?">=":">",g=i(u.origin??"value");return m?.unit?`${m.shortLabel} \u05DE\u05D3\u05D9: ${p} ${g} ${f}${u.minimum.toString()} ${m.unit}`:`${m?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${p} ${g} ${f}${u.minimum.toString()}`}case "invalid_format":{let m=u;if(m.format==="starts_with")return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${m.prefix}"`;if(m.format==="ends_with")return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${m.suffix}"`;if(m.format==="includes")return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${m.includes}"`;if(m.format==="regex")return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${m.pattern}`;let p=c[m.format],f=p?.label??m.format,h=(p?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return `${f} \u05DC\u05D0 ${h}`}case "not_multiple_of":return `\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${u.divisor}`;case "unrecognized_keys":return `\u05DE\u05E4\u05EA\u05D7${u.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${u.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${P(u.keys,", ")}`;case "invalid_key":return "\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case "invalid_union":return "\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case "invalid_element":return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${t(u.origin??"array")}`;default:return "\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};function l0(){return {localeError:BU()}}var MU=()=>{let e={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function n(t){return e[t]??null}let r={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},o={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Neispravan unos: o\u010Dekuje se instanceof ${t.expected}, a primljeno je ${c}`:`Neispravan unos: o\u010Dekuje se ${i}, a primljeno je ${c}`}case "invalid_value":return t.values.length===1?`Neispravna vrijednost: o\u010Dekivano ${z(t.values[0])}`:`Neispravna opcija: o\u010Dekivano jedno od ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin),c=o[t.origin]??t.origin;return a?`Preveliko: o\u010Dekivano da ${c??"vrijednost"} ima ${i}${t.maximum.toString()} ${a.unit??"elemenata"}`:`Preveliko: o\u010Dekivano da ${c??"vrijednost"} bude ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin),c=o[t.origin]??t.origin;return a?`Premalo: o\u010Dekivano da ${c} ima ${i}${t.minimum.toString()} ${a.unit}`:`Premalo: o\u010Dekivano da ${c} bude ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Neispravan tekst: mora zapo\u010Dinjati s "${i.prefix}"`:i.format==="ends_with"?`Neispravan tekst: mora zavr\u0161avati s "${i.suffix}"`:i.format==="includes"?`Neispravan tekst: mora sadr\u017Eavati "${i.includes}"`:i.format==="regex"?`Neispravan tekst: mora odgovarati uzorku ${i.pattern}`:`Neispravna ${r[i.format]??t.format}`}case "not_multiple_of":return `Neispravan broj: mora biti vi\u0161ekratnik od ${t.divisor}`;case "unrecognized_keys":return `Neprepoznat${t.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${P(t.keys,", ")}`;case "invalid_key":return `Neispravan klju\u010D u ${o[t.origin]??t.origin}`;case "invalid_union":return "Neispravan unos";case "invalid_element":return `Neispravna vrijednost u ${o[t.origin]??t.origin}`;default:return "Neispravan unos"}}};function u0(){return {localeError:MU()}}var VU=()=>{let e={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function n(t){return e[t]??null}let r={regex:"bemenet",email:"email c\xEDm",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},o={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${t.expected}, a kapott \xE9rt\xE9k ${c}`:`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${i}, a kapott \xE9rt\xE9k ${c}`}case "invalid_value":return t.values.length===1?`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${z(t.values[0])}`:`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`T\xFAl nagy: ${t.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${i}${t.maximum.toString()} ${a.unit??"elem"}`:`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${t.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${t.origin} m\xE9rete t\xFAl kicsi ${i}${t.minimum.toString()} ${a.unit}`:`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${t.origin} t\xFAl kicsi ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\xC9rv\xE9nytelen string: "${i.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`:i.format==="ends_with"?`\xC9rv\xE9nytelen string: "${i.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`:i.format==="includes"?`\xC9rv\xE9nytelen string: "${i.includes}" \xE9rt\xE9ket kell tartalmaznia`:i.format==="regex"?`\xC9rv\xE9nytelen string: ${i.pattern} mint\xE1nak kell megfelelnie`:`\xC9rv\xE9nytelen ${r[i.format]??t.format}`}case "not_multiple_of":return `\xC9rv\xE9nytelen sz\xE1m: ${t.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case "unrecognized_keys":return `Ismeretlen kulcs${t.keys.length>1?"s":""}: ${P(t.keys,", ")}`;case "invalid_key":return `\xC9rv\xE9nytelen kulcs ${t.origin}`;case "invalid_union":return "\xC9rv\xE9nytelen bemenet";case "invalid_element":return `\xC9rv\xE9nytelen \xE9rt\xE9k: ${t.origin}`;default:return "\xC9rv\xE9nytelen bemenet"}}};function d0(){return {localeError:VU()}}function m0(e,n,r){return Math.abs(e)===1?n:r}function Hi(e){if(!e)return "";let n=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],r=e[e.length-1];return e+(n.includes(r)?"\u0576":"\u0568")}var qU=()=>{let e={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function n(t){return e[t]??null}let r={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},o={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${t.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${c}`:`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${i}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${c}`}case "invalid_value":return t.values.length===1?`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${z(t.values[1])}`:`\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);if(a){let c=Number(t.maximum),l=m0(c,a.unit.one,a.unit.many);return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Hi(t.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${i}${t.maximum.toString()} ${l}`}return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Hi(t.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);if(a){let c=Number(t.minimum),l=m0(c,a.unit.one,a.unit.many);return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Hi(t.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${i}${t.minimum.toString()} ${l}`}return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Hi(t.origin)} \u056C\u056B\u0576\u056B ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${i.prefix}"-\u0578\u057E`:i.format==="ends_with"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${i.suffix}"-\u0578\u057E`:i.format==="includes"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${i.includes}"`:i.format==="regex"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${i.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`:`\u054D\u056D\u0561\u056C ${r[i.format]??t.format}`}case "not_multiple_of":return `\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${t.divisor}-\u056B`;case "unrecognized_keys":return `\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${t.keys.length>1?"\u0576\u0565\u0580":""}. ${P(t.keys,", ")}`;case "invalid_key":return `\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${Hi(t.origin)}-\u0578\u0582\u0574`;case "invalid_union":return "\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case "invalid_element":return `\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${Hi(t.origin)}-\u0578\u0582\u0574`;default:return "\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};function p0(){return {localeError:qU()}}var HU=()=>{let e={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function n(t){return e[t]??null}let r={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Input tidak valid: diharapkan instanceof ${t.expected}, diterima ${c}`:`Input tidak valid: diharapkan ${i}, diterima ${c}`}case "invalid_value":return t.values.length===1?`Input tidak valid: diharapkan ${z(t.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Terlalu besar: diharapkan ${t.origin??"value"} memiliki ${i}${t.maximum.toString()} ${a.unit??"elemen"}`:`Terlalu besar: diharapkan ${t.origin??"value"} menjadi ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Terlalu kecil: diharapkan ${t.origin} memiliki ${i}${t.minimum.toString()} ${a.unit}`:`Terlalu kecil: diharapkan ${t.origin} menjadi ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`String tidak valid: harus dimulai dengan "${i.prefix}"`:i.format==="ends_with"?`String tidak valid: harus berakhir dengan "${i.suffix}"`:i.format==="includes"?`String tidak valid: harus menyertakan "${i.includes}"`:i.format==="regex"?`String tidak valid: harus sesuai pola ${i.pattern}`:`${r[i.format]??t.format} tidak valid`}case "not_multiple_of":return `Angka tidak valid: harus kelipatan dari ${t.divisor}`;case "unrecognized_keys":return `Kunci tidak dikenali ${t.keys.length>1?"s":""}: ${P(t.keys,", ")}`;case "invalid_key":return `Kunci tidak valid di ${t.origin}`;case "invalid_union":return "Input tidak valid";case "invalid_element":return `Nilai tidak valid di ${t.origin}`;default:return "Input tidak valid"}}};function f0(){return {localeError:HU()}}var KU=()=>{let e={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function n(t){return e[t]??null}let r={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},o={nan:"NaN",number:"n\xFAmer",array:"fylki"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Rangt gildi: \xDE\xFA sl\xF3st inn ${c} \xFEar sem \xE1 a\xF0 vera instanceof ${t.expected}`:`Rangt gildi: \xDE\xFA sl\xF3st inn ${c} \xFEar sem \xE1 a\xF0 vera ${i}`}case "invalid_value":return t.values.length===1?`Rangt gildi: gert r\xE1\xF0 fyrir ${z(t.values[0])}`:`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin??"gildi"} hafi ${i}${t.maximum.toString()} ${a.unit??"hluti"}`:`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin??"gildi"} s\xE9 ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin} hafi ${i}${t.minimum.toString()} ${a.unit}`:`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin} s\xE9 ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${i.prefix}"`:i.format==="ends_with"?`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${i.suffix}"`:i.format==="includes"?`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${i.includes}"`:i.format==="regex"?`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${i.pattern}`:`Rangt ${r[i.format]??t.format}`}case "not_multiple_of":return `R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${t.divisor}`;case "unrecognized_keys":return `\xD3\xFEekkt ${t.keys.length>1?"ir lyklar":"ur lykill"}: ${P(t.keys,", ")}`;case "invalid_key":return `Rangur lykill \xED ${t.origin}`;case "invalid_union":return "Rangt gildi";case "invalid_element":return `Rangt gildi \xED ${t.origin}`;default:return "Rangt gildi"}}};function g0(){return {localeError:KU()}}var GU=()=>{let e={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function n(t){return e[t]??null}let r={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},o={nan:"NaN",number:"numero",array:"vettore"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Input non valido: atteso instanceof ${t.expected}, ricevuto ${c}`:`Input non valido: atteso ${i}, ricevuto ${c}`}case "invalid_value":return t.values.length===1?`Input non valido: atteso ${z(t.values[0])}`:`Opzione non valida: atteso uno tra ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Troppo grande: ${t.origin??"valore"} deve avere ${i}${t.maximum.toString()} ${a.unit??"elementi"}`:`Troppo grande: ${t.origin??"valore"} deve essere ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Troppo piccolo: ${t.origin} deve avere ${i}${t.minimum.toString()} ${a.unit}`:`Troppo piccolo: ${t.origin} deve essere ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Stringa non valida: deve iniziare con "${i.prefix}"`:i.format==="ends_with"?`Stringa non valida: deve terminare con "${i.suffix}"`:i.format==="includes"?`Stringa non valida: deve includere "${i.includes}"`:i.format==="regex"?`Stringa non valida: deve corrispondere al pattern ${i.pattern}`:`Input non valido: ${r[i.format]??t.format}`}case "not_multiple_of":return `Numero non valido: deve essere un multiplo di ${t.divisor}`;case "unrecognized_keys":return `Chiav${t.keys.length>1?"i":"e"} non riconosciut${t.keys.length>1?"e":"a"}: ${P(t.keys,", ")}`;case "invalid_key":return `Chiave non valida in ${t.origin}`;case "invalid_union":return "Input non valido";case "invalid_element":return `Valore non valido in ${t.origin}`;default:return "Input non valido"}}};function h0(){return {localeError:GU()}}var JU=()=>{let e={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function n(t){return e[t]??null}let r={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},o={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u7121\u52B9\u306A\u5165\u529B: instanceof ${t.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${c}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`:`\u7121\u52B9\u306A\u5165\u529B: ${i}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${c}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case "invalid_value":return t.values.length===1?`\u7121\u52B9\u306A\u5165\u529B: ${z(t.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`:`\u7121\u52B9\u306A\u9078\u629E: ${P(t.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case "too_big":{let i=t.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",a=n(t.origin);return a?`\u5927\u304D\u3059\u304E\u308B\u5024: ${t.origin??"\u5024"}\u306F${t.maximum.toString()}${a.unit??"\u8981\u7D20"}${i}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u5927\u304D\u3059\u304E\u308B\u5024: ${t.origin??"\u5024"}\u306F${t.maximum.toString()}${i}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case "too_small":{let i=t.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",a=n(t.origin);return a?`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${t.origin}\u306F${t.minimum.toString()}${a.unit}${i}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${t.origin}\u306F${t.minimum.toString()}${i}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${i.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:i.format==="ends_with"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${i.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:i.format==="includes"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${i.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:i.format==="regex"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${i.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u7121\u52B9\u306A${r[i.format]??t.format}`}case "not_multiple_of":return `\u7121\u52B9\u306A\u6570\u5024: ${t.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case "unrecognized_keys":return `\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${t.keys.length>1?"\u7FA4":""}: ${P(t.keys,"\u3001")}`;case "invalid_key":return `${t.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case "invalid_union":return "\u7121\u52B9\u306A\u5165\u529B";case "invalid_element":return `${t.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return "\u7121\u52B9\u306A\u5165\u529B"}}};function b0(){return {localeError:JU()}}var WU=()=>{let e={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function n(t){return e[t]??null}let r={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",json_string:"JSON \u10D5\u10D4\u10DA\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},o={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10D5\u10D4\u10DA\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${t.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${c}`:`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${i}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${c}`}case "invalid_value":return t.values.length===1?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${z(t.values[0])}`:`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${P(t.values,"|")}-\u10D3\u10D0\u10DC`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${a.verb} ${i}${t.maximum.toString()} ${a.unit}`:`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin} ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin} \u10D8\u10E7\u10DD\u10E1 ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${i.prefix}"-\u10D8\u10D7`:i.format==="ends_with"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${i.suffix}"-\u10D8\u10D7`:i.format==="includes"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${i.includes}"-\u10E1`:i.format==="regex"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${i.pattern}`:`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${r[i.format]??t.format}`}case "not_multiple_of":return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${t.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case "unrecognized_keys":return `\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${t.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${P(t.keys,", ")}`;case "invalid_key":return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${t.origin}-\u10E8\u10D8`;case "invalid_union":return "\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case "invalid_element":return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${t.origin}-\u10E8\u10D8`;default:return "\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};function _0(){return {localeError:WU()}}var XU=()=>{let e={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function n(t){return e[t]??null}let r={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},o={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${t.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${c}`:`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${i} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${c}`}case "invalid_value":return t.values.length===1?`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${z(t.values[0])}`:`\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${i} ${t.maximum.toString()} ${a.unit??"\u1792\u17B6\u178F\u17BB"}`:`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${i} ${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin} ${i} ${t.minimum.toString()} ${a.unit}`:`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin} ${i} ${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 "${i.prefix}"`:i.format==="ends_with"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 "${i.suffix}"`:i.format==="includes"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 "${i.includes}"`:i.format==="regex"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${i.pattern}`:`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${r[i.format]??t.format}`}case "not_multiple_of":return `\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${t.divisor}`;case "unrecognized_keys":return `\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${P(t.keys,", ")}`;case "invalid_key":return `\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${t.origin}`;case "invalid_union":return "\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case "invalid_element":return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${t.origin}`;default:return "\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};function Hl(){return {localeError:XU()}}function v0(){return Hl()}var YU=()=>{let e={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function n(t){return e[t]??null}let r={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${t.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${c}\uC785\uB2C8\uB2E4`:`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${i}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${c}\uC785\uB2C8\uB2E4`}case "invalid_value":return t.values.length===1?`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${z(t.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`:`\uC798\uBABB\uB41C \uC635\uC158: ${P(t.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case "too_big":{let i=t.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",a=i==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",c=n(t.origin),l=c?.unit??"\uC694\uC18C";return c?`${t.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${t.maximum.toString()}${l} ${i}${a}`:`${t.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${t.maximum.toString()} ${i}${a}`}case "too_small":{let i=t.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",a=i==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",c=n(t.origin),l=c?.unit??"\uC694\uC18C";return c?`${t.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${t.minimum.toString()}${l} ${i}${a}`:`${t.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${t.minimum.toString()} ${i}${a}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${i.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`:i.format==="ends_with"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${i.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`:i.format==="includes"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${i.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`:i.format==="regex"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${i.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`:`\uC798\uBABB\uB41C ${r[i.format]??t.format}`}case "not_multiple_of":return `\uC798\uBABB\uB41C \uC22B\uC790: ${t.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case "unrecognized_keys":return `\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${P(t.keys,", ")}`;case "invalid_key":return `\uC798\uBABB\uB41C \uD0A4: ${t.origin}`;case "invalid_union":return "\uC798\uBABB\uB41C \uC785\uB825";case "invalid_element":return `\uC798\uBABB\uB41C \uAC12: ${t.origin}`;default:return "\uC798\uBABB\uB41C \uC785\uB825"}}};function y0(){return {localeError:YU()}}var bs=e=>e.charAt(0).toUpperCase()+e.slice(1);function x0(e){let n=Math.abs(e),r=n%10,o=n%100;return o>=11&&o<=19||r===0?"many":r===1?"one":"few"}var QU=()=>{let e={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function n(t,i,a,c){let l=e[t]??null;return l===null?l:{unit:l.unit[i],verb:l.verb[c][a?"inclusive":"notInclusive"]}}let r={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},o={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Gautas tipas ${c}, o tik\u0117tasi - instanceof ${t.expected}`:`Gautas tipas ${c}, o tik\u0117tasi - ${i}`}case "invalid_value":return t.values.length===1?`Privalo b\u016Bti ${z(t.values[0])}`:`Privalo b\u016Bti vienas i\u0161 ${P(t.values,"|")} pasirinkim\u0173`;case "too_big":{let i=o[t.origin]??t.origin,a=n(t.origin,x0(Number(t.maximum)),t.inclusive??false,"smaller");if(a?.verb)return `${bs(i??t.origin??"reik\u0161m\u0117")} ${a.verb} ${t.maximum.toString()} ${a.unit??"element\u0173"}`;let c=t.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return `${bs(i??t.origin??"reik\u0161m\u0117")} turi b\u016Bti ${c} ${t.maximum.toString()} ${a?.unit}`}case "too_small":{let i=o[t.origin]??t.origin,a=n(t.origin,x0(Number(t.minimum)),t.inclusive??false,"bigger");if(a?.verb)return `${bs(i??t.origin??"reik\u0161m\u0117")} ${a.verb} ${t.minimum.toString()} ${a.unit??"element\u0173"}`;let c=t.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return `${bs(i??t.origin??"reik\u0161m\u0117")} turi b\u016Bti ${c} ${t.minimum.toString()} ${a?.unit}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Eilut\u0117 privalo prasid\u0117ti "${i.prefix}"`:i.format==="ends_with"?`Eilut\u0117 privalo pasibaigti "${i.suffix}"`:i.format==="includes"?`Eilut\u0117 privalo \u012Ftraukti "${i.includes}"`:i.format==="regex"?`Eilut\u0117 privalo atitikti ${i.pattern}`:`Neteisingas ${r[i.format]??t.format}`}case "not_multiple_of":return `Skai\u010Dius privalo b\u016Bti ${t.divisor} kartotinis.`;case "unrecognized_keys":return `Neatpa\u017Eint${t.keys.length>1?"i":"as"} rakt${t.keys.length>1?"ai":"as"}: ${P(t.keys,", ")}`;case "invalid_key":return "Rastas klaidingas raktas";case "invalid_union":return "Klaidinga \u012Fvestis";case "invalid_element":{let i=o[t.origin]??t.origin;return `${bs(i??t.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return "Klaidinga \u012Fvestis"}}};function I0(){return {localeError:QU()}}var eO=()=>{let e={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function n(t){return e[t]??null}let r={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},o={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${t.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${c}`:`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${i}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${c}`}case "invalid_value":return t.values.length===1?`Invalid input: expected ${z(t.values[0])}`:`\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${i}${t.maximum.toString()} ${a.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`:`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin} \u0434\u0430 \u0438\u043C\u0430 ${i}${t.minimum.toString()} ${a.unit}`:`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E "${i.prefix}"`:i.format==="ends_with"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E "${i.suffix}"`:i.format==="includes"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 "${i.includes}"`:i.format==="regex"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${i.pattern}`:`Invalid ${r[i.format]??t.format}`}case "not_multiple_of":return `\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${t.divisor}`;case "unrecognized_keys":return `${t.keys.length>1?"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438":"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${P(t.keys,", ")}`;case "invalid_key":return `\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${t.origin}`;case "invalid_union":return "\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case "invalid_element":return `\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${t.origin}`;default:return "\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};function S0(){return {localeError:eO()}}var tO=()=>{let e={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function n(t){return e[t]??null}let r={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},o={nan:"NaN",number:"nombor"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Input tidak sah: dijangka instanceof ${t.expected}, diterima ${c}`:`Input tidak sah: dijangka ${i}, diterima ${c}`}case "invalid_value":return t.values.length===1?`Input tidak sah: dijangka ${z(t.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Terlalu besar: dijangka ${t.origin??"nilai"} ${a.verb} ${i}${t.maximum.toString()} ${a.unit??"elemen"}`:`Terlalu besar: dijangka ${t.origin??"nilai"} adalah ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Terlalu kecil: dijangka ${t.origin} ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`Terlalu kecil: dijangka ${t.origin} adalah ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`String tidak sah: mesti bermula dengan "${i.prefix}"`:i.format==="ends_with"?`String tidak sah: mesti berakhir dengan "${i.suffix}"`:i.format==="includes"?`String tidak sah: mesti mengandungi "${i.includes}"`:i.format==="regex"?`String tidak sah: mesti sepadan dengan corak ${i.pattern}`:`${r[i.format]??t.format} tidak sah`}case "not_multiple_of":return `Nombor tidak sah: perlu gandaan ${t.divisor}`;case "unrecognized_keys":return `Kunci tidak dikenali: ${P(t.keys,", ")}`;case "invalid_key":return `Kunci tidak sah dalam ${t.origin}`;case "invalid_union":return "Input tidak sah";case "invalid_element":return `Nilai tidak sah dalam ${t.origin}`;default:return "Input tidak sah"}}};function P0(){return {localeError:tO()}}var nO=()=>{let e={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function n(t){return e[t]??null}let r={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},o={nan:"NaN",number:"getal"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Ongeldige invoer: verwacht instanceof ${t.expected}, ontving ${c}`:`Ongeldige invoer: verwacht ${i}, ontving ${c}`}case "invalid_value":return t.values.length===1?`Ongeldige invoer: verwacht ${z(t.values[0])}`:`Ongeldige optie: verwacht \xE9\xE9n van ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin),c=t.origin==="date"?"laat":t.origin==="string"?"lang":"groot";return a?`Te ${c}: verwacht dat ${t.origin??"waarde"} ${i}${t.maximum.toString()} ${a.unit??"elementen"} ${a.verb}`:`Te ${c}: verwacht dat ${t.origin??"waarde"} ${i}${t.maximum.toString()} is`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin),c=t.origin==="date"?"vroeg":t.origin==="string"?"kort":"klein";return a?`Te ${c}: verwacht dat ${t.origin} ${i}${t.minimum.toString()} ${a.unit} ${a.verb}`:`Te ${c}: verwacht dat ${t.origin} ${i}${t.minimum.toString()} is`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Ongeldige tekst: moet met "${i.prefix}" beginnen`:i.format==="ends_with"?`Ongeldige tekst: moet op "${i.suffix}" eindigen`:i.format==="includes"?`Ongeldige tekst: moet "${i.includes}" bevatten`:i.format==="regex"?`Ongeldige tekst: moet overeenkomen met patroon ${i.pattern}`:`Ongeldig: ${r[i.format]??t.format}`}case "not_multiple_of":return `Ongeldig getal: moet een veelvoud van ${t.divisor} zijn`;case "unrecognized_keys":return `Onbekende key${t.keys.length>1?"s":""}: ${P(t.keys,", ")}`;case "invalid_key":return `Ongeldige key in ${t.origin}`;case "invalid_union":return "Ongeldige invoer";case "invalid_element":return `Ongeldige waarde in ${t.origin}`;default:return "Ongeldige invoer"}}};function $0(){return {localeError:nO()}}var rO=()=>{let e={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function n(t){return e[t]??null}let r={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},o={nan:"NaN",number:"tall",array:"liste"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Ugyldig input: forventet instanceof ${t.expected}, fikk ${c}`:`Ugyldig input: forventet ${i}, fikk ${c}`}case "invalid_value":return t.values.length===1?`Ugyldig verdi: forventet ${z(t.values[0])}`:`Ugyldig valg: forventet en av ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`For stor(t): forventet ${t.origin??"value"} til \xE5 ha ${i}${t.maximum.toString()} ${a.unit??"elementer"}`:`For stor(t): forventet ${t.origin??"value"} til \xE5 ha ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`For lite(n): forventet ${t.origin} til \xE5 ha ${i}${t.minimum.toString()} ${a.unit}`:`For lite(n): forventet ${t.origin} til \xE5 ha ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Ugyldig streng: m\xE5 starte med "${i.prefix}"`:i.format==="ends_with"?`Ugyldig streng: m\xE5 ende med "${i.suffix}"`:i.format==="includes"?`Ugyldig streng: m\xE5 inneholde "${i.includes}"`:i.format==="regex"?`Ugyldig streng: m\xE5 matche m\xF8nsteret ${i.pattern}`:`Ugyldig ${r[i.format]??t.format}`}case "not_multiple_of":return `Ugyldig tall: m\xE5 v\xE6re et multiplum av ${t.divisor}`;case "unrecognized_keys":return `${t.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${P(t.keys,", ")}`;case "invalid_key":return `Ugyldig n\xF8kkel i ${t.origin}`;case "invalid_union":return "Ugyldig input";case "invalid_element":return `Ugyldig verdi i ${t.origin}`;default:return "Ugyldig input"}}};function k0(){return {localeError:rO()}}var iO=()=>{let e={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function n(t){return e[t]??null}let r={regex:"giren",email:"epostag\xE2h",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},o={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`F\xE2sit giren: umulan instanceof ${t.expected}, al\u0131nan ${c}`:`F\xE2sit giren: umulan ${i}, al\u0131nan ${c}`}case "invalid_value":return t.values.length===1?`F\xE2sit giren: umulan ${z(t.values[0])}`:`F\xE2sit tercih: m\xFBteberler ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Fazla b\xFCy\xFCk: ${t.origin??"value"}, ${i}${t.maximum.toString()} ${a.unit??"elements"} sahip olmal\u0131yd\u0131.`:`Fazla b\xFCy\xFCk: ${t.origin??"value"}, ${i}${t.maximum.toString()} olmal\u0131yd\u0131.`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Fazla k\xFC\xE7\xFCk: ${t.origin}, ${i}${t.minimum.toString()} ${a.unit} sahip olmal\u0131yd\u0131.`:`Fazla k\xFC\xE7\xFCk: ${t.origin}, ${i}${t.minimum.toString()} olmal\u0131yd\u0131.`}case "invalid_format":{let i=t;return i.format==="starts_with"?`F\xE2sit metin: "${i.prefix}" ile ba\u015Flamal\u0131.`:i.format==="ends_with"?`F\xE2sit metin: "${i.suffix}" ile bitmeli.`:i.format==="includes"?`F\xE2sit metin: "${i.includes}" ihtiv\xE2 etmeli.`:i.format==="regex"?`F\xE2sit metin: ${i.pattern} nak\u015F\u0131na uymal\u0131.`:`F\xE2sit ${r[i.format]??t.format}`}case "not_multiple_of":return `F\xE2sit say\u0131: ${t.divisor} kat\u0131 olmal\u0131yd\u0131.`;case "unrecognized_keys":return `Tan\u0131nmayan anahtar ${t.keys.length>1?"s":""}: ${P(t.keys,", ")}`;case "invalid_key":return `${t.origin} i\xE7in tan\u0131nmayan anahtar var.`;case "invalid_union":return "Giren tan\u0131namad\u0131.";case "invalid_element":return `${t.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return "K\u0131ymet tan\u0131namad\u0131."}}};function w0(){return {localeError:iO()}}var oO=()=>{let e={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function n(t){return e[t]??null}let r={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},o={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${t.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${c} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`:`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${i} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${c} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case "invalid_value":return t.values.length===1?`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${z(t.values[0])} \u0648\u0627\u06CC`:`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${P(t.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${t.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${i}${t.maximum.toString()} ${a.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`:`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${t.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${i}${t.maximum.toString()} \u0648\u064A`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${t.origin} \u0628\u0627\u06CC\u062F ${i}${t.minimum.toString()} ${a.unit} \u0648\u0644\u0631\u064A`:`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${t.origin} \u0628\u0627\u06CC\u062F ${i}${t.minimum.toString()} \u0648\u064A`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${i.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`:i.format==="ends_with"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${i.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`:i.format==="includes"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${i.includes}" \u0648\u0644\u0631\u064A`:i.format==="regex"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${i.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`:`${r[i.format]??t.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case "not_multiple_of":return `\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${t.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case "unrecognized_keys":return `\u0646\u0627\u0633\u0645 ${t.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${P(t.keys,", ")}`;case "invalid_key":return `\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${t.origin} \u06A9\u06D0`;case "invalid_union":return "\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case "invalid_element":return `\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${t.origin} \u06A9\u06D0`;default:return "\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};function T0(){return {localeError:oO()}}var aO=()=>{let e={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function n(t){return e[t]??null}let r={regex:"wyra\u017Cenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},o={nan:"NaN",number:"liczba",array:"tablica"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${t.expected}, otrzymano ${c}`:`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${i}, otrzymano ${c}`}case "invalid_value":return t.values.length===1?`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${z(t.values[0])}`:`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${t.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${i}${t.maximum.toString()} ${a.unit??"element\xF3w"}`:`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${t.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${t.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${i}${t.minimum.toString()} ${a.unit??"element\xF3w"}`:`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${t.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${i.prefix}"`:i.format==="ends_with"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${i.suffix}"`:i.format==="includes"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${i.includes}"`:i.format==="regex"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${i.pattern}`:`Nieprawid\u0142ow(y/a/e) ${r[i.format]??t.format}`}case "not_multiple_of":return `Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${t.divisor}`;case "unrecognized_keys":return `Nierozpoznane klucze${t.keys.length>1?"s":""}: ${P(t.keys,", ")}`;case "invalid_key":return `Nieprawid\u0142owy klucz w ${t.origin}`;case "invalid_union":return "Nieprawid\u0142owe dane wej\u015Bciowe";case "invalid_element":return `Nieprawid\u0142owa warto\u015B\u0107 w ${t.origin}`;default:return "Nieprawid\u0142owe dane wej\u015Bciowe"}}};function R0(){return {localeError:aO()}}var sO=()=>{let e={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function n(t){return e[t]??null}let r={regex:"padr\xE3o",email:"endere\xE7o de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},o={nan:"NaN",number:"n\xFAmero",null:"nulo"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Tipo inv\xE1lido: esperado instanceof ${t.expected}, recebido ${c}`:`Tipo inv\xE1lido: esperado ${i}, recebido ${c}`}case "invalid_value":return t.values.length===1?`Entrada inv\xE1lida: esperado ${z(t.values[0])}`:`Op\xE7\xE3o inv\xE1lida: esperada uma das ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Muito grande: esperado que ${t.origin??"valor"} tivesse ${i}${t.maximum.toString()} ${a.unit??"elementos"}`:`Muito grande: esperado que ${t.origin??"valor"} fosse ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Muito pequeno: esperado que ${t.origin} tivesse ${i}${t.minimum.toString()} ${a.unit}`:`Muito pequeno: esperado que ${t.origin} fosse ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Texto inv\xE1lido: deve come\xE7ar com "${i.prefix}"`:i.format==="ends_with"?`Texto inv\xE1lido: deve terminar com "${i.suffix}"`:i.format==="includes"?`Texto inv\xE1lido: deve incluir "${i.includes}"`:i.format==="regex"?`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${i.pattern}`:`${r[i.format]??t.format} inv\xE1lido`}case "not_multiple_of":return `N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${t.divisor}`;case "unrecognized_keys":return `Chave${t.keys.length>1?"s":""} desconhecida${t.keys.length>1?"s":""}: ${P(t.keys,", ")}`;case "invalid_key":return `Chave inv\xE1lida em ${t.origin}`;case "invalid_union":return "Entrada inv\xE1lida";case "invalid_element":return `Valor inv\xE1lido em ${t.origin}`;default:return "Campo inv\xE1lido"}}};function C0(){return {localeError:sO()}}var cO=()=>{let e={string:{unit:"caractere",verb:"s\u0103 aib\u0103"},file:{unit:"octe\u021Bi",verb:"s\u0103 aib\u0103"},array:{unit:"elemente",verb:"s\u0103 aib\u0103"},set:{unit:"elemente",verb:"s\u0103 aib\u0103"},map:{unit:"intr\u0103ri",verb:"s\u0103 aib\u0103"}};function n(t){return e[t]??null}let r={regex:"intrare",email:"adres\u0103 de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dat\u0103 \u0219i or\u0103 ISO",date:"dat\u0103 ISO",time:"or\u0103 ISO",duration:"durat\u0103 ISO",ipv4:"adres\u0103 IPv4",ipv6:"adres\u0103 IPv6",mac:"adres\u0103 MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"\u0219ir codat base64",base64url:"\u0219ir codat base64url",json_string:"\u0219ir JSON",e164:"num\u0103r E.164",jwt:"JWT",template_literal:"intrare"},o={nan:"NaN",string:"\u0219ir",number:"num\u0103r",boolean:"boolean",function:"func\u021Bie",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"num\u0103r mare",void:"void",never:"never",map:"hart\u0103",set:"set"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return `Intrare invalid\u0103: a\u0219teptat ${i}, primit ${c}`}case "invalid_value":return t.values.length===1?`Intrare invalid\u0103: a\u0219teptat ${z(t.values[0])}`:`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Prea mare: a\u0219teptat ca ${t.origin??"valoarea"} ${a.verb} ${i}${t.maximum.toString()} ${a.unit??"elemente"}`:`Prea mare: a\u0219teptat ca ${t.origin??"valoarea"} s\u0103 fie ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Prea mic: a\u0219teptat ca ${t.origin} ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`Prea mic: a\u0219teptat ca ${t.origin} s\u0103 fie ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${i.prefix}"`:i.format==="ends_with"?`\u0218ir invalid: trebuie s\u0103 se termine cu "${i.suffix}"`:i.format==="includes"?`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${i.includes}"`:i.format==="regex"?`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${i.pattern}`:`Format invalid: ${r[i.format]??t.format}`}case "not_multiple_of":return `Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${t.divisor}`;case "unrecognized_keys":return `Chei nerecunoscute: ${P(t.keys,", ")}`;case "invalid_key":return `Cheie invalid\u0103 \xEEn ${t.origin}`;case "invalid_union":return "Intrare invalid\u0103";case "invalid_element":return `Valoare invalid\u0103 \xEEn ${t.origin}`;default:return "Intrare invalid\u0103"}}};function E0(){return {localeError:cO()}}function z0(e,n,r,o){let t=Math.abs(e),i=t%10,a=t%100;return a>=11&&a<=19?o:i===1?n:i>=2&&i<=4?r:o}var lO=()=>{let e={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function n(t){return e[t]??null}let r={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},o={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${t.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${c}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${i}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${c}`}case "invalid_value":return t.values.length===1?`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${z(t.values[0])}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);if(a){let c=Number(t.maximum),l=z0(c,a.unit.one,a.unit.few,a.unit.many);return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${i}${t.maximum.toString()} ${l}`}return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);if(a){let c=Number(t.minimum),l=z0(c,a.unit.one,a.unit.few,a.unit.many);return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${i}${t.minimum.toString()} ${l}`}return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin} \u0431\u0443\u0434\u0435\u0442 ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 "${i.prefix}"`:i.format==="ends_with"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 "${i.suffix}"`:i.format==="includes"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C "${i.includes}"`:i.format==="regex"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${i.pattern}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${r[i.format]??t.format}`}case "not_multiple_of":return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${t.divisor}`;case "unrecognized_keys":return `\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${t.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${t.keys.length>1?"\u0438":""}: ${P(t.keys,", ")}`;case "invalid_key":return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${t.origin}`;case "invalid_union":return "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case "invalid_element":return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${t.origin}`;default:return "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};function j0(){return {localeError:lO()}}var uO=()=>{let e={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function n(t){return e[t]??null}let r={regex:"vnos",email:"e-po\u0161tni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},o={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Neveljaven vnos: pri\u010Dakovano instanceof ${t.expected}, prejeto ${c}`:`Neveljaven vnos: pri\u010Dakovano ${i}, prejeto ${c}`}case "invalid_value":return t.values.length===1?`Neveljaven vnos: pri\u010Dakovano ${z(t.values[0])}`:`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Preveliko: pri\u010Dakovano, da bo ${t.origin??"vrednost"} imelo ${i}${t.maximum.toString()} ${a.unit??"elementov"}`:`Preveliko: pri\u010Dakovano, da bo ${t.origin??"vrednost"} ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Premajhno: pri\u010Dakovano, da bo ${t.origin} imelo ${i}${t.minimum.toString()} ${a.unit}`:`Premajhno: pri\u010Dakovano, da bo ${t.origin} ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Neveljaven niz: mora se za\u010Deti z "${i.prefix}"`:i.format==="ends_with"?`Neveljaven niz: mora se kon\u010Dati z "${i.suffix}"`:i.format==="includes"?`Neveljaven niz: mora vsebovati "${i.includes}"`:i.format==="regex"?`Neveljaven niz: mora ustrezati vzorcu ${i.pattern}`:`Neveljaven ${r[i.format]??t.format}`}case "not_multiple_of":return `Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${t.divisor}`;case "unrecognized_keys":return `Neprepoznan${t.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${P(t.keys,", ")}`;case "invalid_key":return `Neveljaven klju\u010D v ${t.origin}`;case "invalid_union":return "Neveljaven vnos";case "invalid_element":return `Neveljavna vrednost v ${t.origin}`;default:return "Neveljaven vnos"}}};function U0(){return {localeError:uO()}}var dO=()=>{let e={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function n(t){return e[t]??null}let r={regex:"regulj\xE4rt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},o={nan:"NaN",number:"antal",array:"lista"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${t.expected}, fick ${c}`:`Ogiltig inmatning: f\xF6rv\xE4ntat ${i}, fick ${c}`}case "invalid_value":return t.values.length===1?`Ogiltig inmatning: f\xF6rv\xE4ntat ${z(t.values[0])}`:`Ogiltigt val: f\xF6rv\xE4ntade en av ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`F\xF6r stor(t): f\xF6rv\xE4ntade ${t.origin??"v\xE4rdet"} att ha ${i}${t.maximum.toString()} ${a.unit??"element"}`:`F\xF6r stor(t): f\xF6rv\xE4ntat ${t.origin??"v\xE4rdet"} att ha ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`F\xF6r lite(t): f\xF6rv\xE4ntade ${t.origin??"v\xE4rdet"} att ha ${i}${t.minimum.toString()} ${a.unit}`:`F\xF6r lite(t): f\xF6rv\xE4ntade ${t.origin??"v\xE4rdet"} att ha ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${i.prefix}"`:i.format==="ends_with"?`Ogiltig str\xE4ng: m\xE5ste sluta med "${i.suffix}"`:i.format==="includes"?`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${i.includes}"`:i.format==="regex"?`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${i.pattern}"`:`Ogiltig(t) ${r[i.format]??t.format}`}case "not_multiple_of":return `Ogiltigt tal: m\xE5ste vara en multipel av ${t.divisor}`;case "unrecognized_keys":return `${t.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${P(t.keys,", ")}`;case "invalid_key":return `Ogiltig nyckel i ${t.origin??"v\xE4rdet"}`;case "invalid_union":return "Ogiltig input";case "invalid_element":return `Ogiltigt v\xE4rde i ${t.origin??"v\xE4rdet"}`;default:return "Ogiltig input"}}};function O0(){return {localeError:dO()}}var mO=()=>{let e={string:{unit:"\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},file:{unit:"\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},array:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},set:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"}};function n(t){return e[t]??null}let r={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},o={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${t.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${c}`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${i}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${c}`}case "invalid_value":return t.values.length===1?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${z(t.values[0])}`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${P(t.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${i}${t.maximum.toString()} ${a.unit??"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${i}${t.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin} ${i}${t.minimum.toString()} ${a.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin} ${i}${t.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${i.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:i.format==="ends_with"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${i.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:i.format==="includes"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${i.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:i.format==="regex"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${i.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${r[i.format]??t.format}`}case "not_multiple_of":return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${t.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case "unrecognized_keys":return `\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${t.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${P(t.keys,", ")}`;case "invalid_key":return `${t.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case "invalid_union":return "\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case "invalid_element":return `${t.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return "\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};function D0(){return {localeError:mO()}}var pO=()=>{let e={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function n(t){return e[t]??null}let r={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",e164:"\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},o={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${t.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${c}`:`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${i} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${c}`}case "invalid_value":return t.values.length===1?`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${z(t.values[0])}`:`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",a=n(t.origin);return a?`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${i} ${t.maximum.toString()} ${a.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`:`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${i} ${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",a=n(t.origin);return a?`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${i} ${t.minimum.toString()} ${a.unit}`:`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${i} ${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 "${i.prefix}"`:i.format==="ends_with"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 "${i.suffix}"`:i.format==="includes"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 "${i.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`:i.format==="regex"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${i.pattern}`:`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${r[i.format]??t.format}`}case "not_multiple_of":return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${t.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case "unrecognized_keys":return `\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${P(t.keys,", ")}`;case "invalid_key":return `\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${t.origin}`;case "invalid_union":return "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49";case "invalid_element":return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${t.origin}`;default:return "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};function A0(){return {localeError:pO()}}var fO=()=>{let e={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function n(t){return e[t]??null}let r={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${t.expected}, al\u0131nan ${c}`:`Ge\xE7ersiz de\u011Fer: beklenen ${i}, al\u0131nan ${c}`}case "invalid_value":return t.values.length===1?`Ge\xE7ersiz de\u011Fer: beklenen ${z(t.values[0])}`:`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\xC7ok b\xFCy\xFCk: beklenen ${t.origin??"de\u011Fer"} ${i}${t.maximum.toString()} ${a.unit??"\xF6\u011Fe"}`:`\xC7ok b\xFCy\xFCk: beklenen ${t.origin??"de\u011Fer"} ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\xC7ok k\xFC\xE7\xFCk: beklenen ${t.origin} ${i}${t.minimum.toString()} ${a.unit}`:`\xC7ok k\xFC\xE7\xFCk: beklenen ${t.origin} ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Ge\xE7ersiz metin: "${i.prefix}" ile ba\u015Flamal\u0131`:i.format==="ends_with"?`Ge\xE7ersiz metin: "${i.suffix}" ile bitmeli`:i.format==="includes"?`Ge\xE7ersiz metin: "${i.includes}" i\xE7ermeli`:i.format==="regex"?`Ge\xE7ersiz metin: ${i.pattern} desenine uymal\u0131`:`Ge\xE7ersiz ${r[i.format]??t.format}`}case "not_multiple_of":return `Ge\xE7ersiz say\u0131: ${t.divisor} ile tam b\xF6l\xFCnebilmeli`;case "unrecognized_keys":return `Tan\u0131nmayan anahtar${t.keys.length>1?"lar":""}: ${P(t.keys,", ")}`;case "invalid_key":return `${t.origin} i\xE7inde ge\xE7ersiz anahtar`;case "invalid_union":return "Ge\xE7ersiz de\u011Fer";case "invalid_element":return `${t.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return "Ge\xE7ersiz de\u011Fer"}}};function N0(){return {localeError:fO()}}var gO=()=>{let e={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function n(t){return e[t]??null}let r={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},o={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${t.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${c}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${i}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${c}`}case "invalid_value":return t.values.length===1?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${z(t.values[0])}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${a.verb} ${i}${t.maximum.toString()} ${a.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`:`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin} ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin} \u0431\u0443\u0434\u0435 ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 "${i.prefix}"`:i.format==="ends_with"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 "${i.suffix}"`:i.format==="includes"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 "${i.includes}"`:i.format==="regex"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${i.pattern}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${r[i.format]??t.format}`}case "not_multiple_of":return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${t.divisor}`;case "unrecognized_keys":return `\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${t.keys.length>1?"\u0456":""}: ${P(t.keys,", ")}`;case "invalid_key":return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${t.origin}`;case "invalid_union":return "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case "invalid_element":return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${t.origin}`;default:return "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};function Kl(){return {localeError:gO()}}function F0(){return Kl()}var hO=()=>{let e={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function n(t){return e[t]??null}let r={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},o={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${t.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${c} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`:`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${i} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${c} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case "invalid_value":return t.values.length===1?`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${z(t.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`:`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${P(t.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u0628\u06C1\u062A \u0628\u0691\u0627: ${t.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${i}${t.maximum.toString()} ${a.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`:`\u0628\u06C1\u062A \u0628\u0691\u0627: ${t.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${i}${t.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${t.origin} \u06A9\u06D2 ${i}${t.minimum.toString()} ${a.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`:`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${t.origin} \u06A9\u0627 ${i}${t.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${i.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:i.format==="ends_with"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${i.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:i.format==="includes"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${i.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:i.format==="regex"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${i.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:`\u063A\u0644\u0637 ${r[i.format]??t.format}`}case "not_multiple_of":return `\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${t.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case "unrecognized_keys":return `\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${t.keys.length>1?"\u0632":""}: ${P(t.keys,"\u060C ")}`;case "invalid_key":return `${t.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case "invalid_union":return "\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case "invalid_element":return `${t.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return "\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};function L0(){return {localeError:hO()}}var bO=()=>{let e={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"},map:{unit:"yozuv",verb:"bo\u2018lishi kerak"}};function n(t){return e[t]??null}let r={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},o={nan:"NaN",number:"raqam",array:"massiv"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${t.expected}, qabul qilingan ${c}`:`Noto\u2018g\u2018ri kirish: kutilgan ${i}, qabul qilingan ${c}`}case "invalid_value":return t.values.length===1?`Noto\u2018g\u2018ri kirish: kutilgan ${z(t.values[0])}`:`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Juda katta: kutilgan ${t.origin??"qiymat"} ${i}${t.maximum.toString()} ${a.unit} ${a.verb}`:`Juda katta: kutilgan ${t.origin??"qiymat"} ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Juda kichik: kutilgan ${t.origin} ${i}${t.minimum.toString()} ${a.unit} ${a.verb}`:`Juda kichik: kutilgan ${t.origin} ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Noto\u2018g\u2018ri satr: "${i.prefix}" bilan boshlanishi kerak`:i.format==="ends_with"?`Noto\u2018g\u2018ri satr: "${i.suffix}" bilan tugashi kerak`:i.format==="includes"?`Noto\u2018g\u2018ri satr: "${i.includes}" ni o\u2018z ichiga olishi kerak`:i.format==="regex"?`Noto\u2018g\u2018ri satr: ${i.pattern} shabloniga mos kelishi kerak`:`Noto\u2018g\u2018ri ${r[i.format]??t.format}`}case "not_multiple_of":return `Noto\u2018g\u2018ri raqam: ${t.divisor} ning karralisi bo\u2018lishi kerak`;case "unrecognized_keys":return `Noma\u2019lum kalit${t.keys.length>1?"lar":""}: ${P(t.keys,", ")}`;case "invalid_key":return `${t.origin} dagi kalit noto\u2018g\u2018ri`;case "invalid_union":return "Noto\u2018g\u2018ri kirish";case "invalid_element":return `${t.origin} da noto\u2018g\u2018ri qiymat`;default:return "Noto\u2018g\u2018ri kirish"}}};function Z0(){return {localeError:bO()}}var _O=()=>{let e={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function n(t){return e[t]??null}let r={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},o={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${t.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${c}`:`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${i}, nh\u1EADn \u0111\u01B0\u1EE3c ${c}`}case "invalid_value":return t.values.length===1?`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${z(t.values[0])}`:`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${t.origin??"gi\xE1 tr\u1ECB"} ${a.verb} ${i}${t.maximum.toString()} ${a.unit??"ph\u1EA7n t\u1EED"}`:`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${t.origin??"gi\xE1 tr\u1ECB"} ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${t.origin} ${a.verb} ${i}${t.minimum.toString()} ${a.unit}`:`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${t.origin} ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${i.prefix}"`:i.format==="ends_with"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${i.suffix}"`:i.format==="includes"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${i.includes}"`:i.format==="regex"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${i.pattern}`:`${r[i.format]??t.format} kh\xF4ng h\u1EE3p l\u1EC7`}case "not_multiple_of":return `S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${t.divisor}`;case "unrecognized_keys":return `Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${P(t.keys,", ")}`;case "invalid_key":return `Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${t.origin}`;case "invalid_union":return "\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case "invalid_element":return `Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${t.origin}`;default:return "\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};function B0(){return {localeError:_O()}}var vO=()=>{let e={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function n(t){return e[t]??null}let r={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},o={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${t.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${c}`:`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${i}\uFF0C\u5B9E\u9645\u63A5\u6536 ${c}`}case "invalid_value":return t.values.length===1?`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${z(t.values[0])}`:`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${t.origin??"\u503C"} ${i}${t.maximum.toString()} ${a.unit??"\u4E2A\u5143\u7D20"}`:`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${t.origin??"\u503C"} ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${t.origin} ${i}${t.minimum.toString()} ${a.unit}`:`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${t.origin} ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${i.prefix}" \u5F00\u5934`:i.format==="ends_with"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${i.suffix}" \u7ED3\u5C3E`:i.format==="includes"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${i.includes}"`:i.format==="regex"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${i.pattern}`:`\u65E0\u6548${r[i.format]??t.format}`}case "not_multiple_of":return `\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${t.divisor} \u7684\u500D\u6570`;case "unrecognized_keys":return `\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${P(t.keys,", ")}`;case "invalid_key":return `${t.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case "invalid_union":return "\u65E0\u6548\u8F93\u5165";case "invalid_element":return `${t.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return "\u65E0\u6548\u8F93\u5165"}}};function M0(){return {localeError:vO()}}var yO=()=>{let e={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function n(t){return e[t]??null}let r={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},o={nan:"NaN"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${t.expected}\uFF0C\u4F46\u6536\u5230 ${c}`:`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${i}\uFF0C\u4F46\u6536\u5230 ${c}`}case "invalid_value":return t.values.length===1?`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${z(t.values[0])}`:`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${t.origin??"\u503C"} \u61C9\u70BA ${i}${t.maximum.toString()} ${a.unit??"\u500B\u5143\u7D20"}`:`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${t.origin??"\u503C"} \u61C9\u70BA ${i}${t.maximum.toString()}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${t.origin} \u61C9\u70BA ${i}${t.minimum.toString()} ${a.unit}`:`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${t.origin} \u61C9\u70BA ${i}${t.minimum.toString()}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${i.prefix}" \u958B\u982D`:i.format==="ends_with"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${i.suffix}" \u7D50\u5C3E`:i.format==="includes"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${i.includes}"`:i.format==="regex"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${i.pattern}`:`\u7121\u6548\u7684 ${r[i.format]??t.format}`}case "not_multiple_of":return `\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${t.divisor} \u7684\u500D\u6578`;case "unrecognized_keys":return `\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${t.keys.length>1?"\u5011":""}\uFF1A${P(t.keys,"\u3001")}`;case "invalid_key":return `${t.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case "invalid_union":return "\u7121\u6548\u7684\u8F38\u5165\u503C";case "invalid_element":return `${t.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return "\u7121\u6548\u7684\u8F38\u5165\u503C"}}};function V0(){return {localeError:yO()}}var xO=()=>{let e={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function n(t){return e[t]??null}let r={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},o={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return t=>{switch(t.code){case "invalid_type":{let i=o[t.expected]??t.expected,a=U(t.input),c=o[a]??a;return /^[A-Z]/.test(t.expected)?`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${t.expected}, \xE0m\u1ECD\u0300 a r\xED ${c}`:`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${i}, \xE0m\u1ECD\u0300 a r\xED ${c}`}case "invalid_value":return t.values.length===1?`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${z(t.values[0])}`:`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${P(t.values,"|")}`;case "too_big":{let i=t.inclusive?"<=":"<",a=n(t.origin);return a?`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${t.origin??"iye"} ${a.verb} ${i}${t.maximum} ${a.unit}`:`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${i}${t.maximum}`}case "too_small":{let i=t.inclusive?">=":">",a=n(t.origin);return a?`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${t.origin} ${a.verb} ${i}${t.minimum} ${a.unit}`:`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${i}${t.minimum}`}case "invalid_format":{let i=t;return i.format==="starts_with"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${i.prefix}"`:i.format==="ends_with"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${i.suffix}"`:i.format==="includes"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${i.includes}"`:i.format==="regex"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${i.pattern}`:`A\u1E63\xEC\u1E63e: ${r[i.format]??t.format}`}case "not_multiple_of":return `N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${t.divisor}`;case "unrecognized_keys":return `B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${P(t.keys,", ")}`;case "invalid_key":return `B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${t.origin}`;case "invalid_union":return "\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case "invalid_element":return `Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${t.origin}`;default:return "\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};function q0(){return {localeError:xO()}}var H0,kh=Symbol("ZodOutput"),wh=Symbol("ZodInput"),Gl=class{constructor(){this._map=new WeakMap,this._idmap=new Map;}add(n,...r){let o=r[0];return this._map.set(n,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){let r=this._map.get(n);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(n),this}get(n){let r=n._zod.parent;if(r){let o={...this.get(r)??{}};delete o.id;let t={...o,...this._map.get(n)};return Object.keys(t).length?t:void 0}return this._map.get(n)}has(n){return this._map.has(n)}};function Jl(){return new Gl}(H0=globalThis).__zod_globalRegistry??(H0.__zod_globalRegistry=Jl());var At=globalThis.__zod_globalRegistry;function Th(e,n){return new e({type:"string",...F(n)})}function Rh(e,n){return new e({type:"string",coerce:true,...F(n)})}function Wl(e,n){return new e({type:"string",format:"email",check:"string_format",abort:false,...F(n)})}function vs(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:false,...F(n)})}function Xl(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:false,...F(n)})}function Yl(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:false,version:"v4",...F(n)})}function Ql(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:false,version:"v6",...F(n)})}function eu(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:false,version:"v7",...F(n)})}function ys(e,n){return new e({type:"string",format:"url",check:"string_format",abort:false,...F(n)})}function tu(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:false,...F(n)})}function nu(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:false,...F(n)})}function ru(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:false,...F(n)})}function iu(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:false,...F(n)})}function ou(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:false,...F(n)})}function au(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:false,...F(n)})}function su(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:false,...F(n)})}function cu(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:false,...F(n)})}function lu(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:false,...F(n)})}function Ch(e,n){return new e({type:"string",format:"mac",check:"string_format",abort:false,...F(n)})}function uu(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:false,...F(n)})}function du(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:false,...F(n)})}function mu(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:false,...F(n)})}function pu(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:false,...F(n)})}function fu(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:false,...F(n)})}function gu(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:false,...F(n)})}var Eh={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function zh(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:false,local:false,precision:null,...F(n)})}function jh(e,n){return new e({type:"string",format:"date",check:"string_format",...F(n)})}function Uh(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...F(n)})}function Oh(e,n){return new e({type:"string",format:"duration",check:"string_format",...F(n)})}function Dh(e,n){return new e({type:"number",checks:[],...F(n)})}function Ah(e,n){return new e({type:"number",coerce:true,checks:[],...F(n)})}function Nh(e,n){return new e({type:"number",check:"number_format",abort:false,format:"safeint",...F(n)})}function Fh(e,n){return new e({type:"number",check:"number_format",abort:false,format:"float32",...F(n)})}function Lh(e,n){return new e({type:"number",check:"number_format",abort:false,format:"float64",...F(n)})}function Zh(e,n){return new e({type:"number",check:"number_format",abort:false,format:"int32",...F(n)})}function Bh(e,n){return new e({type:"number",check:"number_format",abort:false,format:"uint32",...F(n)})}function Mh(e,n){return new e({type:"boolean",...F(n)})}function Vh(e,n){return new e({type:"boolean",coerce:true,...F(n)})}function qh(e,n){return new e({type:"bigint",...F(n)})}function Hh(e,n){return new e({type:"bigint",coerce:true,...F(n)})}function Kh(e,n){return new e({type:"bigint",check:"bigint_format",abort:false,format:"int64",...F(n)})}function Gh(e,n){return new e({type:"bigint",check:"bigint_format",abort:false,format:"uint64",...F(n)})}function Jh(e,n){return new e({type:"symbol",...F(n)})}function Wh(e,n){return new e({type:"undefined",...F(n)})}function Xh(e,n){return new e({type:"null",...F(n)})}function Yh(e){return new e({type:"any"})}function Qh(e){return new e({type:"unknown"})}function eb(e,n){return new e({type:"never",...F(n)})}function tb(e,n){return new e({type:"void",...F(n)})}function nb(e,n){return new e({type:"date",...F(n)})}function rb(e,n){return new e({type:"date",coerce:true,...F(n)})}function ib(e,n){return new e({type:"nan",...F(n)})}function Qn(e,n){return new Ul({check:"less_than",...F(n),value:e,inclusive:false})}function In(e,n){return new Ul({check:"less_than",...F(n),value:e,inclusive:true})}function er(e,n){return new Ol({check:"greater_than",...F(n),value:e,inclusive:false})}function Jt(e,n){return new Ol({check:"greater_than",...F(n),value:e,inclusive:true})}function hu(e){return er(0,e)}function bu(e){return Qn(0,e)}function _u(e){return In(0,e)}function vu(e){return Jt(0,e)}function Or(e,n){return new Xf({check:"multiple_of",...F(n),value:e})}function Dr(e,n){return new eg({check:"max_size",...F(n),maximum:e})}function tr(e,n){return new tg({check:"min_size",...F(n),minimum:e})}function gi(e,n){return new ng({check:"size_equals",...F(n),size:e})}function hi(e,n){return new rg({check:"max_length",...F(n),maximum:e})}function gr(e,n){return new ig({check:"min_length",...F(n),minimum:e})}function bi(e,n){return new og({check:"length_equals",...F(n),length:e})}function Ki(e,n){return new ag({check:"string_format",format:"regex",...F(n),pattern:e})}function Gi(e){return new sg({check:"string_format",format:"lowercase",...F(e)})}function Ji(e){return new cg({check:"string_format",format:"uppercase",...F(e)})}function Wi(e,n){return new lg({check:"string_format",format:"includes",...F(n),includes:e})}function Xi(e,n){return new ug({check:"string_format",format:"starts_with",...F(n),prefix:e})}function Yi(e,n){return new dg({check:"string_format",format:"ends_with",...F(n),suffix:e})}function yu(e,n,r){return new mg({check:"property",property:e,schema:n,...F(r)})}function Qi(e,n){return new pg({check:"mime_type",mime:e,...F(n)})}function Zn(e){return new fg({check:"overwrite",tx:e})}function eo(e){return Zn(n=>n.normalize(e))}function to(){return Zn(e=>e.trim())}function no(){return Zn(e=>e.toLowerCase())}function ro(){return Zn(e=>e.toUpperCase())}function io(){return Zn(e=>uf(e))}function ob(e,n,r){return new e({type:"array",element:n,...F(r)})}function SO(e,n,r){return new e({type:"union",options:n,...F(r)})}function PO(e,n,r){return new e({type:"union",options:n,inclusive:false,...F(r)})}function $O(e,n,r,o){return new e({type:"union",options:r,discriminator:n,...F(o)})}function kO(e,n,r){return new e({type:"intersection",left:n,right:r})}function wO(e,n,r,o){let t=r instanceof me,i=t?o:r,a=t?r:null;return new e({type:"tuple",items:n,rest:a,...F(i)})}function TO(e,n,r,o){return new e({type:"record",keyType:n,valueType:r,...F(o)})}function RO(e,n,r,o){return new e({type:"map",keyType:n,valueType:r,...F(o)})}function CO(e,n,r){return new e({type:"set",valueType:n,...F(r)})}function EO(e,n,r){let o=Array.isArray(n)?Object.fromEntries(n.map(t=>[t,t])):n;return new e({type:"enum",entries:o,...F(r)})}function zO(e,n,r){return new e({type:"enum",entries:n,...F(r)})}function jO(e,n,r){return new e({type:"literal",values:Array.isArray(n)?n:[n],...F(r)})}function ab(e,n){return new e({type:"file",...F(n)})}function UO(e,n){return new e({type:"transform",transform:n})}function OO(e,n){return new e({type:"optional",innerType:n})}function DO(e,n){return new e({type:"nullable",innerType:n})}function AO(e,n,r){return new e({type:"default",innerType:n,get defaultValue(){return typeof r=="function"?r():mf(r)}})}function NO(e,n,r){return new e({type:"nonoptional",innerType:n,...F(r)})}function FO(e,n){return new e({type:"success",innerType:n})}function LO(e,n,r){return new e({type:"catch",innerType:n,catchValue:typeof r=="function"?r:()=>r})}function ZO(e,n,r){return new e({type:"pipe",in:n,out:r})}function BO(e,n){return new e({type:"readonly",innerType:n})}function MO(e,n,r){return new e({type:"template_literal",parts:n,...F(r)})}function VO(e,n){return new e({type:"lazy",getter:n})}function qO(e,n){return new e({type:"promise",innerType:n})}function sb(e,n,r){let o=F(r);return o.abort??(o.abort=true),new e({type:"custom",check:"custom",fn:n,...o})}function cb(e,n,r){return new e({type:"custom",check:"custom",fn:n,...F(r)})}function lb(e,n){let r=K0(o=>(o.addIssue=t=>{if(typeof t=="string")o.issues.push(Li(t,o.value,r._zod.def));else {let i=t;i.fatal&&(i.continue=false),i.code??(i.code="custom"),i.input??(i.input=o.value),i.inst??(i.inst=r),i.continue??(i.continue=!r._zod.def.abort),o.issues.push(Li(i));}},e(o.value,o)),n);return r}function K0(e,n){let r=new et({check:"custom",...F(n)});return r._zod.check=e,r}function ub(e){let n=new et({check:"describe"});return n._zod.onattach=[r=>{let o=At.get(r)??{};At.add(r,{...o,description:e});}],n._zod.check=()=>{},n}function db(e){let n=new et({check:"meta"});return n._zod.onattach=[r=>{let o=At.get(r)??{};At.add(r,{...o,...e});}],n._zod.check=()=>{},n}function mb(e,n){let r=F(n),o=r.truthy??["true","1","yes","on","y","enabled"],t=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(o=o.map(g=>typeof g=="string"?g.toLowerCase():g),t=t.map(g=>typeof g=="string"?g.toLowerCase():g));let i=new Set(o),a=new Set(t),c=e.Codec??hs,l=e.Boolean??fs,u=e.String??fi,m=new u({type:"string",error:r.error}),p=new l({type:"boolean",error:r.error}),f=new c({type:"pipe",in:m,out:p,transform:((g,h)=>{let k=g;return r.case!=="sensitive"&&(k=k.toLowerCase()),i.has(k)?true:a.has(k)?false:(h.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...a],input:h.value,inst:f,continue:false}),{})}),reverseTransform:((g,h)=>g===true?o[0]||"true":t[0]||"false"),error:r.error});return f}function oo(e,n,r,o={}){let t=F(o),i={...F(o),check:"string_format",type:"string",format:n,fn:typeof r=="function"?r:c=>r.test(c),...t};return r instanceof RegExp&&(i.pattern=r),new e(i)}function Ar(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??At,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Fe(e,n,r={path:[],schemaPath:[]}){var o;let t=e._zod.def,i=n.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};n.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else {let m={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,a.schema,m);else {let f=a.schema,g=n.processors[t.type];if(!g)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${t.type}`);g(e,n,f,m);}let p=e._zod.parent;p&&(a.ref||(a.ref=p),Fe(p,n,m),n.seen.get(p).isParent=true);}let l=n.metadataRegistry.get(e);return l&&Object.assign(a.schema,l),n.io==="input"&&Wt(e)&&(delete a.schema.examples,delete a.schema.default),n.io==="input"&&"_prefault"in a.schema&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,n.seen.get(e).schema}function Nr(e,n){let r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let o=new Map;for(let a of e.seen.entries()){let c=e.metadataRegistry.get(a[0])?.id;if(c){let l=o.get(c);if(l&&l!==a[0])throw new Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(c,a[0]);}}let t=a=>{let c=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let p=e.external.registry.get(a[0])?.id,f=e.external.uri??(h=>h);if(p)return {ref:f(p)};let g=a[1].defId??a[1].schema.id??`schema${e.counter++}`;return a[1].defId=g,{defId:g,ref:`${f("__shared")}#/${c}/${g}`}}if(a[1]===r)return {ref:"#"};let u=`#/${c}/`,m=a[1].schema.id??`__schema${e.counter++}`;return {defId:m,ref:u+m}},i=a=>{if(a[1].schema.$ref)return;let c=a[1],{ref:l,defId:u}=t(a);c.def={...c.schema},u&&(c.defId=u);let m=c.schema;for(let p in m)delete m[p];m.$ref=l;};if(e.cycles==="throw")for(let a of e.seen.entries()){let c=a[1];if(c.cycle)throw new Error(`Cycle detected: #/${c.cycle?.join("/")}/<root>
|
|
64
64
|
|
|
65
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let a of e.seen.entries()){let c=a[1];if(n===a[0]){i(a);continue}if(e.external){let u=e.external.registry.get(a[0])?.id;if(n!==a[0]&&u){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(c.cycle){i(a);continue}if(c.count>1&&e.reused==="ref"){i(a);continue}}}function Fr(e,n){let r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let o=c=>{let l=e.seen.get(c);if(l.ref===null)return;let u=l.def??l.schema,m={...u},p=l.ref;if(l.ref=null,p){o(p);let g=e.seen.get(p),h=g.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(h)):Object.assign(u,h),Object.assign(u,m),c._zod.parent===p)for(let S in u)S==="$ref"||S==="allOf"||S in m||delete u[S];if(h.$ref&&g.def)for(let S in u)S==="$ref"||S==="allOf"||S in g.def&&JSON.stringify(u[S])===JSON.stringify(g.def[S])&&delete u[S];}let f=c._zod.parent;if(f&&f!==p){o(f);let g=e.seen.get(f);if(g?.schema.$ref&&(u.$ref=g.schema.$ref,g.def))for(let h in u)h==="$ref"||h==="allOf"||h in g.def&&JSON.stringify(u[h])===JSON.stringify(g.def[h])&&delete u[h];}e.override({zodSchema:c,jsonSchema:u,path:l.path??[]});};for(let c of [...e.seen.entries()].reverse())o(c[0]);let t={};if(e.target==="draft-2020-12"?t.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?t.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?t.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let c=e.external.registry.get(n)?.id;if(!c)throw new Error("Schema is missing an `id` property");t.$id=e.external.uri(c);}Object.assign(t,r.def??r.schema);let i=e.metadataRegistry.get(n)?.id;i!==void 0&&t.id===i&&delete t.id;let a=e.external?.defs??{};for(let c of e.seen.entries()){let l=c[1];l.def&&l.defId&&(l.def.id===l.defId&&delete l.def.id,a[l.defId]=l.def);}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?t.$defs=a:t.definitions=a);try{let c=JSON.parse(JSON.stringify(t));return Object.defineProperty(c,"~standard",{value:{...n["~standard"],jsonSchema:{input:ao(n,"input",e.processors),output:ao(n,"output",e.processors)}},enumerable:!1,writable:!1}),c}catch{throw new Error("Error converting schema to JSON.")}}function Wt(e,n){let r=n??{seen:new Set};if(r.seen.has(e))return false;r.seen.add(e);let o=e._zod.def;if(o.type==="transform")return true;if(o.type==="array")return Wt(o.element,r);if(o.type==="set")return Wt(o.valueType,r);if(o.type==="lazy")return Wt(o.getter(),r);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return Wt(o.innerType,r);if(o.type==="intersection")return Wt(o.left,r)||Wt(o.right,r);if(o.type==="record"||o.type==="map")return Wt(o.keyType,r)||Wt(o.valueType,r);if(o.type==="pipe")return e._zod.traits.has("$ZodCodec")?true:Wt(o.in,r)||Wt(o.out,r);if(o.type==="object"){for(let t in o.shape)if(Wt(o.shape[t],r))return true;return false}if(o.type==="union"){for(let t of o.options)if(Wt(t,r))return true;return false}if(o.type==="tuple"){for(let t of o.items)if(Wt(t,r))return true;return !!(o.rest&&Wt(o.rest,r))}return false}var pb=(e,n={})=>r=>{let o=Ar({...r,processors:n});return Fe(e,o),Nr(o,e),Fr(o,e)},ao=(e,n,r={})=>o=>{let{libraryOptions:t,target:i}=o??{},a=Ar({...t??{},target:i,io:n,processors:r});return Fe(e,a),Nr(a,e),Fr(a,e)};var HO={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},fb=(e,n,r,o)=>{let t=r;t.type="string";let{minimum:i,maximum:a,format:c,patterns:l,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(t.minLength=i),typeof a=="number"&&(t.maxLength=a),c&&(t.format=HO[c]??c,t.format===""&&delete t.format,c==="time"&&delete t.format),u&&(t.contentEncoding=u),l&&l.size>0){let m=[...l];m.length===1?t.pattern=m[0].source:m.length>1&&(t.allOf=[...m.map(p=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))]);}},gb=(e,n,r,o)=>{let t=r,{minimum:i,maximum:a,format:c,multipleOf:l,exclusiveMaximum:u,exclusiveMinimum:m}=e._zod.bag;typeof c=="string"&&c.includes("int")?t.type="integer":t.type="number";let p=typeof m=="number"&&m>=(i??Number.NEGATIVE_INFINITY),f=typeof u=="number"&&u<=(a??Number.POSITIVE_INFINITY),g=n.target==="draft-04"||n.target==="openapi-3.0";p?g?(t.minimum=m,t.exclusiveMinimum=true):t.exclusiveMinimum=m:typeof i=="number"&&(t.minimum=i),f?g?(t.maximum=u,t.exclusiveMaximum=true):t.exclusiveMaximum=u:typeof a=="number"&&(t.maximum=a),typeof l=="number"&&(t.multipleOf=l);},hb=(e,n,r,o)=>{r.type="boolean";},bb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},_b=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},vb=(e,n,r,o)=>{n.target==="openapi-3.0"?(r.type="string",r.nullable=true,r.enum=[null]):r.type="null";},yb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},xb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Ib=(e,n,r,o)=>{r.not={};},Sb=(e,n,r,o)=>{},Pb=(e,n,r,o)=>{},$b=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},kb=(e,n,r,o)=>{let t=e._zod.def,i=rs(t.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i;},wb=(e,n,r,o)=>{let t=e._zod.def,i=[];for(let a of t.values)if(a===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a));}else i.push(a);if(i.length!==0)if(i.length===1){let a=i[0];r.type=a===null?"null":typeof a,n.target==="draft-04"||n.target==="openapi-3.0"?r.enum=[a]:r.const=a;}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i;},Tb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Rb=(e,n,r,o)=>{let t=r,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");t.type="string",t.pattern=i.source;},Cb=(e,n,r,o)=>{let t=r,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:c,mime:l}=e._zod.bag;a!==void 0&&(i.minLength=a),c!==void 0&&(i.maxLength=c),l?l.length===1?(i.contentMediaType=l[0],Object.assign(t,i)):(Object.assign(t,i),t.anyOf=l.map(u=>({contentMediaType:u}))):Object.assign(t,i);},Eb=(e,n,r,o)=>{r.type="boolean";},zb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},jb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Ub=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Ob=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Db=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Ab=(e,n,r,o)=>{let t=r,i=e._zod.def,{minimum:a,maximum:c}=e._zod.bag;typeof a=="number"&&(t.minItems=a),typeof c=="number"&&(t.maxItems=c),t.type="array",t.items=Fe(i.element,n,{...o,path:[...o.path,"items"]});},Nb=(e,n,r,o)=>{let t=r,i=e._zod.def;t.type="object",t.properties={};let a=i.shape;for(let u in a)t.properties[u]=Fe(a[u],n,{...o,path:[...o.path,"properties",u]});let c=new Set(Object.keys(a)),l=new Set([...c].filter(u=>{let m=i.shape[u]._zod;return n.io==="input"?m.optin===void 0:m.optout===void 0}));l.size>0&&(t.required=Array.from(l)),i.catchall?._zod.def.type==="never"?t.additionalProperties=false:i.catchall?i.catchall&&(t.additionalProperties=Fe(i.catchall,n,{...o,path:[...o.path,"additionalProperties"]})):n.io==="output"&&(t.additionalProperties=false);},Iu=(e,n,r,o)=>{let t=e._zod.def,i=t.inclusive===false,a=t.options.map((c,l)=>Fe(c,n,{...o,path:[...o.path,i?"oneOf":"anyOf",l]}));i?r.oneOf=a:r.anyOf=a;},Fb=(e,n,r,o)=>{let t=e._zod.def,i=Fe(t.left,n,{...o,path:[...o.path,"allOf",0]}),a=Fe(t.right,n,{...o,path:[...o.path,"allOf",1]}),c=u=>"allOf"in u&&Object.keys(u).length===1,l=[...c(i)?i.allOf:[i],...c(a)?a.allOf:[a]];r.allOf=l;},Lb=(e,n,r,o)=>{let t=r,i=e._zod.def;t.type="array";let a=n.target==="draft-2020-12"?"prefixItems":"items",c=n.target==="draft-2020-12"||n.target==="openapi-3.0"?"items":"additionalItems",l=i.items.map((f,g)=>Fe(f,n,{...o,path:[...o.path,a,g]})),u=i.rest?Fe(i.rest,n,{...o,path:[...o.path,c,...n.target==="openapi-3.0"?[i.items.length]:[]]}):null;n.target==="draft-2020-12"?(t.prefixItems=l,u&&(t.items=u)):n.target==="openapi-3.0"?(t.items={anyOf:l},u&&t.items.anyOf.push(u),t.minItems=l.length,u||(t.maxItems=l.length)):(t.items=l,u&&(t.additionalItems=u));let{minimum:m,maximum:p}=e._zod.bag;typeof m=="number"&&(t.minItems=m),typeof p=="number"&&(t.maxItems=p);},Zb=(e,n,r,o)=>{let t=r,i=e._zod.def;t.type="object";let a=i.keyType,l=a._zod.bag?.patterns;if(i.mode==="loose"&&l&&l.size>0){let m=Fe(i.valueType,n,{...o,path:[...o.path,"patternProperties","*"]});t.patternProperties={};for(let p of l)t.patternProperties[p.source]=m;}else (n.target==="draft-07"||n.target==="draft-2020-12")&&(t.propertyNames=Fe(i.keyType,n,{...o,path:[...o.path,"propertyNames"]})),t.additionalProperties=Fe(i.valueType,n,{...o,path:[...o.path,"additionalProperties"]});let u=a._zod.values;if(u){let m=[...u].filter(p=>typeof p=="string"||typeof p=="number");m.length>0&&(t.required=m);}},Bb=(e,n,r,o)=>{let t=e._zod.def,i=Fe(t.innerType,n,o),a=n.seen.get(e);n.target==="openapi-3.0"?(a.ref=t.innerType,r.nullable=true):r.anyOf=[i,{type:"null"}];},Mb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType;},Vb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType,r.default=JSON.parse(JSON.stringify(t.defaultValue));},qb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType,n.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(t.defaultValue)));},Hb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType;let a;try{a=t.catchValue(void 0);}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a;},Kb=(e,n,r,o)=>{let t=e._zod.def,i=t.in._zod.traits.has("$ZodTransform"),a=n.io==="input"?i?t.out:t.in:t.out;Fe(a,n,o);let c=n.seen.get(e);c.ref=a;},Gb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType,r.readOnly=true;},Jb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType;},Su=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType;},Wb=(e,n,r,o)=>{let t=e._zod.innerType;Fe(t,n,o);let i=n.seen.get(e);i.ref=t;},xu={string:fb,number:gb,boolean:hb,bigint:bb,symbol:_b,null:vb,undefined:yb,void:xb,never:Ib,any:Sb,unknown:Pb,date:$b,enum:kb,literal:wb,nan:Tb,template_literal:Rb,file:Cb,success:Eb,custom:zb,function:jb,transform:Ub,map:Ob,set:Db,array:Ab,object:Nb,union:Iu,intersection:Fb,tuple:Lb,record:Zb,nullable:Bb,nonoptional:Mb,default:Vb,prefault:qb,catch:Hb,pipe:Kb,readonly:Gb,promise:Jb,optional:Su,lazy:Wb};function Pu(e,n){if("_idmap"in e){let o=e,t=Ar({...n,processors:xu}),i={};for(let l of o._idmap.entries()){let[u,m]=l;Fe(m,t);}let a={},c={registry:o,uri:n?.uri,defs:i};t.external=c;for(let l of o._idmap.entries()){let[u,m]=l;Nr(t,m),a[u]=Fr(t,m);}if(Object.keys(i).length>0){let l=t.target==="draft-2020-12"?"$defs":"definitions";a.__shared={[l]:i};}return {schemas:a}}let r=Ar({...n,processors:xu});return Fe(e,r),Nr(r,e),Fr(r,e)}var $u=class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(n){this.ctx.counter=n;}get seen(){return this.ctx.seen}constructor(n){let r=n?.target??"draft-2020-12";r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),this.ctx=Ar({processors:xu,target:r,...n?.metadata&&{metadata:n.metadata},...n?.unrepresentable&&{unrepresentable:n.unrepresentable},...n?.override&&{override:n.override},...n?.io&&{io:n.io}});}process(n,r={path:[],schemaPath:[]}){return Fe(n,this.ctx,r)}emit(n,r){r&&(r.cycles&&(this.ctx.cycles=r.cycles),r.reused&&(this.ctx.reused=r.reused),r.external&&(this.ctx.external=r.external)),Nr(this.ctx,n);let o=Fr(this.ctx,n),{"~standard":t,...i}=o;return i}};var G0={};var xs={};$t(xs,{ZodAny:()=>y_,ZodArray:()=>P_,ZodBase64:()=>Hu,ZodBase64URL:()=>Ku,ZodBigInt:()=>go,ZodBigIntFormat:()=>Wu,ZodBoolean:()=>fo,ZodCIDRv4:()=>Vu,ZodCIDRv6:()=>qu,ZodCUID:()=>Au,ZodCUID2:()=>Nu,ZodCatch:()=>H_,ZodCodec:()=>js,ZodCustom:()=>Us,ZodCustomStringFormat:()=>mo,ZodDate:()=>Ts,ZodDefault:()=>L_,ZodDiscriminatedUnion:()=>k_,ZodE164:()=>Gu,ZodEmail:()=>Uu,ZodEmoji:()=>Ou,ZodEnum:()=>lo,ZodExactOptional:()=>A_,ZodFile:()=>O_,ZodFunction:()=>nv,ZodGUID:()=>Ss,ZodIPv4:()=>Bu,ZodIPv6:()=>Mu,ZodIntersection:()=>w_,ZodJWT:()=>Ju,ZodKSUID:()=>Zu,ZodLazy:()=>Q_,ZodLiteral:()=>U_,ZodMAC:()=>p_,ZodMap:()=>z_,ZodNaN:()=>G_,ZodNanoID:()=>Du,ZodNever:()=>I_,ZodNonOptional:()=>nd,ZodNull:()=>__,ZodNullable:()=>F_,ZodNumber:()=>po,ZodNumberFormat:()=>vi,ZodObject:()=>Cs,ZodOptional:()=>td,ZodPipe:()=>zs,ZodPrefault:()=>B_,ZodPreprocess:()=>J_,ZodPromise:()=>tv,ZodReadonly:()=>W_,ZodRecord:()=>co,ZodSet:()=>j_,ZodString:()=>uo,ZodStringFormat:()=>Ge,ZodSuccess:()=>q_,ZodSymbol:()=>h_,ZodTemplateLiteral:()=>Y_,ZodTransform:()=>D_,ZodTuple:()=>R_,ZodType:()=>he,ZodULID:()=>Fu,ZodURL:()=>ws,ZodUUID:()=>nr,ZodUndefined:()=>b_,ZodUnion:()=>Es,ZodUnknown:()=>x_,ZodVoid:()=>S_,ZodXID:()=>Lu,ZodXor:()=>$_,_ZodString:()=>ju,_default:()=>Z_,_function:()=>rT,any:()=>Uw,array:()=>Rs,base64:()=>bw,base64url:()=>_w,bigint:()=>Rw,boolean:()=>g_,catch:()=>K_,check:()=>iT,cidrv4:()=>gw,cidrv6:()=>hw,codec:()=>Qw,cuid:()=>sw,cuid2:()=>cw,custom:()=>oT,date:()=>Dw,describe:()=>aT,discriminatedUnion:()=>Bw,e164:()=>vw,email:()=>X0,emoji:()=>ow,enum:()=>Qu,exactOptional:()=>N_,file:()=>Jw,float32:()=>$w,float64:()=>kw,function:()=>rT,guid:()=>Y0,hash:()=>Pw,hex:()=>Sw,hostname:()=>Iw,httpUrl:()=>iw,instanceof:()=>cT,int:()=>Eu,int32:()=>ww,int64:()=>Cw,intersection:()=>T_,invertCodec:()=>eT,ipv4:()=>mw,ipv6:()=>fw,json:()=>uT,jwt:()=>yw,keyof:()=>Aw,ksuid:()=>dw,lazy:()=>ev,literal:()=>Gw,looseObject:()=>Lw,looseRecord:()=>Vw,mac:()=>pw,map:()=>qw,meta:()=>sT,nan:()=>Yw,nanoid:()=>aw,nativeEnum:()=>Kw,never:()=>Xu,nonoptional:()=>V_,null:()=>v_,nullable:()=>$s,nullish:()=>Ww,number:()=>f_,object:()=>Nw,optional:()=>Ps,partialRecord:()=>Mw,pipe:()=>zu,prefault:()=>M_,preprocess:()=>dT,promise:()=>nT,readonly:()=>X_,record:()=>E_,refine:()=>rv,set:()=>Hw,strictObject:()=>Fw,string:()=>Is,stringFormat:()=>xw,stringbool:()=>lT,success:()=>Xw,superRefine:()=>iv,symbol:()=>zw,templateLiteral:()=>tT,transform:()=>ed,tuple:()=>C_,uint32:()=>Tw,uint64:()=>Ew,ulid:()=>lw,undefined:()=>jw,union:()=>Yu,unknown:()=>_i,url:()=>rw,uuid:()=>Q0,uuidv4:()=>ew,uuidv6:()=>tw,uuidv7:()=>nw,void:()=>Ow,xid:()=>uw,xor:()=>Zw});var ku={};$t(ku,{endsWith:()=>Yi,gt:()=>er,gte:()=>Jt,includes:()=>Wi,length:()=>bi,lowercase:()=>Gi,lt:()=>Qn,lte:()=>In,maxLength:()=>hi,maxSize:()=>Dr,mime:()=>Qi,minLength:()=>gr,minSize:()=>tr,multipleOf:()=>Or,negative:()=>bu,nonnegative:()=>vu,nonpositive:()=>_u,normalize:()=>eo,overwrite:()=>Zn,positive:()=>hu,property:()=>yu,regex:()=>Ki,size:()=>gi,slugify:()=>io,startsWith:()=>Xi,toLowerCase:()=>no,toUpperCase:()=>ro,trim:()=>to,uppercase:()=>Ji});var so={};$t(so,{ZodISODate:()=>Tu,ZodISODateTime:()=>wu,ZodISODuration:()=>Cu,ZodISOTime:()=>Ru,date:()=>Yb,datetime:()=>Xb,duration:()=>e_,time:()=>Qb});var wu=x("ZodISODateTime",(e,n)=>{Tg.init(e,n),Ge.init(e,n);});function Xb(e){return zh(wu,e)}var Tu=x("ZodISODate",(e,n)=>{Rg.init(e,n),Ge.init(e,n);});function Yb(e){return jh(Tu,e)}var Ru=x("ZodISOTime",(e,n)=>{Cg.init(e,n),Ge.init(e,n);});function Qb(e){return Uh(Ru,e)}var Cu=x("ZodISODuration",(e,n)=>{Eg.init(e,n),Ge.init(e,n);});function e_(e){return Oh(Cu,e)}var J0=(e,n)=>{cs.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>us(e,r)},flatten:{value:r=>ls(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Ni,2);}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Ni,2);}},isEmpty:{get(){return e.issues.length===0}}});},GO=x("ZodError",J0),dn=x("ZodError",J0,{Parent:Error});var t_=Zi(dn),n_=Bi(dn),r_=Mi(dn),i_=Vi(dn),o_=Pl(dn),a_=$l(dn),s_=kl(dn),c_=wl(dn),l_=Tl(dn),u_=Rl(dn),d_=Cl(dn),m_=El(dn);var W0=new WeakMap;function ks(e,n,r){let o=Object.getPrototypeOf(e),t=W0.get(o);if(t||(t=new Set,W0.set(o,t)),!t.has(n)){t.add(n);for(let i in r){let a=r[i];Object.defineProperty(o,i,{configurable:true,enumerable:false,get(){let c=a.bind(this);return Object.defineProperty(this,i,{configurable:true,writable:true,enumerable:true,value:c}),c},set(c){Object.defineProperty(this,i,{configurable:true,writable:true,enumerable:true,value:c});}});}}}var he=x("ZodType",(e,n)=>(me.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:ao(e,"input"),output:ao(e,"output")}}),e.toJSONSchema=pb(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.parse=(r,o)=>t_(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>r_(e,r,o),e.parseAsync=async(r,o)=>n_(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>i_(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>o_(e,r,o),e.decode=(r,o)=>a_(e,r,o),e.encodeAsync=async(r,o)=>s_(e,r,o),e.decodeAsync=async(r,o)=>c_(e,r,o),e.safeEncode=(r,o)=>l_(e,r,o),e.safeDecode=(r,o)=>u_(e,r,o),e.safeEncodeAsync=async(r,o)=>d_(e,r,o),e.safeDecodeAsync=async(r,o)=>m_(e,r,o),ks(e,"ZodType",{check(...r){let o=this.def;return this.clone(D.mergeDefs(o,{checks:[...o.checks??[],...r.map(t=>typeof t=="function"?{_zod:{check:t,def:{check:"custom"},onattach:[]}}:t)]}),{parent:true})},with(...r){return this.check(...r)},clone(r,o){return Kt(this,r,o)},brand(){return this},register(r,o){return r.add(this,o),this},refine(r,o){return this.check(rv(r,o))},superRefine(r,o){return this.check(iv(r,o))},overwrite(r){return this.check(Zn(r))},optional(){return Ps(this)},exactOptional(){return N_(this)},nullable(){return $s(this)},nullish(){return Ps($s(this))},nonoptional(r){return V_(this,r)},array(){return Rs(this)},or(r){return Yu([this,r])},and(r){return T_(this,r)},transform(r){return zu(this,ed(r))},default(r){return Z_(this,r)},prefault(r){return M_(this,r)},catch(r){return K_(this,r)},pipe(r){return zu(this,r)},readonly(){return X_(this)},describe(r){let o=this.clone();return At.add(o,{description:r}),o},meta(...r){if(r.length===0)return At.get(this);let o=this.clone();return At.add(o,r[0]),o},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(e,"description",{get(){return At.get(e)?.description},configurable:true}),e)),ju=x("_ZodString",(e,n)=>{fi.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>fb(e,o,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,ks(e,"_ZodString",{regex(...o){return this.check(Ki(...o))},includes(...o){return this.check(Wi(...o))},startsWith(...o){return this.check(Xi(...o))},endsWith(...o){return this.check(Yi(...o))},min(...o){return this.check(gr(...o))},max(...o){return this.check(hi(...o))},length(...o){return this.check(bi(...o))},nonempty(...o){return this.check(gr(1,...o))},lowercase(o){return this.check(Gi(o))},uppercase(o){return this.check(Ji(o))},trim(){return this.check(to())},normalize(...o){return this.check(eo(...o))},toLowerCase(){return this.check(no())},toUpperCase(){return this.check(ro())},slugify(){return this.check(io())}});}),uo=x("ZodString",(e,n)=>{fi.init(e,n),ju.init(e,n),e.email=r=>e.check(Wl(Uu,r)),e.url=r=>e.check(ys(ws,r)),e.jwt=r=>e.check(gu(Ju,r)),e.emoji=r=>e.check(tu(Ou,r)),e.guid=r=>e.check(vs(Ss,r)),e.uuid=r=>e.check(Xl(nr,r)),e.uuidv4=r=>e.check(Yl(nr,r)),e.uuidv6=r=>e.check(Ql(nr,r)),e.uuidv7=r=>e.check(eu(nr,r)),e.nanoid=r=>e.check(nu(Du,r)),e.guid=r=>e.check(vs(Ss,r)),e.cuid=r=>e.check(ru(Au,r)),e.cuid2=r=>e.check(iu(Nu,r)),e.ulid=r=>e.check(ou(Fu,r)),e.base64=r=>e.check(mu(Hu,r)),e.base64url=r=>e.check(pu(Ku,r)),e.xid=r=>e.check(au(Lu,r)),e.ksuid=r=>e.check(su(Zu,r)),e.ipv4=r=>e.check(cu(Bu,r)),e.ipv6=r=>e.check(lu(Mu,r)),e.cidrv4=r=>e.check(uu(Vu,r)),e.cidrv6=r=>e.check(du(qu,r)),e.e164=r=>e.check(fu(Gu,r)),e.datetime=r=>e.check(Xb(r)),e.date=r=>e.check(Yb(r)),e.time=r=>e.check(Qb(r)),e.duration=r=>e.check(e_(r));});function Is(e){return Th(uo,e)}var Ge=x("ZodStringFormat",(e,n)=>{Ke.init(e,n),ju.init(e,n);}),Uu=x("ZodEmail",(e,n)=>{vg.init(e,n),Ge.init(e,n);});function X0(e){return Wl(Uu,e)}var Ss=x("ZodGUID",(e,n)=>{bg.init(e,n),Ge.init(e,n);});function Y0(e){return vs(Ss,e)}var nr=x("ZodUUID",(e,n)=>{_g.init(e,n),Ge.init(e,n);});function Q0(e){return Xl(nr,e)}function ew(e){return Yl(nr,e)}function tw(e){return Ql(nr,e)}function nw(e){return eu(nr,e)}var ws=x("ZodURL",(e,n)=>{yg.init(e,n),Ge.init(e,n);});function rw(e){return ys(ws,e)}function iw(e){return ys(ws,{protocol:xn.httpProtocol,hostname:xn.domain,...D.normalizeParams(e)})}var Ou=x("ZodEmoji",(e,n)=>{xg.init(e,n),Ge.init(e,n);});function ow(e){return tu(Ou,e)}var Du=x("ZodNanoID",(e,n)=>{Ig.init(e,n),Ge.init(e,n);});function aw(e){return nu(Du,e)}var Au=x("ZodCUID",(e,n)=>{Sg.init(e,n),Ge.init(e,n);});function sw(e){return ru(Au,e)}var Nu=x("ZodCUID2",(e,n)=>{Pg.init(e,n),Ge.init(e,n);});function cw(e){return iu(Nu,e)}var Fu=x("ZodULID",(e,n)=>{$g.init(e,n),Ge.init(e,n);});function lw(e){return ou(Fu,e)}var Lu=x("ZodXID",(e,n)=>{kg.init(e,n),Ge.init(e,n);});function uw(e){return au(Lu,e)}var Zu=x("ZodKSUID",(e,n)=>{wg.init(e,n),Ge.init(e,n);});function dw(e){return su(Zu,e)}var Bu=x("ZodIPv4",(e,n)=>{zg.init(e,n),Ge.init(e,n);});function mw(e){return cu(Bu,e)}var p_=x("ZodMAC",(e,n)=>{Ug.init(e,n),Ge.init(e,n);});function pw(e){return Ch(p_,e)}var Mu=x("ZodIPv6",(e,n)=>{jg.init(e,n),Ge.init(e,n);});function fw(e){return lu(Mu,e)}var Vu=x("ZodCIDRv4",(e,n)=>{Og.init(e,n),Ge.init(e,n);});function gw(e){return uu(Vu,e)}var qu=x("ZodCIDRv6",(e,n)=>{Dg.init(e,n),Ge.init(e,n);});function hw(e){return du(qu,e)}var Hu=x("ZodBase64",(e,n)=>{Ng.init(e,n),Ge.init(e,n);});function bw(e){return mu(Hu,e)}var Ku=x("ZodBase64URL",(e,n)=>{Fg.init(e,n),Ge.init(e,n);});function _w(e){return pu(Ku,e)}var Gu=x("ZodE164",(e,n)=>{Lg.init(e,n),Ge.init(e,n);});function vw(e){return fu(Gu,e)}var Ju=x("ZodJWT",(e,n)=>{Zg.init(e,n),Ge.init(e,n);});function yw(e){return gu(Ju,e)}var mo=x("ZodCustomStringFormat",(e,n)=>{Bg.init(e,n),Ge.init(e,n);});function xw(e,n,r={}){return oo(mo,e,n,r)}function Iw(e){return oo(mo,"hostname",xn.hostname,e)}function Sw(e){return oo(mo,"hex",xn.hex,e)}function Pw(e,n){let r=n?.enc??"hex",o=`${e}_${r}`,t=xn[o];if(!t)throw new Error(`Unrecognized hash format: ${o}`);return oo(mo,o,t,n)}var po=x("ZodNumber",(e,n)=>{Ll.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>gb(e,o,t),ks(e,"ZodNumber",{gt(o,t){return this.check(er(o,t))},gte(o,t){return this.check(Jt(o,t))},min(o,t){return this.check(Jt(o,t))},lt(o,t){return this.check(Qn(o,t))},lte(o,t){return this.check(In(o,t))},max(o,t){return this.check(In(o,t))},int(o){return this.check(Eu(o))},safe(o){return this.check(Eu(o))},positive(o){return this.check(er(0,o))},nonnegative(o){return this.check(Jt(0,o))},negative(o){return this.check(Qn(0,o))},nonpositive(o){return this.check(In(0,o))},multipleOf(o,t){return this.check(Or(o,t))},step(o,t){return this.check(Or(o,t))},finite(){return this}});let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=true,e.format=r.format??null;});function f_(e){return Dh(po,e)}var vi=x("ZodNumberFormat",(e,n)=>{Mg.init(e,n),po.init(e,n);});function Eu(e){return Nh(vi,e)}function $w(e){return Fh(vi,e)}function kw(e){return Lh(vi,e)}function ww(e){return Zh(vi,e)}function Tw(e){return Bh(vi,e)}var fo=x("ZodBoolean",(e,n)=>{fs.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>hb(e,r,o);});function g_(e){return Mh(fo,e)}var go=x("ZodBigInt",(e,n)=>{Zl.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>bb(e,o),e.gte=(o,t)=>e.check(Jt(o,t)),e.min=(o,t)=>e.check(Jt(o,t)),e.gt=(o,t)=>e.check(er(o,t)),e.gte=(o,t)=>e.check(Jt(o,t)),e.min=(o,t)=>e.check(Jt(o,t)),e.lt=(o,t)=>e.check(Qn(o,t)),e.lte=(o,t)=>e.check(In(o,t)),e.max=(o,t)=>e.check(In(o,t)),e.positive=o=>e.check(er(BigInt(0),o)),e.negative=o=>e.check(Qn(BigInt(0),o)),e.nonpositive=o=>e.check(In(BigInt(0),o)),e.nonnegative=o=>e.check(Jt(BigInt(0),o)),e.multipleOf=(o,t)=>e.check(Or(o,t));let r=e._zod.bag;e.minValue=r.minimum??null,e.maxValue=r.maximum??null,e.format=r.format??null;});function Rw(e){return qh(go,e)}var Wu=x("ZodBigIntFormat",(e,n)=>{Vg.init(e,n),go.init(e,n);});function Cw(e){return Kh(Wu,e)}function Ew(e){return Gh(Wu,e)}var h_=x("ZodSymbol",(e,n)=>{qg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>_b(e,r);});function zw(e){return Jh(h_,e)}var b_=x("ZodUndefined",(e,n)=>{Hg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>yb(e,r);});function jw(e){return Wh(b_,e)}var __=x("ZodNull",(e,n)=>{Kg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>vb(e,r,o);});function v_(e){return Xh(__,e)}var y_=x("ZodAny",(e,n)=>{Gg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Sb();});function Uw(){return Yh(y_)}var x_=x("ZodUnknown",(e,n)=>{Jg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Pb();});function _i(){return Qh(x_)}var I_=x("ZodNever",(e,n)=>{Wg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ib(e,r,o);});function Xu(e){return eb(I_,e)}var S_=x("ZodVoid",(e,n)=>{Xg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>xb(e,r);});function Ow(e){return tb(S_,e)}var Ts=x("ZodDate",(e,n)=>{Yg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>$b(e,o),e.min=(o,t)=>e.check(Jt(o,t)),e.max=(o,t)=>e.check(In(o,t));let r=e._zod.bag;e.minDate=r.minimum?new Date(r.minimum):null,e.maxDate=r.maximum?new Date(r.maximum):null;});function Dw(e){return nb(Ts,e)}var P_=x("ZodArray",(e,n)=>{Qg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ab(e,r,o,t),e.element=n.element,ks(e,"ZodArray",{min(r,o){return this.check(gr(r,o))},nonempty(r){return this.check(gr(1,r))},max(r,o){return this.check(hi(r,o))},length(r,o){return this.check(bi(r,o))},unwrap(){return this.element}});});function Rs(e,n){return ob(P_,e,n)}function Aw(e){let n=e._zod.def.shape;return Qu(Object.keys(n))}var Cs=x("ZodObject",(e,n)=>{eh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Nb(e,r,o,t),D.defineLazy(e,"shape",()=>n.shape),ks(e,"ZodObject",{keyof(){return Qu(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:_i()})},loose(){return this.clone({...this._zod.def,catchall:_i()})},strict(){return this.clone({...this._zod.def,catchall:Xu()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return D.extend(this,r)},safeExtend(r){return D.safeExtend(this,r)},merge(r){return D.merge(this,r)},pick(r){return D.pick(this,r)},omit(r){return D.omit(this,r)},partial(...r){return D.partial(td,this,r[0])},required(...r){return D.required(nd,this,r[0])}});});function Nw(e,n){let r={type:"object",shape:e??{},...D.normalizeParams(n)};return new Cs(r)}function Fw(e,n){return new Cs({type:"object",shape:e,catchall:Xu(),...D.normalizeParams(n)})}function Lw(e,n){return new Cs({type:"object",shape:e,catchall:_i(),...D.normalizeParams(n)})}var Es=x("ZodUnion",(e,n)=>{gs.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Iu(e,r,o,t),e.options=n.options;});function Yu(e,n){return new Es({type:"union",options:e,...D.normalizeParams(n)})}var $_=x("ZodXor",(e,n)=>{Es.init(e,n),th.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Iu(e,r,o,t),e.options=n.options;});function Zw(e,n){return new $_({type:"union",options:e,inclusive:false,...D.normalizeParams(n)})}var k_=x("ZodDiscriminatedUnion",(e,n)=>{Es.init(e,n),nh.init(e,n);});function Bw(e,n,r){return new k_({type:"union",options:n,discriminator:e,...D.normalizeParams(r)})}var w_=x("ZodIntersection",(e,n)=>{rh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Fb(e,r,o,t);});function T_(e,n){return new w_({type:"intersection",left:e,right:n})}var R_=x("ZodTuple",(e,n)=>{Bl.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Lb(e,r,o,t),e.rest=r=>e.clone({...e._zod.def,rest:r});});function C_(e,n,r){let o=n instanceof me,t=o?r:n,i=o?n:null;return new R_({type:"tuple",items:e,rest:i,...D.normalizeParams(t)})}var co=x("ZodRecord",(e,n)=>{ih.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Zb(e,r,o,t),e.keyType=n.keyType,e.valueType=n.valueType;});function E_(e,n,r){return !n||!n._zod?new co({type:"record",keyType:Is(),valueType:e,...D.normalizeParams(n)}):new co({type:"record",keyType:e,valueType:n,...D.normalizeParams(r)})}function Mw(e,n,r){let o=Kt(e);return o._zod.values=void 0,new co({type:"record",keyType:o,valueType:n,...D.normalizeParams(r)})}function Vw(e,n,r){return new co({type:"record",keyType:e,valueType:n,mode:"loose",...D.normalizeParams(r)})}var z_=x("ZodMap",(e,n)=>{oh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ob(e,r),e.keyType=n.keyType,e.valueType=n.valueType,e.min=(...r)=>e.check(tr(...r)),e.nonempty=r=>e.check(tr(1,r)),e.max=(...r)=>e.check(Dr(...r)),e.size=(...r)=>e.check(gi(...r));});function qw(e,n,r){return new z_({type:"map",keyType:e,valueType:n,...D.normalizeParams(r)})}var j_=x("ZodSet",(e,n)=>{ah.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Db(e,r),e.min=(...r)=>e.check(tr(...r)),e.nonempty=r=>e.check(tr(1,r)),e.max=(...r)=>e.check(Dr(...r)),e.size=(...r)=>e.check(gi(...r));});function Hw(e,n){return new j_({type:"set",valueType:e,...D.normalizeParams(n)})}var lo=x("ZodEnum",(e,n)=>{sh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>kb(e,o,t),e.enum=n.entries,e.options=Object.values(n.entries);let r=new Set(Object.keys(n.entries));e.extract=(o,t)=>{let i={};for(let a of o)if(r.has(a))i[a]=n.entries[a];else throw new Error(`Key ${a} not found in enum`);return new lo({...n,checks:[],...D.normalizeParams(t),entries:i})},e.exclude=(o,t)=>{let i={...n.entries};for(let a of o)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new lo({...n,checks:[],...D.normalizeParams(t),entries:i})};});function Qu(e,n){let r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new lo({type:"enum",entries:r,...D.normalizeParams(n)})}function Kw(e,n){return new lo({type:"enum",entries:e,...D.normalizeParams(n)})}var U_=x("ZodLiteral",(e,n)=>{ch.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>wb(e,r,o),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}});});function Gw(e,n){return new U_({type:"literal",values:Array.isArray(e)?e:[e],...D.normalizeParams(n)})}var O_=x("ZodFile",(e,n)=>{lh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Cb(e,r,o),e.min=(r,o)=>e.check(tr(r,o)),e.max=(r,o)=>e.check(Dr(r,o)),e.mime=(r,o)=>e.check(Qi(Array.isArray(r)?r:[r],o));});function Jw(e){return ab(O_,e)}var D_=x("ZodTransform",(e,n)=>{uh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ub(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Cr(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(D.issue(i,r.value,n));else {let a=i;a.fatal&&(a.continue=false),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(D.issue(a));}};let t=n.transform(r.value,r);return t instanceof Promise?t.then(i=>(r.value=i,r.fallback=true,r)):(r.value=t,r.fallback=true,r)};});function ed(e){return new D_({type:"transform",transform:e})}var td=x("ZodOptional",(e,n)=>{Ml.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Su(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function Ps(e){return new td({type:"optional",innerType:e})}var A_=x("ZodExactOptional",(e,n)=>{dh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Su(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function N_(e){return new A_({type:"optional",innerType:e})}var F_=x("ZodNullable",(e,n)=>{mh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Bb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function $s(e){return new F_({type:"nullable",innerType:e})}function Ww(e){return Ps($s(e))}var L_=x("ZodDefault",(e,n)=>{ph.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Vb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap;});function Z_(e,n){return new L_({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():D.shallowClone(n)}})}var B_=x("ZodPrefault",(e,n)=>{fh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>qb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function M_(e,n){return new B_({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():D.shallowClone(n)}})}var nd=x("ZodNonOptional",(e,n)=>{gh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Mb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function V_(e,n){return new nd({type:"nonoptional",innerType:e,...D.normalizeParams(n)})}var q_=x("ZodSuccess",(e,n)=>{hh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Eb(e,r,o),e.unwrap=()=>e._zod.def.innerType;});function Xw(e){return new q_({type:"success",innerType:e})}var H_=x("ZodCatch",(e,n)=>{bh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Hb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap;});function K_(e,n){return new H_({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}var G_=x("ZodNaN",(e,n)=>{_h.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Tb(e,r);});function Yw(e){return ib(G_,e)}var zs=x("ZodPipe",(e,n)=>{Vl.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Kb(e,r,o,t),e.in=n.in,e.out=n.out;});function zu(e,n){return new zs({type:"pipe",in:e,out:n})}var js=x("ZodCodec",(e,n)=>{zs.init(e,n),hs.init(e,n);});function Qw(e,n,r){return new js({type:"pipe",in:e,out:n,transform:r.decode,reverseTransform:r.encode})}function eT(e){let n=e._zod.def;return new js({type:"pipe",in:n.out,out:n.in,transform:n.reverseTransform,reverseTransform:n.transform})}var J_=x("ZodPreprocess",(e,n)=>{zs.init(e,n),vh.init(e,n);}),W_=x("ZodReadonly",(e,n)=>{yh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Gb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function X_(e){return new W_({type:"readonly",innerType:e})}var Y_=x("ZodTemplateLiteral",(e,n)=>{xh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Rb(e,r,o);});function tT(e,n){return new Y_({type:"template_literal",parts:e,...D.normalizeParams(n)})}var Q_=x("ZodLazy",(e,n)=>{Ph.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Wb(e,r,o,t),e.unwrap=()=>e._zod.def.getter();});function ev(e){return new Q_({type:"lazy",getter:e})}var tv=x("ZodPromise",(e,n)=>{Sh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Jb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function nT(e){return new tv({type:"promise",innerType:e})}var nv=x("ZodFunction",(e,n)=>{Ih.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>jb(e,r);});function rT(e){return new nv({type:"function",input:Array.isArray(e?.input)?C_(e?.input):e?.input??Rs(_i()),output:e?.output??_i()})}var Us=x("ZodCustom",(e,n)=>{$h.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>zb(e,r);});function iT(e){let n=new et({check:"custom"});return n._zod.check=e,n}function oT(e,n){return sb(Us,e??(()=>true),n)}function rv(e,n={}){return cb(Us,e,n)}function iv(e,n){return lb(e,n)}var aT=ub,sT=db;function cT(e,n={}){let r=new Us({type:"custom",check:"custom",fn:o=>o instanceof e,abort:true,...D.normalizeParams(n)});return r._zod.bag.Class=e,r._zod.check=o=>{o.value instanceof e||o.issues.push({code:"invalid_type",expected:e.name,input:o.value,inst:r,path:[...r._zod.def.path??[]]});},r}var lT=(...e)=>mb({Codec:js,Boolean:fo,String:uo},...e);function uT(e){let n=ev(()=>Yu([Is(e),f_(),g_(),v_(),Rs(n),E_(Is(),n)]));return n}function dT(e,n){return new J_({type:"pipe",in:ed(e),out:n})}var WO={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function XO(e){pt({customError:e});}function YO(){return pt().customError}var ov;ov||(ov={});var V={...xs,...ku,iso:so},QO=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function e4(e,n){let r=e.$schema;return r==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":r==="http://json-schema.org/draft-07/schema#"?"draft-7":r==="http://json-schema.org/draft-04/schema#"?"draft-4":n??"draft-2020-12"}function t4(e,n){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let r=e.slice(1).split("/").filter(Boolean);if(r.length===0)return n.rootSchema;let o=n.version==="draft-2020-12"?"$defs":"definitions";if(r[0]===o){let t=r[1];if(!t||!n.defs[t])throw new Error(`Reference not found: ${e}`);return n.defs[t]}throw new Error(`Reference not found: ${e}`)}function mT(e,n){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return V.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let t=e.$ref;if(n.refs.has(t))return n.refs.get(t);if(n.processing.has(t))return V.lazy(()=>{if(!n.refs.has(t))throw new Error(`Circular reference not resolved: ${t}`);return n.refs.get(t)});n.processing.add(t);let i=t4(t,n),a=Vt(i,n);return n.refs.set(t,a),n.processing.delete(t),a}if(e.enum!==void 0){let t=e.enum;if(n.version==="openapi-3.0"&&e.nullable===true&&t.length===1&&t[0]===null)return V.null();if(t.length===0)return V.never();if(t.length===1)return V.literal(t[0]);if(t.every(a=>typeof a=="string"))return V.enum(t);let i=t.map(a=>V.literal(a));return i.length<2?i[0]:V.union([i[0],i[1],...i.slice(2)])}if(e.const!==void 0)return V.literal(e.const);let r=e.type;if(Array.isArray(r)){let t=r.map(i=>{let a={...e,type:i};return mT(a,n)});return t.length===0?V.never():t.length===1?t[0]:V.union(t)}if(!r)return V.any();let o;switch(r){case "string":{let t=V.string();if(e.format){let i=e.format;i==="email"?t=t.check(V.email()):i==="uri"||i==="uri-reference"?t=t.check(V.url()):i==="uuid"||i==="guid"?t=t.check(V.uuid()):i==="date-time"?t=t.check(V.iso.datetime()):i==="date"?t=t.check(V.iso.date()):i==="time"?t=t.check(V.iso.time()):i==="duration"?t=t.check(V.iso.duration()):i==="ipv4"?t=t.check(V.ipv4()):i==="ipv6"?t=t.check(V.ipv6()):i==="mac"?t=t.check(V.mac()):i==="cidr"?t=t.check(V.cidrv4()):i==="cidr-v6"?t=t.check(V.cidrv6()):i==="base64"?t=t.check(V.base64()):i==="base64url"?t=t.check(V.base64url()):i==="e164"?t=t.check(V.e164()):i==="jwt"?t=t.check(V.jwt()):i==="emoji"?t=t.check(V.emoji()):i==="nanoid"?t=t.check(V.nanoid()):i==="cuid"?t=t.check(V.cuid()):i==="cuid2"?t=t.check(V.cuid2()):i==="ulid"?t=t.check(V.ulid()):i==="xid"?t=t.check(V.xid()):i==="ksuid"&&(t=t.check(V.ksuid()));}typeof e.minLength=="number"&&(t=t.min(e.minLength)),typeof e.maxLength=="number"&&(t=t.max(e.maxLength)),e.pattern&&(t=t.regex(new RegExp(e.pattern))),o=t;break}case "number":case "integer":{let t=r==="integer"?V.number().int():V.number();typeof e.minimum=="number"&&(t=t.min(e.minimum)),typeof e.maximum=="number"&&(t=t.max(e.maximum)),typeof e.exclusiveMinimum=="number"?t=t.gt(e.exclusiveMinimum):e.exclusiveMinimum===true&&typeof e.minimum=="number"&&(t=t.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?t=t.lt(e.exclusiveMaximum):e.exclusiveMaximum===true&&typeof e.maximum=="number"&&(t=t.lt(e.maximum)),typeof e.multipleOf=="number"&&(t=t.multipleOf(e.multipleOf)),o=t;break}case "boolean":{o=V.boolean();break}case "null":{o=V.null();break}case "object":{let t={},i=e.properties||{},a=new Set(e.required||[]);for(let[l,u]of Object.entries(i)){let m=Vt(u,n);t[l]=a.has(l)?m:m.optional();}if(e.propertyNames){let l=Vt(e.propertyNames,n),u=e.additionalProperties&&typeof e.additionalProperties=="object"?Vt(e.additionalProperties,n):V.any();if(Object.keys(t).length===0){o=V.record(l,u);break}let m=V.object(t).passthrough(),p=V.looseRecord(l,u);o=V.intersection(m,p);break}if(e.patternProperties){let l=e.patternProperties,u=Object.keys(l),m=[];for(let f of u){let g=Vt(l[f],n),h=V.string().regex(new RegExp(f));m.push(V.looseRecord(h,g));}let p=[];if(Object.keys(t).length>0&&p.push(V.object(t).passthrough()),p.push(...m),p.length===0)o=V.object({}).passthrough();else if(p.length===1)o=p[0];else {let f=V.intersection(p[0],p[1]);for(let g=2;g<p.length;g++)f=V.intersection(f,p[g]);o=f;}break}let c=V.object(t);e.additionalProperties===false?o=c.strict():typeof e.additionalProperties=="object"?o=c.catchall(Vt(e.additionalProperties,n)):o=c.passthrough();break}case "array":{let t=e.prefixItems,i=e.items;if(t&&Array.isArray(t)){let a=t.map(l=>Vt(l,n)),c=i&&typeof i=="object"&&!Array.isArray(i)?Vt(i,n):void 0;c?o=V.tuple(a).rest(c):o=V.tuple(a),typeof e.minItems=="number"&&(o=o.check(V.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(V.maxLength(e.maxItems)));}else if(Array.isArray(i)){let a=i.map(l=>Vt(l,n)),c=e.additionalItems&&typeof e.additionalItems=="object"?Vt(e.additionalItems,n):void 0;c?o=V.tuple(a).rest(c):o=V.tuple(a),typeof e.minItems=="number"&&(o=o.check(V.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(V.maxLength(e.maxItems)));}else if(i!==void 0){let a=Vt(i,n),c=V.array(a);typeof e.minItems=="number"&&(c=c.min(e.minItems)),typeof e.maxItems=="number"&&(c=c.max(e.maxItems)),o=c;}else o=V.array(V.any());break}default:throw new Error(`Unsupported type: ${r}`)}return o}function Vt(e,n){if(typeof e=="boolean")return e?V.any():V.never();let r=mT(e,n),o=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let c=e.anyOf.map(u=>Vt(u,n)),l=V.union(c);r=o?V.intersection(r,l):l;}if(e.oneOf&&Array.isArray(e.oneOf)){let c=e.oneOf.map(u=>Vt(u,n)),l=V.xor(c);r=o?V.intersection(r,l):l;}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)r=o?r:V.any();else {let c=o?r:Vt(e.allOf[0],n),l=o?0:1;for(let u=l;u<e.allOf.length;u++)c=V.intersection(c,Vt(e.allOf[u],n));r=c;}e.nullable===true&&n.version==="openapi-3.0"&&(r=V.nullable(r)),e.readOnly===true&&(r=V.readonly(r)),e.default!==void 0&&(r=r.default(e.default));let t={},i=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let c of i)c in e&&(t[c]=e[c]);let a=["contentEncoding","contentMediaType","contentSchema"];for(let c of a)c in e&&(t[c]=e[c]);for(let c of Object.keys(e))QO.has(c)||(t[c]=e[c]);return Object.keys(t).length>0&&n.registry.add(r,t),e.description&&(r=r.describe(e.description)),r}function pT(e,n){if(typeof e=="boolean")return e?V.any():V.never();let r;try{r=JSON.parse(JSON.stringify(e));}catch{throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let o=e4(r,n?.defaultTarget),t=r.$defs||r.definitions||{},i={version:o,defs:t,refs:new Map,processing:new Set,rootSchema:r,registry:n?.registry??At};return Vt(r,i)}var av={};$t(av,{bigint:()=>o4,boolean:()=>i4,date:()=>a4,number:()=>r4,string:()=>n4});function n4(e){return Rh(uo,e)}function r4(e){return Ah(po,e)}function i4(e){return Vh(fo,e)}function o4(e){return Hh(go,e)}function a4(e){return rb(Ts,e)}pt(ql());s.object({target_plan_ids:s.array(s.string()).default([]),target_billing_periods:s.array(s.string()).default([]),category:s.string().optional()});function sv(e,n){return e.target_plan_ids.length>0&&n.currentPlanId&&!e.target_plan_ids.includes(n.currentPlanId)?{eligible:false,reason:"plan_mismatch"}:e.target_billing_periods.length>0&&n.billingPeriod&&!e.target_billing_periods.includes(n.billingPeriod)?{eligible:false,reason:"billing_period_mismatch"}:(e.category==="upsell"||e.category==="trial_conversion")&&n.planHandle==="enterprise"?{eligible:false,reason:"enterprise_upsell_suppressed"}:{eligible:true}}var rd=new Int32Array(2);new Float32Array(rd.buffer);new Float64Array(rd.buffer);new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var id;(function(e){e[e.UTF8_BYTES=1]="UTF8_BYTES",e[e.UTF16_STRING=2]="UTF16_STRING";})(id||(id={}));var l4=4294967295;var u4=l4;function lv(e){return !e||e.trialActive!==true||e.trialState==="expired"?null:typeof e.trialProgressPercent=="number"&&e.trialProgressPercent>=0?Math.min(100,e.trialProgressPercent):typeof e.trialDaysTotal=="number"&&typeof e.trialDaysRemaining=="number"&&e.trialDaysTotal>0?Math.max(0,e.trialDaysTotal-e.trialDaysRemaining)/e.trialDaysTotal*100:typeof e.trialUsageLimit=="number"&&typeof e.trialUsageConsumed=="number"&&e.trialUsageLimit>0?Math.min(100,Math.max(0,e.trialUsageConsumed/e.trialUsageLimit*100)):null}function cv(e,n){if(!e)return true;if(!n)return false;switch(e.kind){case "trial_started":{if(n.trialActive!==true)return false;let r=lv(n);return r===null?false:r<=5}case "trial_progress":return n.trialActive===true&&n.trialState!=="expired"&&n.trialState!=="converted";case "trial_ending":return n.trialActive!==true||n.trialLimitType==="usage"||typeof n.trialDaysRemaining!="number"?false:n.trialDaysRemaining<=e.daysBeforeEnd;case "trial_ended":return n.trialState==="expired";case "trial_converted":return n.trialState==="converted";default:return false}}function xT(e,n){let r=e.filter(a=>a.trialTrigger?.kind==="trial_progress");if(r.length===0)return null;let o=r.filter(a=>a.trialTrigger?.kind!=="trial_progress"?false:n>=a.trialTrigger.progressPercent);if(o.length===0)return null;let t=o[0];for(let a of o.slice(1)){let c=a.trialTrigger.kind==="trial_progress"?a.trialTrigger.progressPercent:-1,l=t.trialTrigger.kind==="trial_progress"?t.trialTrigger.progressPercent:-1;(c>l||c===l&&a.entryOrder<t.entryOrder)&&(t=a);}let i=o.filter(a=>a!==t).map(a=>a.ruleId).filter(a=>typeof a=="string"&&a.length>0);return {winner:t,supersededIds:i}}function IT(e){switch(e.kind){case "trial_started":return {kind:"trial_started"};case "trial_progress":return typeof e.progressPercent=="number"?{kind:"trial_progress",progressPercent:e.progressPercent}:void 0;case "trial_ending":return typeof e.daysBeforeEnd=="number"?{kind:"trial_ending",daysBeforeEnd:e.daysBeforeEnd}:void 0;case "trial_ended":return {kind:"trial_ended"};case "trial_converted":return {kind:"trial_converted"};default:return}}function ST(e){if(!(!e||typeof e.type!="string"))switch(e.type){case "trial_started":return {kind:"trial_started"};case "trial_progress":return typeof e.progress_percent=="number"?{kind:"trial_progress",progressPercent:e.progress_percent}:void 0;case "trial_ending":return typeof e.days_before_end=="number"?{kind:"trial_ending",daysBeforeEnd:e.days_before_end}:void 0;case "trial_ended":return {kind:"trial_ended"};case "trial_converted":return {kind:"trial_converted"};default:return}}function Os(e){let n=Array.isArray(e.payloads)?e.payloads:[],r=new Map((Array.isArray(e.messageBlocks)?e.messageBlocks:[]).map(a=>[a.block_id,a])),o=Array.isArray(e.uiPaths)?e.uiPaths:[],t=Array.isArray(e.promotions)?e.promotions:[],i=Array.isArray(e.tokens)?e.tokens:[];return {listPayloads:a=>n.filter(c=>c.surface_template_id===a),getMessageBlockById:a=>r.get(a),getUiPathById:a=>o.find(c=>c.id===a||c.name===a),getPromotionById:a=>t.find(c=>c.id===a||c.name===a),listPersonalizationTokens:()=>i}}function Ds(e,n){let r={...e};for(let o of n){let t=e[o.token];if(t==null||!o.value_map)continue;let i=String(t),a=o.value_map[i];a!==void 0&&(r[o.token]=a);}return r}function uv(e,n){let r={current_usage:"usage_current",current_limit:"usage_limit",remaining_usage:"usage_remaining"};return e.replace(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g,(o,t)=>{let i=n[t];if(i===void 0){let a=r[t];a&&(i=n[a]);}return i===void 0?o:String(i)})}function dv(e,n){let r={};for(let[o,t]of Object.entries(e))typeof t=="string"?r[o]=uv(t,n):r[o]=t;return r}function PT(e,n){return dv(e,n)}function mv(e,n,r,o,t,i,a){let c=r.filter(f=>f.surface_template_id===e&&f.status==="active");if(c.length===0)return null;let l=new Map(o.map(f=>[f.block_id,f])),u=new Set(n.segmentIds),m=Ds(i,t),p=a?.segmentDimensions;for(let f of c){let g=f.default_message_block_id,h,k=f.ui_path_id,S=f.promotion_id;if(f.segment_content_map){if(p&&Object.keys(p).length>0){let R=new Map;for(let w of f.segment_content_map){let te=w.dimension;if(!te)continue;let _e=R.get(te)??[];_e.push(w),R.set(te,_e);}if(R.size>0){let w=true,te;for(let[,_e]of R){let Ee=_e.find(W=>u.has(W.segment_id));if(!Ee){w=false;break}te||(te=Ee);}if(w&&te)g=te.message_block_id,h=te.segment_id,te.ui_path_id&&(k=te.ui_path_id),te.promotion_id&&(S=te.promotion_id);else if(!w)continue}else for(let w of f.segment_content_map)if(u.has(w.segment_id)){g=w.message_block_id,h=w.segment_id,w.ui_path_id&&(k=w.ui_path_id),w.promotion_id&&(S=w.promotion_id);break}}else for(let R of f.segment_content_map)if(u.has(R.segment_id)){g=R.message_block_id,h=R.segment_id,R.ui_path_id&&(k=R.ui_path_id),R.promotion_id&&(S=R.promotion_id);break}}let T=l.get(g);if(!T||T.status!=="active")continue;let C={...T.default_content};if(T.segment_overrides){let R=h?T.segment_overrides.find(w=>w.segment_value_id===h):T.segment_overrides.find(w=>u.has(w.segment_value_id));R&&(C={...C,...R.content},h=R.segment_value_id);}let N=PT(C,m);return {payload:f,messageBlock:T,resolvedContent:N,matchedSegmentId:h,uiPathId:k,promotionId:S}}return null}async function ad(e,n,r,o,t){let a=(await Promise.resolve(r.listPayloads(e))).filter(m=>m.status==="active");if(a.length===0)return null;let c=new Set(n.segmentIds),l=t??(r.listPersonalizationTokens?await Promise.resolve(r.listPersonalizationTokens()):[]),u=Ds(o,l);for(let m of a){let p=m.default_message_block_id,f,g=m.ui_path_id,h=m.promotion_id;if(m.segment_content_map){for(let R of m.segment_content_map)if(c.has(R.segment_id)){p=R.message_block_id,f=R.segment_id,R.ui_path_id&&(g=R.ui_path_id),R.promotion_id&&(h=R.promotion_id);break}}let k=await Promise.resolve(r.getMessageBlockById(p));if(!k||k.status!=="active")continue;let S={...k.default_content};if(k.segment_overrides){let R=f?k.segment_overrides.find(w=>w.segment_value_id===f):k.segment_overrides.find(w=>c.has(w.segment_value_id));R&&(S={...S,...R.content},f=R.segment_value_id);}let T=PT(S,u),C;g&&r.getUiPathById&&(C=await Promise.resolve(r.getUiPathById(g)));let N;return h&&r.getPromotionById&&(N=await Promise.resolve(r.getPromotionById(h))),{payload:m,messageBlock:k,resolvedContent:T,matchedSegmentId:f,uiPathId:g,promotionId:h,uiPath:C??void 0,promotion:N??void 0}}return null}var $T={modal_overlay:"modal",banner_placement:"banner",in_page_card:"in_page",inline_gate_message:"in_page",usage_counter:"in_page",button:"button",email:"email",full_page:"full_page"};function d4(e,n){return e.replace(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g,(r,o)=>{let t=n[o];return t==null?`{{${o}}}`:String(t)})}function m4(e){let n={};for(let[r,o]of Object.entries(e)){if(typeof o=="string"){n[r]=d4(o,e);continue}n[r]=o;}return n}function kT(e){if(!e?.path)return {type:"dismiss"};let n=e.path,r=e.config??{};return n==="open_checkout"?{type:"open_checkout_modal",plan_handle:typeof r.purchase=="string"?r.purchase:void 0}:n==="view_plans"?{type:"navigate_to_plans"}:n==="snooze_remind_later"?{type:"dismiss"}:n==="open_rt_placement"?{type:"open_rt_placement",placement_handle:typeof r.placement_handle=="string"?r.placement_handle:void 0}:{type:n,...r}}function p4(e){if(!e||typeof e!="object"||!("entitlement_handle"in e))return;let n=e.entitlement_handle;return typeof n=="string"?n:void 0}function f4(e){if(!e||typeof e!="object"||!("slot_id"in e))return;let n=e.slot_id;return typeof n=="string"?n:void 0}function g4(e,n){let r={...$T};for(let a of e.surface_templates??[])r[a.id]=a.surface_type;let o=new Map;for(let a of e.plans??[])o.set(a.unique_handle,a.unique_handle);let t=new Map,i=new Map;for(let a of n.placements){let c=a.payloads[0];if(!c)continue;let l=c.surfaces[0];if(!l)continue;let u=l.template_id,m=r[u]??"custom",p={...l.fields};l.ctas?.[0]&&(p.cta_label=l.ctas[0].label),l.ctas?.[1]&&(p.secondary_cta_label=l.ctas[1].label);let f=kT(l.ctas?.[0]),g=Array.isArray(c.target?.plan_ids)?c.target.plan_ids:[],h=p4(a.trigger),k=f4(a.trigger),S=ST(a.trigger),T={output_id:c.id,category:a.category,surface:{template:u,type:m,slot_id:a.id},content:{...p,__target_plan_ids:g,...h?{__trigger_entitlement_handle:h}:{},...S?{__trigger_kind:S.kind}:{}},cta_path:f,rule_id:a.id,decision_id:c.id,config_version:e.version,present_upsell:true},C=t.get(u)??[];C.push({output:T,entryOrder:a.order??0,entryCategory:a.category,triggerEntitlementHandle:h,triggerSlotId:k,trialTrigger:S}),t.set(u,C);let N=a.id.replace(/^pl_/,"");i.set(N,T),i.set(a.id,T);}for(let a of t.values())a.sort((c,l)=>c.entryOrder-l.entryOrder);return {outputsByTemplate:t,outputsByName:i,planHandleToId:o}}function h4(e,n){let r=n.trigger;if(r.kind==="entitlement_gate"||r.kind==="usage_threshold"||r.kind==="credit_threshold"||r.kind==="seat_threshold")return e.getEntitlement(r.entitlementIdx)?.uniqueHandle}function b4(e,n){return n.trigger.kind!=="surface_render"?void 0:e.getSlot(n.trigger.slotIdx)?.sourceId}function _4(e){let n={...$T};for(let a=0;a<e.surfaceTemplatesLength();a++){let c=e.getSurfaceTemplate(a);c&&(n[c.sourceId]=c.surfaceType);}let r=new Map;for(let a=0;a<e.plansLength();a++){let c=e.getPlan(a);c&&r.set(c.uniqueHandle,c.sourceId);}let o=new Map,t=new Map,i=e.header().configVersion;for(let a=0;a<e.placementsLength();a++){let c=e.getPlacement(a);if(!c)continue;let l=c.payloads[0];if(!l)continue;let u=l.surfaces[0];if(!u)continue;let m=u.templateSourceId,p=n[m]??"custom",f={...u.fields};u.ctas[0]&&(f.cta_label=u.ctas[0].label),u.ctas[1]&&(f.secondary_cta_label=u.ctas[1].label);let g=kT(u.ctas[0]),h=[];for(let w of l.target.planIdxs){let te=e.getPlan(w);te&&h.push(te.sourceId);}let k=h4(e,c),S=b4(e,c),T=IT(c.trigger),C={output_id:l.sourceId,category:c.category,surface:{template:m,type:p,slot_id:c.sourceId},content:{...f,__target_plan_ids:h,...k?{__trigger_entitlement_handle:k}:{},...T?{__trigger_kind:T.kind}:{}},cta_path:g,rule_id:c.sourceId,decision_id:l.sourceId,config_version:i,present_upsell:true},N=o.get(m)??[];N.push({output:C,entryOrder:c.order,entryCategory:c.category,triggerEntitlementHandle:k,triggerSlotId:S,trialTrigger:T}),o.set(m,N);let R=c.sourceId.replace(/^pl_/,"");t.set(R,C),t.set(c.sourceId,C);}for(let a of o.values())a.sort((c,l)=>c.entryOrder-l.entryOrder);return {outputsByTemplate:o,outputsByName:t,planHandleToId:r}}function v4(e,n){let r=e.message_blocks,o=e.placement_payloads;if(!r?.length||!o?.length)return;let t=new Map;for(let a of n.placements){let c=a.payloads[0]?.surfaces?.[0]?.template_id;c&&t.set(a.id,c);}let i=[];for(let a of o){let c=a.content_link?.message_block_id;if(!c)continue;let l=t.get(a.placement_id);l&&i.push({payload_id:a.payload_id,tenant_id:"",name:a.payload_id,surface_template_id:l,default_message_block_id:c,ui_path_id:a.content_link?.ui_path_id,promotion_id:a.content_link?.promotion_id,status:"active"});}if(i.length!==0)return Os({payloads:i,messageBlocks:r,uiPaths:e.content_ui_paths,promotions:e.content_promotions,tokens:e.personalization_tokens})}function y4(e){let n=e.messageBlocksLength(),r=e.placementPayloadsLength();if(n===0||r===0)return;let o=new Map;for(let c=0;c<e.placementsLength();c++){let l=e.getPlacement(c);if(!l)continue;let u=l.payloads[0]?.surfaces?.[0]?.templateSourceId;u&&o.set(l.sourceId,u);}let t=[],i=new Map;for(let c=0;c<n;c++){let l=e.getMessageBlock(c);l&&(t.push(l),i.set(c,l.block_id));}let a=[];for(let c=0;c<r;c++){let l=e.getPlacementPayload(c);if(!l||l.messageBlockIdx===u4)continue;let u=i.get(l.messageBlockIdx);if(!u)continue;let m=o.get(l.placementSourceId);m&&a.push({payload_id:l.sourceId,tenant_id:"",name:l.sourceId,surface_template_id:m,default_message_block_id:u,status:"active"});}if(a.length!==0)return Os({payloads:a,messageBlocks:t})}function wT(e){let{source:n,impressionHistory:r}=e,{outputsByTemplate:o,outputsByName:t,planHandleToId:i}=n.format==="flatbuffer"?_4(n.handle):g4(n.exportedConfig,n.placements),a=n.format==="json"?v4(n.exportedConfig,n.placements):y4(n.handle);function c(l,u,m,p){let f=Array.isArray(l.content.__target_plan_ids)?l.content.__target_plan_ids.filter(h=>typeof h=="string"):[],g=Array.isArray(l.content.__target_billing_periods)?l.content.__target_billing_periods.filter(h=>typeof h=="string"):[];return sv({target_plan_ids:f,target_billing_periods:g,category:l.category},{currentPlanId:u,planHandle:m,billingPeriod:p}).eligible}return async(l,u,m)=>{let p=m?.__providers,f=p?.plan?.currentPlanHandle,g=p?.plan?.billingPeriod,h=f?i.get(f):void 0,k=ce=>typeof ce=="string"?ce:"",S=Array.isArray(u?.metadata?.surface_template_ids)?u.metadata.surface_template_ids:void 0,T,C=[];if(S&&S.length>0){let ce=[];for(let ae of S){let se=o.get(ae);se&&ce.push(...se);}if(ce.length===0)return yT(l,"no_candidates_for_template","No placements configured for this surface template");ce.sort((ae,se)=>ae.entryOrder-se.entryOrder);let Ne=u?.metadata?.entitlement_handle,ze=u?.metadata?.surface_slot_category,He=ze?{gated:["gated"],fixed:["fixed"],triggered:["usage_credit_seat","trials","other_conversion","retention"]}[ze]:void 0,Ue=ce;if(Ne){let ae=ce.filter(se=>se.triggerEntitlementHandle===Ne);ae.length>0&&(Ue=ae);}let Dt=u?.metadata?.surface_slot_id;if(Dt){let ae=Ue.filter(se=>se.triggerSlotId===Dt);ae.length>0&&(Ue=ae);}if(He&&ze!=="fixed"&&Ue.length>1){let ae=Ue.filter(se=>He.includes(se.entryCategory));ae.length>0&&(Ue=ae);}r&&(Ue=Ue.filter(ae=>!r.isHiddenSync(ae.output.rule_id??""))),Ue=Ue.filter(ae=>cv(ae.trialTrigger,p?.plan));let Ve,Rn=[],bt=lv(p?.plan);if(bt!==null&&Ue.length>1){let ae=Ue.map(Mt=>({ruleId:Mt.output.rule_id??void 0,entryOrder:Mt.entryOrder,trialTrigger:Mt.trialTrigger,output:Mt.output})),se=xT(ae,bt);if(se){Ve=se.winner,Rn=se.supersededIds;let Mt=se.winner.ruleId;Ue=Ue.filter(cn=>cn.trialTrigger?.kind!=="trial_progress"||(cn.output.rule_id??void 0)===Mt);}}let _t;for(let ae of Ue)if(c(ae.output,h,f,g)){T=ae.output,_t=ae;break}_t&&Ve&&Ve.ruleId===(_t.output.rule_id??void 0)&&Rn.length>0&&(T={...T,content:{...T.content,__superseded_placement_ids:Rn}}),T||(C=["no_eligible_candidate"]);}else {let ce=u?.name,Ne=(ce?t.get(ce):void 0)??t.get(l.placementId),ze;if(Ne)for(let Yn of o.values()){let He=Yn.find(Ue=>Ue.output===Ne);if(He){ze=He;break}}Ne&&r?.isHiddenSync(Ne.rule_id??"")?C=["placement_retired"]:Ne&&!cv(ze?.trialTrigger,p?.plan)?C=["trial_trigger_unmet"]:Ne&&c(Ne,h,f,g)?T=Ne:Ne?C=["plan_target_mismatch"]:C=["placement_not_found"];}if(!T){let ce=C[0]??"placement_not_found";return yT(l,ce,"Placement not configured")}let N=T.content,R=T.surface.template;if(a&&R){let ce={userId:typeof l.userId=="string"?l.userId:"",segmentIds:p?.segments?.segmentIds??[]},Ne=await ad(R,ce,a,{});Ne&&(N={...T.content,...Ne.resolvedContent});}let w={...N},te=typeof w.entitlement=="string"?w.entitlement:typeof w.__trigger_entitlement_handle=="string"?w.__trigger_entitlement_handle:void 0,_e=te?p?.entitlements?.usage?.[te]:void 0;if(_e){w.usage_remaining=Number.isFinite(_e.remaining)?_e.remaining:0,w.usage_limit=Number.isFinite(_e.limit)?_e.limit:0,w.usage_current=Number.isFinite(_e.used)?_e.used:0,w.usage_percent=_e.limit>0?Math.min(100,Math.round(_e.used/_e.limit*100)):0;let ce=_e.reset_date;typeof ce=="string"&&ce.length>0&&(w.reset_date=ce);}let Ee=m4(w),W={...T,content:Ee},K=!((T.category==="upsell"||T.category==="trial_conversion")&&f==="enterprise");return {placementId:l.placementId,requestId:`local_${Date.now()}`,visible:K,decisionSource:"fallback",reasonCodes:K?[]:["plan_tier_suppressed"],content:{header:k(W.content.header),body:k(W.content.body),cta_label:k(W.content.cta_label),title:k(W.content.header),cta:k(W.content.cta_label)},output:W}}}function yT(e,n,r){return {placementId:e.placementId,requestId:`local_${Date.now()}`,visible:false,decisionSource:"fallback",reasonCodes:[n],content:{header:r,body:"",cta_label:"",title:r,cta:""}}}function ho(e){return wT({source:{format:"json",exportedConfig:e.exportedConfig,placements:e.placements},impressionHistory:e.impressionHistory})}var TT=s.enum(["session","day","week","month"]),RT=s.object({kind:s.enum(["template","slot"]),id:s.string(),label:s.string().optional()});s.object({id:s.string(),group:s.array(RT),cap:s.object({count:s.number().int().min(1),period:TT})});var ET=s.enum(["trial_started","trial_ending","trial_ended","trial_converted"]);s.object({stages:s.array(ET).default([]),days_before_end:s.number().int().min(0).max(365).nullable().default(null),trial_type:s.enum(["free","reverse"]).nullable().default(null)});s.object({threshold_percent:s.number().int().min(0).max(100),trial_type:s.enum(["free","reverse"]).nullable().default(null)});var P4=/^[a-z0-9._]{1,100}$/,bo={Persisted:"persisted",Transient:"transient"},_o={Internal:"internal",External:"external"},vo={Financial:{"x-revturbine-data-classification":"financial"},Unrestricted:{"x-revturbine-data-classification":"unrestricted"}},$4="readOnly";function zn(e){let n={};for(let[r,o]of Object.entries(e.shape)){if(typeof o!="object"||o===null)continue;o.meta()?.[$4]===true||(n[r]=o);}return s.object(n)}function mn(e){let n=zn(e),r=n.shape.handle;return r&&typeof r.regex=="function"?n.extend({handle:r.regex(P4)}):n}var {Unrestricted:En}=vo,{Transient:Sn}=bo,{Internal:As,External:Lr}=_o;s.object({page:s.coerce.number().int().min(1).default(1).meta(En),per_page:s.coerce.number().int().min(1).max(100).default(25).meta(En)}).meta({id:"PaginationParams","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr});var It=s.object({created_at:s.string().datetime().meta({...En,readOnly:true}),updated_at:s.string().datetime().meta({...En,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),ft=s.object({id:s.string().min(1).meta({...En,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),vt=s.object({tenant_id:s.string().min(1,"tenant_id is required").meta({...En,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As}),Nt=s.object({environment_id:s.string().min(1).default("production").meta({...En,readOnly:true}),canonical_id:s.string().min(1).nullable().default(null).meta({...En,readOnly:true}),change_set_id:s.string().nullable().default(null).meta(En),is_current:s.boolean().default(true).meta({...En,readOnly:true}),sequence:s.number().int().min(1).default(1).meta({...En,readOnly:true}),base_sequence:s.number().int().min(0).nullable().default(null).meta(En)}).meta({id:"null","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As});s.enum(["monthly","annual","quarterly","one_time","usage_based"]).meta({id:"BillingCadence","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr});var k4=s.enum(["banner","modal","tooltip","sidebar","inline","toast","fullscreen","email","sms","push","in_page","button","full_page","agent","cli","custom"]).meta({id:"SurfaceType","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),pv=s.enum(["feature","capability_tier","usage_limit","price_per_unit","rate_limit","credits","seat"]).meta({id:"EntitlementType","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),zT=s.enum(["usd","eur","gbp"]).default("usd").meta({id:"Currency","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr});s.union([s.boolean(),s.number(),s.string()]).meta({id:"FeatureFlagValue","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As});var Zr=s.string().min(1).max(200),Br=s.string().min(1).max(100),fv=s.string().max(500).optional(),Bn=s.record(s.string(),s.unknown()).default({}),gv=s.string().datetime().nullable().default(null);s.enum(["info","warning","critical"]).meta({id:"Severity","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As});var jT=s.enum(["button","plans_page_ctas","plans_page_full","inline_gate_message","tooltip","in_page_card","usage_counter","credit_counter","trial_counter","banner","modal_optional","modal_blocking","toast","email","sms","push","cli","agent_connector","custom_in_app"]).meta({id:"StudioSurfaceType","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As}),UT=s.enum(["open_checkout","view_plans","book_demo","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription","switch_billing_period","extend_trial","open_rt_placement","dismiss","snooze","custom"]).meta({id:"CtaActionType","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),w4=new Set(k4.options);function Ns(e,n){if(!H(e))return null;let r=typeof e.output_id=="string"?e.output_id:"";if(!r)return null;let o=H(e.surface)?e.surface:{},t=w4.has(o.type)?o.type:"custom",i=H(e.cta_path)?e.cta_path:H(e.ui_path)?e.ui_path:{};return {output_id:r,category:typeof e.category=="string"?e.category:"unknown",surface:{...typeof o.template=="string"?{template:o.template}:{},type:t,...typeof o.slot_id=="string"?{slot_id:o.slot_id}:{}},content:H(e.content)?e.content:{},...H(e.promotion)?{promotion:e.promotion}:{},cta_path:i,ui_path:i,rule_id:typeof e.rule_id=="string"?e.rule_id:"",decision_id:typeof e.decision_id=="string"?e.decision_id:n(),config_version:typeof e.config_version=="string"?e.config_version:"unknown",present_upsell:typeof e.present_upsell=="boolean"?e.present_upsell:false}}var T4="__no_dim__";function R4(e,n,r){if(e.length===0)return true;let o=n instanceof Set?n:new Set(n),t=new Map;for(let i of e){let a=r(i)??T4,c=t.get(a)??[];c.push(i),t.set(a,c);}for(let i of t.values())if(!i.some(a=>o.has(a)))return false;return true}var C4=999999;function E4(e){return e==null||e==="unlimited"||e===C4}function Fs(e){return E4(e)?Number.POSITIVE_INFINITY:typeof e=="number"&&Number.isFinite(e)?e:void 0}function z4(e){let n=e.fields??{};switch(e.kind){case "usage_limit":return Fs(n.limit_value)??0;case "credits":return Fs(n.allowance_value!==void 0?n.allowance_value:n.allowance)??0;case "seat":return Fs(n.included_count)??0;case "feature":return n.enabled===true?1:0;default:return 0}}function j4(e,n){let r,o=Number.NEGATIVE_INFINITY;for(let t of e){let i=n(t);(r===void 0||i>o)&&(r=t,o=i);}return r}function U4(e){let n=e.segment_ids;if(Array.isArray(n))return n.filter(o=>typeof o=="string");let r=e.segment_id??e.segmentId;return typeof r=="string"&&r!=="all"?[r]:[]}function O4(e,n,r){let o=new Map;for(let t of r)typeof t.handle=="string"&&o.set(t.handle,typeof t.dimension_id=="string"?t.dimension_id:void 0);return R4(U4(e),n,t=>o.get(t))}function OT(e,n,r){if(!e)return {status:"allowed",allowed:true};switch(n){case "hard_block":return {status:"denied",allowed:false,reason:r};case "soft_block":return {status:"denied",allowed:false,reason:`${r}_soft_block`};case "degrade":return {status:"limited",allowed:true,reason:`${r}_degraded`};case "allow_overage":return {status:"allowed",allowed:true,reason:`${r}_overage`};default:return {status:"limited",allowed:false,reason:r}}}function Ls(e){let{handle:n,context:r,exportedConfig:o,currentPlanHandle:t,segmentIds:i,usageBalances:a,userUsage:c,trialGrantedEntitlementHandles:l,effectivePlanHandle:u}=e,p=(o.entitlements??[]).find(K=>typeof K?.unique_handle=="string"&&K.unique_handle===n),f=typeof p?.unique_handle=="string"?p.unique_handle:n,g=typeof p?.unique_handle=="string"?p.unique_handle:void 0,h=!!(l&&l.size>0&&(l.has(n)||l.has(f)||g!==void 0&&l.has(g)));if(h&&(u===void 0||u===""))return {status:"allowed",allowed:true,reason:"granted_by_reverse_trial"};let S=String((h&&u?u:t)||"").toLowerCase(),C=(o.plans??[]).find(K=>typeof K.unique_handle=="string"&&K.unique_handle.toLowerCase()===S),N=typeof C?.unique_handle=="string"?C.unique_handle:S||void 0,w=(o.entitlement_rules??[]).filter(K=>{if((typeof K.entitlement_id=="string"?K.entitlement_id:typeof K.entitlementId=="string"?K.entitlementId:"")!==f)return false;let Ne=Array.isArray(K.targets)?K.targets.filter(ze=>H(ze)&&ze.kind==="plan"&&typeof ze.id=="string").map(ze=>ze.id):Array.isArray(K.plan_ids)?K.plan_ids.filter(ze=>typeof ze=="string"):Array.isArray(K.planIds)?K.planIds.filter(ze=>typeof ze=="string"):[];return !(N!==void 0&&!Ne.includes(N)||!O4(K,i,o.segments??[]))});if(w.length===0)return {status:"denied",allowed:false,reason:"no_matching_entitlement_rule"};let te=K=>H(K.type_fields)?K.type_fields:H(K.typeFields)?K.typeFields:{},_e=j4(w,K=>{let ce=te(K);return z4({kind:typeof ce.kind=="string"?ce.kind:"",fields:ce})})??w[0],Ee=te(_e),W=typeof Ee.kind=="string"?Ee.kind:void 0,Se=K=>{let ce=c?.[K];if(H(ce)&&typeof ce.amount=="number")return ce.amount},je=r?.used??(Number.isFinite(a[n])?a[n]:void 0)??(Number.isFinite(a[f])?a[f]:void 0)??Se(n)??Se(f)??0;if(W==="feature"){let K=Ee.enabled!==false;return {status:K?"allowed":"denied",allowed:K,reason:K?void 0:"feature_not_enabled_for_plan"}}if(W==="usage_limit"){let K=Fs(Ee.limit_value);return K!==void 0&&Number.isFinite(K)&&K>=0?OT(je>=K,Ee.enforcement,"usage_limit_reached"):{status:"allowed",allowed:true}}if(W==="credits"){let K=Ee.allowance===void 0?void 0:Fs(Ee.allowance),ce=Number(Ee.initial_grant),Ne=K!==void 0&&K>=0?K:Number.isFinite(ce)&&ce>=0?ce:void 0;return Ne!==void 0&&Number.isFinite(Ne)?OT(je>=Ne,Ee.enforcement,"credit_balance_exhausted"):{status:"allowed",allowed:true}}if(W==="capability_tier"){let K=typeof Ee.tier_name=="string"?Ee.tier_name:void 0;return {status:"allowed",allowed:true,...K?{current_tier:K}:{}}}return {status:"allowed",allowed:true}}function hv(e,n){if(!H(e))return {status:"allowed",allowed:true};let r=typeof e.status=="string"?e.status:void 0,o=r==="limited"||r==="denied"||r==="allowed"?r:typeof e.allowed=="boolean"&&e.allowed?"allowed":"denied",t=o!=="denied",i=typeof e.reason=="string"?e.reason:void 0,a=typeof e.current_tier=="string"?e.current_tier:void 0,c=H(e.placement)?Ns(e.placement,n):void 0;return {status:o,allowed:t,...i!==void 0?{reason:i}:{},...a!==void 0?{current_tier:a}:{},...c!=null?{placement:c}:{}}}function bv(e,n,r,o,t=80){let i=n.get(e);if(i)return i;if(r.get(e)?.status==="limited"&&Number.isFinite(o[e])){let c=Number(o[e]);if(c>0)return {limit:c,warningPercent:t}}return null}var kt=e=>s.object({items:s.array(e)}),yi=s.object({error:s.string(),code:s.string(),request_id:s.string()}),B=e=>e,wt=s.object({page:s.number().int().min(1).default(1).optional(),per_page:s.number().int().min(1).max(100).default(25).optional(),sort:s.string().optional(),order:s.enum(["asc","desc"]).default("asc").optional(),include_deleted:s.boolean().default(false).optional()}),{Unrestricted:X}=vo,{Persisted:ld,Transient:pn}=bo,{Internal:Sv,External:Xt}=_o,NT=s.enum(["per_month","per_year","per_billing_period","lifetime","concurrent","per_instance","per_second","per_minute","per_hour","per_6_hours","per_day","per_week"]).meta({id:"UsagePeriodScope","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),Pv=s.enum(["account_pool","per_instance","per_user","per_user_pooled"]).meta({id:"UsageAllocation","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),D4=s.enum(["allowed","limited","denied"]).meta({id:"EntitlementGrantStatus","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),A4=s.enum(["rule","user_context","override"]).meta({id:"EntitlementGrantSource","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),FT=s.enum(["hard_block","soft_block","degrade","allow_overage"]).meta({id:"EnforcementMode","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),_v=s.object({entitlement_id:s.string().min(1).meta(X),entitlement_handle:s.string().min(1).meta(X),status:D4.meta(X),limit:s.number().optional().meta(X),used:s.number().optional().meta(X),allocation:Pv.optional().meta(X),enforcement:FT.optional().meta(X),source:A4.optional().meta(X),plan_id:s.string().optional().meta(X),segment_id:s.string().optional().meta(X),seat_type_id:s.string().optional().meta(X),rule_id:s.string().optional().meta(X)}).meta({id:"EntitlementGrant","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt,"x-revturbine-data-classification":"operational"});s.object({account:s.record(s.string(),_v).optional().meta(X),instance:s.record(s.string(),_v).optional().meta(X),user:s.record(s.string(),_v).optional().meta(X)}).meta({id:"EntitlementGrantSet","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt,"x-revturbine-data-classification":"operational"});var N4=s.enum(["public","non_public"]).meta({id:"RuleVisibility","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),F4=s.enum(["plan","plan_variation","addon","addon_variation"]).meta({id:"EntitlementRuleTargetKind","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),LT=s.object({kind:F4.meta(X),id:s.string().min(1).meta(X)}).meta({id:"EntitlementRuleTarget","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),L4=s.enum(["month","day","week","quarter","year","billing_period","on_purchase","hour","six_hours"]).meta({id:"EntitlementRulePeriodUnit","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),$o=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(X),handle:Br.meta(X),customer_facing_description:s.string().max(500).optional().meta(X),type:pv.meta(X),unit:s.string().max(100).optional().meta(X),period_scope:NT.optional().meta(X),allocation:Pv.optional().meta(X),tier_definitions:s.array(s.object({name:s.string(),handle:s.string(),description:s.string().optional()})).optional().meta(X),sort_order:s.number().int().default(0).meta(X),metadata:Bn.meta(X)}).meta({id:"Entitlement","x-revturbine-schema-persistence":ld,"x-revturbine-schema-exposure":Xt}),ko=vt.merge(Nt).extend({id:s.number().int().meta({...X,readOnly:true}),plan_id:s.string().min(1).meta(X),entitlement_id:s.string().min(1).meta(X),value:s.union([s.boolean(),s.number(),s.string()]).meta(X),override_label:s.string().max(200).optional().meta(X)}).meta({id:"PlanEntitlement","x-revturbine-schema-persistence":ld,"x-revturbine-schema-exposure":Sv}),Vs=ft.merge(It).merge(vt).merge(Nt).extend({entitlement_id:s.string().min(1).meta(X),targets:s.array(LT).min(1).meta(X),segment_ids:s.array(s.string()).default([]).meta(X),visibility:N4.default("public").meta(X),period_scope:NT.optional().meta(X),instance:s.string().max(100).optional().meta(X),reset_period:L4.optional().meta(X),limit_value:s.union([s.number(),s.literal("unlimited")]).optional().meta(X),enforcement:FT.optional().meta(X),overage_price_ref:s.string().optional().meta(X),grace_period_hours:s.number().int().min(0).optional().meta(X),tier_value:s.string().optional().meta(X),rate_value:s.number().optional().meta(X),initial_grant:s.number().optional().meta(X),allowance_value:s.union([s.number(),s.literal("unlimited")]).optional().meta(X),rollover_enabled:s.boolean().optional().meta(X),max_balance:s.union([s.number(),s.literal("unlimited")]).nullable().default(null).meta(X),seat_type_id:s.string().optional().meta(X),included_count:s.union([s.number().int(),s.literal("unlimited")]).optional().meta(X),at_limit_behavior:s.enum(["hard_cap","auto_upgrade_at_renewal"]).optional().meta(X),stripe_metered_price_id:s.string().optional().meta(X)}).meta({id:"EntitlementRule","x-revturbine-schema-persistence":ld,"x-revturbine-schema-exposure":Sv});Vs.superRefine((e,n)=>{e.reset_period==="billing_period"&&e.targets.findIndex(o=>o.kind!=="plan_variation"&&o.kind!=="addon_variation")!==-1&&n.addIssue({code:"custom",path:["reset_period"],params:{code:"billing_period_target_mismatch"},message:"reset_period='billing_period' requires all targets to be plan_variation or addon_variation"});});var Z4=s.enum(["one_time_period_mismatch"]).meta({id:"EntitlementRuleWarningCode","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),B4=s.object({code:Z4.meta(X),message:s.string().min(1).meta(X),path:s.array(s.union([s.string(),s.number().int()])).optional().meta(X)}).meta({id:"EntitlementRuleWarning","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),vv=Vs.extend({warnings:s.array(B4).optional().meta(X)}).meta({id:"EntitlementRuleWriteResponse","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),yv=ft.merge(It).merge(vt).merge(Nt).extend({rule_id:s.string().min(1).meta(X),experiment_id:s.string().min(1).meta(X),variant_name:s.string().min(1).max(200).meta(X),is_control:s.boolean().default(false).meta(X),override_fields:s.record(s.string(),s.unknown()).default({}).meta(X)}).meta({id:"EntitlementRuleVariant","x-revturbine-schema-persistence":ld,"x-revturbine-schema-exposure":Sv}),M4=zn($o),V4=zn(Vs),q4=zn(ko);({"/api/entitlements":{get:B({operationId:"listEntitlements",requestParams:{query:wt},summary:"List entitlements",tags:["entitlements"],responses:{200:{description:"Entitlement list",content:{"application/json":{schema:kt($o)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"list"}}}),post:B({operationId:"createEntitlement",summary:"Create entitlement",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:mn($o)}}},responses:{201:{description:"Created",content:{"application/json":{schema:$o}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"create"}}})},"/api/entitlements/{entitlementId}":{get:B({operationId:"getEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Get entitlement",tags:["entitlements"],responses:{200:{description:"Entitlement detail",content:{"application/json":{schema:$o}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"get"}}}),patch:B({operationId:"updateEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Update entitlement",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:M4}}},responses:{200:{description:"Updated",content:{"application/json":{schema:$o}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"update"}}}),delete:B({operationId:"deleteEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Delete entitlement",tags:["entitlements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"delete"}}})},"/api/entitlements/{entitlementId}/rules":{get:B({operationId:"listEntitlementRules",requestParams:{path:s.object({entitlementId:s.string()}),query:wt},summary:"List rules for entitlement",tags:["entitlements"],responses:{200:{description:"Rule list",content:{"application/json":{schema:kt(Vs)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"list"}}}),post:B({operationId:"createEntitlementRule",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Create entitlement rule",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:mn(Vs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:vv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"create"}}})},"/api/entitlement-rules/{ruleId}":{patch:B({operationId:"updateEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update entitlement rule",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:V4}}},responses:{200:{description:"Updated",content:{"application/json":{schema:vv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"update"}}}),delete:B({operationId:"deleteEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete entitlement rule",tags:["entitlements"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"delete"}}})},"/api/entitlement-rules/{ruleId}/duplicate":{post:B({operationId:"duplicateEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Duplicate entitlement rule",tags:["entitlements"],responses:{201:{description:"Duplicated",content:{"application/json":{schema:vv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"duplicate"}}})},"/api/entitlement-rules/{ruleId}/variants":{get:B({operationId:"listEntitlementRuleVariants",requestParams:{path:s.object({ruleId:s.string()}),query:wt},summary:"List A/B variants for rule",tags:["entitlements"],responses:{200:{description:"Variant list",content:{"application/json":{schema:kt(yv)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rule-variants",persistence:{table:"entitlementRuleVariants",mode:"list"}}}),post:B({operationId:"createEntitlementRuleVariant",requestParams:{path:s.object({ruleId:s.string()})},summary:"Create rule A/B variant",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:mn(yv)}}},responses:{201:{description:"Created",content:{"application/json":{schema:yv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rule-variants",persistence:{table:"entitlementRuleVariants",mode:"create"}}})},"/api/plan-entitlements":{get:B({operationId:"listPlanEntitlements",requestParams:{query:wt},summary:"List plan \u2194 entitlement mappings",tags:["entitlements"],responses:{200:{description:"Plan entitlement list",content:{"application/json":{schema:kt(ko)}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"list"}}}),post:B({operationId:"createPlanEntitlement",summary:"Create plan \u2194 entitlement mapping",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:mn(ko)}}},responses:{201:{description:"Created",content:{"application/json":{schema:ko}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"create"}}})},"/api/plan-entitlements/{id}":{get:B({operationId:"getPlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Get plan \u2194 entitlement mapping",tags:["entitlements"],responses:{200:{description:"Plan entitlement detail",content:{"application/json":{schema:ko}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"get"}}}),put:B({operationId:"updatePlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Update plan \u2194 entitlement mapping",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:q4}}},responses:{200:{description:"Updated",content:{"application/json":{schema:ko}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"update"}}}),delete:B({operationId:"deletePlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Delete plan \u2194 entitlement mapping",tags:["entitlements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"delete"}}})}});var {Unrestricted:le}=vo,{Persisted:qs,Transient:Hs}=bo,{Internal:rr}=_o,H4=s.enum(["not_started","active","expired","converted","cancelled"]).meta({id:"TrialStatus","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),$v=s.enum(["time","usage"]).meta({id:"TrialLimitType","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),ZT=s.object({name:Zr.meta(le),handle:Br.meta(le),plan_id:s.string().nullable().optional().meta(le),segment_id:s.string().nullable().optional().meta(le),trial_limit_type:$v.default("time").meta(le),duration_days:s.number().int().min(1).max(365).nullable().optional().meta(le),grace_period_days:s.number().int().min(0).default(0).meta(le),usage_entitlement_handle:s.string().min(1).optional().meta(le),usage_limit_value:s.number().int().min(1).optional().meta(le),require_payment_method:s.boolean().default(false).meta(le),auto_convert:s.boolean().default(true).meta(le),convert_to_plan_id:s.string().optional().meta(le),fallback_plan_id:s.string().optional().meta(le),limit_per_customer:s.number().int().min(1).default(1).meta(le),is_active:s.boolean().default(true).meta(le),metadata:Bn.meta(le)}),yo=ft.merge(It).merge(vt).merge(Nt).merge(ZT).meta({id:"FreeTrialRule","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr}),K4=s.enum(["signup","first_premium_access","manual"]).meta({id:"ReverseTrialStartPolicy","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),BT=s.object({name:Zr.meta(le),handle:Br.meta(le),premium_plan_id:s.string().min(1).meta(le),fallback_plan_id:s.string().min(1).meta(le),segment_id:s.string().nullable().optional().meta(le),trial_limit_type:$v.default("time").meta(le),duration_days:s.number().int().min(1).max(365).nullable().optional().meta(le),usage_entitlement_handle:s.string().min(1).optional().meta(le),usage_limit_value:s.number().int().min(1).optional().meta(le),start_policy:K4.default("signup").meta(le),show_upgrade_prompt_at_day:s.number().int().min(0).optional().meta(le),entitlements_during_trial:s.array(s.string()).default([]).meta(le),is_active:s.boolean().default(true).meta(le),metadata:Bn.meta(le)}),xo=ft.merge(It).merge(vt).merge(Nt).merge(BT).meta({id:"ReverseTrialRule","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr}),MT=s.enum(["1_per_lifetime","1_per_plan","1_per_year","unlimited"]).meta({id:"TrialLimitPolicy","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),VT=s.enum(["per_customer","per_email_domain"]).meta({id:"TrialEligibilityScope","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),Io=ft.merge(It).merge(vt).extend({trial_limit_policy:MT.default("1_per_lifetime").meta(le),eligibility_scope:VT.default("per_customer").meta(le)}).meta({id:"FreeTrialSettings","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr}),So=ft.merge(It).merge(vt).extend({trial_limit_policy:MT.default("1_per_lifetime").meta(le),eligibility_scope:VT.default("per_customer").meta(le)}).meta({id:"ReverseTrialSettings","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr}),sd=ft.merge(It).merge(vt).extend({customer_id:s.string().min(1).meta(le),rule_id:s.string().min(1).meta(le),rule_type:s.enum(["free_trial","reverse_trial"]).meta(le),plan_id:s.string().min(1).meta(le),status:H4.default("active").meta(le),started_at:s.string().datetime().meta({...le,readOnly:true}),expires_at:s.string().datetime().nullable().optional().meta(le),trial_limit_type:$v.default("time").meta(le),usage_entitlement_handle:s.string().min(1).optional().meta(le),usage_limit_value:s.number().int().min(1).optional().meta(le),converted_at:gv.meta(le),cancelled_at:gv.meta(le),metadata:Bn.meta(le)}).meta({id:"TrialInstance","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr});({"/api/trials/free-rules":{get:B({operationId:"listFreeTrialRules",requestParams:{query:wt},summary:"List free trial rules",tags:["trials"],responses:{200:{description:"Free trial rule list",content:{"application/json":{schema:kt(yo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"list"}}})},"/api/trials/free-rules/{ruleId}":{get:B({operationId:"getFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Get free trial rule",tags:["trials"],responses:{200:{description:"Free trial rule",content:{"application/json":{schema:yo}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"get"}}}),patch:B({operationId:"updateFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update free trial rule",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:yo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:yo}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"update"}}}),delete:B({operationId:"deleteFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete free trial rule",tags:["trials"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"delete"}}})},"/api/trials/reverse-rules":{get:B({operationId:"listReverseTrialRules",requestParams:{query:wt},summary:"List reverse trial rules",tags:["trials"],responses:{200:{description:"Reverse trial rule list",content:{"application/json":{schema:kt(xo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"list"}}})},"/api/trials/reverse-rules/{ruleId}":{get:B({operationId:"getReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Get reverse trial rule",tags:["trials"],responses:{200:{description:"Reverse trial rule",content:{"application/json":{schema:xo}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"get"}}}),patch:B({operationId:"updateReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update reverse trial rule",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:xo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:xo}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"update"}}}),delete:B({operationId:"deleteReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete reverse trial rule",tags:["trials"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"delete"}}})},"/api/trials/free-settings":{get:B({operationId:"listFreeTrialSettings",requestParams:{query:wt},summary:"List free trial settings (one row per tenant)",tags:["trials"],responses:{200:{description:"Free trial settings list",content:{"application/json":{schema:kt(Io)}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"list"}}})},"/api/trials/free-settings/{settingsId}":{get:B({operationId:"getFreeTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Get free trial settings",tags:["trials"],responses:{200:{description:"Free trial settings",content:{"application/json":{schema:Io}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"get"}}}),patch:B({operationId:"updateFreeTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update free trial settings",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:Io.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Io}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"update"}}})},"/api/trials/reverse-settings":{get:B({operationId:"listReverseTrialSettings",requestParams:{query:wt},summary:"List reverse trial settings (one row per tenant)",tags:["trials"],responses:{200:{description:"Reverse trial settings list",content:{"application/json":{schema:kt(So)}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"list"}}})},"/api/trials/reverse-settings/{settingsId}":{get:B({operationId:"getReverseTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Get reverse trial settings",tags:["trials"],responses:{200:{description:"Reverse trial settings",content:{"application/json":{schema:So}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"get"}}}),patch:B({operationId:"updateReverseTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update reverse trial settings",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:So.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:So}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"update"}}})},"/api/trials/instances":{get:B({operationId:"listTrialInstances",requestParams:{query:wt},summary:"List trial instances",tags:["trials"],responses:{200:{description:"Trial instance list",content:{"application/json":{schema:kt(sd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"list"}}})},"/api/trials/instances/{instanceId}":{get:B({operationId:"getTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Get trial instance",tags:["trials"],responses:{200:{description:"Trial instance",content:{"application/json":{schema:sd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"get"}}})},"/api/trials/instances/{instanceId}/cancel":{post:B({operationId:"cancelTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Cancel an active trial",tags:["trials"],responses:{200:{description:"Cancelled",content:{"application/json":{schema:sd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"update"}}})},"/api/trials/instances/{instanceId}/convert":{post:B({operationId:"convertTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Convert trial to paid subscription",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:s.object({plan_id:s.string().optional()})}}},responses:{200:{description:"Converted",content:{"application/json":{schema:sd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"update"}}})}});var {Unrestricted:Je,Financial:cd}=vo,{Persisted:Ks,Transient:ud}=bo,{External:br}=_o,dd=s.enum(["public","unlisted","legacy"]).meta({id:"PlanVisibility","x-revturbine-schema-persistence":ud,"x-revturbine-schema-exposure":br}),kv=s.enum(["flat","per_unit","tiered","metered"]).meta({id:"PricingModel","x-revturbine-schema-persistence":ud,"x-revturbine-schema-exposure":br}),qT=s.enum(["stripe","static"]).meta({id:"PriceSource","x-revturbine-schema-persistence":ud,"x-revturbine-schema-exposure":br}),wo=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(Je),handle:Br.meta(Je),tier_position:s.number().int().min(0).default(0).meta(Je),sort_order:s.number().int().default(0).meta(Je),metadata:Bn.meta(Je)}).meta({id:"Plan","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),To=ft.merge(It).merge(vt).merge(Nt).extend({plan_id:s.string().min(1).meta(Je),billing_period:s.enum(["monthly","annual","one_time","custom"]).meta(Je),segment_id:s.string().nullable().default(null).meta(Je),price_amount:s.number().min(0).meta(cd),pricing_model:kv.meta(Je),visibility:dd.default("public").meta(Je),stripe_price_id:s.string().optional().meta(Je),price_source:qT.default("static").meta(Je)}).meta({id:"PlanVariation","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),Ro=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(Je),handle:Br.meta(Je),sort_order:s.number().int().default(0).meta(Je),metadata:Bn.meta(Je)}).meta({id:"AddOn","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),Co=ft.merge(It).merge(vt).merge(Nt).extend({addon_id:s.string().min(1).meta(Je),billing_period:s.enum(["monthly","annual","one_time","custom"]).meta(Je),segment_id:s.string().nullable().default(null).meta(Je),price_amount:s.number().min(0).meta(cd),pricing_model:kv.meta(Je),visibility:dd.default("public").meta(Je),stripe_price_id:s.string().optional().meta(Je),price_source:qT.default("static").meta(Je)}).meta({id:"AddOnVariation","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),G4=s.enum(["monthly","annual","one_time","custom"]).meta({id:"StripePriceMockBillingPeriod","x-revturbine-schema-persistence":ud,"x-revturbine-schema-exposure":br}),Eo=ft.merge(It).merge(vt).extend({stripe_price_id:s.string().min(1).meta(Je),stripe_product_id:s.string().min(1).meta(Je),billing_period:G4.meta(Je),unit_amount_cents:s.number().int().min(0).nullable().default(null).meta(cd),currency:zT.meta(cd),pricing_model:kv.meta(Je),nickname:s.string().nullable().default(null).meta(Je)}).meta({id:"StripePriceMock","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),J4=zn(wo),W4=zn(To),X4=zn(Ro),Y4=zn(Co),Q4=zn(Eo);({"/api/plans":{get:B({operationId:"listPlans",requestParams:{query:wt},summary:"List plans",tags:["plans"],responses:{200:{description:"Plan list response",content:{"application/json":{schema:kt(wo)}}},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"list"}}}),post:B({operationId:"createPlan",summary:"Create plan",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(wo)}}},responses:{201:{description:"Created plan",content:{"application/json":{schema:wo}}},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"create"}}})},"/api/plans/{planId}":{get:B({operationId:"getPlan",requestParams:{path:s.object({planId:s.string()})},summary:"Get plan by ID",tags:["plans"],responses:{200:{description:"Plan detail",content:{"application/json":{schema:wo}}},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"get"}}}),patch:B({operationId:"updatePlan",requestParams:{path:s.object({planId:s.string()})},summary:"Update plan",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:J4}}},responses:{200:{description:"Updated plan",content:{"application/json":{schema:wo}}},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"update"}}}),delete:B({operationId:"deletePlan",requestParams:{path:s.object({planId:s.string()})},summary:"Delete plan",tags:["plans"],responses:{204:{description:"Plan deleted"},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"delete"}}})},"/api/plans/reorder":{post:B({operationId:"reorderPlans",summary:"Reorder plans",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:s.object({ids:s.array(s.string())})}}},responses:{200:{description:"Reordered"}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"reorder"}}})},"/api/plans/{planId}/variations":{get:B({operationId:"listPlanVariations",requestParams:{path:s.object({planId:s.string()}),query:wt},summary:"List plan variations",tags:["plans"],responses:{200:{description:"Plan variations",content:{"application/json":{schema:kt(To)}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"list"}}}),post:B({operationId:"createPlanVariation",requestParams:{path:s.object({planId:s.string()})},summary:"Create plan variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(To)}}},responses:{201:{description:"Created plan variation",content:{"application/json":{schema:To}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"create"}}})},"/api/plan-variations/{variationId}":{get:B({operationId:"getPlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Get plan variation by ID",tags:["plans"],responses:{200:{description:"Plan variation detail",content:{"application/json":{schema:To}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"get"}}}),patch:B({operationId:"updatePlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Update plan variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:W4}}},responses:{200:{description:"Updated plan variation",content:{"application/json":{schema:To}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"update"}}}),delete:B({operationId:"deletePlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Delete plan variation",tags:["plans"],responses:{204:{description:"Plan variation deleted"}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"delete"}}})},"/api/addons":{get:B({operationId:"listAddOns",requestParams:{query:wt},summary:"List add-ons",tags:["plans"],responses:{200:{description:"Add-on list",content:{"application/json":{schema:kt(Ro)}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"list"}}}),post:B({operationId:"createAddOn",summary:"Create add-on",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(Ro)}}},responses:{201:{description:"Created add-on",content:{"application/json":{schema:Ro}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"create"}}})},"/api/addons/{addonId}":{get:B({operationId:"getAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Get add-on by ID",tags:["plans"],responses:{200:{description:"Add-on detail",content:{"application/json":{schema:Ro}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"get"}}}),patch:B({operationId:"updateAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Update add-on",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:X4}}},responses:{200:{description:"Updated add-on",content:{"application/json":{schema:Ro}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"update"}}}),delete:B({operationId:"deleteAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Delete add-on",tags:["plans"],responses:{204:{description:"Add-on deleted"}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"delete"}}})},"/api/addons/{addonId}/variations":{get:B({operationId:"listAddOnVariations",requestParams:{path:s.object({addonId:s.string()}),query:wt},summary:"List add-on variations",tags:["plans"],responses:{200:{description:"Add-on variations",content:{"application/json":{schema:kt(Co)}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"list"}}}),post:B({operationId:"createAddOnVariation",requestParams:{path:s.object({addonId:s.string()})},summary:"Create add-on variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(Co)}}},responses:{201:{description:"Created variation",content:{"application/json":{schema:Co}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"create"}}})},"/api/addon-variations/{variationId}":{get:B({operationId:"getAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Get add-on variation by ID",tags:["plans"],responses:{200:{description:"Add-on variation detail",content:{"application/json":{schema:Co}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"get"}}}),patch:B({operationId:"updateAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Update add-on variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Y4}}},responses:{200:{description:"Updated variation",content:{"application/json":{schema:Co}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"update"}}}),delete:B({operationId:"deleteAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Delete add-on variation",tags:["plans"],responses:{204:{description:"Variation deleted"}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"delete"}}})},"/api/stripe-prices-mock":{get:B({operationId:"listStripePriceMocks",requestParams:{query:wt},summary:"List Stripe price mocks",tags:["plans"],responses:{200:{description:"Stripe price mock list",content:{"application/json":{schema:kt(Eo)}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"list"}}}),post:B({operationId:"createStripePriceMock",summary:"Create Stripe price mock",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(Eo)}}},responses:{201:{description:"Created Stripe price mock",content:{"application/json":{schema:Eo}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"create"}}})},"/api/stripe-prices-mock/{id}":{get:B({operationId:"getStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Get Stripe price mock by ID",tags:["plans"],responses:{200:{description:"Stripe price mock detail",content:{"application/json":{schema:Eo}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"get"}}}),patch:B({operationId:"updateStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Update Stripe price mock",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Q4}}},responses:{200:{description:"Updated Stripe price mock",content:{"application/json":{schema:Eo}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"update"}}}),delete:B({operationId:"deleteStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Delete Stripe price mock",tags:["plans"],responses:{204:{description:"Stripe price mock deleted"}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"delete"}}})}});var {Unrestricted:_}=vo,{Persisted:zo,Transient:$e}=bo,{Internal:jn,External:Le}=_o,Po=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(_),handle:Br.meta(_),surface_type:jT.meta(_),description:fv.meta(_),is_active:s.boolean().default(true).meta(_),ui_path:s.string().optional().meta(_),metadata:Bn.meta(_)}).meta({id:"ApplicationSurface","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),Zs=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(_),handle:Br.meta(_),description:fv.meta(_),is_default:s.boolean().default(false).meta(_),entitlement_ids:s.array(s.string()).default([]).meta(_),metadata:Bn.meta(_)}).meta({id:"SeatType","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),e2=s.enum(["not_started","started","details_submitted","charges_enabled","activated","deauthorized"]).meta({id:"OnboardingState","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),xv=ft.merge(It).merge(vt).merge(Nt).extend({stripe_account_id:s.string().min(1).meta(_),live_mode:s.boolean().default(false).meta(_),onboarding_state:e2.default("not_started").meta({..._,readOnly:true}),onboarding_complete:s.boolean().default(false).meta({..._,readOnly:true}),charges_enabled:s.boolean().default(false).meta({..._,readOnly:true}),details_submitted:s.boolean().default(false).meta({..._,readOnly:true}),payouts_enabled:s.boolean().default(false).meta({..._,readOnly:true}),webhook_secret_set:s.boolean().default(false).meta({..._,readOnly:true}),sync_products:s.boolean().default(true).meta(_),sync_prices:s.boolean().default(true).meta(_),sync_subscriptions:s.boolean().default(true).meta(_),sync_invoices:s.boolean().default(false).meta(_),default_currency:s.string().length(3).default("USD").meta(_),tax_behavior:s.enum(["inclusive","exclusive","unspecified"]).default("unspecified").meta(_),last_sync_at:s.string().optional().meta({..._,readOnly:true}),metadata:Bn.meta(_)}).meta({id:"StripeIntegrationConfig","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),Bs=ft.merge(It).merge(vt).merge(Nt).extend({entitlement_id:s.string().min(1).meta(_),meter_key:s.string().min(1).max(100).meta(_),aggregation_type:s.enum(["sum","count","max","last_value"]).default("sum").meta(_),reset_period:s.enum(["none","daily","weekly","monthly","yearly"]).default("monthly").meta(_),stripe_meter_id:s.string().nullable().default(null).meta(_),is_active:s.boolean().default(true).meta(_),metadata:Bn.meta(_)}).meta({id:"MeteringConfig","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),DT=s.enum(["block","warn","downgrade","throttle","notify_admin","custom"]).meta({id:"EnforcementAction","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),Ms=ft.merge(It).merge(vt).merge(Nt).extend({entitlement_id:s.string().min(1).meta(_),soft_limit_percent:s.number().min(0).max(100).default(80).meta(_),hard_limit_percent:s.number().min(0).max(100).default(100).meta(_),soft_limit_action:DT.default("warn").meta(_),hard_limit_action:DT.default("block").meta(_),grace_period_hours:s.number().int().min(0).default(0).meta(_),notification_channels:s.array(s.enum(["email","in_app","webhook"])).default(["in_app"]).meta(_),is_active:s.boolean().default(true).meta(_)}).meta({id:"UsageEnforcementSettings","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),t2=s.object({kind:s.enum(["template","slot"]).meta(_),id:s.string().min(1).meta(_),label:s.string().min(1).optional().meta(_)}).meta({id:"PlacementSettingsCapRuleGroupItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),n2=s.object({id:s.string().min(1).meta(_),group:s.array(t2).min(1).meta(_),cap:s.object({count:s.number().int().min(1).meta(_),period:s.enum(["session","day","week","month"]).meta(_)}).meta(_)}).meta({id:"PlacementSettingsCapRule","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),r2=s.enum(["off","test_users","all_traffic"]).meta({id:"PlacementTestMode","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),i2=s.object({capRules:s.array(n2).default([]).meta(_),sessionCooldownMinutes:s.number().int().min(0).default(30).meta(_),testMode:r2.default("off").meta(_)}).meta({id:"PlacementSettingsCapState","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),Iv=ft.merge(It).merge(vt).merge(Nt).extend({global_frequency_cap:i2.nullable().default(null).meta(_),global_frequency_cap_period:s.enum(["hour","day","week","month","session"]).nullable().default(null).meta(_),suppress_for_paid:s.boolean().default(false).meta(_),suppress_for_trial:s.boolean().default(false).meta(_),default_dismiss_cooldown_hours:s.number().int().min(0).default(24).meta(_),allow_stacking:s.boolean().default(false).meta(_),priority_collision_strategy:s.enum(["highest_priority","most_recent","random"]).default("highest_priority").meta(_)}).meta({id:"PlacementSettings","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),o2=s.object({field:s.string().min(1).meta(_),operator:s.enum(["eq","neq","gt","lt","gte","lte","contains","in"]).meta(_),value:s.string().meta(_)}).meta({id:"RevTurbineConfigSegmentsItemPredicatesItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),a2=s.object({name:s.string().min(1).meta(_),handle:s.string().min(1).meta(_),predicates:s.array(o2).optional().meta(_),dimension_id:s.string().optional().meta(_)}).meta({id:"RevTurbineConfigSegmentsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),s2=s.object({unique_handle:s.string().min(1).meta(_),name:s.string().min(1).meta(_),tier_position:s.number().int().min(0).default(0).meta(_),sort_order:s.number().int().min(0).default(0).meta(_),visibility:dd.default("public").meta(_)}).meta({id:"RevTurbineConfigPlansItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),c2=s.object({unique_handle:s.string().min(1).meta(_),name:s.string().min(1).meta(_),sort_order:s.number().int().min(0).default(0).meta(_),visibility:dd.default("public").meta(_)}).meta({id:"RevTurbineConfigAddonsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),l2=s.object({unique_handle:s.string().min(1).meta(_),name:s.string().min(1).meta(_),type:pv.meta(_),unit:s.string().optional().meta(_)}).meta({id:"RevTurbineConfigEntitlementsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),u2=s.object({id:s.string().min(1).meta(_),entitlement_id:s.string().min(1).meta(_),targets:s.array(LT).min(1).meta(_),segment_ids:s.array(s.string()).default([]).meta(_),type_fields:s.record(s.string(),s.unknown()).default({}).meta(_),current_usage:s.number().default(0).meta(_),allocation:Pv.optional().meta(_)}).meta({id:"RevTurbineConfigEntitlementRulesItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),d2=s.object({slot_id:s.string().min(1).meta(_),active:s.boolean().meta(_),triggers:s.array(s.string()).meta(_)}).meta({id:"RevTurbineConfigSlotConfigsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),m2=s.object({id:s.string().min(1).meta(_),label:s.string().min(1).meta(_),description:s.string().meta(_),surface_type:s.string().meta(_),placement_handle:s.string().min(1).meta(_),template:s.string().optional().meta(_)}).meta({id:"RevTurbineConfigPlacementSlotsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),p2=s.object({name:s.string().min(1).meta(_),type:s.string().optional().meta(_),required:s.boolean().optional().meta(_)}).meta({id:"RevTurbineConfigSurfaceTemplatesItemFieldsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),f2=s.object({id:s.string().min(1).meta(_),surface_type:s.string().meta(_),fields:s.array(p2).optional().meta(_)}).meta({id:"RevTurbineConfigSurfaceTemplatesItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),g2=s.enum(["open_checkout_modal","navigate_to_plans","open_upgrade_modal","open_placement","book_demo","open_feature_tour","extend_trial","switch_billing_period","custom_url","dismiss","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription"]).meta({id:"RevTurbineConfigUiPathActionType","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),h2=s.object({name:s.string().min(1).meta(_),action_type:g2.meta(_),plan_handle:s.string().optional().meta(_),promotion_id:s.string().optional().meta(_),placement_handle:s.string().optional().meta(_),url:s.string().optional().meta(_),tour_id:s.string().optional().meta(_),target_billing_period:s.enum(["monthly","annual"]).optional().meta(_),description:s.string().optional().meta(_)}).meta({id:"ContentUiPath","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),b2=s.object({id:s.string().meta(_),name:s.string().meta(_),discount:s.string().meta(_),type:s.string().meta(_),status:s.string().meta(_)}).meta({id:"ContentPromotion","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),_2=s.object({token:s.string().regex(/^[a-z][a-z0-9_]*$/).meta(_),label:s.string().min(1).meta(_),description:s.string().optional().meta(_),category:s.enum(["user","plan","usage","trial","billing","promotion","custom"]).meta(_),data_source:s.string().optional().meta(_),example_value:s.string().optional().meta(_),value_map:s.record(s.string(),s.string()).optional().meta(_),format:s.enum(["string","number","currency","percentage","date"]).optional().meta(_)}).meta({id:"PersonalizationToken","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),AT=s.object({header:s.string().optional().meta(_),body:s.string().optional().meta(_),cta_label:s.string().optional().meta(_),secondary_cta_label:s.string().optional().meta(_)}).catchall(s.unknown()).meta({id:"MessageBlockContent","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),v2=s.object({block_id:s.string().min(1).meta(_),tenant_id:s.string().min(1).meta(_),name:s.string().min(1).meta(_),surface_template_id:s.string().optional().meta(_),default_content:AT.meta(_),segment_overrides:s.array(s.object({segment_value_id:s.string(),content:AT})).optional().meta(_),child_blocks:s.array(s.object({slot:s.string(),block_id:s.string()})).optional().meta(_),tokens_used:s.array(s.string()).optional().meta(_),status:s.enum(["draft","active","archived"]).meta(_),created_at:s.string().datetime().meta({..._,readOnly:true}),updated_at:s.string().datetime().meta({..._,readOnly:true})}).meta({id:"MessageBlock","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),y2=s.object({label:s.string().meta(_),path:UT.meta(_),config:s.record(s.string(),s.string()).optional().meta(_)}).meta({id:"RevTurbineConfigStudioCtaConfig","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),HT=s.object({template_id:s.string().min(1).meta(_),fields:s.record(s.string(),s.string()).meta(_),ctas:s.array(y2).meta(_)}).meta({id:"RevTurbineConfigStudioPayloadSurface","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),KT=s.object({plan_ids:s.array(s.string()).meta(_),billing_cadences:s.array(s.string()).optional().meta(_),segment_chips:s.array(s.string()).meta(_)}).meta({id:"RevTurbineConfigStudioPayloadTarget","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),x2=s.object({count:s.number().int().min(1).meta(_),period:s.enum(["session","day","week","month","lifetime"]).meta(_)}).meta({id:"RevTurbineConfigPeriodCap","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),GT=s.object({max_per_period:x2.optional().meta(_),cooldown_days:s.number().int().min(0).optional().meta(_)}).meta({id:"RevTurbineConfigStudioPayloadCaps","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),I2=s.object({id:s.string().min(1).meta(_),target:KT.meta(_),surfaces:s.array(HT).meta(_),caps:GT.optional().meta(_),surface_slot_ids:s.array(s.string()).optional().meta(_),created_at:s.string().optional().meta({..._,readOnly:true}),recommendation_strategy:s.enum(["next_tier_up","best_value","custom"]).optional().default("next_tier_up").meta(_),recommendation_plan_override:s.string().optional().meta(_)}).meta({id:"RevTurbineConfigStudioPayload","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),S2=s.discriminatedUnion("type",[s.object({type:s.literal("surface_render"),slot_id:s.string().min(1)}),s.object({type:s.literal("entitlement_gate"),entitlement_handle:s.string().min(1),tier_threshold:s.string().optional()}),s.object({type:s.literal("usage_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("credit_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("seat_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("trial_started"),trial_type:s.enum(["free","reverse"]).optional()}),s.object({type:s.literal("trial_progress"),progress_percent:s.number().min(1).max(100)}),s.object({type:s.literal("trial_ending"),days_before_end:s.number().int().min(0)}),s.object({type:s.literal("trial_ended")}),s.object({type:s.literal("trial_converted")}),s.object({type:s.literal("qualifier"),qualifier:s.string().min(1)})]).meta({id:"RevTurbineConfigPlacementTrigger","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),P2=s.enum(["fixed","gated","usage_credit_seat","trials","other_conversion","retention"]).meta({id:"RevTurbineConfigPlacementCategory","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),$2=s.object({id:s.string().min(1).meta(_),name:s.string().min(1).meta(_),category:P2.meta(_),trigger:S2.meta(_),payloads:s.array(I2).meta(_),order:s.number().int().min(0).meta(_)}).meta({id:"RevTurbineConfigPlacementItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),k2=s.object({payload_id:s.string().min(1).meta(_),placement_id:s.string().min(1).meta(_),target:KT.meta(_),caps:GT.optional().meta(_),created_at:s.string().meta({..._,readOnly:true}),updated_at:s.string().datetime().optional().meta({..._,readOnly:true}),source_mode:s.enum(["inline","content_linked"]).meta(_),surfaces:s.array(HT).optional().meta(_),surface_slot_ids:s.array(s.string()).optional().meta(_),content_link:s.object({message_block_id:s.string().optional(),ui_path_id:s.string().optional(),promotion_id:s.string().optional(),content_payload_id:s.string().optional()}).optional().meta(_)}).meta({id:"RevTurbineConfigPlacementPayloadItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),w2=s.object({kind:s.string().min(1).meta(_),schema_version:s.number().int().nonnegative().meta(_),config:s.unknown().meta(_)}).meta({id:"RevTurbineConfigExtensionRulesItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),T2=ft.merge(ZT).meta({id:"RevTurbineConfigFreeTrialRuleItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),R2=ft.merge(BT).meta({id:"RevTurbineConfigReverseTrialRuleItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le});s.object({version:s.string().meta(_),exported_at:s.string().datetime().optional().meta({..._,readOnly:true}),schema_version:s.string().optional().meta({..._,readOnly:true}),bundle_schema_version:s.number().int().optional().meta({..._,readOnly:true}),change_set_id:s.string().nullable().default(null).meta({..._,readOnly:true}),plans:s.array(s2).meta(_),addons:s.array(c2).optional().meta(_),entitlements:s.array(l2).meta(_),entitlement_rules:s.array(u2).meta(_),segments:s.array(a2).meta(_),content_ui_paths:s.array(h2).meta(_),slot_configs:s.array(d2).optional().meta(_),content_overrides:s.record(s.string(),s.record(s.string(),s.string())).optional().meta(_),theme:s.record(s.string(),s.unknown()).optional().meta(_),placement_slots:s.array(m2).optional().meta(_),message_blocks:s.array(v2).optional().meta(_),placement_payloads:s.array(k2).optional().meta(_),placements:s.array($2).optional().meta(_),content_promotions:s.array(b2).optional().meta(_),personalization_tokens:s.array(_2).optional().meta(_),surface_templates:s.array(f2).optional().meta(_),free_trial_rules:s.array(T2).optional().meta(_),reverse_trial_rules:s.array(R2).optional().meta(_),extension_rules:s.array(w2).optional().meta(_)}).meta({id:"RevTurbineConfig","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le});({"/api/config/application-surfaces":{get:B({operationId:"listApplicationSurfaces",requestParams:{query:wt},summary:"List application surfaces",tags:["config"],responses:{200:{description:"Surface list",content:{"application/json":{schema:kt(Po)}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"list"}}}),post:B({operationId:"createApplicationSurface",summary:"Create application surface",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:mn(Po)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Po}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"create"}}})},"/api/config/application-surfaces/{id}":{get:B({operationId:"getApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Get application surface by ID",tags:["config"],responses:{200:{description:"Application surface detail",content:{"application/json":{schema:Po}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"get"}}}),patch:B({operationId:"updateApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Update application surface",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Po.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Po}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"update"}}}),delete:B({operationId:"deleteApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Delete application surface",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"delete"}}})},"/api/config/seat-types":{get:B({operationId:"listSeatTypes",requestParams:{query:wt},summary:"List seat types",tags:["config"],responses:{200:{description:"Seat type list",content:{"application/json":{schema:kt(Zs)}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"list"}}}),post:B({operationId:"createSeatType",summary:"Create seat type",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:mn(Zs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Zs}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"create"}}})},"/api/config/seat-types/{id}":{patch:B({operationId:"updateSeatType",requestParams:{path:s.object({id:s.string()})},summary:"Update seat type",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Zs.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Zs}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"update"}}}),delete:B({operationId:"deleteSeatType",requestParams:{path:s.object({id:s.string()})},summary:"Delete seat type",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"delete"}}})},"/api/config/stripe":{put:B({operationId:"upsertStripeIntegrationConfig",summary:"Create or update Stripe integration config",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:zn(xv)}}},responses:{200:{description:"Saved",content:{"application/json":{schema:xv}}}},"x-revturbine-operation":{exposure:"internal",resource:"stripe-config",persistence:{table:"stripeIntegrationConfig",mode:"upsert"}}})},"/api/config/metering":{get:B({operationId:"listMeteringConfigs",requestParams:{query:wt},summary:"List metering configurations",tags:["config"],responses:{200:{description:"Metering config list",content:{"application/json":{schema:kt(Bs)}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"list"}}}),post:B({operationId:"createMeteringConfig",summary:"Create metering configuration",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:mn(Bs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Bs}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"create"}}})},"/api/config/metering/{meteringId}":{patch:B({operationId:"updateMeteringConfig",requestParams:{path:s.object({meteringId:s.string()})},summary:"Update metering configuration",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Bs.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Bs}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"update"}}}),delete:B({operationId:"deleteMeteringConfig",requestParams:{path:s.object({meteringId:s.string()})},summary:"Delete metering configuration",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"delete"}}})},"/api/config/usage-enforcement":{get:B({operationId:"listUsageEnforcementSettings",requestParams:{query:wt},summary:"List usage enforcement settings",tags:["config"],responses:{200:{description:"Enforcement settings",content:{"application/json":{schema:kt(Ms)}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"list"}}}),post:B({operationId:"createUsageEnforcementSettings",summary:"Create usage enforcement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:mn(Ms)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ms}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"create"}}})},"/api/config/usage-enforcement/{settingsId}":{patch:B({operationId:"updateUsageEnforcementSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update usage enforcement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Ms.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ms}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"update"}}}),delete:B({operationId:"deleteUsageEnforcementSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Delete usage enforcement settings",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"delete"}}})},"/api/config/placement-settings":{put:B({operationId:"upsertPlacementSettings",summary:"Create or update global placement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:zn(Iv)}}},responses:{200:{description:"Saved",content:{"application/json":{schema:Iv}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-settings",persistence:{table:"placementSettings",mode:"upsert"}}})}});function Uo(){return typeof window>"u"||typeof document>"u"}function Yt(){return !Uo()}var Gs=class{constructor(){this.providers=new Map,this.cache=new Map,this.unsubscribers=new Map;}register(e){let n=this.providers.get(e.domain);if(n&&this.unregister(n.domain),this.providers.set(e.domain,e),e.subscribe){let r=e.subscribe(o=>{this.cache.set(e.domain,{value:o,resolvedAt:Date.now(),ttlMs:e.cacheTtlMs??0});});this.unsubscribers.set(e.domain,r);}}unregister(e){this.providers.delete(e),this.cache.delete(e);let n=this.unsubscribers.get(e);n&&(n(),this.unsubscribers.delete(e));}clear(){for(let e of this.unsubscribers.values())e();this.providers.clear(),this.cache.clear(),this.unsubscribers.clear();}async resolveAll(){let e=Array.from(this.providers.entries()),n=await Promise.all(e.map(async([i,a])=>{let c=this.cache.get(i),l=Date.now();if(c&&c.ttlMs>0&&l-c.resolvedAt<c.ttlMs)return [i,c.value];let u=await a.resolve();return this.cache.set(i,{value:u,resolvedAt:l,ttlMs:a.cacheTtlMs??0}),[i,u]})),r={},o={},t=false;for(let[i,a]of n)if(i==="traits"||i.startsWith("traits:")){let c=a;c?.traits&&(Object.assign(o,c.traits),t=true);}else r[i]=a;return t&&(r.traits={traits:o}),r}async get(e){let n=this.providers.get(e);if(!n)return;let r=this.cache.get(e),o=Date.now();if(r&&r.ttlMs>0&&o-r.resolvedAt<r.ttlMs)return r.value;let t=await n.resolve();return this.cache.set(e,{value:t,resolvedAt:o,ttlMs:n.cacheTtlMs??0}),t}has(e){return this.providers.has(e)}get size(){return this.providers.size}invalidate(e){this.cache.delete(e);}invalidateAll(){this.cache.clear();}},C2="revturbine:interaction-state",JT=class{constructor(e){this.state=new Map,this.storage=e.storage,this.tenantId=e.tenantId,this.userId=e.userId,this.defaultDismissCooldownMs=e.defaultDismissCooldownMs??1440*60*1e3,this.defaultRemindLaterMs=e.defaultRemindLaterMs??3600*1e3,this.hydrate();}track(e){let n=this.stateKey(e.placementId,e.userId,e.treatmentId),r=Date.now(),o=e.metadata??{},i={...this.state.get(n)??{updatedAt:new Date(r).toISOString()},lastInteractionType:e.interactionType,updatedAt:e.interactionAt??new Date(r).toISOString()};if(e.interactionType==="dismiss"){let a=Number(o.cooldown_ms);i.suppressedUntil=r+(Number.isFinite(a)&&a>0?a:this.defaultDismissCooldownMs);}if(e.interactionType==="remind_me_later"){let a=Number(o.remind_after_seconds);i.suppressedUntil=r+(Number.isFinite(a)&&a>0?a*1e3:this.defaultRemindLaterMs);}(e.interactionType==="cta_clicked"||e.interactionType==="cta_completed")&&(i.suppressedUntil=r+300*1e3),this.state.set(n,i),this.persist();}checkSuppression(e,n,r){let o=this.stateKey(e,n,r),t=this.state.get(o);return t?.suppressedUntil?t.suppressedUntil<=Date.now()?{suppressed:false}:{suppressed:true,reason:t.lastInteractionType==="remind_me_later"?"suppressed_until_remind_window":"suppressed_by_dismiss_cooldown"}:{suppressed:false}}clearSuppression(e,n,r){let o=this.stateKey(e,n,r);this.state.delete(o),this.persist();}hydrate(){let e=this.storage.getItem(this.storageKey());if(e)try{let n=JSON.parse(e);for(let[r,o]of Object.entries(n))!o||typeof o!="object"||this.state.set(r,o);}catch{this.storage.removeItem(this.storageKey());}}persist(){try{let e=Object.fromEntries(this.state.entries());this.storage.setItem(this.storageKey(),JSON.stringify(e));}catch{}}storageKey(){return `${C2}:${this.tenantId}:${this.userId}`}stateKey(e,n,r){return [this.tenantId,n,e,r||"default"].join(":")}},E2="revturbine:presentation-caps";function jo(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function z2(e){if(!jo(e))return null;let n=Number(e.count),r=typeof e.period=="string"?e.period:"";return !Number.isFinite(n)||n<=0||r!=="session"&&r!=="day"&&r!=="week"&&r!=="month"&&r!=="lifetime"?null:{count:n,period:r}}function j2(e,n){return e==="session"||e==="lifetime"?0:e==="day"?n-1440*60*1e3:e==="week"?n-10080*60*1e3:n-720*60*60*1e3}var WT=class{constructor(e){this.capsByKey=new Map,this.storage=e.storage,this.tenantId=e.tenantId,this.userId=e.userId,this.hydrate();}enforce(e){let n=this.extractPolicies(e);if(n.length===0)return {allowed:true};let r=this.capKey(e),o=Date.now(),t=this.capsByKey.get(r)??{seenAt:[]},i={...t,seenAt:t.seenAt.filter(c=>Number.isFinite(c)&&c>0)};if(Number.isFinite(i.cooldownUntil)&&i.cooldownUntil>o)return this.capsByKey.set(r,i),{allowed:false,reason:"suppressed_by_payload_cooldown"};for(let c of n)for(let l of c.rules){let u=j2(l.period,o),m=i.seenAt.filter(p=>p>=u&&p<=o);if(m.length>=l.count)return this.capsByKey.set(r,{...i,seenAt:m}),{allowed:false,reason:`suppressed_by_payload_cap_${l.period}`}}i.seenAt.push(o);let a=n.map(c=>c.cooldownMs).filter(c=>typeof c=="number"&&Number.isFinite(c)&&c>0);return a.length>0?i.cooldownUntil=o+Math.max(...a):delete i.cooldownUntil,this.capsByKey.set(r,i),this.persist(),{allowed:true}}hydrate(){let e=this.storage.getItem(this.storageKey());if(e)try{let n=JSON.parse(e);for(let[r,o]of Object.entries(n)){if(!o||typeof o!="object")continue;let t=Array.isArray(o.seenAt)?o.seenAt.filter(a=>Number.isFinite(a)&&a>0):[],i=Number.isFinite(o.cooldownUntil)?o.cooldownUntil:void 0;this.capsByKey.set(r,{seenAt:t,cooldownUntil:i});}}catch{this.storage.removeItem(this.storageKey());}}persist(){try{let e=Object.fromEntries(this.capsByKey.entries());this.storage.setItem(this.storageKey(),JSON.stringify(e));}catch{}}storageKey(){return `${E2}:${this.tenantId}:${this.userId}`}capKey(e){return [this.tenantId,this.userId,e.surface.type,e.output_id].join(":")}extractPolicies(e){let n=[],r=[e,e.content,jo(e.content)?e.content.payload:void 0,jo(e.content)?e.content.placement:void 0,jo(e.content)?e.content.surface:void 0];for(let o of r){if(!jo(o))continue;let t=jo(o.caps)?o.caps:void 0;if(!t)continue;let i=[],a=z2(t.max_per_period);a&&i.push(a);let c=Number(t.cooldown_days),l=Number.isFinite(c)&&c>0?c*24*60*60*1e3:void 0;n.push({rules:i,...l!==void 0?{cooldownMs:l}:{}});}return n}},Oo=class{constructor(){this.store=new Map;}getItem(e){return this.store.get(e)??null}setItem(e,n){this.store.set(e,n);}removeItem(e){this.store.delete(e);}};function XT(e){return [e.tenantId,e.userId,e.placementId,e.treatmentId||"default"].join(":")}function YT(e,n=Date.now()){return e?.suppressedUntil?e.suppressedUntil<=n?{suppressed:false}:{suppressed:true,reason:e.lastInteractionType==="remind_me_later"?"suppressed_until_remind_window":"suppressed_by_dismiss_cooldown"}:{suppressed:false}}var U2=new Set(["dismissed","clicked_thru"]),O2=1440*60*1e3,wv=class{constructor(e){this.retiredCache=null,this.suppressedCache=null,this.store=e.store,this.userId=e.userId,this.defaultSuppressionMs=e.defaultSuppressionMs??O2;}async recordImpression(e,n,r,o){await this.appendRecord(e,"impressed",n,r,o);}async recordDismissal(e,n,r,o){await this.appendRecord(e,"dismissed",n,r,o),this.retireInCache(e);}async recordClickThru(e,n,r,o){await this.appendRecord(e,"clicked_thru",n,r,o),this.retireInCache(e);}async recordSuppression(e,n,r,o,t){let i=t??this.defaultSuppressionMs,a=new Date(Date.now()+i).toISOString();await this.appendRecord(e,"suppressed",n,r,{...o,suppressUntil:a}),this.suppressInCache(e,a);}async isRetired(e){return (await this.getRetiredIds()).has(e)}async getRetiredIds(){if(this.retiredCache)return this.retiredCache;let e=await this.store.getRetiredPlacementIds(this.userId);return this.retiredCache=e,e}isRetiredSync(e){return this.retiredCache?.has(e)??false}isSuppressedSync(e){if(!this.suppressedCache)return false;let n=this.suppressedCache.get(e);return n?new Date(n).getTime()>Date.now()?true:(this.suppressedCache.delete(e),false):false}isHiddenSync(e){return this.isRetiredSync(e)||this.isSuppressedSync(e)}async queryHistory(e){return this.store.query(this.userId,e)}async hydrate(){this.retiredCache=await this.store.getRetiredPlacementIds(this.userId),this.suppressedCache=await this.store.getSuppressedPlacements(this.userId);}async reset(){await this.store.clear(this.userId),this.retiredCache=new Set,this.suppressedCache=new Map;}setUserId(e){this.userId=e,this.retiredCache=null,this.suppressedCache=null;}async appendRecord(e,n,r,o,t){let i={placementId:e,outcome:n,occurredAt:new Date().toISOString(),...r?{payloadId:r}:{},...o?{surfaceTemplateId:o}:{},...t?{metadata:t}:{}};await this.store.append(this.userId,i);}retireInCache(e){this.retiredCache||(this.retiredCache=new Set),this.retiredCache.add(e);}suppressInCache(e,n){this.suppressedCache||(this.suppressedCache=new Map),this.suppressedCache.set(e,n);}},D2=class{constructor(){this.records=new Map;}append(e,n){let r=this.records.get(e)??[];r.push(n),this.records.set(e,r);}query(e,n){let r=this.records.get(e)??[];return n&&(r=QT(r,n)),r.slice().reverse()}getRetiredPlacementIds(e){let n=this.records.get(e)??[];return eR(n)}getSuppressedPlacements(e){let n=this.records.get(e)??[];return tR(n)}clear(e){this.records.delete(e);}},A2="revturbine:impression-history",md=class{constructor(e){this.storage=e.storage,this.tenantId=e.tenantId,this.maxRecords=e.maxRecords??500;}append(e,n){let r=this.load(e);r.push(n),r.length>this.maxRecords&&r.splice(0,r.length-this.maxRecords),this.save(e,r);}query(e,n){let r=this.load(e);return n&&(r=QT(r,n)),r.slice().reverse()}getRetiredPlacementIds(e){let n=this.load(e);return eR(n)}getSuppressedPlacements(e){let n=this.load(e);return tR(n)}clear(e){this.storage.removeItem(this.key(e));}key(e){return `${A2}:${this.tenantId}:${e}`}load(e){let n=this.storage.getItem(this.key(e));if(!n)return [];try{let r=JSON.parse(n);return Array.isArray(r)?r:[]}catch{return []}}save(e,n){try{this.storage.setItem(this.key(e),JSON.stringify(n));}catch{}}};function QT(e,n){let r=e;if(n.placementIds&&n.placementIds.length>0){let o=new Set(n.placementIds);r=r.filter(t=>o.has(t.placementId));}if(n.outcomes&&n.outcomes.length>0){let o=new Set(n.outcomes);r=r.filter(t=>o.has(t.outcome));}if(n.since){let o=new Date(n.since).getTime();r=r.filter(t=>new Date(t.occurredAt).getTime()>=o);}return r}function eR(e){let n=new Set;for(let r of e)U2.has(r.outcome)&&n.add(r.placementId);return n}function tR(e){let n=new Map,r=Date.now();for(let o=e.length-1;o>=0;o--){let t=e[o];if(t.outcome!=="suppressed"||n.has(t.placementId))continue;let i=t.metadata?.suppressUntil;typeof i=="string"&&new Date(i).getTime()>r&&n.set(t.placementId,i);}return n}function N2(e){let{config:n,cacheTtlMs:r}=e,o=[];if(e.planHandle){let t={domain:"plan",cacheTtlMs:r,resolve:()=>({currentPlanHandle:e.planHandle,currentPlanName:e.planName??e.planHandle})};o.push(t);}if(n.entitlements?.length){let t=e.defaultEntitlementPolicy??"allow",i={domain:"entitlements",cacheTtlMs:r,resolve:()=>{let a={},c={};for(let l of n.entitlements??[]){a[l.unique_handle]={status:t==="allow"?"allowed":"denied",allowed:t==="allow",reason:`static_config_default_${t}`};let u=e.usage?.[l.unique_handle];u&&(c[l.unique_handle]={used:u.used,limit:u.limit,remaining:Math.max(0,u.limit-u.used),unit:l.unit});}return {entries:a,usage:c}}};o.push(i);}if(n.segments?.length){let t={domain:"segments",cacheTtlMs:r,resolve:()=>({segmentIds:(n.segments??[]).map(i=>i.handle),segmentSlugs:(n.segments??[]).map(i=>i.handle)})};o.push(t);}if(n.entitlement_rules?.length){let t={domain:"rules",cacheTtlMs:r,resolve:()=>{let i={};for(let c of n.entitlement_rules??[]){let l=c.entitlement_id;i[l]||(i[l]=[]);let u=c,m=Array.isArray(u.segment_ids)?u.segment_ids.filter(f=>typeof f=="string"):typeof u.segment_id=="string"&&u.segment_id!=="all"?[u.segment_id]:[],p={ruleId:c.id,entitlementId:l,planIds:(c.targets??[]).filter(f=>f.kind==="plan").map(f=>f.id),segmentIds:m,kind:c.type_fields?.kind??"feature",fields:c.type_fields??{}};i[l].push(p);}let a={};for(let c of n.segments??[])typeof c.dimension_id=="string"&&typeof c.handle=="string"&&(a[c.handle]=c.dimension_id);return {entitlementRules:i,segmentDimensions:a,configVersion:n.version}}};o.push(t);}if(n.message_blocks?.length||n.personalization_tokens?.length){let t={domain:"content",cacheTtlMs:r,resolve:()=>{let i={};for(let a of n.message_blocks??[])i[a.block_id]={blockId:a.block_id,name:a.name,defaultContent:a.default_content,segmentOverrides:a.segment_overrides?.map(c=>({segmentId:c.segment_value_id,content:c.content})),status:a.status};return {messageBlocks:i,personalization:{}}}};o.push(t);}if(n.theme&&Object.keys(n.theme).length>0){let t={domain:"theme",cacheTtlMs:r,resolve:()=>({overrides:n.theme})};o.push(t);}return o}function F2(e){let{payload:n,cacheTtlMs:r}=e,o=[];if(n.user_context){let t=n.user_context,i={domain:"plan",cacheTtlMs:r,resolve:()=>({currentPlanHandle:t.plan_handle??"unknown",currentPlanName:t.plan_name,billingPeriod:t.billing_period,trialActive:t.trial_active,trialLimitType:t.trial_limit_type,trialProgressPercent:t.trial_progress_percent,trialDaysRemaining:t.trial_days_remaining,trialDaysTotal:t.trial_days_total,trialState:t.trial_state,trialUsageEntitlementHandle:t.trial_usage_entitlement_handle,trialUsageConsumed:t.trial_usage_consumed,trialUsageLimit:t.trial_usage_limit})};o.push(i);}if(n.entitlements){let t=n.entitlements,i={domain:"entitlements",cacheTtlMs:r,resolve:()=>{let a={};for(let[c,l]of Object.entries(t))a[c]=l;return {entries:a}}};o.push(i);}if(n.user_context){let t=n.user_context;if(Array.isArray(t.segment_ids)){let i={domain:"segments",cacheTtlMs:r,resolve:()=>({segmentIds:t.segment_ids})};o.push(i);}}if(n.user_context){let t=n.user_context;if(t.traits&&typeof t.traits=="object"){let i={domain:"traits",cacheTtlMs:r,resolve:()=>({traits:t.traits})};o.push(i);}}if(n.theme){let t={domain:"theme",cacheTtlMs:r,resolve:()=>({overrides:n.theme})};o.push(t);}return o}var nR=class{constructor(e){this.registeredPlacements=new Map,this.tenantId=e.tenantId,this.userId=e.userId,this.exportedConfig=e.exportedConfig;let n=e.storage??new Oo;this.registry=new Gs;for(let o of e.providers)this.registry.register(o);this.interactionTracker=new JT({storage:n,tenantId:e.tenantId,userId:e.userId,...e.interactionOptions}),this.capEnforcer=new WT({storage:n,tenantId:e.tenantId,userId:e.userId}),this.impressionHistory=new wv({store:e.impressionStore??new D2,userId:e.userId});let r=e.customResolver??this.buildPlacementResolver(e);this.engine=new jp({registry:this.registry,interactionTracker:this.interactionTracker,capEnforcer:this.capEnforcer,options:e.engineOptions,placements:this.registeredPlacements,placementResolver:r});}registerPlacement(e){this.registeredPlacements.set(e.id,e);}async getPlacementDecision(e){return this.engine.evaluate(e)}async getPlacementDecisions(e){return this.engine.evaluateBatch(e)}async checkEntitlement(e,n){let r=await this.engine.checkEntitlement(e,n);return r.reason==="no_entitlement_provider"?this.deriveEntitlementFromConfig(e,n):r}trackInteraction(e){this.engine.trackInteraction(e);}clearSuppression(e,n){this.interactionTracker.clearSuppression(e,n??this.userId);}async resolveProviders(){return this.registry.resolveAll()}evaluateSegments(e){let n=this.exportedConfig.segments??[];return Xa(n,e)}buildTargetingState(e,n){return vl(e,this.exportedConfig,n)}async derivePersonalizationTokens(e){let n=await this.registry.resolveAll();return gk({userId:this.userId,providers:n,base:e})}setUserId(e){this.userId=e,this.impressionHistory.setUserId(e);}getUserId(){return this.userId}getExportedConfig(){return this.exportedConfig}async hydrate(){await this.impressionHistory.hydrate();}updateProviders(e){this.registry.clear();for(let n of e)this.registry.register(n);}buildPlacementResolver(e){let n=e.placements??{placements:e.exportedConfig.placements??[]};return ho({placements:n,exportedConfig:e.exportedConfig,impressionHistory:this.impressionHistory})}deriveEntitlementFromConfig(e,n){return Ls({handle:e,context:n,currentPlanHandle:"",segmentIds:new Set,usageBalances:{},exportedConfig:this.exportedConfig})??{status:"allowed",allowed:true,reason:"local_runtime_default_allow"}}},L2=["web-client","server"],Z2=s.enum(L2),B2=["method","meta","component"],M2=s.enum(B2),V2=["ts","python","java","csharp","rust"];s.enum(V2);var q2=s.object({ts:s.string().min(1).optional(),python:s.string().min(1).optional(),java:s.string().min(1).optional(),csharp:s.string().min(1).optional(),rust:s.string().min(1).optional()}).strict(),H2=s.object({canonical:s.string().min(1),aliases:s.array(s.string().min(1)),kind:M2,appliesTo:s.array(Z2).min(1),composes:s.string().min(1).optional(),perLanguage:q2.optional(),description:s.string().min(1)}).strict().refine(e=>e.kind!=="meta"||e.composes!==void 0,{message:"kind 'meta' requires a `composes` reference",path:["composes"]}),K2=s.object({version:s.number().int().positive(),functions:s.array(H2).min(1)}).strict().superRefine((e,n)=>{let r=new Map;for(let o of e.functions)for(let t of [o.canonical,...o.aliases]){let i=r.get(t);i!==void 0&&n.addIssue({code:"custom",message:`duplicate SDK name "${t}" (also on "${i}")`,path:["functions"]}),r.set(t,o.canonical);}});K2.parse({version:2,functions:[{canonical:"checkEntitlement",aliases:["can"],kind:"method",appliesTo:["web-client","server"],description:"Check whether the user is entitled to a feature/handle; returns the rich EntitlementResult (allowed, status, reason, limits, enforcement)."},{canonical:"gate",aliases:[],kind:"meta",appliesTo:["web-client"],composes:"checkEntitlement",description:"Gate an action behind an entitlement: checks the handle, runs fn when allowed, otherwise returns the entitlement so the caller can surface a paywall."},{canonical:"trackEvent",aliases:["track"],kind:"method",appliesTo:["web-client"],description:"Emit a product/analytics event powering frequency caps, attribution, and experiments."},{canonical:"updateUsage",aliases:["update"],kind:"method",appliesTo:["web-client"],description:"Patch customer-reported usage balances for client-side metering display (the advertised update({ usage }) verb)."},{canonical:"resetIdentity",aliases:["reset"],kind:"method",appliesTo:["web-client"],description:"Clear the current user and revert to the anonymous identity (e.g. on sign-out)."},{canonical:"identify",aliases:[],kind:"method",appliesTo:["web-client"],description:"Associate the session with a known user id and optional traits/context."},{canonical:"getPlacement",aliases:[],kind:"method",appliesTo:["web-client","server"],description:"Resolve a single placement decision for a surface."},{canonical:"getPlacementDecision",aliases:[],kind:"method",appliesTo:["web-client"],description:"Resolve a placement decision from an explicit decision input (headless)."},{canonical:"evaluate",aliases:[],kind:"method",appliesTo:["server"],description:"Batch-evaluate placements + entitlements for a user, returning a serializable payload the client SDK can hydrate."},{canonical:"getTrialStatus",aliases:[],kind:"method",appliesTo:["server"],description:"Fetch the user's trial status for server-side gating."},{canonical:"SurfaceSlotComponent",aliases:["Slot","RTSlot"],kind:"component",appliesTo:["web-client"],description:"React slot component that renders the resolved placement; advertised as <Slot> (<RTSlot> is the deprecated prior name)."},{canonical:"AccessGateSurfaceSlot",aliases:["Gate"],kind:"component",appliesTo:["web-client"],description:"React component that gates content behind an entitlement, rendering an upsell placement when denied; advertised as <Gate>."}]});var rR="[REDACTED]",G2=/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g,J2=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/,W2=/\d(?:[ -]?\d){12,18}/g;function X2(e){let n=0,r=false;for(let o=e.length-1;o>=0;o-=1){let t=e.charCodeAt(o)-48;if(t<0||t>9)return false;if(r){let i=t*2;i>9&&(i-=9),n+=i;}else n+=t;r=!r;}return n%10===0}function Y2(e){let n=0,r=e.replace(G2,()=>(n+=1,rR));return r=r.replace(W2,o=>{let t=o.replace(/[ -]/g,"");return t.length>=13&&t.length<=19&&X2(t)?(n+=1,rR):o}),{value:r,count:n}}function iR(e){let n=0,r=o=>{if(typeof o=="string"){let t=Y2(o);return n+=t.count,t.value}if(Array.isArray(o))return o.map(r);if(o&&typeof o=="object"){let t={};for(let[i,a]of Object.entries(o))t[i]=r(a);return t}return o};return {value:r(e),redactions:n}}function Q2(e){return J2.test(e.trim())}function e6(e){let n=e.trim().toLowerCase();return `eml_${r6(n).slice(0,16)}`}function Tv(e){return Q2(e)?{value:e6(e),redacted:true}:{value:e,redacted:false}}var t6=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function n6(e){let n=[];for(let r=0;r<e.length;r+=1){let o=e.charCodeAt(r);if(o<128)n.push(o);else if(o<2048)n.push(192|o>>6,128|o&63);else if(o>=55296&&o<=56319){let t=o,i=e.charCodeAt(r+1);r+=1,o=65536+((t&1023)<<10)+(i&1023),n.push(240|o>>18,128|o>>12&63,128|o>>6&63,128|o&63);}else n.push(224|o>>12,128|o>>6&63,128|o&63);}return n}function ir(e,n){return e>>>n|e<<32-n}function r6(e){let n=n6(e),r=n.length*8;for(n.push(128);n.length%64!==56;)n.push(0);for(let f=0;f<4;f+=1)n.push(0);n.push(r>>>24&255,r>>>16&255,r>>>8&255,r&255);let o=1779033703,t=3144134277,i=1013904242,a=2773480762,c=1359893119,l=2600822924,u=528734635,m=1541459225,p=new Array(64);for(let f=0;f<n.length;f+=64){for(let w=0;w<16;w+=1){let te=f+w*4;p[w]=(n[te]<<24|n[te+1]<<16|n[te+2]<<8|n[te+3])>>>0;}for(let w=16;w<64;w+=1){let te=ir(p[w-15],7)^ir(p[w-15],18)^p[w-15]>>>3,_e=ir(p[w-2],17)^ir(p[w-2],19)^p[w-2]>>>10;p[w]=p[w-16]+te+p[w-7]+_e>>>0;}let g=o,h=t,k=i,S=a,T=c,C=l,N=u,R=m;for(let w=0;w<64;w+=1){let te=ir(T,6)^ir(T,11)^ir(T,25),_e=T&C^~T&N,Ee=R+te+_e+t6[w]+p[w]>>>0,W=ir(g,2)^ir(g,13)^ir(g,22),Se=g&h^g&k^h&k,je=W+Se>>>0;R=N,N=C,C=T,T=S+Ee>>>0,S=k,k=h,h=g,g=Ee+je>>>0;}o=o+g>>>0,t=t+h>>>0,i=i+k>>>0,a=a+S>>>0,c=c+T>>>0,l=l+C>>>0,u=u+N>>>0,m=m+R>>>0;}return [o,t,i,a,c,l,u,m].map(f=>f.toString(16).padStart(8,"0")).join("")}var oR={web_signed_up:"system",web_signed_in:"system",cli_signed_up:"system",cli_signed_in:"system",cli_command_executed:"system",changeset_submitted:"workflow",changeset_approved:"workflow",changeset_rejected:"workflow",changeset_deployed:"workflow",changeset_launched:"workflow",changeset_parked:"workflow",changeset_resumed:"workflow",changeset_discarded:"workflow",changeset_archived:"workflow",config_imported:"workflow",config_exported:"workflow",entity_created:"workflow",entity_updated:"workflow",entity_deleted:"workflow"},aR="control_plane_source";function Rv(e,n={}){return {eventName:e,properties:{[aR]:oR[e],...n}}}var Js=class{constructor(n){E(this,"backend");this.backend=n;}getItem(n){try{return this.backend.getItem(n)}catch{return null}}setItem(n,r){try{this.backend.setItem(n,r);}catch{}}removeItem(n){try{this.backend.removeItem(n);}catch{}}};function Mr(e){if(e)return e;if(Yt())try{return new Js(window.localStorage)}catch{}return new Oo}function Cv(e){if(e)return e;if(Yt())try{return new Js(window.sessionStorage)}catch{}return new Oo}var i6=/^[a-z0-9._]{1,100}$/,ut={Persisted:"persisted",Transient:"transient"},dt={Internal:"internal",External:"external"},mt={Pii:{"x-revturbine-data-classification":"pii"},Financial:{"x-revturbine-data-classification":"financial"},Unrestricted:{"x-revturbine-data-classification":"unrestricted"}};var o6="readOnly";function Rt(e){let n={};for(let[r,o]of Object.entries(e.shape)){if(typeof o!="object"||o===null)continue;o.meta()?.[o6]===true||(n[r]=o);}return s.object(n)}function Tt(e){let n=Rt(e),r=n.shape.handle;return r&&typeof r.regex=="function"?n.extend({handle:r.regex(i6)}):n}var {Unrestricted:Lt}=mt,{Transient:fn}=ut,{Internal:ic,External:xr}=dt;s.object({page:s.coerce.number().int().min(1).default(1).meta(Lt),per_page:s.coerce.number().int().min(1).max(100).default(25).meta(Lt)}).meta({id:"PaginationParams","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr});var a6=e=>s.object({items:s.array(e).meta(Lt),total:s.number().int().min(0).meta(Lt),page:s.number().int().min(1).meta(Lt),per_page:s.number().int().min(1).meta(Lt),has_more:s.boolean().meta(Lt)}).meta({id:"PaginatedResponse","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),ee=s.object({created_at:s.string().datetime().meta({...Lt,readOnly:true}),updated_at:s.string().datetime().meta({...Lt,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),J=s.object({id:s.string().min(1).meta({...Lt,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),oe=s.object({tenant_id:s.string().min(1,"tenant_id is required").meta({...Lt,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic}),Ae=s.object({environment_id:s.string().min(1).default("production").meta({...Lt,readOnly:true}),canonical_id:s.string().min(1).nullable().default(null).meta({...Lt,readOnly:true}),change_set_id:s.string().nullable().default(null).meta(Lt),is_current:s.boolean().default(true).meta({...Lt,readOnly:true}),sequence:s.number().int().min(1).default(1).meta({...Lt,readOnly:true}),base_sequence:s.number().int().min(0).nullable().default(null).meta(Lt)}).meta({id:"null","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic});s.enum(["monthly","annual","quarterly","one_time","usage_based"]).meta({id:"BillingCadence","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr});var vd=s.enum(["banner","modal","tooltip","sidebar","inline","toast","fullscreen","email","sms","push","in_page","button","full_page","agent","cli","custom"]).meta({id:"SurfaceType","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),hR=s.enum(["feature","capability_tier","usage_limit","price_per_unit","rate_limit","credits","seat"]).meta({id:"EntitlementType","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),s6=s.enum(["usd","eur","gbp"]).default("usd").meta({id:"Currency","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr});s.union([s.boolean(),s.number(),s.string()]).meta({id:"FeatureFlagValue","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic});var at=s.string().min(1).max(200),Ct=s.string().min(1).max(100),Kr=s.string().max(500).optional(),st=s.record(s.string(),s.unknown()).default({}),ot=s.string().datetime().nullable().default(null),Vv=s.enum(["info","warning","critical"]).meta({id:"Severity","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic}),bR=s.enum(["button","plans_page_ctas","plans_page_full","inline_gate_message","tooltip","in_page_card","usage_counter","credit_counter","trial_counter","banner","modal_optional","modal_blocking","toast","email","sms","push","cli","agent_connector","custom_in_app"]).meta({id:"StudioSurfaceType","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic}),_R=s.enum(["open_checkout","view_plans","book_demo","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription","switch_billing_period","extend_trial","open_rt_placement","dismiss","snooze","custom"]).meta({id:"CtaActionType","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),re=e=>s.object({items:s.array(e)}),it=s.object({error:s.string(),code:s.string(),request_id:s.string()}),b=e=>e,ie=s.object({page:s.number().int().min(1).default(1).optional(),per_page:s.number().int().min(1).max(100).default(25).optional(),sort:s.string().optional(),order:s.enum(["asc","desc"]).default("asc").optional(),include_deleted:s.boolean().default(false).optional()}),{Unrestricted:We,Financial:_d}=mt,{Persisted:oc,Transient:yd}=ut,{External:Ir}=dt,xd=s.enum(["public","unlisted","legacy"]).meta({id:"PlanVisibility","x-revturbine-schema-persistence":yd,"x-revturbine-schema-exposure":Ir}),qv=s.enum(["flat","per_unit","tiered","metered"]).meta({id:"PricingModel","x-revturbine-schema-persistence":yd,"x-revturbine-schema-exposure":Ir}),vR=s.enum(["stripe","static"]).meta({id:"PriceSource","x-revturbine-schema-persistence":yd,"x-revturbine-schema-exposure":Ir}),Mo=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(We),handle:Ct.meta(We),tier_position:s.number().int().min(0).default(0).meta(We),sort_order:s.number().int().default(0).meta(We),metadata:st.meta(We)}).meta({id:"Plan","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),Vo=J.merge(ee).merge(oe).merge(Ae).extend({plan_id:s.string().min(1).meta(We),billing_period:s.enum(["monthly","annual","one_time","custom"]).meta(We),segment_id:s.string().nullable().default(null).meta(We),price_amount:s.number().min(0).meta(_d),pricing_model:qv.meta(We),visibility:xd.default("public").meta(We),stripe_price_id:s.string().optional().meta(We),price_source:vR.default("static").meta(We)}).meta({id:"PlanVariation","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),qo=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(We),handle:Ct.meta(We),sort_order:s.number().int().default(0).meta(We),metadata:st.meta(We)}).meta({id:"AddOn","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),Ho=J.merge(ee).merge(oe).merge(Ae).extend({addon_id:s.string().min(1).meta(We),billing_period:s.enum(["monthly","annual","one_time","custom"]).meta(We),segment_id:s.string().nullable().default(null).meta(We),price_amount:s.number().min(0).meta(_d),pricing_model:qv.meta(We),visibility:xd.default("public").meta(We),stripe_price_id:s.string().optional().meta(We),price_source:vR.default("static").meta(We)}).meta({id:"AddOnVariation","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),c6=s.enum(["monthly","annual","one_time","custom"]).meta({id:"StripePriceMockBillingPeriod","x-revturbine-schema-persistence":yd,"x-revturbine-schema-exposure":Ir}),Ko=J.merge(ee).merge(oe).extend({stripe_price_id:s.string().min(1).meta(We),stripe_product_id:s.string().min(1).meta(We),billing_period:c6.meta(We),unit_amount_cents:s.number().int().min(0).nullable().default(null).meta(_d),currency:s6.meta(_d),pricing_model:qv.meta(We),nickname:s.string().nullable().default(null).meta(We)}).meta({id:"StripePriceMock","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),l6=Rt(Mo),u6=Rt(Vo),d6=Rt(qo),m6=Rt(Ho),p6=Rt(Ko);({"/api/plans":{get:b({operationId:"listPlans",requestParams:{query:ie},summary:"List plans",tags:["plans"],responses:{200:{description:"Plan list response",content:{"application/json":{schema:re(Mo)}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"list"}}}),post:b({operationId:"createPlan",summary:"Create plan",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(Mo)}}},responses:{201:{description:"Created plan",content:{"application/json":{schema:Mo}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"create"}}})},"/api/plans/{planId}":{get:b({operationId:"getPlan",requestParams:{path:s.object({planId:s.string()})},summary:"Get plan by ID",tags:["plans"],responses:{200:{description:"Plan detail",content:{"application/json":{schema:Mo}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"get"}}}),patch:b({operationId:"updatePlan",requestParams:{path:s.object({planId:s.string()})},summary:"Update plan",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:l6}}},responses:{200:{description:"Updated plan",content:{"application/json":{schema:Mo}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"update"}}}),delete:b({operationId:"deletePlan",requestParams:{path:s.object({planId:s.string()})},summary:"Delete plan",tags:["plans"],responses:{204:{description:"Plan deleted"},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"delete"}}})},"/api/plans/reorder":{post:b({operationId:"reorderPlans",summary:"Reorder plans",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:s.object({ids:s.array(s.string())})}}},responses:{200:{description:"Reordered"}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"reorder"}}})},"/api/plans/{planId}/variations":{get:b({operationId:"listPlanVariations",requestParams:{path:s.object({planId:s.string()}),query:ie},summary:"List plan variations",tags:["plans"],responses:{200:{description:"Plan variations",content:{"application/json":{schema:re(Vo)}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"list"}}}),post:b({operationId:"createPlanVariation",requestParams:{path:s.object({planId:s.string()})},summary:"Create plan variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(Vo)}}},responses:{201:{description:"Created plan variation",content:{"application/json":{schema:Vo}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"create"}}})},"/api/plan-variations/{variationId}":{get:b({operationId:"getPlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Get plan variation by ID",tags:["plans"],responses:{200:{description:"Plan variation detail",content:{"application/json":{schema:Vo}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"get"}}}),patch:b({operationId:"updatePlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Update plan variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:u6}}},responses:{200:{description:"Updated plan variation",content:{"application/json":{schema:Vo}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"update"}}}),delete:b({operationId:"deletePlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Delete plan variation",tags:["plans"],responses:{204:{description:"Plan variation deleted"}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"delete"}}})},"/api/addons":{get:b({operationId:"listAddOns",requestParams:{query:ie},summary:"List add-ons",tags:["plans"],responses:{200:{description:"Add-on list",content:{"application/json":{schema:re(qo)}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"list"}}}),post:b({operationId:"createAddOn",summary:"Create add-on",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(qo)}}},responses:{201:{description:"Created add-on",content:{"application/json":{schema:qo}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"create"}}})},"/api/addons/{addonId}":{get:b({operationId:"getAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Get add-on by ID",tags:["plans"],responses:{200:{description:"Add-on detail",content:{"application/json":{schema:qo}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"get"}}}),patch:b({operationId:"updateAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Update add-on",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:d6}}},responses:{200:{description:"Updated add-on",content:{"application/json":{schema:qo}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"update"}}}),delete:b({operationId:"deleteAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Delete add-on",tags:["plans"],responses:{204:{description:"Add-on deleted"}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"delete"}}})},"/api/addons/{addonId}/variations":{get:b({operationId:"listAddOnVariations",requestParams:{path:s.object({addonId:s.string()}),query:ie},summary:"List add-on variations",tags:["plans"],responses:{200:{description:"Add-on variations",content:{"application/json":{schema:re(Ho)}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"list"}}}),post:b({operationId:"createAddOnVariation",requestParams:{path:s.object({addonId:s.string()})},summary:"Create add-on variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ho)}}},responses:{201:{description:"Created variation",content:{"application/json":{schema:Ho}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"create"}}})},"/api/addon-variations/{variationId}":{get:b({operationId:"getAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Get add-on variation by ID",tags:["plans"],responses:{200:{description:"Add-on variation detail",content:{"application/json":{schema:Ho}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"get"}}}),patch:b({operationId:"updateAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Update add-on variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:m6}}},responses:{200:{description:"Updated variation",content:{"application/json":{schema:Ho}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"update"}}}),delete:b({operationId:"deleteAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Delete add-on variation",tags:["plans"],responses:{204:{description:"Variation deleted"}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"delete"}}})},"/api/stripe-prices-mock":{get:b({operationId:"listStripePriceMocks",requestParams:{query:ie},summary:"List Stripe price mocks",tags:["plans"],responses:{200:{description:"Stripe price mock list",content:{"application/json":{schema:re(Ko)}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"list"}}}),post:b({operationId:"createStripePriceMock",summary:"Create Stripe price mock",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ko)}}},responses:{201:{description:"Created Stripe price mock",content:{"application/json":{schema:Ko}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"create"}}})},"/api/stripe-prices-mock/{id}":{get:b({operationId:"getStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Get Stripe price mock by ID",tags:["plans"],responses:{200:{description:"Stripe price mock detail",content:{"application/json":{schema:Ko}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"get"}}}),patch:b({operationId:"updateStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Update Stripe price mock",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:p6}}},responses:{200:{description:"Updated Stripe price mock",content:{"application/json":{schema:Ko}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"update"}}}),delete:b({operationId:"deleteStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Delete Stripe price mock",tags:["plans"],responses:{204:{description:"Stripe price mock deleted"}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"delete"}}})}});var {Unrestricted:Y}=mt,{Persisted:Id,Transient:gn}=ut,{Internal:Hv,External:en}=dt,yR=s.enum(["per_month","per_year","per_billing_period","lifetime","concurrent","per_instance","per_second","per_minute","per_hour","per_6_hours","per_day","per_week"]).meta({id:"UsagePeriodScope","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),Kv=s.enum(["account_pool","per_instance","per_user","per_user_pooled"]).meta({id:"UsageAllocation","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),f6=s.enum(["allowed","limited","denied"]).meta({id:"EntitlementGrantStatus","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),g6=s.enum(["rule","user_context","override"]).meta({id:"EntitlementGrantSource","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),xR=s.enum(["hard_block","soft_block","degrade","allow_overage"]).meta({id:"EnforcementMode","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),tc=s.object({entitlement_id:s.string().min(1).meta(Y),entitlement_handle:s.string().min(1).meta(Y),status:f6.meta(Y),limit:s.number().optional().meta(Y),used:s.number().optional().meta(Y),allocation:Kv.optional().meta(Y),enforcement:xR.optional().meta(Y),source:g6.optional().meta(Y),plan_id:s.string().optional().meta(Y),segment_id:s.string().optional().meta(Y),seat_type_id:s.string().optional().meta(Y),rule_id:s.string().optional().meta(Y)}).meta({id:"EntitlementGrant","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en,"x-revturbine-data-classification":"operational"});s.object({account:s.record(s.string(),tc).optional().meta(Y),instance:s.record(s.string(),tc).optional().meta(Y),user:s.record(s.string(),tc).optional().meta(Y)}).meta({id:"EntitlementGrantSet","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en,"x-revturbine-data-classification":"operational"});var h6=s.enum(["public","non_public"]).meta({id:"RuleVisibility","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),b6=s.enum(["plan","plan_variation","addon","addon_variation"]).meta({id:"EntitlementRuleTargetKind","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),IR=s.object({kind:b6.meta(Y),id:s.string().min(1).meta(Y)}).meta({id:"EntitlementRuleTarget","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),_6=s.enum(["month","day","week","quarter","year","billing_period","on_purchase","hour","six_hours"]).meta({id:"EntitlementRulePeriodUnit","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),Go=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(Y),handle:Ct.meta(Y),customer_facing_description:s.string().max(500).optional().meta(Y),type:hR.meta(Y),unit:s.string().max(100).optional().meta(Y),period_scope:yR.optional().meta(Y),allocation:Kv.optional().meta(Y),tier_definitions:s.array(s.object({name:s.string(),handle:s.string(),description:s.string().optional()})).optional().meta(Y),sort_order:s.number().int().default(0).meta(Y),metadata:st.meta(Y)}).meta({id:"Entitlement","x-revturbine-schema-persistence":Id,"x-revturbine-schema-exposure":en}),Jo=oe.merge(Ae).extend({id:s.number().int().meta({...Y,readOnly:true}),plan_id:s.string().min(1).meta(Y),entitlement_id:s.string().min(1).meta(Y),value:s.union([s.boolean(),s.number(),s.string()]).meta(Y),override_label:s.string().max(200).optional().meta(Y)}).meta({id:"PlanEntitlement","x-revturbine-schema-persistence":Id,"x-revturbine-schema-exposure":Hv}),nc=J.merge(ee).merge(oe).merge(Ae).extend({entitlement_id:s.string().min(1).meta(Y),targets:s.array(IR).min(1).meta(Y),segment_ids:s.array(s.string()).default([]).meta(Y),visibility:h6.default("public").meta(Y),period_scope:yR.optional().meta(Y),instance:s.string().max(100).optional().meta(Y),reset_period:_6.optional().meta(Y),limit_value:s.union([s.number(),s.literal("unlimited")]).optional().meta(Y),enforcement:xR.optional().meta(Y),overage_price_ref:s.string().optional().meta(Y),grace_period_hours:s.number().int().min(0).optional().meta(Y),tier_value:s.string().optional().meta(Y),rate_value:s.number().optional().meta(Y),initial_grant:s.number().optional().meta(Y),allowance_value:s.union([s.number(),s.literal("unlimited")]).optional().meta(Y),rollover_enabled:s.boolean().optional().meta(Y),max_balance:s.union([s.number(),s.literal("unlimited")]).nullable().default(null).meta(Y),seat_type_id:s.string().optional().meta(Y),included_count:s.union([s.number().int(),s.literal("unlimited")]).optional().meta(Y),at_limit_behavior:s.enum(["hard_cap","auto_upgrade_at_renewal"]).optional().meta(Y),stripe_metered_price_id:s.string().optional().meta(Y)}).meta({id:"EntitlementRule","x-revturbine-schema-persistence":Id,"x-revturbine-schema-exposure":Hv});nc.superRefine((e,n)=>{e.reset_period==="billing_period"&&e.targets.findIndex(o=>o.kind!=="plan_variation"&&o.kind!=="addon_variation")!==-1&&n.addIssue({code:"custom",path:["reset_period"],params:{code:"billing_period_target_mismatch"},message:"reset_period='billing_period' requires all targets to be plan_variation or addon_variation"});});var v6=s.enum(["one_time_period_mismatch"]).meta({id:"EntitlementRuleWarningCode","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),y6=s.object({code:v6.meta(Y),message:s.string().min(1).meta(Y),path:s.array(s.union([s.string(),s.number().int()])).optional().meta(Y)}).meta({id:"EntitlementRuleWarning","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),Ev=nc.extend({warnings:s.array(y6).optional().meta(Y)}).meta({id:"EntitlementRuleWriteResponse","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en});var zv=J.merge(ee).merge(oe).merge(Ae).extend({rule_id:s.string().min(1).meta(Y),experiment_id:s.string().min(1).meta(Y),variant_name:s.string().min(1).max(200).meta(Y),is_control:s.boolean().default(false).meta(Y),override_fields:s.record(s.string(),s.unknown()).default({}).meta(Y)}).meta({id:"EntitlementRuleVariant","x-revturbine-schema-persistence":Id,"x-revturbine-schema-exposure":Hv}),x6=Rt(Go),I6=Rt(nc),S6=Rt(Jo);({"/api/entitlements":{get:b({operationId:"listEntitlements",requestParams:{query:ie},summary:"List entitlements",tags:["entitlements"],responses:{200:{description:"Entitlement list",content:{"application/json":{schema:re(Go)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"list"}}}),post:b({operationId:"createEntitlement",summary:"Create entitlement",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:Tt(Go)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Go}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"create"}}})},"/api/entitlements/{entitlementId}":{get:b({operationId:"getEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Get entitlement",tags:["entitlements"],responses:{200:{description:"Entitlement detail",content:{"application/json":{schema:Go}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"get"}}}),patch:b({operationId:"updateEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Update entitlement",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:x6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Go}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"update"}}}),delete:b({operationId:"deleteEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Delete entitlement",tags:["entitlements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"delete"}}})},"/api/entitlements/{entitlementId}/rules":{get:b({operationId:"listEntitlementRules",requestParams:{path:s.object({entitlementId:s.string()}),query:ie},summary:"List rules for entitlement",tags:["entitlements"],responses:{200:{description:"Rule list",content:{"application/json":{schema:re(nc)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"list"}}}),post:b({operationId:"createEntitlementRule",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Create entitlement rule",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:Tt(nc)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ev}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"create"}}})},"/api/entitlement-rules/{ruleId}":{patch:b({operationId:"updateEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update entitlement rule",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:I6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ev}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"update"}}}),delete:b({operationId:"deleteEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete entitlement rule",tags:["entitlements"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"delete"}}})},"/api/entitlement-rules/{ruleId}/duplicate":{post:b({operationId:"duplicateEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Duplicate entitlement rule",tags:["entitlements"],responses:{201:{description:"Duplicated",content:{"application/json":{schema:Ev}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"duplicate"}}})},"/api/entitlement-rules/{ruleId}/variants":{get:b({operationId:"listEntitlementRuleVariants",requestParams:{path:s.object({ruleId:s.string()}),query:ie},summary:"List A/B variants for rule",tags:["entitlements"],responses:{200:{description:"Variant list",content:{"application/json":{schema:re(zv)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rule-variants",persistence:{table:"entitlementRuleVariants",mode:"list"}}}),post:b({operationId:"createEntitlementRuleVariant",requestParams:{path:s.object({ruleId:s.string()})},summary:"Create rule A/B variant",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:Tt(zv)}}},responses:{201:{description:"Created",content:{"application/json":{schema:zv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rule-variants",persistence:{table:"entitlementRuleVariants",mode:"create"}}})},"/api/plan-entitlements":{get:b({operationId:"listPlanEntitlements",requestParams:{query:ie},summary:"List plan \u2194 entitlement mappings",tags:["entitlements"],responses:{200:{description:"Plan entitlement list",content:{"application/json":{schema:re(Jo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"list"}}}),post:b({operationId:"createPlanEntitlement",summary:"Create plan \u2194 entitlement mapping",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:Tt(Jo)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Jo}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"create"}}})},"/api/plan-entitlements/{id}":{get:b({operationId:"getPlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Get plan \u2194 entitlement mapping",tags:["entitlements"],responses:{200:{description:"Plan entitlement detail",content:{"application/json":{schema:Jo}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"get"}}}),put:b({operationId:"updatePlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Update plan \u2194 entitlement mapping",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:S6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Jo}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"update"}}}),delete:b({operationId:"deletePlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Delete plan \u2194 entitlement mapping",tags:["entitlements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"delete"}}})}});var {Unrestricted:ne}=mt,{Persisted:ac,Transient:sc}=ut,{External:Sr,Internal:P6}=dt,SR=s.enum(["fixed","gated_feature","usage_limit","trial","other_conversion","retention"]).meta({id:"PlacementCategory","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr}),PR=s.enum(["session","day","week","month","lifetime"]).meta({id:"CapPeriod","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr}),$6=s.object({count:s.number().int().positive().meta(ne),period:PR.meta(ne)}).meta({id:"PlacementCapRule","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr});s.object({surface_type:s.string().min(1).meta(ne),rules:s.array($6).meta(ne),cooldown_ms:s.number().int().nonnegative().optional().meta(ne)}).meta({id:"SurfaceTypeCapRule","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":Sr,"x-revturbine-data-classification":"operational"});var k6=s.enum(["open_checkout","view_plans","book_demo","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription","switch_billing_period","extend_trial","open_rt_placement","dismiss","snooze","custom"]).meta({id:"CtaPathType","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr}),Ii=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ne),handle:Ct.meta(ne),description:Kr.meta(ne),category:SR.meta(ne),drag_order_in_category:s.number().int().default(0).meta(ne),surface_slot_id:s.string().optional().meta(ne),entitlement_id:s.string().optional().meta(ne),tier_threshold:s.string().optional().meta(ne),threshold_percent:s.number().min(0).max(100).optional().meta(ne),trial_type:s.enum(["free","reverse"]).optional().meta(ne),trigger_type:s.string().optional().meta(ne),trial_progress_percent:s.number().min(0).max(100).optional().meta(ne),days_before_end:s.number().int().min(0).optional().meta(ne),qualifier:s.enum(["none_always_on","overage_vs_upgrade","time_bound","payment_failed","payment_at_risk"]).optional().meta(ne),activation_window_start:s.string().datetime().optional().meta(ne),activation_window_end:s.string().datetime().optional().meta(ne),metadata:st.meta(ne)}).meta({id:"Placement","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":Sr}),w6=s.object({label:s.string().min(1).max(200).meta(ne),cta_path_type:k6.meta(ne),config_fields:s.record(s.string(),s.unknown()).default({}).meta(ne)}).meta({id:"CtaObject","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr}),Qs=J.merge(ee).merge(oe).merge(Ae).extend({placement_id:s.string().min(1).meta(ne),drag_order:s.number().int().default(0).meta(ne),target_plan_ids:s.array(s.string()).default([]).meta(ne),target_plan_billing_cadences:s.array(s.string()).default([]).meta(ne),target_segments:s.array(s.string()).default([]).meta(ne),surface_slot_ids:s.array(s.string()).default([]).meta(ne),surface_template_id:s.string().min(1).meta(ne),content_fields:s.record(s.string(),s.unknown()).default({}).meta(ne),cta_list:s.array(w6).default([]).meta(ne),max_per_period:s.number().int().min(0).nullable().default(null).meta(ne),max_period_unit:PR.default("session").meta(ne),cooldown_after_dismiss_days:s.number().int().min(0).default(7).meta(ne),recommendation_strategy:s.enum(["next_tier_up","best_value","custom"]).optional().default("next_tier_up").meta(ne),recommendation_plan_override:s.string().optional().meta(ne)}).meta({id:"PlacementPayload","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":Sr});J.merge(ee).merge(oe).merge(Ae).extend({placement_payload_id:s.string().min(1).meta(ne),experiment_id:s.string().min(1).meta(ne),variant_name:s.string().min(1).max(200).meta(ne),is_control:s.boolean().default(false).meta(ne),traffic_allocation_percent:s.number().min(0).max(100).meta(ne),override_fields:s.record(s.string(),s.unknown()).default({}).meta(ne),status:s.enum(["active","paused","complete"]).default("active").meta(ne)}).meta({id:"PlacementVariant","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":P6});var T6=J.merge(ee).merge(oe).merge(Ae).extend({surface_slot_handle:s.string().min(1).max(200).meta(ne),surface_type:vd.meta(ne),surface_template_ids:s.array(s.string()).default([]).meta(ne),surface_slot_category:s.enum(["fixed","gated","triggered"]).default("fixed").meta(ne),first_seen:s.string().datetime().meta({...ne,readOnly:true}),last_seen:s.string().datetime().meta({...ne,readOnly:true}),status:s.enum(["active","inactive","new"]).default("new").meta(ne),placement_count:s.number().int().min(0).default(0).meta({...ne,readOnly:true})}).meta({id:"SurfaceSlot","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":Sr}),R6=Rt(Ii),C6=Rt(Qs);({"/api/placements":{get:b({operationId:"listPlacements",requestParams:{query:ie},summary:"List placements",tags:["placements"],responses:{200:{description:"Placement list",content:{"application/json":{schema:re(Ii)}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"list"}}}),post:b({operationId:"createPlacement",summary:"Create placement",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ii)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ii}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"create"}}})},"/api/placements/{placementId}":{get:b({operationId:"getPlacement",requestParams:{path:s.object({placementId:s.string()})},summary:"Get placement",tags:["placements"],responses:{200:{description:"Placement detail",content:{"application/json":{schema:Ii}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"get"}}}),patch:b({operationId:"updatePlacement",requestParams:{path:s.object({placementId:s.string()})},summary:"Update placement",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:R6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ii}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"update"}}}),delete:b({operationId:"deletePlacement",requestParams:{path:s.object({placementId:s.string()})},summary:"Delete placement",tags:["placements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"delete"}}})},"/api/placements/{placementId}/duplicate":{post:b({operationId:"duplicatePlacement",requestParams:{path:s.object({placementId:s.string()})},summary:"Duplicate placement",tags:["placements"],responses:{201:{description:"Duplicated",content:{"application/json":{schema:Ii}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"duplicate"}}})},"/api/placements/reorder":{post:b({operationId:"reorderPlacements",summary:"Reorder placements within category",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:s.object({category:SR,ids:s.array(s.string())})}}},responses:{200:{description:"Reordered"}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"reorder"}}})},"/api/placements/{placementId}/payloads":{get:b({operationId:"listPlacementPayloads",requestParams:{path:s.object({placementId:s.string()}),query:ie},summary:"List placement payloads",tags:["placements"],responses:{200:{description:"Payload list",content:{"application/json":{schema:re(Qs)}}}},"x-revturbine-operation":{exposure:"external",resource:"placement-payloads",persistence:{table:"placementPayloads",mode:"list"}}}),post:b({operationId:"createPlacementPayload",requestParams:{path:s.object({placementId:s.string()})},summary:"Create placement payload",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:Tt(Qs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Qs}}}},"x-revturbine-operation":{exposure:"external",resource:"placement-payloads",persistence:{table:"placementPayloads",mode:"create"}}})},"/api/placement-payloads/{payloadId}":{patch:b({operationId:"updatePlacementPayload",requestParams:{path:s.object({payloadId:s.string()})},summary:"Update placement payload",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:C6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Qs}}}},"x-revturbine-operation":{exposure:"external",resource:"placement-payloads",persistence:{table:"placementPayloads",mode:"update"}}}),delete:b({operationId:"deletePlacementPayload",requestParams:{path:s.object({payloadId:s.string()})},summary:"Delete placement payload",tags:["placements"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"external",resource:"placement-payloads",persistence:{table:"placementPayloads",mode:"delete"}}})},"/api/surface-slots":{get:b({operationId:"listSurfaceSlots",requestParams:{query:ie},summary:"List auto-discovered surface slots",tags:["placements"],responses:{200:{description:"Surface slot list",content:{"application/json":{schema:re(T6)}}}},"x-revturbine-operation":{exposure:"external",resource:"surface-slots",persistence:{table:"surfaceSlots",mode:"list"}}})}});var {Unrestricted:ke,Pii:ec}=mt,{Persisted:$R,Transient:Sd}=ut,{External:cc}=dt,Gv=s.object({in_trial:s.boolean().meta(ke),trial_type:s.string().optional().meta(ke),plan_handle:s.string().optional().meta(ke),state:s.enum(["active","running_out","expired","converted","none"]).optional().meta(ke),trial_limit_type:s.enum(["time","usage"]).optional().meta(ke),progress_percent:s.number().min(0).max(100).optional().meta(ke),day_number:s.number().int().min(0).optional().meta(ke),days_remaining:s.number().int().min(0).optional().meta(ke),usage_entitlement_handle:s.string().optional().meta(ke),usage_consumed:s.number().int().min(0).optional().meta(ke),usage_remaining:s.number().int().min(0).optional().meta(ke),usage_limit:s.number().int().min(0).optional().meta(ke)}).meta({id:"UserTrialStatus","x-revturbine-schema-persistence":Sd,"x-revturbine-schema-exposure":cc}),kR=s.object({entitlement_handle:s.string().min(1).meta(ke),unit:s.string().min(1).meta(ke),amount:s.number().min(0).meta(ke),limit:s.number().min(0).optional().meta(ke),reset_date:s.string().optional().meta(ke)}).meta({id:"UserUsageEntry","x-revturbine-schema-persistence":Sd,"x-revturbine-schema-exposure":cc}),wR=s.object({id:s.string().min(1).meta(ke),name:s.string().min(1).meta(ke),price:s.string().optional().meta(ke),billing_period:s.enum(["monthly","annual","none"]).optional().meta(ke)}).meta({id:"UserPlanContext","x-revturbine-schema-persistence":Sd,"x-revturbine-schema-exposure":cc}),E6=s.object({product_instance_id:s.string().min(1).meta(ke),user_id:s.string().min(1).meta(ec),plan:wR.optional().meta(ke),usage:s.record(s.string(),kR).default({}).meta(ke),trial:Gv.optional().meta(ke),entitlements:s.record(s.string(),s.union([s.boolean(),tc])).default({}).meta(ke)}).meta({id:"UserInstanceContext","x-revturbine-schema-persistence":$R,"x-revturbine-schema-exposure":cc}),Do=J.merge(oe).merge(ee).extend({user_id:s.string().min(1).meta(ec),account_id:s.string().min(1).nullable().optional().meta(ec),email:s.string().email().nullable().optional().meta(ec),email_type:s.string().optional().meta(ke),plan:wR.optional().meta(ke),usage:s.record(s.string(),kR).default({}).meta(ke),trial:Gv.optional().meta(ke),entitlements:s.record(s.string(),s.union([s.boolean(),tc])).default({}).meta(ke),instances:s.array(E6).optional().meta(ke),custom:s.record(s.string(),s.union([s.string(),s.number(),s.boolean(),s.null()])).default({}).meta(ec),personalization:s.record(s.string(),s.union([s.string(),s.number()])).default({}).meta({...ke,"x-revturbine-schema-persistence":Sd}),derived_config_version:s.string().nullable().optional().meta(ke),context_hash:s.string().nullable().optional().meta(ke),derived_computed_at:ot.meta(ke)}).meta({id:"UserContext","x-revturbine-schema-persistence":$R,"x-revturbine-schema-exposure":cc});({"/api/user-contexts":{get:b({operationId:"listUserContexts",requestParams:{query:ie},summary:"List user contexts",tags:["users"],responses:{200:{description:"User context list",content:{"application/json":{schema:re(Do)}}}},"x-revturbine-operation":{exposure:"internal",resource:"user-contexts",persistence:{table:"userContexts",mode:"list"}}})},"/api/user-contexts/{userContextId}":{get:b({operationId:"getUserContext",requestParams:{path:s.object({userContextId:s.string()})},summary:"Get user context",tags:["users"],responses:{200:{description:"User context",content:{"application/json":{schema:Do}}}},"x-revturbine-operation":{exposure:"internal",resource:"user-contexts",persistence:{table:"userContexts",mode:"get"}}}),patch:b({operationId:"updateUserContext",requestParams:{path:s.object({userContextId:s.string()})},summary:"Update a user context",tags:["users"],requestBody:{required:true,content:{"application/json":{schema:Do.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Do}}}},"x-revturbine-operation":{exposure:"internal",resource:"user-contexts",persistence:{table:"userContexts",mode:"update"}}}),delete:b({operationId:"deleteUserContext",requestParams:{path:s.object({userContextId:s.string()})},summary:"Delete a user context",tags:["users"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"user-contexts",persistence:{table:"userContexts",mode:"delete"}}})}});var {Unrestricted:Qt,Pii:Xo}=mt,{Persisted:Jv,Transient:Wv}=ut,{Internal:Qo}=dt,z6=s.object({external_id:s.string().min(1).meta(Xo),traits:s.record(s.string(),s.unknown()).default({}).meta(Xo),plan_id:s.string().optional().meta(Qt)}).meta({id:"Identity","x-revturbine-schema-persistence":Jv,"x-revturbine-schema-exposure":Qo}),sR=J.merge(ee).merge(oe).extend({external_id:s.string().min(1).meta(Xo),identity:z6.meta(Xo),stripe_customer_id:s.string().optional().meta(Qt),current_plan_id:s.string().optional().meta(Qt),subscription_status:s.enum(["active","past_due","canceled","trialing","unpaid","none"]).default("none").meta(Qt),status:s.enum(["active","churned","trial","suspended"]).default("active").meta(Qt),metadata:st.meta(Qt)}).meta({id:"Customer","x-revturbine-schema-persistence":Jv,"x-revturbine-schema-exposure":Qo}),j6=s.enum(["permanent","for_duration"]).meta({id:"CustomerOverrideDuration","x-revturbine-schema-persistence":Wv,"x-revturbine-schema-exposure":Qo}),U6=s.enum(["grant_plan","grant_addon","grant_entitlement"]).meta({id:"CustomerOverrideType","x-revturbine-schema-persistence":Wv,"x-revturbine-schema-exposure":Qo}),O6=s.enum(["active","expired","revoked"]).meta({id:"CustomerOverrideStatus","x-revturbine-schema-persistence":Wv,"x-revturbine-schema-exposure":Qo}),Vr=J.merge(ee).merge(oe).merge(Ae).extend({customer_id:s.string().min(1).meta(Xo),customer_id_list:s.array(s.string()).optional().meta(Xo),override_type:U6.meta(Qt),target_id:s.string().min(1).meta(Qt),value:s.record(s.string(),s.unknown()).default({}).meta(Qt),duration_type:j6.default("permanent").meta(Qt),duration_value:s.string().optional().meta(Qt),expiry_date:ot.meta(Qt),status:O6.default("active").meta(Qt),reason:s.string().max(500).optional().meta(Qt),created_by:s.string().optional().meta(Qt)}).meta({id:"CustomerOverride","x-revturbine-schema-persistence":Jv,"x-revturbine-schema-exposure":Qo});({"/api/customers":{get:b({operationId:"listCustomers",requestParams:{query:ie},summary:"List customers",tags:["customers"],responses:{200:{description:"Customer list",content:{"application/json":{schema:re(sR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"customers",persistence:{table:"customers",mode:"list"}}})},"/api/customers/{customerId}":{get:b({operationId:"getCustomer",requestParams:{path:s.object({customerId:s.string()})},summary:"Get customer by ID",tags:["customers"],responses:{200:{description:"Customer",content:{"application/json":{schema:sR}}}},"x-revturbine-operation":{exposure:"internal",resource:"customers",persistence:{table:"customers",mode:"get"}}})},"/api/customer-overrides":{get:b({operationId:"listCustomerOverrides",requestParams:{query:ie},summary:"List customer overrides",tags:["customers"],responses:{200:{description:"Override list",content:{"application/json":{schema:re(Vr)}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"list"}}})},"/api/customer-overrides/{overrideId}":{get:b({operationId:"getCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Get customer override",tags:["customers"],responses:{200:{description:"Override",content:{"application/json":{schema:Vr}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"get"}}}),patch:b({operationId:"updateCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Update customer override",tags:["customers"],requestBody:{required:true,content:{"application/json":{schema:Vr.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Vr}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"update"}}}),delete:b({operationId:"deleteCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Delete customer override",tags:["customers"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"delete"}}})},"/api/customer-overrides/{overrideId}/revoke":{post:b({operationId:"revokeCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Revoke an active customer override",tags:["customers"],responses:{200:{description:"Revoked",content:{"application/json":{schema:Vr}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"update"}}})},"/api/customer-overrides/{overrideId}/duplicate":{post:b({operationId:"duplicateCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Duplicate customer override for another customer",tags:["customers"],requestBody:{required:true,content:{"application/json":{schema:s.object({customer_id:s.string()})}}},responses:{201:{description:"Duplicated",content:{"application/json":{schema:Vr}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"create"}}})}});var {Unrestricted:Pt}=mt,{Persisted:Xv,Transient:TR}=ut,{Internal:lc}=dt,D6=s.enum(["default","custom"]).meta({id:"DimensionCategory","x-revturbine-schema-persistence":TR,"x-revturbine-schema-exposure":lc}),A6=s.enum(["system","sdk_trait","sdk_trait_enum","cdp_property","manual_list"]).meta({id:"DimensionSourceType","x-revturbine-schema-persistence":TR,"x-revturbine-schema-exposure":lc}),jv=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(Pt),handle:Ct.optional().meta(Pt),category:D6.default("custom").meta(Pt),visibility_toggle:s.boolean().default(true).meta(Pt),source_type:A6.default("system").meta(Pt),estimated_size:s.number().int().min(0).optional().meta(Pt)}).meta({id:"SegmentDimension","x-revturbine-schema-persistence":Xv,"x-revturbine-schema-exposure":lc}),Uv=J.merge(ee).merge(oe).merge(Ae).extend({dimension_id:s.string().min(1).meta(Pt),name:at.meta(Pt),handle:Ct.meta(Pt),description:Kr.meta(Pt),definition_rule:s.record(s.string(),s.unknown()).optional().meta(Pt),used_in_count:s.number().int().min(0).default(0).meta({...Pt,readOnly:true})}).meta({id:"SegmentValue","x-revturbine-schema-persistence":Xv,"x-revturbine-schema-exposure":lc});J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(Pt),handle:Ct.meta(Pt),description:Kr.meta(Pt),rules:s.record(s.string(),s.unknown()).default({}).meta(Pt),is_active:s.boolean().default(true).meta(Pt),estimated_size:s.number().int().min(0).nullable().default(null).meta(Pt),metadata:st.meta(Pt)}).meta({id:"Segment","x-revturbine-schema-persistence":Xv,"x-revturbine-schema-exposure":lc});({"/api/segments":{get:b({operationId:"listSegmentDimensions",requestParams:{query:ie},summary:"List segment dimensions",tags:["segments"],responses:{200:{description:"Dimension list",content:{"application/json":{schema:re(jv)}}}},"x-revturbine-operation":{exposure:"internal",resource:"segments",persistence:{table:"segmentDimensions",mode:"list"}}})},"/api/segments/custom":{post:b({operationId:"createCustomDimension",summary:"Create custom segment dimension",tags:["segments"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string(),description:s.string().optional()})}}},responses:{201:{description:"Created",content:{"application/json":{schema:jv}}}},"x-revturbine-operation":{exposure:"internal",resource:"segments",persistence:{table:"segmentDimensions",mode:"create"}}})},"/api/segments/{dimensionId}":{delete:b({operationId:"deleteCustomDimension",requestParams:{path:s.object({dimensionId:s.string()})},summary:"Delete custom dimension",tags:["segments"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"segments",persistence:{table:"segmentDimensions",mode:"delete"}}})},"/api/segments/{dimensionId}/visibility":{patch:b({operationId:"toggleDimensionVisibility",requestParams:{path:s.object({dimensionId:s.string()})},summary:"Toggle dimension visibility",tags:["segments"],requestBody:{required:true,content:{"application/json":{schema:s.object({visible:s.boolean()})}}},responses:{200:{description:"Updated",content:{"application/json":{schema:jv}}}},"x-revturbine-operation":{exposure:"internal",resource:"segments",persistence:{table:"segmentDimensions",mode:"update"}}})},"/api/segments/{dimensionId}/values":{get:b({operationId:"listSegmentValues",requestParams:{path:s.object({dimensionId:s.string()}),query:ie},summary:"List segment values for dimension",tags:["segments"],responses:{200:{description:"Value list",content:{"application/json":{schema:re(Uv)}}}},"x-revturbine-operation":{exposure:"internal",resource:"segment-values",persistence:{table:"segmentValues",mode:"list"}}}),post:b({operationId:"createSegmentValue",requestParams:{path:s.object({dimensionId:s.string()})},summary:"Create segment value",tags:["segments"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string(),handle:s.string(),definition_rule:s.record(s.string(),s.unknown()).optional()})}}},responses:{201:{description:"Created",content:{"application/json":{schema:Uv}}}},"x-revturbine-operation":{exposure:"internal",resource:"segment-values",persistence:{table:"segmentValues",mode:"create"}}})},"/api/segment-values/{valueId}":{patch:b({operationId:"updateSegmentValue",requestParams:{path:s.object({valueId:s.string()})},summary:"Update segment value",tags:["segments"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().optional(),definition_rule:s.record(s.string(),s.unknown()).optional()})}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Uv}}}},"x-revturbine-operation":{exposure:"internal",resource:"segment-values",persistence:{table:"segmentValues",mode:"update"}}}),delete:b({operationId:"deleteSegmentValue",requestParams:{path:s.object({valueId:s.string()})},summary:"Delete segment value",tags:["segments"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"segment-values",persistence:{table:"segmentValues",mode:"delete"}}})}});var {Unrestricted:ye}=mt,{Persisted:ea,Transient:RR}=ut,{External:Gr}=dt;J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ye),channel:s.enum(["in_app","email","push","sms","webhook"]).meta(ye),subject:s.string().max(500).optional().meta(ye),body:s.string().meta(ye),template_variables:s.array(s.string()).default([]).meta(ye),metadata:st.meta(ye)}).meta({id:"Message","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr});var Ov=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ye),handle:Ct.meta(ye),action_type:_R.meta(ye),target_url:s.string().optional().meta(ye),target_plan_id:s.string().optional().meta(ye),config_fields:s.record(s.string(),s.unknown()).default({}).meta(ye),metadata:st.meta(ye)}).meta({id:"CtaPath","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),N6=s.enum(["header","body","secondary_body","message","cta_label","secondary_label","image","toggle","duration","send_delay","entitlement","plan","dropdown","json"]).meta({id:"TemplateFieldType","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),F6=s.object({name:s.string().min(1),field_type:N6,required:s.boolean().default(false),default_value:s.unknown().optional(),order:s.number().int().min(0).optional(),help_text:s.string().max(500).optional()}).meta({id:"FieldDefinition","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),Dv=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ye),handle:Ct.meta(ye),surface_type:bR.meta(ye),field_definitions:s.array(F6).default([]).meta(ye),description:Kr.meta(ye)}).meta({id:"SurfaceTemplate","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),Av=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ye),handle:Ct.meta(ye),content_fields:s.record(s.string(),s.unknown()).default({}).meta(ye),variation_dimension_id:s.string().optional().meta(ye),variation_values:s.array(s.object({segment_value_id:s.string(),content_fields_override:s.record(s.string(),s.unknown())})).optional().meta(ye),notes:s.string().max(1e3).optional().meta(ye),used_in_count:s.number().int().min(0).default(0).meta({...ye,readOnly:true})}).meta({id:"MessageBlockRecord","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),L6=s.object({segment_id:s.string().min(1).meta(ye),message_block_id:s.string().min(1).meta(ye),ui_path_id:s.string().optional().meta(ye),promotion_id:s.string().optional().meta(ye)}).meta({id:"ContentPayloadSegmentEntry","x-revturbine-schema-persistence":RR,"x-revturbine-schema-exposure":Gr});s.object({payload_id:s.string().min(1).meta(ye),tenant_id:s.string().min(1).meta(ye),name:at.meta(ye),surface_template_id:s.string().min(1).meta(ye),default_message_block_id:s.string().min(1).meta(ye),segment_content_map:s.array(L6).optional().meta(ye),ui_path_id:s.string().optional().meta(ye),promotion_id:s.string().optional().meta(ye),status:s.enum(["draft","active","inactive"]).meta(ye),created_at:s.string().datetime().optional().meta({...ye,readOnly:true}),updated_at:s.string().datetime().optional().meta({...ye,readOnly:true})}).meta({id:"ContentPlacementPayload","x-revturbine-schema-persistence":RR,"x-revturbine-schema-exposure":Gr});({"/api/surface-templates":{get:b({operationId:"listSurfaceTemplates",requestParams:{query:ie},summary:"List surface templates",tags:["content"],responses:{200:{description:"Template list",content:{"application/json":{schema:re(Dv)}}}},"x-revturbine-operation":{exposure:"external",resource:"surface-templates",persistence:{table:"surfaceTemplates",mode:"list"}}})},"/api/messages":{get:b({operationId:"listMessageBlocks",requestParams:{query:ie},summary:"List message blocks",tags:["content"],responses:{200:{description:"Message block list",content:{"application/json":{schema:re(Av)}}}},"x-revturbine-operation":{exposure:"external",resource:"message-blocks",persistence:{table:"messageBlocks",mode:"list"}}})},"/api/cta-paths":{get:b({operationId:"listCtaPaths",requestParams:{query:ie},summary:"List CTA paths",tags:["content"],responses:{200:{description:"CTA path list",content:{"application/json":{schema:re(Ov)}}}},"x-revturbine-operation":{exposure:"external",resource:"cta-paths",persistence:{table:"ctaPaths",mode:"list"}}})}});var {Unrestricted:Wo,Pii:Z6}=mt,{Persisted:CR}=ut,{Internal:B6,External:M6}=dt;s.object({id:s.string().min(1).meta({...Wo,readOnly:true}),name:s.string().min(1).max(120).meta(Wo),mode:s.enum(["light","dark","system"]).default("system").meta(Wo),tokens:s.record(s.string(),s.string()).default({}).meta(Wo)}).meta({id:"Theme","x-revturbine-schema-persistence":CR,"x-revturbine-schema-exposure":M6});var cR=J.merge(ee).extend({user_id:s.string().min(1).meta(Z6),scope:s.string().min(1).meta(Wo),preferences:s.record(s.string(),s.unknown()).default({}).meta(Wo)}).meta({id:"UiPreference","x-revturbine-schema-persistence":CR,"x-revturbine-schema-exposure":B6});({"/api/ui-preferences":{get:b({operationId:"listUiPreferences",requestParams:{query:ie},summary:"List UI preferences",tags:["ui"],responses:{200:{description:"UI preferences list response",content:{"application/json":{schema:re(cR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"ui-preferences",persistence:{table:"uiPreferences",mode:"list"}}}),put:b({operationId:"upsertUiPreferences",summary:"Upsert UI preferences",tags:["ui"],requestBody:{required:true,content:{"application/json":{schema:s.array(Rt(cR))}}},responses:{200:{description:"UI preferences upsert response",content:{"application/json":{schema:s.object({updated:s.number().int().min(0)})}}}},"x-revturbine-operation":{exposure:"internal",resource:"ui-preferences",persistence:{table:"uiPreferences",mode:"upsert",writeSchema:"UiPreferenceSchema#writable"}}})}});var {Unrestricted:ge,Financial:or}=mt,{Persisted:ER,Transient:uc}=ut,{External:dc,Internal:zR}=dt,V6=s.object({month:s.string().meta(ge),cohort_size:s.number().int().min(0).meta(ge),retained:s.number().int().min(0).meta(ge),retention_rate:s.number().min(0).max(1).meta(ge),revenue_cents:s.number().int().min(0).meta(or)}).meta({id:"CohortMonth","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),q6=s.object({step:s.string().meta(ge),label:s.string().meta(ge),count:s.number().int().min(0).meta(ge),conversion_rate:s.number().min(0).max(1).meta(ge),drop_off_rate:s.number().min(0).max(1).meta(ge)}).meta({id:"FunnelStep","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),H6=s.object({placement_id:s.string().meta(ge),placement_name:s.string().meta(ge),impressions:s.number().int().min(0).meta(ge),clicks:s.number().int().min(0).meta(ge),conversions:s.number().int().min(0).meta(ge),ctr:s.number().min(0).meta(ge),conversion_rate:s.number().min(0).meta(ge),revenue_cents:s.number().int().min(0).meta(or)}).meta({id:"PlacementPerformanceRow","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),K6=s.object({date:s.string().meta(ge),mrr_cents:s.number().int().min(0).meta(or),arr_cents:s.number().int().min(0).meta(or),new_mrr_cents:s.number().int().min(0).meta(or),churned_mrr_cents:s.number().int().min(0).meta(or),expansion_mrr_cents:s.number().int().min(0).meta(or),net_new_mrr_cents:s.number().int().meta(or)}).meta({id:"RevenueMetric","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),G6=s.object({metric_key:s.string().min(1).meta(ge),label:s.string().meta(ge),current_value:s.number().meta(or),previous_value:s.number().nullable().default(null).meta(or),change_percent:s.number().nullable().default(null).meta(ge),period:s.string().meta(ge),unit:s.enum(["count","cents","percent","ratio","seconds"]).default("count").meta(ge)}).meta({id:"KpiAggregate","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),lR=J.merge(ee).merge(oe).extend({report_type:s.enum(["plan_drift","entitlement_drift","usage_anomaly","revenue_anomaly"]).meta(ge),severity:Vv.meta(ge),resource_type:s.string().min(1).meta(ge),resource_id:s.string().min(1).meta(ge),summary:s.string().max(1e3).meta(ge),expected_value:s.unknown().optional().meta(ge),actual_value:s.unknown().optional().meta(ge),affected_customer_count:s.number().int().min(0).default(0).meta(ge),is_resolved:s.boolean().default(false).meta(ge),resolved_at:ot.meta(ge),metadata:st.meta(ge)}).meta({id:"DriftReport","x-revturbine-schema-persistence":ER,"x-revturbine-schema-exposure":zR}),uR=J.merge(ee).merge(oe).extend({alert_type:s.enum(["usage_threshold","revenue_drop","conversion_drop","experiment_significance","drift_detected","custom"]).meta(ge),severity:Vv.meta(ge),title:s.string().min(1).max(300).meta(ge),description:s.string().max(2e3).meta(ge),resource_type:s.string().optional().meta(ge),resource_id:s.string().optional().meta(ge),is_acknowledged:s.boolean().default(false).meta(ge),acknowledged_at:ot.meta(ge),acknowledged_by:s.string().nullable().default(null).meta(ge),metadata:st.meta(ge)}).meta({id:"Alert","x-revturbine-schema-persistence":ER,"x-revturbine-schema-exposure":zR});({"/api/analytics/kpis":{get:b({operationId:"listKpiAggregates",requestParams:{query:ie},summary:"List KPI aggregate metrics",tags:["analytics"],responses:{200:{description:"KPI list",content:{"application/json":{schema:re(G6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"kpiAggregates",mode:"list"}}})},"/api/analytics/placement-performance":{get:b({operationId:"listPlacementPerformance",requestParams:{query:ie},summary:"List placement performance rows",tags:["analytics"],responses:{200:{description:"Performance rows",content:{"application/json":{schema:re(H6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"placementPerformance",mode:"list"}}})},"/api/analytics/revenue":{get:b({operationId:"listRevenueMetrics",requestParams:{query:ie},summary:"List revenue metrics over time",tags:["analytics"],responses:{200:{description:"Revenue metrics",content:{"application/json":{schema:re(K6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"revenueMetrics",mode:"list"}}})},"/api/analytics/cohorts":{get:b({operationId:"listCohortMetrics",requestParams:{query:ie},summary:"List cohort retention metrics",tags:["analytics"],responses:{200:{description:"Cohort metrics",content:{"application/json":{schema:re(V6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"cohortMetrics",mode:"list"}}})},"/api/analytics/funnels":{get:b({operationId:"listFunnelSteps",requestParams:{query:ie},summary:"List funnel step metrics",tags:["analytics"],responses:{200:{description:"Funnel steps",content:{"application/json":{schema:re(q6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"funnelSteps",mode:"list"}}})},"/api/analytics/drift-reports":{get:b({operationId:"listDriftReports",requestParams:{query:ie},summary:"List drift reports",tags:["analytics"],responses:{200:{description:"Drift reports",content:{"application/json":{schema:re(lR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"driftReports",mode:"list"}}})},"/api/analytics/drift-reports/{reportId}/resolve":{post:b({operationId:"resolveDriftReport",requestParams:{path:s.object({reportId:s.string()})},summary:"Mark a drift report as resolved",tags:["analytics"],responses:{200:{description:"Resolved",content:{"application/json":{schema:lR}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"driftReports",mode:"update"}}})},"/api/analytics/alerts":{get:b({operationId:"listAlerts",requestParams:{query:ie},summary:"List alerts",tags:["analytics"],responses:{200:{description:"Alert list",content:{"application/json":{schema:re(uR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"alerts",mode:"list"}}})},"/api/analytics/alerts/{alertId}/acknowledge":{post:b({operationId:"acknowledgeAlert",requestParams:{path:s.object({alertId:s.string()})},summary:"Acknowledge an alert",tags:["analytics"],responses:{200:{description:"Acknowledged",content:{"application/json":{schema:uR}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"alerts",mode:"update"}}})}});var {Unrestricted:Z,Pii:Yo}=mt,{Persisted:jR,Transient:ct}=ut,{Internal:Jr,External:Et}=dt,UR=s.enum(["clickstream","telemetry","sdk","workflow","system"]).meta({id:"EventSource","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et}),J6=J.extend({event_type:s.string().min(1).meta(Z),source:UR.default("sdk").meta(Z),tenant_id:s.string().min(1).optional().meta(Z),user_id:s.string().min(1).optional().meta(Yo),session_id:s.string().min(1).optional().meta(Yo),occurred_at:s.string().datetime().meta(Z),request_id:s.string().min(1).meta(Z),attributes:s.record(s.string(),s.unknown()).default({}).meta(Z),payload:s.record(s.string(),s.unknown()).default({}).meta(Z)}).meta({id:"EventEnvelope","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr}),W6=J6.extend({ingested_at:s.string().datetime().meta(Z)}).meta({id:"IngestedEvent","x-revturbine-schema-persistence":jR,"x-revturbine-schema-exposure":Jr});s.array(s.object({id:s.string().min(1).optional().meta(Z),event_type:s.string().min(1).meta(Z),occurred_at:s.string().datetime().optional().meta(Z),tenant_id:s.string().min(1).optional().meta(Z),user_id:s.string().min(1).optional().meta(Yo),session_id:s.string().min(1).optional().meta(Yo),attributes:s.record(s.string(),s.unknown()).optional().meta(Z),payload:s.record(s.string(),s.unknown()).optional().meta(Z),message:s.string().optional().meta(Z),level:s.string().optional().meta(Z),path:s.string().optional().meta(Z)})).meta({id:"EventIngestBatch","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr});var X6=s.enum(["impression","dismiss","remind_me_later","cta_clicked","cta_completed","suppress"]).meta({id:"TreatmentInteractionType","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({user_id:s.string().min(1).meta(Yo),placement_id:s.string().min(1).meta(Z),treatment_id:s.string().min(1).optional().meta(Z),surface_slot_id:s.string().min(1).optional().meta(Z),surface_template_id:s.string().min(1).optional().meta(Z),payload_id:s.string().min(1).optional().meta(Z),interaction_type:X6.meta(Z),interaction_at:s.string().datetime().optional().meta(Z),metadata:s.record(s.string(),s.unknown()).optional().meta(Z)}).meta({id:"TreatmentInteractionInput","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.enum(["trial_midpoint","trial_expiring","trial_expired","usage_limit_approaching","usage_limit_reached","credit_balance_low","seat_limit_reached","feature_gated","cancel_intent","payment_failed","auto_renewal_reminder","onboarding_complete","invite_teammate_prompt","referral_offer","plan_upgrade_nudge"]).meta({id:"TriggerEventType","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({days_remaining:s.number().int().min(0).optional().meta(Z)}).meta({id:"TrialTriggerPayload","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({entitlement_handle:s.string().optional().meta(Z),current_usage:s.number().min(0).optional().meta(Z),usage_limit:s.number().min(0).optional().meta(Z),usage_percent:s.number().min(0).max(100).optional().meta(Z),threshold:s.number().min(0).optional().meta(Z),balance:s.number().min(0).optional().meta(Z),allocation:s.number().min(0).optional().meta(Z),seats_used:s.number().int().min(0).optional().meta(Z),seats_allowed:s.number().int().min(0).optional().meta(Z)}).meta({id:"UsageTriggerPayload","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({feature:s.string().min(1).meta(Z)}).meta({id:"FeatureGateTriggerPayload","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({retry_count:s.number().int().min(0).optional().meta(Z),renewal_date:s.string().optional().meta(Z)}).meta({id:"PaymentTriggerPayload","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({event_type:s.string().min(1).meta(Z),payload:s.record(s.string(),s.unknown()).default({}).meta(Z)}).meta({id:"SemanticEvent","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});var Q6=s.enum(["system","workflow"]).meta({id:"ControlPlaneEventSource","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et}),eD=s.enum(["web_signed_up","web_signed_in","cli_signed_up","cli_signed_in","cli_command_executed","changeset_submitted","changeset_approved","changeset_rejected","changeset_deployed","changeset_launched","changeset_parked","changeset_resumed","changeset_discarded","changeset_archived","config_imported","config_exported","entity_created","entity_updated","entity_deleted"]).meta({id:"ControlPlaneEventType","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({event_type:eD.meta(Z),source:Q6.meta(Z),payload:s.record(s.string(),s.unknown()).default({}).meta(Z)}).meta({id:"ControlPlaneSemanticEvent","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({q:s.string().optional().meta(Z),source:UR.optional().meta(Z),event_type:s.string().optional().meta(Z),from:s.string().datetime().optional().meta(Z),to:s.string().datetime().optional().meta(Z),page:s.coerce.number().int().min(1).default(1).meta(Z),per_page:s.coerce.number().int().min(1).max(100).default(25).meta(Z)}).meta({id:"EventSearchParams","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr});var tD=s.enum(["stripe","apple","google"]).meta({id:"WebhookEventSource","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr}),nD=s.enum(["processed","failed","skipped"]).meta({id:"WebhookEventStatus","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr}),Nv=J.merge(ee).merge(oe).extend({event_id:s.string().min(1).meta(Z),event_type:s.string().min(1).meta(Z),source:tD.meta(Z),payload:s.record(s.string(),s.unknown()).default({}).meta(Z),status:nD.default("processed").meta(Z),processed_at:s.string().datetime().optional().meta(Z),error_message:s.string().optional().meta(Z)}).meta({id:"WebhookEventLog","x-revturbine-schema-persistence":jR,"x-revturbine-schema-exposure":Jr});s.object({accepted:s.number().int().min(0).meta(Z)}).meta({id:"null","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr});var rD=500,iD=s.object({environment_id:s.string().min(1).meta(Z),user_id:s.string().min(1).meta(Yo),account_id:s.string().min(1).meta(Z),event_name:s.string().min(1).max(120).meta(Z),event_ts:s.string().datetime().meta(Z),properties:s.string().optional().meta(Z),surface_slot_id:s.string().nullable().optional().meta(Z),placement_id:s.string().nullable().optional().meta(Z),payload_id:s.string().nullable().optional().meta(Z),request_id:s.string().optional().meta(Z),experiment_id:s.string().nullable().optional().meta(Z),variant_key:s.string().nullable().optional().meta(Z),tenant_id:s.string().optional().meta(Z)}).meta({id:"TrackEvent","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({events:s.array(iD).min(1).max(rD).meta(Z)}).meta({id:"TrackIngestBatch","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});var aD=10,sD=s.enum(["sdk_init","sdk_error","sdk_validation_warning"]).meta({id:"SdkMetaEventType","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et}),cD=s.object({plans:s.number().int().min(0).meta(Z),entitlements:s.number().int().min(0).meta(Z),entitlement_rules:s.number().int().min(0).meta(Z),segments:s.number().int().min(0).meta(Z),placements:s.number().int().min(0).meta(Z),placement_payloads:s.number().int().min(0).meta(Z),content_ui_paths:s.number().int().min(0).meta(Z),surface_templates:s.number().int().min(0).meta(Z)}).meta({id:"SdkConfigShape","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et}),lD=s.object({event_type:sD.meta(Z),occurred_at:s.string().datetime().meta(Z),request_id:s.string().min(1).optional().meta(Z),config_hash_id:s.string().min(1).max(64).optional().meta(Z),sdk_version:s.string().min(1).max(64).optional().meta(Z),runtime_mode:s.string().min(1).max(64).optional().meta(Z),schema_version:s.string().min(1).max(64).optional().meta(Z),bundle_version:s.string().min(1).max(64).optional().meta(Z),config_shape:cD.optional().meta(Z),message:s.string().max(500).optional().meta(Z)}).meta({id:"SdkMetaEvent","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({events:s.array(lD).min(1).max(aD).meta(Z)}).meta({id:"SdkMetaIngestBatch","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});({"/api/events/search":{get:b({operationId:"searchEvents",summary:"Search ingested events",tags:["events"],responses:{200:{description:"Paginated event results",content:{"application/json":{schema:a6(W6)}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"events"}})},"/api/webhook-events":{get:b({operationId:"listWebhookEvents",requestParams:{query:ie},summary:"List webhook event log entries",tags:["events"],responses:{200:{description:"Webhook event list",content:{"application/json":{schema:re(Nv)}}}},"x-revturbine-operation":{exposure:"internal",resource:"webhook-events",persistence:{table:"webhookEventLog",mode:"list"}}})}});var {Unrestricted:ue}=mt,{Persisted:mc,Transient:pc}=ut,{Internal:ar}=dt,dD=s.enum(["not_started","active","expired","converted","cancelled"]).meta({id:"TrialStatus","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),Yv=s.enum(["time","usage"]).meta({id:"TrialLimitType","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),OR=s.object({name:at.meta(ue),handle:Ct.meta(ue),plan_id:s.string().nullable().optional().meta(ue),segment_id:s.string().nullable().optional().meta(ue),trial_limit_type:Yv.default("time").meta(ue),duration_days:s.number().int().min(1).max(365).nullable().optional().meta(ue),grace_period_days:s.number().int().min(0).default(0).meta(ue),usage_entitlement_handle:s.string().min(1).optional().meta(ue),usage_limit_value:s.number().int().min(1).optional().meta(ue),require_payment_method:s.boolean().default(false).meta(ue),auto_convert:s.boolean().default(true).meta(ue),convert_to_plan_id:s.string().optional().meta(ue),fallback_plan_id:s.string().optional().meta(ue),limit_per_customer:s.number().int().min(1).default(1).meta(ue),is_active:s.boolean().default(true).meta(ue),metadata:st.meta(ue)}),Ao=J.merge(ee).merge(oe).merge(Ae).merge(OR).meta({id:"FreeTrialRule","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar}),mD=s.enum(["signup","first_premium_access","manual"]).meta({id:"ReverseTrialStartPolicy","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),DR=s.object({name:at.meta(ue),handle:Ct.meta(ue),premium_plan_id:s.string().min(1).meta(ue),fallback_plan_id:s.string().min(1).meta(ue),segment_id:s.string().nullable().optional().meta(ue),trial_limit_type:Yv.default("time").meta(ue),duration_days:s.number().int().min(1).max(365).nullable().optional().meta(ue),usage_entitlement_handle:s.string().min(1).optional().meta(ue),usage_limit_value:s.number().int().min(1).optional().meta(ue),start_policy:mD.default("signup").meta(ue),show_upgrade_prompt_at_day:s.number().int().min(0).optional().meta(ue),entitlements_during_trial:s.array(s.string()).default([]).meta(ue),is_active:s.boolean().default(true).meta(ue),metadata:st.meta(ue)}),No=J.merge(ee).merge(oe).merge(Ae).merge(DR).meta({id:"ReverseTrialRule","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar}),AR=s.enum(["1_per_lifetime","1_per_plan","1_per_year","unlimited"]).meta({id:"TrialLimitPolicy","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),NR=s.enum(["per_customer","per_email_domain"]).meta({id:"TrialEligibilityScope","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),Fo=J.merge(ee).merge(oe).extend({trial_limit_policy:AR.default("1_per_lifetime").meta(ue),eligibility_scope:NR.default("per_customer").meta(ue)}).meta({id:"FreeTrialSettings","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar}),Lo=J.merge(ee).merge(oe).extend({trial_limit_policy:AR.default("1_per_lifetime").meta(ue),eligibility_scope:NR.default("per_customer").meta(ue)}).meta({id:"ReverseTrialSettings","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar}),pd=J.merge(ee).merge(oe).extend({customer_id:s.string().min(1).meta(ue),rule_id:s.string().min(1).meta(ue),rule_type:s.enum(["free_trial","reverse_trial"]).meta(ue),plan_id:s.string().min(1).meta(ue),status:dD.default("active").meta(ue),started_at:s.string().datetime().meta({...ue,readOnly:true}),expires_at:s.string().datetime().nullable().optional().meta(ue),trial_limit_type:Yv.default("time").meta(ue),usage_entitlement_handle:s.string().min(1).optional().meta(ue),usage_limit_value:s.number().int().min(1).optional().meta(ue),converted_at:ot.meta(ue),cancelled_at:ot.meta(ue),metadata:st.meta(ue)}).meta({id:"TrialInstance","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar});({"/api/trials/free-rules":{get:b({operationId:"listFreeTrialRules",requestParams:{query:ie},summary:"List free trial rules",tags:["trials"],responses:{200:{description:"Free trial rule list",content:{"application/json":{schema:re(Ao)}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"list"}}})},"/api/trials/free-rules/{ruleId}":{get:b({operationId:"getFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Get free trial rule",tags:["trials"],responses:{200:{description:"Free trial rule",content:{"application/json":{schema:Ao}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"get"}}}),patch:b({operationId:"updateFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update free trial rule",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:Ao.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ao}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"update"}}}),delete:b({operationId:"deleteFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete free trial rule",tags:["trials"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"delete"}}})},"/api/trials/reverse-rules":{get:b({operationId:"listReverseTrialRules",requestParams:{query:ie},summary:"List reverse trial rules",tags:["trials"],responses:{200:{description:"Reverse trial rule list",content:{"application/json":{schema:re(No)}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"list"}}})},"/api/trials/reverse-rules/{ruleId}":{get:b({operationId:"getReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Get reverse trial rule",tags:["trials"],responses:{200:{description:"Reverse trial rule",content:{"application/json":{schema:No}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"get"}}}),patch:b({operationId:"updateReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update reverse trial rule",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:No.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:No}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"update"}}}),delete:b({operationId:"deleteReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete reverse trial rule",tags:["trials"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"delete"}}})},"/api/trials/free-settings":{get:b({operationId:"listFreeTrialSettings",requestParams:{query:ie},summary:"List free trial settings (one row per tenant)",tags:["trials"],responses:{200:{description:"Free trial settings list",content:{"application/json":{schema:re(Fo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"list"}}})},"/api/trials/free-settings/{settingsId}":{get:b({operationId:"getFreeTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Get free trial settings",tags:["trials"],responses:{200:{description:"Free trial settings",content:{"application/json":{schema:Fo}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"get"}}}),patch:b({operationId:"updateFreeTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update free trial settings",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:Fo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Fo}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"update"}}})},"/api/trials/reverse-settings":{get:b({operationId:"listReverseTrialSettings",requestParams:{query:ie},summary:"List reverse trial settings (one row per tenant)",tags:["trials"],responses:{200:{description:"Reverse trial settings list",content:{"application/json":{schema:re(Lo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"list"}}})},"/api/trials/reverse-settings/{settingsId}":{get:b({operationId:"getReverseTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Get reverse trial settings",tags:["trials"],responses:{200:{description:"Reverse trial settings",content:{"application/json":{schema:Lo}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"get"}}}),patch:b({operationId:"updateReverseTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update reverse trial settings",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:Lo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Lo}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"update"}}})},"/api/trials/instances":{get:b({operationId:"listTrialInstances",requestParams:{query:ie},summary:"List trial instances",tags:["trials"],responses:{200:{description:"Trial instance list",content:{"application/json":{schema:re(pd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"list"}}})},"/api/trials/instances/{instanceId}":{get:b({operationId:"getTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Get trial instance",tags:["trials"],responses:{200:{description:"Trial instance",content:{"application/json":{schema:pd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"get"}}})},"/api/trials/instances/{instanceId}/cancel":{post:b({operationId:"cancelTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Cancel an active trial",tags:["trials"],responses:{200:{description:"Cancelled",content:{"application/json":{schema:pd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"update"}}})},"/api/trials/instances/{instanceId}/convert":{post:b({operationId:"convertTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Convert trial to paid subscription",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:s.object({plan_id:s.string().optional()})}}},responses:{200:{description:"Converted",content:{"application/json":{schema:pd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"update"}}})}});var {Unrestricted:tt}=mt,{Persisted:Qv,Transient:FR}=ut,{Internal:fc}=dt,pD=s.enum(["draft","ramping","winning","neutral","needs_attention","paused","complete"]).meta({id:"ExperimentStatus","x-revturbine-schema-persistence":FR,"x-revturbine-schema-exposure":fc}),fD=s.enum(["placement_ab","entitlement_ab","plan_ab","pricing_ab","custom"]).meta({id:"ExperimentType","x-revturbine-schema-persistence":FR,"x-revturbine-schema-exposure":fc}),gD=s.object({variant_id:s.string().min(1),name:at,weight:s.number().min(0).max(1).default(.5),is_control:s.boolean().default(false),config:s.record(s.string(),s.unknown()).default({})}).meta({id:"ExperimentVariant","x-revturbine-schema-persistence":Qv,"x-revturbine-schema-exposure":fc}),_r=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(tt),handle:Ct.meta(tt),description:s.string().max(1e3).optional().meta(tt),experiment_type:fD.meta(tt),status:pD.default("draft").meta(tt),target_resource_id:s.string().optional().meta(tt),target_segment_ids:s.array(s.string()).default([]).meta(tt),variants:s.array(gD).min(2).meta(tt),primary_metric:s.string().min(1).meta(tt),metric_threshold:s.number().default(.05).meta(tt),secondary_metrics:s.array(s.string()).default([]).meta(tt),traffic_allocation:s.number().min(0).max(1).default(1).meta(tt),started_at:ot.meta(tt),ended_at:ot.meta(tt),confidence_threshold:s.number().min(0).max(1).default(.95).meta(tt),winning_variant_id:s.string().nullable().default(null).meta(tt),metadata:st.meta(tt)}).meta({id:"Experiment","x-revturbine-schema-persistence":Qv,"x-revturbine-schema-exposure":fc}),hD=Vv,dR=J.merge(ee).merge(oe).extend({experiment_id:s.string().optional().meta(tt),resource_type:s.string().min(1).meta(tt),resource_id:s.string().min(1).meta(tt),severity:hD.default("info").meta(tt),title:s.string().min(1).max(300).meta(tt),description:s.string().max(2e3).meta(tt),suggested_action:s.string().max(1e3).optional().meta(tt),estimated_impact:s.number().optional().meta(tt),is_dismissed:s.boolean().default(false).meta(tt),metadata:st.meta(tt)}).meta({id:"OptimizationSuggestion","x-revturbine-schema-persistence":Qv,"x-revturbine-schema-exposure":fc});({"/api/experiments":{get:b({operationId:"listExperiments",requestParams:{query:ie},summary:"List experiments",tags:["experiments"],responses:{200:{description:"Experiment list",content:{"application/json":{schema:re(_r)}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"list"}}})},"/api/experiments/{experimentId}":{get:b({operationId:"getExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Get experiment",tags:["experiments"],responses:{200:{description:"Experiment",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"get"}}}),patch:b({operationId:"updateExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Update experiment",tags:["experiments"],requestBody:{required:true,content:{"application/json":{schema:_r.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"update"}}}),delete:b({operationId:"deleteExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Delete experiment",tags:["experiments"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"delete"}}})},"/api/experiments/{experimentId}/start":{post:b({operationId:"startExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Start experiment (begin traffic allocation)",tags:["experiments"],responses:{200:{description:"Started",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"update"}}})},"/api/experiments/{experimentId}/pause":{post:b({operationId:"pauseExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Pause running experiment",tags:["experiments"],responses:{200:{description:"Paused",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"update"}}})},"/api/experiments/{experimentId}/complete":{post:b({operationId:"completeExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Complete experiment and declare winner",tags:["experiments"],requestBody:{required:true,content:{"application/json":{schema:s.object({winning_variant_id:s.string()})}}},responses:{200:{description:"Completed",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"update"}}})},"/api/optimization-suggestions":{get:b({operationId:"listOptimizationSuggestions",requestParams:{query:ie},summary:"List optimization suggestions",tags:["experiments"],responses:{200:{description:"Suggestion list",content:{"application/json":{schema:re(dR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"optimization-suggestions",persistence:{table:"optimizationSuggestions",mode:"list"}}})},"/api/optimization-suggestions/{suggestionId}/dismiss":{post:b({operationId:"dismissOptimizationSuggestion",requestParams:{path:s.object({suggestionId:s.string()})},summary:"Dismiss an optimization suggestion",tags:["experiments"],responses:{200:{description:"Dismissed",content:{"application/json":{schema:dR}}}},"x-revturbine-operation":{exposure:"internal",resource:"optimization-suggestions",persistence:{table:"optimizationSuggestions",mode:"update"}}})}});var {Unrestricted:Ft,Financial:mR}=mt,{Persisted:bD,Transient:LR}=ut,{Internal:ey}=dt,_D=s.enum(["draft","scheduled","live","expired","archived"]).meta({id:"PromotionStatus","x-revturbine-schema-persistence":LR,"x-revturbine-schema-exposure":ey}),vD=s.enum(["percentage","fixed_amount","free_months"]).meta({id:"DiscountType","x-revturbine-schema-persistence":LR,"x-revturbine-schema-exposure":ey}),qr=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(Ft),handle:Ct.meta(Ft),description:s.string().max(1e3).optional().meta(Ft),rt_status:_D.default("draft").meta(Ft),discount_type:vD.meta(Ft),discount_value:s.number().min(0).meta(mR),currency:s.string().length(3).default("USD").meta(mR),applicable_plan_ids:s.array(s.string()).default([]).meta(Ft),applicable_addon_ids:s.array(s.string()).default([]).meta(Ft),target_segment_ids:s.array(s.string()).default([]).meta(Ft),max_redemptions:s.number().int().min(0).nullable().default(null).meta(Ft),current_redemptions:s.number().int().min(0).default(0).meta({...Ft,readOnly:true}),coupon_code:s.string().max(100).optional().meta(Ft),starts_at:ot.meta(Ft),ends_at:ot.meta(Ft),stripe_coupon_id:s.string().nullable().default(null).meta(Ft),stripe_promotion_code_id:s.string().nullable().default(null).meta(Ft),auto_sync_stripe:s.boolean().default(false).meta(Ft),metadata:st.meta(Ft)}).meta({id:"Promotion","x-revturbine-schema-persistence":bD,"x-revturbine-schema-exposure":ey});({"/api/promotions":{get:b({operationId:"listPromotions",requestParams:{query:ie},summary:"List promotions",tags:["promotions"],responses:{200:{description:"Promotion list",content:{"application/json":{schema:re(qr)}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"list"}}})},"/api/promotions/{promotionId}":{get:b({operationId:"getPromotion",requestParams:{path:s.object({promotionId:s.string()})},summary:"Get promotion",tags:["promotions"],responses:{200:{description:"Promotion",content:{"application/json":{schema:qr}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"get"}}}),patch:b({operationId:"updatePromotion",requestParams:{path:s.object({promotionId:s.string()})},summary:"Update promotion",tags:["promotions"],requestBody:{required:true,content:{"application/json":{schema:qr.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:qr}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"update"}}}),delete:b({operationId:"deletePromotion",requestParams:{path:s.object({promotionId:s.string()})},summary:"Delete (archive) promotion",tags:["promotions"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"delete"}}})},"/api/promotions/{promotionId}/sync-stripe":{post:b({operationId:"syncPromotionToStripe",requestParams:{path:s.object({promotionId:s.string()})},summary:"Sync promotion to Stripe as coupon/promotion code",tags:["promotions"],responses:{200:{description:"Synced",content:{"application/json":{schema:qr}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"update"}}})},"/api/promotions/{promotionId}/duplicate":{post:b({operationId:"duplicatePromotion",requestParams:{path:s.object({promotionId:s.string()})},summary:"Duplicate promotion",tags:["promotions"],responses:{201:{description:"Duplicated",content:{"application/json":{schema:qr}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"create"}}})}});var {Unrestricted:rt,Pii:ty}=mt,{Persisted:ny}=ut,{Internal:ry}=dt,yD=J.merge(ee).merge(oe).extend({customer_id:s.string().min(1).meta(ty),placement_id:s.string().min(1).meta(rt),payload_id:s.string().nullable().default(null).meta(rt),variant_id:s.string().nullable().default(null).meta(rt),surface_type:s.string().meta(rt),presented_at:s.string().datetime().meta({...rt,readOnly:true}),dismissed_at:ot.meta(rt),cta_clicked_at:ot.meta(rt),cta_action_type:s.string().nullable().default(null).meta(rt),converted:s.boolean().default(false).meta(rt),session_id:s.string().optional().meta(rt),metadata:st.meta(rt)}).meta({id:"PresentationRecord","x-revturbine-schema-persistence":ny,"x-revturbine-schema-exposure":ry}),xD=J.merge(ee).merge(oe).extend({customer_id:s.string().min(1).meta(ty),placement_id:s.string().min(1).meta(rt),decision:s.enum(["show","suppress","defer"]).meta(rt),reason:s.string().max(500).meta(rt),matched_rules:s.array(s.object({rule_id:s.string(),rule_type:s.string(),matched:s.boolean()})).default([]).meta(rt),experiment_id:s.string().nullable().default(null).meta(rt),variant_id:s.string().nullable().default(null).meta(rt),latency_ms:s.number().min(0).optional().meta(rt)}).meta({id:"DecisionLog","x-revturbine-schema-persistence":ny,"x-revturbine-schema-exposure":ry}),ID=J.merge(ee).merge(oe).extend({customer_id:s.string().min(1).meta(ty),entitlement_handle:s.string().min(1).meta(rt),entitlement_type:s.string().meta(rt),result:s.enum(["granted","denied","limited","metered"]).meta(rt),current_usage:s.number().nullable().default(null).meta(rt),limit:s.number().nullable().default(null).meta(rt),source:s.enum(["plan","addon","override","trial"]).meta(rt),source_id:s.string().min(1).meta(rt),latency_ms:s.number().min(0).optional().meta(rt)}).meta({id:"EntitlementEvalLog","x-revturbine-schema-persistence":ny,"x-revturbine-schema-exposure":ry});({"/api/presentation-records":{get:b({operationId:"listPresentationRecords",requestParams:{query:ie},summary:"List presentation records",tags:["runtime"],responses:{200:{description:"Presentation records",content:{"application/json":{schema:re(yD)}}}},"x-revturbine-operation":{exposure:"internal",resource:"presentation-records",persistence:{table:"presentationRecords",mode:"list"}}})},"/api/decision-logs":{get:b({operationId:"listDecisionLogs",requestParams:{query:ie},summary:"List decision logs",tags:["runtime"],responses:{200:{description:"Decision logs",content:{"application/json":{schema:re(xD)}}}},"x-revturbine-operation":{exposure:"internal",resource:"decision-logs",persistence:{table:"decisionLogs",mode:"list"}}})},"/api/entitlement-eval-logs":{get:b({operationId:"listEntitlementEvalLogs",requestParams:{query:ie},summary:"List entitlement evaluation logs",tags:["runtime"],responses:{200:{description:"Entitlement eval logs",content:{"application/json":{schema:re(ID)}}}},"x-revturbine-operation":{exposure:"internal",resource:"entitlement-eval-logs",persistence:{table:"entitlementEvalLogs",mode:"list"}}})}});var {Unrestricted:v}=mt,{Persisted:ta,Transient:we}=ut,{Internal:On,External:Ze}=dt,Zo=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(v),handle:Ct.meta(v),surface_type:bR.meta(v),description:Kr.meta(v),is_active:s.boolean().default(true).meta(v),ui_path:s.string().optional().meta(v),metadata:st.meta(v)}).meta({id:"ApplicationSurface","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),Ws=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(v),handle:Ct.meta(v),description:Kr.meta(v),is_default:s.boolean().default(false).meta(v),entitlement_ids:s.array(s.string()).default([]).meta(v),metadata:st.meta(v)}).meta({id:"SeatType","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),SD=s.enum(["not_started","started","details_submitted","charges_enabled","activated","deauthorized"]).meta({id:"OnboardingState","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),Lv=J.merge(ee).merge(oe).merge(Ae).extend({stripe_account_id:s.string().min(1).meta(v),live_mode:s.boolean().default(false).meta(v),onboarding_state:SD.default("not_started").meta({...v,readOnly:true}),onboarding_complete:s.boolean().default(false).meta({...v,readOnly:true}),charges_enabled:s.boolean().default(false).meta({...v,readOnly:true}),details_submitted:s.boolean().default(false).meta({...v,readOnly:true}),payouts_enabled:s.boolean().default(false).meta({...v,readOnly:true}),webhook_secret_set:s.boolean().default(false).meta({...v,readOnly:true}),sync_products:s.boolean().default(true).meta(v),sync_prices:s.boolean().default(true).meta(v),sync_subscriptions:s.boolean().default(true).meta(v),sync_invoices:s.boolean().default(false).meta(v),default_currency:s.string().length(3).default("USD").meta(v),tax_behavior:s.enum(["inclusive","exclusive","unspecified"]).default("unspecified").meta(v),last_sync_at:s.string().optional().meta({...v,readOnly:true}),metadata:st.meta(v)}).meta({id:"StripeIntegrationConfig","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),Xs=J.merge(ee).merge(oe).merge(Ae).extend({entitlement_id:s.string().min(1).meta(v),meter_key:s.string().min(1).max(100).meta(v),aggregation_type:s.enum(["sum","count","max","last_value"]).default("sum").meta(v),reset_period:s.enum(["none","daily","weekly","monthly","yearly"]).default("monthly").meta(v),stripe_meter_id:s.string().nullable().default(null).meta(v),is_active:s.boolean().default(true).meta(v),metadata:st.meta(v)}).meta({id:"MeteringConfig","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),pR=s.enum(["block","warn","downgrade","throttle","notify_admin","custom"]).meta({id:"EnforcementAction","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),Ys=J.merge(ee).merge(oe).merge(Ae).extend({entitlement_id:s.string().min(1).meta(v),soft_limit_percent:s.number().min(0).max(100).default(80).meta(v),hard_limit_percent:s.number().min(0).max(100).default(100).meta(v),soft_limit_action:pR.default("warn").meta(v),hard_limit_action:pR.default("block").meta(v),grace_period_hours:s.number().int().min(0).default(0).meta(v),notification_channels:s.array(s.enum(["email","in_app","webhook"])).default(["in_app"]).meta(v),is_active:s.boolean().default(true).meta(v)}).meta({id:"UsageEnforcementSettings","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),PD=s.object({kind:s.enum(["template","slot"]).meta(v),id:s.string().min(1).meta(v),label:s.string().min(1).optional().meta(v)}).meta({id:"PlacementSettingsCapRuleGroupItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),$D=s.object({id:s.string().min(1).meta(v),group:s.array(PD).min(1).meta(v),cap:s.object({count:s.number().int().min(1).meta(v),period:s.enum(["session","day","week","month"]).meta(v)}).meta(v)}).meta({id:"PlacementSettingsCapRule","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),kD=s.enum(["off","test_users","all_traffic"]).meta({id:"PlacementTestMode","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),wD=s.object({capRules:s.array($D).default([]).meta(v),sessionCooldownMinutes:s.number().int().min(0).default(30).meta(v),testMode:kD.default("off").meta(v)}).meta({id:"PlacementSettingsCapState","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),Zv=J.merge(ee).merge(oe).merge(Ae).extend({global_frequency_cap:wD.nullable().default(null).meta(v),global_frequency_cap_period:s.enum(["hour","day","week","month","session"]).nullable().default(null).meta(v),suppress_for_paid:s.boolean().default(false).meta(v),suppress_for_trial:s.boolean().default(false).meta(v),default_dismiss_cooldown_hours:s.number().int().min(0).default(24).meta(v),allow_stacking:s.boolean().default(false).meta(v),priority_collision_strategy:s.enum(["highest_priority","most_recent","random"]).default("highest_priority").meta(v)}).meta({id:"PlacementSettings","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),TD=s.object({field:s.string().min(1).meta(v),operator:s.enum(["eq","neq","gt","lt","gte","lte","contains","in"]).meta(v),value:s.string().meta(v)}).meta({id:"RevTurbineConfigSegmentsItemPredicatesItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),RD=s.object({name:s.string().min(1).meta(v),handle:s.string().min(1).meta(v),predicates:s.array(TD).optional().meta(v),dimension_id:s.string().optional().meta(v)}).meta({id:"RevTurbineConfigSegmentsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),CD=s.object({unique_handle:s.string().min(1).meta(v),name:s.string().min(1).meta(v),tier_position:s.number().int().min(0).default(0).meta(v),sort_order:s.number().int().min(0).default(0).meta(v),visibility:xd.default("public").meta(v)}).meta({id:"RevTurbineConfigPlansItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),ED=s.object({unique_handle:s.string().min(1).meta(v),name:s.string().min(1).meta(v),sort_order:s.number().int().min(0).default(0).meta(v),visibility:xd.default("public").meta(v)}).meta({id:"RevTurbineConfigAddonsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),zD=s.object({unique_handle:s.string().min(1).meta(v),name:s.string().min(1).meta(v),type:hR.meta(v),unit:s.string().optional().meta(v)}).meta({id:"RevTurbineConfigEntitlementsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),jD=s.object({id:s.string().min(1).meta(v),entitlement_id:s.string().min(1).meta(v),targets:s.array(IR).min(1).meta(v),segment_ids:s.array(s.string()).default([]).meta(v),type_fields:s.record(s.string(),s.unknown()).default({}).meta(v),current_usage:s.number().default(0).meta(v),allocation:Kv.optional().meta(v)}).meta({id:"RevTurbineConfigEntitlementRulesItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),UD=s.object({slot_id:s.string().min(1).meta(v),active:s.boolean().meta(v),triggers:s.array(s.string()).meta(v)}).meta({id:"RevTurbineConfigSlotConfigsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),OD=s.object({id:s.string().min(1).meta(v),label:s.string().min(1).meta(v),description:s.string().meta(v),surface_type:s.string().meta(v),placement_handle:s.string().min(1).meta(v),template:s.string().optional().meta(v)}).meta({id:"RevTurbineConfigPlacementSlotsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),DD=s.object({name:s.string().min(1).meta(v),type:s.string().optional().meta(v),required:s.boolean().optional().meta(v)}).meta({id:"RevTurbineConfigSurfaceTemplatesItemFieldsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),AD=s.object({id:s.string().min(1).meta(v),surface_type:s.string().meta(v),fields:s.array(DD).optional().meta(v)}).meta({id:"RevTurbineConfigSurfaceTemplatesItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),ND=s.enum(["open_checkout_modal","navigate_to_plans","open_upgrade_modal","open_placement","book_demo","open_feature_tour","extend_trial","switch_billing_period","custom_url","dismiss","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription"]).meta({id:"RevTurbineConfigUiPathActionType","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),FD=s.object({name:s.string().min(1).meta(v),action_type:ND.meta(v),plan_handle:s.string().optional().meta(v),promotion_id:s.string().optional().meta(v),placement_handle:s.string().optional().meta(v),url:s.string().optional().meta(v),tour_id:s.string().optional().meta(v),target_billing_period:s.enum(["monthly","annual"]).optional().meta(v),description:s.string().optional().meta(v)}).meta({id:"ContentUiPath","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),LD=s.object({id:s.string().meta(v),name:s.string().meta(v),discount:s.string().meta(v),type:s.string().meta(v),status:s.string().meta(v)}).meta({id:"ContentPromotion","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),ZD=s.object({token:s.string().regex(/^[a-z][a-z0-9_]*$/).meta(v),label:s.string().min(1).meta(v),description:s.string().optional().meta(v),category:s.enum(["user","plan","usage","trial","billing","promotion","custom"]).meta(v),data_source:s.string().optional().meta(v),example_value:s.string().optional().meta(v),value_map:s.record(s.string(),s.string()).optional().meta(v),format:s.enum(["string","number","currency","percentage","date"]).optional().meta(v)}).meta({id:"PersonalizationToken","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),fR=s.object({header:s.string().optional().meta(v),body:s.string().optional().meta(v),cta_label:s.string().optional().meta(v),secondary_cta_label:s.string().optional().meta(v)}).catchall(s.unknown()).meta({id:"MessageBlockContent","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),BD=s.object({block_id:s.string().min(1).meta(v),tenant_id:s.string().min(1).meta(v),name:s.string().min(1).meta(v),surface_template_id:s.string().optional().meta(v),default_content:fR.meta(v),segment_overrides:s.array(s.object({segment_value_id:s.string(),content:fR})).optional().meta(v),child_blocks:s.array(s.object({slot:s.string(),block_id:s.string()})).optional().meta(v),tokens_used:s.array(s.string()).optional().meta(v),status:s.enum(["draft","active","archived"]).meta(v),created_at:s.string().datetime().meta({...v,readOnly:true}),updated_at:s.string().datetime().meta({...v,readOnly:true})}).meta({id:"MessageBlock","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),MD=s.object({label:s.string().meta(v),path:_R.meta(v),config:s.record(s.string(),s.string()).optional().meta(v)}).meta({id:"RevTurbineConfigStudioCtaConfig","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),ZR=s.object({template_id:s.string().min(1).meta(v),fields:s.record(s.string(),s.string()).meta(v),ctas:s.array(MD).meta(v)}).meta({id:"RevTurbineConfigStudioPayloadSurface","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),BR=s.object({plan_ids:s.array(s.string()).meta(v),billing_cadences:s.array(s.string()).optional().meta(v),segment_chips:s.array(s.string()).meta(v)}).meta({id:"RevTurbineConfigStudioPayloadTarget","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),VD=s.object({count:s.number().int().min(1).meta(v),period:s.enum(["session","day","week","month","lifetime"]).meta(v)}).meta({id:"RevTurbineConfigPeriodCap","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),MR=s.object({max_per_period:VD.optional().meta(v),cooldown_days:s.number().int().min(0).optional().meta(v)}).meta({id:"RevTurbineConfigStudioPayloadCaps","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),qD=s.object({id:s.string().min(1).meta(v),target:BR.meta(v),surfaces:s.array(ZR).meta(v),caps:MR.optional().meta(v),surface_slot_ids:s.array(s.string()).optional().meta(v),created_at:s.string().optional().meta({...v,readOnly:true}),recommendation_strategy:s.enum(["next_tier_up","best_value","custom"]).optional().default("next_tier_up").meta(v),recommendation_plan_override:s.string().optional().meta(v)}).meta({id:"RevTurbineConfigStudioPayload","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),HD=s.discriminatedUnion("type",[s.object({type:s.literal("surface_render"),slot_id:s.string().min(1)}),s.object({type:s.literal("entitlement_gate"),entitlement_handle:s.string().min(1),tier_threshold:s.string().optional()}),s.object({type:s.literal("usage_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("credit_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("seat_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("trial_started"),trial_type:s.enum(["free","reverse"]).optional()}),s.object({type:s.literal("trial_progress"),progress_percent:s.number().min(1).max(100)}),s.object({type:s.literal("trial_ending"),days_before_end:s.number().int().min(0)}),s.object({type:s.literal("trial_ended")}),s.object({type:s.literal("trial_converted")}),s.object({type:s.literal("qualifier"),qualifier:s.string().min(1)})]).meta({id:"RevTurbineConfigPlacementTrigger","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),KD=s.enum(["fixed","gated","usage_credit_seat","trials","other_conversion","retention"]).meta({id:"RevTurbineConfigPlacementCategory","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),GD=s.object({id:s.string().min(1).meta(v),name:s.string().min(1).meta(v),category:KD.meta(v),trigger:HD.meta(v),payloads:s.array(qD).meta(v),order:s.number().int().min(0).meta(v)}).meta({id:"RevTurbineConfigPlacementItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),JD=s.object({payload_id:s.string().min(1).meta(v),placement_id:s.string().min(1).meta(v),target:BR.meta(v),caps:MR.optional().meta(v),created_at:s.string().meta({...v,readOnly:true}),updated_at:s.string().datetime().optional().meta({...v,readOnly:true}),source_mode:s.enum(["inline","content_linked"]).meta(v),surfaces:s.array(ZR).optional().meta(v),surface_slot_ids:s.array(s.string()).optional().meta(v),content_link:s.object({message_block_id:s.string().optional(),ui_path_id:s.string().optional(),promotion_id:s.string().optional(),content_payload_id:s.string().optional()}).optional().meta(v)}).meta({id:"RevTurbineConfigPlacementPayloadItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),WD=s.object({kind:s.string().min(1).meta(v),schema_version:s.number().int().nonnegative().meta(v),config:s.unknown().meta(v)}).meta({id:"RevTurbineConfigExtensionRulesItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),XD=J.merge(OR).meta({id:"RevTurbineConfigFreeTrialRuleItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),YD=J.merge(DR).meta({id:"RevTurbineConfigReverseTrialRuleItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze});s.object({version:s.string().meta(v),exported_at:s.string().datetime().optional().meta({...v,readOnly:true}),schema_version:s.string().optional().meta({...v,readOnly:true}),bundle_schema_version:s.number().int().optional().meta({...v,readOnly:true}),change_set_id:s.string().nullable().default(null).meta({...v,readOnly:true}),plans:s.array(CD).meta(v),addons:s.array(ED).optional().meta(v),entitlements:s.array(zD).meta(v),entitlement_rules:s.array(jD).meta(v),segments:s.array(RD).meta(v),content_ui_paths:s.array(FD).meta(v),slot_configs:s.array(UD).optional().meta(v),content_overrides:s.record(s.string(),s.record(s.string(),s.string())).optional().meta(v),theme:s.record(s.string(),s.unknown()).optional().meta(v),placement_slots:s.array(OD).optional().meta(v),message_blocks:s.array(BD).optional().meta(v),placement_payloads:s.array(JD).optional().meta(v),placements:s.array(GD).optional().meta(v),content_promotions:s.array(LD).optional().meta(v),personalization_tokens:s.array(ZD).optional().meta(v),surface_templates:s.array(AD).optional().meta(v),free_trial_rules:s.array(XD).optional().meta(v),reverse_trial_rules:s.array(YD).optional().meta(v),extension_rules:s.array(WD).optional().meta(v)}).meta({id:"RevTurbineConfig","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze});({"/api/config/application-surfaces":{get:b({operationId:"listApplicationSurfaces",requestParams:{query:ie},summary:"List application surfaces",tags:["config"],responses:{200:{description:"Surface list",content:{"application/json":{schema:re(Zo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"list"}}}),post:b({operationId:"createApplicationSurface",summary:"Create application surface",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Tt(Zo)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Zo}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"create"}}})},"/api/config/application-surfaces/{id}":{get:b({operationId:"getApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Get application surface by ID",tags:["config"],responses:{200:{description:"Application surface detail",content:{"application/json":{schema:Zo}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"get"}}}),patch:b({operationId:"updateApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Update application surface",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Zo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Zo}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"update"}}}),delete:b({operationId:"deleteApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Delete application surface",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"delete"}}})},"/api/config/seat-types":{get:b({operationId:"listSeatTypes",requestParams:{query:ie},summary:"List seat types",tags:["config"],responses:{200:{description:"Seat type list",content:{"application/json":{schema:re(Ws)}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"list"}}}),post:b({operationId:"createSeatType",summary:"Create seat type",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ws)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ws}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"create"}}})},"/api/config/seat-types/{id}":{patch:b({operationId:"updateSeatType",requestParams:{path:s.object({id:s.string()})},summary:"Update seat type",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Ws.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ws}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"update"}}}),delete:b({operationId:"deleteSeatType",requestParams:{path:s.object({id:s.string()})},summary:"Delete seat type",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"delete"}}})},"/api/config/stripe":{put:b({operationId:"upsertStripeIntegrationConfig",summary:"Create or update Stripe integration config",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Rt(Lv)}}},responses:{200:{description:"Saved",content:{"application/json":{schema:Lv}}}},"x-revturbine-operation":{exposure:"internal",resource:"stripe-config",persistence:{table:"stripeIntegrationConfig",mode:"upsert"}}})},"/api/config/metering":{get:b({operationId:"listMeteringConfigs",requestParams:{query:ie},summary:"List metering configurations",tags:["config"],responses:{200:{description:"Metering config list",content:{"application/json":{schema:re(Xs)}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"list"}}}),post:b({operationId:"createMeteringConfig",summary:"Create metering configuration",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Tt(Xs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Xs}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"create"}}})},"/api/config/metering/{meteringId}":{patch:b({operationId:"updateMeteringConfig",requestParams:{path:s.object({meteringId:s.string()})},summary:"Update metering configuration",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Xs.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Xs}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"update"}}}),delete:b({operationId:"deleteMeteringConfig",requestParams:{path:s.object({meteringId:s.string()})},summary:"Delete metering configuration",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"delete"}}})},"/api/config/usage-enforcement":{get:b({operationId:"listUsageEnforcementSettings",requestParams:{query:ie},summary:"List usage enforcement settings",tags:["config"],responses:{200:{description:"Enforcement settings",content:{"application/json":{schema:re(Ys)}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"list"}}}),post:b({operationId:"createUsageEnforcementSettings",summary:"Create usage enforcement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ys)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ys}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"create"}}})},"/api/config/usage-enforcement/{settingsId}":{patch:b({operationId:"updateUsageEnforcementSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update usage enforcement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Ys.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ys}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"update"}}}),delete:b({operationId:"deleteUsageEnforcementSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Delete usage enforcement settings",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"delete"}}})},"/api/config/placement-settings":{put:b({operationId:"upsertPlacementSettings",summary:"Create or update global placement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Rt(Zv)}}},responses:{200:{description:"Saved",content:{"application/json":{schema:Zv}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-settings",persistence:{table:"placementSettings",mode:"upsert"}}})}});var {Unrestricted:vr}=mt,{Persisted:VR}=ut,{Internal:qR}=dt,QD=s.enum(["create","update","delete","archive","restore","reorder","duplicate","sync","publish"]).meta({id:"ChangeLogAction","x-revturbine-schema-persistence":VR,"x-revturbine-schema-exposure":qR}),gR=J.merge(ee).merge(oe).extend({action:QD.meta(vr),resource_type:s.string().min(1).max(100).meta(vr),resource_id:s.string().min(1).meta(vr),resource_name:s.string().max(200).optional().meta(vr),actor_id:s.string().min(1).meta(vr),actor_email:s.string().email().optional().meta(vr),diff:s.object({before:s.record(s.string(),s.unknown()).optional(),after:s.record(s.string(),s.unknown()).optional()}).optional().meta(vr),summary:s.string().max(1e3).optional().meta(vr),metadata:st.meta(vr)}).meta({id:"ChangeLogEntry","x-revturbine-schema-persistence":VR,"x-revturbine-schema-exposure":qR});({"/api/changelog":{get:b({operationId:"listChangeLogEntries",requestParams:{query:ie},summary:"List change log entries",tags:["changelog"],responses:{200:{description:"Change log entries",content:{"application/json":{schema:re(gR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"changelog",persistence:{table:"changeLogEntries",mode:"list"}}})},"/api/changelog/{entryId}":{get:b({operationId:"getChangeLogEntry",requestParams:{path:s.object({entryId:s.string()})},summary:"Get change log entry by ID",tags:["changelog"],responses:{200:{description:"Change log entry",content:{"application/json":{schema:gR}}}},"x-revturbine-operation":{exposure:"internal",resource:"changelog",persistence:{table:"changeLogEntries",mode:"get"}}})}});var {Unrestricted:fd}=mt,{Persisted:eA,Transient:tA}=ut,{Internal:HR}=dt,nA=s.enum(["active","suspended","archived"]).meta({id:"TenantStatus","x-revturbine-schema-persistence":tA,"x-revturbine-schema-exposure":HR}),Hr=J.merge(ee).extend({name:at.meta(fd),handle:Ct.meta(fd),status:nA.default("active").meta(fd),metadata:st.meta(fd)}).meta({id:"Tenant","x-revturbine-schema-persistence":eA,"x-revturbine-schema-exposure":HR});({"/api/tenants":{get:b({operationId:"listTenants",requestParams:{query:ie},summary:"List tenants",tags:["tenants"],responses:{200:{description:"Tenant list",content:{"application/json":{schema:re(Hr)}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"list"}}})},"/api/tenants/{tenantId}":{get:b({operationId:"getTenant",requestParams:{path:s.object({tenantId:s.string()})},summary:"Get tenant by ID",tags:["tenants"],responses:{200:{description:"Tenant",content:{"application/json":{schema:Hr}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"get"}}}),patch:b({operationId:"updateTenant",requestParams:{path:s.object({tenantId:s.string()})},summary:"Update tenant",tags:["tenants"],requestBody:{required:true,content:{"application/json":{schema:Hr.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Hr}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"update"}}})},"/api/tenants/{tenantId}/suspend":{post:b({operationId:"suspendTenant",requestParams:{path:s.object({tenantId:s.string()})},summary:"Suspend tenant (disables all API access)",tags:["tenants"],responses:{200:{description:"Suspended",content:{"application/json":{schema:Hr}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"update"}}})},"/api/tenants/{tenantId}/reactivate":{post:b({operationId:"reactivateTenant",requestParams:{path:s.object({tenantId:s.string()})},summary:"Reactivate a suspended tenant",tags:["tenants"],responses:{200:{description:"Reactivated",content:{"application/json":{schema:Hr}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"update"}}})}});var {Unrestricted:Un}=mt,{Persisted:rA,Transient:KR}=ut,{Internal:iy}=dt,iA=s.enum(["active","archived","locked"]).meta({id:"EnvironmentStatus","x-revturbine-schema-persistence":KR,"x-revturbine-schema-exposure":iy}),Bo=J.merge(ee).merge(oe).extend({name:at.meta(Un),handle:Ct.meta(Un),description:Kr.meta(Un),is_production:s.boolean().default(false).meta({...Un,readOnly:true}),status:iA.default("active").meta(Un),cloned_from_environment_id:s.string().nullable().default(null).meta({...Un,readOnly:true}),cloned_at:ot.meta({...Un,readOnly:true}),cloned_at_sequence:s.number().int().min(0).nullable().default(null).meta({...Un,readOnly:true}),requires_approval:s.boolean().default(false).meta(Un),auto_deploy_on_approval:s.boolean().default(false).meta(Un),created_by:s.string().optional().meta(Un),metadata:st.meta(Un)}).meta({id:"Environment","x-revturbine-schema-persistence":rA,"x-revturbine-schema-exposure":iy}),oA=s.object({source_environment_id:s.string().min(1),target_environment_id:s.string().min(1),change_set_ids:s.array(s.string()).optional(),strategy:s.enum(["all_current","selected_changesets"]).default("all_current")}).meta({id:"EnvironmentPromotionRequest","x-revturbine-schema-persistence":KR,"x-revturbine-schema-exposure":iy});({"/api/environments":{get:b({operationId:"listEnvironments",requestParams:{query:ie},summary:"List environments",tags:["environments"],responses:{200:{description:"Environment list",content:{"application/json":{schema:re(Bo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"list"}}}),post:b({operationId:"createEnvironment",summary:"Create environment (optionally cloned from another)",tags:["environments"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().min(1).max(200),handle:s.string().min(1).max(100),description:s.string().max(500).optional(),clone_from_environment_id:s.string().optional(),requires_approval:s.boolean().optional()})}}},responses:{201:{description:"Created",content:{"application/json":{schema:Bo}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"create"}}})},"/api/environments/{environmentId}":{get:b({operationId:"getEnvironment",requestParams:{path:s.object({environmentId:s.string()})},summary:"Get environment by ID",tags:["environments"],responses:{200:{description:"Environment",content:{"application/json":{schema:Bo}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"get"}}}),patch:b({operationId:"updateEnvironment",requestParams:{path:s.object({environmentId:s.string()})},summary:"Update environment settings",tags:["environments"],requestBody:{required:true,content:{"application/json":{schema:Bo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Bo}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"update"}}})},"/api/environments/{environmentId}/archive":{post:b({operationId:"archiveEnvironment",requestParams:{path:s.object({environmentId:s.string()})},summary:"Archive environment (production cannot be archived)",tags:["environments"],responses:{200:{description:"Archived",content:{"application/json":{schema:Bo}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"update"}}})},"/api/environments/promote":{post:b({operationId:"promoteEnvironment",summary:"Promote (merge) changes from one environment to another",tags:["environments"],requestBody:{required:true,content:{"application/json":{schema:oA}}},responses:{200:{description:"Promotion result",content:{"application/json":{schema:s.object({promoted_count:s.number().int(),conflict_count:s.number().int(),conflicts:s.array(s.object({canonical_id:s.string(),resource_type:s.string(),source_sequence:s.number().int(),target_sequence:s.number().int()}))})}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"promote"}}})}});var {Unrestricted:pe,Pii:rc}=mt,{Transient:sr,Persisted:aA}=ut,{External:Mn}=dt,sA=s.enum(["milestone_version","milestone_order"]).meta({id:"SupersessionReason","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});s.object({superseded_output_id:s.string().min(1).meta(pe),superseded_by:s.string().min(1).meta(pe),reason:sA.meta(pe)}).meta({id:"SupersessionRecord","x-revturbine-schema-persistence":aA,"x-revturbine-schema-exposure":Mn,"x-revturbine-data-classification":"operational"});var cA=s.enum(["allowed","limited","denied"]).meta({id:"EntitlementStatus","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),GR=s.object({output_id:s.string().meta(pe),category:s.string().meta(pe),surface:s.object({template:s.string().optional().meta(pe),type:vd.meta(pe),slot_id:s.string().optional().meta(pe)}).meta(pe),content:s.record(s.string(),s.unknown()).meta(pe),promotion:s.record(s.string(),s.unknown()).optional().meta(pe),cta_path:s.record(s.string(),s.unknown()).optional().meta(pe),ui_path:s.record(s.string(),s.unknown()).optional().meta(pe),rule_id:s.string().meta(pe),decision_id:s.string().meta(pe),config_version:s.string().meta(pe),present_upsell:s.boolean().meta(pe)}).meta({id:"PlacementDecisionOutput","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),lA=s.object({status:cA.meta(pe),allowed:s.boolean().meta(pe),reason:s.string().optional().meta(pe),current_tier:s.string().optional().meta(pe),placement:GR.optional().meta(pe)}).meta({id:"EntitlementCheckResult","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});s.object({id:s.string().meta(pe),name:s.string().optional().meta(pe),discount:s.string().optional().meta(pe),type:s.string().optional().meta(pe),status:s.string().optional().meta(pe)}).meta({id:"RuntimePromotionSnapshot","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});var uA=s.object({id:s.string().meta(rc),anonymous_id:s.string().optional().meta(pe),traits:s.record(s.string(),s.unknown()).optional().meta(rc)}).meta({id:"ServerEvaluationPayloadUser","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),dA=s.object({slot_id:s.string().optional().meta(pe),entitlement_handle:s.string().optional().meta(pe),plan_handle:s.string().optional().meta(pe),placement_handle:s.string().optional().meta(pe),visible:s.boolean().meta(pe),output:GR.optional().meta(pe),reason_codes:s.array(s.string()).optional().meta(pe)}).meta({id:"ServerEvaluationPayloadDecisionsItem","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),mA=lA,pA=Gv.meta({id:"ServerEvaluationPayloadTrialStatus","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),fA=s.object({segments:s.array(s.string()).optional().meta(pe),traits:s.record(s.string(),s.unknown()).optional().meta(rc),usage_balances:s.record(s.string(),s.number()).optional().meta(pe)}).meta({id:"ServerEvaluationPayloadUserContext","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});s.object({version:s.literal("1.0.0").meta(pe),request_id:s.string().meta(pe),tenant_id:s.string().meta(pe),evaluated_at:s.string().datetime().meta(pe),ttl_seconds:s.number().int().min(0).max(86400).meta(pe),user:uA.meta(rc),decisions:s.array(dA).meta(pe),entitlements:s.record(s.string(),mA).optional().meta(pe),theme:s.record(s.string(),s.unknown()).optional().meta(pe),trial_status:pA.optional().meta(pe),user_context:fA.optional().meta(rc)}).meta({id:"ServerEvaluationPayload","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});var {Unrestricted:ve}=mt,{Persisted:gA,Transient:Pd}=ut,{Internal:gc}=dt,hA=s.enum(["draft","awaiting_approval","approved","deploying","deployed","rejected","archived"]).meta({id:"ChangeSetStatus","x-revturbine-schema-persistence":Pd,"x-revturbine-schema-exposure":gc}),yr=J.merge(ee).merge(oe).extend({environment_id:s.string().min(1).meta(ve),name:at.meta(ve),description:s.string().max(2e3).optional().meta(ve),status:hA.default("draft").meta(ve),labels:s.array(s.string()).default([]).meta(ve),created_by:s.string().min(1).meta(ve),submitted_by:s.string().nullable().default(null).meta({...ve,readOnly:true}),reviewed_by:s.string().nullable().default(null).meta({...ve,readOnly:true}),deployed_by:s.string().nullable().default(null).meta({...ve,readOnly:true}),submitted_at:ot.meta({...ve,readOnly:true}),reviewed_at:ot.meta({...ve,readOnly:true}),deployed_at:ot.meta({...ve,readOnly:true}),base_snapshot_sequence:s.number().int().min(0).default(0).meta({...ve,readOnly:true}),entry_count:s.number().int().min(0).default(0).meta({...ve,readOnly:true}),conflict_count:s.number().int().min(0).default(0).meta({...ve,readOnly:true}),rollback_of_change_set_id:s.string().nullable().default(null).meta(ve),cherry_picked_from_change_set_id:s.string().nullable().default(null).meta(ve),review_notes:s.string().max(2e3).optional().meta(ve),rejection_reason:s.string().max(2e3).optional().meta(ve),snapshot:s.record(s.string(),s.unknown()).nullable().default(null).meta({...ve,readOnly:true}),bundle:s.string().nullable().default(null).meta({...ve,readOnly:true}),metadata:st.meta(ve)}).meta({id:"ChangeSet","x-revturbine-schema-persistence":gA,"x-revturbine-schema-exposure":gc}),JR=s.object({handle:s.string().meta(ve),resource_type:s.string().meta(ve),resource_name:s.string().optional().meta(ve),action:s.enum(["create","update","delete"]).meta(ve),sequence:s.number().int().meta(ve),base_sequence:s.number().int().nullable().meta(ve),has_conflict:s.boolean().meta(ve),current_sequence:s.number().int().nullable().meta(ve)}).meta({id:"ChangeSetEntrySummary","x-revturbine-schema-persistence":Pd,"x-revturbine-schema-exposure":gc}),bA=s.object({change_set_id:s.string().meta(ve),entries:s.array(JR).meta(ve),total_entries:s.number().int().min(0).meta(ve),total_conflicts:s.number().int().min(0).meta(ve),deployable:s.boolean().meta(ve)}).meta({id:"ChangeSetDiff","x-revturbine-schema-persistence":Pd,"x-revturbine-schema-exposure":gc}),_A=s.object({change_set_id:s.string().meta(ve),deployed_count:s.number().int().min(0).meta(ve),superseded_count:s.number().int().min(0).meta(ve),skipped_conflicts:s.number().int().min(0).meta(ve),deployed_at:s.string().datetime().meta(ve)}).meta({id:"ChangeSetDeployResult","x-revturbine-schema-persistence":Pd,"x-revturbine-schema-exposure":gc});({"/api/changesets":{get:b({operationId:"listChangeSets",requestParams:{query:ie},summary:"List change sets (filter by status, environment_id)",tags:["changesets"],responses:{200:{description:"ChangeSet list",content:{"application/json":{schema:re(yr)}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"list"}}}),post:b({operationId:"createChangeSet",summary:"Create a new change set (draft)",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().min(1).max(200),description:s.string().max(2e3).optional(),environment_id:s.string().min(1),labels:s.array(s.string()).optional()})}}},responses:{201:{description:"Created",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"create"}}})},"/api/changesets/{changeSetId}":{get:b({operationId:"getChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Get change set by ID",tags:["changesets"],responses:{200:{description:"ChangeSet",content:{"application/json":{schema:yr}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"get"}}}),patch:b({operationId:"updateChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Update change set (name, description, labels \u2014 draft only)",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().min(1).max(200).optional(),description:s.string().max(2e3).optional(),labels:s.array(s.string()).optional()})}}},responses:{200:{description:"Updated",content:{"application/json":{schema:yr}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/submit":{post:b({operationId:"submitChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Submit change set for approval",tags:["changesets"],responses:{200:{description:"Submitted",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/approve":{post:b({operationId:"approveChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Approve change set (may auto-deploy if environment allows)",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({review_notes:s.string().max(2e3).optional()})}}},responses:{200:{description:"Approved",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/reject":{post:b({operationId:"rejectChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Reject change set",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({rejection_reason:s.string().max(2e3)})}}},responses:{200:{description:"Rejected",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/deploy":{post:b({operationId:"deployChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Deploy change set \u2014 activates all entries, supersedes previous versions",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({force:s.boolean().default(false)})}}},responses:{200:{description:"Deploy result",content:{"application/json":{schema:_A}}},default:{description:"Error (conflicts exist)",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"deploy"}}})},"/api/changesets/{changeSetId}/archive":{post:b({operationId:"archiveChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Archive (abandon) a change set",tags:["changesets"],responses:{200:{description:"Archived",content:{"application/json":{schema:yr}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/preview":{get:b({operationId:"previewChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Preview diff of all entries vs current state (dry-run deploy)",tags:["changesets"],responses:{200:{description:"Diff preview",content:{"application/json":{schema:bA}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"preview"}}})},"/api/changesets/{changeSetId}/conflicts":{get:b({operationId:"listChangeSetConflicts",requestParams:{path:s.object({changeSetId:s.string()}),query:ie},summary:"List entries with sequence conflicts (base_sequence \u2260 current)",tags:["changesets"],responses:{200:{description:"Conflict list",content:{"application/json":{schema:re(JR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"list"}}})},"/api/changesets/{changeSetId}/rollback":{post:b({operationId:"rollbackChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Create a rollback change set that reverts a deployed one",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().min(1).max(200).optional()})}}},responses:{201:{description:"Rollback ChangeSet created",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"create"}}})},"/api/changesets/{changeSetId}/cherry-pick":{post:b({operationId:"cherryPickEntries",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Cherry-pick individual entries from this ChangeSet into another",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({handles:s.array(s.string()).min(1),target_change_set_id:s.string().min(1)})}}},responses:{200:{description:"Cherry-picked",content:{"application/json":{schema:s.object({copied_count:s.number().int()})}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})}});var {Unrestricted:Pe,Pii:vA}=mt,{Persisted:Vn}=ut,{Internal:qn}=dt,yA=s.enum(["active","revoked","rotating"]).meta({id:"ApiKeyStatus","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),gd=J.merge(ee).merge(oe).extend({name:at.meta(Pe),key_hash:s.string().min(1).meta({...vA,readOnly:true}),key_prefix:s.string().min(1).max(20).meta({...Pe,readOnly:true}),key_last4:s.string().length(4).meta({...Pe,readOnly:true}),status:yA.default("active").meta(Pe),last_used_at:ot.meta({...Pe,readOnly:true}),expires_at:ot.meta(Pe)}).meta({id:"ApiKey","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),xA=s.enum(["boolean","string","number","json"]).meta({id:"FlagValueType","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),xi=J.merge(ee).merge(oe).extend({key:s.string().min(1).max(100).meta(Pe),value_type:xA.default("boolean").meta(Pe),value:s.string().max(4e3).default("false").meta(Pe),description:Kr.meta(Pe),enabled:s.boolean().default(true).meta(Pe)}).meta({id:"FeatureFlag","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),Bv=J.merge(ee).merge(oe).extend({workspace_name:s.string().min(1).max(200).meta(Pe),support_email:s.string().email().nullable().default(null).meta(Pe),timezone:s.string().max(50).default("UTC").meta(Pe),default_currency:s.string().length(3).default("USD").meta(Pe),logo_url:s.string().url().nullable().default(null).meta(Pe)}).meta({id:"TenantConfig","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),Mv=J.merge(ee).merge(oe).extend({server_url:s.string().url().max(500).meta(Pe),api_token_hint:s.string().max(50).nullable().default(null).meta(Pe),allow_write_actions:s.boolean().default(false).meta(Pe),enabled_tools:s.array(s.string().max(100)).default([]).meta(Pe),enabled:s.boolean().default(false).meta(Pe)}).meta({id:"McpConfig","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),hd=J.merge(ee).merge(oe).extend({step_key:s.string().min(1).max(100).meta(Pe),label:s.string().min(1).max(200).meta(Pe),done:s.boolean().default(false).meta(Pe),completed_at:ot.meta({...Pe,readOnly:true})}).meta({id:"OnboardingChecklist","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),IA=s.enum(["user","agent","system","webhook"]).meta({id:"AuditActorType","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),SA=J.merge(oe).extend({environment_id:s.string().min(1).default("production").meta(Pe),actor_type:IA.meta(Pe),actor_id:s.string().nullable().default(null).meta(Pe),action:s.string().min(1).max(120).meta(Pe),object_type:s.string().max(120).nullable().default(null).meta(Pe),object_id:s.string().max(200).nullable().default(null).meta(Pe),payload:s.record(s.string(),s.unknown()).nullable().default(null).meta(Pe),occurred_at:s.string().datetime().meta({...Pe,readOnly:true})}).meta({id:"AuditEvent","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),PA=s.enum(["user_id","account_id","email"]).meta({id:"PlacementTestUserIdentifierType","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),bd=J.merge(ee).merge(oe).merge(Ae).extend({identifier:s.string().min(1).max(200).meta(Pe),identifier_type:PA.default("user_id").meta(Pe),note:s.string().max(500).nullable().default(null).meta(Pe),added_by:s.string().meta(Pe)}).meta({id:"PlacementTestUser","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn});({"/api/settings/api-keys":{get:b({operationId:"listApiKeys",requestParams:{query:ie},summary:"List API keys for the tenant",tags:["settings"],responses:{200:{description:"API keys",content:{"application/json":{schema:re(gd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"api-keys",persistence:{table:"apiKeys",mode:"list"}}}),post:b({operationId:"createApiKey",summary:"Create a new API key",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Tt(gd)}}},responses:{201:{description:"API key created",content:{"application/json":{schema:gd}}}},"x-revturbine-operation":{exposure:"internal",resource:"api-keys",persistence:{table:"apiKeys",mode:"create",writeSchema:"ApiKeySchema#writable"}}})},"/api/settings/api-keys/{keyId}":{delete:b({operationId:"revokeApiKey",requestParams:{path:s.object({keyId:s.string()})},summary:"Revoke an API key",tags:["settings"],responses:{200:{description:"API key revoked",content:{"application/json":{schema:gd}}}},"x-revturbine-operation":{exposure:"internal",resource:"api-keys",persistence:{table:"apiKeys",mode:"delete"}}})},"/api/flags":{get:b({operationId:"listFeatureFlags",requestParams:{query:ie},summary:"List feature flags for the tenant",tags:["settings"],responses:{200:{description:"Feature flags",content:{"application/json":{schema:re(xi)}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"list"}}}),post:b({operationId:"createFeatureFlag",summary:"Create a feature flag",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Tt(xi)}}},responses:{201:{description:"Feature flag created",content:{"application/json":{schema:xi}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"create",writeSchema:"FeatureFlagSchema#writable"}}})},"/api/flags/{flagId}":{get:b({operationId:"getFeatureFlag",requestParams:{path:s.object({flagId:s.string()})},summary:"Get a feature flag",tags:["settings"],responses:{200:{description:"Feature flag",content:{"application/json":{schema:xi}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"get"}}}),put:b({operationId:"updateFeatureFlag",requestParams:{path:s.object({flagId:s.string()})},summary:"Update a feature flag",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Rt(xi).partial()}}},responses:{200:{description:"Feature flag updated",content:{"application/json":{schema:xi}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"update",writeSchema:"FeatureFlagSchema#writable"}}}),delete:b({operationId:"deleteFeatureFlag",requestParams:{path:s.object({flagId:s.string()})},summary:"Delete a feature flag",tags:["settings"],responses:{200:{description:"Feature flag deleted",content:{"application/json":{schema:xi}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"delete"}}})},"/api/settings/tenant-config":{put:b({operationId:"updateTenantConfig",summary:"Update tenant configuration",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Rt(Bv).partial()}}},responses:{200:{description:"Tenant config updated",content:{"application/json":{schema:Bv}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenant-config",persistence:{table:"tenantConfigs",mode:"update",writeSchema:"TenantConfigSchema#writable"}}})},"/api/settings/mcp":{put:b({operationId:"updateMcpConfig",summary:"Update MCP config",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Rt(Mv).partial()}}},responses:{200:{description:"MCP config updated",content:{"application/json":{schema:Mv}}}},"x-revturbine-operation":{exposure:"internal",resource:"mcp-config",persistence:{table:"mcpConfigs",mode:"update",writeSchema:"McpConfigSchema#writable"}}})},"/api/settings/onboarding":{get:b({operationId:"listOnboardingSteps",requestParams:{query:ie},summary:"List onboarding checklist steps",tags:["settings"],responses:{200:{description:"Onboarding steps",content:{"application/json":{schema:re(hd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"onboarding",persistence:{table:"onboardingChecklist",mode:"list"}}})},"/api/settings/onboarding/{stepId}":{get:b({operationId:"getOnboardingStep",requestParams:{path:s.object({stepId:s.string()})},summary:"Get an onboarding step",tags:["settings"],responses:{200:{description:"Onboarding step",content:{"application/json":{schema:hd}}}},"x-revturbine-operation":{exposure:"internal",resource:"onboarding",persistence:{table:"onboardingChecklist",mode:"get"}}}),put:b({operationId:"updateOnboardingStep",requestParams:{path:s.object({stepId:s.string()})},summary:"Update an onboarding step",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Rt(hd).partial()}}},responses:{200:{description:"Onboarding step updated",content:{"application/json":{schema:hd}}}},"x-revturbine-operation":{exposure:"internal",resource:"onboarding",persistence:{table:"onboardingChecklist",mode:"update",writeSchema:"OnboardingChecklistSchema#writable"}}})},"/api/settings/audit-events":{get:b({operationId:"listAuditEvents",requestParams:{query:ie},summary:"List audit events for the tenant",tags:["settings"],responses:{200:{description:"Audit events",content:{"application/json":{schema:re(SA)}}}},"x-revturbine-operation":{exposure:"internal",resource:"audit-events",persistence:{table:"auditEvents",mode:"list"}}})},"/api/config/placement-test-users":{get:b({operationId:"listPlacementTestUsers",requestParams:{query:ie},summary:"List placement test users for the tenant",tags:["settings"],responses:{200:{description:"Placement test users",content:{"application/json":{schema:re(bd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-test-users",persistence:{table:"placementTestUsers",mode:"list"}}}),post:b({operationId:"createPlacementTestUser",summary:"Add a placement test user",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Tt(bd)}}},responses:{201:{description:"Placement test user created",content:{"application/json":{schema:bd}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-test-users",persistence:{table:"placementTestUsers",mode:"create",writeSchema:"PlacementTestUserSchema#writable"}}})},"/api/config/placement-test-users/{testUserId}":{delete:b({operationId:"deletePlacementTestUser",requestParams:{path:s.object({testUserId:s.string()})},summary:"Remove a placement test user",tags:["settings"],responses:{200:{description:"Placement test user removed",content:{"application/json":{schema:bd}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-test-users",persistence:{table:"placementTestUsers",mode:"delete"}}})}});var {Unrestricted:G,Pii:qt}=mt,{Persisted:tn,Transient:oy}=ut,{Internal:zt}=dt,$A=s.enum(["user","admin"]).meta({id:"UserRole","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({name:at.meta(G),email:s.string().email().meta(qt),email_verified:s.boolean().default(false).meta(G),image:s.string().url().nullable().default(null).meta(qt),role:$A.default("user").meta(G),banned:s.boolean().default(false).meta({...G,readOnly:true}),ban_reason:s.string().nullable().default(null).meta({...G,readOnly:true}),ban_expires:ot.meta({...G,readOnly:true}),two_factor_enabled:s.boolean().default(false).meta({...G,readOnly:true})}).meta({id:"AuthUser","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({expires_at:s.string().datetime().meta(G),token:s.string().min(1).meta({...qt,readOnly:true}),ip_address:s.string().nullable().default(null).meta(qt),user_agent:s.string().nullable().default(null).meta(qt),user_id:s.string().min(1).meta({...G,readOnly:true}),active_organization_id:s.string().nullable().default(null).meta(G),impersonated_by:s.string().nullable().default(null).meta({...G,readOnly:true})}).meta({id:"AuthSession","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({account_id:s.string().min(1).meta(G),provider_id:s.string().min(1).meta(G),user_id:s.string().min(1).meta({...G,readOnly:true}),access_token:s.string().nullable().default(null).meta({...qt,readOnly:true}),refresh_token:s.string().nullable().default(null).meta({...qt,readOnly:true}),id_token:s.string().nullable().default(null).meta({...qt,readOnly:true}),access_token_expires_at:ot.meta({...G,readOnly:true}),refresh_token_expires_at:ot.meta({...G,readOnly:true}),scope:s.string().nullable().default(null).meta(G),password:s.string().nullable().default(null).meta({...qt,readOnly:true})}).meta({id:"AuthAccount","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({identifier:s.string().min(1).meta(qt),value:s.string().min(1).meta({...qt,readOnly:true}),expires_at:s.string().datetime().meta(G)}).meta({id:"AuthVerification","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({secret:s.string().min(1).meta({...qt,readOnly:true}),backup_codes:s.string().min(1).meta({...qt,readOnly:true}),user_id:s.string().min(1).meta({...G,readOnly:true}),verified:s.boolean().default(false).meta({...G,readOnly:true})}).meta({id:"AuthTwoFactor","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({name:at.meta(G),slug:s.string().min(1).max(100).nullable().default(null).meta(G),logo:s.string().url().nullable().default(null).meta(G),created_at:s.string().datetime().meta({...G,readOnly:true}),metadata:s.string().nullable().default(null).meta(G)}).meta({id:"AuthOrganization","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});var WR=s.enum(["viewer","collaborator","approver","admin"]).meta({id:"Role","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});var XR=s.enum(["tenant","users","plans","entitlements","placements","targeting","content","experiments","billing","audit","mcp","api_tokens","settings"]).meta({id:"PermissionResource","x-revturbine-schema-persistence":oy,"x-revturbine-schema-exposure":zt}),YR=s.enum(["read","create","update","delete","publish","approve","invite","manage_roles"]).meta({id:"PermissionAction","x-revturbine-schema-persistence":oy,"x-revturbine-schema-exposure":zt});s.object({resource:XR,action:YR}).meta({id:"Permission","x-revturbine-schema-persistence":oy,"x-revturbine-schema-exposure":zt});var kA=["tenant","plans","entitlements","placements","targeting","content","experiments","audit","settings"],wA=["plans","entitlements","placements","targeting","content","experiments"],TA=["plans","entitlements","placements","targeting","content","experiments"],RA=["tenant","users","plans","entitlements","placements","targeting","content","experiments","billing","audit","mcp","api_tokens","settings"],CA=["read","create","update","delete","publish","approve","invite","manage_roles"];function $d(e,n){return e.flatMap(r=>n.map(o=>({resource:r,action:o})))}var EA=$d(kA,["read"]),zA=[...EA,...$d(wA,["create","update"])];[...zA,...$d(TA,["publish","approve","delete"])];$d(RA,CA);var jA=XR.options.flatMap(e=>YR.options.map(n=>`${e}:${n}`));s.enum(jA).meta({id:"McpTokenScope","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({organization_id:s.string().min(1).meta({...G,readOnly:true}),user_id:s.string().min(1).meta({...G,readOnly:true}),role:WR.default("viewer").meta(G),created_at:s.string().datetime().meta({...G,readOnly:true})}).meta({id:"AuthMember","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});var UA=s.enum(["pending","accepted","rejected","canceled","expired"]).meta({id:"InvitationStatus","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({organization_id:s.string().min(1).meta({...G,readOnly:true}),email:s.string().email().meta(qt),role:WR.nullable().default(null).meta(G),status:UA.default("pending").meta(G),expires_at:s.string().datetime().meta(G),created_at:s.string().datetime().meta({...G,readOnly:true}),inviter_id:s.string().min(1).meta({...G,readOnly:true})}).meta({id:"AuthInvitation","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({name:s.string().max(200).nullable().default(null).meta(G),public_key:s.string().min(1).meta({...qt,readOnly:true}),user_id:s.string().min(1).meta({...G,readOnly:true}),credential_id:s.string().min(1).meta({...G,readOnly:true}),counter:s.number().int().default(0).meta({...G,readOnly:true}),device_type:s.string().min(1).meta(G),backed_up:s.boolean().default(false).meta(G),transports:s.string().nullable().default(null).meta(G),created_at:s.string().datetime().meta({...G,readOnly:true}),aaguid:s.string().nullable().default(null).meta(G)}).meta({id:"AuthPasskey","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({config_id:s.string().min(1).meta(G),name:s.string().max(200).nullable().default(null).meta(G),start:s.string().nullable().default(null).meta(G),reference_id:s.string().min(1).meta(G),prefix:s.string().nullable().default(null).meta(G),key:s.string().min(1).meta({...qt,readOnly:true}),refill_interval:s.number().int().nullable().default(null).meta(G),refill_amount:s.number().int().nullable().default(null).meta(G),last_refill_at:ot.meta({...G,readOnly:true}),enabled:s.boolean().default(true).meta(G),rate_limit_enabled:s.boolean().default(false).meta(G),rate_limit_time_window:s.number().int().nullable().default(null).meta(G),rate_limit_max:s.number().int().nullable().default(null).meta(G),request_count:s.number().int().default(0).meta({...G,readOnly:true}),remaining:s.number().int().nullable().default(null).meta({...G,readOnly:true}),last_request:ot.meta({...G,readOnly:true}),expires_at:ot.meta(G),permissions:s.string().nullable().default(null).meta(G),metadata:s.string().nullable().default(null).meta(G)}).meta({id:"AuthApiKey","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({issuer:s.string().min(1).meta(G),oidc_config:s.string().nullable().default(null).meta(G),saml_config:s.string().nullable().default(null).meta(G),user_id:s.string().min(1).meta({...G,readOnly:true}),provider_id:s.string().min(1).meta(G),organization_id:s.string().nullable().default(null).meta(G),domain:s.string().min(1).meta(G)}).meta({id:"AuthSsoProvider","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});var QR="0.2.21";var Pn=Object.freeze({colors:{primary:"#1e40af",primaryText:"#ffffff",secondary:"#f3f4f6",secondaryText:"#1f2937",accent:"#7c3aed",accentText:"#ffffff",background:"#ffffff",surface:"#f8fafc",surfaceBorder:"#e2e8f0",text:"#111827",textSecondary:"#4b5563",textMuted:"#6b7280",overlay:"rgba(0, 0, 0, 0.5)",success:"#16a34a",warning:"#f59e0b",danger:"#dc2626",info:"#60a5fa",toastBackground:"#1f2937",toastText:"#ffffff",cliBackground:"#1e1e1e",cliText:"#d4d4d4",cliLink:"#569cd6",track:"#e5e7eb"},typography:{fontFamily:"system-ui, -apple-system, sans-serif",fontFamilyMono:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace',fontSize:"14px",fontSizeSmall:"13px",fontSizeHeader:"20px",fontSizeLargeHeader:"28px"},shape:{borderRadiusSmall:"6px",borderRadius:"8px",borderRadiusLarge:"12px"},shadows:{medium:"0 10px 40px rgba(0, 0, 0, 0.25)",large:"0 20px 60px rgba(0, 0, 0, 0.3)"}});function na(e){return e?{id:e.id??Pn.id,name:e.name??Pn.name,version:e.version??Pn.version,colors:{...Pn.colors,...e.colors},typography:{...Pn.typography,...e.typography},shape:{...Pn.shape,...e.shape},shadows:{...Pn.shadows,...e.shadows}}:{...Pn}}var NA=createContext(Pn);function jt(){return useContext(NA)}var ZA={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 24px",lineHeight:"1.5",zIndex:9990,width:"100%",boxSizing:"border-box"},BA={display:"flex",flexDirection:"column",gap:"2px",flex:1},MA={display:"flex",alignItems:"center",gap:"8px",marginLeft:"16px",flexShrink:0};function sy({content:e,onCtaClick:n,onDismiss:r,visible:o,className:t,style:i}){let a=jt(),[c,l]=useState(false),[u,m]=useState(o);o&&!u&&l(false),o!==u&&m(o);let p=e.position||"top",f=e.dismissible!==false,g=useCallback(()=>{l(true),r();},[r]),h=useMemo(()=>{let{colors:k,typography:S,shape:T}=a;return {banner:{...ZA,backgroundColor:k.primary,color:k.primaryText,fontFamily:S.fontFamily,fontSize:S.fontSize,position:"sticky",...p==="bottom"?{bottom:0}:{top:0}},header:{fontWeight:600,fontSize:"15px"},body:{opacity:.9},cta:{padding:"6px 16px",backgroundColor:k.primaryText,color:k.primary,border:"none",borderRadius:T.borderRadiusSmall,fontWeight:600,fontSize:S.fontSizeSmall,cursor:"pointer",whiteSpace:"nowrap"},dismiss:{padding:"4px 8px",background:"transparent",border:"none",color:k.primaryText,fontSize:"18px",cursor:"pointer",opacity:.7,lineHeight:1}}},[a,p]);return !o||c?null:jsxs("div",{className:t,style:{...h.banner,...i},role:"banner","data-rt-placement":"banner",children:[jsxs("div",{style:BA,children:[e.header&&jsx("div",{style:h.header,children:e.header}),(e.body||e.message)&&jsx("div",{style:h.body,children:e.body||e.message})]}),jsxs("div",{style:MA,children:[e.cta_label&&jsx("button",{type:"button",style:h.cta,onClick:n,children:e.cta_label}),f&&jsx("button",{type:"button",style:h.dismiss,onClick:g,"aria-label":"Dismiss",children:"\xD7"})]})]})}sy.displayName="BannerSlot";var HA={position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999},KA={width:"100%",maxHeight:"200px",objectFit:"cover",marginBottom:"16px"},GA={display:"flex",gap:"12px",justifyContent:"flex-end"};function ly({content:e,onCtaClick:n,onSecondaryCtaClick:r,onDismiss:o,visible:t,className:i,style:a}){let c=jt(),l=useRef(null),u=e.style||"optional",[m,p]=useState(false),f=useRef(t);useEffect(()=>{t&&!f.current&&p(false),f.current=t;},[t]);let g=useCallback(()=>{p(true),o();},[o]),h=useCallback(T=>{u==="optional"&&T.target===T.currentTarget&&g();},[u,g]),k=useCallback(T=>{T.key==="Escape"&&u==="optional"&&g();},[u,g]);useEffect(()=>{if(t)return document.addEventListener("keydown",k),l.current?.focus(),()=>document.removeEventListener("keydown",k)},[t,k]);let S=useMemo(()=>{let{colors:T,typography:C,shape:N,shadows:R}=c;return {overlay:{...HA,backgroundColor:T.overlay,fontFamily:C.fontFamily},dialog:{position:"relative",maxWidth:"480px",width:"90%",backgroundColor:T.background,borderRadius:N.borderRadiusLarge,boxShadow:R.large,padding:"32px",boxSizing:"border-box"},close:{position:"absolute",top:"12px",right:"12px",background:"transparent",border:"none",fontSize:"20px",color:T.textMuted,cursor:"pointer",padding:"4px 8px",lineHeight:1},image:{...KA,borderRadius:N.borderRadius},header:{fontSize:C.fontSizeHeader,fontWeight:700,color:T.text,marginBottom:"8px",lineHeight:1.3},body:{fontSize:"15px",color:T.textSecondary,lineHeight:1.6,marginBottom:"24px"},primaryBtn:{padding:"10px 24px",backgroundColor:T.primary,color:T.primaryText,border:"none",borderRadius:N.borderRadius,fontWeight:600,fontSize:C.fontSize,cursor:"pointer"},secondaryBtn:{padding:"10px 24px",backgroundColor:"transparent",color:T.textSecondary,border:`1px solid ${T.surfaceBorder}`,borderRadius:N.borderRadius,fontWeight:500,fontSize:C.fontSize,cursor:"pointer"}}},[c]);return !t||m?null:jsx("div",{style:S.overlay,onClick:h,role:"dialog","aria-modal":"true","aria-label":typeof e.header=="string"?e.header:"Placement","data-rt-placement":"modal",children:jsxs("div",{ref:l,className:i,style:{...S.dialog,...a},tabIndex:-1,children:[u==="optional"&&jsx("button",{type:"button",style:S.close,onClick:g,"aria-label":"Close",children:"\xD7"}),e.image_url&&jsx("img",{src:e.image_url,alt:"",style:S.image}),e.header&&jsx("div",{style:S.header,children:e.header}),e.body&&jsx("div",{style:S.body,children:e.body}),jsxs("div",{style:GA,children:[e.secondary_cta_label&&r&&jsx("button",{type:"button",style:S.secondaryBtn,onClick:r,children:e.secondary_cta_label}),e.cta_label&&jsx("button",{type:"button",style:S.primaryBtn,onClick:n,children:e.cta_label})]})]})})}ly.displayName="ModalSlot";var WA={width:"100%",maxHeight:"180px",objectFit:"cover",marginBottom:"12px"};function uy({content:e,onCtaClick:n,visible:r,className:o,style:t}){let i=jt(),a=useMemo(()=>{let{colors:c,typography:l,shape:u}=i;return {container:{backgroundColor:c.surface,border:`1px solid ${c.surfaceBorder}`,borderRadius:u.borderRadius,padding:"20px",fontFamily:l.fontFamily,boxSizing:"border-box"},header:{fontSize:"16px",fontWeight:600,color:c.text,marginBottom:"6px",lineHeight:1.4},body:{fontSize:l.fontSize,color:c.textSecondary,lineHeight:1.6,marginBottom:"16px"},image:{...WA,borderRadius:u.borderRadiusSmall},cta:{padding:"8px 20px",backgroundColor:c.primary,color:c.primaryText,border:"none",borderRadius:u.borderRadiusSmall,fontWeight:600,fontSize:l.fontSizeSmall,cursor:"pointer"}}},[i]);return r?jsxs("div",{className:o,style:{...a.container,...t},"data-rt-placement":"inline-embed",children:[e.image_url&&jsx("img",{src:e.image_url,alt:"",style:a.image}),e.header&&jsx("div",{style:a.header,children:e.header}),(e.body||e.message)&&jsx("div",{style:a.body,children:e.body||e.message}),e.cta_label&&jsx("button",{type:"button",style:a.cta,onClick:n,children:e.cta_label})]}):null}uy.displayName="InlineEmbedSlot";function hc(e){return jsx(uy,{...e})}hc.displayName="InPageSlot";var oC={"top-right":{top:"16px",right:"16px"},"bottom-right":{bottom:"16px",right:"16px"},"bottom-center":{bottom:"16px",left:"50%",transform:"translateX(-50%)"}},nN={position:"absolute",zIndex:9995,maxWidth:"380px",width:"90%",lineHeight:1.5,display:"flex",alignItems:"center",gap:"12px",boxSizing:"border-box"},rN={flex:1};function my({content:e,onCtaClick:n,onDismiss:r,visible:o,className:t,style:i}){let a=jt(),[c,l]=useState(o),[u,m]=useState(o);o&&!u&&l(true),o!==u&&m(o);let p=e.position||"bottom-right",f=typeof e.duration=="number"?e.duration:5,g=useCallback(()=>{l(false),r();},[r]);useEffect(()=>{if(!c||f<=0)return;let S=setTimeout(()=>{g();},f*1e3);return ()=>clearTimeout(S)},[c,f,g]);let h=useMemo(()=>{let{colors:S,typography:T,shape:C,shadows:N}=a;return {container:{...nN,backgroundColor:S.toastBackground,color:S.toastText,borderRadius:C.borderRadius,boxShadow:N.medium,padding:"14px 18px",fontFamily:T.fontFamily,fontSize:T.fontSize},cta:{color:S.info,background:"transparent",border:"none",fontWeight:600,fontSize:T.fontSizeSmall,cursor:"pointer",whiteSpace:"nowrap",textDecoration:"underline",padding:0},close:{background:"transparent",border:"none",color:S.textMuted,fontSize:"16px",cursor:"pointer",padding:"2px 4px",lineHeight:1,flexShrink:0}}},[a]);if(!c)return null;let k=oC[p]??oC["bottom-right"];return jsxs("div",{className:t,style:{...h.container,...k,...i},role:"status","aria-live":"polite","data-rt-placement":"toast",children:[jsx("div",{style:rN,children:e.message||e.body||e.header}),e.cta_label&&jsx("button",{type:"button",style:h.cta,onClick:n,children:e.cta_label}),jsx("button",{type:"button",style:h.close,onClick:g,"aria-label":"Close",children:"\xD7"})]})}my.displayName="ToastSlot";function py({content:e,onCtaClick:n,visible:r,className:o,style:t}){let i=jt();if(!r)return null;let a=e.style||"primary",c={padding:"8px 20px",border:"none",borderRadius:i.shape.borderRadiusSmall,fontWeight:600,fontSize:i.typography.fontSize,cursor:"pointer",fontFamily:i.typography.fontFamily,whiteSpace:"nowrap",lineHeight:1.4},l={primary:{...c,backgroundColor:i.colors.primary,color:i.colors.primaryText},secondary:{...c,backgroundColor:i.colors.secondary,color:i.colors.secondaryText,border:`1px solid ${i.colors.surfaceBorder}`},accent:{...c,backgroundColor:i.colors.accent,color:i.colors.accentText}},u=l[a]??l.primary;return jsx("button",{type:"button",className:o,style:{...u,...t},onClick:n,"data-rt-placement":"button",children:e.cta_label||"Upgrade"})}py.displayName="ButtonSlot";function by(e){if(typeof e.usage_percent=="number")return e.usage_percent;let n=typeof e.usage_current=="number"?e.usage_current:0,r=typeof e.usage_limit=="number"?e.usage_limit:100;return r>0?Math.min(100,Math.round(n/r*100)):0}function aC(e,n){return e>=90?n.colors.danger:e>=70?n.colors.warning:n.colors.primary}function aN({content:e,theme:n}){let r=by(e),o=e.usage_current??r,t=e.usage_limit??100;return jsxs(Fragment,{children:[jsxs("div",{style:{fontSize:n.typography.fontSizeSmall,color:n.colors.textMuted,marginBottom:"8px",display:"flex",justifyContent:"space-between",alignItems:"baseline"},children:[jsx("span",{children:typeof e.header=="string"?e.header:"Usage"}),jsxs("span",{style:{fontWeight:600,color:n.colors.text},children:[String(o)," / ",String(t)]})]}),jsx("div",{style:{width:"100%",height:"8px",backgroundColor:n.colors.track,borderRadius:n.shape.borderRadiusSmall,overflow:"hidden",marginBottom:"12px"},children:jsx("div",{style:{height:"100%",borderRadius:n.shape.borderRadiusSmall,transition:"width 0.3s ease",width:`${Math.min(100,r)}%`,backgroundColor:aC(r,n)}})})]})}function sN({content:e,theme:n}){let r=e.usage_current??0,o=e.usage_limit??100;return jsxs(Fragment,{children:[jsxs("div",{style:{fontSize:"24px",fontWeight:700,color:n.colors.text,marginBottom:"4px"},children:[String(r)," / ",String(o)]}),jsx("div",{style:{fontSize:n.typography.fontSizeSmall,color:n.colors.textMuted,marginBottom:"12px"},children:typeof e.header=="string"?e.header:"Usage"})]})}var Hn=80,gy=8,hy=(Hn-gy)/2,fy=2*Math.PI*hy;function cN({content:e,theme:n}){let r=by(e),o=e.usage_current??r,t=e.usage_limit??100,i=fy-r/100*fy,a=aC(r,n);return jsxs("div",{style:{display:"flex",alignItems:"center",gap:"16px",marginBottom:"12px"},children:[jsxs("svg",{width:Hn,height:Hn,style:{flexShrink:0},children:[jsx("circle",{cx:Hn/2,cy:Hn/2,r:hy,fill:"none",stroke:n.colors.track,strokeWidth:gy}),jsx("circle",{cx:Hn/2,cy:Hn/2,r:hy,fill:"none",stroke:a,strokeWidth:gy,strokeLinecap:"round",strokeDasharray:fy,strokeDashoffset:i,transform:`rotate(-90 ${Hn/2} ${Hn/2})`,style:{transition:"stroke-dashoffset 0.3s ease"}}),jsxs("text",{x:Hn/2,y:Hn/2+1,textAnchor:"middle",dominantBaseline:"central",fontSize:"16",fontWeight:"700",fill:n.colors.text,children:[r,"%"]})]}),jsxs("div",{children:[jsxs("div",{style:{fontSize:n.typography.fontSize,fontWeight:600,color:n.colors.text},children:[String(o)," / ",String(t)]}),jsx("div",{style:{fontSize:n.typography.fontSizeSmall,color:n.colors.textMuted},children:typeof e.header=="string"?e.header:"Usage"})]})]})}function Td({content:e,onCtaClick:n,visible:r,className:o,style:t}){let i=jt();if(!r)return null;let a=e.display_style||"progress_bar",c=typeof e.show_at=="number"?e.show_at:0,l=by(e);if(c>0&&l<c)return null;let u={backgroundColor:i.colors.surface,border:`1px solid ${i.colors.surfaceBorder}`,borderRadius:i.shape.borderRadius,padding:"16px 20px",fontFamily:i.typography.fontFamily,boxSizing:"border-box"},m={padding:"6px 16px",backgroundColor:i.colors.primary,color:i.colors.primaryText,border:"none",borderRadius:i.shape.borderRadiusSmall,fontWeight:600,fontSize:i.typography.fontSizeSmall,cursor:"pointer"};return jsxs("div",{className:o,style:{...u,...t},"data-rt-placement":"quota-meter",children:[a==="numeric_counter"?jsx(sN,{content:e,theme:i}):a==="circular_gauge"?jsx(cN,{content:e,theme:i}):jsx(aN,{content:e,theme:i}),e.cta_label&&jsx("button",{type:"button",style:m,onClick:n,children:e.cta_label})]})}Td.displayName="QuotaMeterSlot";var lN={maxWidth:"800px",margin:"0 auto",padding:"40px 24px",fontFamily:"system-ui, -apple-system, sans-serif",boxSizing:"border-box"},uN={fontSize:"28px",fontWeight:700,color:"#111827",textAlign:"center",marginBottom:"12px",lineHeight:1.3},dN={fontSize:"16px",color:"#4b5563",textAlign:"center",lineHeight:1.6,marginBottom:"32px",maxWidth:"600px",marginLeft:"auto",marginRight:"auto"},mN={display:"flex",justifyContent:"center",gap:"16px"},pN={padding:"12px 32px",backgroundColor:"#1e40af",color:"#ffffff",border:"none",borderRadius:"8px",fontWeight:600,fontSize:"16px",cursor:"pointer"},fN={padding:"12px 32px",backgroundColor:"transparent",color:"#4b5563",border:"1px solid #d1d5db",borderRadius:"8px",fontWeight:500,fontSize:"16px",cursor:"pointer"};function Cd({content:e,onCtaClick:n,onSecondaryCtaClick:r,visible:o,className:t,style:i}){return o?jsxs("div",{className:t,style:{...lN,...i},"data-rt-placement":"full-page",children:[e.header&&jsx("h1",{style:uN,children:e.header}),e.body&&jsx("p",{style:dN,children:e.body}),jsxs("div",{style:mN,children:[e.cta_label&&jsx("button",{type:"button",style:pN,onClick:n,children:e.cta_label}),e.secondary_cta_label&&r&&jsx("button",{type:"button",style:fN,onClick:r,children:e.secondary_cta_label})]})]}):null}Cd.displayName="FullPageSlot";var gN={backgroundColor:"#1e1e1e",color:"#d4d4d4",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace',fontSize:"13px",lineHeight:1.6,padding:"16px 20px",borderRadius:"6px",boxSizing:"border-box"},hN={whiteSpace:"pre-wrap",marginBottom:"12px"},bN={display:"flex",gap:"16px"},lC={color:"#569cd6",background:"transparent",border:"none",cursor:"pointer",fontFamily:"inherit",fontSize:"inherit",padding:0,textDecoration:"underline"};function vy({content:e,onCtaClick:n,visible:r,className:o,style:t}){if(!r)return null;let i=e.message||e.body||"",a=e.action_links,c=Array.isArray(a)?a.filter(l=>typeof l=="string"):[];return jsxs("div",{className:o,style:{...gN,...t},"data-rt-placement":"cli",children:[i&&jsx("div",{style:hN,children:i}),(c.length>0||e.cta_label)&&jsxs("div",{style:bN,children:[e.cta_label&&jsx("button",{type:"button",style:lC,onClick:n,children:e.cta_label}),c.map(l=>jsx("button",{type:"button",style:lC,onClick:n,children:l},l))]})]})}vy.displayName="CliSlot";var _N={backgroundColor:"#ffffff",border:"1px solid #e2e8f0",borderRadius:"8px",padding:"16px 20px",fontFamily:"system-ui, -apple-system, sans-serif",boxSizing:"border-box"},vN={display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:"4px"},yN={fontSize:"13px",color:"#6b7280"},xN={fontSize:"28px",fontWeight:700,color:"#111827"},IN={fontSize:"12px",color:"#9ca3af",marginBottom:"12px"},SN={width:"100%",height:"6px",backgroundColor:"#e5e7eb",borderRadius:"3px",overflow:"hidden",marginBottom:"12px"},PN={height:"100%",borderRadius:"3px",transition:"width 0.3s ease"},$N={display:"flex",gap:"8px"},kN={padding:"6px 16px",backgroundColor:"#1e40af",color:"#ffffff",border:"none",borderRadius:"6px",fontWeight:600,fontSize:"13px",cursor:"pointer"};function wN(e,n){if(n<=0)return "#1e40af";let r=e/n*100;return r<=10?"#dc2626":r<=25?"#f59e0b":"#1e40af"}function yy({content:e,onCtaClick:n,visible:r,className:o,style:t}){if(!r)return null;let i=typeof e.credits_remaining=="number"?e.credits_remaining:0,a=typeof e.credits_total=="number"?e.credits_total:i,c=typeof e.show_at=="number"?e.show_at:0,l=e.show_burn_rate===true,u=e.display_style||"numeric_balance";if(c>0&&i>c)return null;let m=a>0?i/a*100:0;return jsxs("div",{className:o,style:{..._N,...t},"data-rt-placement":"credit-balance",children:[jsxs("div",{style:vN,children:[jsx("span",{style:yN,children:typeof e.header=="string"?e.header:"Credits Remaining"}),jsx("span",{style:xN,children:String(i)})]}),l&&typeof e.burn_rate_label=="string"&&jsx("div",{style:IN,children:e.burn_rate_label}),(u==="balance_bar"||u==="balance_burn_rate")&&a>0&&jsx("div",{style:SN,children:jsx("div",{style:{...PN,width:`${Math.min(100,m)}%`,backgroundColor:wN(i,a)}})}),jsx("div",{style:$N,children:e.cta_label&&jsx("button",{type:"button",style:kN,onClick:n,children:e.cta_label})})]})}yy.displayName="CreditBalanceSlot";var RN={position:"absolute",top:"16px",right:"16px"};function CN(e,n,r){return n==="top"?{position:"fixed",left:`${e.left+e.width/2}px`,top:`${e.top-r}px`,transform:"translate(-50%, -100%)"}:n==="left"?{position:"fixed",left:`${e.left-r}px`,top:`${e.top+e.height/2}px`,transform:"translate(-100%, -50%)"}:n==="right"?{position:"fixed",left:`${e.left+e.width+r}px`,top:`${e.top+e.height/2}px`,transform:"translate(0, -50%)"}:{position:"fixed",left:`${e.left+e.width/2}px`,top:`${e.top+e.height+r}px`,transform:"translate(-50%, 0)"}}function Iy({content:e,onCtaClick:n,onDismiss:r,visible:o,className:t,style:i}){let a=jt(),[c,l]=useState(false),[u,m]=useState(null),p=e.anchor_selector||void 0,f=e.position||"top",g=typeof e.anchor_gap=="number"?e.anchor_gap:10,h=useCallback(()=>{if(!p||typeof window>"u"){m(null);return}let C=window.document.querySelector(p);if(!C){m(null);return}let N=C.getBoundingClientRect();m({top:N.top,left:N.left,width:N.width,height:N.height});},[p]);useEffect(()=>{o&&l(false);},[o]),useEffect(()=>{if(!o||(h(),typeof window>"u"))return;let C=()=>h();return window.addEventListener("resize",C),window.addEventListener("scroll",C,true),()=>{window.removeEventListener("resize",C),window.removeEventListener("scroll",C,true);}},[o,h]);let k=useCallback(()=>{l(true),r();},[r]),S=useMemo(()=>{let{colors:C,typography:N,shape:R,shadows:w}=a;return {container:{zIndex:9996,maxWidth:"320px",width:"max-content",lineHeight:1.45,display:"flex",flexDirection:"column",gap:"10px",boxSizing:"border-box",backgroundColor:C.toastBackground,color:C.toastText,borderRadius:R.borderRadius,boxShadow:w.medium,padding:"12px 14px",fontFamily:N.fontFamily,fontSize:N.fontSizeSmall},body:{margin:0},actions:{display:"flex",alignItems:"center",gap:"10px"},cta:{color:C.info,background:"transparent",border:"none",fontWeight:600,fontSize:N.fontSizeSmall,cursor:"pointer",textDecoration:"underline",padding:0},close:{marginLeft:"auto",background:"transparent",border:"none",color:C.textMuted,fontSize:"14px",cursor:"pointer",lineHeight:1,padding:"2px 4px"}}},[a]);if(!o||c)return null;let T=u?CN(u,f,g):RN;return jsxs("div",{className:t,style:{...S.container,...T,...i},role:"status","aria-live":"polite","data-rt-placement":"tooltip",children:[jsx("p",{style:S.body,children:e.message||e.body||e.header}),jsxs("div",{style:S.actions,children:[e.cta_label&&jsx("button",{type:"button",style:S.cta,onClick:n,children:e.cta_label}),jsx("button",{type:"button",style:S.close,onClick:k,"aria-label":"Close tooltip",children:"\xD7"})]})]})}Iy.displayName="TooltipSlot";function zN(e){return e==="connected"?"#22c55e":e==="pending"?"#f59e0b":"#ef4444"}function jN(e){return e==="connected"?"Connected":e==="pending"?"Pending":"Disconnected"}function Py({content:e,onCtaClick:n,visible:r,className:o,style:t}){let i=jt(),a=e.connection_state||"disconnected",c=useMemo(()=>{let{colors:l,typography:u,shape:m,shadows:p}=i;return {card:{backgroundColor:l.surface,border:`1px solid ${l.surfaceBorder}`,borderRadius:m.borderRadius,boxShadow:p.medium,padding:"16px",display:"flex",flexDirection:"column",gap:"12px",fontFamily:u.fontFamily,maxWidth:"420px"},row:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px"},heading:{margin:0,color:l.text,fontSize:"15px",fontWeight:600},body:{margin:0,color:l.textSecondary,fontSize:u.fontSizeSmall,lineHeight:1.45},badge:{display:"inline-flex",alignItems:"center",gap:"6px",borderRadius:"999px",border:`1px solid ${l.surfaceBorder}`,padding:"3px 8px",fontSize:"12px",color:l.textSecondary},dot:{width:"8px",height:"8px",borderRadius:"50%",backgroundColor:zN(a)},cta:{alignSelf:"flex-start",backgroundColor:l.primary,color:l.primaryText,border:"none",borderRadius:m.borderRadiusSmall,padding:"7px 12px",fontWeight:600,fontSize:u.fontSizeSmall,cursor:"pointer"}}},[i,a]);return r?jsxs("section",{className:o,style:{...c.card,...t},"data-rt-placement":"agent-connector",children:[jsxs("div",{style:c.row,children:[jsx("h3",{style:c.heading,children:e.header||"Connect your assistant"}),jsxs("span",{style:c.badge,children:[jsx("span",{style:c.dot}),jN(a)]})]}),jsx("p",{style:c.body,children:e.body||"Enable your agent connector to automate premium workflows."}),e.cta_label&&jsx("button",{type:"button",style:c.cta,onClick:n,children:e.cta_label})]}):null}Py.displayName="AgentConnectorSlot";var _c=(e,n="")=>e==null||e===""?n:String(e);function ON(e){let n=[];return e.cta_label&&n.push({kind:"primary",label:e.cta_label}),e.secondary_cta_label&&n.push({kind:"secondary",label:e.secondary_cta_label}),n}var $y={fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.05em",color:"#94a3b8"};function ky({content:e,onCtaClick:n,onSecondaryCtaClick:r,accent:o,accentText:t}){let i=ON(e);if(i.length===0)return null;let a={padding:"5px 12px",borderRadius:"6px",fontSize:"12px",fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"};return jsx("div",{style:{display:"flex",gap:"8px",marginTop:"8px",alignItems:"center"},children:i.map(c=>c.kind==="primary"?jsx("button",{type:"button","data-rt-cta":"primary",onClick:n,style:{...a,backgroundColor:o,color:t,border:"none"},children:c.label},"primary"):r&&jsx("button",{type:"button","data-rt-cta":"secondary",onClick:r,style:{...a,backgroundColor:"transparent",color:o,border:`1px solid ${o}`},children:c.label},"secondary"))})}function wy(){let e=jt();return useMemo(()=>({accent:e.colors.primary,accentText:e.colors.primaryText}),[e])}function Ty({content:e,onCtaClick:n,onSecondaryCtaClick:r,visible:o,className:t,style:i}){let{accent:a,accentText:c}=wy();return o?jsxs("div",{className:t,"data-rt-placement":"email",style:{borderRadius:"8px",border:"1px solid #e2e8f0",backgroundColor:"#ffffff",...i},children:[jsxs("div",{style:{borderBottom:"1px solid #f1f5f9",padding:"8px 12px"},children:[jsx("p",{style:{...$y,margin:0},children:"Email preview"}),jsx("p",{style:{margin:"2px 0 0",fontSize:"14px",fontWeight:600,color:"#1e293b"},children:_c(e.subject,"(no subject)")})]}),jsxs("div",{style:{padding:"8px 12px",fontSize:"12px",color:"#475569",whiteSpace:"pre-wrap"},children:[_c(e.body,"(empty body)"),jsx(ky,{content:e,onCtaClick:n,onSecondaryCtaClick:r,accent:a,accentText:c})]})]}):null}Ty.displayName="EmailPreviewSlot";function Ry({content:e,onCtaClick:n,onSecondaryCtaClick:r,visible:o,className:t,style:i}){let{accent:a,accentText:c}=wy();return o?jsxs("div",{className:t,"data-rt-placement":"sms",style:{borderRadius:"8px",border:"1px solid #e2e8f0",backgroundColor:"#f8fafc",padding:"12px",...i},children:[jsx("p",{style:{...$y,margin:0},children:"SMS preview"}),jsx("div",{style:{display:"inline-block",maxWidth:"85%",marginTop:"4px",borderRadius:"16px",backgroundColor:"#dcfce7",padding:"8px 12px",fontSize:"12px",color:"#1e293b"},children:_c(e.body??e.message,"(empty message)")}),jsx(ky,{content:e,onCtaClick:n,onSecondaryCtaClick:r,accent:a,accentText:c})]}):null}Ry.displayName="SmsPreviewSlot";function Cy({content:e,onCtaClick:n,onSecondaryCtaClick:r,visible:o,className:t,style:i}){let{accent:a,accentText:c}=wy();return o?jsxs("div",{className:t,"data-rt-placement":"push",style:{borderRadius:"8px",border:"1px solid #e2e8f0",backgroundColor:"#ffffff",padding:"12px",boxShadow:"0 1px 2px rgba(0,0,0,0.05)",...i},children:[jsx("p",{style:{...$y,margin:0},children:"Push preview"}),jsx("p",{style:{margin:"4px 0 0",fontSize:"14px",fontWeight:600,color:"#1e293b"},children:_c(e.header??e.title,"(no title)")}),jsx("p",{style:{margin:0,fontSize:"12px",color:"#475569"},children:_c(e.body,"(empty body)")}),jsx(ky,{content:e,onCtaClick:n,onSecondaryCtaClick:r,accent:a,accentText:c})]}):null}Cy.displayName="PushPreviewSlot";function vc(e){e.register({id:"banner",label:"Banner",description:"Full-width banner placement at the top or bottom of the page.",surfaceType:"banner",component:sy,defaultProps:{content:{position:"top",dismissible:true}}}),e.register({id:"modal",label:"Modal Overlay",description:"Centered overlay dialog. Supports optional (dismissible) and blocking modes.",surfaceType:"modal",component:ly}),e.register({id:"in_page",label:"Inline Embed",description:"Content card or message embedded in the page flow.",surfaceType:"in_page",component:hc}),e.register({id:"plans_cta",label:"Plans CTA",description:"Pricing page CTA-focused module with concise upgrade actions.",surfaceType:"in_page",component:hc,priority:30,accepts:n=>n.surface.type==="in_page"&&typeof n.surface.template=="string"&&["plans_cta","pricing_page_cta","plans_pricing_cta"].includes(n.surface.template)}),e.register({id:"plans_full",label:"Plans Full Page",description:"Dedicated plans and pricing full-page experience.",surfaceType:"full_page",component:Cd,priority:30,accepts:n=>typeof n.surface.template=="string"&&["plans_full","pricing_page_full","plans_pricing_full"].includes(n.surface.template)}),e.register({id:"inline_gate_message",label:"Inline Gate Message",description:"Inline entitlement gate message with upgrade CTA.",surfaceType:"in_page",component:hc,priority:40,accepts:n=>n.surface.type==="in_page"&&typeof n.surface.template=="string"&&["inline_gate_message","inline_feature_gate","feature_gate_inline"].includes(n.surface.template)}),e.register({id:"tooltip",label:"Tooltip",description:"Compact tooltip-like guidance near a feature surface.",surfaceType:"toast",component:Iy,priority:50,accepts:n=>{let r=typeof n.surface.template=="string"?n.surface.template:"";return r==="tooltip"||r==="feature_tooltip"||r==="inline_tooltip"},defaultProps:{content:{position:"top-right",duration:0}}}),e.register({id:"toast",label:"Toast Notification",description:"Small transient notification that auto-dismisses.",surfaceType:"toast",component:my,defaultProps:{content:{position:"bottom-right",duration:5}}}),e.register({id:"button",label:"Button",description:"Persistent button in the product navigation or UI.",surfaceType:"button",component:py,defaultProps:{content:{style:"primary"}}}),e.register({id:"full_page",label:"Full Page",description:"Dedicated managed page (e.g. plans & pricing).",surfaceType:"full_page",component:Cd}),e.register({id:"quota_meter",label:"Quota Meter",description:"Visual usage meter with upgrade CTA. Triggers at configurable threshold.",surfaceType:"in_page",component:Td,accepts:n=>n.surface.type==="in_page"&&(n.surface.template==="quota_meter"||n.surface.template==="quota_meter_counter_upgrade_button")}),e.register({id:"trial_counter",label:"Trial Counter",description:"Trial countdown/counter with conversion CTA.",surfaceType:"in_page",component:Td,priority:35,accepts:n=>n.surface.type==="in_page"&&typeof n.surface.template=="string"&&["trial_counter","trial_countdown","trial_days_counter"].includes(n.surface.template),defaultProps:{content:{display_style:"numeric_counter"}}}),e.register({id:"cli",label:"CLI Message",description:"Message in a CLI or chat-style interface with action links.",surfaceType:"cli",component:vy}),e.register({id:"email",label:"Email Preview",description:"Static email channel preview (subject + body + CTAs).",surfaceType:"email",component:Ty}),e.register({id:"sms",label:"SMS Preview",description:"Static SMS channel preview (message bubble + CTAs).",surfaceType:"sms",component:Ry}),e.register({id:"push",label:"Push Preview",description:"Static push-notification channel preview (title + body + CTAs).",surfaceType:"push",component:Cy}),e.register({id:"agent_connector",label:"Agent Connector",description:"Agent-surface placement for assistant/connector experiences.",surfaceType:"agent",component:Py,priority:30,accepts:n=>{let r=typeof n.surface.template=="string"?n.surface.template:"";return n.surface.type==="agent"||r==="agent_connector"}}),e.register({id:"credit_balance",label:"Credit Balance Counter",description:"Depleting credit balance display with purchase/upgrade CTA.",surfaceType:"in_page",component:yy,accepts:n=>n.surface.type==="in_page"&&(n.surface.template==="credit_balance_counter"||n.surface.template==="credit_balance")});}var DN=new Set(["type","plan_handle","promotion_id","placement_handle","url","tour_id"]),ra=class{constructor(){E(this,"types",new Map);E(this,"surfaceIndex",new Map);}register(n){let r=this.types.get(n.id);r&&console.warn(`[RevTurbine] Replacing existing placement slot type id ${n.id}.`,{previousSurfaceType:r.surfaceType,nextSurfaceType:n.surfaceType});let o={...n,priority:n.priority??0,accepts:n.accepts??(i=>i.surface.type===n.surfaceType)};this.types.set(o.id,o);let t=this.surfaceIndex.get(o.surfaceType)??[];t.includes(o.id)||(t.push(o.id),this.surfaceIndex.set(o.surfaceType,t));}unregister(n){let r=this.types.get(n);if(!r)return false;this.types.delete(n);let o=this.surfaceIndex.get(r.surfaceType);if(o){let t=o.filter(i=>i!==n);t.length>0?this.surfaceIndex.set(r.surfaceType,t):this.surfaceIndex.delete(r.surfaceType);}return true}get(n){return this.types.get(n)}resolve(n){if(n.surface.template){let t=this.types.get(n.surface.template);if(t)return t}let o=(this.surfaceIndex.get(n.surface.type)??[]).map(t=>this.types.get(t)).filter(t=>t!=null).sort((t,i)=>i.priority-t.priority);for(let t of o)if(t.accepts?.(n))return t;return this.types.get("custom")}listAll(){return Array.from(this.types.values())}listBySurfaceType(n){return (this.surfaceIndex.get(n)??[]).map(o=>this.types.get(o)).filter(Boolean)}has(n){return this.types.has(n)}};function hC(e,n){let r={current_usage:"usage_current",current_limit:"usage_limit",remaining_usage:"usage_remaining"},o=i=>{if(typeof i=="number"&&Number.isFinite(i))return i;if(typeof i=="string"&&i.trim().length>0){let a=Number(i);if(Number.isFinite(a))return a}},t=i=>{let a="_usage_remaining";if(i==="usage_remaining"){let m=o(n.usage_current??n.current_usage),p=o(n.usage_limit);return m!==void 0&&p!==void 0?Math.max(0,p-m):void 0}if(!i.endsWith(a))return;let c=i.slice(0,-a.length);if(!c)return;let l=o(n[`${c}_usage_current`]),u=o(n[`${c}_usage_limit`]);if(!(l===void 0||u===void 0))return Math.max(0,u-l)};return e.replace(/\{\{(\w+)\}\}/g,(i,a)=>{let c=r[a]??a,l=n[c];if(l!=null)return String(l);let u=t(c);return u!=null?String(u):`{{${a}}}`})}function AN(e,n){let r={};for(let[o,t]of Object.entries(e))typeof t=="string"?r[o]=hC(t,n):r[o]=t;return r}function NN(e){let n=typeof e.type=="string"&&e.type.length>0?e.type:"dismiss",r={};for(let[o,t]of Object.entries(e))DN.has(o)||(r[o]=t);return {type:n,plan_handle:typeof e.plan_handle=="string"?e.plan_handle:void 0,promotion_id:typeof e.promotion_id=="string"?e.promotion_id:void 0,placement_handle:typeof e.placement_handle=="string"?e.placement_handle:void 0,url:typeof e.url=="string"?e.url:void 0,tour_id:typeof e.tour_id=="string"?e.tour_id:void 0,...Object.keys(r).length>0?{params:r}:{}}}function FN(e){if(e)return {id:typeof e.id=="string"?e.id:"",name:typeof e.name=="string"?e.name:void 0,discount:typeof e.discount=="string"?e.discount:void 0,type:typeof e.type=="string"?e.type:void 0,status:typeof e.status=="string"?e.status:void 0}}var yc=null;function LN(){return yc||(yc=new ra,vc(yc)),yc}function ZN(){yc=null;}var xc={recommended_plan_handle:"",recommended_plan_name:""};function bC(e){let{strategy:n,planOverride:r,currentPlanHandle:o,plans:t}=e;if(t.length===0)return xc;if(n==="custom"){let c=r??"";if(c===""||c===o)return xc;let l=t.find(u=>u.unique_handle===c);return l?{recommended_plan_handle:l.unique_handle,recommended_plan_name:l.name}:xc}if(o==="")return xc;let i=Lp(o,t);if(i===null)return xc;let a=t.find(c=>c.unique_handle===i);return {recommended_plan_handle:i,recommended_plan_name:a?.name??i}}var IC=new Set(vd.options);function H9(e,n){return Ud(n,"defineUiPathResolvers(resolvers)")}function Ud(e,n){if(!e)return {};let r={};for(let[o,t]of Object.entries(e)){let i=String(o||"").trim();if(!i)throw new Error(`[RevTurbine] ${n} contains an empty action_type key.`);if(typeof t!="function")throw new Error(`[RevTurbine] ${n} contains a non-function resolver for action_type '${i}'.`);r[i]=t;}return r}function K9(e){return {...e,runtimeMode:"revturbine_server"}}function G9(e){return {...e,runtimeMode:"custom_endpoints",endpointOverrides:e.endpointOverrides}}function BN(e){let n=Ud(e.uiPathResolvers,"createLocalRuntimeConfig(uiPathResolvers)");return {...e,runtimeMode:"local_only",localRuntime:e.localRuntime,uiPathResolvers:n}}function J9(e){return BN(e)}function W9(e,n,r={}){return {slotId:e,surfaceType:n,entitlementHandle:r.entitlementHandle,planHandle:r.planHandle,placementHandle:r.placementHandle}}function X9(e,n={}){return {entitlementHandle:e,slotId:n.slotId,surfaceType:n.surfaceType,planHandle:n.planHandle,placementHandle:n.placementHandle}}function Y9(e,n={}){return {placementHandle:e,slotId:n.slotId,surfaceType:n.surfaceType,entitlementHandle:n.entitlementHandle,planHandle:n.planHandle}}function Wr(e,n,r){return {header:e,body:n,cta_label:r,title:e,cta:r}}function Q9(e,n,r,o={}){return {userId:e,placementId:n,interactionType:r,treatmentId:o.treatmentId,interactionAt:o.interactionAt,metadata:o.metadata}}function e5(e,n,r){return {eventType:e,payload:n,options:r}}var _C="revturbine:sdk-route-change",Ey="sdk_validation_warning",MN="revturbine:decision-cache",VN="revturbine:interaction-state",qN="revturbine:presentation-caps",HN="/api/track",KN="/api/sdk/meta",GN="/api/events/interactions",JN="/api/placements/interactions",WN="revturbine-web-sdk",vC="user_context_observed",XN=20,YN=5e3;function Ic(e,n){let r=e[n];if(typeof r=="string"&&r.trim().length>0)return r;let o=e.payload;if(H(o)){let t=o[n];if(typeof t=="string"&&t.trim().length>0)return t}return null}function QN(e){return Op(e,Dy(8))}async function yC(e){let n=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return dl(new Uint8Array(n))}function Dy(e){let n=Math.ceil(e/2),r=new Uint8Array(n);crypto.getRandomValues(r);let o="";for(let t=0;t<r.length;t+=1){let i=r[t].toString(16).padStart(2,"0");o+=i;}return o.slice(0,e)}function yt(){return typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Dy(16)}`}function zd(){return Uo()?{}:{url:window.location.href,title:document.title,referrer:document.referrer||void 0}}function xC(){return {id:void 0,custom:{},entitlements:{},usage:{},personalization:{}}}function eF(e,n){let r={};for(let[o,t]of Object.entries(n))(typeof t=="string"||typeof t=="number"||typeof t=="boolean")&&(r[o]=t);return Up(e,r)}function tF(e,n,r){if(e.length===0)return true;let o=new Map;for(let t of e){let i=r.get(t)??"__no_dim__",a=o.get(i)??[];a.push(t),o.set(i,a);}for(let t of o.values())if(!t.some(i=>n.has(i)))return false;return true}var jy=class{constructor(n){E(this,"exportedConfig");this.exportedConfig=n;}getExportedConfig(){return this.exportedConfig}},Uy=class{constructor(n,r){E(this,"cached");E(this,"resolver");this.resolver=n,this.cached=r;}getExportedConfig(){return this.cached}async refresh(){let n=fl(await this.resolver(),"localRuntime.resolvers.resolveExportedConfig()");return n&&(this.cached=n),this.cached}},Oy=class{constructor(n){E(this,"tenantId");E(this,"apiKey");E(this,"ingestPublicKey");E(this,"environmentId");E(this,"analyticsEnabled");E(this,"anonymousTelemetryEnabled");E(this,"maxBatchSize");E(this,"flushIntervalMs");E(this,"flushTimer");E(this,"batchingTeardown",[]);E(this,"anonTelemetryNoticeShown",false);E(this,"piiRedactionWarned",false);E(this,"endpoint");E(this,"runtimeMode");E(this,"endpointOverrides");E(this,"localRuntime");E(this,"localStorageKey");E(this,"mode");E(this,"policy");E(this,"extensionEnabled");E(this,"placementBehavior");E(this,"providerFailureSlotBehavior");E(this,"uiPathResolvers");E(this,"persistentStore");E(this,"sessionStore");E(this,"anonymousId");E(this,"sessionId");E(this,"decisionCache",new Map);E(this,"interactionState",new Map);E(this,"interactionQueue",[]);E(this,"defaultDecisionTtlMs",6e4);E(this,"defaultDismissCooldownMs",1440*60*1e3);E(this,"defaultRemindLaterMs",3600*1e3);E(this,"defaultUsageWarningPercent",80);E(this,"defaultTrialExpiringDays",3);E(this,"events",[]);E(this,"placements",new Map);E(this,"syncedSurfaceSlotIds",new Set);E(this,"userContext");E(this,"pageContext");E(this,"usageBalances",{});E(this,"localDecisionsByPlacementId",new Map);E(this,"localPlacementsByLookupKey",new Map);E(this,"localEntitlementsByHandle",new Map);E(this,"localUserContextsByUserId",new Map);E(this,"localTrialStatus",{in_trial:false});E(this,"presentationCapsByKey",new Map);E(this,"usageLimitByEntitlement",new Map);E(this,"usageTokenPrefixByEntitlement",new Map);E(this,"segmentIdsByPredicateField",new Map);E(this,"configuredSegmentsById",new Map);E(this,"dirtySegmentIds",new Set);E(this,"segmentMembershipBySegmentId",new Map);E(this,"segmentMembershipUserId");E(this,"lastTrialTriggerStage","none");E(this,"configProvider");E(this,"defaultLocalPlacementDecisionResolver");E(this,"sdkDisabledByProviderFailure",false);E(this,"sdkDisabledReason");E(this,"providerRegistry");E(this,"placementTypeRegistry");E(this,"impressionHistory");if(this.tenantId=n.tenantId,this.apiKey=n.apiKey,this.ingestPublicKey=n.ingestPublicKey,this.environmentId=n.environmentId?.trim()||"default",this.analyticsEnabled=n.analytics!==false,this.anonymousTelemetryEnabled=n.anonymousTelemetry!==false,this.maxBatchSize=Math.max(1,n.eventBatching?.maxBatchSize??XN),this.flushIntervalMs=Math.max(0,n.eventBatching?.flushIntervalMs??YN),this.endpoint=n.endpoint.replace(/\/$/,""),this.runtimeMode=n.runtimeMode??"revturbine_server",this.endpointOverrides=n.endpointOverrides??{},this.localRuntime=n.localRuntime,this.configProvider=this.resolveConfigProvider(n),this.localStorageKey=n.localRuntime?.storageKey??`revturbine:${this.tenantId}:local-runtime`,this.mode=n.mode,this.policy={inferUser:n.contextPolicy?.inferUser??true,inferPage:n.contextPolicy?.inferPage??true,routerAutoTrack:n.contextPolicy?.routerAutoTrack??true},this.extensionEnabled=!!n.extension?.enabled,this.placementBehavior={enableClientCapsEnforcement:n.placementBehavior?.enableClientCapsEnforcement??false,enableAutoGatedPlacement:n.placementBehavior?.enableAutoGatedPlacement??false,enableTrialAutoTriggers:n.placementBehavior?.enableTrialAutoTriggers??false},this.providerFailureSlotBehavior=n.providerFailureSlotBehavior??"invisible",this.uiPathResolvers=Ud(n.uiPathResolvers,"RevTurbineInitOptions.uiPathResolvers"),this.persistentStore=Mr(n.persistentStorage),this.sessionStore=Cv(n.sessionStorage),this.userContext={usage:{},...this.policy.inferUser?xC():{},...n.user||{}},this.pageContext={...this.policy.inferPage?zd():{},...n.page||{},tags:Ya(n.page?.tags)},this.anonymousId=this.resolveAnonymousId(),this.sessionId=yt(),this.providerRegistry=new Gs,this.placementTypeRegistry=new ra,this.impressionHistory=new wv({store:new md({storage:this.persistentStore,tenantId:this.tenantId}),userId:this.userContext.id??this.anonymousId}),vc(this.placementTypeRegistry),this.defaultLocalPlacementDecisionResolver=this.buildDefaultLocalPlacementDecisionResolver(),n.domainProviders)for(let r of n.domainProviders)this.providerRegistry.register(r);this.assertUiPathResolverCoverageOrThrow(),this.hydrateDecisionCache(),this.hydrateInteractionState(),this.hydratePresentationCaps(),this.hydrateLocalRuntimeState(),this.impressionHistory.hydrate(),this.rebuildSegmentPredicateFieldIndex(),this.refreshExportedConfigSnapshot(),this.recalculateDerivedUsageTraits(),Yt()&&this.policy.routerAutoTrack&&this.installRouteTracking(),Yt()&&this.extensionEnabled&&this.installBridge(),this.capture("page_view",{mode:this.mode,runtime_mode:this.runtimeMode,source:"sdk_init",placement_behavior_flags:this.placementBehavior}),this.startEventBatchFlushing(),this.emitSdkInitTelemetry();}isLocalOnlyMode(){return this.runtimeMode==="local_only"}resolveConfigProvider(n){if(n.configProvider)return n.configProvider;let r=fl(n.localRuntime?.exportedConfig,"localRuntime.exportedConfig"),o=n.localRuntime?.resolvers?.resolveExportedConfig;if(o)return new Uy(o,r);if(r)return new jy(r)}async refreshExportedConfigSnapshot(){try{await this.configProvider?.refresh?.(),this.rebuildSegmentPredicateFieldIndex();}catch{}}getConfiguredExportedConfig(){return this.configProvider?.getExportedConfig()}rebuildSegmentPredicateFieldIndex(){this.segmentIdsByPredicateField.clear(),this.configuredSegmentsById.clear();let r=this.getConfiguredExportedConfig()?.segments??[];for(let o of r)if(this.configuredSegmentsById.set(o.handle,o),!(!o.predicates||o.predicates.length===0))for(let t of o.predicates){let i=String(t.field||"").trim();if(!i)continue;let a=this.segmentIdsByPredicateField.get(i)??new Set;a.add(o.handle),this.segmentIdsByPredicateField.set(i,a);}this.markAllSegmentsDirty();}buildDefaultLocalPlacementDecisionResolver(){if(!this.isLocalOnlyMode()||this.localRuntime?.resolvers?.getPlacementDecision)return;let n=this.getConfiguredExportedConfig(),r=this.localRuntime?.placements??(Array.isArray(n?.placements)?{placements:n.placements}:void 0);if(!(!n||!r))return ho({placements:r,exportedConfig:n,impressionHistory:this.impressionHistory})}synthesizeProviderContext(){let n=this.userContext.plan,r=this.userContext.usage,o=this.localTrialStatus;if(!n&&!r)return;let t={};if(r&&typeof r=="object"){let a=pr(r);for(let[c,l]of Object.entries(r)){if(!l||typeof l!="object")continue;let u=typeof l.amount=="number"?l.amount:a[c]??0,m=typeof l.limit=="number"?l.limit:0,p=m>0?Math.max(0,m-u):0;t[c]={used:u,limit:m,remaining:p,unit:typeof l.unit=="string"?l.unit:void 0,reset_date:typeof l.reset_date=="string"?l.reset_date:void 0};}}let i={...o.in_trial!==void 0?{trialActive:o.in_trial}:{},...o.trial_limit_type!==void 0?{trialLimitType:o.trial_limit_type}:{},...o.progress_percent!==void 0?{trialProgressPercent:o.progress_percent}:{},...o.days_remaining!==void 0?{trialDaysRemaining:o.days_remaining}:{},...o.day_number!==void 0&&o.days_remaining!==void 0?{trialDaysTotal:o.day_number+o.days_remaining}:{},...o.state!==void 0?{trialState:o.state}:{},...o.usage_entitlement_handle!==void 0?{trialUsageEntitlementHandle:o.usage_entitlement_handle}:{},...o.usage_consumed!==void 0?{trialUsageConsumed:o.usage_consumed}:{},...o.usage_limit!==void 0?{trialUsageLimit:o.usage_limit}:{}};return {...n?{plan:{currentPlanHandle:n.id??n.name??"",currentPlanName:n.name,...i}}:{},...Object.keys(t).length>0?{entitlements:{entries:{},usage:t}}:{}}}markAllSegmentsDirty(){this.dirtySegmentIds.clear();for(let n of this.configuredSegmentsById.keys())this.dirtySegmentIds.add(n);this.segmentMembershipBySegmentId.clear();}markSegmentsDirtyForFields(n){for(let r of n){let o=this.segmentIdsByPredicateField.get(r);if(o)for(let t of o)this.dirtySegmentIds.add(t);}}toSegmentEvaluationTraits(n,r,o){return _l(n,r,o)}buildTargetingState(n){return vl(n,this.getConfiguredExportedConfig(),this.usageBalances)}markSegmentsDirtyFromContextChange(n,r){if(this.configuredSegmentsById.size===0)return;let o=n.id||this.anonymousId,t=r.id||this.anonymousId;if(o!==t){this.segmentMembershipUserId=t,this.markAllSegmentsDirty();return}let i=this.buildTargetingState(n),a=this.buildTargetingState(r),c=new Set,l=new Set([...Object.keys(i.segmentTraits),...Object.keys(a.segmentTraits)]);for(let u of l)i.segmentTraits[u]!==a.segmentTraits[u]&&c.add(u);this.markSegmentsDirtyForFields(c);}currentPathname(){if(this.pageContext.url)try{return new URL(this.pageContext.url).pathname}catch{}return Yt()?window.location.pathname:"/"}disableForProviderFailure(n){this.sdkDisabledByProviderFailure||(this.sdkDisabledByProviderFailure=true,this.sdkDisabledReason=n,this.decisionCache.clear(),this.persistDecisionCache(),console.warn(`[RevTurbine] SDK disabled after provider fallback chain failed: ${n}`));}isDisabledByProviderFailure(){return this.sdkDisabledByProviderFailure}disabledDecisionForPlacement(n,r){let o=this.providerFailureSlotBehavior==="placeholder",t=o?`${r??n} temporarily unavailable`:`${r??n} unavailable`,i=o?"This placement is in safe fallback mode because all configured providers failed.":"This placement is currently hidden because provider fallback resolution failed.";return {placementId:n,requestId:yt(),visible:o,decisionSource:"fallback",reasonCodes:["sdk_disabled_provider_failure"],suppressionReason:o?void 0:"sdk_disabled_provider_failure",content:Wr(t,i,o?"Retry later":"Continue")}}disabledPlacementOutputForConfig(n){if(this.providerFailureSlotBehavior!=="placeholder")return null;let r=`disabled_output_${yt()}`,o=n.slotId?`${n.slotId} temporarily unavailable`:"Placement temporarily unavailable";return {output_id:r,category:"fallback",surface:{type:n.surfaceType??"banner",slot_id:n.slotId},content:{title:o,header:o,body:"This placement is in safe fallback mode because all configured providers failed.",cta_label:"Retry later"},rule_id:"sdk_disabled_provider_failure",decision_id:r,config_version:"sdk-fallback",present_upsell:false}}endpointFor(n,r){let o=this.endpointOverrides[n];return o&&o.trim().length>0?/^https?:\/\//i.test(o)?o:`${this.endpoint}${o.startsWith("/")?"":"/"}${o}`:`${this.endpoint}${r}`}localPlacementLookupKey(n){return Jp(n)}localLookupMatchesConfig(n,r){if(r.slotId&&n.slotId&&n.slotId!==r.slotId||r.surfaceType&&n.surfaceType&&n.surfaceType!==r.surfaceType)return false;let o=(t,i)=>!t||!i?true:t===i;return o(r.entitlementHandle,n.entitlementHandle)&&o(r.planHandle,n.planHandle)&&o(r.placementHandle,n.placementHandle)}localOutputMatchesConfig(n,r){return Fp(n,r.planHandle)}applyCategoryConflictSuppression(n){return hl(n)}resolveLocalPlacementFromCandidates(n,r){return Xp(n,true,{fixedOnly:r?.fixedOnly??false})}localPlacementForConfig(n){let r=this.localPlacementsByLookupKey.get(this.localPlacementLookupKey(n));if(r&&!this.localOutputMatchesConfig(r,n))return null;let o=[];for(let[t,i]of this.localPlacementsByLookupKey.entries()){if(!i)continue;let a=Np(t);this.localLookupMatchesConfig(a,n)&&this.localOutputMatchesConfig(i,n)&&o.push(i);}return r&&!o.some(t=>t.output_id===r.output_id)&&o.push(r),this.resolveLocalPlacementFromCandidates(o,n)}hydrateLocalRuntimeState(){if(!this.isLocalOnlyMode())return;let n=this.localRuntime?.initialData;if(n?.placementDecisionsByPlacementId)for(let[o,t]of Object.entries(n.placementDecisionsByPlacementId))this.localDecisionsByPlacementId.set(o,t);if(n?.placementsByLookupKey)for(let[o,t]of Object.entries(n.placementsByLookupKey))this.localPlacementsByLookupKey.set(o,t);if(n?.entitlementByHandle)for(let[o,t]of Object.entries(n.entitlementByHandle))this.localEntitlementsByHandle.set(o,t);if(n?.userContextByUserId)for(let[o,t]of Object.entries(n.userContextByUserId))this.localUserContextsByUserId.set(o,t);n?.trialStatus&&(this.localTrialStatus=n.trialStatus);let r=this.persistentStore.getItem(this.localStorageKey);if(!r){this.persistLocalRuntimeState();return}try{let o=JSON.parse(r);o.userContext&&(this.userContext=this.mergeUserContext(o.userContext)),o.pageContext&&(this.pageContext=this.mergePageContext(o.pageContext)),o.usageBalances&&(this.usageBalances={...this.usageBalances,...o.usageBalances});for(let t of o.placements||[])this.placements.set(t.id,t);for(let[t,i]of Object.entries(o.decisions||{}))this.localDecisionsByPlacementId.set(t,i);for(let[t,i]of Object.entries(o.placementLookup||{}))this.localPlacementsByLookupKey.set(t,i);for(let[t,i]of Object.entries(o.entitlements||{}))this.localEntitlementsByHandle.set(t,i);for(let[t,i]of Object.entries(o.userContexts||{}))this.localUserContextsByUserId.set(t,i);o.trialStatus&&(this.localTrialStatus=o.trialStatus);}catch{this.persistentStore.removeItem(this.localStorageKey),this.persistLocalRuntimeState();}}persistLocalRuntimeState(){if(this.isLocalOnlyMode())try{let n={userContext:this.userContext,pageContext:this.pageContext,usageBalances:this.usageBalances,placements:Array.from(this.placements.values()),decisions:Object.fromEntries(this.localDecisionsByPlacementId.entries()),placementLookup:Object.fromEntries(this.localPlacementsByLookupKey.entries()),entitlements:Object.fromEntries(this.localEntitlementsByHandle.entries()),userContexts:Object.fromEntries(this.localUserContextsByUserId.entries()),trialStatus:this.localTrialStatus};this.persistentStore.setItem(this.localStorageKey,JSON.stringify(n));}catch{}}decisionCacheStorageKey(){return `${MN}:${this.tenantId}:${this.anonymousId}`}interactionStateStorageKey(){return `${VN}:${this.tenantId}:${this.anonymousId}`}presentationCapsStorageKey(){return `${qN}:${this.tenantId}:${this.anonymousId}`}hydrateDecisionCache(){let n=this.sessionStore.getItem(this.decisionCacheStorageKey());if(n)try{let r=JSON.parse(n),o=Date.now();Object.entries(r).forEach(([t,i])=>{!i||typeof i!="object"||!Number.isFinite(i.expiresAt)||i.expiresAt<=o||this.decisionCache.set(t,i);});}catch{this.sessionStore.removeItem(this.decisionCacheStorageKey());}}persistDecisionCache(){let n=Date.now(),r=Object.fromEntries(Array.from(this.decisionCache.entries()).filter(([,o])=>o.expiresAt>n));try{this.sessionStore.setItem(this.decisionCacheStorageKey(),JSON.stringify(r));}catch{}}hydrateInteractionState(){let n=this.persistentStore.getItem(this.interactionStateStorageKey());if(n)try{let r=JSON.parse(n);Object.entries(r).forEach(([o,t])=>{!t||typeof t!="object"||this.interactionState.set(o,t);});}catch{this.persistentStore.removeItem(this.interactionStateStorageKey());}}persistInteractionState(){let n=Object.fromEntries(this.interactionState.entries());try{this.persistentStore.setItem(this.interactionStateStorageKey(),JSON.stringify(n));}catch{}}hydratePresentationCaps(){let n=this.persistentStore.getItem(this.presentationCapsStorageKey());if(n)try{let r=JSON.parse(n);for(let[o,t]of Object.entries(r)){if(!t||typeof t!="object")continue;let i=Array.isArray(t.seenAt)?t.seenAt.filter(c=>Number.isFinite(c)&&c>0):[],a=Number.isFinite(t.cooldownUntil)?t.cooldownUntil:void 0;this.presentationCapsByKey.set(o,{seenAt:i,cooldownUntil:a});}}catch{this.persistentStore.removeItem(this.presentationCapsStorageKey());}}persistPresentationCaps(){try{let n=Object.fromEntries(this.presentationCapsByKey.entries());this.persistentStore.setItem(this.presentationCapsStorageKey(),JSON.stringify(n));}catch{}}activePlanIdentifiers(n){let r=H(this.userContext.plan)&&typeof this.userContext.plan.id=="string"?this.userContext.plan.id:typeof this.userContext.custom?.plan=="string"?this.userContext.custom.plan:"",o=String(r||"").toLowerCase(),t=new Set;if(!o)return t;t.add(o);for(let i of n.plans??[]){let a=typeof i.unique_handle=="string"?i.unique_handle.toLowerCase():"";a===o&&t.add(a);}return t}ruleTargetsActivePlan(n,r){let t=(Array.isArray(n.targets)?n.targets:[]).filter(i=>H(i)&&i.kind==="plan");return t.length===0?true:t.some(i=>typeof i.id=="string"&&r.has(i.id.toLowerCase()))}hydrateUsageLimitRulesFromExportedConfig(){let n=this.getConfiguredExportedConfig();if(!n)return;this.usageLimitByEntitlement.clear();let r=this.activePlanIdentifiers(n),o=new Map,t=n.entitlements??[];for(let a of t){let c=typeof a.unique_handle=="string"?a.unique_handle:"";c&&o.set(c,c);}let i=n.entitlement_rules??[];for(let a of i){if(!H(a))continue;let c=typeof a.entitlement_id=="string"?a.entitlement_id:typeof a.entitlementId=="string"?a.entitlementId:"";if(!c)continue;let l=H(a.type_fields)?a.type_fields:H(a.typeFields)?a.typeFields:{},u=typeof l.kind=="string"?l.kind:"";if(!(u==="usage_limit"||u==="credits"||u==="seat"))continue;let p=o.get(c)??"",f=typeof l.usage_unit=="string"?l.usage_unit:typeof l.usageUnit=="string"?l.usageUnit:"",g=Zp(f),h=g&&!Bp(g)?g:Di(p||c);h&&(this.usageTokenPrefixByEntitlement.set(c,h),p&&this.usageTokenPrefixByEntitlement.set(p,h));let k=Number(l.limit_value??l.allowance??l.limit);if(!Number.isFinite(k)||k<=0||!this.ruleTargetsActivePlan(a,r))continue;let S=Number(a.warning_threshold_percent??a.warning_percentage??l.warning_threshold_percent??l.warning_percentage),T=Number.isFinite(S)&&S>0?Math.min(100,S):this.defaultUsageWarningPercent;this.usageLimitByEntitlement.set(c,{limit:k,warningPercent:T}),p&&this.usageLimitByEntitlement.set(p,{limit:k,warningPercent:T});}}recalculateDerivedUsageTraits(){let n=this.getConfiguredExportedConfig();this.hydrateUsageLimitRulesFromExportedConfig();let r=tf({context:this.userContext,exportedConfig:n,usageBalances:this.usageBalances,usageTokenPrefixByEntitlement:this.usageTokenPrefixByEntitlement,usageThresholdLookup:t=>this.usageThresholdForEntitlement(t)}),o=this.deriveRecommendedPlanTokens(n);this.userContext={...this.userContext,personalization:{...r,...o}};}deriveRecommendedPlanTokens(n,r){let o={recommended_plan_handle:"",recommended_plan_name:""};if(!n?.plans?.length)return o;let t=typeof this.userContext.plan=="object"&&this.userContext.plan?.id||(typeof this.userContext.custom?.plan=="string"?this.userContext.custom.plan:""),i=String(t||"").toLowerCase(),a=n.plans.map(c=>({source_id:c.unique_handle,unique_handle:c.unique_handle,name:c.name,tier_position:c.tier_position??0,sort_order:c.sort_order??0}));return bC({strategy:r?.strategy??"next_tier_up",planOverride:r?.planOverride,currentPlanHandle:i,plans:a})}getPersonalizationTokens(n){let r={},o=this.userContext.personalization??{};for(let[t,i]of Object.entries(o))t!=="user_id"&&(typeof i=="string"||typeof i=="number")&&(r[t]=i);if(r.plan_name===void 0){let t=ui(this.getConfiguredExportedConfig(),this.userContext.plan);t?r.plan_name=t:typeof this.userContext.plan=="object"&&this.userContext.plan?.name&&(r.plan_name=this.userContext.plan.name);}if(n?.recommendation_strategy){let t=this.deriveRecommendedPlanTokens(this.getConfiguredExportedConfig(),{strategy:n.recommendation_strategy,planOverride:n.recommendation_plan_override??void 0});r.recommended_plan_handle=t.recommended_plan_handle,r.recommended_plan_name=t.recommended_plan_name;}return r}getEntitlements(){return Object.fromEntries(this.localEntitlementsByHandle.entries())}getUsage(){let n={...pr(this.userContext.usage),...this.usageBalances},r={};for(let[o,t]of Object.entries(n)){if(!Number.isFinite(t))continue;let i=this.usageTokenPrefixByEntitlement.get(o)??Di(o)??o,a=this.usageThresholdForEntitlement(o);r[i]={current:t,...a?.limit!==void 0?{limit:a.limit}:{}};}return r}getPolicy(){let n=this.getConfiguredExportedConfig();return {contextPolicy:this.policy,placementBehavior:this.placementBehavior,runtimeMode:this.runtimeMode,...typeof n?.version=="string"?{exportedConfigVersion:n.version}:{}}}deriveLocalEntitlementFromConfiguredRules(n,r){let o=this.getConfiguredExportedConfig();if(!o)return null;let t=typeof this.userContext.plan=="object"&&this.userContext.plan?.id||(typeof this.userContext.custom?.plan=="string"?this.userContext.custom.plan:""),i=String(t||"").toLowerCase(),a=this.getTargeting(),c=new Set(a.segmentIds??[]),{trialGrantedEntitlementHandles:l,effectivePlanHandle:u}=this.resolveReverseTrialGrants(o);return Ls({handle:n,context:r,currentPlanHandle:i,segmentIds:c,usageBalances:this.usageBalances,userUsage:this.userContext.usage,exportedConfig:o,...l!==void 0?{trialGrantedEntitlementHandles:l}:{},...u!==void 0?{effectivePlanHandle:u}:{}})}resolveReverseTrialGrants(n){let r=this.localTrialStatus;if(!r.in_trial||r.trial_type!=="reverse")return {};let o=r.plan_handle;if(!o)return {};let i=(n.reverse_trial_rules??[]).find(a=>a.fallback_plan_id===o&&a.is_active!==false);return !i||i.entitlements_during_trial.length===0?{}:{trialGrantedEntitlementHandles:new Set(i.entitlements_during_trial),effectivePlanHandle:i.premium_plan_id}}getTargeting(){let n=this.userContext.id||this.anonymousId,r=this.localUserContextsByUserId.get(n),o=this.getConfiguredExportedConfig(),t=ui(o,this.userContext.plan),i=t??r?.plan??(typeof this.userContext.plan=="object"&&this.userContext.plan?.id?this.userContext.plan.id:void 0),a=[...o?.segments??[]],c=Array.from(new Set(a.flatMap(f=>(f.predicates??[]).map(g=>g.field)))).sort((f,g)=>f.localeCompare(g)),l={...r?.traits??{},...this.userContext.custom??{}};for(let[f,g]of Object.entries(this.userContext.entitlements??{}))l[f]===void 0&&(l[f]=g);t&&l.plan_name===void 0&&(l.plan_name=t),i&&l.plan===void 0&&(l.plan=i);let u={...r?.usage??{},...pr(this.userContext.usage),...this.usageBalances};for(let[f,g]of Object.entries(u))l[f]===void 0&&(l[f]=g);let m={};for(let[f,g]of Object.entries(l))(typeof g=="string"||typeof g=="number"||typeof g=="boolean")&&(m[f]=g);if(this.segmentMembershipUserId!==n&&(this.segmentMembershipUserId=n,this.markAllSegmentsDirty()),a.length>0&&this.segmentIdsByPredicateField.size===0&&this.rebuildSegmentPredicateFieldIndex(),a.length>0&&this.dirtySegmentIds.size>0){for(let f of this.dirtySegmentIds){let g=this.configuredSegmentsById.get(f)??a.find(k=>k.handle===f);if(!g){this.segmentMembershipBySegmentId.delete(f);continue}let h=Xa([g],m).length>0;this.segmentMembershipBySegmentId.set(f,h);}this.dirtySegmentIds.clear();}let p=a.length>0?a.filter(f=>this.segmentMembershipBySegmentId.get(f.handle)===true).map(f=>f.handle):[...r?.segmentIds??[]];return {userId:n,segmentIds:p,traits:l,...i?{plan:i}:{},...Object.keys(u).length>0?{usage:u}:{},configuredSegments:a,configuredTraitFields:c}}async explainPlacementDecision(n){let r=await this.getPlacementDecision(n),o=this.getTargeting(),t=this.getEntitlements(),i=this.getPolicy(),a=this.getConfiguredExportedConfig(),c=new Set(o.segmentIds),l=o.configuredSegments.map(W=>{let Se=Array.isArray(W.predicates)?W.predicates.map(K=>eF(K,o.traits)):[],je=Se.length>0?Se.every(K=>K.matched):c.has(W.handle);return {segmentId:W.handle,...W.name?{segmentName:W.name}:{},matched:je,predicates:Se}}),u=new Map,m=new Map;if(Array.isArray(a?.entitlements))for(let W of a.entitlements){let Se=lt(W.unique_handle),je=Se;je&&Se&&u.set(je,Se);let K=lt(W.type);je&&K&&m.set(je,K);}let p=new Map;if(Array.isArray(a?.plans))for(let W of a.plans){let Se=lt(W.unique_handle),je=Se;je&&Se&&p.set(je,Se);}let g=(lt(o.plan,o.traits.plan,o.traits.plan_handle,o.traits.plan_id)??"").toLowerCase(),h=new Map;if(Array.isArray(a?.segments))for(let W of a.segments){let Se=lt(W.handle),je=lt(W.dimension_id);Se&&je&&h.set(Se,je);}let k=Array.isArray(a?.entitlement_rules)?a.entitlement_rules.map((W,Se)=>{let je=lt(W.id)??`entitlement_rule_${Se}`,K=lt(W.entitlement_id),ce=K?u.get(K):void 0,Ne=Array.isArray(W.targets)?W.targets.filter(se=>se.kind==="plan").map(se=>se.id):[],ze=Ne.map(se=>p.get(se)??se),Yn=Array.isArray(W.segment_ids)?W.segment_ids.filter(se=>typeof se=="string"):[],He=H(W.type_fields)?W.type_fields:{},Ue=lt(He.kind),Dt=!g||Ne.some(se=>se.toLowerCase()===g),Ve=tF(Yn,c,h),Rn=Dt&&Ve,bt=ce?t[ce]:K?t[K]:void 0,_t=Rn?bt?.status??"unknown":"unknown",ae;if(Rn)switch(Ue){case "feature":ae=He.enabled===false?"disables feature":"grants access";break;case "capability_tier":{let se=lt(He.tier_name);ae=se?`unlocks ${se} tier`:"unlocks capability tier";break}case "usage_limit":{let se=typeof He.limit_value=="number"?He.limit_value:void 0,Mt=lt(He.unit)??"",cn=lt(He.period)??"",Ep=cn?` / ${cn.replace("per_","")}`:"";ae=se!=null?`sets limit to ${se.toLocaleString()}${Mt?` ${Mt}`:""}${Ep}`:"sets usage limit";break}case "credits":{let se=typeof He.allowance=="number"?He.allowance:void 0,Mt=lt(He.unit)??"credits",cn=lt(He.period)??"",Ep=cn?` / ${cn.replace("per_","")}`:"";ae=se!=null?`grants ${se.toLocaleString()} ${Mt}${Ep}`:"grants credit allowance";break}case "seat":{let se=typeof He.included_seats=="number"?He.included_seats:void 0;ae=se!=null?`includes ${se} seat${se===1?"":"s"}`:"includes seats";break}default:if(K){let se=m.get(K);se==="feature"?ae="grants access":se&&(ae=`${se.replace(/_/g," ")} entitlement`);}break}return {ruleId:je,...K?{entitlementId:K}:{},...ce?{entitlementHandle:ce}:{},...Ue?{kind:Ue}:{},planScopes:ze,planIds:Ne,...Yn.length>0?{segmentIds:Yn}:{},matchesPlan:Dt,matchesSegment:Ve,matched:Rn,outcome:_t,...ae?{outcomeDescription:ae}:{},...bt?.reason?{reason:bt.reason}:{}}}):[],S=lt(r.output?.output_id),T=this.placements.get(n.placementId),C=lt(T?.name)??"",N=Array.isArray(T?.metadata?.surface_template_ids)?T.metadata.surface_template_ids:[],R=[],w=new Set;if(Array.isArray(a?.placements))for(let W of a.placements){if(!W||typeof W!="object")continue;let Se=lt(W.id)??"",je=lt(W.name)??"";if(w.has(Se))continue;let K=lt(r.output?.rule_id);if(K&&Se===K){w.add(Se),R.push(W);continue}if(C&&(Se===C||je===C||Se===`pl_${C}`||je===`pl_${C}`)){w.add(Se),R.push(W);continue}N.length>0&&(W.payloads??[]).some(ze=>(ze.surfaces??[]).some(He=>{let Ue=lt(He.template_id);return Ue?N.includes(Ue):false}))&&(w.add(Se),R.push(W));}let te=R.flatMap(W=>(W.payloads??[]).map(je=>{let K=je.target,ce=K?.plan_ids??[],Ne=ce.map(bt=>p.get(bt)??bt),ze=K?.segment_chips??[],He=(je.surfaces??[]).map(bt=>lt(bt.template_id)).filter(bt=>typeof bt=="string"),Ue=ce.length===0||!g||ce.some(bt=>bt.toLowerCase()===g),Dt=ze.length===0||ze.some(bt=>c.has(bt)),Ve="active",Rn=Ve==="active"&&Ue&&Dt;return {payloadId:String(je.id??""),placementId:String(W.id??""),placementName:String(W.name??""),status:Ve,planIds:ce,planScopes:Ne,segmentChips:ze,surfaceTemplateIds:He,matchesPlan:Ue,matchesSegment:Dt,eligible:Rn,selected:!!S&&S===String(je.id??"")}})),_e=r.output?this.extractPlacementCapPolicies(r.output).flatMap(W=>W.rules.length===0&&W.cooldownMs===void 0?[]:W.rules.length===0?[{count:0,period:"session",cooldownMs:W.cooldownMs}]:W.rules.map(Se=>({count:Se.count,period:Se.period,...W.cooldownMs!==void 0?{cooldownMs:W.cooldownMs}:{}}))):[],Ee={ruleId:r.output?.rule_id,decisionId:r.output?.decision_id,category:r.output?.category,suppressionReason:r.suppressionReason,reasonCodes:r.reasonCodes,capPolicies:_e};return {generatedAt:new Date().toISOString(),input:n,decision:r,targeting:o,policy:i,entitlements:t,segments:l,entitlementRules:k,eligiblePayloads:te,placementRules:Ee}}usageThresholdForEntitlement(n){return bv(n,this.usageLimitByEntitlement,this.localEntitlementsByHandle,this.usageBalances,this.defaultUsageWarningPercent)}evaluateUsageThresholdCrossings(n,r){return nf(n,r,t=>this.usageThresholdForEntitlement(t)).map(t=>this.emitTrigger(t.type,{entitlement_handle:t.entitlement_handle,current_usage:t.current_usage,usage_limit:t.usage_limit,usage_percent:t.usage_percent,threshold:t.threshold}))}deriveTrialTriggerStage(n){return rf(n,this.lastTrialTriggerStage,this.defaultTrialExpiringDays)}async evaluateTrialLifecycleTriggers(n){let r=this.deriveTrialTriggerStage(n);if(!this.placementBehavior.enableTrialAutoTriggers){this.lastTrialTriggerStage=r;return}if(r!==this.lastTrialTriggerStage){if(this.lastTrialTriggerStage=r,r==="midpoint"){await this.emitTrigger("trial_midpoint",{days_remaining:n.days_remaining});return}if(r==="expiring"){await this.emitTrigger("trial_expiring",{days_remaining:n.days_remaining});return}r==="expired"&&await this.emitTrigger("trial_expired",{days_remaining:0});}}resolveAnonymousId(){let n=`revturbine:${this.tenantId}:anon`;try{let r=this.persistentStore.getItem(n);if(r)return r;let o=yt();return this.persistentStore.setItem(n,o),o}catch{return yt()}}installBridge(){let n={getSnapshot:()=>({tenantId:this.tenantId,user:this.userContext,page:this.pageContext,placements:Array.from(this.placements.values())}),setPageContext:r=>{this.setPageContext(r);},setUserContext:r=>{this.setUserContext(r);}};window.__RT_SDK_BRIDGE__=n;}installRouteTracking(){if(Uo())return;let n=window.history;if(n.__rtPatched)return;let r=()=>{window.dispatchEvent(new CustomEvent(_C,{detail:{path:window.location.pathname,title:document.title}}));},o=n.pushState.bind(n);n.pushState=((...i)=>{o(...i),r();});let t=n.replaceState.bind(n);n.replaceState=((...i)=>{t(...i),r();}),window.addEventListener("popstate",r),window.addEventListener(_C,i=>{let a=i.detail;this.onRouteChange({path:a.path,title:a.title,tags:a.tags});}),n.__rtPatched=true;}mergeUserContext(n){return ef(this.userContext,n)}mergePageContext(n){return {...this.pageContext,...n,tags:Ya(n.tags||this.pageContext.tags)}}collectPageContextIssues(){let n=[],r={...this.policy.inferPage?zd():{},...this.pageContext},o=String(r.url||"").trim();if(!o)n.push({code:"invalid_page_context_url",reason:"Page context URL is missing."});else try{new URL(o);}catch{n.push({code:"invalid_page_context_url",reason:"Page context URL is not a valid absolute URL.",details:{value:o}});}return r.tags&&!Array.isArray(r.tags)&&n.push({code:"invalid_page_context_tags",reason:"Page tags must be an array of strings."}),n}collectPayloadIssues(n){let r=[];if(!H(n))return r.push({code:"invalid_event_payload",reason:"Event payload must be a plain object."}),r;let o=H(n.payload)?n.payload:null,t=typeof n.placement_id=="string"&&n.placement_id.trim()?n.placement_id:typeof o?.placement_id=="string"?o.placement_id:null;return typeof t=="string"&&t.trim()&&(this.placements.has(t)||r.push({code:"unknown_placement_id",reason:"Payload placement_id is not registered in SDK runtime.",details:{placement_id:t}})),r}buildValidationWarningEvent(n,r,o){return this.toEventEnvelope(Ey,{source_event_type:n,warning_count:r.length,warning_codes:r.map(t=>t.code),warnings:r,page_context:{url:this.pageContext.url??null,title:this.pageContext.title??null},payload_snapshot:H(o)?o:null})}toEventEnvelope(n,r){let o={...this.policy.inferPage?zd():{},...this.pageContext},t=o.url||(Yt()?window.location.href:""),i=(()=>{try{return new URL(t).pathname}catch{return Yt()?window.location.pathname:"/"}})();return {tenant_id:this.tenantId,type:n,level:"INFO",message:`${n} captured by ${this.mode} runtime`,url:t,path:i,page_title:o.title||(Yt()?document.title:""),event_time:new Date().toISOString(),anonymous_id:this.anonymousId,user_id:this.userContext.id||null,session_id:this.sessionId,tags:Ya(o.tags),identity:{tenant_id:this.tenantId,user_id:this.userContext.id||null,anonymous_id:this.anonymousId,traits:n===vC?{}:{...this.userContext.custom||{}}},properties:r}}warnPiiRedactedOnce(){this.piiRedactionWarned||(this.piiRedactionWarned=true,console.warn("[RevTurbine] Detected and redacted PII-shaped values (emails / card numbers) from event data before sending. Do not put PII in event properties or traits; this is best-effort redaction, not a guarantee."));}anonymousTelemetryActive(){return !this.ingestPublicKey&&this.anonymousTelemetryEnabled&&!this.isLocalOnlyMode()&&Yt()}async emitSdkInitTelemetry(){this.anonymousTelemetryActive()&&await this.emitAnonMeta("sdk_init",{config_shape:this.computeConfigShape()});}computeConfigShape(){let n=this.getConfiguredExportedConfig();if(!n)return;let r=n.placements??[],o=r.reduce((t,i)=>t+(i.payloads?.length??0),0);return {plans:n.plans?.length??0,entitlements:n.entitlements?.length??0,entitlement_rules:n.entitlement_rules?.length??0,segments:n.segments?.length??0,placements:r.length,placement_payloads:o,content_ui_paths:n.content_ui_paths?.length??0,surface_templates:n.surface_templates?.length??0}}async emitAnonMeta(n,r={}){if(this.anonymousTelemetryActive()){this.showAnonTelemetryNoticeOnce();try{let o=this.getConfiguredExportedConfig(),t=o?.version!=null?String(o.version):void 0,i=t?`${this.tenantId}:${t}`:this.tenantId,a=(await yC(i)).slice(0,64),l={events:[{event_type:n,occurred_at:new Date().toISOString(),request_id:yt(),config_hash_id:a,sdk_version:QR,runtime_mode:this.runtimeMode,...t?{bundle_version:t}:{},...r.config_shape?{config_shape:r.config_shape}:{},...r.message?{message:r.message.slice(0,500)}:{}}]};await fetch(this.endpointFor("ingestSdkMeta",KN),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(l),keepalive:!0});}catch{}}}showAnonTelemetryNoticeOnce(){this.anonTelemetryNoticeShown||(this.anonTelemetryNoticeShown=true,console.info("[RevTurbine] Sending anonymous SDK telemetry (config-shape counts and SDK version only \u2014 no user data or PII). Disable it by setting `anonymousTelemetry: false` in your initRevTurbine() options."));}async sendEvents(n){if(n.length===0)return;if(this.dispatchToEventConsumers(n),this.isLocalOnlyMode()){this.persistLocalRuntimeState();return}if(!this.analyticsEnabled)return;let r=yt(),o=0,t=n.map(i=>{let a=i.user_id||i.anonymous_id,c=this.userContext.account_id||a,l=Tv(a),u=Tv(c),m=iR({level:i.level,message:i.message,path:i.path,url:i.url,page_title:i.page_title,session_id:i.session_id,anonymous_id:i.anonymous_id,tags:i.tags,traits:i.identity.traits??null,payload:i.properties,source:WN});return o+=m.redactions+(l.redacted?1:0)+(u.redacted?1:0),{environment_id:this.environmentId,user_id:l.value,account_id:u.value,event_name:pl(i.type).slice(0,120),event_ts:i.event_time,properties:JSON.stringify(m.value),surface_slot_id:Ic(i.properties,"surface_slot_id"),placement_id:Ic(i.properties,"placement_id"),payload_id:Ic(i.properties,"payload_id"),request_id:yt(),experiment_id:Ic(i.properties,"experiment_id"),variant_key:Ic(i.properties,"variant_key"),tenant_id:i.tenant_id}});o>0&&this.warnPiiRedactedOnce();try{await fetch(this.endpointFor("ingestEvents",HN),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.ingestPublicKey??this.apiKey}`,"x-request-id":r},body:JSON.stringify({events:t}),keepalive:!0});}catch{}}dispatchToEventConsumers(n){this.providerRegistry.has("events")&&this.providerRegistry.get("events").then(r=>{let o=r?.consumers;if(!(!o||o.length===0))for(let t of o)try{t.consume(n);}catch{}}).catch(()=>{});}async capture(n,r,o){let t=pl(n),i=this.toEventEnvelope(t,r),a=[...this.collectPageContextIssues(),...this.collectPayloadIssues(r)],c=[i];if(a.length>0&&c.push(this.buildValidationWarningEvent(t,a,r)),o?.immediate){await this.sendEvents(c);return}this.events.push(...c),this.events.length>=this.maxBatchSize&&await this.flushEvents();}async trackControlPlaneEvent(n,r={},o){let{eventName:t,properties:i}=Rv(n,r);await this.capture(t,i,o);}async flushEvents(){if(this.events.length===0)return;let n=[...this.events];this.events.length=0,await this.sendEvents(n);}startEventBatchFlushing(){if(!Yt()||this.isLocalOnlyMode())return;this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flushEvents();},this.flushIntervalMs),this.flushTimer.unref?.());let n=()=>{this.flushEvents();},r=()=>{document.visibilityState==="hidden"&&this.flushEvents();};window.addEventListener("pagehide",n),document.addEventListener("visibilitychange",r),this.batchingTeardown.push(()=>window.removeEventListener("pagehide",n),()=>document.removeEventListener("visibilitychange",r));}dispose(){this.flushTimer!==void 0&&(clearInterval(this.flushTimer),this.flushTimer=void 0);for(let n of this.batchingTeardown.splice(0))try{n();}catch{}this.flushEvents();}async emitSemantic(n,r,o){let t=H(r)?r:{};await this.capture(n,{semantic:true,payload:t},o);}async evaluateUserSegmentsAndUsage(n,r=false){let o=await this.fetchUserContext(this.userContext.id||""),t={...this.userContext,...n,custom:{...this.userContext.custom||{},...n.custom||{}}},i=await this.fetchUserContext(t.id||""),a=new Set(o.segmentIds||[]),c=new Set(i.segmentIds||[]),l=Array.from(c).filter(m=>!a.has(m)),u=Array.from(a).filter(m=>!c.has(m));for(let m of l)await this.emitSemantic("segment_enrolled",{segment_id:m,user_id:t.id??null});for(let m of u)await this.emitSemantic("segment_unenrolled",{segment_id:m,user_id:t.id??null});if(r){let m=o.usage||{},p={...m,...this.usageBalances},f=this.evaluateUsageThresholdCrossings(m,p);await Promise.all(f);}}emitObservedContextFields(n){let r=Object.keys(n??{}).filter(o=>o.length>0).sort();r.length!==0&&this.capture(vC,{context_fields:r});}setUserContext(n){let r=this.userContext;this.userContext=this.mergeUserContext(n),this.recalculateDerivedUsageTraits(),this.markSegmentsDirtyFromContextChange(r,this.userContext),this.persistLocalRuntimeState(),this.evaluateUserSegmentsAndUsage(n,false),this.emitObservedContextFields(n.custom);}setPageContext(n){this.pageContext=this.mergePageContext(n),this.persistLocalRuntimeState();}refreshPageContext(){this.pageContext=this.mergePageContext(zd());}hydrate(n){if(n.version!=="1.0.0"){console.warn(`[RevTurbine] Unknown hydration payload version: ${n.version}. Skipping.`);return}let r=this.userContext;n.user&&(this.userContext=this.mergeUserContext({id:n.user.id,custom:n.user.traits,usage:{}}),this.recalculateDerivedUsageTraits());let o=(n.ttl_seconds??60)*1e3,t=Date.now()+o;for(let i of n.decisions??[]){if(!i.output)continue;let a=[this.tenantId,i.slot_id??i.entitlement_handle??i.placement_handle??"unknown",n.user?.id??this.anonymousId].join(":"),c=H(i.output?.content)?i.output.content:{};this.decisionCache.set(a,{value:{placementId:i.slot_id??i.entitlement_handle??i.placement_handle??"unknown",requestId:n.request_id,visible:i.visible,decisionSource:"cache",reasonCodes:i.reason_codes??[],content:Wr(String(c.header??""),String(c.body??""),String(c.cta_label??"")),output:i.output},expiresAt:t});}if(this.persistDecisionCache(),n.entitlements)for(let[i,a]of Object.entries(n.entitlements))this.localEntitlementsByHandle.set(i,{status:a.status,allowed:a.allowed,reason:a.reason,current_tier:a.current_tier,placement:a.placement});n.trial_status&&(this.localTrialStatus={in_trial:n.trial_status.in_trial,trial_type:n.trial_status.trial_type,plan_handle:n.trial_status.plan_handle,day_number:n.trial_status.day_number,days_remaining:n.trial_status.days_remaining}),n.user_context?.usage_balances&&(this.usageBalances={...this.usageBalances,...n.user_context.usage_balances},this.recalculateDerivedUsageTraits()),this.markSegmentsDirtyFromContextChange(r,this.userContext);}async generatePlacementId(n){return Gp({tenantId:this.tenantId,placementName:n.placementName,placementScopeKey:n.placementScopeKey,pageRoute:n.normalizedPageRoute||this.currentPathname()},{sha256Base64Url:yC,randomHex:Dy})}async registerPlacement(n){let r=String(n.placementScopeKey||n.name||"").trim();return this.registerSurfaceSlot({id:r||String(n.name||"surface_slot").trim(),name:n.name,metadata:H(n.metadata)?n.metadata:void 0})}async upsertSurfaceSlot(n){if(this.isLocalOnlyMode())return;let r=yt(),o=this.endpointFor("surfaceSlots","/api/placements").replace(/\/+$/,""),t=QN(n.placementScopeKey||n.id||n.name),i={...H(n.metadata)?n.metadata:{},surface_slot_id:n.placementScopeKey||n.id,registration_source:"sdk_surface_slot",route:n.route},a={name:n.name,slug:t,description:`Surface slot ${n.placementScopeKey||n.id}`,slot_type:"custom",status:"active",targeting_rules:{},content:{},priority:0,metadata:i},c={"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":r},l=await fetch(`${o}/${encodeURIComponent(n.id)}`,{method:"PUT",headers:c,body:JSON.stringify(a)});if(l.ok){this.syncedSurfaceSlotIds.add(n.id);return}if(l.status!==404)throw new Error(`surface_slot_upsert_failed:${l.status}`);let u=await fetch(o,{method:"POST",headers:c,body:JSON.stringify(a)});if(!u.ok)throw new Error(`surface_slot_create_failed:${u.status}`);this.syncedSurfaceSlotIds.add(n.id);}async registerSurfaceSlot(n){let r=Oi(this.currentPathname()),o=String(n?.id||"").trim(),t=String(n?.name||o).trim(),i=[];o||i.push({code:"invalid_surface_slot_id",reason:"SurfaceSlot id is required and must be a non-empty string."}),t||i.push({code:"invalid_placement_name",reason:"SurfaceSlot name is missing or empty."}),n?.metadata!==void 0&&!H(n.metadata)&&i.push({code:"invalid_placement_metadata",reason:"Placement metadata must be a plain object when provided."});let a=await this.generatePlacementId({placementName:t||o||"invalid_surface_slot",placementScopeKey:o||void 0,normalizedPageRoute:r}),c={id:a,route:r,name:t||"invalid_surface_slot",placementScopeKey:o||void 0,metadata:{...H(n.metadata)?n.metadata:{},surface_slot_id:o||null,...Array.isArray(n.surfaceTemplateIds)&&n.surfaceTemplateIds.length>0?{surface_template_ids:n.surfaceTemplateIds}:{}}},l=this.placements.get(a),u=l?this.stableStringify(l):null,m=this.stableStringify(c);return (!l||u!==m)&&(this.placements.set(a,c),this.persistLocalRuntimeState(),this.syncedSurfaceSlotIds.delete(a)),!this.isLocalOnlyMode()&&!this.syncedSurfaceSlotIds.has(a)&&await this.upsertSurfaceSlot(c),i.length>0&&await this.sendEvents([this.buildValidationWarningEvent("placement_registered",i,{surface_slot_id:o||null,placement_id:a,route:r,placement_name:t||null})]),a}async persistPlacementTypes(n){if(this.isLocalOnlyMode())return;let r=(Array.isArray(n)?n:[]).map(i=>rF(i)).filter(i=>i!==null);if(r.length===0)return;let o=yt(),t=await fetch(this.endpointFor("placementTypes","/api/sdk/placement-types"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":o},body:JSON.stringify({request_id:o,tenant_id:this.tenantId,types:r})});if(!t.ok)throw new Error(`persist_placement_types_failed:${t.status}`)}stableStringify(n){return Tr(n)}decisionCacheKey(n,r){return Wp({tenantId:this.tenantId,placementId:n.placementId,userId:n.userId,contextMode:n.contextMode??"auto",overrides:n.overrides??{},traits:n.traits??{},route:this.currentPathname(),...r?{runtimeContextFingerprint:r}:{}})}interactionStateKey(n){return XT({tenantId:this.tenantId,...n})}readDecisionCache(n){let r=this.decisionCache.get(n);return r?r.expiresAt<=Date.now()?(this.decisionCache.delete(n),this.persistDecisionCache(),null):{...r.value,decisionSource:"cache"}:null}writeDecisionCache(n,r,o){let t=Date.now()+Math.max(5e3,o??this.defaultDecisionTtlMs);this.decisionCache.set(n,{expiresAt:t,value:r}),this.persistDecisionCache();}suppressionForState(n){return YT(n)}placementCapKey(n){return [this.tenantId,this.userContext.id||this.anonymousId,n.surface.type,n.output_id].join(":")}extractPlacementCapPolicies(n){return bl(n)}applyPlacementCapsIfNeeded(n,r={}){if(!this.placementBehavior.enableClientCapsEnforcement)return {allowed:true};let o=r.tick??true,t=this.placementCapKey(n),i=this.presentationCapsByKey.get(t),a=Qp(n,t,i,Date.now());return a.updatedState&&o&&(this.presentationCapsByKey.set(t,a.updatedState),a.allowed&&this.persistPresentationCaps()),{allowed:a.allowed,reason:a.reason}}gateDecisionByCaps(n,r={}){if(!this.placementBehavior.enableClientCapsEnforcement||!n.visible||!n.output)return n;let o=this.applyPlacementCapsIfNeeded(n.output,{tick:r.tick??true});if(o.allowed)return n;let t=o.reason??"cap_exceeded";return {...n,visible:false,reasonCodes:[...n.reasonCodes??[],t],suppressionReason:t}}normalizeDecisionFromResponse(n,r,o,t){return Yp(n,r,o,t)}async getPlacementDecision(n){let r=this.placements.get(n.placementId),o=yt();if(this.isDisabledByProviderFailure())return this.disabledDecisionForPlacement(n.placementId,r?.name);if(!r)return {placementId:n.placementId,requestId:o,visible:false,decisionSource:"fallback",reasonCodes:["placement_not_registered"],suppressionReason:"placement_not_registered",content:Wr("Placement not found","Register the placement before requesting a decision.","Register placement")};let t=this.interactionStateKey({placementId:n.placementId,userId:n.userId}),i=this.suppressionForState(this.interactionState.get(t));if(i.suppressed)return {placementId:n.placementId,requestId:o,visible:false,decisionSource:"cache",reasonCodes:i.reason?[i.reason]:[],suppressionReason:i.reason,content:Wr(`${r.name} suppressed`,"Suppressed due to recent interaction state.","Continue")};let a,c,l;this.isLocalOnlyMode()&&(a=await this.localRuntime?.getContext?.(),c=this.providerRegistry.size>0?await this.providerRegistry.resolveAll():this.synthesizeProviderContext(),(a||c)&&(l=this.stableStringify({legacyCtx:a??{},providerCtx:c??{}})));let u=this.decisionCacheKey(n,l),m=this.readDecisionCache(u);if(m)return this.gateDecisionByCaps(m,{tick:false});if(this.isLocalOnlyMode()){let p=this.localRuntime?.resolvers?.getPlacementDecision??this.defaultLocalPlacementDecisionResolver;if(p){let g={...a,...c?{__providers:c}:{}},h=this.gateDecisionByCaps(await p(n,r,g));return this.localDecisionsByPlacementId.set(n.placementId,h),this.writeDecisionCache(u,h,n.ttlMs),this.persistLocalRuntimeState(),h}let f=this.localDecisionsByPlacementId.get(n.placementId);if(f){let g=this.gateDecisionByCaps({...f,decisionSource:"fallback"});return this.writeDecisionCache(u,g,n.ttlMs),this.persistLocalRuntimeState(),g}}try{let p=await fetch(this.endpointFor("decideContext","/api/sdk/decide-context"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":o},body:JSON.stringify({request_id:o,tenant_id:this.tenantId,placement_id:n.placementId,user_id:n.userId,context_mode:n.contextMode??"auto",overrides:n.overrides?{segment_id:n.overrides.segmentId,plan_id:n.overrides.planId,usage:n.overrides.usage?.map(h=>({entitlement_id:h.entitlementId,meter_id:h.meterId,used:h.used}))}:void 0,traits:n.traits,context:{user:this.userContext,page:this.pageContext,placement:r}})});if(!p.ok)throw new Error(`decide-context failed: ${p.status}`);let f=await p.json(),g=this.gateDecisionByCaps(this.normalizeDecisionFromResponse(n.placementId,o,r.name,f));return this.writeDecisionCache(u,g,n.ttlMs),this.localDecisionsByPlacementId.set(n.placementId,g),this.persistLocalRuntimeState(),g}catch{let p=await this.getPlacementContent(n.placementId,{user_id:n.userId,context_mode:n.contextMode??"auto",overrides:n.overrides,traits:n.traits}),f={placementId:n.placementId,requestId:p.requestId,visible:true,decisionSource:"fallback",reasonCodes:["fallback_content"],content:p.content};return this.writeDecisionCache(u,f,n.ttlMs),this.localDecisionsByPlacementId.set(n.placementId,f),this.persistLocalRuntimeState(),f}}async preloadPlacementDecisions(n){let r=new Map;for(let o of n)r.set(this.decisionCacheKey(o),o);await Promise.allSettled(Array.from(r.values()).map(o=>this.getPlacementDecision(o)));}async bootstrapPlacementDecisions(n){if(this.isDisabledByProviderFailure()){await Promise.all(n.map(async o=>{let t=await this.getPlacementDecision(o),i=this.decisionCacheKey(o);this.writeDecisionCache(i,t,o.ttlMs);}));return}let r=new Map;for(let o of n){if(!this.placements.get(o.placementId)||!o.userId)continue;let i=this.stableStringify({userId:o.userId,contextMode:o.contextMode??"auto",overrides:o.overrides??{},traits:o.traits??{},ttlMs:o.ttlMs??null}),a=r.get(i);if(a){a.placementIds.push(o.placementId);continue}r.set(i,{userId:o.userId,contextMode:o.contextMode,overrides:o.overrides,traits:o.traits,ttlMs:o.ttlMs,placementIds:[o.placementId]});}for(let o of r.values()){if(o.placementIds.length<=1){let i=n.find(a=>a.placementId===o.placementIds[0]&&a.userId===o.userId);i&&await this.getPlacementDecision(i);continue}let t=yt();try{let i=await fetch(this.endpointFor("bootstrapContext","/api/sdk/bootstrap-context"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":t},body:JSON.stringify({request_id:t,tenant_id:this.tenantId,user_id:o.userId,context_mode:o.contextMode??"auto",overrides:o.overrides?{segment_id:o.overrides.segmentId,plan_id:o.overrides.planId,usage:o.overrides.usage?.map(l=>({entitlement_id:l.entitlementId,meter_id:l.meterId,used:l.used}))}:void 0,traits:o.traits,placements:o.placementIds.map(l=>({placement_id:l}))})});if(!i.ok)throw new Error(`bootstrap-context failed: ${i.status}`);let a=await i.json(),c=H(a)&&Array.isArray(a.decisions)?a.decisions:[];for(let l of c){if(!H(l))continue;let u=typeof l.placement_id=="string"?l.placement_id:"",m=H(l.result)?l.result:null,p=this.placements.get(u);if(!p||!m)continue;let f=this.normalizeDecisionFromResponse(u,t,p.name,m),g=this.decisionCacheKey({placementId:u,userId:o.userId,contextMode:o.contextMode,overrides:o.overrides,traits:o.traits});this.writeDecisionCache(g,f,o.ttlMs),this.localDecisionsByPlacementId.set(u,f);}this.persistLocalRuntimeState();}catch{let i=n.filter(a=>o.placementIds.includes(a.placementId)&&a.userId===o.userId);await Promise.allSettled(i.map(a=>this.getPlacementDecision(a)));}}}updateInteractionState(n){let r=this.interactionStateKey({placementId:n.placementId,userId:n.userId,treatmentId:n.treatmentId}),o=Date.now(),t=n.metadata??{},a={...this.interactionState.get(r)??{updatedAt:new Date(o).toISOString()},lastInteractionType:n.interactionType,updatedAt:n.interactionAt??new Date(o).toISOString()};if(n.interactionType==="dismiss"){let c=Number(t.cooldown_ms);a.suppressedUntil=o+(Number.isFinite(c)&&c>0?c:this.defaultDismissCooldownMs);}if(n.interactionType==="remind_me_later"){let c=Number(t.remind_after_seconds);a.suppressedUntil=o+(Number.isFinite(c)&&c>0?c*1e3:this.defaultRemindLaterMs);}if((n.interactionType==="cta_clicked"||n.interactionType==="cta_completed")&&(a.suppressedUntil=o+300*1e3),n.interactionType==="suppress"){let c=Number(t.suppress_duration_ms);a.suppressedUntil=o+(Number.isFinite(c)&&c>0?c:this.defaultDismissCooldownMs);}this.interactionState.set(r,a),this.persistInteractionState();}async flushInteractionQueue(){if(this.interactionQueue.length===0)return;let n=[...this.interactionQueue];if(this.interactionQueue.length=0,this.isLocalOnlyMode()){this.persistLocalRuntimeState();return}let r=n.map(o=>({user_id:o.userId,placement_id:o.placementId,treatment_id:o.treatmentId,interaction_type:o.interactionType,interaction_at:o.interactionAt,surface_slot_id:o.surfaceSlotId,surface_template_id:o.surfaceTemplateId,payload_id:o.payloadId,metadata:o.metadata??{},tenant_id:this.tenantId}));try{(await fetch(this.endpointFor("touchpointTransition",GN),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":yt()},body:JSON.stringify(r.length===1?r[0]:r)})).ok||(await fetch(this.endpointFor("legacyInteractions",JN),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":yt()},body:JSON.stringify(n.length===1?n[0]:n)})).ok||this.interactionQueue.unshift(...n);}catch{this.interactionQueue.unshift(...n);}}async trackTreatmentInteraction(n){let r={...n,interactionAt:n.interactionAt??new Date().toISOString()};this.updateInteractionState(r),this.interactionQueue.push(r),this.flushInteractionQueue();let o=r.placementId,t=r.treatmentId,i=r.metadata??{};if(r.interactionType==="dismiss")this.impressionHistory.recordDismissal(o,t);else if(r.interactionType==="cta_clicked"||r.interactionType==="cta_completed")this.impressionHistory.recordClickThru(o,t);else if(r.interactionType==="suppress"){let a=Number(i.suppress_duration_ms);this.impressionHistory.recordSuppression(o,t,void 0,i,Number.isFinite(a)&&a>0?a:void 0);}await this.emitSemantic("placement_interaction",{user_id:r.userId,placement_id:r.placementId,treatment_id:r.treatmentId??null,interaction_type:r.interactionType,interaction_at:r.interactionAt??null,metadata:r.metadata??{}},{immediate:false});}async getPlacementContent(n,r){let o=this.placements.get(n),t=yt();if(this.isDisabledByProviderFailure()){let a=this.disabledDecisionForPlacement(n,o?.name);return {placementId:n,requestId:t,decisionSource:"fallback",content:a.content}}if(this.isLocalOnlyMode()){let a=this.localPlacementsByLookupKey.get(this.localPlacementLookupKey({placementHandle:n}));return {placementId:n,requestId:t,decisionSource:a?"remote":"fallback",content:Wr(typeof a?.content?.title=="string"?String(a.content.title):`${o?.name??n} treatment`,typeof a?.content?.body=="string"?String(a.content.body):"Local runtime placement content.",typeof a?.content?.cta=="string"?String(a.content.cta):"Continue")}}if(!o)return {placementId:n,requestId:t,decisionSource:"fallback",content:Wr("Placement not found","Register the placement before requesting content.","Register placement")};let i={request_id:t,tenant_id:this.tenantId,placement_id:n,context:{user:this.userContext,page:this.pageContext,placement:o},request:r||{}};try{let a=await fetch(this.endpointFor("decide","/api/sdk/decide"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":t},body:JSON.stringify(i)});if(!a.ok)throw new Error(`decision request failed: ${a.status}`);let c=await a.json();return {placementId:n,requestId:t,decisionSource:"remote",content:Wr(c.recommendation?.title||`${o.name} recommendation`,c.recommendation?.message||"Treatment selected by RevTurbine decisioning.",c.recommendation?.action||"View details")}}catch{return {placementId:n,requestId:t,decisionSource:"fallback",content:Wr(`${o.name} treatment`,"Fallback treatment active while decision endpoint is unavailable.","Continue")}}}normalizePlacementOutput(n){let r=Ns(n,yt);return r&&H(n)&&typeof n.decision_id!="string"&&this.capture(Ey,{reason:"placement response missing decision_id; generated synthetic",output_id:r.output_id,synthetic_decision_id:r.decision_id}),r}normalizeEntitlementResult(n){return hv(n,yt)}validateTrialStatusShape(n){return Kp(n)}async getPlacement(n){if(this.isDisabledByProviderFailure())return this.disabledPlacementOutputForConfig(n);let r=n.slotId,o=n.surfaceType;if(o&&!IC.has(o))return this.capture(Ey,{reason:`getPlacement called with unknown surfaceType: ${String(o)}`,slot_id:r??null}),null;let t=yt();if(this.isLocalOnlyMode()){let i=this.localRuntime?.resolvers?.getPlacement;if(i){let l=await i(n);return l&&this.applyPlacementCapsIfNeeded(l).allowed?l:null}let a=this.localPlacementForConfig(n);return a&&this.applyPlacementCapsIfNeeded(a).allowed?a:null}try{let i=await fetch(this.endpointFor("getPlacement","/api/sdk/get-placement"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":t},body:JSON.stringify({request_id:t,tenant_id:this.tenantId,slot_id:r,surface_type:o,entitlement_handle:n.entitlementHandle,plan_handle:n.planHandle,placement_handle:n.placementHandle,user_id:this.userContext.id,usage:this.usageBalances,context:{user:this.userContext,page:this.pageContext}})});if(!i.ok)return null;let a=await i.json(),c=this.normalizePlacementOutput(a);return !c||!this.applyPlacementCapsIfNeeded(c).allowed?null:(this.localPlacementsByLookupKey.set(this.localPlacementLookupKey(n),c),this.persistLocalRuntimeState(),c)}catch{return null}}async checkEntitlement(n,r){if(this.isDisabledByProviderFailure())return {status:"allowed",allowed:true,reason:this.sdkDisabledReason??"sdk_disabled_provider_failure"};let o=r?.used!==void 0?{used:r.used}:r?.balance!==void 0?{balance:r.balance}:this.usageBalances[n]!==void 0?{used:this.usageBalances[n]}:void 0,t=yt();if(this.isLocalOnlyMode()){let i=this.localRuntime?.resolvers?.checkEntitlement;if(i){let l=await i(n,r);return this.localEntitlementsByHandle.set(n,l),this.persistLocalRuntimeState(),l}let a=this.deriveLocalEntitlementFromConfiguredRules(n,r);if(a)return this.localEntitlementsByHandle.set(n,a),this.persistLocalRuntimeState(),a;let c=this.localEntitlementsByHandle.get(n);return c||{status:"allowed",allowed:true,reason:"local_runtime_default_allow"}}try{let i=await fetch(this.endpointFor("checkEntitlement","/api/sdk/check-entitlement"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":t},body:JSON.stringify({request_id:t,tenant_id:this.tenantId,handle:n,user_id:this.userContext.id,usage:o,required_tier:r?.requiredTier,context:{user:this.userContext}})});if(!i.ok)return {status:"allowed",allowed:!0,reason:"entitlement_service_unavailable"};let a=await i.json(),c=this.normalizeEntitlementResult(a);return this.localEntitlementsByHandle.set(n,c),this.persistLocalRuntimeState(),c}catch{return {status:"allowed",allowed:true,reason:"entitlement_check_error"}}}updateUsage(n){let r=this.userContext;this.usageBalances={...this.usageBalances,...n},this.recalculateDerivedUsageTraits(),this.markSegmentsDirtyFromContextChange(r,this.userContext),this.persistLocalRuntimeState(),this.evaluateUserSegmentsAndUsage({},true);}getUserContext(){let n=this.userContext.id||this.anonymousId,r=new Date().toISOString();return {id:n,tenant_id:this.tenantId,user_id:n,created_at:r,updated_at:r,account_id:this.userContext.account_id,email:this.userContext.email,plan:this.userContext.plan,usage:this.userContext.usage??{},entitlements:this.userContext.entitlements??{},custom:Object.fromEntries(Object.entries(this.userContext.custom??{}).filter(([,o])=>typeof o=="string"||typeof o=="number"||typeof o=="boolean"||o===null)),personalization:Object.fromEntries(Object.entries(this.userContext.personalization??{}).filter(([,o])=>typeof o=="string"||typeof o=="number")),derived_computed_at:null}}async fetchUserContext(n){let r=yt();if(this.isLocalOnlyMode()){let o=this.localRuntime?.resolvers?.fetchUserContext;if(o){let i=await o(n);return this.localUserContextsByUserId.set(n,i),this.persistLocalRuntimeState(),i}let t=this.localUserContextsByUserId.get(n);return t||{userId:n,segmentIds:[],traits:{},plan:void 0,usage:this.usageBalances}}try{let o=await fetch(this.endpointFor("userContext","/api/sdk/user-context"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":r},body:JSON.stringify({request_id:r,tenant_id:this.tenantId,user_id:n,context:{user:this.userContext,page:this.pageContext}})});if(!o.ok)return {userId:n,segmentIds:[],traits:{}};let t=await o.json(),i={userId:n,segmentIds:Array.isArray(t.segment_ids)?t.segment_ids.filter(a=>typeof a=="string"):[],traits:H(t.traits)?t.traits:{},plan:typeof t.plan=="string"?t.plan:void 0,usage:H(t.usage)?Object.fromEntries(Object.entries(t.usage).filter(([,a])=>typeof a=="number")):void 0};return this.localUserContextsByUserId.set(n,i),this.persistLocalRuntimeState(),i}catch{return {userId:n,segmentIds:[],traits:{}}}}async recordImpression(n,r,o,t){await this.impressionHistory.recordImpression(n,r,o,t);}async recordDismissal(n,r,o,t){await this.impressionHistory.recordDismissal(n,r,o,t);}async recordClickThru(n,r,o,t){await this.impressionHistory.recordClickThru(n,r,o,t);}async getTrialStatus(){let n=yt();if(this.isLocalOnlyMode()){let r=this.localRuntime?.resolvers?.getTrialStatus;if(r){let o=await r();return this.localTrialStatus=o,await this.evaluateTrialLifecycleTriggers(o),this.persistLocalRuntimeState(),o}return await this.evaluateTrialLifecycleTriggers(this.localTrialStatus),this.localTrialStatus}try{let r=await fetch(this.endpointFor("trialStatus","/api/sdk/trial-status"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":n},body:JSON.stringify({request_id:n,tenant_id:this.tenantId,user_id:this.userContext.id})});if(!r.ok)return {in_trial:!1};let o=await r.json(),t=this.validateTrialStatusShape(o);return this.localTrialStatus=t,await this.evaluateTrialLifecycleTriggers(t),this.persistLocalRuntimeState(),t}catch{return {in_trial:false}}}getExportedConfig(){return this.getConfiguredExportedConfig()}async validateUiPathResolvers(n={}){await this.refreshExportedConfigSnapshot();let r=this.getConfiguredExportedConfig(),o=Array.isArray(n.uiPaths)?n.uiPaths:H(r)&&Array.isArray(r.content_ui_paths)?r.content_ui_paths:[],t=n.includeProviderHandlers??true,i=Ud(n.resolvers,"validateUiPathResolvers(options.resolvers)"),a={...this.uiPathResolvers,...i};if(t&&this.providerRegistry.has("cta"))try{let m=await this.providerRegistry.resolveAll();H(m.cta)&&H(m.cta.handlers)&&Object.assign(a,m.cta.handlers);}catch{}let c=[],l=0;for(let m of o){let p=H(m)?m:{},f=typeof p.action_type=="string"?p.action_type.trim():"";if(!f){c.push({actionType:"unknown",reason:"missing_action_type",...typeof p.id=="string"?{uiPathId:p.id}:{},...typeof p.name=="string"?{name:p.name}:{}});continue}if(typeof a[f]=="function"){l+=1;continue}c.push({actionType:f,reason:"missing_resolver",...typeof p.id=="string"?{uiPathId:p.id}:{},...typeof p.name=="string"?{name:p.name}:{}});}let u={valid:c.length===0,totalUiPaths:o.length,resolvedUiPaths:l,issues:c};if(!u.valid&&n.throwOnMissing){let m=u.issues.filter(f=>f.reason==="missing_resolver").map(f=>f.actionType),p=m.length>0?` Missing resolver(s) for action_type: ${Array.from(new Set(m)).join(", ")}.`:"";throw new Error(`[RevTurbine] UI path resolver validation failed with ${u.issues.length} issue(s).${p}`)}return u}assertUiPathResolverCoverageOrThrow(){let n=this.getConfiguredExportedConfig(),r=H(n)&&Array.isArray(n.content_ui_paths)?n.content_ui_paths:[];if(r.length===0)return;let o=[],t=0;for(let c of r){let u=(H(c)?c:{}).action_type,m=typeof u=="string"?u.trim():"";if(!m){t+=1;continue}typeof this.uiPathResolvers[m]!="function"&&o.push(m);}if(t===0&&o.length===0)return;let i=Array.from(new Set(o)),a=[];throw i.length>0&&a.push(`missing resolvers for action_type: ${i.join(", ")}`),t>0&&a.push(`content_ui_paths with missing action_type: ${t}`),new Error(`[RevTurbine] SDK initialization failed: ${a.join("; ")}.`)}async dismiss(n){await this.emitSemantic("placement_dismissed",{output_id:n,user_id:this.userContext.id??null,dismissed_at:new Date().toISOString()},{immediate:false});}async snooze(n,r=3600){await this.emitSemantic("placement_snoozed",{output_id:n,user_id:this.userContext.id??null,snoozed_at:new Date().toISOString(),remind_after_seconds:r},{immediate:false});}async convert(n){await this.emitSemantic("placement_converted",{output_id:n,user_id:this.userContext.id??null,converted_at:new Date().toISOString()},{immediate:false});}async emitTrigger(n,r,o){await this.emitSemantic(n,{...r,user_id:this.userContext.id??null,plan_handle:this.userContext.personalization?.plan_name??null,triggered_at:new Date().toISOString(),source:"sdk"},o);}async trackEvent(n,r){await this.capture(n,r??{});}identify(n,r){let o=this.userContext,t=r!=null&&typeof r=="object"&&!Array.isArray(r)&&("account_id"in r||"email"in r||"plan"in r||"usage"in r||"entitlements"in r||"custom"in r);if(t){let i=r;i.usage&&(this.usageBalances={...this.usageBalances,...pr(i.usage)}),this.userContext=this.mergeUserContext({id:n,account_id:i.account_id,email:i.email,plan:i.plan,usage:i.usage,entitlements:i.entitlements,custom:i.custom,personalization:i.personalization});}else this.userContext=this.mergeUserContext({id:n,custom:r,usage:{}});this.recalculateDerivedUsageTraits(),this.markSegmentsDirtyFromContextChange(o,this.userContext),this.decisionCache.clear(),this.persistDecisionCache(),this.persistLocalRuntimeState(),this.impressionHistory.setUserId(n),this.impressionHistory.hydrate(),this.emitObservedContextFields(t?r.custom:r);}resetIdentity(){this.clearAllUserState({reinfer:true});}resetUserContext(){this.clearAllUserState({reinfer:false});}clearAllUserState({reinfer:n}){let r=this.userContext;this.userContext={usage:{},...n&&this.policy.inferUser?xC():{},id:void 0,custom:{},entitlements:{},personalization:{}},this.usageBalances={},this.recalculateDerivedUsageTraits(),this.markSegmentsDirtyFromContextChange(r,this.userContext),this.decisionCache.clear(),this.interactionState.clear(),this.persistDecisionCache(),this.persistInteractionState(),this.persistLocalRuntimeState(),this.impressionHistory.setUserId(this.anonymousId),this.impressionHistory.hydrate();}can(n,r){return this.checkEntitlement(n,r)}async gate(n,r,o){let t=await this.checkEntitlement(n,o);return t.allowed?{ran:true,result:await r(),entitlement:t}:{ran:false,entitlement:t}}track(n,r){return this.trackEvent(n,r)}update(n){n.usage&&this.updateUsage(n.usage);}reset(){this.resetIdentity();}onRouteChange(n){this.setPageContext({url:`${Yt()?window.location.origin:""}${n.path}`,title:n.title,tags:n.tags}),this.capture("page_view",{source:"router_auto_track",path:n.path});}};function Ay(e){let n=nF(e),r=new Oy(n);if(!n.provider)return r;let o=(m,p)=>{try{return typeof m=="function"?m(n):m}catch(f){return console.warn(`[RevTurbine] Provider factory failed at chain index ${p}.`,f),null}},t=[o(n.provider,0),...(n.providerFallbacks??[]).map((m,p)=>o(m,p+1))].filter(m=>m!==null);if(t.length===0)return r.disableForProviderFailure("provider_factory_chain_failed"),r;let i=async(m,p,f)=>{let g=[];for(let h=0;h<t.length;h+=1){let S=t[h][m];if(S){g.push(h);try{return await S(...p)}catch(T){let C=t.slice(h+1).some(N=>typeof N[m]=="function");console.warn(h===0&&C?`[RevTurbine] Primary provider ${m} failed; trying configured fallbacks.`:`[RevTurbine] Provider ${m} failed at chain index ${h}.`,T);}}}return g.length===0||r.disableForProviderFailure(`provider_${m}_chain_failed`),f()},a=r.getPlacement.bind(r),c=r.checkEntitlement.bind(r),l=r.persistPlacementTypes.bind(r),u=r.identify.bind(r);return r.getPlacement=async m=>i("getPlacement",[m],()=>a(m)),r.checkEntitlement=async(m,p)=>i("checkEntitlement",[m,p],()=>c(m,p)),r.persistPlacementTypes=async m=>i("persistPlacementTypes",[m],()=>l(m)),r.identify=(m,p)=>{let f=0;for(let g=0;g<t.length;g+=1){let h=t[g];if(h.identify){f+=1;try{h.identify(m,p);return}catch(k){let S=t.slice(g+1).some(T=>typeof T.identify=="function");console.warn(g===0&&S?"[RevTurbine] Primary provider identify failed; trying configured fallbacks.":`[RevTurbine] Provider identify failed at chain index ${g}.`,k);}}}if(f>0){r.disableForProviderFailure("provider_identify_chain_failed"),u(m,p);return}u(m,p);},r}var jd={tenantId:"local",apiKey:"local-only",endpoint:"https://api.revturbine.local",mode:"react"};function zy(e){return typeof e=="string"&&e.trim().length>0}function nF(e){return e.localRuntime?.exportedConfig!==void 0?{...e,tenantId:zy(e.tenantId)?e.tenantId:jd.tenantId,apiKey:zy(e.apiKey)?e.apiKey:jd.apiKey,endpoint:zy(e.endpoint)?e.endpoint:jd.endpoint,mode:e.mode??jd.mode,runtimeMode:e.runtimeMode??"local_only"}:e}function rF(e){if(!H(e))return null;let n=(l,u)=>String(l??"").trim().slice(0,u),r=n(e.id,256),o=n(e.label,256),t=n(e.description,1024),i=n(e.surfaceType,64);if(!r||!o||!t||!IC.has(i))return null;let a=Number(e.priority),c=Number.isFinite(a)?Math.max(0,Math.floor(a)):0;return {id:r,label:o,description:t,surfaceType:i,priority:c}}typeof window<"u"&&(window.RevTurbine={init:Ay});var iF="revturbine:theme";function Ny(e){return `${iF}:${e}`}function oF(e,n){try{let r=n.getItem(Ny(e));if(!r)return null;let o=JSON.parse(r);return typeof o!="object"||o===null?null:o}catch{return null}}function aF(e,n,r){try{r.setItem(Ny(e),JSON.stringify(n));}catch{}}function sF(e,n){let r=n??Mr();try{r.removeItem(Ny(e));}catch{}}async function Fy(e,n){let{tenantId:r,endpoint:o,apiKey:t}=e,i=e.storage??Mr(),a=oF(r,i),c=na(a);return cF(o,r,t).then(l=>{l&&(a?.version&&l.version===a.version||(aF(r,l,i),n?.(na(l))));}).catch(()=>{}),c}async function cF(e,n,r){let o=e.replace(/\/$/,""),t=typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,i=await fetch(`${o}/api/sdk/theme`,{method:"GET",headers:{authorization:`Bearer ${r}`,"x-tenant-id":n,"x-request-id":t}});if(!i.ok)return null;let a=await i.json();return typeof a!="object"||a===null?null:a}var Od=class{constructor(n,r){E(this,"sdk");E(this,"options");E(this,"listeners",new Set);E(this,"_placementId","");E(this,"_decision",null);E(this,"_isLoading",false);E(this,"_error","");E(this,"_impressionTracked",false);E(this,"_loadSeq",0);this.sdk=n,this.options=r;}get state(){return {isLoading:this._isLoading,error:this._error,placementId:this._placementId,visible:!!this._decision?.visible,decision:this._decision,content:this._decision?.content??null}}get visible(){return !!this._decision?.visible}get content(){return this._decision?.content??null}get decision(){return this._decision}get placementId(){return this._placementId}async load(){let n=this.options,r=n.userId||this.sdk.getUserContext().user_id;if(!r)return this._error="Cannot load placement: no userId available.",this.notify(),null;let o=++this._loadSeq;this._isLoading=true,this._error="",this.notify();try{if(!this._placementId)if(n.surfaceSlot)this._placementId=await this.sdk.registerSurfaceSlot(n.surfaceSlot);else if(n.placement)this._placementId=await this.sdk.registerPlacement(n.placement);else return this._error="Either placement or surfaceSlot must be provided.",this._isLoading=!1,this.notify(),null;if(o!==this._loadSeq)return this._decision;let t=await this.sdk.getPlacementDecision({placementId:this._placementId,userId:r,contextMode:n.contextMode,overrides:n.overrides,traits:n.traits,ttlMs:n.ttlMs});return o!==this._loadSeq?this._decision:(this._decision=t,t.visible&&!this._impressionTracked&&(n.autoTrackImpression??!0)&&(this._impressionTracked=!0,await this.sdk.trackTreatmentInteraction({userId:r,placementId:this._placementId,interactionType:"impression",surfaceSlotId:t.output?.surface?.slot_id,surfaceTemplateId:t.output?.surface?.template,payloadId:t.output?.output_id,metadata:{decision_source:t.decisionSource}})),t)}catch(t){return o===this._loadSeq&&(this._error=t instanceof Error?t.message:"Failed to load placement decision."),null}finally{o===this._loadSeq&&(this._isLoading=false,this.notify());}}async refresh(){return this._impressionTracked=false,this.load()}async dismiss(n=1440*60*1e3){await this.trackInteraction("dismiss",{cooldown_ms:n});}async snooze(n=3600){await this.trackInteraction("remind_me_later",{remind_after_seconds:n});}async remindMeLater(n=3600){await this.snooze(n);}async ctaClick(n){await this.trackInteraction("cta_clicked",{cta_target:n||null});}async ctaComplete(n){await this.trackInteraction("cta_completed",{cta_target:n||null});}onChange(n){return this.listeners.add(n),()=>{this.listeners.delete(n);}}reset(){this._placementId="",this._decision=null,this._isLoading=false,this._error="",this._impressionTracked=false,this._loadSeq++,this.notify();}async trackInteraction(n,r){let o=this.options.userId||this.sdk.getUserContext().user_id;!this._placementId||!o||(await this.sdk.trackTreatmentInteraction({userId:o,placementId:this._placementId,treatmentId:this._decision?.placementId,interactionType:n,surfaceSlotId:this._decision?.output?.surface?.slot_id,surfaceTemplateId:this._decision?.output?.surface?.template,payloadId:this._decision?.output?.output_id,metadata:r}),(n==="dismiss"||n==="remind_me_later"||n==="cta_completed")&&this._decision&&(this._decision={...this._decision,visible:false},this.notify()));}notify(){for(let n of this.listeners)n();}},Dd=class{constructor(n,r){E(this,"sdk");E(this,"options");E(this,"listeners",new Set);E(this,"_isLoading",false);E(this,"_error",null);E(this,"_result",null);E(this,"_gatedPlacement",null);this.sdk=n,this.options=r;}get state(){return {isLoading:this._isLoading,error:this._error,result:this._result,allowed:this._result?.status==="allowed",limited:this._result?.status==="limited",denied:this._result?.status==="denied",gatedPlacement:this._gatedPlacement}}get allowed(){return this._result?.status==="allowed"}get limited(){return this._result?.status==="limited"}get denied(){return this._result?.status==="denied"}get result(){return this._result}get gatedPlacement(){return this._gatedPlacement}async check(){let{handle:n,context:r,autoGate:o,gatePlacementRequest:t}=this.options;this._isLoading=true,this._error=null,this.notify();try{let i=await this.sdk.checkEntitlement(n,r);if(this._result=i,!o||i.status!=="denied")this._gatedPlacement=null;else if(i.placement)this._gatedPlacement=i.placement;else {let a=await this.sdk.getPlacement({...t,entitlementHandle:n});this._gatedPlacement=a;}return i}catch(i){return this._error=i instanceof Error?i.message:String(i),this._gatedPlacement=null,null}finally{this._isLoading=false,this.notify();}}async recheck(){return this.check()}onChange(n){return this.listeners.add(n),()=>{this.listeners.delete(n);}}notify(){for(let n of this.listeners)n();}},Ad=class{constructor(n,r){E(this,"sdk");E(this,"theme");this.sdk=n,this.theme=r;}identify(n,r){this.sdk.identify(n,r);}resetIdentity(){this.sdk.resetIdentity();}resetUserContext(){this.sdk.resetUserContext();}setUserContext(n){this.sdk.setUserContext(n);}getUserContext(){return this.sdk.getUserContext()}updateUsage(n){this.sdk.updateUsage(n);}async fetchUserContext(n){return this.sdk.fetchUserContext(n)}async getTrialStatus(){return this.sdk.getTrialStatus()}getUsage(){return this.sdk.getUsage()}placement(n){return new Od(this.sdk,n)}async getPlacementBySlotId(n,r){return this.placement({...r,surfaceSlot:{id:n,name:n}}).load()}async getPlacement(n){return this.sdk.getPlacement(n)}entitlement(n){return new Dd(this.sdk,n)}async checkEntitlement(n,r){return this.sdk.checkEntitlement(n,r)}async trackEvent(n,r){return this.sdk.trackEvent(n,r)}};async function lF(e){let{bootstrapPlacements:n,...r}=e,o=r,t=Ay(o),i=o.user;i&&typeof i=="object"&&i.id&&t.identify(i.id,i);let a=Pn,l=o.localRuntime?.exportedConfig?.theme;if(l&&typeof l=="object"?a=na(l):a=await Fy({tenantId:o.tenantId??"local",endpoint:o.endpoint??"https://api.revturbine.local",apiKey:o.apiKey??"local-only"}),n&&n.length>0){let u=t.getUserContext().user_id,m=[];for(let p of n){let f=await t.registerPlacement(p.placement),g=p.userId||u;g&&m.push({placementId:f,userId:g,contextMode:p.contextMode,overrides:p.overrides,traits:p.traits,ttlMs:p.ttlMs});}m.length>0&&await t.bootstrapPlacementDecisions(m);}return new Ad(t,a)}var uF=/\{[^{}]+\}/g,dF=()=>typeof process=="object"&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function mF(){return Math.random().toString(36).slice(2,11)}function kC(e){let{baseUrl:n="",Request:r=globalThis.Request,fetch:o=globalThis.fetch,querySerializer:t,bodySerializer:i,pathSerializer:a,headers:c,requestInitExt:l=void 0,...u}={...e};l=dF()?l:void 0,n=$C(n);let m=[];async function p(f,g){let{baseUrl:h,fetch:k=o,Request:S=r,headers:T,params:C={},parseAs:N="json",querySerializer:R,bodySerializer:w=i??fF,pathSerializer:te,body:_e,middleware:Ee=[],...W}=g||{},Se=n;h&&(Se=$C(h)??n);let je=typeof t=="function"?t:SC(t);R&&(je=typeof R=="function"?R:SC({...typeof t=="object"?t:{},...R}));let K=te||a||pF,ce=_e===void 0?void 0:w(_e,PC(c,T,C.header)),Ne=PC(ce===void 0||ce instanceof FormData?{}:{"Content-Type":"application/json"},c,T,C.header),ze=[...m,...Ee],Yn={redirect:"follow",...u,...W,body:ce,headers:Ne},He,Ue,Dt=new S(gF(f,{baseUrl:Se,params:C,querySerializer:je,pathSerializer:K}),Yn),Ve;for(let _t in W)_t in Dt||(Dt[_t]=W[_t]);if(ze.length){He=mF(),Ue=Object.freeze({baseUrl:Se,fetch:k,parseAs:N,querySerializer:je,bodySerializer:w,pathSerializer:K});for(let _t of ze)if(_t&&typeof _t=="object"&&typeof _t.onRequest=="function"){let ae=await _t.onRequest({request:Dt,schemaPath:f,params:C,options:Ue,id:He});if(ae)if(ae instanceof S)Dt=ae;else if(ae instanceof Response){Ve=ae;break}else throw new Error("onRequest: must return new Request() or Response() when modifying the request")}}if(!Ve){try{Ve=await k(Dt,l);}catch(_t){let ae=_t;if(ze.length)for(let se=ze.length-1;se>=0;se--){let Mt=ze[se];if(Mt&&typeof Mt=="object"&&typeof Mt.onError=="function"){let cn=await Mt.onError({request:Dt,error:ae,schemaPath:f,params:C,options:Ue,id:He});if(cn){if(cn instanceof Response){ae=void 0,Ve=cn;break}if(cn instanceof Error){ae=cn;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(ae)throw ae}if(ze.length)for(let _t=ze.length-1;_t>=0;_t--){let ae=ze[_t];if(ae&&typeof ae=="object"&&typeof ae.onResponse=="function"){let se=await ae.onResponse({request:Dt,response:Ve,schemaPath:f,params:C,options:Ue,id:He});if(se){if(!(se instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");Ve=se;}}}}let Rn=Ve.headers.get("Content-Length");if(Ve.status===204||Dt.method==="HEAD"||Rn==="0"&&!Ve.headers.get("Transfer-Encoding")?.includes("chunked"))return Ve.ok?{data:void 0,response:Ve}:{error:void 0,response:Ve};if(Ve.ok)return {data:await(async()=>{if(N==="stream")return Ve.body;if(N==="json"&&!Rn){let ae=await Ve.text();return ae?JSON.parse(ae):void 0}return await Ve[N]()})(),response:Ve};let bt=await Ve.text();try{bt=JSON.parse(bt);}catch{}return {error:bt,response:Ve}}return {request(f,g,h){return p(g,{...h,method:f.toUpperCase()})},GET(f,g){return p(f,{...g,method:"GET"})},PUT(f,g){return p(f,{...g,method:"PUT"})},POST(f,g){return p(f,{...g,method:"POST"})},DELETE(f,g){return p(f,{...g,method:"DELETE"})},OPTIONS(f,g){return p(f,{...g,method:"OPTIONS"})},HEAD(f,g){return p(f,{...g,method:"HEAD"})},PATCH(f,g){return p(f,{...g,method:"PATCH"})},TRACE(f,g){return p(f,{...g,method:"TRACE"})},use(...f){for(let g of f)if(g){if(typeof g!="object"||!("onRequest"in g||"onResponse"in g||"onError"in g))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");m.push(g);}},eject(...f){for(let g of f){let h=m.indexOf(g);h!==-1&&m.splice(h,1);}}}}function Nd(e,n,r){if(n==null)return "";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${e}=${r?.allowReserved===true?n:encodeURIComponent(n)}`}function wC(e,n,r){if(!n||typeof n!="object")return "";let o=[],t={simple:",",label:".",matrix:";"}[r.style]||"&";if(r.style!=="deepObject"&&r.explode===false){for(let c in n)o.push(c,r.allowReserved===true?n[c]:encodeURIComponent(n[c]));let a=o.join(",");switch(r.style){case "form":return `${e}=${a}`;case "label":return `.${a}`;case "matrix":return `;${e}=${a}`;default:return a}}for(let a in n){let c=r.style==="deepObject"?`${e}[${a}]`:a;o.push(Nd(c,n[a],r));}let i=o.join(t);return r.style==="label"||r.style==="matrix"?`${t}${i}`:i}function TC(e,n,r){if(!Array.isArray(n))return "";if(r.explode===false){let i={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[r.style]||",",a=(r.allowReserved===true?n:n.map(c=>encodeURIComponent(c))).join(i);switch(r.style){case "simple":return a;case "label":return `.${a}`;case "matrix":return `;${e}=${a}`;default:return `${e}=${a}`}}let o={simple:",",label:".",matrix:";"}[r.style]||"&",t=[];for(let i of n)r.style==="simple"||r.style==="label"?t.push(r.allowReserved===true?i:encodeURIComponent(i)):t.push(Nd(e,i,r));return r.style==="label"||r.style==="matrix"?`${o}${t.join(o)}`:t.join(o)}function SC(e){return function(r){let o=[];if(r&&typeof r=="object")for(let t in r){let i=r[t];if(i!=null){if(Array.isArray(i)){if(i.length===0)continue;o.push(TC(t,i,{style:"form",explode:true,...e?.array,allowReserved:e?.allowReserved||false}));continue}if(typeof i=="object"){o.push(wC(t,i,{style:"deepObject",explode:true,...e?.object,allowReserved:e?.allowReserved||false}));continue}o.push(Nd(t,i,e));}}return o.join("&")}}function pF(e,n){let r=e;for(let o of e.match(uF)??[]){let t=o.substring(1,o.length-1),i=false,a="simple";if(t.endsWith("*")&&(i=true,t=t.substring(0,t.length-1)),t.startsWith(".")?(a="label",t=t.substring(1)):t.startsWith(";")&&(a="matrix",t=t.substring(1)),!n||n[t]===void 0||n[t]===null)continue;let c=n[t];if(Array.isArray(c)){r=r.replace(o,TC(t,c,{style:a,explode:i}));continue}if(typeof c=="object"){r=r.replace(o,wC(t,c,{style:a,explode:i}));continue}if(a==="matrix"){r=r.replace(o,`;${Nd(t,c)}`);continue}r=r.replace(o,a==="label"?`.${encodeURIComponent(c)}`:encodeURIComponent(c));}return r}function fF(e,n){return e instanceof FormData?e:n&&(n.get instanceof Function?n.get("Content-Type")??n.get("content-type"):n["Content-Type"]??n["content-type"])==="application/x-www-form-urlencoded"?new URLSearchParams(e).toString():JSON.stringify(e)}function gF(e,n){let r=`${n.baseUrl}${e}`;n.params?.path&&(r=n.pathSerializer(r,n.params.path));let o=n.querySerializer(n.params.query??{});return o.startsWith("?")&&(o=o.substring(1)),o&&(r+=`?${o}`),r}function PC(...e){let n=new Headers;for(let r of e){if(!r||typeof r!="object")continue;let o=r instanceof Headers?r.entries():Object.entries(r);for(let[t,i]of o)if(i===null)n.delete(t);else if(Array.isArray(i))for(let a of i)n.append(t,a);else i!==void 0&&n.set(t,i);}return n}function $C(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function hF(e){let n={...e.headers};return e.tenantId&&(n["x-rt-tenant-id"]=e.tenantId),e.token&&(n.Authorization=`Bearer ${e.token}`),kC({baseUrl:e.baseUrl,headers:n})}var Ly=class extends Error{constructor(r,o){super(o);E(this,"status",r);this.name="ApiError";}};var Zy=class extends nR{constructor(r){let o=Mr(r.storage),t=new md({storage:o,tenantId:r.tenantId,maxRecords:r.maxImpressionRecords});super({...r,storage:o,impressionStore:t});E(this,"_hydratePromise");let i=r.autoHydrate??true;this._hydratePromise=i?this.hydrate():null;}async ready(){this._hydratePromise&&await this._hydratePromise;}};function bF(e){return {tenant_id:e.tenant_id,user_id:e.user_id,anonymous_id:e.anonymous_id,session_id:e.session_id,url:e.url,path:e.path,page_title:e.page_title,event_time:e.event_time,...e.properties}}var By=class{constructor(n){E(this,"name");E(this,"handler");E(this,"transform");E(this,"filterSet");this.name=n.name??"analytics",this.handler=n.handler,this.transform=n.transform,this.filterSet=n.filter?new Set(n.filter):void 0;}consume(n){for(let r of n){if(this.filterSet&&!this.filterSet.has(r.type))continue;let o=r.type,t=bF(r);if(this.transform){let i=this.transform(o,t);if(i===null)continue;o=i.eventName,t=i.properties;}try{this.handler(o,t);}catch{}}}};function RC(e){let n=new By(e);return {domain:"events",resolve:()=>({consumers:[n]})}}function _F(e){let{posthog:n,filter:r,transform:o,name:t}=e;return RC({name:t??"posthog",filter:r,transform:o,handler:(i,a)=>{n.capture(i,a);}})}var vF=["banner_placement"],yF=["banner_placement","in_page_card"],xF=["toast_message"],IF=["modal_overlay"];var SF=["banner_placement","in_page_card","usage_counter","button"],PF=["modal_overlay","inline_gate_message"],$F=["toast_message","modal_overlay","banner_placement"];function Sc(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,10)}`}var Fd=class{constructor(n){E(this,"tenantId");E(this,"apiKey");E(this,"endpoint");E(this,"defaultTtlSeconds");E(this,"fetchFn");this.tenantId=n.tenantId,this.apiKey=n.apiKey,this.endpoint=n.endpoint.replace(/\/$/,""),this.defaultTtlSeconds=n.defaultTtlSeconds??60,this.fetchFn=n.fetch??globalThis.fetch;}async evaluate(n){let r=Sc(),o=n.anonymousId??Sc(),[t,i,a,c,l]=await Promise.all([this.evaluatePlacements(r,n),this.evaluateEntitlements(r,n),n.includeTrialStatus?this.fetchTrialStatus(r,n.userId):Promise.resolve(void 0),n.includeUserContext?this.fetchUserContext(r,n.userId):Promise.resolve(void 0),n.includeTheme?this.fetchTheme(r):Promise.resolve(void 0)]),u={version:"1.0.0",request_id:r,tenant_id:this.tenantId,evaluated_at:new Date().toISOString(),ttl_seconds:this.defaultTtlSeconds,user:{id:n.userId,anonymous_id:o,traits:n.traits},decisions:t};return i&&Object.keys(i).length>0&&(u.entitlements=i),a&&(u.trial_status=a),c&&(u.user_context=c),l&&(u.theme=l),u}async getPlacement(n,r,o){let t=Sc(),i={request_id:t,user_id:n,traits:o??{},slot_id:r.slotId,entitlement_handle:r.entitlementHandle,plan_handle:r.planHandle,placement_handle:r.placementHandle};try{let a=await this.apiCall(t,"/api/decision-api/v1/decide-context",i);if(!a.ok)return {slot_id:r.slotId,entitlement_handle:r.entitlementHandle,plan_handle:r.planHandle,placement_handle:r.placementHandle,visible:!1,reason_codes:["api_error"]};let c=await a.json(),l=c.decision,u=l?.visible??!1,m={slot_id:r.slotId,entitlement_handle:r.entitlementHandle,plan_handle:r.planHandle,placement_handle:r.placementHandle,visible:u};return u&&l&&(m.output=l),c.reason_codes&&(m.reason_codes=c.reason_codes),m}catch{return {slot_id:r.slotId,entitlement_handle:r.entitlementHandle,plan_handle:r.planHandle,placement_handle:r.placementHandle,visible:false,reason_codes:["network_error"]}}}async checkEntitlement(n,r,o){let t=Sc(),i={request_id:t,user_id:n,entitlement_handle:r,...o??{}};try{let a=await this.apiCall(t,"/api/decision-api/v1/check-entitlement",i);if(!a.ok)return {status:"denied",allowed:!1,reason:"api_error"};let c=await a.json();return {status:c.status??"denied",allowed:c.allowed??!1,reason:c.reason,current_tier:c.current_tier}}catch{return {status:"denied",allowed:false,reason:"network_error"}}}can(n,r,o){return this.checkEntitlement(n,r,o)}async getTrialStatus(n){let r=Sc();return this.fetchTrialStatus(r,n)}async apiCall(n,r,o){return this.fetchFn(`${this.endpoint}${r}`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":n},body:JSON.stringify(o)})}async apiGet(n,r){return this.fetchFn(`${this.endpoint}${r}`,{method:"GET",headers:{authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":n}})}async evaluatePlacements(n,r){let o=r.placements??[];return o.length===0?[]:o.length>1?this.evaluatePlacementsBatch(n,r,o):[await this.getPlacement(r.userId,o[0],r.traits)]}async evaluatePlacementsBatch(n,r,o){let t={request_id:n,user_id:r.userId,traits:r.traits??{},usage_balances:r.usageBalances??{},page:r.page??{},placements:o.map(i=>({slot_id:i.slotId,entitlement_handle:i.entitlementHandle,plan_handle:i.planHandle,placement_handle:i.placementHandle}))};try{let i=await this.apiCall(n,"/api/decision-api/v1/bootstrap-context",t);return i.ok?(await i.json()).decisions.map((c,l)=>{let u=o[l]??{},m=c.result.decision?.visible??!1,p={slot_id:u.slotId,entitlement_handle:u.entitlementHandle,plan_handle:u.planHandle,placement_handle:u.placementHandle,visible:m};return m&&c.result.decision&&(p.output=c.result.decision),c.result.reason_codes&&(p.reason_codes=c.result.reason_codes),p}):o.map(c=>({slot_id:c.slotId,entitlement_handle:c.entitlementHandle,plan_handle:c.planHandle,placement_handle:c.placementHandle,visible:!1,reason_codes:["api_error"]}))}catch{return o.map(i=>({slot_id:i.slotId,entitlement_handle:i.entitlementHandle,plan_handle:i.planHandle,placement_handle:i.placementHandle,visible:false,reason_codes:["network_error"]}))}}async evaluateEntitlements(n,r){let o=r.entitlementHandles??[];if(o.length===0)return;let t={},i=await Promise.allSettled(o.map(async a=>{let c=await this.checkEntitlement(r.userId,a);return {handle:a,result:c}}));for(let a of i)a.status==="fulfilled"&&(t[a.value.handle]=a.value.result);return t}async fetchTrialStatus(n,r){try{let o=await this.apiCall(n,"/api/decision-api/v1/trial-status",{request_id:n,user_id:r});if(!o.ok)return {in_trial:!1};let t=await o.json();return {in_trial:t.in_trial??!1,...t.trial_type!==void 0?{trial_type:t.trial_type}:{},...t.plan_handle!==void 0?{plan_handle:t.plan_handle}:{},...t.trial_limit_type!==void 0?{trial_limit_type:t.trial_limit_type}:{},...t.progress_percent!==void 0?{progress_percent:t.progress_percent}:{},...t.day_number!==void 0?{day_number:t.day_number}:{},...t.days_remaining!==void 0?{days_remaining:t.days_remaining}:{},...t.usage_entitlement_handle!==void 0?{usage_entitlement_handle:t.usage_entitlement_handle}:{},...t.usage_consumed!==void 0?{usage_consumed:t.usage_consumed}:{},...t.usage_remaining!==void 0?{usage_remaining:t.usage_remaining}:{},...t.usage_limit!==void 0?{usage_limit:t.usage_limit}:{}}}catch{return {in_trial:false}}}async fetchUserContext(n,r){try{let o=await this.apiCall(n,"/api/decision-api/v1/user-context",{request_id:n,user_id:r});if(!o.ok)return;let t=await o.json();return {segments:t.segments,traits:t.traits,usage_balances:t.usage_balances}}catch{return}}async fetchTheme(n){try{let r=await this.apiGet(n,"/api/sdk/theme");if(!r.ok)return;let o=await r.json();return typeof o!="object"||o===null?void 0:o}catch{return}}};var d={};$t(d,{$brand:()=>qy,$input:()=>mS,$output:()=>dS,NEVER:()=>Vy,TimePrecision:()=>hS,ZodAny:()=>o$,ZodArray:()=>l$,ZodBase64:()=>mp,ZodBase64URL:()=>pp,ZodBigInt:()=>Ua,ZodBigIntFormat:()=>hp,ZodBoolean:()=>ja,ZodCIDRv4:()=>up,ZodCIDRv6:()=>dp,ZodCUID:()=>rp,ZodCUID2:()=>ip,ZodCatch:()=>E$,ZodCodec:()=>tl,ZodCustom:()=>nl,ZodCustomStringFormat:()=>Ea,ZodDate:()=>Wc,ZodDefault:()=>$$,ZodDiscriminatedUnion:()=>d$,ZodE164:()=>fp,ZodEmail:()=>ep,ZodEmoji:()=>tp,ZodEnum:()=>Ra,ZodError:()=>bB,ZodExactOptional:()=>I$,ZodFile:()=>y$,ZodFirstPartyTypeKind:()=>V$,ZodFunction:()=>Z$,ZodGUID:()=>qc,ZodIPv4:()=>cp,ZodIPv6:()=>lp,ZodISODate:()=>Gm,ZodISODateTime:()=>Km,ZodISODuration:()=>Wm,ZodISOTime:()=>Jm,ZodIntersection:()=>m$,ZodIssueCode:()=>vB,ZodJWT:()=>gp,ZodKSUID:()=>sp,ZodLazy:()=>N$,ZodLiteral:()=>v$,ZodMAC:()=>YP,ZodMap:()=>b$,ZodNaN:()=>j$,ZodNanoID:()=>np,ZodNever:()=>s$,ZodNonOptional:()=>Ip,ZodNull:()=>r$,ZodNullable:()=>P$,ZodNumber:()=>za,ZodNumberFormat:()=>ji,ZodObject:()=>Yc,ZodOptional:()=>xp,ZodPipe:()=>el,ZodPrefault:()=>w$,ZodPreprocess:()=>U$,ZodPromise:()=>L$,ZodReadonly:()=>O$,ZodRealError:()=>_n,ZodRecord:()=>Ta,ZodSet:()=>_$,ZodString:()=>Ca,ZodStringFormat:()=>Ye,ZodSuccess:()=>C$,ZodSymbol:()=>t$,ZodTemplateLiteral:()=>A$,ZodTransform:()=>x$,ZodTuple:()=>f$,ZodType:()=>be,ZodULID:()=>op,ZodURL:()=>Jc,ZodUUID:()=>dr,ZodUndefined:()=>n$,ZodUnion:()=>Qc,ZodUnknown:()=>a$,ZodVoid:()=>c$,ZodXID:()=>ap,ZodXor:()=>u$,_ZodString:()=>Qm,_default:()=>k$,_function:()=>_j,any:()=>Jz,array:()=>Xc,base64:()=>zz,base64url:()=>jz,bigint:()=>Vz,boolean:()=>e$,catch:()=>z$,check:()=>vj,cidrv4:()=>Cz,cidrv6:()=>Ez,clone:()=>nn,codec:()=>fj,coerce:()=>q$,config:()=>gt,core:()=>kr,cuid:()=>Iz,cuid2:()=>Sz,custom:()=>yj,date:()=>Xz,decode:()=>qP,decodeAsync:()=>KP,describe:()=>xj,discriminatedUnion:()=>rj,e164:()=>Uz,email:()=>mz,emoji:()=>yz,encode:()=>VP,encodeAsync:()=>HP,endsWith:()=>_a,enum:()=>vp,exactOptional:()=>S$,file:()=>uj,flattenError:()=>Ec,float32:()=>Lz,float64:()=>Zz,formatError:()=>zc,fromJSONSchema:()=>Tj,function:()=>_j,getErrorMap:()=>xB,globalRegistry:()=>Zt,gt:()=>lr,gte:()=>on,guid:()=>pz,hash:()=>Fz,hex:()=>Nz,hostname:()=>Az,httpUrl:()=>vz,includes:()=>ha,instanceof:()=>Sj,int:()=>Xm,int32:()=>Bz,int64:()=>qz,intersection:()=>p$,invertCodec:()=>gj,ipv4:()=>wz,ipv6:()=>Rz,iso:()=>wa,json:()=>$j,jwt:()=>Oz,keyof:()=>Yz,ksuid:()=>kz,lazy:()=>F$,length:()=>Ei,literal:()=>lj,locales:()=>Lc,looseObject:()=>tj,looseRecord:()=>oj,lowercase:()=>fa,lt:()=>cr,lte:()=>wn,mac:()=>Tz,map:()=>aj,maxLength:()=>Ci,maxSize:()=>ri,meta:()=>Ij,mime:()=>va,minLength:()=>$r,minSize:()=>ur,multipleOf:()=>ni,nan:()=>pj,nanoid:()=>xz,nativeEnum:()=>cj,negative:()=>Am,never:()=>bp,nonnegative:()=>Fm,nonoptional:()=>R$,nonpositive:()=>Nm,normalize:()=>ya,null:()=>i$,nullable:()=>Kc,nullish:()=>dj,number:()=>QP,object:()=>Qz,optional:()=>Hc,overwrite:()=>Wn,parse:()=>LP,parseAsync:()=>ZP,partialRecord:()=>ij,pipe:()=>Ym,positive:()=>Dm,prefault:()=>T$,preprocess:()=>kj,prettifyError:()=>ix,promise:()=>bj,property:()=>Lm,readonly:()=>D$,record:()=>h$,refine:()=>B$,regex:()=>pa,regexes:()=>kn,registry:()=>gm,safeDecode:()=>JP,safeDecodeAsync:()=>XP,safeEncode:()=>GP,safeEncodeAsync:()=>WP,safeParse:()=>BP,safeParseAsync:()=>MP,set:()=>sj,setErrorMap:()=>yB,size:()=>Ri,slugify:()=>Pa,startsWith:()=>ba,strictObject:()=>ej,string:()=>Vc,stringFormat:()=>Dz,stringbool:()=>Pj,success:()=>mj,superRefine:()=>M$,symbol:()=>Kz,templateLiteral:()=>hj,toJSONSchema:()=>Vm,toLowerCase:()=>Ia,toUpperCase:()=>Sa,transform:()=>yp,treeifyError:()=>rx,trim:()=>xa,tuple:()=>g$,uint32:()=>Mz,uint64:()=>Hz,ulid:()=>Pz,undefined:()=>Gz,union:()=>_p,unknown:()=>zi,uppercase:()=>ga,url:()=>_z,util:()=>A,uuid:()=>fz,uuidv4:()=>gz,uuidv6:()=>hz,uuidv7:()=>bz,void:()=>Wz,xid:()=>$z,xor:()=>nj});var kr={};$t(kr,{$ZodAny:()=>jI,$ZodArray:()=>NI,$ZodAsyncError:()=>Jn,$ZodBase64:()=>SI,$ZodBase64URL:()=>PI,$ZodBigInt:()=>sm,$ZodBigIntFormat:()=>RI,$ZodBoolean:()=>Dc,$ZodCIDRv4:()=>yI,$ZodCIDRv6:()=>xI,$ZodCUID:()=>cI,$ZodCUID2:()=>lI,$ZodCatch:()=>nS,$ZodCheck:()=>nt,$ZodCheckBigIntFormat:()=>Nx,$ZodCheckEndsWith:()=>Wx,$ZodCheckGreaterThan:()=>tm,$ZodCheckIncludes:()=>Gx,$ZodCheckLengthEquals:()=>Vx,$ZodCheckLessThan:()=>em,$ZodCheckLowerCase:()=>Hx,$ZodCheckMaxLength:()=>Bx,$ZodCheckMaxSize:()=>Fx,$ZodCheckMimeType:()=>Yx,$ZodCheckMinLength:()=>Mx,$ZodCheckMinSize:()=>Lx,$ZodCheckMultipleOf:()=>Dx,$ZodCheckNumberFormat:()=>Ax,$ZodCheckOverwrite:()=>Qx,$ZodCheckProperty:()=>Xx,$ZodCheckRegex:()=>qx,$ZodCheckSizeEquals:()=>Zx,$ZodCheckStartsWith:()=>Jx,$ZodCheckStringFormat:()=>da,$ZodCheckUpperCase:()=>Kx,$ZodCodec:()=>Nc,$ZodCustom:()=>uS,$ZodCustomStringFormat:()=>wI,$ZodDate:()=>AI,$ZodDefault:()=>YI,$ZodDiscriminatedUnion:()=>ZI,$ZodE164:()=>$I,$ZodEmail:()=>iI,$ZodEmoji:()=>aI,$ZodEncodeError:()=>Xr,$ZodEnum:()=>HI,$ZodError:()=>Cc,$ZodExactOptional:()=>WI,$ZodFile:()=>GI,$ZodFunction:()=>sS,$ZodGUID:()=>nI,$ZodIPv4:()=>bI,$ZodIPv6:()=>_I,$ZodISODate:()=>fI,$ZodISODateTime:()=>pI,$ZodISODuration:()=>hI,$ZodISOTime:()=>gI,$ZodIntersection:()=>BI,$ZodJWT:()=>kI,$ZodKSUID:()=>mI,$ZodLazy:()=>lS,$ZodLiteral:()=>KI,$ZodMAC:()=>vI,$ZodMap:()=>VI,$ZodNaN:()=>rS,$ZodNanoID:()=>sI,$ZodNever:()=>OI,$ZodNonOptional:()=>eS,$ZodNull:()=>zI,$ZodNullable:()=>XI,$ZodNumber:()=>am,$ZodNumberFormat:()=>TI,$ZodObject:()=>sE,$ZodObjectJIT:()=>FI,$ZodOptional:()=>lm,$ZodPipe:()=>um,$ZodPrefault:()=>QI,$ZodPreprocess:()=>iS,$ZodPromise:()=>cS,$ZodReadonly:()=>oS,$ZodRealError:()=>bn,$ZodRecord:()=>MI,$ZodRegistry:()=>fm,$ZodSet:()=>qI,$ZodString:()=>Ti,$ZodStringFormat:()=>Xe,$ZodSuccess:()=>tS,$ZodSymbol:()=>CI,$ZodTemplateLiteral:()=>aS,$ZodTransform:()=>JI,$ZodTuple:()=>cm,$ZodType:()=>fe,$ZodULID:()=>uI,$ZodURL:()=>oI,$ZodUUID:()=>rI,$ZodUndefined:()=>EI,$ZodUnion:()=>Ac,$ZodUnknown:()=>UI,$ZodVoid:()=>DI,$ZodXID:()=>dI,$ZodXor:()=>LI,$brand:()=>qy,$constructor:()=>I,$input:()=>mS,$output:()=>dS,Doc:()=>Oc,JSONSchema:()=>lz,JSONSchemaGenerator:()=>qm,NEVER:()=>Vy,TimePrecision:()=>hS,_any:()=>AS,_array:()=>VS,_base64:()=>zm,_base64url:()=>jm,_bigint:()=>CS,_boolean:()=>TS,_catch:()=>lB,_check:()=>cz,_cidrv4:()=>Cm,_cidrv6:()=>Em,_coercedBigint:()=>ES,_coercedBoolean:()=>RS,_coercedDate:()=>BS,_coercedNumber:()=>IS,_coercedString:()=>fS,_cuid:()=>Sm,_cuid2:()=>Pm,_custom:()=>HS,_date:()=>ZS,_decode:()=>qd,_decodeAsync:()=>Kd,_default:()=>aB,_discriminatedUnion:()=>GZ,_e164:()=>Um,_email:()=>hm,_emoji:()=>xm,_encode:()=>Vd,_encodeAsync:()=>Hd,_endsWith:()=>_a,_enum:()=>eB,_file:()=>qS,_float32:()=>PS,_float64:()=>$S,_gt:()=>lr,_gte:()=>on,_guid:()=>Zc,_includes:()=>ha,_int:()=>SS,_int32:()=>kS,_int64:()=>zS,_intersection:()=>JZ,_ipv4:()=>Tm,_ipv6:()=>Rm,_isoDate:()=>_S,_isoDateTime:()=>bS,_isoDuration:()=>yS,_isoTime:()=>vS,_jwt:()=>Om,_ksuid:()=>wm,_lazy:()=>pB,_length:()=>Ei,_literal:()=>nB,_lowercase:()=>fa,_lt:()=>cr,_lte:()=>wn,_mac:()=>gS,_map:()=>YZ,_max:()=>wn,_maxLength:()=>Ci,_maxSize:()=>ri,_mime:()=>va,_min:()=>on,_minLength:()=>$r,_minSize:()=>ur,_multipleOf:()=>ni,_nan:()=>MS,_nanoid:()=>Im,_nativeEnum:()=>tB,_negative:()=>Am,_never:()=>FS,_nonnegative:()=>Fm,_nonoptional:()=>sB,_nonpositive:()=>Nm,_normalize:()=>ya,_null:()=>DS,_nullable:()=>oB,_number:()=>xS,_optional:()=>iB,_overwrite:()=>Wn,_parse:()=>sa,_parseAsync:()=>ca,_pipe:()=>uB,_positive:()=>Dm,_promise:()=>fB,_property:()=>Lm,_readonly:()=>dB,_record:()=>XZ,_refine:()=>KS,_regex:()=>pa,_safeDecode:()=>Jd,_safeDecodeAsync:()=>Xd,_safeEncode:()=>Gd,_safeEncodeAsync:()=>Wd,_safeParse:()=>la,_safeParseAsync:()=>ua,_set:()=>QZ,_size:()=>Ri,_slugify:()=>Pa,_startsWith:()=>ba,_string:()=>pS,_stringFormat:()=>$a,_stringbool:()=>XS,_success:()=>cB,_superRefine:()=>GS,_symbol:()=>US,_templateLiteral:()=>mB,_toLowerCase:()=>Ia,_toUpperCase:()=>Sa,_transform:()=>rB,_trim:()=>xa,_tuple:()=>WZ,_uint32:()=>wS,_uint64:()=>jS,_ulid:()=>$m,_undefined:()=>OS,_union:()=>HZ,_unknown:()=>NS,_uppercase:()=>ga,_url:()=>Bc,_uuid:()=>bm,_uuidv4:()=>_m,_uuidv6:()=>vm,_uuidv7:()=>ym,_void:()=>LS,_xid:()=>km,_xor:()=>KZ,clone:()=>nn,config:()=>gt,createStandardJSONSchemaMethod:()=>ka,createToJSONSchemaMethod:()=>YS,decode:()=>fL,decodeAsync:()=>hL,describe:()=>JS,encode:()=>pL,encodeAsync:()=>gL,extractDefs:()=>oi,finalize:()=>ai,flattenError:()=>Ec,formatError:()=>zc,globalConfig:()=>$i,globalRegistry:()=>Zt,initializeContext:()=>ii,isValidBase64:()=>II,isValidBase64URL:()=>rE,isValidJWT:()=>iE,locales:()=>Lc,meta:()=>WS,parse:()=>Bd,parseAsync:()=>Md,prettifyError:()=>ix,process:()=>Be,regexes:()=>kn,registry:()=>gm,safeDecode:()=>_L,safeDecodeAsync:()=>yL,safeEncode:()=>bL,safeEncodeAsync:()=>vL,safeParse:()=>ox,safeParseAsync:()=>ax,toDotPath:()=>DC,toJSONSchema:()=>Vm,treeifyError:()=>rx,util:()=>A,version:()=>eI});var EC,Vy=Object.freeze({status:"aborted"});function I(e,n,r){function o(c,l){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:l,constr:a,traits:new Set},enumerable:false}),c._zod.traits.has(e))return;c._zod.traits.add(e),n(c,l);let u=a.prototype,m=Object.keys(u);for(let p=0;p<m.length;p++){let f=m[p];f in c||(c[f]=u[f].bind(c));}}let t=r?.Parent??Object;class i extends t{}Object.defineProperty(i,"name",{value:e});function a(c){var l;let u=r?.Parent?new i:this;o(u,c),(l=u._zod).deferred??(l.deferred=[]);for(let m of u._zod.deferred)m();return u}return Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:c=>r?.Parent&&c instanceof r.Parent?true:c?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var qy=Symbol("zod_brand"),Jn=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.");}},Xr=class extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError";}};(EC=globalThis).__zod_globalConfig??(EC.__zod_globalConfig={});var $i=globalThis.__zod_globalConfig;function gt(e){return e&&Object.assign($i,e),$i}var A={};$t(A,{BIGINT_FORMAT_RANGES:()=>tx,Class:()=>Ky,NUMBER_FORMAT_RANGES:()=>ex,aborted:()=>ti,allowsEval:()=>Wy,assert:()=>qF,assertEqual:()=>ZF,assertIs:()=>MF,assertNever:()=>VF,assertNotEqual:()=>BF,assignProp:()=>Qr,base64ToUint8Array:()=>jC,base64urlToUint8Array:()=>cL,cached:()=>oa,captureStackTrace:()=>Zd,cleanEnum:()=>sL,cleanRegex:()=>kc,clone:()=>nn,cloneDef:()=>KF,createTransparentProxy:()=>QF,defineLazy:()=>Ie,esc:()=>Ld,escapeRegex:()=>Dn,explicitlyAborted:()=>nx,extend:()=>nL,finalizeIssue:()=>rn,floatSafeRemainder:()=>Gy,getElementAtPath:()=>GF,getEnumValues:()=>$c,getLengthableOrigin:()=>Rc,getParsedType:()=>YF,getSizableOrigin:()=>Tc,hexToUint8Array:()=>uL,isObject:()=>ki,isPlainObject:()=>ei,issue:()=>aa,joinValues:()=>$,jsonStringifyReplacer:()=>ia,merge:()=>iL,mergeDefs:()=>Pr,normalizeParams:()=>L,nullish:()=>Yr,numKeys:()=>XF,objectClone:()=>HF,omit:()=>tL,optionalKeys:()=>Qy,parsedType:()=>O,partial:()=>oL,pick:()=>eL,prefixIssues:()=>hn,primitiveTypes:()=>Yy,promiseAllObject:()=>JF,propertyKeyTypes:()=>wc,randomString:()=>WF,required:()=>aL,safeExtend:()=>rL,shallowClone:()=>Xy,slugify:()=>Jy,stringifyPrimitive:()=>j,uint8ArrayToBase64:()=>UC,uint8ArrayToBase64url:()=>lL,uint8ArrayToHex:()=>dL,unwrapMessage:()=>Pc});function ZF(e){return e}function BF(e){return e}function MF(e){}function VF(e){throw new Error("Unexpected value in exhaustive check")}function qF(e){}function $c(e){let n=Object.values(e).filter(o=>typeof o=="number");return Object.entries(e).filter(([o,t])=>n.indexOf(+o)===-1).map(([o,t])=>t)}function $(e,n="|"){return e.map(r=>j(r)).join(n)}function ia(e,n){return typeof n=="bigint"?n.toString():n}function oa(e){return {get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}}}}function Yr(e){return e==null}function kc(e){let n=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(n,r)}function Gy(e,n){let r=e/n,o=Math.round(r),t=Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-o)<t?0:r-o}var zC=Symbol("evaluating");function Ie(e,n,r){let o;Object.defineProperty(e,n,{get(){if(o!==zC)return o===void 0&&(o=zC,o=r()),o},set(t){Object.defineProperty(e,n,{value:t});},configurable:true});}function HF(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function Qr(e,n,r){Object.defineProperty(e,n,{value:r,writable:true,enumerable:true,configurable:true});}function Pr(...e){let n={};for(let r of e){let o=Object.getOwnPropertyDescriptors(r);Object.assign(n,o);}return Object.defineProperties({},n)}function KF(e){return Pr(e._zod.def)}function GF(e,n){return n?n.reduce((r,o)=>r?.[o],e):e}function JF(e){let n=Object.keys(e),r=n.map(o=>e[o]);return Promise.all(r).then(o=>{let t={};for(let i=0;i<n.length;i++)t[n[i]]=o[i];return t})}function WF(e=10){let n="abcdefghijklmnopqrstuvwxyz",r="";for(let o=0;o<e;o++)r+=n[Math.floor(Math.random()*n.length)];return r}function Ld(e){return JSON.stringify(e)}function Jy(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Zd="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ki(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Wy=oa(()=>{if($i.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return false;try{let e=Function;return new e(""),!0}catch{return false}});function ei(e){if(ki(e)===false)return false;let n=e.constructor;if(n===void 0||typeof n!="function")return true;let r=n.prototype;return !(ki(r)===false||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===false)}function Xy(e){return ei(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function XF(e){let n=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&n++;return n}var YF=e=>{let n=typeof e;switch(n){case "undefined":return "undefined";case "string":return "string";case "number":return Number.isNaN(e)?"nan":"number";case "boolean":return "boolean";case "function":return "function";case "bigint":return "bigint";case "symbol":return "symbol";case "object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${n}`)}},wc=new Set(["string","number","symbol"]),Yy=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Dn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nn(e,n,r){let o=new e._zod.constr(n??e._zod.def);return (!n||r?.parent)&&(o._zod.parent=e),o}function L(e){let n=e;if(!n)return {};if(typeof n=="string")return {error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message;}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function QF(e){let n;return new Proxy({},{get(r,o,t){return n??(n=e()),Reflect.get(n,o,t)},set(r,o,t,i){return n??(n=e()),Reflect.set(n,o,t,i)},has(r,o){return n??(n=e()),Reflect.has(n,o)},deleteProperty(r,o){return n??(n=e()),Reflect.deleteProperty(n,o)},ownKeys(r){return n??(n=e()),Reflect.ownKeys(n)},getOwnPropertyDescriptor(r,o){return n??(n=e()),Reflect.getOwnPropertyDescriptor(n,o)},defineProperty(r,o,t){return n??(n=e()),Reflect.defineProperty(n,o,t)}})}function j(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Qy(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}var ex={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},tx={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function eL(e,n){let r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i=Pr(e._zod.def,{get shape(){let a={};for(let c in n){if(!(c in r.shape))throw new Error(`Unrecognized key: "${c}"`);n[c]&&(a[c]=r.shape[c]);}return Qr(this,"shape",a),a},checks:[]});return nn(e,i)}function tL(e,n){let r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=Pr(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let c in n){if(!(c in r.shape))throw new Error(`Unrecognized key: "${c}"`);n[c]&&delete a[c];}return Qr(this,"shape",a),a},checks:[]});return nn(e,i)}function nL(e,n){if(!ei(n))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let i=e._zod.def.shape;for(let a in n)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let t=Pr(e._zod.def,{get shape(){let i={...e._zod.def.shape,...n};return Qr(this,"shape",i),i}});return nn(e,t)}function rL(e,n){if(!ei(n))throw new Error("Invalid input to safeExtend: expected a plain object");let r=Pr(e._zod.def,{get shape(){let o={...e._zod.def.shape,...n};return Qr(this,"shape",o),o}});return nn(e,r)}function iL(e,n){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=Pr(e._zod.def,{get shape(){let o={...e._zod.def.shape,...n._zod.def.shape};return Qr(this,"shape",o),o},get catchall(){return n._zod.def.catchall},checks:n._zod.def.checks??[]});return nn(e,r)}function oL(e,n,r){let t=n._zod.def.checks;if(t&&t.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=Pr(n._zod.def,{get shape(){let c=n._zod.def.shape,l={...c};if(r)for(let u in r){if(!(u in c))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=e?new e({type:"optional",innerType:c[u]}):c[u]);}else for(let u in c)l[u]=e?new e({type:"optional",innerType:c[u]}):c[u];return Qr(this,"shape",l),l},checks:[]});return nn(n,a)}function aL(e,n,r){let o=Pr(n._zod.def,{get shape(){let t=n._zod.def.shape,i={...t};if(r)for(let a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new e({type:"nonoptional",innerType:t[a]}));}else for(let a in t)i[a]=new e({type:"nonoptional",innerType:t[a]});return Qr(this,"shape",i),i}});return nn(n,o)}function ti(e,n=0){if(e.aborted===true)return true;for(let r=n;r<e.issues.length;r++)if(e.issues[r]?.continue!==true)return true;return false}function nx(e,n=0){if(e.aborted===true)return true;for(let r=n;r<e.issues.length;r++)if(e.issues[r]?.continue===false)return true;return false}function hn(e,n){return n.map(r=>{var o;return (o=r).path??(o.path=[]),r.path.unshift(e),r})}function Pc(e){return typeof e=="string"?e:e?.message}function rn(e,n,r){let o=e.message?e.message:Pc(e.inst?._zod.def?.error?.(e))??Pc(n?.error?.(e))??Pc(r.customError?.(e))??Pc(r.localeError?.(e))??"Invalid input",{inst:t,continue:i,input:a,...c}=e;return c.path??(c.path=[]),c.message=o,n?.reportInput&&(c.input=a),c}function Tc(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Rc(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function O(e){let n=typeof e;switch(n){case "number":return Number.isNaN(e)?"nan":"number";case "object":{if(e===null)return "null";if(Array.isArray(e))return "array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return n}function aa(...e){let[n,r,o]=e;return typeof n=="string"?{message:n,code:"custom",input:r,inst:o}:{...n}}function sL(e){return Object.entries(e).filter(([n,r])=>Number.isNaN(Number.parseInt(n,10))).map(n=>n[1])}function jC(e){let n=atob(e),r=new Uint8Array(n.length);for(let o=0;o<n.length;o++)r[o]=n.charCodeAt(o);return r}function UC(e){let n="";for(let r=0;r<e.length;r++)n+=String.fromCharCode(e[r]);return btoa(n)}function cL(e){let n=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-n.length%4)%4);return jC(n+r)}function lL(e){return UC(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function uL(e){let n=e.replace(/^0x/,"");if(n.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(n.length/2);for(let o=0;o<n.length;o+=2)r[o/2]=Number.parseInt(n.slice(o,o+2),16);return r}function dL(e){return Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("")}var Ky=class{constructor(...n){}};var OC=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:false}),Object.defineProperty(e,"issues",{value:n,enumerable:false}),e.message=JSON.stringify(n,ia,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:false});},Cc=I("$ZodError",OC),bn=I("$ZodError",OC,{Parent:Error});function Ec(e,n=r=>r.message){let r={},o=[];for(let t of e.issues)t.path.length>0?(r[t.path[0]]=r[t.path[0]]||[],r[t.path[0]].push(n(t))):o.push(n(t));return {formErrors:o,fieldErrors:r}}function zc(e,n=r=>r.message){let r={_errors:[]},o=(t,i=[])=>{for(let a of t.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(c=>o({issues:c},[...i,...a.path]));else if(a.code==="invalid_key")o({issues:a.issues},[...i,...a.path]);else if(a.code==="invalid_element")o({issues:a.issues},[...i,...a.path]);else {let c=[...i,...a.path];if(c.length===0)r._errors.push(n(a));else {let l=r,u=0;for(;u<c.length;){let m=c[u];u===c.length-1?(l[m]=l[m]||{_errors:[]},l[m]._errors.push(n(a))):l[m]=l[m]||{_errors:[]},l=l[m],u++;}}}};return o(e),r}function rx(e,n=r=>r.message){let r={errors:[]},o=(t,i=[])=>{var a,c;for(let l of t.issues)if(l.code==="invalid_union"&&l.errors.length)l.errors.map(u=>o({issues:u},[...i,...l.path]));else if(l.code==="invalid_key")o({issues:l.issues},[...i,...l.path]);else if(l.code==="invalid_element")o({issues:l.issues},[...i,...l.path]);else {let u=[...i,...l.path];if(u.length===0){r.errors.push(n(l));continue}let m=r,p=0;for(;p<u.length;){let f=u[p],g=p===u.length-1;typeof f=="string"?(m.properties??(m.properties={}),(a=m.properties)[f]??(a[f]={errors:[]}),m=m.properties[f]):(m.items??(m.items=[]),(c=m.items)[f]??(c[f]={errors:[]}),m=m.items[f]),g&&m.errors.push(n(l)),p++;}}};return o(e),r}function DC(e){let n=[],r=e.map(o=>typeof o=="object"?o.key:o);for(let o of r)typeof o=="number"?n.push(`[${o}]`):typeof o=="symbol"?n.push(`[${JSON.stringify(String(o))}]`):/[^\w$]/.test(o)?n.push(`[${JSON.stringify(o)}]`):(n.length&&n.push("."),n.push(o));return n.join("")}function ix(e){let n=[],r=[...e.issues].sort((o,t)=>(o.path??[]).length-(t.path??[]).length);for(let o of r)n.push(`\u2716 ${o.message}`),o.path?.length&&n.push(` \u2192 at ${DC(o.path)}`);return n.join(`
|
|
65
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let a of e.seen.entries()){let c=a[1];if(n===a[0]){i(a);continue}if(e.external){let u=e.external.registry.get(a[0])?.id;if(n!==a[0]&&u){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(c.cycle){i(a);continue}if(c.count>1&&e.reused==="ref"){i(a);continue}}}function Fr(e,n){let r=e.seen.get(n);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let o=c=>{let l=e.seen.get(c);if(l.ref===null)return;let u=l.def??l.schema,m={...u},p=l.ref;if(l.ref=null,p){o(p);let g=e.seen.get(p),h=g.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(h)):Object.assign(u,h),Object.assign(u,m),c._zod.parent===p)for(let S in u)S==="$ref"||S==="allOf"||S in m||delete u[S];if(h.$ref&&g.def)for(let S in u)S==="$ref"||S==="allOf"||S in g.def&&JSON.stringify(u[S])===JSON.stringify(g.def[S])&&delete u[S];}let f=c._zod.parent;if(f&&f!==p){o(f);let g=e.seen.get(f);if(g?.schema.$ref&&(u.$ref=g.schema.$ref,g.def))for(let h in u)h==="$ref"||h==="allOf"||h in g.def&&JSON.stringify(u[h])===JSON.stringify(g.def[h])&&delete u[h];}e.override({zodSchema:c,jsonSchema:u,path:l.path??[]});};for(let c of [...e.seen.entries()].reverse())o(c[0]);let t={};if(e.target==="draft-2020-12"?t.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?t.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?t.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let c=e.external.registry.get(n)?.id;if(!c)throw new Error("Schema is missing an `id` property");t.$id=e.external.uri(c);}Object.assign(t,r.def??r.schema);let i=e.metadataRegistry.get(n)?.id;i!==void 0&&t.id===i&&delete t.id;let a=e.external?.defs??{};for(let c of e.seen.entries()){let l=c[1];l.def&&l.defId&&(l.def.id===l.defId&&delete l.def.id,a[l.defId]=l.def);}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?t.$defs=a:t.definitions=a);try{let c=JSON.parse(JSON.stringify(t));return Object.defineProperty(c,"~standard",{value:{...n["~standard"],jsonSchema:{input:ao(n,"input",e.processors),output:ao(n,"output",e.processors)}},enumerable:!1,writable:!1}),c}catch{throw new Error("Error converting schema to JSON.")}}function Wt(e,n){let r=n??{seen:new Set};if(r.seen.has(e))return false;r.seen.add(e);let o=e._zod.def;if(o.type==="transform")return true;if(o.type==="array")return Wt(o.element,r);if(o.type==="set")return Wt(o.valueType,r);if(o.type==="lazy")return Wt(o.getter(),r);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return Wt(o.innerType,r);if(o.type==="intersection")return Wt(o.left,r)||Wt(o.right,r);if(o.type==="record"||o.type==="map")return Wt(o.keyType,r)||Wt(o.valueType,r);if(o.type==="pipe")return e._zod.traits.has("$ZodCodec")?true:Wt(o.in,r)||Wt(o.out,r);if(o.type==="object"){for(let t in o.shape)if(Wt(o.shape[t],r))return true;return false}if(o.type==="union"){for(let t of o.options)if(Wt(t,r))return true;return false}if(o.type==="tuple"){for(let t of o.items)if(Wt(t,r))return true;return !!(o.rest&&Wt(o.rest,r))}return false}var pb=(e,n={})=>r=>{let o=Ar({...r,processors:n});return Fe(e,o),Nr(o,e),Fr(o,e)},ao=(e,n,r={})=>o=>{let{libraryOptions:t,target:i}=o??{},a=Ar({...t??{},target:i,io:n,processors:r});return Fe(e,a),Nr(a,e),Fr(a,e)};var HO={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},fb=(e,n,r,o)=>{let t=r;t.type="string";let{minimum:i,maximum:a,format:c,patterns:l,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(t.minLength=i),typeof a=="number"&&(t.maxLength=a),c&&(t.format=HO[c]??c,t.format===""&&delete t.format,c==="time"&&delete t.format),u&&(t.contentEncoding=u),l&&l.size>0){let m=[...l];m.length===1?t.pattern=m[0].source:m.length>1&&(t.allOf=[...m.map(p=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))]);}},gb=(e,n,r,o)=>{let t=r,{minimum:i,maximum:a,format:c,multipleOf:l,exclusiveMaximum:u,exclusiveMinimum:m}=e._zod.bag;typeof c=="string"&&c.includes("int")?t.type="integer":t.type="number";let p=typeof m=="number"&&m>=(i??Number.NEGATIVE_INFINITY),f=typeof u=="number"&&u<=(a??Number.POSITIVE_INFINITY),g=n.target==="draft-04"||n.target==="openapi-3.0";p?g?(t.minimum=m,t.exclusiveMinimum=true):t.exclusiveMinimum=m:typeof i=="number"&&(t.minimum=i),f?g?(t.maximum=u,t.exclusiveMaximum=true):t.exclusiveMaximum=u:typeof a=="number"&&(t.maximum=a),typeof l=="number"&&(t.multipleOf=l);},hb=(e,n,r,o)=>{r.type="boolean";},bb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},_b=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},vb=(e,n,r,o)=>{n.target==="openapi-3.0"?(r.type="string",r.nullable=true,r.enum=[null]):r.type="null";},yb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},xb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Ib=(e,n,r,o)=>{r.not={};},Sb=(e,n,r,o)=>{},Pb=(e,n,r,o)=>{},$b=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},kb=(e,n,r,o)=>{let t=e._zod.def,i=rs(t.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i;},wb=(e,n,r,o)=>{let t=e._zod.def,i=[];for(let a of t.values)if(a===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a));}else i.push(a);if(i.length!==0)if(i.length===1){let a=i[0];r.type=a===null?"null":typeof a,n.target==="draft-04"||n.target==="openapi-3.0"?r.enum=[a]:r.const=a;}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i;},Tb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Rb=(e,n,r,o)=>{let t=r,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");t.type="string",t.pattern=i.source;},Cb=(e,n,r,o)=>{let t=r,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:c,mime:l}=e._zod.bag;a!==void 0&&(i.minLength=a),c!==void 0&&(i.maxLength=c),l?l.length===1?(i.contentMediaType=l[0],Object.assign(t,i)):(Object.assign(t,i),t.anyOf=l.map(u=>({contentMediaType:u}))):Object.assign(t,i);},Eb=(e,n,r,o)=>{r.type="boolean";},zb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},jb=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Ub=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Ob=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Db=(e,n,r,o)=>{if(n.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Ab=(e,n,r,o)=>{let t=r,i=e._zod.def,{minimum:a,maximum:c}=e._zod.bag;typeof a=="number"&&(t.minItems=a),typeof c=="number"&&(t.maxItems=c),t.type="array",t.items=Fe(i.element,n,{...o,path:[...o.path,"items"]});},Nb=(e,n,r,o)=>{let t=r,i=e._zod.def;t.type="object",t.properties={};let a=i.shape;for(let u in a)t.properties[u]=Fe(a[u],n,{...o,path:[...o.path,"properties",u]});let c=new Set(Object.keys(a)),l=new Set([...c].filter(u=>{let m=i.shape[u]._zod;return n.io==="input"?m.optin===void 0:m.optout===void 0}));l.size>0&&(t.required=Array.from(l)),i.catchall?._zod.def.type==="never"?t.additionalProperties=false:i.catchall?i.catchall&&(t.additionalProperties=Fe(i.catchall,n,{...o,path:[...o.path,"additionalProperties"]})):n.io==="output"&&(t.additionalProperties=false);},Iu=(e,n,r,o)=>{let t=e._zod.def,i=t.inclusive===false,a=t.options.map((c,l)=>Fe(c,n,{...o,path:[...o.path,i?"oneOf":"anyOf",l]}));i?r.oneOf=a:r.anyOf=a;},Fb=(e,n,r,o)=>{let t=e._zod.def,i=Fe(t.left,n,{...o,path:[...o.path,"allOf",0]}),a=Fe(t.right,n,{...o,path:[...o.path,"allOf",1]}),c=u=>"allOf"in u&&Object.keys(u).length===1,l=[...c(i)?i.allOf:[i],...c(a)?a.allOf:[a]];r.allOf=l;},Lb=(e,n,r,o)=>{let t=r,i=e._zod.def;t.type="array";let a=n.target==="draft-2020-12"?"prefixItems":"items",c=n.target==="draft-2020-12"||n.target==="openapi-3.0"?"items":"additionalItems",l=i.items.map((f,g)=>Fe(f,n,{...o,path:[...o.path,a,g]})),u=i.rest?Fe(i.rest,n,{...o,path:[...o.path,c,...n.target==="openapi-3.0"?[i.items.length]:[]]}):null;n.target==="draft-2020-12"?(t.prefixItems=l,u&&(t.items=u)):n.target==="openapi-3.0"?(t.items={anyOf:l},u&&t.items.anyOf.push(u),t.minItems=l.length,u||(t.maxItems=l.length)):(t.items=l,u&&(t.additionalItems=u));let{minimum:m,maximum:p}=e._zod.bag;typeof m=="number"&&(t.minItems=m),typeof p=="number"&&(t.maxItems=p);},Zb=(e,n,r,o)=>{let t=r,i=e._zod.def;t.type="object";let a=i.keyType,l=a._zod.bag?.patterns;if(i.mode==="loose"&&l&&l.size>0){let m=Fe(i.valueType,n,{...o,path:[...o.path,"patternProperties","*"]});t.patternProperties={};for(let p of l)t.patternProperties[p.source]=m;}else (n.target==="draft-07"||n.target==="draft-2020-12")&&(t.propertyNames=Fe(i.keyType,n,{...o,path:[...o.path,"propertyNames"]})),t.additionalProperties=Fe(i.valueType,n,{...o,path:[...o.path,"additionalProperties"]});let u=a._zod.values;if(u){let m=[...u].filter(p=>typeof p=="string"||typeof p=="number");m.length>0&&(t.required=m);}},Bb=(e,n,r,o)=>{let t=e._zod.def,i=Fe(t.innerType,n,o),a=n.seen.get(e);n.target==="openapi-3.0"?(a.ref=t.innerType,r.nullable=true):r.anyOf=[i,{type:"null"}];},Mb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType;},Vb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType,r.default=JSON.parse(JSON.stringify(t.defaultValue));},qb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType,n.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(t.defaultValue)));},Hb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType;let a;try{a=t.catchValue(void 0);}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a;},Kb=(e,n,r,o)=>{let t=e._zod.def,i=t.in._zod.traits.has("$ZodTransform"),a=n.io==="input"?i?t.out:t.in:t.out;Fe(a,n,o);let c=n.seen.get(e);c.ref=a;},Gb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType,r.readOnly=true;},Jb=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType;},Su=(e,n,r,o)=>{let t=e._zod.def;Fe(t.innerType,n,o);let i=n.seen.get(e);i.ref=t.innerType;},Wb=(e,n,r,o)=>{let t=e._zod.innerType;Fe(t,n,o);let i=n.seen.get(e);i.ref=t;},xu={string:fb,number:gb,boolean:hb,bigint:bb,symbol:_b,null:vb,undefined:yb,void:xb,never:Ib,any:Sb,unknown:Pb,date:$b,enum:kb,literal:wb,nan:Tb,template_literal:Rb,file:Cb,success:Eb,custom:zb,function:jb,transform:Ub,map:Ob,set:Db,array:Ab,object:Nb,union:Iu,intersection:Fb,tuple:Lb,record:Zb,nullable:Bb,nonoptional:Mb,default:Vb,prefault:qb,catch:Hb,pipe:Kb,readonly:Gb,promise:Jb,optional:Su,lazy:Wb};function Pu(e,n){if("_idmap"in e){let o=e,t=Ar({...n,processors:xu}),i={};for(let l of o._idmap.entries()){let[u,m]=l;Fe(m,t);}let a={},c={registry:o,uri:n?.uri,defs:i};t.external=c;for(let l of o._idmap.entries()){let[u,m]=l;Nr(t,m),a[u]=Fr(t,m);}if(Object.keys(i).length>0){let l=t.target==="draft-2020-12"?"$defs":"definitions";a.__shared={[l]:i};}return {schemas:a}}let r=Ar({...n,processors:xu});return Fe(e,r),Nr(r,e),Fr(r,e)}var $u=class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(n){this.ctx.counter=n;}get seen(){return this.ctx.seen}constructor(n){let r=n?.target??"draft-2020-12";r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),this.ctx=Ar({processors:xu,target:r,...n?.metadata&&{metadata:n.metadata},...n?.unrepresentable&&{unrepresentable:n.unrepresentable},...n?.override&&{override:n.override},...n?.io&&{io:n.io}});}process(n,r={path:[],schemaPath:[]}){return Fe(n,this.ctx,r)}emit(n,r){r&&(r.cycles&&(this.ctx.cycles=r.cycles),r.reused&&(this.ctx.reused=r.reused),r.external&&(this.ctx.external=r.external)),Nr(this.ctx,n);let o=Fr(this.ctx,n),{"~standard":t,...i}=o;return i}};var G0={};var xs={};$t(xs,{ZodAny:()=>y_,ZodArray:()=>P_,ZodBase64:()=>Hu,ZodBase64URL:()=>Ku,ZodBigInt:()=>go,ZodBigIntFormat:()=>Wu,ZodBoolean:()=>fo,ZodCIDRv4:()=>Vu,ZodCIDRv6:()=>qu,ZodCUID:()=>Au,ZodCUID2:()=>Nu,ZodCatch:()=>H_,ZodCodec:()=>js,ZodCustom:()=>Us,ZodCustomStringFormat:()=>mo,ZodDate:()=>Ts,ZodDefault:()=>L_,ZodDiscriminatedUnion:()=>k_,ZodE164:()=>Gu,ZodEmail:()=>Uu,ZodEmoji:()=>Ou,ZodEnum:()=>lo,ZodExactOptional:()=>A_,ZodFile:()=>O_,ZodFunction:()=>nv,ZodGUID:()=>Ss,ZodIPv4:()=>Bu,ZodIPv6:()=>Mu,ZodIntersection:()=>w_,ZodJWT:()=>Ju,ZodKSUID:()=>Zu,ZodLazy:()=>Q_,ZodLiteral:()=>U_,ZodMAC:()=>p_,ZodMap:()=>z_,ZodNaN:()=>G_,ZodNanoID:()=>Du,ZodNever:()=>I_,ZodNonOptional:()=>nd,ZodNull:()=>__,ZodNullable:()=>F_,ZodNumber:()=>po,ZodNumberFormat:()=>vi,ZodObject:()=>Cs,ZodOptional:()=>td,ZodPipe:()=>zs,ZodPrefault:()=>B_,ZodPreprocess:()=>J_,ZodPromise:()=>tv,ZodReadonly:()=>W_,ZodRecord:()=>co,ZodSet:()=>j_,ZodString:()=>uo,ZodStringFormat:()=>Ge,ZodSuccess:()=>q_,ZodSymbol:()=>h_,ZodTemplateLiteral:()=>Y_,ZodTransform:()=>D_,ZodTuple:()=>R_,ZodType:()=>he,ZodULID:()=>Fu,ZodURL:()=>ws,ZodUUID:()=>nr,ZodUndefined:()=>b_,ZodUnion:()=>Es,ZodUnknown:()=>x_,ZodVoid:()=>S_,ZodXID:()=>Lu,ZodXor:()=>$_,_ZodString:()=>ju,_default:()=>Z_,_function:()=>rT,any:()=>Uw,array:()=>Rs,base64:()=>bw,base64url:()=>_w,bigint:()=>Rw,boolean:()=>g_,catch:()=>K_,check:()=>iT,cidrv4:()=>gw,cidrv6:()=>hw,codec:()=>Qw,cuid:()=>sw,cuid2:()=>cw,custom:()=>oT,date:()=>Dw,describe:()=>aT,discriminatedUnion:()=>Bw,e164:()=>vw,email:()=>X0,emoji:()=>ow,enum:()=>Qu,exactOptional:()=>N_,file:()=>Jw,float32:()=>$w,float64:()=>kw,function:()=>rT,guid:()=>Y0,hash:()=>Pw,hex:()=>Sw,hostname:()=>Iw,httpUrl:()=>iw,instanceof:()=>cT,int:()=>Eu,int32:()=>ww,int64:()=>Cw,intersection:()=>T_,invertCodec:()=>eT,ipv4:()=>mw,ipv6:()=>fw,json:()=>uT,jwt:()=>yw,keyof:()=>Aw,ksuid:()=>dw,lazy:()=>ev,literal:()=>Gw,looseObject:()=>Lw,looseRecord:()=>Vw,mac:()=>pw,map:()=>qw,meta:()=>sT,nan:()=>Yw,nanoid:()=>aw,nativeEnum:()=>Kw,never:()=>Xu,nonoptional:()=>V_,null:()=>v_,nullable:()=>$s,nullish:()=>Ww,number:()=>f_,object:()=>Nw,optional:()=>Ps,partialRecord:()=>Mw,pipe:()=>zu,prefault:()=>M_,preprocess:()=>dT,promise:()=>nT,readonly:()=>X_,record:()=>E_,refine:()=>rv,set:()=>Hw,strictObject:()=>Fw,string:()=>Is,stringFormat:()=>xw,stringbool:()=>lT,success:()=>Xw,superRefine:()=>iv,symbol:()=>zw,templateLiteral:()=>tT,transform:()=>ed,tuple:()=>C_,uint32:()=>Tw,uint64:()=>Ew,ulid:()=>lw,undefined:()=>jw,union:()=>Yu,unknown:()=>_i,url:()=>rw,uuid:()=>Q0,uuidv4:()=>ew,uuidv6:()=>tw,uuidv7:()=>nw,void:()=>Ow,xid:()=>uw,xor:()=>Zw});var ku={};$t(ku,{endsWith:()=>Yi,gt:()=>er,gte:()=>Jt,includes:()=>Wi,length:()=>bi,lowercase:()=>Gi,lt:()=>Qn,lte:()=>In,maxLength:()=>hi,maxSize:()=>Dr,mime:()=>Qi,minLength:()=>gr,minSize:()=>tr,multipleOf:()=>Or,negative:()=>bu,nonnegative:()=>vu,nonpositive:()=>_u,normalize:()=>eo,overwrite:()=>Zn,positive:()=>hu,property:()=>yu,regex:()=>Ki,size:()=>gi,slugify:()=>io,startsWith:()=>Xi,toLowerCase:()=>no,toUpperCase:()=>ro,trim:()=>to,uppercase:()=>Ji});var so={};$t(so,{ZodISODate:()=>Tu,ZodISODateTime:()=>wu,ZodISODuration:()=>Cu,ZodISOTime:()=>Ru,date:()=>Yb,datetime:()=>Xb,duration:()=>e_,time:()=>Qb});var wu=x("ZodISODateTime",(e,n)=>{Tg.init(e,n),Ge.init(e,n);});function Xb(e){return zh(wu,e)}var Tu=x("ZodISODate",(e,n)=>{Rg.init(e,n),Ge.init(e,n);});function Yb(e){return jh(Tu,e)}var Ru=x("ZodISOTime",(e,n)=>{Cg.init(e,n),Ge.init(e,n);});function Qb(e){return Uh(Ru,e)}var Cu=x("ZodISODuration",(e,n)=>{Eg.init(e,n),Ge.init(e,n);});function e_(e){return Oh(Cu,e)}var J0=(e,n)=>{cs.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>us(e,r)},flatten:{value:r=>ls(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Ni,2);}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Ni,2);}},isEmpty:{get(){return e.issues.length===0}}});},GO=x("ZodError",J0),dn=x("ZodError",J0,{Parent:Error});var t_=Zi(dn),n_=Bi(dn),r_=Mi(dn),i_=Vi(dn),o_=Pl(dn),a_=$l(dn),s_=kl(dn),c_=wl(dn),l_=Tl(dn),u_=Rl(dn),d_=Cl(dn),m_=El(dn);var W0=new WeakMap;function ks(e,n,r){let o=Object.getPrototypeOf(e),t=W0.get(o);if(t||(t=new Set,W0.set(o,t)),!t.has(n)){t.add(n);for(let i in r){let a=r[i];Object.defineProperty(o,i,{configurable:true,enumerable:false,get(){let c=a.bind(this);return Object.defineProperty(this,i,{configurable:true,writable:true,enumerable:true,value:c}),c},set(c){Object.defineProperty(this,i,{configurable:true,writable:true,enumerable:true,value:c});}});}}}var he=x("ZodType",(e,n)=>(me.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:ao(e,"input"),output:ao(e,"output")}}),e.toJSONSchema=pb(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.parse=(r,o)=>t_(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>r_(e,r,o),e.parseAsync=async(r,o)=>n_(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>i_(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>o_(e,r,o),e.decode=(r,o)=>a_(e,r,o),e.encodeAsync=async(r,o)=>s_(e,r,o),e.decodeAsync=async(r,o)=>c_(e,r,o),e.safeEncode=(r,o)=>l_(e,r,o),e.safeDecode=(r,o)=>u_(e,r,o),e.safeEncodeAsync=async(r,o)=>d_(e,r,o),e.safeDecodeAsync=async(r,o)=>m_(e,r,o),ks(e,"ZodType",{check(...r){let o=this.def;return this.clone(D.mergeDefs(o,{checks:[...o.checks??[],...r.map(t=>typeof t=="function"?{_zod:{check:t,def:{check:"custom"},onattach:[]}}:t)]}),{parent:true})},with(...r){return this.check(...r)},clone(r,o){return Kt(this,r,o)},brand(){return this},register(r,o){return r.add(this,o),this},refine(r,o){return this.check(rv(r,o))},superRefine(r,o){return this.check(iv(r,o))},overwrite(r){return this.check(Zn(r))},optional(){return Ps(this)},exactOptional(){return N_(this)},nullable(){return $s(this)},nullish(){return Ps($s(this))},nonoptional(r){return V_(this,r)},array(){return Rs(this)},or(r){return Yu([this,r])},and(r){return T_(this,r)},transform(r){return zu(this,ed(r))},default(r){return Z_(this,r)},prefault(r){return M_(this,r)},catch(r){return K_(this,r)},pipe(r){return zu(this,r)},readonly(){return X_(this)},describe(r){let o=this.clone();return At.add(o,{description:r}),o},meta(...r){if(r.length===0)return At.get(this);let o=this.clone();return At.add(o,r[0]),o},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(e,"description",{get(){return At.get(e)?.description},configurable:true}),e)),ju=x("_ZodString",(e,n)=>{fi.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>fb(e,o,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,ks(e,"_ZodString",{regex(...o){return this.check(Ki(...o))},includes(...o){return this.check(Wi(...o))},startsWith(...o){return this.check(Xi(...o))},endsWith(...o){return this.check(Yi(...o))},min(...o){return this.check(gr(...o))},max(...o){return this.check(hi(...o))},length(...o){return this.check(bi(...o))},nonempty(...o){return this.check(gr(1,...o))},lowercase(o){return this.check(Gi(o))},uppercase(o){return this.check(Ji(o))},trim(){return this.check(to())},normalize(...o){return this.check(eo(...o))},toLowerCase(){return this.check(no())},toUpperCase(){return this.check(ro())},slugify(){return this.check(io())}});}),uo=x("ZodString",(e,n)=>{fi.init(e,n),ju.init(e,n),e.email=r=>e.check(Wl(Uu,r)),e.url=r=>e.check(ys(ws,r)),e.jwt=r=>e.check(gu(Ju,r)),e.emoji=r=>e.check(tu(Ou,r)),e.guid=r=>e.check(vs(Ss,r)),e.uuid=r=>e.check(Xl(nr,r)),e.uuidv4=r=>e.check(Yl(nr,r)),e.uuidv6=r=>e.check(Ql(nr,r)),e.uuidv7=r=>e.check(eu(nr,r)),e.nanoid=r=>e.check(nu(Du,r)),e.guid=r=>e.check(vs(Ss,r)),e.cuid=r=>e.check(ru(Au,r)),e.cuid2=r=>e.check(iu(Nu,r)),e.ulid=r=>e.check(ou(Fu,r)),e.base64=r=>e.check(mu(Hu,r)),e.base64url=r=>e.check(pu(Ku,r)),e.xid=r=>e.check(au(Lu,r)),e.ksuid=r=>e.check(su(Zu,r)),e.ipv4=r=>e.check(cu(Bu,r)),e.ipv6=r=>e.check(lu(Mu,r)),e.cidrv4=r=>e.check(uu(Vu,r)),e.cidrv6=r=>e.check(du(qu,r)),e.e164=r=>e.check(fu(Gu,r)),e.datetime=r=>e.check(Xb(r)),e.date=r=>e.check(Yb(r)),e.time=r=>e.check(Qb(r)),e.duration=r=>e.check(e_(r));});function Is(e){return Th(uo,e)}var Ge=x("ZodStringFormat",(e,n)=>{Ke.init(e,n),ju.init(e,n);}),Uu=x("ZodEmail",(e,n)=>{vg.init(e,n),Ge.init(e,n);});function X0(e){return Wl(Uu,e)}var Ss=x("ZodGUID",(e,n)=>{bg.init(e,n),Ge.init(e,n);});function Y0(e){return vs(Ss,e)}var nr=x("ZodUUID",(e,n)=>{_g.init(e,n),Ge.init(e,n);});function Q0(e){return Xl(nr,e)}function ew(e){return Yl(nr,e)}function tw(e){return Ql(nr,e)}function nw(e){return eu(nr,e)}var ws=x("ZodURL",(e,n)=>{yg.init(e,n),Ge.init(e,n);});function rw(e){return ys(ws,e)}function iw(e){return ys(ws,{protocol:xn.httpProtocol,hostname:xn.domain,...D.normalizeParams(e)})}var Ou=x("ZodEmoji",(e,n)=>{xg.init(e,n),Ge.init(e,n);});function ow(e){return tu(Ou,e)}var Du=x("ZodNanoID",(e,n)=>{Ig.init(e,n),Ge.init(e,n);});function aw(e){return nu(Du,e)}var Au=x("ZodCUID",(e,n)=>{Sg.init(e,n),Ge.init(e,n);});function sw(e){return ru(Au,e)}var Nu=x("ZodCUID2",(e,n)=>{Pg.init(e,n),Ge.init(e,n);});function cw(e){return iu(Nu,e)}var Fu=x("ZodULID",(e,n)=>{$g.init(e,n),Ge.init(e,n);});function lw(e){return ou(Fu,e)}var Lu=x("ZodXID",(e,n)=>{kg.init(e,n),Ge.init(e,n);});function uw(e){return au(Lu,e)}var Zu=x("ZodKSUID",(e,n)=>{wg.init(e,n),Ge.init(e,n);});function dw(e){return su(Zu,e)}var Bu=x("ZodIPv4",(e,n)=>{zg.init(e,n),Ge.init(e,n);});function mw(e){return cu(Bu,e)}var p_=x("ZodMAC",(e,n)=>{Ug.init(e,n),Ge.init(e,n);});function pw(e){return Ch(p_,e)}var Mu=x("ZodIPv6",(e,n)=>{jg.init(e,n),Ge.init(e,n);});function fw(e){return lu(Mu,e)}var Vu=x("ZodCIDRv4",(e,n)=>{Og.init(e,n),Ge.init(e,n);});function gw(e){return uu(Vu,e)}var qu=x("ZodCIDRv6",(e,n)=>{Dg.init(e,n),Ge.init(e,n);});function hw(e){return du(qu,e)}var Hu=x("ZodBase64",(e,n)=>{Ng.init(e,n),Ge.init(e,n);});function bw(e){return mu(Hu,e)}var Ku=x("ZodBase64URL",(e,n)=>{Fg.init(e,n),Ge.init(e,n);});function _w(e){return pu(Ku,e)}var Gu=x("ZodE164",(e,n)=>{Lg.init(e,n),Ge.init(e,n);});function vw(e){return fu(Gu,e)}var Ju=x("ZodJWT",(e,n)=>{Zg.init(e,n),Ge.init(e,n);});function yw(e){return gu(Ju,e)}var mo=x("ZodCustomStringFormat",(e,n)=>{Bg.init(e,n),Ge.init(e,n);});function xw(e,n,r={}){return oo(mo,e,n,r)}function Iw(e){return oo(mo,"hostname",xn.hostname,e)}function Sw(e){return oo(mo,"hex",xn.hex,e)}function Pw(e,n){let r=n?.enc??"hex",o=`${e}_${r}`,t=xn[o];if(!t)throw new Error(`Unrecognized hash format: ${o}`);return oo(mo,o,t,n)}var po=x("ZodNumber",(e,n)=>{Ll.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>gb(e,o,t),ks(e,"ZodNumber",{gt(o,t){return this.check(er(o,t))},gte(o,t){return this.check(Jt(o,t))},min(o,t){return this.check(Jt(o,t))},lt(o,t){return this.check(Qn(o,t))},lte(o,t){return this.check(In(o,t))},max(o,t){return this.check(In(o,t))},int(o){return this.check(Eu(o))},safe(o){return this.check(Eu(o))},positive(o){return this.check(er(0,o))},nonnegative(o){return this.check(Jt(0,o))},negative(o){return this.check(Qn(0,o))},nonpositive(o){return this.check(In(0,o))},multipleOf(o,t){return this.check(Or(o,t))},step(o,t){return this.check(Or(o,t))},finite(){return this}});let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=true,e.format=r.format??null;});function f_(e){return Dh(po,e)}var vi=x("ZodNumberFormat",(e,n)=>{Mg.init(e,n),po.init(e,n);});function Eu(e){return Nh(vi,e)}function $w(e){return Fh(vi,e)}function kw(e){return Lh(vi,e)}function ww(e){return Zh(vi,e)}function Tw(e){return Bh(vi,e)}var fo=x("ZodBoolean",(e,n)=>{fs.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>hb(e,r,o);});function g_(e){return Mh(fo,e)}var go=x("ZodBigInt",(e,n)=>{Zl.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>bb(e,o),e.gte=(o,t)=>e.check(Jt(o,t)),e.min=(o,t)=>e.check(Jt(o,t)),e.gt=(o,t)=>e.check(er(o,t)),e.gte=(o,t)=>e.check(Jt(o,t)),e.min=(o,t)=>e.check(Jt(o,t)),e.lt=(o,t)=>e.check(Qn(o,t)),e.lte=(o,t)=>e.check(In(o,t)),e.max=(o,t)=>e.check(In(o,t)),e.positive=o=>e.check(er(BigInt(0),o)),e.negative=o=>e.check(Qn(BigInt(0),o)),e.nonpositive=o=>e.check(In(BigInt(0),o)),e.nonnegative=o=>e.check(Jt(BigInt(0),o)),e.multipleOf=(o,t)=>e.check(Or(o,t));let r=e._zod.bag;e.minValue=r.minimum??null,e.maxValue=r.maximum??null,e.format=r.format??null;});function Rw(e){return qh(go,e)}var Wu=x("ZodBigIntFormat",(e,n)=>{Vg.init(e,n),go.init(e,n);});function Cw(e){return Kh(Wu,e)}function Ew(e){return Gh(Wu,e)}var h_=x("ZodSymbol",(e,n)=>{qg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>_b(e,r);});function zw(e){return Jh(h_,e)}var b_=x("ZodUndefined",(e,n)=>{Hg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>yb(e,r);});function jw(e){return Wh(b_,e)}var __=x("ZodNull",(e,n)=>{Kg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>vb(e,r,o);});function v_(e){return Xh(__,e)}var y_=x("ZodAny",(e,n)=>{Gg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Sb();});function Uw(){return Yh(y_)}var x_=x("ZodUnknown",(e,n)=>{Jg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Pb();});function _i(){return Qh(x_)}var I_=x("ZodNever",(e,n)=>{Wg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ib(e,r,o);});function Xu(e){return eb(I_,e)}var S_=x("ZodVoid",(e,n)=>{Xg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>xb(e,r);});function Ow(e){return tb(S_,e)}var Ts=x("ZodDate",(e,n)=>{Yg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>$b(e,o),e.min=(o,t)=>e.check(Jt(o,t)),e.max=(o,t)=>e.check(In(o,t));let r=e._zod.bag;e.minDate=r.minimum?new Date(r.minimum):null,e.maxDate=r.maximum?new Date(r.maximum):null;});function Dw(e){return nb(Ts,e)}var P_=x("ZodArray",(e,n)=>{Qg.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ab(e,r,o,t),e.element=n.element,ks(e,"ZodArray",{min(r,o){return this.check(gr(r,o))},nonempty(r){return this.check(gr(1,r))},max(r,o){return this.check(hi(r,o))},length(r,o){return this.check(bi(r,o))},unwrap(){return this.element}});});function Rs(e,n){return ob(P_,e,n)}function Aw(e){let n=e._zod.def.shape;return Qu(Object.keys(n))}var Cs=x("ZodObject",(e,n)=>{eh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Nb(e,r,o,t),D.defineLazy(e,"shape",()=>n.shape),ks(e,"ZodObject",{keyof(){return Qu(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:_i()})},loose(){return this.clone({...this._zod.def,catchall:_i()})},strict(){return this.clone({...this._zod.def,catchall:Xu()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return D.extend(this,r)},safeExtend(r){return D.safeExtend(this,r)},merge(r){return D.merge(this,r)},pick(r){return D.pick(this,r)},omit(r){return D.omit(this,r)},partial(...r){return D.partial(td,this,r[0])},required(...r){return D.required(nd,this,r[0])}});});function Nw(e,n){let r={type:"object",shape:e??{},...D.normalizeParams(n)};return new Cs(r)}function Fw(e,n){return new Cs({type:"object",shape:e,catchall:Xu(),...D.normalizeParams(n)})}function Lw(e,n){return new Cs({type:"object",shape:e,catchall:_i(),...D.normalizeParams(n)})}var Es=x("ZodUnion",(e,n)=>{gs.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Iu(e,r,o,t),e.options=n.options;});function Yu(e,n){return new Es({type:"union",options:e,...D.normalizeParams(n)})}var $_=x("ZodXor",(e,n)=>{Es.init(e,n),th.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Iu(e,r,o,t),e.options=n.options;});function Zw(e,n){return new $_({type:"union",options:e,inclusive:false,...D.normalizeParams(n)})}var k_=x("ZodDiscriminatedUnion",(e,n)=>{Es.init(e,n),nh.init(e,n);});function Bw(e,n,r){return new k_({type:"union",options:n,discriminator:e,...D.normalizeParams(r)})}var w_=x("ZodIntersection",(e,n)=>{rh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Fb(e,r,o,t);});function T_(e,n){return new w_({type:"intersection",left:e,right:n})}var R_=x("ZodTuple",(e,n)=>{Bl.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Lb(e,r,o,t),e.rest=r=>e.clone({...e._zod.def,rest:r});});function C_(e,n,r){let o=n instanceof me,t=o?r:n,i=o?n:null;return new R_({type:"tuple",items:e,rest:i,...D.normalizeParams(t)})}var co=x("ZodRecord",(e,n)=>{ih.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Zb(e,r,o,t),e.keyType=n.keyType,e.valueType=n.valueType;});function E_(e,n,r){return !n||!n._zod?new co({type:"record",keyType:Is(),valueType:e,...D.normalizeParams(n)}):new co({type:"record",keyType:e,valueType:n,...D.normalizeParams(r)})}function Mw(e,n,r){let o=Kt(e);return o._zod.values=void 0,new co({type:"record",keyType:o,valueType:n,...D.normalizeParams(r)})}function Vw(e,n,r){return new co({type:"record",keyType:e,valueType:n,mode:"loose",...D.normalizeParams(r)})}var z_=x("ZodMap",(e,n)=>{oh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ob(e,r),e.keyType=n.keyType,e.valueType=n.valueType,e.min=(...r)=>e.check(tr(...r)),e.nonempty=r=>e.check(tr(1,r)),e.max=(...r)=>e.check(Dr(...r)),e.size=(...r)=>e.check(gi(...r));});function qw(e,n,r){return new z_({type:"map",keyType:e,valueType:n,...D.normalizeParams(r)})}var j_=x("ZodSet",(e,n)=>{ah.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Db(e,r),e.min=(...r)=>e.check(tr(...r)),e.nonempty=r=>e.check(tr(1,r)),e.max=(...r)=>e.check(Dr(...r)),e.size=(...r)=>e.check(gi(...r));});function Hw(e,n){return new j_({type:"set",valueType:e,...D.normalizeParams(n)})}var lo=x("ZodEnum",(e,n)=>{sh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(o,t,i)=>kb(e,o,t),e.enum=n.entries,e.options=Object.values(n.entries);let r=new Set(Object.keys(n.entries));e.extract=(o,t)=>{let i={};for(let a of o)if(r.has(a))i[a]=n.entries[a];else throw new Error(`Key ${a} not found in enum`);return new lo({...n,checks:[],...D.normalizeParams(t),entries:i})},e.exclude=(o,t)=>{let i={...n.entries};for(let a of o)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new lo({...n,checks:[],...D.normalizeParams(t),entries:i})};});function Qu(e,n){let r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new lo({type:"enum",entries:r,...D.normalizeParams(n)})}function Kw(e,n){return new lo({type:"enum",entries:e,...D.normalizeParams(n)})}var U_=x("ZodLiteral",(e,n)=>{ch.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>wb(e,r,o),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}});});function Gw(e,n){return new U_({type:"literal",values:Array.isArray(e)?e:[e],...D.normalizeParams(n)})}var O_=x("ZodFile",(e,n)=>{lh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Cb(e,r,o),e.min=(r,o)=>e.check(tr(r,o)),e.max=(r,o)=>e.check(Dr(r,o)),e.mime=(r,o)=>e.check(Qi(Array.isArray(r)?r:[r],o));});function Jw(e){return ab(O_,e)}var D_=x("ZodTransform",(e,n)=>{uh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Ub(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Cr(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(D.issue(i,r.value,n));else {let a=i;a.fatal&&(a.continue=false),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(D.issue(a));}};let t=n.transform(r.value,r);return t instanceof Promise?t.then(i=>(r.value=i,r.fallback=true,r)):(r.value=t,r.fallback=true,r)};});function ed(e){return new D_({type:"transform",transform:e})}var td=x("ZodOptional",(e,n)=>{Ml.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Su(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function Ps(e){return new td({type:"optional",innerType:e})}var A_=x("ZodExactOptional",(e,n)=>{dh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Su(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function N_(e){return new A_({type:"optional",innerType:e})}var F_=x("ZodNullable",(e,n)=>{mh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Bb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function $s(e){return new F_({type:"nullable",innerType:e})}function Ww(e){return Ps($s(e))}var L_=x("ZodDefault",(e,n)=>{ph.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Vb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap;});function Z_(e,n){return new L_({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():D.shallowClone(n)}})}var B_=x("ZodPrefault",(e,n)=>{fh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>qb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function M_(e,n){return new B_({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():D.shallowClone(n)}})}var nd=x("ZodNonOptional",(e,n)=>{gh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Mb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function V_(e,n){return new nd({type:"nonoptional",innerType:e,...D.normalizeParams(n)})}var q_=x("ZodSuccess",(e,n)=>{hh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Eb(e,r,o),e.unwrap=()=>e._zod.def.innerType;});function Xw(e){return new q_({type:"success",innerType:e})}var H_=x("ZodCatch",(e,n)=>{bh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Hb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap;});function K_(e,n){return new H_({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}var G_=x("ZodNaN",(e,n)=>{_h.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Tb(e,r);});function Yw(e){return ib(G_,e)}var zs=x("ZodPipe",(e,n)=>{Vl.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Kb(e,r,o,t),e.in=n.in,e.out=n.out;});function zu(e,n){return new zs({type:"pipe",in:e,out:n})}var js=x("ZodCodec",(e,n)=>{zs.init(e,n),hs.init(e,n);});function Qw(e,n,r){return new js({type:"pipe",in:e,out:n,transform:r.decode,reverseTransform:r.encode})}function eT(e){let n=e._zod.def;return new js({type:"pipe",in:n.out,out:n.in,transform:n.reverseTransform,reverseTransform:n.transform})}var J_=x("ZodPreprocess",(e,n)=>{zs.init(e,n),vh.init(e,n);}),W_=x("ZodReadonly",(e,n)=>{yh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Gb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function X_(e){return new W_({type:"readonly",innerType:e})}var Y_=x("ZodTemplateLiteral",(e,n)=>{xh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Rb(e,r,o);});function tT(e,n){return new Y_({type:"template_literal",parts:e,...D.normalizeParams(n)})}var Q_=x("ZodLazy",(e,n)=>{Ph.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Wb(e,r,o,t),e.unwrap=()=>e._zod.def.getter();});function ev(e){return new Q_({type:"lazy",getter:e})}var tv=x("ZodPromise",(e,n)=>{Sh.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>Jb(e,r,o,t),e.unwrap=()=>e._zod.def.innerType;});function nT(e){return new tv({type:"promise",innerType:e})}var nv=x("ZodFunction",(e,n)=>{Ih.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>jb(e,r);});function rT(e){return new nv({type:"function",input:Array.isArray(e?.input)?C_(e?.input):e?.input??Rs(_i()),output:e?.output??_i()})}var Us=x("ZodCustom",(e,n)=>{$h.init(e,n),he.init(e,n),e._zod.processJSONSchema=(r,o,t)=>zb(e,r);});function iT(e){let n=new et({check:"custom"});return n._zod.check=e,n}function oT(e,n){return sb(Us,e??(()=>true),n)}function rv(e,n={}){return cb(Us,e,n)}function iv(e,n){return lb(e,n)}var aT=ub,sT=db;function cT(e,n={}){let r=new Us({type:"custom",check:"custom",fn:o=>o instanceof e,abort:true,...D.normalizeParams(n)});return r._zod.bag.Class=e,r._zod.check=o=>{o.value instanceof e||o.issues.push({code:"invalid_type",expected:e.name,input:o.value,inst:r,path:[...r._zod.def.path??[]]});},r}var lT=(...e)=>mb({Codec:js,Boolean:fo,String:uo},...e);function uT(e){let n=ev(()=>Yu([Is(e),f_(),g_(),v_(),Rs(n),E_(Is(),n)]));return n}function dT(e,n){return new J_({type:"pipe",in:ed(e),out:n})}var WO={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function XO(e){pt({customError:e});}function YO(){return pt().customError}var ov;ov||(ov={});var V={...xs,...ku,iso:so},QO=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function e4(e,n){let r=e.$schema;return r==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":r==="http://json-schema.org/draft-07/schema#"?"draft-7":r==="http://json-schema.org/draft-04/schema#"?"draft-4":n??"draft-2020-12"}function t4(e,n){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let r=e.slice(1).split("/").filter(Boolean);if(r.length===0)return n.rootSchema;let o=n.version==="draft-2020-12"?"$defs":"definitions";if(r[0]===o){let t=r[1];if(!t||!n.defs[t])throw new Error(`Reference not found: ${e}`);return n.defs[t]}throw new Error(`Reference not found: ${e}`)}function mT(e,n){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return V.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let t=e.$ref;if(n.refs.has(t))return n.refs.get(t);if(n.processing.has(t))return V.lazy(()=>{if(!n.refs.has(t))throw new Error(`Circular reference not resolved: ${t}`);return n.refs.get(t)});n.processing.add(t);let i=t4(t,n),a=Vt(i,n);return n.refs.set(t,a),n.processing.delete(t),a}if(e.enum!==void 0){let t=e.enum;if(n.version==="openapi-3.0"&&e.nullable===true&&t.length===1&&t[0]===null)return V.null();if(t.length===0)return V.never();if(t.length===1)return V.literal(t[0]);if(t.every(a=>typeof a=="string"))return V.enum(t);let i=t.map(a=>V.literal(a));return i.length<2?i[0]:V.union([i[0],i[1],...i.slice(2)])}if(e.const!==void 0)return V.literal(e.const);let r=e.type;if(Array.isArray(r)){let t=r.map(i=>{let a={...e,type:i};return mT(a,n)});return t.length===0?V.never():t.length===1?t[0]:V.union(t)}if(!r)return V.any();let o;switch(r){case "string":{let t=V.string();if(e.format){let i=e.format;i==="email"?t=t.check(V.email()):i==="uri"||i==="uri-reference"?t=t.check(V.url()):i==="uuid"||i==="guid"?t=t.check(V.uuid()):i==="date-time"?t=t.check(V.iso.datetime()):i==="date"?t=t.check(V.iso.date()):i==="time"?t=t.check(V.iso.time()):i==="duration"?t=t.check(V.iso.duration()):i==="ipv4"?t=t.check(V.ipv4()):i==="ipv6"?t=t.check(V.ipv6()):i==="mac"?t=t.check(V.mac()):i==="cidr"?t=t.check(V.cidrv4()):i==="cidr-v6"?t=t.check(V.cidrv6()):i==="base64"?t=t.check(V.base64()):i==="base64url"?t=t.check(V.base64url()):i==="e164"?t=t.check(V.e164()):i==="jwt"?t=t.check(V.jwt()):i==="emoji"?t=t.check(V.emoji()):i==="nanoid"?t=t.check(V.nanoid()):i==="cuid"?t=t.check(V.cuid()):i==="cuid2"?t=t.check(V.cuid2()):i==="ulid"?t=t.check(V.ulid()):i==="xid"?t=t.check(V.xid()):i==="ksuid"&&(t=t.check(V.ksuid()));}typeof e.minLength=="number"&&(t=t.min(e.minLength)),typeof e.maxLength=="number"&&(t=t.max(e.maxLength)),e.pattern&&(t=t.regex(new RegExp(e.pattern))),o=t;break}case "number":case "integer":{let t=r==="integer"?V.number().int():V.number();typeof e.minimum=="number"&&(t=t.min(e.minimum)),typeof e.maximum=="number"&&(t=t.max(e.maximum)),typeof e.exclusiveMinimum=="number"?t=t.gt(e.exclusiveMinimum):e.exclusiveMinimum===true&&typeof e.minimum=="number"&&(t=t.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?t=t.lt(e.exclusiveMaximum):e.exclusiveMaximum===true&&typeof e.maximum=="number"&&(t=t.lt(e.maximum)),typeof e.multipleOf=="number"&&(t=t.multipleOf(e.multipleOf)),o=t;break}case "boolean":{o=V.boolean();break}case "null":{o=V.null();break}case "object":{let t={},i=e.properties||{},a=new Set(e.required||[]);for(let[l,u]of Object.entries(i)){let m=Vt(u,n);t[l]=a.has(l)?m:m.optional();}if(e.propertyNames){let l=Vt(e.propertyNames,n),u=e.additionalProperties&&typeof e.additionalProperties=="object"?Vt(e.additionalProperties,n):V.any();if(Object.keys(t).length===0){o=V.record(l,u);break}let m=V.object(t).passthrough(),p=V.looseRecord(l,u);o=V.intersection(m,p);break}if(e.patternProperties){let l=e.patternProperties,u=Object.keys(l),m=[];for(let f of u){let g=Vt(l[f],n),h=V.string().regex(new RegExp(f));m.push(V.looseRecord(h,g));}let p=[];if(Object.keys(t).length>0&&p.push(V.object(t).passthrough()),p.push(...m),p.length===0)o=V.object({}).passthrough();else if(p.length===1)o=p[0];else {let f=V.intersection(p[0],p[1]);for(let g=2;g<p.length;g++)f=V.intersection(f,p[g]);o=f;}break}let c=V.object(t);e.additionalProperties===false?o=c.strict():typeof e.additionalProperties=="object"?o=c.catchall(Vt(e.additionalProperties,n)):o=c.passthrough();break}case "array":{let t=e.prefixItems,i=e.items;if(t&&Array.isArray(t)){let a=t.map(l=>Vt(l,n)),c=i&&typeof i=="object"&&!Array.isArray(i)?Vt(i,n):void 0;c?o=V.tuple(a).rest(c):o=V.tuple(a),typeof e.minItems=="number"&&(o=o.check(V.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(V.maxLength(e.maxItems)));}else if(Array.isArray(i)){let a=i.map(l=>Vt(l,n)),c=e.additionalItems&&typeof e.additionalItems=="object"?Vt(e.additionalItems,n):void 0;c?o=V.tuple(a).rest(c):o=V.tuple(a),typeof e.minItems=="number"&&(o=o.check(V.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(V.maxLength(e.maxItems)));}else if(i!==void 0){let a=Vt(i,n),c=V.array(a);typeof e.minItems=="number"&&(c=c.min(e.minItems)),typeof e.maxItems=="number"&&(c=c.max(e.maxItems)),o=c;}else o=V.array(V.any());break}default:throw new Error(`Unsupported type: ${r}`)}return o}function Vt(e,n){if(typeof e=="boolean")return e?V.any():V.never();let r=mT(e,n),o=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let c=e.anyOf.map(u=>Vt(u,n)),l=V.union(c);r=o?V.intersection(r,l):l;}if(e.oneOf&&Array.isArray(e.oneOf)){let c=e.oneOf.map(u=>Vt(u,n)),l=V.xor(c);r=o?V.intersection(r,l):l;}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)r=o?r:V.any();else {let c=o?r:Vt(e.allOf[0],n),l=o?0:1;for(let u=l;u<e.allOf.length;u++)c=V.intersection(c,Vt(e.allOf[u],n));r=c;}e.nullable===true&&n.version==="openapi-3.0"&&(r=V.nullable(r)),e.readOnly===true&&(r=V.readonly(r)),e.default!==void 0&&(r=r.default(e.default));let t={},i=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let c of i)c in e&&(t[c]=e[c]);let a=["contentEncoding","contentMediaType","contentSchema"];for(let c of a)c in e&&(t[c]=e[c]);for(let c of Object.keys(e))QO.has(c)||(t[c]=e[c]);return Object.keys(t).length>0&&n.registry.add(r,t),e.description&&(r=r.describe(e.description)),r}function pT(e,n){if(typeof e=="boolean")return e?V.any():V.never();let r;try{r=JSON.parse(JSON.stringify(e));}catch{throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let o=e4(r,n?.defaultTarget),t=r.$defs||r.definitions||{},i={version:o,defs:t,refs:new Map,processing:new Set,rootSchema:r,registry:n?.registry??At};return Vt(r,i)}var av={};$t(av,{bigint:()=>o4,boolean:()=>i4,date:()=>a4,number:()=>r4,string:()=>n4});function n4(e){return Rh(uo,e)}function r4(e){return Ah(po,e)}function i4(e){return Vh(fo,e)}function o4(e){return Hh(go,e)}function a4(e){return rb(Ts,e)}pt(ql());s.object({target_plan_ids:s.array(s.string()).default([]),target_billing_periods:s.array(s.string()).default([]),category:s.string().optional()});function sv(e,n){return e.target_plan_ids.length>0&&n.currentPlanId&&!e.target_plan_ids.includes(n.currentPlanId)?{eligible:false,reason:"plan_mismatch"}:e.target_billing_periods.length>0&&n.billingPeriod&&!e.target_billing_periods.includes(n.billingPeriod)?{eligible:false,reason:"billing_period_mismatch"}:(e.category==="upsell"||e.category==="trial_conversion")&&n.planHandle==="enterprise"?{eligible:false,reason:"enterprise_upsell_suppressed"}:{eligible:true}}var rd=new Int32Array(2);new Float32Array(rd.buffer);new Float64Array(rd.buffer);new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var id;(function(e){e[e.UTF8_BYTES=1]="UTF8_BYTES",e[e.UTF16_STRING=2]="UTF16_STRING";})(id||(id={}));var l4=4294967295;var u4=l4;function lv(e){return !e||e.trialActive!==true||e.trialState==="expired"?null:typeof e.trialProgressPercent=="number"&&e.trialProgressPercent>=0?Math.min(100,e.trialProgressPercent):typeof e.trialDaysTotal=="number"&&typeof e.trialDaysRemaining=="number"&&e.trialDaysTotal>0?Math.max(0,e.trialDaysTotal-e.trialDaysRemaining)/e.trialDaysTotal*100:typeof e.trialUsageLimit=="number"&&typeof e.trialUsageConsumed=="number"&&e.trialUsageLimit>0?Math.min(100,Math.max(0,e.trialUsageConsumed/e.trialUsageLimit*100)):null}function cv(e,n){if(!e)return true;if(!n)return false;switch(e.kind){case "trial_started":{if(n.trialActive!==true)return false;let r=lv(n);return r===null?false:r<=5}case "trial_progress":return n.trialActive===true&&n.trialState!=="expired"&&n.trialState!=="converted";case "trial_ending":return n.trialActive!==true||n.trialLimitType==="usage"||typeof n.trialDaysRemaining!="number"?false:n.trialDaysRemaining<=e.daysBeforeEnd;case "trial_ended":return n.trialState==="expired";case "trial_converted":return n.trialState==="converted";default:return false}}function xT(e,n){let r=e.filter(a=>a.trialTrigger?.kind==="trial_progress");if(r.length===0)return null;let o=r.filter(a=>a.trialTrigger?.kind!=="trial_progress"?false:n>=a.trialTrigger.progressPercent);if(o.length===0)return null;let t=o[0];for(let a of o.slice(1)){let c=a.trialTrigger.kind==="trial_progress"?a.trialTrigger.progressPercent:-1,l=t.trialTrigger.kind==="trial_progress"?t.trialTrigger.progressPercent:-1;(c>l||c===l&&a.entryOrder<t.entryOrder)&&(t=a);}let i=o.filter(a=>a!==t).map(a=>a.ruleId).filter(a=>typeof a=="string"&&a.length>0);return {winner:t,supersededIds:i}}function IT(e){switch(e.kind){case "trial_started":return {kind:"trial_started"};case "trial_progress":return typeof e.progressPercent=="number"?{kind:"trial_progress",progressPercent:e.progressPercent}:void 0;case "trial_ending":return typeof e.daysBeforeEnd=="number"?{kind:"trial_ending",daysBeforeEnd:e.daysBeforeEnd}:void 0;case "trial_ended":return {kind:"trial_ended"};case "trial_converted":return {kind:"trial_converted"};default:return}}function ST(e){if(!(!e||typeof e.type!="string"))switch(e.type){case "trial_started":return {kind:"trial_started"};case "trial_progress":return typeof e.progress_percent=="number"?{kind:"trial_progress",progressPercent:e.progress_percent}:void 0;case "trial_ending":return typeof e.days_before_end=="number"?{kind:"trial_ending",daysBeforeEnd:e.days_before_end}:void 0;case "trial_ended":return {kind:"trial_ended"};case "trial_converted":return {kind:"trial_converted"};default:return}}function Os(e){let n=Array.isArray(e.payloads)?e.payloads:[],r=new Map((Array.isArray(e.messageBlocks)?e.messageBlocks:[]).map(a=>[a.block_id,a])),o=Array.isArray(e.uiPaths)?e.uiPaths:[],t=Array.isArray(e.promotions)?e.promotions:[],i=Array.isArray(e.tokens)?e.tokens:[];return {listPayloads:a=>n.filter(c=>c.surface_template_id===a),getMessageBlockById:a=>r.get(a),getUiPathById:a=>o.find(c=>c.id===a||c.name===a),getPromotionById:a=>t.find(c=>c.id===a||c.name===a),listPersonalizationTokens:()=>i}}function Ds(e,n){let r={...e};for(let o of n){let t=e[o.token];if(t==null||!o.value_map)continue;let i=String(t),a=o.value_map[i];a!==void 0&&(r[o.token]=a);}return r}function uv(e,n){let r={current_usage:"usage_current",current_limit:"usage_limit",remaining_usage:"usage_remaining"};return e.replace(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g,(o,t)=>{let i=n[t];if(i===void 0){let a=r[t];a&&(i=n[a]);}return i===void 0?o:String(i)})}function dv(e,n){let r={};for(let[o,t]of Object.entries(e))typeof t=="string"?r[o]=uv(t,n):r[o]=t;return r}function PT(e,n){return dv(e,n)}function mv(e,n,r,o,t,i,a){let c=r.filter(f=>f.surface_template_id===e&&f.status==="active");if(c.length===0)return null;let l=new Map(o.map(f=>[f.block_id,f])),u=new Set(n.segmentIds),m=Ds(i,t),p=a?.segmentDimensions;for(let f of c){let g=f.default_message_block_id,h,k=f.ui_path_id,S=f.promotion_id;if(f.segment_content_map){if(p&&Object.keys(p).length>0){let R=new Map;for(let w of f.segment_content_map){let te=w.dimension;if(!te)continue;let _e=R.get(te)??[];_e.push(w),R.set(te,_e);}if(R.size>0){let w=true,te;for(let[,_e]of R){let Ee=_e.find(W=>u.has(W.segment_id));if(!Ee){w=false;break}te||(te=Ee);}if(w&&te)g=te.message_block_id,h=te.segment_id,te.ui_path_id&&(k=te.ui_path_id),te.promotion_id&&(S=te.promotion_id);else if(!w)continue}else for(let w of f.segment_content_map)if(u.has(w.segment_id)){g=w.message_block_id,h=w.segment_id,w.ui_path_id&&(k=w.ui_path_id),w.promotion_id&&(S=w.promotion_id);break}}else for(let R of f.segment_content_map)if(u.has(R.segment_id)){g=R.message_block_id,h=R.segment_id,R.ui_path_id&&(k=R.ui_path_id),R.promotion_id&&(S=R.promotion_id);break}}let T=l.get(g);if(!T||T.status!=="active")continue;let C={...T.default_content};if(T.segment_overrides){let R=h?T.segment_overrides.find(w=>w.segment_value_id===h):T.segment_overrides.find(w=>u.has(w.segment_value_id));R&&(C={...C,...R.content},h=R.segment_value_id);}let N=PT(C,m);return {payload:f,messageBlock:T,resolvedContent:N,matchedSegmentId:h,uiPathId:k,promotionId:S}}return null}async function ad(e,n,r,o,t){let a=(await Promise.resolve(r.listPayloads(e))).filter(m=>m.status==="active");if(a.length===0)return null;let c=new Set(n.segmentIds),l=t??(r.listPersonalizationTokens?await Promise.resolve(r.listPersonalizationTokens()):[]),u=Ds(o,l);for(let m of a){let p=m.default_message_block_id,f,g=m.ui_path_id,h=m.promotion_id;if(m.segment_content_map){for(let R of m.segment_content_map)if(c.has(R.segment_id)){p=R.message_block_id,f=R.segment_id,R.ui_path_id&&(g=R.ui_path_id),R.promotion_id&&(h=R.promotion_id);break}}let k=await Promise.resolve(r.getMessageBlockById(p));if(!k||k.status!=="active")continue;let S={...k.default_content};if(k.segment_overrides){let R=f?k.segment_overrides.find(w=>w.segment_value_id===f):k.segment_overrides.find(w=>c.has(w.segment_value_id));R&&(S={...S,...R.content},f=R.segment_value_id);}let T=PT(S,u),C;g&&r.getUiPathById&&(C=await Promise.resolve(r.getUiPathById(g)));let N;return h&&r.getPromotionById&&(N=await Promise.resolve(r.getPromotionById(h))),{payload:m,messageBlock:k,resolvedContent:T,matchedSegmentId:f,uiPathId:g,promotionId:h,uiPath:C??void 0,promotion:N??void 0}}return null}var $T={modal_overlay:"modal",banner_placement:"banner",in_page_card:"in_page",inline_gate_message:"in_page",usage_counter:"in_page",button:"button",email:"email",full_page:"full_page"};function d4(e,n){return e.replace(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g,(r,o)=>{let t=n[o];return t==null?`{{${o}}}`:String(t)})}function m4(e){let n={};for(let[r,o]of Object.entries(e)){if(typeof o=="string"){n[r]=d4(o,e);continue}n[r]=o;}return n}function kT(e){if(!e?.path)return {type:"dismiss"};let n=e.path,r=e.config??{};return n==="open_checkout"?{type:"open_checkout_modal",plan_handle:typeof r.purchase=="string"?r.purchase:void 0}:n==="view_plans"?{type:"navigate_to_plans"}:n==="snooze_remind_later"?{type:"dismiss"}:n==="open_rt_placement"?{type:"open_rt_placement",placement_handle:typeof r.placement_handle=="string"?r.placement_handle:void 0}:{type:n,...r}}function p4(e){if(!e||typeof e!="object"||!("entitlement_handle"in e))return;let n=e.entitlement_handle;return typeof n=="string"?n:void 0}function f4(e){if(!e||typeof e!="object"||!("slot_id"in e))return;let n=e.slot_id;return typeof n=="string"?n:void 0}function g4(e,n){let r={...$T};for(let a of e.surface_templates??[])r[a.id]=a.surface_type;let o=new Map;for(let a of e.plans??[])o.set(a.unique_handle,a.unique_handle);let t=new Map,i=new Map;for(let a of n.placements){let c=a.payloads[0];if(!c)continue;let l=c.surfaces[0];if(!l)continue;let u=l.template_id,m=r[u]??"custom",p={...l.fields};l.ctas?.[0]&&(p.cta_label=l.ctas[0].label),l.ctas?.[1]&&(p.secondary_cta_label=l.ctas[1].label);let f=kT(l.ctas?.[0]),g=Array.isArray(c.target?.plan_ids)?c.target.plan_ids:[],h=p4(a.trigger),k=f4(a.trigger),S=ST(a.trigger),T={output_id:c.id,category:a.category,surface:{template:u,type:m,slot_id:a.id},content:{...p,__target_plan_ids:g,...h?{__trigger_entitlement_handle:h}:{},...S?{__trigger_kind:S.kind}:{}},cta_path:f,rule_id:a.id,decision_id:c.id,config_version:e.version,present_upsell:true},C=t.get(u)??[];C.push({output:T,entryOrder:a.order??0,entryCategory:a.category,triggerEntitlementHandle:h,triggerSlotId:k,trialTrigger:S}),t.set(u,C);let N=a.id.replace(/^pl_/,"");i.set(N,T),i.set(a.id,T);}for(let a of t.values())a.sort((c,l)=>c.entryOrder-l.entryOrder);return {outputsByTemplate:t,outputsByName:i,planHandleToId:o}}function h4(e,n){let r=n.trigger;if(r.kind==="entitlement_gate"||r.kind==="usage_threshold"||r.kind==="credit_threshold"||r.kind==="seat_threshold")return e.getEntitlement(r.entitlementIdx)?.uniqueHandle}function b4(e,n){return n.trigger.kind!=="surface_render"?void 0:e.getSlot(n.trigger.slotIdx)?.sourceId}function _4(e){let n={...$T};for(let a=0;a<e.surfaceTemplatesLength();a++){let c=e.getSurfaceTemplate(a);c&&(n[c.sourceId]=c.surfaceType);}let r=new Map;for(let a=0;a<e.plansLength();a++){let c=e.getPlan(a);c&&r.set(c.uniqueHandle,c.sourceId);}let o=new Map,t=new Map,i=e.header().configVersion;for(let a=0;a<e.placementsLength();a++){let c=e.getPlacement(a);if(!c)continue;let l=c.payloads[0];if(!l)continue;let u=l.surfaces[0];if(!u)continue;let m=u.templateSourceId,p=n[m]??"custom",f={...u.fields};u.ctas[0]&&(f.cta_label=u.ctas[0].label),u.ctas[1]&&(f.secondary_cta_label=u.ctas[1].label);let g=kT(u.ctas[0]),h=[];for(let w of l.target.planIdxs){let te=e.getPlan(w);te&&h.push(te.sourceId);}let k=h4(e,c),S=b4(e,c),T=IT(c.trigger),C={output_id:l.sourceId,category:c.category,surface:{template:m,type:p,slot_id:c.sourceId},content:{...f,__target_plan_ids:h,...k?{__trigger_entitlement_handle:k}:{},...T?{__trigger_kind:T.kind}:{}},cta_path:g,rule_id:c.sourceId,decision_id:l.sourceId,config_version:i,present_upsell:true},N=o.get(m)??[];N.push({output:C,entryOrder:c.order,entryCategory:c.category,triggerEntitlementHandle:k,triggerSlotId:S,trialTrigger:T}),o.set(m,N);let R=c.sourceId.replace(/^pl_/,"");t.set(R,C),t.set(c.sourceId,C);}for(let a of o.values())a.sort((c,l)=>c.entryOrder-l.entryOrder);return {outputsByTemplate:o,outputsByName:t,planHandleToId:r}}function v4(e,n){let r=e.message_blocks,o=e.placement_payloads;if(!r?.length||!o?.length)return;let t=new Map;for(let a of n.placements){let c=a.payloads[0]?.surfaces?.[0]?.template_id;c&&t.set(a.id,c);}let i=[];for(let a of o){let c=a.content_link?.message_block_id;if(!c)continue;let l=t.get(a.placement_id);l&&i.push({payload_id:a.payload_id,tenant_id:"",name:a.payload_id,surface_template_id:l,default_message_block_id:c,ui_path_id:a.content_link?.ui_path_id,promotion_id:a.content_link?.promotion_id,status:"active"});}if(i.length!==0)return Os({payloads:i,messageBlocks:r,uiPaths:e.content_ui_paths,promotions:e.content_promotions,tokens:e.personalization_tokens})}function y4(e){let n=e.messageBlocksLength(),r=e.placementPayloadsLength();if(n===0||r===0)return;let o=new Map;for(let c=0;c<e.placementsLength();c++){let l=e.getPlacement(c);if(!l)continue;let u=l.payloads[0]?.surfaces?.[0]?.templateSourceId;u&&o.set(l.sourceId,u);}let t=[],i=new Map;for(let c=0;c<n;c++){let l=e.getMessageBlock(c);l&&(t.push(l),i.set(c,l.block_id));}let a=[];for(let c=0;c<r;c++){let l=e.getPlacementPayload(c);if(!l||l.messageBlockIdx===u4)continue;let u=i.get(l.messageBlockIdx);if(!u)continue;let m=o.get(l.placementSourceId);m&&a.push({payload_id:l.sourceId,tenant_id:"",name:l.sourceId,surface_template_id:m,default_message_block_id:u,status:"active"});}if(a.length!==0)return Os({payloads:a,messageBlocks:t})}function wT(e){let{source:n,impressionHistory:r}=e,{outputsByTemplate:o,outputsByName:t,planHandleToId:i}=n.format==="flatbuffer"?_4(n.handle):g4(n.exportedConfig,n.placements),a=n.format==="json"?v4(n.exportedConfig,n.placements):y4(n.handle);function c(l,u,m,p){let f=Array.isArray(l.content.__target_plan_ids)?l.content.__target_plan_ids.filter(h=>typeof h=="string"):[],g=Array.isArray(l.content.__target_billing_periods)?l.content.__target_billing_periods.filter(h=>typeof h=="string"):[];return sv({target_plan_ids:f,target_billing_periods:g,category:l.category},{currentPlanId:u,planHandle:m,billingPeriod:p}).eligible}return async(l,u,m)=>{let p=m?.__providers,f=p?.plan?.currentPlanHandle,g=p?.plan?.billingPeriod,h=f?i.get(f):void 0,k=ce=>typeof ce=="string"?ce:"",S=Array.isArray(u?.metadata?.surface_template_ids)?u.metadata.surface_template_ids:void 0,T,C=[];if(S&&S.length>0){let ce=[];for(let ae of S){let se=o.get(ae);se&&ce.push(...se);}if(ce.length===0)return yT(l,"no_candidates_for_template","No placements configured for this surface template");ce.sort((ae,se)=>ae.entryOrder-se.entryOrder);let Ne=u?.metadata?.entitlement_handle,ze=u?.metadata?.surface_slot_category,He=ze?{gated:["gated"],fixed:["fixed"],triggered:["usage_credit_seat","trials","other_conversion","retention"]}[ze]:void 0,Ue=ce;if(Ne){let ae=ce.filter(se=>se.triggerEntitlementHandle===Ne);ae.length>0&&(Ue=ae);}let Dt=u?.metadata?.surface_slot_id;if(Dt){let ae=Ue.filter(se=>se.triggerSlotId===Dt);ae.length>0&&(Ue=ae);}if(He&&ze!=="fixed"&&Ue.length>1){let ae=Ue.filter(se=>He.includes(se.entryCategory));ae.length>0&&(Ue=ae);}r&&(Ue=Ue.filter(ae=>!r.isHiddenSync(ae.output.rule_id??""))),Ue=Ue.filter(ae=>cv(ae.trialTrigger,p?.plan));let Ve,Rn=[],bt=lv(p?.plan);if(bt!==null&&Ue.length>1){let ae=Ue.map(Mt=>({ruleId:Mt.output.rule_id??void 0,entryOrder:Mt.entryOrder,trialTrigger:Mt.trialTrigger,output:Mt.output})),se=xT(ae,bt);if(se){Ve=se.winner,Rn=se.supersededIds;let Mt=se.winner.ruleId;Ue=Ue.filter(cn=>cn.trialTrigger?.kind!=="trial_progress"||(cn.output.rule_id??void 0)===Mt);}}let _t;for(let ae of Ue)if(c(ae.output,h,f,g)){T=ae.output,_t=ae;break}_t&&Ve&&Ve.ruleId===(_t.output.rule_id??void 0)&&Rn.length>0&&(T={...T,content:{...T.content,__superseded_placement_ids:Rn}}),T||(C=["no_eligible_candidate"]);}else {let ce=u?.name,Ne=(ce?t.get(ce):void 0)??t.get(l.placementId),ze;if(Ne)for(let Yn of o.values()){let He=Yn.find(Ue=>Ue.output===Ne);if(He){ze=He;break}}Ne&&r?.isHiddenSync(Ne.rule_id??"")?C=["placement_retired"]:Ne&&!cv(ze?.trialTrigger,p?.plan)?C=["trial_trigger_unmet"]:Ne&&c(Ne,h,f,g)?T=Ne:Ne?C=["plan_target_mismatch"]:C=["placement_not_found"];}if(!T){let ce=C[0]??"placement_not_found";return yT(l,ce,"Placement not configured")}let N=T.content,R=T.surface.template;if(a&&R){let ce={userId:typeof l.userId=="string"?l.userId:"",segmentIds:p?.segments?.segmentIds??[]},Ne=await ad(R,ce,a,{});Ne&&(N={...T.content,...Ne.resolvedContent});}let w={...N},te=typeof w.entitlement=="string"?w.entitlement:typeof w.__trigger_entitlement_handle=="string"?w.__trigger_entitlement_handle:void 0,_e=te?p?.entitlements?.usage?.[te]:void 0;if(_e){w.usage_remaining=Number.isFinite(_e.remaining)?_e.remaining:0,w.usage_limit=Number.isFinite(_e.limit)?_e.limit:0,w.usage_current=Number.isFinite(_e.used)?_e.used:0,w.usage_percent=_e.limit>0?Math.min(100,Math.round(_e.used/_e.limit*100)):0;let ce=_e.reset_date;typeof ce=="string"&&ce.length>0&&(w.reset_date=ce);}let Ee=m4(w),W={...T,content:Ee},K=!((T.category==="upsell"||T.category==="trial_conversion")&&f==="enterprise");return {placementId:l.placementId,requestId:`local_${Date.now()}`,visible:K,decisionSource:"fallback",reasonCodes:K?[]:["plan_tier_suppressed"],content:{header:k(W.content.header),body:k(W.content.body),cta_label:k(W.content.cta_label),title:k(W.content.header),cta:k(W.content.cta_label)},output:W}}}function yT(e,n,r){return {placementId:e.placementId,requestId:`local_${Date.now()}`,visible:false,decisionSource:"fallback",reasonCodes:[n],content:{header:r,body:"",cta_label:"",title:r,cta:""}}}function ho(e){return wT({source:{format:"json",exportedConfig:e.exportedConfig,placements:e.placements},impressionHistory:e.impressionHistory})}var TT=s.enum(["session","day","week","month"]),RT=s.object({kind:s.enum(["template","slot"]),id:s.string(),label:s.string().optional()});s.object({id:s.string(),group:s.array(RT),cap:s.object({count:s.number().int().min(1),period:TT})});var ET=s.enum(["trial_started","trial_ending","trial_ended","trial_converted"]);s.object({stages:s.array(ET).default([]),days_before_end:s.number().int().min(0).max(365).nullable().default(null),trial_type:s.enum(["free","reverse"]).nullable().default(null)});s.object({threshold_percent:s.number().int().min(0).max(100),trial_type:s.enum(["free","reverse"]).nullable().default(null)});var P4=/^[a-z0-9._]{1,100}$/,bo={Persisted:"persisted",Transient:"transient"},_o={Internal:"internal",External:"external"},vo={Financial:{"x-revturbine-data-classification":"financial"},Unrestricted:{"x-revturbine-data-classification":"unrestricted"}},$4="readOnly";function zn(e){let n={};for(let[r,o]of Object.entries(e.shape)){if(typeof o!="object"||o===null)continue;o.meta()?.[$4]===true||(n[r]=o);}return s.object(n)}function mn(e){let n=zn(e),r=n.shape.handle;return r&&typeof r.regex=="function"?n.extend({handle:r.regex(P4)}):n}var {Unrestricted:En}=vo,{Transient:Sn}=bo,{Internal:As,External:Lr}=_o;s.object({page:s.coerce.number().int().min(1).default(1).meta(En),per_page:s.coerce.number().int().min(1).max(100).default(25).meta(En)}).meta({id:"PaginationParams","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr});var It=s.object({created_at:s.string().datetime().meta({...En,readOnly:true}),updated_at:s.string().datetime().meta({...En,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),ft=s.object({id:s.string().min(1).meta({...En,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),vt=s.object({tenant_id:s.string().min(1,"tenant_id is required").meta({...En,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As}),Nt=s.object({environment_id:s.string().min(1).default("production").meta({...En,readOnly:true}),canonical_id:s.string().min(1).nullable().default(null).meta({...En,readOnly:true}),change_set_id:s.string().nullable().default(null).meta(En),is_current:s.boolean().default(true).meta({...En,readOnly:true}),sequence:s.number().int().min(1).default(1).meta({...En,readOnly:true}),base_sequence:s.number().int().min(0).nullable().default(null).meta(En)}).meta({id:"null","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As});s.enum(["monthly","annual","quarterly","one_time","usage_based"]).meta({id:"BillingCadence","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr});var k4=s.enum(["banner","modal","tooltip","sidebar","inline","toast","fullscreen","email","sms","push","in_page","button","full_page","agent","cli","custom"]).meta({id:"SurfaceType","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),pv=s.enum(["feature","capability_tier","usage_limit","price_per_unit","rate_limit","credits","seat"]).meta({id:"EntitlementType","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),zT=s.enum(["usd","eur","gbp"]).default("usd").meta({id:"Currency","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr});s.union([s.boolean(),s.number(),s.string()]).meta({id:"FeatureFlagValue","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As});var Zr=s.string().min(1).max(200),Br=s.string().min(1).max(100),fv=s.string().max(500).optional(),Bn=s.record(s.string(),s.unknown()).default({}),gv=s.string().datetime().nullable().default(null);s.enum(["info","warning","critical"]).meta({id:"Severity","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As});var jT=s.enum(["button","plans_page_ctas","plans_page_full","inline_gate_message","tooltip","in_page_card","usage_counter","credit_counter","trial_counter","banner","modal_optional","modal_blocking","toast","email","sms","push","cli","agent_connector","custom_in_app"]).meta({id:"StudioSurfaceType","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":As}),UT=s.enum(["open_checkout","view_plans","book_demo","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription","switch_billing_period","extend_trial","open_rt_placement","dismiss","snooze","custom"]).meta({id:"CtaActionType","x-revturbine-schema-persistence":Sn,"x-revturbine-schema-exposure":Lr}),w4=new Set(k4.options);function Ns(e,n){if(!H(e))return null;let r=typeof e.output_id=="string"?e.output_id:"";if(!r)return null;let o=H(e.surface)?e.surface:{},t=w4.has(o.type)?o.type:"custom",i=H(e.cta_path)?e.cta_path:H(e.ui_path)?e.ui_path:{};return {output_id:r,category:typeof e.category=="string"?e.category:"unknown",surface:{...typeof o.template=="string"?{template:o.template}:{},type:t,...typeof o.slot_id=="string"?{slot_id:o.slot_id}:{}},content:H(e.content)?e.content:{},...H(e.promotion)?{promotion:e.promotion}:{},cta_path:i,ui_path:i,rule_id:typeof e.rule_id=="string"?e.rule_id:"",decision_id:typeof e.decision_id=="string"?e.decision_id:n(),config_version:typeof e.config_version=="string"?e.config_version:"unknown",present_upsell:typeof e.present_upsell=="boolean"?e.present_upsell:false}}var T4="__no_dim__";function R4(e,n,r){if(e.length===0)return true;let o=n instanceof Set?n:new Set(n),t=new Map;for(let i of e){let a=r(i)??T4,c=t.get(a)??[];c.push(i),t.set(a,c);}for(let i of t.values())if(!i.some(a=>o.has(a)))return false;return true}var C4=999999;function E4(e){return e==null||e==="unlimited"||e===C4}function Fs(e){return E4(e)?Number.POSITIVE_INFINITY:typeof e=="number"&&Number.isFinite(e)?e:void 0}function z4(e){let n=e.fields??{};switch(e.kind){case "usage_limit":return Fs(n.limit_value)??0;case "credits":return Fs(n.allowance_value!==void 0?n.allowance_value:n.allowance)??0;case "seat":return Fs(n.included_count)??0;case "feature":return n.enabled===true?1:0;default:return 0}}function j4(e,n){let r,o=Number.NEGATIVE_INFINITY;for(let t of e){let i=n(t);(r===void 0||i>o)&&(r=t,o=i);}return r}function U4(e){let n=e.segment_ids;if(Array.isArray(n))return n.filter(o=>typeof o=="string");let r=e.segment_id??e.segmentId;return typeof r=="string"&&r!=="all"?[r]:[]}function O4(e,n,r){let o=new Map;for(let t of r)typeof t.handle=="string"&&o.set(t.handle,typeof t.dimension_id=="string"?t.dimension_id:void 0);return R4(U4(e),n,t=>o.get(t))}function OT(e,n,r){if(!e)return {status:"allowed",allowed:true};switch(n){case "hard_block":return {status:"denied",allowed:false,reason:r};case "soft_block":return {status:"denied",allowed:false,reason:`${r}_soft_block`};case "degrade":return {status:"limited",allowed:true,reason:`${r}_degraded`};case "allow_overage":return {status:"allowed",allowed:true,reason:`${r}_overage`};default:return {status:"limited",allowed:false,reason:r}}}function Ls(e){let{handle:n,context:r,exportedConfig:o,currentPlanHandle:t,segmentIds:i,usageBalances:a,userUsage:c,trialGrantedEntitlementHandles:l,effectivePlanHandle:u}=e,p=(o.entitlements??[]).find(K=>typeof K?.unique_handle=="string"&&K.unique_handle===n),f=typeof p?.unique_handle=="string"?p.unique_handle:n,g=typeof p?.unique_handle=="string"?p.unique_handle:void 0,h=!!(l&&l.size>0&&(l.has(n)||l.has(f)||g!==void 0&&l.has(g)));if(h&&(u===void 0||u===""))return {status:"allowed",allowed:true,reason:"granted_by_reverse_trial"};let S=String((h&&u?u:t)||"").toLowerCase(),C=(o.plans??[]).find(K=>typeof K.unique_handle=="string"&&K.unique_handle.toLowerCase()===S),N=typeof C?.unique_handle=="string"?C.unique_handle:S||void 0,w=(o.entitlement_rules??[]).filter(K=>{if((typeof K.entitlement_id=="string"?K.entitlement_id:typeof K.entitlementId=="string"?K.entitlementId:"")!==f)return false;let Ne=Array.isArray(K.targets)?K.targets.filter(ze=>H(ze)&&ze.kind==="plan"&&typeof ze.id=="string").map(ze=>ze.id):Array.isArray(K.plan_ids)?K.plan_ids.filter(ze=>typeof ze=="string"):Array.isArray(K.planIds)?K.planIds.filter(ze=>typeof ze=="string"):[];return !(N!==void 0&&!Ne.includes(N)||!O4(K,i,o.segments??[]))});if(w.length===0)return {status:"denied",allowed:false,reason:"no_matching_entitlement_rule"};let te=K=>H(K.type_fields)?K.type_fields:H(K.typeFields)?K.typeFields:{},_e=j4(w,K=>{let ce=te(K);return z4({kind:typeof ce.kind=="string"?ce.kind:"",fields:ce})})??w[0],Ee=te(_e),W=typeof Ee.kind=="string"?Ee.kind:void 0,Se=K=>{let ce=c?.[K];if(H(ce)&&typeof ce.amount=="number")return ce.amount},je=r?.used??(Number.isFinite(a[n])?a[n]:void 0)??(Number.isFinite(a[f])?a[f]:void 0)??Se(n)??Se(f)??0;if(W==="feature"){let K=Ee.enabled!==false;return {status:K?"allowed":"denied",allowed:K,reason:K?void 0:"feature_not_enabled_for_plan"}}if(W==="usage_limit"){let K=Fs(Ee.limit_value);return K!==void 0&&Number.isFinite(K)&&K>=0?OT(je>=K,Ee.enforcement,"usage_limit_reached"):{status:"allowed",allowed:true}}if(W==="credits"){let K=Ee.allowance===void 0?void 0:Fs(Ee.allowance),ce=Number(Ee.initial_grant),Ne=K!==void 0&&K>=0?K:Number.isFinite(ce)&&ce>=0?ce:void 0;return Ne!==void 0&&Number.isFinite(Ne)?OT(je>=Ne,Ee.enforcement,"credit_balance_exhausted"):{status:"allowed",allowed:true}}if(W==="capability_tier"){let K=typeof Ee.tier_name=="string"?Ee.tier_name:void 0;return {status:"allowed",allowed:true,...K?{current_tier:K}:{}}}return {status:"allowed",allowed:true}}function hv(e,n){if(!H(e))return {status:"allowed",allowed:true};let r=typeof e.status=="string"?e.status:void 0,o=r==="limited"||r==="denied"||r==="allowed"?r:typeof e.allowed=="boolean"&&e.allowed?"allowed":"denied",t=o!=="denied",i=typeof e.reason=="string"?e.reason:void 0,a=typeof e.current_tier=="string"?e.current_tier:void 0,c=H(e.placement)?Ns(e.placement,n):void 0;return {status:o,allowed:t,...i!==void 0?{reason:i}:{},...a!==void 0?{current_tier:a}:{},...c!=null?{placement:c}:{}}}function bv(e,n,r,o,t=80){let i=n.get(e);if(i)return i;if(r.get(e)?.status==="limited"&&Number.isFinite(o[e])){let c=Number(o[e]);if(c>0)return {limit:c,warningPercent:t}}return null}var kt=e=>s.object({items:s.array(e)}),yi=s.object({error:s.string(),code:s.string(),request_id:s.string()}),B=e=>e,wt=s.object({page:s.number().int().min(1).default(1).optional(),per_page:s.number().int().min(1).max(100).default(25).optional(),sort:s.string().optional(),order:s.enum(["asc","desc"]).default("asc").optional(),include_deleted:s.boolean().default(false).optional()}),{Unrestricted:X}=vo,{Persisted:ld,Transient:pn}=bo,{Internal:Sv,External:Xt}=_o,NT=s.enum(["per_month","per_year","per_billing_period","lifetime","concurrent","per_instance","per_second","per_minute","per_hour","per_6_hours","per_day","per_week"]).meta({id:"UsagePeriodScope","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),Pv=s.enum(["account_pool","per_instance","per_user","per_user_pooled"]).meta({id:"UsageAllocation","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),D4=s.enum(["allowed","limited","denied"]).meta({id:"EntitlementGrantStatus","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),A4=s.enum(["rule","user_context","override"]).meta({id:"EntitlementGrantSource","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),FT=s.enum(["hard_block","soft_block","degrade","allow_overage"]).meta({id:"EnforcementMode","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),_v=s.object({entitlement_id:s.string().min(1).meta(X),entitlement_handle:s.string().min(1).meta(X),status:D4.meta(X),limit:s.number().optional().meta(X),used:s.number().optional().meta(X),allocation:Pv.optional().meta(X),enforcement:FT.optional().meta(X),source:A4.optional().meta(X),plan_id:s.string().optional().meta(X),segment_id:s.string().optional().meta(X),seat_type_id:s.string().optional().meta(X),rule_id:s.string().optional().meta(X)}).meta({id:"EntitlementGrant","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt,"x-revturbine-data-classification":"operational"});s.object({account:s.record(s.string(),_v).optional().meta(X),instance:s.record(s.string(),_v).optional().meta(X),user:s.record(s.string(),_v).optional().meta(X)}).meta({id:"EntitlementGrantSet","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt,"x-revturbine-data-classification":"operational"});var N4=s.enum(["public","non_public"]).meta({id:"RuleVisibility","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),F4=s.enum(["plan","plan_variation","addon","addon_variation"]).meta({id:"EntitlementRuleTargetKind","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),LT=s.object({kind:F4.meta(X),id:s.string().min(1).meta(X)}).meta({id:"EntitlementRuleTarget","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),L4=s.enum(["month","day","week","quarter","year","billing_period","on_purchase","hour","six_hours"]).meta({id:"EntitlementRulePeriodUnit","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),$o=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(X),handle:Br.meta(X),customer_facing_description:s.string().max(500).optional().meta(X),type:pv.meta(X),unit:s.string().max(100).optional().meta(X),period_scope:NT.optional().meta(X),allocation:Pv.optional().meta(X),tier_definitions:s.array(s.object({name:s.string(),handle:s.string(),description:s.string().optional()})).optional().meta(X),sort_order:s.number().int().default(0).meta(X),metadata:Bn.meta(X)}).meta({id:"Entitlement","x-revturbine-schema-persistence":ld,"x-revturbine-schema-exposure":Xt}),ko=vt.merge(Nt).extend({id:s.number().int().meta({...X,readOnly:true}),plan_id:s.string().min(1).meta(X),entitlement_id:s.string().min(1).meta(X),value:s.union([s.boolean(),s.number(),s.string()]).meta(X),override_label:s.string().max(200).optional().meta(X)}).meta({id:"PlanEntitlement","x-revturbine-schema-persistence":ld,"x-revturbine-schema-exposure":Sv}),Vs=ft.merge(It).merge(vt).merge(Nt).extend({entitlement_id:s.string().min(1).meta(X),targets:s.array(LT).min(1).meta(X),segment_ids:s.array(s.string()).default([]).meta(X),visibility:N4.default("public").meta(X),period_scope:NT.optional().meta(X),instance:s.string().max(100).optional().meta(X),reset_period:L4.optional().meta(X),limit_value:s.union([s.number(),s.literal("unlimited")]).optional().meta(X),enforcement:FT.optional().meta(X),overage_price_ref:s.string().optional().meta(X),grace_period_hours:s.number().int().min(0).optional().meta(X),tier_value:s.string().optional().meta(X),rate_value:s.number().optional().meta(X),initial_grant:s.number().optional().meta(X),allowance_value:s.union([s.number(),s.literal("unlimited")]).optional().meta(X),rollover_enabled:s.boolean().optional().meta(X),max_balance:s.union([s.number(),s.literal("unlimited")]).nullable().default(null).meta(X),seat_type_id:s.string().optional().meta(X),included_count:s.union([s.number().int(),s.literal("unlimited")]).optional().meta(X),at_limit_behavior:s.enum(["hard_cap","auto_upgrade_at_renewal"]).optional().meta(X),stripe_metered_price_id:s.string().optional().meta(X)}).meta({id:"EntitlementRule","x-revturbine-schema-persistence":ld,"x-revturbine-schema-exposure":Sv});Vs.superRefine((e,n)=>{e.reset_period==="billing_period"&&e.targets.findIndex(o=>o.kind!=="plan_variation"&&o.kind!=="addon_variation")!==-1&&n.addIssue({code:"custom",path:["reset_period"],params:{code:"billing_period_target_mismatch"},message:"reset_period='billing_period' requires all targets to be plan_variation or addon_variation"});});var Z4=s.enum(["one_time_period_mismatch"]).meta({id:"EntitlementRuleWarningCode","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),B4=s.object({code:Z4.meta(X),message:s.string().min(1).meta(X),path:s.array(s.union([s.string(),s.number().int()])).optional().meta(X)}).meta({id:"EntitlementRuleWarning","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),vv=Vs.extend({warnings:s.array(B4).optional().meta(X)}).meta({id:"EntitlementRuleWriteResponse","x-revturbine-schema-persistence":pn,"x-revturbine-schema-exposure":Xt}),yv=ft.merge(It).merge(vt).merge(Nt).extend({rule_id:s.string().min(1).meta(X),experiment_id:s.string().min(1).meta(X),variant_name:s.string().min(1).max(200).meta(X),is_control:s.boolean().default(false).meta(X),override_fields:s.record(s.string(),s.unknown()).default({}).meta(X)}).meta({id:"EntitlementRuleVariant","x-revturbine-schema-persistence":ld,"x-revturbine-schema-exposure":Sv}),M4=zn($o),V4=zn(Vs),q4=zn(ko);({"/api/entitlements":{get:B({operationId:"listEntitlements",requestParams:{query:wt},summary:"List entitlements",tags:["entitlements"],responses:{200:{description:"Entitlement list",content:{"application/json":{schema:kt($o)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"list"}}}),post:B({operationId:"createEntitlement",summary:"Create entitlement",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:mn($o)}}},responses:{201:{description:"Created",content:{"application/json":{schema:$o}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"create"}}})},"/api/entitlements/{entitlementId}":{get:B({operationId:"getEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Get entitlement",tags:["entitlements"],responses:{200:{description:"Entitlement detail",content:{"application/json":{schema:$o}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"get"}}}),patch:B({operationId:"updateEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Update entitlement",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:M4}}},responses:{200:{description:"Updated",content:{"application/json":{schema:$o}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"update"}}}),delete:B({operationId:"deleteEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Delete entitlement",tags:["entitlements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"delete"}}})},"/api/entitlements/{entitlementId}/rules":{get:B({operationId:"listEntitlementRules",requestParams:{path:s.object({entitlementId:s.string()}),query:wt},summary:"List rules for entitlement",tags:["entitlements"],responses:{200:{description:"Rule list",content:{"application/json":{schema:kt(Vs)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"list"}}}),post:B({operationId:"createEntitlementRule",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Create entitlement rule",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:mn(Vs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:vv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"create"}}})},"/api/entitlement-rules/{ruleId}":{patch:B({operationId:"updateEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update entitlement rule",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:V4}}},responses:{200:{description:"Updated",content:{"application/json":{schema:vv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"update"}}}),delete:B({operationId:"deleteEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete entitlement rule",tags:["entitlements"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"delete"}}})},"/api/entitlement-rules/{ruleId}/duplicate":{post:B({operationId:"duplicateEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Duplicate entitlement rule",tags:["entitlements"],responses:{201:{description:"Duplicated",content:{"application/json":{schema:vv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"duplicate"}}})},"/api/entitlement-rules/{ruleId}/variants":{get:B({operationId:"listEntitlementRuleVariants",requestParams:{path:s.object({ruleId:s.string()}),query:wt},summary:"List A/B variants for rule",tags:["entitlements"],responses:{200:{description:"Variant list",content:{"application/json":{schema:kt(yv)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rule-variants",persistence:{table:"entitlementRuleVariants",mode:"list"}}}),post:B({operationId:"createEntitlementRuleVariant",requestParams:{path:s.object({ruleId:s.string()})},summary:"Create rule A/B variant",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:mn(yv)}}},responses:{201:{description:"Created",content:{"application/json":{schema:yv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rule-variants",persistence:{table:"entitlementRuleVariants",mode:"create"}}})},"/api/plan-entitlements":{get:B({operationId:"listPlanEntitlements",requestParams:{query:wt},summary:"List plan \u2194 entitlement mappings",tags:["entitlements"],responses:{200:{description:"Plan entitlement list",content:{"application/json":{schema:kt(ko)}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"list"}}}),post:B({operationId:"createPlanEntitlement",summary:"Create plan \u2194 entitlement mapping",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:mn(ko)}}},responses:{201:{description:"Created",content:{"application/json":{schema:ko}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"create"}}})},"/api/plan-entitlements/{id}":{get:B({operationId:"getPlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Get plan \u2194 entitlement mapping",tags:["entitlements"],responses:{200:{description:"Plan entitlement detail",content:{"application/json":{schema:ko}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"get"}}}),put:B({operationId:"updatePlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Update plan \u2194 entitlement mapping",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:q4}}},responses:{200:{description:"Updated",content:{"application/json":{schema:ko}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"update"}}}),delete:B({operationId:"deletePlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Delete plan \u2194 entitlement mapping",tags:["entitlements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"delete"}}})}});var {Unrestricted:le}=vo,{Persisted:qs,Transient:Hs}=bo,{Internal:rr}=_o,H4=s.enum(["not_started","active","expired","converted","cancelled"]).meta({id:"TrialStatus","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),$v=s.enum(["time","usage"]).meta({id:"TrialLimitType","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),ZT=s.object({name:Zr.meta(le),handle:Br.meta(le),plan_id:s.string().nullable().optional().meta(le),segment_id:s.string().nullable().optional().meta(le),trial_limit_type:$v.default("time").meta(le),duration_days:s.number().int().min(1).max(365).nullable().optional().meta(le),grace_period_days:s.number().int().min(0).default(0).meta(le),usage_entitlement_handle:s.string().min(1).optional().meta(le),usage_limit_value:s.number().int().min(1).optional().meta(le),require_payment_method:s.boolean().default(false).meta(le),auto_convert:s.boolean().default(true).meta(le),convert_to_plan_id:s.string().optional().meta(le),fallback_plan_id:s.string().optional().meta(le),limit_per_customer:s.number().int().min(1).default(1).meta(le),is_active:s.boolean().default(true).meta(le),metadata:Bn.meta(le)}),yo=ft.merge(It).merge(vt).merge(Nt).merge(ZT).meta({id:"FreeTrialRule","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr}),K4=s.enum(["signup","first_premium_access","manual"]).meta({id:"ReverseTrialStartPolicy","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),BT=s.object({name:Zr.meta(le),handle:Br.meta(le),premium_plan_id:s.string().min(1).meta(le),fallback_plan_id:s.string().min(1).meta(le),segment_id:s.string().nullable().optional().meta(le),trial_limit_type:$v.default("time").meta(le),duration_days:s.number().int().min(1).max(365).nullable().optional().meta(le),usage_entitlement_handle:s.string().min(1).optional().meta(le),usage_limit_value:s.number().int().min(1).optional().meta(le),start_policy:K4.default("signup").meta(le),show_upgrade_prompt_at_day:s.number().int().min(0).optional().meta(le),entitlements_during_trial:s.array(s.string()).default([]).meta(le),is_active:s.boolean().default(true).meta(le),metadata:Bn.meta(le)}),xo=ft.merge(It).merge(vt).merge(Nt).merge(BT).meta({id:"ReverseTrialRule","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr}),MT=s.enum(["1_per_lifetime","1_per_plan","1_per_year","unlimited"]).meta({id:"TrialLimitPolicy","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),VT=s.enum(["per_customer","per_email_domain"]).meta({id:"TrialEligibilityScope","x-revturbine-schema-persistence":Hs,"x-revturbine-schema-exposure":rr}),Io=ft.merge(It).merge(vt).extend({trial_limit_policy:MT.default("1_per_lifetime").meta(le),eligibility_scope:VT.default("per_customer").meta(le)}).meta({id:"FreeTrialSettings","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr}),So=ft.merge(It).merge(vt).extend({trial_limit_policy:MT.default("1_per_lifetime").meta(le),eligibility_scope:VT.default("per_customer").meta(le)}).meta({id:"ReverseTrialSettings","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr}),sd=ft.merge(It).merge(vt).extend({customer_id:s.string().min(1).meta(le),rule_id:s.string().min(1).meta(le),rule_type:s.enum(["free_trial","reverse_trial"]).meta(le),plan_id:s.string().min(1).meta(le),status:H4.default("active").meta(le),started_at:s.string().datetime().meta({...le,readOnly:true}),expires_at:s.string().datetime().nullable().optional().meta(le),trial_limit_type:$v.default("time").meta(le),usage_entitlement_handle:s.string().min(1).optional().meta(le),usage_limit_value:s.number().int().min(1).optional().meta(le),converted_at:gv.meta(le),cancelled_at:gv.meta(le),metadata:Bn.meta(le)}).meta({id:"TrialInstance","x-revturbine-schema-persistence":qs,"x-revturbine-schema-exposure":rr});({"/api/trials/free-rules":{get:B({operationId:"listFreeTrialRules",requestParams:{query:wt},summary:"List free trial rules",tags:["trials"],responses:{200:{description:"Free trial rule list",content:{"application/json":{schema:kt(yo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"list"}}})},"/api/trials/free-rules/{ruleId}":{get:B({operationId:"getFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Get free trial rule",tags:["trials"],responses:{200:{description:"Free trial rule",content:{"application/json":{schema:yo}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"get"}}}),patch:B({operationId:"updateFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update free trial rule",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:yo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:yo}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"update"}}}),delete:B({operationId:"deleteFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete free trial rule",tags:["trials"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"delete"}}})},"/api/trials/reverse-rules":{get:B({operationId:"listReverseTrialRules",requestParams:{query:wt},summary:"List reverse trial rules",tags:["trials"],responses:{200:{description:"Reverse trial rule list",content:{"application/json":{schema:kt(xo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"list"}}})},"/api/trials/reverse-rules/{ruleId}":{get:B({operationId:"getReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Get reverse trial rule",tags:["trials"],responses:{200:{description:"Reverse trial rule",content:{"application/json":{schema:xo}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"get"}}}),patch:B({operationId:"updateReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update reverse trial rule",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:xo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:xo}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"update"}}}),delete:B({operationId:"deleteReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete reverse trial rule",tags:["trials"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"delete"}}})},"/api/trials/free-settings":{get:B({operationId:"listFreeTrialSettings",requestParams:{query:wt},summary:"List free trial settings (one row per tenant)",tags:["trials"],responses:{200:{description:"Free trial settings list",content:{"application/json":{schema:kt(Io)}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"list"}}})},"/api/trials/free-settings/{settingsId}":{get:B({operationId:"getFreeTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Get free trial settings",tags:["trials"],responses:{200:{description:"Free trial settings",content:{"application/json":{schema:Io}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"get"}}}),patch:B({operationId:"updateFreeTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update free trial settings",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:Io.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Io}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"update"}}})},"/api/trials/reverse-settings":{get:B({operationId:"listReverseTrialSettings",requestParams:{query:wt},summary:"List reverse trial settings (one row per tenant)",tags:["trials"],responses:{200:{description:"Reverse trial settings list",content:{"application/json":{schema:kt(So)}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"list"}}})},"/api/trials/reverse-settings/{settingsId}":{get:B({operationId:"getReverseTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Get reverse trial settings",tags:["trials"],responses:{200:{description:"Reverse trial settings",content:{"application/json":{schema:So}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"get"}}}),patch:B({operationId:"updateReverseTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update reverse trial settings",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:So.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:So}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"update"}}})},"/api/trials/instances":{get:B({operationId:"listTrialInstances",requestParams:{query:wt},summary:"List trial instances",tags:["trials"],responses:{200:{description:"Trial instance list",content:{"application/json":{schema:kt(sd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"list"}}})},"/api/trials/instances/{instanceId}":{get:B({operationId:"getTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Get trial instance",tags:["trials"],responses:{200:{description:"Trial instance",content:{"application/json":{schema:sd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"get"}}})},"/api/trials/instances/{instanceId}/cancel":{post:B({operationId:"cancelTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Cancel an active trial",tags:["trials"],responses:{200:{description:"Cancelled",content:{"application/json":{schema:sd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"update"}}})},"/api/trials/instances/{instanceId}/convert":{post:B({operationId:"convertTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Convert trial to paid subscription",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:s.object({plan_id:s.string().optional()})}}},responses:{200:{description:"Converted",content:{"application/json":{schema:sd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"update"}}})}});var {Unrestricted:Je,Financial:cd}=vo,{Persisted:Ks,Transient:ud}=bo,{External:br}=_o,dd=s.enum(["public","unlisted","legacy"]).meta({id:"PlanVisibility","x-revturbine-schema-persistence":ud,"x-revturbine-schema-exposure":br}),kv=s.enum(["flat","per_unit","tiered","metered"]).meta({id:"PricingModel","x-revturbine-schema-persistence":ud,"x-revturbine-schema-exposure":br}),qT=s.enum(["stripe","static"]).meta({id:"PriceSource","x-revturbine-schema-persistence":ud,"x-revturbine-schema-exposure":br}),wo=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(Je),handle:Br.meta(Je),tier_position:s.number().int().min(0).default(0).meta(Je),sort_order:s.number().int().default(0).meta(Je),metadata:Bn.meta(Je)}).meta({id:"Plan","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),To=ft.merge(It).merge(vt).merge(Nt).extend({plan_id:s.string().min(1).meta(Je),billing_period:s.enum(["monthly","annual","one_time","custom"]).meta(Je),segment_id:s.string().nullable().default(null).meta(Je),price_amount:s.number().min(0).meta(cd),pricing_model:kv.meta(Je),visibility:dd.default("public").meta(Je),stripe_price_id:s.string().optional().meta(Je),price_source:qT.default("static").meta(Je)}).meta({id:"PlanVariation","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),Ro=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(Je),handle:Br.meta(Je),sort_order:s.number().int().default(0).meta(Je),metadata:Bn.meta(Je)}).meta({id:"AddOn","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),Co=ft.merge(It).merge(vt).merge(Nt).extend({addon_id:s.string().min(1).meta(Je),billing_period:s.enum(["monthly","annual","one_time","custom"]).meta(Je),segment_id:s.string().nullable().default(null).meta(Je),price_amount:s.number().min(0).meta(cd),pricing_model:kv.meta(Je),visibility:dd.default("public").meta(Je),stripe_price_id:s.string().optional().meta(Je),price_source:qT.default("static").meta(Je)}).meta({id:"AddOnVariation","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),G4=s.enum(["monthly","annual","one_time","custom"]).meta({id:"StripePriceMockBillingPeriod","x-revturbine-schema-persistence":ud,"x-revturbine-schema-exposure":br}),Eo=ft.merge(It).merge(vt).extend({stripe_price_id:s.string().min(1).meta(Je),stripe_product_id:s.string().min(1).meta(Je),billing_period:G4.meta(Je),unit_amount_cents:s.number().int().min(0).nullable().default(null).meta(cd),currency:zT.meta(cd),pricing_model:kv.meta(Je),nickname:s.string().nullable().default(null).meta(Je)}).meta({id:"StripePriceMock","x-revturbine-schema-persistence":Ks,"x-revturbine-schema-exposure":br}),J4=zn(wo),W4=zn(To),X4=zn(Ro),Y4=zn(Co),Q4=zn(Eo);({"/api/plans":{get:B({operationId:"listPlans",requestParams:{query:wt},summary:"List plans",tags:["plans"],responses:{200:{description:"Plan list response",content:{"application/json":{schema:kt(wo)}}},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"list"}}}),post:B({operationId:"createPlan",summary:"Create plan",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(wo)}}},responses:{201:{description:"Created plan",content:{"application/json":{schema:wo}}},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"create"}}})},"/api/plans/{planId}":{get:B({operationId:"getPlan",requestParams:{path:s.object({planId:s.string()})},summary:"Get plan by ID",tags:["plans"],responses:{200:{description:"Plan detail",content:{"application/json":{schema:wo}}},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"get"}}}),patch:B({operationId:"updatePlan",requestParams:{path:s.object({planId:s.string()})},summary:"Update plan",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:J4}}},responses:{200:{description:"Updated plan",content:{"application/json":{schema:wo}}},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"update"}}}),delete:B({operationId:"deletePlan",requestParams:{path:s.object({planId:s.string()})},summary:"Delete plan",tags:["plans"],responses:{204:{description:"Plan deleted"},default:{description:"Error response",content:{"application/json":{schema:yi}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"delete"}}})},"/api/plans/reorder":{post:B({operationId:"reorderPlans",summary:"Reorder plans",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:s.object({ids:s.array(s.string())})}}},responses:{200:{description:"Reordered"}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"reorder"}}})},"/api/plans/{planId}/variations":{get:B({operationId:"listPlanVariations",requestParams:{path:s.object({planId:s.string()}),query:wt},summary:"List plan variations",tags:["plans"],responses:{200:{description:"Plan variations",content:{"application/json":{schema:kt(To)}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"list"}}}),post:B({operationId:"createPlanVariation",requestParams:{path:s.object({planId:s.string()})},summary:"Create plan variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(To)}}},responses:{201:{description:"Created plan variation",content:{"application/json":{schema:To}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"create"}}})},"/api/plan-variations/{variationId}":{get:B({operationId:"getPlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Get plan variation by ID",tags:["plans"],responses:{200:{description:"Plan variation detail",content:{"application/json":{schema:To}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"get"}}}),patch:B({operationId:"updatePlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Update plan variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:W4}}},responses:{200:{description:"Updated plan variation",content:{"application/json":{schema:To}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"update"}}}),delete:B({operationId:"deletePlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Delete plan variation",tags:["plans"],responses:{204:{description:"Plan variation deleted"}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"delete"}}})},"/api/addons":{get:B({operationId:"listAddOns",requestParams:{query:wt},summary:"List add-ons",tags:["plans"],responses:{200:{description:"Add-on list",content:{"application/json":{schema:kt(Ro)}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"list"}}}),post:B({operationId:"createAddOn",summary:"Create add-on",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(Ro)}}},responses:{201:{description:"Created add-on",content:{"application/json":{schema:Ro}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"create"}}})},"/api/addons/{addonId}":{get:B({operationId:"getAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Get add-on by ID",tags:["plans"],responses:{200:{description:"Add-on detail",content:{"application/json":{schema:Ro}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"get"}}}),patch:B({operationId:"updateAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Update add-on",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:X4}}},responses:{200:{description:"Updated add-on",content:{"application/json":{schema:Ro}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"update"}}}),delete:B({operationId:"deleteAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Delete add-on",tags:["plans"],responses:{204:{description:"Add-on deleted"}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"delete"}}})},"/api/addons/{addonId}/variations":{get:B({operationId:"listAddOnVariations",requestParams:{path:s.object({addonId:s.string()}),query:wt},summary:"List add-on variations",tags:["plans"],responses:{200:{description:"Add-on variations",content:{"application/json":{schema:kt(Co)}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"list"}}}),post:B({operationId:"createAddOnVariation",requestParams:{path:s.object({addonId:s.string()})},summary:"Create add-on variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(Co)}}},responses:{201:{description:"Created variation",content:{"application/json":{schema:Co}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"create"}}})},"/api/addon-variations/{variationId}":{get:B({operationId:"getAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Get add-on variation by ID",tags:["plans"],responses:{200:{description:"Add-on variation detail",content:{"application/json":{schema:Co}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"get"}}}),patch:B({operationId:"updateAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Update add-on variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Y4}}},responses:{200:{description:"Updated variation",content:{"application/json":{schema:Co}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"update"}}}),delete:B({operationId:"deleteAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Delete add-on variation",tags:["plans"],responses:{204:{description:"Variation deleted"}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"delete"}}})},"/api/stripe-prices-mock":{get:B({operationId:"listStripePriceMocks",requestParams:{query:wt},summary:"List Stripe price mocks",tags:["plans"],responses:{200:{description:"Stripe price mock list",content:{"application/json":{schema:kt(Eo)}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"list"}}}),post:B({operationId:"createStripePriceMock",summary:"Create Stripe price mock",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:mn(Eo)}}},responses:{201:{description:"Created Stripe price mock",content:{"application/json":{schema:Eo}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"create"}}})},"/api/stripe-prices-mock/{id}":{get:B({operationId:"getStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Get Stripe price mock by ID",tags:["plans"],responses:{200:{description:"Stripe price mock detail",content:{"application/json":{schema:Eo}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"get"}}}),patch:B({operationId:"updateStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Update Stripe price mock",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Q4}}},responses:{200:{description:"Updated Stripe price mock",content:{"application/json":{schema:Eo}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"update"}}}),delete:B({operationId:"deleteStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Delete Stripe price mock",tags:["plans"],responses:{204:{description:"Stripe price mock deleted"}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"delete"}}})}});var {Unrestricted:_}=vo,{Persisted:zo,Transient:$e}=bo,{Internal:jn,External:Le}=_o,Po=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(_),handle:Br.meta(_),surface_type:jT.meta(_),description:fv.meta(_),is_active:s.boolean().default(true).meta(_),ui_path:s.string().optional().meta(_),metadata:Bn.meta(_)}).meta({id:"ApplicationSurface","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),Zs=ft.merge(It).merge(vt).merge(Nt).extend({name:Zr.meta(_),handle:Br.meta(_),description:fv.meta(_),is_default:s.boolean().default(false).meta(_),entitlement_ids:s.array(s.string()).default([]).meta(_),metadata:Bn.meta(_)}).meta({id:"SeatType","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),e2=s.enum(["not_started","started","details_submitted","charges_enabled","activated","deauthorized"]).meta({id:"OnboardingState","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),xv=ft.merge(It).merge(vt).merge(Nt).extend({stripe_account_id:s.string().min(1).meta(_),live_mode:s.boolean().default(false).meta(_),onboarding_state:e2.default("not_started").meta({..._,readOnly:true}),onboarding_complete:s.boolean().default(false).meta({..._,readOnly:true}),charges_enabled:s.boolean().default(false).meta({..._,readOnly:true}),details_submitted:s.boolean().default(false).meta({..._,readOnly:true}),payouts_enabled:s.boolean().default(false).meta({..._,readOnly:true}),webhook_secret_set:s.boolean().default(false).meta({..._,readOnly:true}),sync_products:s.boolean().default(true).meta(_),sync_prices:s.boolean().default(true).meta(_),sync_subscriptions:s.boolean().default(true).meta(_),sync_invoices:s.boolean().default(false).meta(_),default_currency:s.string().length(3).default("USD").meta(_),tax_behavior:s.enum(["inclusive","exclusive","unspecified"]).default("unspecified").meta(_),last_sync_at:s.string().optional().meta({..._,readOnly:true}),metadata:Bn.meta(_)}).meta({id:"StripeIntegrationConfig","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),Bs=ft.merge(It).merge(vt).merge(Nt).extend({entitlement_id:s.string().min(1).meta(_),meter_key:s.string().min(1).max(100).meta(_),aggregation_type:s.enum(["sum","count","max","last_value"]).default("sum").meta(_),reset_period:s.enum(["none","daily","weekly","monthly","yearly"]).default("monthly").meta(_),stripe_meter_id:s.string().nullable().default(null).meta(_),is_active:s.boolean().default(true).meta(_),metadata:Bn.meta(_)}).meta({id:"MeteringConfig","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),DT=s.enum(["block","warn","downgrade","throttle","notify_admin","custom"]).meta({id:"EnforcementAction","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),Ms=ft.merge(It).merge(vt).merge(Nt).extend({entitlement_id:s.string().min(1).meta(_),soft_limit_percent:s.number().min(0).max(100).default(80).meta(_),hard_limit_percent:s.number().min(0).max(100).default(100).meta(_),soft_limit_action:DT.default("warn").meta(_),hard_limit_action:DT.default("block").meta(_),grace_period_hours:s.number().int().min(0).default(0).meta(_),notification_channels:s.array(s.enum(["email","in_app","webhook"])).default(["in_app"]).meta(_),is_active:s.boolean().default(true).meta(_)}).meta({id:"UsageEnforcementSettings","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),t2=s.object({kind:s.enum(["template","slot"]).meta(_),id:s.string().min(1).meta(_),label:s.string().min(1).optional().meta(_)}).meta({id:"PlacementSettingsCapRuleGroupItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),n2=s.object({id:s.string().min(1).meta(_),group:s.array(t2).min(1).meta(_),cap:s.object({count:s.number().int().min(1).meta(_),period:s.enum(["session","day","week","month"]).meta(_)}).meta(_)}).meta({id:"PlacementSettingsCapRule","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),r2=s.enum(["off","test_users","all_traffic"]).meta({id:"PlacementTestMode","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),i2=s.object({capRules:s.array(n2).default([]).meta(_),sessionCooldownMinutes:s.number().int().min(0).default(30).meta(_),testMode:r2.default("off").meta(_)}).meta({id:"PlacementSettingsCapState","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":jn}),Iv=ft.merge(It).merge(vt).merge(Nt).extend({global_frequency_cap:i2.nullable().default(null).meta(_),global_frequency_cap_period:s.enum(["hour","day","week","month","session"]).nullable().default(null).meta(_),suppress_for_paid:s.boolean().default(false).meta(_),suppress_for_trial:s.boolean().default(false).meta(_),default_dismiss_cooldown_hours:s.number().int().min(0).default(24).meta(_),allow_stacking:s.boolean().default(false).meta(_),priority_collision_strategy:s.enum(["highest_priority","most_recent","random"]).default("highest_priority").meta(_)}).meta({id:"PlacementSettings","x-revturbine-schema-persistence":zo,"x-revturbine-schema-exposure":jn}),o2=s.object({field:s.string().min(1).meta(_),operator:s.enum(["eq","neq","gt","lt","gte","lte","contains","in"]).meta(_),value:s.string().meta(_)}).meta({id:"RevTurbineConfigSegmentsItemPredicatesItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),a2=s.object({name:s.string().min(1).meta(_),handle:s.string().min(1).meta(_),predicates:s.array(o2).optional().meta(_),dimension_id:s.string().optional().meta(_)}).meta({id:"RevTurbineConfigSegmentsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),s2=s.object({unique_handle:s.string().min(1).meta(_),name:s.string().min(1).meta(_),tier_position:s.number().int().min(0).default(0).meta(_),sort_order:s.number().int().min(0).default(0).meta(_),visibility:dd.default("public").meta(_)}).meta({id:"RevTurbineConfigPlansItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),c2=s.object({unique_handle:s.string().min(1).meta(_),name:s.string().min(1).meta(_),sort_order:s.number().int().min(0).default(0).meta(_),visibility:dd.default("public").meta(_)}).meta({id:"RevTurbineConfigAddonsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),l2=s.object({unique_handle:s.string().min(1).meta(_),name:s.string().min(1).meta(_),type:pv.meta(_),unit:s.string().optional().meta(_)}).meta({id:"RevTurbineConfigEntitlementsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),u2=s.object({id:s.string().min(1).meta(_),entitlement_id:s.string().min(1).meta(_),targets:s.array(LT).min(1).meta(_),segment_ids:s.array(s.string()).default([]).meta(_),type_fields:s.record(s.string(),s.unknown()).default({}).meta(_),current_usage:s.number().default(0).meta(_),allocation:Pv.optional().meta(_)}).meta({id:"RevTurbineConfigEntitlementRulesItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),d2=s.object({slot_id:s.string().min(1).meta(_),active:s.boolean().meta(_),triggers:s.array(s.string()).meta(_)}).meta({id:"RevTurbineConfigSlotConfigsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),m2=s.object({id:s.string().min(1).meta(_),label:s.string().min(1).meta(_),description:s.string().meta(_),surface_type:s.string().meta(_),placement_handle:s.string().min(1).meta(_),template:s.string().optional().meta(_)}).meta({id:"RevTurbineConfigPlacementSlotsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),p2=s.object({name:s.string().min(1).meta(_),type:s.string().optional().meta(_),required:s.boolean().optional().meta(_)}).meta({id:"RevTurbineConfigSurfaceTemplatesItemFieldsItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),f2=s.object({id:s.string().min(1).meta(_),surface_type:s.string().meta(_),fields:s.array(p2).optional().meta(_)}).meta({id:"RevTurbineConfigSurfaceTemplatesItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),g2=s.enum(["open_checkout_modal","navigate_to_plans","open_upgrade_modal","open_placement","book_demo","open_feature_tour","extend_trial","switch_billing_period","custom_url","dismiss","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription"]).meta({id:"RevTurbineConfigUiPathActionType","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),h2=s.object({name:s.string().min(1).meta(_),action_type:g2.meta(_),plan_handle:s.string().optional().meta(_),promotion_id:s.string().optional().meta(_),placement_handle:s.string().optional().meta(_),url:s.string().optional().meta(_),tour_id:s.string().optional().meta(_),target_billing_period:s.enum(["monthly","annual"]).optional().meta(_),description:s.string().optional().meta(_)}).meta({id:"ContentUiPath","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),b2=s.object({id:s.string().meta(_),name:s.string().meta(_),discount:s.string().meta(_),type:s.string().meta(_),status:s.string().meta(_)}).meta({id:"ContentPromotion","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),_2=s.object({token:s.string().regex(/^[a-z][a-z0-9_]*$/).meta(_),label:s.string().min(1).meta(_),description:s.string().optional().meta(_),category:s.enum(["user","plan","usage","trial","billing","promotion","custom"]).meta(_),data_source:s.string().optional().meta(_),example_value:s.string().optional().meta(_),value_map:s.record(s.string(),s.string()).optional().meta(_),format:s.enum(["string","number","currency","percentage","date"]).optional().meta(_)}).meta({id:"PersonalizationToken","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),AT=s.object({header:s.string().optional().meta(_),body:s.string().optional().meta(_),cta_label:s.string().optional().meta(_),secondary_cta_label:s.string().optional().meta(_)}).catchall(s.unknown()).meta({id:"MessageBlockContent","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),v2=s.object({block_id:s.string().min(1).meta(_),tenant_id:s.string().min(1).meta(_),name:s.string().min(1).meta(_),surface_template_id:s.string().optional().meta(_),default_content:AT.meta(_),segment_overrides:s.array(s.object({segment_value_id:s.string(),content:AT})).optional().meta(_),child_blocks:s.array(s.object({slot:s.string(),block_id:s.string()})).optional().meta(_),tokens_used:s.array(s.string()).optional().meta(_),status:s.enum(["draft","active","archived"]).meta(_),created_at:s.string().datetime().meta({..._,readOnly:true}),updated_at:s.string().datetime().meta({..._,readOnly:true})}).meta({id:"MessageBlock","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),y2=s.object({label:s.string().meta(_),path:UT.meta(_),config:s.record(s.string(),s.string()).optional().meta(_)}).meta({id:"RevTurbineConfigStudioCtaConfig","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),HT=s.object({template_id:s.string().min(1).meta(_),fields:s.record(s.string(),s.string()).meta(_),ctas:s.array(y2).meta(_)}).meta({id:"RevTurbineConfigStudioPayloadSurface","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),KT=s.object({plan_ids:s.array(s.string()).meta(_),billing_cadences:s.array(s.string()).optional().meta(_),segment_chips:s.array(s.string()).meta(_)}).meta({id:"RevTurbineConfigStudioPayloadTarget","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),x2=s.object({count:s.number().int().min(1).meta(_),period:s.enum(["session","day","week","month","lifetime"]).meta(_)}).meta({id:"RevTurbineConfigPeriodCap","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),GT=s.object({max_per_period:x2.optional().meta(_),cooldown_days:s.number().int().min(0).optional().meta(_)}).meta({id:"RevTurbineConfigStudioPayloadCaps","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),I2=s.object({id:s.string().min(1).meta(_),target:KT.meta(_),surfaces:s.array(HT).meta(_),caps:GT.optional().meta(_),surface_slot_ids:s.array(s.string()).optional().meta(_),created_at:s.string().optional().meta({..._,readOnly:true}),recommendation_strategy:s.enum(["next_tier_up","best_value","custom"]).optional().default("next_tier_up").meta(_),recommendation_plan_override:s.string().optional().meta(_)}).meta({id:"RevTurbineConfigStudioPayload","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),S2=s.discriminatedUnion("type",[s.object({type:s.literal("surface_render"),slot_id:s.string().min(1)}),s.object({type:s.literal("entitlement_gate"),entitlement_handle:s.string().min(1),tier_threshold:s.string().optional()}),s.object({type:s.literal("usage_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("credit_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("seat_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("trial_started"),trial_type:s.enum(["free","reverse"]).optional()}),s.object({type:s.literal("trial_progress"),progress_percent:s.number().min(1).max(100)}),s.object({type:s.literal("trial_ending"),days_before_end:s.number().int().min(0)}),s.object({type:s.literal("trial_ended")}),s.object({type:s.literal("trial_converted")}),s.object({type:s.literal("qualifier"),qualifier:s.string().min(1)})]).meta({id:"RevTurbineConfigPlacementTrigger","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),P2=s.enum(["fixed","gated","usage_credit_seat","trials","other_conversion","retention"]).meta({id:"RevTurbineConfigPlacementCategory","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),$2=s.object({id:s.string().min(1).meta(_),name:s.string().min(1).meta(_),category:P2.meta(_),trigger:S2.meta(_),payloads:s.array(I2).meta(_),order:s.number().int().min(0).meta(_)}).meta({id:"RevTurbineConfigPlacementItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),k2=s.object({payload_id:s.string().min(1).meta(_),placement_id:s.string().min(1).meta(_),target:KT.meta(_),caps:GT.optional().meta(_),created_at:s.string().meta({..._,readOnly:true}),updated_at:s.string().datetime().optional().meta({..._,readOnly:true}),source_mode:s.enum(["inline","content_linked"]).meta(_),surfaces:s.array(HT).optional().meta(_),surface_slot_ids:s.array(s.string()).optional().meta(_),content_link:s.object({message_block_id:s.string().optional(),ui_path_id:s.string().optional(),promotion_id:s.string().optional(),content_payload_id:s.string().optional()}).optional().meta(_)}).meta({id:"RevTurbineConfigPlacementPayloadItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),w2=s.object({kind:s.string().min(1).meta(_),schema_version:s.number().int().nonnegative().meta(_),config:s.unknown().meta(_)}).meta({id:"RevTurbineConfigExtensionRulesItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),T2=ft.merge(ZT).meta({id:"RevTurbineConfigFreeTrialRuleItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le}),R2=ft.merge(BT).meta({id:"RevTurbineConfigReverseTrialRuleItem","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le});s.object({version:s.string().meta(_),exported_at:s.string().datetime().optional().meta({..._,readOnly:true}),schema_version:s.string().optional().meta({..._,readOnly:true}),bundle_schema_version:s.number().int().optional().meta({..._,readOnly:true}),change_set_id:s.string().nullable().default(null).meta({..._,readOnly:true}),plans:s.array(s2).meta(_),addons:s.array(c2).optional().meta(_),entitlements:s.array(l2).meta(_),entitlement_rules:s.array(u2).meta(_),segments:s.array(a2).meta(_),content_ui_paths:s.array(h2).meta(_),slot_configs:s.array(d2).optional().meta(_),content_overrides:s.record(s.string(),s.record(s.string(),s.string())).optional().meta(_),theme:s.record(s.string(),s.unknown()).optional().meta(_),placement_slots:s.array(m2).optional().meta(_),message_blocks:s.array(v2).optional().meta(_),placement_payloads:s.array(k2).optional().meta(_),placements:s.array($2).optional().meta(_),content_promotions:s.array(b2).optional().meta(_),personalization_tokens:s.array(_2).optional().meta(_),surface_templates:s.array(f2).optional().meta(_),free_trial_rules:s.array(T2).optional().meta(_),reverse_trial_rules:s.array(R2).optional().meta(_),extension_rules:s.array(w2).optional().meta(_)}).meta({id:"RevTurbineConfig","x-revturbine-schema-persistence":$e,"x-revturbine-schema-exposure":Le});({"/api/config/application-surfaces":{get:B({operationId:"listApplicationSurfaces",requestParams:{query:wt},summary:"List application surfaces",tags:["config"],responses:{200:{description:"Surface list",content:{"application/json":{schema:kt(Po)}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"list"}}}),post:B({operationId:"createApplicationSurface",summary:"Create application surface",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:mn(Po)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Po}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"create"}}})},"/api/config/application-surfaces/{id}":{get:B({operationId:"getApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Get application surface by ID",tags:["config"],responses:{200:{description:"Application surface detail",content:{"application/json":{schema:Po}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"get"}}}),patch:B({operationId:"updateApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Update application surface",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Po.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Po}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"update"}}}),delete:B({operationId:"deleteApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Delete application surface",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"delete"}}})},"/api/config/seat-types":{get:B({operationId:"listSeatTypes",requestParams:{query:wt},summary:"List seat types",tags:["config"],responses:{200:{description:"Seat type list",content:{"application/json":{schema:kt(Zs)}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"list"}}}),post:B({operationId:"createSeatType",summary:"Create seat type",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:mn(Zs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Zs}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"create"}}})},"/api/config/seat-types/{id}":{patch:B({operationId:"updateSeatType",requestParams:{path:s.object({id:s.string()})},summary:"Update seat type",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Zs.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Zs}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"update"}}}),delete:B({operationId:"deleteSeatType",requestParams:{path:s.object({id:s.string()})},summary:"Delete seat type",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"delete"}}})},"/api/config/stripe":{put:B({operationId:"upsertStripeIntegrationConfig",summary:"Create or update Stripe integration config",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:zn(xv)}}},responses:{200:{description:"Saved",content:{"application/json":{schema:xv}}}},"x-revturbine-operation":{exposure:"internal",resource:"stripe-config",persistence:{table:"stripeIntegrationConfig",mode:"upsert"}}})},"/api/config/metering":{get:B({operationId:"listMeteringConfigs",requestParams:{query:wt},summary:"List metering configurations",tags:["config"],responses:{200:{description:"Metering config list",content:{"application/json":{schema:kt(Bs)}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"list"}}}),post:B({operationId:"createMeteringConfig",summary:"Create metering configuration",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:mn(Bs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Bs}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"create"}}})},"/api/config/metering/{meteringId}":{patch:B({operationId:"updateMeteringConfig",requestParams:{path:s.object({meteringId:s.string()})},summary:"Update metering configuration",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Bs.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Bs}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"update"}}}),delete:B({operationId:"deleteMeteringConfig",requestParams:{path:s.object({meteringId:s.string()})},summary:"Delete metering configuration",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"delete"}}})},"/api/config/usage-enforcement":{get:B({operationId:"listUsageEnforcementSettings",requestParams:{query:wt},summary:"List usage enforcement settings",tags:["config"],responses:{200:{description:"Enforcement settings",content:{"application/json":{schema:kt(Ms)}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"list"}}}),post:B({operationId:"createUsageEnforcementSettings",summary:"Create usage enforcement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:mn(Ms)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ms}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"create"}}})},"/api/config/usage-enforcement/{settingsId}":{patch:B({operationId:"updateUsageEnforcementSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update usage enforcement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Ms.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ms}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"update"}}}),delete:B({operationId:"deleteUsageEnforcementSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Delete usage enforcement settings",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"delete"}}})},"/api/config/placement-settings":{put:B({operationId:"upsertPlacementSettings",summary:"Create or update global placement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:zn(Iv)}}},responses:{200:{description:"Saved",content:{"application/json":{schema:Iv}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-settings",persistence:{table:"placementSettings",mode:"upsert"}}})}});function Uo(){return typeof window>"u"||typeof document>"u"}function Yt(){return !Uo()}var Gs=class{constructor(){this.providers=new Map,this.cache=new Map,this.unsubscribers=new Map;}register(e){let n=this.providers.get(e.domain);if(n&&this.unregister(n.domain),this.providers.set(e.domain,e),e.subscribe){let r=e.subscribe(o=>{this.cache.set(e.domain,{value:o,resolvedAt:Date.now(),ttlMs:e.cacheTtlMs??0});});this.unsubscribers.set(e.domain,r);}}unregister(e){this.providers.delete(e),this.cache.delete(e);let n=this.unsubscribers.get(e);n&&(n(),this.unsubscribers.delete(e));}clear(){for(let e of this.unsubscribers.values())e();this.providers.clear(),this.cache.clear(),this.unsubscribers.clear();}async resolveAll(){let e=Array.from(this.providers.entries()),n=await Promise.all(e.map(async([i,a])=>{let c=this.cache.get(i),l=Date.now();if(c&&c.ttlMs>0&&l-c.resolvedAt<c.ttlMs)return [i,c.value];let u=await a.resolve();return this.cache.set(i,{value:u,resolvedAt:l,ttlMs:a.cacheTtlMs??0}),[i,u]})),r={},o={},t=false;for(let[i,a]of n)if(i==="traits"||i.startsWith("traits:")){let c=a;c?.traits&&(Object.assign(o,c.traits),t=true);}else r[i]=a;return t&&(r.traits={traits:o}),r}async get(e){let n=this.providers.get(e);if(!n)return;let r=this.cache.get(e),o=Date.now();if(r&&r.ttlMs>0&&o-r.resolvedAt<r.ttlMs)return r.value;let t=await n.resolve();return this.cache.set(e,{value:t,resolvedAt:o,ttlMs:n.cacheTtlMs??0}),t}has(e){return this.providers.has(e)}get size(){return this.providers.size}invalidate(e){this.cache.delete(e);}invalidateAll(){this.cache.clear();}},C2="revturbine:interaction-state",JT=class{constructor(e){this.state=new Map,this.storage=e.storage,this.tenantId=e.tenantId,this.userId=e.userId,this.defaultDismissCooldownMs=e.defaultDismissCooldownMs??1440*60*1e3,this.defaultRemindLaterMs=e.defaultRemindLaterMs??3600*1e3,this.hydrate();}track(e){let n=this.stateKey(e.placementId,e.userId,e.treatmentId),r=Date.now(),o=e.metadata??{},i={...this.state.get(n)??{updatedAt:new Date(r).toISOString()},lastInteractionType:e.interactionType,updatedAt:e.interactionAt??new Date(r).toISOString()};if(e.interactionType==="dismiss"){let a=Number(o.cooldown_ms);i.suppressedUntil=r+(Number.isFinite(a)&&a>0?a:this.defaultDismissCooldownMs);}if(e.interactionType==="remind_me_later"){let a=Number(o.remind_after_seconds);i.suppressedUntil=r+(Number.isFinite(a)&&a>0?a*1e3:this.defaultRemindLaterMs);}(e.interactionType==="cta_clicked"||e.interactionType==="cta_completed")&&(i.suppressedUntil=r+300*1e3),this.state.set(n,i),this.persist();}checkSuppression(e,n,r){let o=this.stateKey(e,n,r),t=this.state.get(o);return t?.suppressedUntil?t.suppressedUntil<=Date.now()?{suppressed:false}:{suppressed:true,reason:t.lastInteractionType==="remind_me_later"?"suppressed_until_remind_window":"suppressed_by_dismiss_cooldown"}:{suppressed:false}}clearSuppression(e,n,r){let o=this.stateKey(e,n,r);this.state.delete(o),this.persist();}hydrate(){let e=this.storage.getItem(this.storageKey());if(e)try{let n=JSON.parse(e);for(let[r,o]of Object.entries(n))!o||typeof o!="object"||this.state.set(r,o);}catch{this.storage.removeItem(this.storageKey());}}persist(){try{let e=Object.fromEntries(this.state.entries());this.storage.setItem(this.storageKey(),JSON.stringify(e));}catch{}}storageKey(){return `${C2}:${this.tenantId}:${this.userId}`}stateKey(e,n,r){return [this.tenantId,n,e,r||"default"].join(":")}},E2="revturbine:presentation-caps";function jo(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function z2(e){if(!jo(e))return null;let n=Number(e.count),r=typeof e.period=="string"?e.period:"";return !Number.isFinite(n)||n<=0||r!=="session"&&r!=="day"&&r!=="week"&&r!=="month"&&r!=="lifetime"?null:{count:n,period:r}}function j2(e,n){return e==="session"||e==="lifetime"?0:e==="day"?n-1440*60*1e3:e==="week"?n-10080*60*1e3:n-720*60*60*1e3}var WT=class{constructor(e){this.capsByKey=new Map,this.storage=e.storage,this.tenantId=e.tenantId,this.userId=e.userId,this.hydrate();}enforce(e){let n=this.extractPolicies(e);if(n.length===0)return {allowed:true};let r=this.capKey(e),o=Date.now(),t=this.capsByKey.get(r)??{seenAt:[]},i={...t,seenAt:t.seenAt.filter(c=>Number.isFinite(c)&&c>0)};if(Number.isFinite(i.cooldownUntil)&&i.cooldownUntil>o)return this.capsByKey.set(r,i),{allowed:false,reason:"suppressed_by_payload_cooldown"};for(let c of n)for(let l of c.rules){let u=j2(l.period,o),m=i.seenAt.filter(p=>p>=u&&p<=o);if(m.length>=l.count)return this.capsByKey.set(r,{...i,seenAt:m}),{allowed:false,reason:`suppressed_by_payload_cap_${l.period}`}}i.seenAt.push(o);let a=n.map(c=>c.cooldownMs).filter(c=>typeof c=="number"&&Number.isFinite(c)&&c>0);return a.length>0?i.cooldownUntil=o+Math.max(...a):delete i.cooldownUntil,this.capsByKey.set(r,i),this.persist(),{allowed:true}}hydrate(){let e=this.storage.getItem(this.storageKey());if(e)try{let n=JSON.parse(e);for(let[r,o]of Object.entries(n)){if(!o||typeof o!="object")continue;let t=Array.isArray(o.seenAt)?o.seenAt.filter(a=>Number.isFinite(a)&&a>0):[],i=Number.isFinite(o.cooldownUntil)?o.cooldownUntil:void 0;this.capsByKey.set(r,{seenAt:t,cooldownUntil:i});}}catch{this.storage.removeItem(this.storageKey());}}persist(){try{let e=Object.fromEntries(this.capsByKey.entries());this.storage.setItem(this.storageKey(),JSON.stringify(e));}catch{}}storageKey(){return `${E2}:${this.tenantId}:${this.userId}`}capKey(e){return [this.tenantId,this.userId,e.surface.type,e.output_id].join(":")}extractPolicies(e){let n=[],r=[e,e.content,jo(e.content)?e.content.payload:void 0,jo(e.content)?e.content.placement:void 0,jo(e.content)?e.content.surface:void 0];for(let o of r){if(!jo(o))continue;let t=jo(o.caps)?o.caps:void 0;if(!t)continue;let i=[],a=z2(t.max_per_period);a&&i.push(a);let c=Number(t.cooldown_days),l=Number.isFinite(c)&&c>0?c*24*60*60*1e3:void 0;n.push({rules:i,...l!==void 0?{cooldownMs:l}:{}});}return n}},Oo=class{constructor(){this.store=new Map;}getItem(e){return this.store.get(e)??null}setItem(e,n){this.store.set(e,n);}removeItem(e){this.store.delete(e);}};function XT(e){return [e.tenantId,e.userId,e.placementId,e.treatmentId||"default"].join(":")}function YT(e,n=Date.now()){return e?.suppressedUntil?e.suppressedUntil<=n?{suppressed:false}:{suppressed:true,reason:e.lastInteractionType==="remind_me_later"?"suppressed_until_remind_window":"suppressed_by_dismiss_cooldown"}:{suppressed:false}}var U2=new Set(["dismissed","clicked_thru"]),O2=1440*60*1e3,wv=class{constructor(e){this.retiredCache=null,this.suppressedCache=null,this.store=e.store,this.userId=e.userId,this.defaultSuppressionMs=e.defaultSuppressionMs??O2;}async recordImpression(e,n,r,o){await this.appendRecord(e,"impressed",n,r,o);}async recordDismissal(e,n,r,o){await this.appendRecord(e,"dismissed",n,r,o),this.retireInCache(e);}async recordClickThru(e,n,r,o){await this.appendRecord(e,"clicked_thru",n,r,o),this.retireInCache(e);}async recordSuppression(e,n,r,o,t){let i=t??this.defaultSuppressionMs,a=new Date(Date.now()+i).toISOString();await this.appendRecord(e,"suppressed",n,r,{...o,suppressUntil:a}),this.suppressInCache(e,a);}async isRetired(e){return (await this.getRetiredIds()).has(e)}async getRetiredIds(){if(this.retiredCache)return this.retiredCache;let e=await this.store.getRetiredPlacementIds(this.userId);return this.retiredCache=e,e}isRetiredSync(e){return this.retiredCache?.has(e)??false}isSuppressedSync(e){if(!this.suppressedCache)return false;let n=this.suppressedCache.get(e);return n?new Date(n).getTime()>Date.now()?true:(this.suppressedCache.delete(e),false):false}isHiddenSync(e){return this.isRetiredSync(e)||this.isSuppressedSync(e)}async queryHistory(e){return this.store.query(this.userId,e)}async hydrate(){this.retiredCache=await this.store.getRetiredPlacementIds(this.userId),this.suppressedCache=await this.store.getSuppressedPlacements(this.userId);}async reset(){await this.store.clear(this.userId),this.retiredCache=new Set,this.suppressedCache=new Map;}setUserId(e){this.userId=e,this.retiredCache=null,this.suppressedCache=null;}async appendRecord(e,n,r,o,t){let i={placementId:e,outcome:n,occurredAt:new Date().toISOString(),...r?{payloadId:r}:{},...o?{surfaceTemplateId:o}:{},...t?{metadata:t}:{}};await this.store.append(this.userId,i);}retireInCache(e){this.retiredCache||(this.retiredCache=new Set),this.retiredCache.add(e);}suppressInCache(e,n){this.suppressedCache||(this.suppressedCache=new Map),this.suppressedCache.set(e,n);}},D2=class{constructor(){this.records=new Map;}append(e,n){let r=this.records.get(e)??[];r.push(n),this.records.set(e,r);}query(e,n){let r=this.records.get(e)??[];return n&&(r=QT(r,n)),r.slice().reverse()}getRetiredPlacementIds(e){let n=this.records.get(e)??[];return eR(n)}getSuppressedPlacements(e){let n=this.records.get(e)??[];return tR(n)}clear(e){this.records.delete(e);}},A2="revturbine:impression-history",md=class{constructor(e){this.storage=e.storage,this.tenantId=e.tenantId,this.maxRecords=e.maxRecords??500;}append(e,n){let r=this.load(e);r.push(n),r.length>this.maxRecords&&r.splice(0,r.length-this.maxRecords),this.save(e,r);}query(e,n){let r=this.load(e);return n&&(r=QT(r,n)),r.slice().reverse()}getRetiredPlacementIds(e){let n=this.load(e);return eR(n)}getSuppressedPlacements(e){let n=this.load(e);return tR(n)}clear(e){this.storage.removeItem(this.key(e));}key(e){return `${A2}:${this.tenantId}:${e}`}load(e){let n=this.storage.getItem(this.key(e));if(!n)return [];try{let r=JSON.parse(n);return Array.isArray(r)?r:[]}catch{return []}}save(e,n){try{this.storage.setItem(this.key(e),JSON.stringify(n));}catch{}}};function QT(e,n){let r=e;if(n.placementIds&&n.placementIds.length>0){let o=new Set(n.placementIds);r=r.filter(t=>o.has(t.placementId));}if(n.outcomes&&n.outcomes.length>0){let o=new Set(n.outcomes);r=r.filter(t=>o.has(t.outcome));}if(n.since){let o=new Date(n.since).getTime();r=r.filter(t=>new Date(t.occurredAt).getTime()>=o);}return r}function eR(e){let n=new Set;for(let r of e)U2.has(r.outcome)&&n.add(r.placementId);return n}function tR(e){let n=new Map,r=Date.now();for(let o=e.length-1;o>=0;o--){let t=e[o];if(t.outcome!=="suppressed"||n.has(t.placementId))continue;let i=t.metadata?.suppressUntil;typeof i=="string"&&new Date(i).getTime()>r&&n.set(t.placementId,i);}return n}function N2(e){let{config:n,cacheTtlMs:r}=e,o=[];if(e.planHandle){let t={domain:"plan",cacheTtlMs:r,resolve:()=>({currentPlanHandle:e.planHandle,currentPlanName:e.planName??e.planHandle})};o.push(t);}if(n.entitlements?.length){let t=e.defaultEntitlementPolicy??"allow",i={domain:"entitlements",cacheTtlMs:r,resolve:()=>{let a={},c={};for(let l of n.entitlements??[]){a[l.unique_handle]={status:t==="allow"?"allowed":"denied",allowed:t==="allow",reason:`static_config_default_${t}`};let u=e.usage?.[l.unique_handle];u&&(c[l.unique_handle]={used:u.used,limit:u.limit,remaining:Math.max(0,u.limit-u.used),unit:l.unit});}return {entries:a,usage:c}}};o.push(i);}if(n.segments?.length){let t={domain:"segments",cacheTtlMs:r,resolve:()=>({segmentIds:(n.segments??[]).map(i=>i.handle),segmentSlugs:(n.segments??[]).map(i=>i.handle)})};o.push(t);}if(n.entitlement_rules?.length){let t={domain:"rules",cacheTtlMs:r,resolve:()=>{let i={};for(let c of n.entitlement_rules??[]){let l=c.entitlement_id;i[l]||(i[l]=[]);let u=c,m=Array.isArray(u.segment_ids)?u.segment_ids.filter(f=>typeof f=="string"):typeof u.segment_id=="string"&&u.segment_id!=="all"?[u.segment_id]:[],p={ruleId:c.id,entitlementId:l,planIds:(c.targets??[]).filter(f=>f.kind==="plan").map(f=>f.id),segmentIds:m,kind:c.type_fields?.kind??"feature",fields:c.type_fields??{}};i[l].push(p);}let a={};for(let c of n.segments??[])typeof c.dimension_id=="string"&&typeof c.handle=="string"&&(a[c.handle]=c.dimension_id);return {entitlementRules:i,segmentDimensions:a,configVersion:n.version}}};o.push(t);}if(n.message_blocks?.length||n.personalization_tokens?.length){let t={domain:"content",cacheTtlMs:r,resolve:()=>{let i={};for(let a of n.message_blocks??[])i[a.block_id]={blockId:a.block_id,name:a.name,defaultContent:a.default_content,segmentOverrides:a.segment_overrides?.map(c=>({segmentId:c.segment_value_id,content:c.content})),status:a.status};return {messageBlocks:i,personalization:{}}}};o.push(t);}if(n.theme&&Object.keys(n.theme).length>0){let t={domain:"theme",cacheTtlMs:r,resolve:()=>({overrides:n.theme})};o.push(t);}return o}function F2(e){let{payload:n,cacheTtlMs:r}=e,o=[];if(n.user_context){let t=n.user_context,i={domain:"plan",cacheTtlMs:r,resolve:()=>({currentPlanHandle:t.plan_handle??"unknown",currentPlanName:t.plan_name,billingPeriod:t.billing_period,trialActive:t.trial_active,trialLimitType:t.trial_limit_type,trialProgressPercent:t.trial_progress_percent,trialDaysRemaining:t.trial_days_remaining,trialDaysTotal:t.trial_days_total,trialState:t.trial_state,trialUsageEntitlementHandle:t.trial_usage_entitlement_handle,trialUsageConsumed:t.trial_usage_consumed,trialUsageLimit:t.trial_usage_limit})};o.push(i);}if(n.entitlements){let t=n.entitlements,i={domain:"entitlements",cacheTtlMs:r,resolve:()=>{let a={};for(let[c,l]of Object.entries(t))a[c]=l;return {entries:a}}};o.push(i);}if(n.user_context){let t=n.user_context;if(Array.isArray(t.segment_ids)){let i={domain:"segments",cacheTtlMs:r,resolve:()=>({segmentIds:t.segment_ids})};o.push(i);}}if(n.user_context){let t=n.user_context;if(t.traits&&typeof t.traits=="object"){let i={domain:"traits",cacheTtlMs:r,resolve:()=>({traits:t.traits})};o.push(i);}}if(n.theme){let t={domain:"theme",cacheTtlMs:r,resolve:()=>({overrides:n.theme})};o.push(t);}return o}var nR=class{constructor(e){this.registeredPlacements=new Map,this.tenantId=e.tenantId,this.userId=e.userId,this.exportedConfig=e.exportedConfig;let n=e.storage??new Oo;this.registry=new Gs;for(let o of e.providers)this.registry.register(o);this.interactionTracker=new JT({storage:n,tenantId:e.tenantId,userId:e.userId,...e.interactionOptions}),this.capEnforcer=new WT({storage:n,tenantId:e.tenantId,userId:e.userId}),this.impressionHistory=new wv({store:e.impressionStore??new D2,userId:e.userId});let r=e.customResolver??this.buildPlacementResolver(e);this.engine=new jp({registry:this.registry,interactionTracker:this.interactionTracker,capEnforcer:this.capEnforcer,options:e.engineOptions,placements:this.registeredPlacements,placementResolver:r});}registerPlacement(e){this.registeredPlacements.set(e.id,e);}async getPlacementDecision(e){return this.engine.evaluate(e)}async getPlacementDecisions(e){return this.engine.evaluateBatch(e)}async checkEntitlement(e,n){let r=await this.engine.checkEntitlement(e,n);return r.reason==="no_entitlement_provider"?this.deriveEntitlementFromConfig(e,n):r}trackInteraction(e){this.engine.trackInteraction(e);}clearSuppression(e,n){this.interactionTracker.clearSuppression(e,n??this.userId);}async resolveProviders(){return this.registry.resolveAll()}evaluateSegments(e){let n=this.exportedConfig.segments??[];return Xa(n,e)}buildTargetingState(e,n){return vl(e,this.exportedConfig,n)}async derivePersonalizationTokens(e){let n=await this.registry.resolveAll();return gk({userId:this.userId,providers:n,base:e})}setUserId(e){this.userId=e,this.impressionHistory.setUserId(e);}getUserId(){return this.userId}getExportedConfig(){return this.exportedConfig}async hydrate(){await this.impressionHistory.hydrate();}updateProviders(e){this.registry.clear();for(let n of e)this.registry.register(n);}buildPlacementResolver(e){let n=e.placements??{placements:e.exportedConfig.placements??[]};return ho({placements:n,exportedConfig:e.exportedConfig,impressionHistory:this.impressionHistory})}deriveEntitlementFromConfig(e,n){return Ls({handle:e,context:n,currentPlanHandle:"",segmentIds:new Set,usageBalances:{},exportedConfig:this.exportedConfig})??{status:"allowed",allowed:true,reason:"local_runtime_default_allow"}}},L2=["web-client","server"],Z2=s.enum(L2),B2=["method","meta","component"],M2=s.enum(B2),V2=["ts","python","java","csharp","rust"];s.enum(V2);var q2=s.object({ts:s.string().min(1).optional(),python:s.string().min(1).optional(),java:s.string().min(1).optional(),csharp:s.string().min(1).optional(),rust:s.string().min(1).optional()}).strict(),H2=s.object({canonical:s.string().min(1),aliases:s.array(s.string().min(1)),kind:M2,appliesTo:s.array(Z2).min(1),composes:s.string().min(1).optional(),perLanguage:q2.optional(),description:s.string().min(1)}).strict().refine(e=>e.kind!=="meta"||e.composes!==void 0,{message:"kind 'meta' requires a `composes` reference",path:["composes"]}),K2=s.object({version:s.number().int().positive(),functions:s.array(H2).min(1)}).strict().superRefine((e,n)=>{let r=new Map;for(let o of e.functions)for(let t of [o.canonical,...o.aliases]){let i=r.get(t);i!==void 0&&n.addIssue({code:"custom",message:`duplicate SDK name "${t}" (also on "${i}")`,path:["functions"]}),r.set(t,o.canonical);}});K2.parse({version:2,functions:[{canonical:"checkEntitlement",aliases:["can"],kind:"method",appliesTo:["web-client","server"],description:"Check whether the user is entitled to a feature/handle; returns the rich EntitlementResult (allowed, status, reason, limits, enforcement)."},{canonical:"gate",aliases:[],kind:"meta",appliesTo:["web-client"],composes:"checkEntitlement",description:"Gate an action behind an entitlement: checks the handle, runs fn when allowed, otherwise returns the entitlement so the caller can surface a paywall."},{canonical:"trackEvent",aliases:["track"],kind:"method",appliesTo:["web-client"],description:"Emit a product/analytics event powering frequency caps, attribution, and experiments."},{canonical:"updateUsage",aliases:["update"],kind:"method",appliesTo:["web-client"],description:"Patch customer-reported usage balances for client-side metering display (the advertised update({ usage }) verb)."},{canonical:"resetIdentity",aliases:["reset"],kind:"method",appliesTo:["web-client"],description:"Clear the current user and revert to the anonymous identity (e.g. on sign-out)."},{canonical:"identify",aliases:[],kind:"method",appliesTo:["web-client"],description:"Associate the session with a known user id and optional traits/context."},{canonical:"getPlacement",aliases:[],kind:"method",appliesTo:["web-client","server"],description:"Resolve a single placement decision for a surface."},{canonical:"getPlacementDecision",aliases:[],kind:"method",appliesTo:["web-client"],description:"Resolve a placement decision from an explicit decision input (headless)."},{canonical:"evaluate",aliases:[],kind:"method",appliesTo:["server"],description:"Batch-evaluate placements + entitlements for a user, returning a serializable payload the client SDK can hydrate."},{canonical:"getTrialStatus",aliases:[],kind:"method",appliesTo:["server"],description:"Fetch the user's trial status for server-side gating."},{canonical:"SurfaceSlotComponent",aliases:["Slot","RTSlot"],kind:"component",appliesTo:["web-client"],description:"React slot component that renders the resolved placement; advertised as <Slot> (<RTSlot> is the deprecated prior name)."},{canonical:"AccessGateSurfaceSlot",aliases:["Gate"],kind:"component",appliesTo:["web-client"],description:"React component that gates content behind an entitlement, rendering an upsell placement when denied; advertised as <Gate>."}]});var rR="[REDACTED]",G2=/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g,J2=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/,W2=/\d(?:[ -]?\d){12,18}/g;function X2(e){let n=0,r=false;for(let o=e.length-1;o>=0;o-=1){let t=e.charCodeAt(o)-48;if(t<0||t>9)return false;if(r){let i=t*2;i>9&&(i-=9),n+=i;}else n+=t;r=!r;}return n%10===0}function Y2(e){let n=0,r=e.replace(G2,()=>(n+=1,rR));return r=r.replace(W2,o=>{let t=o.replace(/[ -]/g,"");return t.length>=13&&t.length<=19&&X2(t)?(n+=1,rR):o}),{value:r,count:n}}function iR(e){let n=0,r=o=>{if(typeof o=="string"){let t=Y2(o);return n+=t.count,t.value}if(Array.isArray(o))return o.map(r);if(o&&typeof o=="object"){let t={};for(let[i,a]of Object.entries(o))t[i]=r(a);return t}return o};return {value:r(e),redactions:n}}function Q2(e){return J2.test(e.trim())}function e6(e){let n=e.trim().toLowerCase();return `eml_${r6(n).slice(0,16)}`}function Tv(e){return Q2(e)?{value:e6(e),redacted:true}:{value:e,redacted:false}}var t6=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function n6(e){let n=[];for(let r=0;r<e.length;r+=1){let o=e.charCodeAt(r);if(o<128)n.push(o);else if(o<2048)n.push(192|o>>6,128|o&63);else if(o>=55296&&o<=56319){let t=o,i=e.charCodeAt(r+1);r+=1,o=65536+((t&1023)<<10)+(i&1023),n.push(240|o>>18,128|o>>12&63,128|o>>6&63,128|o&63);}else n.push(224|o>>12,128|o>>6&63,128|o&63);}return n}function ir(e,n){return e>>>n|e<<32-n}function r6(e){let n=n6(e),r=n.length*8;for(n.push(128);n.length%64!==56;)n.push(0);for(let f=0;f<4;f+=1)n.push(0);n.push(r>>>24&255,r>>>16&255,r>>>8&255,r&255);let o=1779033703,t=3144134277,i=1013904242,a=2773480762,c=1359893119,l=2600822924,u=528734635,m=1541459225,p=new Array(64);for(let f=0;f<n.length;f+=64){for(let w=0;w<16;w+=1){let te=f+w*4;p[w]=(n[te]<<24|n[te+1]<<16|n[te+2]<<8|n[te+3])>>>0;}for(let w=16;w<64;w+=1){let te=ir(p[w-15],7)^ir(p[w-15],18)^p[w-15]>>>3,_e=ir(p[w-2],17)^ir(p[w-2],19)^p[w-2]>>>10;p[w]=p[w-16]+te+p[w-7]+_e>>>0;}let g=o,h=t,k=i,S=a,T=c,C=l,N=u,R=m;for(let w=0;w<64;w+=1){let te=ir(T,6)^ir(T,11)^ir(T,25),_e=T&C^~T&N,Ee=R+te+_e+t6[w]+p[w]>>>0,W=ir(g,2)^ir(g,13)^ir(g,22),Se=g&h^g&k^h&k,je=W+Se>>>0;R=N,N=C,C=T,T=S+Ee>>>0,S=k,k=h,h=g,g=Ee+je>>>0;}o=o+g>>>0,t=t+h>>>0,i=i+k>>>0,a=a+S>>>0,c=c+T>>>0,l=l+C>>>0,u=u+N>>>0,m=m+R>>>0;}return [o,t,i,a,c,l,u,m].map(f=>f.toString(16).padStart(8,"0")).join("")}var oR={web_signed_up:"system",web_signed_in:"system",cli_signed_up:"system",cli_signed_in:"system",cli_command_executed:"system",changeset_submitted:"workflow",changeset_approved:"workflow",changeset_rejected:"workflow",changeset_deployed:"workflow",changeset_launched:"workflow",changeset_parked:"workflow",changeset_resumed:"workflow",changeset_discarded:"workflow",changeset_archived:"workflow",config_imported:"workflow",config_exported:"workflow",entity_created:"workflow",entity_updated:"workflow",entity_deleted:"workflow"},aR="control_plane_source";function Rv(e,n={}){return {eventName:e,properties:{[aR]:oR[e],...n}}}var Js=class{constructor(n){E(this,"backend");this.backend=n;}getItem(n){try{return this.backend.getItem(n)}catch{return null}}setItem(n,r){try{this.backend.setItem(n,r);}catch{}}removeItem(n){try{this.backend.removeItem(n);}catch{}}};function Mr(e){if(e)return e;if(Yt())try{return new Js(window.localStorage)}catch{}return new Oo}function Cv(e){if(e)return e;if(Yt())try{return new Js(window.sessionStorage)}catch{}return new Oo}var i6=/^[a-z0-9._]{1,100}$/,ut={Persisted:"persisted",Transient:"transient"},dt={Internal:"internal",External:"external"},mt={Pii:{"x-revturbine-data-classification":"pii"},Financial:{"x-revturbine-data-classification":"financial"},Unrestricted:{"x-revturbine-data-classification":"unrestricted"}};var o6="readOnly";function Rt(e){let n={};for(let[r,o]of Object.entries(e.shape)){if(typeof o!="object"||o===null)continue;o.meta()?.[o6]===true||(n[r]=o);}return s.object(n)}function Tt(e){let n=Rt(e),r=n.shape.handle;return r&&typeof r.regex=="function"?n.extend({handle:r.regex(i6)}):n}var {Unrestricted:Lt}=mt,{Transient:fn}=ut,{Internal:ic,External:xr}=dt;s.object({page:s.coerce.number().int().min(1).default(1).meta(Lt),per_page:s.coerce.number().int().min(1).max(100).default(25).meta(Lt)}).meta({id:"PaginationParams","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr});var a6=e=>s.object({items:s.array(e).meta(Lt),total:s.number().int().min(0).meta(Lt),page:s.number().int().min(1).meta(Lt),per_page:s.number().int().min(1).meta(Lt),has_more:s.boolean().meta(Lt)}).meta({id:"PaginatedResponse","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),ee=s.object({created_at:s.string().datetime().meta({...Lt,readOnly:true}),updated_at:s.string().datetime().meta({...Lt,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),J=s.object({id:s.string().min(1).meta({...Lt,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),oe=s.object({tenant_id:s.string().min(1,"tenant_id is required").meta({...Lt,readOnly:true})}).meta({id:"null","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic}),Ae=s.object({environment_id:s.string().min(1).default("production").meta({...Lt,readOnly:true}),canonical_id:s.string().min(1).nullable().default(null).meta({...Lt,readOnly:true}),change_set_id:s.string().nullable().default(null).meta(Lt),is_current:s.boolean().default(true).meta({...Lt,readOnly:true}),sequence:s.number().int().min(1).default(1).meta({...Lt,readOnly:true}),base_sequence:s.number().int().min(0).nullable().default(null).meta(Lt)}).meta({id:"null","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic});s.enum(["monthly","annual","quarterly","one_time","usage_based"]).meta({id:"BillingCadence","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr});var vd=s.enum(["banner","modal","tooltip","sidebar","inline","toast","fullscreen","email","sms","push","in_page","button","full_page","agent","cli","custom"]).meta({id:"SurfaceType","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),hR=s.enum(["feature","capability_tier","usage_limit","price_per_unit","rate_limit","credits","seat"]).meta({id:"EntitlementType","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),s6=s.enum(["usd","eur","gbp"]).default("usd").meta({id:"Currency","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr});s.union([s.boolean(),s.number(),s.string()]).meta({id:"FeatureFlagValue","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic});var at=s.string().min(1).max(200),Ct=s.string().min(1).max(100),Kr=s.string().max(500).optional(),st=s.record(s.string(),s.unknown()).default({}),ot=s.string().datetime().nullable().default(null),Vv=s.enum(["info","warning","critical"]).meta({id:"Severity","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic}),bR=s.enum(["button","plans_page_ctas","plans_page_full","inline_gate_message","tooltip","in_page_card","usage_counter","credit_counter","trial_counter","banner","modal_optional","modal_blocking","toast","email","sms","push","cli","agent_connector","custom_in_app"]).meta({id:"StudioSurfaceType","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":ic}),_R=s.enum(["open_checkout","view_plans","book_demo","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription","switch_billing_period","extend_trial","open_rt_placement","dismiss","snooze","custom"]).meta({id:"CtaActionType","x-revturbine-schema-persistence":fn,"x-revturbine-schema-exposure":xr}),re=e=>s.object({items:s.array(e)}),it=s.object({error:s.string(),code:s.string(),request_id:s.string()}),b=e=>e,ie=s.object({page:s.number().int().min(1).default(1).optional(),per_page:s.number().int().min(1).max(100).default(25).optional(),sort:s.string().optional(),order:s.enum(["asc","desc"]).default("asc").optional(),include_deleted:s.boolean().default(false).optional()}),{Unrestricted:We,Financial:_d}=mt,{Persisted:oc,Transient:yd}=ut,{External:Ir}=dt,xd=s.enum(["public","unlisted","legacy"]).meta({id:"PlanVisibility","x-revturbine-schema-persistence":yd,"x-revturbine-schema-exposure":Ir}),qv=s.enum(["flat","per_unit","tiered","metered"]).meta({id:"PricingModel","x-revturbine-schema-persistence":yd,"x-revturbine-schema-exposure":Ir}),vR=s.enum(["stripe","static"]).meta({id:"PriceSource","x-revturbine-schema-persistence":yd,"x-revturbine-schema-exposure":Ir}),Mo=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(We),handle:Ct.meta(We),tier_position:s.number().int().min(0).default(0).meta(We),sort_order:s.number().int().default(0).meta(We),metadata:st.meta(We)}).meta({id:"Plan","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),Vo=J.merge(ee).merge(oe).merge(Ae).extend({plan_id:s.string().min(1).meta(We),billing_period:s.enum(["monthly","annual","one_time","custom"]).meta(We),segment_id:s.string().nullable().default(null).meta(We),price_amount:s.number().min(0).meta(_d),pricing_model:qv.meta(We),visibility:xd.default("public").meta(We),stripe_price_id:s.string().optional().meta(We),price_source:vR.default("static").meta(We)}).meta({id:"PlanVariation","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),qo=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(We),handle:Ct.meta(We),sort_order:s.number().int().default(0).meta(We),metadata:st.meta(We)}).meta({id:"AddOn","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),Ho=J.merge(ee).merge(oe).merge(Ae).extend({addon_id:s.string().min(1).meta(We),billing_period:s.enum(["monthly","annual","one_time","custom"]).meta(We),segment_id:s.string().nullable().default(null).meta(We),price_amount:s.number().min(0).meta(_d),pricing_model:qv.meta(We),visibility:xd.default("public").meta(We),stripe_price_id:s.string().optional().meta(We),price_source:vR.default("static").meta(We)}).meta({id:"AddOnVariation","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),c6=s.enum(["monthly","annual","one_time","custom"]).meta({id:"StripePriceMockBillingPeriod","x-revturbine-schema-persistence":yd,"x-revturbine-schema-exposure":Ir}),Ko=J.merge(ee).merge(oe).extend({stripe_price_id:s.string().min(1).meta(We),stripe_product_id:s.string().min(1).meta(We),billing_period:c6.meta(We),unit_amount_cents:s.number().int().min(0).nullable().default(null).meta(_d),currency:s6.meta(_d),pricing_model:qv.meta(We),nickname:s.string().nullable().default(null).meta(We)}).meta({id:"StripePriceMock","x-revturbine-schema-persistence":oc,"x-revturbine-schema-exposure":Ir}),l6=Rt(Mo),u6=Rt(Vo),d6=Rt(qo),m6=Rt(Ho),p6=Rt(Ko);({"/api/plans":{get:b({operationId:"listPlans",requestParams:{query:ie},summary:"List plans",tags:["plans"],responses:{200:{description:"Plan list response",content:{"application/json":{schema:re(Mo)}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"list"}}}),post:b({operationId:"createPlan",summary:"Create plan",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(Mo)}}},responses:{201:{description:"Created plan",content:{"application/json":{schema:Mo}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"create"}}})},"/api/plans/{planId}":{get:b({operationId:"getPlan",requestParams:{path:s.object({planId:s.string()})},summary:"Get plan by ID",tags:["plans"],responses:{200:{description:"Plan detail",content:{"application/json":{schema:Mo}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"get"}}}),patch:b({operationId:"updatePlan",requestParams:{path:s.object({planId:s.string()})},summary:"Update plan",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:l6}}},responses:{200:{description:"Updated plan",content:{"application/json":{schema:Mo}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"update"}}}),delete:b({operationId:"deletePlan",requestParams:{path:s.object({planId:s.string()})},summary:"Delete plan",tags:["plans"],responses:{204:{description:"Plan deleted"},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"delete"}}})},"/api/plans/reorder":{post:b({operationId:"reorderPlans",summary:"Reorder plans",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:s.object({ids:s.array(s.string())})}}},responses:{200:{description:"Reordered"}},"x-revturbine-operation":{exposure:"external",resource:"plans",persistence:{table:"plans",mode:"reorder"}}})},"/api/plans/{planId}/variations":{get:b({operationId:"listPlanVariations",requestParams:{path:s.object({planId:s.string()}),query:ie},summary:"List plan variations",tags:["plans"],responses:{200:{description:"Plan variations",content:{"application/json":{schema:re(Vo)}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"list"}}}),post:b({operationId:"createPlanVariation",requestParams:{path:s.object({planId:s.string()})},summary:"Create plan variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(Vo)}}},responses:{201:{description:"Created plan variation",content:{"application/json":{schema:Vo}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"create"}}})},"/api/plan-variations/{variationId}":{get:b({operationId:"getPlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Get plan variation by ID",tags:["plans"],responses:{200:{description:"Plan variation detail",content:{"application/json":{schema:Vo}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"get"}}}),patch:b({operationId:"updatePlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Update plan variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:u6}}},responses:{200:{description:"Updated plan variation",content:{"application/json":{schema:Vo}}}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"update"}}}),delete:b({operationId:"deletePlanVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Delete plan variation",tags:["plans"],responses:{204:{description:"Plan variation deleted"}},"x-revturbine-operation":{exposure:"external",resource:"plan-variations",persistence:{table:"planVariations",mode:"delete"}}})},"/api/addons":{get:b({operationId:"listAddOns",requestParams:{query:ie},summary:"List add-ons",tags:["plans"],responses:{200:{description:"Add-on list",content:{"application/json":{schema:re(qo)}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"list"}}}),post:b({operationId:"createAddOn",summary:"Create add-on",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(qo)}}},responses:{201:{description:"Created add-on",content:{"application/json":{schema:qo}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"create"}}})},"/api/addons/{addonId}":{get:b({operationId:"getAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Get add-on by ID",tags:["plans"],responses:{200:{description:"Add-on detail",content:{"application/json":{schema:qo}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"get"}}}),patch:b({operationId:"updateAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Update add-on",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:d6}}},responses:{200:{description:"Updated add-on",content:{"application/json":{schema:qo}}}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"update"}}}),delete:b({operationId:"deleteAddOn",requestParams:{path:s.object({addonId:s.string()})},summary:"Delete add-on",tags:["plans"],responses:{204:{description:"Add-on deleted"}},"x-revturbine-operation":{exposure:"external",resource:"addons",persistence:{table:"addons",mode:"delete"}}})},"/api/addons/{addonId}/variations":{get:b({operationId:"listAddOnVariations",requestParams:{path:s.object({addonId:s.string()}),query:ie},summary:"List add-on variations",tags:["plans"],responses:{200:{description:"Add-on variations",content:{"application/json":{schema:re(Ho)}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"list"}}}),post:b({operationId:"createAddOnVariation",requestParams:{path:s.object({addonId:s.string()})},summary:"Create add-on variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ho)}}},responses:{201:{description:"Created variation",content:{"application/json":{schema:Ho}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"create"}}})},"/api/addon-variations/{variationId}":{get:b({operationId:"getAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Get add-on variation by ID",tags:["plans"],responses:{200:{description:"Add-on variation detail",content:{"application/json":{schema:Ho}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"get"}}}),patch:b({operationId:"updateAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Update add-on variation",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:m6}}},responses:{200:{description:"Updated variation",content:{"application/json":{schema:Ho}}}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"update"}}}),delete:b({operationId:"deleteAddOnVariation",requestParams:{path:s.object({variationId:s.string()})},summary:"Delete add-on variation",tags:["plans"],responses:{204:{description:"Variation deleted"}},"x-revturbine-operation":{exposure:"external",resource:"addon-variations",persistence:{table:"addonVariations",mode:"delete"}}})},"/api/stripe-prices-mock":{get:b({operationId:"listStripePriceMocks",requestParams:{query:ie},summary:"List Stripe price mocks",tags:["plans"],responses:{200:{description:"Stripe price mock list",content:{"application/json":{schema:re(Ko)}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"list"}}}),post:b({operationId:"createStripePriceMock",summary:"Create Stripe price mock",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ko)}}},responses:{201:{description:"Created Stripe price mock",content:{"application/json":{schema:Ko}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"create"}}})},"/api/stripe-prices-mock/{id}":{get:b({operationId:"getStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Get Stripe price mock by ID",tags:["plans"],responses:{200:{description:"Stripe price mock detail",content:{"application/json":{schema:Ko}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"get"}}}),patch:b({operationId:"updateStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Update Stripe price mock",tags:["plans"],requestBody:{required:true,content:{"application/json":{schema:p6}}},responses:{200:{description:"Updated Stripe price mock",content:{"application/json":{schema:Ko}}}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"update"}}}),delete:b({operationId:"deleteStripePriceMock",requestParams:{path:s.object({id:s.string()})},summary:"Delete Stripe price mock",tags:["plans"],responses:{204:{description:"Stripe price mock deleted"}},"x-revturbine-operation":{exposure:"external",resource:"stripe-prices-mock",persistence:{table:"stripePricesMock",mode:"delete"}}})}});var {Unrestricted:Y}=mt,{Persisted:Id,Transient:gn}=ut,{Internal:Hv,External:en}=dt,yR=s.enum(["per_month","per_year","per_billing_period","lifetime","concurrent","per_instance","per_second","per_minute","per_hour","per_6_hours","per_day","per_week"]).meta({id:"UsagePeriodScope","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),Kv=s.enum(["account_pool","per_instance","per_user","per_user_pooled"]).meta({id:"UsageAllocation","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),f6=s.enum(["allowed","limited","denied"]).meta({id:"EntitlementGrantStatus","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),g6=s.enum(["rule","user_context","override"]).meta({id:"EntitlementGrantSource","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),xR=s.enum(["hard_block","soft_block","degrade","allow_overage"]).meta({id:"EnforcementMode","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),tc=s.object({entitlement_id:s.string().min(1).meta(Y),entitlement_handle:s.string().min(1).meta(Y),status:f6.meta(Y),limit:s.number().optional().meta(Y),used:s.number().optional().meta(Y),allocation:Kv.optional().meta(Y),enforcement:xR.optional().meta(Y),source:g6.optional().meta(Y),plan_id:s.string().optional().meta(Y),segment_id:s.string().optional().meta(Y),seat_type_id:s.string().optional().meta(Y),rule_id:s.string().optional().meta(Y)}).meta({id:"EntitlementGrant","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en,"x-revturbine-data-classification":"operational"});s.object({account:s.record(s.string(),tc).optional().meta(Y),instance:s.record(s.string(),tc).optional().meta(Y),user:s.record(s.string(),tc).optional().meta(Y)}).meta({id:"EntitlementGrantSet","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en,"x-revturbine-data-classification":"operational"});var h6=s.enum(["public","non_public"]).meta({id:"RuleVisibility","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),b6=s.enum(["plan","plan_variation","addon","addon_variation"]).meta({id:"EntitlementRuleTargetKind","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),IR=s.object({kind:b6.meta(Y),id:s.string().min(1).meta(Y)}).meta({id:"EntitlementRuleTarget","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),_6=s.enum(["month","day","week","quarter","year","billing_period","on_purchase","hour","six_hours"]).meta({id:"EntitlementRulePeriodUnit","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),Go=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(Y),handle:Ct.meta(Y),customer_facing_description:s.string().max(500).optional().meta(Y),type:hR.meta(Y),unit:s.string().max(100).optional().meta(Y),period_scope:yR.optional().meta(Y),allocation:Kv.optional().meta(Y),tier_definitions:s.array(s.object({name:s.string(),handle:s.string(),description:s.string().optional()})).optional().meta(Y),sort_order:s.number().int().default(0).meta(Y),metadata:st.meta(Y)}).meta({id:"Entitlement","x-revturbine-schema-persistence":Id,"x-revturbine-schema-exposure":en}),Jo=oe.merge(Ae).extend({id:s.number().int().meta({...Y,readOnly:true}),plan_id:s.string().min(1).meta(Y),entitlement_id:s.string().min(1).meta(Y),value:s.union([s.boolean(),s.number(),s.string()]).meta(Y),override_label:s.string().max(200).optional().meta(Y)}).meta({id:"PlanEntitlement","x-revturbine-schema-persistence":Id,"x-revturbine-schema-exposure":Hv}),nc=J.merge(ee).merge(oe).merge(Ae).extend({entitlement_id:s.string().min(1).meta(Y),targets:s.array(IR).min(1).meta(Y),segment_ids:s.array(s.string()).default([]).meta(Y),visibility:h6.default("public").meta(Y),period_scope:yR.optional().meta(Y),instance:s.string().max(100).optional().meta(Y),reset_period:_6.optional().meta(Y),limit_value:s.union([s.number(),s.literal("unlimited")]).optional().meta(Y),enforcement:xR.optional().meta(Y),overage_price_ref:s.string().optional().meta(Y),grace_period_hours:s.number().int().min(0).optional().meta(Y),tier_value:s.string().optional().meta(Y),rate_value:s.number().optional().meta(Y),initial_grant:s.number().optional().meta(Y),allowance_value:s.union([s.number(),s.literal("unlimited")]).optional().meta(Y),rollover_enabled:s.boolean().optional().meta(Y),max_balance:s.union([s.number(),s.literal("unlimited")]).nullable().default(null).meta(Y),seat_type_id:s.string().optional().meta(Y),included_count:s.union([s.number().int(),s.literal("unlimited")]).optional().meta(Y),at_limit_behavior:s.enum(["hard_cap","auto_upgrade_at_renewal"]).optional().meta(Y),stripe_metered_price_id:s.string().optional().meta(Y)}).meta({id:"EntitlementRule","x-revturbine-schema-persistence":Id,"x-revturbine-schema-exposure":Hv});nc.superRefine((e,n)=>{e.reset_period==="billing_period"&&e.targets.findIndex(o=>o.kind!=="plan_variation"&&o.kind!=="addon_variation")!==-1&&n.addIssue({code:"custom",path:["reset_period"],params:{code:"billing_period_target_mismatch"},message:"reset_period='billing_period' requires all targets to be plan_variation or addon_variation"});});var v6=s.enum(["one_time_period_mismatch"]).meta({id:"EntitlementRuleWarningCode","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),y6=s.object({code:v6.meta(Y),message:s.string().min(1).meta(Y),path:s.array(s.union([s.string(),s.number().int()])).optional().meta(Y)}).meta({id:"EntitlementRuleWarning","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en}),Ev=nc.extend({warnings:s.array(y6).optional().meta(Y)}).meta({id:"EntitlementRuleWriteResponse","x-revturbine-schema-persistence":gn,"x-revturbine-schema-exposure":en});var zv=J.merge(ee).merge(oe).merge(Ae).extend({rule_id:s.string().min(1).meta(Y),experiment_id:s.string().min(1).meta(Y),variant_name:s.string().min(1).max(200).meta(Y),is_control:s.boolean().default(false).meta(Y),override_fields:s.record(s.string(),s.unknown()).default({}).meta(Y)}).meta({id:"EntitlementRuleVariant","x-revturbine-schema-persistence":Id,"x-revturbine-schema-exposure":Hv}),x6=Rt(Go),I6=Rt(nc),S6=Rt(Jo);({"/api/entitlements":{get:b({operationId:"listEntitlements",requestParams:{query:ie},summary:"List entitlements",tags:["entitlements"],responses:{200:{description:"Entitlement list",content:{"application/json":{schema:re(Go)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"list"}}}),post:b({operationId:"createEntitlement",summary:"Create entitlement",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:Tt(Go)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Go}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"create"}}})},"/api/entitlements/{entitlementId}":{get:b({operationId:"getEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Get entitlement",tags:["entitlements"],responses:{200:{description:"Entitlement detail",content:{"application/json":{schema:Go}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"get"}}}),patch:b({operationId:"updateEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Update entitlement",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:x6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Go}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"update"}}}),delete:b({operationId:"deleteEntitlement",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Delete entitlement",tags:["entitlements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlements",persistence:{table:"entitlements",mode:"delete"}}})},"/api/entitlements/{entitlementId}/rules":{get:b({operationId:"listEntitlementRules",requestParams:{path:s.object({entitlementId:s.string()}),query:ie},summary:"List rules for entitlement",tags:["entitlements"],responses:{200:{description:"Rule list",content:{"application/json":{schema:re(nc)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"list"}}}),post:b({operationId:"createEntitlementRule",requestParams:{path:s.object({entitlementId:s.string()})},summary:"Create entitlement rule",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:Tt(nc)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ev}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"create"}}})},"/api/entitlement-rules/{ruleId}":{patch:b({operationId:"updateEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update entitlement rule",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:I6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ev}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"update"}}}),delete:b({operationId:"deleteEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete entitlement rule",tags:["entitlements"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"delete"}}})},"/api/entitlement-rules/{ruleId}/duplicate":{post:b({operationId:"duplicateEntitlementRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Duplicate entitlement rule",tags:["entitlements"],responses:{201:{description:"Duplicated",content:{"application/json":{schema:Ev}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rules",persistence:{table:"entitlementRules",mode:"duplicate"}}})},"/api/entitlement-rules/{ruleId}/variants":{get:b({operationId:"listEntitlementRuleVariants",requestParams:{path:s.object({ruleId:s.string()}),query:ie},summary:"List A/B variants for rule",tags:["entitlements"],responses:{200:{description:"Variant list",content:{"application/json":{schema:re(zv)}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rule-variants",persistence:{table:"entitlementRuleVariants",mode:"list"}}}),post:b({operationId:"createEntitlementRuleVariant",requestParams:{path:s.object({ruleId:s.string()})},summary:"Create rule A/B variant",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:Tt(zv)}}},responses:{201:{description:"Created",content:{"application/json":{schema:zv}}}},"x-revturbine-operation":{exposure:"external",resource:"entitlement-rule-variants",persistence:{table:"entitlementRuleVariants",mode:"create"}}})},"/api/plan-entitlements":{get:b({operationId:"listPlanEntitlements",requestParams:{query:ie},summary:"List plan \u2194 entitlement mappings",tags:["entitlements"],responses:{200:{description:"Plan entitlement list",content:{"application/json":{schema:re(Jo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"list"}}}),post:b({operationId:"createPlanEntitlement",summary:"Create plan \u2194 entitlement mapping",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:Tt(Jo)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Jo}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"create"}}})},"/api/plan-entitlements/{id}":{get:b({operationId:"getPlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Get plan \u2194 entitlement mapping",tags:["entitlements"],responses:{200:{description:"Plan entitlement detail",content:{"application/json":{schema:Jo}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"get"}}}),put:b({operationId:"updatePlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Update plan \u2194 entitlement mapping",tags:["entitlements"],requestBody:{required:true,content:{"application/json":{schema:S6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Jo}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"update"}}}),delete:b({operationId:"deletePlanEntitlement",requestParams:{path:s.object({id:s.string()})},summary:"Delete plan \u2194 entitlement mapping",tags:["entitlements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"plan-entitlements",persistence:{table:"planEntitlements",mode:"delete"}}})}});var {Unrestricted:ne}=mt,{Persisted:ac,Transient:sc}=ut,{External:Sr,Internal:P6}=dt,SR=s.enum(["fixed","gated_feature","usage_limit","trial","other_conversion","retention"]).meta({id:"PlacementCategory","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr}),PR=s.enum(["session","day","week","month","lifetime"]).meta({id:"CapPeriod","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr}),$6=s.object({count:s.number().int().positive().meta(ne),period:PR.meta(ne)}).meta({id:"PlacementCapRule","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr});s.object({surface_type:s.string().min(1).meta(ne),rules:s.array($6).meta(ne),cooldown_ms:s.number().int().nonnegative().optional().meta(ne)}).meta({id:"SurfaceTypeCapRule","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":Sr,"x-revturbine-data-classification":"operational"});var k6=s.enum(["open_checkout","view_plans","book_demo","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription","switch_billing_period","extend_trial","open_rt_placement","dismiss","snooze","custom"]).meta({id:"CtaPathType","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr}),Ii=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ne),handle:Ct.meta(ne),description:Kr.meta(ne),category:SR.meta(ne),drag_order_in_category:s.number().int().default(0).meta(ne),surface_slot_id:s.string().optional().meta(ne),entitlement_id:s.string().optional().meta(ne),tier_threshold:s.string().optional().meta(ne),threshold_percent:s.number().min(0).max(100).optional().meta(ne),trial_type:s.enum(["free","reverse"]).optional().meta(ne),trigger_type:s.string().optional().meta(ne),trial_progress_percent:s.number().min(0).max(100).optional().meta(ne),days_before_end:s.number().int().min(0).optional().meta(ne),qualifier:s.enum(["none_always_on","overage_vs_upgrade","time_bound","payment_failed","payment_at_risk"]).optional().meta(ne),activation_window_start:s.string().datetime().optional().meta(ne),activation_window_end:s.string().datetime().optional().meta(ne),metadata:st.meta(ne)}).meta({id:"Placement","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":Sr}),w6=s.object({label:s.string().min(1).max(200).meta(ne),cta_path_type:k6.meta(ne),config_fields:s.record(s.string(),s.unknown()).default({}).meta(ne)}).meta({id:"CtaObject","x-revturbine-schema-persistence":sc,"x-revturbine-schema-exposure":Sr}),Qs=J.merge(ee).merge(oe).merge(Ae).extend({placement_id:s.string().min(1).meta(ne),drag_order:s.number().int().default(0).meta(ne),target_plan_ids:s.array(s.string()).default([]).meta(ne),target_plan_billing_cadences:s.array(s.string()).default([]).meta(ne),target_segments:s.array(s.string()).default([]).meta(ne),surface_slot_ids:s.array(s.string()).default([]).meta(ne),surface_template_id:s.string().min(1).meta(ne),content_fields:s.record(s.string(),s.unknown()).default({}).meta(ne),cta_list:s.array(w6).default([]).meta(ne),max_per_period:s.number().int().min(0).nullable().default(null).meta(ne),max_period_unit:PR.default("session").meta(ne),cooldown_after_dismiss_days:s.number().int().min(0).default(7).meta(ne),recommendation_strategy:s.enum(["next_tier_up","best_value","custom"]).optional().default("next_tier_up").meta(ne),recommendation_plan_override:s.string().optional().meta(ne)}).meta({id:"PlacementPayload","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":Sr});J.merge(ee).merge(oe).merge(Ae).extend({placement_payload_id:s.string().min(1).meta(ne),experiment_id:s.string().min(1).meta(ne),variant_name:s.string().min(1).max(200).meta(ne),is_control:s.boolean().default(false).meta(ne),traffic_allocation_percent:s.number().min(0).max(100).meta(ne),override_fields:s.record(s.string(),s.unknown()).default({}).meta(ne),status:s.enum(["active","paused","complete"]).default("active").meta(ne)}).meta({id:"PlacementVariant","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":P6});var T6=J.merge(ee).merge(oe).merge(Ae).extend({surface_slot_handle:s.string().min(1).max(200).meta(ne),surface_type:vd.meta(ne),surface_template_ids:s.array(s.string()).default([]).meta(ne),surface_slot_category:s.enum(["fixed","gated","triggered"]).default("fixed").meta(ne),first_seen:s.string().datetime().meta({...ne,readOnly:true}),last_seen:s.string().datetime().meta({...ne,readOnly:true}),status:s.enum(["active","inactive","new"]).default("new").meta(ne),placement_count:s.number().int().min(0).default(0).meta({...ne,readOnly:true})}).meta({id:"SurfaceSlot","x-revturbine-schema-persistence":ac,"x-revturbine-schema-exposure":Sr}),R6=Rt(Ii),C6=Rt(Qs);({"/api/placements":{get:b({operationId:"listPlacements",requestParams:{query:ie},summary:"List placements",tags:["placements"],responses:{200:{description:"Placement list",content:{"application/json":{schema:re(Ii)}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"list"}}}),post:b({operationId:"createPlacement",summary:"Create placement",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ii)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ii}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"create"}}})},"/api/placements/{placementId}":{get:b({operationId:"getPlacement",requestParams:{path:s.object({placementId:s.string()})},summary:"Get placement",tags:["placements"],responses:{200:{description:"Placement detail",content:{"application/json":{schema:Ii}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"get"}}}),patch:b({operationId:"updatePlacement",requestParams:{path:s.object({placementId:s.string()})},summary:"Update placement",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:R6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ii}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"update"}}}),delete:b({operationId:"deletePlacement",requestParams:{path:s.object({placementId:s.string()})},summary:"Delete placement",tags:["placements"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"delete"}}})},"/api/placements/{placementId}/duplicate":{post:b({operationId:"duplicatePlacement",requestParams:{path:s.object({placementId:s.string()})},summary:"Duplicate placement",tags:["placements"],responses:{201:{description:"Duplicated",content:{"application/json":{schema:Ii}}}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"duplicate"}}})},"/api/placements/reorder":{post:b({operationId:"reorderPlacements",summary:"Reorder placements within category",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:s.object({category:SR,ids:s.array(s.string())})}}},responses:{200:{description:"Reordered"}},"x-revturbine-operation":{exposure:"external",resource:"placements",persistence:{table:"placements",mode:"reorder"}}})},"/api/placements/{placementId}/payloads":{get:b({operationId:"listPlacementPayloads",requestParams:{path:s.object({placementId:s.string()}),query:ie},summary:"List placement payloads",tags:["placements"],responses:{200:{description:"Payload list",content:{"application/json":{schema:re(Qs)}}}},"x-revturbine-operation":{exposure:"external",resource:"placement-payloads",persistence:{table:"placementPayloads",mode:"list"}}}),post:b({operationId:"createPlacementPayload",requestParams:{path:s.object({placementId:s.string()})},summary:"Create placement payload",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:Tt(Qs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Qs}}}},"x-revturbine-operation":{exposure:"external",resource:"placement-payloads",persistence:{table:"placementPayloads",mode:"create"}}})},"/api/placement-payloads/{payloadId}":{patch:b({operationId:"updatePlacementPayload",requestParams:{path:s.object({payloadId:s.string()})},summary:"Update placement payload",tags:["placements"],requestBody:{required:true,content:{"application/json":{schema:C6}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Qs}}}},"x-revturbine-operation":{exposure:"external",resource:"placement-payloads",persistence:{table:"placementPayloads",mode:"update"}}}),delete:b({operationId:"deletePlacementPayload",requestParams:{path:s.object({payloadId:s.string()})},summary:"Delete placement payload",tags:["placements"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"external",resource:"placement-payloads",persistence:{table:"placementPayloads",mode:"delete"}}})},"/api/surface-slots":{get:b({operationId:"listSurfaceSlots",requestParams:{query:ie},summary:"List auto-discovered surface slots",tags:["placements"],responses:{200:{description:"Surface slot list",content:{"application/json":{schema:re(T6)}}}},"x-revturbine-operation":{exposure:"external",resource:"surface-slots",persistence:{table:"surfaceSlots",mode:"list"}}})}});var {Unrestricted:ke,Pii:ec}=mt,{Persisted:$R,Transient:Sd}=ut,{External:cc}=dt,Gv=s.object({in_trial:s.boolean().meta(ke),trial_type:s.string().optional().meta(ke),plan_handle:s.string().optional().meta(ke),state:s.enum(["active","running_out","expired","converted","none"]).optional().meta(ke),trial_limit_type:s.enum(["time","usage"]).optional().meta(ke),progress_percent:s.number().min(0).max(100).optional().meta(ke),day_number:s.number().int().min(0).optional().meta(ke),days_remaining:s.number().int().min(0).optional().meta(ke),usage_entitlement_handle:s.string().optional().meta(ke),usage_consumed:s.number().int().min(0).optional().meta(ke),usage_remaining:s.number().int().min(0).optional().meta(ke),usage_limit:s.number().int().min(0).optional().meta(ke)}).meta({id:"UserTrialStatus","x-revturbine-schema-persistence":Sd,"x-revturbine-schema-exposure":cc}),kR=s.object({entitlement_handle:s.string().min(1).meta(ke),unit:s.string().min(1).meta(ke),amount:s.number().min(0).meta(ke),limit:s.number().min(0).optional().meta(ke),reset_date:s.string().optional().meta(ke)}).meta({id:"UserUsageEntry","x-revturbine-schema-persistence":Sd,"x-revturbine-schema-exposure":cc}),wR=s.object({id:s.string().min(1).meta(ke),name:s.string().min(1).meta(ke),price:s.string().optional().meta(ke),billing_period:s.enum(["monthly","annual","none"]).optional().meta(ke)}).meta({id:"UserPlanContext","x-revturbine-schema-persistence":Sd,"x-revturbine-schema-exposure":cc}),E6=s.object({product_instance_id:s.string().min(1).meta(ke),user_id:s.string().min(1).meta(ec),plan:wR.optional().meta(ke),usage:s.record(s.string(),kR).default({}).meta(ke),trial:Gv.optional().meta(ke),entitlements:s.record(s.string(),s.union([s.boolean(),tc])).default({}).meta(ke)}).meta({id:"UserInstanceContext","x-revturbine-schema-persistence":$R,"x-revturbine-schema-exposure":cc}),Do=J.merge(oe).merge(ee).extend({user_id:s.string().min(1).meta(ec),account_id:s.string().min(1).nullable().optional().meta(ec),email:s.string().email().nullable().optional().meta(ec),email_type:s.string().optional().meta(ke),plan:wR.optional().meta(ke),usage:s.record(s.string(),kR).default({}).meta(ke),trial:Gv.optional().meta(ke),entitlements:s.record(s.string(),s.union([s.boolean(),tc])).default({}).meta(ke),instances:s.array(E6).optional().meta(ke),custom:s.record(s.string(),s.union([s.string(),s.number(),s.boolean(),s.null()])).default({}).meta(ec),personalization:s.record(s.string(),s.union([s.string(),s.number()])).default({}).meta({...ke,"x-revturbine-schema-persistence":Sd}),derived_config_version:s.string().nullable().optional().meta(ke),context_hash:s.string().nullable().optional().meta(ke),derived_computed_at:ot.meta(ke)}).meta({id:"UserContext","x-revturbine-schema-persistence":$R,"x-revturbine-schema-exposure":cc});({"/api/user-contexts":{get:b({operationId:"listUserContexts",requestParams:{query:ie},summary:"List user contexts",tags:["users"],responses:{200:{description:"User context list",content:{"application/json":{schema:re(Do)}}}},"x-revturbine-operation":{exposure:"internal",resource:"user-contexts",persistence:{table:"userContexts",mode:"list"}}})},"/api/user-contexts/{userContextId}":{get:b({operationId:"getUserContext",requestParams:{path:s.object({userContextId:s.string()})},summary:"Get user context",tags:["users"],responses:{200:{description:"User context",content:{"application/json":{schema:Do}}}},"x-revturbine-operation":{exposure:"internal",resource:"user-contexts",persistence:{table:"userContexts",mode:"get"}}}),patch:b({operationId:"updateUserContext",requestParams:{path:s.object({userContextId:s.string()})},summary:"Update a user context",tags:["users"],requestBody:{required:true,content:{"application/json":{schema:Do.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Do}}}},"x-revturbine-operation":{exposure:"internal",resource:"user-contexts",persistence:{table:"userContexts",mode:"update"}}}),delete:b({operationId:"deleteUserContext",requestParams:{path:s.object({userContextId:s.string()})},summary:"Delete a user context",tags:["users"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"user-contexts",persistence:{table:"userContexts",mode:"delete"}}})}});var {Unrestricted:Qt,Pii:Xo}=mt,{Persisted:Jv,Transient:Wv}=ut,{Internal:Qo}=dt,z6=s.object({external_id:s.string().min(1).meta(Xo),traits:s.record(s.string(),s.unknown()).default({}).meta(Xo),plan_id:s.string().optional().meta(Qt)}).meta({id:"Identity","x-revturbine-schema-persistence":Jv,"x-revturbine-schema-exposure":Qo}),sR=J.merge(ee).merge(oe).extend({external_id:s.string().min(1).meta(Xo),identity:z6.meta(Xo),stripe_customer_id:s.string().optional().meta(Qt),current_plan_id:s.string().optional().meta(Qt),subscription_status:s.enum(["active","past_due","canceled","trialing","unpaid","none"]).default("none").meta(Qt),status:s.enum(["active","churned","trial","suspended"]).default("active").meta(Qt),metadata:st.meta(Qt)}).meta({id:"Customer","x-revturbine-schema-persistence":Jv,"x-revturbine-schema-exposure":Qo}),j6=s.enum(["permanent","for_duration"]).meta({id:"CustomerOverrideDuration","x-revturbine-schema-persistence":Wv,"x-revturbine-schema-exposure":Qo}),U6=s.enum(["grant_plan","grant_addon","grant_entitlement"]).meta({id:"CustomerOverrideType","x-revturbine-schema-persistence":Wv,"x-revturbine-schema-exposure":Qo}),O6=s.enum(["active","expired","revoked"]).meta({id:"CustomerOverrideStatus","x-revturbine-schema-persistence":Wv,"x-revturbine-schema-exposure":Qo}),Vr=J.merge(ee).merge(oe).merge(Ae).extend({customer_id:s.string().min(1).meta(Xo),customer_id_list:s.array(s.string()).optional().meta(Xo),override_type:U6.meta(Qt),target_id:s.string().min(1).meta(Qt),value:s.record(s.string(),s.unknown()).default({}).meta(Qt),duration_type:j6.default("permanent").meta(Qt),duration_value:s.string().optional().meta(Qt),expiry_date:ot.meta(Qt),status:O6.default("active").meta(Qt),reason:s.string().max(500).optional().meta(Qt),created_by:s.string().optional().meta(Qt)}).meta({id:"CustomerOverride","x-revturbine-schema-persistence":Jv,"x-revturbine-schema-exposure":Qo});({"/api/customers":{get:b({operationId:"listCustomers",requestParams:{query:ie},summary:"List customers",tags:["customers"],responses:{200:{description:"Customer list",content:{"application/json":{schema:re(sR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"customers",persistence:{table:"customers",mode:"list"}}})},"/api/customers/{customerId}":{get:b({operationId:"getCustomer",requestParams:{path:s.object({customerId:s.string()})},summary:"Get customer by ID",tags:["customers"],responses:{200:{description:"Customer",content:{"application/json":{schema:sR}}}},"x-revturbine-operation":{exposure:"internal",resource:"customers",persistence:{table:"customers",mode:"get"}}})},"/api/customer-overrides":{get:b({operationId:"listCustomerOverrides",requestParams:{query:ie},summary:"List customer overrides",tags:["customers"],responses:{200:{description:"Override list",content:{"application/json":{schema:re(Vr)}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"list"}}})},"/api/customer-overrides/{overrideId}":{get:b({operationId:"getCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Get customer override",tags:["customers"],responses:{200:{description:"Override",content:{"application/json":{schema:Vr}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"get"}}}),patch:b({operationId:"updateCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Update customer override",tags:["customers"],requestBody:{required:true,content:{"application/json":{schema:Vr.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Vr}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"update"}}}),delete:b({operationId:"deleteCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Delete customer override",tags:["customers"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"delete"}}})},"/api/customer-overrides/{overrideId}/revoke":{post:b({operationId:"revokeCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Revoke an active customer override",tags:["customers"],responses:{200:{description:"Revoked",content:{"application/json":{schema:Vr}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"update"}}})},"/api/customer-overrides/{overrideId}/duplicate":{post:b({operationId:"duplicateCustomerOverride",requestParams:{path:s.object({overrideId:s.string()})},summary:"Duplicate customer override for another customer",tags:["customers"],requestBody:{required:true,content:{"application/json":{schema:s.object({customer_id:s.string()})}}},responses:{201:{description:"Duplicated",content:{"application/json":{schema:Vr}}}},"x-revturbine-operation":{exposure:"internal",resource:"customer-overrides",persistence:{table:"customerOverrides",mode:"create"}}})}});var {Unrestricted:Pt}=mt,{Persisted:Xv,Transient:TR}=ut,{Internal:lc}=dt,D6=s.enum(["default","custom"]).meta({id:"DimensionCategory","x-revturbine-schema-persistence":TR,"x-revturbine-schema-exposure":lc}),A6=s.enum(["system","sdk_trait","sdk_trait_enum","cdp_property","manual_list"]).meta({id:"DimensionSourceType","x-revturbine-schema-persistence":TR,"x-revturbine-schema-exposure":lc}),jv=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(Pt),handle:Ct.optional().meta(Pt),category:D6.default("custom").meta(Pt),visibility_toggle:s.boolean().default(true).meta(Pt),source_type:A6.default("system").meta(Pt),estimated_size:s.number().int().min(0).optional().meta(Pt)}).meta({id:"SegmentDimension","x-revturbine-schema-persistence":Xv,"x-revturbine-schema-exposure":lc}),Uv=J.merge(ee).merge(oe).merge(Ae).extend({dimension_id:s.string().min(1).meta(Pt),name:at.meta(Pt),handle:Ct.meta(Pt),description:Kr.meta(Pt),definition_rule:s.record(s.string(),s.unknown()).optional().meta(Pt),used_in_count:s.number().int().min(0).default(0).meta({...Pt,readOnly:true})}).meta({id:"SegmentValue","x-revturbine-schema-persistence":Xv,"x-revturbine-schema-exposure":lc});J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(Pt),handle:Ct.meta(Pt),description:Kr.meta(Pt),rules:s.record(s.string(),s.unknown()).default({}).meta(Pt),is_active:s.boolean().default(true).meta(Pt),estimated_size:s.number().int().min(0).nullable().default(null).meta(Pt),metadata:st.meta(Pt)}).meta({id:"Segment","x-revturbine-schema-persistence":Xv,"x-revturbine-schema-exposure":lc});({"/api/segments":{get:b({operationId:"listSegmentDimensions",requestParams:{query:ie},summary:"List segment dimensions",tags:["segments"],responses:{200:{description:"Dimension list",content:{"application/json":{schema:re(jv)}}}},"x-revturbine-operation":{exposure:"internal",resource:"segments",persistence:{table:"segmentDimensions",mode:"list"}}})},"/api/segments/custom":{post:b({operationId:"createCustomDimension",summary:"Create custom segment dimension",tags:["segments"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string(),description:s.string().optional()})}}},responses:{201:{description:"Created",content:{"application/json":{schema:jv}}}},"x-revturbine-operation":{exposure:"internal",resource:"segments",persistence:{table:"segmentDimensions",mode:"create"}}})},"/api/segments/{dimensionId}":{delete:b({operationId:"deleteCustomDimension",requestParams:{path:s.object({dimensionId:s.string()})},summary:"Delete custom dimension",tags:["segments"],responses:{204:{description:"Deleted"},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"segments",persistence:{table:"segmentDimensions",mode:"delete"}}})},"/api/segments/{dimensionId}/visibility":{patch:b({operationId:"toggleDimensionVisibility",requestParams:{path:s.object({dimensionId:s.string()})},summary:"Toggle dimension visibility",tags:["segments"],requestBody:{required:true,content:{"application/json":{schema:s.object({visible:s.boolean()})}}},responses:{200:{description:"Updated",content:{"application/json":{schema:jv}}}},"x-revturbine-operation":{exposure:"internal",resource:"segments",persistence:{table:"segmentDimensions",mode:"update"}}})},"/api/segments/{dimensionId}/values":{get:b({operationId:"listSegmentValues",requestParams:{path:s.object({dimensionId:s.string()}),query:ie},summary:"List segment values for dimension",tags:["segments"],responses:{200:{description:"Value list",content:{"application/json":{schema:re(Uv)}}}},"x-revturbine-operation":{exposure:"internal",resource:"segment-values",persistence:{table:"segmentValues",mode:"list"}}}),post:b({operationId:"createSegmentValue",requestParams:{path:s.object({dimensionId:s.string()})},summary:"Create segment value",tags:["segments"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string(),handle:s.string(),definition_rule:s.record(s.string(),s.unknown()).optional()})}}},responses:{201:{description:"Created",content:{"application/json":{schema:Uv}}}},"x-revturbine-operation":{exposure:"internal",resource:"segment-values",persistence:{table:"segmentValues",mode:"create"}}})},"/api/segment-values/{valueId}":{patch:b({operationId:"updateSegmentValue",requestParams:{path:s.object({valueId:s.string()})},summary:"Update segment value",tags:["segments"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().optional(),definition_rule:s.record(s.string(),s.unknown()).optional()})}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Uv}}}},"x-revturbine-operation":{exposure:"internal",resource:"segment-values",persistence:{table:"segmentValues",mode:"update"}}}),delete:b({operationId:"deleteSegmentValue",requestParams:{path:s.object({valueId:s.string()})},summary:"Delete segment value",tags:["segments"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"segment-values",persistence:{table:"segmentValues",mode:"delete"}}})}});var {Unrestricted:ye}=mt,{Persisted:ea,Transient:RR}=ut,{External:Gr}=dt;J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ye),channel:s.enum(["in_app","email","push","sms","webhook"]).meta(ye),subject:s.string().max(500).optional().meta(ye),body:s.string().meta(ye),template_variables:s.array(s.string()).default([]).meta(ye),metadata:st.meta(ye)}).meta({id:"Message","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr});var Ov=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ye),handle:Ct.meta(ye),action_type:_R.meta(ye),target_url:s.string().optional().meta(ye),target_plan_id:s.string().optional().meta(ye),config_fields:s.record(s.string(),s.unknown()).default({}).meta(ye),metadata:st.meta(ye)}).meta({id:"CtaPath","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),N6=s.enum(["header","body","secondary_body","message","cta_label","secondary_label","image","toggle","duration","send_delay","entitlement","plan","dropdown","json"]).meta({id:"TemplateFieldType","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),F6=s.object({name:s.string().min(1),field_type:N6,required:s.boolean().default(false),default_value:s.unknown().optional(),order:s.number().int().min(0).optional(),help_text:s.string().max(500).optional()}).meta({id:"FieldDefinition","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),Dv=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ye),handle:Ct.meta(ye),surface_type:bR.meta(ye),field_definitions:s.array(F6).default([]).meta(ye),description:Kr.meta(ye)}).meta({id:"SurfaceTemplate","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),Av=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(ye),handle:Ct.meta(ye),content_fields:s.record(s.string(),s.unknown()).default({}).meta(ye),variation_dimension_id:s.string().optional().meta(ye),variation_values:s.array(s.object({segment_value_id:s.string(),content_fields_override:s.record(s.string(),s.unknown())})).optional().meta(ye),notes:s.string().max(1e3).optional().meta(ye),used_in_count:s.number().int().min(0).default(0).meta({...ye,readOnly:true})}).meta({id:"MessageBlockRecord","x-revturbine-schema-persistence":ea,"x-revturbine-schema-exposure":Gr}),L6=s.object({segment_id:s.string().min(1).meta(ye),message_block_id:s.string().min(1).meta(ye),ui_path_id:s.string().optional().meta(ye),promotion_id:s.string().optional().meta(ye)}).meta({id:"ContentPayloadSegmentEntry","x-revturbine-schema-persistence":RR,"x-revturbine-schema-exposure":Gr});s.object({payload_id:s.string().min(1).meta(ye),tenant_id:s.string().min(1).meta(ye),name:at.meta(ye),surface_template_id:s.string().min(1).meta(ye),default_message_block_id:s.string().min(1).meta(ye),segment_content_map:s.array(L6).optional().meta(ye),ui_path_id:s.string().optional().meta(ye),promotion_id:s.string().optional().meta(ye),status:s.enum(["draft","active","inactive"]).meta(ye),created_at:s.string().datetime().optional().meta({...ye,readOnly:true}),updated_at:s.string().datetime().optional().meta({...ye,readOnly:true})}).meta({id:"ContentPlacementPayload","x-revturbine-schema-persistence":RR,"x-revturbine-schema-exposure":Gr});({"/api/surface-templates":{get:b({operationId:"listSurfaceTemplates",requestParams:{query:ie},summary:"List surface templates",tags:["content"],responses:{200:{description:"Template list",content:{"application/json":{schema:re(Dv)}}}},"x-revturbine-operation":{exposure:"external",resource:"surface-templates",persistence:{table:"surfaceTemplates",mode:"list"}}})},"/api/messages":{get:b({operationId:"listMessageBlocks",requestParams:{query:ie},summary:"List message blocks",tags:["content"],responses:{200:{description:"Message block list",content:{"application/json":{schema:re(Av)}}}},"x-revturbine-operation":{exposure:"external",resource:"message-blocks",persistence:{table:"messageBlocks",mode:"list"}}})},"/api/cta-paths":{get:b({operationId:"listCtaPaths",requestParams:{query:ie},summary:"List CTA paths",tags:["content"],responses:{200:{description:"CTA path list",content:{"application/json":{schema:re(Ov)}}}},"x-revturbine-operation":{exposure:"external",resource:"cta-paths",persistence:{table:"ctaPaths",mode:"list"}}})}});var {Unrestricted:Wo,Pii:Z6}=mt,{Persisted:CR}=ut,{Internal:B6,External:M6}=dt;s.object({id:s.string().min(1).meta({...Wo,readOnly:true}),name:s.string().min(1).max(120).meta(Wo),mode:s.enum(["light","dark","system"]).default("system").meta(Wo),tokens:s.record(s.string(),s.string()).default({}).meta(Wo)}).meta({id:"Theme","x-revturbine-schema-persistence":CR,"x-revturbine-schema-exposure":M6});var cR=J.merge(ee).extend({user_id:s.string().min(1).meta(Z6),scope:s.string().min(1).meta(Wo),preferences:s.record(s.string(),s.unknown()).default({}).meta(Wo)}).meta({id:"UiPreference","x-revturbine-schema-persistence":CR,"x-revturbine-schema-exposure":B6});({"/api/ui-preferences":{get:b({operationId:"listUiPreferences",requestParams:{query:ie},summary:"List UI preferences",tags:["ui"],responses:{200:{description:"UI preferences list response",content:{"application/json":{schema:re(cR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"ui-preferences",persistence:{table:"uiPreferences",mode:"list"}}}),put:b({operationId:"upsertUiPreferences",summary:"Upsert UI preferences",tags:["ui"],requestBody:{required:true,content:{"application/json":{schema:s.array(Rt(cR))}}},responses:{200:{description:"UI preferences upsert response",content:{"application/json":{schema:s.object({updated:s.number().int().min(0)})}}}},"x-revturbine-operation":{exposure:"internal",resource:"ui-preferences",persistence:{table:"uiPreferences",mode:"upsert",writeSchema:"UiPreferenceSchema#writable"}}})}});var {Unrestricted:ge,Financial:or}=mt,{Persisted:ER,Transient:uc}=ut,{External:dc,Internal:zR}=dt,V6=s.object({month:s.string().meta(ge),cohort_size:s.number().int().min(0).meta(ge),retained:s.number().int().min(0).meta(ge),retention_rate:s.number().min(0).max(1).meta(ge),revenue_cents:s.number().int().min(0).meta(or)}).meta({id:"CohortMonth","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),q6=s.object({step:s.string().meta(ge),label:s.string().meta(ge),count:s.number().int().min(0).meta(ge),conversion_rate:s.number().min(0).max(1).meta(ge),drop_off_rate:s.number().min(0).max(1).meta(ge)}).meta({id:"FunnelStep","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),H6=s.object({placement_id:s.string().meta(ge),placement_name:s.string().meta(ge),impressions:s.number().int().min(0).meta(ge),clicks:s.number().int().min(0).meta(ge),conversions:s.number().int().min(0).meta(ge),ctr:s.number().min(0).meta(ge),conversion_rate:s.number().min(0).meta(ge),revenue_cents:s.number().int().min(0).meta(or)}).meta({id:"PlacementPerformanceRow","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),K6=s.object({date:s.string().meta(ge),mrr_cents:s.number().int().min(0).meta(or),arr_cents:s.number().int().min(0).meta(or),new_mrr_cents:s.number().int().min(0).meta(or),churned_mrr_cents:s.number().int().min(0).meta(or),expansion_mrr_cents:s.number().int().min(0).meta(or),net_new_mrr_cents:s.number().int().meta(or)}).meta({id:"RevenueMetric","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),G6=s.object({metric_key:s.string().min(1).meta(ge),label:s.string().meta(ge),current_value:s.number().meta(or),previous_value:s.number().nullable().default(null).meta(or),change_percent:s.number().nullable().default(null).meta(ge),period:s.string().meta(ge),unit:s.enum(["count","cents","percent","ratio","seconds"]).default("count").meta(ge)}).meta({id:"KpiAggregate","x-revturbine-schema-persistence":uc,"x-revturbine-schema-exposure":dc}),lR=J.merge(ee).merge(oe).extend({report_type:s.enum(["plan_drift","entitlement_drift","usage_anomaly","revenue_anomaly"]).meta(ge),severity:Vv.meta(ge),resource_type:s.string().min(1).meta(ge),resource_id:s.string().min(1).meta(ge),summary:s.string().max(1e3).meta(ge),expected_value:s.unknown().optional().meta(ge),actual_value:s.unknown().optional().meta(ge),affected_customer_count:s.number().int().min(0).default(0).meta(ge),is_resolved:s.boolean().default(false).meta(ge),resolved_at:ot.meta(ge),metadata:st.meta(ge)}).meta({id:"DriftReport","x-revturbine-schema-persistence":ER,"x-revturbine-schema-exposure":zR}),uR=J.merge(ee).merge(oe).extend({alert_type:s.enum(["usage_threshold","revenue_drop","conversion_drop","experiment_significance","drift_detected","custom"]).meta(ge),severity:Vv.meta(ge),title:s.string().min(1).max(300).meta(ge),description:s.string().max(2e3).meta(ge),resource_type:s.string().optional().meta(ge),resource_id:s.string().optional().meta(ge),is_acknowledged:s.boolean().default(false).meta(ge),acknowledged_at:ot.meta(ge),acknowledged_by:s.string().nullable().default(null).meta(ge),metadata:st.meta(ge)}).meta({id:"Alert","x-revturbine-schema-persistence":ER,"x-revturbine-schema-exposure":zR});({"/api/analytics/kpis":{get:b({operationId:"listKpiAggregates",requestParams:{query:ie},summary:"List KPI aggregate metrics",tags:["analytics"],responses:{200:{description:"KPI list",content:{"application/json":{schema:re(G6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"kpiAggregates",mode:"list"}}})},"/api/analytics/placement-performance":{get:b({operationId:"listPlacementPerformance",requestParams:{query:ie},summary:"List placement performance rows",tags:["analytics"],responses:{200:{description:"Performance rows",content:{"application/json":{schema:re(H6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"placementPerformance",mode:"list"}}})},"/api/analytics/revenue":{get:b({operationId:"listRevenueMetrics",requestParams:{query:ie},summary:"List revenue metrics over time",tags:["analytics"],responses:{200:{description:"Revenue metrics",content:{"application/json":{schema:re(K6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"revenueMetrics",mode:"list"}}})},"/api/analytics/cohorts":{get:b({operationId:"listCohortMetrics",requestParams:{query:ie},summary:"List cohort retention metrics",tags:["analytics"],responses:{200:{description:"Cohort metrics",content:{"application/json":{schema:re(V6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"cohortMetrics",mode:"list"}}})},"/api/analytics/funnels":{get:b({operationId:"listFunnelSteps",requestParams:{query:ie},summary:"List funnel step metrics",tags:["analytics"],responses:{200:{description:"Funnel steps",content:{"application/json":{schema:re(q6)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"funnelSteps",mode:"list"}}})},"/api/analytics/drift-reports":{get:b({operationId:"listDriftReports",requestParams:{query:ie},summary:"List drift reports",tags:["analytics"],responses:{200:{description:"Drift reports",content:{"application/json":{schema:re(lR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"driftReports",mode:"list"}}})},"/api/analytics/drift-reports/{reportId}/resolve":{post:b({operationId:"resolveDriftReport",requestParams:{path:s.object({reportId:s.string()})},summary:"Mark a drift report as resolved",tags:["analytics"],responses:{200:{description:"Resolved",content:{"application/json":{schema:lR}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"driftReports",mode:"update"}}})},"/api/analytics/alerts":{get:b({operationId:"listAlerts",requestParams:{query:ie},summary:"List alerts",tags:["analytics"],responses:{200:{description:"Alert list",content:{"application/json":{schema:re(uR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"alerts",mode:"list"}}})},"/api/analytics/alerts/{alertId}/acknowledge":{post:b({operationId:"acknowledgeAlert",requestParams:{path:s.object({alertId:s.string()})},summary:"Acknowledge an alert",tags:["analytics"],responses:{200:{description:"Acknowledged",content:{"application/json":{schema:uR}}}},"x-revturbine-operation":{exposure:"internal",resource:"analytics",persistence:{table:"alerts",mode:"update"}}})}});var {Unrestricted:Z,Pii:Yo}=mt,{Persisted:jR,Transient:ct}=ut,{Internal:Jr,External:Et}=dt,UR=s.enum(["clickstream","telemetry","sdk","workflow","system"]).meta({id:"EventSource","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et}),J6=J.extend({event_type:s.string().min(1).meta(Z),source:UR.default("sdk").meta(Z),tenant_id:s.string().min(1).optional().meta(Z),user_id:s.string().min(1).optional().meta(Yo),session_id:s.string().min(1).optional().meta(Yo),occurred_at:s.string().datetime().meta(Z),request_id:s.string().min(1).meta(Z),attributes:s.record(s.string(),s.unknown()).default({}).meta(Z),payload:s.record(s.string(),s.unknown()).default({}).meta(Z)}).meta({id:"EventEnvelope","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr}),W6=J6.extend({ingested_at:s.string().datetime().meta(Z)}).meta({id:"IngestedEvent","x-revturbine-schema-persistence":jR,"x-revturbine-schema-exposure":Jr});s.array(s.object({id:s.string().min(1).optional().meta(Z),event_type:s.string().min(1).meta(Z),occurred_at:s.string().datetime().optional().meta(Z),tenant_id:s.string().min(1).optional().meta(Z),user_id:s.string().min(1).optional().meta(Yo),session_id:s.string().min(1).optional().meta(Yo),attributes:s.record(s.string(),s.unknown()).optional().meta(Z),payload:s.record(s.string(),s.unknown()).optional().meta(Z),message:s.string().optional().meta(Z),level:s.string().optional().meta(Z),path:s.string().optional().meta(Z)})).meta({id:"EventIngestBatch","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr});var X6=s.enum(["impression","dismiss","remind_me_later","cta_clicked","cta_completed","suppress"]).meta({id:"TreatmentInteractionType","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({user_id:s.string().min(1).meta(Yo),placement_id:s.string().min(1).meta(Z),treatment_id:s.string().min(1).optional().meta(Z),surface_slot_id:s.string().min(1).optional().meta(Z),surface_template_id:s.string().min(1).optional().meta(Z),payload_id:s.string().min(1).optional().meta(Z),interaction_type:X6.meta(Z),interaction_at:s.string().datetime().optional().meta(Z),metadata:s.record(s.string(),s.unknown()).optional().meta(Z)}).meta({id:"TreatmentInteractionInput","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.enum(["trial_midpoint","trial_expiring","trial_expired","usage_limit_approaching","usage_limit_reached","credit_balance_low","seat_limit_reached","feature_gated","cancel_intent","payment_failed","auto_renewal_reminder","onboarding_complete","invite_teammate_prompt","referral_offer","plan_upgrade_nudge"]).meta({id:"TriggerEventType","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({days_remaining:s.number().int().min(0).optional().meta(Z)}).meta({id:"TrialTriggerPayload","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({entitlement_handle:s.string().optional().meta(Z),current_usage:s.number().min(0).optional().meta(Z),usage_limit:s.number().min(0).optional().meta(Z),usage_percent:s.number().min(0).max(100).optional().meta(Z),threshold:s.number().min(0).optional().meta(Z),balance:s.number().min(0).optional().meta(Z),allocation:s.number().min(0).optional().meta(Z),seats_used:s.number().int().min(0).optional().meta(Z),seats_allowed:s.number().int().min(0).optional().meta(Z)}).meta({id:"UsageTriggerPayload","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({feature:s.string().min(1).meta(Z)}).meta({id:"FeatureGateTriggerPayload","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({retry_count:s.number().int().min(0).optional().meta(Z),renewal_date:s.string().optional().meta(Z)}).meta({id:"PaymentTriggerPayload","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({event_type:s.string().min(1).meta(Z),payload:s.record(s.string(),s.unknown()).default({}).meta(Z)}).meta({id:"SemanticEvent","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});var Q6=s.enum(["system","workflow"]).meta({id:"ControlPlaneEventSource","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et}),eD=s.enum(["web_signed_up","web_signed_in","cli_signed_up","cli_signed_in","cli_command_executed","changeset_submitted","changeset_approved","changeset_rejected","changeset_deployed","changeset_launched","changeset_parked","changeset_resumed","changeset_discarded","changeset_archived","config_imported","config_exported","entity_created","entity_updated","entity_deleted"]).meta({id:"ControlPlaneEventType","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({event_type:eD.meta(Z),source:Q6.meta(Z),payload:s.record(s.string(),s.unknown()).default({}).meta(Z)}).meta({id:"ControlPlaneSemanticEvent","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({q:s.string().optional().meta(Z),source:UR.optional().meta(Z),event_type:s.string().optional().meta(Z),from:s.string().datetime().optional().meta(Z),to:s.string().datetime().optional().meta(Z),page:s.coerce.number().int().min(1).default(1).meta(Z),per_page:s.coerce.number().int().min(1).max(100).default(25).meta(Z)}).meta({id:"EventSearchParams","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr});var tD=s.enum(["stripe","apple","google"]).meta({id:"WebhookEventSource","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr}),nD=s.enum(["processed","failed","skipped"]).meta({id:"WebhookEventStatus","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr}),Nv=J.merge(ee).merge(oe).extend({event_id:s.string().min(1).meta(Z),event_type:s.string().min(1).meta(Z),source:tD.meta(Z),payload:s.record(s.string(),s.unknown()).default({}).meta(Z),status:nD.default("processed").meta(Z),processed_at:s.string().datetime().optional().meta(Z),error_message:s.string().optional().meta(Z)}).meta({id:"WebhookEventLog","x-revturbine-schema-persistence":jR,"x-revturbine-schema-exposure":Jr});s.object({accepted:s.number().int().min(0).meta(Z)}).meta({id:"null","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Jr});var rD=500,iD=s.object({environment_id:s.string().min(1).meta(Z),user_id:s.string().min(1).meta(Yo),account_id:s.string().min(1).meta(Z),event_name:s.string().min(1).max(120).meta(Z),event_ts:s.string().datetime().meta(Z),properties:s.string().optional().meta(Z),surface_slot_id:s.string().nullable().optional().meta(Z),placement_id:s.string().nullable().optional().meta(Z),payload_id:s.string().nullable().optional().meta(Z),request_id:s.string().optional().meta(Z),experiment_id:s.string().nullable().optional().meta(Z),variant_key:s.string().nullable().optional().meta(Z),tenant_id:s.string().optional().meta(Z)}).meta({id:"TrackEvent","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({events:s.array(iD).min(1).max(rD).meta(Z)}).meta({id:"TrackIngestBatch","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});var aD=10,sD=s.enum(["sdk_init","sdk_error","sdk_validation_warning"]).meta({id:"SdkMetaEventType","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et}),cD=s.object({plans:s.number().int().min(0).meta(Z),entitlements:s.number().int().min(0).meta(Z),entitlement_rules:s.number().int().min(0).meta(Z),segments:s.number().int().min(0).meta(Z),placements:s.number().int().min(0).meta(Z),placement_payloads:s.number().int().min(0).meta(Z),content_ui_paths:s.number().int().min(0).meta(Z),surface_templates:s.number().int().min(0).meta(Z)}).meta({id:"SdkConfigShape","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et}),lD=s.object({event_type:sD.meta(Z),occurred_at:s.string().datetime().meta(Z),request_id:s.string().min(1).optional().meta(Z),config_hash_id:s.string().min(1).max(64).optional().meta(Z),sdk_version:s.string().min(1).max(64).optional().meta(Z),runtime_mode:s.string().min(1).max(64).optional().meta(Z),schema_version:s.string().min(1).max(64).optional().meta(Z),bundle_version:s.string().min(1).max(64).optional().meta(Z),config_shape:cD.optional().meta(Z),message:s.string().max(500).optional().meta(Z)}).meta({id:"SdkMetaEvent","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});s.object({events:s.array(lD).min(1).max(aD).meta(Z)}).meta({id:"SdkMetaIngestBatch","x-revturbine-schema-persistence":ct,"x-revturbine-schema-exposure":Et});({"/api/events/search":{get:b({operationId:"searchEvents",summary:"Search ingested events",tags:["events"],responses:{200:{description:"Paginated event results",content:{"application/json":{schema:a6(W6)}}},default:{description:"Error response",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"events"}})},"/api/webhook-events":{get:b({operationId:"listWebhookEvents",requestParams:{query:ie},summary:"List webhook event log entries",tags:["events"],responses:{200:{description:"Webhook event list",content:{"application/json":{schema:re(Nv)}}}},"x-revturbine-operation":{exposure:"internal",resource:"webhook-events",persistence:{table:"webhookEventLog",mode:"list"}}})}});var {Unrestricted:ue}=mt,{Persisted:mc,Transient:pc}=ut,{Internal:ar}=dt,dD=s.enum(["not_started","active","expired","converted","cancelled"]).meta({id:"TrialStatus","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),Yv=s.enum(["time","usage"]).meta({id:"TrialLimitType","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),OR=s.object({name:at.meta(ue),handle:Ct.meta(ue),plan_id:s.string().nullable().optional().meta(ue),segment_id:s.string().nullable().optional().meta(ue),trial_limit_type:Yv.default("time").meta(ue),duration_days:s.number().int().min(1).max(365).nullable().optional().meta(ue),grace_period_days:s.number().int().min(0).default(0).meta(ue),usage_entitlement_handle:s.string().min(1).optional().meta(ue),usage_limit_value:s.number().int().min(1).optional().meta(ue),require_payment_method:s.boolean().default(false).meta(ue),auto_convert:s.boolean().default(true).meta(ue),convert_to_plan_id:s.string().optional().meta(ue),fallback_plan_id:s.string().optional().meta(ue),limit_per_customer:s.number().int().min(1).default(1).meta(ue),is_active:s.boolean().default(true).meta(ue),metadata:st.meta(ue)}),Ao=J.merge(ee).merge(oe).merge(Ae).merge(OR).meta({id:"FreeTrialRule","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar}),mD=s.enum(["signup","first_premium_access","manual"]).meta({id:"ReverseTrialStartPolicy","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),DR=s.object({name:at.meta(ue),handle:Ct.meta(ue),premium_plan_id:s.string().min(1).meta(ue),fallback_plan_id:s.string().min(1).meta(ue),segment_id:s.string().nullable().optional().meta(ue),trial_limit_type:Yv.default("time").meta(ue),duration_days:s.number().int().min(1).max(365).nullable().optional().meta(ue),usage_entitlement_handle:s.string().min(1).optional().meta(ue),usage_limit_value:s.number().int().min(1).optional().meta(ue),start_policy:mD.default("signup").meta(ue),show_upgrade_prompt_at_day:s.number().int().min(0).optional().meta(ue),entitlements_during_trial:s.array(s.string()).default([]).meta(ue),is_active:s.boolean().default(true).meta(ue),metadata:st.meta(ue)}),No=J.merge(ee).merge(oe).merge(Ae).merge(DR).meta({id:"ReverseTrialRule","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar}),AR=s.enum(["1_per_lifetime","1_per_plan","1_per_year","unlimited"]).meta({id:"TrialLimitPolicy","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),NR=s.enum(["per_customer","per_email_domain"]).meta({id:"TrialEligibilityScope","x-revturbine-schema-persistence":pc,"x-revturbine-schema-exposure":ar}),Fo=J.merge(ee).merge(oe).extend({trial_limit_policy:AR.default("1_per_lifetime").meta(ue),eligibility_scope:NR.default("per_customer").meta(ue)}).meta({id:"FreeTrialSettings","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar}),Lo=J.merge(ee).merge(oe).extend({trial_limit_policy:AR.default("1_per_lifetime").meta(ue),eligibility_scope:NR.default("per_customer").meta(ue)}).meta({id:"ReverseTrialSettings","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar}),pd=J.merge(ee).merge(oe).extend({customer_id:s.string().min(1).meta(ue),rule_id:s.string().min(1).meta(ue),rule_type:s.enum(["free_trial","reverse_trial"]).meta(ue),plan_id:s.string().min(1).meta(ue),status:dD.default("active").meta(ue),started_at:s.string().datetime().meta({...ue,readOnly:true}),expires_at:s.string().datetime().nullable().optional().meta(ue),trial_limit_type:Yv.default("time").meta(ue),usage_entitlement_handle:s.string().min(1).optional().meta(ue),usage_limit_value:s.number().int().min(1).optional().meta(ue),converted_at:ot.meta(ue),cancelled_at:ot.meta(ue),metadata:st.meta(ue)}).meta({id:"TrialInstance","x-revturbine-schema-persistence":mc,"x-revturbine-schema-exposure":ar});({"/api/trials/free-rules":{get:b({operationId:"listFreeTrialRules",requestParams:{query:ie},summary:"List free trial rules",tags:["trials"],responses:{200:{description:"Free trial rule list",content:{"application/json":{schema:re(Ao)}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"list"}}})},"/api/trials/free-rules/{ruleId}":{get:b({operationId:"getFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Get free trial rule",tags:["trials"],responses:{200:{description:"Free trial rule",content:{"application/json":{schema:Ao}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"get"}}}),patch:b({operationId:"updateFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update free trial rule",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:Ao.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ao}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"update"}}}),delete:b({operationId:"deleteFreeTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete free trial rule",tags:["trials"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"trial-rules",persistence:{table:"freeTrialRules",mode:"delete"}}})},"/api/trials/reverse-rules":{get:b({operationId:"listReverseTrialRules",requestParams:{query:ie},summary:"List reverse trial rules",tags:["trials"],responses:{200:{description:"Reverse trial rule list",content:{"application/json":{schema:re(No)}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"list"}}})},"/api/trials/reverse-rules/{ruleId}":{get:b({operationId:"getReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Get reverse trial rule",tags:["trials"],responses:{200:{description:"Reverse trial rule",content:{"application/json":{schema:No}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"get"}}}),patch:b({operationId:"updateReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Update reverse trial rule",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:No.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:No}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"update"}}}),delete:b({operationId:"deleteReverseTrialRule",requestParams:{path:s.object({ruleId:s.string()})},summary:"Delete reverse trial rule",tags:["trials"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-rules",persistence:{table:"reverseTrialRules",mode:"delete"}}})},"/api/trials/free-settings":{get:b({operationId:"listFreeTrialSettings",requestParams:{query:ie},summary:"List free trial settings (one row per tenant)",tags:["trials"],responses:{200:{description:"Free trial settings list",content:{"application/json":{schema:re(Fo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"list"}}})},"/api/trials/free-settings/{settingsId}":{get:b({operationId:"getFreeTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Get free trial settings",tags:["trials"],responses:{200:{description:"Free trial settings",content:{"application/json":{schema:Fo}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"get"}}}),patch:b({operationId:"updateFreeTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update free trial settings",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:Fo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Fo}}}},"x-revturbine-operation":{exposure:"internal",resource:"free-trial-settings",persistence:{table:"freeTrialSettings",mode:"update"}}})},"/api/trials/reverse-settings":{get:b({operationId:"listReverseTrialSettings",requestParams:{query:ie},summary:"List reverse trial settings (one row per tenant)",tags:["trials"],responses:{200:{description:"Reverse trial settings list",content:{"application/json":{schema:re(Lo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"list"}}})},"/api/trials/reverse-settings/{settingsId}":{get:b({operationId:"getReverseTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Get reverse trial settings",tags:["trials"],responses:{200:{description:"Reverse trial settings",content:{"application/json":{schema:Lo}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"get"}}}),patch:b({operationId:"updateReverseTrialSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update reverse trial settings",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:Lo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Lo}}}},"x-revturbine-operation":{exposure:"internal",resource:"reverse-trial-settings",persistence:{table:"reverseTrialSettings",mode:"update"}}})},"/api/trials/instances":{get:b({operationId:"listTrialInstances",requestParams:{query:ie},summary:"List trial instances",tags:["trials"],responses:{200:{description:"Trial instance list",content:{"application/json":{schema:re(pd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"list"}}})},"/api/trials/instances/{instanceId}":{get:b({operationId:"getTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Get trial instance",tags:["trials"],responses:{200:{description:"Trial instance",content:{"application/json":{schema:pd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"get"}}})},"/api/trials/instances/{instanceId}/cancel":{post:b({operationId:"cancelTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Cancel an active trial",tags:["trials"],responses:{200:{description:"Cancelled",content:{"application/json":{schema:pd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"update"}}})},"/api/trials/instances/{instanceId}/convert":{post:b({operationId:"convertTrialInstance",requestParams:{path:s.object({instanceId:s.string()})},summary:"Convert trial to paid subscription",tags:["trials"],requestBody:{required:true,content:{"application/json":{schema:s.object({plan_id:s.string().optional()})}}},responses:{200:{description:"Converted",content:{"application/json":{schema:pd}}}},"x-revturbine-operation":{exposure:"internal",resource:"trial-instances",persistence:{table:"trialInstances",mode:"update"}}})}});var {Unrestricted:tt}=mt,{Persisted:Qv,Transient:FR}=ut,{Internal:fc}=dt,pD=s.enum(["draft","ramping","winning","neutral","needs_attention","paused","complete"]).meta({id:"ExperimentStatus","x-revturbine-schema-persistence":FR,"x-revturbine-schema-exposure":fc}),fD=s.enum(["placement_ab","entitlement_ab","plan_ab","pricing_ab","custom"]).meta({id:"ExperimentType","x-revturbine-schema-persistence":FR,"x-revturbine-schema-exposure":fc}),gD=s.object({variant_id:s.string().min(1),name:at,weight:s.number().min(0).max(1).default(.5),is_control:s.boolean().default(false),config:s.record(s.string(),s.unknown()).default({})}).meta({id:"ExperimentVariant","x-revturbine-schema-persistence":Qv,"x-revturbine-schema-exposure":fc}),_r=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(tt),handle:Ct.meta(tt),description:s.string().max(1e3).optional().meta(tt),experiment_type:fD.meta(tt),status:pD.default("draft").meta(tt),target_resource_id:s.string().optional().meta(tt),target_segment_ids:s.array(s.string()).default([]).meta(tt),variants:s.array(gD).min(2).meta(tt),primary_metric:s.string().min(1).meta(tt),metric_threshold:s.number().default(.05).meta(tt),secondary_metrics:s.array(s.string()).default([]).meta(tt),traffic_allocation:s.number().min(0).max(1).default(1).meta(tt),started_at:ot.meta(tt),ended_at:ot.meta(tt),confidence_threshold:s.number().min(0).max(1).default(.95).meta(tt),winning_variant_id:s.string().nullable().default(null).meta(tt),metadata:st.meta(tt)}).meta({id:"Experiment","x-revturbine-schema-persistence":Qv,"x-revturbine-schema-exposure":fc}),hD=Vv,dR=J.merge(ee).merge(oe).extend({experiment_id:s.string().optional().meta(tt),resource_type:s.string().min(1).meta(tt),resource_id:s.string().min(1).meta(tt),severity:hD.default("info").meta(tt),title:s.string().min(1).max(300).meta(tt),description:s.string().max(2e3).meta(tt),suggested_action:s.string().max(1e3).optional().meta(tt),estimated_impact:s.number().optional().meta(tt),is_dismissed:s.boolean().default(false).meta(tt),metadata:st.meta(tt)}).meta({id:"OptimizationSuggestion","x-revturbine-schema-persistence":Qv,"x-revturbine-schema-exposure":fc});({"/api/experiments":{get:b({operationId:"listExperiments",requestParams:{query:ie},summary:"List experiments",tags:["experiments"],responses:{200:{description:"Experiment list",content:{"application/json":{schema:re(_r)}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"list"}}})},"/api/experiments/{experimentId}":{get:b({operationId:"getExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Get experiment",tags:["experiments"],responses:{200:{description:"Experiment",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"get"}}}),patch:b({operationId:"updateExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Update experiment",tags:["experiments"],requestBody:{required:true,content:{"application/json":{schema:_r.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"update"}}}),delete:b({operationId:"deleteExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Delete experiment",tags:["experiments"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"delete"}}})},"/api/experiments/{experimentId}/start":{post:b({operationId:"startExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Start experiment (begin traffic allocation)",tags:["experiments"],responses:{200:{description:"Started",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"update"}}})},"/api/experiments/{experimentId}/pause":{post:b({operationId:"pauseExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Pause running experiment",tags:["experiments"],responses:{200:{description:"Paused",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"update"}}})},"/api/experiments/{experimentId}/complete":{post:b({operationId:"completeExperiment",requestParams:{path:s.object({experimentId:s.string()})},summary:"Complete experiment and declare winner",tags:["experiments"],requestBody:{required:true,content:{"application/json":{schema:s.object({winning_variant_id:s.string()})}}},responses:{200:{description:"Completed",content:{"application/json":{schema:_r}}}},"x-revturbine-operation":{exposure:"internal",resource:"experiments",persistence:{table:"experiments",mode:"update"}}})},"/api/optimization-suggestions":{get:b({operationId:"listOptimizationSuggestions",requestParams:{query:ie},summary:"List optimization suggestions",tags:["experiments"],responses:{200:{description:"Suggestion list",content:{"application/json":{schema:re(dR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"optimization-suggestions",persistence:{table:"optimizationSuggestions",mode:"list"}}})},"/api/optimization-suggestions/{suggestionId}/dismiss":{post:b({operationId:"dismissOptimizationSuggestion",requestParams:{path:s.object({suggestionId:s.string()})},summary:"Dismiss an optimization suggestion",tags:["experiments"],responses:{200:{description:"Dismissed",content:{"application/json":{schema:dR}}}},"x-revturbine-operation":{exposure:"internal",resource:"optimization-suggestions",persistence:{table:"optimizationSuggestions",mode:"update"}}})}});var {Unrestricted:Ft,Financial:mR}=mt,{Persisted:bD,Transient:LR}=ut,{Internal:ey}=dt,_D=s.enum(["draft","scheduled","live","expired","archived"]).meta({id:"PromotionStatus","x-revturbine-schema-persistence":LR,"x-revturbine-schema-exposure":ey}),vD=s.enum(["percentage","fixed_amount","free_months"]).meta({id:"DiscountType","x-revturbine-schema-persistence":LR,"x-revturbine-schema-exposure":ey}),qr=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(Ft),handle:Ct.meta(Ft),description:s.string().max(1e3).optional().meta(Ft),rt_status:_D.default("draft").meta(Ft),discount_type:vD.meta(Ft),discount_value:s.number().min(0).meta(mR),currency:s.string().length(3).default("USD").meta(mR),applicable_plan_ids:s.array(s.string()).default([]).meta(Ft),applicable_addon_ids:s.array(s.string()).default([]).meta(Ft),target_segment_ids:s.array(s.string()).default([]).meta(Ft),max_redemptions:s.number().int().min(0).nullable().default(null).meta(Ft),current_redemptions:s.number().int().min(0).default(0).meta({...Ft,readOnly:true}),coupon_code:s.string().max(100).optional().meta(Ft),starts_at:ot.meta(Ft),ends_at:ot.meta(Ft),stripe_coupon_id:s.string().nullable().default(null).meta(Ft),stripe_promotion_code_id:s.string().nullable().default(null).meta(Ft),auto_sync_stripe:s.boolean().default(false).meta(Ft),metadata:st.meta(Ft)}).meta({id:"Promotion","x-revturbine-schema-persistence":bD,"x-revturbine-schema-exposure":ey});({"/api/promotions":{get:b({operationId:"listPromotions",requestParams:{query:ie},summary:"List promotions",tags:["promotions"],responses:{200:{description:"Promotion list",content:{"application/json":{schema:re(qr)}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"list"}}})},"/api/promotions/{promotionId}":{get:b({operationId:"getPromotion",requestParams:{path:s.object({promotionId:s.string()})},summary:"Get promotion",tags:["promotions"],responses:{200:{description:"Promotion",content:{"application/json":{schema:qr}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"get"}}}),patch:b({operationId:"updatePromotion",requestParams:{path:s.object({promotionId:s.string()})},summary:"Update promotion",tags:["promotions"],requestBody:{required:true,content:{"application/json":{schema:qr.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:qr}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"update"}}}),delete:b({operationId:"deletePromotion",requestParams:{path:s.object({promotionId:s.string()})},summary:"Delete (archive) promotion",tags:["promotions"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"delete"}}})},"/api/promotions/{promotionId}/sync-stripe":{post:b({operationId:"syncPromotionToStripe",requestParams:{path:s.object({promotionId:s.string()})},summary:"Sync promotion to Stripe as coupon/promotion code",tags:["promotions"],responses:{200:{description:"Synced",content:{"application/json":{schema:qr}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"update"}}})},"/api/promotions/{promotionId}/duplicate":{post:b({operationId:"duplicatePromotion",requestParams:{path:s.object({promotionId:s.string()})},summary:"Duplicate promotion",tags:["promotions"],responses:{201:{description:"Duplicated",content:{"application/json":{schema:qr}}}},"x-revturbine-operation":{exposure:"internal",resource:"promotions",persistence:{table:"promotions",mode:"create"}}})}});var {Unrestricted:rt,Pii:ty}=mt,{Persisted:ny}=ut,{Internal:ry}=dt,yD=J.merge(ee).merge(oe).extend({customer_id:s.string().min(1).meta(ty),placement_id:s.string().min(1).meta(rt),payload_id:s.string().nullable().default(null).meta(rt),variant_id:s.string().nullable().default(null).meta(rt),surface_type:s.string().meta(rt),presented_at:s.string().datetime().meta({...rt,readOnly:true}),dismissed_at:ot.meta(rt),cta_clicked_at:ot.meta(rt),cta_action_type:s.string().nullable().default(null).meta(rt),converted:s.boolean().default(false).meta(rt),session_id:s.string().optional().meta(rt),metadata:st.meta(rt)}).meta({id:"PresentationRecord","x-revturbine-schema-persistence":ny,"x-revturbine-schema-exposure":ry}),xD=J.merge(ee).merge(oe).extend({customer_id:s.string().min(1).meta(ty),placement_id:s.string().min(1).meta(rt),decision:s.enum(["show","suppress","defer"]).meta(rt),reason:s.string().max(500).meta(rt),matched_rules:s.array(s.object({rule_id:s.string(),rule_type:s.string(),matched:s.boolean()})).default([]).meta(rt),experiment_id:s.string().nullable().default(null).meta(rt),variant_id:s.string().nullable().default(null).meta(rt),latency_ms:s.number().min(0).optional().meta(rt)}).meta({id:"DecisionLog","x-revturbine-schema-persistence":ny,"x-revturbine-schema-exposure":ry}),ID=J.merge(ee).merge(oe).extend({customer_id:s.string().min(1).meta(ty),entitlement_handle:s.string().min(1).meta(rt),entitlement_type:s.string().meta(rt),result:s.enum(["granted","denied","limited","metered"]).meta(rt),current_usage:s.number().nullable().default(null).meta(rt),limit:s.number().nullable().default(null).meta(rt),source:s.enum(["plan","addon","override","trial"]).meta(rt),source_id:s.string().min(1).meta(rt),latency_ms:s.number().min(0).optional().meta(rt)}).meta({id:"EntitlementEvalLog","x-revturbine-schema-persistence":ny,"x-revturbine-schema-exposure":ry});({"/api/presentation-records":{get:b({operationId:"listPresentationRecords",requestParams:{query:ie},summary:"List presentation records",tags:["runtime"],responses:{200:{description:"Presentation records",content:{"application/json":{schema:re(yD)}}}},"x-revturbine-operation":{exposure:"internal",resource:"presentation-records",persistence:{table:"presentationRecords",mode:"list"}}})},"/api/decision-logs":{get:b({operationId:"listDecisionLogs",requestParams:{query:ie},summary:"List decision logs",tags:["runtime"],responses:{200:{description:"Decision logs",content:{"application/json":{schema:re(xD)}}}},"x-revturbine-operation":{exposure:"internal",resource:"decision-logs",persistence:{table:"decisionLogs",mode:"list"}}})},"/api/entitlement-eval-logs":{get:b({operationId:"listEntitlementEvalLogs",requestParams:{query:ie},summary:"List entitlement evaluation logs",tags:["runtime"],responses:{200:{description:"Entitlement eval logs",content:{"application/json":{schema:re(ID)}}}},"x-revturbine-operation":{exposure:"internal",resource:"entitlement-eval-logs",persistence:{table:"entitlementEvalLogs",mode:"list"}}})}});var {Unrestricted:v}=mt,{Persisted:ta,Transient:we}=ut,{Internal:On,External:Ze}=dt,Zo=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(v),handle:Ct.meta(v),surface_type:bR.meta(v),description:Kr.meta(v),is_active:s.boolean().default(true).meta(v),ui_path:s.string().optional().meta(v),metadata:st.meta(v)}).meta({id:"ApplicationSurface","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),Ws=J.merge(ee).merge(oe).merge(Ae).extend({name:at.meta(v),handle:Ct.meta(v),description:Kr.meta(v),is_default:s.boolean().default(false).meta(v),entitlement_ids:s.array(s.string()).default([]).meta(v),metadata:st.meta(v)}).meta({id:"SeatType","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),SD=s.enum(["not_started","started","details_submitted","charges_enabled","activated","deauthorized"]).meta({id:"OnboardingState","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),Lv=J.merge(ee).merge(oe).merge(Ae).extend({stripe_account_id:s.string().min(1).meta(v),live_mode:s.boolean().default(false).meta(v),onboarding_state:SD.default("not_started").meta({...v,readOnly:true}),onboarding_complete:s.boolean().default(false).meta({...v,readOnly:true}),charges_enabled:s.boolean().default(false).meta({...v,readOnly:true}),details_submitted:s.boolean().default(false).meta({...v,readOnly:true}),payouts_enabled:s.boolean().default(false).meta({...v,readOnly:true}),webhook_secret_set:s.boolean().default(false).meta({...v,readOnly:true}),sync_products:s.boolean().default(true).meta(v),sync_prices:s.boolean().default(true).meta(v),sync_subscriptions:s.boolean().default(true).meta(v),sync_invoices:s.boolean().default(false).meta(v),default_currency:s.string().length(3).default("USD").meta(v),tax_behavior:s.enum(["inclusive","exclusive","unspecified"]).default("unspecified").meta(v),last_sync_at:s.string().optional().meta({...v,readOnly:true}),metadata:st.meta(v)}).meta({id:"StripeIntegrationConfig","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),Xs=J.merge(ee).merge(oe).merge(Ae).extend({entitlement_id:s.string().min(1).meta(v),meter_key:s.string().min(1).max(100).meta(v),aggregation_type:s.enum(["sum","count","max","last_value"]).default("sum").meta(v),reset_period:s.enum(["none","daily","weekly","monthly","yearly"]).default("monthly").meta(v),stripe_meter_id:s.string().nullable().default(null).meta(v),is_active:s.boolean().default(true).meta(v),metadata:st.meta(v)}).meta({id:"MeteringConfig","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),pR=s.enum(["block","warn","downgrade","throttle","notify_admin","custom"]).meta({id:"EnforcementAction","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),Ys=J.merge(ee).merge(oe).merge(Ae).extend({entitlement_id:s.string().min(1).meta(v),soft_limit_percent:s.number().min(0).max(100).default(80).meta(v),hard_limit_percent:s.number().min(0).max(100).default(100).meta(v),soft_limit_action:pR.default("warn").meta(v),hard_limit_action:pR.default("block").meta(v),grace_period_hours:s.number().int().min(0).default(0).meta(v),notification_channels:s.array(s.enum(["email","in_app","webhook"])).default(["in_app"]).meta(v),is_active:s.boolean().default(true).meta(v)}).meta({id:"UsageEnforcementSettings","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),PD=s.object({kind:s.enum(["template","slot"]).meta(v),id:s.string().min(1).meta(v),label:s.string().min(1).optional().meta(v)}).meta({id:"PlacementSettingsCapRuleGroupItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),$D=s.object({id:s.string().min(1).meta(v),group:s.array(PD).min(1).meta(v),cap:s.object({count:s.number().int().min(1).meta(v),period:s.enum(["session","day","week","month"]).meta(v)}).meta(v)}).meta({id:"PlacementSettingsCapRule","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),kD=s.enum(["off","test_users","all_traffic"]).meta({id:"PlacementTestMode","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),wD=s.object({capRules:s.array($D).default([]).meta(v),sessionCooldownMinutes:s.number().int().min(0).default(30).meta(v),testMode:kD.default("off").meta(v)}).meta({id:"PlacementSettingsCapState","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":On}),Zv=J.merge(ee).merge(oe).merge(Ae).extend({global_frequency_cap:wD.nullable().default(null).meta(v),global_frequency_cap_period:s.enum(["hour","day","week","month","session"]).nullable().default(null).meta(v),suppress_for_paid:s.boolean().default(false).meta(v),suppress_for_trial:s.boolean().default(false).meta(v),default_dismiss_cooldown_hours:s.number().int().min(0).default(24).meta(v),allow_stacking:s.boolean().default(false).meta(v),priority_collision_strategy:s.enum(["highest_priority","most_recent","random"]).default("highest_priority").meta(v)}).meta({id:"PlacementSettings","x-revturbine-schema-persistence":ta,"x-revturbine-schema-exposure":On}),TD=s.object({field:s.string().min(1).meta(v),operator:s.enum(["eq","neq","gt","lt","gte","lte","contains","in"]).meta(v),value:s.string().meta(v)}).meta({id:"RevTurbineConfigSegmentsItemPredicatesItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),RD=s.object({name:s.string().min(1).meta(v),handle:s.string().min(1).meta(v),predicates:s.array(TD).optional().meta(v),dimension_id:s.string().optional().meta(v)}).meta({id:"RevTurbineConfigSegmentsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),CD=s.object({unique_handle:s.string().min(1).meta(v),name:s.string().min(1).meta(v),tier_position:s.number().int().min(0).default(0).meta(v),sort_order:s.number().int().min(0).default(0).meta(v),visibility:xd.default("public").meta(v)}).meta({id:"RevTurbineConfigPlansItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),ED=s.object({unique_handle:s.string().min(1).meta(v),name:s.string().min(1).meta(v),sort_order:s.number().int().min(0).default(0).meta(v),visibility:xd.default("public").meta(v)}).meta({id:"RevTurbineConfigAddonsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),zD=s.object({unique_handle:s.string().min(1).meta(v),name:s.string().min(1).meta(v),type:hR.meta(v),unit:s.string().optional().meta(v)}).meta({id:"RevTurbineConfigEntitlementsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),jD=s.object({id:s.string().min(1).meta(v),entitlement_id:s.string().min(1).meta(v),targets:s.array(IR).min(1).meta(v),segment_ids:s.array(s.string()).default([]).meta(v),type_fields:s.record(s.string(),s.unknown()).default({}).meta(v),current_usage:s.number().default(0).meta(v),allocation:Kv.optional().meta(v)}).meta({id:"RevTurbineConfigEntitlementRulesItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),UD=s.object({slot_id:s.string().min(1).meta(v),active:s.boolean().meta(v),triggers:s.array(s.string()).meta(v)}).meta({id:"RevTurbineConfigSlotConfigsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),OD=s.object({id:s.string().min(1).meta(v),label:s.string().min(1).meta(v),description:s.string().meta(v),surface_type:s.string().meta(v),placement_handle:s.string().min(1).meta(v),template:s.string().optional().meta(v)}).meta({id:"RevTurbineConfigPlacementSlotsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),DD=s.object({name:s.string().min(1).meta(v),type:s.string().optional().meta(v),required:s.boolean().optional().meta(v)}).meta({id:"RevTurbineConfigSurfaceTemplatesItemFieldsItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),AD=s.object({id:s.string().min(1).meta(v),surface_type:s.string().meta(v),fields:s.array(DD).optional().meta(v)}).meta({id:"RevTurbineConfigSurfaceTemplatesItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),ND=s.enum(["open_checkout_modal","navigate_to_plans","open_upgrade_modal","open_placement","book_demo","open_feature_tour","extend_trial","switch_billing_period","custom_url","dismiss","contact_sales","complete_onboarding","invite_teammate","refer_friend","verify_work_email","update_payment_method","enable_auto_renewal","manage_subscription"]).meta({id:"RevTurbineConfigUiPathActionType","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),FD=s.object({name:s.string().min(1).meta(v),action_type:ND.meta(v),plan_handle:s.string().optional().meta(v),promotion_id:s.string().optional().meta(v),placement_handle:s.string().optional().meta(v),url:s.string().optional().meta(v),tour_id:s.string().optional().meta(v),target_billing_period:s.enum(["monthly","annual"]).optional().meta(v),description:s.string().optional().meta(v)}).meta({id:"ContentUiPath","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),LD=s.object({id:s.string().meta(v),name:s.string().meta(v),discount:s.string().meta(v),type:s.string().meta(v),status:s.string().meta(v)}).meta({id:"ContentPromotion","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),ZD=s.object({token:s.string().regex(/^[a-z][a-z0-9_]*$/).meta(v),label:s.string().min(1).meta(v),description:s.string().optional().meta(v),category:s.enum(["user","plan","usage","trial","billing","promotion","custom"]).meta(v),data_source:s.string().optional().meta(v),example_value:s.string().optional().meta(v),value_map:s.record(s.string(),s.string()).optional().meta(v),format:s.enum(["string","number","currency","percentage","date"]).optional().meta(v)}).meta({id:"PersonalizationToken","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),fR=s.object({header:s.string().optional().meta(v),body:s.string().optional().meta(v),cta_label:s.string().optional().meta(v),secondary_cta_label:s.string().optional().meta(v)}).catchall(s.unknown()).meta({id:"MessageBlockContent","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),BD=s.object({block_id:s.string().min(1).meta(v),tenant_id:s.string().min(1).meta(v),name:s.string().min(1).meta(v),surface_template_id:s.string().optional().meta(v),default_content:fR.meta(v),segment_overrides:s.array(s.object({segment_value_id:s.string(),content:fR})).optional().meta(v),child_blocks:s.array(s.object({slot:s.string(),block_id:s.string()})).optional().meta(v),tokens_used:s.array(s.string()).optional().meta(v),status:s.enum(["draft","active","archived"]).meta(v),created_at:s.string().datetime().meta({...v,readOnly:true}),updated_at:s.string().datetime().meta({...v,readOnly:true})}).meta({id:"MessageBlock","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),MD=s.object({label:s.string().meta(v),path:_R.meta(v),config:s.record(s.string(),s.string()).optional().meta(v)}).meta({id:"RevTurbineConfigStudioCtaConfig","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),ZR=s.object({template_id:s.string().min(1).meta(v),fields:s.record(s.string(),s.string()).meta(v),ctas:s.array(MD).meta(v)}).meta({id:"RevTurbineConfigStudioPayloadSurface","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),BR=s.object({plan_ids:s.array(s.string()).meta(v),billing_cadences:s.array(s.string()).optional().meta(v),segment_chips:s.array(s.string()).meta(v)}).meta({id:"RevTurbineConfigStudioPayloadTarget","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),VD=s.object({count:s.number().int().min(1).meta(v),period:s.enum(["session","day","week","month","lifetime"]).meta(v)}).meta({id:"RevTurbineConfigPeriodCap","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),MR=s.object({max_per_period:VD.optional().meta(v),cooldown_days:s.number().int().min(0).optional().meta(v)}).meta({id:"RevTurbineConfigStudioPayloadCaps","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),qD=s.object({id:s.string().min(1).meta(v),target:BR.meta(v),surfaces:s.array(ZR).meta(v),caps:MR.optional().meta(v),surface_slot_ids:s.array(s.string()).optional().meta(v),created_at:s.string().optional().meta({...v,readOnly:true}),recommendation_strategy:s.enum(["next_tier_up","best_value","custom"]).optional().default("next_tier_up").meta(v),recommendation_plan_override:s.string().optional().meta(v)}).meta({id:"RevTurbineConfigStudioPayload","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),HD=s.discriminatedUnion("type",[s.object({type:s.literal("surface_render"),slot_id:s.string().min(1)}),s.object({type:s.literal("entitlement_gate"),entitlement_handle:s.string().min(1),tier_threshold:s.string().optional()}),s.object({type:s.literal("usage_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("credit_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("seat_threshold"),entitlement_handle:s.string().min(1),threshold_percent:s.number().min(1).max(100)}),s.object({type:s.literal("trial_started"),trial_type:s.enum(["free","reverse"]).optional()}),s.object({type:s.literal("trial_progress"),progress_percent:s.number().min(1).max(100)}),s.object({type:s.literal("trial_ending"),days_before_end:s.number().int().min(0)}),s.object({type:s.literal("trial_ended")}),s.object({type:s.literal("trial_converted")}),s.object({type:s.literal("qualifier"),qualifier:s.string().min(1)})]).meta({id:"RevTurbineConfigPlacementTrigger","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),KD=s.enum(["fixed","gated","usage_credit_seat","trials","other_conversion","retention"]).meta({id:"RevTurbineConfigPlacementCategory","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),GD=s.object({id:s.string().min(1).meta(v),name:s.string().min(1).meta(v),category:KD.meta(v),trigger:HD.meta(v),payloads:s.array(qD).meta(v),order:s.number().int().min(0).meta(v)}).meta({id:"RevTurbineConfigPlacementItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),JD=s.object({payload_id:s.string().min(1).meta(v),placement_id:s.string().min(1).meta(v),target:BR.meta(v),caps:MR.optional().meta(v),created_at:s.string().meta({...v,readOnly:true}),updated_at:s.string().datetime().optional().meta({...v,readOnly:true}),source_mode:s.enum(["inline","content_linked"]).meta(v),surfaces:s.array(ZR).optional().meta(v),surface_slot_ids:s.array(s.string()).optional().meta(v),content_link:s.object({message_block_id:s.string().optional(),ui_path_id:s.string().optional(),promotion_id:s.string().optional(),content_payload_id:s.string().optional()}).optional().meta(v)}).meta({id:"RevTurbineConfigPlacementPayloadItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),WD=s.object({kind:s.string().min(1).meta(v),schema_version:s.number().int().nonnegative().meta(v),config:s.unknown().meta(v)}).meta({id:"RevTurbineConfigExtensionRulesItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),XD=J.merge(OR).meta({id:"RevTurbineConfigFreeTrialRuleItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze}),YD=J.merge(DR).meta({id:"RevTurbineConfigReverseTrialRuleItem","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze});s.object({version:s.string().meta(v),exported_at:s.string().datetime().optional().meta({...v,readOnly:true}),schema_version:s.string().optional().meta({...v,readOnly:true}),bundle_schema_version:s.number().int().optional().meta({...v,readOnly:true}),change_set_id:s.string().nullable().default(null).meta({...v,readOnly:true}),plans:s.array(CD).meta(v),addons:s.array(ED).optional().meta(v),entitlements:s.array(zD).meta(v),entitlement_rules:s.array(jD).meta(v),segments:s.array(RD).meta(v),content_ui_paths:s.array(FD).meta(v),slot_configs:s.array(UD).optional().meta(v),content_overrides:s.record(s.string(),s.record(s.string(),s.string())).optional().meta(v),theme:s.record(s.string(),s.unknown()).optional().meta(v),placement_slots:s.array(OD).optional().meta(v),message_blocks:s.array(BD).optional().meta(v),placement_payloads:s.array(JD).optional().meta(v),placements:s.array(GD).optional().meta(v),content_promotions:s.array(LD).optional().meta(v),personalization_tokens:s.array(ZD).optional().meta(v),surface_templates:s.array(AD).optional().meta(v),free_trial_rules:s.array(XD).optional().meta(v),reverse_trial_rules:s.array(YD).optional().meta(v),extension_rules:s.array(WD).optional().meta(v)}).meta({id:"RevTurbineConfig","x-revturbine-schema-persistence":we,"x-revturbine-schema-exposure":Ze});({"/api/config/application-surfaces":{get:b({operationId:"listApplicationSurfaces",requestParams:{query:ie},summary:"List application surfaces",tags:["config"],responses:{200:{description:"Surface list",content:{"application/json":{schema:re(Zo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"list"}}}),post:b({operationId:"createApplicationSurface",summary:"Create application surface",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Tt(Zo)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Zo}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"create"}}})},"/api/config/application-surfaces/{id}":{get:b({operationId:"getApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Get application surface by ID",tags:["config"],responses:{200:{description:"Application surface detail",content:{"application/json":{schema:Zo}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"get"}}}),patch:b({operationId:"updateApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Update application surface",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Zo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Zo}}}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"update"}}}),delete:b({operationId:"deleteApplicationSurface",requestParams:{path:s.object({id:s.string()})},summary:"Delete application surface",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"application-surfaces",persistence:{table:"applicationSurfaces",mode:"delete"}}})},"/api/config/seat-types":{get:b({operationId:"listSeatTypes",requestParams:{query:ie},summary:"List seat types",tags:["config"],responses:{200:{description:"Seat type list",content:{"application/json":{schema:re(Ws)}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"list"}}}),post:b({operationId:"createSeatType",summary:"Create seat type",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ws)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ws}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"create"}}})},"/api/config/seat-types/{id}":{patch:b({operationId:"updateSeatType",requestParams:{path:s.object({id:s.string()})},summary:"Update seat type",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Ws.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ws}}}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"update"}}}),delete:b({operationId:"deleteSeatType",requestParams:{path:s.object({id:s.string()})},summary:"Delete seat type",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"seat-types",persistence:{table:"seatTypes",mode:"delete"}}})},"/api/config/stripe":{put:b({operationId:"upsertStripeIntegrationConfig",summary:"Create or update Stripe integration config",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Rt(Lv)}}},responses:{200:{description:"Saved",content:{"application/json":{schema:Lv}}}},"x-revturbine-operation":{exposure:"internal",resource:"stripe-config",persistence:{table:"stripeIntegrationConfig",mode:"upsert"}}})},"/api/config/metering":{get:b({operationId:"listMeteringConfigs",requestParams:{query:ie},summary:"List metering configurations",tags:["config"],responses:{200:{description:"Metering config list",content:{"application/json":{schema:re(Xs)}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"list"}}}),post:b({operationId:"createMeteringConfig",summary:"Create metering configuration",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Tt(Xs)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Xs}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"create"}}})},"/api/config/metering/{meteringId}":{patch:b({operationId:"updateMeteringConfig",requestParams:{path:s.object({meteringId:s.string()})},summary:"Update metering configuration",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Xs.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Xs}}}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"update"}}}),delete:b({operationId:"deleteMeteringConfig",requestParams:{path:s.object({meteringId:s.string()})},summary:"Delete metering configuration",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"metering-config",persistence:{table:"meteringConfigs",mode:"delete"}}})},"/api/config/usage-enforcement":{get:b({operationId:"listUsageEnforcementSettings",requestParams:{query:ie},summary:"List usage enforcement settings",tags:["config"],responses:{200:{description:"Enforcement settings",content:{"application/json":{schema:re(Ys)}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"list"}}}),post:b({operationId:"createUsageEnforcementSettings",summary:"Create usage enforcement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Tt(Ys)}}},responses:{201:{description:"Created",content:{"application/json":{schema:Ys}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"create"}}})},"/api/config/usage-enforcement/{settingsId}":{patch:b({operationId:"updateUsageEnforcementSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Update usage enforcement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Ys.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Ys}}}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"update"}}}),delete:b({operationId:"deleteUsageEnforcementSettings",requestParams:{path:s.object({settingsId:s.string()})},summary:"Delete usage enforcement settings",tags:["config"],responses:{204:{description:"Deleted"}},"x-revturbine-operation":{exposure:"internal",resource:"usage-enforcement",persistence:{table:"usageEnforcementSettings",mode:"delete"}}})},"/api/config/placement-settings":{put:b({operationId:"upsertPlacementSettings",summary:"Create or update global placement settings",tags:["config"],requestBody:{required:true,content:{"application/json":{schema:Rt(Zv)}}},responses:{200:{description:"Saved",content:{"application/json":{schema:Zv}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-settings",persistence:{table:"placementSettings",mode:"upsert"}}})}});var {Unrestricted:vr}=mt,{Persisted:VR}=ut,{Internal:qR}=dt,QD=s.enum(["create","update","delete","archive","restore","reorder","duplicate","sync","publish"]).meta({id:"ChangeLogAction","x-revturbine-schema-persistence":VR,"x-revturbine-schema-exposure":qR}),gR=J.merge(ee).merge(oe).extend({action:QD.meta(vr),resource_type:s.string().min(1).max(100).meta(vr),resource_id:s.string().min(1).meta(vr),resource_name:s.string().max(200).optional().meta(vr),actor_id:s.string().min(1).meta(vr),actor_email:s.string().email().optional().meta(vr),diff:s.object({before:s.record(s.string(),s.unknown()).optional(),after:s.record(s.string(),s.unknown()).optional()}).optional().meta(vr),summary:s.string().max(1e3).optional().meta(vr),metadata:st.meta(vr)}).meta({id:"ChangeLogEntry","x-revturbine-schema-persistence":VR,"x-revturbine-schema-exposure":qR});({"/api/changelog":{get:b({operationId:"listChangeLogEntries",requestParams:{query:ie},summary:"List change log entries",tags:["changelog"],responses:{200:{description:"Change log entries",content:{"application/json":{schema:re(gR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"changelog",persistence:{table:"changeLogEntries",mode:"list"}}})},"/api/changelog/{entryId}":{get:b({operationId:"getChangeLogEntry",requestParams:{path:s.object({entryId:s.string()})},summary:"Get change log entry by ID",tags:["changelog"],responses:{200:{description:"Change log entry",content:{"application/json":{schema:gR}}}},"x-revturbine-operation":{exposure:"internal",resource:"changelog",persistence:{table:"changeLogEntries",mode:"get"}}})}});var {Unrestricted:fd}=mt,{Persisted:eA,Transient:tA}=ut,{Internal:HR}=dt,nA=s.enum(["active","suspended","archived"]).meta({id:"TenantStatus","x-revturbine-schema-persistence":tA,"x-revturbine-schema-exposure":HR}),Hr=J.merge(ee).extend({name:at.meta(fd),handle:Ct.meta(fd),status:nA.default("active").meta(fd),metadata:st.meta(fd)}).meta({id:"Tenant","x-revturbine-schema-persistence":eA,"x-revturbine-schema-exposure":HR});({"/api/tenants":{get:b({operationId:"listTenants",requestParams:{query:ie},summary:"List tenants",tags:["tenants"],responses:{200:{description:"Tenant list",content:{"application/json":{schema:re(Hr)}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"list"}}})},"/api/tenants/{tenantId}":{get:b({operationId:"getTenant",requestParams:{path:s.object({tenantId:s.string()})},summary:"Get tenant by ID",tags:["tenants"],responses:{200:{description:"Tenant",content:{"application/json":{schema:Hr}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"get"}}}),patch:b({operationId:"updateTenant",requestParams:{path:s.object({tenantId:s.string()})},summary:"Update tenant",tags:["tenants"],requestBody:{required:true,content:{"application/json":{schema:Hr.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Hr}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"update"}}})},"/api/tenants/{tenantId}/suspend":{post:b({operationId:"suspendTenant",requestParams:{path:s.object({tenantId:s.string()})},summary:"Suspend tenant (disables all API access)",tags:["tenants"],responses:{200:{description:"Suspended",content:{"application/json":{schema:Hr}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"update"}}})},"/api/tenants/{tenantId}/reactivate":{post:b({operationId:"reactivateTenant",requestParams:{path:s.object({tenantId:s.string()})},summary:"Reactivate a suspended tenant",tags:["tenants"],responses:{200:{description:"Reactivated",content:{"application/json":{schema:Hr}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenants",persistence:{table:"tenants",mode:"update"}}})}});var {Unrestricted:Un}=mt,{Persisted:rA,Transient:KR}=ut,{Internal:iy}=dt,iA=s.enum(["active","archived","locked"]).meta({id:"EnvironmentStatus","x-revturbine-schema-persistence":KR,"x-revturbine-schema-exposure":iy}),Bo=J.merge(ee).merge(oe).extend({name:at.meta(Un),handle:Ct.meta(Un),description:Kr.meta(Un),is_production:s.boolean().default(false).meta({...Un,readOnly:true}),status:iA.default("active").meta(Un),cloned_from_environment_id:s.string().nullable().default(null).meta({...Un,readOnly:true}),cloned_at:ot.meta({...Un,readOnly:true}),cloned_at_sequence:s.number().int().min(0).nullable().default(null).meta({...Un,readOnly:true}),requires_approval:s.boolean().default(false).meta(Un),auto_deploy_on_approval:s.boolean().default(false).meta(Un),created_by:s.string().optional().meta(Un),metadata:st.meta(Un)}).meta({id:"Environment","x-revturbine-schema-persistence":rA,"x-revturbine-schema-exposure":iy}),oA=s.object({source_environment_id:s.string().min(1),target_environment_id:s.string().min(1),change_set_ids:s.array(s.string()).optional(),strategy:s.enum(["all_current","selected_changesets"]).default("all_current")}).meta({id:"EnvironmentPromotionRequest","x-revturbine-schema-persistence":KR,"x-revturbine-schema-exposure":iy});({"/api/environments":{get:b({operationId:"listEnvironments",requestParams:{query:ie},summary:"List environments",tags:["environments"],responses:{200:{description:"Environment list",content:{"application/json":{schema:re(Bo)}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"list"}}}),post:b({operationId:"createEnvironment",summary:"Create environment (optionally cloned from another)",tags:["environments"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().min(1).max(200),handle:s.string().min(1).max(100),description:s.string().max(500).optional(),clone_from_environment_id:s.string().optional(),requires_approval:s.boolean().optional()})}}},responses:{201:{description:"Created",content:{"application/json":{schema:Bo}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"create"}}})},"/api/environments/{environmentId}":{get:b({operationId:"getEnvironment",requestParams:{path:s.object({environmentId:s.string()})},summary:"Get environment by ID",tags:["environments"],responses:{200:{description:"Environment",content:{"application/json":{schema:Bo}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"get"}}}),patch:b({operationId:"updateEnvironment",requestParams:{path:s.object({environmentId:s.string()})},summary:"Update environment settings",tags:["environments"],requestBody:{required:true,content:{"application/json":{schema:Bo.partial()}}},responses:{200:{description:"Updated",content:{"application/json":{schema:Bo}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"update"}}})},"/api/environments/{environmentId}/archive":{post:b({operationId:"archiveEnvironment",requestParams:{path:s.object({environmentId:s.string()})},summary:"Archive environment (production cannot be archived)",tags:["environments"],responses:{200:{description:"Archived",content:{"application/json":{schema:Bo}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"update"}}})},"/api/environments/promote":{post:b({operationId:"promoteEnvironment",summary:"Promote (merge) changes from one environment to another",tags:["environments"],requestBody:{required:true,content:{"application/json":{schema:oA}}},responses:{200:{description:"Promotion result",content:{"application/json":{schema:s.object({promoted_count:s.number().int(),conflict_count:s.number().int(),conflicts:s.array(s.object({canonical_id:s.string(),resource_type:s.string(),source_sequence:s.number().int(),target_sequence:s.number().int()}))})}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"environments",persistence:{table:"environments",mode:"promote"}}})}});var {Unrestricted:pe,Pii:rc}=mt,{Transient:sr,Persisted:aA}=ut,{External:Mn}=dt,sA=s.enum(["milestone_version","milestone_order"]).meta({id:"SupersessionReason","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});s.object({superseded_output_id:s.string().min(1).meta(pe),superseded_by:s.string().min(1).meta(pe),reason:sA.meta(pe)}).meta({id:"SupersessionRecord","x-revturbine-schema-persistence":aA,"x-revturbine-schema-exposure":Mn,"x-revturbine-data-classification":"operational"});var cA=s.enum(["allowed","limited","denied"]).meta({id:"EntitlementStatus","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),GR=s.object({output_id:s.string().meta(pe),category:s.string().meta(pe),surface:s.object({template:s.string().optional().meta(pe),type:vd.meta(pe),slot_id:s.string().optional().meta(pe)}).meta(pe),content:s.record(s.string(),s.unknown()).meta(pe),promotion:s.record(s.string(),s.unknown()).optional().meta(pe),cta_path:s.record(s.string(),s.unknown()).optional().meta(pe),ui_path:s.record(s.string(),s.unknown()).optional().meta(pe),rule_id:s.string().meta(pe),decision_id:s.string().meta(pe),config_version:s.string().meta(pe),present_upsell:s.boolean().meta(pe)}).meta({id:"PlacementDecisionOutput","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),lA=s.object({status:cA.meta(pe),allowed:s.boolean().meta(pe),reason:s.string().optional().meta(pe),current_tier:s.string().optional().meta(pe),placement:GR.optional().meta(pe)}).meta({id:"EntitlementCheckResult","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});s.object({id:s.string().meta(pe),name:s.string().optional().meta(pe),discount:s.string().optional().meta(pe),type:s.string().optional().meta(pe),status:s.string().optional().meta(pe)}).meta({id:"RuntimePromotionSnapshot","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});var uA=s.object({id:s.string().meta(rc),anonymous_id:s.string().optional().meta(pe),traits:s.record(s.string(),s.unknown()).optional().meta(rc)}).meta({id:"ServerEvaluationPayloadUser","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),dA=s.object({slot_id:s.string().optional().meta(pe),entitlement_handle:s.string().optional().meta(pe),plan_handle:s.string().optional().meta(pe),placement_handle:s.string().optional().meta(pe),visible:s.boolean().meta(pe),output:GR.optional().meta(pe),reason_codes:s.array(s.string()).optional().meta(pe)}).meta({id:"ServerEvaluationPayloadDecisionsItem","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),mA=lA,pA=Gv.meta({id:"ServerEvaluationPayloadTrialStatus","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn}),fA=s.object({segments:s.array(s.string()).optional().meta(pe),traits:s.record(s.string(),s.unknown()).optional().meta(rc),usage_balances:s.record(s.string(),s.number()).optional().meta(pe)}).meta({id:"ServerEvaluationPayloadUserContext","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});s.object({version:s.literal("1.0.0").meta(pe),request_id:s.string().meta(pe),tenant_id:s.string().meta(pe),evaluated_at:s.string().datetime().meta(pe),ttl_seconds:s.number().int().min(0).max(86400).meta(pe),user:uA.meta(rc),decisions:s.array(dA).meta(pe),entitlements:s.record(s.string(),mA).optional().meta(pe),theme:s.record(s.string(),s.unknown()).optional().meta(pe),trial_status:pA.optional().meta(pe),user_context:fA.optional().meta(rc)}).meta({id:"ServerEvaluationPayload","x-revturbine-schema-persistence":sr,"x-revturbine-schema-exposure":Mn});var {Unrestricted:ve}=mt,{Persisted:gA,Transient:Pd}=ut,{Internal:gc}=dt,hA=s.enum(["draft","awaiting_approval","approved","deploying","deployed","rejected","archived"]).meta({id:"ChangeSetStatus","x-revturbine-schema-persistence":Pd,"x-revturbine-schema-exposure":gc}),yr=J.merge(ee).merge(oe).extend({environment_id:s.string().min(1).meta(ve),name:at.meta(ve),description:s.string().max(2e3).optional().meta(ve),status:hA.default("draft").meta(ve),labels:s.array(s.string()).default([]).meta(ve),created_by:s.string().min(1).meta(ve),submitted_by:s.string().nullable().default(null).meta({...ve,readOnly:true}),reviewed_by:s.string().nullable().default(null).meta({...ve,readOnly:true}),deployed_by:s.string().nullable().default(null).meta({...ve,readOnly:true}),submitted_at:ot.meta({...ve,readOnly:true}),reviewed_at:ot.meta({...ve,readOnly:true}),deployed_at:ot.meta({...ve,readOnly:true}),base_snapshot_sequence:s.number().int().min(0).default(0).meta({...ve,readOnly:true}),entry_count:s.number().int().min(0).default(0).meta({...ve,readOnly:true}),conflict_count:s.number().int().min(0).default(0).meta({...ve,readOnly:true}),rollback_of_change_set_id:s.string().nullable().default(null).meta(ve),cherry_picked_from_change_set_id:s.string().nullable().default(null).meta(ve),review_notes:s.string().max(2e3).optional().meta(ve),rejection_reason:s.string().max(2e3).optional().meta(ve),snapshot:s.record(s.string(),s.unknown()).nullable().default(null).meta({...ve,readOnly:true}),bundle:s.string().nullable().default(null).meta({...ve,readOnly:true}),metadata:st.meta(ve)}).meta({id:"ChangeSet","x-revturbine-schema-persistence":gA,"x-revturbine-schema-exposure":gc}),JR=s.object({handle:s.string().meta(ve),resource_type:s.string().meta(ve),resource_name:s.string().optional().meta(ve),action:s.enum(["create","update","delete"]).meta(ve),sequence:s.number().int().meta(ve),base_sequence:s.number().int().nullable().meta(ve),has_conflict:s.boolean().meta(ve),current_sequence:s.number().int().nullable().meta(ve)}).meta({id:"ChangeSetEntrySummary","x-revturbine-schema-persistence":Pd,"x-revturbine-schema-exposure":gc}),bA=s.object({change_set_id:s.string().meta(ve),entries:s.array(JR).meta(ve),total_entries:s.number().int().min(0).meta(ve),total_conflicts:s.number().int().min(0).meta(ve),deployable:s.boolean().meta(ve)}).meta({id:"ChangeSetDiff","x-revturbine-schema-persistence":Pd,"x-revturbine-schema-exposure":gc}),_A=s.object({change_set_id:s.string().meta(ve),deployed_count:s.number().int().min(0).meta(ve),superseded_count:s.number().int().min(0).meta(ve),skipped_conflicts:s.number().int().min(0).meta(ve),deployed_at:s.string().datetime().meta(ve)}).meta({id:"ChangeSetDeployResult","x-revturbine-schema-persistence":Pd,"x-revturbine-schema-exposure":gc});({"/api/changesets":{get:b({operationId:"listChangeSets",requestParams:{query:ie},summary:"List change sets (filter by status, environment_id)",tags:["changesets"],responses:{200:{description:"ChangeSet list",content:{"application/json":{schema:re(yr)}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"list"}}}),post:b({operationId:"createChangeSet",summary:"Create a new change set (draft)",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().min(1).max(200),description:s.string().max(2e3).optional(),environment_id:s.string().min(1),labels:s.array(s.string()).optional()})}}},responses:{201:{description:"Created",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"create"}}})},"/api/changesets/{changeSetId}":{get:b({operationId:"getChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Get change set by ID",tags:["changesets"],responses:{200:{description:"ChangeSet",content:{"application/json":{schema:yr}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"get"}}}),patch:b({operationId:"updateChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Update change set (name, description, labels \u2014 draft only)",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().min(1).max(200).optional(),description:s.string().max(2e3).optional(),labels:s.array(s.string()).optional()})}}},responses:{200:{description:"Updated",content:{"application/json":{schema:yr}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/submit":{post:b({operationId:"submitChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Submit change set for approval",tags:["changesets"],responses:{200:{description:"Submitted",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/approve":{post:b({operationId:"approveChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Approve change set (may auto-deploy if environment allows)",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({review_notes:s.string().max(2e3).optional()})}}},responses:{200:{description:"Approved",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/reject":{post:b({operationId:"rejectChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Reject change set",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({rejection_reason:s.string().max(2e3)})}}},responses:{200:{description:"Rejected",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/deploy":{post:b({operationId:"deployChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Deploy change set \u2014 activates all entries, supersedes previous versions",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({force:s.boolean().default(false)})}}},responses:{200:{description:"Deploy result",content:{"application/json":{schema:_A}}},default:{description:"Error (conflicts exist)",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"deploy"}}})},"/api/changesets/{changeSetId}/archive":{post:b({operationId:"archiveChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Archive (abandon) a change set",tags:["changesets"],responses:{200:{description:"Archived",content:{"application/json":{schema:yr}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})},"/api/changesets/{changeSetId}/preview":{get:b({operationId:"previewChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Preview diff of all entries vs current state (dry-run deploy)",tags:["changesets"],responses:{200:{description:"Diff preview",content:{"application/json":{schema:bA}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"preview"}}})},"/api/changesets/{changeSetId}/conflicts":{get:b({operationId:"listChangeSetConflicts",requestParams:{path:s.object({changeSetId:s.string()}),query:ie},summary:"List entries with sequence conflicts (base_sequence \u2260 current)",tags:["changesets"],responses:{200:{description:"Conflict list",content:{"application/json":{schema:re(JR)}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"list"}}})},"/api/changesets/{changeSetId}/rollback":{post:b({operationId:"rollbackChangeSet",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Create a rollback change set that reverts a deployed one",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({name:s.string().min(1).max(200).optional()})}}},responses:{201:{description:"Rollback ChangeSet created",content:{"application/json":{schema:yr}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"create"}}})},"/api/changesets/{changeSetId}/cherry-pick":{post:b({operationId:"cherryPickEntries",requestParams:{path:s.object({changeSetId:s.string()})},summary:"Cherry-pick individual entries from this ChangeSet into another",tags:["changesets"],requestBody:{required:true,content:{"application/json":{schema:s.object({handles:s.array(s.string()).min(1),target_change_set_id:s.string().min(1)})}}},responses:{200:{description:"Cherry-picked",content:{"application/json":{schema:s.object({copied_count:s.number().int()})}}},default:{description:"Error",content:{"application/json":{schema:it}}}},"x-revturbine-operation":{exposure:"internal",resource:"changesets",persistence:{table:"changeSets",mode:"update"}}})}});var {Unrestricted:Pe,Pii:vA}=mt,{Persisted:Vn}=ut,{Internal:qn}=dt,yA=s.enum(["active","revoked","rotating"]).meta({id:"ApiKeyStatus","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),gd=J.merge(ee).merge(oe).extend({name:at.meta(Pe),key_hash:s.string().min(1).meta({...vA,readOnly:true}),key_prefix:s.string().min(1).max(20).meta({...Pe,readOnly:true}),key_last4:s.string().length(4).meta({...Pe,readOnly:true}),status:yA.default("active").meta(Pe),last_used_at:ot.meta({...Pe,readOnly:true}),expires_at:ot.meta(Pe)}).meta({id:"ApiKey","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),xA=s.enum(["boolean","string","number","json"]).meta({id:"FlagValueType","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),xi=J.merge(ee).merge(oe).extend({key:s.string().min(1).max(100).meta(Pe),value_type:xA.default("boolean").meta(Pe),value:s.string().max(4e3).default("false").meta(Pe),description:Kr.meta(Pe),enabled:s.boolean().default(true).meta(Pe)}).meta({id:"FeatureFlag","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),Bv=J.merge(ee).merge(oe).extend({workspace_name:s.string().min(1).max(200).meta(Pe),support_email:s.string().email().nullable().default(null).meta(Pe),timezone:s.string().max(50).default("UTC").meta(Pe),default_currency:s.string().length(3).default("USD").meta(Pe),logo_url:s.string().url().nullable().default(null).meta(Pe)}).meta({id:"TenantConfig","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),Mv=J.merge(ee).merge(oe).extend({server_url:s.string().url().max(500).meta(Pe),api_token_hint:s.string().max(50).nullable().default(null).meta(Pe),allow_write_actions:s.boolean().default(false).meta(Pe),enabled_tools:s.array(s.string().max(100)).default([]).meta(Pe),enabled:s.boolean().default(false).meta(Pe)}).meta({id:"McpConfig","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),hd=J.merge(ee).merge(oe).extend({step_key:s.string().min(1).max(100).meta(Pe),label:s.string().min(1).max(200).meta(Pe),done:s.boolean().default(false).meta(Pe),completed_at:ot.meta({...Pe,readOnly:true})}).meta({id:"OnboardingChecklist","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),IA=s.enum(["user","agent","system","webhook"]).meta({id:"AuditActorType","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),SA=J.merge(oe).extend({environment_id:s.string().min(1).default("production").meta(Pe),actor_type:IA.meta(Pe),actor_id:s.string().nullable().default(null).meta(Pe),action:s.string().min(1).max(120).meta(Pe),object_type:s.string().max(120).nullable().default(null).meta(Pe),object_id:s.string().max(200).nullable().default(null).meta(Pe),payload:s.record(s.string(),s.unknown()).nullable().default(null).meta(Pe),occurred_at:s.string().datetime().meta({...Pe,readOnly:true})}).meta({id:"AuditEvent","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),PA=s.enum(["user_id","account_id","email"]).meta({id:"PlacementTestUserIdentifierType","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn}),bd=J.merge(ee).merge(oe).merge(Ae).extend({identifier:s.string().min(1).max(200).meta(Pe),identifier_type:PA.default("user_id").meta(Pe),note:s.string().max(500).nullable().default(null).meta(Pe),added_by:s.string().meta(Pe)}).meta({id:"PlacementTestUser","x-revturbine-schema-persistence":Vn,"x-revturbine-schema-exposure":qn});({"/api/settings/api-keys":{get:b({operationId:"listApiKeys",requestParams:{query:ie},summary:"List API keys for the tenant",tags:["settings"],responses:{200:{description:"API keys",content:{"application/json":{schema:re(gd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"api-keys",persistence:{table:"apiKeys",mode:"list"}}}),post:b({operationId:"createApiKey",summary:"Create a new API key",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Tt(gd)}}},responses:{201:{description:"API key created",content:{"application/json":{schema:gd}}}},"x-revturbine-operation":{exposure:"internal",resource:"api-keys",persistence:{table:"apiKeys",mode:"create",writeSchema:"ApiKeySchema#writable"}}})},"/api/settings/api-keys/{keyId}":{delete:b({operationId:"revokeApiKey",requestParams:{path:s.object({keyId:s.string()})},summary:"Revoke an API key",tags:["settings"],responses:{200:{description:"API key revoked",content:{"application/json":{schema:gd}}}},"x-revturbine-operation":{exposure:"internal",resource:"api-keys",persistence:{table:"apiKeys",mode:"delete"}}})},"/api/flags":{get:b({operationId:"listFeatureFlags",requestParams:{query:ie},summary:"List feature flags for the tenant",tags:["settings"],responses:{200:{description:"Feature flags",content:{"application/json":{schema:re(xi)}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"list"}}}),post:b({operationId:"createFeatureFlag",summary:"Create a feature flag",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Tt(xi)}}},responses:{201:{description:"Feature flag created",content:{"application/json":{schema:xi}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"create",writeSchema:"FeatureFlagSchema#writable"}}})},"/api/flags/{flagId}":{get:b({operationId:"getFeatureFlag",requestParams:{path:s.object({flagId:s.string()})},summary:"Get a feature flag",tags:["settings"],responses:{200:{description:"Feature flag",content:{"application/json":{schema:xi}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"get"}}}),put:b({operationId:"updateFeatureFlag",requestParams:{path:s.object({flagId:s.string()})},summary:"Update a feature flag",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Rt(xi).partial()}}},responses:{200:{description:"Feature flag updated",content:{"application/json":{schema:xi}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"update",writeSchema:"FeatureFlagSchema#writable"}}}),delete:b({operationId:"deleteFeatureFlag",requestParams:{path:s.object({flagId:s.string()})},summary:"Delete a feature flag",tags:["settings"],responses:{200:{description:"Feature flag deleted",content:{"application/json":{schema:xi}}}},"x-revturbine-operation":{exposure:"internal",resource:"feature-flags",persistence:{table:"featureFlags",mode:"delete"}}})},"/api/settings/tenant-config":{put:b({operationId:"updateTenantConfig",summary:"Update tenant configuration",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Rt(Bv).partial()}}},responses:{200:{description:"Tenant config updated",content:{"application/json":{schema:Bv}}}},"x-revturbine-operation":{exposure:"internal",resource:"tenant-config",persistence:{table:"tenantConfigs",mode:"update",writeSchema:"TenantConfigSchema#writable"}}})},"/api/settings/mcp":{put:b({operationId:"updateMcpConfig",summary:"Update MCP config",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Rt(Mv).partial()}}},responses:{200:{description:"MCP config updated",content:{"application/json":{schema:Mv}}}},"x-revturbine-operation":{exposure:"internal",resource:"mcp-config",persistence:{table:"mcpConfigs",mode:"update",writeSchema:"McpConfigSchema#writable"}}})},"/api/settings/onboarding":{get:b({operationId:"listOnboardingSteps",requestParams:{query:ie},summary:"List onboarding checklist steps",tags:["settings"],responses:{200:{description:"Onboarding steps",content:{"application/json":{schema:re(hd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"onboarding",persistence:{table:"onboardingChecklist",mode:"list"}}})},"/api/settings/onboarding/{stepId}":{get:b({operationId:"getOnboardingStep",requestParams:{path:s.object({stepId:s.string()})},summary:"Get an onboarding step",tags:["settings"],responses:{200:{description:"Onboarding step",content:{"application/json":{schema:hd}}}},"x-revturbine-operation":{exposure:"internal",resource:"onboarding",persistence:{table:"onboardingChecklist",mode:"get"}}}),put:b({operationId:"updateOnboardingStep",requestParams:{path:s.object({stepId:s.string()})},summary:"Update an onboarding step",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Rt(hd).partial()}}},responses:{200:{description:"Onboarding step updated",content:{"application/json":{schema:hd}}}},"x-revturbine-operation":{exposure:"internal",resource:"onboarding",persistence:{table:"onboardingChecklist",mode:"update",writeSchema:"OnboardingChecklistSchema#writable"}}})},"/api/settings/audit-events":{get:b({operationId:"listAuditEvents",requestParams:{query:ie},summary:"List audit events for the tenant",tags:["settings"],responses:{200:{description:"Audit events",content:{"application/json":{schema:re(SA)}}}},"x-revturbine-operation":{exposure:"internal",resource:"audit-events",persistence:{table:"auditEvents",mode:"list"}}})},"/api/config/placement-test-users":{get:b({operationId:"listPlacementTestUsers",requestParams:{query:ie},summary:"List placement test users for the tenant",tags:["settings"],responses:{200:{description:"Placement test users",content:{"application/json":{schema:re(bd)}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-test-users",persistence:{table:"placementTestUsers",mode:"list"}}}),post:b({operationId:"createPlacementTestUser",summary:"Add a placement test user",tags:["settings"],requestBody:{required:true,content:{"application/json":{schema:Tt(bd)}}},responses:{201:{description:"Placement test user created",content:{"application/json":{schema:bd}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-test-users",persistence:{table:"placementTestUsers",mode:"create",writeSchema:"PlacementTestUserSchema#writable"}}})},"/api/config/placement-test-users/{testUserId}":{delete:b({operationId:"deletePlacementTestUser",requestParams:{path:s.object({testUserId:s.string()})},summary:"Remove a placement test user",tags:["settings"],responses:{200:{description:"Placement test user removed",content:{"application/json":{schema:bd}}}},"x-revturbine-operation":{exposure:"internal",resource:"placement-test-users",persistence:{table:"placementTestUsers",mode:"delete"}}})}});var {Unrestricted:G,Pii:qt}=mt,{Persisted:tn,Transient:oy}=ut,{Internal:zt}=dt,$A=s.enum(["user","admin"]).meta({id:"UserRole","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({name:at.meta(G),email:s.string().email().meta(qt),email_verified:s.boolean().default(false).meta(G),image:s.string().url().nullable().default(null).meta(qt),role:$A.default("user").meta(G),banned:s.boolean().default(false).meta({...G,readOnly:true}),ban_reason:s.string().nullable().default(null).meta({...G,readOnly:true}),ban_expires:ot.meta({...G,readOnly:true}),two_factor_enabled:s.boolean().default(false).meta({...G,readOnly:true})}).meta({id:"AuthUser","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({expires_at:s.string().datetime().meta(G),token:s.string().min(1).meta({...qt,readOnly:true}),ip_address:s.string().nullable().default(null).meta(qt),user_agent:s.string().nullable().default(null).meta(qt),user_id:s.string().min(1).meta({...G,readOnly:true}),active_organization_id:s.string().nullable().default(null).meta(G),impersonated_by:s.string().nullable().default(null).meta({...G,readOnly:true})}).meta({id:"AuthSession","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({account_id:s.string().min(1).meta(G),provider_id:s.string().min(1).meta(G),user_id:s.string().min(1).meta({...G,readOnly:true}),access_token:s.string().nullable().default(null).meta({...qt,readOnly:true}),refresh_token:s.string().nullable().default(null).meta({...qt,readOnly:true}),id_token:s.string().nullable().default(null).meta({...qt,readOnly:true}),access_token_expires_at:ot.meta({...G,readOnly:true}),refresh_token_expires_at:ot.meta({...G,readOnly:true}),scope:s.string().nullable().default(null).meta(G),password:s.string().nullable().default(null).meta({...qt,readOnly:true})}).meta({id:"AuthAccount","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({identifier:s.string().min(1).meta(qt),value:s.string().min(1).meta({...qt,readOnly:true}),expires_at:s.string().datetime().meta(G)}).meta({id:"AuthVerification","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({secret:s.string().min(1).meta({...qt,readOnly:true}),backup_codes:s.string().min(1).meta({...qt,readOnly:true}),user_id:s.string().min(1).meta({...G,readOnly:true}),verified:s.boolean().default(false).meta({...G,readOnly:true})}).meta({id:"AuthTwoFactor","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({name:at.meta(G),slug:s.string().min(1).max(100).nullable().default(null).meta(G),logo:s.string().url().nullable().default(null).meta(G),created_at:s.string().datetime().meta({...G,readOnly:true}),metadata:s.string().nullable().default(null).meta(G)}).meta({id:"AuthOrganization","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});var WR=s.enum(["viewer","collaborator","approver","admin"]).meta({id:"Role","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});var XR=s.enum(["tenant","users","plans","entitlements","placements","targeting","content","experiments","billing","audit","mcp","api_tokens","settings"]).meta({id:"PermissionResource","x-revturbine-schema-persistence":oy,"x-revturbine-schema-exposure":zt}),YR=s.enum(["read","create","update","delete","publish","approve","invite","manage_roles"]).meta({id:"PermissionAction","x-revturbine-schema-persistence":oy,"x-revturbine-schema-exposure":zt});s.object({resource:XR,action:YR}).meta({id:"Permission","x-revturbine-schema-persistence":oy,"x-revturbine-schema-exposure":zt});var kA=["tenant","plans","entitlements","placements","targeting","content","experiments","audit","settings"],wA=["plans","entitlements","placements","targeting","content","experiments"],TA=["plans","entitlements","placements","targeting","content","experiments"],RA=["tenant","users","plans","entitlements","placements","targeting","content","experiments","billing","audit","mcp","api_tokens","settings"],CA=["read","create","update","delete","publish","approve","invite","manage_roles"];function $d(e,n){return e.flatMap(r=>n.map(o=>({resource:r,action:o})))}var EA=$d(kA,["read"]),zA=[...EA,...$d(wA,["create","update"])];[...zA,...$d(TA,["publish","approve","delete"])];$d(RA,CA);var jA=XR.options.flatMap(e=>YR.options.map(n=>`${e}:${n}`));s.enum(jA).meta({id:"McpTokenScope","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({organization_id:s.string().min(1).meta({...G,readOnly:true}),user_id:s.string().min(1).meta({...G,readOnly:true}),role:WR.default("viewer").meta(G),created_at:s.string().datetime().meta({...G,readOnly:true})}).meta({id:"AuthMember","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});var UA=s.enum(["pending","accepted","rejected","canceled","expired"]).meta({id:"InvitationStatus","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({organization_id:s.string().min(1).meta({...G,readOnly:true}),email:s.string().email().meta(qt),role:WR.nullable().default(null).meta(G),status:UA.default("pending").meta(G),expires_at:s.string().datetime().meta(G),created_at:s.string().datetime().meta({...G,readOnly:true}),inviter_id:s.string().min(1).meta({...G,readOnly:true})}).meta({id:"AuthInvitation","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({name:s.string().max(200).nullable().default(null).meta(G),public_key:s.string().min(1).meta({...qt,readOnly:true}),user_id:s.string().min(1).meta({...G,readOnly:true}),credential_id:s.string().min(1).meta({...G,readOnly:true}),counter:s.number().int().default(0).meta({...G,readOnly:true}),device_type:s.string().min(1).meta(G),backed_up:s.boolean().default(false).meta(G),transports:s.string().nullable().default(null).meta(G),created_at:s.string().datetime().meta({...G,readOnly:true}),aaguid:s.string().nullable().default(null).meta(G)}).meta({id:"AuthPasskey","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.merge(ee).extend({config_id:s.string().min(1).meta(G),name:s.string().max(200).nullable().default(null).meta(G),start:s.string().nullable().default(null).meta(G),reference_id:s.string().min(1).meta(G),prefix:s.string().nullable().default(null).meta(G),key:s.string().min(1).meta({...qt,readOnly:true}),refill_interval:s.number().int().nullable().default(null).meta(G),refill_amount:s.number().int().nullable().default(null).meta(G),last_refill_at:ot.meta({...G,readOnly:true}),enabled:s.boolean().default(true).meta(G),rate_limit_enabled:s.boolean().default(false).meta(G),rate_limit_time_window:s.number().int().nullable().default(null).meta(G),rate_limit_max:s.number().int().nullable().default(null).meta(G),request_count:s.number().int().default(0).meta({...G,readOnly:true}),remaining:s.number().int().nullable().default(null).meta({...G,readOnly:true}),last_request:ot.meta({...G,readOnly:true}),expires_at:ot.meta(G),permissions:s.string().nullable().default(null).meta(G),metadata:s.string().nullable().default(null).meta(G)}).meta({id:"AuthApiKey","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});J.extend({issuer:s.string().min(1).meta(G),oidc_config:s.string().nullable().default(null).meta(G),saml_config:s.string().nullable().default(null).meta(G),user_id:s.string().min(1).meta({...G,readOnly:true}),provider_id:s.string().min(1).meta(G),organization_id:s.string().nullable().default(null).meta(G),domain:s.string().min(1).meta(G)}).meta({id:"AuthSsoProvider","x-revturbine-schema-persistence":tn,"x-revturbine-schema-exposure":zt});var QR="0.2.23";var Pn=Object.freeze({colors:{primary:"#1e40af",primaryText:"#ffffff",secondary:"#f3f4f6",secondaryText:"#1f2937",accent:"#7c3aed",accentText:"#ffffff",background:"#ffffff",surface:"#f8fafc",surfaceBorder:"#e2e8f0",text:"#111827",textSecondary:"#4b5563",textMuted:"#6b7280",overlay:"rgba(0, 0, 0, 0.5)",success:"#16a34a",warning:"#f59e0b",danger:"#dc2626",info:"#60a5fa",toastBackground:"#1f2937",toastText:"#ffffff",cliBackground:"#1e1e1e",cliText:"#d4d4d4",cliLink:"#569cd6",track:"#e5e7eb"},typography:{fontFamily:"system-ui, -apple-system, sans-serif",fontFamilyMono:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace',fontSize:"14px",fontSizeSmall:"13px",fontSizeHeader:"20px",fontSizeLargeHeader:"28px"},shape:{borderRadiusSmall:"6px",borderRadius:"8px",borderRadiusLarge:"12px"},shadows:{medium:"0 10px 40px rgba(0, 0, 0, 0.25)",large:"0 20px 60px rgba(0, 0, 0, 0.3)"}});function na(e){return e?{id:e.id??Pn.id,name:e.name??Pn.name,version:e.version??Pn.version,colors:{...Pn.colors,...e.colors},typography:{...Pn.typography,...e.typography},shape:{...Pn.shape,...e.shape},shadows:{...Pn.shadows,...e.shadows}}:{...Pn}}var NA=createContext(Pn);function jt(){return useContext(NA)}var ZA={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 24px",lineHeight:"1.5",zIndex:9990,width:"100%",boxSizing:"border-box"},BA={display:"flex",flexDirection:"column",gap:"2px",flex:1},MA={display:"flex",alignItems:"center",gap:"8px",marginLeft:"16px",flexShrink:0};function sy({content:e,onCtaClick:n,onDismiss:r,visible:o,className:t,style:i}){let a=jt(),[c,l]=useState(false),[u,m]=useState(o);o&&!u&&l(false),o!==u&&m(o);let p=e.position||"top",f=e.dismissible!==false,g=useCallback(()=>{l(true),r();},[r]),h=useMemo(()=>{let{colors:k,typography:S,shape:T}=a;return {banner:{...ZA,backgroundColor:k.primary,color:k.primaryText,fontFamily:S.fontFamily,fontSize:S.fontSize,position:"sticky",...p==="bottom"?{bottom:0}:{top:0}},header:{fontWeight:600,fontSize:"15px"},body:{opacity:.9},cta:{padding:"6px 16px",backgroundColor:k.primaryText,color:k.primary,border:"none",borderRadius:T.borderRadiusSmall,fontWeight:600,fontSize:S.fontSizeSmall,cursor:"pointer",whiteSpace:"nowrap"},dismiss:{padding:"4px 8px",background:"transparent",border:"none",color:k.primaryText,fontSize:"18px",cursor:"pointer",opacity:.7,lineHeight:1}}},[a,p]);return !o||c?null:jsxs("div",{className:t,style:{...h.banner,...i},role:"banner","data-rt-placement":"banner",children:[jsxs("div",{style:BA,children:[e.header&&jsx("div",{style:h.header,children:e.header}),(e.body||e.message)&&jsx("div",{style:h.body,children:e.body||e.message})]}),jsxs("div",{style:MA,children:[e.cta_label&&jsx("button",{type:"button",style:h.cta,onClick:n,children:e.cta_label}),f&&jsx("button",{type:"button",style:h.dismiss,onClick:g,"aria-label":"Dismiss",children:"\xD7"})]})]})}sy.displayName="BannerSlot";var HA={position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999},KA={width:"100%",maxHeight:"200px",objectFit:"cover",marginBottom:"16px"},GA={display:"flex",gap:"12px",justifyContent:"flex-end"};function ly({content:e,onCtaClick:n,onSecondaryCtaClick:r,onDismiss:o,visible:t,className:i,style:a}){let c=jt(),l=useRef(null),u=e.style||"optional",[m,p]=useState(false),f=useRef(t);useEffect(()=>{t&&!f.current&&p(false),f.current=t;},[t]);let g=useCallback(()=>{p(true),o();},[o]),h=useCallback(T=>{u==="optional"&&T.target===T.currentTarget&&g();},[u,g]),k=useCallback(T=>{T.key==="Escape"&&u==="optional"&&g();},[u,g]);useEffect(()=>{if(t)return document.addEventListener("keydown",k),l.current?.focus(),()=>document.removeEventListener("keydown",k)},[t,k]);let S=useMemo(()=>{let{colors:T,typography:C,shape:N,shadows:R}=c;return {overlay:{...HA,backgroundColor:T.overlay,fontFamily:C.fontFamily},dialog:{position:"relative",maxWidth:"480px",width:"90%",backgroundColor:T.background,borderRadius:N.borderRadiusLarge,boxShadow:R.large,padding:"32px",boxSizing:"border-box"},close:{position:"absolute",top:"12px",right:"12px",background:"transparent",border:"none",fontSize:"20px",color:T.textMuted,cursor:"pointer",padding:"4px 8px",lineHeight:1},image:{...KA,borderRadius:N.borderRadius},header:{fontSize:C.fontSizeHeader,fontWeight:700,color:T.text,marginBottom:"8px",lineHeight:1.3},body:{fontSize:"15px",color:T.textSecondary,lineHeight:1.6,marginBottom:"24px"},primaryBtn:{padding:"10px 24px",backgroundColor:T.primary,color:T.primaryText,border:"none",borderRadius:N.borderRadius,fontWeight:600,fontSize:C.fontSize,cursor:"pointer"},secondaryBtn:{padding:"10px 24px",backgroundColor:"transparent",color:T.textSecondary,border:`1px solid ${T.surfaceBorder}`,borderRadius:N.borderRadius,fontWeight:500,fontSize:C.fontSize,cursor:"pointer"}}},[c]);return !t||m?null:jsx("div",{style:S.overlay,onClick:h,role:"dialog","aria-modal":"true","aria-label":typeof e.header=="string"?e.header:"Placement","data-rt-placement":"modal",children:jsxs("div",{ref:l,className:i,style:{...S.dialog,...a},tabIndex:-1,children:[u==="optional"&&jsx("button",{type:"button",style:S.close,onClick:g,"aria-label":"Close",children:"\xD7"}),e.image_url&&jsx("img",{src:e.image_url,alt:"",style:S.image}),e.header&&jsx("div",{style:S.header,children:e.header}),e.body&&jsx("div",{style:S.body,children:e.body}),jsxs("div",{style:GA,children:[e.secondary_cta_label&&r&&jsx("button",{type:"button",style:S.secondaryBtn,onClick:r,children:e.secondary_cta_label}),e.cta_label&&jsx("button",{type:"button",style:S.primaryBtn,onClick:n,children:e.cta_label})]})]})})}ly.displayName="ModalSlot";var WA={width:"100%",maxHeight:"180px",objectFit:"cover",marginBottom:"12px"};function uy({content:e,onCtaClick:n,visible:r,className:o,style:t}){let i=jt(),a=useMemo(()=>{let{colors:c,typography:l,shape:u}=i;return {container:{backgroundColor:c.surface,border:`1px solid ${c.surfaceBorder}`,borderRadius:u.borderRadius,padding:"20px",fontFamily:l.fontFamily,boxSizing:"border-box"},header:{fontSize:"16px",fontWeight:600,color:c.text,marginBottom:"6px",lineHeight:1.4},body:{fontSize:l.fontSize,color:c.textSecondary,lineHeight:1.6,marginBottom:"16px"},image:{...WA,borderRadius:u.borderRadiusSmall},cta:{padding:"8px 20px",backgroundColor:c.primary,color:c.primaryText,border:"none",borderRadius:u.borderRadiusSmall,fontWeight:600,fontSize:l.fontSizeSmall,cursor:"pointer"}}},[i]);return r?jsxs("div",{className:o,style:{...a.container,...t},"data-rt-placement":"inline-embed",children:[e.image_url&&jsx("img",{src:e.image_url,alt:"",style:a.image}),e.header&&jsx("div",{style:a.header,children:e.header}),(e.body||e.message)&&jsx("div",{style:a.body,children:e.body||e.message}),e.cta_label&&jsx("button",{type:"button",style:a.cta,onClick:n,children:e.cta_label})]}):null}uy.displayName="InlineEmbedSlot";function hc(e){return jsx(uy,{...e})}hc.displayName="InPageSlot";var oC={"top-right":{top:"16px",right:"16px"},"bottom-right":{bottom:"16px",right:"16px"},"bottom-center":{bottom:"16px",left:"50%",transform:"translateX(-50%)"}},nN={position:"absolute",zIndex:9995,maxWidth:"380px",width:"90%",lineHeight:1.5,display:"flex",alignItems:"center",gap:"12px",boxSizing:"border-box"},rN={flex:1};function my({content:e,onCtaClick:n,onDismiss:r,visible:o,className:t,style:i}){let a=jt(),[c,l]=useState(o),[u,m]=useState(o);o&&!u&&l(true),o!==u&&m(o);let p=e.position||"bottom-right",f=typeof e.duration=="number"?e.duration:5,g=useCallback(()=>{l(false),r();},[r]);useEffect(()=>{if(!c||f<=0)return;let S=setTimeout(()=>{g();},f*1e3);return ()=>clearTimeout(S)},[c,f,g]);let h=useMemo(()=>{let{colors:S,typography:T,shape:C,shadows:N}=a;return {container:{...nN,backgroundColor:S.toastBackground,color:S.toastText,borderRadius:C.borderRadius,boxShadow:N.medium,padding:"14px 18px",fontFamily:T.fontFamily,fontSize:T.fontSize},cta:{color:S.info,background:"transparent",border:"none",fontWeight:600,fontSize:T.fontSizeSmall,cursor:"pointer",whiteSpace:"nowrap",textDecoration:"underline",padding:0},close:{background:"transparent",border:"none",color:S.textMuted,fontSize:"16px",cursor:"pointer",padding:"2px 4px",lineHeight:1,flexShrink:0}}},[a]);if(!c)return null;let k=oC[p]??oC["bottom-right"];return jsxs("div",{className:t,style:{...h.container,...k,...i},role:"status","aria-live":"polite","data-rt-placement":"toast",children:[jsx("div",{style:rN,children:e.message||e.body||e.header}),e.cta_label&&jsx("button",{type:"button",style:h.cta,onClick:n,children:e.cta_label}),jsx("button",{type:"button",style:h.close,onClick:g,"aria-label":"Close",children:"\xD7"})]})}my.displayName="ToastSlot";function py({content:e,onCtaClick:n,visible:r,className:o,style:t}){let i=jt();if(!r)return null;let a=e.style||"primary",c={padding:"8px 20px",border:"none",borderRadius:i.shape.borderRadiusSmall,fontWeight:600,fontSize:i.typography.fontSize,cursor:"pointer",fontFamily:i.typography.fontFamily,whiteSpace:"nowrap",lineHeight:1.4},l={primary:{...c,backgroundColor:i.colors.primary,color:i.colors.primaryText},secondary:{...c,backgroundColor:i.colors.secondary,color:i.colors.secondaryText,border:`1px solid ${i.colors.surfaceBorder}`},accent:{...c,backgroundColor:i.colors.accent,color:i.colors.accentText}},u=l[a]??l.primary;return jsx("button",{type:"button",className:o,style:{...u,...t},onClick:n,"data-rt-placement":"button",children:e.cta_label||"Upgrade"})}py.displayName="ButtonSlot";function by(e){if(typeof e.usage_percent=="number")return e.usage_percent;let n=typeof e.usage_current=="number"?e.usage_current:0,r=typeof e.usage_limit=="number"?e.usage_limit:100;return r>0?Math.min(100,Math.round(n/r*100)):0}function aC(e,n){return e>=90?n.colors.danger:e>=70?n.colors.warning:n.colors.primary}function aN({content:e,theme:n}){let r=by(e),o=e.usage_current??r,t=e.usage_limit??100;return jsxs(Fragment,{children:[jsxs("div",{style:{fontSize:n.typography.fontSizeSmall,color:n.colors.textMuted,marginBottom:"8px",display:"flex",justifyContent:"space-between",alignItems:"baseline"},children:[jsx("span",{children:typeof e.header=="string"?e.header:"Usage"}),jsxs("span",{style:{fontWeight:600,color:n.colors.text},children:[String(o)," / ",String(t)]})]}),jsx("div",{style:{width:"100%",height:"8px",backgroundColor:n.colors.track,borderRadius:n.shape.borderRadiusSmall,overflow:"hidden",marginBottom:"12px"},children:jsx("div",{style:{height:"100%",borderRadius:n.shape.borderRadiusSmall,transition:"width 0.3s ease",width:`${Math.min(100,r)}%`,backgroundColor:aC(r,n)}})})]})}function sN({content:e,theme:n}){let r=e.usage_current??0,o=e.usage_limit??100;return jsxs(Fragment,{children:[jsxs("div",{style:{fontSize:"24px",fontWeight:700,color:n.colors.text,marginBottom:"4px"},children:[String(r)," / ",String(o)]}),jsx("div",{style:{fontSize:n.typography.fontSizeSmall,color:n.colors.textMuted,marginBottom:"12px"},children:typeof e.header=="string"?e.header:"Usage"})]})}var Hn=80,gy=8,hy=(Hn-gy)/2,fy=2*Math.PI*hy;function cN({content:e,theme:n}){let r=by(e),o=e.usage_current??r,t=e.usage_limit??100,i=fy-r/100*fy,a=aC(r,n);return jsxs("div",{style:{display:"flex",alignItems:"center",gap:"16px",marginBottom:"12px"},children:[jsxs("svg",{width:Hn,height:Hn,style:{flexShrink:0},children:[jsx("circle",{cx:Hn/2,cy:Hn/2,r:hy,fill:"none",stroke:n.colors.track,strokeWidth:gy}),jsx("circle",{cx:Hn/2,cy:Hn/2,r:hy,fill:"none",stroke:a,strokeWidth:gy,strokeLinecap:"round",strokeDasharray:fy,strokeDashoffset:i,transform:`rotate(-90 ${Hn/2} ${Hn/2})`,style:{transition:"stroke-dashoffset 0.3s ease"}}),jsxs("text",{x:Hn/2,y:Hn/2+1,textAnchor:"middle",dominantBaseline:"central",fontSize:"16",fontWeight:"700",fill:n.colors.text,children:[r,"%"]})]}),jsxs("div",{children:[jsxs("div",{style:{fontSize:n.typography.fontSize,fontWeight:600,color:n.colors.text},children:[String(o)," / ",String(t)]}),jsx("div",{style:{fontSize:n.typography.fontSizeSmall,color:n.colors.textMuted},children:typeof e.header=="string"?e.header:"Usage"})]})]})}function Td({content:e,onCtaClick:n,visible:r,className:o,style:t}){let i=jt();if(!r)return null;let a=e.display_style||"progress_bar",c=typeof e.show_at=="number"?e.show_at:0,l=by(e);if(c>0&&l<c)return null;let u={backgroundColor:i.colors.surface,border:`1px solid ${i.colors.surfaceBorder}`,borderRadius:i.shape.borderRadius,padding:"16px 20px",fontFamily:i.typography.fontFamily,boxSizing:"border-box"},m={padding:"6px 16px",backgroundColor:i.colors.primary,color:i.colors.primaryText,border:"none",borderRadius:i.shape.borderRadiusSmall,fontWeight:600,fontSize:i.typography.fontSizeSmall,cursor:"pointer"};return jsxs("div",{className:o,style:{...u,...t},"data-rt-placement":"quota-meter",children:[a==="numeric_counter"?jsx(sN,{content:e,theme:i}):a==="circular_gauge"?jsx(cN,{content:e,theme:i}):jsx(aN,{content:e,theme:i}),e.cta_label&&jsx("button",{type:"button",style:m,onClick:n,children:e.cta_label})]})}Td.displayName="QuotaMeterSlot";var lN={maxWidth:"800px",margin:"0 auto",padding:"40px 24px",fontFamily:"system-ui, -apple-system, sans-serif",boxSizing:"border-box"},uN={fontSize:"28px",fontWeight:700,color:"#111827",textAlign:"center",marginBottom:"12px",lineHeight:1.3},dN={fontSize:"16px",color:"#4b5563",textAlign:"center",lineHeight:1.6,marginBottom:"32px",maxWidth:"600px",marginLeft:"auto",marginRight:"auto"},mN={display:"flex",justifyContent:"center",gap:"16px"},pN={padding:"12px 32px",backgroundColor:"#1e40af",color:"#ffffff",border:"none",borderRadius:"8px",fontWeight:600,fontSize:"16px",cursor:"pointer"},fN={padding:"12px 32px",backgroundColor:"transparent",color:"#4b5563",border:"1px solid #d1d5db",borderRadius:"8px",fontWeight:500,fontSize:"16px",cursor:"pointer"};function Cd({content:e,onCtaClick:n,onSecondaryCtaClick:r,visible:o,className:t,style:i}){return o?jsxs("div",{className:t,style:{...lN,...i},"data-rt-placement":"full-page",children:[e.header&&jsx("h1",{style:uN,children:e.header}),e.body&&jsx("p",{style:dN,children:e.body}),jsxs("div",{style:mN,children:[e.cta_label&&jsx("button",{type:"button",style:pN,onClick:n,children:e.cta_label}),e.secondary_cta_label&&r&&jsx("button",{type:"button",style:fN,onClick:r,children:e.secondary_cta_label})]})]}):null}Cd.displayName="FullPageSlot";var gN={backgroundColor:"#1e1e1e",color:"#d4d4d4",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace',fontSize:"13px",lineHeight:1.6,padding:"16px 20px",borderRadius:"6px",boxSizing:"border-box"},hN={whiteSpace:"pre-wrap",marginBottom:"12px"},bN={display:"flex",gap:"16px"},lC={color:"#569cd6",background:"transparent",border:"none",cursor:"pointer",fontFamily:"inherit",fontSize:"inherit",padding:0,textDecoration:"underline"};function vy({content:e,onCtaClick:n,visible:r,className:o,style:t}){if(!r)return null;let i=e.message||e.body||"",a=e.action_links,c=Array.isArray(a)?a.filter(l=>typeof l=="string"):[];return jsxs("div",{className:o,style:{...gN,...t},"data-rt-placement":"cli",children:[i&&jsx("div",{style:hN,children:i}),(c.length>0||e.cta_label)&&jsxs("div",{style:bN,children:[e.cta_label&&jsx("button",{type:"button",style:lC,onClick:n,children:e.cta_label}),c.map(l=>jsx("button",{type:"button",style:lC,onClick:n,children:l},l))]})]})}vy.displayName="CliSlot";var _N={backgroundColor:"#ffffff",border:"1px solid #e2e8f0",borderRadius:"8px",padding:"16px 20px",fontFamily:"system-ui, -apple-system, sans-serif",boxSizing:"border-box"},vN={display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:"4px"},yN={fontSize:"13px",color:"#6b7280"},xN={fontSize:"28px",fontWeight:700,color:"#111827"},IN={fontSize:"12px",color:"#9ca3af",marginBottom:"12px"},SN={width:"100%",height:"6px",backgroundColor:"#e5e7eb",borderRadius:"3px",overflow:"hidden",marginBottom:"12px"},PN={height:"100%",borderRadius:"3px",transition:"width 0.3s ease"},$N={display:"flex",gap:"8px"},kN={padding:"6px 16px",backgroundColor:"#1e40af",color:"#ffffff",border:"none",borderRadius:"6px",fontWeight:600,fontSize:"13px",cursor:"pointer"};function wN(e,n){if(n<=0)return "#1e40af";let r=e/n*100;return r<=10?"#dc2626":r<=25?"#f59e0b":"#1e40af"}function yy({content:e,onCtaClick:n,visible:r,className:o,style:t}){if(!r)return null;let i=typeof e.credits_remaining=="number"?e.credits_remaining:0,a=typeof e.credits_total=="number"?e.credits_total:i,c=typeof e.show_at=="number"?e.show_at:0,l=e.show_burn_rate===true,u=e.display_style||"numeric_balance";if(c>0&&i>c)return null;let m=a>0?i/a*100:0;return jsxs("div",{className:o,style:{..._N,...t},"data-rt-placement":"credit-balance",children:[jsxs("div",{style:vN,children:[jsx("span",{style:yN,children:typeof e.header=="string"?e.header:"Credits Remaining"}),jsx("span",{style:xN,children:String(i)})]}),l&&typeof e.burn_rate_label=="string"&&jsx("div",{style:IN,children:e.burn_rate_label}),(u==="balance_bar"||u==="balance_burn_rate")&&a>0&&jsx("div",{style:SN,children:jsx("div",{style:{...PN,width:`${Math.min(100,m)}%`,backgroundColor:wN(i,a)}})}),jsx("div",{style:$N,children:e.cta_label&&jsx("button",{type:"button",style:kN,onClick:n,children:e.cta_label})})]})}yy.displayName="CreditBalanceSlot";var RN={position:"absolute",top:"16px",right:"16px"};function CN(e,n,r){return n==="top"?{position:"fixed",left:`${e.left+e.width/2}px`,top:`${e.top-r}px`,transform:"translate(-50%, -100%)"}:n==="left"?{position:"fixed",left:`${e.left-r}px`,top:`${e.top+e.height/2}px`,transform:"translate(-100%, -50%)"}:n==="right"?{position:"fixed",left:`${e.left+e.width+r}px`,top:`${e.top+e.height/2}px`,transform:"translate(0, -50%)"}:{position:"fixed",left:`${e.left+e.width/2}px`,top:`${e.top+e.height+r}px`,transform:"translate(-50%, 0)"}}function Iy({content:e,onCtaClick:n,onDismiss:r,visible:o,className:t,style:i}){let a=jt(),[c,l]=useState(false),[u,m]=useState(null),p=e.anchor_selector||void 0,f=e.position||"top",g=typeof e.anchor_gap=="number"?e.anchor_gap:10,h=useCallback(()=>{if(!p||typeof window>"u"){m(null);return}let C=window.document.querySelector(p);if(!C){m(null);return}let N=C.getBoundingClientRect();m({top:N.top,left:N.left,width:N.width,height:N.height});},[p]);useEffect(()=>{o&&l(false);},[o]),useEffect(()=>{if(!o||(h(),typeof window>"u"))return;let C=()=>h();return window.addEventListener("resize",C),window.addEventListener("scroll",C,true),()=>{window.removeEventListener("resize",C),window.removeEventListener("scroll",C,true);}},[o,h]);let k=useCallback(()=>{l(true),r();},[r]),S=useMemo(()=>{let{colors:C,typography:N,shape:R,shadows:w}=a;return {container:{zIndex:9996,maxWidth:"320px",width:"max-content",lineHeight:1.45,display:"flex",flexDirection:"column",gap:"10px",boxSizing:"border-box",backgroundColor:C.toastBackground,color:C.toastText,borderRadius:R.borderRadius,boxShadow:w.medium,padding:"12px 14px",fontFamily:N.fontFamily,fontSize:N.fontSizeSmall},body:{margin:0},actions:{display:"flex",alignItems:"center",gap:"10px"},cta:{color:C.info,background:"transparent",border:"none",fontWeight:600,fontSize:N.fontSizeSmall,cursor:"pointer",textDecoration:"underline",padding:0},close:{marginLeft:"auto",background:"transparent",border:"none",color:C.textMuted,fontSize:"14px",cursor:"pointer",lineHeight:1,padding:"2px 4px"}}},[a]);if(!o||c)return null;let T=u?CN(u,f,g):RN;return jsxs("div",{className:t,style:{...S.container,...T,...i},role:"status","aria-live":"polite","data-rt-placement":"tooltip",children:[jsx("p",{style:S.body,children:e.message||e.body||e.header}),jsxs("div",{style:S.actions,children:[e.cta_label&&jsx("button",{type:"button",style:S.cta,onClick:n,children:e.cta_label}),jsx("button",{type:"button",style:S.close,onClick:k,"aria-label":"Close tooltip",children:"\xD7"})]})]})}Iy.displayName="TooltipSlot";function zN(e){return e==="connected"?"#22c55e":e==="pending"?"#f59e0b":"#ef4444"}function jN(e){return e==="connected"?"Connected":e==="pending"?"Pending":"Disconnected"}function Py({content:e,onCtaClick:n,visible:r,className:o,style:t}){let i=jt(),a=e.connection_state||"disconnected",c=useMemo(()=>{let{colors:l,typography:u,shape:m,shadows:p}=i;return {card:{backgroundColor:l.surface,border:`1px solid ${l.surfaceBorder}`,borderRadius:m.borderRadius,boxShadow:p.medium,padding:"16px",display:"flex",flexDirection:"column",gap:"12px",fontFamily:u.fontFamily,maxWidth:"420px"},row:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px"},heading:{margin:0,color:l.text,fontSize:"15px",fontWeight:600},body:{margin:0,color:l.textSecondary,fontSize:u.fontSizeSmall,lineHeight:1.45},badge:{display:"inline-flex",alignItems:"center",gap:"6px",borderRadius:"999px",border:`1px solid ${l.surfaceBorder}`,padding:"3px 8px",fontSize:"12px",color:l.textSecondary},dot:{width:"8px",height:"8px",borderRadius:"50%",backgroundColor:zN(a)},cta:{alignSelf:"flex-start",backgroundColor:l.primary,color:l.primaryText,border:"none",borderRadius:m.borderRadiusSmall,padding:"7px 12px",fontWeight:600,fontSize:u.fontSizeSmall,cursor:"pointer"}}},[i,a]);return r?jsxs("section",{className:o,style:{...c.card,...t},"data-rt-placement":"agent-connector",children:[jsxs("div",{style:c.row,children:[jsx("h3",{style:c.heading,children:e.header||"Connect your assistant"}),jsxs("span",{style:c.badge,children:[jsx("span",{style:c.dot}),jN(a)]})]}),jsx("p",{style:c.body,children:e.body||"Enable your agent connector to automate premium workflows."}),e.cta_label&&jsx("button",{type:"button",style:c.cta,onClick:n,children:e.cta_label})]}):null}Py.displayName="AgentConnectorSlot";var _c=(e,n="")=>e==null||e===""?n:String(e);function ON(e){let n=[];return e.cta_label&&n.push({kind:"primary",label:e.cta_label}),e.secondary_cta_label&&n.push({kind:"secondary",label:e.secondary_cta_label}),n}var $y={fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.05em",color:"#94a3b8"};function ky({content:e,onCtaClick:n,onSecondaryCtaClick:r,accent:o,accentText:t}){let i=ON(e);if(i.length===0)return null;let a={padding:"5px 12px",borderRadius:"6px",fontSize:"12px",fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"};return jsx("div",{style:{display:"flex",gap:"8px",marginTop:"8px",alignItems:"center"},children:i.map(c=>c.kind==="primary"?jsx("button",{type:"button","data-rt-cta":"primary",onClick:n,style:{...a,backgroundColor:o,color:t,border:"none"},children:c.label},"primary"):r&&jsx("button",{type:"button","data-rt-cta":"secondary",onClick:r,style:{...a,backgroundColor:"transparent",color:o,border:`1px solid ${o}`},children:c.label},"secondary"))})}function wy(){let e=jt();return useMemo(()=>({accent:e.colors.primary,accentText:e.colors.primaryText}),[e])}function Ty({content:e,onCtaClick:n,onSecondaryCtaClick:r,visible:o,className:t,style:i}){let{accent:a,accentText:c}=wy();return o?jsxs("div",{className:t,"data-rt-placement":"email",style:{borderRadius:"8px",border:"1px solid #e2e8f0",backgroundColor:"#ffffff",...i},children:[jsxs("div",{style:{borderBottom:"1px solid #f1f5f9",padding:"8px 12px"},children:[jsx("p",{style:{...$y,margin:0},children:"Email preview"}),jsx("p",{style:{margin:"2px 0 0",fontSize:"14px",fontWeight:600,color:"#1e293b"},children:_c(e.subject,"(no subject)")})]}),jsxs("div",{style:{padding:"8px 12px",fontSize:"12px",color:"#475569",whiteSpace:"pre-wrap"},children:[_c(e.body,"(empty body)"),jsx(ky,{content:e,onCtaClick:n,onSecondaryCtaClick:r,accent:a,accentText:c})]})]}):null}Ty.displayName="EmailPreviewSlot";function Ry({content:e,onCtaClick:n,onSecondaryCtaClick:r,visible:o,className:t,style:i}){let{accent:a,accentText:c}=wy();return o?jsxs("div",{className:t,"data-rt-placement":"sms",style:{borderRadius:"8px",border:"1px solid #e2e8f0",backgroundColor:"#f8fafc",padding:"12px",...i},children:[jsx("p",{style:{...$y,margin:0},children:"SMS preview"}),jsx("div",{style:{display:"inline-block",maxWidth:"85%",marginTop:"4px",borderRadius:"16px",backgroundColor:"#dcfce7",padding:"8px 12px",fontSize:"12px",color:"#1e293b"},children:_c(e.body??e.message,"(empty message)")}),jsx(ky,{content:e,onCtaClick:n,onSecondaryCtaClick:r,accent:a,accentText:c})]}):null}Ry.displayName="SmsPreviewSlot";function Cy({content:e,onCtaClick:n,onSecondaryCtaClick:r,visible:o,className:t,style:i}){let{accent:a,accentText:c}=wy();return o?jsxs("div",{className:t,"data-rt-placement":"push",style:{borderRadius:"8px",border:"1px solid #e2e8f0",backgroundColor:"#ffffff",padding:"12px",boxShadow:"0 1px 2px rgba(0,0,0,0.05)",...i},children:[jsx("p",{style:{...$y,margin:0},children:"Push preview"}),jsx("p",{style:{margin:"4px 0 0",fontSize:"14px",fontWeight:600,color:"#1e293b"},children:_c(e.header??e.title,"(no title)")}),jsx("p",{style:{margin:0,fontSize:"12px",color:"#475569"},children:_c(e.body,"(empty body)")}),jsx(ky,{content:e,onCtaClick:n,onSecondaryCtaClick:r,accent:a,accentText:c})]}):null}Cy.displayName="PushPreviewSlot";function vc(e){e.register({id:"banner",label:"Banner",description:"Full-width banner placement at the top or bottom of the page.",surfaceType:"banner",component:sy,defaultProps:{content:{position:"top",dismissible:true}}}),e.register({id:"modal",label:"Modal Overlay",description:"Centered overlay dialog. Supports optional (dismissible) and blocking modes.",surfaceType:"modal",component:ly}),e.register({id:"in_page",label:"Inline Embed",description:"Content card or message embedded in the page flow.",surfaceType:"in_page",component:hc}),e.register({id:"plans_cta",label:"Plans CTA",description:"Pricing page CTA-focused module with concise upgrade actions.",surfaceType:"in_page",component:hc,priority:30,accepts:n=>n.surface.type==="in_page"&&typeof n.surface.template=="string"&&["plans_cta","pricing_page_cta","plans_pricing_cta"].includes(n.surface.template)}),e.register({id:"plans_full",label:"Plans Full Page",description:"Dedicated plans and pricing full-page experience.",surfaceType:"full_page",component:Cd,priority:30,accepts:n=>typeof n.surface.template=="string"&&["plans_full","pricing_page_full","plans_pricing_full"].includes(n.surface.template)}),e.register({id:"inline_gate_message",label:"Inline Gate Message",description:"Inline entitlement gate message with upgrade CTA.",surfaceType:"in_page",component:hc,priority:40,accepts:n=>n.surface.type==="in_page"&&typeof n.surface.template=="string"&&["inline_gate_message","inline_feature_gate","feature_gate_inline"].includes(n.surface.template)}),e.register({id:"tooltip",label:"Tooltip",description:"Compact tooltip-like guidance near a feature surface.",surfaceType:"toast",component:Iy,priority:50,accepts:n=>{let r=typeof n.surface.template=="string"?n.surface.template:"";return r==="tooltip"||r==="feature_tooltip"||r==="inline_tooltip"},defaultProps:{content:{position:"top-right",duration:0}}}),e.register({id:"toast",label:"Toast Notification",description:"Small transient notification that auto-dismisses.",surfaceType:"toast",component:my,defaultProps:{content:{position:"bottom-right",duration:5}}}),e.register({id:"button",label:"Button",description:"Persistent button in the product navigation or UI.",surfaceType:"button",component:py,defaultProps:{content:{style:"primary"}}}),e.register({id:"full_page",label:"Full Page",description:"Dedicated managed page (e.g. plans & pricing).",surfaceType:"full_page",component:Cd}),e.register({id:"quota_meter",label:"Quota Meter",description:"Visual usage meter with upgrade CTA. Triggers at configurable threshold.",surfaceType:"in_page",component:Td,accepts:n=>n.surface.type==="in_page"&&(n.surface.template==="quota_meter"||n.surface.template==="quota_meter_counter_upgrade_button")}),e.register({id:"trial_counter",label:"Trial Counter",description:"Trial countdown/counter with conversion CTA.",surfaceType:"in_page",component:Td,priority:35,accepts:n=>n.surface.type==="in_page"&&typeof n.surface.template=="string"&&["trial_counter","trial_countdown","trial_days_counter"].includes(n.surface.template),defaultProps:{content:{display_style:"numeric_counter"}}}),e.register({id:"cli",label:"CLI Message",description:"Message in a CLI or chat-style interface with action links.",surfaceType:"cli",component:vy}),e.register({id:"email",label:"Email Preview",description:"Static email channel preview (subject + body + CTAs).",surfaceType:"email",component:Ty}),e.register({id:"sms",label:"SMS Preview",description:"Static SMS channel preview (message bubble + CTAs).",surfaceType:"sms",component:Ry}),e.register({id:"push",label:"Push Preview",description:"Static push-notification channel preview (title + body + CTAs).",surfaceType:"push",component:Cy}),e.register({id:"agent_connector",label:"Agent Connector",description:"Agent-surface placement for assistant/connector experiences.",surfaceType:"agent",component:Py,priority:30,accepts:n=>{let r=typeof n.surface.template=="string"?n.surface.template:"";return n.surface.type==="agent"||r==="agent_connector"}}),e.register({id:"credit_balance",label:"Credit Balance Counter",description:"Depleting credit balance display with purchase/upgrade CTA.",surfaceType:"in_page",component:yy,accepts:n=>n.surface.type==="in_page"&&(n.surface.template==="credit_balance_counter"||n.surface.template==="credit_balance")});}var DN=new Set(["type","plan_handle","promotion_id","placement_handle","url","tour_id"]),ra=class{constructor(){E(this,"types",new Map);E(this,"surfaceIndex",new Map);}register(n){let r=this.types.get(n.id);r&&console.warn(`[RevTurbine] Replacing existing placement slot type id ${n.id}.`,{previousSurfaceType:r.surfaceType,nextSurfaceType:n.surfaceType});let o={...n,priority:n.priority??0,accepts:n.accepts??(i=>i.surface.type===n.surfaceType)};this.types.set(o.id,o);let t=this.surfaceIndex.get(o.surfaceType)??[];t.includes(o.id)||(t.push(o.id),this.surfaceIndex.set(o.surfaceType,t));}unregister(n){let r=this.types.get(n);if(!r)return false;this.types.delete(n);let o=this.surfaceIndex.get(r.surfaceType);if(o){let t=o.filter(i=>i!==n);t.length>0?this.surfaceIndex.set(r.surfaceType,t):this.surfaceIndex.delete(r.surfaceType);}return true}get(n){return this.types.get(n)}resolve(n){if(n.surface.template){let t=this.types.get(n.surface.template);if(t)return t}let o=(this.surfaceIndex.get(n.surface.type)??[]).map(t=>this.types.get(t)).filter(t=>t!=null).sort((t,i)=>i.priority-t.priority);for(let t of o)if(t.accepts?.(n))return t;return this.types.get("custom")}listAll(){return Array.from(this.types.values())}listBySurfaceType(n){return (this.surfaceIndex.get(n)??[]).map(o=>this.types.get(o)).filter(Boolean)}has(n){return this.types.has(n)}};function hC(e,n){let r={current_usage:"usage_current",current_limit:"usage_limit",remaining_usage:"usage_remaining"},o=i=>{if(typeof i=="number"&&Number.isFinite(i))return i;if(typeof i=="string"&&i.trim().length>0){let a=Number(i);if(Number.isFinite(a))return a}},t=i=>{let a="_usage_remaining";if(i==="usage_remaining"){let m=o(n.usage_current??n.current_usage),p=o(n.usage_limit);return m!==void 0&&p!==void 0?Math.max(0,p-m):void 0}if(!i.endsWith(a))return;let c=i.slice(0,-a.length);if(!c)return;let l=o(n[`${c}_usage_current`]),u=o(n[`${c}_usage_limit`]);if(!(l===void 0||u===void 0))return Math.max(0,u-l)};return e.replace(/\{\{(\w+)\}\}/g,(i,a)=>{let c=r[a]??a,l=n[c];if(l!=null)return String(l);let u=t(c);return u!=null?String(u):`{{${a}}}`})}function AN(e,n){let r={};for(let[o,t]of Object.entries(e))typeof t=="string"?r[o]=hC(t,n):r[o]=t;return r}function NN(e){let n=typeof e.type=="string"&&e.type.length>0?e.type:"dismiss",r={};for(let[o,t]of Object.entries(e))DN.has(o)||(r[o]=t);return {type:n,plan_handle:typeof e.plan_handle=="string"?e.plan_handle:void 0,promotion_id:typeof e.promotion_id=="string"?e.promotion_id:void 0,placement_handle:typeof e.placement_handle=="string"?e.placement_handle:void 0,url:typeof e.url=="string"?e.url:void 0,tour_id:typeof e.tour_id=="string"?e.tour_id:void 0,...Object.keys(r).length>0?{params:r}:{}}}function FN(e){if(e)return {id:typeof e.id=="string"?e.id:"",name:typeof e.name=="string"?e.name:void 0,discount:typeof e.discount=="string"?e.discount:void 0,type:typeof e.type=="string"?e.type:void 0,status:typeof e.status=="string"?e.status:void 0}}var yc=null;function LN(){return yc||(yc=new ra,vc(yc)),yc}function ZN(){yc=null;}var xc={recommended_plan_handle:"",recommended_plan_name:""};function bC(e){let{strategy:n,planOverride:r,currentPlanHandle:o,plans:t}=e;if(t.length===0)return xc;if(n==="custom"){let c=r??"";if(c===""||c===o)return xc;let l=t.find(u=>u.unique_handle===c);return l?{recommended_plan_handle:l.unique_handle,recommended_plan_name:l.name}:xc}if(o==="")return xc;let i=Lp(o,t);if(i===null)return xc;let a=t.find(c=>c.unique_handle===i);return {recommended_plan_handle:i,recommended_plan_name:a?.name??i}}var IC=new Set(vd.options);function H9(e,n){return Ud(n,"defineUiPathResolvers(resolvers)")}function Ud(e,n){if(!e)return {};let r={};for(let[o,t]of Object.entries(e)){let i=String(o||"").trim();if(!i)throw new Error(`[RevTurbine] ${n} contains an empty action_type key.`);if(typeof t!="function")throw new Error(`[RevTurbine] ${n} contains a non-function resolver for action_type '${i}'.`);r[i]=t;}return r}function K9(e){return {...e,runtimeMode:"revturbine_server"}}function G9(e){return {...e,runtimeMode:"custom_endpoints",endpointOverrides:e.endpointOverrides}}function BN(e){let n=Ud(e.uiPathResolvers,"createLocalRuntimeConfig(uiPathResolvers)");return {...e,runtimeMode:"local_only",localRuntime:e.localRuntime,uiPathResolvers:n}}function J9(e){return BN(e)}function W9(e,n,r={}){return {slotId:e,surfaceType:n,entitlementHandle:r.entitlementHandle,planHandle:r.planHandle,placementHandle:r.placementHandle}}function X9(e,n={}){return {entitlementHandle:e,slotId:n.slotId,surfaceType:n.surfaceType,planHandle:n.planHandle,placementHandle:n.placementHandle}}function Y9(e,n={}){return {placementHandle:e,slotId:n.slotId,surfaceType:n.surfaceType,entitlementHandle:n.entitlementHandle,planHandle:n.planHandle}}function Wr(e,n,r){return {header:e,body:n,cta_label:r,title:e,cta:r}}function Q9(e,n,r,o={}){return {userId:e,placementId:n,interactionType:r,treatmentId:o.treatmentId,interactionAt:o.interactionAt,metadata:o.metadata}}function e5(e,n,r){return {eventType:e,payload:n,options:r}}var _C="revturbine:sdk-route-change",Ey="sdk_validation_warning",MN="revturbine:decision-cache",VN="revturbine:interaction-state",qN="revturbine:presentation-caps",HN="/api/track",KN="/api/sdk/meta",GN="/api/events/interactions",JN="/api/placements/interactions",WN="revturbine-web-sdk",vC="user_context_observed",XN=20,YN=5e3;function Ic(e,n){let r=e[n];if(typeof r=="string"&&r.trim().length>0)return r;let o=e.payload;if(H(o)){let t=o[n];if(typeof t=="string"&&t.trim().length>0)return t}return null}function QN(e){return Op(e,Dy(8))}async function yC(e){let n=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return dl(new Uint8Array(n))}function Dy(e){let n=Math.ceil(e/2),r=new Uint8Array(n);crypto.getRandomValues(r);let o="";for(let t=0;t<r.length;t+=1){let i=r[t].toString(16).padStart(2,"0");o+=i;}return o.slice(0,e)}function yt(){return typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Dy(16)}`}function zd(){return Uo()?{}:{url:window.location.href,title:document.title,referrer:document.referrer||void 0}}function xC(){return {id:void 0,custom:{},entitlements:{},usage:{},personalization:{}}}function eF(e,n){let r={};for(let[o,t]of Object.entries(n))(typeof t=="string"||typeof t=="number"||typeof t=="boolean")&&(r[o]=t);return Up(e,r)}function tF(e,n,r){if(e.length===0)return true;let o=new Map;for(let t of e){let i=r.get(t)??"__no_dim__",a=o.get(i)??[];a.push(t),o.set(i,a);}for(let t of o.values())if(!t.some(i=>n.has(i)))return false;return true}var jy=class{constructor(n){E(this,"exportedConfig");this.exportedConfig=n;}getExportedConfig(){return this.exportedConfig}},Uy=class{constructor(n,r){E(this,"cached");E(this,"resolver");this.resolver=n,this.cached=r;}getExportedConfig(){return this.cached}async refresh(){let n=fl(await this.resolver(),"localRuntime.resolvers.resolveExportedConfig()");return n&&(this.cached=n),this.cached}},Oy=class{constructor(n){E(this,"tenantId");E(this,"apiKey");E(this,"ingestPublicKey");E(this,"environmentId");E(this,"analyticsEnabled");E(this,"anonymousTelemetryEnabled");E(this,"maxBatchSize");E(this,"flushIntervalMs");E(this,"flushTimer");E(this,"batchingTeardown",[]);E(this,"anonTelemetryNoticeShown",false);E(this,"piiRedactionWarned",false);E(this,"endpoint");E(this,"runtimeMode");E(this,"endpointOverrides");E(this,"localRuntime");E(this,"localStorageKey");E(this,"mode");E(this,"policy");E(this,"extensionEnabled");E(this,"placementBehavior");E(this,"providerFailureSlotBehavior");E(this,"uiPathResolvers");E(this,"persistentStore");E(this,"sessionStore");E(this,"anonymousId");E(this,"sessionId");E(this,"decisionCache",new Map);E(this,"interactionState",new Map);E(this,"interactionQueue",[]);E(this,"defaultDecisionTtlMs",6e4);E(this,"defaultDismissCooldownMs",1440*60*1e3);E(this,"defaultRemindLaterMs",3600*1e3);E(this,"defaultUsageWarningPercent",80);E(this,"defaultTrialExpiringDays",3);E(this,"events",[]);E(this,"placements",new Map);E(this,"syncedSurfaceSlotIds",new Set);E(this,"userContext");E(this,"pageContext");E(this,"usageBalances",{});E(this,"localDecisionsByPlacementId",new Map);E(this,"localPlacementsByLookupKey",new Map);E(this,"localEntitlementsByHandle",new Map);E(this,"localUserContextsByUserId",new Map);E(this,"localTrialStatus",{in_trial:false});E(this,"presentationCapsByKey",new Map);E(this,"usageLimitByEntitlement",new Map);E(this,"usageTokenPrefixByEntitlement",new Map);E(this,"segmentIdsByPredicateField",new Map);E(this,"configuredSegmentsById",new Map);E(this,"dirtySegmentIds",new Set);E(this,"segmentMembershipBySegmentId",new Map);E(this,"segmentMembershipUserId");E(this,"lastTrialTriggerStage","none");E(this,"configProvider");E(this,"defaultLocalPlacementDecisionResolver");E(this,"sdkDisabledByProviderFailure",false);E(this,"sdkDisabledReason");E(this,"providerRegistry");E(this,"placementTypeRegistry");E(this,"impressionHistory");if(this.tenantId=n.tenantId,this.apiKey=n.apiKey,this.ingestPublicKey=n.ingestPublicKey,this.environmentId=n.environmentId?.trim()||"default",this.analyticsEnabled=n.analytics!==false,this.anonymousTelemetryEnabled=n.anonymousTelemetry!==false,this.maxBatchSize=Math.max(1,n.eventBatching?.maxBatchSize??XN),this.flushIntervalMs=Math.max(0,n.eventBatching?.flushIntervalMs??YN),this.endpoint=n.endpoint.replace(/\/$/,""),this.runtimeMode=n.runtimeMode??"revturbine_server",this.endpointOverrides=n.endpointOverrides??{},this.localRuntime=n.localRuntime,this.configProvider=this.resolveConfigProvider(n),this.localStorageKey=n.localRuntime?.storageKey??`revturbine:${this.tenantId}:local-runtime`,this.mode=n.mode,this.policy={inferUser:n.contextPolicy?.inferUser??true,inferPage:n.contextPolicy?.inferPage??true,routerAutoTrack:n.contextPolicy?.routerAutoTrack??true},this.extensionEnabled=!!n.extension?.enabled,this.placementBehavior={enableClientCapsEnforcement:n.placementBehavior?.enableClientCapsEnforcement??false,enableAutoGatedPlacement:n.placementBehavior?.enableAutoGatedPlacement??false,enableTrialAutoTriggers:n.placementBehavior?.enableTrialAutoTriggers??false},this.providerFailureSlotBehavior=n.providerFailureSlotBehavior??"invisible",this.uiPathResolvers=Ud(n.uiPathResolvers,"RevTurbineInitOptions.uiPathResolvers"),this.persistentStore=Mr(n.persistentStorage),this.sessionStore=Cv(n.sessionStorage),this.userContext={usage:{},...this.policy.inferUser?xC():{},...n.user||{}},this.pageContext={...this.policy.inferPage?zd():{},...n.page||{},tags:Ya(n.page?.tags)},this.anonymousId=this.resolveAnonymousId(),this.sessionId=yt(),this.providerRegistry=new Gs,this.placementTypeRegistry=new ra,this.impressionHistory=new wv({store:new md({storage:this.persistentStore,tenantId:this.tenantId}),userId:this.userContext.id??this.anonymousId}),vc(this.placementTypeRegistry),this.defaultLocalPlacementDecisionResolver=this.buildDefaultLocalPlacementDecisionResolver(),n.domainProviders)for(let r of n.domainProviders)this.providerRegistry.register(r);this.assertUiPathResolverCoverageOrThrow(),this.hydrateDecisionCache(),this.hydrateInteractionState(),this.hydratePresentationCaps(),this.hydrateLocalRuntimeState(),this.impressionHistory.hydrate(),this.rebuildSegmentPredicateFieldIndex(),this.refreshExportedConfigSnapshot(),this.recalculateDerivedUsageTraits(),Yt()&&this.policy.routerAutoTrack&&this.installRouteTracking(),Yt()&&this.extensionEnabled&&this.installBridge(),this.capture("page_view",{mode:this.mode,runtime_mode:this.runtimeMode,source:"sdk_init",placement_behavior_flags:this.placementBehavior}),this.startEventBatchFlushing(),this.emitSdkInitTelemetry();}isLocalOnlyMode(){return this.runtimeMode==="local_only"}resolveConfigProvider(n){if(n.configProvider)return n.configProvider;let r=fl(n.localRuntime?.exportedConfig,"localRuntime.exportedConfig"),o=n.localRuntime?.resolvers?.resolveExportedConfig;if(o)return new Uy(o,r);if(r)return new jy(r)}async refreshExportedConfigSnapshot(){try{await this.configProvider?.refresh?.(),this.rebuildSegmentPredicateFieldIndex();}catch{}}getConfiguredExportedConfig(){return this.configProvider?.getExportedConfig()}rebuildSegmentPredicateFieldIndex(){this.segmentIdsByPredicateField.clear(),this.configuredSegmentsById.clear();let r=this.getConfiguredExportedConfig()?.segments??[];for(let o of r)if(this.configuredSegmentsById.set(o.handle,o),!(!o.predicates||o.predicates.length===0))for(let t of o.predicates){let i=String(t.field||"").trim();if(!i)continue;let a=this.segmentIdsByPredicateField.get(i)??new Set;a.add(o.handle),this.segmentIdsByPredicateField.set(i,a);}this.markAllSegmentsDirty();}buildDefaultLocalPlacementDecisionResolver(){if(!this.isLocalOnlyMode()||this.localRuntime?.resolvers?.getPlacementDecision)return;let n=this.getConfiguredExportedConfig(),r=this.localRuntime?.placements??(Array.isArray(n?.placements)?{placements:n.placements}:void 0);if(!(!n||!r))return ho({placements:r,exportedConfig:n,impressionHistory:this.impressionHistory})}synthesizeProviderContext(){let n=this.userContext.plan,r=this.userContext.usage,o=this.localTrialStatus;if(!n&&!r)return;let t={};if(r&&typeof r=="object"){let a=pr(r);for(let[c,l]of Object.entries(r)){if(!l||typeof l!="object")continue;let u=typeof l.amount=="number"?l.amount:a[c]??0,m=typeof l.limit=="number"?l.limit:0,p=m>0?Math.max(0,m-u):0;t[c]={used:u,limit:m,remaining:p,unit:typeof l.unit=="string"?l.unit:void 0,reset_date:typeof l.reset_date=="string"?l.reset_date:void 0};}}let i={...o.in_trial!==void 0?{trialActive:o.in_trial}:{},...o.trial_limit_type!==void 0?{trialLimitType:o.trial_limit_type}:{},...o.progress_percent!==void 0?{trialProgressPercent:o.progress_percent}:{},...o.days_remaining!==void 0?{trialDaysRemaining:o.days_remaining}:{},...o.day_number!==void 0&&o.days_remaining!==void 0?{trialDaysTotal:o.day_number+o.days_remaining}:{},...o.state!==void 0?{trialState:o.state}:{},...o.usage_entitlement_handle!==void 0?{trialUsageEntitlementHandle:o.usage_entitlement_handle}:{},...o.usage_consumed!==void 0?{trialUsageConsumed:o.usage_consumed}:{},...o.usage_limit!==void 0?{trialUsageLimit:o.usage_limit}:{}};return {...n?{plan:{currentPlanHandle:n.id??n.name??"",currentPlanName:n.name,...i}}:{},...Object.keys(t).length>0?{entitlements:{entries:{},usage:t}}:{}}}markAllSegmentsDirty(){this.dirtySegmentIds.clear();for(let n of this.configuredSegmentsById.keys())this.dirtySegmentIds.add(n);this.segmentMembershipBySegmentId.clear();}markSegmentsDirtyForFields(n){for(let r of n){let o=this.segmentIdsByPredicateField.get(r);if(o)for(let t of o)this.dirtySegmentIds.add(t);}}toSegmentEvaluationTraits(n,r,o){return _l(n,r,o)}buildTargetingState(n){return vl(n,this.getConfiguredExportedConfig(),this.usageBalances)}markSegmentsDirtyFromContextChange(n,r){if(this.configuredSegmentsById.size===0)return;let o=n.id||this.anonymousId,t=r.id||this.anonymousId;if(o!==t){this.segmentMembershipUserId=t,this.markAllSegmentsDirty();return}let i=this.buildTargetingState(n),a=this.buildTargetingState(r),c=new Set,l=new Set([...Object.keys(i.segmentTraits),...Object.keys(a.segmentTraits)]);for(let u of l)i.segmentTraits[u]!==a.segmentTraits[u]&&c.add(u);this.markSegmentsDirtyForFields(c);}currentPathname(){if(this.pageContext.url)try{return new URL(this.pageContext.url).pathname}catch{}return Yt()?window.location.pathname:"/"}disableForProviderFailure(n){this.sdkDisabledByProviderFailure||(this.sdkDisabledByProviderFailure=true,this.sdkDisabledReason=n,this.decisionCache.clear(),this.persistDecisionCache(),console.warn(`[RevTurbine] SDK disabled after provider fallback chain failed: ${n}`));}isDisabledByProviderFailure(){return this.sdkDisabledByProviderFailure}disabledDecisionForPlacement(n,r){let o=this.providerFailureSlotBehavior==="placeholder",t=o?`${r??n} temporarily unavailable`:`${r??n} unavailable`,i=o?"This placement is in safe fallback mode because all configured providers failed.":"This placement is currently hidden because provider fallback resolution failed.";return {placementId:n,requestId:yt(),visible:o,decisionSource:"fallback",reasonCodes:["sdk_disabled_provider_failure"],suppressionReason:o?void 0:"sdk_disabled_provider_failure",content:Wr(t,i,o?"Retry later":"Continue")}}disabledPlacementOutputForConfig(n){if(this.providerFailureSlotBehavior!=="placeholder")return null;let r=`disabled_output_${yt()}`,o=n.slotId?`${n.slotId} temporarily unavailable`:"Placement temporarily unavailable";return {output_id:r,category:"fallback",surface:{type:n.surfaceType??"banner",slot_id:n.slotId},content:{title:o,header:o,body:"This placement is in safe fallback mode because all configured providers failed.",cta_label:"Retry later"},rule_id:"sdk_disabled_provider_failure",decision_id:r,config_version:"sdk-fallback",present_upsell:false}}endpointFor(n,r){let o=this.endpointOverrides[n];return o&&o.trim().length>0?/^https?:\/\//i.test(o)?o:`${this.endpoint}${o.startsWith("/")?"":"/"}${o}`:`${this.endpoint}${r}`}localPlacementLookupKey(n){return Jp(n)}localLookupMatchesConfig(n,r){if(r.slotId&&n.slotId&&n.slotId!==r.slotId||r.surfaceType&&n.surfaceType&&n.surfaceType!==r.surfaceType)return false;let o=(t,i)=>!t||!i?true:t===i;return o(r.entitlementHandle,n.entitlementHandle)&&o(r.planHandle,n.planHandle)&&o(r.placementHandle,n.placementHandle)}localOutputMatchesConfig(n,r){return Fp(n,r.planHandle)}applyCategoryConflictSuppression(n){return hl(n)}resolveLocalPlacementFromCandidates(n,r){return Xp(n,true,{fixedOnly:r?.fixedOnly??false})}localPlacementForConfig(n){let r=this.localPlacementsByLookupKey.get(this.localPlacementLookupKey(n));if(r&&!this.localOutputMatchesConfig(r,n))return null;let o=[];for(let[t,i]of this.localPlacementsByLookupKey.entries()){if(!i)continue;let a=Np(t);this.localLookupMatchesConfig(a,n)&&this.localOutputMatchesConfig(i,n)&&o.push(i);}return r&&!o.some(t=>t.output_id===r.output_id)&&o.push(r),this.resolveLocalPlacementFromCandidates(o,n)}hydrateLocalRuntimeState(){if(!this.isLocalOnlyMode())return;let n=this.localRuntime?.initialData;if(n?.placementDecisionsByPlacementId)for(let[o,t]of Object.entries(n.placementDecisionsByPlacementId))this.localDecisionsByPlacementId.set(o,t);if(n?.placementsByLookupKey)for(let[o,t]of Object.entries(n.placementsByLookupKey))this.localPlacementsByLookupKey.set(o,t);if(n?.entitlementByHandle)for(let[o,t]of Object.entries(n.entitlementByHandle))this.localEntitlementsByHandle.set(o,t);if(n?.userContextByUserId)for(let[o,t]of Object.entries(n.userContextByUserId))this.localUserContextsByUserId.set(o,t);n?.trialStatus&&(this.localTrialStatus=n.trialStatus);let r=this.persistentStore.getItem(this.localStorageKey);if(!r){this.persistLocalRuntimeState();return}try{let o=JSON.parse(r);o.userContext&&(this.userContext=this.mergeUserContext(o.userContext)),o.pageContext&&(this.pageContext=this.mergePageContext(o.pageContext)),o.usageBalances&&(this.usageBalances={...this.usageBalances,...o.usageBalances});for(let t of o.placements||[])this.placements.set(t.id,t);for(let[t,i]of Object.entries(o.decisions||{}))this.localDecisionsByPlacementId.set(t,i);for(let[t,i]of Object.entries(o.placementLookup||{}))this.localPlacementsByLookupKey.set(t,i);for(let[t,i]of Object.entries(o.entitlements||{}))this.localEntitlementsByHandle.set(t,i);for(let[t,i]of Object.entries(o.userContexts||{}))this.localUserContextsByUserId.set(t,i);o.trialStatus&&(this.localTrialStatus=o.trialStatus);}catch{this.persistentStore.removeItem(this.localStorageKey),this.persistLocalRuntimeState();}}persistLocalRuntimeState(){if(this.isLocalOnlyMode())try{let n={userContext:this.userContext,pageContext:this.pageContext,usageBalances:this.usageBalances,placements:Array.from(this.placements.values()),decisions:Object.fromEntries(this.localDecisionsByPlacementId.entries()),placementLookup:Object.fromEntries(this.localPlacementsByLookupKey.entries()),entitlements:Object.fromEntries(this.localEntitlementsByHandle.entries()),userContexts:Object.fromEntries(this.localUserContextsByUserId.entries()),trialStatus:this.localTrialStatus};this.persistentStore.setItem(this.localStorageKey,JSON.stringify(n));}catch{}}decisionCacheStorageKey(){return `${MN}:${this.tenantId}:${this.anonymousId}`}interactionStateStorageKey(){return `${VN}:${this.tenantId}:${this.anonymousId}`}presentationCapsStorageKey(){return `${qN}:${this.tenantId}:${this.anonymousId}`}hydrateDecisionCache(){let n=this.sessionStore.getItem(this.decisionCacheStorageKey());if(n)try{let r=JSON.parse(n),o=Date.now();Object.entries(r).forEach(([t,i])=>{!i||typeof i!="object"||!Number.isFinite(i.expiresAt)||i.expiresAt<=o||this.decisionCache.set(t,i);});}catch{this.sessionStore.removeItem(this.decisionCacheStorageKey());}}persistDecisionCache(){let n=Date.now(),r=Object.fromEntries(Array.from(this.decisionCache.entries()).filter(([,o])=>o.expiresAt>n));try{this.sessionStore.setItem(this.decisionCacheStorageKey(),JSON.stringify(r));}catch{}}hydrateInteractionState(){let n=this.persistentStore.getItem(this.interactionStateStorageKey());if(n)try{let r=JSON.parse(n);Object.entries(r).forEach(([o,t])=>{!t||typeof t!="object"||this.interactionState.set(o,t);});}catch{this.persistentStore.removeItem(this.interactionStateStorageKey());}}persistInteractionState(){let n=Object.fromEntries(this.interactionState.entries());try{this.persistentStore.setItem(this.interactionStateStorageKey(),JSON.stringify(n));}catch{}}hydratePresentationCaps(){let n=this.persistentStore.getItem(this.presentationCapsStorageKey());if(n)try{let r=JSON.parse(n);for(let[o,t]of Object.entries(r)){if(!t||typeof t!="object")continue;let i=Array.isArray(t.seenAt)?t.seenAt.filter(c=>Number.isFinite(c)&&c>0):[],a=Number.isFinite(t.cooldownUntil)?t.cooldownUntil:void 0;this.presentationCapsByKey.set(o,{seenAt:i,cooldownUntil:a});}}catch{this.persistentStore.removeItem(this.presentationCapsStorageKey());}}persistPresentationCaps(){try{let n=Object.fromEntries(this.presentationCapsByKey.entries());this.persistentStore.setItem(this.presentationCapsStorageKey(),JSON.stringify(n));}catch{}}activePlanIdentifiers(n){let r=H(this.userContext.plan)&&typeof this.userContext.plan.id=="string"?this.userContext.plan.id:typeof this.userContext.custom?.plan=="string"?this.userContext.custom.plan:"",o=String(r||"").toLowerCase(),t=new Set;if(!o)return t;t.add(o);for(let i of n.plans??[]){let a=typeof i.unique_handle=="string"?i.unique_handle.toLowerCase():"";a===o&&t.add(a);}return t}ruleTargetsActivePlan(n,r){let t=(Array.isArray(n.targets)?n.targets:[]).filter(i=>H(i)&&i.kind==="plan");return t.length===0?true:t.some(i=>typeof i.id=="string"&&r.has(i.id.toLowerCase()))}hydrateUsageLimitRulesFromExportedConfig(){let n=this.getConfiguredExportedConfig();if(!n)return;this.usageLimitByEntitlement.clear();let r=this.activePlanIdentifiers(n),o=new Map,t=n.entitlements??[];for(let a of t){let c=typeof a.unique_handle=="string"?a.unique_handle:"";c&&o.set(c,c);}let i=n.entitlement_rules??[];for(let a of i){if(!H(a))continue;let c=typeof a.entitlement_id=="string"?a.entitlement_id:typeof a.entitlementId=="string"?a.entitlementId:"";if(!c)continue;let l=H(a.type_fields)?a.type_fields:H(a.typeFields)?a.typeFields:{},u=typeof l.kind=="string"?l.kind:"";if(!(u==="usage_limit"||u==="credits"||u==="seat"))continue;let p=o.get(c)??"",f=typeof l.usage_unit=="string"?l.usage_unit:typeof l.usageUnit=="string"?l.usageUnit:"",g=Zp(f),h=g&&!Bp(g)?g:Di(p||c);h&&(this.usageTokenPrefixByEntitlement.set(c,h),p&&this.usageTokenPrefixByEntitlement.set(p,h));let k=Number(l.limit_value??l.allowance??l.limit);if(!Number.isFinite(k)||k<=0||!this.ruleTargetsActivePlan(a,r))continue;let S=Number(a.warning_threshold_percent??a.warning_percentage??l.warning_threshold_percent??l.warning_percentage),T=Number.isFinite(S)&&S>0?Math.min(100,S):this.defaultUsageWarningPercent;this.usageLimitByEntitlement.set(c,{limit:k,warningPercent:T}),p&&this.usageLimitByEntitlement.set(p,{limit:k,warningPercent:T});}}recalculateDerivedUsageTraits(){let n=this.getConfiguredExportedConfig();this.hydrateUsageLimitRulesFromExportedConfig();let r=tf({context:this.userContext,exportedConfig:n,usageBalances:this.usageBalances,usageTokenPrefixByEntitlement:this.usageTokenPrefixByEntitlement,usageThresholdLookup:t=>this.usageThresholdForEntitlement(t)}),o=this.deriveRecommendedPlanTokens(n);this.userContext={...this.userContext,personalization:{...r,...o}};}deriveRecommendedPlanTokens(n,r){let o={recommended_plan_handle:"",recommended_plan_name:""};if(!n?.plans?.length)return o;let t=typeof this.userContext.plan=="object"&&this.userContext.plan?.id||(typeof this.userContext.custom?.plan=="string"?this.userContext.custom.plan:""),i=String(t||"").toLowerCase(),a=n.plans.map(c=>({source_id:c.unique_handle,unique_handle:c.unique_handle,name:c.name,tier_position:c.tier_position??0,sort_order:c.sort_order??0}));return bC({strategy:r?.strategy??"next_tier_up",planOverride:r?.planOverride,currentPlanHandle:i,plans:a})}getPersonalizationTokens(n){let r={},o=this.userContext.personalization??{};for(let[t,i]of Object.entries(o))t!=="user_id"&&(typeof i=="string"||typeof i=="number")&&(r[t]=i);if(r.plan_name===void 0){let t=ui(this.getConfiguredExportedConfig(),this.userContext.plan);t?r.plan_name=t:typeof this.userContext.plan=="object"&&this.userContext.plan?.name&&(r.plan_name=this.userContext.plan.name);}if(n?.recommendation_strategy){let t=this.deriveRecommendedPlanTokens(this.getConfiguredExportedConfig(),{strategy:n.recommendation_strategy,planOverride:n.recommendation_plan_override??void 0});r.recommended_plan_handle=t.recommended_plan_handle,r.recommended_plan_name=t.recommended_plan_name;}return r}getEntitlements(){return Object.fromEntries(this.localEntitlementsByHandle.entries())}getUsage(){let n={...pr(this.userContext.usage),...this.usageBalances},r={};for(let[o,t]of Object.entries(n)){if(!Number.isFinite(t))continue;let i=this.usageTokenPrefixByEntitlement.get(o)??Di(o)??o,a=this.usageThresholdForEntitlement(o);r[i]={current:t,...a?.limit!==void 0?{limit:a.limit}:{}};}return r}getPolicy(){let n=this.getConfiguredExportedConfig();return {contextPolicy:this.policy,placementBehavior:this.placementBehavior,runtimeMode:this.runtimeMode,...typeof n?.version=="string"?{exportedConfigVersion:n.version}:{}}}deriveLocalEntitlementFromConfiguredRules(n,r){let o=this.getConfiguredExportedConfig();if(!o)return null;let t=typeof this.userContext.plan=="object"&&this.userContext.plan?.id||(typeof this.userContext.custom?.plan=="string"?this.userContext.custom.plan:""),i=String(t||"").toLowerCase(),a=this.getTargeting(),c=new Set(a.segmentIds??[]),{trialGrantedEntitlementHandles:l,effectivePlanHandle:u}=this.resolveReverseTrialGrants(o);return Ls({handle:n,context:r,currentPlanHandle:i,segmentIds:c,usageBalances:this.usageBalances,userUsage:this.userContext.usage,exportedConfig:o,...l!==void 0?{trialGrantedEntitlementHandles:l}:{},...u!==void 0?{effectivePlanHandle:u}:{}})}resolveReverseTrialGrants(n){let r=this.localTrialStatus;if(!r.in_trial||r.trial_type!=="reverse")return {};let o=r.plan_handle;if(!o)return {};let i=(n.reverse_trial_rules??[]).find(a=>a.fallback_plan_id===o&&a.is_active!==false);return !i||i.entitlements_during_trial.length===0?{}:{trialGrantedEntitlementHandles:new Set(i.entitlements_during_trial),effectivePlanHandle:i.premium_plan_id}}getTargeting(){let n=this.userContext.id||this.anonymousId,r=this.localUserContextsByUserId.get(n),o=this.getConfiguredExportedConfig(),t=ui(o,this.userContext.plan),i=t??r?.plan??(typeof this.userContext.plan=="object"&&this.userContext.plan?.id?this.userContext.plan.id:void 0),a=[...o?.segments??[]],c=Array.from(new Set(a.flatMap(f=>(f.predicates??[]).map(g=>g.field)))).sort((f,g)=>f.localeCompare(g)),l={...r?.traits??{},...this.userContext.custom??{}};for(let[f,g]of Object.entries(this.userContext.entitlements??{}))l[f]===void 0&&(l[f]=g);t&&l.plan_name===void 0&&(l.plan_name=t),i&&l.plan===void 0&&(l.plan=i);let u={...r?.usage??{},...pr(this.userContext.usage),...this.usageBalances};for(let[f,g]of Object.entries(u))l[f]===void 0&&(l[f]=g);let m={};for(let[f,g]of Object.entries(l))(typeof g=="string"||typeof g=="number"||typeof g=="boolean")&&(m[f]=g);if(this.segmentMembershipUserId!==n&&(this.segmentMembershipUserId=n,this.markAllSegmentsDirty()),a.length>0&&this.segmentIdsByPredicateField.size===0&&this.rebuildSegmentPredicateFieldIndex(),a.length>0&&this.dirtySegmentIds.size>0){for(let f of this.dirtySegmentIds){let g=this.configuredSegmentsById.get(f)??a.find(k=>k.handle===f);if(!g){this.segmentMembershipBySegmentId.delete(f);continue}let h=Xa([g],m).length>0;this.segmentMembershipBySegmentId.set(f,h);}this.dirtySegmentIds.clear();}let p=a.length>0?a.filter(f=>this.segmentMembershipBySegmentId.get(f.handle)===true).map(f=>f.handle):[...r?.segmentIds??[]];return {userId:n,segmentIds:p,traits:l,...i?{plan:i}:{},...Object.keys(u).length>0?{usage:u}:{},configuredSegments:a,configuredTraitFields:c}}async explainPlacementDecision(n){let r=await this.getPlacementDecision(n),o=this.getTargeting(),t=this.getEntitlements(),i=this.getPolicy(),a=this.getConfiguredExportedConfig(),c=new Set(o.segmentIds),l=o.configuredSegments.map(W=>{let Se=Array.isArray(W.predicates)?W.predicates.map(K=>eF(K,o.traits)):[],je=Se.length>0?Se.every(K=>K.matched):c.has(W.handle);return {segmentId:W.handle,...W.name?{segmentName:W.name}:{},matched:je,predicates:Se}}),u=new Map,m=new Map;if(Array.isArray(a?.entitlements))for(let W of a.entitlements){let Se=lt(W.unique_handle),je=Se;je&&Se&&u.set(je,Se);let K=lt(W.type);je&&K&&m.set(je,K);}let p=new Map;if(Array.isArray(a?.plans))for(let W of a.plans){let Se=lt(W.unique_handle),je=Se;je&&Se&&p.set(je,Se);}let g=(lt(o.plan,o.traits.plan,o.traits.plan_handle,o.traits.plan_id)??"").toLowerCase(),h=new Map;if(Array.isArray(a?.segments))for(let W of a.segments){let Se=lt(W.handle),je=lt(W.dimension_id);Se&&je&&h.set(Se,je);}let k=Array.isArray(a?.entitlement_rules)?a.entitlement_rules.map((W,Se)=>{let je=lt(W.id)??`entitlement_rule_${Se}`,K=lt(W.entitlement_id),ce=K?u.get(K):void 0,Ne=Array.isArray(W.targets)?W.targets.filter(se=>se.kind==="plan").map(se=>se.id):[],ze=Ne.map(se=>p.get(se)??se),Yn=Array.isArray(W.segment_ids)?W.segment_ids.filter(se=>typeof se=="string"):[],He=H(W.type_fields)?W.type_fields:{},Ue=lt(He.kind),Dt=!g||Ne.some(se=>se.toLowerCase()===g),Ve=tF(Yn,c,h),Rn=Dt&&Ve,bt=ce?t[ce]:K?t[K]:void 0,_t=Rn?bt?.status??"unknown":"unknown",ae;if(Rn)switch(Ue){case "feature":ae=He.enabled===false?"disables feature":"grants access";break;case "capability_tier":{let se=lt(He.tier_name);ae=se?`unlocks ${se} tier`:"unlocks capability tier";break}case "usage_limit":{let se=typeof He.limit_value=="number"?He.limit_value:void 0,Mt=lt(He.unit)??"",cn=lt(He.period)??"",Ep=cn?` / ${cn.replace("per_","")}`:"";ae=se!=null?`sets limit to ${se.toLocaleString()}${Mt?` ${Mt}`:""}${Ep}`:"sets usage limit";break}case "credits":{let se=typeof He.allowance=="number"?He.allowance:void 0,Mt=lt(He.unit)??"credits",cn=lt(He.period)??"",Ep=cn?` / ${cn.replace("per_","")}`:"";ae=se!=null?`grants ${se.toLocaleString()} ${Mt}${Ep}`:"grants credit allowance";break}case "seat":{let se=typeof He.included_seats=="number"?He.included_seats:void 0;ae=se!=null?`includes ${se} seat${se===1?"":"s"}`:"includes seats";break}default:if(K){let se=m.get(K);se==="feature"?ae="grants access":se&&(ae=`${se.replace(/_/g," ")} entitlement`);}break}return {ruleId:je,...K?{entitlementId:K}:{},...ce?{entitlementHandle:ce}:{},...Ue?{kind:Ue}:{},planScopes:ze,planIds:Ne,...Yn.length>0?{segmentIds:Yn}:{},matchesPlan:Dt,matchesSegment:Ve,matched:Rn,outcome:_t,...ae?{outcomeDescription:ae}:{},...bt?.reason?{reason:bt.reason}:{}}}):[],S=lt(r.output?.output_id),T=this.placements.get(n.placementId),C=lt(T?.name)??"",N=Array.isArray(T?.metadata?.surface_template_ids)?T.metadata.surface_template_ids:[],R=[],w=new Set;if(Array.isArray(a?.placements))for(let W of a.placements){if(!W||typeof W!="object")continue;let Se=lt(W.id)??"",je=lt(W.name)??"";if(w.has(Se))continue;let K=lt(r.output?.rule_id);if(K&&Se===K){w.add(Se),R.push(W);continue}if(C&&(Se===C||je===C||Se===`pl_${C}`||je===`pl_${C}`)){w.add(Se),R.push(W);continue}N.length>0&&(W.payloads??[]).some(ze=>(ze.surfaces??[]).some(He=>{let Ue=lt(He.template_id);return Ue?N.includes(Ue):false}))&&(w.add(Se),R.push(W));}let te=R.flatMap(W=>(W.payloads??[]).map(je=>{let K=je.target,ce=K?.plan_ids??[],Ne=ce.map(bt=>p.get(bt)??bt),ze=K?.segment_chips??[],He=(je.surfaces??[]).map(bt=>lt(bt.template_id)).filter(bt=>typeof bt=="string"),Ue=ce.length===0||!g||ce.some(bt=>bt.toLowerCase()===g),Dt=ze.length===0||ze.some(bt=>c.has(bt)),Ve="active",Rn=Ve==="active"&&Ue&&Dt;return {payloadId:String(je.id??""),placementId:String(W.id??""),placementName:String(W.name??""),status:Ve,planIds:ce,planScopes:Ne,segmentChips:ze,surfaceTemplateIds:He,matchesPlan:Ue,matchesSegment:Dt,eligible:Rn,selected:!!S&&S===String(je.id??"")}})),_e=r.output?this.extractPlacementCapPolicies(r.output).flatMap(W=>W.rules.length===0&&W.cooldownMs===void 0?[]:W.rules.length===0?[{count:0,period:"session",cooldownMs:W.cooldownMs}]:W.rules.map(Se=>({count:Se.count,period:Se.period,...W.cooldownMs!==void 0?{cooldownMs:W.cooldownMs}:{}}))):[],Ee={ruleId:r.output?.rule_id,decisionId:r.output?.decision_id,category:r.output?.category,suppressionReason:r.suppressionReason,reasonCodes:r.reasonCodes,capPolicies:_e};return {generatedAt:new Date().toISOString(),input:n,decision:r,targeting:o,policy:i,entitlements:t,segments:l,entitlementRules:k,eligiblePayloads:te,placementRules:Ee}}usageThresholdForEntitlement(n){return bv(n,this.usageLimitByEntitlement,this.localEntitlementsByHandle,this.usageBalances,this.defaultUsageWarningPercent)}evaluateUsageThresholdCrossings(n,r){return nf(n,r,t=>this.usageThresholdForEntitlement(t)).map(t=>this.emitTrigger(t.type,{entitlement_handle:t.entitlement_handle,current_usage:t.current_usage,usage_limit:t.usage_limit,usage_percent:t.usage_percent,threshold:t.threshold}))}deriveTrialTriggerStage(n){return rf(n,this.lastTrialTriggerStage,this.defaultTrialExpiringDays)}async evaluateTrialLifecycleTriggers(n){let r=this.deriveTrialTriggerStage(n);if(!this.placementBehavior.enableTrialAutoTriggers){this.lastTrialTriggerStage=r;return}if(r!==this.lastTrialTriggerStage){if(this.lastTrialTriggerStage=r,r==="midpoint"){await this.emitTrigger("trial_midpoint",{days_remaining:n.days_remaining});return}if(r==="expiring"){await this.emitTrigger("trial_expiring",{days_remaining:n.days_remaining});return}r==="expired"&&await this.emitTrigger("trial_expired",{days_remaining:0});}}resolveAnonymousId(){let n=`revturbine:${this.tenantId}:anon`;try{let r=this.persistentStore.getItem(n);if(r)return r;let o=yt();return this.persistentStore.setItem(n,o),o}catch{return yt()}}installBridge(){let n={getSnapshot:()=>({tenantId:this.tenantId,user:this.userContext,page:this.pageContext,placements:Array.from(this.placements.values())}),setPageContext:r=>{this.setPageContext(r);},setUserContext:r=>{this.setUserContext(r);}};window.__RT_SDK_BRIDGE__=n;}installRouteTracking(){if(Uo())return;let n=window.history;if(n.__rtPatched)return;let r=()=>{window.dispatchEvent(new CustomEvent(_C,{detail:{path:window.location.pathname,title:document.title}}));},o=n.pushState.bind(n);n.pushState=((...i)=>{o(...i),r();});let t=n.replaceState.bind(n);n.replaceState=((...i)=>{t(...i),r();}),window.addEventListener("popstate",r),window.addEventListener(_C,i=>{let a=i.detail;this.onRouteChange({path:a.path,title:a.title,tags:a.tags});}),n.__rtPatched=true;}mergeUserContext(n){return ef(this.userContext,n)}mergePageContext(n){return {...this.pageContext,...n,tags:Ya(n.tags||this.pageContext.tags)}}collectPageContextIssues(){let n=[],r={...this.policy.inferPage?zd():{},...this.pageContext},o=String(r.url||"").trim();if(!o)n.push({code:"invalid_page_context_url",reason:"Page context URL is missing."});else try{new URL(o);}catch{n.push({code:"invalid_page_context_url",reason:"Page context URL is not a valid absolute URL.",details:{value:o}});}return r.tags&&!Array.isArray(r.tags)&&n.push({code:"invalid_page_context_tags",reason:"Page tags must be an array of strings."}),n}collectPayloadIssues(n){let r=[];if(!H(n))return r.push({code:"invalid_event_payload",reason:"Event payload must be a plain object."}),r;let o=H(n.payload)?n.payload:null,t=typeof n.placement_id=="string"&&n.placement_id.trim()?n.placement_id:typeof o?.placement_id=="string"?o.placement_id:null;return typeof t=="string"&&t.trim()&&(this.placements.has(t)||r.push({code:"unknown_placement_id",reason:"Payload placement_id is not registered in SDK runtime.",details:{placement_id:t}})),r}buildValidationWarningEvent(n,r,o){return this.toEventEnvelope(Ey,{source_event_type:n,warning_count:r.length,warning_codes:r.map(t=>t.code),warnings:r,page_context:{url:this.pageContext.url??null,title:this.pageContext.title??null},payload_snapshot:H(o)?o:null})}toEventEnvelope(n,r){let o={...this.policy.inferPage?zd():{},...this.pageContext},t=o.url||(Yt()?window.location.href:""),i=(()=>{try{return new URL(t).pathname}catch{return Yt()?window.location.pathname:"/"}})();return {tenant_id:this.tenantId,type:n,level:"INFO",message:`${n} captured by ${this.mode} runtime`,url:t,path:i,page_title:o.title||(Yt()?document.title:""),event_time:new Date().toISOString(),anonymous_id:this.anonymousId,user_id:this.userContext.id||null,session_id:this.sessionId,tags:Ya(o.tags),identity:{tenant_id:this.tenantId,user_id:this.userContext.id||null,anonymous_id:this.anonymousId,traits:n===vC?{}:{...this.userContext.custom||{}}},properties:r}}warnPiiRedactedOnce(){this.piiRedactionWarned||(this.piiRedactionWarned=true,console.warn("[RevTurbine] Detected and redacted PII-shaped values (emails / card numbers) from event data before sending. Do not put PII in event properties or traits; this is best-effort redaction, not a guarantee."));}anonymousTelemetryActive(){return !this.ingestPublicKey&&this.anonymousTelemetryEnabled&&!this.isLocalOnlyMode()&&Yt()}async emitSdkInitTelemetry(){this.anonymousTelemetryActive()&&await this.emitAnonMeta("sdk_init",{config_shape:this.computeConfigShape()});}computeConfigShape(){let n=this.getConfiguredExportedConfig();if(!n)return;let r=n.placements??[],o=r.reduce((t,i)=>t+(i.payloads?.length??0),0);return {plans:n.plans?.length??0,entitlements:n.entitlements?.length??0,entitlement_rules:n.entitlement_rules?.length??0,segments:n.segments?.length??0,placements:r.length,placement_payloads:o,content_ui_paths:n.content_ui_paths?.length??0,surface_templates:n.surface_templates?.length??0}}async emitAnonMeta(n,r={}){if(this.anonymousTelemetryActive()){this.showAnonTelemetryNoticeOnce();try{let o=this.getConfiguredExportedConfig(),t=o?.version!=null?String(o.version):void 0,i=t?`${this.tenantId}:${t}`:this.tenantId,a=(await yC(i)).slice(0,64),l={events:[{event_type:n,occurred_at:new Date().toISOString(),request_id:yt(),config_hash_id:a,sdk_version:QR,runtime_mode:this.runtimeMode,...t?{bundle_version:t}:{},...r.config_shape?{config_shape:r.config_shape}:{},...r.message?{message:r.message.slice(0,500)}:{}}]};await fetch(this.endpointFor("ingestSdkMeta",KN),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(l),keepalive:!0});}catch{}}}showAnonTelemetryNoticeOnce(){this.anonTelemetryNoticeShown||(this.anonTelemetryNoticeShown=true,console.info("[RevTurbine] Sending anonymous SDK telemetry (config-shape counts and SDK version only \u2014 no user data or PII). Disable it by setting `anonymousTelemetry: false` in your initRevTurbine() options."));}async sendEvents(n){if(n.length===0)return;if(this.dispatchToEventConsumers(n),this.isLocalOnlyMode()){this.persistLocalRuntimeState();return}if(!this.analyticsEnabled)return;let r=yt(),o=0,t=n.map(i=>{let a=i.user_id||i.anonymous_id,c=this.userContext.account_id||a,l=Tv(a),u=Tv(c),m=iR({level:i.level,message:i.message,path:i.path,url:i.url,page_title:i.page_title,session_id:i.session_id,anonymous_id:i.anonymous_id,tags:i.tags,traits:i.identity.traits??null,payload:i.properties,source:WN});return o+=m.redactions+(l.redacted?1:0)+(u.redacted?1:0),{environment_id:this.environmentId,user_id:l.value,account_id:u.value,event_name:pl(i.type).slice(0,120),event_ts:i.event_time,properties:JSON.stringify(m.value),surface_slot_id:Ic(i.properties,"surface_slot_id"),placement_id:Ic(i.properties,"placement_id"),payload_id:Ic(i.properties,"payload_id"),request_id:yt(),experiment_id:Ic(i.properties,"experiment_id"),variant_key:Ic(i.properties,"variant_key"),tenant_id:i.tenant_id}});o>0&&this.warnPiiRedactedOnce();try{await fetch(this.endpointFor("ingestEvents",HN),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.ingestPublicKey??this.apiKey}`,"x-request-id":r},body:JSON.stringify({events:t}),keepalive:!0});}catch{}}dispatchToEventConsumers(n){this.providerRegistry.has("events")&&this.providerRegistry.get("events").then(r=>{let o=r?.consumers;if(!(!o||o.length===0))for(let t of o)try{t.consume(n);}catch{}}).catch(()=>{});}async capture(n,r,o){let t=pl(n),i=this.toEventEnvelope(t,r),a=[...this.collectPageContextIssues(),...this.collectPayloadIssues(r)],c=[i];if(a.length>0&&c.push(this.buildValidationWarningEvent(t,a,r)),o?.immediate){await this.sendEvents(c);return}this.events.push(...c),this.events.length>=this.maxBatchSize&&await this.flushEvents();}async trackControlPlaneEvent(n,r={},o){let{eventName:t,properties:i}=Rv(n,r);await this.capture(t,i,o);}async flushEvents(){if(this.events.length===0)return;let n=[...this.events];this.events.length=0,await this.sendEvents(n);}startEventBatchFlushing(){if(!Yt()||this.isLocalOnlyMode())return;this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flushEvents();},this.flushIntervalMs),this.flushTimer.unref?.());let n=()=>{this.flushEvents();},r=()=>{document.visibilityState==="hidden"&&this.flushEvents();};window.addEventListener("pagehide",n),document.addEventListener("visibilitychange",r),this.batchingTeardown.push(()=>window.removeEventListener("pagehide",n),()=>document.removeEventListener("visibilitychange",r));}dispose(){this.flushTimer!==void 0&&(clearInterval(this.flushTimer),this.flushTimer=void 0);for(let n of this.batchingTeardown.splice(0))try{n();}catch{}this.flushEvents();}async emitSemantic(n,r,o){let t=H(r)?r:{};await this.capture(n,{semantic:true,payload:t},o);}async evaluateUserSegmentsAndUsage(n,r=false){let o=await this.fetchUserContext(this.userContext.id||""),t={...this.userContext,...n,custom:{...this.userContext.custom||{},...n.custom||{}}},i=await this.fetchUserContext(t.id||""),a=new Set(o.segmentIds||[]),c=new Set(i.segmentIds||[]),l=Array.from(c).filter(m=>!a.has(m)),u=Array.from(a).filter(m=>!c.has(m));for(let m of l)await this.emitSemantic("segment_enrolled",{segment_id:m,user_id:t.id??null});for(let m of u)await this.emitSemantic("segment_unenrolled",{segment_id:m,user_id:t.id??null});if(r){let m=o.usage||{},p={...m,...this.usageBalances},f=this.evaluateUsageThresholdCrossings(m,p);await Promise.all(f);}}emitObservedContextFields(n){let r=Object.keys(n??{}).filter(o=>o.length>0).sort();r.length!==0&&this.capture(vC,{context_fields:r});}setUserContext(n){let r=this.userContext;this.userContext=this.mergeUserContext(n),this.recalculateDerivedUsageTraits(),this.markSegmentsDirtyFromContextChange(r,this.userContext),this.persistLocalRuntimeState(),this.evaluateUserSegmentsAndUsage(n,false),this.emitObservedContextFields(n.custom);}setPageContext(n){this.pageContext=this.mergePageContext(n),this.persistLocalRuntimeState();}refreshPageContext(){this.pageContext=this.mergePageContext(zd());}hydrate(n){if(n.version!=="1.0.0"){console.warn(`[RevTurbine] Unknown hydration payload version: ${n.version}. Skipping.`);return}let r=this.userContext;n.user&&(this.userContext=this.mergeUserContext({id:n.user.id,custom:n.user.traits,usage:{}}),this.recalculateDerivedUsageTraits());let o=(n.ttl_seconds??60)*1e3,t=Date.now()+o;for(let i of n.decisions??[]){if(!i.output)continue;let a=[this.tenantId,i.slot_id??i.entitlement_handle??i.placement_handle??"unknown",n.user?.id??this.anonymousId].join(":"),c=H(i.output?.content)?i.output.content:{};this.decisionCache.set(a,{value:{placementId:i.slot_id??i.entitlement_handle??i.placement_handle??"unknown",requestId:n.request_id,visible:i.visible,decisionSource:"cache",reasonCodes:i.reason_codes??[],content:Wr(String(c.header??""),String(c.body??""),String(c.cta_label??"")),output:i.output},expiresAt:t});}if(this.persistDecisionCache(),n.entitlements)for(let[i,a]of Object.entries(n.entitlements))this.localEntitlementsByHandle.set(i,{status:a.status,allowed:a.allowed,reason:a.reason,current_tier:a.current_tier,placement:a.placement});n.trial_status&&(this.localTrialStatus={in_trial:n.trial_status.in_trial,trial_type:n.trial_status.trial_type,plan_handle:n.trial_status.plan_handle,day_number:n.trial_status.day_number,days_remaining:n.trial_status.days_remaining}),n.user_context?.usage_balances&&(this.usageBalances={...this.usageBalances,...n.user_context.usage_balances},this.recalculateDerivedUsageTraits()),this.markSegmentsDirtyFromContextChange(r,this.userContext);}async generatePlacementId(n){return Gp({tenantId:this.tenantId,placementName:n.placementName,placementScopeKey:n.placementScopeKey,pageRoute:n.normalizedPageRoute||this.currentPathname()},{sha256Base64Url:yC,randomHex:Dy})}async registerPlacement(n){let r=String(n.placementScopeKey||n.name||"").trim();return this.registerSurfaceSlot({id:r||String(n.name||"surface_slot").trim(),name:n.name,metadata:H(n.metadata)?n.metadata:void 0})}async upsertSurfaceSlot(n){if(this.isLocalOnlyMode())return;let r=yt(),o=this.endpointFor("surfaceSlots","/api/placements").replace(/\/+$/,""),t=QN(n.placementScopeKey||n.id||n.name),i={...H(n.metadata)?n.metadata:{},surface_slot_id:n.placementScopeKey||n.id,registration_source:"sdk_surface_slot",route:n.route},a={name:n.name,slug:t,description:`Surface slot ${n.placementScopeKey||n.id}`,slot_type:"custom",status:"active",targeting_rules:{},content:{},priority:0,metadata:i},c={"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":r},l=await fetch(`${o}/${encodeURIComponent(n.id)}`,{method:"PUT",headers:c,body:JSON.stringify(a)});if(l.ok){this.syncedSurfaceSlotIds.add(n.id);return}if(l.status!==404)throw new Error(`surface_slot_upsert_failed:${l.status}`);let u=await fetch(o,{method:"POST",headers:c,body:JSON.stringify(a)});if(!u.ok)throw new Error(`surface_slot_create_failed:${u.status}`);this.syncedSurfaceSlotIds.add(n.id);}async registerSurfaceSlot(n){let r=Oi(this.currentPathname()),o=String(n?.id||"").trim(),t=String(n?.name||o).trim(),i=[];o||i.push({code:"invalid_surface_slot_id",reason:"SurfaceSlot id is required and must be a non-empty string."}),t||i.push({code:"invalid_placement_name",reason:"SurfaceSlot name is missing or empty."}),n?.metadata!==void 0&&!H(n.metadata)&&i.push({code:"invalid_placement_metadata",reason:"Placement metadata must be a plain object when provided."});let a=await this.generatePlacementId({placementName:t||o||"invalid_surface_slot",placementScopeKey:o||void 0,normalizedPageRoute:r}),c={id:a,route:r,name:t||"invalid_surface_slot",placementScopeKey:o||void 0,metadata:{...H(n.metadata)?n.metadata:{},surface_slot_id:o||null,...Array.isArray(n.surfaceTemplateIds)&&n.surfaceTemplateIds.length>0?{surface_template_ids:n.surfaceTemplateIds}:{}}},l=this.placements.get(a),u=l?this.stableStringify(l):null,m=this.stableStringify(c);return (!l||u!==m)&&(this.placements.set(a,c),this.persistLocalRuntimeState(),this.syncedSurfaceSlotIds.delete(a)),!this.isLocalOnlyMode()&&!this.syncedSurfaceSlotIds.has(a)&&await this.upsertSurfaceSlot(c),i.length>0&&await this.sendEvents([this.buildValidationWarningEvent("placement_registered",i,{surface_slot_id:o||null,placement_id:a,route:r,placement_name:t||null})]),a}async persistPlacementTypes(n){if(this.isLocalOnlyMode())return;let r=(Array.isArray(n)?n:[]).map(i=>rF(i)).filter(i=>i!==null);if(r.length===0)return;let o=yt(),t=await fetch(this.endpointFor("placementTypes","/api/sdk/placement-types"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":o},body:JSON.stringify({request_id:o,tenant_id:this.tenantId,types:r})});if(!t.ok)throw new Error(`persist_placement_types_failed:${t.status}`)}stableStringify(n){return Tr(n)}decisionCacheKey(n,r){return Wp({tenantId:this.tenantId,placementId:n.placementId,userId:n.userId,contextMode:n.contextMode??"auto",overrides:n.overrides??{},traits:n.traits??{},route:this.currentPathname(),...r?{runtimeContextFingerprint:r}:{}})}interactionStateKey(n){return XT({tenantId:this.tenantId,...n})}readDecisionCache(n){let r=this.decisionCache.get(n);return r?r.expiresAt<=Date.now()?(this.decisionCache.delete(n),this.persistDecisionCache(),null):{...r.value,decisionSource:"cache"}:null}writeDecisionCache(n,r,o){let t=Date.now()+Math.max(5e3,o??this.defaultDecisionTtlMs);this.decisionCache.set(n,{expiresAt:t,value:r}),this.persistDecisionCache();}suppressionForState(n){return YT(n)}placementCapKey(n){return [this.tenantId,this.userContext.id||this.anonymousId,n.surface.type,n.output_id].join(":")}extractPlacementCapPolicies(n){return bl(n)}applyPlacementCapsIfNeeded(n,r={}){if(!this.placementBehavior.enableClientCapsEnforcement)return {allowed:true};let o=r.tick??true,t=this.placementCapKey(n),i=this.presentationCapsByKey.get(t),a=Qp(n,t,i,Date.now());return a.updatedState&&o&&(this.presentationCapsByKey.set(t,a.updatedState),a.allowed&&this.persistPresentationCaps()),{allowed:a.allowed,reason:a.reason}}gateDecisionByCaps(n,r={}){if(!this.placementBehavior.enableClientCapsEnforcement||!n.visible||!n.output)return n;let o=this.applyPlacementCapsIfNeeded(n.output,{tick:r.tick??true});if(o.allowed)return n;let t=o.reason??"cap_exceeded";return {...n,visible:false,reasonCodes:[...n.reasonCodes??[],t],suppressionReason:t}}normalizeDecisionFromResponse(n,r,o,t){return Yp(n,r,o,t)}async getPlacementDecision(n){let r=this.placements.get(n.placementId),o=yt();if(this.isDisabledByProviderFailure())return this.disabledDecisionForPlacement(n.placementId,r?.name);if(!r)return {placementId:n.placementId,requestId:o,visible:false,decisionSource:"fallback",reasonCodes:["placement_not_registered"],suppressionReason:"placement_not_registered",content:Wr("Placement not found","Register the placement before requesting a decision.","Register placement")};let t=this.interactionStateKey({placementId:n.placementId,userId:n.userId}),i=this.suppressionForState(this.interactionState.get(t));if(i.suppressed)return {placementId:n.placementId,requestId:o,visible:false,decisionSource:"cache",reasonCodes:i.reason?[i.reason]:[],suppressionReason:i.reason,content:Wr(`${r.name} suppressed`,"Suppressed due to recent interaction state.","Continue")};let a,c,l;this.isLocalOnlyMode()&&(a=await this.localRuntime?.getContext?.(),c=this.providerRegistry.size>0?await this.providerRegistry.resolveAll():this.synthesizeProviderContext(),(a||c)&&(l=this.stableStringify({legacyCtx:a??{},providerCtx:c??{}})));let u=this.decisionCacheKey(n,l),m=this.readDecisionCache(u);if(m)return this.gateDecisionByCaps(m,{tick:false});if(this.isLocalOnlyMode()){let p=this.localRuntime?.resolvers?.getPlacementDecision??this.defaultLocalPlacementDecisionResolver;if(p){let g={...a,...c?{__providers:c}:{}},h=this.gateDecisionByCaps(await p(n,r,g));return this.localDecisionsByPlacementId.set(n.placementId,h),this.writeDecisionCache(u,h,n.ttlMs),this.persistLocalRuntimeState(),h}let f=this.localDecisionsByPlacementId.get(n.placementId);if(f){let g=this.gateDecisionByCaps({...f,decisionSource:"fallback"});return this.writeDecisionCache(u,g,n.ttlMs),this.persistLocalRuntimeState(),g}}try{let p=await fetch(this.endpointFor("decideContext","/api/sdk/decide-context"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":o},body:JSON.stringify({request_id:o,tenant_id:this.tenantId,placement_id:n.placementId,user_id:n.userId,context_mode:n.contextMode??"auto",overrides:n.overrides?{segment_id:n.overrides.segmentId,plan_id:n.overrides.planId,usage:n.overrides.usage?.map(h=>({entitlement_id:h.entitlementId,meter_id:h.meterId,used:h.used}))}:void 0,traits:n.traits,context:{user:this.userContext,page:this.pageContext,placement:r}})});if(!p.ok)throw new Error(`decide-context failed: ${p.status}`);let f=await p.json(),g=this.gateDecisionByCaps(this.normalizeDecisionFromResponse(n.placementId,o,r.name,f));return this.writeDecisionCache(u,g,n.ttlMs),this.localDecisionsByPlacementId.set(n.placementId,g),this.persistLocalRuntimeState(),g}catch{let p=await this.getPlacementContent(n.placementId,{user_id:n.userId,context_mode:n.contextMode??"auto",overrides:n.overrides,traits:n.traits}),f={placementId:n.placementId,requestId:p.requestId,visible:true,decisionSource:"fallback",reasonCodes:["fallback_content"],content:p.content};return this.writeDecisionCache(u,f,n.ttlMs),this.localDecisionsByPlacementId.set(n.placementId,f),this.persistLocalRuntimeState(),f}}async preloadPlacementDecisions(n){let r=new Map;for(let o of n)r.set(this.decisionCacheKey(o),o);await Promise.allSettled(Array.from(r.values()).map(o=>this.getPlacementDecision(o)));}async bootstrapPlacementDecisions(n){if(this.isDisabledByProviderFailure()){await Promise.all(n.map(async o=>{let t=await this.getPlacementDecision(o),i=this.decisionCacheKey(o);this.writeDecisionCache(i,t,o.ttlMs);}));return}let r=new Map;for(let o of n){if(!this.placements.get(o.placementId)||!o.userId)continue;let i=this.stableStringify({userId:o.userId,contextMode:o.contextMode??"auto",overrides:o.overrides??{},traits:o.traits??{},ttlMs:o.ttlMs??null}),a=r.get(i);if(a){a.placementIds.push(o.placementId);continue}r.set(i,{userId:o.userId,contextMode:o.contextMode,overrides:o.overrides,traits:o.traits,ttlMs:o.ttlMs,placementIds:[o.placementId]});}for(let o of r.values()){if(o.placementIds.length<=1){let i=n.find(a=>a.placementId===o.placementIds[0]&&a.userId===o.userId);i&&await this.getPlacementDecision(i);continue}let t=yt();try{let i=await fetch(this.endpointFor("bootstrapContext","/api/sdk/bootstrap-context"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":t},body:JSON.stringify({request_id:t,tenant_id:this.tenantId,user_id:o.userId,context_mode:o.contextMode??"auto",overrides:o.overrides?{segment_id:o.overrides.segmentId,plan_id:o.overrides.planId,usage:o.overrides.usage?.map(l=>({entitlement_id:l.entitlementId,meter_id:l.meterId,used:l.used}))}:void 0,traits:o.traits,placements:o.placementIds.map(l=>({placement_id:l}))})});if(!i.ok)throw new Error(`bootstrap-context failed: ${i.status}`);let a=await i.json(),c=H(a)&&Array.isArray(a.decisions)?a.decisions:[];for(let l of c){if(!H(l))continue;let u=typeof l.placement_id=="string"?l.placement_id:"",m=H(l.result)?l.result:null,p=this.placements.get(u);if(!p||!m)continue;let f=this.normalizeDecisionFromResponse(u,t,p.name,m),g=this.decisionCacheKey({placementId:u,userId:o.userId,contextMode:o.contextMode,overrides:o.overrides,traits:o.traits});this.writeDecisionCache(g,f,o.ttlMs),this.localDecisionsByPlacementId.set(u,f);}this.persistLocalRuntimeState();}catch{let i=n.filter(a=>o.placementIds.includes(a.placementId)&&a.userId===o.userId);await Promise.allSettled(i.map(a=>this.getPlacementDecision(a)));}}}updateInteractionState(n){let r=this.interactionStateKey({placementId:n.placementId,userId:n.userId,treatmentId:n.treatmentId}),o=Date.now(),t=n.metadata??{},a={...this.interactionState.get(r)??{updatedAt:new Date(o).toISOString()},lastInteractionType:n.interactionType,updatedAt:n.interactionAt??new Date(o).toISOString()};if(n.interactionType==="dismiss"){let c=Number(t.cooldown_ms);a.suppressedUntil=o+(Number.isFinite(c)&&c>0?c:this.defaultDismissCooldownMs);}if(n.interactionType==="remind_me_later"){let c=Number(t.remind_after_seconds);a.suppressedUntil=o+(Number.isFinite(c)&&c>0?c*1e3:this.defaultRemindLaterMs);}if((n.interactionType==="cta_clicked"||n.interactionType==="cta_completed")&&(a.suppressedUntil=o+300*1e3),n.interactionType==="suppress"){let c=Number(t.suppress_duration_ms);a.suppressedUntil=o+(Number.isFinite(c)&&c>0?c:this.defaultDismissCooldownMs);}this.interactionState.set(r,a),this.persistInteractionState();}async flushInteractionQueue(){if(this.interactionQueue.length===0)return;let n=[...this.interactionQueue];if(this.interactionQueue.length=0,this.isLocalOnlyMode()){this.persistLocalRuntimeState();return}let r=n.map(o=>({user_id:o.userId,placement_id:o.placementId,treatment_id:o.treatmentId,interaction_type:o.interactionType,interaction_at:o.interactionAt,surface_slot_id:o.surfaceSlotId,surface_template_id:o.surfaceTemplateId,payload_id:o.payloadId,metadata:o.metadata??{},tenant_id:this.tenantId}));try{(await fetch(this.endpointFor("touchpointTransition",GN),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":yt()},body:JSON.stringify(r.length===1?r[0]:r)})).ok||(await fetch(this.endpointFor("legacyInteractions",JN),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":yt()},body:JSON.stringify(n.length===1?n[0]:n)})).ok||this.interactionQueue.unshift(...n);}catch{this.interactionQueue.unshift(...n);}}async trackTreatmentInteraction(n){let r={...n,interactionAt:n.interactionAt??new Date().toISOString()};this.updateInteractionState(r),this.interactionQueue.push(r),this.flushInteractionQueue();let o=r.placementId,t=r.treatmentId,i=r.metadata??{};if(r.interactionType==="dismiss")this.impressionHistory.recordDismissal(o,t);else if(r.interactionType==="cta_clicked"||r.interactionType==="cta_completed")this.impressionHistory.recordClickThru(o,t);else if(r.interactionType==="suppress"){let a=Number(i.suppress_duration_ms);this.impressionHistory.recordSuppression(o,t,void 0,i,Number.isFinite(a)&&a>0?a:void 0);}await this.emitSemantic("placement_interaction",{user_id:r.userId,placement_id:r.placementId,treatment_id:r.treatmentId??null,interaction_type:r.interactionType,interaction_at:r.interactionAt??null,metadata:r.metadata??{}},{immediate:false});}async getPlacementContent(n,r){let o=this.placements.get(n),t=yt();if(this.isDisabledByProviderFailure()){let a=this.disabledDecisionForPlacement(n,o?.name);return {placementId:n,requestId:t,decisionSource:"fallback",content:a.content}}if(this.isLocalOnlyMode()){let a=this.localPlacementsByLookupKey.get(this.localPlacementLookupKey({placementHandle:n}));return {placementId:n,requestId:t,decisionSource:a?"remote":"fallback",content:Wr(typeof a?.content?.title=="string"?String(a.content.title):`${o?.name??n} treatment`,typeof a?.content?.body=="string"?String(a.content.body):"Local runtime placement content.",typeof a?.content?.cta=="string"?String(a.content.cta):"Continue")}}if(!o)return {placementId:n,requestId:t,decisionSource:"fallback",content:Wr("Placement not found","Register the placement before requesting content.","Register placement")};let i={request_id:t,tenant_id:this.tenantId,placement_id:n,context:{user:this.userContext,page:this.pageContext,placement:o},request:r||{}};try{let a=await fetch(this.endpointFor("decide","/api/sdk/decide"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":t},body:JSON.stringify(i)});if(!a.ok)throw new Error(`decision request failed: ${a.status}`);let c=await a.json();return {placementId:n,requestId:t,decisionSource:"remote",content:Wr(c.recommendation?.title||`${o.name} recommendation`,c.recommendation?.message||"Treatment selected by RevTurbine decisioning.",c.recommendation?.action||"View details")}}catch{return {placementId:n,requestId:t,decisionSource:"fallback",content:Wr(`${o.name} treatment`,"Fallback treatment active while decision endpoint is unavailable.","Continue")}}}normalizePlacementOutput(n){let r=Ns(n,yt);return r&&H(n)&&typeof n.decision_id!="string"&&this.capture(Ey,{reason:"placement response missing decision_id; generated synthetic",output_id:r.output_id,synthetic_decision_id:r.decision_id}),r}normalizeEntitlementResult(n){return hv(n,yt)}validateTrialStatusShape(n){return Kp(n)}async getPlacement(n){if(this.isDisabledByProviderFailure())return this.disabledPlacementOutputForConfig(n);let r=n.slotId,o=n.surfaceType;if(o&&!IC.has(o))return this.capture(Ey,{reason:`getPlacement called with unknown surfaceType: ${String(o)}`,slot_id:r??null}),null;let t=yt();if(this.isLocalOnlyMode()){let i=this.localRuntime?.resolvers?.getPlacement;if(i){let l=await i(n);return l&&this.applyPlacementCapsIfNeeded(l).allowed?l:null}let a=this.localPlacementForConfig(n);return a&&this.applyPlacementCapsIfNeeded(a).allowed?a:null}try{let i=await fetch(this.endpointFor("getPlacement","/api/sdk/get-placement"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":t},body:JSON.stringify({request_id:t,tenant_id:this.tenantId,slot_id:r,surface_type:o,entitlement_handle:n.entitlementHandle,plan_handle:n.planHandle,placement_handle:n.placementHandle,user_id:this.userContext.id,usage:this.usageBalances,context:{user:this.userContext,page:this.pageContext}})});if(!i.ok)return null;let a=await i.json(),c=this.normalizePlacementOutput(a);return !c||!this.applyPlacementCapsIfNeeded(c).allowed?null:(this.localPlacementsByLookupKey.set(this.localPlacementLookupKey(n),c),this.persistLocalRuntimeState(),c)}catch{return null}}async checkEntitlement(n,r){if(this.isDisabledByProviderFailure())return {status:"allowed",allowed:true,reason:this.sdkDisabledReason??"sdk_disabled_provider_failure"};let o=r?.used!==void 0?{used:r.used}:r?.balance!==void 0?{balance:r.balance}:this.usageBalances[n]!==void 0?{used:this.usageBalances[n]}:void 0,t=yt();if(this.isLocalOnlyMode()){let i=this.localRuntime?.resolvers?.checkEntitlement;if(i){let l=await i(n,r);return this.localEntitlementsByHandle.set(n,l),this.persistLocalRuntimeState(),l}let a=this.deriveLocalEntitlementFromConfiguredRules(n,r);if(a)return this.localEntitlementsByHandle.set(n,a),this.persistLocalRuntimeState(),a;let c=this.localEntitlementsByHandle.get(n);return c||{status:"allowed",allowed:true,reason:"local_runtime_default_allow"}}try{let i=await fetch(this.endpointFor("checkEntitlement","/api/sdk/check-entitlement"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":t},body:JSON.stringify({request_id:t,tenant_id:this.tenantId,handle:n,user_id:this.userContext.id,usage:o,required_tier:r?.requiredTier,context:{user:this.userContext}})});if(!i.ok)return {status:"allowed",allowed:!0,reason:"entitlement_service_unavailable"};let a=await i.json(),c=this.normalizeEntitlementResult(a);return this.localEntitlementsByHandle.set(n,c),this.persistLocalRuntimeState(),c}catch{return {status:"allowed",allowed:true,reason:"entitlement_check_error"}}}updateUsage(n){let r=this.userContext;this.usageBalances={...this.usageBalances,...n},this.recalculateDerivedUsageTraits(),this.markSegmentsDirtyFromContextChange(r,this.userContext),this.persistLocalRuntimeState(),this.evaluateUserSegmentsAndUsage({},true);}getUserContext(){let n=this.userContext.id||this.anonymousId,r=new Date().toISOString();return {id:n,tenant_id:this.tenantId,user_id:n,created_at:r,updated_at:r,account_id:this.userContext.account_id,email:this.userContext.email,plan:this.userContext.plan,usage:this.userContext.usage??{},entitlements:this.userContext.entitlements??{},custom:Object.fromEntries(Object.entries(this.userContext.custom??{}).filter(([,o])=>typeof o=="string"||typeof o=="number"||typeof o=="boolean"||o===null)),personalization:Object.fromEntries(Object.entries(this.userContext.personalization??{}).filter(([,o])=>typeof o=="string"||typeof o=="number")),derived_computed_at:null}}async fetchUserContext(n){let r=yt();if(this.isLocalOnlyMode()){let o=this.localRuntime?.resolvers?.fetchUserContext;if(o){let i=await o(n);return this.localUserContextsByUserId.set(n,i),this.persistLocalRuntimeState(),i}let t=this.localUserContextsByUserId.get(n);return t||{userId:n,segmentIds:[],traits:{},plan:void 0,usage:this.usageBalances}}try{let o=await fetch(this.endpointFor("userContext","/api/sdk/user-context"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":r},body:JSON.stringify({request_id:r,tenant_id:this.tenantId,user_id:n,context:{user:this.userContext,page:this.pageContext}})});if(!o.ok)return {userId:n,segmentIds:[],traits:{}};let t=await o.json(),i={userId:n,segmentIds:Array.isArray(t.segment_ids)?t.segment_ids.filter(a=>typeof a=="string"):[],traits:H(t.traits)?t.traits:{},plan:typeof t.plan=="string"?t.plan:void 0,usage:H(t.usage)?Object.fromEntries(Object.entries(t.usage).filter(([,a])=>typeof a=="number")):void 0};return this.localUserContextsByUserId.set(n,i),this.persistLocalRuntimeState(),i}catch{return {userId:n,segmentIds:[],traits:{}}}}async recordImpression(n,r,o,t){await this.impressionHistory.recordImpression(n,r,o,t);}async recordDismissal(n,r,o,t){await this.impressionHistory.recordDismissal(n,r,o,t);}async recordClickThru(n,r,o,t){await this.impressionHistory.recordClickThru(n,r,o,t);}async getTrialStatus(){let n=yt();if(this.isLocalOnlyMode()){let r=this.localRuntime?.resolvers?.getTrialStatus;if(r){let o=await r();return this.localTrialStatus=o,await this.evaluateTrialLifecycleTriggers(o),this.persistLocalRuntimeState(),o}return await this.evaluateTrialLifecycleTriggers(this.localTrialStatus),this.localTrialStatus}try{let r=await fetch(this.endpointFor("trialStatus","/api/sdk/trial-status"),{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":n},body:JSON.stringify({request_id:n,tenant_id:this.tenantId,user_id:this.userContext.id})});if(!r.ok)return {in_trial:!1};let o=await r.json(),t=this.validateTrialStatusShape(o);return this.localTrialStatus=t,await this.evaluateTrialLifecycleTriggers(t),this.persistLocalRuntimeState(),t}catch{return {in_trial:false}}}getExportedConfig(){return this.getConfiguredExportedConfig()}async validateUiPathResolvers(n={}){await this.refreshExportedConfigSnapshot();let r=this.getConfiguredExportedConfig(),o=Array.isArray(n.uiPaths)?n.uiPaths:H(r)&&Array.isArray(r.content_ui_paths)?r.content_ui_paths:[],t=n.includeProviderHandlers??true,i=Ud(n.resolvers,"validateUiPathResolvers(options.resolvers)"),a={...this.uiPathResolvers,...i};if(t&&this.providerRegistry.has("cta"))try{let m=await this.providerRegistry.resolveAll();H(m.cta)&&H(m.cta.handlers)&&Object.assign(a,m.cta.handlers);}catch{}let c=[],l=0;for(let m of o){let p=H(m)?m:{},f=typeof p.action_type=="string"?p.action_type.trim():"";if(!f){c.push({actionType:"unknown",reason:"missing_action_type",...typeof p.id=="string"?{uiPathId:p.id}:{},...typeof p.name=="string"?{name:p.name}:{}});continue}if(typeof a[f]=="function"){l+=1;continue}c.push({actionType:f,reason:"missing_resolver",...typeof p.id=="string"?{uiPathId:p.id}:{},...typeof p.name=="string"?{name:p.name}:{}});}let u={valid:c.length===0,totalUiPaths:o.length,resolvedUiPaths:l,issues:c};if(!u.valid&&n.throwOnMissing){let m=u.issues.filter(f=>f.reason==="missing_resolver").map(f=>f.actionType),p=m.length>0?` Missing resolver(s) for action_type: ${Array.from(new Set(m)).join(", ")}.`:"";throw new Error(`[RevTurbine] UI path resolver validation failed with ${u.issues.length} issue(s).${p}`)}return u}assertUiPathResolverCoverageOrThrow(){let n=this.getConfiguredExportedConfig(),r=H(n)&&Array.isArray(n.content_ui_paths)?n.content_ui_paths:[];if(r.length===0)return;let o=[],t=0;for(let c of r){let u=(H(c)?c:{}).action_type,m=typeof u=="string"?u.trim():"";if(!m){t+=1;continue}typeof this.uiPathResolvers[m]!="function"&&o.push(m);}if(t===0&&o.length===0)return;let i=Array.from(new Set(o)),a=[];throw i.length>0&&a.push(`missing resolvers for action_type: ${i.join(", ")}`),t>0&&a.push(`content_ui_paths with missing action_type: ${t}`),new Error(`[RevTurbine] SDK initialization failed: ${a.join("; ")}.`)}async dismiss(n){await this.emitSemantic("placement_dismissed",{output_id:n,user_id:this.userContext.id??null,dismissed_at:new Date().toISOString()},{immediate:false});}async snooze(n,r=3600){await this.emitSemantic("placement_snoozed",{output_id:n,user_id:this.userContext.id??null,snoozed_at:new Date().toISOString(),remind_after_seconds:r},{immediate:false});}async convert(n){await this.emitSemantic("placement_converted",{output_id:n,user_id:this.userContext.id??null,converted_at:new Date().toISOString()},{immediate:false});}async emitTrigger(n,r,o){await this.emitSemantic(n,{...r,user_id:this.userContext.id??null,plan_handle:this.userContext.personalization?.plan_name??null,triggered_at:new Date().toISOString(),source:"sdk"},o);}async trackEvent(n,r){await this.capture(n,r??{});}identify(n,r){let o=this.userContext,t=r!=null&&typeof r=="object"&&!Array.isArray(r)&&("account_id"in r||"email"in r||"plan"in r||"usage"in r||"entitlements"in r||"custom"in r);if(t){let i=r;i.usage&&(this.usageBalances={...this.usageBalances,...pr(i.usage)}),this.userContext=this.mergeUserContext({id:n,account_id:i.account_id,email:i.email,plan:i.plan,usage:i.usage,entitlements:i.entitlements,custom:i.custom,personalization:i.personalization});}else this.userContext=this.mergeUserContext({id:n,custom:r,usage:{}});this.recalculateDerivedUsageTraits(),this.markSegmentsDirtyFromContextChange(o,this.userContext),this.decisionCache.clear(),this.persistDecisionCache(),this.persistLocalRuntimeState(),this.impressionHistory.setUserId(n),this.impressionHistory.hydrate(),this.emitObservedContextFields(t?r.custom:r);}resetIdentity(){this.clearAllUserState({reinfer:true});}resetUserContext(){this.clearAllUserState({reinfer:false});}clearAllUserState({reinfer:n}){let r=this.userContext;this.userContext={usage:{},...n&&this.policy.inferUser?xC():{},id:void 0,custom:{},entitlements:{},personalization:{}},this.usageBalances={},this.recalculateDerivedUsageTraits(),this.markSegmentsDirtyFromContextChange(r,this.userContext),this.decisionCache.clear(),this.interactionState.clear(),this.persistDecisionCache(),this.persistInteractionState(),this.persistLocalRuntimeState(),this.impressionHistory.setUserId(this.anonymousId),this.impressionHistory.hydrate();}can(n,r){return this.checkEntitlement(n,r)}async gate(n,r,o){let t=await this.checkEntitlement(n,o);return t.allowed?{ran:true,result:await r(),entitlement:t}:{ran:false,entitlement:t}}track(n,r){return this.trackEvent(n,r)}update(n){n.usage&&this.updateUsage(n.usage);}reset(){this.resetIdentity();}onRouteChange(n){this.setPageContext({url:`${Yt()?window.location.origin:""}${n.path}`,title:n.title,tags:n.tags}),this.capture("page_view",{source:"router_auto_track",path:n.path});}};function Ay(e){let n=nF(e),r=new Oy(n);if(!n.provider)return r;let o=(m,p)=>{try{return typeof m=="function"?m(n):m}catch(f){return console.warn(`[RevTurbine] Provider factory failed at chain index ${p}.`,f),null}},t=[o(n.provider,0),...(n.providerFallbacks??[]).map((m,p)=>o(m,p+1))].filter(m=>m!==null);if(t.length===0)return r.disableForProviderFailure("provider_factory_chain_failed"),r;let i=async(m,p,f)=>{let g=[];for(let h=0;h<t.length;h+=1){let S=t[h][m];if(S){g.push(h);try{return await S(...p)}catch(T){let C=t.slice(h+1).some(N=>typeof N[m]=="function");console.warn(h===0&&C?`[RevTurbine] Primary provider ${m} failed; trying configured fallbacks.`:`[RevTurbine] Provider ${m} failed at chain index ${h}.`,T);}}}return g.length===0||r.disableForProviderFailure(`provider_${m}_chain_failed`),f()},a=r.getPlacement.bind(r),c=r.checkEntitlement.bind(r),l=r.persistPlacementTypes.bind(r),u=r.identify.bind(r);return r.getPlacement=async m=>i("getPlacement",[m],()=>a(m)),r.checkEntitlement=async(m,p)=>i("checkEntitlement",[m,p],()=>c(m,p)),r.persistPlacementTypes=async m=>i("persistPlacementTypes",[m],()=>l(m)),r.identify=(m,p)=>{let f=0;for(let g=0;g<t.length;g+=1){let h=t[g];if(h.identify){f+=1;try{h.identify(m,p);return}catch(k){let S=t.slice(g+1).some(T=>typeof T.identify=="function");console.warn(g===0&&S?"[RevTurbine] Primary provider identify failed; trying configured fallbacks.":`[RevTurbine] Provider identify failed at chain index ${g}.`,k);}}}if(f>0){r.disableForProviderFailure("provider_identify_chain_failed"),u(m,p);return}u(m,p);},r}var jd={tenantId:"local",apiKey:"local-only",endpoint:"https://api.revturbine.local",mode:"react"};function zy(e){return typeof e=="string"&&e.trim().length>0}function nF(e){return e.localRuntime?.exportedConfig!==void 0?{...e,tenantId:zy(e.tenantId)?e.tenantId:jd.tenantId,apiKey:zy(e.apiKey)?e.apiKey:jd.apiKey,endpoint:zy(e.endpoint)?e.endpoint:jd.endpoint,mode:e.mode??jd.mode,runtimeMode:e.runtimeMode??"local_only"}:e}function rF(e){if(!H(e))return null;let n=(l,u)=>String(l??"").trim().slice(0,u),r=n(e.id,256),o=n(e.label,256),t=n(e.description,1024),i=n(e.surfaceType,64);if(!r||!o||!t||!IC.has(i))return null;let a=Number(e.priority),c=Number.isFinite(a)?Math.max(0,Math.floor(a)):0;return {id:r,label:o,description:t,surfaceType:i,priority:c}}typeof window<"u"&&(window.RevTurbine={init:Ay});var iF="revturbine:theme";function Ny(e){return `${iF}:${e}`}function oF(e,n){try{let r=n.getItem(Ny(e));if(!r)return null;let o=JSON.parse(r);return typeof o!="object"||o===null?null:o}catch{return null}}function aF(e,n,r){try{r.setItem(Ny(e),JSON.stringify(n));}catch{}}function sF(e,n){let r=n??Mr();try{r.removeItem(Ny(e));}catch{}}async function Fy(e,n){let{tenantId:r,endpoint:o,apiKey:t}=e,i=e.storage??Mr(),a=oF(r,i),c=na(a);return cF(o,r,t).then(l=>{l&&(a?.version&&l.version===a.version||(aF(r,l,i),n?.(na(l))));}).catch(()=>{}),c}async function cF(e,n,r){let o=e.replace(/\/$/,""),t=typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,i=await fetch(`${o}/api/sdk/theme`,{method:"GET",headers:{authorization:`Bearer ${r}`,"x-tenant-id":n,"x-request-id":t}});if(!i.ok)return null;let a=await i.json();return typeof a!="object"||a===null?null:a}var Od=class{constructor(n,r){E(this,"sdk");E(this,"options");E(this,"listeners",new Set);E(this,"_placementId","");E(this,"_decision",null);E(this,"_isLoading",false);E(this,"_error","");E(this,"_impressionTracked",false);E(this,"_loadSeq",0);this.sdk=n,this.options=r;}get state(){return {isLoading:this._isLoading,error:this._error,placementId:this._placementId,visible:!!this._decision?.visible,decision:this._decision,content:this._decision?.content??null}}get visible(){return !!this._decision?.visible}get content(){return this._decision?.content??null}get decision(){return this._decision}get placementId(){return this._placementId}async load(){let n=this.options,r=n.userId||this.sdk.getUserContext().user_id;if(!r)return this._error="Cannot load placement: no userId available.",this.notify(),null;let o=++this._loadSeq;this._isLoading=true,this._error="",this.notify();try{if(!this._placementId)if(n.surfaceSlot)this._placementId=await this.sdk.registerSurfaceSlot(n.surfaceSlot);else if(n.placement)this._placementId=await this.sdk.registerPlacement(n.placement);else return this._error="Either placement or surfaceSlot must be provided.",this._isLoading=!1,this.notify(),null;if(o!==this._loadSeq)return this._decision;let t=await this.sdk.getPlacementDecision({placementId:this._placementId,userId:r,contextMode:n.contextMode,overrides:n.overrides,traits:n.traits,ttlMs:n.ttlMs});return o!==this._loadSeq?this._decision:(this._decision=t,t.visible&&!this._impressionTracked&&(n.autoTrackImpression??!0)&&(this._impressionTracked=!0,await this.sdk.trackTreatmentInteraction({userId:r,placementId:this._placementId,interactionType:"impression",surfaceSlotId:t.output?.surface?.slot_id,surfaceTemplateId:t.output?.surface?.template,payloadId:t.output?.output_id,metadata:{decision_source:t.decisionSource}})),t)}catch(t){return o===this._loadSeq&&(this._error=t instanceof Error?t.message:"Failed to load placement decision."),null}finally{o===this._loadSeq&&(this._isLoading=false,this.notify());}}async refresh(){return this._impressionTracked=false,this.load()}async dismiss(n=1440*60*1e3){await this.trackInteraction("dismiss",{cooldown_ms:n});}async snooze(n=3600){await this.trackInteraction("remind_me_later",{remind_after_seconds:n});}async remindMeLater(n=3600){await this.snooze(n);}async ctaClick(n){await this.trackInteraction("cta_clicked",{cta_target:n||null});}async ctaComplete(n){await this.trackInteraction("cta_completed",{cta_target:n||null});}onChange(n){return this.listeners.add(n),()=>{this.listeners.delete(n);}}reset(){this._placementId="",this._decision=null,this._isLoading=false,this._error="",this._impressionTracked=false,this._loadSeq++,this.notify();}async trackInteraction(n,r){let o=this.options.userId||this.sdk.getUserContext().user_id;!this._placementId||!o||(await this.sdk.trackTreatmentInteraction({userId:o,placementId:this._placementId,treatmentId:this._decision?.placementId,interactionType:n,surfaceSlotId:this._decision?.output?.surface?.slot_id,surfaceTemplateId:this._decision?.output?.surface?.template,payloadId:this._decision?.output?.output_id,metadata:r}),(n==="dismiss"||n==="remind_me_later"||n==="cta_completed")&&this._decision&&(this._decision={...this._decision,visible:false},this.notify()));}notify(){for(let n of this.listeners)n();}},Dd=class{constructor(n,r){E(this,"sdk");E(this,"options");E(this,"listeners",new Set);E(this,"_isLoading",false);E(this,"_error",null);E(this,"_result",null);E(this,"_gatedPlacement",null);this.sdk=n,this.options=r;}get state(){return {isLoading:this._isLoading,error:this._error,result:this._result,allowed:this._result?.status==="allowed",limited:this._result?.status==="limited",denied:this._result?.status==="denied",gatedPlacement:this._gatedPlacement}}get allowed(){return this._result?.status==="allowed"}get limited(){return this._result?.status==="limited"}get denied(){return this._result?.status==="denied"}get result(){return this._result}get gatedPlacement(){return this._gatedPlacement}async check(){let{handle:n,context:r,autoGate:o,gatePlacementRequest:t}=this.options;this._isLoading=true,this._error=null,this.notify();try{let i=await this.sdk.checkEntitlement(n,r);if(this._result=i,!o||i.status!=="denied")this._gatedPlacement=null;else if(i.placement)this._gatedPlacement=i.placement;else {let a=await this.sdk.getPlacement({...t,entitlementHandle:n});this._gatedPlacement=a;}return i}catch(i){return this._error=i instanceof Error?i.message:String(i),this._gatedPlacement=null,null}finally{this._isLoading=false,this.notify();}}async recheck(){return this.check()}onChange(n){return this.listeners.add(n),()=>{this.listeners.delete(n);}}notify(){for(let n of this.listeners)n();}},Ad=class{constructor(n,r){E(this,"sdk");E(this,"theme");this.sdk=n,this.theme=r;}identify(n,r){this.sdk.identify(n,r);}resetIdentity(){this.sdk.resetIdentity();}resetUserContext(){this.sdk.resetUserContext();}setUserContext(n){this.sdk.setUserContext(n);}getUserContext(){return this.sdk.getUserContext()}updateUsage(n){this.sdk.updateUsage(n);}async fetchUserContext(n){return this.sdk.fetchUserContext(n)}async getTrialStatus(){return this.sdk.getTrialStatus()}getUsage(){return this.sdk.getUsage()}placement(n){return new Od(this.sdk,n)}async getPlacementBySlotId(n,r){return this.placement({...r,surfaceSlot:{id:n,name:n}}).load()}async getPlacement(n){return this.sdk.getPlacement(n)}entitlement(n){return new Dd(this.sdk,n)}async checkEntitlement(n,r){return this.sdk.checkEntitlement(n,r)}async trackEvent(n,r){return this.sdk.trackEvent(n,r)}};async function lF(e){let{bootstrapPlacements:n,...r}=e,o=r,t=Ay(o),i=o.user;i&&typeof i=="object"&&i.id&&t.identify(i.id,i);let a=Pn,l=o.localRuntime?.exportedConfig?.theme;if(l&&typeof l=="object"?a=na(l):a=await Fy({tenantId:o.tenantId??"local",endpoint:o.endpoint??"https://api.revturbine.local",apiKey:o.apiKey??"local-only"}),n&&n.length>0){let u=t.getUserContext().user_id,m=[];for(let p of n){let f=await t.registerPlacement(p.placement),g=p.userId||u;g&&m.push({placementId:f,userId:g,contextMode:p.contextMode,overrides:p.overrides,traits:p.traits,ttlMs:p.ttlMs});}m.length>0&&await t.bootstrapPlacementDecisions(m);}return new Ad(t,a)}var uF=/\{[^{}]+\}/g,dF=()=>typeof process=="object"&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function mF(){return Math.random().toString(36).slice(2,11)}function kC(e){let{baseUrl:n="",Request:r=globalThis.Request,fetch:o=globalThis.fetch,querySerializer:t,bodySerializer:i,pathSerializer:a,headers:c,requestInitExt:l=void 0,...u}={...e};l=dF()?l:void 0,n=$C(n);let m=[];async function p(f,g){let{baseUrl:h,fetch:k=o,Request:S=r,headers:T,params:C={},parseAs:N="json",querySerializer:R,bodySerializer:w=i??fF,pathSerializer:te,body:_e,middleware:Ee=[],...W}=g||{},Se=n;h&&(Se=$C(h)??n);let je=typeof t=="function"?t:SC(t);R&&(je=typeof R=="function"?R:SC({...typeof t=="object"?t:{},...R}));let K=te||a||pF,ce=_e===void 0?void 0:w(_e,PC(c,T,C.header)),Ne=PC(ce===void 0||ce instanceof FormData?{}:{"Content-Type":"application/json"},c,T,C.header),ze=[...m,...Ee],Yn={redirect:"follow",...u,...W,body:ce,headers:Ne},He,Ue,Dt=new S(gF(f,{baseUrl:Se,params:C,querySerializer:je,pathSerializer:K}),Yn),Ve;for(let _t in W)_t in Dt||(Dt[_t]=W[_t]);if(ze.length){He=mF(),Ue=Object.freeze({baseUrl:Se,fetch:k,parseAs:N,querySerializer:je,bodySerializer:w,pathSerializer:K});for(let _t of ze)if(_t&&typeof _t=="object"&&typeof _t.onRequest=="function"){let ae=await _t.onRequest({request:Dt,schemaPath:f,params:C,options:Ue,id:He});if(ae)if(ae instanceof S)Dt=ae;else if(ae instanceof Response){Ve=ae;break}else throw new Error("onRequest: must return new Request() or Response() when modifying the request")}}if(!Ve){try{Ve=await k(Dt,l);}catch(_t){let ae=_t;if(ze.length)for(let se=ze.length-1;se>=0;se--){let Mt=ze[se];if(Mt&&typeof Mt=="object"&&typeof Mt.onError=="function"){let cn=await Mt.onError({request:Dt,error:ae,schemaPath:f,params:C,options:Ue,id:He});if(cn){if(cn instanceof Response){ae=void 0,Ve=cn;break}if(cn instanceof Error){ae=cn;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(ae)throw ae}if(ze.length)for(let _t=ze.length-1;_t>=0;_t--){let ae=ze[_t];if(ae&&typeof ae=="object"&&typeof ae.onResponse=="function"){let se=await ae.onResponse({request:Dt,response:Ve,schemaPath:f,params:C,options:Ue,id:He});if(se){if(!(se instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");Ve=se;}}}}let Rn=Ve.headers.get("Content-Length");if(Ve.status===204||Dt.method==="HEAD"||Rn==="0"&&!Ve.headers.get("Transfer-Encoding")?.includes("chunked"))return Ve.ok?{data:void 0,response:Ve}:{error:void 0,response:Ve};if(Ve.ok)return {data:await(async()=>{if(N==="stream")return Ve.body;if(N==="json"&&!Rn){let ae=await Ve.text();return ae?JSON.parse(ae):void 0}return await Ve[N]()})(),response:Ve};let bt=await Ve.text();try{bt=JSON.parse(bt);}catch{}return {error:bt,response:Ve}}return {request(f,g,h){return p(g,{...h,method:f.toUpperCase()})},GET(f,g){return p(f,{...g,method:"GET"})},PUT(f,g){return p(f,{...g,method:"PUT"})},POST(f,g){return p(f,{...g,method:"POST"})},DELETE(f,g){return p(f,{...g,method:"DELETE"})},OPTIONS(f,g){return p(f,{...g,method:"OPTIONS"})},HEAD(f,g){return p(f,{...g,method:"HEAD"})},PATCH(f,g){return p(f,{...g,method:"PATCH"})},TRACE(f,g){return p(f,{...g,method:"TRACE"})},use(...f){for(let g of f)if(g){if(typeof g!="object"||!("onRequest"in g||"onResponse"in g||"onError"in g))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");m.push(g);}},eject(...f){for(let g of f){let h=m.indexOf(g);h!==-1&&m.splice(h,1);}}}}function Nd(e,n,r){if(n==null)return "";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${e}=${r?.allowReserved===true?n:encodeURIComponent(n)}`}function wC(e,n,r){if(!n||typeof n!="object")return "";let o=[],t={simple:",",label:".",matrix:";"}[r.style]||"&";if(r.style!=="deepObject"&&r.explode===false){for(let c in n)o.push(c,r.allowReserved===true?n[c]:encodeURIComponent(n[c]));let a=o.join(",");switch(r.style){case "form":return `${e}=${a}`;case "label":return `.${a}`;case "matrix":return `;${e}=${a}`;default:return a}}for(let a in n){let c=r.style==="deepObject"?`${e}[${a}]`:a;o.push(Nd(c,n[a],r));}let i=o.join(t);return r.style==="label"||r.style==="matrix"?`${t}${i}`:i}function TC(e,n,r){if(!Array.isArray(n))return "";if(r.explode===false){let i={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[r.style]||",",a=(r.allowReserved===true?n:n.map(c=>encodeURIComponent(c))).join(i);switch(r.style){case "simple":return a;case "label":return `.${a}`;case "matrix":return `;${e}=${a}`;default:return `${e}=${a}`}}let o={simple:",",label:".",matrix:";"}[r.style]||"&",t=[];for(let i of n)r.style==="simple"||r.style==="label"?t.push(r.allowReserved===true?i:encodeURIComponent(i)):t.push(Nd(e,i,r));return r.style==="label"||r.style==="matrix"?`${o}${t.join(o)}`:t.join(o)}function SC(e){return function(r){let o=[];if(r&&typeof r=="object")for(let t in r){let i=r[t];if(i!=null){if(Array.isArray(i)){if(i.length===0)continue;o.push(TC(t,i,{style:"form",explode:true,...e?.array,allowReserved:e?.allowReserved||false}));continue}if(typeof i=="object"){o.push(wC(t,i,{style:"deepObject",explode:true,...e?.object,allowReserved:e?.allowReserved||false}));continue}o.push(Nd(t,i,e));}}return o.join("&")}}function pF(e,n){let r=e;for(let o of e.match(uF)??[]){let t=o.substring(1,o.length-1),i=false,a="simple";if(t.endsWith("*")&&(i=true,t=t.substring(0,t.length-1)),t.startsWith(".")?(a="label",t=t.substring(1)):t.startsWith(";")&&(a="matrix",t=t.substring(1)),!n||n[t]===void 0||n[t]===null)continue;let c=n[t];if(Array.isArray(c)){r=r.replace(o,TC(t,c,{style:a,explode:i}));continue}if(typeof c=="object"){r=r.replace(o,wC(t,c,{style:a,explode:i}));continue}if(a==="matrix"){r=r.replace(o,`;${Nd(t,c)}`);continue}r=r.replace(o,a==="label"?`.${encodeURIComponent(c)}`:encodeURIComponent(c));}return r}function fF(e,n){return e instanceof FormData?e:n&&(n.get instanceof Function?n.get("Content-Type")??n.get("content-type"):n["Content-Type"]??n["content-type"])==="application/x-www-form-urlencoded"?new URLSearchParams(e).toString():JSON.stringify(e)}function gF(e,n){let r=`${n.baseUrl}${e}`;n.params?.path&&(r=n.pathSerializer(r,n.params.path));let o=n.querySerializer(n.params.query??{});return o.startsWith("?")&&(o=o.substring(1)),o&&(r+=`?${o}`),r}function PC(...e){let n=new Headers;for(let r of e){if(!r||typeof r!="object")continue;let o=r instanceof Headers?r.entries():Object.entries(r);for(let[t,i]of o)if(i===null)n.delete(t);else if(Array.isArray(i))for(let a of i)n.append(t,a);else i!==void 0&&n.set(t,i);}return n}function $C(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function hF(e){let n={...e.headers};return e.tenantId&&(n["x-rt-tenant-id"]=e.tenantId),e.token&&(n.Authorization=`Bearer ${e.token}`),kC({baseUrl:e.baseUrl,headers:n})}var Ly=class extends Error{constructor(r,o){super(o);E(this,"status",r);this.name="ApiError";}};var Zy=class extends nR{constructor(r){let o=Mr(r.storage),t=new md({storage:o,tenantId:r.tenantId,maxRecords:r.maxImpressionRecords});super({...r,storage:o,impressionStore:t});E(this,"_hydratePromise");let i=r.autoHydrate??true;this._hydratePromise=i?this.hydrate():null;}async ready(){this._hydratePromise&&await this._hydratePromise;}};function bF(e){return {tenant_id:e.tenant_id,user_id:e.user_id,anonymous_id:e.anonymous_id,session_id:e.session_id,url:e.url,path:e.path,page_title:e.page_title,event_time:e.event_time,...e.properties}}var By=class{constructor(n){E(this,"name");E(this,"handler");E(this,"transform");E(this,"filterSet");this.name=n.name??"analytics",this.handler=n.handler,this.transform=n.transform,this.filterSet=n.filter?new Set(n.filter):void 0;}consume(n){for(let r of n){if(this.filterSet&&!this.filterSet.has(r.type))continue;let o=r.type,t=bF(r);if(this.transform){let i=this.transform(o,t);if(i===null)continue;o=i.eventName,t=i.properties;}try{this.handler(o,t);}catch{}}}};function RC(e){let n=new By(e);return {domain:"events",resolve:()=>({consumers:[n]})}}function _F(e){let{posthog:n,filter:r,transform:o,name:t}=e;return RC({name:t??"posthog",filter:r,transform:o,handler:(i,a)=>{n.capture(i,a);}})}var vF=["banner_placement"],yF=["banner_placement","in_page_card"],xF=["toast_message"],IF=["modal_overlay"];var SF=["banner_placement","in_page_card","usage_counter","button"],PF=["modal_overlay","inline_gate_message"],$F=["toast_message","modal_overlay","banner_placement"];function Sc(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,10)}`}var Fd=class{constructor(n){E(this,"tenantId");E(this,"apiKey");E(this,"endpoint");E(this,"defaultTtlSeconds");E(this,"fetchFn");this.tenantId=n.tenantId,this.apiKey=n.apiKey,this.endpoint=n.endpoint.replace(/\/$/,""),this.defaultTtlSeconds=n.defaultTtlSeconds??60,this.fetchFn=n.fetch??globalThis.fetch;}async evaluate(n){let r=Sc(),o=n.anonymousId??Sc(),[t,i,a,c,l]=await Promise.all([this.evaluatePlacements(r,n),this.evaluateEntitlements(r,n),n.includeTrialStatus?this.fetchTrialStatus(r,n.userId):Promise.resolve(void 0),n.includeUserContext?this.fetchUserContext(r,n.userId):Promise.resolve(void 0),n.includeTheme?this.fetchTheme(r):Promise.resolve(void 0)]),u={version:"1.0.0",request_id:r,tenant_id:this.tenantId,evaluated_at:new Date().toISOString(),ttl_seconds:this.defaultTtlSeconds,user:{id:n.userId,anonymous_id:o,traits:n.traits},decisions:t};return i&&Object.keys(i).length>0&&(u.entitlements=i),a&&(u.trial_status=a),c&&(u.user_context=c),l&&(u.theme=l),u}async getPlacement(n,r,o){let t=Sc(),i={request_id:t,user_id:n,traits:o??{},slot_id:r.slotId,entitlement_handle:r.entitlementHandle,plan_handle:r.planHandle,placement_handle:r.placementHandle};try{let a=await this.apiCall(t,"/api/decision-api/v1/decide-context",i);if(!a.ok)return {slot_id:r.slotId,entitlement_handle:r.entitlementHandle,plan_handle:r.planHandle,placement_handle:r.placementHandle,visible:!1,reason_codes:["api_error"]};let c=await a.json(),l=c.decision,u=l?.visible??!1,m={slot_id:r.slotId,entitlement_handle:r.entitlementHandle,plan_handle:r.planHandle,placement_handle:r.placementHandle,visible:u};return u&&l&&(m.output=l),c.reason_codes&&(m.reason_codes=c.reason_codes),m}catch{return {slot_id:r.slotId,entitlement_handle:r.entitlementHandle,plan_handle:r.planHandle,placement_handle:r.placementHandle,visible:false,reason_codes:["network_error"]}}}async checkEntitlement(n,r,o){let t=Sc(),i={request_id:t,user_id:n,entitlement_handle:r,...o??{}};try{let a=await this.apiCall(t,"/api/decision-api/v1/check-entitlement",i);if(!a.ok)return {status:"denied",allowed:!1,reason:"api_error"};let c=await a.json();return {status:c.status??"denied",allowed:c.allowed??!1,reason:c.reason,current_tier:c.current_tier}}catch{return {status:"denied",allowed:false,reason:"network_error"}}}can(n,r,o){return this.checkEntitlement(n,r,o)}async getTrialStatus(n){let r=Sc();return this.fetchTrialStatus(r,n)}async apiCall(n,r,o){return this.fetchFn(`${this.endpoint}${r}`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":n},body:JSON.stringify(o)})}async apiGet(n,r){return this.fetchFn(`${this.endpoint}${r}`,{method:"GET",headers:{authorization:`Bearer ${this.apiKey}`,"x-tenant-id":this.tenantId,"x-request-id":n}})}async evaluatePlacements(n,r){let o=r.placements??[];return o.length===0?[]:o.length>1?this.evaluatePlacementsBatch(n,r,o):[await this.getPlacement(r.userId,o[0],r.traits)]}async evaluatePlacementsBatch(n,r,o){let t={request_id:n,user_id:r.userId,traits:r.traits??{},usage_balances:r.usageBalances??{},page:r.page??{},placements:o.map(i=>({slot_id:i.slotId,entitlement_handle:i.entitlementHandle,plan_handle:i.planHandle,placement_handle:i.placementHandle}))};try{let i=await this.apiCall(n,"/api/decision-api/v1/bootstrap-context",t);return i.ok?(await i.json()).decisions.map((c,l)=>{let u=o[l]??{},m=c.result.decision?.visible??!1,p={slot_id:u.slotId,entitlement_handle:u.entitlementHandle,plan_handle:u.planHandle,placement_handle:u.placementHandle,visible:m};return m&&c.result.decision&&(p.output=c.result.decision),c.result.reason_codes&&(p.reason_codes=c.result.reason_codes),p}):o.map(c=>({slot_id:c.slotId,entitlement_handle:c.entitlementHandle,plan_handle:c.planHandle,placement_handle:c.placementHandle,visible:!1,reason_codes:["api_error"]}))}catch{return o.map(i=>({slot_id:i.slotId,entitlement_handle:i.entitlementHandle,plan_handle:i.planHandle,placement_handle:i.placementHandle,visible:false,reason_codes:["network_error"]}))}}async evaluateEntitlements(n,r){let o=r.entitlementHandles??[];if(o.length===0)return;let t={},i=await Promise.allSettled(o.map(async a=>{let c=await this.checkEntitlement(r.userId,a);return {handle:a,result:c}}));for(let a of i)a.status==="fulfilled"&&(t[a.value.handle]=a.value.result);return t}async fetchTrialStatus(n,r){try{let o=await this.apiCall(n,"/api/decision-api/v1/trial-status",{request_id:n,user_id:r});if(!o.ok)return {in_trial:!1};let t=await o.json();return {in_trial:t.in_trial??!1,...t.trial_type!==void 0?{trial_type:t.trial_type}:{},...t.plan_handle!==void 0?{plan_handle:t.plan_handle}:{},...t.trial_limit_type!==void 0?{trial_limit_type:t.trial_limit_type}:{},...t.progress_percent!==void 0?{progress_percent:t.progress_percent}:{},...t.day_number!==void 0?{day_number:t.day_number}:{},...t.days_remaining!==void 0?{days_remaining:t.days_remaining}:{},...t.usage_entitlement_handle!==void 0?{usage_entitlement_handle:t.usage_entitlement_handle}:{},...t.usage_consumed!==void 0?{usage_consumed:t.usage_consumed}:{},...t.usage_remaining!==void 0?{usage_remaining:t.usage_remaining}:{},...t.usage_limit!==void 0?{usage_limit:t.usage_limit}:{}}}catch{return {in_trial:false}}}async fetchUserContext(n,r){try{let o=await this.apiCall(n,"/api/decision-api/v1/user-context",{request_id:n,user_id:r});if(!o.ok)return;let t=await o.json();return {segments:t.segments,traits:t.traits,usage_balances:t.usage_balances}}catch{return}}async fetchTheme(n){try{let r=await this.apiGet(n,"/api/sdk/theme");if(!r.ok)return;let o=await r.json();return typeof o!="object"||o===null?void 0:o}catch{return}}};var d={};$t(d,{$brand:()=>qy,$input:()=>mS,$output:()=>dS,NEVER:()=>Vy,TimePrecision:()=>hS,ZodAny:()=>o$,ZodArray:()=>l$,ZodBase64:()=>mp,ZodBase64URL:()=>pp,ZodBigInt:()=>Ua,ZodBigIntFormat:()=>hp,ZodBoolean:()=>ja,ZodCIDRv4:()=>up,ZodCIDRv6:()=>dp,ZodCUID:()=>rp,ZodCUID2:()=>ip,ZodCatch:()=>E$,ZodCodec:()=>tl,ZodCustom:()=>nl,ZodCustomStringFormat:()=>Ea,ZodDate:()=>Wc,ZodDefault:()=>$$,ZodDiscriminatedUnion:()=>d$,ZodE164:()=>fp,ZodEmail:()=>ep,ZodEmoji:()=>tp,ZodEnum:()=>Ra,ZodError:()=>bB,ZodExactOptional:()=>I$,ZodFile:()=>y$,ZodFirstPartyTypeKind:()=>V$,ZodFunction:()=>Z$,ZodGUID:()=>qc,ZodIPv4:()=>cp,ZodIPv6:()=>lp,ZodISODate:()=>Gm,ZodISODateTime:()=>Km,ZodISODuration:()=>Wm,ZodISOTime:()=>Jm,ZodIntersection:()=>m$,ZodIssueCode:()=>vB,ZodJWT:()=>gp,ZodKSUID:()=>sp,ZodLazy:()=>N$,ZodLiteral:()=>v$,ZodMAC:()=>YP,ZodMap:()=>b$,ZodNaN:()=>j$,ZodNanoID:()=>np,ZodNever:()=>s$,ZodNonOptional:()=>Ip,ZodNull:()=>r$,ZodNullable:()=>P$,ZodNumber:()=>za,ZodNumberFormat:()=>ji,ZodObject:()=>Yc,ZodOptional:()=>xp,ZodPipe:()=>el,ZodPrefault:()=>w$,ZodPreprocess:()=>U$,ZodPromise:()=>L$,ZodReadonly:()=>O$,ZodRealError:()=>_n,ZodRecord:()=>Ta,ZodSet:()=>_$,ZodString:()=>Ca,ZodStringFormat:()=>Ye,ZodSuccess:()=>C$,ZodSymbol:()=>t$,ZodTemplateLiteral:()=>A$,ZodTransform:()=>x$,ZodTuple:()=>f$,ZodType:()=>be,ZodULID:()=>op,ZodURL:()=>Jc,ZodUUID:()=>dr,ZodUndefined:()=>n$,ZodUnion:()=>Qc,ZodUnknown:()=>a$,ZodVoid:()=>c$,ZodXID:()=>ap,ZodXor:()=>u$,_ZodString:()=>Qm,_default:()=>k$,_function:()=>_j,any:()=>Jz,array:()=>Xc,base64:()=>zz,base64url:()=>jz,bigint:()=>Vz,boolean:()=>e$,catch:()=>z$,check:()=>vj,cidrv4:()=>Cz,cidrv6:()=>Ez,clone:()=>nn,codec:()=>fj,coerce:()=>q$,config:()=>gt,core:()=>kr,cuid:()=>Iz,cuid2:()=>Sz,custom:()=>yj,date:()=>Xz,decode:()=>qP,decodeAsync:()=>KP,describe:()=>xj,discriminatedUnion:()=>rj,e164:()=>Uz,email:()=>mz,emoji:()=>yz,encode:()=>VP,encodeAsync:()=>HP,endsWith:()=>_a,enum:()=>vp,exactOptional:()=>S$,file:()=>uj,flattenError:()=>Ec,float32:()=>Lz,float64:()=>Zz,formatError:()=>zc,fromJSONSchema:()=>Tj,function:()=>_j,getErrorMap:()=>xB,globalRegistry:()=>Zt,gt:()=>lr,gte:()=>on,guid:()=>pz,hash:()=>Fz,hex:()=>Nz,hostname:()=>Az,httpUrl:()=>vz,includes:()=>ha,instanceof:()=>Sj,int:()=>Xm,int32:()=>Bz,int64:()=>qz,intersection:()=>p$,invertCodec:()=>gj,ipv4:()=>wz,ipv6:()=>Rz,iso:()=>wa,json:()=>$j,jwt:()=>Oz,keyof:()=>Yz,ksuid:()=>kz,lazy:()=>F$,length:()=>Ei,literal:()=>lj,locales:()=>Lc,looseObject:()=>tj,looseRecord:()=>oj,lowercase:()=>fa,lt:()=>cr,lte:()=>wn,mac:()=>Tz,map:()=>aj,maxLength:()=>Ci,maxSize:()=>ri,meta:()=>Ij,mime:()=>va,minLength:()=>$r,minSize:()=>ur,multipleOf:()=>ni,nan:()=>pj,nanoid:()=>xz,nativeEnum:()=>cj,negative:()=>Am,never:()=>bp,nonnegative:()=>Fm,nonoptional:()=>R$,nonpositive:()=>Nm,normalize:()=>ya,null:()=>i$,nullable:()=>Kc,nullish:()=>dj,number:()=>QP,object:()=>Qz,optional:()=>Hc,overwrite:()=>Wn,parse:()=>LP,parseAsync:()=>ZP,partialRecord:()=>ij,pipe:()=>Ym,positive:()=>Dm,prefault:()=>T$,preprocess:()=>kj,prettifyError:()=>ix,promise:()=>bj,property:()=>Lm,readonly:()=>D$,record:()=>h$,refine:()=>B$,regex:()=>pa,regexes:()=>kn,registry:()=>gm,safeDecode:()=>JP,safeDecodeAsync:()=>XP,safeEncode:()=>GP,safeEncodeAsync:()=>WP,safeParse:()=>BP,safeParseAsync:()=>MP,set:()=>sj,setErrorMap:()=>yB,size:()=>Ri,slugify:()=>Pa,startsWith:()=>ba,strictObject:()=>ej,string:()=>Vc,stringFormat:()=>Dz,stringbool:()=>Pj,success:()=>mj,superRefine:()=>M$,symbol:()=>Kz,templateLiteral:()=>hj,toJSONSchema:()=>Vm,toLowerCase:()=>Ia,toUpperCase:()=>Sa,transform:()=>yp,treeifyError:()=>rx,trim:()=>xa,tuple:()=>g$,uint32:()=>Mz,uint64:()=>Hz,ulid:()=>Pz,undefined:()=>Gz,union:()=>_p,unknown:()=>zi,uppercase:()=>ga,url:()=>_z,util:()=>A,uuid:()=>fz,uuidv4:()=>gz,uuidv6:()=>hz,uuidv7:()=>bz,void:()=>Wz,xid:()=>$z,xor:()=>nj});var kr={};$t(kr,{$ZodAny:()=>jI,$ZodArray:()=>NI,$ZodAsyncError:()=>Jn,$ZodBase64:()=>SI,$ZodBase64URL:()=>PI,$ZodBigInt:()=>sm,$ZodBigIntFormat:()=>RI,$ZodBoolean:()=>Dc,$ZodCIDRv4:()=>yI,$ZodCIDRv6:()=>xI,$ZodCUID:()=>cI,$ZodCUID2:()=>lI,$ZodCatch:()=>nS,$ZodCheck:()=>nt,$ZodCheckBigIntFormat:()=>Nx,$ZodCheckEndsWith:()=>Wx,$ZodCheckGreaterThan:()=>tm,$ZodCheckIncludes:()=>Gx,$ZodCheckLengthEquals:()=>Vx,$ZodCheckLessThan:()=>em,$ZodCheckLowerCase:()=>Hx,$ZodCheckMaxLength:()=>Bx,$ZodCheckMaxSize:()=>Fx,$ZodCheckMimeType:()=>Yx,$ZodCheckMinLength:()=>Mx,$ZodCheckMinSize:()=>Lx,$ZodCheckMultipleOf:()=>Dx,$ZodCheckNumberFormat:()=>Ax,$ZodCheckOverwrite:()=>Qx,$ZodCheckProperty:()=>Xx,$ZodCheckRegex:()=>qx,$ZodCheckSizeEquals:()=>Zx,$ZodCheckStartsWith:()=>Jx,$ZodCheckStringFormat:()=>da,$ZodCheckUpperCase:()=>Kx,$ZodCodec:()=>Nc,$ZodCustom:()=>uS,$ZodCustomStringFormat:()=>wI,$ZodDate:()=>AI,$ZodDefault:()=>YI,$ZodDiscriminatedUnion:()=>ZI,$ZodE164:()=>$I,$ZodEmail:()=>iI,$ZodEmoji:()=>aI,$ZodEncodeError:()=>Xr,$ZodEnum:()=>HI,$ZodError:()=>Cc,$ZodExactOptional:()=>WI,$ZodFile:()=>GI,$ZodFunction:()=>sS,$ZodGUID:()=>nI,$ZodIPv4:()=>bI,$ZodIPv6:()=>_I,$ZodISODate:()=>fI,$ZodISODateTime:()=>pI,$ZodISODuration:()=>hI,$ZodISOTime:()=>gI,$ZodIntersection:()=>BI,$ZodJWT:()=>kI,$ZodKSUID:()=>mI,$ZodLazy:()=>lS,$ZodLiteral:()=>KI,$ZodMAC:()=>vI,$ZodMap:()=>VI,$ZodNaN:()=>rS,$ZodNanoID:()=>sI,$ZodNever:()=>OI,$ZodNonOptional:()=>eS,$ZodNull:()=>zI,$ZodNullable:()=>XI,$ZodNumber:()=>am,$ZodNumberFormat:()=>TI,$ZodObject:()=>sE,$ZodObjectJIT:()=>FI,$ZodOptional:()=>lm,$ZodPipe:()=>um,$ZodPrefault:()=>QI,$ZodPreprocess:()=>iS,$ZodPromise:()=>cS,$ZodReadonly:()=>oS,$ZodRealError:()=>bn,$ZodRecord:()=>MI,$ZodRegistry:()=>fm,$ZodSet:()=>qI,$ZodString:()=>Ti,$ZodStringFormat:()=>Xe,$ZodSuccess:()=>tS,$ZodSymbol:()=>CI,$ZodTemplateLiteral:()=>aS,$ZodTransform:()=>JI,$ZodTuple:()=>cm,$ZodType:()=>fe,$ZodULID:()=>uI,$ZodURL:()=>oI,$ZodUUID:()=>rI,$ZodUndefined:()=>EI,$ZodUnion:()=>Ac,$ZodUnknown:()=>UI,$ZodVoid:()=>DI,$ZodXID:()=>dI,$ZodXor:()=>LI,$brand:()=>qy,$constructor:()=>I,$input:()=>mS,$output:()=>dS,Doc:()=>Oc,JSONSchema:()=>lz,JSONSchemaGenerator:()=>qm,NEVER:()=>Vy,TimePrecision:()=>hS,_any:()=>AS,_array:()=>VS,_base64:()=>zm,_base64url:()=>jm,_bigint:()=>CS,_boolean:()=>TS,_catch:()=>lB,_check:()=>cz,_cidrv4:()=>Cm,_cidrv6:()=>Em,_coercedBigint:()=>ES,_coercedBoolean:()=>RS,_coercedDate:()=>BS,_coercedNumber:()=>IS,_coercedString:()=>fS,_cuid:()=>Sm,_cuid2:()=>Pm,_custom:()=>HS,_date:()=>ZS,_decode:()=>qd,_decodeAsync:()=>Kd,_default:()=>aB,_discriminatedUnion:()=>GZ,_e164:()=>Um,_email:()=>hm,_emoji:()=>xm,_encode:()=>Vd,_encodeAsync:()=>Hd,_endsWith:()=>_a,_enum:()=>eB,_file:()=>qS,_float32:()=>PS,_float64:()=>$S,_gt:()=>lr,_gte:()=>on,_guid:()=>Zc,_includes:()=>ha,_int:()=>SS,_int32:()=>kS,_int64:()=>zS,_intersection:()=>JZ,_ipv4:()=>Tm,_ipv6:()=>Rm,_isoDate:()=>_S,_isoDateTime:()=>bS,_isoDuration:()=>yS,_isoTime:()=>vS,_jwt:()=>Om,_ksuid:()=>wm,_lazy:()=>pB,_length:()=>Ei,_literal:()=>nB,_lowercase:()=>fa,_lt:()=>cr,_lte:()=>wn,_mac:()=>gS,_map:()=>YZ,_max:()=>wn,_maxLength:()=>Ci,_maxSize:()=>ri,_mime:()=>va,_min:()=>on,_minLength:()=>$r,_minSize:()=>ur,_multipleOf:()=>ni,_nan:()=>MS,_nanoid:()=>Im,_nativeEnum:()=>tB,_negative:()=>Am,_never:()=>FS,_nonnegative:()=>Fm,_nonoptional:()=>sB,_nonpositive:()=>Nm,_normalize:()=>ya,_null:()=>DS,_nullable:()=>oB,_number:()=>xS,_optional:()=>iB,_overwrite:()=>Wn,_parse:()=>sa,_parseAsync:()=>ca,_pipe:()=>uB,_positive:()=>Dm,_promise:()=>fB,_property:()=>Lm,_readonly:()=>dB,_record:()=>XZ,_refine:()=>KS,_regex:()=>pa,_safeDecode:()=>Jd,_safeDecodeAsync:()=>Xd,_safeEncode:()=>Gd,_safeEncodeAsync:()=>Wd,_safeParse:()=>la,_safeParseAsync:()=>ua,_set:()=>QZ,_size:()=>Ri,_slugify:()=>Pa,_startsWith:()=>ba,_string:()=>pS,_stringFormat:()=>$a,_stringbool:()=>XS,_success:()=>cB,_superRefine:()=>GS,_symbol:()=>US,_templateLiteral:()=>mB,_toLowerCase:()=>Ia,_toUpperCase:()=>Sa,_transform:()=>rB,_trim:()=>xa,_tuple:()=>WZ,_uint32:()=>wS,_uint64:()=>jS,_ulid:()=>$m,_undefined:()=>OS,_union:()=>HZ,_unknown:()=>NS,_uppercase:()=>ga,_url:()=>Bc,_uuid:()=>bm,_uuidv4:()=>_m,_uuidv6:()=>vm,_uuidv7:()=>ym,_void:()=>LS,_xid:()=>km,_xor:()=>KZ,clone:()=>nn,config:()=>gt,createStandardJSONSchemaMethod:()=>ka,createToJSONSchemaMethod:()=>YS,decode:()=>fL,decodeAsync:()=>hL,describe:()=>JS,encode:()=>pL,encodeAsync:()=>gL,extractDefs:()=>oi,finalize:()=>ai,flattenError:()=>Ec,formatError:()=>zc,globalConfig:()=>$i,globalRegistry:()=>Zt,initializeContext:()=>ii,isValidBase64:()=>II,isValidBase64URL:()=>rE,isValidJWT:()=>iE,locales:()=>Lc,meta:()=>WS,parse:()=>Bd,parseAsync:()=>Md,prettifyError:()=>ix,process:()=>Be,regexes:()=>kn,registry:()=>gm,safeDecode:()=>_L,safeDecodeAsync:()=>yL,safeEncode:()=>bL,safeEncodeAsync:()=>vL,safeParse:()=>ox,safeParseAsync:()=>ax,toDotPath:()=>DC,toJSONSchema:()=>Vm,treeifyError:()=>rx,util:()=>A,version:()=>eI});var EC,Vy=Object.freeze({status:"aborted"});function I(e,n,r){function o(c,l){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:l,constr:a,traits:new Set},enumerable:false}),c._zod.traits.has(e))return;c._zod.traits.add(e),n(c,l);let u=a.prototype,m=Object.keys(u);for(let p=0;p<m.length;p++){let f=m[p];f in c||(c[f]=u[f].bind(c));}}let t=r?.Parent??Object;class i extends t{}Object.defineProperty(i,"name",{value:e});function a(c){var l;let u=r?.Parent?new i:this;o(u,c),(l=u._zod).deferred??(l.deferred=[]);for(let m of u._zod.deferred)m();return u}return Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:c=>r?.Parent&&c instanceof r.Parent?true:c?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var qy=Symbol("zod_brand"),Jn=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.");}},Xr=class extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError";}};(EC=globalThis).__zod_globalConfig??(EC.__zod_globalConfig={});var $i=globalThis.__zod_globalConfig;function gt(e){return e&&Object.assign($i,e),$i}var A={};$t(A,{BIGINT_FORMAT_RANGES:()=>tx,Class:()=>Ky,NUMBER_FORMAT_RANGES:()=>ex,aborted:()=>ti,allowsEval:()=>Wy,assert:()=>qF,assertEqual:()=>ZF,assertIs:()=>MF,assertNever:()=>VF,assertNotEqual:()=>BF,assignProp:()=>Qr,base64ToUint8Array:()=>jC,base64urlToUint8Array:()=>cL,cached:()=>oa,captureStackTrace:()=>Zd,cleanEnum:()=>sL,cleanRegex:()=>kc,clone:()=>nn,cloneDef:()=>KF,createTransparentProxy:()=>QF,defineLazy:()=>Ie,esc:()=>Ld,escapeRegex:()=>Dn,explicitlyAborted:()=>nx,extend:()=>nL,finalizeIssue:()=>rn,floatSafeRemainder:()=>Gy,getElementAtPath:()=>GF,getEnumValues:()=>$c,getLengthableOrigin:()=>Rc,getParsedType:()=>YF,getSizableOrigin:()=>Tc,hexToUint8Array:()=>uL,isObject:()=>ki,isPlainObject:()=>ei,issue:()=>aa,joinValues:()=>$,jsonStringifyReplacer:()=>ia,merge:()=>iL,mergeDefs:()=>Pr,normalizeParams:()=>L,nullish:()=>Yr,numKeys:()=>XF,objectClone:()=>HF,omit:()=>tL,optionalKeys:()=>Qy,parsedType:()=>O,partial:()=>oL,pick:()=>eL,prefixIssues:()=>hn,primitiveTypes:()=>Yy,promiseAllObject:()=>JF,propertyKeyTypes:()=>wc,randomString:()=>WF,required:()=>aL,safeExtend:()=>rL,shallowClone:()=>Xy,slugify:()=>Jy,stringifyPrimitive:()=>j,uint8ArrayToBase64:()=>UC,uint8ArrayToBase64url:()=>lL,uint8ArrayToHex:()=>dL,unwrapMessage:()=>Pc});function ZF(e){return e}function BF(e){return e}function MF(e){}function VF(e){throw new Error("Unexpected value in exhaustive check")}function qF(e){}function $c(e){let n=Object.values(e).filter(o=>typeof o=="number");return Object.entries(e).filter(([o,t])=>n.indexOf(+o)===-1).map(([o,t])=>t)}function $(e,n="|"){return e.map(r=>j(r)).join(n)}function ia(e,n){return typeof n=="bigint"?n.toString():n}function oa(e){return {get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}}}}function Yr(e){return e==null}function kc(e){let n=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(n,r)}function Gy(e,n){let r=e/n,o=Math.round(r),t=Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-o)<t?0:r-o}var zC=Symbol("evaluating");function Ie(e,n,r){let o;Object.defineProperty(e,n,{get(){if(o!==zC)return o===void 0&&(o=zC,o=r()),o},set(t){Object.defineProperty(e,n,{value:t});},configurable:true});}function HF(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function Qr(e,n,r){Object.defineProperty(e,n,{value:r,writable:true,enumerable:true,configurable:true});}function Pr(...e){let n={};for(let r of e){let o=Object.getOwnPropertyDescriptors(r);Object.assign(n,o);}return Object.defineProperties({},n)}function KF(e){return Pr(e._zod.def)}function GF(e,n){return n?n.reduce((r,o)=>r?.[o],e):e}function JF(e){let n=Object.keys(e),r=n.map(o=>e[o]);return Promise.all(r).then(o=>{let t={};for(let i=0;i<n.length;i++)t[n[i]]=o[i];return t})}function WF(e=10){let n="abcdefghijklmnopqrstuvwxyz",r="";for(let o=0;o<e;o++)r+=n[Math.floor(Math.random()*n.length)];return r}function Ld(e){return JSON.stringify(e)}function Jy(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Zd="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ki(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Wy=oa(()=>{if($i.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return false;try{let e=Function;return new e(""),!0}catch{return false}});function ei(e){if(ki(e)===false)return false;let n=e.constructor;if(n===void 0||typeof n!="function")return true;let r=n.prototype;return !(ki(r)===false||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===false)}function Xy(e){return ei(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function XF(e){let n=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&n++;return n}var YF=e=>{let n=typeof e;switch(n){case "undefined":return "undefined";case "string":return "string";case "number":return Number.isNaN(e)?"nan":"number";case "boolean":return "boolean";case "function":return "function";case "bigint":return "bigint";case "symbol":return "symbol";case "object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${n}`)}},wc=new Set(["string","number","symbol"]),Yy=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Dn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nn(e,n,r){let o=new e._zod.constr(n??e._zod.def);return (!n||r?.parent)&&(o._zod.parent=e),o}function L(e){let n=e;if(!n)return {};if(typeof n=="string")return {error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message;}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function QF(e){let n;return new Proxy({},{get(r,o,t){return n??(n=e()),Reflect.get(n,o,t)},set(r,o,t,i){return n??(n=e()),Reflect.set(n,o,t,i)},has(r,o){return n??(n=e()),Reflect.has(n,o)},deleteProperty(r,o){return n??(n=e()),Reflect.deleteProperty(n,o)},ownKeys(r){return n??(n=e()),Reflect.ownKeys(n)},getOwnPropertyDescriptor(r,o){return n??(n=e()),Reflect.getOwnPropertyDescriptor(n,o)},defineProperty(r,o,t){return n??(n=e()),Reflect.defineProperty(n,o,t)}})}function j(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Qy(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}var ex={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},tx={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function eL(e,n){let r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i=Pr(e._zod.def,{get shape(){let a={};for(let c in n){if(!(c in r.shape))throw new Error(`Unrecognized key: "${c}"`);n[c]&&(a[c]=r.shape[c]);}return Qr(this,"shape",a),a},checks:[]});return nn(e,i)}function tL(e,n){let r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=Pr(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let c in n){if(!(c in r.shape))throw new Error(`Unrecognized key: "${c}"`);n[c]&&delete a[c];}return Qr(this,"shape",a),a},checks:[]});return nn(e,i)}function nL(e,n){if(!ei(n))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let i=e._zod.def.shape;for(let a in n)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let t=Pr(e._zod.def,{get shape(){let i={...e._zod.def.shape,...n};return Qr(this,"shape",i),i}});return nn(e,t)}function rL(e,n){if(!ei(n))throw new Error("Invalid input to safeExtend: expected a plain object");let r=Pr(e._zod.def,{get shape(){let o={...e._zod.def.shape,...n};return Qr(this,"shape",o),o}});return nn(e,r)}function iL(e,n){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=Pr(e._zod.def,{get shape(){let o={...e._zod.def.shape,...n._zod.def.shape};return Qr(this,"shape",o),o},get catchall(){return n._zod.def.catchall},checks:n._zod.def.checks??[]});return nn(e,r)}function oL(e,n,r){let t=n._zod.def.checks;if(t&&t.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=Pr(n._zod.def,{get shape(){let c=n._zod.def.shape,l={...c};if(r)for(let u in r){if(!(u in c))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=e?new e({type:"optional",innerType:c[u]}):c[u]);}else for(let u in c)l[u]=e?new e({type:"optional",innerType:c[u]}):c[u];return Qr(this,"shape",l),l},checks:[]});return nn(n,a)}function aL(e,n,r){let o=Pr(n._zod.def,{get shape(){let t=n._zod.def.shape,i={...t};if(r)for(let a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new e({type:"nonoptional",innerType:t[a]}));}else for(let a in t)i[a]=new e({type:"nonoptional",innerType:t[a]});return Qr(this,"shape",i),i}});return nn(n,o)}function ti(e,n=0){if(e.aborted===true)return true;for(let r=n;r<e.issues.length;r++)if(e.issues[r]?.continue!==true)return true;return false}function nx(e,n=0){if(e.aborted===true)return true;for(let r=n;r<e.issues.length;r++)if(e.issues[r]?.continue===false)return true;return false}function hn(e,n){return n.map(r=>{var o;return (o=r).path??(o.path=[]),r.path.unshift(e),r})}function Pc(e){return typeof e=="string"?e:e?.message}function rn(e,n,r){let o=e.message?e.message:Pc(e.inst?._zod.def?.error?.(e))??Pc(n?.error?.(e))??Pc(r.customError?.(e))??Pc(r.localeError?.(e))??"Invalid input",{inst:t,continue:i,input:a,...c}=e;return c.path??(c.path=[]),c.message=o,n?.reportInput&&(c.input=a),c}function Tc(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Rc(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function O(e){let n=typeof e;switch(n){case "number":return Number.isNaN(e)?"nan":"number";case "object":{if(e===null)return "null";if(Array.isArray(e))return "array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return n}function aa(...e){let[n,r,o]=e;return typeof n=="string"?{message:n,code:"custom",input:r,inst:o}:{...n}}function sL(e){return Object.entries(e).filter(([n,r])=>Number.isNaN(Number.parseInt(n,10))).map(n=>n[1])}function jC(e){let n=atob(e),r=new Uint8Array(n.length);for(let o=0;o<n.length;o++)r[o]=n.charCodeAt(o);return r}function UC(e){let n="";for(let r=0;r<e.length;r++)n+=String.fromCharCode(e[r]);return btoa(n)}function cL(e){let n=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-n.length%4)%4);return jC(n+r)}function lL(e){return UC(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function uL(e){let n=e.replace(/^0x/,"");if(n.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(n.length/2);for(let o=0;o<n.length;o+=2)r[o/2]=Number.parseInt(n.slice(o,o+2),16);return r}function dL(e){return Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("")}var Ky=class{constructor(...n){}};var OC=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:false}),Object.defineProperty(e,"issues",{value:n,enumerable:false}),e.message=JSON.stringify(n,ia,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:false});},Cc=I("$ZodError",OC),bn=I("$ZodError",OC,{Parent:Error});function Ec(e,n=r=>r.message){let r={},o=[];for(let t of e.issues)t.path.length>0?(r[t.path[0]]=r[t.path[0]]||[],r[t.path[0]].push(n(t))):o.push(n(t));return {formErrors:o,fieldErrors:r}}function zc(e,n=r=>r.message){let r={_errors:[]},o=(t,i=[])=>{for(let a of t.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(c=>o({issues:c},[...i,...a.path]));else if(a.code==="invalid_key")o({issues:a.issues},[...i,...a.path]);else if(a.code==="invalid_element")o({issues:a.issues},[...i,...a.path]);else {let c=[...i,...a.path];if(c.length===0)r._errors.push(n(a));else {let l=r,u=0;for(;u<c.length;){let m=c[u];u===c.length-1?(l[m]=l[m]||{_errors:[]},l[m]._errors.push(n(a))):l[m]=l[m]||{_errors:[]},l=l[m],u++;}}}};return o(e),r}function rx(e,n=r=>r.message){let r={errors:[]},o=(t,i=[])=>{var a,c;for(let l of t.issues)if(l.code==="invalid_union"&&l.errors.length)l.errors.map(u=>o({issues:u},[...i,...l.path]));else if(l.code==="invalid_key")o({issues:l.issues},[...i,...l.path]);else if(l.code==="invalid_element")o({issues:l.issues},[...i,...l.path]);else {let u=[...i,...l.path];if(u.length===0){r.errors.push(n(l));continue}let m=r,p=0;for(;p<u.length;){let f=u[p],g=p===u.length-1;typeof f=="string"?(m.properties??(m.properties={}),(a=m.properties)[f]??(a[f]={errors:[]}),m=m.properties[f]):(m.items??(m.items=[]),(c=m.items)[f]??(c[f]={errors:[]}),m=m.items[f]),g&&m.errors.push(n(l)),p++;}}};return o(e),r}function DC(e){let n=[],r=e.map(o=>typeof o=="object"?o.key:o);for(let o of r)typeof o=="number"?n.push(`[${o}]`):typeof o=="symbol"?n.push(`[${JSON.stringify(String(o))}]`):/[^\w$]/.test(o)?n.push(`[${JSON.stringify(o)}]`):(n.length&&n.push("."),n.push(o));return n.join("")}function ix(e){let n=[],r=[...e.issues].sort((o,t)=>(o.path??[]).length-(t.path??[]).length);for(let o of r)n.push(`\u2716 ${o.message}`),o.path?.length&&n.push(` \u2192 at ${DC(o.path)}`);return n.join(`
|
|
66
66
|
`)}var sa=e=>(n,r,o,t)=>{let i=o?{...o,async:false}:{async:false},a=n._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new Jn;if(a.issues.length){let c=new(t?.Err??e)(a.issues.map(l=>rn(l,i,gt())));throw Zd(c,t?.callee),c}return a.value},Bd=sa(bn),ca=e=>async(n,r,o,t)=>{let i=o?{...o,async:true}:{async:true},a=n._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){let c=new(t?.Err??e)(a.issues.map(l=>rn(l,i,gt())));throw Zd(c,t?.callee),c}return a.value},Md=ca(bn),la=e=>(n,r,o)=>{let t=o?{...o,async:false}:{async:false},i=n._zod.run({value:r,issues:[]},t);if(i instanceof Promise)throw new Jn;return i.issues.length?{success:false,error:new(e??Cc)(i.issues.map(a=>rn(a,t,gt())))}:{success:true,data:i.value}},ox=la(bn),ua=e=>async(n,r,o)=>{let t=o?{...o,async:true}:{async:true},i=n._zod.run({value:r,issues:[]},t);return i instanceof Promise&&(i=await i),i.issues.length?{success:false,error:new e(i.issues.map(a=>rn(a,t,gt())))}:{success:true,data:i.value}},ax=ua(bn),Vd=e=>(n,r,o)=>{let t=o?{...o,direction:"backward"}:{direction:"backward"};return sa(e)(n,r,t)},pL=Vd(bn),qd=e=>(n,r,o)=>sa(e)(n,r,o),fL=qd(bn),Hd=e=>async(n,r,o)=>{let t=o?{...o,direction:"backward"}:{direction:"backward"};return ca(e)(n,r,t)},gL=Hd(bn),Kd=e=>async(n,r,o)=>ca(e)(n,r,o),hL=Kd(bn),Gd=e=>(n,r,o)=>{let t=o?{...o,direction:"backward"}:{direction:"backward"};return la(e)(n,r,t)},bL=Gd(bn),Jd=e=>(n,r,o)=>la(e)(n,r,o),_L=Jd(bn),Wd=e=>async(n,r,o)=>{let t=o?{...o,direction:"backward"}:{direction:"backward"};return ua(e)(n,r,t)},vL=Wd(bn),Xd=e=>async(n,r,o)=>ua(e)(n,r,o),yL=Xd(bn);var kn={};$t(kn,{base64:()=>Ix,base64url:()=>Yd,bigint:()=>Rx,boolean:()=>Ex,browserEmail:()=>TL,cidrv4:()=>yx,cidrv6:()=>xx,cuid:()=>sx,cuid2:()=>cx,date:()=>$x,datetime:()=>wx,domain:()=>EL,duration:()=>px,e164:()=>Px,email:()=>gx,emoji:()=>hx,extendedDuration:()=>xL,guid:()=>fx,hex:()=>zL,hostname:()=>CL,html5Email:()=>$L,httpProtocol:()=>Sx,idnEmail:()=>wL,integer:()=>Cx,ipv4:()=>bx,ipv6:()=>_x,ksuid:()=>dx,lowercase:()=>Ux,mac:()=>vx,md5_base64:()=>UL,md5_base64url:()=>OL,md5_hex:()=>jL,nanoid:()=>mx,null:()=>zx,number:()=>Qd,rfc5322Email:()=>kL,sha1_base64:()=>AL,sha1_base64url:()=>NL,sha1_hex:()=>DL,sha256_base64:()=>LL,sha256_base64url:()=>ZL,sha256_hex:()=>FL,sha384_base64:()=>ML,sha384_base64url:()=>VL,sha384_hex:()=>BL,sha512_base64:()=>HL,sha512_base64url:()=>KL,sha512_hex:()=>qL,string:()=>Tx,time:()=>kx,ulid:()=>lx,undefined:()=>jx,unicodeEmail:()=>AC,uppercase:()=>Ox,uuid:()=>wi,uuid4:()=>IL,uuid6:()=>SL,uuid7:()=>PL,xid:()=>ux});var sx=/^[cC][0-9a-z]{6,}$/,cx=/^[0-9a-z]+$/,lx=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ux=/^[0-9a-vA-V]{20}$/,dx=/^[A-Za-z0-9]{27}$/,mx=/^[a-zA-Z0-9_-]{21}$/,px=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xL=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,fx=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,wi=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,IL=wi(4),SL=wi(6),PL=wi(7),gx=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,$L=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,kL=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,AC=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,wL=AC,TL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,RL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function hx(){return new RegExp(RL,"u")}var bx=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,_x=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,vx=e=>{let n=Dn(e??":");return new RegExp(`^(?:[0-9A-F]{2}${n}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${n}){5}[0-9a-f]{2}$`)},yx=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,xx=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ix=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Yd=/^[A-Za-z0-9_-]*$/,CL=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,EL=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Sx=/^https?$/,Px=/^\+[1-9]\d{6,14}$/,NC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",$x=new RegExp(`^${NC}$`);function FC(e){let n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function kx(e){return new RegExp(`^${FC(e)}$`)}function wx(e){let n=FC({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let o=`${n}(?:${r.join("|")})`;return new RegExp(`^${NC}T(?:${o})$`)}var Tx=e=>{let n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},Rx=/^-?\d+n?$/,Cx=/^-?\d+$/,Qd=/^-?\d+(?:\.\d+)?$/,Ex=/^(?:true|false)$/i,zx=/^null$/i;var jx=/^undefined$/i;var Ux=/^[^A-Z]*$/,Ox=/^[^a-z]*$/,zL=/^[0-9a-fA-F]*$/;function jc(e,n){return new RegExp(`^[A-Za-z0-9+/]{${e}}${n}$`)}function Uc(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var jL=/^[0-9a-fA-F]{32}$/,UL=jc(22,"=="),OL=Uc(22),DL=/^[0-9a-fA-F]{40}$/,AL=jc(27,"="),NL=Uc(27),FL=/^[0-9a-fA-F]{64}$/,LL=jc(43,"="),ZL=Uc(43),BL=/^[0-9a-fA-F]{96}$/,ML=jc(64,""),VL=Uc(64),qL=/^[0-9a-fA-F]{128}$/,HL=jc(86,"=="),KL=Uc(86);var nt=I("$ZodCheck",(e,n)=>{var r;e._zod??(e._zod={}),e._zod.def=n,(r=e._zod).onattach??(r.onattach=[]);}),ZC={number:"number",bigint:"bigint",object:"date"},em=I("$ZodCheckLessThan",(e,n)=>{nt.init(e,n);let r=ZC[typeof n.value];e._zod.onattach.push(o=>{let t=o._zod.bag,i=(n.inclusive?t.maximum:t.exclusiveMaximum)??Number.POSITIVE_INFINITY;n.value<i&&(n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value);}),e._zod.check=o=>{(n.inclusive?o.value<=n.value:o.value<n.value)||o.issues.push({origin:r,code:"too_big",maximum:typeof n.value=="object"?n.value.getTime():n.value,input:o.value,inclusive:n.inclusive,inst:e,continue:!n.abort});};}),tm=I("$ZodCheckGreaterThan",(e,n)=>{nt.init(e,n);let r=ZC[typeof n.value];e._zod.onattach.push(o=>{let t=o._zod.bag,i=(n.inclusive?t.minimum:t.exclusiveMinimum)??Number.NEGATIVE_INFINITY;n.value>i&&(n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value);}),e._zod.check=o=>{(n.inclusive?o.value>=n.value:o.value>n.value)||o.issues.push({origin:r,code:"too_small",minimum:typeof n.value=="object"?n.value.getTime():n.value,input:o.value,inclusive:n.inclusive,inst:e,continue:!n.abort});};}),Dx=I("$ZodCheckMultipleOf",(e,n)=>{nt.init(e,n),e._zod.onattach.push(r=>{var o;(o=r._zod.bag).multipleOf??(o.multipleOf=n.value);}),e._zod.check=r=>{if(typeof r.value!=typeof n.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%n.value===BigInt(0):Gy(r.value,n.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:n.value,input:r.value,inst:e,continue:!n.abort});};}),Ax=I("$ZodCheckNumberFormat",(e,n)=>{nt.init(e,n),n.format=n.format||"float64";let r=n.format?.includes("int"),o=r?"int":"number",[t,i]=ex[n.format];e._zod.onattach.push(a=>{let c=a._zod.bag;c.format=n.format,c.minimum=t,c.maximum=i,r&&(c.pattern=Cx);}),e._zod.check=a=>{let c=a.value;if(r){if(!Number.isInteger(c)){a.issues.push({expected:o,format:n.format,code:"invalid_type",continue:false,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?a.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:true,continue:!n.abort}):a.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:true,continue:!n.abort});return}}c<t&&a.issues.push({origin:"number",input:c,code:"too_small",minimum:t,inclusive:true,inst:e,continue:!n.abort}),c>i&&a.issues.push({origin:"number",input:c,code:"too_big",maximum:i,inclusive:true,inst:e,continue:!n.abort});};}),Nx=I("$ZodCheckBigIntFormat",(e,n)=>{nt.init(e,n);let[r,o]=tx[n.format];e._zod.onattach.push(t=>{let i=t._zod.bag;i.format=n.format,i.minimum=r,i.maximum=o;}),e._zod.check=t=>{let i=t.value;i<r&&t.issues.push({origin:"bigint",input:i,code:"too_small",minimum:r,inclusive:true,inst:e,continue:!n.abort}),i>o&&t.issues.push({origin:"bigint",input:i,code:"too_big",maximum:o,inclusive:true,inst:e,continue:!n.abort});};}),Fx=I("$ZodCheckMaxSize",(e,n)=>{var r;nt.init(e,n),(r=e._zod.def).when??(r.when=o=>{let t=o.value;return !Yr(t)&&t.size!==void 0}),e._zod.onattach.push(o=>{let t=o._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum<t&&(o._zod.bag.maximum=n.maximum);}),e._zod.check=o=>{let t=o.value;t.size<=n.maximum||o.issues.push({origin:Tc(t),code:"too_big",maximum:n.maximum,inclusive:true,input:t,inst:e,continue:!n.abort});};}),Lx=I("$ZodCheckMinSize",(e,n)=>{var r;nt.init(e,n),(r=e._zod.def).when??(r.when=o=>{let t=o.value;return !Yr(t)&&t.size!==void 0}),e._zod.onattach.push(o=>{let t=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>t&&(o._zod.bag.minimum=n.minimum);}),e._zod.check=o=>{let t=o.value;t.size>=n.minimum||o.issues.push({origin:Tc(t),code:"too_small",minimum:n.minimum,inclusive:true,input:t,inst:e,continue:!n.abort});};}),Zx=I("$ZodCheckSizeEquals",(e,n)=>{var r;nt.init(e,n),(r=e._zod.def).when??(r.when=o=>{let t=o.value;return !Yr(t)&&t.size!==void 0}),e._zod.onattach.push(o=>{let t=o._zod.bag;t.minimum=n.size,t.maximum=n.size,t.size=n.size;}),e._zod.check=o=>{let t=o.value,i=t.size;if(i===n.size)return;let a=i>n.size;o.issues.push({origin:Tc(t),...a?{code:"too_big",maximum:n.size}:{code:"too_small",minimum:n.size},inclusive:true,exact:true,input:o.value,inst:e,continue:!n.abort});};}),Bx=I("$ZodCheckMaxLength",(e,n)=>{var r;nt.init(e,n),(r=e._zod.def).when??(r.when=o=>{let t=o.value;return !Yr(t)&&t.length!==void 0}),e._zod.onattach.push(o=>{let t=o._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum<t&&(o._zod.bag.maximum=n.maximum);}),e._zod.check=o=>{let t=o.value;if(t.length<=n.maximum)return;let a=Rc(t);o.issues.push({origin:a,code:"too_big",maximum:n.maximum,inclusive:true,input:t,inst:e,continue:!n.abort});};}),Mx=I("$ZodCheckMinLength",(e,n)=>{var r;nt.init(e,n),(r=e._zod.def).when??(r.when=o=>{let t=o.value;return !Yr(t)&&t.length!==void 0}),e._zod.onattach.push(o=>{let t=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>t&&(o._zod.bag.minimum=n.minimum);}),e._zod.check=o=>{let t=o.value;if(t.length>=n.minimum)return;let a=Rc(t);o.issues.push({origin:a,code:"too_small",minimum:n.minimum,inclusive:true,input:t,inst:e,continue:!n.abort});};}),Vx=I("$ZodCheckLengthEquals",(e,n)=>{var r;nt.init(e,n),(r=e._zod.def).when??(r.when=o=>{let t=o.value;return !Yr(t)&&t.length!==void 0}),e._zod.onattach.push(o=>{let t=o._zod.bag;t.minimum=n.length,t.maximum=n.length,t.length=n.length;}),e._zod.check=o=>{let t=o.value,i=t.length;if(i===n.length)return;let a=Rc(t),c=i>n.length;o.issues.push({origin:a,...c?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:true,exact:true,input:o.value,inst:e,continue:!n.abort});};}),da=I("$ZodCheckStringFormat",(e,n)=>{var r,o;nt.init(e,n),e._zod.onattach.push(t=>{let i=t._zod.bag;i.format=n.format,n.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(n.pattern));}),n.pattern?(r=e._zod).check??(r.check=t=>{n.pattern.lastIndex=0,!n.pattern.test(t.value)&&t.issues.push({origin:"string",code:"invalid_format",format:n.format,input:t.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort});}):(o=e._zod).check??(o.check=()=>{});}),qx=I("$ZodCheckRegex",(e,n)=>{da.init(e,n),e._zod.check=r=>{n.pattern.lastIndex=0,!n.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort});};}),Hx=I("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=Ux),da.init(e,n);}),Kx=I("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=Ox),da.init(e,n);}),Gx=I("$ZodCheckIncludes",(e,n)=>{nt.init(e,n);let r=Dn(n.includes),o=new RegExp(typeof n.position=="number"?`^.{${n.position}}${r}`:r);n.pattern=o,e._zod.onattach.push(t=>{let i=t._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o);}),e._zod.check=t=>{t.value.includes(n.includes,n.position)||t.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:t.value,inst:e,continue:!n.abort});};}),Jx=I("$ZodCheckStartsWith",(e,n)=>{nt.init(e,n);let r=new RegExp(`^${Dn(n.prefix)}.*`);n.pattern??(n.pattern=r),e._zod.onattach.push(o=>{let t=o._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r);}),e._zod.check=o=>{o.value.startsWith(n.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:o.value,inst:e,continue:!n.abort});};}),Wx=I("$ZodCheckEndsWith",(e,n)=>{nt.init(e,n);let r=new RegExp(`.*${Dn(n.suffix)}$`);n.pattern??(n.pattern=r),e._zod.onattach.push(o=>{let t=o._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r);}),e._zod.check=o=>{o.value.endsWith(n.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:o.value,inst:e,continue:!n.abort});};});function LC(e,n,r){e.issues.length&&n.issues.push(...hn(r,e.issues));}var Xx=I("$ZodCheckProperty",(e,n)=>{nt.init(e,n),e._zod.check=r=>{let o=n.schema._zod.run({value:r.value[n.property],issues:[]},{});if(o instanceof Promise)return o.then(t=>LC(t,r,n.property));LC(o,r,n.property);};}),Yx=I("$ZodCheckMimeType",(e,n)=>{nt.init(e,n);let r=new Set(n.mime);e._zod.onattach.push(o=>{o._zod.bag.mime=n.mime;}),e._zod.check=o=>{r.has(o.value.type)||o.issues.push({code:"invalid_value",values:n.mime,input:o.value.type,inst:e,continue:!n.abort});};}),Qx=I("$ZodCheckOverwrite",(e,n)=>{nt.init(e,n),e._zod.check=r=>{r.value=n.tx(r.value);};});var Oc=class{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n);}indented(n){this.indent+=1,n(this),this.indent-=1;}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}let o=n.split(`
|
|
67
67
|
`).filter(a=>a),t=Math.min(...o.map(a=>a.length-a.trimStart().length)),i=o.map(a=>a.slice(t)).map(a=>" ".repeat(this.indent*2)+a);for(let a of i)this.content.push(a);}compile(){let n=Function,r=this?.args,t=[...(this?.content??[""]).map(i=>` ${i}`)];return new n(...r,t.join(`
|
|
68
68
|
`))}};var eI={major:4,minor:4,patch:3};var fe=I("$ZodType",(e,n)=>{var r;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=eI;let o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(let t of o)for(let i of t._zod.onattach)i(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse;});else {let t=(a,c,l)=>{let u=ti(a),m;for(let p of c){if(p._zod.def.when){if(nx(a)||!p._zod.def.when(a))continue}else if(u)continue;let f=a.issues.length,g=p._zod.check(a);if(g instanceof Promise&&l?.async===false)throw new Jn;if(m||g instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await g,a.issues.length!==f&&(u||(u=ti(a,f)));});else {if(a.issues.length===f)continue;u||(u=ti(a,f));}}return m?m.then(()=>a):a},i=(a,c,l)=>{if(ti(a))return a.aborted=true,a;let u=t(c,o,l);if(u instanceof Promise){if(l.async===false)throw new Jn;return u.then(m=>e._zod.parse(m,l))}return e._zod.parse(u,l)};e._zod.run=(a,c)=>{if(c.skipChecks)return e._zod.parse(a,c);if(c.direction==="backward"){let u=e._zod.parse({value:a.value,issues:[]},{...c,skipChecks:true});return u instanceof Promise?u.then(m=>i(m,a,c)):i(u,a,c)}let l=e._zod.parse(a,c);if(l instanceof Promise){if(c.async===false)throw new Jn;return l.then(u=>t(u,o,c))}return t(l,o,c)};}Ie(e,"~standard",()=>({validate:t=>{try{let i=ox(e,t);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ax(e,t).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}));}),Ti=I("$ZodString",(e,n)=>{fe.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Tx(e._zod.bag),e._zod.parse=(r,o)=>{if(n.coerce)try{r.value=String(r.value);}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r};}),Xe=I("$ZodStringFormat",(e,n)=>{da.init(e,n),Ti.init(e,n);}),nI=I("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=fx),Xe.init(e,n);}),rI=I("$ZodUUID",(e,n)=>{if(n.version){let o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(o===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=wi(o));}else n.pattern??(n.pattern=wi());Xe.init(e,n);}),iI=I("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=gx),Xe.init(e,n);}),oI=I("$ZodURL",(e,n)=>{Xe.init(e,n),e._zod.check=r=>{try{let o=r.value.trim();if(!n.normalize&&n.protocol?.source===Sx.source&&!/^https?:\/\//i.test(o)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!n.abort});return}let t=new URL(o);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(t.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:r.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(t.protocol.endsWith(":")?t.protocol.slice(0,-1):t.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:r.value,inst:e,continue:!n.abort})),n.normalize?r.value=t.href:r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!n.abort});}};}),aI=I("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=hx()),Xe.init(e,n);}),sI=I("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=mx),Xe.init(e,n);}),cI=I("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=sx),Xe.init(e,n);}),lI=I("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=cx),Xe.init(e,n);}),uI=I("$ZodULID",(e,n)=>{n.pattern??(n.pattern=lx),Xe.init(e,n);}),dI=I("$ZodXID",(e,n)=>{n.pattern??(n.pattern=ux),Xe.init(e,n);}),mI=I("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=dx),Xe.init(e,n);}),pI=I("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=wx(n)),Xe.init(e,n);}),fI=I("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=$x),Xe.init(e,n);}),gI=I("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=kx(n)),Xe.init(e,n);}),hI=I("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=px),Xe.init(e,n);}),bI=I("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=bx),Xe.init(e,n),e._zod.bag.format="ipv4";}),_I=I("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=_x),Xe.init(e,n),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`);}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!n.abort});}};}),vI=I("$ZodMAC",(e,n)=>{n.pattern??(n.pattern=vx(n.delimiter)),Xe.init(e,n),e._zod.bag.format="mac";}),yI=I("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=yx),Xe.init(e,n);}),xI=I("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=xx),Xe.init(e,n),e._zod.check=r=>{let o=r.value.split("/");try{if(o.length!==2)throw new Error;let[t,i]=o;if(!i)throw new Error;let a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${t}]`);}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!n.abort});}};});function II(e){if(e==="")return true;if(/\s/.test(e)||e.length%4!==0)return false;try{return atob(e),!0}catch{return false}}var SI=I("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=Ix),Xe.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{II(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!n.abort});};});function rE(e){if(!Yd.test(e))return false;let n=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),r=n.padEnd(Math.ceil(n.length/4)*4,"=");return II(r)}var PI=I("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=Yd),Xe.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{rE(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!n.abort});};}),$I=I("$ZodE164",(e,n)=>{n.pattern??(n.pattern=Px),Xe.init(e,n);});function iE(e,n=null){try{let r=e.split(".");if(r.length!==3)return !1;let[o]=r;if(!o)return !1;let t=JSON.parse(atob(o));return !("typ"in t&&t?.typ!=="JWT"||!t.alg||n&&(!("alg"in t)||t.alg!==n))}catch{return false}}var kI=I("$ZodJWT",(e,n)=>{Xe.init(e,n),e._zod.check=r=>{iE(r.value,n.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!n.abort});};}),wI=I("$ZodCustomStringFormat",(e,n)=>{Xe.init(e,n),e._zod.check=r=>{n.fn(r.value)||r.issues.push({code:"invalid_format",format:n.format,input:r.value,inst:e,continue:!n.abort});};}),am=I("$ZodNumber",(e,n)=>{fe.init(e,n),e._zod.pattern=e._zod.bag.pattern??Qd,e._zod.parse=(r,o)=>{if(n.coerce)try{r.value=Number(r.value);}catch{}let t=r.value;if(typeof t=="number"&&!Number.isNaN(t)&&Number.isFinite(t))return r;let i=typeof t=="number"?Number.isNaN(t)?"NaN":Number.isFinite(t)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:t,inst:e,...i?{received:i}:{}}),r};}),TI=I("$ZodNumberFormat",(e,n)=>{Ax.init(e,n),am.init(e,n);}),Dc=I("$ZodBoolean",(e,n)=>{fe.init(e,n),e._zod.pattern=Ex,e._zod.parse=(r,o)=>{if(n.coerce)try{r.value=!!r.value;}catch{}let t=r.value;return typeof t=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:t,inst:e}),r};}),sm=I("$ZodBigInt",(e,n)=>{fe.init(e,n),e._zod.pattern=Rx,e._zod.parse=(r,o)=>{if(n.coerce)try{r.value=BigInt(r.value);}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:e}),r};}),RI=I("$ZodBigIntFormat",(e,n)=>{Nx.init(e,n),sm.init(e,n);}),CI=I("$ZodSymbol",(e,n)=>{fe.init(e,n),e._zod.parse=(r,o)=>{let t=r.value;return typeof t=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:t,inst:e}),r};}),EI=I("$ZodUndefined",(e,n)=>{fe.init(e,n),e._zod.pattern=jx,e._zod.values=new Set([void 0]),e._zod.parse=(r,o)=>{let t=r.value;return typeof t>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:t,inst:e}),r};}),zI=I("$ZodNull",(e,n)=>{fe.init(e,n),e._zod.pattern=zx,e._zod.values=new Set([null]),e._zod.parse=(r,o)=>{let t=r.value;return t===null||r.issues.push({expected:"null",code:"invalid_type",input:t,inst:e}),r};}),jI=I("$ZodAny",(e,n)=>{fe.init(e,n),e._zod.parse=r=>r;}),UI=I("$ZodUnknown",(e,n)=>{fe.init(e,n),e._zod.parse=r=>r;}),OI=I("$ZodNever",(e,n)=>{fe.init(e,n),e._zod.parse=(r,o)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r);}),DI=I("$ZodVoid",(e,n)=>{fe.init(e,n),e._zod.parse=(r,o)=>{let t=r.value;return typeof t>"u"||r.issues.push({expected:"void",code:"invalid_type",input:t,inst:e}),r};}),AI=I("$ZodDate",(e,n)=>{fe.init(e,n),e._zod.parse=(r,o)=>{if(n.coerce)try{r.value=new Date(r.value);}catch{}let t=r.value,i=t instanceof Date;return i&&!Number.isNaN(t.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:t,...i?{received:"Invalid Date"}:{},inst:e}),r};});function MC(e,n,r){e.issues.length&&n.issues.push(...hn(r,e.issues)),n.value[r]=e.value;}var NI=I("$ZodArray",(e,n)=>{fe.init(e,n),e._zod.parse=(r,o)=>{let t=r.value;if(!Array.isArray(t))return r.issues.push({expected:"array",code:"invalid_type",input:t,inst:e}),r;r.value=Array(t.length);let i=[];for(let a=0;a<t.length;a++){let c=t[a],l=n.element._zod.run({value:c,issues:[]},o);l instanceof Promise?i.push(l.then(u=>MC(u,r,a))):MC(l,r,a);}return i.length?Promise.all(i).then(()=>r):r};});function om(e,n,r,o,t,i){let a=r in o;if(e.issues.length){if(t&&i&&!a)return;n.issues.push(...hn(r,e.issues));}if(!a&&!t){e.issues.length||n.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?a&&(n.value[r]=void 0):n.value[r]=e.value;}function oE(e){let n=Object.keys(e.shape);for(let o of n)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);let r=Qy(e.shape);return {...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(r)}}function aE(e,n,r,o,t,i){let a=[],c=t.keySet,l=t.catchall._zod,u=l.def.type,m=l.optin==="optional",p=l.optout==="optional";for(let f in n){if(f==="__proto__"||c.has(f))continue;if(u==="never"){a.push(f);continue}let g=l.run({value:n[f],issues:[]},o);g instanceof Promise?e.push(g.then(h=>om(h,r,f,n,m,p))):om(g,r,f,n,m,p);}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:n,inst:i}),e.length?Promise.all(e).then(()=>r):r}var sE=I("$ZodObject",(e,n)=>{if(fe.init(e,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){let c=n.shape;Object.defineProperty(n,"shape",{get:()=>{let l={...c};return Object.defineProperty(n,"shape",{value:l}),l}});}let o=oa(()=>oE(n));Ie(e._zod,"propValues",()=>{let c=n.shape,l={};for(let u in c){let m=c[u]._zod;if(m.values){l[u]??(l[u]=new Set);for(let p of m.values)l[u].add(p);}}return l});let t=ki,i=n.catchall,a;e._zod.parse=(c,l)=>{a??(a=o.value);let u=c.value;if(!t(u))return c.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),c;c.value={};let m=[],p=a.shape;for(let f of a.keys){let g=p[f],h=g._zod.optin==="optional",k=g._zod.optout==="optional",S=g._zod.run({value:u[f],issues:[]},l);S instanceof Promise?m.push(S.then(T=>om(T,c,f,u,h,k))):om(S,c,f,u,h,k);}return i?aE(m,u,c,l,o.value,e):m.length?Promise.all(m).then(()=>c):c};}),FI=I("$ZodObjectJIT",(e,n)=>{sE.init(e,n);let r=e._zod.parse,o=oa(()=>oE(n)),t=f=>{let g=new Oc(["shape","payload","ctx"]),h=o.value,k=N=>{let R=Ld(N);return `shape[${R}]._zod.run({ value: input[${R}], issues: [] }, ctx)`};g.write("const input = payload.value;");let S=Object.create(null),T=0;for(let N of h.keys)S[N]=`key_${T++}`;g.write("const newResult = {};");for(let N of h.keys){let R=S[N],w=Ld(N),te=f[N],_e=te?._zod?.optin==="optional",Ee=te?._zod?.optout==="optional";g.write(`const ${R} = ${k(N)};`),_e&&Ee?g.write(`
|