Files
claude-mem/plugin/scripts/search-server.js
T
Alex Newman ef572ec032 Refactor summary generation from session-level to request-level
Changed summary prompts to generate discrete per-request summaries instead of cumulative session summaries. This provides better chronological memory where each summary is a clean unit representing one request/response cycle.

Changes:
- Renamed buildFinalizePrompt() to buildSummaryPrompt() in src/sdk/prompts.ts
- Updated prompt text to focus on "THIS REQUEST" rather than "this session"
- Updated all import and function call sites in worker-service.ts and worker.ts
- Added IMPORTANT warning to emphasize request-level scope

Expected behavior: Each summary will now describe only what happened during that specific request, eliminating cumulative recaps.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 17:27:14 -04:00

452 lines
266 KiB
JavaScript
Executable File

#!/usr/bin/env node
var xl=Object.create;var Ia=Object.defineProperty;var Rl=Object.getOwnPropertyDescriptor;var Tl=Object.getOwnPropertyNames;var Pl=Object.getPrototypeOf,Ol=Object.prototype.hasOwnProperty;var X=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),wl=(a,e)=>{for(var t in e)Ia(a,t,{get:e[t],enumerable:!0})},Il=(a,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Tl(e))!Ol.call(a,r)&&r!==t&&Ia(a,r,{get:()=>e[r],enumerable:!(s=Rl(e,r))||s.enumerable});return a};var Al=(a,e,t)=>(t=a!=null?xl(Pl(a)):{},Il(e||!a||!a.__esModule?Ia(t,"default",{value:a,enumerable:!0}):t,a));var yn=X((Gt,gn)=>{(function(a,e){typeof Gt=="object"&&typeof gn<"u"?e(Gt):typeof define=="function"&&define.amd?define(["exports"],e):e(a.URI=a.URI||{})})(Gt,function(a){"use strict";function e(){for(var h=arguments.length,f=Array(h),y=0;y<h;y++)f[y]=arguments[y];if(f.length>1){f[0]=f[0].slice(0,-1);for(var b=f.length-1,x=1;x<b;++x)f[x]=f[x].slice(1,-1);return f[b]=f[b].slice(1),f.join("")}else return f[0]}function t(h){return"(?:"+h+")"}function s(h){return h===void 0?"undefined":h===null?"null":Object.prototype.toString.call(h).split(" ").pop().split("]").shift().toLowerCase()}function r(h){return h.toUpperCase()}function n(h){return h!=null?h instanceof Array?h:typeof h.length!="number"||h.split||h.setInterval||h.call?[h]:Array.prototype.slice.call(h):[]}function i(h,f){var y=h;if(f)for(var b in f)y[b]=f[b];return y}function o(h){var f="[A-Za-z]",y="[\\x0D]",b="[0-9]",x="[\\x22]",L=e(b,"[A-Fa-f]"),G="[\\x0A]",ae="[\\x20]",oe=t(t("%[EFef]"+L+"%"+L+L+"%"+L+L)+"|"+t("%[89A-Fa-f]"+L+"%"+L+L)+"|"+t("%"+L+L)),Ee="[\\:\\/\\?\\#\\[\\]\\@]",te="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",pe=e(Ee,te),be=h?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]",de=h?"[\\uE000-\\uF8FF]":"[]",ne=e(f,b,"[\\-\\.\\_\\~]",be),he=t(f+e(f,b,"[\\+\\-\\.]")+"*"),ce=t(t(oe+"|"+e(ne,te,"[\\:]"))+"*"),Ir=t(t("25[0-5]")+"|"+t("2[0-4]"+b)+"|"+t("1"+b+b)+"|"+t("[1-9]"+b)+"|"+b),je=t(t("25[0-5]")+"|"+t("2[0-4]"+b)+"|"+t("1"+b+b)+"|"+t("0?[1-9]"+b)+"|0?0?"+b),qe=t(je+"\\."+je+"\\."+je+"\\."+je),ue=t(L+"{1,4}"),Fe=t(t(ue+"\\:"+ue)+"|"+qe),Ue=t(t(ue+"\\:")+"{6}"+Fe),tr=t("\\:\\:"+t(ue+"\\:")+"{5}"+Fe),Ar=t(t(ue)+"?\\:\\:"+t(ue+"\\:")+"{4}"+Fe),ur=t(t(t(ue+"\\:")+"{0,1}"+ue)+"?\\:\\:"+t(ue+"\\:")+"{3}"+Fe),mt=t(t(t(ue+"\\:")+"{0,2}"+ue)+"?\\:\\:"+t(ue+"\\:")+"{2}"+Fe),Dt=t(t(t(ue+"\\:")+"{0,3}"+ue)+"?\\:\\:"+ue+"\\:"+Fe),$t=t(t(t(ue+"\\:")+"{0,4}"+ue)+"?\\:\\:"+Fe),Jr=t(t(t(ue+"\\:")+"{0,5}"+ue)+"?\\:\\:"+ue),Yr=t(t(t(ue+"\\:")+"{0,6}"+ue)+"?\\:\\:"),dr=t([Ue,tr,Ar,ur,mt,Dt,$t,Jr,Yr].join("|")),et=t(t(ne+"|"+oe)+"+"),Oa=t(dr+"\\%25"+et),Nr=t(dr+t("\\%25|\\%(?!"+L+"{2})")+et),vl=t("[vV]"+L+"+\\."+e(ne,te,"[\\:]")+"+"),gl=t("\\["+t(Nr+"|"+dr+"|"+vl)+"\\]"),Ls=t(t(oe+"|"+e(ne,te))+"*"),vt=t(gl+"|"+qe+"(?!"+Ls+")|"+Ls),gt=t(b+"*"),js=t(t(ce+"@")+"?"+vt+t("\\:"+gt)+"?"),yt=t(oe+"|"+e(ne,te,"[\\:\\@]")),yl=t(yt+"*"),Fs=t(yt+"+"),_l=t(t(oe+"|"+e(ne,te,"[\\@]"))+"+"),fr=t(t("\\/"+yl)+"*"),rt=t("\\/"+t(Fs+fr)+"?"),wa=t(_l+fr),Ct=t(Fs+fr),tt="(?!"+yt+")",$f=t(fr+"|"+rt+"|"+wa+"|"+Ct+"|"+tt),at=t(t(yt+"|"+e("[\\/\\?]",de))+"*"),_t=t(t(yt+"|[\\/\\?]")+"*"),Ms=t(t("\\/\\/"+js+fr)+"|"+rt+"|"+Ct+"|"+tt),El=t(he+"\\:"+Ms+t("\\?"+at)+"?"+t("\\#"+_t)+"?"),bl=t(t("\\/\\/"+js+fr)+"|"+rt+"|"+wa+"|"+tt),Sl=t(bl+t("\\?"+at)+"?"+t("\\#"+_t)+"?"),Cf=t(El+"|"+Sl),kf=t(he+"\\:"+Ms+t("\\?"+at)+"?"),Lf="^("+he+")\\:"+t(t("\\/\\/("+t("("+ce+")@")+"?("+vt+")"+t("\\:("+gt+")")+"?)")+"?("+fr+"|"+rt+"|"+Ct+"|"+tt+")")+t("\\?("+at+")")+"?"+t("\\#("+_t+")")+"?$",jf="^(){0}"+t(t("\\/\\/("+t("("+ce+")@")+"?("+vt+")"+t("\\:("+gt+")")+"?)")+"?("+fr+"|"+rt+"|"+wa+"|"+tt+")")+t("\\?("+at+")")+"?"+t("\\#("+_t+")")+"?$",Ff="^("+he+")\\:"+t(t("\\/\\/("+t("("+ce+")@")+"?("+vt+")"+t("\\:("+gt+")")+"?)")+"?("+fr+"|"+rt+"|"+Ct+"|"+tt+")")+t("\\?("+at+")")+"?$",Mf="^"+t("\\#("+_t+")")+"?$",qf="^"+t("("+ce+")@")+"?("+vt+")"+t("\\:("+gt+")")+"?$";return{NOT_SCHEME:new RegExp(e("[^]",f,b,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(e("[^\\%\\:]",ne,te),"g"),NOT_HOST:new RegExp(e("[^\\%\\[\\]\\:]",ne,te),"g"),NOT_PATH:new RegExp(e("[^\\%\\/\\:\\@]",ne,te),"g"),NOT_PATH_NOSCHEME:new RegExp(e("[^\\%\\/\\@]",ne,te),"g"),NOT_QUERY:new RegExp(e("[^\\%]",ne,te,"[\\:\\@\\/\\?]",de),"g"),NOT_FRAGMENT:new RegExp(e("[^\\%]",ne,te,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(e("[^]",ne,te),"g"),UNRESERVED:new RegExp(ne,"g"),OTHER_CHARS:new RegExp(e("[^\\%]",ne,pe),"g"),PCT_ENCODED:new RegExp(oe,"g"),IPV4ADDRESS:new RegExp("^("+qe+")$"),IPV6ADDRESS:new RegExp("^\\[?("+dr+")"+t(t("\\%25|\\%(?!"+L+"{2})")+"("+et+")")+"?\\]?$")}}var c=o(!1),u=o(!0),p=function(){function h(f,y){var b=[],x=!0,L=!1,G=void 0;try{for(var ae=f[Symbol.iterator](),oe;!(x=(oe=ae.next()).done)&&(b.push(oe.value),!(y&&b.length===y));x=!0);}catch(Ee){L=!0,G=Ee}finally{try{!x&&ae.return&&ae.return()}finally{if(L)throw G}}return b}return function(f,y){if(Array.isArray(f))return f;if(Symbol.iterator in Object(f))return h(f,y);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),m=function(h){if(Array.isArray(h)){for(var f=0,y=Array(h.length);f<h.length;f++)y[f]=h[f];return y}else return Array.from(h)},E=2147483647,d=36,g=1,_=26,v=38,S=700,O=72,R=128,P="-",A=/^xn--/,N=/[^\0-\x7E]/,V=/[\x2E\u3002\uFF0E\uFF61]/g,q={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},D=d-g,U=Math.floor,M=String.fromCharCode;function j(h){throw new RangeError(q[h])}function I(h,f){for(var y=[],b=h.length;b--;)y[b]=f(h[b]);return y}function $(h,f){var y=h.split("@"),b="";y.length>1&&(b=y[0]+"@",h=y[1]),h=h.replace(V,".");var x=h.split("."),L=I(x,f).join(".");return b+L}function F(h){for(var f=[],y=0,b=h.length;y<b;){var x=h.charCodeAt(y++);if(x>=55296&&x<=56319&&y<b){var L=h.charCodeAt(y++);(L&64512)==56320?f.push(((x&1023)<<10)+(L&1023)+65536):(f.push(x),y--)}else f.push(x)}return f}var le=function(f){return String.fromCodePoint.apply(String,m(f))},J=function(f){return f-48<10?f-22:f-65<26?f-65:f-97<26?f-97:d},re=function(f,y){return f+22+75*(f<26)-((y!=0)<<5)},K=function(f,y,b){var x=0;for(f=b?U(f/S):f>>1,f+=U(f/y);f>D*_>>1;x+=d)f=U(f/D);return U(x+(D+1)*f/(f+v))},H=function(f){var y=[],b=f.length,x=0,L=R,G=O,ae=f.lastIndexOf(P);ae<0&&(ae=0);for(var oe=0;oe<ae;++oe)f.charCodeAt(oe)>=128&&j("not-basic"),y.push(f.charCodeAt(oe));for(var Ee=ae>0?ae+1:0;Ee<b;){for(var te=x,pe=1,be=d;;be+=d){Ee>=b&&j("invalid-input");var de=J(f.charCodeAt(Ee++));(de>=d||de>U((E-x)/pe))&&j("overflow"),x+=de*pe;var ne=be<=G?g:be>=G+_?_:be-G;if(de<ne)break;var he=d-ne;pe>U(E/he)&&j("overflow"),pe*=he}var ce=y.length+1;G=K(x-te,ce,te==0),U(x/ce)>E-L&&j("overflow"),L+=U(x/ce),x%=ce,y.splice(x++,0,L)}return String.fromCodePoint.apply(String,y)},me=function(f){var y=[];f=F(f);var b=f.length,x=R,L=0,G=O,ae=!0,oe=!1,Ee=void 0;try{for(var te=f[Symbol.iterator](),pe;!(ae=(pe=te.next()).done);ae=!0){var be=pe.value;be<128&&y.push(M(be))}}catch(Nr){oe=!0,Ee=Nr}finally{try{!ae&&te.return&&te.return()}finally{if(oe)throw Ee}}var de=y.length,ne=de;for(de&&y.push(P);ne<b;){var he=E,ce=!0,Ir=!1,je=void 0;try{for(var qe=f[Symbol.iterator](),ue;!(ce=(ue=qe.next()).done);ce=!0){var Fe=ue.value;Fe>=x&&Fe<he&&(he=Fe)}}catch(Nr){Ir=!0,je=Nr}finally{try{!ce&&qe.return&&qe.return()}finally{if(Ir)throw je}}var Ue=ne+1;he-x>U((E-L)/Ue)&&j("overflow"),L+=(he-x)*Ue,x=he;var tr=!0,Ar=!1,ur=void 0;try{for(var mt=f[Symbol.iterator](),Dt;!(tr=(Dt=mt.next()).done);tr=!0){var $t=Dt.value;if($t<x&&++L>E&&j("overflow"),$t==x){for(var Jr=L,Yr=d;;Yr+=d){var dr=Yr<=G?g:Yr>=G+_?_:Yr-G;if(Jr<dr)break;var et=Jr-dr,Oa=d-dr;y.push(M(re(dr+et%Oa,0))),Jr=U(et/Oa)}y.push(M(re(Jr,0))),G=K(L,Ue,ne==de),L=0,++ne}}}catch(Nr){Ar=!0,ur=Nr}finally{try{!tr&&mt.return&&mt.return()}finally{if(Ar)throw ur}}++L,++x}return y.join("")},Te=function(f){return $(f,function(y){return A.test(y)?H(y.slice(4).toLowerCase()):y})},we=function(f){return $(f,function(y){return N.test(y)?"xn--"+me(y):y})},se={version:"2.1.0",ucs2:{decode:F,encode:le},decode:H,encode:me,toASCII:we,toUnicode:Te},ye={};function Se(h){var f=h.charCodeAt(0),y=void 0;return f<16?y="%0"+f.toString(16).toUpperCase():f<128?y="%"+f.toString(16).toUpperCase():f<2048?y="%"+(f>>6|192).toString(16).toUpperCase()+"%"+(f&63|128).toString(16).toUpperCase():y="%"+(f>>12|224).toString(16).toUpperCase()+"%"+(f>>6&63|128).toString(16).toUpperCase()+"%"+(f&63|128).toString(16).toUpperCase(),y}function Ie(h){for(var f="",y=0,b=h.length;y<b;){var x=parseInt(h.substr(y+1,2),16);if(x<128)f+=String.fromCharCode(x),y+=3;else if(x>=194&&x<224){if(b-y>=6){var L=parseInt(h.substr(y+4,2),16);f+=String.fromCharCode((x&31)<<6|L&63)}else f+=h.substr(y,6);y+=6}else if(x>=224){if(b-y>=9){var G=parseInt(h.substr(y+4,2),16),ae=parseInt(h.substr(y+7,2),16);f+=String.fromCharCode((x&15)<<12|(G&63)<<6|ae&63)}else f+=h.substr(y,9);y+=9}else f+=h.substr(y,3),y+=3}return f}function gr(h,f){function y(b){var x=Ie(b);return x.match(f.UNRESERVED)?x:b}return h.scheme&&(h.scheme=String(h.scheme).replace(f.PCT_ENCODED,y).toLowerCase().replace(f.NOT_SCHEME,"")),h.userinfo!==void 0&&(h.userinfo=String(h.userinfo).replace(f.PCT_ENCODED,y).replace(f.NOT_USERINFO,Se).replace(f.PCT_ENCODED,r)),h.host!==void 0&&(h.host=String(h.host).replace(f.PCT_ENCODED,y).toLowerCase().replace(f.NOT_HOST,Se).replace(f.PCT_ENCODED,r)),h.path!==void 0&&(h.path=String(h.path).replace(f.PCT_ENCODED,y).replace(h.scheme?f.NOT_PATH:f.NOT_PATH_NOSCHEME,Se).replace(f.PCT_ENCODED,r)),h.query!==void 0&&(h.query=String(h.query).replace(f.PCT_ENCODED,y).replace(f.NOT_QUERY,Se).replace(f.PCT_ENCODED,r)),h.fragment!==void 0&&(h.fragment=String(h.fragment).replace(f.PCT_ENCODED,y).replace(f.NOT_FRAGMENT,Se).replace(f.PCT_ENCODED,r)),h}function lr(h){return h.replace(/^0*(.*)/,"$1")||"0"}function _e(h,f){var y=h.match(f.IPV4ADDRESS)||[],b=p(y,2),x=b[1];return x?x.split(".").map(lr).join("."):h}function ve(h,f){var y=h.match(f.IPV6ADDRESS)||[],b=p(y,3),x=b[1],L=b[2];if(x){for(var G=x.toLowerCase().split("::").reverse(),ae=p(G,2),oe=ae[0],Ee=ae[1],te=Ee?Ee.split(":").map(lr):[],pe=oe.split(":").map(lr),be=f.IPV4ADDRESS.test(pe[pe.length-1]),de=be?7:8,ne=pe.length-de,he=Array(de),ce=0;ce<de;++ce)he[ce]=te[ce]||pe[ne+ce]||"";be&&(he[de-1]=_e(he[de-1],f));var Ir=he.reduce(function(Ue,tr,Ar){if(!tr||tr==="0"){var ur=Ue[Ue.length-1];ur&&ur.index+ur.length===Ar?ur.length++:Ue.push({index:Ar,length:1})}return Ue},[]),je=Ir.sort(function(Ue,tr){return tr.length-Ue.length})[0],qe=void 0;if(je&&je.length>1){var ue=he.slice(0,je.index),Fe=he.slice(je.index+je.length);qe=ue.join(":")+"::"+Fe.join(":")}else qe=he.join(":");return L&&(qe+="%"+L),qe}else return h}var Pr=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,Pe="".match(/(){0}/)[1]===void 0;function ie(h){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},y={},b=f.iri!==!1?u:c;f.reference==="suffix"&&(h=(f.scheme?f.scheme+":":"")+"//"+h);var x=h.match(Pr);if(x){Pe?(y.scheme=x[1],y.userinfo=x[3],y.host=x[4],y.port=parseInt(x[5],10),y.path=x[6]||"",y.query=x[7],y.fragment=x[8],isNaN(y.port)&&(y.port=x[5])):(y.scheme=x[1]||void 0,y.userinfo=h.indexOf("@")!==-1?x[3]:void 0,y.host=h.indexOf("//")!==-1?x[4]:void 0,y.port=parseInt(x[5],10),y.path=x[6]||"",y.query=h.indexOf("?")!==-1?x[7]:void 0,y.fragment=h.indexOf("#")!==-1?x[8]:void 0,isNaN(y.port)&&(y.port=h.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?x[4]:void 0)),y.host&&(y.host=ve(_e(y.host,b),b)),y.scheme===void 0&&y.userinfo===void 0&&y.host===void 0&&y.port===void 0&&!y.path&&y.query===void 0?y.reference="same-document":y.scheme===void 0?y.reference="relative":y.fragment===void 0?y.reference="absolute":y.reference="uri",f.reference&&f.reference!=="suffix"&&f.reference!==y.reference&&(y.error=y.error||"URI is not a "+f.reference+" reference.");var L=ye[(f.scheme||y.scheme||"").toLowerCase()];if(!f.unicodeSupport&&(!L||!L.unicodeSupport)){if(y.host&&(f.domainHost||L&&L.domainHost))try{y.host=se.toASCII(y.host.replace(b.PCT_ENCODED,Ie).toLowerCase())}catch(G){y.error=y.error||"Host's domain name can not be converted to ASCII via punycode: "+G}gr(y,c)}else gr(y,b);L&&L.parse&&L.parse(y,f)}else y.error=y.error||"URI can not be parsed.";return y}function yr(h,f){var y=f.iri!==!1?u:c,b=[];return h.userinfo!==void 0&&(b.push(h.userinfo),b.push("@")),h.host!==void 0&&b.push(ve(_e(String(h.host),y),y).replace(y.IPV6ADDRESS,function(x,L,G){return"["+L+(G?"%25"+G:"")+"]"})),(typeof h.port=="number"||typeof h.port=="string")&&(b.push(":"),b.push(String(h.port))),b.length?b.join(""):void 0}var cr=/^\.\.?\//,Or=/^\/\.(\/|$)/,wr=/^\/\.\.(\/|$)/,xe=/^\/?(?:.|\n)*?(?=\/|$)/;function Me(h){for(var f=[];h.length;)if(h.match(cr))h=h.replace(cr,"");else if(h.match(Or))h=h.replace(Or,"/");else if(h.match(wr))h=h.replace(wr,"/"),f.pop();else if(h==="."||h==="..")h="";else{var y=h.match(xe);if(y){var b=y[0];h=h.slice(b.length),f.push(b)}else throw new Error("Unexpected dot segment condition")}return f.join("")}function De(h){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},y=f.iri?u:c,b=[],x=ye[(f.scheme||h.scheme||"").toLowerCase()];if(x&&x.serialize&&x.serialize(h,f),h.host&&!y.IPV6ADDRESS.test(h.host)){if(f.domainHost||x&&x.domainHost)try{h.host=f.iri?se.toUnicode(h.host):se.toASCII(h.host.replace(y.PCT_ENCODED,Ie).toLowerCase())}catch(ae){h.error=h.error||"Host's domain name can not be converted to "+(f.iri?"Unicode":"ASCII")+" via punycode: "+ae}}gr(h,y),f.reference!=="suffix"&&h.scheme&&(b.push(h.scheme),b.push(":"));var L=yr(h,f);if(L!==void 0&&(f.reference!=="suffix"&&b.push("//"),b.push(L),h.path&&h.path.charAt(0)!=="/"&&b.push("/")),h.path!==void 0){var G=h.path;!f.absolutePath&&(!x||!x.absolutePath)&&(G=Me(G)),L===void 0&&(G=G.replace(/^\/\//,"/%2F")),b.push(G)}return h.query!==void 0&&(b.push("?"),b.push(h.query)),h.fragment!==void 0&&(b.push("#"),b.push(h.fragment)),b.join("")}function Ae(h,f){var y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},b=arguments[3],x={};return b||(h=ie(De(h,y),y),f=ie(De(f,y),y)),y=y||{},!y.tolerant&&f.scheme?(x.scheme=f.scheme,x.userinfo=f.userinfo,x.host=f.host,x.port=f.port,x.path=Me(f.path||""),x.query=f.query):(f.userinfo!==void 0||f.host!==void 0||f.port!==void 0?(x.userinfo=f.userinfo,x.host=f.host,x.port=f.port,x.path=Me(f.path||""),x.query=f.query):(f.path?(f.path.charAt(0)==="/"?x.path=Me(f.path):((h.userinfo!==void 0||h.host!==void 0||h.port!==void 0)&&!h.path?x.path="/"+f.path:h.path?x.path=h.path.slice(0,h.path.lastIndexOf("/")+1)+f.path:x.path=f.path,x.path=Me(x.path)),x.query=f.query):(x.path=h.path,f.query!==void 0?x.query=f.query:x.query=h.query),x.userinfo=h.userinfo,x.host=h.host,x.port=h.port),x.scheme=h.scheme),x.fragment=f.fragment,x}function er(h,f,y){var b=i({scheme:"null"},y);return De(Ae(ie(h,b),ie(f,b),b,!0),b)}function Le(h,f){return typeof h=="string"?h=De(ie(h,f),f):s(h)==="object"&&(h=ie(De(h,f),f)),h}function Nt(h,f,y){return typeof h=="string"?h=De(ie(h,y),y):s(h)==="object"&&(h=De(h,y)),typeof f=="string"?f=De(ie(f,y),y):s(f)==="object"&&(f=De(f,y)),h===f}function Ta(h,f){return h&&h.toString().replace(!f||!f.iri?c.ESCAPE:u.ESCAPE,Se)}function Xe(h,f){return h&&h.toString().replace(!f||!f.iri?c.PCT_ENCODED:u.PCT_ENCODED,Ie)}var pt={scheme:"http",domainHost:!0,parse:function(f,y){return f.host||(f.error=f.error||"HTTP URIs must have a host."),f},serialize:function(f,y){var b=String(f.scheme).toLowerCase()==="https";return(f.port===(b?443:80)||f.port==="")&&(f.port=void 0),f.path||(f.path="/"),f}},ws={scheme:"https",domainHost:pt.domainHost,parse:pt.parse,serialize:pt.serialize};function Is(h){return typeof h.secure=="boolean"?h.secure:String(h.scheme).toLowerCase()==="wss"}var ht={scheme:"ws",domainHost:!0,parse:function(f,y){var b=f;return b.secure=Is(b),b.resourceName=(b.path||"/")+(b.query?"?"+b.query:""),b.path=void 0,b.query=void 0,b},serialize:function(f,y){if((f.port===(Is(f)?443:80)||f.port==="")&&(f.port=void 0),typeof f.secure=="boolean"&&(f.scheme=f.secure?"wss":"ws",f.secure=void 0),f.resourceName){var b=f.resourceName.split("?"),x=p(b,2),L=x[0],G=x[1];f.path=L&&L!=="/"?L:void 0,f.query=G,f.resourceName=void 0}return f.fragment=void 0,f}},As={scheme:"wss",domainHost:ht.domainHost,parse:ht.parse,serialize:ht.serialize},sl={},nl=!0,Ns="[A-Za-z0-9\\-\\.\\_\\~"+(nl?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",rr="[0-9A-Fa-f]",il=t(t("%[EFef]"+rr+"%"+rr+rr+"%"+rr+rr)+"|"+t("%[89A-Fa-f]"+rr+"%"+rr+rr)+"|"+t("%"+rr+rr)),ol="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",ll="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",cl=e(ll,'[\\"\\\\]'),ul="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",dl=new RegExp(Ns,"g"),Kr=new RegExp(il,"g"),fl=new RegExp(e("[^]",ol,"[\\.]",'[\\"]',cl),"g"),Ds=new RegExp(e("[^]",Ns,ul),"g"),pl=Ds;function Pa(h){var f=Ie(h);return f.match(dl)?f:h}var $s={scheme:"mailto",parse:function(f,y){var b=f,x=b.to=b.path?b.path.split(","):[];if(b.path=void 0,b.query){for(var L=!1,G={},ae=b.query.split("&"),oe=0,Ee=ae.length;oe<Ee;++oe){var te=ae[oe].split("=");switch(te[0]){case"to":for(var pe=te[1].split(","),be=0,de=pe.length;be<de;++be)x.push(pe[be]);break;case"subject":b.subject=Xe(te[1],y);break;case"body":b.body=Xe(te[1],y);break;default:L=!0,G[Xe(te[0],y)]=Xe(te[1],y);break}}L&&(b.headers=G)}b.query=void 0;for(var ne=0,he=x.length;ne<he;++ne){var ce=x[ne].split("@");if(ce[0]=Xe(ce[0]),y.unicodeSupport)ce[1]=Xe(ce[1],y).toLowerCase();else try{ce[1]=se.toASCII(Xe(ce[1],y).toLowerCase())}catch(Ir){b.error=b.error||"Email address's domain name can not be converted to ASCII via punycode: "+Ir}x[ne]=ce.join("@")}return b},serialize:function(f,y){var b=f,x=n(f.to);if(x){for(var L=0,G=x.length;L<G;++L){var ae=String(x[L]),oe=ae.lastIndexOf("@"),Ee=ae.slice(0,oe).replace(Kr,Pa).replace(Kr,r).replace(fl,Se),te=ae.slice(oe+1);try{te=y.iri?se.toUnicode(te):se.toASCII(Xe(te,y).toLowerCase())}catch(ne){b.error=b.error||"Email address's domain name can not be converted to "+(y.iri?"Unicode":"ASCII")+" via punycode: "+ne}x[L]=Ee+"@"+te}b.path=x.join(",")}var pe=f.headers=f.headers||{};f.subject&&(pe.subject=f.subject),f.body&&(pe.body=f.body);var be=[];for(var de in pe)pe[de]!==sl[de]&&be.push(de.replace(Kr,Pa).replace(Kr,r).replace(Ds,Se)+"="+pe[de].replace(Kr,Pa).replace(Kr,r).replace(pl,Se));return be.length&&(b.query=be.join("&")),b}},hl=/^([^\:]+)\:(.*)/,Cs={scheme:"urn",parse:function(f,y){var b=f.path&&f.path.match(hl),x=f;if(b){var L=y.scheme||x.scheme||"urn",G=b[1].toLowerCase(),ae=b[2],oe=L+":"+(y.nid||G),Ee=ye[oe];x.nid=G,x.nss=ae,x.path=void 0,Ee&&(x=Ee.parse(x,y))}else x.error=x.error||"URN can not be parsed.";return x},serialize:function(f,y){var b=y.scheme||f.scheme||"urn",x=f.nid,L=b+":"+(y.nid||x),G=ye[L];G&&(f=G.serialize(f,y));var ae=f,oe=f.nss;return ae.path=(x||y.nid)+":"+oe,ae}},ml=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,ks={scheme:"urn:uuid",parse:function(f,y){var b=f;return b.uuid=b.nss,b.nss=void 0,!y.tolerant&&(!b.uuid||!b.uuid.match(ml))&&(b.error=b.error||"UUID is not valid."),b},serialize:function(f,y){var b=f;return b.nss=(f.uuid||"").toLowerCase(),b}};ye[pt.scheme]=pt,ye[ws.scheme]=ws,ye[ht.scheme]=ht,ye[As.scheme]=As,ye[$s.scheme]=$s,ye[Cs.scheme]=Cs,ye[ks.scheme]=ks,a.SCHEMES=ye,a.pctEncChar=Se,a.pctDecChars=Ie,a.parse=ie,a.removeDotSegments=Me,a.serialize=De,a.resolveComponents=Ae,a.resolve=er,a.normalize=Le,a.equal=Nt,a.escapeComponent=Ta,a.unescapeComponent=Xe,Object.defineProperty(a,"__esModule",{value:!0})})});var Wt=X((Tp,_n)=>{"use strict";_n.exports=function a(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var s,r,n;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(r=s;r--!==0;)if(!a(e[r],t[r]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(n=Object.keys(e),s=n.length,s!==Object.keys(t).length)return!1;for(r=s;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,n[r]))return!1;for(r=s;r--!==0;){var i=n[r];if(!a(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}});var bn=X((Pp,En)=>{"use strict";En.exports=function(e){for(var t=0,s=e.length,r=0,n;r<s;)t++,n=e.charCodeAt(r++),n>=55296&&n<=56319&&r<s&&(n=e.charCodeAt(r),(n&64512)==56320&&r++);return t}});var Qr=X((Op,Rn)=>{"use strict";Rn.exports={copy:ju,checkDataType:Xa,checkDataTypes:Fu,coerceToTypes:Mu,toHash:Ga,getProperty:Wa,escapeQuotes:Ka,equal:Wt(),ucs2length:bn(),varOccurences:zu,varReplace:Vu,schemaHasRules:Hu,schemaHasRulesExcept:Bu,schemaUnknownRules:Zu,toQuotedString:Qa,getPathExpr:Xu,getPath:Qu,getData:Ku,unescapeFragment:Ju,unescapeJsonPointer:Ya,escapeFragment:Yu,escapeJsonPointer:Ja};function ju(a,e){e=e||{};for(var t in a)e[t]=a[t];return e}function Xa(a,e,t,s){var r=s?" !== ":" === ",n=s?" || ":" && ",i=s?"!":"",o=s?"":"!";switch(a){case"null":return e+r+"null";case"array":return i+"Array.isArray("+e+")";case"object":return"("+i+e+n+"typeof "+e+r+'"object"'+n+o+"Array.isArray("+e+"))";case"integer":return"(typeof "+e+r+'"number"'+n+o+"("+e+" % 1)"+n+e+r+e+(t?n+i+"isFinite("+e+")":"")+")";case"number":return"(typeof "+e+r+'"'+a+'"'+(t?n+i+"isFinite("+e+")":"")+")";default:return"typeof "+e+r+'"'+a+'"'}}function Fu(a,e,t){switch(a.length){case 1:return Xa(a[0],e,t,!0);default:var s="",r=Ga(a);r.array&&r.object&&(s=r.null?"(":"(!"+e+" || ",s+="typeof "+e+' !== "object")',delete r.null,delete r.array,delete r.object),r.number&&delete r.integer;for(var n in r)s+=(s?" && ":"")+Xa(n,e,t,!0);return s}}var Sn=Ga(["string","number","integer","boolean","null"]);function Mu(a,e){if(Array.isArray(e)){for(var t=[],s=0;s<e.length;s++){var r=e[s];(Sn[r]||a==="array"&&r==="array")&&(t[t.length]=r)}if(t.length)return t}else{if(Sn[e])return[e];if(a==="array"&&e==="array")return["array"]}}function Ga(a){for(var e={},t=0;t<a.length;t++)e[a[t]]=!0;return e}var qu=/^[a-z$_][a-z$_0-9]*$/i,Uu=/'|\\/g;function Wa(a){return typeof a=="number"?"["+a+"]":qu.test(a)?"."+a:"['"+Ka(a)+"']"}function Ka(a){return a.replace(Uu,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}function zu(a,e){e+="[^0-9]";var t=a.match(new RegExp(e,"g"));return t?t.length:0}function Vu(a,e,t){return e+="([^0-9])",t=t.replace(/\$/g,"$$$$"),a.replace(new RegExp(e,"g"),t+"$1")}function Hu(a,e){if(typeof a=="boolean")return!a;for(var t in a)if(e[t])return!0}function Bu(a,e,t){if(typeof a=="boolean")return!a&&t!="not";for(var s in a)if(s!=t&&e[s])return!0}function Zu(a,e){if(typeof a!="boolean"){for(var t in a)if(!e[t])return t}}function Qa(a){return"'"+Ka(a)+"'"}function Xu(a,e,t,s){var r=t?"'/' + "+e+(s?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):s?"'[' + "+e+" + ']'":"'[\\'' + "+e+" + '\\']'";return xn(a,r)}function Qu(a,e,t){var s=Qa(t?"/"+Ja(e):Wa(e));return xn(a,s)}var Gu=/^\/(?:[^~]|~0|~1)*$/,Wu=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ku(a,e,t){var s,r,n,i;if(a==="")return"rootData";if(a[0]=="/"){if(!Gu.test(a))throw new Error("Invalid JSON-pointer: "+a);r=a,n="rootData"}else{if(i=a.match(Wu),!i)throw new Error("Invalid JSON-pointer: "+a);if(s=+i[1],r=i[2],r=="#"){if(s>=e)throw new Error("Cannot access property/index "+s+" levels up, current level is "+e);return t[e-s]}if(s>e)throw new Error("Cannot access data "+s+" levels up, current level is "+e);if(n="data"+(e-s||""),!r)return n}for(var o=n,c=r.split("/"),u=0;u<c.length;u++){var p=c[u];p&&(n+=Wa(Ya(p)),o+=" && "+n)}return o}function xn(a,e){return a=='""'?e:(a+" + "+e).replace(/([^\\])' \+ '/g,"$1")}function Ju(a){return Ya(decodeURIComponent(a))}function Yu(a){return encodeURIComponent(Ja(a))}function Ja(a){return a.replace(/~/g,"~0").replace(/\//g,"~1")}function Ya(a){return a.replace(/~1/g,"/").replace(/~0/g,"~")}});var es=X((wp,Tn)=>{"use strict";var ed=Qr();Tn.exports=rd;function rd(a){ed.copy(a,this)}});var On=X((Ip,Pn)=>{"use strict";var xr=Pn.exports=function(a,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var s=typeof t=="function"?t:t.pre||function(){},r=t.post||function(){};Kt(e,s,r,a,"",a)};xr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0};xr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};xr.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};xr.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Kt(a,e,t,s,r,n,i,o,c,u){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,r,n,i,o,c,u);for(var p in s){var m=s[p];if(Array.isArray(m)){if(p in xr.arrayKeywords)for(var E=0;E<m.length;E++)Kt(a,e,t,m[E],r+"/"+p+"/"+E,n,r,p,s,E)}else if(p in xr.propsKeywords){if(m&&typeof m=="object")for(var d in m)Kt(a,e,t,m[d],r+"/"+p+"/"+td(d),n,r,p,s,d)}else(p in xr.keywords||a.allKeys&&!(p in xr.skipKeywords))&&Kt(a,e,t,m,r+"/"+p,n,r,p,s)}t(s,r,n,i,o,c,u)}}function td(a){return a.replace(/~/g,"~0").replace(/\//g,"~1")}});var aa=X((Ap,Nn)=>{"use strict";var Ot=yn(),wn=Wt(),ra=Qr(),Jt=es(),ad=On();Nn.exports=Tr;Tr.normalizeId=Rr;Tr.fullPath=Yt;Tr.url=ea;Tr.ids=ld;Tr.inlineRef=rs;Tr.schema=ta;function Tr(a,e,t){var s=this._refs[t];if(typeof s=="string")if(this._refs[s])s=this._refs[s];else return Tr.call(this,a,e,s);if(s=s||this._schemas[t],s instanceof Jt)return rs(s.schema,this._opts.inlineRefs)?s.schema:s.validate||this._compile(s);var r=ta.call(this,e,t),n,i,o;return r&&(n=r.schema,e=r.root,o=r.baseId),n instanceof Jt?i=n.validate||a.call(this,n.schema,e,void 0,o):n!==void 0&&(i=rs(n,this._opts.inlineRefs)?n:a.call(this,n,e,void 0,o)),i}function ta(a,e){var t=Ot.parse(e),s=An(t),r=Yt(this._getId(a.schema));if(Object.keys(a.schema).length===0||s!==r){var n=Rr(s),i=this._refs[n];if(typeof i=="string")return sd.call(this,a,i,t);if(i instanceof Jt)i.validate||this._compile(i),a=i;else if(i=this._schemas[n],i instanceof Jt){if(i.validate||this._compile(i),n==Rr(e))return{schema:i,root:a,baseId:r};a=i}else return;if(!a.schema)return;r=Yt(this._getId(a.schema))}return In.call(this,t,r,a.schema,a)}function sd(a,e,t){var s=ta.call(this,a,e);if(s){var r=s.schema,n=s.baseId;a=s.root;var i=this._getId(r);return i&&(n=ea(n,i)),In.call(this,t,n,r,a)}}var nd=ra.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function In(a,e,t,s){if(a.fragment=a.fragment||"",a.fragment.slice(0,1)=="/"){for(var r=a.fragment.split("/"),n=1;n<r.length;n++){var i=r[n];if(i){if(i=ra.unescapeFragment(i),t=t[i],t===void 0)break;var o;if(!nd[i]&&(o=this._getId(t),o&&(e=ea(e,o)),t.$ref)){var c=ea(e,t.$ref),u=ta.call(this,s,c);u&&(t=u.schema,s=u.root,e=u.baseId)}}}if(t!==void 0&&t!==s.schema)return{schema:t,root:s,baseId:e}}}var id=ra.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function rs(a,e){if(e===!1)return!1;if(e===void 0||e===!0)return ts(a);if(e)return as(a)<=e}function ts(a){var e;if(Array.isArray(a)){for(var t=0;t<a.length;t++)if(e=a[t],typeof e=="object"&&!ts(e))return!1}else for(var s in a)if(s=="$ref"||(e=a[s],typeof e=="object"&&!ts(e)))return!1;return!0}function as(a){var e=0,t;if(Array.isArray(a)){for(var s=0;s<a.length;s++)if(t=a[s],typeof t=="object"&&(e+=as(t)),e==1/0)return 1/0}else for(var r in a){if(r=="$ref")return 1/0;if(id[r])e++;else if(t=a[r],typeof t=="object"&&(e+=as(t)+1),e==1/0)return 1/0}return e}function Yt(a,e){e!==!1&&(a=Rr(a));var t=Ot.parse(a);return An(t)}function An(a){return Ot.serialize(a).split("#")[0]+"#"}var od=/#\/?$/;function Rr(a){return a?a.replace(od,""):""}function ea(a,e){return e=Rr(e),Ot.resolve(a,e)}function ld(a){var e=Rr(this._getId(a)),t={"":e},s={"":Yt(e,!1)},r={},n=this;return ad(a,{allKeys:!0},function(i,o,c,u,p,m,E){if(o!==""){var d=n._getId(i),g=t[u],_=s[u]+"/"+p;if(E!==void 0&&(_+="/"+(typeof E=="number"?E:ra.escapeFragment(E))),typeof d=="string"){d=g=Rr(g?Ot.resolve(g,d):d);var v=n._refs[d];if(typeof v=="string"&&(v=n._refs[v]),v&&v.schema){if(!wn(i,v.schema))throw new Error('id "'+d+'" resolves to more than one schema')}else if(d!=Rr(_))if(d[0]=="#"){if(r[d]&&!wn(i,r[d]))throw new Error('id "'+d+'" resolves to more than one schema');r[d]=i}else n._refs[d]=_}t[o]=g,s[o]=_}}),r}});var sa=X((Np,$n)=>{"use strict";var ss=aa();$n.exports={Validation:Dn(cd),MissingRef:Dn(ns)};function cd(a){this.message="validation failed",this.errors=a,this.ajv=this.validation=!0}ns.message=function(a,e){return"can't resolve reference "+e+" from id "+a};function ns(a,e,t){this.message=t||ns.message(a,e),this.missingRef=ss.url(a,e),this.missingSchema=ss.normalizeId(ss.fullPath(this.missingRef))}function Dn(a){return a.prototype=Object.create(Error.prototype),a.prototype.constructor=a,a}});var is=X((Dp,Cn)=>{"use strict";Cn.exports=function(a,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var t=typeof e.cycles=="boolean"?e.cycles:!1,s=e.cmp&&function(n){return function(i){return function(o,c){var u={key:o,value:i[o]},p={key:c,value:i[c]};return n(u,p)}}}(e.cmp),r=[];return function n(i){if(i&&i.toJSON&&typeof i.toJSON=="function"&&(i=i.toJSON()),i!==void 0){if(typeof i=="number")return isFinite(i)?""+i:"null";if(typeof i!="object")return JSON.stringify(i);var o,c;if(Array.isArray(i)){for(c="[",o=0;o<i.length;o++)o&&(c+=","),c+=n(i[o])||"null";return c+"]"}if(i===null)return"null";if(r.indexOf(i)!==-1){if(t)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var u=r.push(i)-1,p=Object.keys(i).sort(s&&s(i));for(c="",o=0;o<p.length;o++){var m=p[o],E=n(i[m]);E&&(c&&(c+=","),c+=JSON.stringify(m)+":"+E)}return r.splice(u,1),"{"+c+"}"}}(a)}});var os=X(($p,kn)=>{"use strict";kn.exports=function(e,t,s){var r="",n=e.schema.$async===!0,i=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.opts.strictKeywords){var c=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(c){var u="unknown keyword: "+c;if(e.opts.strictKeywords==="log")e.logger.warn(u);else throw new Error(u)}}if(e.isTop&&(r+=" var validate = ",n&&(e.async=!0,r+="async "),r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(e.opts.sourceCode||e.opts.processCode)&&(r+=" "+("/*# sourceURL="+o+" */")+" ")),typeof e.schema=="boolean"||!(i||e.schema.$ref)){var t="false schema",p=e.level,m=e.dataLevel,E=e.schema[t],d=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,A=!e.opts.allErrors,q,_="data"+(m||""),P="valid"+p;if(e.schema===!1){e.isTop?A=!0:r+=" var "+P+" = false; ";var v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(q||"false schema")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: 'boolean schema is false' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+_+" "),r+=" } "):r+=" {} ";var S=r;r=v.pop(),!e.compositeRule&&A?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?n?r+=" return data; ":r+=" validate.errors = null; return true; ":r+=" var "+P+" = true; ";return e.isTop&&(r+=" }; return validate; "),r}if(e.isTop){var O=e.isTop,p=e.level=0,m=e.dataLevel=0,_="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],e.schema.default!==void 0&&e.opts.useDefaults&&e.opts.strictDefaults){var R="default is ignored in the schema root";if(e.opts.strictDefaults==="log")e.logger.warn(R);else throw new Error(R)}r+=" var vErrors = null; ",r+=" var errors = 0; ",r+=" if (rootData === undefined) rootData = data; "}else{var p=e.level,m=e.dataLevel,_="data"+(m||"");if(o&&(e.baseId=e.resolve.url(e.baseId,o)),n&&!e.async)throw new Error("async schema in sync schema");r+=" var errs_"+p+" = errors;"}var P="valid"+p,A=!e.opts.allErrors,N="",V="",q,D=e.schema.type,U=Array.isArray(D);if(D&&e.opts.nullable&&e.schema.nullable===!0&&(U?D.indexOf("null")==-1&&(D=D.concat("null")):D!="null"&&(D=[D,"null"],U=!0)),U&&D.length==1&&(D=D[0],U=!1),e.schema.$ref&&i){if(e.opts.extendRefs=="fail")throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');e.opts.extendRefs!==!0&&(i=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(r+=" "+e.RULES.all.$comment.code(e,"$comment")),D){if(e.opts.coerceTypes)var M=e.util.coerceToTypes(e.opts.coerceTypes,D);var j=e.RULES.types[D];if(M||U||j===!0||j&&!xe(j)){var d=e.schemaPath+".type",g=e.errSchemaPath+"/type",d=e.schemaPath+".type",g=e.errSchemaPath+"/type",I=U?"checkDataTypes":"checkDataType";if(r+=" if ("+e.util[I](D,_,e.opts.strictNumbers,!0)+") { ",M){var $="dataType"+p,F="coerced"+p;r+=" var "+$+" = typeof "+_+"; var "+F+" = undefined; ",e.opts.coerceTypes=="array"&&(r+=" if ("+$+" == 'object' && Array.isArray("+_+") && "+_+".length == 1) { "+_+" = "+_+"[0]; "+$+" = typeof "+_+"; if ("+e.util.checkDataType(e.schema.type,_,e.opts.strictNumbers)+") "+F+" = "+_+"; } "),r+=" if ("+F+" !== undefined) ; ";var le=M;if(le)for(var J,re=-1,K=le.length-1;re<K;)J=le[re+=1],J=="string"?r+=" else if ("+$+" == 'number' || "+$+" == 'boolean') "+F+" = '' + "+_+"; else if ("+_+" === null) "+F+" = ''; ":J=="number"||J=="integer"?(r+=" else if ("+$+" == 'boolean' || "+_+" === null || ("+$+" == 'string' && "+_+" && "+_+" == +"+_+" ",J=="integer"&&(r+=" && !("+_+" % 1)"),r+=")) "+F+" = +"+_+"; "):J=="boolean"?r+=" else if ("+_+" === 'false' || "+_+" === 0 || "+_+" === null) "+F+" = false; else if ("+_+" === 'true' || "+_+" === 1) "+F+" = true; ":J=="null"?r+=" else if ("+_+" === '' || "+_+" === 0 || "+_+" === false) "+F+" = null; ":e.opts.coerceTypes=="array"&&J=="array"&&(r+=" else if ("+$+" == 'string' || "+$+" == 'number' || "+$+" == 'boolean' || "+_+" == null) "+F+" = ["+_+"]; ");r+=" else { ";var v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(q||"type")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { type: '",U?r+=""+D.join(","):r+=""+D,r+="' } ",e.opts.messages!==!1&&(r+=" , message: 'should be ",U?r+=""+D.join(","):r+=""+D,r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+_+" "),r+=" } "):r+=" {} ";var S=r;r=v.pop(),!e.compositeRule&&A?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } if ("+F+" !== undefined) { ";var H=m?"data"+(m-1||""):"parentData",me=m?e.dataPathArr[m]:"parentDataProperty";r+=" "+_+" = "+F+"; ",m||(r+="if ("+H+" !== undefined)"),r+=" "+H+"["+me+"] = "+F+"; } "}else{var v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(q||"type")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { type: '",U?r+=""+D.join(","):r+=""+D,r+="' } ",e.opts.messages!==!1&&(r+=" , message: 'should be ",U?r+=""+D.join(","):r+=""+D,r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+_+" "),r+=" } "):r+=" {} ";var S=r;r=v.pop(),!e.compositeRule&&A?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}r+=" } "}}if(e.schema.$ref&&!i)r+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",A&&(r+=" } if (errors === ",O?r+="0":r+="errs_"+p,r+=") { ",V+="}");else{var Te=e.RULES;if(Te){for(var j,we=-1,se=Te.length-1;we<se;)if(j=Te[we+=1],xe(j)){if(j.type&&(r+=" if ("+e.util.checkDataType(j.type,_,e.opts.strictNumbers)+") { "),e.opts.useDefaults){if(j.type=="object"&&e.schema.properties){var E=e.schema.properties,ye=Object.keys(E),Se=ye;if(Se)for(var Ie,gr=-1,lr=Se.length-1;gr<lr;){Ie=Se[gr+=1];var _e=E[Ie];if(_e.default!==void 0){var ve=_+e.util.getProperty(Ie);if(e.compositeRule){if(e.opts.strictDefaults){var R="default is ignored for: "+ve;if(e.opts.strictDefaults==="log")e.logger.warn(R);else throw new Error(R)}}else r+=" if ("+ve+" === undefined ",e.opts.useDefaults=="empty"&&(r+=" || "+ve+" === null || "+ve+" === '' "),r+=" ) "+ve+" = ",e.opts.useDefaults=="shared"?r+=" "+e.useDefault(_e.default)+" ":r+=" "+JSON.stringify(_e.default)+" ",r+="; "}}}else if(j.type=="array"&&Array.isArray(e.schema.items)){var Pr=e.schema.items;if(Pr){for(var _e,re=-1,Pe=Pr.length-1;re<Pe;)if(_e=Pr[re+=1],_e.default!==void 0){var ve=_+"["+re+"]";if(e.compositeRule){if(e.opts.strictDefaults){var R="default is ignored for: "+ve;if(e.opts.strictDefaults==="log")e.logger.warn(R);else throw new Error(R)}}else r+=" if ("+ve+" === undefined ",e.opts.useDefaults=="empty"&&(r+=" || "+ve+" === null || "+ve+" === '' "),r+=" ) "+ve+" = ",e.opts.useDefaults=="shared"?r+=" "+e.useDefault(_e.default)+" ":r+=" "+JSON.stringify(_e.default)+" ",r+="; "}}}}var ie=j.rules;if(ie){for(var yr,cr=-1,Or=ie.length-1;cr<Or;)if(yr=ie[cr+=1],Me(yr)){var wr=yr.code(e,yr.keyword,j.type);wr&&(r+=" "+wr+" ",A&&(N+="}"))}}if(A&&(r+=" "+N+" ",N=""),j.type&&(r+=" } ",D&&D===j.type&&!M)){r+=" else { ";var d=e.schemaPath+".type",g=e.errSchemaPath+"/type",v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(q||"type")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { type: '",U?r+=""+D.join(","):r+=""+D,r+="' } ",e.opts.messages!==!1&&(r+=" , message: 'should be ",U?r+=""+D.join(","):r+=""+D,r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+_+" "),r+=" } "):r+=" {} ";var S=r;r=v.pop(),!e.compositeRule&&A?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } "}A&&(r+=" if (errors === ",O?r+="0":r+="errs_"+p,r+=") { ",V+="}")}}}A&&(r+=" "+V+" "),O?(n?(r+=" if (errors === 0) return data; ",r+=" else throw new ValidationError(vErrors); "):(r+=" validate.errors = vErrors; ",r+=" return errors === 0; "),r+=" }; return validate;"):r+=" var "+P+" = errors === errs_"+p+";";function xe(Ae){for(var er=Ae.rules,Le=0;Le<er.length;Le++)if(Me(er[Le]))return!0}function Me(Ae){return e.schema[Ae.keyword]!==void 0||Ae.implements&&De(Ae)}function De(Ae){for(var er=Ae.implements,Le=0;Le<er.length;Le++)if(e.schema[er[Le]]!==void 0)return!0}return r}});var qn=X((Cp,Mn)=>{"use strict";var na=aa(),oa=Qr(),jn=sa(),ud=is(),Ln=os(),dd=oa.ucs2length,fd=Wt(),pd=jn.Validation;Mn.exports=ls;function ls(a,e,t,s){var r=this,n=this._opts,i=[void 0],o={},c=[],u={},p=[],m={},E=[];e=e||{schema:a,refVal:i,refs:o};var d=hd.call(this,a,e,s),g=this._compilations[d.index];if(d.compiling)return g.callValidate=R;var _=this._formats,v=this.RULES;try{var S=P(a,e,t,s);g.validate=S;var O=g.callValidate;return O&&(O.schema=S.schema,O.errors=null,O.refs=S.refs,O.refVal=S.refVal,O.root=S.root,O.$async=S.$async,n.sourceCode&&(O.source=S.source)),S}finally{md.call(this,a,e,s)}function R(){var I=g.validate,$=I.apply(this,arguments);return R.errors=I.errors,$}function P(I,$,F,le){var J=!$||$&&$.schema==I;if($.schema!=e.schema)return ls.call(r,I,$,F,le);var re=I.$async===!0,K=Ln({isTop:!0,schema:I,isRoot:J,baseId:le,root:$,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:jn.MissingRef,RULES:v,validate:Ln,util:oa,resolve:na,resolveRef:A,usePattern:U,useDefault:M,useCustomRule:j,opts:n,formats:_,logger:r.logger,self:r});K=ia(i,yd)+ia(c,vd)+ia(p,gd)+ia(E,_d)+K,n.processCode&&(K=n.processCode(K,I));var H;try{var me=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",K);H=me(r,v,_,e,i,p,E,fd,dd,pd),i[0]=H}catch(Te){throw r.logger.error("Error compiling schema, function code:",K),Te}return H.schema=I,H.errors=null,H.refs=o,H.refVal=i,H.root=J?H:$,re&&(H.$async=!0),n.sourceCode===!0&&(H.source={code:K,patterns:c,defaults:p}),H}function A(I,$,F){$=na.url(I,$);var le=o[$],J,re;if(le!==void 0)return J=i[le],re="refVal["+le+"]",D(J,re);if(!F&&e.refs){var K=e.refs[$];if(K!==void 0)return J=e.refVal[K],re=N($,J),D(J,re)}re=N($);var H=na.call(r,P,e,$);if(H===void 0){var me=t&&t[$];me&&(H=na.inlineRef(me,n.inlineRefs)?me:ls.call(r,me,e,t,I))}if(H===void 0)V($);else return q($,H),D(H,re)}function N(I,$){var F=i.length;return i[F]=$,o[I]=F,"refVal"+F}function V(I){delete o[I]}function q(I,$){var F=o[I];i[F]=$}function D(I,$){return typeof I=="object"||typeof I=="boolean"?{code:$,schema:I,inline:!0}:{code:$,$async:I&&!!I.$async}}function U(I){var $=u[I];return $===void 0&&($=u[I]=c.length,c[$]=I),"pattern"+$}function M(I){switch(typeof I){case"boolean":case"number":return""+I;case"string":return oa.toQuotedString(I);case"object":if(I===null)return"null";var $=ud(I),F=m[$];return F===void 0&&(F=m[$]=p.length,p[F]=I),"default"+F}}function j(I,$,F,le){if(r._opts.validateSchema!==!1){var J=I.definition.dependencies;if(J&&!J.every(function(Se){return Object.prototype.hasOwnProperty.call(F,Se)}))throw new Error("parent schema must have all required keywords: "+J.join(","));var re=I.definition.validateSchema;if(re){var K=re($);if(!K){var H="keyword schema is invalid: "+r.errorsText(re.errors);if(r._opts.validateSchema=="log")r.logger.error(H);else throw new Error(H)}}}var me=I.definition.compile,Te=I.definition.inline,we=I.definition.macro,se;if(me)se=me.call(r,$,F,le);else if(we)se=we.call(r,$,F,le),n.validateSchema!==!1&&r.validateSchema(se,!0);else if(Te)se=Te.call(r,le,I.keyword,$,F);else if(se=I.definition.validate,!se)return;if(se===void 0)throw new Error('custom keyword "'+I.keyword+'"failed to compile');var ye=E.length;return E[ye]=se,{code:"customRule"+ye,validate:se}}}function hd(a,e,t){var s=Fn.call(this,a,e,t);return s>=0?{index:s,compiling:!0}:(s=this._compilations.length,this._compilations[s]={schema:a,root:e,baseId:t},{index:s,compiling:!1})}function md(a,e,t){var s=Fn.call(this,a,e,t);s>=0&&this._compilations.splice(s,1)}function Fn(a,e,t){for(var s=0;s<this._compilations.length;s++){var r=this._compilations[s];if(r.schema==a&&r.root==e&&r.baseId==t)return s}return-1}function vd(a,e){return"var pattern"+a+" = new RegExp("+oa.toQuotedString(e[a])+");"}function gd(a){return"var default"+a+" = defaults["+a+"];"}function yd(a,e){return e[a]===void 0?"":"var refVal"+a+" = refVal["+a+"];"}function _d(a){return"var customRule"+a+" = customRules["+a+"];"}function ia(a,e){if(!a.length)return"";for(var t="",s=0;s<a.length;s++)t+=e(s,a);return t}});var zn=X((kp,Un)=>{"use strict";var la=Un.exports=function(){this._cache={}};la.prototype.put=function(e,t){this._cache[e]=t};la.prototype.get=function(e){return this._cache[e]};la.prototype.del=function(e){delete this._cache[e]};la.prototype.clear=function(){this._cache={}}});var ei=X((Lp,Yn)=>{"use strict";var Ed=Qr(),bd=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Sd=[0,31,28,31,30,31,30,31,31,30,31,30,31],xd=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,Vn=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,Rd=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,Td=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,Hn=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,Bn=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,Zn=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Xn=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Qn=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Gn=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;Yn.exports=ca;function ca(a){return a=a=="full"?"full":"fast",Ed.copy(ca[a])}ca.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":Hn,url:Bn,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:Vn,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Jn,uuid:Zn,"json-pointer":Xn,"json-pointer-uri-fragment":Qn,"relative-json-pointer":Gn};ca.full={date:Wn,time:Kn,"date-time":wd,uri:Ad,"uri-reference":Td,"uri-template":Hn,url:Bn,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:Vn,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Jn,uuid:Zn,"json-pointer":Xn,"json-pointer-uri-fragment":Qn,"relative-json-pointer":Gn};function Pd(a){return a%4===0&&(a%100!==0||a%400===0)}function Wn(a){var e=a.match(bd);if(!e)return!1;var t=+e[1],s=+e[2],r=+e[3];return s>=1&&s<=12&&r>=1&&r<=(s==2&&Pd(t)?29:Sd[s])}function Kn(a,e){var t=a.match(xd);if(!t)return!1;var s=t[1],r=t[2],n=t[3],i=t[5];return(s<=23&&r<=59&&n<=59||s==23&&r==59&&n==60)&&(!e||i)}var Od=/t|\s/i;function wd(a){var e=a.split(Od);return e.length==2&&Wn(e[0])&&Kn(e[1],!0)}var Id=/\/|:/;function Ad(a){return Id.test(a)&&Rd.test(a)}var Nd=/[^\\]\\Z/;function Jn(a){if(Nd.test(a))return!1;try{return new RegExp(a),!0}catch{return!1}}});var ti=X((jp,ri)=>{"use strict";ri.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(i||""),m="valid"+n,E,d;if(o=="#"||o=="#/")e.isRoot?(E=e.async,d="validate"):(E=e.root.schema.$async===!0,d="root.refVal[0]");else{var g=e.resolveRef(e.baseId,o,e.isRoot);if(g===void 0){var _=e.MissingRefError.message(e.baseId,o);if(e.opts.missingRefs=="fail"){e.logger.error(_);var v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { ref: '"+e.util.escapeQuotes(o)+"' } ",e.opts.messages!==!1&&(r+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(o)+"' "),e.opts.verbose&&(r+=" , schema: "+e.util.toQuotedString(o)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ";var S=r;r=v.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(r+=" if (false) { ")}else if(e.opts.missingRefs=="ignore")e.logger.warn(_),u&&(r+=" if (true) { ");else throw new e.MissingRefError(e.baseId,o,_)}else if(g.inline){var O=e.util.copy(e);O.level++;var R="valid"+O.level;O.schema=g.schema,O.schemaPath="",O.errSchemaPath=o;var P=e.validate(O).replace(/validate\.schema/g,g.code);r+=" "+P+" ",u&&(r+=" if ("+R+") { ")}else E=g.$async===!0||e.async&&g.$async!==!1,d=g.code}if(d){var v=v||[];v.push(r),r="",e.opts.passContext?r+=" "+d+".call(this, ":r+=" "+d+"( ",r+=" "+p+", (dataPath || '')",e.errorPath!='""'&&(r+=" + "+e.errorPath);var A=i?"data"+(i-1||""):"parentData",N=i?e.dataPathArr[i]:"parentDataProperty";r+=" , "+A+" , "+N+", rootData) ";var V=r;if(r=v.pop(),E){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(r+=" var "+m+"; "),r+=" try { await "+V+"; ",u&&(r+=" "+m+" = true; "),r+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(r+=" "+m+" = false; "),r+=" } ",u&&(r+=" if ("+m+") { ")}else r+=" if (!"+V+") { if (vErrors === null) vErrors = "+d+".errors; else vErrors = vErrors.concat("+d+".errors); errors = vErrors.length; } ",u&&(r+=" else { ")}return r}});var si=X((Fp,ai)=>{"use strict";ai.exports=function(e,t,s){var r=" ",n=e.schema[t],i=e.schemaPath+e.util.getProperty(t),o=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u=e.util.copy(e),p="";u.level++;var m="valid"+u.level,E=u.baseId,d=!0,g=n;if(g)for(var _,v=-1,S=g.length-1;v<S;)_=g[v+=1],(e.opts.strictKeywords?typeof _=="object"&&Object.keys(_).length>0||_===!1:e.util.schemaHasRules(_,e.RULES.all))&&(d=!1,u.schema=_,u.schemaPath=i+"["+v+"]",u.errSchemaPath=o+"/"+v,r+=" "+e.validate(u)+" ",u.baseId=E,c&&(r+=" if ("+m+") { ",p+="}"));return c&&(d?r+=" if (true) { ":r+=" "+p.slice(0,-1)+" "),r}});var ii=X((Mp,ni)=>{"use strict";ni.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="valid"+n,d="errs__"+n,g=e.util.copy(e),_="";g.level++;var v="valid"+g.level,S=o.every(function(q){return e.opts.strictKeywords?typeof q=="object"&&Object.keys(q).length>0||q===!1:e.util.schemaHasRules(q,e.RULES.all)});if(S){var O=g.baseId;r+=" var "+d+" = errors; var "+E+" = false; ";var R=e.compositeRule;e.compositeRule=g.compositeRule=!0;var P=o;if(P)for(var A,N=-1,V=P.length-1;N<V;)A=P[N+=1],g.schema=A,g.schemaPath=c+"["+N+"]",g.errSchemaPath=u+"/"+N,r+=" "+e.validate(g)+" ",g.baseId=O,r+=" "+E+" = "+E+" || "+v+"; if (!"+E+") { ",_+="}";e.compositeRule=g.compositeRule=R,r+=" "+_+" if (!"+E+") { var err = ",e.createErrors!==!1?(r+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else p&&(r+=" if (true) { ");return r}});var li=X((qp,oi)=>{"use strict";oi.exports=function(e,t,s){var r=" ",n=e.schema[t],i=e.errSchemaPath+"/"+t,o=!e.opts.allErrors,c=e.util.toQuotedString(n);return e.opts.$comment===!0?r+=" console.log("+c+");":typeof e.opts.$comment=="function"&&(r+=" self._opts.$comment("+c+", "+e.util.toQuotedString(i)+", validate.root.schema);"),r}});var ui=X((Up,ci)=>{"use strict";ci.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="valid"+n,d=e.opts.$data&&o&&o.$data,g;d?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+n):g=o,d||(r+=" var schema"+n+" = validate.schema"+c+";"),r+="var "+E+" = equal("+m+", schema"+n+"); if (!"+E+") { ";var _=_||[];_.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValue: schema"+n+" } ",e.opts.messages!==!1&&(r+=" , message: 'should be equal to constant' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var v=r;return r=_.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",p&&(r+=" else { "),r}});var fi=X((zp,di)=>{"use strict";di.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="valid"+n,d="errs__"+n,g=e.util.copy(e),_="";g.level++;var v="valid"+g.level,S="i"+n,O=g.dataLevel=e.dataLevel+1,R="data"+O,P=e.baseId,A=e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all);if(r+="var "+d+" = errors;var "+E+";",A){var N=e.compositeRule;e.compositeRule=g.compositeRule=!0,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,r+=" var "+v+" = false; for (var "+S+" = 0; "+S+" < "+m+".length; "+S+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,S,e.opts.jsonPointers,!0);var V=m+"["+S+"]";g.dataPathArr[O]=S;var q=e.validate(g);g.baseId=P,e.util.varOccurences(q,R)<2?r+=" "+e.util.varReplace(q,R,V)+" ":r+=" var "+R+" = "+V+"; "+q+" ",r+=" if ("+v+") break; } ",e.compositeRule=g.compositeRule=N,r+=" "+_+" if (!"+v+") {"}else r+=" if ("+m+".length == 0) {";var D=D||[];D.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: 'should contain a valid item' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var U=r;return r=D.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+U+"]); ":r+=" validate.errors = ["+U+"]; return false; ":r+=" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",A&&(r+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(r+=" } "),r}});var hi=X((Vp,pi)=>{"use strict";pi.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="errs__"+n,d=e.util.copy(e),g="";d.level++;var _="valid"+d.level,v={},S={},O=e.opts.ownProperties;for(N in o)if(N!="__proto__"){var R=o[N],P=Array.isArray(R)?S:v;P[N]=R}r+="var "+E+" = errors;";var A=e.errorPath;r+="var missing"+n+";";for(var N in S)if(P=S[N],P.length){if(r+=" if ( "+m+e.util.getProperty(N)+" !== undefined ",O&&(r+=" && Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(N)+"') "),p){r+=" && ( ";var V=P;if(V)for(var q,D=-1,U=V.length-1;D<U;){q=V[D+=1],D&&(r+=" || ");var M=e.util.getProperty(q),j=m+M;r+=" ( ( "+j+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(q)+"') "),r+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?q:M)+") ) "}r+=")) { ";var I="missing"+n,$="' + "+I+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(A,I,!0):A+" + "+I);var F=F||[];F.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { property: '"+e.util.escapeQuotes(N)+"', missingProperty: '"+$+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(P.length==1?P[0]:P.join(", "))+"' } ",e.opts.messages!==!1&&(r+=" , message: 'should have ",P.length==1?r+="property "+e.util.escapeQuotes(P[0]):r+="properties "+e.util.escapeQuotes(P.join(", ")),r+=" when property "+e.util.escapeQuotes(N)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var le=r;r=F.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+le+"]); ":r+=" validate.errors = ["+le+"]; return false; ":r+=" var err = "+le+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{r+=" ) { ";var J=P;if(J)for(var q,re=-1,K=J.length-1;re<K;){q=J[re+=1];var M=e.util.getProperty(q),$=e.util.escapeQuotes(q),j=m+M;e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(A,q,e.opts.jsonPointers)),r+=" if ( "+j+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(q)+"') "),r+=") { var err = ",e.createErrors!==!1?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { property: '"+e.util.escapeQuotes(N)+"', missingProperty: '"+$+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(P.length==1?P[0]:P.join(", "))+"' } ",e.opts.messages!==!1&&(r+=" , message: 'should have ",P.length==1?r+="property "+e.util.escapeQuotes(P[0]):r+="properties "+e.util.escapeQuotes(P.join(", ")),r+=" when property "+e.util.escapeQuotes(N)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}r+=" } ",p&&(g+="}",r+=" else { ")}e.errorPath=A;var H=d.baseId;for(var N in v){var R=v[N];(e.opts.strictKeywords?typeof R=="object"&&Object.keys(R).length>0||R===!1:e.util.schemaHasRules(R,e.RULES.all))&&(r+=" "+_+" = true; if ( "+m+e.util.getProperty(N)+" !== undefined ",O&&(r+=" && Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(N)+"') "),r+=") { ",d.schema=R,d.schemaPath=c+e.util.getProperty(N),d.errSchemaPath=u+"/"+e.util.escapeFragment(N),r+=" "+e.validate(d)+" ",d.baseId=H,r+=" } ",p&&(r+=" if ("+_+") { ",g+="}"))}return p&&(r+=" "+g+" if ("+E+" == errors) {"),r}});var vi=X((Hp,mi)=>{"use strict";mi.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="valid"+n,d=e.opts.$data&&o&&o.$data,g;d?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+n):g=o;var _="i"+n,v="schema"+n;d||(r+=" var "+v+" = validate.schema"+c+";"),r+="var "+E+";",d&&(r+=" if (schema"+n+" === undefined) "+E+" = true; else if (!Array.isArray(schema"+n+")) "+E+" = false; else {"),r+=""+E+" = false;for (var "+_+"=0; "+_+"<"+v+".length; "+_+"++) if (equal("+m+", "+v+"["+_+"])) { "+E+" = true; break; }",d&&(r+=" } "),r+=" if (!"+E+") { ";var S=S||[];S.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValues: schema"+n+" } ",e.opts.messages!==!1&&(r+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var O=r;return r=S.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+O+"]); ":r+=" validate.errors = ["+O+"]; return false; ":r+=" var err = "+O+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",p&&(r+=" else { "),r}});var yi=X((Bp,gi)=>{"use strict";gi.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||"");if(e.opts.format===!1)return p&&(r+=" if (true) { "),r;var E=e.opts.$data&&o&&o.$data,d;E?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",d="schema"+n):d=o;var g=e.opts.unknownFormats,_=Array.isArray(g);if(E){var v="format"+n,S="isObject"+n,O="formatType"+n;r+=" var "+v+" = formats["+d+"]; var "+S+" = typeof "+v+" == 'object' && !("+v+" instanceof RegExp) && "+v+".validate; var "+O+" = "+S+" && "+v+".type || 'string'; if ("+S+") { ",e.async&&(r+=" var async"+n+" = "+v+".async; "),r+=" "+v+" = "+v+".validate; } if ( ",E&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),r+=" (",g!="ignore"&&(r+=" ("+d+" && !"+v+" ",_&&(r+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),r+=") || "),r+=" ("+v+" && "+O+" == '"+s+"' && !(typeof "+v+" == 'function' ? ",e.async?r+=" (async"+n+" ? await "+v+"("+m+") : "+v+"("+m+")) ":r+=" "+v+"("+m+") ",r+=" : "+v+".test("+m+"))))) {"}else{var v=e.formats[o];if(!v){if(g=="ignore")return e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"'),p&&(r+=" if (true) { "),r;if(_&&g.indexOf(o)>=0)return p&&(r+=" if (true) { "),r;throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}var S=typeof v=="object"&&!(v instanceof RegExp)&&v.validate,O=S&&v.type||"string";if(S){var R=v.async===!0;v=v.validate}if(O!=s)return p&&(r+=" if (true) { "),r;if(R){if(!e.async)throw new Error("async format in sync schema");var P="formats"+e.util.getProperty(o)+".validate";r+=" if (!(await "+P+"("+m+"))) { "}else{r+=" if (! ";var P="formats"+e.util.getProperty(o);S&&(P+=".validate"),typeof v=="function"?r+=" "+P+"("+m+") ":r+=" "+P+".test("+m+") ",r+=") { "}}var A=A||[];A.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { format: ",E?r+=""+d:r+=""+e.util.toQuotedString(o),r+=" } ",e.opts.messages!==!1&&(r+=` , message: 'should match format "`,E?r+="' + "+d+" + '":r+=""+e.util.escapeQuotes(o),r+=`"' `),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+c:r+=""+e.util.toQuotedString(o),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var N=r;return r=A.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+N+"]); ":r+=" validate.errors = ["+N+"]; return false; ":r+=" var err = "+N+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",p&&(r+=" else { "),r}});var Ei=X((Zp,_i)=>{"use strict";_i.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="valid"+n,d="errs__"+n,g=e.util.copy(e);g.level++;var _="valid"+g.level,v=e.schema.then,S=e.schema.else,O=v!==void 0&&(e.opts.strictKeywords?typeof v=="object"&&Object.keys(v).length>0||v===!1:e.util.schemaHasRules(v,e.RULES.all)),R=S!==void 0&&(e.opts.strictKeywords?typeof S=="object"&&Object.keys(S).length>0||S===!1:e.util.schemaHasRules(S,e.RULES.all)),P=g.baseId;if(O||R){var A;g.createErrors=!1,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,r+=" var "+d+" = errors; var "+E+" = true; ";var N=e.compositeRule;e.compositeRule=g.compositeRule=!0,r+=" "+e.validate(g)+" ",g.baseId=P,g.createErrors=!0,r+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.compositeRule=g.compositeRule=N,O?(r+=" if ("+_+") { ",g.schema=e.schema.then,g.schemaPath=e.schemaPath+".then",g.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(g)+" ",g.baseId=P,r+=" "+E+" = "+_+"; ",O&&R?(A="ifClause"+n,r+=" var "+A+" = 'then'; "):A="'then'",r+=" } ",R&&(r+=" else { ")):r+=" if (!"+_+") { ",R&&(g.schema=e.schema.else,g.schemaPath=e.schemaPath+".else",g.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(g)+" ",g.baseId=P,r+=" "+E+" = "+_+"; ",O&&R?(A="ifClause"+n,r+=" var "+A+" = 'else'; "):A="'else'",r+=" } "),r+=" if (!"+E+") { var err = ",e.createErrors!==!1?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { failingKeyword: "+A+" } ",e.opts.messages!==!1&&(r+=` , message: 'should match "' + `+A+` + '" schema' `),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",p&&(r+=" else { ")}else p&&(r+=" if (true) { ");return r}});var Si=X((Xp,bi)=>{"use strict";bi.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="valid"+n,d="errs__"+n,g=e.util.copy(e),_="";g.level++;var v="valid"+g.level,S="i"+n,O=g.dataLevel=e.dataLevel+1,R="data"+O,P=e.baseId;if(r+="var "+d+" = errors;var "+E+";",Array.isArray(o)){var A=e.schema.additionalItems;if(A===!1){r+=" "+E+" = "+m+".length <= "+o.length+"; ";var N=u;u=e.errSchemaPath+"/additionalItems",r+=" if (!"+E+") { ";var V=V||[];V.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+o.length+" } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT have more than "+o.length+" items' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var q=r;r=V.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+q+"]); ":r+=" validate.errors = ["+q+"]; return false; ":r+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",u=N,p&&(_+="}",r+=" else { ")}var D=o;if(D){for(var U,M=-1,j=D.length-1;M<j;)if(U=D[M+=1],e.opts.strictKeywords?typeof U=="object"&&Object.keys(U).length>0||U===!1:e.util.schemaHasRules(U,e.RULES.all)){r+=" "+v+" = true; if ("+m+".length > "+M+") { ";var I=m+"["+M+"]";g.schema=U,g.schemaPath=c+"["+M+"]",g.errSchemaPath=u+"/"+M,g.errorPath=e.util.getPathExpr(e.errorPath,M,e.opts.jsonPointers,!0),g.dataPathArr[O]=M;var $=e.validate(g);g.baseId=P,e.util.varOccurences($,R)<2?r+=" "+e.util.varReplace($,R,I)+" ":r+=" var "+R+" = "+I+"; "+$+" ",r+=" } ",p&&(r+=" if ("+v+") { ",_+="}")}}if(typeof A=="object"&&(e.opts.strictKeywords?typeof A=="object"&&Object.keys(A).length>0||A===!1:e.util.schemaHasRules(A,e.RULES.all))){g.schema=A,g.schemaPath=e.schemaPath+".additionalItems",g.errSchemaPath=e.errSchemaPath+"/additionalItems",r+=" "+v+" = true; if ("+m+".length > "+o.length+") { for (var "+S+" = "+o.length+"; "+S+" < "+m+".length; "+S+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,S,e.opts.jsonPointers,!0);var I=m+"["+S+"]";g.dataPathArr[O]=S;var $=e.validate(g);g.baseId=P,e.util.varOccurences($,R)<2?r+=" "+e.util.varReplace($,R,I)+" ":r+=" var "+R+" = "+I+"; "+$+" ",p&&(r+=" if (!"+v+") break; "),r+=" } } ",p&&(r+=" if ("+v+") { ",_+="}")}}else if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){g.schema=o,g.schemaPath=c,g.errSchemaPath=u,r+=" for (var "+S+" = 0; "+S+" < "+m+".length; "+S+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,S,e.opts.jsonPointers,!0);var I=m+"["+S+"]";g.dataPathArr[O]=S;var $=e.validate(g);g.baseId=P,e.util.varOccurences($,R)<2?r+=" "+e.util.varReplace($,R,I)+" ":r+=" var "+R+" = "+I+"; "+$+" ",p&&(r+=" if (!"+v+") break; "),r+=" }"}return p&&(r+=" "+_+" if ("+d+" == errors) {"),r}});var cs=X((Qp,xi)=>{"use strict";xi.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,P,m="data"+(i||""),E=e.opts.$data&&o&&o.$data,d;E?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",d="schema"+n):d=o;var g=t=="maximum",_=g?"exclusiveMaximum":"exclusiveMinimum",v=e.schema[_],S=e.opts.$data&&v&&v.$data,O=g?"<":">",R=g?">":"<",P=void 0;if(!(E||typeof o=="number"||o===void 0))throw new Error(t+" must be number");if(!(S||v===void 0||typeof v=="number"||typeof v=="boolean"))throw new Error(_+" must be number or boolean");if(S){var A=e.util.getData(v.$data,i,e.dataPathArr),N="exclusive"+n,V="exclType"+n,q="exclIsNumber"+n,D="op"+n,U="' + "+D+" + '";r+=" var schemaExcl"+n+" = "+A+"; ",A="schemaExcl"+n,r+=" var "+N+"; var "+V+" = typeof "+A+"; if ("+V+" != 'boolean' && "+V+" != 'undefined' && "+V+" != 'number') { ";var P=_,M=M||[];M.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(P||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: '"+_+" should be boolean' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var j=r;r=M.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+j+"]); ":r+=" validate.errors = ["+j+"]; return false; ":r+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else if ( ",E&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "),r+=" "+V+" == 'number' ? ( ("+N+" = "+d+" === undefined || "+A+" "+O+"= "+d+") ? "+m+" "+R+"= "+A+" : "+m+" "+R+" "+d+" ) : ( ("+N+" = "+A+" === true) ? "+m+" "+R+"= "+d+" : "+m+" "+R+" "+d+" ) || "+m+" !== "+m+") { var op"+n+" = "+N+" ? '"+O+"' : '"+O+"='; ",o===void 0&&(P=_,u=e.errSchemaPath+"/"+_,d=A,E=S)}else{var q=typeof v=="number",U=O;if(q&&E){var D="'"+U+"'";r+=" if ( ",E&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "),r+=" ( "+d+" === undefined || "+v+" "+O+"= "+d+" ? "+m+" "+R+"= "+v+" : "+m+" "+R+" "+d+" ) || "+m+" !== "+m+") { "}else{q&&o===void 0?(N=!0,P=_,u=e.errSchemaPath+"/"+_,d=v,R+="="):(q&&(d=Math[g?"min":"max"](v,o)),v===(q?d:!0)?(N=!0,P=_,u=e.errSchemaPath+"/"+_,R+="="):(N=!1,U+="="));var D="'"+U+"'";r+=" if ( ",E&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "),r+=" "+m+" "+R+" "+d+" || "+m+" !== "+m+") { "}}P=P||t;var M=M||[];M.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(P||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+D+", limit: "+d+", exclusive: "+N+" } ",e.opts.messages!==!1&&(r+=" , message: 'should be "+U+" ",E?r+="' + "+d:r+=""+d+"'"),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+c:r+=""+o,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var j=r;return r=M.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+j+"]); ":r+=" validate.errors = ["+j+"]; return false; ":r+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",p&&(r+=" else { "),r}});var us=X((Gp,Ri)=>{"use strict";Ri.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,_,m="data"+(i||""),E=e.opts.$data&&o&&o.$data,d;if(E?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",d="schema"+n):d=o,!(E||typeof o=="number"))throw new Error(t+" must be number");var g=t=="maxItems"?">":"<";r+="if ( ",E&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "),r+=" "+m+".length "+g+" "+d+") { ";var _=t,v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(_||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+d+" } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT have ",t=="maxItems"?r+="more":r+="fewer",r+=" than ",E?r+="' + "+d+" + '":r+=""+o,r+=" items' "),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+c:r+=""+o,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var S=r;return r=v.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",p&&(r+=" else { "),r}});var ds=X((Wp,Ti)=>{"use strict";Ti.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,_,m="data"+(i||""),E=e.opts.$data&&o&&o.$data,d;if(E?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",d="schema"+n):d=o,!(E||typeof o=="number"))throw new Error(t+" must be number");var g=t=="maxLength"?">":"<";r+="if ( ",E&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "),e.opts.unicode===!1?r+=" "+m+".length ":r+=" ucs2length("+m+") ",r+=" "+g+" "+d+") { ";var _=t,v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(_||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+d+" } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT be ",t=="maxLength"?r+="longer":r+="shorter",r+=" than ",E?r+="' + "+d+" + '":r+=""+o,r+=" characters' "),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+c:r+=""+o,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var S=r;return r=v.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",p&&(r+=" else { "),r}});var fs=X((Kp,Pi)=>{"use strict";Pi.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,_,m="data"+(i||""),E=e.opts.$data&&o&&o.$data,d;if(E?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",d="schema"+n):d=o,!(E||typeof o=="number"))throw new Error(t+" must be number");var g=t=="maxProperties"?">":"<";r+="if ( ",E&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'number') || "),r+=" Object.keys("+m+").length "+g+" "+d+") { ";var _=t,v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(_||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+d+" } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT have ",t=="maxProperties"?r+="more":r+="fewer",r+=" than ",E?r+="' + "+d+" + '":r+=""+o,r+=" properties' "),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+c:r+=""+o,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var S=r;return r=v.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",p&&(r+=" else { "),r}});var wi=X((Jp,Oi)=>{"use strict";Oi.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E=e.opts.$data&&o&&o.$data,d;if(E?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",d="schema"+n):d=o,!(E||typeof o=="number"))throw new Error(t+" must be number");r+="var division"+n+";if (",E&&(r+=" "+d+" !== undefined && ( typeof "+d+" != 'number' || "),r+=" (division"+n+" = "+m+" / "+d+", ",e.opts.multipleOfPrecision?r+=" Math.abs(Math.round(division"+n+") - division"+n+") > 1e-"+e.opts.multipleOfPrecision+" ":r+=" division"+n+" !== parseInt(division"+n+") ",r+=" ) ",E&&(r+=" ) "),r+=" ) { ";var g=g||[];g.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+d+" } ",e.opts.messages!==!1&&(r+=" , message: 'should be multiple of ",E?r+="' + "+d:r+=""+d+"'"),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+c:r+=""+o,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var _=r;return r=g.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+_+"]); ":r+=" validate.errors = ["+_+"]; return false; ":r+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",p&&(r+=" else { "),r}});var Ai=X((Yp,Ii)=>{"use strict";Ii.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="errs__"+n,d=e.util.copy(e);d.level++;var g="valid"+d.level;if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){d.schema=o,d.schemaPath=c,d.errSchemaPath=u,r+=" var "+E+" = errors; ";var _=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1;var v;d.opts.allErrors&&(v=d.opts.allErrors,d.opts.allErrors=!1),r+=" "+e.validate(d)+" ",d.createErrors=!0,v&&(d.opts.allErrors=v),e.compositeRule=d.compositeRule=_,r+=" if ("+g+") { ";var S=S||[];S.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var O=r;r=S.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+O+"]); ":r+=" validate.errors = ["+O+"]; return false; ":r+=" var err = "+O+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+E+"; if (vErrors !== null) { if ("+E+") vErrors.length = "+E+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else r+=" var err = ",e.createErrors!==!1?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",p&&(r+=" if (false) { ");return r}});var Di=X((eh,Ni)=>{"use strict";Ni.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="valid"+n,d="errs__"+n,g=e.util.copy(e),_="";g.level++;var v="valid"+g.level,S=g.baseId,O="prevValid"+n,R="passingSchemas"+n;r+="var "+d+" = errors , "+O+" = false , "+E+" = false , "+R+" = null; ";var P=e.compositeRule;e.compositeRule=g.compositeRule=!0;var A=o;if(A)for(var N,V=-1,q=A.length-1;V<q;)N=A[V+=1],(e.opts.strictKeywords?typeof N=="object"&&Object.keys(N).length>0||N===!1:e.util.schemaHasRules(N,e.RULES.all))?(g.schema=N,g.schemaPath=c+"["+V+"]",g.errSchemaPath=u+"/"+V,r+=" "+e.validate(g)+" ",g.baseId=S):r+=" var "+v+" = true; ",V&&(r+=" if ("+v+" && "+O+") { "+E+" = false; "+R+" = ["+R+", "+V+"]; } else { ",_+="}"),r+=" if ("+v+") { "+E+" = "+O+" = true; "+R+" = "+V+"; }";return e.compositeRule=g.compositeRule=P,r+=""+_+"if (!"+E+") { var err = ",e.createErrors!==!1?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { passingSchemas: "+R+" } ",e.opts.messages!==!1&&(r+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(r+=" } "),r}});var Ci=X((rh,$i)=>{"use strict";$i.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E=e.opts.$data&&o&&o.$data,d;E?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",d="schema"+n):d=o;var g=E?"(new RegExp("+d+"))":e.usePattern(o);r+="if ( ",E&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),r+=" !"+g+".test("+m+") ) { ";var _=_||[];_.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",E?r+=""+d:r+=""+e.util.toQuotedString(o),r+=" } ",e.opts.messages!==!1&&(r+=` , message: 'should match pattern "`,E?r+="' + "+d+" + '":r+=""+e.util.escapeQuotes(o),r+=`"' `),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+c:r+=""+e.util.toQuotedString(o),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var v=r;return r=_.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",p&&(r+=" else { "),r}});var Li=X((th,ki)=>{"use strict";ki.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="errs__"+n,d=e.util.copy(e),g="";d.level++;var _="valid"+d.level,v="key"+n,S="idx"+n,O=d.dataLevel=e.dataLevel+1,R="data"+O,P="dataProperties"+n,A=Object.keys(o||{}).filter(re),N=e.schema.patternProperties||{},V=Object.keys(N).filter(re),q=e.schema.additionalProperties,D=A.length||V.length,U=q===!1,M=typeof q=="object"&&Object.keys(q).length,j=e.opts.removeAdditional,I=U||M||j,$=e.opts.ownProperties,F=e.baseId,le=e.schema.required;if(le&&!(e.opts.$data&&le.$data)&&le.length<e.opts.loopRequired)var J=e.util.toHash(le);function re(Xe){return Xe!=="__proto__"}if(r+="var "+E+" = errors;var "+_+" = true;",$&&(r+=" var "+P+" = undefined;"),I){if($?r+=" "+P+" = "+P+" || Object.keys("+m+"); for (var "+S+"=0; "+S+"<"+P+".length; "+S+"++) { var "+v+" = "+P+"["+S+"]; ":r+=" for (var "+v+" in "+m+") { ",D){if(r+=" var isAdditional"+n+" = !(false ",A.length)if(A.length>8)r+=" || validate.schema"+c+".hasOwnProperty("+v+") ";else{var K=A;if(K)for(var H,me=-1,Te=K.length-1;me<Te;)H=K[me+=1],r+=" || "+v+" == "+e.util.toQuotedString(H)+" "}if(V.length){var we=V;if(we)for(var se,ye=-1,Se=we.length-1;ye<Se;)se=we[ye+=1],r+=" || "+e.usePattern(se)+".test("+v+") "}r+=" ); if (isAdditional"+n+") { "}if(j=="all")r+=" delete "+m+"["+v+"]; ";else{var Ie=e.errorPath,gr="' + "+v+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers)),U)if(j)r+=" delete "+m+"["+v+"]; ";else{r+=" "+_+" = false; ";var lr=u;u=e.errSchemaPath+"/additionalProperties";var _e=_e||[];_e.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { additionalProperty: '"+gr+"' } ",e.opts.messages!==!1&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is an invalid additional property":r+="should NOT have additional properties",r+="' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var ve=r;r=_e.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+ve+"]); ":r+=" validate.errors = ["+ve+"]; return false; ":r+=" var err = "+ve+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=lr,p&&(r+=" break; ")}else if(M)if(j=="failing"){r+=" var "+E+" = errors; ";var Pr=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.schema=q,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers);var Pe=m+"["+v+"]";d.dataPathArr[O]=v;var ie=e.validate(d);d.baseId=F,e.util.varOccurences(ie,R)<2?r+=" "+e.util.varReplace(ie,R,Pe)+" ":r+=" var "+R+" = "+Pe+"; "+ie+" ",r+=" if (!"+_+") { errors = "+E+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+m+"["+v+"]; } ",e.compositeRule=d.compositeRule=Pr}else{d.schema=q,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers);var Pe=m+"["+v+"]";d.dataPathArr[O]=v;var ie=e.validate(d);d.baseId=F,e.util.varOccurences(ie,R)<2?r+=" "+e.util.varReplace(ie,R,Pe)+" ":r+=" var "+R+" = "+Pe+"; "+ie+" ",p&&(r+=" if (!"+_+") break; ")}e.errorPath=Ie}D&&(r+=" } "),r+=" } ",p&&(r+=" if ("+_+") { ",g+="}")}var yr=e.opts.useDefaults&&!e.compositeRule;if(A.length){var cr=A;if(cr)for(var H,Or=-1,wr=cr.length-1;Or<wr;){H=cr[Or+=1];var xe=o[H];if(e.opts.strictKeywords?typeof xe=="object"&&Object.keys(xe).length>0||xe===!1:e.util.schemaHasRules(xe,e.RULES.all)){var Me=e.util.getProperty(H),Pe=m+Me,De=yr&&xe.default!==void 0;d.schema=xe,d.schemaPath=c+Me,d.errSchemaPath=u+"/"+e.util.escapeFragment(H),d.errorPath=e.util.getPath(e.errorPath,H,e.opts.jsonPointers),d.dataPathArr[O]=e.util.toQuotedString(H);var ie=e.validate(d);if(d.baseId=F,e.util.varOccurences(ie,R)<2){ie=e.util.varReplace(ie,R,Pe);var Ae=Pe}else{var Ae=R;r+=" var "+R+" = "+Pe+"; "}if(De)r+=" "+ie+" ";else{if(J&&J[H]){r+=" if ( "+Ae+" === undefined ",$&&(r+=" || ! Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(H)+"') "),r+=") { "+_+" = false; ";var Ie=e.errorPath,lr=u,er=e.util.escapeQuotes(H);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(Ie,H,e.opts.jsonPointers)),u=e.errSchemaPath+"/required";var _e=_e||[];_e.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+er+"' } ",e.opts.messages!==!1&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+er+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var ve=r;r=_e.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+ve+"]); ":r+=" validate.errors = ["+ve+"]; return false; ":r+=" var err = "+ve+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=lr,e.errorPath=Ie,r+=" } else { "}else p?(r+=" if ( "+Ae+" === undefined ",$&&(r+=" || ! Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(H)+"') "),r+=") { "+_+" = true; } else { "):(r+=" if ("+Ae+" !== undefined ",$&&(r+=" && Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(H)+"') "),r+=" ) { ");r+=" "+ie+" } "}}p&&(r+=" if ("+_+") { ",g+="}")}}if(V.length){var Le=V;if(Le)for(var se,Nt=-1,Ta=Le.length-1;Nt<Ta;){se=Le[Nt+=1];var xe=N[se];if(e.opts.strictKeywords?typeof xe=="object"&&Object.keys(xe).length>0||xe===!1:e.util.schemaHasRules(xe,e.RULES.all)){d.schema=xe,d.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(se),d.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(se),$?r+=" "+P+" = "+P+" || Object.keys("+m+"); for (var "+S+"=0; "+S+"<"+P+".length; "+S+"++) { var "+v+" = "+P+"["+S+"]; ":r+=" for (var "+v+" in "+m+") { ",r+=" if ("+e.usePattern(se)+".test("+v+")) { ",d.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers);var Pe=m+"["+v+"]";d.dataPathArr[O]=v;var ie=e.validate(d);d.baseId=F,e.util.varOccurences(ie,R)<2?r+=" "+e.util.varReplace(ie,R,Pe)+" ":r+=" var "+R+" = "+Pe+"; "+ie+" ",p&&(r+=" if (!"+_+") break; "),r+=" } ",p&&(r+=" else "+_+" = true; "),r+=" } ",p&&(r+=" if ("+_+") { ",g+="}")}}}return p&&(r+=" "+g+" if ("+E+" == errors) {"),r}});var Fi=X((ah,ji)=>{"use strict";ji.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="errs__"+n,d=e.util.copy(e),g="";d.level++;var _="valid"+d.level;if(r+="var "+E+" = errors;",e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){d.schema=o,d.schemaPath=c,d.errSchemaPath=u;var v="key"+n,S="idx"+n,O="i"+n,R="' + "+v+" + '",P=d.dataLevel=e.dataLevel+1,A="data"+P,N="dataProperties"+n,V=e.opts.ownProperties,q=e.baseId;V&&(r+=" var "+N+" = undefined; "),V?r+=" "+N+" = "+N+" || Object.keys("+m+"); for (var "+S+"=0; "+S+"<"+N+".length; "+S+"++) { var "+v+" = "+N+"["+S+"]; ":r+=" for (var "+v+" in "+m+") { ",r+=" var startErrs"+n+" = errors; ";var D=v,U=e.compositeRule;e.compositeRule=d.compositeRule=!0;var M=e.validate(d);d.baseId=q,e.util.varOccurences(M,A)<2?r+=" "+e.util.varReplace(M,A,D)+" ":r+=" var "+A+" = "+D+"; "+M+" ",e.compositeRule=d.compositeRule=U,r+=" if (!"+_+") { for (var "+O+"=startErrs"+n+"; "+O+"<errors; "+O+"++) { vErrors["+O+"].propertyName = "+v+"; } var err = ",e.createErrors!==!1?(r+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { propertyName: '"+R+"' } ",e.opts.messages!==!1&&(r+=" , message: 'property name \\'"+R+"\\' is invalid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),p&&(r+=" break; "),r+=" } }"}return p&&(r+=" "+g+" if ("+E+" == errors) {"),r}});var qi=X((sh,Mi)=>{"use strict";Mi.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="valid"+n,d=e.opts.$data&&o&&o.$data,g;d?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+n):g=o;var _="schema"+n;if(!d)if(o.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var v=[],S=o;if(S)for(var O,R=-1,P=S.length-1;R<P;){O=S[R+=1];var A=e.schema.properties[O];A&&(e.opts.strictKeywords?typeof A=="object"&&Object.keys(A).length>0||A===!1:e.util.schemaHasRules(A,e.RULES.all))||(v[v.length]=O)}}else var v=o;if(d||v.length){var N=e.errorPath,V=d||v.length>=e.opts.loopRequired,q=e.opts.ownProperties;if(p)if(r+=" var missing"+n+"; ",V){d||(r+=" var "+_+" = validate.schema"+c+"; ");var D="i"+n,U="schema"+n+"["+D+"]",M="' + "+U+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(N,U,e.opts.jsonPointers)),r+=" var "+E+" = true; ",d&&(r+=" if (schema"+n+" === undefined) "+E+" = true; else if (!Array.isArray(schema"+n+")) "+E+" = false; else {"),r+=" for (var "+D+" = 0; "+D+" < "+_+".length; "+D+"++) { "+E+" = "+m+"["+_+"["+D+"]] !== undefined ",q&&(r+=" && Object.prototype.hasOwnProperty.call("+m+", "+_+"["+D+"]) "),r+="; if (!"+E+") break; } ",d&&(r+=" } "),r+=" if (!"+E+") { ";var j=j||[];j.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+M+"' } ",e.opts.messages!==!1&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+M+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var I=r;r=j.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+I+"]); ":r+=" validate.errors = ["+I+"]; return false; ":r+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var $=v;if($)for(var F,D=-1,le=$.length-1;D<le;){F=$[D+=1],D&&(r+=" || ");var J=e.util.getProperty(F),re=m+J;r+=" ( ( "+re+" === undefined ",q&&(r+=" || ! Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(F)+"') "),r+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?F:J)+") ) "}r+=") { ";var U="missing"+n,M="' + "+U+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(N,U,!0):N+" + "+U);var j=j||[];j.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+M+"' } ",e.opts.messages!==!1&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+M+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var I=r;r=j.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+I+"]); ":r+=" validate.errors = ["+I+"]; return false; ":r+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else if(V){d||(r+=" var "+_+" = validate.schema"+c+"; ");var D="i"+n,U="schema"+n+"["+D+"]",M="' + "+U+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(N,U,e.opts.jsonPointers)),d&&(r+=" if ("+_+" && !Array.isArray("+_+")) { var err = ",e.createErrors!==!1?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+M+"' } ",e.opts.messages!==!1&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+M+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+_+" !== undefined) { "),r+=" for (var "+D+" = 0; "+D+" < "+_+".length; "+D+"++) { if ("+m+"["+_+"["+D+"]] === undefined ",q&&(r+=" || ! Object.prototype.hasOwnProperty.call("+m+", "+_+"["+D+"]) "),r+=") { var err = ",e.createErrors!==!1?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+M+"' } ",e.opts.messages!==!1&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+M+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",d&&(r+=" } ")}else{var K=v;if(K)for(var F,H=-1,me=K.length-1;H<me;){F=K[H+=1];var J=e.util.getProperty(F),M=e.util.escapeQuotes(F),re=m+J;e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(N,F,e.opts.jsonPointers)),r+=" if ( "+re+" === undefined ",q&&(r+=" || ! Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(F)+"') "),r+=") { var err = ",e.createErrors!==!1?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+M+"' } ",e.opts.messages!==!1&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+M+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=N}else p&&(r+=" if (true) {");return r}});var zi=X((nh,Ui)=>{"use strict";Ui.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(i||""),E="valid"+n,d=e.opts.$data&&o&&o.$data,g;if(d?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+n):g=o,(o||d)&&e.opts.uniqueItems!==!1){d&&(r+=" var "+E+"; if ("+g+" === false || "+g+" === undefined) "+E+" = true; else if (typeof "+g+" != 'boolean') "+E+" = false; else { "),r+=" var i = "+m+".length , "+E+" = true , j; if (i > 1) { ";var _=e.schema.items&&e.schema.items.type,v=Array.isArray(_);if(!_||_=="object"||_=="array"||v&&(_.indexOf("object")>=0||_.indexOf("array")>=0))r+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+m+"[i], "+m+"[j])) { "+E+" = false; break outer; } } } ";else{r+=" var itemIndices = {}, item; for (;i--;) { var item = "+m+"[i]; ";var S="checkDataType"+(v?"s":"");r+=" if ("+e.util[S](_,"item",e.opts.strictNumbers,!0)+") continue; ",v&&(r+=` if (typeof item == 'string') item = '"' + item; `),r+=" if (typeof itemIndices[item] == 'number') { "+E+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}r+=" } ",d&&(r+=" } "),r+=" if (!"+E+") { ";var O=O||[];O.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(r+=" , schema: ",d?r+="validate.schema"+c:r+=""+o,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var R=r;r=O.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+R+"]); ":r+=" validate.errors = ["+R+"]; return false; ":r+=" var err = "+R+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",p&&(r+=" else { ")}else p&&(r+=" if (true) { ");return r}});var Hi=X((ih,Vi)=>{"use strict";Vi.exports={$ref:ti(),allOf:si(),anyOf:ii(),$comment:li(),const:ui(),contains:fi(),dependencies:hi(),enum:vi(),format:yi(),if:Ei(),items:Si(),maximum:cs(),minimum:cs(),maxItems:us(),minItems:us(),maxLength:ds(),minLength:ds(),maxProperties:fs(),minProperties:fs(),multipleOf:wi(),not:Ai(),oneOf:Di(),pattern:Ci(),properties:Li(),propertyNames:Fi(),required:qi(),uniqueItems:zi(),validate:os()}});var Xi=X((oh,Zi)=>{"use strict";var Bi=Hi(),ps=Qr().toHash;Zi.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"],s=["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"],r=["number","integer","string","array","object","boolean","null"];return e.all=ps(t),e.types=ps(r),e.forEach(function(n){n.rules=n.rules.map(function(i){var o;if(typeof i=="object"){var c=Object.keys(i)[0];o=i[c],i=c,o.forEach(function(p){t.push(p),e.all[p]=!0})}t.push(i);var u=e.all[i]={keyword:i,code:Bi[i],implements:o};return u}),e.all.$comment={keyword:"$comment",code:Bi.$comment},n.type&&(e.types[n.type]=n)}),e.keywords=ps(t.concat(s)),e.custom={},e}});var Wi=X((lh,Gi)=>{"use strict";var Qi=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];Gi.exports=function(a,e){for(var t=0;t<e.length;t++){a=JSON.parse(JSON.stringify(a));var s=e[t].split("/"),r=a,n;for(n=1;n<s.length;n++)r=r[s[n]];for(n=0;n<Qi.length;n++){var i=Qi[n],o=r[i];o&&(r[i]={anyOf:[o,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]})}}return a}});var Yi=X((ch,Ji)=>{"use strict";var Dd=sa().MissingRef;Ji.exports=Ki;function Ki(a,e,t){var s=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");typeof e=="function"&&(t=e,e=void 0);var r=n(a).then(function(){var o=s._addSchema(a,void 0,e);return o.validate||i(o)});return t&&r.then(function(o){t(null,o)},t),r;function n(o){var c=o.$schema;return c&&!s.getSchema(c)?Ki.call(s,{$ref:c},!0):Promise.resolve()}function i(o){try{return s._compile(o)}catch(u){if(u instanceof Dd)return c(u);throw u}function c(u){var p=u.missingSchema;if(d(p))throw new Error("Schema "+p+" is loaded but "+u.missingRef+" cannot be resolved");var m=s._loadingSchemas[p];return m||(m=s._loadingSchemas[p]=s._opts.loadSchema(p),m.then(E,E)),m.then(function(g){if(!d(p))return n(g).then(function(){d(p)||s.addSchema(g,p,void 0,e)})}).then(function(){return i(o)});function E(){delete s._loadingSchemas[p]}function d(g){return s._refs[g]||s._schemas[g]}}}}});var ro=X((uh,eo)=>{"use strict";eo.exports=function(e,t,s){var r=" ",n=e.level,i=e.dataLevel,o=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m,E="data"+(i||""),d="valid"+n,g="errs__"+n,_=e.opts.$data&&o&&o.$data,v;_?(r+=" var schema"+n+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",v="schema"+n):v=o;var S=this,O="definition"+n,R=S.definition,P="",A,N,V,q,D;if(_&&R.$data){D="keywordValidate"+n;var U=R.validateSchema;r+=" var "+O+" = RULES.custom['"+t+"'].definition; var "+D+" = "+O+".validate;"}else{if(q=e.useCustomRule(S,o,e.schema,e),!q)return;v="validate.schema"+c,D=q.code,A=R.compile,N=R.inline,V=R.macro}var M=D+".errors",j="i"+n,I="ruleErr"+n,$=R.async;if($&&!e.async)throw new Error("async keyword in sync schema");if(N||V||(r+=""+M+" = null;"),r+="var "+g+" = errors;var "+d+";",_&&R.$data&&(P+="}",r+=" if ("+v+" === undefined) { "+d+" = true; } else { ",U&&(P+="}",r+=" "+d+" = "+O+".validateSchema("+v+"); if ("+d+") { ")),N)R.statements?r+=" "+q.validate+" ":r+=" "+d+" = "+q.validate+"; ";else if(V){var F=e.util.copy(e),P="";F.level++;var le="valid"+F.level;F.schema=q.validate,F.schemaPath="";var J=e.compositeRule;e.compositeRule=F.compositeRule=!0;var re=e.validate(F).replace(/validate\.schema/g,D);e.compositeRule=F.compositeRule=J,r+=" "+re}else{var K=K||[];K.push(r),r="",r+=" "+D+".call( ",e.opts.passContext?r+="this":r+="self",A||R.schema===!1?r+=" , "+E+" ":r+=" , "+v+" , "+E+" , validate.schema"+e.schemaPath+" ",r+=" , (dataPath || '')",e.errorPath!='""'&&(r+=" + "+e.errorPath);var H=i?"data"+(i-1||""):"parentData",me=i?e.dataPathArr[i]:"parentDataProperty";r+=" , "+H+" , "+me+" , rootData ) ";var Te=r;r=K.pop(),R.errors===!1?(r+=" "+d+" = ",$&&(r+="await "),r+=""+Te+"; "):$?(M="customErrors"+n,r+=" var "+M+" = null; try { "+d+" = await "+Te+"; } catch (e) { "+d+" = false; if (e instanceof ValidationError) "+M+" = e.errors; else throw e; } "):r+=" "+M+" = null; "+d+" = "+Te+"; "}if(R.modifying&&(r+=" if ("+H+") "+E+" = "+H+"["+me+"];"),r+=""+P,R.valid)p&&(r+=" if (true) { ");else{r+=" if ( ",R.valid===void 0?(r+=" !",V?r+=""+le:r+=""+d):r+=" "+!R.valid+" ",r+=") { ",m=S.keyword;var K=K||[];K.push(r),r="";var K=K||[];K.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(m||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+S.keyword+"' } ",e.opts.messages!==!1&&(r+=` , message: 'should pass "`+S.keyword+`" keyword validation' `),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+E+" "),r+=" } "):r+=" {} ";var we=r;r=K.pop(),!e.compositeRule&&p?e.async?r+=" throw new ValidationError(["+we+"]); ":r+=" validate.errors = ["+we+"]; return false; ":r+=" var err = "+we+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var se=r;r=K.pop(),N?R.errors?R.errors!="full"&&(r+=" for (var "+j+"="+g+"; "+j+"<errors; "+j+"++) { var "+I+" = vErrors["+j+"]; if ("+I+".dataPath === undefined) "+I+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+I+".schemaPath === undefined) { "+I+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(r+=" "+I+".schema = "+v+"; "+I+".data = "+E+"; "),r+=" } "):R.errors===!1?r+=" "+se+" ":(r+=" if ("+g+" == errors) { "+se+" } else { for (var "+j+"="+g+"; "+j+"<errors; "+j+"++) { var "+I+" = vErrors["+j+"]; if ("+I+".dataPath === undefined) "+I+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+I+".schemaPath === undefined) { "+I+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(r+=" "+I+".schema = "+v+"; "+I+".data = "+E+"; "),r+=" } } "):V?(r+=" var err = ",e.createErrors!==!1?(r+=" { keyword: '"+(m||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+S.keyword+"' } ",e.opts.messages!==!1&&(r+=` , message: 'should pass "`+S.keyword+`" keyword validation' `),e.opts.verbose&&(r+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+E+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&p&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; ")):R.errors===!1?r+=" "+se+" ":(r+=" if (Array.isArray("+M+")) { if (vErrors === null) vErrors = "+M+"; else vErrors = vErrors.concat("+M+"); errors = vErrors.length; for (var "+j+"="+g+"; "+j+"<errors; "+j+"++) { var "+I+" = vErrors["+j+"]; if ("+I+".dataPath === undefined) "+I+".dataPath = (dataPath || '') + "+e.errorPath+"; "+I+'.schemaPath = "'+u+'"; ',e.opts.verbose&&(r+=" "+I+".schema = "+v+"; "+I+".data = "+E+"; "),r+=" } } else { "+se+" } "),r+=" } ",p&&(r+=" else { ")}return r}});var hs=X((dh,$d)=>{$d.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var so=X((fh,ao)=>{"use strict";var to=hs();ao.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:to.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:to.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}});var io=X((ph,no)=>{"use strict";var Cd=/^[a-z_$][a-z0-9_$-]*$/i,kd=ro(),Ld=so();no.exports={add:jd,get:Fd,remove:Md,validate:ms};function jd(a,e){var t=this.RULES;if(t.keywords[a])throw new Error("Keyword "+a+" is already defined");if(!Cd.test(a))throw new Error("Keyword "+a+" is not a valid identifier");if(e){this.validateKeyword(e,!0);var s=e.type;if(Array.isArray(s))for(var r=0;r<s.length;r++)i(a,s[r],e);else i(a,s,e);var n=e.metaSchema;n&&(e.$data&&this._opts.$data&&(n={anyOf:[n,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}),e.validateSchema=this.compile(n,!0))}t.keywords[a]=t.all[a]=!0;function i(o,c,u){for(var p,m=0;m<t.length;m++){var E=t[m];if(E.type==c){p=E;break}}p||(p={type:c,rules:[]},t.push(p));var d={keyword:o,definition:u,custom:!0,code:kd,implements:u.implements};p.rules.push(d),t.custom[o]=d}return this}function Fd(a){var e=this.RULES.custom[a];return e?e.definition:this.RULES.keywords[a]||!1}function Md(a){var e=this.RULES;delete e.keywords[a],delete e.all[a],delete e.custom[a];for(var t=0;t<e.length;t++)for(var s=e[t].rules,r=0;r<s.length;r++)if(s[r].keyword==a){s.splice(r,1);break}return this}function ms(a,e){ms.errors=null;var t=this._validateKeyword=this._validateKeyword||this.compile(Ld,!0);if(t(a))return!0;if(ms.errors=t.errors,e)throw new Error("custom keyword definition is invalid: "+this.errorsText(t.errors));return!1}});var oo=X((hh,qd)=>{qd.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var yo=X((mh,go)=>{"use strict";var co=qn(),Gr=aa(),Ud=zn(),uo=es(),zd=is(),Vd=ei(),Hd=Xi(),fo=Wi(),po=Qr();go.exports=ge;ge.prototype.validate=Zd;ge.prototype.compile=Xd;ge.prototype.addSchema=Qd;ge.prototype.addMetaSchema=Gd;ge.prototype.validateSchema=Wd;ge.prototype.getSchema=Jd;ge.prototype.removeSchema=ef;ge.prototype.addFormat=cf;ge.prototype.errorsText=lf;ge.prototype._addSchema=rf;ge.prototype._compile=tf;ge.prototype.compileAsync=Yi();var fa=io();ge.prototype.addKeyword=fa.add;ge.prototype.getKeyword=fa.get;ge.prototype.removeKeyword=fa.remove;ge.prototype.validateKeyword=fa.validate;var ho=sa();ge.ValidationError=ho.Validation;ge.MissingRefError=ho.MissingRef;ge.$dataMetaSchema=fo;var da="http://json-schema.org/draft-07/schema",lo=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],Bd=["/properties"];function ge(a){if(!(this instanceof ge))return new ge(a);a=this._opts=po.copy(a)||{},mf(this),this._schemas={},this._refs={},this._fragments={},this._formats=Vd(a.format),this._cache=a.cache||new Ud,this._loadingSchemas={},this._compilations=[],this.RULES=Hd(),this._getId=af(a),a.loopRequired=a.loopRequired||1/0,a.errorDataPath=="property"&&(a._errorDataPathProperty=!0),a.serialize===void 0&&(a.serialize=zd),this._metaOpts=hf(this),a.formats&&ff(this),a.keywords&&pf(this),uf(this),typeof a.meta=="object"&&this.addMetaSchema(a.meta),a.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),df(this)}function Zd(a,e){var t;if(typeof a=="string"){if(t=this.getSchema(a),!t)throw new Error('no schema with key or ref "'+a+'"')}else{var s=this._addSchema(a);t=s.validate||this._compile(s)}var r=t(e);return t.$async!==!0&&(this.errors=t.errors),r}function Xd(a,e){var t=this._addSchema(a,void 0,e);return t.validate||this._compile(t)}function Qd(a,e,t,s){if(Array.isArray(a)){for(var r=0;r<a.length;r++)this.addSchema(a[r],void 0,t,s);return this}var n=this._getId(a);if(n!==void 0&&typeof n!="string")throw new Error("schema id must be string");return e=Gr.normalizeId(e||n),vo(this,e),this._schemas[e]=this._addSchema(a,t,s,!0),this}function Gd(a,e,t){return this.addSchema(a,e,t,!0),this}function Wd(a,e){var t=a.$schema;if(t!==void 0&&typeof t!="string")throw new Error("$schema must be a string");if(t=t||this._opts.defaultMeta||Kd(this),!t)return this.logger.warn("meta-schema not available"),this.errors=null,!0;var s=this.validate(t,a);if(!s&&e){var r="schema is invalid: "+this.errorsText();if(this._opts.validateSchema=="log")this.logger.error(r);else throw new Error(r)}return s}function Kd(a){var e=a._opts.meta;return a._opts.defaultMeta=typeof e=="object"?a._getId(e)||e:a.getSchema(da)?da:void 0,a._opts.defaultMeta}function Jd(a){var e=mo(this,a);switch(typeof e){case"object":return e.validate||this._compile(e);case"string":return this.getSchema(e);case"undefined":return Yd(this,a)}}function Yd(a,e){var t=Gr.schema.call(a,{schema:{}},e);if(t){var s=t.schema,r=t.root,n=t.baseId,i=co.call(a,s,r,void 0,n);return a._fragments[e]=new uo({ref:e,fragment:!0,schema:s,root:r,baseId:n,validate:i}),i}}function mo(a,e){return e=Gr.normalizeId(e),a._schemas[e]||a._refs[e]||a._fragments[e]}function ef(a){if(a instanceof RegExp)return ua(this,this._schemas,a),ua(this,this._refs,a),this;switch(typeof a){case"undefined":return ua(this,this._schemas),ua(this,this._refs),this._cache.clear(),this;case"string":var e=mo(this,a);return e&&this._cache.del(e.cacheKey),delete this._schemas[a],delete this._refs[a],this;case"object":var t=this._opts.serialize,s=t?t(a):a;this._cache.del(s);var r=this._getId(a);r&&(r=Gr.normalizeId(r),delete this._schemas[r],delete this._refs[r])}return this}function ua(a,e,t){for(var s in e){var r=e[s];!r.meta&&(!t||t.test(s))&&(a._cache.del(r.cacheKey),delete e[s])}}function rf(a,e,t,s){if(typeof a!="object"&&typeof a!="boolean")throw new Error("schema should be object or boolean");var r=this._opts.serialize,n=r?r(a):a,i=this._cache.get(n);if(i)return i;s=s||this._opts.addUsedSchema!==!1;var o=Gr.normalizeId(this._getId(a));o&&s&&vo(this,o);var c=this._opts.validateSchema!==!1&&!e,u;c&&!(u=o&&o==Gr.normalizeId(a.$schema))&&this.validateSchema(a,!0);var p=Gr.ids.call(this,a),m=new uo({id:o,schema:a,localRefs:p,cacheKey:n,meta:t});return o[0]!="#"&&s&&(this._refs[o]=m),this._cache.put(n,m),c&&u&&this.validateSchema(a,!0),m}function tf(a,e){if(a.compiling)return a.validate=r,r.schema=a.schema,r.errors=null,r.root=e||r,a.schema.$async===!0&&(r.$async=!0),r;a.compiling=!0;var t;a.meta&&(t=this._opts,this._opts=this._metaOpts);var s;try{s=co.call(this,a.schema,e,a.localRefs)}catch(n){throw delete a.validate,n}finally{a.compiling=!1,a.meta&&(this._opts=t)}return a.validate=s,a.refs=s.refs,a.refVal=s.refVal,a.root=s.root,s;function r(){var n=a.validate,i=n.apply(this,arguments);return r.errors=n.errors,i}}function af(a){switch(a.schemaId){case"auto":return of;case"id":return sf;default:return nf}}function sf(a){return a.$id&&this.logger.warn("schema $id ignored",a.$id),a.id}function nf(a){return a.id&&this.logger.warn("schema id ignored",a.id),a.$id}function of(a){if(a.$id&&a.id&&a.$id!=a.id)throw new Error("schema $id is different from id");return a.$id||a.id}function lf(a,e){if(a=a||this.errors,!a)return"No errors";e=e||{};for(var t=e.separator===void 0?", ":e.separator,s=e.dataVar===void 0?"data":e.dataVar,r="",n=0;n<a.length;n++){var i=a[n];i&&(r+=s+i.dataPath+" "+i.message+t)}return r.slice(0,-t.length)}function cf(a,e){return typeof e=="string"&&(e=new RegExp(e)),this._formats[a]=e,this}function uf(a){var e;if(a._opts.$data&&(e=oo(),a.addMetaSchema(e,e.$id,!0)),a._opts.meta!==!1){var t=hs();a._opts.$data&&(t=fo(t,Bd)),a.addMetaSchema(t,da,!0),a._refs["http://json-schema.org/schema"]=da}}function df(a){var e=a._opts.schemas;if(e)if(Array.isArray(e))a.addSchema(e);else for(var t in e)a.addSchema(e[t],t)}function ff(a){for(var e in a._opts.formats){var t=a._opts.formats[e];a.addFormat(e,t)}}function pf(a){for(var e in a._opts.keywords){var t=a._opts.keywords[e];a.addKeyword(e,t)}}function vo(a,e){if(a._schemas[e]||a._refs[e])throw new Error('schema with key or id "'+e+'" already exists')}function hf(a){for(var e=po.copy(a._opts),t=0;t<lo.length;t++)delete e[lo[t]];return e}function mf(a){var e=a._opts.logger;if(e===!1)a.logger={log:vs,warn:vs,error:vs};else{if(e===void 0&&(e=console),!(typeof e=="object"&&e.log&&e.warn&&e.error))throw new Error("logger must implement log, warn and error methods");a.logger=e}}function vs(){}});var l={};wl(l,{BRAND:()=>tc,DIRTY:()=>Dr,EMPTY_PATH:()=>Cl,INVALID:()=>B,NEVER:()=>qc,OK:()=>Oe,ParseStatus:()=>Re,Schema:()=>W,ZodAny:()=>br,ZodArray:()=>vr,ZodBigInt:()=>Cr,ZodBoolean:()=>kr,ZodBranded:()=>bt,ZodCatch:()=>Zr,ZodDate:()=>Lr,ZodDefault:()=>Br,ZodDiscriminatedUnion:()=>jt,ZodEffects:()=>He,ZodEnum:()=>Vr,ZodError:()=>$e,ZodFirstPartyTypeKind:()=>w,ZodFunction:()=>Mt,ZodIntersection:()=>qr,ZodIssueCode:()=>T,ZodLazy:()=>Ur,ZodLiteral:()=>zr,ZodMap:()=>ct,ZodNaN:()=>dt,ZodNativeEnum:()=>Hr,ZodNever:()=>Qe,ZodNull:()=>Fr,ZodNullable:()=>nr,ZodNumber:()=>$r,ZodObject:()=>Ce,ZodOptional:()=>ze,ZodParsedType:()=>k,ZodPipeline:()=>St,ZodPromise:()=>Sr,ZodReadonly:()=>Xr,ZodRecord:()=>Ft,ZodSchema:()=>W,ZodSet:()=>ut,ZodString:()=>Er,ZodSymbol:()=>ot,ZodTransformer:()=>He,ZodTuple:()=>sr,ZodType:()=>W,ZodUndefined:()=>jr,ZodUnion:()=>Mr,ZodUnknown:()=>mr,ZodVoid:()=>lt,addIssueToContext:()=>C,any:()=>dc,array:()=>mc,bigint:()=>ic,boolean:()=>Ws,coerce:()=>Mc,custom:()=>Xs,date:()=>oc,datetimeRegex:()=>Bs,defaultErrorMap:()=>pr,discriminatedUnion:()=>_c,effect:()=>Nc,enum:()=>wc,function:()=>Tc,getErrorMap:()=>st,getParsedType:()=>ar,instanceof:()=>sc,intersection:()=>Ec,isAborted:()=>kt,isAsync:()=>nt,isDirty:()=>Lt,isValid:()=>_r,late:()=>ac,lazy:()=>Pc,literal:()=>Oc,makeIssue:()=>Et,map:()=>xc,nan:()=>nc,nativeEnum:()=>Ic,never:()=>pc,null:()=>uc,nullable:()=>$c,number:()=>Gs,object:()=>vc,objectUtil:()=>Aa,oboolean:()=>Fc,onumber:()=>jc,optional:()=>Dc,ostring:()=>Lc,pipeline:()=>kc,preprocess:()=>Cc,promise:()=>Ac,quotelessJson:()=>Nl,record:()=>Sc,set:()=>Rc,setErrorMap:()=>$l,strictObject:()=>gc,string:()=>Qs,symbol:()=>lc,transformer:()=>Nc,tuple:()=>bc,undefined:()=>cc,union:()=>yc,unknown:()=>fc,util:()=>Y,void:()=>hc});var Y;(function(a){a.assertEqual=r=>{};function e(r){}a.assertIs=e;function t(r){throw new Error}a.assertNever=t,a.arrayToEnum=r=>{let n={};for(let i of r)n[i]=i;return n},a.getValidEnumValues=r=>{let n=a.objectKeys(r).filter(o=>typeof r[r[o]]!="number"),i={};for(let o of n)i[o]=r[o];return a.objectValues(i)},a.objectValues=r=>a.objectKeys(r).map(function(n){return r[n]}),a.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{let n=[];for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&n.push(i);return n},a.find=(r,n)=>{for(let i of r)if(n(i))return i},a.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&Number.isFinite(r)&&Math.floor(r)===r;function s(r,n=" | "){return r.map(i=>typeof i=="string"?`'${i}'`:i).join(n)}a.joinValues=s,a.jsonStringifyReplacer=(r,n)=>typeof n=="bigint"?n.toString():n})(Y||(Y={}));var Aa;(function(a){a.mergeShapes=(e,t)=>({...e,...t})})(Aa||(Aa={}));var k=Y.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ar=a=>{switch(typeof a){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(a)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":return Array.isArray(a)?k.array:a===null?k.null:a.then&&typeof a.then=="function"&&a.catch&&typeof a.catch=="function"?k.promise:typeof Map<"u"&&a instanceof Map?k.map:typeof Set<"u"&&a instanceof Set?k.set:typeof Date<"u"&&a instanceof Date?k.date:k.object;default:return k.unknown}};var T=Y.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Nl=a=>JSON.stringify(a,null,2).replace(/"([^"]+)":/g,"$1:"),$e=class a extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(n){return n.message},s={_errors:[]},r=n=>{for(let i of n.issues)if(i.code==="invalid_union")i.unionErrors.map(r);else if(i.code==="invalid_return_type")r(i.returnTypeError);else if(i.code==="invalid_arguments")r(i.argumentsError);else if(i.path.length===0)s._errors.push(t(i));else{let o=s,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(t(i))):o[u]=o[u]||{_errors:[]},o=o[u],c++}}};return r(this),s}static assert(e){if(!(e instanceof a))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Y.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){let t={},s=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else s.push(e(r));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}};$e.create=a=>new $e(a);var Dl=(a,e)=>{let t;switch(a.code){case T.invalid_type:a.received===k.undefined?t="Required":t=`Expected ${a.expected}, received ${a.received}`;break;case T.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(a.expected,Y.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:t=`Unrecognized key(s) in object: ${Y.joinValues(a.keys,", ")}`;break;case T.invalid_union:t="Invalid input";break;case T.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${Y.joinValues(a.options)}`;break;case T.invalid_enum_value:t=`Invalid enum value. Expected ${Y.joinValues(a.options)}, received '${a.received}'`;break;case T.invalid_arguments:t="Invalid function arguments";break;case T.invalid_return_type:t="Invalid function return type";break;case T.invalid_date:t="Invalid date";break;case T.invalid_string:typeof a.validation=="object"?"includes"in a.validation?(t=`Invalid input: must include "${a.validation.includes}"`,typeof a.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${a.validation.position}`)):"startsWith"in a.validation?t=`Invalid input: must start with "${a.validation.startsWith}"`:"endsWith"in a.validation?t=`Invalid input: must end with "${a.validation.endsWith}"`:Y.assertNever(a.validation):a.validation!=="regex"?t=`Invalid ${a.validation}`:t="Invalid";break;case T.too_small:a.type==="array"?t=`Array must contain ${a.exact?"exactly":a.inclusive?"at least":"more than"} ${a.minimum} element(s)`:a.type==="string"?t=`String must contain ${a.exact?"exactly":a.inclusive?"at least":"over"} ${a.minimum} character(s)`:a.type==="number"?t=`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:a.type==="bigint"?t=`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:a.type==="date"?t=`Date must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(a.minimum))}`:t="Invalid input";break;case T.too_big:a.type==="array"?t=`Array must contain ${a.exact?"exactly":a.inclusive?"at most":"less than"} ${a.maximum} element(s)`:a.type==="string"?t=`String must contain ${a.exact?"exactly":a.inclusive?"at most":"under"} ${a.maximum} character(s)`:a.type==="number"?t=`Number must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="bigint"?t=`BigInt must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="date"?t=`Date must be ${a.exact?"exactly":a.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(a.maximum))}`:t="Invalid input";break;case T.custom:t="Invalid input";break;case T.invalid_intersection_types:t="Intersection results could not be merged";break;case T.not_multiple_of:t=`Number must be a multiple of ${a.multipleOf}`;break;case T.not_finite:t="Number must be finite";break;default:t=e.defaultError,Y.assertNever(a)}return{message:t}},pr=Dl;var qs=pr;function $l(a){qs=a}function st(){return qs}var Et=a=>{let{data:e,path:t,errorMaps:s,issueData:r}=a,n=[...t,...r.path||[]],i={...r,path:n};if(r.message!==void 0)return{...r,path:n,message:r.message};let o="",c=s.filter(u=>!!u).slice().reverse();for(let u of c)o=u(i,{data:e,defaultError:o}).message;return{...r,path:n,message:o}},Cl=[];function C(a,e){let t=st(),s=Et({issueData:e,data:a.data,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,t,t===pr?void 0:pr].filter(r=>!!r)});a.common.issues.push(s)}var Re=class a{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){let s=[];for(let r of t){if(r.status==="aborted")return B;r.status==="dirty"&&e.dirty(),s.push(r.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){let s=[];for(let r of t){let n=await r.key,i=await r.value;s.push({key:n,value:i})}return a.mergeObjectSync(e,s)}static mergeObjectSync(e,t){let s={};for(let r of t){let{key:n,value:i}=r;if(n.status==="aborted"||i.status==="aborted")return B;n.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),n.value!=="__proto__"&&(typeof i.value<"u"||r.alwaysSet)&&(s[n.value]=i.value)}return{status:e.value,value:s}}},B=Object.freeze({status:"aborted"}),Dr=a=>({status:"dirty",value:a}),Oe=a=>({status:"valid",value:a}),kt=a=>a.status==="aborted",Lt=a=>a.status==="dirty",_r=a=>a.status==="valid",nt=a=>typeof Promise<"u"&&a instanceof Promise;var z;(function(a){a.errToObj=e=>typeof e=="string"?{message:e}:e||{},a.toString=e=>typeof e=="string"?e:e?.message})(z||(z={}));var Ve=class{constructor(e,t,s,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Us=(a,e)=>{if(_r(e))return{success:!0,data:e.value};if(!a.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new $e(a.common.issues);return this._error=t,this._error}}};function Q(a){if(!a)return{};let{errorMap:e,invalid_type_error:t,required_error:s,description:r}=a;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:r}:{errorMap:(i,o)=>{let{message:c}=a;return i.code==="invalid_enum_value"?{message:c??o.defaultError}:typeof o.data>"u"?{message:c??s??o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:c??t??o.defaultError}},description:r}}var W=class{get description(){return this._def.description}_getType(e){return ar(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:ar(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Re,ctx:{common:e.parent.common,data:e.data,parsedType:ar(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(nt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){let s={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ar(e)},r=this._parseSync({data:e,path:s.path,parent:s});return Us(s,r)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ar(e)};if(!this["~standard"].async)try{let s=this._parseSync({data:e,path:[],parent:t});return _r(s)?{value:s.value}:{issues:t.common.issues}}catch(s){s?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(s=>_r(s)?{value:s.value}:{issues:t.common.issues})}async parseAsync(e,t){let s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){let s={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ar(e)},r=this._parse({data:e,path:s.path,parent:s}),n=await(nt(r)?r:Promise.resolve(r));return Us(s,n)}refine(e,t){let s=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,n)=>{let i=e(r),o=()=>n.addIssue({code:T.custom,...s(r)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((s,r)=>e(s)?!0:(r.addIssue(typeof t=="function"?t(s,r):t),!1))}_refinement(e){return new He({schema:this,typeName:w.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return ze.create(this,this._def)}nullable(){return nr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return vr.create(this)}promise(){return Sr.create(this,this._def)}or(e){return Mr.create([this,e],this._def)}and(e){return qr.create(this,e,this._def)}transform(e){return new He({...Q(this._def),schema:this,typeName:w.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new Br({...Q(this._def),innerType:this,defaultValue:t,typeName:w.ZodDefault})}brand(){return new bt({typeName:w.ZodBranded,type:this,...Q(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new Zr({...Q(this._def),innerType:this,catchValue:t,typeName:w.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return St.create(this,e)}readonly(){return Xr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},kl=/^c[^\s-]{8,}$/i,Ll=/^[0-9a-z]+$/,jl=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Fl=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ml=/^[a-z0-9_-]{21}$/i,ql=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ul=/^[-+]?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)?)??$/,zl=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Vl="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Na,Hl=/^(?:(?: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])$/,Bl=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,Zl=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Xl=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ql=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Gl=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Vs="((\\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])))",Wl=new RegExp(`^${Vs}$`);function Hs(a){let e="[0-5]\\d";a.precision?e=`${e}\\.\\d{${a.precision}}`:a.precision==null&&(e=`${e}(\\.\\d+)?`);let t=a.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function Kl(a){return new RegExp(`^${Hs(a)}$`)}function Bs(a){let e=`${Vs}T${Hs(a)}`,t=[];return t.push(a.local?"Z?":"Z"),a.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function Jl(a,e){return!!((e==="v4"||!e)&&Hl.test(a)||(e==="v6"||!e)&&Zl.test(a))}function Yl(a,e){if(!ql.test(a))return!1;try{let[t]=a.split(".");if(!t)return!1;let s=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),r=JSON.parse(atob(s));return!(typeof r!="object"||r===null||"typ"in r&&r?.typ!=="JWT"||!r.alg||e&&r.alg!==e)}catch{return!1}}function ec(a,e){return!!((e==="v4"||!e)&&Bl.test(a)||(e==="v6"||!e)&&Xl.test(a))}var Er=class a extends W{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==k.string){let n=this._getOrReturnCtx(e);return C(n,{code:T.invalid_type,expected:k.string,received:n.parsedType}),B}let s=new Re,r;for(let n of this._def.checks)if(n.kind==="min")e.data.length<n.value&&(r=this._getOrReturnCtx(e,r),C(r,{code:T.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),s.dirty());else if(n.kind==="max")e.data.length>n.value&&(r=this._getOrReturnCtx(e,r),C(r,{code:T.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),s.dirty());else if(n.kind==="length"){let i=e.data.length>n.value,o=e.data.length<n.value;(i||o)&&(r=this._getOrReturnCtx(e,r),i?C(r,{code:T.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}):o&&C(r,{code:T.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}),s.dirty())}else if(n.kind==="email")zl.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"email",code:T.invalid_string,message:n.message}),s.dirty());else if(n.kind==="emoji")Na||(Na=new RegExp(Vl,"u")),Na.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"emoji",code:T.invalid_string,message:n.message}),s.dirty());else if(n.kind==="uuid")Fl.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"uuid",code:T.invalid_string,message:n.message}),s.dirty());else if(n.kind==="nanoid")Ml.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"nanoid",code:T.invalid_string,message:n.message}),s.dirty());else if(n.kind==="cuid")kl.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"cuid",code:T.invalid_string,message:n.message}),s.dirty());else if(n.kind==="cuid2")Ll.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"cuid2",code:T.invalid_string,message:n.message}),s.dirty());else if(n.kind==="ulid")jl.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"ulid",code:T.invalid_string,message:n.message}),s.dirty());else if(n.kind==="url")try{new URL(e.data)}catch{r=this._getOrReturnCtx(e,r),C(r,{validation:"url",code:T.invalid_string,message:n.message}),s.dirty()}else n.kind==="regex"?(n.regex.lastIndex=0,n.regex.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"regex",code:T.invalid_string,message:n.message}),s.dirty())):n.kind==="trim"?e.data=e.data.trim():n.kind==="includes"?e.data.includes(n.value,n.position)||(r=this._getOrReturnCtx(e,r),C(r,{code:T.invalid_string,validation:{includes:n.value,position:n.position},message:n.message}),s.dirty()):n.kind==="toLowerCase"?e.data=e.data.toLowerCase():n.kind==="toUpperCase"?e.data=e.data.toUpperCase():n.kind==="startsWith"?e.data.startsWith(n.value)||(r=this._getOrReturnCtx(e,r),C(r,{code:T.invalid_string,validation:{startsWith:n.value},message:n.message}),s.dirty()):n.kind==="endsWith"?e.data.endsWith(n.value)||(r=this._getOrReturnCtx(e,r),C(r,{code:T.invalid_string,validation:{endsWith:n.value},message:n.message}),s.dirty()):n.kind==="datetime"?Bs(n).test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{code:T.invalid_string,validation:"datetime",message:n.message}),s.dirty()):n.kind==="date"?Wl.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{code:T.invalid_string,validation:"date",message:n.message}),s.dirty()):n.kind==="time"?Kl(n).test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{code:T.invalid_string,validation:"time",message:n.message}),s.dirty()):n.kind==="duration"?Ul.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"duration",code:T.invalid_string,message:n.message}),s.dirty()):n.kind==="ip"?Jl(e.data,n.version)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"ip",code:T.invalid_string,message:n.message}),s.dirty()):n.kind==="jwt"?Yl(e.data,n.alg)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"jwt",code:T.invalid_string,message:n.message}),s.dirty()):n.kind==="cidr"?ec(e.data,n.version)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"cidr",code:T.invalid_string,message:n.message}),s.dirty()):n.kind==="base64"?Ql.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"base64",code:T.invalid_string,message:n.message}),s.dirty()):n.kind==="base64url"?Gl.test(e.data)||(r=this._getOrReturnCtx(e,r),C(r,{validation:"base64url",code:T.invalid_string,message:n.message}),s.dirty()):Y.assertNever(n);return{status:s.value,value:e.data}}_regex(e,t,s){return this.refinement(r=>e.test(r),{validation:t,code:T.invalid_string,...z.errToObj(s)})}_addCheck(e){return new a({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...z.errToObj(e)})}url(e){return this._addCheck({kind:"url",...z.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...z.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...z.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...z.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...z.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...z.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...z.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...z.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...z.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...z.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...z.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...z.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...z.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...z.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...z.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...z.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...z.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...z.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...z.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...z.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...z.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...z.errToObj(t)})}nonempty(e){return this.min(1,z.errToObj(e))}trim(){return new a({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new a({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new a({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};Er.create=a=>new Er({checks:[],typeName:w.ZodString,coerce:a?.coerce??!1,...Q(a)});function rc(a,e){let t=(a.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,r=t>s?t:s,n=Number.parseInt(a.toFixed(r).replace(".","")),i=Number.parseInt(e.toFixed(r).replace(".",""));return n%i/10**r}var $r=class a extends W{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==k.number){let n=this._getOrReturnCtx(e);return C(n,{code:T.invalid_type,expected:k.number,received:n.parsedType}),B}let s,r=new Re;for(let n of this._def.checks)n.kind==="int"?Y.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),C(s,{code:T.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty()):n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(s=this._getOrReturnCtx(e,s),C(s,{code:T.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),C(s,{code:T.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):n.kind==="multipleOf"?rc(e.data,n.value)!==0&&(s=this._getOrReturnCtx(e,s),C(s,{code:T.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),C(s,{code:T.not_finite,message:n.message}),r.dirty()):Y.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,z.toString(t))}gt(e,t){return this.setLimit("min",e,!1,z.toString(t))}lte(e,t){return this.setLimit("max",e,!0,z.toString(t))}lt(e,t){return this.setLimit("max",e,!1,z.toString(t))}setLimit(e,t,s,r){return new a({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:z.toString(r)}]})}_addCheck(e){return new a({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:z.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:z.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:z.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:z.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:z.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:z.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:z.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:z.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:z.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&Y.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(t)&&Number.isFinite(e)}};$r.create=a=>new $r({checks:[],typeName:w.ZodNumber,coerce:a?.coerce||!1,...Q(a)});var Cr=class a extends W{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==k.bigint)return this._getInvalidInput(e);let s,r=new Re;for(let n of this._def.checks)n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(s=this._getOrReturnCtx(e,s),C(s,{code:T.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),C(s,{code:T.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):n.kind==="multipleOf"?e.data%n.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),C(s,{code:T.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):Y.assertNever(n);return{status:r.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return C(t,{code:T.invalid_type,expected:k.bigint,received:t.parsedType}),B}gte(e,t){return this.setLimit("min",e,!0,z.toString(t))}gt(e,t){return this.setLimit("min",e,!1,z.toString(t))}lte(e,t){return this.setLimit("max",e,!0,z.toString(t))}lt(e,t){return this.setLimit("max",e,!1,z.toString(t))}setLimit(e,t,s,r){return new a({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:z.toString(r)}]})}_addCheck(e){return new a({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:z.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:z.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:z.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:z.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:z.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};Cr.create=a=>new Cr({checks:[],typeName:w.ZodBigInt,coerce:a?.coerce??!1,...Q(a)});var kr=class extends W{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==k.boolean){let s=this._getOrReturnCtx(e);return C(s,{code:T.invalid_type,expected:k.boolean,received:s.parsedType}),B}return Oe(e.data)}};kr.create=a=>new kr({typeName:w.ZodBoolean,coerce:a?.coerce||!1,...Q(a)});var Lr=class a extends W{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==k.date){let n=this._getOrReturnCtx(e);return C(n,{code:T.invalid_type,expected:k.date,received:n.parsedType}),B}if(Number.isNaN(e.data.getTime())){let n=this._getOrReturnCtx(e);return C(n,{code:T.invalid_date}),B}let s=new Re,r;for(let n of this._def.checks)n.kind==="min"?e.data.getTime()<n.value&&(r=this._getOrReturnCtx(e,r),C(r,{code:T.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),s.dirty()):n.kind==="max"?e.data.getTime()>n.value&&(r=this._getOrReturnCtx(e,r),C(r,{code:T.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),s.dirty()):Y.assertNever(n);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new a({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:z.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:z.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}};Lr.create=a=>new Lr({checks:[],coerce:a?.coerce||!1,typeName:w.ZodDate,...Q(a)});var ot=class extends W{_parse(e){if(this._getType(e)!==k.symbol){let s=this._getOrReturnCtx(e);return C(s,{code:T.invalid_type,expected:k.symbol,received:s.parsedType}),B}return Oe(e.data)}};ot.create=a=>new ot({typeName:w.ZodSymbol,...Q(a)});var jr=class extends W{_parse(e){if(this._getType(e)!==k.undefined){let s=this._getOrReturnCtx(e);return C(s,{code:T.invalid_type,expected:k.undefined,received:s.parsedType}),B}return Oe(e.data)}};jr.create=a=>new jr({typeName:w.ZodUndefined,...Q(a)});var Fr=class extends W{_parse(e){if(this._getType(e)!==k.null){let s=this._getOrReturnCtx(e);return C(s,{code:T.invalid_type,expected:k.null,received:s.parsedType}),B}return Oe(e.data)}};Fr.create=a=>new Fr({typeName:w.ZodNull,...Q(a)});var br=class extends W{constructor(){super(...arguments),this._any=!0}_parse(e){return Oe(e.data)}};br.create=a=>new br({typeName:w.ZodAny,...Q(a)});var mr=class extends W{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Oe(e.data)}};mr.create=a=>new mr({typeName:w.ZodUnknown,...Q(a)});var Qe=class extends W{_parse(e){let t=this._getOrReturnCtx(e);return C(t,{code:T.invalid_type,expected:k.never,received:t.parsedType}),B}};Qe.create=a=>new Qe({typeName:w.ZodNever,...Q(a)});var lt=class extends W{_parse(e){if(this._getType(e)!==k.undefined){let s=this._getOrReturnCtx(e);return C(s,{code:T.invalid_type,expected:k.void,received:s.parsedType}),B}return Oe(e.data)}};lt.create=a=>new lt({typeName:w.ZodVoid,...Q(a)});var vr=class a extends W{_parse(e){let{ctx:t,status:s}=this._processInputParams(e),r=this._def;if(t.parsedType!==k.array)return C(t,{code:T.invalid_type,expected:k.array,received:t.parsedType}),B;if(r.exactLength!==null){let i=t.data.length>r.exactLength.value,o=t.data.length<r.exactLength.value;(i||o)&&(C(t,{code:i?T.too_big:T.too_small,minimum:o?r.exactLength.value:void 0,maximum:i?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),s.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(C(t,{code:T.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),s.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(C(t,{code:T.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((i,o)=>r.type._parseAsync(new Ve(t,i,t.path,o)))).then(i=>Re.mergeArray(s,i));let n=[...t.data].map((i,o)=>r.type._parseSync(new Ve(t,i,t.path,o)));return Re.mergeArray(s,n)}get element(){return this._def.type}min(e,t){return new a({...this._def,minLength:{value:e,message:z.toString(t)}})}max(e,t){return new a({...this._def,maxLength:{value:e,message:z.toString(t)}})}length(e,t){return new a({...this._def,exactLength:{value:e,message:z.toString(t)}})}nonempty(e){return this.min(1,e)}};vr.create=(a,e)=>new vr({type:a,minLength:null,maxLength:null,exactLength:null,typeName:w.ZodArray,...Q(e)});function it(a){if(a instanceof Ce){let e={};for(let t in a.shape){let s=a.shape[t];e[t]=ze.create(it(s))}return new Ce({...a._def,shape:()=>e})}else return a instanceof vr?new vr({...a._def,type:it(a.element)}):a instanceof ze?ze.create(it(a.unwrap())):a instanceof nr?nr.create(it(a.unwrap())):a instanceof sr?sr.create(a.items.map(e=>it(e))):a}var Ce=class a extends W{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=Y.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==k.object){let u=this._getOrReturnCtx(e);return C(u,{code:T.invalid_type,expected:k.object,received:u.parsedType}),B}let{status:s,ctx:r}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof Qe&&this._def.unknownKeys==="strip"))for(let u in r.data)i.includes(u)||o.push(u);let c=[];for(let u of i){let p=n[u],m=r.data[u];c.push({key:{status:"valid",value:u},value:p._parse(new Ve(r,m,r.path,u)),alwaysSet:u in r.data})}if(this._def.catchall instanceof Qe){let u=this._def.unknownKeys;if(u==="passthrough")for(let p of o)c.push({key:{status:"valid",value:p},value:{status:"valid",value:r.data[p]}});else if(u==="strict")o.length>0&&(C(r,{code:T.unrecognized_keys,keys:o}),s.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let p of o){let m=r.data[p];c.push({key:{status:"valid",value:p},value:u._parse(new Ve(r,m,r.path,p)),alwaysSet:p in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let u=[];for(let p of c){let m=await p.key,E=await p.value;u.push({key:m,value:E,alwaysSet:p.alwaysSet})}return u}).then(u=>Re.mergeObjectSync(s,u)):Re.mergeObjectSync(s,c)}get shape(){return this._def.shape()}strict(e){return z.errToObj,new a({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{let r=this._def.errorMap?.(t,s).message??s.defaultError;return t.code==="unrecognized_keys"?{message:z.errToObj(e).message??r}:{message:r}}}:{}})}strip(){return new a({...this._def,unknownKeys:"strip"})}passthrough(){return new a({...this._def,unknownKeys:"passthrough"})}extend(e){return new a({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new a({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:w.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new a({...this._def,catchall:e})}pick(e){let t={};for(let s of Y.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new a({...this._def,shape:()=>t})}omit(e){let t={};for(let s of Y.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new a({...this._def,shape:()=>t})}deepPartial(){return it(this)}partial(e){let t={};for(let s of Y.objectKeys(this.shape)){let r=this.shape[s];e&&!e[s]?t[s]=r:t[s]=r.optional()}return new a({...this._def,shape:()=>t})}required(e){let t={};for(let s of Y.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof ze;)n=n._def.innerType;t[s]=n}return new a({...this._def,shape:()=>t})}keyof(){return Zs(Y.objectKeys(this.shape))}};Ce.create=(a,e)=>new Ce({shape:()=>a,unknownKeys:"strip",catchall:Qe.create(),typeName:w.ZodObject,...Q(e)});Ce.strictCreate=(a,e)=>new Ce({shape:()=>a,unknownKeys:"strict",catchall:Qe.create(),typeName:w.ZodObject,...Q(e)});Ce.lazycreate=(a,e)=>new Ce({shape:a,unknownKeys:"strip",catchall:Qe.create(),typeName:w.ZodObject,...Q(e)});var Mr=class extends W{_parse(e){let{ctx:t}=this._processInputParams(e),s=this._def.options;function r(n){for(let o of n)if(o.result.status==="valid")return o.result;for(let o of n)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;let i=n.map(o=>new $e(o.ctx.common.issues));return C(t,{code:T.invalid_union,unionErrors:i}),B}if(t.common.async)return Promise.all(s.map(async n=>{let i={...t,common:{...t.common,issues:[]},parent:null};return{result:await n._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(r);{let n,i=[];for(let c of s){let u={...t,common:{...t.common,issues:[]},parent:null},p=c._parseSync({data:t.data,path:t.path,parent:u});if(p.status==="valid")return p;p.status==="dirty"&&!n&&(n={result:p,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(n)return t.common.issues.push(...n.ctx.common.issues),n.result;let o=i.map(c=>new $e(c));return C(t,{code:T.invalid_union,unionErrors:o}),B}}get options(){return this._def.options}};Mr.create=(a,e)=>new Mr({options:a,typeName:w.ZodUnion,...Q(e)});var hr=a=>a instanceof Ur?hr(a.schema):a instanceof He?hr(a.innerType()):a instanceof zr?[a.value]:a instanceof Vr?a.options:a instanceof Hr?Y.objectValues(a.enum):a instanceof Br?hr(a._def.innerType):a instanceof jr?[void 0]:a instanceof Fr?[null]:a instanceof ze?[void 0,...hr(a.unwrap())]:a instanceof nr?[null,...hr(a.unwrap())]:a instanceof bt||a instanceof Xr?hr(a.unwrap()):a instanceof Zr?hr(a._def.innerType):[],jt=class a extends W{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==k.object)return C(t,{code:T.invalid_type,expected:k.object,received:t.parsedType}),B;let s=this.discriminator,r=t.data[s],n=this.optionsMap.get(r);return n?t.common.async?n._parseAsync({data:t.data,path:t.path,parent:t}):n._parseSync({data:t.data,path:t.path,parent:t}):(C(t,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),B)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,s){let r=new Map;for(let n of t){let i=hr(n.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let o of i){if(r.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);r.set(o,n)}}return new a({typeName:w.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:r,...Q(s)})}};function Da(a,e){let t=ar(a),s=ar(e);if(a===e)return{valid:!0,data:a};if(t===k.object&&s===k.object){let r=Y.objectKeys(e),n=Y.objectKeys(a).filter(o=>r.indexOf(o)!==-1),i={...a,...e};for(let o of n){let c=Da(a[o],e[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(t===k.array&&s===k.array){if(a.length!==e.length)return{valid:!1};let r=[];for(let n=0;n<a.length;n++){let i=a[n],o=e[n],c=Da(i,o);if(!c.valid)return{valid:!1};r.push(c.data)}return{valid:!0,data:r}}else return t===k.date&&s===k.date&&+a==+e?{valid:!0,data:a}:{valid:!1}}var qr=class extends W{_parse(e){let{status:t,ctx:s}=this._processInputParams(e),r=(n,i)=>{if(kt(n)||kt(i))return B;let o=Da(n.value,i.value);return o.valid?((Lt(n)||Lt(i))&&t.dirty(),{status:t.value,value:o.data}):(C(s,{code:T.invalid_intersection_types}),B)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([n,i])=>r(n,i)):r(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}};qr.create=(a,e,t)=>new qr({left:a,right:e,typeName:w.ZodIntersection,...Q(t)});var sr=class a extends W{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==k.array)return C(s,{code:T.invalid_type,expected:k.array,received:s.parsedType}),B;if(s.data.length<this._def.items.length)return C(s,{code:T.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),B;!this._def.rest&&s.data.length>this._def.items.length&&(C(s,{code:T.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let n=[...s.data].map((i,o)=>{let c=this._def.items[o]||this._def.rest;return c?c._parse(new Ve(s,i,s.path,o)):null}).filter(i=>!!i);return s.common.async?Promise.all(n).then(i=>Re.mergeArray(t,i)):Re.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new a({...this._def,rest:e})}};sr.create=(a,e)=>{if(!Array.isArray(a))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new sr({items:a,typeName:w.ZodTuple,rest:null,...Q(e)})};var Ft=class a extends W{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==k.object)return C(s,{code:T.invalid_type,expected:k.object,received:s.parsedType}),B;let r=[],n=this._def.keyType,i=this._def.valueType;for(let o in s.data)r.push({key:n._parse(new Ve(s,o,s.path,o)),value:i._parse(new Ve(s,s.data[o],s.path,o)),alwaysSet:o in s.data});return s.common.async?Re.mergeObjectAsync(t,r):Re.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(e,t,s){return t instanceof W?new a({keyType:e,valueType:t,typeName:w.ZodRecord,...Q(s)}):new a({keyType:Er.create(),valueType:e,typeName:w.ZodRecord,...Q(t)})}},ct=class extends W{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==k.map)return C(s,{code:T.invalid_type,expected:k.map,received:s.parsedType}),B;let r=this._def.keyType,n=this._def.valueType,i=[...s.data.entries()].map(([o,c],u)=>({key:r._parse(new Ve(s,o,s.path,[u,"key"])),value:n._parse(new Ve(s,c,s.path,[u,"value"]))}));if(s.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,p=await c.value;if(u.status==="aborted"||p.status==="aborted")return B;(u.status==="dirty"||p.status==="dirty")&&t.dirty(),o.set(u.value,p.value)}return{status:t.value,value:o}})}else{let o=new Map;for(let c of i){let u=c.key,p=c.value;if(u.status==="aborted"||p.status==="aborted")return B;(u.status==="dirty"||p.status==="dirty")&&t.dirty(),o.set(u.value,p.value)}return{status:t.value,value:o}}}};ct.create=(a,e,t)=>new ct({valueType:e,keyType:a,typeName:w.ZodMap,...Q(t)});var ut=class a extends W{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==k.set)return C(s,{code:T.invalid_type,expected:k.set,received:s.parsedType}),B;let r=this._def;r.minSize!==null&&s.data.size<r.minSize.value&&(C(s,{code:T.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&s.data.size>r.maxSize.value&&(C(s,{code:T.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let n=this._def.valueType;function i(c){let u=new Set;for(let p of c){if(p.status==="aborted")return B;p.status==="dirty"&&t.dirty(),u.add(p.value)}return{status:t.value,value:u}}let o=[...s.data.values()].map((c,u)=>n._parse(new Ve(s,c,s.path,u)));return s.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(e,t){return new a({...this._def,minSize:{value:e,message:z.toString(t)}})}max(e,t){return new a({...this._def,maxSize:{value:e,message:z.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};ut.create=(a,e)=>new ut({valueType:a,minSize:null,maxSize:null,typeName:w.ZodSet,...Q(e)});var Mt=class a extends W{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==k.function)return C(t,{code:T.invalid_type,expected:k.function,received:t.parsedType}),B;function s(o,c){return Et({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,st(),pr].filter(u=>!!u),issueData:{code:T.invalid_arguments,argumentsError:c}})}function r(o,c){return Et({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,st(),pr].filter(u=>!!u),issueData:{code:T.invalid_return_type,returnTypeError:c}})}let n={errorMap:t.common.contextualErrorMap},i=t.data;if(this._def.returns instanceof Sr){let o=this;return Oe(async function(...c){let u=new $e([]),p=await o._def.args.parseAsync(c,n).catch(d=>{throw u.addIssue(s(c,d)),u}),m=await Reflect.apply(i,this,p);return await o._def.returns._def.type.parseAsync(m,n).catch(d=>{throw u.addIssue(r(m,d)),u})})}else{let o=this;return Oe(function(...c){let u=o._def.args.safeParse(c,n);if(!u.success)throw new $e([s(c,u.error)]);let p=Reflect.apply(i,this,u.data),m=o._def.returns.safeParse(p,n);if(!m.success)throw new $e([r(p,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new a({...this._def,args:sr.create(e).rest(mr.create())})}returns(e){return new a({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,s){return new a({args:e||sr.create([]).rest(mr.create()),returns:t||mr.create(),typeName:w.ZodFunction,...Q(s)})}},Ur=class extends W{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};Ur.create=(a,e)=>new Ur({getter:a,typeName:w.ZodLazy,...Q(e)});var zr=class extends W{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return C(t,{received:t.data,code:T.invalid_literal,expected:this._def.value}),B}return{status:"valid",value:e.data}}get value(){return this._def.value}};zr.create=(a,e)=>new zr({value:a,typeName:w.ZodLiteral,...Q(e)});function Zs(a,e){return new Vr({values:a,typeName:w.ZodEnum,...Q(e)})}var Vr=class a extends W{_parse(e){if(typeof e.data!="string"){let t=this._getOrReturnCtx(e),s=this._def.values;return C(t,{expected:Y.joinValues(s),received:t.parsedType,code:T.invalid_type}),B}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),s=this._def.values;return C(t,{received:t.data,code:T.invalid_enum_value,options:s}),B}return Oe(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return a.create(e,{...this._def,...t})}exclude(e,t=this._def){return a.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}};Vr.create=Zs;var Hr=class extends W{_parse(e){let t=Y.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==k.string&&s.parsedType!==k.number){let r=Y.objectValues(t);return C(s,{expected:Y.joinValues(r),received:s.parsedType,code:T.invalid_type}),B}if(this._cache||(this._cache=new Set(Y.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let r=Y.objectValues(t);return C(s,{received:s.data,code:T.invalid_enum_value,options:r}),B}return Oe(e.data)}get enum(){return this._def.values}};Hr.create=(a,e)=>new Hr({values:a,typeName:w.ZodNativeEnum,...Q(e)});var Sr=class extends W{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==k.promise&&t.common.async===!1)return C(t,{code:T.invalid_type,expected:k.promise,received:t.parsedType}),B;let s=t.parsedType===k.promise?t.data:Promise.resolve(t.data);return Oe(s.then(r=>this._def.type.parseAsync(r,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Sr.create=(a,e)=>new Sr({type:a,typeName:w.ZodPromise,...Q(e)});var He=class extends W{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===w.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:s}=this._processInputParams(e),r=this._def.effect||null,n={addIssue:i=>{C(s,i),i.fatal?t.abort():t.dirty()},get path(){return s.path}};if(n.addIssue=n.addIssue.bind(n),r.type==="preprocess"){let i=r.transform(s.data,n);if(s.common.async)return Promise.resolve(i).then(async o=>{if(t.value==="aborted")return B;let c=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return c.status==="aborted"?B:c.status==="dirty"?Dr(c.value):t.value==="dirty"?Dr(c.value):c});{if(t.value==="aborted")return B;let o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?B:o.status==="dirty"?Dr(o.value):t.value==="dirty"?Dr(o.value):o}}if(r.type==="refinement"){let i=o=>{let c=r.refinement(o,n);if(s.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){let o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?B:(o.status==="dirty"&&t.dirty(),i(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?B:(o.status==="dirty"&&t.dirty(),i(o.value).then(()=>({status:t.value,value:o.value}))))}if(r.type==="transform")if(s.common.async===!1){let i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!_r(i))return B;let o=r.transform(i.value,n);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>_r(i)?Promise.resolve(r.transform(i.value,n)).then(o=>({status:t.value,value:o})):B);Y.assertNever(r)}};He.create=(a,e,t)=>new He({schema:a,typeName:w.ZodEffects,effect:e,...Q(t)});He.createWithPreprocess=(a,e,t)=>new He({schema:e,effect:{type:"preprocess",transform:a},typeName:w.ZodEffects,...Q(t)});var ze=class extends W{_parse(e){return this._getType(e)===k.undefined?Oe(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ze.create=(a,e)=>new ze({innerType:a,typeName:w.ZodOptional,...Q(e)});var nr=class extends W{_parse(e){return this._getType(e)===k.null?Oe(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};nr.create=(a,e)=>new nr({innerType:a,typeName:w.ZodNullable,...Q(e)});var Br=class extends W{_parse(e){let{ctx:t}=this._processInputParams(e),s=t.data;return t.parsedType===k.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Br.create=(a,e)=>new Br({innerType:a,typeName:w.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Q(e)});var Zr=class extends W{_parse(e){let{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return nt(r)?r.then(n=>({status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new $e(s.common.issues)},input:s.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new $e(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}};Zr.create=(a,e)=>new Zr({innerType:a,typeName:w.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Q(e)});var dt=class extends W{_parse(e){if(this._getType(e)!==k.nan){let s=this._getOrReturnCtx(e);return C(s,{code:T.invalid_type,expected:k.nan,received:s.parsedType}),B}return{status:"valid",value:e.data}}};dt.create=a=>new dt({typeName:w.ZodNaN,...Q(a)});var tc=Symbol("zod_brand"),bt=class extends W{_parse(e){let{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}},St=class a extends W{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{let n=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?B:n.status==="dirty"?(t.dirty(),Dr(n.value)):this._def.out._parseAsync({data:n.value,path:s.path,parent:s})})();{let r=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return r.status==="aborted"?B:r.status==="dirty"?(t.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:s.path,parent:s})}}static create(e,t){return new a({in:e,out:t,typeName:w.ZodPipeline})}},Xr=class extends W{_parse(e){let t=this._def.innerType._parse(e),s=r=>(_r(r)&&(r.value=Object.freeze(r.value)),r);return nt(t)?t.then(r=>s(r)):s(t)}unwrap(){return this._def.innerType}};Xr.create=(a,e)=>new Xr({innerType:a,typeName:w.ZodReadonly,...Q(e)});function zs(a,e){let t=typeof a=="function"?a(e):typeof a=="string"?{message:a}:a;return typeof t=="string"?{message:t}:t}function Xs(a,e={},t){return a?br.create().superRefine((s,r)=>{let n=a(s);if(n instanceof Promise)return n.then(i=>{if(!i){let o=zs(e,s),c=o.fatal??t??!0;r.addIssue({code:"custom",...o,fatal:c})}});if(!n){let i=zs(e,s),o=i.fatal??t??!0;r.addIssue({code:"custom",...i,fatal:o})}}):br.create()}var ac={object:Ce.lazycreate},w;(function(a){a.ZodString="ZodString",a.ZodNumber="ZodNumber",a.ZodNaN="ZodNaN",a.ZodBigInt="ZodBigInt",a.ZodBoolean="ZodBoolean",a.ZodDate="ZodDate",a.ZodSymbol="ZodSymbol",a.ZodUndefined="ZodUndefined",a.ZodNull="ZodNull",a.ZodAny="ZodAny",a.ZodUnknown="ZodUnknown",a.ZodNever="ZodNever",a.ZodVoid="ZodVoid",a.ZodArray="ZodArray",a.ZodObject="ZodObject",a.ZodUnion="ZodUnion",a.ZodDiscriminatedUnion="ZodDiscriminatedUnion",a.ZodIntersection="ZodIntersection",a.ZodTuple="ZodTuple",a.ZodRecord="ZodRecord",a.ZodMap="ZodMap",a.ZodSet="ZodSet",a.ZodFunction="ZodFunction",a.ZodLazy="ZodLazy",a.ZodLiteral="ZodLiteral",a.ZodEnum="ZodEnum",a.ZodEffects="ZodEffects",a.ZodNativeEnum="ZodNativeEnum",a.ZodOptional="ZodOptional",a.ZodNullable="ZodNullable",a.ZodDefault="ZodDefault",a.ZodCatch="ZodCatch",a.ZodPromise="ZodPromise",a.ZodBranded="ZodBranded",a.ZodPipeline="ZodPipeline",a.ZodReadonly="ZodReadonly"})(w||(w={}));var sc=(a,e={message:`Input not instance of ${a.name}`})=>Xs(t=>t instanceof a,e),Qs=Er.create,Gs=$r.create,nc=dt.create,ic=Cr.create,Ws=kr.create,oc=Lr.create,lc=ot.create,cc=jr.create,uc=Fr.create,dc=br.create,fc=mr.create,pc=Qe.create,hc=lt.create,mc=vr.create,vc=Ce.create,gc=Ce.strictCreate,yc=Mr.create,_c=jt.create,Ec=qr.create,bc=sr.create,Sc=Ft.create,xc=ct.create,Rc=ut.create,Tc=Mt.create,Pc=Ur.create,Oc=zr.create,wc=Vr.create,Ic=Hr.create,Ac=Sr.create,Nc=He.create,Dc=ze.create,$c=nr.create,Cc=He.createWithPreprocess,kc=St.create,Lc=()=>Qs().optional(),jc=()=>Gs().optional(),Fc=()=>Ws().optional(),Mc={string:a=>Er.create({...a,coerce:!0}),number:a=>$r.create({...a,coerce:!0}),boolean:a=>kr.create({...a,coerce:!0}),bigint:a=>Cr.create({...a,coerce:!0}),date:a=>Lr.create({...a,coerce:!0})};var qc=B;var $a="2025-06-18";var Ks=[$a,"2025-03-26","2024-11-05","2024-10-07"],qt="2.0",Js=l.union([l.string(),l.number().int()]),Ys=l.string(),Uc=l.object({progressToken:l.optional(Js)}).passthrough(),Be=l.object({_meta:l.optional(Uc)}).passthrough(),ke=l.object({method:l.string(),params:l.optional(Be)}),xt=l.object({_meta:l.optional(l.object({}).passthrough())}).passthrough(),ir=l.object({method:l.string(),params:l.optional(xt)}),Ze=l.object({_meta:l.optional(l.object({}).passthrough())}).passthrough(),Ut=l.union([l.string(),l.number().int()]),en=l.object({jsonrpc:l.literal(qt),id:Ut}).merge(ke).strict(),rn=a=>en.safeParse(a).success,tn=l.object({jsonrpc:l.literal(qt)}).merge(ir).strict(),an=a=>tn.safeParse(a).success,sn=l.object({jsonrpc:l.literal(qt),id:Ut,result:Ze}).strict(),Ca=a=>sn.safeParse(a).success,Ge;(function(a){a[a.ConnectionClosed=-32e3]="ConnectionClosed",a[a.RequestTimeout=-32001]="RequestTimeout",a[a.ParseError=-32700]="ParseError",a[a.InvalidRequest=-32600]="InvalidRequest",a[a.MethodNotFound=-32601]="MethodNotFound",a[a.InvalidParams=-32602]="InvalidParams",a[a.InternalError=-32603]="InternalError"})(Ge||(Ge={}));var nn=l.object({jsonrpc:l.literal(qt),id:Ut,error:l.object({code:l.number().int(),message:l.string(),data:l.optional(l.unknown())})}).strict(),on=a=>nn.safeParse(a).success,ln=l.union([en,tn,sn,nn]),zt=Ze.strict(),Vt=ir.extend({method:l.literal("notifications/cancelled"),params:xt.extend({requestId:Ut,reason:l.string().optional()})}),zc=l.object({src:l.string(),mimeType:l.optional(l.string()),sizes:l.optional(l.array(l.string()))}).passthrough(),Rt=l.object({icons:l.array(zc).optional()}).passthrough(),Tt=l.object({name:l.string(),title:l.optional(l.string())}).passthrough(),cn=Tt.extend({version:l.string(),websiteUrl:l.optional(l.string())}).merge(Rt),Vc=l.object({experimental:l.optional(l.object({}).passthrough()),sampling:l.optional(l.object({}).passthrough()),elicitation:l.optional(l.object({}).passthrough()),roots:l.optional(l.object({listChanged:l.optional(l.boolean())}).passthrough())}).passthrough(),ka=ke.extend({method:l.literal("initialize"),params:Be.extend({protocolVersion:l.string(),capabilities:Vc,clientInfo:cn})});var Hc=l.object({experimental:l.optional(l.object({}).passthrough()),logging:l.optional(l.object({}).passthrough()),completions:l.optional(l.object({}).passthrough()),prompts:l.optional(l.object({listChanged:l.optional(l.boolean())}).passthrough()),resources:l.optional(l.object({subscribe:l.optional(l.boolean()),listChanged:l.optional(l.boolean())}).passthrough()),tools:l.optional(l.object({listChanged:l.optional(l.boolean())}).passthrough())}).passthrough(),Bc=Ze.extend({protocolVersion:l.string(),capabilities:Hc,serverInfo:cn,instructions:l.optional(l.string())}),La=ir.extend({method:l.literal("notifications/initialized")});var Ht=ke.extend({method:l.literal("ping")}),Zc=l.object({progress:l.number(),total:l.optional(l.number()),message:l.optional(l.string())}).passthrough(),Bt=ir.extend({method:l.literal("notifications/progress"),params:xt.merge(Zc).extend({progressToken:Js})}),Zt=ke.extend({params:Be.extend({cursor:l.optional(Ys)}).optional()}),Xt=Ze.extend({nextCursor:l.optional(Ys)}),un=l.object({uri:l.string(),mimeType:l.optional(l.string()),_meta:l.optional(l.object({}).passthrough())}).passthrough(),dn=un.extend({text:l.string()}),ja=l.string().refine(a=>{try{return atob(a),!0}catch{return!1}},{message:"Invalid Base64 string"}),fn=un.extend({blob:ja}),pn=Tt.extend({uri:l.string(),description:l.optional(l.string()),mimeType:l.optional(l.string()),_meta:l.optional(l.object({}).passthrough())}).merge(Rt),Xc=Tt.extend({uriTemplate:l.string(),description:l.optional(l.string()),mimeType:l.optional(l.string()),_meta:l.optional(l.object({}).passthrough())}).merge(Rt),Qc=Zt.extend({method:l.literal("resources/list")}),Gc=Xt.extend({resources:l.array(pn)}),Wc=Zt.extend({method:l.literal("resources/templates/list")}),Kc=Xt.extend({resourceTemplates:l.array(Xc)}),Jc=ke.extend({method:l.literal("resources/read"),params:Be.extend({uri:l.string()})}),Yc=Ze.extend({contents:l.array(l.union([dn,fn]))}),eu=ir.extend({method:l.literal("notifications/resources/list_changed")}),ru=ke.extend({method:l.literal("resources/subscribe"),params:Be.extend({uri:l.string()})}),tu=ke.extend({method:l.literal("resources/unsubscribe"),params:Be.extend({uri:l.string()})}),au=ir.extend({method:l.literal("notifications/resources/updated"),params:xt.extend({uri:l.string()})}),su=l.object({name:l.string(),description:l.optional(l.string()),required:l.optional(l.boolean())}).passthrough(),nu=Tt.extend({description:l.optional(l.string()),arguments:l.optional(l.array(su)),_meta:l.optional(l.object({}).passthrough())}).merge(Rt),iu=Zt.extend({method:l.literal("prompts/list")}),ou=Xt.extend({prompts:l.array(nu)}),lu=ke.extend({method:l.literal("prompts/get"),params:Be.extend({name:l.string(),arguments:l.optional(l.record(l.string()))})}),Fa=l.object({type:l.literal("text"),text:l.string(),_meta:l.optional(l.object({}).passthrough())}).passthrough(),Ma=l.object({type:l.literal("image"),data:ja,mimeType:l.string(),_meta:l.optional(l.object({}).passthrough())}).passthrough(),qa=l.object({type:l.literal("audio"),data:ja,mimeType:l.string(),_meta:l.optional(l.object({}).passthrough())}).passthrough(),cu=l.object({type:l.literal("resource"),resource:l.union([dn,fn]),_meta:l.optional(l.object({}).passthrough())}).passthrough(),uu=pn.extend({type:l.literal("resource_link")}),hn=l.union([Fa,Ma,qa,uu,cu]),du=l.object({role:l.enum(["user","assistant"]),content:hn}).passthrough(),fu=Ze.extend({description:l.optional(l.string()),messages:l.array(du)}),pu=ir.extend({method:l.literal("notifications/prompts/list_changed")}),hu=l.object({title:l.optional(l.string()),readOnlyHint:l.optional(l.boolean()),destructiveHint:l.optional(l.boolean()),idempotentHint:l.optional(l.boolean()),openWorldHint:l.optional(l.boolean())}).passthrough(),mu=Tt.extend({description:l.optional(l.string()),inputSchema:l.object({type:l.literal("object"),properties:l.optional(l.object({}).passthrough()),required:l.optional(l.array(l.string()))}).passthrough(),outputSchema:l.optional(l.object({type:l.literal("object"),properties:l.optional(l.object({}).passthrough()),required:l.optional(l.array(l.string()))}).passthrough()),annotations:l.optional(hu),_meta:l.optional(l.object({}).passthrough())}).merge(Rt),Ua=Zt.extend({method:l.literal("tools/list")}),vu=Xt.extend({tools:l.array(mu)}),mn=Ze.extend({content:l.array(hn).default([]),structuredContent:l.object({}).passthrough().optional(),isError:l.optional(l.boolean())}),mp=mn.or(Ze.extend({toolResult:l.unknown()})),za=ke.extend({method:l.literal("tools/call"),params:Be.extend({name:l.string(),arguments:l.optional(l.record(l.unknown()))})}),gu=ir.extend({method:l.literal("notifications/tools/list_changed")}),Pt=l.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),Va=ke.extend({method:l.literal("logging/setLevel"),params:Be.extend({level:Pt})}),yu=ir.extend({method:l.literal("notifications/message"),params:xt.extend({level:Pt,logger:l.optional(l.string()),data:l.unknown()})}),_u=l.object({name:l.string().optional()}).passthrough(),Eu=l.object({hints:l.optional(l.array(_u)),costPriority:l.optional(l.number().min(0).max(1)),speedPriority:l.optional(l.number().min(0).max(1)),intelligencePriority:l.optional(l.number().min(0).max(1))}).passthrough(),bu=l.object({role:l.enum(["user","assistant"]),content:l.union([Fa,Ma,qa])}).passthrough(),Su=ke.extend({method:l.literal("sampling/createMessage"),params:Be.extend({messages:l.array(bu),systemPrompt:l.optional(l.string()),includeContext:l.optional(l.enum(["none","thisServer","allServers"])),temperature:l.optional(l.number()),maxTokens:l.number().int(),stopSequences:l.optional(l.array(l.string())),metadata:l.optional(l.object({}).passthrough()),modelPreferences:l.optional(Eu)})}),Ha=Ze.extend({model:l.string(),stopReason:l.optional(l.enum(["endTurn","stopSequence","maxTokens"]).or(l.string())),role:l.enum(["user","assistant"]),content:l.discriminatedUnion("type",[Fa,Ma,qa])}),xu=l.object({type:l.literal("boolean"),title:l.optional(l.string()),description:l.optional(l.string()),default:l.optional(l.boolean())}).passthrough(),Ru=l.object({type:l.literal("string"),title:l.optional(l.string()),description:l.optional(l.string()),minLength:l.optional(l.number()),maxLength:l.optional(l.number()),format:l.optional(l.enum(["email","uri","date","date-time"]))}).passthrough(),Tu=l.object({type:l.enum(["number","integer"]),title:l.optional(l.string()),description:l.optional(l.string()),minimum:l.optional(l.number()),maximum:l.optional(l.number())}).passthrough(),Pu=l.object({type:l.literal("string"),title:l.optional(l.string()),description:l.optional(l.string()),enum:l.array(l.string()),enumNames:l.optional(l.array(l.string()))}).passthrough(),Ou=l.union([xu,Ru,Tu,Pu]),wu=ke.extend({method:l.literal("elicitation/create"),params:Be.extend({message:l.string(),requestedSchema:l.object({type:l.literal("object"),properties:l.record(l.string(),Ou),required:l.optional(l.array(l.string()))}).passthrough()})}),Ba=Ze.extend({action:l.enum(["accept","decline","cancel"]),content:l.optional(l.record(l.string(),l.unknown()))}),Iu=l.object({type:l.literal("ref/resource"),uri:l.string()}).passthrough();var Au=l.object({type:l.literal("ref/prompt"),name:l.string()}).passthrough(),Nu=ke.extend({method:l.literal("completion/complete"),params:Be.extend({ref:l.union([Au,Iu]),argument:l.object({name:l.string(),value:l.string()}).passthrough(),context:l.optional(l.object({arguments:l.optional(l.record(l.string(),l.string()))}))})}),Du=Ze.extend({completion:l.object({values:l.array(l.string()).max(100),total:l.optional(l.number().int()),hasMore:l.optional(l.boolean())}).passthrough()}),$u=l.object({uri:l.string().startsWith("file://"),name:l.optional(l.string()),_meta:l.optional(l.object({}).passthrough())}).passthrough(),Cu=ke.extend({method:l.literal("roots/list")}),Za=Ze.extend({roots:l.array($u)}),ku=ir.extend({method:l.literal("notifications/roots/list_changed")}),vp=l.union([Ht,ka,Nu,Va,lu,iu,Qc,Wc,Jc,ru,tu,za,Ua]),gp=l.union([Vt,Bt,La,ku]),yp=l.union([zt,Ha,Ba,Za]),_p=l.union([Ht,Su,wu,Cu]),Ep=l.union([Vt,Bt,yu,au,eu,gu,pu]),bp=l.union([zt,Bc,Du,fu,ou,Gc,Kc,Yc,mn,vu]),We=class extends Error{constructor(e,t,s){super(`MCP error ${e}: ${t}`),this.code=e,this.data=s,this.name="McpError"}};var Lu=6e4,Qt=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this.setNotificationHandler(Vt,t=>{let s=this._requestHandlerAbortControllers.get(t.params.requestId);s?.abort(t.params.reason)}),this.setNotificationHandler(Bt,t=>{this._onprogress(t)}),this.setRequestHandler(Ht,t=>({}))}_setupTimeout(e,t,s,r,n=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:n,onTimeout:r})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let s=Date.now()-t.startTime;if(t.maxTotalTimeout&&s>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),new We(Ge.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:s});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var t,s,r;this._transport=e;let n=(t=this.transport)===null||t===void 0?void 0:t.onclose;this._transport.onclose=()=>{n?.(),this._onclose()};let i=(s=this.transport)===null||s===void 0?void 0:s.onerror;this._transport.onerror=c=>{i?.(c),this._onerror(c)};let o=(r=this._transport)===null||r===void 0?void 0:r.onmessage;this._transport.onmessage=(c,u)=>{o?.(c,u),Ca(c)||on(c)?this._onresponse(c):rn(c)?this._onrequest(c,u):an(c)?this._onnotification(c):this._onerror(new Error(`Unknown message type: ${JSON.stringify(c)}`))},await this._transport.start()}_onclose(){var e;let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._pendingDebouncedNotifications.clear(),this._transport=void 0,(e=this.onclose)===null||e===void 0||e.call(this);let s=new We(Ge.ConnectionClosed,"Connection closed");for(let r of t.values())r(s)}_onerror(e){var t;(t=this.onerror)===null||t===void 0||t.call(this,e)}_onnotification(e){var t;let s=(t=this._notificationHandlers.get(e.method))!==null&&t!==void 0?t:this.fallbackNotificationHandler;s!==void 0&&Promise.resolve().then(()=>s(e)).catch(r=>this._onerror(new Error(`Uncaught error in notification handler: ${r}`)))}_onrequest(e,t){var s,r;let n=(s=this._requestHandlers.get(e.method))!==null&&s!==void 0?s:this.fallbackRequestHandler,i=this._transport;if(n===void 0){i?.send({jsonrpc:"2.0",id:e.id,error:{code:Ge.MethodNotFound,message:"Method not found"}}).catch(u=>this._onerror(new Error(`Failed to send an error response: ${u}`)));return}let o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);let c={signal:o.signal,sessionId:i?.sessionId,_meta:(r=e.params)===null||r===void 0?void 0:r._meta,sendNotification:u=>this.notification(u,{relatedRequestId:e.id}),sendRequest:(u,p,m)=>this.request(u,p,{...m,relatedRequestId:e.id}),authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo};Promise.resolve().then(()=>n(e,c)).then(u=>{if(!o.signal.aborted)return i?.send({result:u,jsonrpc:"2.0",id:e.id})},u=>{var p;if(!o.signal.aborted)return i?.send({jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(u.code)?u.code:Ge.InternalError,message:(p=u.message)!==null&&p!==void 0?p:"Internal error"}})}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...s}=e.params,r=Number(t),n=this._progressHandlers.get(r);if(!n){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(r),o=this._timeoutInfo.get(r);if(o&&i&&o.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(c){i(c);return}n(s)}_onresponse(e){let t=Number(e.id),s=this._responseHandlers.get(t);if(s===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}if(this._responseHandlers.delete(t),this._progressHandlers.delete(t),this._cleanupTimeout(t),Ca(e))s(e);else{let r=new We(e.error.code,e.error.message,e.error.data);s(r)}}get transport(){return this._transport}async close(){var e;await((e=this._transport)===null||e===void 0?void 0:e.close())}request(e,t,s){let{relatedRequestId:r,resumptionToken:n,onresumptiontoken:i}=s??{};return new Promise((o,c)=>{var u,p,m,E,d,g;if(!this._transport){c(new Error("Not connected"));return}((u=this._options)===null||u===void 0?void 0:u.enforceStrictCapabilities)===!0&&this.assertCapabilityForMethod(e.method),(p=s?.signal)===null||p===void 0||p.throwIfAborted();let _=this._requestMessageId++,v={...e,jsonrpc:"2.0",id:_};s?.onprogress&&(this._progressHandlers.set(_,s.onprogress),v.params={...e.params,_meta:{...((m=e.params)===null||m===void 0?void 0:m._meta)||{},progressToken:_}});let S=P=>{var A;this._responseHandlers.delete(_),this._progressHandlers.delete(_),this._cleanupTimeout(_),(A=this._transport)===null||A===void 0||A.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:_,reason:String(P)}},{relatedRequestId:r,resumptionToken:n,onresumptiontoken:i}).catch(N=>this._onerror(new Error(`Failed to send cancellation: ${N}`))),c(P)};this._responseHandlers.set(_,P=>{var A;if(!(!((A=s?.signal)===null||A===void 0)&&A.aborted)){if(P instanceof Error)return c(P);try{let N=t.parse(P.result);o(N)}catch(N){c(N)}}}),(E=s?.signal)===null||E===void 0||E.addEventListener("abort",()=>{var P;S((P=s?.signal)===null||P===void 0?void 0:P.reason)});let O=(d=s?.timeout)!==null&&d!==void 0?d:Lu,R=()=>S(new We(Ge.RequestTimeout,"Request timed out",{timeout:O}));this._setupTimeout(_,O,s?.maxTotalTimeout,R,(g=s?.resetTimeoutOnProgress)!==null&&g!==void 0?g:!1),this._transport.send(v,{relatedRequestId:r,resumptionToken:n,onresumptiontoken:i}).catch(P=>{this._cleanupTimeout(_),c(P)})})}async notification(e,t){var s,r;if(!this._transport)throw new Error("Not connected");if(this.assertNotificationCapability(e.method),((r=(s=this._options)===null||s===void 0?void 0:s.debouncedNotificationMethods)!==null&&r!==void 0?r:[]).includes(e.method)&&!e.params&&!t?.relatedRequestId){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{var c;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let u={...e,jsonrpc:"2.0"};(c=this._transport)===null||c===void 0||c.send(u,t).catch(p=>this._onerror(p))});return}let o={...e,jsonrpc:"2.0"};await this._transport.send(o,t)}setRequestHandler(e,t){let s=e.shape.method.value;this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(r,n)=>Promise.resolve(t(e.parse(r),n)))}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){this._notificationHandlers.set(e.shape.method.value,s=>Promise.resolve(t(e.parse(s))))}removeNotificationHandler(e){this._notificationHandlers.delete(e)}};function vn(a,e){return Object.entries(e).reduce((t,[s,r])=>(r&&typeof r=="object"?t[s]=t[s]?{...t[s],...r}:r:t[s]=r,t),{...a})}var _o=Al(yo(),1),pa=class extends Qt{constructor(e,t){var s;super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Pt.options.map((r,n)=>[r,n])),this.isMessageIgnored=(r,n)=>{let i=this._loggingLevels.get(n);return i?this.LOG_LEVEL_SEVERITY.get(r)<this.LOG_LEVEL_SEVERITY.get(i):!1},this._capabilities=(s=t?.capabilities)!==null&&s!==void 0?s:{},this._instructions=t?.instructions,this.setRequestHandler(ka,r=>this._oninitialize(r)),this.setNotificationHandler(La,()=>{var r;return(r=this.oninitialized)===null||r===void 0?void 0:r.call(this)}),this._capabilities.logging&&this.setRequestHandler(Va,async(r,n)=>{var i;let o=n.sessionId||((i=n.requestInfo)===null||i===void 0?void 0:i.headers["mcp-session-id"])||void 0,{level:c}=r.params,u=Pt.safeParse(c);return u.success&&this._loggingLevels.set(o,u.data),{}})}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=vn(this._capabilities,e)}assertCapabilityForMethod(e){var t,s,r;switch(e){case"sampling/createMessage":if(!(!((t=this._clientCapabilities)===null||t===void 0)&&t.sampling))throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!(!((s=this._clientCapabilities)===null||s===void 0)&&s.elicitation))throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!(!((r=this._clientCapabilities)===null||r===void 0)&&r.roots))throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Server does not support sampling (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"ping":case"initialize":break}}async _oninitialize(e){let t=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:Ks.includes(t)?t:$a,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},zt)}async createMessage(e,t){return this.request({method:"sampling/createMessage",params:e},Ha,t)}async elicitInput(e,t){let s=await this.request({method:"elicitation/create",params:e},Ba,t);if(s.action==="accept"&&s.content)try{let r=new _o.default,n=r.compile(e.requestedSchema);if(!n(s.content))throw new We(Ge.InvalidParams,`Elicitation response content does not match requested schema: ${r.errorsText(n.errors)}`)}catch(r){throw r instanceof We?r:new We(Ge.InternalError,`Error validating elicitation response: ${r}`)}return s}async listRoots(e,t){return this.request({method:"roots/list",params:e},Za,t)}async sendLoggingMessage(e,t){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,t))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};import bo from"node:process";var ha=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
`);if(e===-1)return null;let t=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),vf(t)}clear(){this._buffer=void 0}};function vf(a){return ln.parse(JSON.parse(a))}function Eo(a){return JSON.stringify(a)+`
`}var ma=class{constructor(e=bo.stdin,t=bo.stdout){this._stdin=e,this._stdout=t,this._readBuffer=new ha,this._started=!1,this._ondata=s=>{this._readBuffer.append(s),this.processReadBuffer()},this._onerror=s=>{var r;(r=this.onerror)===null||r===void 0||r.call(this,s)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(var e,t;;)try{let s=this._readBuffer.readMessage();if(s===null)break;(e=this.onmessage)===null||e===void 0||e.call(this,s)}catch(s){(t=this.onerror)===null||t===void 0||t.call(this,s)}}async close(){var e;this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),(e=this.onclose)===null||e===void 0||e.call(this)}send(e){return new Promise(t=>{let s=Eo(e);this._stdout.write(s)?t():this._stdout.once("drain",t)})}};var xo=Symbol("Let zodToJsonSchema decide on which parser to use");var So={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},Ro=a=>typeof a=="string"?{...So,name:a}:{...So,...a};var To=a=>{let e=Ro(a),t=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:t,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([s,r])=>[r._def,{def:r._def,path:[...e.basePath,e.definitionPath,s],jsonSchema:void 0}]))}};function gs(a,e,t,s){s?.errorMessages&&t&&(a.errorMessage={...a.errorMessage,[e]:t})}function ee(a,e,t,s,r){a[e]=t,gs(a,e,s,r)}var va=(a,e)=>{let t=0;for(;t<a.length&&t<e.length&&a[t]===e[t];t++);return[(a.length-t).toString(),...e.slice(t)].join("/")};function fe(a){if(a.target!=="openAi")return{};let e=[...a.basePath,a.definitionPath,a.openAiAnyTypeName];return a.flags.hasReferencedOpenAiAnyType=!0,{$ref:a.$refStrategy==="relative"?va(e,a.currentPath):e.join("/")}}function Po(a,e){let t={type:"array"};return a.type?._def&&a.type?._def?.typeName!==w.ZodAny&&(t.items=Z(a.type._def,{...e,currentPath:[...e.currentPath,"items"]})),a.minLength&&ee(t,"minItems",a.minLength.value,a.minLength.message,e),a.maxLength&&ee(t,"maxItems",a.maxLength.value,a.maxLength.message,e),a.exactLength&&(ee(t,"minItems",a.exactLength.value,a.exactLength.message,e),ee(t,"maxItems",a.exactLength.value,a.exactLength.message,e)),t}function Oo(a,e){let t={type:"integer",format:"int64"};if(!a.checks)return t;for(let s of a.checks)switch(s.kind){case"min":e.target==="jsonSchema7"?s.inclusive?ee(t,"minimum",s.value,s.message,e):ee(t,"exclusiveMinimum",s.value,s.message,e):(s.inclusive||(t.exclusiveMinimum=!0),ee(t,"minimum",s.value,s.message,e));break;case"max":e.target==="jsonSchema7"?s.inclusive?ee(t,"maximum",s.value,s.message,e):ee(t,"exclusiveMaximum",s.value,s.message,e):(s.inclusive||(t.exclusiveMaximum=!0),ee(t,"maximum",s.value,s.message,e));break;case"multipleOf":ee(t,"multipleOf",s.value,s.message,e);break}return t}function wo(){return{type:"boolean"}}function ga(a,e){return Z(a.type._def,e)}var Io=(a,e)=>Z(a.innerType._def,e);function ys(a,e,t){let s=t??e.dateStrategy;if(Array.isArray(s))return{anyOf:s.map((r,n)=>ys(a,e,r))};switch(s){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return gf(a,e)}}var gf=(a,e)=>{let t={type:"integer",format:"unix-time"};if(e.target==="openApi3")return t;for(let s of a.checks)switch(s.kind){case"min":ee(t,"minimum",s.value,s.message,e);break;case"max":ee(t,"maximum",s.value,s.message,e);break}return t};function Ao(a,e){return{...Z(a.innerType._def,e),default:a.defaultValue()}}function No(a,e){return e.effectStrategy==="input"?Z(a.schema._def,e):fe(e)}function Do(a){return{type:"string",enum:Array.from(a.values)}}var yf=a=>"type"in a&&a.type==="string"?!1:"allOf"in a;function $o(a,e){let t=[Z(a.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),Z(a.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(n=>!!n),s=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,r=[];return t.forEach(n=>{if(yf(n))r.push(...n.allOf),n.unevaluatedProperties===void 0&&(s=void 0);else{let i=n;if("additionalProperties"in n&&n.additionalProperties===!1){let{additionalProperties:o,...c}=n;i=c}else s=void 0;r.push(i)}}),r.length?{allOf:r,...s}:void 0}function Co(a,e){let t=typeof a.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(a.value)?"array":"object"}:e.target==="openApi3"?{type:t==="bigint"?"integer":t,enum:[a.value]}:{type:t==="bigint"?"integer":t,const:a.value}}var _s,Ke={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(_s===void 0&&(_s=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),_s),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function ya(a,e){let t={type:"string"};if(a.checks)for(let s of a.checks)switch(s.kind){case"min":ee(t,"minLength",typeof t.minLength=="number"?Math.max(t.minLength,s.value):s.value,s.message,e);break;case"max":ee(t,"maxLength",typeof t.maxLength=="number"?Math.min(t.maxLength,s.value):s.value,s.message,e);break;case"email":switch(e.emailStrategy){case"format:email":Je(t,"email",s.message,e);break;case"format:idn-email":Je(t,"idn-email",s.message,e);break;case"pattern:zod":Ne(t,Ke.email,s.message,e);break}break;case"url":Je(t,"uri",s.message,e);break;case"uuid":Je(t,"uuid",s.message,e);break;case"regex":Ne(t,s.regex,s.message,e);break;case"cuid":Ne(t,Ke.cuid,s.message,e);break;case"cuid2":Ne(t,Ke.cuid2,s.message,e);break;case"startsWith":Ne(t,RegExp(`^${Es(s.value,e)}`),s.message,e);break;case"endsWith":Ne(t,RegExp(`${Es(s.value,e)}$`),s.message,e);break;case"datetime":Je(t,"date-time",s.message,e);break;case"date":Je(t,"date",s.message,e);break;case"time":Je(t,"time",s.message,e);break;case"duration":Je(t,"duration",s.message,e);break;case"length":ee(t,"minLength",typeof t.minLength=="number"?Math.max(t.minLength,s.value):s.value,s.message,e),ee(t,"maxLength",typeof t.maxLength=="number"?Math.min(t.maxLength,s.value):s.value,s.message,e);break;case"includes":{Ne(t,RegExp(Es(s.value,e)),s.message,e);break}case"ip":{s.version!=="v6"&&Je(t,"ipv4",s.message,e),s.version!=="v4"&&Je(t,"ipv6",s.message,e);break}case"base64url":Ne(t,Ke.base64url,s.message,e);break;case"jwt":Ne(t,Ke.jwt,s.message,e);break;case"cidr":{s.version!=="v6"&&Ne(t,Ke.ipv4Cidr,s.message,e),s.version!=="v4"&&Ne(t,Ke.ipv6Cidr,s.message,e);break}case"emoji":Ne(t,Ke.emoji(),s.message,e);break;case"ulid":{Ne(t,Ke.ulid,s.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{Je(t,"binary",s.message,e);break}case"contentEncoding:base64":{ee(t,"contentEncoding","base64",s.message,e);break}case"pattern:zod":{Ne(t,Ke.base64,s.message,e);break}}break}case"nanoid":Ne(t,Ke.nanoid,s.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return t}function Es(a,e){return e.patternStrategy==="escape"?Ef(a):a}var _f=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Ef(a){let e="";for(let t=0;t<a.length;t++)_f.has(a[t])||(e+="\\"),e+=a[t];return e}function Je(a,e,t,s){a.format||a.anyOf?.some(r=>r.format)?(a.anyOf||(a.anyOf=[]),a.format&&(a.anyOf.push({format:a.format,...a.errorMessage&&s.errorMessages&&{errorMessage:{format:a.errorMessage.format}}}),delete a.format,a.errorMessage&&(delete a.errorMessage.format,Object.keys(a.errorMessage).length===0&&delete a.errorMessage)),a.anyOf.push({format:e,...t&&s.errorMessages&&{errorMessage:{format:t}}})):ee(a,"format",e,t,s)}function Ne(a,e,t,s){a.pattern||a.allOf?.some(r=>r.pattern)?(a.allOf||(a.allOf=[]),a.pattern&&(a.allOf.push({pattern:a.pattern,...a.errorMessage&&s.errorMessages&&{errorMessage:{pattern:a.errorMessage.pattern}}}),delete a.pattern,a.errorMessage&&(delete a.errorMessage.pattern,Object.keys(a.errorMessage).length===0&&delete a.errorMessage)),a.allOf.push({pattern:ko(e,s),...t&&s.errorMessages&&{errorMessage:{pattern:t}}})):ee(a,"pattern",ko(e,s),t,s)}function ko(a,e){if(!e.applyRegexFlags||!a.flags)return a.source;let t={i:a.flags.includes("i"),m:a.flags.includes("m"),s:a.flags.includes("s")},s=t.i?a.source.toLowerCase():a.source,r="",n=!1,i=!1,o=!1;for(let c=0;c<s.length;c++){if(n){r+=s[c],n=!1;continue}if(t.i){if(i){if(s[c].match(/[a-z]/)){o?(r+=s[c],r+=`${s[c-2]}-${s[c]}`.toUpperCase(),o=!1):s[c+1]==="-"&&s[c+2]?.match(/[a-z]/)?(r+=s[c],o=!0):r+=`${s[c]}${s[c].toUpperCase()}`;continue}}else if(s[c].match(/[a-z]/)){r+=`[${s[c]}${s[c].toUpperCase()}]`;continue}}if(t.m){if(s[c]==="^"){r+=`(^|(?<=[\r
]))`;continue}else if(s[c]==="$"){r+=`($|(?=[\r
]))`;continue}}if(t.s&&s[c]==="."){r+=i?`${s[c]}\r
`:`[${s[c]}\r
]`;continue}r+=s[c],s[c]==="\\"?n=!0:i&&s[c]==="]"?i=!1:!i&&s[c]==="["&&(i=!0)}try{new RegExp(r)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),a.source}return r}function _a(a,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&a.keyType?._def.typeName===w.ZodEnum)return{type:"object",required:a.keyType._def.values,properties:a.keyType._def.values.reduce((s,r)=>({...s,[r]:Z(a.valueType._def,{...e,currentPath:[...e.currentPath,"properties",r]})??fe(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let t={type:"object",additionalProperties:Z(a.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return t;if(a.keyType?._def.typeName===w.ZodString&&a.keyType._def.checks?.length){let{type:s,...r}=ya(a.keyType._def,e);return{...t,propertyNames:r}}else{if(a.keyType?._def.typeName===w.ZodEnum)return{...t,propertyNames:{enum:a.keyType._def.values}};if(a.keyType?._def.typeName===w.ZodBranded&&a.keyType._def.type._def.typeName===w.ZodString&&a.keyType._def.type._def.checks?.length){let{type:s,...r}=ga(a.keyType._def,e);return{...t,propertyNames:r}}}return t}function Lo(a,e){if(e.mapStrategy==="record")return _a(a,e);let t=Z(a.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||fe(e),s=Z(a.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||fe(e);return{type:"array",maxItems:125,items:{type:"array",items:[t,s],minItems:2,maxItems:2}}}function jo(a){let e=a.values,s=Object.keys(a.values).filter(n=>typeof e[e[n]]!="number").map(n=>e[n]),r=Array.from(new Set(s.map(n=>typeof n)));return{type:r.length===1?r[0]==="string"?"string":"number":["string","number"],enum:s}}function Fo(a){return a.target==="openAi"?void 0:{not:fe({...a,currentPath:[...a.currentPath,"not"]})}}function Mo(a){return a.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var wt={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Uo(a,e){if(e.target==="openApi3")return qo(a,e);let t=a.options instanceof Map?Array.from(a.options.values()):a.options;if(t.every(s=>s._def.typeName in wt&&(!s._def.checks||!s._def.checks.length))){let s=t.reduce((r,n)=>{let i=wt[n._def.typeName];return i&&!r.includes(i)?[...r,i]:r},[]);return{type:s.length>1?s:s[0]}}else if(t.every(s=>s._def.typeName==="ZodLiteral"&&!s.description)){let s=t.reduce((r,n)=>{let i=typeof n._def.value;switch(i){case"string":case"number":case"boolean":return[...r,i];case"bigint":return[...r,"integer"];case"object":if(n._def.value===null)return[...r,"null"];case"symbol":case"undefined":case"function":default:return r}},[]);if(s.length===t.length){let r=s.filter((n,i,o)=>o.indexOf(n)===i);return{type:r.length>1?r:r[0],enum:t.reduce((n,i)=>n.includes(i._def.value)?n:[...n,i._def.value],[])}}}else if(t.every(s=>s._def.typeName==="ZodEnum"))return{type:"string",enum:t.reduce((s,r)=>[...s,...r._def.values.filter(n=>!s.includes(n))],[])};return qo(a,e)}var qo=(a,e)=>{let t=(a.options instanceof Map?Array.from(a.options.values()):a.options).map((s,r)=>Z(s._def,{...e,currentPath:[...e.currentPath,"anyOf",`${r}`]})).filter(s=>!!s&&(!e.strictUnions||typeof s=="object"&&Object.keys(s).length>0));return t.length?{anyOf:t}:void 0};function zo(a,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(a.innerType._def.typeName)&&(!a.innerType._def.checks||!a.innerType._def.checks.length))return e.target==="openApi3"?{type:wt[a.innerType._def.typeName],nullable:!0}:{type:[wt[a.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let s=Z(a.innerType._def,{...e,currentPath:[...e.currentPath]});return s&&"$ref"in s?{allOf:[s],nullable:!0}:s&&{...s,nullable:!0}}let t=Z(a.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return t&&{anyOf:[t,{type:"null"}]}}function Vo(a,e){let t={type:"number"};if(!a.checks)return t;for(let s of a.checks)switch(s.kind){case"int":t.type="integer",gs(t,"type",s.message,e);break;case"min":e.target==="jsonSchema7"?s.inclusive?ee(t,"minimum",s.value,s.message,e):ee(t,"exclusiveMinimum",s.value,s.message,e):(s.inclusive||(t.exclusiveMinimum=!0),ee(t,"minimum",s.value,s.message,e));break;case"max":e.target==="jsonSchema7"?s.inclusive?ee(t,"maximum",s.value,s.message,e):ee(t,"exclusiveMaximum",s.value,s.message,e):(s.inclusive||(t.exclusiveMaximum=!0),ee(t,"maximum",s.value,s.message,e));break;case"multipleOf":ee(t,"multipleOf",s.value,s.message,e);break}return t}function Ho(a,e){let t=e.target==="openAi",s={type:"object",properties:{}},r=[],n=a.shape();for(let o in n){let c=n[o];if(c===void 0||c._def===void 0)continue;let u=Sf(c);u&&t&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let p=Z(c._def,{...e,currentPath:[...e.currentPath,"properties",o],propertyPath:[...e.currentPath,"properties",o]});p!==void 0&&(s.properties[o]=p,u||r.push(o))}r.length&&(s.required=r);let i=bf(a,e);return i!==void 0&&(s.additionalProperties=i),s}function bf(a,e){if(a.catchall._def.typeName!=="ZodNever")return Z(a.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(a.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function Sf(a){try{return a.isOptional()}catch{return!0}}var Bo=(a,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return Z(a.innerType._def,e);let t=Z(a.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return t?{anyOf:[{not:fe(e)},t]}:fe(e)};var Zo=(a,e)=>{if(e.pipeStrategy==="input")return Z(a.in._def,e);if(e.pipeStrategy==="output")return Z(a.out._def,e);let t=Z(a.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),s=Z(a.out._def,{...e,currentPath:[...e.currentPath,"allOf",t?"1":"0"]});return{allOf:[t,s].filter(r=>r!==void 0)}};function Xo(a,e){return Z(a.type._def,e)}function Qo(a,e){let s={type:"array",uniqueItems:!0,items:Z(a.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return a.minSize&&ee(s,"minItems",a.minSize.value,a.minSize.message,e),a.maxSize&&ee(s,"maxItems",a.maxSize.value,a.maxSize.message,e),s}function Go(a,e){return a.rest?{type:"array",minItems:a.items.length,items:a.items.map((t,s)=>Z(t._def,{...e,currentPath:[...e.currentPath,"items",`${s}`]})).reduce((t,s)=>s===void 0?t:[...t,s],[]),additionalItems:Z(a.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:a.items.length,maxItems:a.items.length,items:a.items.map((t,s)=>Z(t._def,{...e,currentPath:[...e.currentPath,"items",`${s}`]})).reduce((t,s)=>s===void 0?t:[...t,s],[])}}function Wo(a){return{not:fe(a)}}function Ko(a){return fe(a)}var Jo=(a,e)=>Z(a.innerType._def,e);var Yo=(a,e,t)=>{switch(e){case w.ZodString:return ya(a,t);case w.ZodNumber:return Vo(a,t);case w.ZodObject:return Ho(a,t);case w.ZodBigInt:return Oo(a,t);case w.ZodBoolean:return wo();case w.ZodDate:return ys(a,t);case w.ZodUndefined:return Wo(t);case w.ZodNull:return Mo(t);case w.ZodArray:return Po(a,t);case w.ZodUnion:case w.ZodDiscriminatedUnion:return Uo(a,t);case w.ZodIntersection:return $o(a,t);case w.ZodTuple:return Go(a,t);case w.ZodRecord:return _a(a,t);case w.ZodLiteral:return Co(a,t);case w.ZodEnum:return Do(a);case w.ZodNativeEnum:return jo(a);case w.ZodNullable:return zo(a,t);case w.ZodOptional:return Bo(a,t);case w.ZodMap:return Lo(a,t);case w.ZodSet:return Qo(a,t);case w.ZodLazy:return()=>a.getter()._def;case w.ZodPromise:return Xo(a,t);case w.ZodNaN:case w.ZodNever:return Fo(t);case w.ZodEffects:return No(a,t);case w.ZodAny:return fe(t);case w.ZodUnknown:return Ko(t);case w.ZodDefault:return Ao(a,t);case w.ZodBranded:return ga(a,t);case w.ZodReadonly:return Jo(a,t);case w.ZodCatch:return Io(a,t);case w.ZodPipeline:return Zo(a,t);case w.ZodFunction:case w.ZodVoid:case w.ZodSymbol:return;default:return(s=>{})(e)}};function Z(a,e,t=!1){let s=e.seen.get(a);if(e.override){let o=e.override?.(a,e,s,t);if(o!==xo)return o}if(s&&!t){let o=xf(s,e);if(o!==void 0)return o}let r={def:a,path:e.currentPath,jsonSchema:void 0};e.seen.set(a,r);let n=Yo(a,a.typeName,e),i=typeof n=="function"?Z(n(),e):n;if(i&&Rf(a,e,i),e.postProcess){let o=e.postProcess(i,a,e);return r.jsonSchema=i,o}return r.jsonSchema=i,i}var xf=(a,e)=>{switch(e.$refStrategy){case"root":return{$ref:a.path.join("/")};case"relative":return{$ref:va(e.currentPath,a.path)};case"none":case"seen":return a.path.length<e.currentPath.length&&a.path.every((t,s)=>e.currentPath[s]===t)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),fe(e)):e.$refStrategy==="seen"?fe(e):void 0}},Rf=(a,e,t)=>(a.description&&(t.description=a.description,e.markdownDescription&&(t.markdownDescription=a.description)),t);var bs=(a,e)=>{let t=To(e),s=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,p])=>({...c,[u]:Z(p._def,{...t,currentPath:[...t.basePath,t.definitionPath,u]},!0)??fe(t)}),{}):void 0,r=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,n=Z(a._def,r===void 0?t:{...t,currentPath:[...t.basePath,t.definitionPath,r]},!1)??fe(t),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(n.title=i),t.flags.hasReferencedOpenAiAnyType&&(s||(s={}),s[t.openAiAnyTypeName]||(s[t.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:t.$refStrategy==="relative"?"1":[...t.basePath,t.definitionPath,t.openAiAnyTypeName].join("/")}}));let o=r===void 0?s?{...n,[t.definitionPath]:s}:n:{$ref:[...t.$refStrategy==="relative"?[]:t.basePath,t.definitionPath,r].join("/"),[t.definitionPath]:{...s,[r]:n}};return t.target==="jsonSchema7"?o.$schema="http://json-schema.org/draft-07/schema#":(t.target==="jsonSchema2019-09"||t.target==="openAi")&&(o.$schema="https://json-schema.org/draft/2019-09/schema#"),t.target==="openAi"&&("anyOf"in o||"oneOf"in o||"allOf"in o||"type"in o&&Array.isArray(o.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),o};import{basename as Nf}from"path";import If from"better-sqlite3";import{join as Ye,dirname as Tf,basename as vg}from"path";import{homedir as el}from"os";import{existsSync as Eg,mkdirSync as Pf}from"fs";import{fileURLToPath as Of}from"url";function wf(){return typeof __dirname<"u"?__dirname:Tf(Of(import.meta.url))}var Sg=wf(),or=process.env.CLAUDE_MEM_DATA_DIR||Ye(el(),".claude-mem"),Ss=process.env.CLAUDE_CONFIG_DIR||Ye(el(),".claude"),xg=Ye(or,"archives"),Rg=Ye(or,"logs"),Tg=Ye(or,"trash"),Pg=Ye(or,"backups"),Og=Ye(or,"settings.json"),Ea=Ye(or,"claude-mem.db"),wg=Ye(Ss,"settings.json"),Ig=Ye(Ss,"commands"),Ag=Ye(Ss,"CLAUDE.md");function ba(a){Pf(a,{recursive:!0})}var Sa=class{db;constructor(e){e||(ba(or),e=Ea),this.db=new If(e),this.db.pragma("journal_mode = WAL"),this.ensureFTSTables()}ensureFTSTables(){try{if(this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name LIKE '%_fts'").all().some(s=>s.name==="observations_fts"||s.name==="session_summaries_fts"))return;console.error("[SessionSearch] Creating FTS5 tables..."),this.db.exec(`
CREATE VIRTUAL TABLE IF NOT EXISTS observations_fts USING fts5(
title,
subtitle,
narrative,
text,
facts,
concepts,
content='observations',
content_rowid='id'
);
`),this.db.exec(`
INSERT INTO observations_fts(rowid, title, subtitle, narrative, text, facts, concepts)
SELECT id, title, subtitle, narrative, text, facts, concepts
FROM observations;
`),this.db.exec(`
CREATE TRIGGER IF NOT EXISTS observations_ai AFTER INSERT ON observations BEGIN
INSERT INTO observations_fts(rowid, title, subtitle, narrative, text, facts, concepts)
VALUES (new.id, new.title, new.subtitle, new.narrative, new.text, new.facts, new.concepts);
END;
CREATE TRIGGER IF NOT EXISTS observations_ad AFTER DELETE ON observations BEGIN
INSERT INTO observations_fts(observations_fts, rowid, title, subtitle, narrative, text, facts, concepts)
VALUES('delete', old.id, old.title, old.subtitle, old.narrative, old.text, old.facts, old.concepts);
END;
CREATE TRIGGER IF NOT EXISTS observations_au AFTER UPDATE ON observations BEGIN
INSERT INTO observations_fts(observations_fts, rowid, title, subtitle, narrative, text, facts, concepts)
VALUES('delete', old.id, old.title, old.subtitle, old.narrative, old.text, old.facts, old.concepts);
INSERT INTO observations_fts(rowid, title, subtitle, narrative, text, facts, concepts)
VALUES (new.id, new.title, new.subtitle, new.narrative, new.text, new.facts, new.concepts);
END;
`),this.db.exec(`
CREATE VIRTUAL TABLE IF NOT EXISTS session_summaries_fts USING fts5(
request,
investigated,
learned,
completed,
next_steps,
notes,
content='session_summaries',
content_rowid='id'
);
`),this.db.exec(`
INSERT INTO session_summaries_fts(rowid, request, investigated, learned, completed, next_steps, notes)
SELECT id, request, investigated, learned, completed, next_steps, notes
FROM session_summaries;
`),this.db.exec(`
CREATE TRIGGER IF NOT EXISTS session_summaries_ai AFTER INSERT ON session_summaries BEGIN
INSERT INTO session_summaries_fts(rowid, request, investigated, learned, completed, next_steps, notes)
VALUES (new.id, new.request, new.investigated, new.learned, new.completed, new.next_steps, new.notes);
END;
CREATE TRIGGER IF NOT EXISTS session_summaries_ad AFTER DELETE ON session_summaries BEGIN
INSERT INTO session_summaries_fts(session_summaries_fts, rowid, request, investigated, learned, completed, next_steps, notes)
VALUES('delete', old.id, old.request, old.investigated, old.learned, old.completed, old.next_steps, old.notes);
END;
CREATE TRIGGER IF NOT EXISTS session_summaries_au AFTER UPDATE ON session_summaries BEGIN
INSERT INTO session_summaries_fts(session_summaries_fts, rowid, request, investigated, learned, completed, next_steps, notes)
VALUES('delete', old.id, old.request, old.investigated, old.learned, old.completed, old.next_steps, old.notes);
INSERT INTO session_summaries_fts(rowid, request, investigated, learned, completed, next_steps, notes)
VALUES (new.id, new.request, new.investigated, new.learned, new.completed, new.next_steps, new.notes);
END;
`),console.error("[SessionSearch] FTS5 tables created successfully")}catch(e){console.error("[SessionSearch] FTS migration error:",e.message)}}escapeFTS5(e){return e}buildFilterClause(e,t,s="o"){let r=[];if(e.project&&(r.push(`${s}.project = ?`),t.push(e.project)),e.type)if(Array.isArray(e.type)){let n=e.type.map(()=>"?").join(",");r.push(`${s}.type IN (${n})`),t.push(...e.type)}else r.push(`${s}.type = ?`),t.push(e.type);if(e.dateRange){let{start:n,end:i}=e.dateRange;if(n){let o=typeof n=="number"?n:new Date(n).getTime();r.push(`${s}.created_at_epoch >= ?`),t.push(o)}if(i){let o=typeof i=="number"?i:new Date(i).getTime();r.push(`${s}.created_at_epoch <= ?`),t.push(o)}}if(e.concepts){let n=Array.isArray(e.concepts)?e.concepts:[e.concepts],i=n.map(()=>`EXISTS (SELECT 1 FROM json_each(${s}.concepts) WHERE value = ?)`);i.length>0&&(r.push(`(${i.join(" OR ")})`),t.push(...n))}if(e.files){let n=Array.isArray(e.files)?e.files:[e.files],i=n.map(()=>`(
EXISTS (SELECT 1 FROM json_each(${s}.files_read) WHERE value LIKE ?)
OR EXISTS (SELECT 1 FROM json_each(${s}.files_modified) WHERE value LIKE ?)
)`);i.length>0&&(r.push(`(${i.join(" OR ")})`),n.forEach(o=>{t.push(`%${o}%`,`%${o}%`)}))}return r.length>0?r.join(" AND "):""}buildOrderClause(e="relevance",t=!0,s="observations_fts"){switch(e){case"relevance":return t?`ORDER BY ${s}.rank ASC`:"ORDER BY o.created_at_epoch DESC";case"date_desc":return"ORDER BY o.created_at_epoch DESC";case"date_asc":return"ORDER BY o.created_at_epoch ASC";default:return"ORDER BY o.created_at_epoch DESC"}}searchObservations(e,t={}){let s=[],{limit:r=50,offset:n=0,orderBy:i="relevance",...o}=t,c=this.escapeFTS5(e);s.push(c);let u=this.buildFilterClause(o,s,"o"),p=u?`AND ${u}`:"",m=this.buildOrderClause(i,!0),E=`
SELECT
o.*,
observations_fts.rank as rank
FROM observations o
JOIN observations_fts ON o.id = observations_fts.rowid
WHERE observations_fts MATCH ?
${p}
${m}
LIMIT ? OFFSET ?
`;s.push(r,n);let d=this.db.prepare(E).all(...s);if(d.length>0){let g=Math.min(...d.map(S=>S.rank||0)),v=Math.max(...d.map(S=>S.rank||0))-g||1;d.forEach(S=>{S.rank!==void 0&&(S.score=1-(S.rank-g)/v)})}return d}searchSessions(e,t={}){let s=[],{limit:r=50,offset:n=0,orderBy:i="relevance",...o}=t,c=this.escapeFTS5(e);s.push(c);let u={...o};delete u.type;let p=this.buildFilterClause(u,s,"s"),g=`
SELECT
s.*,
session_summaries_fts.rank as rank
FROM session_summaries s
JOIN session_summaries_fts ON s.id = session_summaries_fts.rowid
WHERE session_summaries_fts MATCH ?
${(p?`AND ${p}`:"").replace(/files_read/g,"files_read").replace(/files_modified/g,"files_edited")}
${i==="relevance"?"ORDER BY session_summaries_fts.rank ASC":i==="date_asc"?"ORDER BY s.created_at_epoch ASC":"ORDER BY s.created_at_epoch DESC"}
LIMIT ? OFFSET ?
`;s.push(r,n);let _=this.db.prepare(g).all(...s);if(_.length>0){let v=Math.min(..._.map(R=>R.rank||0)),O=Math.max(..._.map(R=>R.rank||0))-v||1;_.forEach(R=>{R.rank!==void 0&&(R.score=1-(R.rank-v)/O)})}return _}findByConcept(e,t={}){let s=[],r={...t,concepts:e},i=`
SELECT o.*
FROM observations o
WHERE ${this.buildFilterClause(r,s,"o")}
ORDER BY o.created_at_epoch DESC
`;return this.db.prepare(i).all(...s)}findByFile(e,t={}){let s=[],r={...t,files:e},i=`
SELECT o.*
FROM observations o
WHERE ${this.buildFilterClause(r,s,"o")}
ORDER BY o.created_at_epoch DESC
`,o=this.db.prepare(i).all(...s),c=[],u={...t};delete u.type;let p=[];if(u.project&&(p.push("s.project = ?"),c.push(u.project)),u.dateRange){let{start:d,end:g}=u.dateRange;if(d){let _=typeof d=="number"?d:new Date(d).getTime();p.push("s.created_at_epoch >= ?"),c.push(_)}if(g){let _=typeof g=="number"?g:new Date(g).getTime();p.push("s.created_at_epoch <= ?"),c.push(_)}}p.push(`(
EXISTS (SELECT 1 FROM json_each(s.files_read) WHERE value LIKE ?)
OR EXISTS (SELECT 1 FROM json_each(s.files_edited) WHERE value LIKE ?)
)`),c.push(`%${e}%`,`%${e}%`);let m=`
SELECT s.*
FROM session_summaries s
WHERE ${p.join(" AND ")}
ORDER BY s.created_at_epoch DESC
`,E=this.db.prepare(m).all(...c);return{observations:o,sessions:E}}findByType(e,t={}){let s=[],r={...t,type:e},i=`
SELECT o.*
FROM observations o
WHERE ${this.buildFilterClause(r,s,"o")}
ORDER BY o.created_at_epoch DESC
`;return this.db.prepare(i).all(...s)}advancedSearch(e){let{textQuery:t,searchSessions:s=!0,...r}=e,n=[],i=[];if(t)n=this.searchObservations(t,r),s&&(i=this.searchSessions(t,r));else{let o=[],c=this.buildFilterClause(r,o,"o");if(c){let u=`
SELECT o.*
FROM observations o
WHERE ${c}
${this.buildOrderClause(r.orderBy,!1)}
LIMIT ? OFFSET ?
`;o.push(r.limit||50,r.offset||0),n=this.db.prepare(u).all(...o)}if(s){let u=[],p={...r};delete p.type;let m=this.buildFilterClause(p,u,"s");if(m){let E=`
SELECT s.*
FROM session_summaries s
WHERE ${m}
ORDER BY s.created_at_epoch DESC
LIMIT ? OFFSET ?
`;u.push(r.limit||50,r.offset||0),i=this.db.prepare(E).all(...u)}}}return{observations:n,sessions:i}}close(){this.db.close()}};import Af from"better-sqlite3";var xs=(n=>(n[n.DEBUG=0]="DEBUG",n[n.INFO=1]="INFO",n[n.WARN=2]="WARN",n[n.ERROR=3]="ERROR",n[n.SILENT=4]="SILENT",n))(xs||{}),Rs=class{level;useColor;constructor(){let e=process.env.CLAUDE_MEM_LOG_LEVEL?.toUpperCase()||"INFO";this.level=xs[e]??1,this.useColor=process.stdout.isTTY??!1}correlationId(e,t){return`obs-${e}-${t}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.level===0?`${e.message}
${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let t=Object.keys(e);return t.length===0?"{}":t.length<=3?JSON.stringify(e):`{${t.length} keys: ${t.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,t){if(!t)return e;try{let s=typeof t=="string"?JSON.parse(t):t;if(e==="Bash"&&s.command){let r=s.command.length>50?s.command.substring(0,50)+"...":s.command;return`${e}(${r})`}if(e==="Read"&&s.file_path){let r=s.file_path.split("/").pop()||s.file_path;return`${e}(${r})`}if(e==="Edit"&&s.file_path){let r=s.file_path.split("/").pop()||s.file_path;return`${e}(${r})`}if(e==="Write"&&s.file_path){let r=s.file_path.split("/").pop()||s.file_path;return`${e}(${r})`}return e}catch{return e}}log(e,t,s,r,n){if(e<this.level)return;let i=new Date().toISOString().replace("T"," ").substring(0,23),o=xs[e].padEnd(5),c=t.padEnd(6),u="";r?.correlationId?u=`[${r.correlationId}] `:r?.sessionId&&(u=`[session-${r.sessionId}] `);let p="";n!=null&&(this.level===0&&typeof n=="object"?p=`
`+JSON.stringify(n,null,2):p=" "+this.formatData(n));let m="";if(r){let{sessionId:d,sdkSessionId:g,correlationId:_,...v}=r;Object.keys(v).length>0&&(m=` {${Object.entries(v).map(([O,R])=>`${O}=${R}`).join(", ")}}`)}let E=`[${i}] [${o}] [${c}] ${u}${s}${m}${p}`;e===3?console.error(E):console.log(E)}debug(e,t,s,r){this.log(0,e,t,s,r)}info(e,t,s,r){this.log(1,e,t,s,r)}warn(e,t,s,r){this.log(2,e,t,s,r)}error(e,t,s,r){this.log(3,e,t,s,r)}dataIn(e,t,s,r){this.info(e,`\u2192 ${t}`,s,r)}dataOut(e,t,s,r){this.info(e,`\u2190 ${t}`,s,r)}success(e,t,s,r){this.info(e,`\u2713 ${t}`,s,r)}failure(e,t,s,r){this.error(e,`\u2717 ${t}`,s,r)}timing(e,t,s,r){this.info(e,`\u23F1 ${t}`,r,{duration:`${s}ms`})}},rl=new Rs;var xa=class{db;constructor(){ba(or),this.db=new Af(Ea),this.db.pragma("journal_mode = WAL"),this.db.pragma("synchronous = NORMAL"),this.db.pragma("foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable()}initializeSchema(){try{this.db.exec(`
CREATE TABLE IF NOT EXISTS schema_versions (
id INTEGER PRIMARY KEY,
version INTEGER UNIQUE NOT NULL,
applied_at TEXT NOT NULL
)
`);let e=this.db.prepare("SELECT version FROM schema_versions ORDER BY version").all();(e.length>0?Math.max(...e.map(s=>s.version)):0)===0&&(console.error("[SessionStore] Initializing fresh database with migration004..."),this.db.exec(`
CREATE TABLE IF NOT EXISTS sdk_sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
claude_session_id TEXT UNIQUE NOT NULL,
sdk_session_id TEXT UNIQUE,
project TEXT NOT NULL,
user_prompt TEXT,
started_at TEXT NOT NULL,
started_at_epoch INTEGER NOT NULL,
completed_at TEXT,
completed_at_epoch INTEGER,
status TEXT CHECK(status IN ('active', 'completed', 'failed')) NOT NULL DEFAULT 'active'
);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_claude_id ON sdk_sessions(claude_session_id);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_sdk_id ON sdk_sessions(sdk_session_id);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_project ON sdk_sessions(project);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_status ON sdk_sessions(status);
CREATE INDEX IF NOT EXISTS idx_sdk_sessions_started ON sdk_sessions(started_at_epoch DESC);
CREATE TABLE IF NOT EXISTS observations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
sdk_session_id TEXT NOT NULL,
project TEXT NOT NULL,
text TEXT NOT NULL,
type TEXT NOT NULL CHECK(type IN ('decision', 'bugfix', 'feature', 'refactor', 'discovery')),
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
FOREIGN KEY(sdk_session_id) REFERENCES sdk_sessions(sdk_session_id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_observations_sdk_session ON observations(sdk_session_id);
CREATE INDEX IF NOT EXISTS idx_observations_project ON observations(project);
CREATE INDEX IF NOT EXISTS idx_observations_type ON observations(type);
CREATE INDEX IF NOT EXISTS idx_observations_created ON observations(created_at_epoch DESC);
CREATE TABLE IF NOT EXISTS session_summaries (
id INTEGER PRIMARY KEY AUTOINCREMENT,
sdk_session_id TEXT UNIQUE NOT NULL,
project TEXT NOT NULL,
request TEXT,
investigated TEXT,
learned TEXT,
completed TEXT,
next_steps TEXT,
files_read TEXT,
files_edited TEXT,
notes TEXT,
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
FOREIGN KEY(sdk_session_id) REFERENCES sdk_sessions(sdk_session_id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_session_summaries_sdk_session ON session_summaries(sdk_session_id);
CREATE INDEX IF NOT EXISTS idx_session_summaries_project ON session_summaries(project);
CREATE INDEX IF NOT EXISTS idx_session_summaries_created ON session_summaries(created_at_epoch DESC);
`),this.db.prepare("INSERT INTO schema_versions (version, applied_at) VALUES (?, ?)").run(4,new Date().toISOString()),console.error("[SessionStore] Migration004 applied successfully"))}catch(e){throw console.error("[SessionStore] Schema initialization error:",e.message),e}}ensureWorkerPortColumn(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(5))return;this.db.pragma("table_info(sdk_sessions)").some(r=>r.name==="worker_port")||(this.db.exec("ALTER TABLE sdk_sessions ADD COLUMN worker_port INTEGER"),console.error("[SessionStore] Added worker_port column to sdk_sessions table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(5,new Date().toISOString())}catch(e){console.error("[SessionStore] Migration error:",e.message)}}ensurePromptTrackingColumns(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(6))return;this.db.pragma("table_info(sdk_sessions)").some(c=>c.name==="prompt_counter")||(this.db.exec("ALTER TABLE sdk_sessions ADD COLUMN prompt_counter INTEGER DEFAULT 0"),console.error("[SessionStore] Added prompt_counter column to sdk_sessions table")),this.db.pragma("table_info(observations)").some(c=>c.name==="prompt_number")||(this.db.exec("ALTER TABLE observations ADD COLUMN prompt_number INTEGER"),console.error("[SessionStore] Added prompt_number column to observations table")),this.db.pragma("table_info(session_summaries)").some(c=>c.name==="prompt_number")||(this.db.exec("ALTER TABLE session_summaries ADD COLUMN prompt_number INTEGER"),console.error("[SessionStore] Added prompt_number column to session_summaries table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(6,new Date().toISOString())}catch(e){console.error("[SessionStore] Prompt tracking migration error:",e.message)}}removeSessionSummariesUniqueConstraint(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(7))return;if(!this.db.pragma("index_list(session_summaries)").some(r=>r.unique===1)){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(7,new Date().toISOString());return}console.error("[SessionStore] Removing UNIQUE constraint from session_summaries.sdk_session_id..."),this.db.exec("BEGIN TRANSACTION");try{this.db.exec(`
CREATE TABLE session_summaries_new (
id INTEGER PRIMARY KEY AUTOINCREMENT,
sdk_session_id TEXT NOT NULL,
project TEXT NOT NULL,
request TEXT,
investigated TEXT,
learned TEXT,
completed TEXT,
next_steps TEXT,
files_read TEXT,
files_edited TEXT,
notes TEXT,
prompt_number INTEGER,
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
FOREIGN KEY(sdk_session_id) REFERENCES sdk_sessions(sdk_session_id) ON DELETE CASCADE
)
`),this.db.exec(`
INSERT INTO session_summaries_new
SELECT id, sdk_session_id, project, request, investigated, learned,
completed, next_steps, files_read, files_edited, notes,
prompt_number, created_at, created_at_epoch
FROM session_summaries
`),this.db.exec("DROP TABLE session_summaries"),this.db.exec("ALTER TABLE session_summaries_new RENAME TO session_summaries"),this.db.exec(`
CREATE INDEX idx_session_summaries_sdk_session ON session_summaries(sdk_session_id);
CREATE INDEX idx_session_summaries_project ON session_summaries(project);
CREATE INDEX idx_session_summaries_created ON session_summaries(created_at_epoch DESC);
`),this.db.exec("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(7,new Date().toISOString()),console.error("[SessionStore] Successfully removed UNIQUE constraint from session_summaries.sdk_session_id")}catch(r){throw this.db.exec("ROLLBACK"),r}}catch(e){console.error("[SessionStore] Migration error (remove UNIQUE constraint):",e.message)}}addObservationHierarchicalFields(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(8))return;if(this.db.pragma("table_info(observations)").some(r=>r.name==="title")){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(8,new Date().toISOString());return}console.error("[SessionStore] Adding hierarchical fields to observations table..."),this.db.exec(`
ALTER TABLE observations ADD COLUMN title TEXT;
ALTER TABLE observations ADD COLUMN subtitle TEXT;
ALTER TABLE observations ADD COLUMN facts TEXT;
ALTER TABLE observations ADD COLUMN narrative TEXT;
ALTER TABLE observations ADD COLUMN concepts TEXT;
ALTER TABLE observations ADD COLUMN files_read TEXT;
ALTER TABLE observations ADD COLUMN files_modified TEXT;
`),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(8,new Date().toISOString()),console.error("[SessionStore] Successfully added hierarchical fields to observations table")}catch(e){console.error("[SessionStore] Migration error (add hierarchical fields):",e.message)}}makeObservationsTextNullable(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(9))return;let s=this.db.pragma("table_info(observations)").find(r=>r.name==="text");if(!s||s.notnull===0){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(9,new Date().toISOString());return}console.error("[SessionStore] Making observations.text nullable..."),this.db.exec("BEGIN TRANSACTION");try{this.db.exec(`
CREATE TABLE observations_new (
id INTEGER PRIMARY KEY AUTOINCREMENT,
sdk_session_id TEXT NOT NULL,
project TEXT NOT NULL,
text TEXT,
type TEXT NOT NULL CHECK(type IN ('decision', 'bugfix', 'feature', 'refactor', 'discovery', 'change')),
title TEXT,
subtitle TEXT,
facts TEXT,
narrative TEXT,
concepts TEXT,
files_read TEXT,
files_modified TEXT,
prompt_number INTEGER,
created_at TEXT NOT NULL,
created_at_epoch INTEGER NOT NULL,
FOREIGN KEY(sdk_session_id) REFERENCES sdk_sessions(sdk_session_id) ON DELETE CASCADE
)
`),this.db.exec(`
INSERT INTO observations_new
SELECT id, sdk_session_id, project, text, type, title, subtitle, facts,
narrative, concepts, files_read, files_modified, prompt_number,
created_at, created_at_epoch
FROM observations
`),this.db.exec("DROP TABLE observations"),this.db.exec("ALTER TABLE observations_new RENAME TO observations"),this.db.exec(`
CREATE INDEX idx_observations_sdk_session ON observations(sdk_session_id);
CREATE INDEX idx_observations_project ON observations(project);
CREATE INDEX idx_observations_type ON observations(type);
CREATE INDEX idx_observations_created ON observations(created_at_epoch DESC);
`),this.db.exec("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(9,new Date().toISOString()),console.error("[SessionStore] Successfully made observations.text nullable")}catch(r){throw this.db.exec("ROLLBACK"),r}}catch(e){console.error("[SessionStore] Migration error (make text nullable):",e.message)}}getRecentSummaries(e,t=10){return this.db.prepare(`
SELECT
request, investigated, learned, completed, next_steps,
files_read, files_edited, notes, prompt_number, created_at
FROM session_summaries
WHERE project = ?
ORDER BY created_at_epoch DESC
LIMIT ?
`).all(e,t)}getRecentSummariesWithSessionInfo(e,t=3){return this.db.prepare(`
SELECT
sdk_session_id, request, learned, completed, next_steps,
prompt_number, created_at
FROM session_summaries
WHERE project = ?
ORDER BY created_at_epoch DESC
LIMIT ?
`).all(e,t)}getRecentObservations(e,t=20){return this.db.prepare(`
SELECT type, text, prompt_number, created_at
FROM observations
WHERE project = ?
ORDER BY created_at_epoch DESC
LIMIT ?
`).all(e,t)}getRecentSessionsWithStatus(e,t=3){return this.db.prepare(`
SELECT * FROM (
SELECT
s.sdk_session_id,
s.status,
s.started_at,
s.started_at_epoch,
s.user_prompt,
CASE WHEN sum.sdk_session_id IS NOT NULL THEN 1 ELSE 0 END as has_summary
FROM sdk_sessions s
LEFT JOIN session_summaries sum ON s.sdk_session_id = sum.sdk_session_id
WHERE s.project = ? AND s.sdk_session_id IS NOT NULL
GROUP BY s.sdk_session_id
ORDER BY s.started_at_epoch DESC
LIMIT ?
)
ORDER BY started_at_epoch ASC
`).all(e,t)}getObservationsForSession(e){return this.db.prepare(`
SELECT title, subtitle, type, prompt_number
FROM observations
WHERE sdk_session_id = ?
ORDER BY created_at_epoch ASC
`).all(e)}getSummaryForSession(e){return this.db.prepare(`
SELECT
request, investigated, learned, completed, next_steps,
files_read, files_edited, notes, prompt_number, created_at
FROM session_summaries
WHERE sdk_session_id = ?
ORDER BY created_at_epoch DESC
LIMIT 1
`).get(e)||null}getFilesForSession(e){let s=this.db.prepare(`
SELECT files_read, files_modified
FROM observations
WHERE sdk_session_id = ?
`).all(e),r=new Set,n=new Set;for(let i of s){if(i.files_read)try{let o=JSON.parse(i.files_read);Array.isArray(o)&&o.forEach(c=>r.add(c))}catch{}if(i.files_modified)try{let o=JSON.parse(i.files_modified);Array.isArray(o)&&o.forEach(c=>n.add(c))}catch{}}return{filesRead:Array.from(r),filesModified:Array.from(n)}}getSessionById(e){return this.db.prepare(`
SELECT id, sdk_session_id, project, user_prompt
FROM sdk_sessions
WHERE id = ?
LIMIT 1
`).get(e)||null}findActiveSDKSession(e){return this.db.prepare(`
SELECT id, sdk_session_id, project, worker_port
FROM sdk_sessions
WHERE claude_session_id = ? AND status = 'active'
LIMIT 1
`).get(e)||null}findAnySDKSession(e){return this.db.prepare(`
SELECT id
FROM sdk_sessions
WHERE claude_session_id = ?
LIMIT 1
`).get(e)||null}reactivateSession(e,t){this.db.prepare(`
UPDATE sdk_sessions
SET status = 'active', user_prompt = ?, worker_port = NULL
WHERE id = ?
`).run(t,e)}incrementPromptCounter(e){return this.db.prepare(`
UPDATE sdk_sessions
SET prompt_counter = COALESCE(prompt_counter, 0) + 1
WHERE id = ?
`).run(e),this.db.prepare(`
SELECT prompt_counter FROM sdk_sessions WHERE id = ?
`).get(e)?.prompt_counter||1}getPromptCounter(e){return this.db.prepare(`
SELECT prompt_counter FROM sdk_sessions WHERE id = ?
`).get(e)?.prompt_counter||0}createSDKSession(e,t,s){let r=new Date,n=r.getTime();return this.db.prepare(`
INSERT INTO sdk_sessions
(claude_session_id, project, user_prompt, started_at, started_at_epoch, status)
VALUES (?, ?, ?, ?, ?, 'active')
`).run(e,t,s,r.toISOString(),n).lastInsertRowid}updateSDKSessionId(e,t){return this.db.prepare(`
UPDATE sdk_sessions
SET sdk_session_id = ?
WHERE id = ? AND sdk_session_id IS NULL
`).run(t,e).changes===0?(rl.debug("DB","sdk_session_id already set, skipping update",{sessionId:e,sdkSessionId:t}),!1):!0}setWorkerPort(e,t){this.db.prepare(`
UPDATE sdk_sessions
SET worker_port = ?
WHERE id = ?
`).run(t,e)}getWorkerPort(e){return this.db.prepare(`
SELECT worker_port
FROM sdk_sessions
WHERE id = ?
LIMIT 1
`).get(e)?.worker_port||null}storeObservation(e,t,s,r){let n=new Date,i=n.getTime();this.db.prepare(`
INSERT INTO observations
(sdk_session_id, project, type, title, subtitle, facts, narrative, concepts,
files_read, files_modified, prompt_number, created_at, created_at_epoch)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`).run(e,t,s.type,s.title,s.subtitle,JSON.stringify(s.facts),s.narrative,JSON.stringify(s.concepts),JSON.stringify(s.files_read),JSON.stringify(s.files_modified),r||null,n.toISOString(),i)}storeSummary(e,t,s,r){let n=new Date,i=n.getTime();this.db.prepare(`
INSERT INTO session_summaries
(sdk_session_id, project, request, investigated, learned, completed,
next_steps, notes, prompt_number, created_at, created_at_epoch)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`).run(e,t,s.request,s.investigated,s.learned,s.completed,s.next_steps,s.notes,r||null,n.toISOString(),i)}markSessionCompleted(e){let t=new Date,s=t.getTime();this.db.prepare(`
UPDATE sdk_sessions
SET status = 'completed', completed_at = ?, completed_at_epoch = ?
WHERE id = ?
`).run(t.toISOString(),s,e)}markSessionFailed(e){let t=new Date,s=t.getTime();this.db.prepare(`
UPDATE sdk_sessions
SET status = 'failed', completed_at = ?, completed_at_epoch = ?
WHERE id = ?
`).run(t.toISOString(),s,e)}cleanupOrphanedSessions(){let e=new Date,t=e.getTime();return this.db.prepare(`
UPDATE sdk_sessions
SET status = 'failed', completed_at = ?, completed_at_epoch = ?
WHERE status = 'active'
`).run(e.toISOString(),t).changes}close(){this.db.close()}};var Wr,Ra;try{Wr=new Sa,Ra=new xa}catch(a){console.error("[search-server] Failed to initialize search:",a.message),process.exit(1)}function ft(){return`
---
\u{1F4A1} Search Tips:
\u2022 To see full details: Add format: "full" to your search
\u2022 To narrow results: Use filters like type, dateRange, concepts, or files
\u2022 To search by concept: Use find_by_concept tool
\u2022 To browse by type: Use find_by_type with ["decision", "feature", etc.]
\u2022 To sort by date: Use orderBy: "date_desc" or "date_asc"`}function It(a,e){let t=a.title||`Observation #${a.id}`,s=new Date(a.created_at_epoch).toLocaleString(),r=a.type?`[${a.type}]`:"";return`${e+1}. ${r} ${t}
Date: ${s}
Source: claude-mem://observation/${a.id}`}function Ts(a,e){let t=a.request||`Session ${a.sdk_session_id.substring(0,8)}`,s=new Date(a.created_at_epoch).toLocaleString();return`${e+1}. ${t}
Date: ${s}
Source: claude-mem://session/${a.sdk_session_id}`}function At(a,e){let t=a.title||`Observation #${a.id}`,s=[];s.push(`## ${t}`),s.push(`*Source: claude-mem://observation/${a.id}*`),s.push(""),a.subtitle&&(s.push(`**${a.subtitle}**`),s.push("")),a.narrative&&(s.push(a.narrative),s.push("")),a.text&&(s.push(a.text),s.push(""));let r=[];if(r.push(`Type: ${a.type}`),a.facts)try{let i=JSON.parse(a.facts);i.length>0&&r.push(`Facts: ${i.join("; ")}`)}catch{}if(a.concepts)try{let i=JSON.parse(a.concepts);i.length>0&&r.push(`Concepts: ${i.join(", ")}`)}catch{}if(a.files_read||a.files_modified){let i=[];if(a.files_read)try{i.push(...JSON.parse(a.files_read))}catch{}if(a.files_modified)try{i.push(...JSON.parse(a.files_modified))}catch{}i.length>0&&r.push(`Files: ${[...new Set(i)].join(", ")}`)}r.length>0&&(s.push("---"),s.push(r.join(" | ")));let n=new Date(a.created_at_epoch).toLocaleString();return s.push(""),s.push("---"),s.push(`Date: ${n}`),s.join(`
`)}function Ps(a,e){let t=a.request||`Session ${a.sdk_session_id.substring(0,8)}`,s=[];s.push(`## ${t}`),s.push(`*Source: claude-mem://session/${a.sdk_session_id}*`),s.push(""),a.completed&&(s.push(`**Completed:** ${a.completed}`),s.push("")),a.learned&&(s.push(`**Learned:** ${a.learned}`),s.push("")),a.investigated&&(s.push(`**Investigated:** ${a.investigated}`),s.push("")),a.next_steps&&(s.push(`**Next Steps:** ${a.next_steps}`),s.push("")),a.notes&&(s.push(`**Notes:** ${a.notes}`),s.push(""));let r=[];if(a.files_read||a.files_edited){let i=[];if(a.files_read)try{i.push(...JSON.parse(a.files_read))}catch{}if(a.files_edited)try{i.push(...JSON.parse(a.files_edited))}catch{}i.length>0&&r.push(`Files: ${[...new Set(i)].join(", ")}`)}let n=new Date(a.created_at_epoch).toLocaleDateString();return r.push(`Date: ${n}`),r.length>0&&(s.push("---"),s.push(r.join(" | "))),s.join(`
`)}var tl=l.object({project:l.string().optional().describe("Filter by project name"),type:l.union([l.enum(["decision","bugfix","feature","refactor","discovery","change"]),l.array(l.enum(["decision","bugfix","feature","refactor","discovery","change"]))]).optional().describe("Filter by observation type"),concepts:l.union([l.string(),l.array(l.string())]).optional().describe("Filter by concept tags"),files:l.union([l.string(),l.array(l.string())]).optional().describe("Filter by file paths (partial match)"),dateRange:l.object({start:l.union([l.string(),l.number()]).optional().describe("Start date (ISO string or epoch)"),end:l.union([l.string(),l.number()]).optional().describe("End date (ISO string or epoch)")}).optional().describe("Filter by date range"),limit:l.number().min(1).max(100).default(20).describe("Maximum number of results"),offset:l.number().min(0).default(0).describe("Number of results to skip"),orderBy:l.enum(["relevance","date_desc","date_asc"]).default("relevance").describe("Sort order")}),al=[{name:"search_observations",description:"Search observations using full-text search across titles, narratives, facts, and concepts",inputSchema:l.object({query:l.string().describe("Search query for FTS5 full-text search"),format:l.enum(["index","full"]).default("index").describe('Output format: "index" for titles/dates only (default), "full" for complete details'),...tl.shape}),handler:async a=>{try{let{query:e,format:t="index",...s}=a,r=Wr.searchObservations(e,s);if(r.length===0)return{content:[{type:"text",text:`No observations found matching "${e}"`}]};let n;if(t==="index"){let i=`Found ${r.length} observation(s) matching "${e}":
`,o=r.map((c,u)=>It(c,u));n=i+o.join(`
`)+ft()}else n=r.map((o,c)=>At(o,c)).join(`
---
`);return{content:[{type:"text",text:n}]}}catch(e){return{content:[{type:"text",text:`Search failed: ${e.message}`}],isError:!0}}}},{name:"search_sessions",description:"Search session summaries using full-text search across requests, completions, learnings, and notes",inputSchema:l.object({query:l.string().describe("Search query for FTS5 full-text search"),format:l.enum(["index","full"]).default("index").describe('Output format: "index" for titles/dates only (default), "full" for complete details'),project:l.string().optional().describe("Filter by project name"),dateRange:l.object({start:l.union([l.string(),l.number()]).optional(),end:l.union([l.string(),l.number()]).optional()}).optional().describe("Filter by date range"),limit:l.number().min(1).max(100).default(20).describe("Maximum number of results"),offset:l.number().min(0).default(0).describe("Number of results to skip"),orderBy:l.enum(["relevance","date_desc","date_asc"]).default("relevance").describe("Sort order")}),handler:async a=>{try{let{query:e,format:t="index",...s}=a,r=Wr.searchSessions(e,s);if(r.length===0)return{content:[{type:"text",text:`No sessions found matching "${e}"`}]};let n;if(t==="index"){let i=`Found ${r.length} session(s) matching "${e}":
`,o=r.map((c,u)=>Ts(c,u));n=i+o.join(`
`)+ft()}else n=r.map((o,c)=>Ps(o,c)).join(`
---
`);return{content:[{type:"text",text:n}]}}catch(e){return{content:[{type:"text",text:`Search failed: ${e.message}`}],isError:!0}}}},{name:"find_by_concept",description:"Find observations tagged with a specific concept",inputSchema:l.object({concept:l.string().describe("Concept tag to search for"),format:l.enum(["index","full"]).default("index").describe('Output format: "index" for titles/dates only (default), "full" for complete details'),project:l.string().optional().describe("Filter by project name"),dateRange:l.object({start:l.union([l.string(),l.number()]).optional(),end:l.union([l.string(),l.number()]).optional()}).optional().describe("Filter by date range"),limit:l.number().min(1).max(100).default(20).describe("Maximum number of results"),offset:l.number().min(0).default(0).describe("Number of results to skip"),orderBy:l.enum(["relevance","date_desc","date_asc"]).default("date_desc").describe("Sort order")}),handler:async a=>{try{let{concept:e,format:t="index",...s}=a,r=Wr.findByConcept(e,s);if(r.length===0)return{content:[{type:"text",text:`No observations found with concept "${e}"`}]};let n;if(t==="index"){let i=`Found ${r.length} observation(s) with concept "${e}":
`,o=r.map((c,u)=>It(c,u));n=i+o.join(`
`)+ft()}else n=r.map((o,c)=>At(o,c)).join(`
---
`);return{content:[{type:"text",text:n}]}}catch(e){return{content:[{type:"text",text:`Search failed: ${e.message}`}],isError:!0}}}},{name:"find_by_file",description:"Find observations and sessions that reference a specific file path",inputSchema:l.object({filePath:l.string().describe("File path to search for (supports partial matching)"),format:l.enum(["index","full"]).default("index").describe('Output format: "index" for titles/dates only (default), "full" for complete details'),project:l.string().optional().describe("Filter by project name"),dateRange:l.object({start:l.union([l.string(),l.number()]).optional(),end:l.union([l.string(),l.number()]).optional()}).optional().describe("Filter by date range"),limit:l.number().min(1).max(100).default(20).describe("Maximum number of results"),offset:l.number().min(0).default(0).describe("Number of results to skip"),orderBy:l.enum(["relevance","date_desc","date_asc"]).default("date_desc").describe("Sort order")}),handler:async a=>{try{let{filePath:e,format:t="index",...s}=a,r=Wr.findByFile(e,s),n=r.observations.length+r.sessions.length;if(n===0)return{content:[{type:"text",text:`No results found for file "${e}"`}]};let i;if(t==="index"){let o=`Found ${n} result(s) for file "${e}":
`,c=[];r.observations.forEach((u,p)=>{c.push(It(u,p))}),r.sessions.forEach((u,p)=>{c.push(Ts(u,p+r.observations.length))}),i=o+c.join(`
`)+ft()}else{let o=[];r.observations.forEach((c,u)=>{o.push(At(c,u))}),r.sessions.forEach((c,u)=>{o.push(Ps(c,u+r.observations.length))}),i=o.join(`
---
`)}return{content:[{type:"text",text:i}]}}catch(e){return{content:[{type:"text",text:`Search failed: ${e.message}`}],isError:!0}}}},{name:"find_by_type",description:"Find observations of a specific type (decision, bugfix, feature, refactor, discovery, change)",inputSchema:l.object({type:l.union([l.enum(["decision","bugfix","feature","refactor","discovery","change"]),l.array(l.enum(["decision","bugfix","feature","refactor","discovery","change"]))]).describe("Observation type(s) to filter by"),format:l.enum(["index","full"]).default("index").describe('Output format: "index" for titles/dates only (default), "full" for complete details'),project:l.string().optional().describe("Filter by project name"),dateRange:l.object({start:l.union([l.string(),l.number()]).optional(),end:l.union([l.string(),l.number()]).optional()}).optional().describe("Filter by date range"),limit:l.number().min(1).max(100).default(20).describe("Maximum number of results"),offset:l.number().min(0).default(0).describe("Number of results to skip"),orderBy:l.enum(["relevance","date_desc","date_asc"]).default("date_desc").describe("Sort order")}),handler:async a=>{try{let{type:e,format:t="index",...s}=a,r=Wr.findByType(e,s);if(r.length===0)return{content:[{type:"text",text:`No observations found with type "${Array.isArray(e)?e.join(", "):e}"`}]};let n=Array.isArray(e)?e.join(", "):e,i;if(t==="index"){let o=`Found ${r.length} observation(s) with type "${n}":
`,c=r.map((u,p)=>It(u,p));i=o+c.join(`
`)+ft()}else i=r.map((c,u)=>At(c,u)).join(`
---
`);return{content:[{type:"text",text:i}]}}catch(e){return{content:[{type:"text",text:`Search failed: ${e.message}`}],isError:!0}}}},{name:"get_recent_context",description:"Get recent session context including summaries and observations for a project",inputSchema:l.object({project:l.string().optional().describe("Project name (defaults to current working directory basename)"),limit:l.number().min(1).max(10).default(3).describe("Number of recent sessions to retrieve")}),handler:async a=>{try{let e=a.project||Nf(process.cwd()),t=a.limit||3,s=Ra.getRecentSessionsWithStatus(e,t);if(s.length===0)return{content:[{type:"text",text:`# Recent Session Context
No previous sessions found for project "${e}".`}]};let r=[];r.push("# Recent Session Context"),r.push(""),r.push(`Showing last ${s.length} session(s) for **${e}**:`),r.push("");for(let n of s)if(n.sdk_session_id){if(r.push("---"),r.push(""),n.has_summary){let i=Ra.getSummaryForSession(n.sdk_session_id);if(i){let o=i.prompt_number?` (Prompt #${i.prompt_number})`:"";if(r.push(`**Summary${o}**`),r.push(""),i.request&&r.push(`**Request:** ${i.request}`),i.completed&&r.push(`**Completed:** ${i.completed}`),i.learned&&r.push(`**Learned:** ${i.learned}`),i.next_steps&&r.push(`**Next Steps:** ${i.next_steps}`),i.files_read)try{let u=JSON.parse(i.files_read);Array.isArray(u)&&u.length>0&&r.push(`**Files Read:** ${u.join(", ")}`)}catch{i.files_read.trim()&&r.push(`**Files Read:** ${i.files_read}`)}if(i.files_edited)try{let u=JSON.parse(i.files_edited);Array.isArray(u)&&u.length>0&&r.push(`**Files Edited:** ${u.join(", ")}`)}catch{i.files_edited.trim()&&r.push(`**Files Edited:** ${i.files_edited}`)}let c=new Date(i.created_at).toLocaleString();r.push(`**Date:** ${c}`)}}else if(n.status==="active"){r.push("**In Progress**"),r.push(""),n.user_prompt&&r.push(`**Request:** ${n.user_prompt}`);let i=Ra.getObservationsForSession(n.sdk_session_id);if(i.length>0){r.push(""),r.push(`**Observations (${i.length}):**`);for(let c of i)r.push(`- ${c.title}`)}else r.push(""),r.push("*No observations yet*");r.push(""),r.push("**Status:** Active - summary pending");let o=new Date(n.started_at).toLocaleString();r.push(`**Date:** ${o}`)}else{r.push(`**${n.status.charAt(0).toUpperCase()+n.status.slice(1)}**`),r.push(""),n.user_prompt&&r.push(`**Request:** ${n.user_prompt}`),r.push(""),r.push(`**Status:** ${n.status} - no summary available`);let i=new Date(n.started_at).toLocaleString();r.push(`**Date:** ${i}`)}r.push("")}return{content:[{type:"text",text:r.join(`
`)}]}}catch(e){return{content:[{type:"text",text:`Failed to get recent context: ${e.message}`}],isError:!0}}}},{name:"advanced_search",description:"Advanced search combining full-text search with structured filters across both observations and sessions",inputSchema:l.object({textQuery:l.string().optional().describe("Optional text query for FTS5 search"),format:l.enum(["index","full"]).default("index").describe('Output format: "index" for titles/dates only (default), "full" for complete details'),searchSessions:l.boolean().default(!0).describe("Include session summaries in results"),...tl.shape}),handler:async a=>{try{let{format:e="index",...t}=a,s=Wr.advancedSearch(t),r=s.observations.length+s.sessions.length;if(r===0)return{content:[{type:"text",text:"No results found matching the search criteria"}]};let n;if(e==="index"){let i=`Found ${r} result(s) matching search criteria:
`,o=[];s.observations.forEach((c,u)=>{o.push(It(c,u))}),s.sessions.forEach((c,u)=>{o.push(Ts(c,u+s.observations.length))}),n=i+o.join(`
`)+ft()}else{let i=[];s.observations.forEach((o,c)=>{i.push(At(o,c))}),s.sessions.forEach((o,c)=>{i.push(Ps(o,c+s.observations.length))}),n=i.join(`
---
`)}return{content:[{type:"text",text:n}]}}catch(e){return{content:[{type:"text",text:`Search failed: ${e.message}`}],isError:!0}}}}],Os=new pa({name:"claude-mem-search",version:"1.0.0"},{capabilities:{tools:{}}});Os.setRequestHandler(Ua,async()=>({tools:al.map(a=>({name:a.name,description:a.description,inputSchema:bs(a.inputSchema)}))}));Os.setRequestHandler(za,async a=>{let e=al.find(t=>t.name===a.params.name);if(!e)throw new Error(`Unknown tool: ${a.params.name}`);try{return await e.handler(a.params.arguments||{})}catch(t){return{content:[{type:"text",text:`Tool execution failed: ${t.message}`}],isError:!0}}});async function Df(){let a=new ma;await Os.connect(a),console.error("[search-server] Claude-mem search server started")}Df().catch(a=>{console.error("[search-server] Fatal error:",a),process.exit(1)});
/*! Bundled license information:
uri-js/dist/es5/uri.all.js:
(** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js *)
*/