@clappstore/connect 0.7.17 → 0.7.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -41,7 +41,7 @@ Error generating stack: `+f.message+`
|
|
|
41
41
|
* @license MIT
|
|
42
42
|
*/var PopStateEventType="popstate";function isLocation(t){return typeof t=="object"&&t!=null&&"pathname"in t&&"search"in t&&"hash"in t&&"state"in t&&"key"in t}function createBrowserHistory(t={}){function a(o,u){var g;let c=(g=u.state)==null?void 0:g.masked,{pathname:d,search:m,hash:p}=c||o.location;return createLocation("",{pathname:d,search:m,hash:p},u.state&&u.state.usr||null,u.state&&u.state.key||"default",c?{pathname:o.location.pathname,search:o.location.search,hash:o.location.hash}:void 0)}function l(o,u){return typeof u=="string"?u:createPath(u)}return getUrlBasedHistory(a,l,null,t)}function invariant(t,a){if(t===!1||t===null||typeof t>"u")throw new Error(a)}function warning(t,a){if(!t){typeof console<"u"&&console.warn(a);try{throw new Error(a)}catch{}}}function createKey(){return Math.random().toString(36).substring(2,10)}function getHistoryState(t,a){return{usr:t.state,key:t.key,idx:a,masked:t.unstable_mask?{pathname:t.pathname,search:t.search,hash:t.hash}:void 0}}function createLocation(t,a,l=null,o,u){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof a=="string"?parsePath(a):a,state:l,key:a&&a.key||o||createKey(),unstable_mask:u}}function createPath({pathname:t="/",search:a="",hash:l=""}){return a&&a!=="?"&&(t+=a.charAt(0)==="?"?a:"?"+a),l&&l!=="#"&&(t+=l.charAt(0)==="#"?l:"#"+l),t}function parsePath(t){let a={};if(t){let l=t.indexOf("#");l>=0&&(a.hash=t.substring(l),t=t.substring(0,l));let o=t.indexOf("?");o>=0&&(a.search=t.substring(o),t=t.substring(0,o)),t&&(a.pathname=t)}return a}function getUrlBasedHistory(t,a,l,o={}){let{window:u=document.defaultView,v5Compat:c=!1}=o,d=u.history,m="POP",p=null,g=x();g==null&&(g=0,d.replaceState({...d.state,idx:g},""));function x(){return(d.state||{idx:null}).idx}function b(){m="POP";let L=x(),D=L==null?null:L-g;g=L,p&&p({action:m,location:B.location,delta:D})}function C(L,D){m="PUSH";let H=isLocation(L)?L:createLocation(B.location,L,D);g=x()+1;let V=getHistoryState(H,g),se=B.createHref(H.unstable_mask||H);try{d.pushState(V,"",se)}catch(te){if(te instanceof DOMException&&te.name==="DataCloneError")throw te;u.location.assign(se)}c&&p&&p({action:m,location:B.location,delta:1})}function R(L,D){m="REPLACE";let H=isLocation(L)?L:createLocation(B.location,L,D);g=x();let V=getHistoryState(H,g),se=B.createHref(H.unstable_mask||H);d.replaceState(V,"",se),c&&p&&p({action:m,location:B.location,delta:0})}function _(L){return createBrowserURLImpl(L)}let B={get action(){return m},get location(){return t(u,d)},listen(L){if(p)throw new Error("A history only accepts one active listener");return u.addEventListener(PopStateEventType,b),p=L,()=>{u.removeEventListener(PopStateEventType,b),p=null}},createHref(L){return a(u,L)},createURL:_,encodeLocation(L){let D=_(L);return{pathname:D.pathname,search:D.search,hash:D.hash}},push:C,replace:R,go(L){return d.go(L)}};return B}function createBrowserURLImpl(t,a=!1){let l="http://localhost";typeof window<"u"&&(l=window.location.origin!=="null"?window.location.origin:window.location.href),invariant(l,"No window.location.(origin|href) available to create URL");let o=typeof t=="string"?t:createPath(t);return o=o.replace(/ $/,"%20"),!a&&o.startsWith("//")&&(o=l+o),new URL(o,l)}function matchRoutes(t,a,l="/"){return matchRoutesImpl(t,a,l,!1)}function matchRoutesImpl(t,a,l,o){let u=typeof a=="string"?parsePath(a):a,c=stripBasename(u.pathname||"/",l);if(c==null)return null;let d=flattenRoutes(t);rankRouteBranches(d);let m=null;for(let p=0;m==null&&p<d.length;++p){let g=decodePath(c);m=matchRouteBranch(d[p],g,o)}return m}function flattenRoutes(t,a=[],l=[],o="",u=!1){let c=(d,m,p=u,g)=>{let x={relativePath:g===void 0?d.path||"":g,caseSensitive:d.caseSensitive===!0,childrenIndex:m,route:d};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(o)&&p)return;invariant(x.relativePath.startsWith(o),`Absolute route path "${x.relativePath}" nested under path "${o}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(o.length)}let b=joinPaths([o,x.relativePath]),C=l.concat(x);d.children&&d.children.length>0&&(invariant(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),flattenRoutes(d.children,a,C,b,p)),!(d.path==null&&!d.index)&&a.push({path:b,score:computeScore(b,d.index),routesMeta:C})};return t.forEach((d,m)=>{var p;if(d.path===""||!((p=d.path)!=null&&p.includes("?")))c(d,m);else for(let g of explodeOptionalSegments(d.path))c(d,m,!0,g)}),a}function explodeOptionalSegments(t){let a=t.split("/");if(a.length===0)return[];let[l,...o]=a,u=l.endsWith("?"),c=l.replace(/\?$/,"");if(o.length===0)return u?[c,""]:[c];let d=explodeOptionalSegments(o.join("/")),m=[];return m.push(...d.map(p=>p===""?c:[c,p].join("/"))),u&&m.push(...d),m.map(p=>t.startsWith("/")&&p===""?"/":p)}function rankRouteBranches(t){t.sort((a,l)=>a.score!==l.score?l.score-a.score:compareIndexes(a.routesMeta.map(o=>o.childrenIndex),l.routesMeta.map(o=>o.childrenIndex)))}var paramRe=/^:[\w-]+$/,dynamicSegmentValue=3,indexRouteValue=2,emptySegmentValue=1,staticSegmentValue=10,splatPenalty=-2,isSplat=t=>t==="*";function computeScore(t,a){let l=t.split("/"),o=l.length;return l.some(isSplat)&&(o+=splatPenalty),a&&(o+=indexRouteValue),l.filter(u=>!isSplat(u)).reduce((u,c)=>u+(paramRe.test(c)?dynamicSegmentValue:c===""?emptySegmentValue:staticSegmentValue),o)}function compareIndexes(t,a){return t.length===a.length&&t.slice(0,-1).every((o,u)=>o===a[u])?t[t.length-1]-a[a.length-1]:0}function matchRouteBranch(t,a,l=!1){let{routesMeta:o}=t,u={},c="/",d=[];for(let m=0;m<o.length;++m){let p=o[m],g=m===o.length-1,x=c==="/"?a:a.slice(c.length)||"/",b=matchPath({path:p.relativePath,caseSensitive:p.caseSensitive,end:g},x),C=p.route;if(!b&&g&&l&&!o[o.length-1].route.index&&(b=matchPath({path:p.relativePath,caseSensitive:p.caseSensitive,end:!1},x)),!b)return null;Object.assign(u,b.params),d.push({params:u,pathname:joinPaths([c,b.pathname]),pathnameBase:normalizePathname(joinPaths([c,b.pathnameBase])),route:C}),b.pathnameBase!=="/"&&(c=joinPaths([c,b.pathnameBase]))}return d}function matchPath(t,a){typeof t=="string"&&(t={path:t,caseSensitive:!1,end:!0});let[l,o]=compilePath(t.path,t.caseSensitive,t.end),u=a.match(l);if(!u)return null;let c=u[0],d=c.replace(/(.)\/+$/,"$1"),m=u.slice(1);return{params:o.reduce((g,{paramName:x,isOptional:b},C)=>{if(x==="*"){let _=m[C]||"";d=c.slice(0,c.length-_.length).replace(/(.)\/+$/,"$1")}const R=m[C];return b&&!R?g[x]=void 0:g[x]=(R||"").replace(/%2F/g,"/"),g},{}),pathname:c,pathnameBase:d,pattern:t}}function compilePath(t,a=!1,l=!0){warning(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let o=[],u="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,m,p,g,x)=>{if(o.push({paramName:m,isOptional:p!=null}),p){let b=x.charAt(g+d.length);return b&&b!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(o.push({paramName:"*"}),u+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):l?u+="\\/*$":t!==""&&t!=="/"&&(u+="(?:(?=\\/|$))"),[new RegExp(u,a?void 0:"i"),o]}function decodePath(t){try{return t.split("/").map(a=>decodeURIComponent(a).replace(/\//g,"%2F")).join("/")}catch(a){return warning(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${a}).`),t}}function stripBasename(t,a){if(a==="/")return t;if(!t.toLowerCase().startsWith(a.toLowerCase()))return null;let l=a.endsWith("/")?a.length-1:a.length,o=t.charAt(l);return o&&o!=="/"?null:t.slice(l)||"/"}var ABSOLUTE_URL_REGEX=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function resolvePath(t,a="/"){let{pathname:l,search:o="",hash:u=""}=typeof t=="string"?parsePath(t):t,c;return l?(l=l.replace(/\/\/+/g,"/"),l.startsWith("/")?c=resolvePathname(l.substring(1),"/"):c=resolvePathname(l,a)):c=a,{pathname:c,search:normalizeSearch(o),hash:normalizeHash(u)}}function resolvePathname(t,a){let l=a.replace(/\/+$/,"").split("/");return t.split("/").forEach(u=>{u===".."?l.length>1&&l.pop():u!=="."&&l.push(u)}),l.length>1?l.join("/"):"/"}function getInvalidPathError(t,a,l,o){return`Cannot include a '${t}' character in a manually specified \`to.${a}\` field [${JSON.stringify(o)}]. Please separate it out to the \`to.${l}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function getPathContributingMatches(t){return t.filter((a,l)=>l===0||a.route.path&&a.route.path.length>0)}function getResolveToMatches(t){let a=getPathContributingMatches(t);return a.map((l,o)=>o===a.length-1?l.pathname:l.pathnameBase)}function resolveTo(t,a,l,o=!1){let u;typeof t=="string"?u=parsePath(t):(u={...t},invariant(!u.pathname||!u.pathname.includes("?"),getInvalidPathError("?","pathname","search",u)),invariant(!u.pathname||!u.pathname.includes("#"),getInvalidPathError("#","pathname","hash",u)),invariant(!u.search||!u.search.includes("#"),getInvalidPathError("#","search","hash",u)));let c=t===""||u.pathname==="",d=c?"/":u.pathname,m;if(d==null)m=l;else{let b=a.length-1;if(!o&&d.startsWith("..")){let C=d.split("/");for(;C[0]==="..";)C.shift(),b-=1;u.pathname=C.join("/")}m=b>=0?a[b]:"/"}let p=resolvePath(u,m),g=d&&d!=="/"&&d.endsWith("/"),x=(c||d===".")&&l.endsWith("/");return!p.pathname.endsWith("/")&&(g||x)&&(p.pathname+="/"),p}var joinPaths=t=>t.join("/").replace(/\/\/+/g,"/"),normalizePathname=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),normalizeSearch=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,normalizeHash=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t,ErrorResponseImpl=class{constructor(t,a,l,o=!1){this.status=t,this.statusText=a||"",this.internal=o,l instanceof Error?(this.data=l.toString(),this.error=l):this.data=l}};function isRouteErrorResponse(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}function getRoutePattern(t){return t.map(a=>a.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var isBrowser=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function parseToInfo(t,a){let l=t;if(typeof l!="string"||!ABSOLUTE_URL_REGEX.test(l))return{absoluteURL:void 0,isExternal:!1,to:l};let o=l,u=!1;if(isBrowser)try{let c=new URL(window.location.href),d=l.startsWith("//")?new URL(c.protocol+l):new URL(l),m=stripBasename(d.pathname,a);d.origin===c.origin&&m!=null?l=m+d.search+d.hash:u=!0}catch{warning(!1,`<Link to="${l}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:o,isExternal:u,to:l}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var validMutationMethodsArr=["POST","PUT","PATCH","DELETE"];new Set(validMutationMethodsArr);var validRequestMethodsArr=["GET",...validMutationMethodsArr];new Set(validRequestMethodsArr);var DataRouterContext=reactExports.createContext(null);DataRouterContext.displayName="DataRouter";var DataRouterStateContext=reactExports.createContext(null);DataRouterStateContext.displayName="DataRouterState";var RSCRouterContext=reactExports.createContext(!1),ViewTransitionContext=reactExports.createContext({isTransitioning:!1});ViewTransitionContext.displayName="ViewTransition";var FetchersContext=reactExports.createContext(new Map);FetchersContext.displayName="Fetchers";var AwaitContext=reactExports.createContext(null);AwaitContext.displayName="Await";var NavigationContext=reactExports.createContext(null);NavigationContext.displayName="Navigation";var LocationContext=reactExports.createContext(null);LocationContext.displayName="Location";var RouteContext=reactExports.createContext({outlet:null,matches:[],isDataRoute:!1});RouteContext.displayName="Route";var RouteErrorContext=reactExports.createContext(null);RouteErrorContext.displayName="RouteError";var ERROR_DIGEST_BASE="REACT_ROUTER_ERROR",ERROR_DIGEST_REDIRECT="REDIRECT",ERROR_DIGEST_ROUTE_ERROR_RESPONSE="ROUTE_ERROR_RESPONSE";function decodeRedirectErrorDigest(t){if(t.startsWith(`${ERROR_DIGEST_BASE}:${ERROR_DIGEST_REDIRECT}:{`))try{let a=JSON.parse(t.slice(28));if(typeof a=="object"&&a&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.location=="string"&&typeof a.reloadDocument=="boolean"&&typeof a.replace=="boolean")return a}catch{}}function decodeRouteErrorResponseDigest(t){if(t.startsWith(`${ERROR_DIGEST_BASE}:${ERROR_DIGEST_ROUTE_ERROR_RESPONSE}:{`))try{let a=JSON.parse(t.slice(40));if(typeof a=="object"&&a&&typeof a.status=="number"&&typeof a.statusText=="string")return new ErrorResponseImpl(a.status,a.statusText,a.data)}catch{}}function useHref(t,{relative:a}={}){invariant(useInRouterContext(),"useHref() may be used only in the context of a <Router> component.");let{basename:l,navigator:o}=reactExports.useContext(NavigationContext),{hash:u,pathname:c,search:d}=useResolvedPath(t,{relative:a}),m=c;return l!=="/"&&(m=c==="/"?l:joinPaths([l,c])),o.createHref({pathname:m,search:d,hash:u})}function useInRouterContext(){return reactExports.useContext(LocationContext)!=null}function useLocation(){return invariant(useInRouterContext(),"useLocation() may be used only in the context of a <Router> component."),reactExports.useContext(LocationContext).location}var navigateEffectWarning="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function useIsomorphicLayoutEffect(t){reactExports.useContext(NavigationContext).static||reactExports.useLayoutEffect(t)}function useNavigate(){let{isDataRoute:t}=reactExports.useContext(RouteContext);return t?useNavigateStable():useNavigateUnstable()}function useNavigateUnstable(){invariant(useInRouterContext(),"useNavigate() may be used only in the context of a <Router> component.");let t=reactExports.useContext(DataRouterContext),{basename:a,navigator:l}=reactExports.useContext(NavigationContext),{matches:o}=reactExports.useContext(RouteContext),{pathname:u}=useLocation(),c=JSON.stringify(getResolveToMatches(o)),d=reactExports.useRef(!1);return useIsomorphicLayoutEffect(()=>{d.current=!0}),reactExports.useCallback((p,g={})=>{if(warning(d.current,navigateEffectWarning),!d.current)return;if(typeof p=="number"){l.go(p);return}let x=resolveTo(p,JSON.parse(c),u,g.relative==="path");t==null&&a!=="/"&&(x.pathname=x.pathname==="/"?a:joinPaths([a,x.pathname])),(g.replace?l.replace:l.push)(x,g.state,g)},[a,l,c,u,t])}reactExports.createContext(null);function useParams(){let{matches:t}=reactExports.useContext(RouteContext),a=t[t.length-1];return a?a.params:{}}function useResolvedPath(t,{relative:a}={}){let{matches:l}=reactExports.useContext(RouteContext),{pathname:o}=useLocation(),u=JSON.stringify(getResolveToMatches(l));return reactExports.useMemo(()=>resolveTo(t,JSON.parse(u),o,a==="path"),[t,u,o,a])}function useRoutes(t,a){return useRoutesImpl(t,a)}function useRoutesImpl(t,a,l){var L;invariant(useInRouterContext(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=reactExports.useContext(NavigationContext),{matches:u}=reactExports.useContext(RouteContext),c=u[u.length-1],d=c?c.params:{},m=c?c.pathname:"/",p=c?c.pathnameBase:"/",g=c&&c.route;{let D=g&&g.path||"";warningOnce(m,!g||D.endsWith("*")||D.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${m}" (under <Route path="${D}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
43
43
|
|
|
44
|
-
Please change the parent <Route path="${D}"> to <Route path="${D==="/"?"*":`${D}/*`}">.`)}let x=useLocation(),b;if(a){let D=typeof a=="string"?parsePath(a):a;invariant(p==="/"||((L=D.pathname)==null?void 0:L.startsWith(p)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${D.pathname}" was given in the \`location\` prop.`),b=D}else b=x;let C=b.pathname||"/",R=C;if(p!=="/"){let D=p.replace(/^\//,"").split("/");R="/"+C.replace(/^\//,"").split("/").slice(D.length).join("/")}let _=matchRoutes(t,{pathname:R});warning(g||_!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),warning(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let B=_renderMatches(_&&_.map(D=>Object.assign({},D,{params:Object.assign({},d,D.params),pathname:joinPaths([p,o.encodeLocation?o.encodeLocation(D.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:D.pathname]),pathnameBase:D.pathnameBase==="/"?p:joinPaths([p,o.encodeLocation?o.encodeLocation(D.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:D.pathnameBase])})),u,l);return a&&B?reactExports.createElement(LocationContext.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...b},navigationType:"POP"}},B):B}function DefaultErrorComponent(){let t=useRouteError(),a=isRouteErrorResponse(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),l=t instanceof Error?t.stack:null,o="rgba(200,200,200, 0.5)",u={padding:"0.5rem",backgroundColor:o},c={padding:"2px 4px",backgroundColor:o},d=null;return console.error("Error handled by React Router default ErrorBoundary:",t),d=reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("p",null,"💿 Hey developer 👋"),reactExports.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",reactExports.createElement("code",{style:c},"ErrorBoundary")," or"," ",reactExports.createElement("code",{style:c},"errorElement")," prop on your route.")),reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("h2",null,"Unexpected Application Error!"),reactExports.createElement("h3",{style:{fontStyle:"italic"}},a),l?reactExports.createElement("pre",{style:u},l):null,d)}var defaultErrorElement=reactExports.createElement(DefaultErrorComponent,null),RenderErrorBoundary=class extends reactExports.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,a){return a.location!==t.location||a.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:a.error,location:a.location,revalidation:t.revalidation||a.revalidation}}componentDidCatch(t,a){this.props.onError?this.props.onError(t,a):console.error("React Router caught the following error during render",t)}render(){let t=this.state.error;if(this.context&&typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){const l=decodeRouteErrorResponseDigest(t.digest);l&&(t=l)}let a=t!==void 0?reactExports.createElement(RouteContext.Provider,{value:this.props.routeContext},reactExports.createElement(RouteErrorContext.Provider,{value:t,children:this.props.component})):this.props.children;return this.context?reactExports.createElement(RSCErrorHandler,{error:t},a):a}};RenderErrorBoundary.contextType=RSCRouterContext;var errorRedirectHandledMap=new WeakMap;function RSCErrorHandler({children:t,error:a}){let{basename:l}=reactExports.useContext(NavigationContext);if(typeof a=="object"&&a&&"digest"in a&&typeof a.digest=="string"){let o=decodeRedirectErrorDigest(a.digest);if(o){let u=errorRedirectHandledMap.get(a);if(u)throw u;let c=parseToInfo(o.location,l);if(isBrowser&&!errorRedirectHandledMap.get(a))if(c.isExternal||o.reloadDocument)window.location.href=c.absoluteURL||c.to;else{const d=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(c.to,{replace:o.replace}));throw errorRedirectHandledMap.set(a,d),d}return reactExports.createElement("meta",{httpEquiv:"refresh",content:`0;url=${c.absoluteURL||c.to}`})}}return t}function RenderedRoute({routeContext:t,match:a,children:l}){let o=reactExports.useContext(DataRouterContext);return o&&o.static&&o.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=a.route.id),reactExports.createElement(RouteContext.Provider,{value:t},l)}function _renderMatches(t,a=[],l){let o=l==null?void 0:l.state;if(t==null){if(!o)return null;if(o.errors)t=o.matches;else if(a.length===0&&!o.initialized&&o.matches.length>0)t=o.matches;else return null}let u=t,c=o==null?void 0:o.errors;if(c!=null){let x=u.findIndex(b=>b.route.id&&(c==null?void 0:c[b.route.id])!==void 0);invariant(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(c).join(",")}`),u=u.slice(0,Math.min(u.length,x+1))}let d=!1,m=-1;if(l&&o){d=o.renderFallback;for(let x=0;x<u.length;x++){let b=u[x];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(m=x),b.route.id){let{loaderData:C,errors:R}=o,_=b.route.loader&&!C.hasOwnProperty(b.route.id)&&(!R||R[b.route.id]===void 0);if(b.route.lazy||_){l.isStatic&&(d=!0),m>=0?u=u.slice(0,m+1):u=[u[0]];break}}}}let p=l==null?void 0:l.onError,g=o&&p?(x,b)=>{var C,R;p(x,{location:o.location,params:((R=(C=o.matches)==null?void 0:C[0])==null?void 0:R.params)??{},unstable_pattern:getRoutePattern(o.matches),errorInfo:b})}:void 0;return u.reduceRight((x,b,C)=>{let R,_=!1,B=null,L=null;o&&(R=c&&b.route.id?c[b.route.id]:void 0,B=b.route.errorElement||defaultErrorElement,d&&(m<0&&C===0?(warningOnce("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),_=!0,L=null):m===C&&(_=!0,L=b.route.hydrateFallbackElement||null)));let D=a.concat(u.slice(0,C+1)),H=()=>{let V;return R?V=B:_?V=L:b.route.Component?V=reactExports.createElement(b.route.Component,null):b.route.element?V=b.route.element:V=x,reactExports.createElement(RenderedRoute,{match:b,routeContext:{outlet:x,matches:D,isDataRoute:o!=null},children:V})};return o&&(b.route.ErrorBoundary||b.route.errorElement||C===0)?reactExports.createElement(RenderErrorBoundary,{location:o.location,revalidation:o.revalidation,component:B,error:R,children:H(),routeContext:{outlet:null,matches:D,isDataRoute:!0},onError:g}):H()},null)}function getDataRouterConsoleError(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function useDataRouterContext(t){let a=reactExports.useContext(DataRouterContext);return invariant(a,getDataRouterConsoleError(t)),a}function useDataRouterState(t){let a=reactExports.useContext(DataRouterStateContext);return invariant(a,getDataRouterConsoleError(t)),a}function useRouteContext(t){let a=reactExports.useContext(RouteContext);return invariant(a,getDataRouterConsoleError(t)),a}function useCurrentRouteId(t){let a=useRouteContext(t),l=a.matches[a.matches.length-1];return invariant(l.route.id,`${t} can only be used on routes that contain a unique "id"`),l.route.id}function useRouteId(){return useCurrentRouteId("useRouteId")}function useRouteError(){var o;let t=reactExports.useContext(RouteErrorContext),a=useDataRouterState("useRouteError"),l=useCurrentRouteId("useRouteError");return t!==void 0?t:(o=a.errors)==null?void 0:o[l]}function useNavigateStable(){let{router:t}=useDataRouterContext("useNavigate"),a=useCurrentRouteId("useNavigate"),l=reactExports.useRef(!1);return useIsomorphicLayoutEffect(()=>{l.current=!0}),reactExports.useCallback(async(u,c={})=>{warning(l.current,navigateEffectWarning),l.current&&(typeof u=="number"?await t.navigate(u):await t.navigate(u,{fromRouteId:a,...c}))},[t,a])}var alreadyWarned={};function warningOnce(t,a,l){!a&&!alreadyWarned[t]&&(alreadyWarned[t]=!0,warning(!1,l))}reactExports.memo(DataRoutes);function DataRoutes({routes:t,future:a,state:l,isStatic:o,onError:u}){return useRoutesImpl(t,void 0,{state:l,isStatic:o,onError:u})}function Route(t){invariant(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function Router({basename:t="/",children:a=null,location:l,navigationType:o="POP",navigator:u,static:c=!1,unstable_useTransitions:d}){invariant(!useInRouterContext(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let m=t.replace(/^\/*/,"/"),p=reactExports.useMemo(()=>({basename:m,navigator:u,static:c,unstable_useTransitions:d,future:{}}),[m,u,c,d]);typeof l=="string"&&(l=parsePath(l));let{pathname:g="/",search:x="",hash:b="",state:C=null,key:R="default",unstable_mask:_}=l,B=reactExports.useMemo(()=>{let L=stripBasename(g,m);return L==null?null:{location:{pathname:L,search:x,hash:b,state:C,key:R,unstable_mask:_},navigationType:o}},[m,g,x,b,C,R,o,_]);return warning(B!=null,`<Router basename="${m}"> is not able to match the URL "${g}${x}${b}" because it does not start with the basename, so the <Router> won't render anything.`),B==null?null:reactExports.createElement(NavigationContext.Provider,{value:p},reactExports.createElement(LocationContext.Provider,{children:a,value:B}))}function Routes({children:t,location:a}){return useRoutes(createRoutesFromChildren(t),a)}function createRoutesFromChildren(t,a=[]){let l=[];return reactExports.Children.forEach(t,(o,u)=>{if(!reactExports.isValidElement(o))return;let c=[...a,u];if(o.type===reactExports.Fragment){l.push.apply(l,createRoutesFromChildren(o.props.children,c));return}invariant(o.type===Route,`[${typeof o.type=="string"?o.type:o.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),invariant(!o.props.index||!o.props.children,"An index route cannot have child routes.");let d={id:o.props.id||c.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,middleware:o.props.middleware,loader:o.props.loader,action:o.props.action,hydrateFallbackElement:o.props.hydrateFallbackElement,HydrateFallback:o.props.HydrateFallback,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.hasErrorBoundary===!0||o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(d.children=createRoutesFromChildren(o.props.children,c)),l.push(d)}),l}var defaultMethod="get",defaultEncType="application/x-www-form-urlencoded";function isHtmlElement(t){return typeof HTMLElement<"u"&&t instanceof HTMLElement}function isButtonElement(t){return isHtmlElement(t)&&t.tagName.toLowerCase()==="button"}function isFormElement(t){return isHtmlElement(t)&&t.tagName.toLowerCase()==="form"}function isInputElement(t){return isHtmlElement(t)&&t.tagName.toLowerCase()==="input"}function isModifiedEvent(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function shouldProcessLinkClick(t,a){return t.button===0&&(!a||a==="_self")&&!isModifiedEvent(t)}var _formDataSupportsSubmitter=null;function isFormDataSubmitterSupported(){if(_formDataSupportsSubmitter===null)try{new FormData(document.createElement("form"),0),_formDataSupportsSubmitter=!1}catch{_formDataSupportsSubmitter=!0}return _formDataSupportsSubmitter}var supportedFormEncTypes=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function getFormEncType(t){return t!=null&&!supportedFormEncTypes.has(t)?(warning(!1,`"${t}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${defaultEncType}"`),null):t}function getFormSubmissionInfo(t,a){let l,o,u,c,d;if(isFormElement(t)){let m=t.getAttribute("action");o=m?stripBasename(m,a):null,l=t.getAttribute("method")||defaultMethod,u=getFormEncType(t.getAttribute("enctype"))||defaultEncType,c=new FormData(t)}else if(isButtonElement(t)||isInputElement(t)&&(t.type==="submit"||t.type==="image")){let m=t.form;if(m==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let p=t.getAttribute("formaction")||m.getAttribute("action");if(o=p?stripBasename(p,a):null,l=t.getAttribute("formmethod")||m.getAttribute("method")||defaultMethod,u=getFormEncType(t.getAttribute("formenctype"))||getFormEncType(m.getAttribute("enctype"))||defaultEncType,c=new FormData(m,t),!isFormDataSubmitterSupported()){let{name:g,type:x,value:b}=t;if(x==="image"){let C=g?`${g}.`:"";c.append(`${C}x`,"0"),c.append(`${C}y`,"0")}else g&&c.append(g,b)}}else{if(isHtmlElement(t))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');l=defaultMethod,o=null,u=defaultEncType,d=t}return c&&u==="text/plain"&&(d=c,c=void 0),{action:o,method:l.toLowerCase(),encType:u,formData:c,body:d}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function invariant2(t,a){if(t===!1||t===null||typeof t>"u")throw new Error(a)}function singleFetchUrl(t,a,l,o){let u=typeof t=="string"?new URL(t,typeof window>"u"?"server://singlefetch/":window.location.origin):t;return l?u.pathname.endsWith("/")?u.pathname=`${u.pathname}_.${o}`:u.pathname=`${u.pathname}.${o}`:u.pathname==="/"?u.pathname=`_root.${o}`:a&&stripBasename(u.pathname,a)==="/"?u.pathname=`${a.replace(/\/$/,"")}/_root.${o}`:u.pathname=`${u.pathname.replace(/\/$/,"")}.${o}`,u}async function loadRouteModule(t,a){if(t.id in a)return a[t.id];try{let l=await import(t.module);return a[t.id]=l,l}catch(l){return console.error(`Error loading route module \`${t.module}\`, reloading page...`),console.error(l),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function isHtmlLinkDescriptor(t){return t==null?!1:t.href==null?t.rel==="preload"&&typeof t.imageSrcSet=="string"&&typeof t.imageSizes=="string":typeof t.rel=="string"&&typeof t.href=="string"}async function getKeyedPrefetchLinks(t,a,l){let o=await Promise.all(t.map(async u=>{let c=a.routes[u.route.id];if(c){let d=await loadRouteModule(c,l);return d.links?d.links():[]}return[]}));return dedupeLinkDescriptors(o.flat(1).filter(isHtmlLinkDescriptor).filter(u=>u.rel==="stylesheet"||u.rel==="preload").map(u=>u.rel==="stylesheet"?{...u,rel:"prefetch",as:"style"}:{...u,rel:"prefetch"}))}function getNewMatchesForLinks(t,a,l,o,u,c){let d=(p,g)=>l[g]?p.route.id!==l[g].route.id:!0,m=(p,g)=>{var x;return l[g].pathname!==p.pathname||((x=l[g].route.path)==null?void 0:x.endsWith("*"))&&l[g].params["*"]!==p.params["*"]};return c==="assets"?a.filter((p,g)=>d(p,g)||m(p,g)):c==="data"?a.filter((p,g)=>{var b;let x=o.routes[p.route.id];if(!x||!x.hasLoader)return!1;if(d(p,g)||m(p,g))return!0;if(p.route.shouldRevalidate){let C=p.route.shouldRevalidate({currentUrl:new URL(u.pathname+u.search+u.hash,window.origin),currentParams:((b=l[0])==null?void 0:b.params)||{},nextUrl:new URL(t,window.origin),nextParams:p.params,defaultShouldRevalidate:!0});if(typeof C=="boolean")return C}return!0}):[]}function getModuleLinkHrefs(t,a,{includeHydrateFallback:l}={}){return dedupeHrefs(t.map(o=>{let u=a.routes[o.route.id];if(!u)return[];let c=[u.module];return u.clientActionModule&&(c=c.concat(u.clientActionModule)),u.clientLoaderModule&&(c=c.concat(u.clientLoaderModule)),l&&u.hydrateFallbackModule&&(c=c.concat(u.hydrateFallbackModule)),u.imports&&(c=c.concat(u.imports)),c}).flat(1))}function dedupeHrefs(t){return[...new Set(t)]}function sortKeys(t){let a={},l=Object.keys(t).sort();for(let o of l)a[o]=t[o];return a}function dedupeLinkDescriptors(t,a){let l=new Set;return new Set(a),t.reduce((o,u)=>{let c=JSON.stringify(sortKeys(u));return l.has(c)||(l.add(c),o.push({key:c,link:u})),o},[])}function useDataRouterContext2(){let t=reactExports.useContext(DataRouterContext);return invariant2(t,"You must render this element inside a <DataRouterContext.Provider> element"),t}function useDataRouterStateContext(){let t=reactExports.useContext(DataRouterStateContext);return invariant2(t,"You must render this element inside a <DataRouterStateContext.Provider> element"),t}var FrameworkContext=reactExports.createContext(void 0);FrameworkContext.displayName="FrameworkContext";function useFrameworkContext(){let t=reactExports.useContext(FrameworkContext);return invariant2(t,"You must render this element inside a <HydratedRouter> element"),t}function usePrefetchBehavior(t,a){let l=reactExports.useContext(FrameworkContext),[o,u]=reactExports.useState(!1),[c,d]=reactExports.useState(!1),{onFocus:m,onBlur:p,onMouseEnter:g,onMouseLeave:x,onTouchStart:b}=a,C=reactExports.useRef(null);reactExports.useEffect(()=>{if(t==="render"&&d(!0),t==="viewport"){let B=D=>{D.forEach(H=>{d(H.isIntersecting)})},L=new IntersectionObserver(B,{threshold:.5});return C.current&&L.observe(C.current),()=>{L.disconnect()}}},[t]),reactExports.useEffect(()=>{if(o){let B=setTimeout(()=>{d(!0)},100);return()=>{clearTimeout(B)}}},[o]);let R=()=>{u(!0)},_=()=>{u(!1),d(!1)};return l?t!=="intent"?[c,C,{}]:[c,C,{onFocus:composeEventHandlers(m,R),onBlur:composeEventHandlers(p,_),onMouseEnter:composeEventHandlers(g,R),onMouseLeave:composeEventHandlers(x,_),onTouchStart:composeEventHandlers(b,R)}]:[!1,C,{}]}function composeEventHandlers(t,a){return l=>{t&&t(l),l.defaultPrevented||a(l)}}function PrefetchPageLinks({page:t,...a}){let{router:l}=useDataRouterContext2(),o=reactExports.useMemo(()=>matchRoutes(l.routes,t,l.basename),[l.routes,t,l.basename]);return o?reactExports.createElement(PrefetchPageLinksImpl,{page:t,matches:o,...a}):null}function useKeyedPrefetchLinks(t){let{manifest:a,routeModules:l}=useFrameworkContext(),[o,u]=reactExports.useState([]);return reactExports.useEffect(()=>{let c=!1;return getKeyedPrefetchLinks(t,a,l).then(d=>{c||u(d)}),()=>{c=!0}},[t,a,l]),o}function PrefetchPageLinksImpl({page:t,matches:a,...l}){let o=useLocation(),{future:u,manifest:c,routeModules:d}=useFrameworkContext(),{basename:m}=useDataRouterContext2(),{loaderData:p,matches:g}=useDataRouterStateContext(),x=reactExports.useMemo(()=>getNewMatchesForLinks(t,a,g,c,o,"data"),[t,a,g,c,o]),b=reactExports.useMemo(()=>getNewMatchesForLinks(t,a,g,c,o,"assets"),[t,a,g,c,o]),C=reactExports.useMemo(()=>{if(t===o.pathname+o.search+o.hash)return[];let B=new Set,L=!1;if(a.forEach(H=>{var se;let V=c.routes[H.route.id];!V||!V.hasLoader||(!x.some(te=>te.route.id===H.route.id)&&H.route.id in p&&((se=d[H.route.id])!=null&&se.shouldRevalidate)||V.hasClientLoader?L=!0:B.add(H.route.id))}),B.size===0)return[];let D=singleFetchUrl(t,m,u.unstable_trailingSlashAwareDataRequests,"data");return L&&B.size>0&&D.searchParams.set("_routes",a.filter(H=>B.has(H.route.id)).map(H=>H.route.id).join(",")),[D.pathname+D.search]},[m,u.unstable_trailingSlashAwareDataRequests,p,o,c,x,a,t,d]),R=reactExports.useMemo(()=>getModuleLinkHrefs(b,c),[b,c]),_=useKeyedPrefetchLinks(b);return reactExports.createElement(reactExports.Fragment,null,C.map(B=>reactExports.createElement("link",{key:B,rel:"prefetch",as:"fetch",href:B,...l})),R.map(B=>reactExports.createElement("link",{key:B,rel:"modulepreload",href:B,...l})),_.map(({key:B,link:L})=>reactExports.createElement("link",{key:B,nonce:l.nonce,...L,crossOrigin:L.crossOrigin??l.crossOrigin})))}function mergeRefs(...t){return a=>{t.forEach(l=>{typeof l=="function"?l(a):l!=null&&(l.current=a)})}}var isBrowser2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{isBrowser2&&(window.__reactRouterVersion="7.13.1")}catch{}function BrowserRouter({basename:t,children:a,unstable_useTransitions:l,window:o}){let u=reactExports.useRef();u.current==null&&(u.current=createBrowserHistory({window:o,v5Compat:!0}));let c=u.current,[d,m]=reactExports.useState({action:c.action,location:c.location}),p=reactExports.useCallback(g=>{l===!1?m(g):reactExports.startTransition(()=>m(g))},[l]);return reactExports.useLayoutEffect(()=>c.listen(p),[c,p]),reactExports.createElement(Router,{basename:t,children:a,location:d.location,navigationType:d.action,navigator:c,unstable_useTransitions:l})}var ABSOLUTE_URL_REGEX2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Link=reactExports.forwardRef(function({onClick:a,discover:l="render",prefetch:o="none",relative:u,reloadDocument:c,replace:d,unstable_mask:m,state:p,target:g,to:x,preventScrollReset:b,viewTransition:C,unstable_defaultShouldRevalidate:R,..._},B){let{basename:L,navigator:D,unstable_useTransitions:H}=reactExports.useContext(NavigationContext),V=typeof x=="string"&&ABSOLUTE_URL_REGEX2.test(x),se=parseToInfo(x,L);x=se.to;let te=useHref(x,{relative:u}),Y=useLocation(),ge=null;if(m){let ee=resolveTo(m,[],Y.unstable_mask?Y.unstable_mask.pathname:"/",!0);L!=="/"&&(ee.pathname=ee.pathname==="/"?L:joinPaths([L,ee.pathname])),ge=D.createHref(ee)}let[W,ve,K]=usePrefetchBehavior(o,_),Ee=useLinkClickHandler(x,{replace:d,unstable_mask:m,state:p,target:g,preventScrollReset:b,relative:u,viewTransition:C,unstable_defaultShouldRevalidate:R,unstable_useTransitions:H});function ae(ee){a&&a(ee),ee.defaultPrevented||Ee(ee)}let Ce=!(se.isExternal||c),ye=reactExports.createElement("a",{..._,...K,href:(Ce?ge:void 0)||se.absoluteURL||te,onClick:Ce?ae:a,ref:mergeRefs(B,ve),target:g,"data-discover":!V&&l==="render"?"true":void 0});return W&&!V?reactExports.createElement(reactExports.Fragment,null,ye,reactExports.createElement(PrefetchPageLinks,{page:te})):ye});Link.displayName="Link";var NavLink=reactExports.forwardRef(function({"aria-current":a="page",caseSensitive:l=!1,className:o="",end:u=!1,style:c,to:d,viewTransition:m,children:p,...g},x){let b=useResolvedPath(d,{relative:g.relative}),C=useLocation(),R=reactExports.useContext(DataRouterStateContext),{navigator:_,basename:B}=reactExports.useContext(NavigationContext),L=R!=null&&useViewTransitionState(b)&&m===!0,D=_.encodeLocation?_.encodeLocation(b).pathname:b.pathname,H=C.pathname,V=R&&R.navigation&&R.navigation.location?R.navigation.location.pathname:null;l||(H=H.toLowerCase(),V=V?V.toLowerCase():null,D=D.toLowerCase()),V&&B&&(V=stripBasename(V,B)||V);const se=D!=="/"&&D.endsWith("/")?D.length-1:D.length;let te=H===D||!u&&H.startsWith(D)&&H.charAt(se)==="/",Y=V!=null&&(V===D||!u&&V.startsWith(D)&&V.charAt(D.length)==="/"),ge={isActive:te,isPending:Y,isTransitioning:L},W=te?a:void 0,ve;typeof o=="function"?ve=o(ge):ve=[o,te?"active":null,Y?"pending":null,L?"transitioning":null].filter(Boolean).join(" ");let K=typeof c=="function"?c(ge):c;return reactExports.createElement(Link,{...g,"aria-current":W,className:ve,ref:x,style:K,to:d,viewTransition:m},typeof p=="function"?p(ge):p)});NavLink.displayName="NavLink";var Form=reactExports.forwardRef(({discover:t="render",fetcherKey:a,navigate:l,reloadDocument:o,replace:u,state:c,method:d=defaultMethod,action:m,onSubmit:p,relative:g,preventScrollReset:x,viewTransition:b,unstable_defaultShouldRevalidate:C,...R},_)=>{let{unstable_useTransitions:B}=reactExports.useContext(NavigationContext),L=useSubmit(),D=useFormAction(m,{relative:g}),H=d.toLowerCase()==="get"?"get":"post",V=typeof m=="string"&&ABSOLUTE_URL_REGEX2.test(m),se=te=>{if(p&&p(te),te.defaultPrevented)return;te.preventDefault();let Y=te.nativeEvent.submitter,ge=(Y==null?void 0:Y.getAttribute("formmethod"))||d,W=()=>L(Y||te.currentTarget,{fetcherKey:a,method:ge,navigate:l,replace:u,state:c,relative:g,preventScrollReset:x,viewTransition:b,unstable_defaultShouldRevalidate:C});B&&l!==!1?reactExports.startTransition(()=>W()):W()};return reactExports.createElement("form",{ref:_,method:H,action:D,onSubmit:o?p:se,...R,"data-discover":!V&&t==="render"?"true":void 0})});Form.displayName="Form";function getDataRouterConsoleError2(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function useDataRouterContext3(t){let a=reactExports.useContext(DataRouterContext);return invariant(a,getDataRouterConsoleError2(t)),a}function useLinkClickHandler(t,{target:a,replace:l,unstable_mask:o,state:u,preventScrollReset:c,relative:d,viewTransition:m,unstable_defaultShouldRevalidate:p,unstable_useTransitions:g}={}){let x=useNavigate(),b=useLocation(),C=useResolvedPath(t,{relative:d});return reactExports.useCallback(R=>{if(shouldProcessLinkClick(R,a)){R.preventDefault();let _=l!==void 0?l:createPath(b)===createPath(C),B=()=>x(t,{replace:_,unstable_mask:o,state:u,preventScrollReset:c,relative:d,viewTransition:m,unstable_defaultShouldRevalidate:p});g?reactExports.startTransition(()=>B()):B()}},[b,x,C,l,o,u,a,t,c,d,m,p,g])}var fetcherId=0,getUniqueFetcherId=()=>`__${String(++fetcherId)}__`;function useSubmit(){let{router:t}=useDataRouterContext3("useSubmit"),{basename:a}=reactExports.useContext(NavigationContext),l=useRouteId(),o=t.fetch,u=t.navigate;return reactExports.useCallback(async(c,d={})=>{let{action:m,method:p,encType:g,formData:x,body:b}=getFormSubmissionInfo(c,a);if(d.navigate===!1){let C=d.fetcherKey||getUniqueFetcherId();await o(C,l,d.action||m,{unstable_defaultShouldRevalidate:d.unstable_defaultShouldRevalidate,preventScrollReset:d.preventScrollReset,formData:x,body:b,formMethod:d.method||p,formEncType:d.encType||g,flushSync:d.flushSync})}else await u(d.action||m,{unstable_defaultShouldRevalidate:d.unstable_defaultShouldRevalidate,preventScrollReset:d.preventScrollReset,formData:x,body:b,formMethod:d.method||p,formEncType:d.encType||g,replace:d.replace,state:d.state,fromRouteId:l,flushSync:d.flushSync,viewTransition:d.viewTransition})},[o,u,a,l])}function useFormAction(t,{relative:a}={}){let{basename:l}=reactExports.useContext(NavigationContext),o=reactExports.useContext(RouteContext);invariant(o,"useFormAction must be used inside a RouteContext");let[u]=o.matches.slice(-1),c={...useResolvedPath(t||".",{relative:a})},d=useLocation();if(t==null){c.search=d.search;let m=new URLSearchParams(c.search),p=m.getAll("index");if(p.some(x=>x==="")){m.delete("index"),p.filter(b=>b).forEach(b=>m.append("index",b));let x=m.toString();c.search=x?`?${x}`:""}}return(!t||t===".")&&u.route.index&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),l!=="/"&&(c.pathname=c.pathname==="/"?l:joinPaths([l,c.pathname])),createPath(c)}function useViewTransitionState(t,{relative:a}={}){let l=reactExports.useContext(ViewTransitionContext);invariant(l!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:o}=useDataRouterContext3("useViewTransitionState"),u=useResolvedPath(t,{relative:a});if(!l.isTransitioning)return!1;let c=stripBasename(l.currentLocation.pathname,o)||l.currentLocation.pathname,d=stripBasename(l.nextLocation.pathname,o)||l.nextLocation.pathname;return matchPath(u.pathname,d)!=null||matchPath(u.pathname,c)!=null}class ClappTransport{constructor(a){Vt(this,"serverUrl");Vt(this,"wsUrl");Vt(this,"context");Vt(this,"token");Vt(this,"ws",null);Vt(this,"connected",!1);Vt(this,"reconnectTimer",null);Vt(this,"reconnectDelay",1e3);Vt(this,"stateListeners",new Set);Vt(this,"appsListeners",new Set);Vt(this,"viewListeners",new Set);Vt(this,"connectionListeners",new Set);this.serverUrl=a.serverUrl.replace(/\/$/,""),this.context=a.context,this.token=a.token;const l=new URL(this.serverUrl);l.protocol=l.protocol==="https:"?"wss:":"ws:",l.pathname="/ws",this.token&&l.searchParams.set("token",this.token),this.wsUrl=l.toString()}connect(){this.ws||this.createWebSocket()}disconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.close(),this.ws=null),this.setConnected(!1)}subscribe(a){this.wsSend({type:"subscribe",clappIds:a})}onState(a){return this.stateListeners.add(a),()=>this.stateListeners.delete(a)}onApps(a){return this.appsListeners.add(a),()=>this.appsListeners.delete(a)}onView(a){return this.viewListeners.add(a),()=>this.viewListeners.delete(a)}onConnection(a){return this.connectionListeners.add(a),()=>this.connectionListeners.delete(a)}isConnected(){return this.connected}async sendIntent(a,l,o={}){var d;if(this.connected&&((d=this.ws)==null?void 0:d.readyState)===WebSocket.OPEN){this.wsSend({type:"intent",clappId:a,intent:l,payload:o});return}const u={id:crypto.randomUUID(),agentId:"local",clappId:a,intent:l,payload:o,timestamp:new Date().toISOString()},c=await fetch(`${this.serverUrl}/api/intent`,{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify(u)});if(!c.ok)throw new Error(`Failed to send intent: ${c.status}`)}async fetchApps(){const a=await fetch(`${this.serverUrl}/api/apps`,{headers:this.authHeaders()});if(!a.ok)throw new Error(`Failed to fetch apps: ${a.status}`);return a.json()}async fetchState(a){const l=await fetch(`${this.serverUrl}/api/state/${a}`,{headers:this.authHeaders()});if(l.status===404)return null;if(!l.ok)throw new Error(`Failed to fetch state: ${l.status}`);return l.json()}async fetchView(a){const l=await fetch(`${this.serverUrl}/api/views/${a}`,{headers:this.authHeaders()});if(l.status===404)return null;if(!l.ok)throw new Error(`Failed to fetch view: ${l.status}`);return l.text()}authHeaders(){return this.token?{Authorization:`Bearer ${this.token}`}:{}}createWebSocket(){try{this.ws=new WebSocket(this.wsUrl)}catch{this.scheduleReconnect();return}this.ws.onopen=()=>{this.reconnectDelay=1e3,this.setConnected(!0),this.context&&this.wsSend({type:"hello",context:this.context})},this.ws.onmessage=a=>{try{const l=JSON.parse(String(a.data));this.handleMessage(l)}catch{}},this.ws.onclose=()=>{this.ws=null,this.setConnected(!1),this.scheduleReconnect()},this.ws.onerror=()=>{}}handleMessage(a){switch(a.type){case"state":{const l=a.clappId,o=a.state;for(const u of this.stateListeners)u(l,o);break}case"apps":{const l=a.apps;for(const o of this.appsListeners)o(l);break}case"view":{const l=a.viewId,o=a.content;for(const u of this.viewListeners)u(l,o);break}}}wsSend(a){var l;((l=this.ws)==null?void 0:l.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify(a))}setConnected(a){if(this.connected!==a){this.connected=a;for(const l of this.connectionListeners)l(a)}}scheduleReconnect(){this.reconnectTimer||(this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.createWebSocket()},this.reconnectDelay),this.reconnectDelay=Math.min(this.reconnectDelay*1.5,1e4))}}function setRef(t,a){if(typeof t=="function")return t(a);t!=null&&(t.current=a)}function composeRefs(...t){return a=>{let l=!1;const o=t.map(u=>{const c=setRef(u,a);return!l&&typeof c=="function"&&(l=!0),c});if(l)return()=>{for(let u=0;u<o.length;u++){const c=o[u];typeof c=="function"?c():setRef(t[u],null)}}}}var REACT_LAZY_TYPE=Symbol.for("react.lazy"),use=React$1[" use ".trim().toString()];function isPromiseLike(t){return typeof t=="object"&&t!==null&&"then"in t}function isLazyComponent(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===REACT_LAZY_TYPE&&"_payload"in t&&isPromiseLike(t._payload)}function createSlot(t){const a=createSlotClone(t),l=reactExports.forwardRef((o,u)=>{let{children:c,...d}=o;isLazyComponent(c)&&typeof use=="function"&&(c=use(c._payload));const m=reactExports.Children.toArray(c),p=m.find(isSlottable);if(p){const g=p.props.children,x=m.map(b=>b===p?reactExports.Children.count(g)>1?reactExports.Children.only(null):reactExports.isValidElement(g)?g.props.children:null:b);return jsxRuntimeExports.jsx(a,{...d,ref:u,children:reactExports.isValidElement(g)?reactExports.cloneElement(g,void 0,x):null})}return jsxRuntimeExports.jsx(a,{...d,ref:u,children:c})});return l.displayName=`${t}.Slot`,l}var Slot=createSlot("Slot");function createSlotClone(t){const a=reactExports.forwardRef((l,o)=>{let{children:u,...c}=l;if(isLazyComponent(u)&&typeof use=="function"&&(u=use(u._payload)),reactExports.isValidElement(u)){const d=getElementRef(u),m=mergeProps(c,u.props);return u.type!==reactExports.Fragment&&(m.ref=o?composeRefs(o,d):d),reactExports.cloneElement(u,m)}return reactExports.Children.count(u)>1?reactExports.Children.only(null):null});return a.displayName=`${t}.SlotClone`,a}var SLOTTABLE_IDENTIFIER=Symbol("radix.slottable");function isSlottable(t){return reactExports.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===SLOTTABLE_IDENTIFIER}function mergeProps(t,a){const l={...a};for(const o in a){const u=t[o],c=a[o];/^on[A-Z]/.test(o)?u&&c?l[o]=(...m)=>{const p=c(...m);return u(...m),p}:u&&(l[o]=u):o==="style"?l[o]={...u,...c}:o==="className"&&(l[o]=[u,c].filter(Boolean).join(" "))}return{...t,...l}}function getElementRef(t){var o,u;let a=(o=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:o.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?t.ref:(a=(u=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:u.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?t.props.ref:t.props.ref||t.ref)}function r(t){var a,l,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var u=t.length;for(a=0;a<u;a++)t[a]&&(l=r(t[a]))&&(o&&(o+=" "),o+=l)}else for(l in t)t[l]&&(o&&(o+=" "),o+=l);return o}function clsx(){for(var t,a,l=0,o="",u=arguments.length;l<u;l++)(t=arguments[l])&&(a=r(t))&&(o&&(o+=" "),o+=a);return o}const falsyToString=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,cx=clsx,cva=(t,a)=>l=>{var o;if((a==null?void 0:a.variants)==null)return cx(t,l==null?void 0:l.class,l==null?void 0:l.className);const{variants:u,defaultVariants:c}=a,d=Object.keys(u).map(g=>{const x=l==null?void 0:l[g],b=c==null?void 0:c[g];if(x===null)return null;const C=falsyToString(x)||falsyToString(b);return u[g][C]}),m=l&&Object.entries(l).reduce((g,x)=>{let[b,C]=x;return C===void 0||(g[b]=C),g},{}),p=a==null||(o=a.compoundVariants)===null||o===void 0?void 0:o.reduce((g,x)=>{let{class:b,className:C,...R}=x;return Object.entries(R).every(_=>{let[B,L]=_;return Array.isArray(L)?L.includes({...c,...m}[B]):{...c,...m}[B]===L})?[...g,b,C]:g},[]);return cx(t,d,p,l==null?void 0:l.class,l==null?void 0:l.className)},concatArrays=(t,a)=>{const l=new Array(t.length+a.length);for(let o=0;o<t.length;o++)l[o]=t[o];for(let o=0;o<a.length;o++)l[t.length+o]=a[o];return l},createClassValidatorObject=(t,a)=>({classGroupId:t,validator:a}),createClassPartObject=(t=new Map,a=null,l)=>({nextPart:t,validators:a,classGroupId:l}),CLASS_PART_SEPARATOR="-",EMPTY_CONFLICTS=[],ARBITRARY_PROPERTY_PREFIX="arbitrary..",createClassGroupUtils=t=>{const a=createClassMap(t),{conflictingClassGroups:l,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return getGroupIdForArbitraryProperty(d);const m=d.split(CLASS_PART_SEPARATOR),p=m[0]===""&&m.length>1?1:0;return getGroupRecursive(m,p,a)},getConflictingClassGroupIds:(d,m)=>{if(m){const p=o[d],g=l[d];return p?g?concatArrays(g,p):p:g||EMPTY_CONFLICTS}return l[d]||EMPTY_CONFLICTS}}},getGroupRecursive=(t,a,l)=>{if(t.length-a===0)return l.classGroupId;const u=t[a],c=l.nextPart.get(u);if(c){const g=getGroupRecursive(t,a+1,c);if(g)return g}const d=l.validators;if(d===null)return;const m=a===0?t.join(CLASS_PART_SEPARATOR):t.slice(a).join(CLASS_PART_SEPARATOR),p=d.length;for(let g=0;g<p;g++){const x=d[g];if(x.validator(m))return x.classGroupId}},getGroupIdForArbitraryProperty=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=t.slice(1,-1),l=a.indexOf(":"),o=a.slice(0,l);return o?ARBITRARY_PROPERTY_PREFIX+o:void 0})(),createClassMap=t=>{const{theme:a,classGroups:l}=t;return processClassGroups(l,a)},processClassGroups=(t,a)=>{const l=createClassPartObject();for(const o in t){const u=t[o];processClassesRecursively(u,l,o,a)}return l},processClassesRecursively=(t,a,l,o)=>{const u=t.length;for(let c=0;c<u;c++){const d=t[c];processClassDefinition(d,a,l,o)}},processClassDefinition=(t,a,l,o)=>{if(typeof t=="string"){processStringDefinition(t,a,l);return}if(typeof t=="function"){processFunctionDefinition(t,a,l,o);return}processObjectDefinition(t,a,l,o)},processStringDefinition=(t,a,l)=>{const o=t===""?a:getPart(a,t);o.classGroupId=l},processFunctionDefinition=(t,a,l,o)=>{if(isThemeGetter(t)){processClassesRecursively(t(o),a,l,o);return}a.validators===null&&(a.validators=[]),a.validators.push(createClassValidatorObject(l,t))},processObjectDefinition=(t,a,l,o)=>{const u=Object.entries(t),c=u.length;for(let d=0;d<c;d++){const[m,p]=u[d];processClassesRecursively(p,getPart(a,m),l,o)}},getPart=(t,a)=>{let l=t;const o=a.split(CLASS_PART_SEPARATOR),u=o.length;for(let c=0;c<u;c++){const d=o[c];let m=l.nextPart.get(d);m||(m=createClassPartObject(),l.nextPart.set(d,m)),l=m}return l},isThemeGetter=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,createLruCache=t=>{if(t<1)return{get:()=>{},set:()=>{}};let a=0,l=Object.create(null),o=Object.create(null);const u=(c,d)=>{l[c]=d,a++,a>t&&(a=0,o=l,l=Object.create(null))};return{get(c){let d=l[c];if(d!==void 0)return d;if((d=o[c])!==void 0)return u(c,d),d},set(c,d){c in l?l[c]=d:u(c,d)}}},IMPORTANT_MODIFIER="!",MODIFIER_SEPARATOR=":",EMPTY_MODIFIERS=[],createResultObject=(t,a,l,o,u)=>({modifiers:t,hasImportantModifier:a,baseClassName:l,maybePostfixModifierPosition:o,isExternal:u}),createParseClassName=t=>{const{prefix:a,experimentalParseClassName:l}=t;let o=u=>{const c=[];let d=0,m=0,p=0,g;const x=u.length;for(let B=0;B<x;B++){const L=u[B];if(d===0&&m===0){if(L===MODIFIER_SEPARATOR){c.push(u.slice(p,B)),p=B+1;continue}if(L==="/"){g=B;continue}}L==="["?d++:L==="]"?d--:L==="("?m++:L===")"&&m--}const b=c.length===0?u:u.slice(p);let C=b,R=!1;b.endsWith(IMPORTANT_MODIFIER)?(C=b.slice(0,-1),R=!0):b.startsWith(IMPORTANT_MODIFIER)&&(C=b.slice(1),R=!0);const _=g&&g>p?g-p:void 0;return createResultObject(c,R,C,_)};if(a){const u=a+MODIFIER_SEPARATOR,c=o;o=d=>d.startsWith(u)?c(d.slice(u.length)):createResultObject(EMPTY_MODIFIERS,!1,d,void 0,!0)}if(l){const u=o;o=c=>l({className:c,parseClassName:u})}return o},createSortModifiers=t=>{const a=new Map;return t.orderSensitiveModifiers.forEach((l,o)=>{a.set(l,1e6+o)}),l=>{const o=[];let u=[];for(let c=0;c<l.length;c++){const d=l[c],m=d[0]==="[",p=a.has(d);m||p?(u.length>0&&(u.sort(),o.push(...u),u=[]),o.push(d)):u.push(d)}return u.length>0&&(u.sort(),o.push(...u)),o}},createConfigUtils=t=>({cache:createLruCache(t.cacheSize),parseClassName:createParseClassName(t),sortModifiers:createSortModifiers(t),...createClassGroupUtils(t)}),SPLIT_CLASSES_REGEX=/\s+/,mergeClassList=(t,a)=>{const{parseClassName:l,getClassGroupId:o,getConflictingClassGroupIds:u,sortModifiers:c}=a,d=[],m=t.trim().split(SPLIT_CLASSES_REGEX);let p="";for(let g=m.length-1;g>=0;g-=1){const x=m[g],{isExternal:b,modifiers:C,hasImportantModifier:R,baseClassName:_,maybePostfixModifierPosition:B}=l(x);if(b){p=x+(p.length>0?" "+p:p);continue}let L=!!B,D=o(L?_.substring(0,B):_);if(!D){if(!L){p=x+(p.length>0?" "+p:p);continue}if(D=o(_),!D){p=x+(p.length>0?" "+p:p);continue}L=!1}const H=C.length===0?"":C.length===1?C[0]:c(C).join(":"),V=R?H+IMPORTANT_MODIFIER:H,se=V+D;if(d.indexOf(se)>-1)continue;d.push(se);const te=u(D,L);for(let Y=0;Y<te.length;++Y){const ge=te[Y];d.push(V+ge)}p=x+(p.length>0?" "+p:p)}return p},twJoin=(...t)=>{let a=0,l,o,u="";for(;a<t.length;)(l=t[a++])&&(o=toValue(l))&&(u&&(u+=" "),u+=o);return u},toValue=t=>{if(typeof t=="string")return t;let a,l="";for(let o=0;o<t.length;o++)t[o]&&(a=toValue(t[o]))&&(l&&(l+=" "),l+=a);return l},createTailwindMerge=(t,...a)=>{let l,o,u,c;const d=p=>{const g=a.reduce((x,b)=>b(x),t());return l=createConfigUtils(g),o=l.cache.get,u=l.cache.set,c=m,m(p)},m=p=>{const g=o(p);if(g)return g;const x=mergeClassList(p,l);return u(p,x),x};return c=d,(...p)=>c(twJoin(...p))},fallbackThemeArr=[],fromTheme=t=>{const a=l=>l[t]||fallbackThemeArr;return a.isThemeGetter=!0,a},arbitraryValueRegex=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,arbitraryVariableRegex=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fractionRegex=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,tshirtUnitRegex=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lengthUnitRegex=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,colorFunctionRegex=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,shadowRegex=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,imageRegex=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,isFraction=t=>fractionRegex.test(t),isNumber=t=>!!t&&!Number.isNaN(Number(t)),isInteger=t=>!!t&&Number.isInteger(Number(t)),isPercent=t=>t.endsWith("%")&&isNumber(t.slice(0,-1)),isTshirtSize=t=>tshirtUnitRegex.test(t),isAny=()=>!0,isLengthOnly=t=>lengthUnitRegex.test(t)&&!colorFunctionRegex.test(t),isNever=()=>!1,isShadow=t=>shadowRegex.test(t),isImage=t=>imageRegex.test(t),isAnyNonArbitrary=t=>!isArbitraryValue(t)&&!isArbitraryVariable(t),isArbitrarySize=t=>getIsArbitraryValue(t,isLabelSize,isNever),isArbitraryValue=t=>arbitraryValueRegex.test(t),isArbitraryLength=t=>getIsArbitraryValue(t,isLabelLength,isLengthOnly),isArbitraryNumber=t=>getIsArbitraryValue(t,isLabelNumber,isNumber),isArbitraryWeight=t=>getIsArbitraryValue(t,isLabelWeight,isAny),isArbitraryFamilyName=t=>getIsArbitraryValue(t,isLabelFamilyName,isNever),isArbitraryPosition=t=>getIsArbitraryValue(t,isLabelPosition,isNever),isArbitraryImage=t=>getIsArbitraryValue(t,isLabelImage,isImage),isArbitraryShadow=t=>getIsArbitraryValue(t,isLabelShadow,isShadow),isArbitraryVariable=t=>arbitraryVariableRegex.test(t),isArbitraryVariableLength=t=>getIsArbitraryVariable(t,isLabelLength),isArbitraryVariableFamilyName=t=>getIsArbitraryVariable(t,isLabelFamilyName),isArbitraryVariablePosition=t=>getIsArbitraryVariable(t,isLabelPosition),isArbitraryVariableSize=t=>getIsArbitraryVariable(t,isLabelSize),isArbitraryVariableImage=t=>getIsArbitraryVariable(t,isLabelImage),isArbitraryVariableShadow=t=>getIsArbitraryVariable(t,isLabelShadow,!0),isArbitraryVariableWeight=t=>getIsArbitraryVariable(t,isLabelWeight,!0),getIsArbitraryValue=(t,a,l)=>{const o=arbitraryValueRegex.exec(t);return o?o[1]?a(o[1]):l(o[2]):!1},getIsArbitraryVariable=(t,a,l=!1)=>{const o=arbitraryVariableRegex.exec(t);return o?o[1]?a(o[1]):l:!1},isLabelPosition=t=>t==="position"||t==="percentage",isLabelImage=t=>t==="image"||t==="url",isLabelSize=t=>t==="length"||t==="size"||t==="bg-size",isLabelLength=t=>t==="length",isLabelNumber=t=>t==="number",isLabelFamilyName=t=>t==="family-name",isLabelWeight=t=>t==="number"||t==="weight",isLabelShadow=t=>t==="shadow",getDefaultConfig=()=>{const t=fromTheme("color"),a=fromTheme("font"),l=fromTheme("text"),o=fromTheme("font-weight"),u=fromTheme("tracking"),c=fromTheme("leading"),d=fromTheme("breakpoint"),m=fromTheme("container"),p=fromTheme("spacing"),g=fromTheme("radius"),x=fromTheme("shadow"),b=fromTheme("inset-shadow"),C=fromTheme("text-shadow"),R=fromTheme("drop-shadow"),_=fromTheme("blur"),B=fromTheme("perspective"),L=fromTheme("aspect"),D=fromTheme("ease"),H=fromTheme("animate"),V=()=>["auto","avoid","all","avoid-page","page","left","right","column"],se=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],te=()=>[...se(),isArbitraryVariable,isArbitraryValue],Y=()=>["auto","hidden","clip","visible","scroll"],ge=()=>["auto","contain","none"],W=()=>[isArbitraryVariable,isArbitraryValue,p],ve=()=>[isFraction,"full","auto",...W()],K=()=>[isInteger,"none","subgrid",isArbitraryVariable,isArbitraryValue],Ee=()=>["auto",{span:["full",isInteger,isArbitraryVariable,isArbitraryValue]},isInteger,isArbitraryVariable,isArbitraryValue],ae=()=>[isInteger,"auto",isArbitraryVariable,isArbitraryValue],Ce=()=>["auto","min","max","fr",isArbitraryVariable,isArbitraryValue],ye=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ee=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...W()],he=()=>[isFraction,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...W()],fe=()=>[isFraction,"screen","full","dvw","lvw","svw","min","max","fit",...W()],_e=()=>[isFraction,"screen","full","lh","dvh","lvh","svh","min","max","fit",...W()],O=()=>[t,isArbitraryVariable,isArbitraryValue],q=()=>[...se(),isArbitraryVariablePosition,isArbitraryPosition,{position:[isArbitraryVariable,isArbitraryValue]}],oe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],N=()=>["auto","cover","contain",isArbitraryVariableSize,isArbitrarySize,{size:[isArbitraryVariable,isArbitraryValue]}],be=()=>[isPercent,isArbitraryVariableLength,isArbitraryLength],xe=()=>["","none","full",g,isArbitraryVariable,isArbitraryValue],Se=()=>["",isNumber,isArbitraryVariableLength,isArbitraryLength],Oe=()=>["solid","dashed","dotted","double"],qe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],je=()=>[isNumber,isPercent,isArbitraryVariablePosition,isArbitraryPosition],nt=()=>["","none",_,isArbitraryVariable,isArbitraryValue],Qe=()=>["none",isNumber,isArbitraryVariable,isArbitraryValue],at=()=>["none",isNumber,isArbitraryVariable,isArbitraryValue],kt=()=>[isNumber,isArbitraryVariable,isArbitraryValue],ut=()=>[isFraction,"full",...W()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[isTshirtSize],breakpoint:[isTshirtSize],color:[isAny],container:[isTshirtSize],"drop-shadow":[isTshirtSize],ease:["in","out","in-out"],font:[isAnyNonArbitrary],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[isTshirtSize],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[isTshirtSize],shadow:[isTshirtSize],spacing:["px",isNumber],text:[isTshirtSize],"text-shadow":[isTshirtSize],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",isFraction,isArbitraryValue,isArbitraryVariable,L]}],container:["container"],columns:[{columns:[isNumber,isArbitraryValue,isArbitraryVariable,m]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:te()}],overflow:[{overflow:Y()}],"overflow-x":[{"overflow-x":Y()}],"overflow-y":[{"overflow-y":Y()}],overscroll:[{overscroll:ge()}],"overscroll-x":[{"overscroll-x":ge()}],"overscroll-y":[{"overscroll-y":ge()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ve()}],"inset-x":[{"inset-x":ve()}],"inset-y":[{"inset-y":ve()}],start:[{"inset-s":ve(),start:ve()}],end:[{"inset-e":ve(),end:ve()}],"inset-bs":[{"inset-bs":ve()}],"inset-be":[{"inset-be":ve()}],top:[{top:ve()}],right:[{right:ve()}],bottom:[{bottom:ve()}],left:[{left:ve()}],visibility:["visible","invisible","collapse"],z:[{z:[isInteger,"auto",isArbitraryVariable,isArbitraryValue]}],basis:[{basis:[isFraction,"full","auto",m,...W()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[isNumber,isFraction,"auto","initial","none",isArbitraryValue]}],grow:[{grow:["",isNumber,isArbitraryVariable,isArbitraryValue]}],shrink:[{shrink:["",isNumber,isArbitraryVariable,isArbitraryValue]}],order:[{order:[isInteger,"first","last","none",isArbitraryVariable,isArbitraryValue]}],"grid-cols":[{"grid-cols":K()}],"col-start-end":[{col:Ee()}],"col-start":[{"col-start":ae()}],"col-end":[{"col-end":ae()}],"grid-rows":[{"grid-rows":K()}],"row-start-end":[{row:Ee()}],"row-start":[{"row-start":ae()}],"row-end":[{"row-end":ae()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ce()}],"auto-rows":[{"auto-rows":Ce()}],gap:[{gap:W()}],"gap-x":[{"gap-x":W()}],"gap-y":[{"gap-y":W()}],"justify-content":[{justify:[...ye(),"normal"]}],"justify-items":[{"justify-items":[...ee(),"normal"]}],"justify-self":[{"justify-self":["auto",...ee()]}],"align-content":[{content:["normal",...ye()]}],"align-items":[{items:[...ee(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ee(),{baseline:["","last"]}]}],"place-content":[{"place-content":ye()}],"place-items":[{"place-items":[...ee(),"baseline"]}],"place-self":[{"place-self":["auto",...ee()]}],p:[{p:W()}],px:[{px:W()}],py:[{py:W()}],ps:[{ps:W()}],pe:[{pe:W()}],pbs:[{pbs:W()}],pbe:[{pbe:W()}],pt:[{pt:W()}],pr:[{pr:W()}],pb:[{pb:W()}],pl:[{pl:W()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":W()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":W()}],"space-y-reverse":["space-y-reverse"],size:[{size:he()}],"inline-size":[{inline:["auto",...fe()]}],"min-inline-size":[{"min-inline":["auto",...fe()]}],"max-inline-size":[{"max-inline":["none",...fe()]}],"block-size":[{block:["auto",..._e()]}],"min-block-size":[{"min-block":["auto",..._e()]}],"max-block-size":[{"max-block":["none",..._e()]}],w:[{w:[m,"screen",...he()]}],"min-w":[{"min-w":[m,"screen","none",...he()]}],"max-w":[{"max-w":[m,"screen","none","prose",{screen:[d]},...he()]}],h:[{h:["screen","lh",...he()]}],"min-h":[{"min-h":["screen","lh","none",...he()]}],"max-h":[{"max-h":["screen","lh",...he()]}],"font-size":[{text:["base",l,isArbitraryVariableLength,isArbitraryLength]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,isArbitraryVariableWeight,isArbitraryWeight]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",isPercent,isArbitraryValue]}],"font-family":[{font:[isArbitraryVariableFamilyName,isArbitraryFamilyName,a]}],"font-features":[{"font-features":[isArbitraryValue]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[u,isArbitraryVariable,isArbitraryValue]}],"line-clamp":[{"line-clamp":[isNumber,"none",isArbitraryVariable,isArbitraryNumber]}],leading:[{leading:[c,...W()]}],"list-image":[{"list-image":["none",isArbitraryVariable,isArbitraryValue]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",isArbitraryVariable,isArbitraryValue]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:O()}],"text-color":[{text:O()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Oe(),"wavy"]}],"text-decoration-thickness":[{decoration:[isNumber,"from-font","auto",isArbitraryVariable,isArbitraryLength]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[isNumber,"auto",isArbitraryVariable,isArbitraryValue]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:W()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",isArbitraryVariable,isArbitraryValue]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",isArbitraryVariable,isArbitraryValue]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:q()}],"bg-repeat":[{bg:oe()}],"bg-size":[{bg:N()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},isInteger,isArbitraryVariable,isArbitraryValue],radial:["",isArbitraryVariable,isArbitraryValue],conic:[isInteger,isArbitraryVariable,isArbitraryValue]},isArbitraryVariableImage,isArbitraryImage]}],"bg-color":[{bg:O()}],"gradient-from-pos":[{from:be()}],"gradient-via-pos":[{via:be()}],"gradient-to-pos":[{to:be()}],"gradient-from":[{from:O()}],"gradient-via":[{via:O()}],"gradient-to":[{to:O()}],rounded:[{rounded:xe()}],"rounded-s":[{"rounded-s":xe()}],"rounded-e":[{"rounded-e":xe()}],"rounded-t":[{"rounded-t":xe()}],"rounded-r":[{"rounded-r":xe()}],"rounded-b":[{"rounded-b":xe()}],"rounded-l":[{"rounded-l":xe()}],"rounded-ss":[{"rounded-ss":xe()}],"rounded-se":[{"rounded-se":xe()}],"rounded-ee":[{"rounded-ee":xe()}],"rounded-es":[{"rounded-es":xe()}],"rounded-tl":[{"rounded-tl":xe()}],"rounded-tr":[{"rounded-tr":xe()}],"rounded-br":[{"rounded-br":xe()}],"rounded-bl":[{"rounded-bl":xe()}],"border-w":[{border:Se()}],"border-w-x":[{"border-x":Se()}],"border-w-y":[{"border-y":Se()}],"border-w-s":[{"border-s":Se()}],"border-w-e":[{"border-e":Se()}],"border-w-bs":[{"border-bs":Se()}],"border-w-be":[{"border-be":Se()}],"border-w-t":[{"border-t":Se()}],"border-w-r":[{"border-r":Se()}],"border-w-b":[{"border-b":Se()}],"border-w-l":[{"border-l":Se()}],"divide-x":[{"divide-x":Se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Oe(),"hidden","none"]}],"divide-style":[{divide:[...Oe(),"hidden","none"]}],"border-color":[{border:O()}],"border-color-x":[{"border-x":O()}],"border-color-y":[{"border-y":O()}],"border-color-s":[{"border-s":O()}],"border-color-e":[{"border-e":O()}],"border-color-bs":[{"border-bs":O()}],"border-color-be":[{"border-be":O()}],"border-color-t":[{"border-t":O()}],"border-color-r":[{"border-r":O()}],"border-color-b":[{"border-b":O()}],"border-color-l":[{"border-l":O()}],"divide-color":[{divide:O()}],"outline-style":[{outline:[...Oe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[isNumber,isArbitraryVariable,isArbitraryValue]}],"outline-w":[{outline:["",isNumber,isArbitraryVariableLength,isArbitraryLength]}],"outline-color":[{outline:O()}],shadow:[{shadow:["","none",x,isArbitraryVariableShadow,isArbitraryShadow]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":["none",b,isArbitraryVariableShadow,isArbitraryShadow]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:Se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[isNumber,isArbitraryLength]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":Se()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":["none",C,isArbitraryVariableShadow,isArbitraryShadow]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[isNumber,isArbitraryVariable,isArbitraryValue]}],"mix-blend":[{"mix-blend":[...qe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":qe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[isNumber]}],"mask-image-linear-from-pos":[{"mask-linear-from":je()}],"mask-image-linear-to-pos":[{"mask-linear-to":je()}],"mask-image-linear-from-color":[{"mask-linear-from":O()}],"mask-image-linear-to-color":[{"mask-linear-to":O()}],"mask-image-t-from-pos":[{"mask-t-from":je()}],"mask-image-t-to-pos":[{"mask-t-to":je()}],"mask-image-t-from-color":[{"mask-t-from":O()}],"mask-image-t-to-color":[{"mask-t-to":O()}],"mask-image-r-from-pos":[{"mask-r-from":je()}],"mask-image-r-to-pos":[{"mask-r-to":je()}],"mask-image-r-from-color":[{"mask-r-from":O()}],"mask-image-r-to-color":[{"mask-r-to":O()}],"mask-image-b-from-pos":[{"mask-b-from":je()}],"mask-image-b-to-pos":[{"mask-b-to":je()}],"mask-image-b-from-color":[{"mask-b-from":O()}],"mask-image-b-to-color":[{"mask-b-to":O()}],"mask-image-l-from-pos":[{"mask-l-from":je()}],"mask-image-l-to-pos":[{"mask-l-to":je()}],"mask-image-l-from-color":[{"mask-l-from":O()}],"mask-image-l-to-color":[{"mask-l-to":O()}],"mask-image-x-from-pos":[{"mask-x-from":je()}],"mask-image-x-to-pos":[{"mask-x-to":je()}],"mask-image-x-from-color":[{"mask-x-from":O()}],"mask-image-x-to-color":[{"mask-x-to":O()}],"mask-image-y-from-pos":[{"mask-y-from":je()}],"mask-image-y-to-pos":[{"mask-y-to":je()}],"mask-image-y-from-color":[{"mask-y-from":O()}],"mask-image-y-to-color":[{"mask-y-to":O()}],"mask-image-radial":[{"mask-radial":[isArbitraryVariable,isArbitraryValue]}],"mask-image-radial-from-pos":[{"mask-radial-from":je()}],"mask-image-radial-to-pos":[{"mask-radial-to":je()}],"mask-image-radial-from-color":[{"mask-radial-from":O()}],"mask-image-radial-to-color":[{"mask-radial-to":O()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":se()}],"mask-image-conic-pos":[{"mask-conic":[isNumber]}],"mask-image-conic-from-pos":[{"mask-conic-from":je()}],"mask-image-conic-to-pos":[{"mask-conic-to":je()}],"mask-image-conic-from-color":[{"mask-conic-from":O()}],"mask-image-conic-to-color":[{"mask-conic-to":O()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:q()}],"mask-repeat":[{mask:oe()}],"mask-size":[{mask:N()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",isArbitraryVariable,isArbitraryValue]}],filter:[{filter:["","none",isArbitraryVariable,isArbitraryValue]}],blur:[{blur:nt()}],brightness:[{brightness:[isNumber,isArbitraryVariable,isArbitraryValue]}],contrast:[{contrast:[isNumber,isArbitraryVariable,isArbitraryValue]}],"drop-shadow":[{"drop-shadow":["","none",R,isArbitraryVariableShadow,isArbitraryShadow]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:["",isNumber,isArbitraryVariable,isArbitraryValue]}],"hue-rotate":[{"hue-rotate":[isNumber,isArbitraryVariable,isArbitraryValue]}],invert:[{invert:["",isNumber,isArbitraryVariable,isArbitraryValue]}],saturate:[{saturate:[isNumber,isArbitraryVariable,isArbitraryValue]}],sepia:[{sepia:["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-filter":[{"backdrop-filter":["","none",isArbitraryVariable,isArbitraryValue]}],"backdrop-blur":[{"backdrop-blur":nt()}],"backdrop-brightness":[{"backdrop-brightness":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-contrast":[{"backdrop-contrast":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-grayscale":[{"backdrop-grayscale":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-invert":[{"backdrop-invert":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-opacity":[{"backdrop-opacity":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-saturate":[{"backdrop-saturate":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-sepia":[{"backdrop-sepia":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":W()}],"border-spacing-x":[{"border-spacing-x":W()}],"border-spacing-y":[{"border-spacing-y":W()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",isArbitraryVariable,isArbitraryValue]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[isNumber,"initial",isArbitraryVariable,isArbitraryValue]}],ease:[{ease:["linear","initial",D,isArbitraryVariable,isArbitraryValue]}],delay:[{delay:[isNumber,isArbitraryVariable,isArbitraryValue]}],animate:[{animate:["none",H,isArbitraryVariable,isArbitraryValue]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[B,isArbitraryVariable,isArbitraryValue]}],"perspective-origin":[{"perspective-origin":te()}],rotate:[{rotate:Qe()}],"rotate-x":[{"rotate-x":Qe()}],"rotate-y":[{"rotate-y":Qe()}],"rotate-z":[{"rotate-z":Qe()}],scale:[{scale:at()}],"scale-x":[{"scale-x":at()}],"scale-y":[{"scale-y":at()}],"scale-z":[{"scale-z":at()}],"scale-3d":["scale-3d"],skew:[{skew:kt()}],"skew-x":[{"skew-x":kt()}],"skew-y":[{"skew-y":kt()}],transform:[{transform:[isArbitraryVariable,isArbitraryValue,"","none","gpu","cpu"]}],"transform-origin":[{origin:te()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ut()}],"translate-x":[{"translate-x":ut()}],"translate-y":[{"translate-y":ut()}],"translate-z":[{"translate-z":ut()}],"translate-none":["translate-none"],accent:[{accent:O()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:O()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",isArbitraryVariable,isArbitraryValue]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":W()}],"scroll-mx":[{"scroll-mx":W()}],"scroll-my":[{"scroll-my":W()}],"scroll-ms":[{"scroll-ms":W()}],"scroll-me":[{"scroll-me":W()}],"scroll-mbs":[{"scroll-mbs":W()}],"scroll-mbe":[{"scroll-mbe":W()}],"scroll-mt":[{"scroll-mt":W()}],"scroll-mr":[{"scroll-mr":W()}],"scroll-mb":[{"scroll-mb":W()}],"scroll-ml":[{"scroll-ml":W()}],"scroll-p":[{"scroll-p":W()}],"scroll-px":[{"scroll-px":W()}],"scroll-py":[{"scroll-py":W()}],"scroll-ps":[{"scroll-ps":W()}],"scroll-pe":[{"scroll-pe":W()}],"scroll-pbs":[{"scroll-pbs":W()}],"scroll-pbe":[{"scroll-pbe":W()}],"scroll-pt":[{"scroll-pt":W()}],"scroll-pr":[{"scroll-pr":W()}],"scroll-pb":[{"scroll-pb":W()}],"scroll-pl":[{"scroll-pl":W()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",isArbitraryVariable,isArbitraryValue]}],fill:[{fill:["none",...O()]}],"stroke-w":[{stroke:[isNumber,isArbitraryVariableLength,isArbitraryLength,isArbitraryNumber]}],stroke:[{stroke:["none",...O()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},twMerge=createTailwindMerge(getDefaultConfig);function cn(...t){return twMerge(clsx(t))}const buttonVariants=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Button=reactExports.forwardRef(({className:t,variant:a,size:l,asChild:o=!1,...u},c)=>{const d=o?Slot:"button";return jsxRuntimeExports.jsx(d,{className:cn(buttonVariants({variant:a,size:l,className:t})),ref:c,...u})});Button.displayName="Button";/**
|
|
44
|
+
Please change the parent <Route path="${D}"> to <Route path="${D==="/"?"*":`${D}/*`}">.`)}let x=useLocation(),b;if(a){let D=typeof a=="string"?parsePath(a):a;invariant(p==="/"||((L=D.pathname)==null?void 0:L.startsWith(p)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${D.pathname}" was given in the \`location\` prop.`),b=D}else b=x;let C=b.pathname||"/",R=C;if(p!=="/"){let D=p.replace(/^\//,"").split("/");R="/"+C.replace(/^\//,"").split("/").slice(D.length).join("/")}let _=matchRoutes(t,{pathname:R});warning(g||_!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),warning(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let B=_renderMatches(_&&_.map(D=>Object.assign({},D,{params:Object.assign({},d,D.params),pathname:joinPaths([p,o.encodeLocation?o.encodeLocation(D.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:D.pathname]),pathnameBase:D.pathnameBase==="/"?p:joinPaths([p,o.encodeLocation?o.encodeLocation(D.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:D.pathnameBase])})),u,l);return a&&B?reactExports.createElement(LocationContext.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...b},navigationType:"POP"}},B):B}function DefaultErrorComponent(){let t=useRouteError(),a=isRouteErrorResponse(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),l=t instanceof Error?t.stack:null,o="rgba(200,200,200, 0.5)",u={padding:"0.5rem",backgroundColor:o},c={padding:"2px 4px",backgroundColor:o},d=null;return console.error("Error handled by React Router default ErrorBoundary:",t),d=reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("p",null,"💿 Hey developer 👋"),reactExports.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",reactExports.createElement("code",{style:c},"ErrorBoundary")," or"," ",reactExports.createElement("code",{style:c},"errorElement")," prop on your route.")),reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("h2",null,"Unexpected Application Error!"),reactExports.createElement("h3",{style:{fontStyle:"italic"}},a),l?reactExports.createElement("pre",{style:u},l):null,d)}var defaultErrorElement=reactExports.createElement(DefaultErrorComponent,null),RenderErrorBoundary=class extends reactExports.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,a){return a.location!==t.location||a.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:a.error,location:a.location,revalidation:t.revalidation||a.revalidation}}componentDidCatch(t,a){this.props.onError?this.props.onError(t,a):console.error("React Router caught the following error during render",t)}render(){let t=this.state.error;if(this.context&&typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){const l=decodeRouteErrorResponseDigest(t.digest);l&&(t=l)}let a=t!==void 0?reactExports.createElement(RouteContext.Provider,{value:this.props.routeContext},reactExports.createElement(RouteErrorContext.Provider,{value:t,children:this.props.component})):this.props.children;return this.context?reactExports.createElement(RSCErrorHandler,{error:t},a):a}};RenderErrorBoundary.contextType=RSCRouterContext;var errorRedirectHandledMap=new WeakMap;function RSCErrorHandler({children:t,error:a}){let{basename:l}=reactExports.useContext(NavigationContext);if(typeof a=="object"&&a&&"digest"in a&&typeof a.digest=="string"){let o=decodeRedirectErrorDigest(a.digest);if(o){let u=errorRedirectHandledMap.get(a);if(u)throw u;let c=parseToInfo(o.location,l);if(isBrowser&&!errorRedirectHandledMap.get(a))if(c.isExternal||o.reloadDocument)window.location.href=c.absoluteURL||c.to;else{const d=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(c.to,{replace:o.replace}));throw errorRedirectHandledMap.set(a,d),d}return reactExports.createElement("meta",{httpEquiv:"refresh",content:`0;url=${c.absoluteURL||c.to}`})}}return t}function RenderedRoute({routeContext:t,match:a,children:l}){let o=reactExports.useContext(DataRouterContext);return o&&o.static&&o.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=a.route.id),reactExports.createElement(RouteContext.Provider,{value:t},l)}function _renderMatches(t,a=[],l){let o=l==null?void 0:l.state;if(t==null){if(!o)return null;if(o.errors)t=o.matches;else if(a.length===0&&!o.initialized&&o.matches.length>0)t=o.matches;else return null}let u=t,c=o==null?void 0:o.errors;if(c!=null){let x=u.findIndex(b=>b.route.id&&(c==null?void 0:c[b.route.id])!==void 0);invariant(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(c).join(",")}`),u=u.slice(0,Math.min(u.length,x+1))}let d=!1,m=-1;if(l&&o){d=o.renderFallback;for(let x=0;x<u.length;x++){let b=u[x];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(m=x),b.route.id){let{loaderData:C,errors:R}=o,_=b.route.loader&&!C.hasOwnProperty(b.route.id)&&(!R||R[b.route.id]===void 0);if(b.route.lazy||_){l.isStatic&&(d=!0),m>=0?u=u.slice(0,m+1):u=[u[0]];break}}}}let p=l==null?void 0:l.onError,g=o&&p?(x,b)=>{var C,R;p(x,{location:o.location,params:((R=(C=o.matches)==null?void 0:C[0])==null?void 0:R.params)??{},unstable_pattern:getRoutePattern(o.matches),errorInfo:b})}:void 0;return u.reduceRight((x,b,C)=>{let R,_=!1,B=null,L=null;o&&(R=c&&b.route.id?c[b.route.id]:void 0,B=b.route.errorElement||defaultErrorElement,d&&(m<0&&C===0?(warningOnce("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),_=!0,L=null):m===C&&(_=!0,L=b.route.hydrateFallbackElement||null)));let D=a.concat(u.slice(0,C+1)),H=()=>{let V;return R?V=B:_?V=L:b.route.Component?V=reactExports.createElement(b.route.Component,null):b.route.element?V=b.route.element:V=x,reactExports.createElement(RenderedRoute,{match:b,routeContext:{outlet:x,matches:D,isDataRoute:o!=null},children:V})};return o&&(b.route.ErrorBoundary||b.route.errorElement||C===0)?reactExports.createElement(RenderErrorBoundary,{location:o.location,revalidation:o.revalidation,component:B,error:R,children:H(),routeContext:{outlet:null,matches:D,isDataRoute:!0},onError:g}):H()},null)}function getDataRouterConsoleError(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function useDataRouterContext(t){let a=reactExports.useContext(DataRouterContext);return invariant(a,getDataRouterConsoleError(t)),a}function useDataRouterState(t){let a=reactExports.useContext(DataRouterStateContext);return invariant(a,getDataRouterConsoleError(t)),a}function useRouteContext(t){let a=reactExports.useContext(RouteContext);return invariant(a,getDataRouterConsoleError(t)),a}function useCurrentRouteId(t){let a=useRouteContext(t),l=a.matches[a.matches.length-1];return invariant(l.route.id,`${t} can only be used on routes that contain a unique "id"`),l.route.id}function useRouteId(){return useCurrentRouteId("useRouteId")}function useRouteError(){var o;let t=reactExports.useContext(RouteErrorContext),a=useDataRouterState("useRouteError"),l=useCurrentRouteId("useRouteError");return t!==void 0?t:(o=a.errors)==null?void 0:o[l]}function useNavigateStable(){let{router:t}=useDataRouterContext("useNavigate"),a=useCurrentRouteId("useNavigate"),l=reactExports.useRef(!1);return useIsomorphicLayoutEffect(()=>{l.current=!0}),reactExports.useCallback(async(u,c={})=>{warning(l.current,navigateEffectWarning),l.current&&(typeof u=="number"?await t.navigate(u):await t.navigate(u,{fromRouteId:a,...c}))},[t,a])}var alreadyWarned={};function warningOnce(t,a,l){!a&&!alreadyWarned[t]&&(alreadyWarned[t]=!0,warning(!1,l))}reactExports.memo(DataRoutes);function DataRoutes({routes:t,future:a,state:l,isStatic:o,onError:u}){return useRoutesImpl(t,void 0,{state:l,isStatic:o,onError:u})}function Route(t){invariant(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function Router({basename:t="/",children:a=null,location:l,navigationType:o="POP",navigator:u,static:c=!1,unstable_useTransitions:d}){invariant(!useInRouterContext(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let m=t.replace(/^\/*/,"/"),p=reactExports.useMemo(()=>({basename:m,navigator:u,static:c,unstable_useTransitions:d,future:{}}),[m,u,c,d]);typeof l=="string"&&(l=parsePath(l));let{pathname:g="/",search:x="",hash:b="",state:C=null,key:R="default",unstable_mask:_}=l,B=reactExports.useMemo(()=>{let L=stripBasename(g,m);return L==null?null:{location:{pathname:L,search:x,hash:b,state:C,key:R,unstable_mask:_},navigationType:o}},[m,g,x,b,C,R,o,_]);return warning(B!=null,`<Router basename="${m}"> is not able to match the URL "${g}${x}${b}" because it does not start with the basename, so the <Router> won't render anything.`),B==null?null:reactExports.createElement(NavigationContext.Provider,{value:p},reactExports.createElement(LocationContext.Provider,{children:a,value:B}))}function Routes({children:t,location:a}){return useRoutes(createRoutesFromChildren(t),a)}function createRoutesFromChildren(t,a=[]){let l=[];return reactExports.Children.forEach(t,(o,u)=>{if(!reactExports.isValidElement(o))return;let c=[...a,u];if(o.type===reactExports.Fragment){l.push.apply(l,createRoutesFromChildren(o.props.children,c));return}invariant(o.type===Route,`[${typeof o.type=="string"?o.type:o.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),invariant(!o.props.index||!o.props.children,"An index route cannot have child routes.");let d={id:o.props.id||c.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,middleware:o.props.middleware,loader:o.props.loader,action:o.props.action,hydrateFallbackElement:o.props.hydrateFallbackElement,HydrateFallback:o.props.HydrateFallback,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.hasErrorBoundary===!0||o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(d.children=createRoutesFromChildren(o.props.children,c)),l.push(d)}),l}var defaultMethod="get",defaultEncType="application/x-www-form-urlencoded";function isHtmlElement(t){return typeof HTMLElement<"u"&&t instanceof HTMLElement}function isButtonElement(t){return isHtmlElement(t)&&t.tagName.toLowerCase()==="button"}function isFormElement(t){return isHtmlElement(t)&&t.tagName.toLowerCase()==="form"}function isInputElement(t){return isHtmlElement(t)&&t.tagName.toLowerCase()==="input"}function isModifiedEvent(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function shouldProcessLinkClick(t,a){return t.button===0&&(!a||a==="_self")&&!isModifiedEvent(t)}var _formDataSupportsSubmitter=null;function isFormDataSubmitterSupported(){if(_formDataSupportsSubmitter===null)try{new FormData(document.createElement("form"),0),_formDataSupportsSubmitter=!1}catch{_formDataSupportsSubmitter=!0}return _formDataSupportsSubmitter}var supportedFormEncTypes=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function getFormEncType(t){return t!=null&&!supportedFormEncTypes.has(t)?(warning(!1,`"${t}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${defaultEncType}"`),null):t}function getFormSubmissionInfo(t,a){let l,o,u,c,d;if(isFormElement(t)){let m=t.getAttribute("action");o=m?stripBasename(m,a):null,l=t.getAttribute("method")||defaultMethod,u=getFormEncType(t.getAttribute("enctype"))||defaultEncType,c=new FormData(t)}else if(isButtonElement(t)||isInputElement(t)&&(t.type==="submit"||t.type==="image")){let m=t.form;if(m==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let p=t.getAttribute("formaction")||m.getAttribute("action");if(o=p?stripBasename(p,a):null,l=t.getAttribute("formmethod")||m.getAttribute("method")||defaultMethod,u=getFormEncType(t.getAttribute("formenctype"))||getFormEncType(m.getAttribute("enctype"))||defaultEncType,c=new FormData(m,t),!isFormDataSubmitterSupported()){let{name:g,type:x,value:b}=t;if(x==="image"){let C=g?`${g}.`:"";c.append(`${C}x`,"0"),c.append(`${C}y`,"0")}else g&&c.append(g,b)}}else{if(isHtmlElement(t))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');l=defaultMethod,o=null,u=defaultEncType,d=t}return c&&u==="text/plain"&&(d=c,c=void 0),{action:o,method:l.toLowerCase(),encType:u,formData:c,body:d}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function invariant2(t,a){if(t===!1||t===null||typeof t>"u")throw new Error(a)}function singleFetchUrl(t,a,l,o){let u=typeof t=="string"?new URL(t,typeof window>"u"?"server://singlefetch/":window.location.origin):t;return l?u.pathname.endsWith("/")?u.pathname=`${u.pathname}_.${o}`:u.pathname=`${u.pathname}.${o}`:u.pathname==="/"?u.pathname=`_root.${o}`:a&&stripBasename(u.pathname,a)==="/"?u.pathname=`${a.replace(/\/$/,"")}/_root.${o}`:u.pathname=`${u.pathname.replace(/\/$/,"")}.${o}`,u}async function loadRouteModule(t,a){if(t.id in a)return a[t.id];try{let l=await import(t.module);return a[t.id]=l,l}catch(l){return console.error(`Error loading route module \`${t.module}\`, reloading page...`),console.error(l),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function isHtmlLinkDescriptor(t){return t==null?!1:t.href==null?t.rel==="preload"&&typeof t.imageSrcSet=="string"&&typeof t.imageSizes=="string":typeof t.rel=="string"&&typeof t.href=="string"}async function getKeyedPrefetchLinks(t,a,l){let o=await Promise.all(t.map(async u=>{let c=a.routes[u.route.id];if(c){let d=await loadRouteModule(c,l);return d.links?d.links():[]}return[]}));return dedupeLinkDescriptors(o.flat(1).filter(isHtmlLinkDescriptor).filter(u=>u.rel==="stylesheet"||u.rel==="preload").map(u=>u.rel==="stylesheet"?{...u,rel:"prefetch",as:"style"}:{...u,rel:"prefetch"}))}function getNewMatchesForLinks(t,a,l,o,u,c){let d=(p,g)=>l[g]?p.route.id!==l[g].route.id:!0,m=(p,g)=>{var x;return l[g].pathname!==p.pathname||((x=l[g].route.path)==null?void 0:x.endsWith("*"))&&l[g].params["*"]!==p.params["*"]};return c==="assets"?a.filter((p,g)=>d(p,g)||m(p,g)):c==="data"?a.filter((p,g)=>{var b;let x=o.routes[p.route.id];if(!x||!x.hasLoader)return!1;if(d(p,g)||m(p,g))return!0;if(p.route.shouldRevalidate){let C=p.route.shouldRevalidate({currentUrl:new URL(u.pathname+u.search+u.hash,window.origin),currentParams:((b=l[0])==null?void 0:b.params)||{},nextUrl:new URL(t,window.origin),nextParams:p.params,defaultShouldRevalidate:!0});if(typeof C=="boolean")return C}return!0}):[]}function getModuleLinkHrefs(t,a,{includeHydrateFallback:l}={}){return dedupeHrefs(t.map(o=>{let u=a.routes[o.route.id];if(!u)return[];let c=[u.module];return u.clientActionModule&&(c=c.concat(u.clientActionModule)),u.clientLoaderModule&&(c=c.concat(u.clientLoaderModule)),l&&u.hydrateFallbackModule&&(c=c.concat(u.hydrateFallbackModule)),u.imports&&(c=c.concat(u.imports)),c}).flat(1))}function dedupeHrefs(t){return[...new Set(t)]}function sortKeys(t){let a={},l=Object.keys(t).sort();for(let o of l)a[o]=t[o];return a}function dedupeLinkDescriptors(t,a){let l=new Set;return new Set(a),t.reduce((o,u)=>{let c=JSON.stringify(sortKeys(u));return l.has(c)||(l.add(c),o.push({key:c,link:u})),o},[])}function useDataRouterContext2(){let t=reactExports.useContext(DataRouterContext);return invariant2(t,"You must render this element inside a <DataRouterContext.Provider> element"),t}function useDataRouterStateContext(){let t=reactExports.useContext(DataRouterStateContext);return invariant2(t,"You must render this element inside a <DataRouterStateContext.Provider> element"),t}var FrameworkContext=reactExports.createContext(void 0);FrameworkContext.displayName="FrameworkContext";function useFrameworkContext(){let t=reactExports.useContext(FrameworkContext);return invariant2(t,"You must render this element inside a <HydratedRouter> element"),t}function usePrefetchBehavior(t,a){let l=reactExports.useContext(FrameworkContext),[o,u]=reactExports.useState(!1),[c,d]=reactExports.useState(!1),{onFocus:m,onBlur:p,onMouseEnter:g,onMouseLeave:x,onTouchStart:b}=a,C=reactExports.useRef(null);reactExports.useEffect(()=>{if(t==="render"&&d(!0),t==="viewport"){let B=D=>{D.forEach(H=>{d(H.isIntersecting)})},L=new IntersectionObserver(B,{threshold:.5});return C.current&&L.observe(C.current),()=>{L.disconnect()}}},[t]),reactExports.useEffect(()=>{if(o){let B=setTimeout(()=>{d(!0)},100);return()=>{clearTimeout(B)}}},[o]);let R=()=>{u(!0)},_=()=>{u(!1),d(!1)};return l?t!=="intent"?[c,C,{}]:[c,C,{onFocus:composeEventHandlers(m,R),onBlur:composeEventHandlers(p,_),onMouseEnter:composeEventHandlers(g,R),onMouseLeave:composeEventHandlers(x,_),onTouchStart:composeEventHandlers(b,R)}]:[!1,C,{}]}function composeEventHandlers(t,a){return l=>{t&&t(l),l.defaultPrevented||a(l)}}function PrefetchPageLinks({page:t,...a}){let{router:l}=useDataRouterContext2(),o=reactExports.useMemo(()=>matchRoutes(l.routes,t,l.basename),[l.routes,t,l.basename]);return o?reactExports.createElement(PrefetchPageLinksImpl,{page:t,matches:o,...a}):null}function useKeyedPrefetchLinks(t){let{manifest:a,routeModules:l}=useFrameworkContext(),[o,u]=reactExports.useState([]);return reactExports.useEffect(()=>{let c=!1;return getKeyedPrefetchLinks(t,a,l).then(d=>{c||u(d)}),()=>{c=!0}},[t,a,l]),o}function PrefetchPageLinksImpl({page:t,matches:a,...l}){let o=useLocation(),{future:u,manifest:c,routeModules:d}=useFrameworkContext(),{basename:m}=useDataRouterContext2(),{loaderData:p,matches:g}=useDataRouterStateContext(),x=reactExports.useMemo(()=>getNewMatchesForLinks(t,a,g,c,o,"data"),[t,a,g,c,o]),b=reactExports.useMemo(()=>getNewMatchesForLinks(t,a,g,c,o,"assets"),[t,a,g,c,o]),C=reactExports.useMemo(()=>{if(t===o.pathname+o.search+o.hash)return[];let B=new Set,L=!1;if(a.forEach(H=>{var se;let V=c.routes[H.route.id];!V||!V.hasLoader||(!x.some(te=>te.route.id===H.route.id)&&H.route.id in p&&((se=d[H.route.id])!=null&&se.shouldRevalidate)||V.hasClientLoader?L=!0:B.add(H.route.id))}),B.size===0)return[];let D=singleFetchUrl(t,m,u.unstable_trailingSlashAwareDataRequests,"data");return L&&B.size>0&&D.searchParams.set("_routes",a.filter(H=>B.has(H.route.id)).map(H=>H.route.id).join(",")),[D.pathname+D.search]},[m,u.unstable_trailingSlashAwareDataRequests,p,o,c,x,a,t,d]),R=reactExports.useMemo(()=>getModuleLinkHrefs(b,c),[b,c]),_=useKeyedPrefetchLinks(b);return reactExports.createElement(reactExports.Fragment,null,C.map(B=>reactExports.createElement("link",{key:B,rel:"prefetch",as:"fetch",href:B,...l})),R.map(B=>reactExports.createElement("link",{key:B,rel:"modulepreload",href:B,...l})),_.map(({key:B,link:L})=>reactExports.createElement("link",{key:B,nonce:l.nonce,...L,crossOrigin:L.crossOrigin??l.crossOrigin})))}function mergeRefs(...t){return a=>{t.forEach(l=>{typeof l=="function"?l(a):l!=null&&(l.current=a)})}}var isBrowser2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{isBrowser2&&(window.__reactRouterVersion="7.13.1")}catch{}function BrowserRouter({basename:t,children:a,unstable_useTransitions:l,window:o}){let u=reactExports.useRef();u.current==null&&(u.current=createBrowserHistory({window:o,v5Compat:!0}));let c=u.current,[d,m]=reactExports.useState({action:c.action,location:c.location}),p=reactExports.useCallback(g=>{l===!1?m(g):reactExports.startTransition(()=>m(g))},[l]);return reactExports.useLayoutEffect(()=>c.listen(p),[c,p]),reactExports.createElement(Router,{basename:t,children:a,location:d.location,navigationType:d.action,navigator:c,unstable_useTransitions:l})}var ABSOLUTE_URL_REGEX2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Link=reactExports.forwardRef(function({onClick:a,discover:l="render",prefetch:o="none",relative:u,reloadDocument:c,replace:d,unstable_mask:m,state:p,target:g,to:x,preventScrollReset:b,viewTransition:C,unstable_defaultShouldRevalidate:R,..._},B){let{basename:L,navigator:D,unstable_useTransitions:H}=reactExports.useContext(NavigationContext),V=typeof x=="string"&&ABSOLUTE_URL_REGEX2.test(x),se=parseToInfo(x,L);x=se.to;let te=useHref(x,{relative:u}),Y=useLocation(),ge=null;if(m){let ee=resolveTo(m,[],Y.unstable_mask?Y.unstable_mask.pathname:"/",!0);L!=="/"&&(ee.pathname=ee.pathname==="/"?L:joinPaths([L,ee.pathname])),ge=D.createHref(ee)}let[W,ve,K]=usePrefetchBehavior(o,_),Ee=useLinkClickHandler(x,{replace:d,unstable_mask:m,state:p,target:g,preventScrollReset:b,relative:u,viewTransition:C,unstable_defaultShouldRevalidate:R,unstable_useTransitions:H});function ae(ee){a&&a(ee),ee.defaultPrevented||Ee(ee)}let Ce=!(se.isExternal||c),ye=reactExports.createElement("a",{..._,...K,href:(Ce?ge:void 0)||se.absoluteURL||te,onClick:Ce?ae:a,ref:mergeRefs(B,ve),target:g,"data-discover":!V&&l==="render"?"true":void 0});return W&&!V?reactExports.createElement(reactExports.Fragment,null,ye,reactExports.createElement(PrefetchPageLinks,{page:te})):ye});Link.displayName="Link";var NavLink=reactExports.forwardRef(function({"aria-current":a="page",caseSensitive:l=!1,className:o="",end:u=!1,style:c,to:d,viewTransition:m,children:p,...g},x){let b=useResolvedPath(d,{relative:g.relative}),C=useLocation(),R=reactExports.useContext(DataRouterStateContext),{navigator:_,basename:B}=reactExports.useContext(NavigationContext),L=R!=null&&useViewTransitionState(b)&&m===!0,D=_.encodeLocation?_.encodeLocation(b).pathname:b.pathname,H=C.pathname,V=R&&R.navigation&&R.navigation.location?R.navigation.location.pathname:null;l||(H=H.toLowerCase(),V=V?V.toLowerCase():null,D=D.toLowerCase()),V&&B&&(V=stripBasename(V,B)||V);const se=D!=="/"&&D.endsWith("/")?D.length-1:D.length;let te=H===D||!u&&H.startsWith(D)&&H.charAt(se)==="/",Y=V!=null&&(V===D||!u&&V.startsWith(D)&&V.charAt(D.length)==="/"),ge={isActive:te,isPending:Y,isTransitioning:L},W=te?a:void 0,ve;typeof o=="function"?ve=o(ge):ve=[o,te?"active":null,Y?"pending":null,L?"transitioning":null].filter(Boolean).join(" ");let K=typeof c=="function"?c(ge):c;return reactExports.createElement(Link,{...g,"aria-current":W,className:ve,ref:x,style:K,to:d,viewTransition:m},typeof p=="function"?p(ge):p)});NavLink.displayName="NavLink";var Form=reactExports.forwardRef(({discover:t="render",fetcherKey:a,navigate:l,reloadDocument:o,replace:u,state:c,method:d=defaultMethod,action:m,onSubmit:p,relative:g,preventScrollReset:x,viewTransition:b,unstable_defaultShouldRevalidate:C,...R},_)=>{let{unstable_useTransitions:B}=reactExports.useContext(NavigationContext),L=useSubmit(),D=useFormAction(m,{relative:g}),H=d.toLowerCase()==="get"?"get":"post",V=typeof m=="string"&&ABSOLUTE_URL_REGEX2.test(m),se=te=>{if(p&&p(te),te.defaultPrevented)return;te.preventDefault();let Y=te.nativeEvent.submitter,ge=(Y==null?void 0:Y.getAttribute("formmethod"))||d,W=()=>L(Y||te.currentTarget,{fetcherKey:a,method:ge,navigate:l,replace:u,state:c,relative:g,preventScrollReset:x,viewTransition:b,unstable_defaultShouldRevalidate:C});B&&l!==!1?reactExports.startTransition(()=>W()):W()};return reactExports.createElement("form",{ref:_,method:H,action:D,onSubmit:o?p:se,...R,"data-discover":!V&&t==="render"?"true":void 0})});Form.displayName="Form";function getDataRouterConsoleError2(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function useDataRouterContext3(t){let a=reactExports.useContext(DataRouterContext);return invariant(a,getDataRouterConsoleError2(t)),a}function useLinkClickHandler(t,{target:a,replace:l,unstable_mask:o,state:u,preventScrollReset:c,relative:d,viewTransition:m,unstable_defaultShouldRevalidate:p,unstable_useTransitions:g}={}){let x=useNavigate(),b=useLocation(),C=useResolvedPath(t,{relative:d});return reactExports.useCallback(R=>{if(shouldProcessLinkClick(R,a)){R.preventDefault();let _=l!==void 0?l:createPath(b)===createPath(C),B=()=>x(t,{replace:_,unstable_mask:o,state:u,preventScrollReset:c,relative:d,viewTransition:m,unstable_defaultShouldRevalidate:p});g?reactExports.startTransition(()=>B()):B()}},[b,x,C,l,o,u,a,t,c,d,m,p,g])}var fetcherId=0,getUniqueFetcherId=()=>`__${String(++fetcherId)}__`;function useSubmit(){let{router:t}=useDataRouterContext3("useSubmit"),{basename:a}=reactExports.useContext(NavigationContext),l=useRouteId(),o=t.fetch,u=t.navigate;return reactExports.useCallback(async(c,d={})=>{let{action:m,method:p,encType:g,formData:x,body:b}=getFormSubmissionInfo(c,a);if(d.navigate===!1){let C=d.fetcherKey||getUniqueFetcherId();await o(C,l,d.action||m,{unstable_defaultShouldRevalidate:d.unstable_defaultShouldRevalidate,preventScrollReset:d.preventScrollReset,formData:x,body:b,formMethod:d.method||p,formEncType:d.encType||g,flushSync:d.flushSync})}else await u(d.action||m,{unstable_defaultShouldRevalidate:d.unstable_defaultShouldRevalidate,preventScrollReset:d.preventScrollReset,formData:x,body:b,formMethod:d.method||p,formEncType:d.encType||g,replace:d.replace,state:d.state,fromRouteId:l,flushSync:d.flushSync,viewTransition:d.viewTransition})},[o,u,a,l])}function useFormAction(t,{relative:a}={}){let{basename:l}=reactExports.useContext(NavigationContext),o=reactExports.useContext(RouteContext);invariant(o,"useFormAction must be used inside a RouteContext");let[u]=o.matches.slice(-1),c={...useResolvedPath(t||".",{relative:a})},d=useLocation();if(t==null){c.search=d.search;let m=new URLSearchParams(c.search),p=m.getAll("index");if(p.some(x=>x==="")){m.delete("index"),p.filter(b=>b).forEach(b=>m.append("index",b));let x=m.toString();c.search=x?`?${x}`:""}}return(!t||t===".")&&u.route.index&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),l!=="/"&&(c.pathname=c.pathname==="/"?l:joinPaths([l,c.pathname])),createPath(c)}function useViewTransitionState(t,{relative:a}={}){let l=reactExports.useContext(ViewTransitionContext);invariant(l!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:o}=useDataRouterContext3("useViewTransitionState"),u=useResolvedPath(t,{relative:a});if(!l.isTransitioning)return!1;let c=stripBasename(l.currentLocation.pathname,o)||l.currentLocation.pathname,d=stripBasename(l.nextLocation.pathname,o)||l.nextLocation.pathname;return matchPath(u.pathname,d)!=null||matchPath(u.pathname,c)!=null}class ClappTransport{constructor(a){Vt(this,"serverUrl");Vt(this,"wsUrl");Vt(this,"context");Vt(this,"token");Vt(this,"ws",null);Vt(this,"connected",!1);Vt(this,"reconnectTimer",null);Vt(this,"reconnectDelay",1e3);Vt(this,"stateListeners",new Set);Vt(this,"appsListeners",new Set);Vt(this,"viewListeners",new Set);Vt(this,"connectionListeners",new Set);this.serverUrl=a.serverUrl.replace(/\/$/,""),this.context=a.context,this.token=a.token;const l=new URL(this.serverUrl);l.protocol=l.protocol==="https:"?"wss:":"ws:",l.pathname="/ws",this.token&&l.searchParams.set("token",this.token),this.wsUrl=l.toString()}connect(){this.ws||this.createWebSocket()}disconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.close(),this.ws=null),this.setConnected(!1)}subscribe(a){this.wsSend({type:"subscribe",clappIds:a})}onState(a){return this.stateListeners.add(a),()=>this.stateListeners.delete(a)}onApps(a){return this.appsListeners.add(a),()=>this.appsListeners.delete(a)}onView(a){return this.viewListeners.add(a),()=>this.viewListeners.delete(a)}onConnection(a){return this.connectionListeners.add(a),()=>this.connectionListeners.delete(a)}isConnected(){return this.connected}async sendIntent(a,l,o={}){var d,m,p;if(this.connected&&((d=this.ws)==null?void 0:d.readyState)===WebSocket.OPEN){this.wsSend({type:"intent",clappId:a,intent:l,payload:o});return}const u={id:((p=(m=globalThis.crypto)==null?void 0:m.randomUUID)==null?void 0:p.call(m))??Math.random().toString(36).slice(2)+Date.now().toString(36),agentId:"local",clappId:a,intent:l,payload:o,timestamp:new Date().toISOString()},c=await fetch(`${this.serverUrl}/api/intent`,{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders()},body:JSON.stringify(u)});if(!c.ok)throw new Error(`Failed to send intent: ${c.status}`)}async fetchApps(){const a=await fetch(`${this.serverUrl}/api/apps`,{headers:this.authHeaders()});if(!a.ok)throw new Error(`Failed to fetch apps: ${a.status}`);return a.json()}async fetchState(a){const l=await fetch(`${this.serverUrl}/api/state/${a}`,{headers:this.authHeaders()});if(l.status===404)return null;if(!l.ok)throw new Error(`Failed to fetch state: ${l.status}`);return l.json()}async fetchView(a){const l=await fetch(`${this.serverUrl}/api/views/${a}`,{headers:this.authHeaders()});if(l.status===404)return null;if(!l.ok)throw new Error(`Failed to fetch view: ${l.status}`);return l.text()}authHeaders(){return this.token?{Authorization:`Bearer ${this.token}`}:{}}createWebSocket(){try{this.ws=new WebSocket(this.wsUrl)}catch{this.scheduleReconnect();return}this.ws.onopen=()=>{this.reconnectDelay=1e3,this.setConnected(!0),this.context&&this.wsSend({type:"hello",context:this.context})},this.ws.onmessage=a=>{try{const l=JSON.parse(String(a.data));this.handleMessage(l)}catch{}},this.ws.onclose=()=>{this.ws=null,this.setConnected(!1),this.scheduleReconnect()},this.ws.onerror=()=>{}}handleMessage(a){switch(a.type){case"state":{const l=a.clappId,o=a.state;for(const u of this.stateListeners)u(l,o);break}case"apps":{const l=a.apps;for(const o of this.appsListeners)o(l);break}case"view":{const l=a.viewId,o=a.content;for(const u of this.viewListeners)u(l,o);break}}}wsSend(a){var l;((l=this.ws)==null?void 0:l.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify(a))}setConnected(a){if(this.connected!==a){this.connected=a;for(const l of this.connectionListeners)l(a)}}scheduleReconnect(){this.reconnectTimer||(this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.createWebSocket()},this.reconnectDelay),this.reconnectDelay=Math.min(this.reconnectDelay*1.5,1e4))}}function setRef(t,a){if(typeof t=="function")return t(a);t!=null&&(t.current=a)}function composeRefs(...t){return a=>{let l=!1;const o=t.map(u=>{const c=setRef(u,a);return!l&&typeof c=="function"&&(l=!0),c});if(l)return()=>{for(let u=0;u<o.length;u++){const c=o[u];typeof c=="function"?c():setRef(t[u],null)}}}}var REACT_LAZY_TYPE=Symbol.for("react.lazy"),use=React$1[" use ".trim().toString()];function isPromiseLike(t){return typeof t=="object"&&t!==null&&"then"in t}function isLazyComponent(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===REACT_LAZY_TYPE&&"_payload"in t&&isPromiseLike(t._payload)}function createSlot(t){const a=createSlotClone(t),l=reactExports.forwardRef((o,u)=>{let{children:c,...d}=o;isLazyComponent(c)&&typeof use=="function"&&(c=use(c._payload));const m=reactExports.Children.toArray(c),p=m.find(isSlottable);if(p){const g=p.props.children,x=m.map(b=>b===p?reactExports.Children.count(g)>1?reactExports.Children.only(null):reactExports.isValidElement(g)?g.props.children:null:b);return jsxRuntimeExports.jsx(a,{...d,ref:u,children:reactExports.isValidElement(g)?reactExports.cloneElement(g,void 0,x):null})}return jsxRuntimeExports.jsx(a,{...d,ref:u,children:c})});return l.displayName=`${t}.Slot`,l}var Slot=createSlot("Slot");function createSlotClone(t){const a=reactExports.forwardRef((l,o)=>{let{children:u,...c}=l;if(isLazyComponent(u)&&typeof use=="function"&&(u=use(u._payload)),reactExports.isValidElement(u)){const d=getElementRef(u),m=mergeProps(c,u.props);return u.type!==reactExports.Fragment&&(m.ref=o?composeRefs(o,d):d),reactExports.cloneElement(u,m)}return reactExports.Children.count(u)>1?reactExports.Children.only(null):null});return a.displayName=`${t}.SlotClone`,a}var SLOTTABLE_IDENTIFIER=Symbol("radix.slottable");function isSlottable(t){return reactExports.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===SLOTTABLE_IDENTIFIER}function mergeProps(t,a){const l={...a};for(const o in a){const u=t[o],c=a[o];/^on[A-Z]/.test(o)?u&&c?l[o]=(...m)=>{const p=c(...m);return u(...m),p}:u&&(l[o]=u):o==="style"?l[o]={...u,...c}:o==="className"&&(l[o]=[u,c].filter(Boolean).join(" "))}return{...t,...l}}function getElementRef(t){var o,u;let a=(o=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:o.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?t.ref:(a=(u=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:u.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?t.props.ref:t.props.ref||t.ref)}function r(t){var a,l,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var u=t.length;for(a=0;a<u;a++)t[a]&&(l=r(t[a]))&&(o&&(o+=" "),o+=l)}else for(l in t)t[l]&&(o&&(o+=" "),o+=l);return o}function clsx(){for(var t,a,l=0,o="",u=arguments.length;l<u;l++)(t=arguments[l])&&(a=r(t))&&(o&&(o+=" "),o+=a);return o}const falsyToString=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,cx=clsx,cva=(t,a)=>l=>{var o;if((a==null?void 0:a.variants)==null)return cx(t,l==null?void 0:l.class,l==null?void 0:l.className);const{variants:u,defaultVariants:c}=a,d=Object.keys(u).map(g=>{const x=l==null?void 0:l[g],b=c==null?void 0:c[g];if(x===null)return null;const C=falsyToString(x)||falsyToString(b);return u[g][C]}),m=l&&Object.entries(l).reduce((g,x)=>{let[b,C]=x;return C===void 0||(g[b]=C),g},{}),p=a==null||(o=a.compoundVariants)===null||o===void 0?void 0:o.reduce((g,x)=>{let{class:b,className:C,...R}=x;return Object.entries(R).every(_=>{let[B,L]=_;return Array.isArray(L)?L.includes({...c,...m}[B]):{...c,...m}[B]===L})?[...g,b,C]:g},[]);return cx(t,d,p,l==null?void 0:l.class,l==null?void 0:l.className)},concatArrays=(t,a)=>{const l=new Array(t.length+a.length);for(let o=0;o<t.length;o++)l[o]=t[o];for(let o=0;o<a.length;o++)l[t.length+o]=a[o];return l},createClassValidatorObject=(t,a)=>({classGroupId:t,validator:a}),createClassPartObject=(t=new Map,a=null,l)=>({nextPart:t,validators:a,classGroupId:l}),CLASS_PART_SEPARATOR="-",EMPTY_CONFLICTS=[],ARBITRARY_PROPERTY_PREFIX="arbitrary..",createClassGroupUtils=t=>{const a=createClassMap(t),{conflictingClassGroups:l,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return getGroupIdForArbitraryProperty(d);const m=d.split(CLASS_PART_SEPARATOR),p=m[0]===""&&m.length>1?1:0;return getGroupRecursive(m,p,a)},getConflictingClassGroupIds:(d,m)=>{if(m){const p=o[d],g=l[d];return p?g?concatArrays(g,p):p:g||EMPTY_CONFLICTS}return l[d]||EMPTY_CONFLICTS}}},getGroupRecursive=(t,a,l)=>{if(t.length-a===0)return l.classGroupId;const u=t[a],c=l.nextPart.get(u);if(c){const g=getGroupRecursive(t,a+1,c);if(g)return g}const d=l.validators;if(d===null)return;const m=a===0?t.join(CLASS_PART_SEPARATOR):t.slice(a).join(CLASS_PART_SEPARATOR),p=d.length;for(let g=0;g<p;g++){const x=d[g];if(x.validator(m))return x.classGroupId}},getGroupIdForArbitraryProperty=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=t.slice(1,-1),l=a.indexOf(":"),o=a.slice(0,l);return o?ARBITRARY_PROPERTY_PREFIX+o:void 0})(),createClassMap=t=>{const{theme:a,classGroups:l}=t;return processClassGroups(l,a)},processClassGroups=(t,a)=>{const l=createClassPartObject();for(const o in t){const u=t[o];processClassesRecursively(u,l,o,a)}return l},processClassesRecursively=(t,a,l,o)=>{const u=t.length;for(let c=0;c<u;c++){const d=t[c];processClassDefinition(d,a,l,o)}},processClassDefinition=(t,a,l,o)=>{if(typeof t=="string"){processStringDefinition(t,a,l);return}if(typeof t=="function"){processFunctionDefinition(t,a,l,o);return}processObjectDefinition(t,a,l,o)},processStringDefinition=(t,a,l)=>{const o=t===""?a:getPart(a,t);o.classGroupId=l},processFunctionDefinition=(t,a,l,o)=>{if(isThemeGetter(t)){processClassesRecursively(t(o),a,l,o);return}a.validators===null&&(a.validators=[]),a.validators.push(createClassValidatorObject(l,t))},processObjectDefinition=(t,a,l,o)=>{const u=Object.entries(t),c=u.length;for(let d=0;d<c;d++){const[m,p]=u[d];processClassesRecursively(p,getPart(a,m),l,o)}},getPart=(t,a)=>{let l=t;const o=a.split(CLASS_PART_SEPARATOR),u=o.length;for(let c=0;c<u;c++){const d=o[c];let m=l.nextPart.get(d);m||(m=createClassPartObject(),l.nextPart.set(d,m)),l=m}return l},isThemeGetter=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,createLruCache=t=>{if(t<1)return{get:()=>{},set:()=>{}};let a=0,l=Object.create(null),o=Object.create(null);const u=(c,d)=>{l[c]=d,a++,a>t&&(a=0,o=l,l=Object.create(null))};return{get(c){let d=l[c];if(d!==void 0)return d;if((d=o[c])!==void 0)return u(c,d),d},set(c,d){c in l?l[c]=d:u(c,d)}}},IMPORTANT_MODIFIER="!",MODIFIER_SEPARATOR=":",EMPTY_MODIFIERS=[],createResultObject=(t,a,l,o,u)=>({modifiers:t,hasImportantModifier:a,baseClassName:l,maybePostfixModifierPosition:o,isExternal:u}),createParseClassName=t=>{const{prefix:a,experimentalParseClassName:l}=t;let o=u=>{const c=[];let d=0,m=0,p=0,g;const x=u.length;for(let B=0;B<x;B++){const L=u[B];if(d===0&&m===0){if(L===MODIFIER_SEPARATOR){c.push(u.slice(p,B)),p=B+1;continue}if(L==="/"){g=B;continue}}L==="["?d++:L==="]"?d--:L==="("?m++:L===")"&&m--}const b=c.length===0?u:u.slice(p);let C=b,R=!1;b.endsWith(IMPORTANT_MODIFIER)?(C=b.slice(0,-1),R=!0):b.startsWith(IMPORTANT_MODIFIER)&&(C=b.slice(1),R=!0);const _=g&&g>p?g-p:void 0;return createResultObject(c,R,C,_)};if(a){const u=a+MODIFIER_SEPARATOR,c=o;o=d=>d.startsWith(u)?c(d.slice(u.length)):createResultObject(EMPTY_MODIFIERS,!1,d,void 0,!0)}if(l){const u=o;o=c=>l({className:c,parseClassName:u})}return o},createSortModifiers=t=>{const a=new Map;return t.orderSensitiveModifiers.forEach((l,o)=>{a.set(l,1e6+o)}),l=>{const o=[];let u=[];for(let c=0;c<l.length;c++){const d=l[c],m=d[0]==="[",p=a.has(d);m||p?(u.length>0&&(u.sort(),o.push(...u),u=[]),o.push(d)):u.push(d)}return u.length>0&&(u.sort(),o.push(...u)),o}},createConfigUtils=t=>({cache:createLruCache(t.cacheSize),parseClassName:createParseClassName(t),sortModifiers:createSortModifiers(t),...createClassGroupUtils(t)}),SPLIT_CLASSES_REGEX=/\s+/,mergeClassList=(t,a)=>{const{parseClassName:l,getClassGroupId:o,getConflictingClassGroupIds:u,sortModifiers:c}=a,d=[],m=t.trim().split(SPLIT_CLASSES_REGEX);let p="";for(let g=m.length-1;g>=0;g-=1){const x=m[g],{isExternal:b,modifiers:C,hasImportantModifier:R,baseClassName:_,maybePostfixModifierPosition:B}=l(x);if(b){p=x+(p.length>0?" "+p:p);continue}let L=!!B,D=o(L?_.substring(0,B):_);if(!D){if(!L){p=x+(p.length>0?" "+p:p);continue}if(D=o(_),!D){p=x+(p.length>0?" "+p:p);continue}L=!1}const H=C.length===0?"":C.length===1?C[0]:c(C).join(":"),V=R?H+IMPORTANT_MODIFIER:H,se=V+D;if(d.indexOf(se)>-1)continue;d.push(se);const te=u(D,L);for(let Y=0;Y<te.length;++Y){const ge=te[Y];d.push(V+ge)}p=x+(p.length>0?" "+p:p)}return p},twJoin=(...t)=>{let a=0,l,o,u="";for(;a<t.length;)(l=t[a++])&&(o=toValue(l))&&(u&&(u+=" "),u+=o);return u},toValue=t=>{if(typeof t=="string")return t;let a,l="";for(let o=0;o<t.length;o++)t[o]&&(a=toValue(t[o]))&&(l&&(l+=" "),l+=a);return l},createTailwindMerge=(t,...a)=>{let l,o,u,c;const d=p=>{const g=a.reduce((x,b)=>b(x),t());return l=createConfigUtils(g),o=l.cache.get,u=l.cache.set,c=m,m(p)},m=p=>{const g=o(p);if(g)return g;const x=mergeClassList(p,l);return u(p,x),x};return c=d,(...p)=>c(twJoin(...p))},fallbackThemeArr=[],fromTheme=t=>{const a=l=>l[t]||fallbackThemeArr;return a.isThemeGetter=!0,a},arbitraryValueRegex=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,arbitraryVariableRegex=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fractionRegex=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,tshirtUnitRegex=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lengthUnitRegex=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,colorFunctionRegex=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,shadowRegex=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,imageRegex=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,isFraction=t=>fractionRegex.test(t),isNumber=t=>!!t&&!Number.isNaN(Number(t)),isInteger=t=>!!t&&Number.isInteger(Number(t)),isPercent=t=>t.endsWith("%")&&isNumber(t.slice(0,-1)),isTshirtSize=t=>tshirtUnitRegex.test(t),isAny=()=>!0,isLengthOnly=t=>lengthUnitRegex.test(t)&&!colorFunctionRegex.test(t),isNever=()=>!1,isShadow=t=>shadowRegex.test(t),isImage=t=>imageRegex.test(t),isAnyNonArbitrary=t=>!isArbitraryValue(t)&&!isArbitraryVariable(t),isArbitrarySize=t=>getIsArbitraryValue(t,isLabelSize,isNever),isArbitraryValue=t=>arbitraryValueRegex.test(t),isArbitraryLength=t=>getIsArbitraryValue(t,isLabelLength,isLengthOnly),isArbitraryNumber=t=>getIsArbitraryValue(t,isLabelNumber,isNumber),isArbitraryWeight=t=>getIsArbitraryValue(t,isLabelWeight,isAny),isArbitraryFamilyName=t=>getIsArbitraryValue(t,isLabelFamilyName,isNever),isArbitraryPosition=t=>getIsArbitraryValue(t,isLabelPosition,isNever),isArbitraryImage=t=>getIsArbitraryValue(t,isLabelImage,isImage),isArbitraryShadow=t=>getIsArbitraryValue(t,isLabelShadow,isShadow),isArbitraryVariable=t=>arbitraryVariableRegex.test(t),isArbitraryVariableLength=t=>getIsArbitraryVariable(t,isLabelLength),isArbitraryVariableFamilyName=t=>getIsArbitraryVariable(t,isLabelFamilyName),isArbitraryVariablePosition=t=>getIsArbitraryVariable(t,isLabelPosition),isArbitraryVariableSize=t=>getIsArbitraryVariable(t,isLabelSize),isArbitraryVariableImage=t=>getIsArbitraryVariable(t,isLabelImage),isArbitraryVariableShadow=t=>getIsArbitraryVariable(t,isLabelShadow,!0),isArbitraryVariableWeight=t=>getIsArbitraryVariable(t,isLabelWeight,!0),getIsArbitraryValue=(t,a,l)=>{const o=arbitraryValueRegex.exec(t);return o?o[1]?a(o[1]):l(o[2]):!1},getIsArbitraryVariable=(t,a,l=!1)=>{const o=arbitraryVariableRegex.exec(t);return o?o[1]?a(o[1]):l:!1},isLabelPosition=t=>t==="position"||t==="percentage",isLabelImage=t=>t==="image"||t==="url",isLabelSize=t=>t==="length"||t==="size"||t==="bg-size",isLabelLength=t=>t==="length",isLabelNumber=t=>t==="number",isLabelFamilyName=t=>t==="family-name",isLabelWeight=t=>t==="number"||t==="weight",isLabelShadow=t=>t==="shadow",getDefaultConfig=()=>{const t=fromTheme("color"),a=fromTheme("font"),l=fromTheme("text"),o=fromTheme("font-weight"),u=fromTheme("tracking"),c=fromTheme("leading"),d=fromTheme("breakpoint"),m=fromTheme("container"),p=fromTheme("spacing"),g=fromTheme("radius"),x=fromTheme("shadow"),b=fromTheme("inset-shadow"),C=fromTheme("text-shadow"),R=fromTheme("drop-shadow"),_=fromTheme("blur"),B=fromTheme("perspective"),L=fromTheme("aspect"),D=fromTheme("ease"),H=fromTheme("animate"),V=()=>["auto","avoid","all","avoid-page","page","left","right","column"],se=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],te=()=>[...se(),isArbitraryVariable,isArbitraryValue],Y=()=>["auto","hidden","clip","visible","scroll"],ge=()=>["auto","contain","none"],W=()=>[isArbitraryVariable,isArbitraryValue,p],ve=()=>[isFraction,"full","auto",...W()],K=()=>[isInteger,"none","subgrid",isArbitraryVariable,isArbitraryValue],Ee=()=>["auto",{span:["full",isInteger,isArbitraryVariable,isArbitraryValue]},isInteger,isArbitraryVariable,isArbitraryValue],ae=()=>[isInteger,"auto",isArbitraryVariable,isArbitraryValue],Ce=()=>["auto","min","max","fr",isArbitraryVariable,isArbitraryValue],ye=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ee=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...W()],he=()=>[isFraction,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...W()],fe=()=>[isFraction,"screen","full","dvw","lvw","svw","min","max","fit",...W()],_e=()=>[isFraction,"screen","full","lh","dvh","lvh","svh","min","max","fit",...W()],O=()=>[t,isArbitraryVariable,isArbitraryValue],q=()=>[...se(),isArbitraryVariablePosition,isArbitraryPosition,{position:[isArbitraryVariable,isArbitraryValue]}],oe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],N=()=>["auto","cover","contain",isArbitraryVariableSize,isArbitrarySize,{size:[isArbitraryVariable,isArbitraryValue]}],be=()=>[isPercent,isArbitraryVariableLength,isArbitraryLength],xe=()=>["","none","full",g,isArbitraryVariable,isArbitraryValue],Se=()=>["",isNumber,isArbitraryVariableLength,isArbitraryLength],Oe=()=>["solid","dashed","dotted","double"],qe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],je=()=>[isNumber,isPercent,isArbitraryVariablePosition,isArbitraryPosition],nt=()=>["","none",_,isArbitraryVariable,isArbitraryValue],Qe=()=>["none",isNumber,isArbitraryVariable,isArbitraryValue],at=()=>["none",isNumber,isArbitraryVariable,isArbitraryValue],kt=()=>[isNumber,isArbitraryVariable,isArbitraryValue],ut=()=>[isFraction,"full",...W()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[isTshirtSize],breakpoint:[isTshirtSize],color:[isAny],container:[isTshirtSize],"drop-shadow":[isTshirtSize],ease:["in","out","in-out"],font:[isAnyNonArbitrary],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[isTshirtSize],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[isTshirtSize],shadow:[isTshirtSize],spacing:["px",isNumber],text:[isTshirtSize],"text-shadow":[isTshirtSize],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",isFraction,isArbitraryValue,isArbitraryVariable,L]}],container:["container"],columns:[{columns:[isNumber,isArbitraryValue,isArbitraryVariable,m]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:te()}],overflow:[{overflow:Y()}],"overflow-x":[{"overflow-x":Y()}],"overflow-y":[{"overflow-y":Y()}],overscroll:[{overscroll:ge()}],"overscroll-x":[{"overscroll-x":ge()}],"overscroll-y":[{"overscroll-y":ge()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ve()}],"inset-x":[{"inset-x":ve()}],"inset-y":[{"inset-y":ve()}],start:[{"inset-s":ve(),start:ve()}],end:[{"inset-e":ve(),end:ve()}],"inset-bs":[{"inset-bs":ve()}],"inset-be":[{"inset-be":ve()}],top:[{top:ve()}],right:[{right:ve()}],bottom:[{bottom:ve()}],left:[{left:ve()}],visibility:["visible","invisible","collapse"],z:[{z:[isInteger,"auto",isArbitraryVariable,isArbitraryValue]}],basis:[{basis:[isFraction,"full","auto",m,...W()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[isNumber,isFraction,"auto","initial","none",isArbitraryValue]}],grow:[{grow:["",isNumber,isArbitraryVariable,isArbitraryValue]}],shrink:[{shrink:["",isNumber,isArbitraryVariable,isArbitraryValue]}],order:[{order:[isInteger,"first","last","none",isArbitraryVariable,isArbitraryValue]}],"grid-cols":[{"grid-cols":K()}],"col-start-end":[{col:Ee()}],"col-start":[{"col-start":ae()}],"col-end":[{"col-end":ae()}],"grid-rows":[{"grid-rows":K()}],"row-start-end":[{row:Ee()}],"row-start":[{"row-start":ae()}],"row-end":[{"row-end":ae()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ce()}],"auto-rows":[{"auto-rows":Ce()}],gap:[{gap:W()}],"gap-x":[{"gap-x":W()}],"gap-y":[{"gap-y":W()}],"justify-content":[{justify:[...ye(),"normal"]}],"justify-items":[{"justify-items":[...ee(),"normal"]}],"justify-self":[{"justify-self":["auto",...ee()]}],"align-content":[{content:["normal",...ye()]}],"align-items":[{items:[...ee(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ee(),{baseline:["","last"]}]}],"place-content":[{"place-content":ye()}],"place-items":[{"place-items":[...ee(),"baseline"]}],"place-self":[{"place-self":["auto",...ee()]}],p:[{p:W()}],px:[{px:W()}],py:[{py:W()}],ps:[{ps:W()}],pe:[{pe:W()}],pbs:[{pbs:W()}],pbe:[{pbe:W()}],pt:[{pt:W()}],pr:[{pr:W()}],pb:[{pb:W()}],pl:[{pl:W()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":W()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":W()}],"space-y-reverse":["space-y-reverse"],size:[{size:he()}],"inline-size":[{inline:["auto",...fe()]}],"min-inline-size":[{"min-inline":["auto",...fe()]}],"max-inline-size":[{"max-inline":["none",...fe()]}],"block-size":[{block:["auto",..._e()]}],"min-block-size":[{"min-block":["auto",..._e()]}],"max-block-size":[{"max-block":["none",..._e()]}],w:[{w:[m,"screen",...he()]}],"min-w":[{"min-w":[m,"screen","none",...he()]}],"max-w":[{"max-w":[m,"screen","none","prose",{screen:[d]},...he()]}],h:[{h:["screen","lh",...he()]}],"min-h":[{"min-h":["screen","lh","none",...he()]}],"max-h":[{"max-h":["screen","lh",...he()]}],"font-size":[{text:["base",l,isArbitraryVariableLength,isArbitraryLength]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,isArbitraryVariableWeight,isArbitraryWeight]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",isPercent,isArbitraryValue]}],"font-family":[{font:[isArbitraryVariableFamilyName,isArbitraryFamilyName,a]}],"font-features":[{"font-features":[isArbitraryValue]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[u,isArbitraryVariable,isArbitraryValue]}],"line-clamp":[{"line-clamp":[isNumber,"none",isArbitraryVariable,isArbitraryNumber]}],leading:[{leading:[c,...W()]}],"list-image":[{"list-image":["none",isArbitraryVariable,isArbitraryValue]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",isArbitraryVariable,isArbitraryValue]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:O()}],"text-color":[{text:O()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Oe(),"wavy"]}],"text-decoration-thickness":[{decoration:[isNumber,"from-font","auto",isArbitraryVariable,isArbitraryLength]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[isNumber,"auto",isArbitraryVariable,isArbitraryValue]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:W()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",isArbitraryVariable,isArbitraryValue]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",isArbitraryVariable,isArbitraryValue]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:q()}],"bg-repeat":[{bg:oe()}],"bg-size":[{bg:N()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},isInteger,isArbitraryVariable,isArbitraryValue],radial:["",isArbitraryVariable,isArbitraryValue],conic:[isInteger,isArbitraryVariable,isArbitraryValue]},isArbitraryVariableImage,isArbitraryImage]}],"bg-color":[{bg:O()}],"gradient-from-pos":[{from:be()}],"gradient-via-pos":[{via:be()}],"gradient-to-pos":[{to:be()}],"gradient-from":[{from:O()}],"gradient-via":[{via:O()}],"gradient-to":[{to:O()}],rounded:[{rounded:xe()}],"rounded-s":[{"rounded-s":xe()}],"rounded-e":[{"rounded-e":xe()}],"rounded-t":[{"rounded-t":xe()}],"rounded-r":[{"rounded-r":xe()}],"rounded-b":[{"rounded-b":xe()}],"rounded-l":[{"rounded-l":xe()}],"rounded-ss":[{"rounded-ss":xe()}],"rounded-se":[{"rounded-se":xe()}],"rounded-ee":[{"rounded-ee":xe()}],"rounded-es":[{"rounded-es":xe()}],"rounded-tl":[{"rounded-tl":xe()}],"rounded-tr":[{"rounded-tr":xe()}],"rounded-br":[{"rounded-br":xe()}],"rounded-bl":[{"rounded-bl":xe()}],"border-w":[{border:Se()}],"border-w-x":[{"border-x":Se()}],"border-w-y":[{"border-y":Se()}],"border-w-s":[{"border-s":Se()}],"border-w-e":[{"border-e":Se()}],"border-w-bs":[{"border-bs":Se()}],"border-w-be":[{"border-be":Se()}],"border-w-t":[{"border-t":Se()}],"border-w-r":[{"border-r":Se()}],"border-w-b":[{"border-b":Se()}],"border-w-l":[{"border-l":Se()}],"divide-x":[{"divide-x":Se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Oe(),"hidden","none"]}],"divide-style":[{divide:[...Oe(),"hidden","none"]}],"border-color":[{border:O()}],"border-color-x":[{"border-x":O()}],"border-color-y":[{"border-y":O()}],"border-color-s":[{"border-s":O()}],"border-color-e":[{"border-e":O()}],"border-color-bs":[{"border-bs":O()}],"border-color-be":[{"border-be":O()}],"border-color-t":[{"border-t":O()}],"border-color-r":[{"border-r":O()}],"border-color-b":[{"border-b":O()}],"border-color-l":[{"border-l":O()}],"divide-color":[{divide:O()}],"outline-style":[{outline:[...Oe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[isNumber,isArbitraryVariable,isArbitraryValue]}],"outline-w":[{outline:["",isNumber,isArbitraryVariableLength,isArbitraryLength]}],"outline-color":[{outline:O()}],shadow:[{shadow:["","none",x,isArbitraryVariableShadow,isArbitraryShadow]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":["none",b,isArbitraryVariableShadow,isArbitraryShadow]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:Se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[isNumber,isArbitraryLength]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":Se()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":["none",C,isArbitraryVariableShadow,isArbitraryShadow]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[isNumber,isArbitraryVariable,isArbitraryValue]}],"mix-blend":[{"mix-blend":[...qe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":qe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[isNumber]}],"mask-image-linear-from-pos":[{"mask-linear-from":je()}],"mask-image-linear-to-pos":[{"mask-linear-to":je()}],"mask-image-linear-from-color":[{"mask-linear-from":O()}],"mask-image-linear-to-color":[{"mask-linear-to":O()}],"mask-image-t-from-pos":[{"mask-t-from":je()}],"mask-image-t-to-pos":[{"mask-t-to":je()}],"mask-image-t-from-color":[{"mask-t-from":O()}],"mask-image-t-to-color":[{"mask-t-to":O()}],"mask-image-r-from-pos":[{"mask-r-from":je()}],"mask-image-r-to-pos":[{"mask-r-to":je()}],"mask-image-r-from-color":[{"mask-r-from":O()}],"mask-image-r-to-color":[{"mask-r-to":O()}],"mask-image-b-from-pos":[{"mask-b-from":je()}],"mask-image-b-to-pos":[{"mask-b-to":je()}],"mask-image-b-from-color":[{"mask-b-from":O()}],"mask-image-b-to-color":[{"mask-b-to":O()}],"mask-image-l-from-pos":[{"mask-l-from":je()}],"mask-image-l-to-pos":[{"mask-l-to":je()}],"mask-image-l-from-color":[{"mask-l-from":O()}],"mask-image-l-to-color":[{"mask-l-to":O()}],"mask-image-x-from-pos":[{"mask-x-from":je()}],"mask-image-x-to-pos":[{"mask-x-to":je()}],"mask-image-x-from-color":[{"mask-x-from":O()}],"mask-image-x-to-color":[{"mask-x-to":O()}],"mask-image-y-from-pos":[{"mask-y-from":je()}],"mask-image-y-to-pos":[{"mask-y-to":je()}],"mask-image-y-from-color":[{"mask-y-from":O()}],"mask-image-y-to-color":[{"mask-y-to":O()}],"mask-image-radial":[{"mask-radial":[isArbitraryVariable,isArbitraryValue]}],"mask-image-radial-from-pos":[{"mask-radial-from":je()}],"mask-image-radial-to-pos":[{"mask-radial-to":je()}],"mask-image-radial-from-color":[{"mask-radial-from":O()}],"mask-image-radial-to-color":[{"mask-radial-to":O()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":se()}],"mask-image-conic-pos":[{"mask-conic":[isNumber]}],"mask-image-conic-from-pos":[{"mask-conic-from":je()}],"mask-image-conic-to-pos":[{"mask-conic-to":je()}],"mask-image-conic-from-color":[{"mask-conic-from":O()}],"mask-image-conic-to-color":[{"mask-conic-to":O()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:q()}],"mask-repeat":[{mask:oe()}],"mask-size":[{mask:N()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",isArbitraryVariable,isArbitraryValue]}],filter:[{filter:["","none",isArbitraryVariable,isArbitraryValue]}],blur:[{blur:nt()}],brightness:[{brightness:[isNumber,isArbitraryVariable,isArbitraryValue]}],contrast:[{contrast:[isNumber,isArbitraryVariable,isArbitraryValue]}],"drop-shadow":[{"drop-shadow":["","none",R,isArbitraryVariableShadow,isArbitraryShadow]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:["",isNumber,isArbitraryVariable,isArbitraryValue]}],"hue-rotate":[{"hue-rotate":[isNumber,isArbitraryVariable,isArbitraryValue]}],invert:[{invert:["",isNumber,isArbitraryVariable,isArbitraryValue]}],saturate:[{saturate:[isNumber,isArbitraryVariable,isArbitraryValue]}],sepia:[{sepia:["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-filter":[{"backdrop-filter":["","none",isArbitraryVariable,isArbitraryValue]}],"backdrop-blur":[{"backdrop-blur":nt()}],"backdrop-brightness":[{"backdrop-brightness":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-contrast":[{"backdrop-contrast":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-grayscale":[{"backdrop-grayscale":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-invert":[{"backdrop-invert":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-opacity":[{"backdrop-opacity":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-saturate":[{"backdrop-saturate":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-sepia":[{"backdrop-sepia":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":W()}],"border-spacing-x":[{"border-spacing-x":W()}],"border-spacing-y":[{"border-spacing-y":W()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",isArbitraryVariable,isArbitraryValue]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[isNumber,"initial",isArbitraryVariable,isArbitraryValue]}],ease:[{ease:["linear","initial",D,isArbitraryVariable,isArbitraryValue]}],delay:[{delay:[isNumber,isArbitraryVariable,isArbitraryValue]}],animate:[{animate:["none",H,isArbitraryVariable,isArbitraryValue]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[B,isArbitraryVariable,isArbitraryValue]}],"perspective-origin":[{"perspective-origin":te()}],rotate:[{rotate:Qe()}],"rotate-x":[{"rotate-x":Qe()}],"rotate-y":[{"rotate-y":Qe()}],"rotate-z":[{"rotate-z":Qe()}],scale:[{scale:at()}],"scale-x":[{"scale-x":at()}],"scale-y":[{"scale-y":at()}],"scale-z":[{"scale-z":at()}],"scale-3d":["scale-3d"],skew:[{skew:kt()}],"skew-x":[{"skew-x":kt()}],"skew-y":[{"skew-y":kt()}],transform:[{transform:[isArbitraryVariable,isArbitraryValue,"","none","gpu","cpu"]}],"transform-origin":[{origin:te()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ut()}],"translate-x":[{"translate-x":ut()}],"translate-y":[{"translate-y":ut()}],"translate-z":[{"translate-z":ut()}],"translate-none":["translate-none"],accent:[{accent:O()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:O()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",isArbitraryVariable,isArbitraryValue]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":W()}],"scroll-mx":[{"scroll-mx":W()}],"scroll-my":[{"scroll-my":W()}],"scroll-ms":[{"scroll-ms":W()}],"scroll-me":[{"scroll-me":W()}],"scroll-mbs":[{"scroll-mbs":W()}],"scroll-mbe":[{"scroll-mbe":W()}],"scroll-mt":[{"scroll-mt":W()}],"scroll-mr":[{"scroll-mr":W()}],"scroll-mb":[{"scroll-mb":W()}],"scroll-ml":[{"scroll-ml":W()}],"scroll-p":[{"scroll-p":W()}],"scroll-px":[{"scroll-px":W()}],"scroll-py":[{"scroll-py":W()}],"scroll-ps":[{"scroll-ps":W()}],"scroll-pe":[{"scroll-pe":W()}],"scroll-pbs":[{"scroll-pbs":W()}],"scroll-pbe":[{"scroll-pbe":W()}],"scroll-pt":[{"scroll-pt":W()}],"scroll-pr":[{"scroll-pr":W()}],"scroll-pb":[{"scroll-pb":W()}],"scroll-pl":[{"scroll-pl":W()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",isArbitraryVariable,isArbitraryValue]}],fill:[{fill:["none",...O()]}],"stroke-w":[{stroke:[isNumber,isArbitraryVariableLength,isArbitraryLength,isArbitraryNumber]}],stroke:[{stroke:["none",...O()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},twMerge=createTailwindMerge(getDefaultConfig);function cn(...t){return twMerge(clsx(t))}const buttonVariants=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Button=reactExports.forwardRef(({className:t,variant:a,size:l,asChild:o=!1,...u},c)=>{const d=o?Slot:"button";return jsxRuntimeExports.jsx(d,{className:cn(buttonVariants({variant:a,size:l,className:t})),ref:c,...u})});Button.displayName="Button";/**
|
|
45
45
|
* @license lucide-react v0.576.0 - ISC
|
|
46
46
|
*
|
|
47
47
|
* This source code is licensed under the ISC license.
|
|
@@ -275,4 +275,4 @@ return `+str.trim()+`;
|
|
|
275
275
|
`))+1))}const d="#".repeat(u),m=l.enter("headingAtx"),p=l.enter("phrasing");c.move(d+" ");let g=l.containerPhrasing(t,{before:"# ",after:`
|
|
276
276
|
`,...c.current()});return/^[\t ]/.test(g)&&(g=encodeCharacterReference(g.charCodeAt(0))+g.slice(1)),g=g?d+" "+g:d,l.options.closeAtx&&(g+=" "+d),p(),m(),g}html.peek=htmlPeek;function html(t){return t.value||""}function htmlPeek(){return"<"}image.peek=imagePeek;function image(t,a,l,o){const u=checkQuote(l),c=u==='"'?"Quote":"Apostrophe",d=l.enter("image");let m=l.enter("label");const p=l.createTracker(o);let g=p.move("![");return g+=p.move(l.safe(t.alt,{before:g,after:"]",...p.current()})),g+=p.move("]("),m(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(m=l.enter("destinationLiteral"),g+=p.move("<"),g+=p.move(l.safe(t.url,{before:g,after:">",...p.current()})),g+=p.move(">")):(m=l.enter("destinationRaw"),g+=p.move(l.safe(t.url,{before:g,after:t.title?" ":")",...p.current()}))),m(),t.title&&(m=l.enter(`title${c}`),g+=p.move(" "+u),g+=p.move(l.safe(t.title,{before:g,after:u,...p.current()})),g+=p.move(u),m()),g+=p.move(")"),d(),g}function imagePeek(){return"!"}imageReference.peek=imageReferencePeek;function imageReference(t,a,l,o){const u=t.referenceType,c=l.enter("imageReference");let d=l.enter("label");const m=l.createTracker(o);let p=m.move("![");const g=l.safe(t.alt,{before:p,after:"]",...m.current()});p+=m.move(g+"]["),d();const x=l.stack;l.stack=[],d=l.enter("reference");const b=l.safe(l.associationId(t),{before:p,after:"]",...m.current()});return d(),l.stack=x,c(),u==="full"||!g||g!==b?p+=m.move(b+"]"):u==="shortcut"?p=p.slice(0,-1):p+=m.move("]"),p}function imageReferencePeek(){return"!"}inlineCode.peek=inlineCodePeek;function inlineCode(t,a,l){let o=t.value||"",u="`",c=-1;for(;new RegExp("(^|[^`])"+u+"([^`]|$)").test(o);)u+="`";for(/[^ \r\n]/.test(o)&&(/^[ \r\n]/.test(o)&&/[ \r\n]$/.test(o)||/^`|`$/.test(o))&&(o=" "+o+" ");++c<l.unsafe.length;){const d=l.unsafe[c],m=l.compilePattern(d);let p;if(d.atBreak)for(;p=m.exec(o);){let g=p.index;o.charCodeAt(g)===10&&o.charCodeAt(g-1)===13&&g--,o=o.slice(0,g)+" "+o.slice(p.index+1)}}return u+o+u}function inlineCodePeek(){return"`"}function formatLinkAsAutolink(t,a){const l=toString$1(t);return!!(!a.options.resourceLink&&t.url&&!t.title&&t.children&&t.children.length===1&&t.children[0].type==="text"&&(l===t.url||"mailto:"+l===t.url)&&/^[a-z][a-z+.-]+:/i.test(t.url)&&!/[\0- <>\u007F]/.test(t.url))}link.peek=linkPeek;function link(t,a,l,o){const u=checkQuote(l),c=u==='"'?"Quote":"Apostrophe",d=l.createTracker(o);let m,p;if(formatLinkAsAutolink(t,l)){const x=l.stack;l.stack=[],m=l.enter("autolink");let b=d.move("<");return b+=d.move(l.containerPhrasing(t,{before:b,after:">",...d.current()})),b+=d.move(">"),m(),l.stack=x,b}m=l.enter("link"),p=l.enter("label");let g=d.move("[");return g+=d.move(l.containerPhrasing(t,{before:g,after:"](",...d.current()})),g+=d.move("]("),p(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(p=l.enter("destinationLiteral"),g+=d.move("<"),g+=d.move(l.safe(t.url,{before:g,after:">",...d.current()})),g+=d.move(">")):(p=l.enter("destinationRaw"),g+=d.move(l.safe(t.url,{before:g,after:t.title?" ":")",...d.current()}))),p(),t.title&&(p=l.enter(`title${c}`),g+=d.move(" "+u),g+=d.move(l.safe(t.title,{before:g,after:u,...d.current()})),g+=d.move(u),p()),g+=d.move(")"),m(),g}function linkPeek(t,a,l){return formatLinkAsAutolink(t,l)?"<":"["}linkReference.peek=linkReferencePeek;function linkReference(t,a,l,o){const u=t.referenceType,c=l.enter("linkReference");let d=l.enter("label");const m=l.createTracker(o);let p=m.move("[");const g=l.containerPhrasing(t,{before:p,after:"]",...m.current()});p+=m.move(g+"]["),d();const x=l.stack;l.stack=[],d=l.enter("reference");const b=l.safe(l.associationId(t),{before:p,after:"]",...m.current()});return d(),l.stack=x,c(),u==="full"||!g||g!==b?p+=m.move(b+"]"):u==="shortcut"?p=p.slice(0,-1):p+=m.move("]"),p}function linkReferencePeek(){return"["}function checkBullet(t){const a=t.options.bullet||"*";if(a!=="*"&&a!=="+"&&a!=="-")throw new Error("Cannot serialize items with `"+a+"` for `options.bullet`, expected `*`, `+`, or `-`");return a}function checkBulletOther(t){const a=checkBullet(t),l=t.options.bulletOther;if(!l)return a==="*"?"-":"*";if(l!=="*"&&l!=="+"&&l!=="-")throw new Error("Cannot serialize items with `"+l+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(l===a)throw new Error("Expected `bullet` (`"+a+"`) and `bulletOther` (`"+l+"`) to be different");return l}function checkBulletOrdered(t){const a=t.options.bulletOrdered||".";if(a!=="."&&a!==")")throw new Error("Cannot serialize items with `"+a+"` for `options.bulletOrdered`, expected `.` or `)`");return a}function checkRule(t){const a=t.options.rule||"*";if(a!=="*"&&a!=="-"&&a!=="_")throw new Error("Cannot serialize rules with `"+a+"` for `options.rule`, expected `*`, `-`, or `_`");return a}function list(t,a,l,o){const u=l.enter("list"),c=l.bulletCurrent;let d=t.ordered?checkBulletOrdered(l):checkBullet(l);const m=t.ordered?d==="."?")":".":checkBulletOther(l);let p=a&&l.bulletLastUsed?d===l.bulletLastUsed:!1;if(!t.ordered){const x=t.children?t.children[0]:void 0;if((d==="*"||d==="-")&&x&&(!x.children||!x.children[0])&&l.stack[l.stack.length-1]==="list"&&l.stack[l.stack.length-2]==="listItem"&&l.stack[l.stack.length-3]==="list"&&l.stack[l.stack.length-4]==="listItem"&&l.indexStack[l.indexStack.length-1]===0&&l.indexStack[l.indexStack.length-2]===0&&l.indexStack[l.indexStack.length-3]===0&&(p=!0),checkRule(l)===d&&x){let b=-1;for(;++b<t.children.length;){const C=t.children[b];if(C&&C.type==="listItem"&&C.children&&C.children[0]&&C.children[0].type==="thematicBreak"){p=!0;break}}}}p&&(d=m),l.bulletCurrent=d;const g=l.containerFlow(t,o);return l.bulletLastUsed=d,l.bulletCurrent=c,u(),g}function checkListItemIndent(t){const a=t.options.listItemIndent||"one";if(a!=="tab"&&a!=="one"&&a!=="mixed")throw new Error("Cannot serialize items with `"+a+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return a}function listItem(t,a,l,o){const u=checkListItemIndent(l);let c=l.bulletCurrent||checkBullet(l);a&&a.type==="list"&&a.ordered&&(c=(typeof a.start=="number"&&a.start>-1?a.start:1)+(l.options.incrementListMarker===!1?0:a.children.indexOf(t))+c);let d=c.length+1;(u==="tab"||u==="mixed"&&(a&&a.type==="list"&&a.spread||t.spread))&&(d=Math.ceil(d/4)*4);const m=l.createTracker(o);m.move(c+" ".repeat(d-c.length)),m.shift(d);const p=l.enter("listItem"),g=l.indentLines(l.containerFlow(t,m.current()),x);return p(),g;function x(b,C,R){return C?(R?"":" ".repeat(d))+b:(R?c:c+" ".repeat(d-c.length))+b}}function paragraph(t,a,l,o){const u=l.enter("paragraph"),c=l.enter("phrasing"),d=l.containerPhrasing(t,o);return c(),u(),d}const phrasing=convert(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function root(t,a,l,o){return(t.children.some(function(d){return phrasing(d)})?l.containerPhrasing:l.containerFlow).call(l,t,o)}function checkStrong(t){const a=t.options.strong||"*";if(a!=="*"&&a!=="_")throw new Error("Cannot serialize strong with `"+a+"` for `options.strong`, expected `*`, or `_`");return a}strong.peek=strongPeek;function strong(t,a,l,o){const u=checkStrong(l),c=l.enter("strong"),d=l.createTracker(o),m=d.move(u+u);let p=d.move(l.containerPhrasing(t,{after:u,before:m,...d.current()}));const g=p.charCodeAt(0),x=encodeInfo(o.before.charCodeAt(o.before.length-1),g,u);x.inside&&(p=encodeCharacterReference(g)+p.slice(1));const b=p.charCodeAt(p.length-1),C=encodeInfo(o.after.charCodeAt(0),b,u);C.inside&&(p=p.slice(0,-1)+encodeCharacterReference(b));const R=d.move(u+u);return c(),l.attentionEncodeSurroundingInfo={after:C.outside,before:x.outside},m+p+R}function strongPeek(t,a,l){return l.options.strong||"*"}function text$1(t,a,l,o){return l.safe(t.value,o)}function checkRuleRepetition(t){const a=t.options.ruleRepetition||3;if(a<3)throw new Error("Cannot serialize rules with repetition `"+a+"` for `options.ruleRepetition`, expected `3` or more");return a}function thematicBreak(t,a,l){const o=(checkRule(l)+(l.options.ruleSpaces?" ":"")).repeat(checkRuleRepetition(l));return l.options.ruleSpaces?o.slice(0,-1):o}const handle={blockquote,break:hardBreak,code:code$1,definition,emphasis,hardBreak,heading,html,image,imageReference,inlineCode,link,linkReference,list,listItem,paragraph,root,strong,text:text$1,thematicBreak};function gfmTableFromMarkdown(){return{enter:{table:enterTable,tableData:enterCell,tableHeader:enterCell,tableRow:enterRow},exit:{codeText:exitCodeText,table:exitTable,tableData:exit,tableHeader:exit,tableRow:exit}}}function enterTable(t){const a=t._align;this.enter({type:"table",align:a.map(function(l){return l==="none"?null:l}),children:[]},t),this.data.inTable=!0}function exitTable(t){this.exit(t),this.data.inTable=void 0}function enterRow(t){this.enter({type:"tableRow",children:[]},t)}function exit(t){this.exit(t)}function enterCell(t){this.enter({type:"tableCell",children:[]},t)}function exitCodeText(t){let a=this.resume();this.data.inTable&&(a=a.replace(/\\([\\|])/g,replace));const l=this.stack[this.stack.length-1];l.type,l.value=a,this.exit(t)}function replace(t,a){return a==="|"?a:t}function gfmTableToMarkdown(t){const a=t||{},l=a.tableCellPadding,o=a.tablePipeAlign,u=a.stringLength,c=l?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
277
277
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:C,table:d,tableCell:p,tableRow:m}};function d(R,_,B,L){return g(x(R,B,L),R.align)}function m(R,_,B,L){const D=b(R,B,L),H=g([D]);return H.slice(0,H.indexOf(`
|
|
278
|
-
`))}function p(R,_,B,L){const D=B.enter("tableCell"),H=B.enter("phrasing"),V=B.containerPhrasing(R,{...L,before:c,after:c});return H(),D(),V}function g(R,_){return markdownTable(R,{align:_,alignDelimiters:o,padding:l,stringLength:u})}function x(R,_,B){const L=R.children;let D=-1;const H=[],V=_.enter("table");for(;++D<L.length;)H[D]=b(L[D],_,B);return V(),H}function b(R,_,B){const L=R.children;let D=-1;const H=[],V=_.enter("tableRow");for(;++D<L.length;)H[D]=p(L[D],R,_,B);return V(),H}function C(R,_,B){let L=handle.inlineCode(R,_,B);return B.stack.includes("tableCell")&&(L=L.replace(/\|/g,"\\$&")),L}}function gfmTaskListItemFromMarkdown(){return{exit:{taskListCheckValueChecked:exitCheck,taskListCheckValueUnchecked:exitCheck,paragraph:exitParagraphWithTaskListItem}}}function gfmTaskListItemToMarkdown(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:listItemWithTaskListItem}}}function exitCheck(t){const a=this.stack[this.stack.length-2];a.type,a.checked=t.type==="taskListCheckValueChecked"}function exitParagraphWithTaskListItem(t){const a=this.stack[this.stack.length-2];if(a&&a.type==="listItem"&&typeof a.checked=="boolean"){const l=this.stack[this.stack.length-1];l.type;const o=l.children[0];if(o&&o.type==="text"){const u=a.children;let c=-1,d;for(;++c<u.length;){const m=u[c];if(m.type==="paragraph"){d=m;break}}d===l&&(o.value=o.value.slice(1),o.value.length===0?l.children.shift():l.position&&o.position&&typeof o.position.start.offset=="number"&&(o.position.start.column++,o.position.start.offset++,l.position.start=Object.assign({},o.position.start)))}}this.exit(t)}function listItemWithTaskListItem(t,a,l,o){const u=t.children[0],c=typeof t.checked=="boolean"&&u&&u.type==="paragraph",d="["+(t.checked?"x":" ")+"] ",m=l.createTracker(o);c&&m.move(d);let p=handle.listItem(t,a,l,{...o,...m.current()});return c&&(p=p.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,g)),p;function g(x){return x+d}}function gfmFromMarkdown(){return[gfmAutolinkLiteralFromMarkdown(),gfmFootnoteFromMarkdown(),gfmStrikethroughFromMarkdown(),gfmTableFromMarkdown(),gfmTaskListItemFromMarkdown()]}function gfmToMarkdown(t){return{extensions:[gfmAutolinkLiteralToMarkdown(),gfmFootnoteToMarkdown(t),gfmStrikethroughToMarkdown(),gfmTableToMarkdown(t),gfmTaskListItemToMarkdown()]}}const wwwPrefix={tokenize:tokenizeWwwPrefix,partial:!0},domain={tokenize:tokenizeDomain,partial:!0},path={tokenize:tokenizePath,partial:!0},trail={tokenize:tokenizeTrail,partial:!0},emailDomainDotTrail={tokenize:tokenizeEmailDomainDotTrail,partial:!0},wwwAutolink={name:"wwwAutolink",tokenize:tokenizeWwwAutolink,previous:previousWww},protocolAutolink={name:"protocolAutolink",tokenize:tokenizeProtocolAutolink,previous:previousProtocol},emailAutolink={name:"emailAutolink",tokenize:tokenizeEmailAutolink,previous:previousEmail},text={};function gfmAutolinkLiteral(){return{text}}let code=48;for(;code<123;)text[code]=emailAutolink,code++,code===58?code=65:code===91&&(code=97);text[43]=emailAutolink;text[45]=emailAutolink;text[46]=emailAutolink;text[95]=emailAutolink;text[72]=[emailAutolink,protocolAutolink];text[104]=[emailAutolink,protocolAutolink];text[87]=[emailAutolink,wwwAutolink];text[119]=[emailAutolink,wwwAutolink];function tokenizeEmailAutolink(t,a,l){const o=this;let u,c;return d;function d(b){return!gfmAtext(b)||!previousEmail.call(o,o.previous)||previousUnbalanced(o.events)?l(b):(t.enter("literalAutolink"),t.enter("literalAutolinkEmail"),m(b))}function m(b){return gfmAtext(b)?(t.consume(b),m):b===64?(t.consume(b),p):l(b)}function p(b){return b===46?t.check(emailDomainDotTrail,x,g)(b):b===45||b===95||asciiAlphanumeric(b)?(c=!0,t.consume(b),p):x(b)}function g(b){return t.consume(b),u=!0,p}function x(b){return c&&u&&asciiAlpha(o.previous)?(t.exit("literalAutolinkEmail"),t.exit("literalAutolink"),a(b)):l(b)}}function tokenizeWwwAutolink(t,a,l){const o=this;return u;function u(d){return d!==87&&d!==119||!previousWww.call(o,o.previous)||previousUnbalanced(o.events)?l(d):(t.enter("literalAutolink"),t.enter("literalAutolinkWww"),t.check(wwwPrefix,t.attempt(domain,t.attempt(path,c),l),l)(d))}function c(d){return t.exit("literalAutolinkWww"),t.exit("literalAutolink"),a(d)}}function tokenizeProtocolAutolink(t,a,l){const o=this;let u="",c=!1;return d;function d(b){return(b===72||b===104)&&previousProtocol.call(o,o.previous)&&!previousUnbalanced(o.events)?(t.enter("literalAutolink"),t.enter("literalAutolinkHttp"),u+=String.fromCodePoint(b),t.consume(b),m):l(b)}function m(b){if(asciiAlpha(b)&&u.length<5)return u+=String.fromCodePoint(b),t.consume(b),m;if(b===58){const C=u.toLowerCase();if(C==="http"||C==="https")return t.consume(b),p}return l(b)}function p(b){return b===47?(t.consume(b),c?g:(c=!0,p)):l(b)}function g(b){return b===null||asciiControl(b)||markdownLineEndingOrSpace(b)||unicodeWhitespace(b)||unicodePunctuation(b)?l(b):t.attempt(domain,t.attempt(path,x),l)(b)}function x(b){return t.exit("literalAutolinkHttp"),t.exit("literalAutolink"),a(b)}}function tokenizeWwwPrefix(t,a,l){let o=0;return u;function u(d){return(d===87||d===119)&&o<3?(o++,t.consume(d),u):d===46&&o===3?(t.consume(d),c):l(d)}function c(d){return d===null?l(d):a(d)}}function tokenizeDomain(t,a,l){let o,u,c;return d;function d(g){return g===46||g===95?t.check(trail,p,m)(g):g===null||markdownLineEndingOrSpace(g)||unicodeWhitespace(g)||g!==45&&unicodePunctuation(g)?p(g):(c=!0,t.consume(g),d)}function m(g){return g===95?o=!0:(u=o,o=void 0),t.consume(g),d}function p(g){return u||o||!c?l(g):a(g)}}function tokenizePath(t,a){let l=0,o=0;return u;function u(d){return d===40?(l++,t.consume(d),u):d===41&&o<l?c(d):d===33||d===34||d===38||d===39||d===41||d===42||d===44||d===46||d===58||d===59||d===60||d===63||d===93||d===95||d===126?t.check(trail,a,c)(d):d===null||markdownLineEndingOrSpace(d)||unicodeWhitespace(d)?a(d):(t.consume(d),u)}function c(d){return d===41&&o++,t.consume(d),u}}function tokenizeTrail(t,a,l){return o;function o(m){return m===33||m===34||m===39||m===41||m===42||m===44||m===46||m===58||m===59||m===63||m===95||m===126?(t.consume(m),o):m===38?(t.consume(m),c):m===93?(t.consume(m),u):m===60||m===null||markdownLineEndingOrSpace(m)||unicodeWhitespace(m)?a(m):l(m)}function u(m){return m===null||m===40||m===91||markdownLineEndingOrSpace(m)||unicodeWhitespace(m)?a(m):o(m)}function c(m){return asciiAlpha(m)?d(m):l(m)}function d(m){return m===59?(t.consume(m),o):asciiAlpha(m)?(t.consume(m),d):l(m)}}function tokenizeEmailDomainDotTrail(t,a,l){return o;function o(c){return t.consume(c),u}function u(c){return asciiAlphanumeric(c)?l(c):a(c)}}function previousWww(t){return t===null||t===40||t===42||t===95||t===91||t===93||t===126||markdownLineEndingOrSpace(t)}function previousProtocol(t){return!asciiAlpha(t)}function previousEmail(t){return!(t===47||gfmAtext(t))}function gfmAtext(t){return t===43||t===45||t===46||t===95||asciiAlphanumeric(t)}function previousUnbalanced(t){let a=t.length,l=!1;for(;a--;){const o=t[a][1];if((o.type==="labelLink"||o.type==="labelImage")&&!o._balanced){l=!0;break}if(o._gfmAutolinkLiteralWalkedInto){l=!1;break}}return t.length>0&&!l&&(t[t.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),l}const indent={tokenize:tokenizeIndent,partial:!0};function gfmFootnote(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:tokenizeDefinitionStart,continuation:{tokenize:tokenizeDefinitionContinuation},exit:gfmFootnoteDefinitionEnd}},text:{91:{name:"gfmFootnoteCall",tokenize:tokenizeGfmFootnoteCall},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:tokenizePotentialGfmFootnoteCall,resolveTo:resolveToPotentialGfmFootnoteCall}}}}function tokenizePotentialGfmFootnoteCall(t,a,l){const o=this;let u=o.events.length;const c=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let d;for(;u--;){const p=o.events[u][1];if(p.type==="labelImage"){d=p;break}if(p.type==="gfmFootnoteCall"||p.type==="labelLink"||p.type==="label"||p.type==="image"||p.type==="link")break}return m;function m(p){if(!d||!d._balanced)return l(p);const g=normalizeIdentifier(o.sliceSerialize({start:d.end,end:o.now()}));return g.codePointAt(0)!==94||!c.includes(g.slice(1))?l(p):(t.enter("gfmFootnoteCallLabelMarker"),t.consume(p),t.exit("gfmFootnoteCallLabelMarker"),a(p))}}function resolveToPotentialGfmFootnoteCall(t,a){let l=t.length;for(;l--;)if(t[l][1].type==="labelImage"&&t[l][0]==="enter"){t[l][1];break}t[l+1][1].type="data",t[l+3][1].type="gfmFootnoteCallLabelMarker";const o={type:"gfmFootnoteCall",start:Object.assign({},t[l+3][1].start),end:Object.assign({},t[t.length-1][1].end)},u={type:"gfmFootnoteCallMarker",start:Object.assign({},t[l+3][1].end),end:Object.assign({},t[l+3][1].end)};u.end.column++,u.end.offset++,u.end._bufferIndex++;const c={type:"gfmFootnoteCallString",start:Object.assign({},u.end),end:Object.assign({},t[t.length-1][1].start)},d={type:"chunkString",contentType:"string",start:Object.assign({},c.start),end:Object.assign({},c.end)},m=[t[l+1],t[l+2],["enter",o,a],t[l+3],t[l+4],["enter",u,a],["exit",u,a],["enter",c,a],["enter",d,a],["exit",d,a],["exit",c,a],t[t.length-2],t[t.length-1],["exit",o,a]];return t.splice(l,t.length-l+1,...m),t}function tokenizeGfmFootnoteCall(t,a,l){const o=this,u=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let c=0,d;return m;function m(b){return t.enter("gfmFootnoteCall"),t.enter("gfmFootnoteCallLabelMarker"),t.consume(b),t.exit("gfmFootnoteCallLabelMarker"),p}function p(b){return b!==94?l(b):(t.enter("gfmFootnoteCallMarker"),t.consume(b),t.exit("gfmFootnoteCallMarker"),t.enter("gfmFootnoteCallString"),t.enter("chunkString").contentType="string",g)}function g(b){if(c>999||b===93&&!d||b===null||b===91||markdownLineEndingOrSpace(b))return l(b);if(b===93){t.exit("chunkString");const C=t.exit("gfmFootnoteCallString");return u.includes(normalizeIdentifier(o.sliceSerialize(C)))?(t.enter("gfmFootnoteCallLabelMarker"),t.consume(b),t.exit("gfmFootnoteCallLabelMarker"),t.exit("gfmFootnoteCall"),a):l(b)}return markdownLineEndingOrSpace(b)||(d=!0),c++,t.consume(b),b===92?x:g}function x(b){return b===91||b===92||b===93?(t.consume(b),c++,g):g(b)}}function tokenizeDefinitionStart(t,a,l){const o=this,u=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let c,d=0,m;return p;function p(_){return t.enter("gfmFootnoteDefinition")._container=!0,t.enter("gfmFootnoteDefinitionLabel"),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(_),t.exit("gfmFootnoteDefinitionLabelMarker"),g}function g(_){return _===94?(t.enter("gfmFootnoteDefinitionMarker"),t.consume(_),t.exit("gfmFootnoteDefinitionMarker"),t.enter("gfmFootnoteDefinitionLabelString"),t.enter("chunkString").contentType="string",x):l(_)}function x(_){if(d>999||_===93&&!m||_===null||_===91||markdownLineEndingOrSpace(_))return l(_);if(_===93){t.exit("chunkString");const B=t.exit("gfmFootnoteDefinitionLabelString");return c=normalizeIdentifier(o.sliceSerialize(B)),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(_),t.exit("gfmFootnoteDefinitionLabelMarker"),t.exit("gfmFootnoteDefinitionLabel"),C}return markdownLineEndingOrSpace(_)||(m=!0),d++,t.consume(_),_===92?b:x}function b(_){return _===91||_===92||_===93?(t.consume(_),d++,x):x(_)}function C(_){return _===58?(t.enter("definitionMarker"),t.consume(_),t.exit("definitionMarker"),u.includes(c)||u.push(c),factorySpace(t,R,"gfmFootnoteDefinitionWhitespace")):l(_)}function R(_){return a(_)}}function tokenizeDefinitionContinuation(t,a,l){return t.check(blankLine,a,t.attempt(indent,a,l))}function gfmFootnoteDefinitionEnd(t){t.exit("gfmFootnoteDefinition")}function tokenizeIndent(t,a,l){const o=this;return factorySpace(t,u,"gfmFootnoteDefinitionIndent",5);function u(c){const d=o.events[o.events.length-1];return d&&d[1].type==="gfmFootnoteDefinitionIndent"&&d[2].sliceSerialize(d[1],!0).length===4?a(c):l(c)}}function gfmStrikethrough(t){let l=(t||{}).singleTilde;const o={name:"strikethrough",tokenize:c,resolveAll:u};return l==null&&(l=!0),{text:{126:o},insideSpan:{null:[o]},attentionMarkers:{null:[126]}};function u(d,m){let p=-1;for(;++p<d.length;)if(d[p][0]==="enter"&&d[p][1].type==="strikethroughSequenceTemporary"&&d[p][1]._close){let g=p;for(;g--;)if(d[g][0]==="exit"&&d[g][1].type==="strikethroughSequenceTemporary"&&d[g][1]._open&&d[p][1].end.offset-d[p][1].start.offset===d[g][1].end.offset-d[g][1].start.offset){d[p][1].type="strikethroughSequence",d[g][1].type="strikethroughSequence";const x={type:"strikethrough",start:Object.assign({},d[g][1].start),end:Object.assign({},d[p][1].end)},b={type:"strikethroughText",start:Object.assign({},d[g][1].end),end:Object.assign({},d[p][1].start)},C=[["enter",x,m],["enter",d[g][1],m],["exit",d[g][1],m],["enter",b,m]],R=m.parser.constructs.insideSpan.null;R&&splice(C,C.length,0,resolveAll(R,d.slice(g+1,p),m)),splice(C,C.length,0,[["exit",b,m],["enter",d[p][1],m],["exit",d[p][1],m],["exit",x,m]]),splice(d,g-1,p-g+3,C),p=g+C.length-2;break}}for(p=-1;++p<d.length;)d[p][1].type==="strikethroughSequenceTemporary"&&(d[p][1].type="data");return d}function c(d,m,p){const g=this.previous,x=this.events;let b=0;return C;function C(_){return g===126&&x[x.length-1][1].type!=="characterEscape"?p(_):(d.enter("strikethroughSequenceTemporary"),R(_))}function R(_){const B=classifyCharacter(g);if(_===126)return b>1?p(_):(d.consume(_),b++,R);if(b<2&&!l)return p(_);const L=d.exit("strikethroughSequenceTemporary"),D=classifyCharacter(_);return L._open=!D||D===2&&!!B,L._close=!B||B===2&&!!D,m(_)}}}class EditMap{constructor(){this.map=[]}add(a,l,o){addImplementation(this,a,l,o)}consume(a){if(this.map.sort(function(c,d){return c[0]-d[0]}),this.map.length===0)return;let l=this.map.length;const o=[];for(;l>0;)l-=1,o.push(a.slice(this.map[l][0]+this.map[l][1]),this.map[l][2]),a.length=this.map[l][0];o.push(a.slice()),a.length=0;let u=o.pop();for(;u;){for(const c of u)a.push(c);u=o.pop()}this.map.length=0}}function addImplementation(t,a,l,o){let u=0;if(!(l===0&&o.length===0)){for(;u<t.map.length;){if(t.map[u][0]===a){t.map[u][1]+=l,t.map[u][2].push(...o);return}u+=1}t.map.push([a,l,o])}}function gfmTableAlign(t,a){let l=!1;const o=[];for(;a<t.length;){const u=t[a];if(l){if(u[0]==="enter")u[1].type==="tableContent"&&o.push(t[a+1][1].type==="tableDelimiterMarker"?"left":"none");else if(u[1].type==="tableContent"){if(t[a-1][1].type==="tableDelimiterMarker"){const c=o.length-1;o[c]=o[c]==="left"?"center":"right"}}else if(u[1].type==="tableDelimiterRow")break}else u[0]==="enter"&&u[1].type==="tableDelimiterRow"&&(l=!0);a+=1}return o}function gfmTable(){return{flow:{null:{name:"table",tokenize:tokenizeTable,resolveAll:resolveTable}}}}function tokenizeTable(t,a,l){const o=this;let u=0,c=0,d;return m;function m(K){let Ee=o.events.length-1;for(;Ee>-1;){const ye=o.events[Ee][1].type;if(ye==="lineEnding"||ye==="linePrefix")Ee--;else break}const ae=Ee>-1?o.events[Ee][1].type:null,Ce=ae==="tableHead"||ae==="tableRow"?Y:p;return Ce===Y&&o.parser.lazy[o.now().line]?l(K):Ce(K)}function p(K){return t.enter("tableHead"),t.enter("tableRow"),g(K)}function g(K){return K===124||(d=!0,c+=1),x(K)}function x(K){return K===null?l(K):markdownLineEnding(K)?c>1?(c=0,o.interrupt=!0,t.exit("tableRow"),t.enter("lineEnding"),t.consume(K),t.exit("lineEnding"),R):l(K):markdownSpace(K)?factorySpace(t,x,"whitespace")(K):(c+=1,d&&(d=!1,u+=1),K===124?(t.enter("tableCellDivider"),t.consume(K),t.exit("tableCellDivider"),d=!0,x):(t.enter("data"),b(K)))}function b(K){return K===null||K===124||markdownLineEndingOrSpace(K)?(t.exit("data"),x(K)):(t.consume(K),K===92?C:b)}function C(K){return K===92||K===124?(t.consume(K),b):b(K)}function R(K){return o.interrupt=!1,o.parser.lazy[o.now().line]?l(K):(t.enter("tableDelimiterRow"),d=!1,markdownSpace(K)?factorySpace(t,_,"linePrefix",o.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(K):_(K))}function _(K){return K===45||K===58?L(K):K===124?(d=!0,t.enter("tableCellDivider"),t.consume(K),t.exit("tableCellDivider"),B):te(K)}function B(K){return markdownSpace(K)?factorySpace(t,L,"whitespace")(K):L(K)}function L(K){return K===58?(c+=1,d=!0,t.enter("tableDelimiterMarker"),t.consume(K),t.exit("tableDelimiterMarker"),D):K===45?(c+=1,D(K)):K===null||markdownLineEnding(K)?se(K):te(K)}function D(K){return K===45?(t.enter("tableDelimiterFiller"),H(K)):te(K)}function H(K){return K===45?(t.consume(K),H):K===58?(d=!0,t.exit("tableDelimiterFiller"),t.enter("tableDelimiterMarker"),t.consume(K),t.exit("tableDelimiterMarker"),V):(t.exit("tableDelimiterFiller"),V(K))}function V(K){return markdownSpace(K)?factorySpace(t,se,"whitespace")(K):se(K)}function se(K){return K===124?_(K):K===null||markdownLineEnding(K)?!d||u!==c?te(K):(t.exit("tableDelimiterRow"),t.exit("tableHead"),a(K)):te(K)}function te(K){return l(K)}function Y(K){return t.enter("tableRow"),ge(K)}function ge(K){return K===124?(t.enter("tableCellDivider"),t.consume(K),t.exit("tableCellDivider"),ge):K===null||markdownLineEnding(K)?(t.exit("tableRow"),a(K)):markdownSpace(K)?factorySpace(t,ge,"whitespace")(K):(t.enter("data"),W(K))}function W(K){return K===null||K===124||markdownLineEndingOrSpace(K)?(t.exit("data"),ge(K)):(t.consume(K),K===92?ve:W)}function ve(K){return K===92||K===124?(t.consume(K),W):W(K)}}function resolveTable(t,a){let l=-1,o=!0,u=0,c=[0,0,0,0],d=[0,0,0,0],m=!1,p=0,g,x,b;const C=new EditMap;for(;++l<t.length;){const R=t[l],_=R[1];R[0]==="enter"?_.type==="tableHead"?(m=!1,p!==0&&(flushTableEnd(C,a,p,g,x),x=void 0,p=0),g={type:"table",start:Object.assign({},_.start),end:Object.assign({},_.end)},C.add(l,0,[["enter",g,a]])):_.type==="tableRow"||_.type==="tableDelimiterRow"?(o=!0,b=void 0,c=[0,0,0,0],d=[0,l+1,0,0],m&&(m=!1,x={type:"tableBody",start:Object.assign({},_.start),end:Object.assign({},_.end)},C.add(l,0,[["enter",x,a]])),u=_.type==="tableDelimiterRow"?2:x?3:1):u&&(_.type==="data"||_.type==="tableDelimiterMarker"||_.type==="tableDelimiterFiller")?(o=!1,d[2]===0&&(c[1]!==0&&(d[0]=d[1],b=flushCell(C,a,c,u,void 0,b),c=[0,0,0,0]),d[2]=l)):_.type==="tableCellDivider"&&(o?o=!1:(c[1]!==0&&(d[0]=d[1],b=flushCell(C,a,c,u,void 0,b)),c=d,d=[c[1],l,0,0])):_.type==="tableHead"?(m=!0,p=l):_.type==="tableRow"||_.type==="tableDelimiterRow"?(p=l,c[1]!==0?(d[0]=d[1],b=flushCell(C,a,c,u,l,b)):d[1]!==0&&(b=flushCell(C,a,d,u,l,b)),u=0):u&&(_.type==="data"||_.type==="tableDelimiterMarker"||_.type==="tableDelimiterFiller")&&(d[3]=l)}for(p!==0&&flushTableEnd(C,a,p,g,x),C.consume(a.events),l=-1;++l<a.events.length;){const R=a.events[l];R[0]==="enter"&&R[1].type==="table"&&(R[1]._align=gfmTableAlign(a.events,l))}return t}function flushCell(t,a,l,o,u,c){const d=o===1?"tableHeader":o===2?"tableDelimiter":"tableData",m="tableContent";l[0]!==0&&(c.end=Object.assign({},getPoint(a.events,l[0])),t.add(l[0],0,[["exit",c,a]]));const p=getPoint(a.events,l[1]);if(c={type:d,start:Object.assign({},p),end:Object.assign({},p)},t.add(l[1],0,[["enter",c,a]]),l[2]!==0){const g=getPoint(a.events,l[2]),x=getPoint(a.events,l[3]),b={type:m,start:Object.assign({},g),end:Object.assign({},x)};if(t.add(l[2],0,[["enter",b,a]]),o!==2){const C=a.events[l[2]],R=a.events[l[3]];if(C[1].end=Object.assign({},R[1].end),C[1].type="chunkText",C[1].contentType="text",l[3]>l[2]+1){const _=l[2]+1,B=l[3]-l[2]-1;t.add(_,B,[])}}t.add(l[3]+1,0,[["exit",b,a]])}return u!==void 0&&(c.end=Object.assign({},getPoint(a.events,u)),t.add(u,0,[["exit",c,a]]),c=void 0),c}function flushTableEnd(t,a,l,o,u){const c=[],d=getPoint(a.events,l);u&&(u.end=Object.assign({},d),c.push(["exit",u,a])),o.end=Object.assign({},d),c.push(["exit",o,a]),t.add(l+1,0,c)}function getPoint(t,a){const l=t[a],o=l[0]==="enter"?"start":"end";return l[1][o]}const tasklistCheck={name:"tasklistCheck",tokenize:tokenizeTasklistCheck};function gfmTaskListItem(){return{text:{91:tasklistCheck}}}function tokenizeTasklistCheck(t,a,l){const o=this;return u;function u(p){return o.previous!==null||!o._gfmTasklistFirstContentOfListItem?l(p):(t.enter("taskListCheck"),t.enter("taskListCheckMarker"),t.consume(p),t.exit("taskListCheckMarker"),c)}function c(p){return markdownLineEndingOrSpace(p)?(t.enter("taskListCheckValueUnchecked"),t.consume(p),t.exit("taskListCheckValueUnchecked"),d):p===88||p===120?(t.enter("taskListCheckValueChecked"),t.consume(p),t.exit("taskListCheckValueChecked"),d):l(p)}function d(p){return p===93?(t.enter("taskListCheckMarker"),t.consume(p),t.exit("taskListCheckMarker"),t.exit("taskListCheck"),m):l(p)}function m(p){return markdownLineEnding(p)?a(p):markdownSpace(p)?t.check({tokenize:spaceThenNonSpace},a,l)(p):l(p)}}function spaceThenNonSpace(t,a,l){return factorySpace(t,o,"whitespace");function o(u){return u===null?l(u):a(u)}}function gfm(t){return combineExtensions([gfmAutolinkLiteral(),gfmFootnote(),gfmStrikethrough(t),gfmTable(),gfmTaskListItem()])}const emptyOptions={};function remarkGfm(t){const a=this,l=t||emptyOptions,o=a.data(),u=o.micromarkExtensions||(o.micromarkExtensions=[]),c=o.fromMarkdownExtensions||(o.fromMarkdownExtensions=[]),d=o.toMarkdownExtensions||(o.toMarkdownExtensions=[]);u.push(gfm(l)),c.push(gfmFromMarkdown()),d.push(gfmToMarkdown(l))}function parseViewMd(t){const{data:a,content:l}=matter(t),o=unified().use(remarkParse).use(remarkGfm).parse(l),u=splitByH2$1(o);return{name:a.name??"",domain:a.domain??"",version:a.version??"0.1.0",stateBindings:parseStateBindings(u["State Bindings"]),layout:parseLayoutSection$1(u.Layout),intents:parseIntentsTable(u.Intents)}}function splitByH2$1(t){var o;const a={};let l="__intro__";a[l]=[];for(const u of t.children)u.type==="heading"&&u.depth===2?(l=getTextContent(u),a[l]=[]):(o=a[l])==null||o.push(u);return a}function getTextContent(t){return t.children.map(a=>a.type==="text"?a.value:"").join("")}function parseStateBindings(t){if(!t)return[];const a=[];for(const l of t){if(l.type!=="list")continue;const o=l;for(const u of o.children){const d=extractListItemText(u).match(/`([^`]+)`\s*->\s*(.+)/);d&&a.push({path:d[1],type:d[2].trim()})}}return a}function extractListItemText(t){return t.children.map(a=>a.type==="paragraph"?a.children.map(l=>l.type==="text"?l.value:l.type==="inlineCode"?`\`${l.value}\``:"").join(""):"").join("")}function parseLayoutSection$1(t){if(!t)throw new Error("Missing Layout section in VIEW.md");for(const a of t)if(a.type==="code"){const l=a;if(l.lang==="clapp-layout")return parseLayoutDSL(l.value)}throw new Error("No clapp-layout code block found in Layout section")}function parseIntentsTable(t){if(!t)return[];const a=[];for(const l of t){if(l.type!=="table")continue;const o=l;for(let u=1;u<o.children.length;u++){const d=o.children[u].children;d.length>=3&&a.push({name:getCellText(d[0]),payload:getCellText(d[1]),description:getCellText(d[2])})}}return a}function getCellText(t){return t.children.map(a=>a.type==="text"||a.type==="inlineCode"?a.value:"").join("")}function parseAppMd(t){const{data:a,content:l}=matter(t),o=unified().use(remarkParse).parse(l),u=splitByH2(o);return{name:a.name??"",domain:a.domain??"",modules:parseModulesList(u.Modules),layout:parseLayoutSection(u.Layout)}}function splitByH2(t){var o;const a={};let l="__intro__";a[l]=[];for(const u of t.children)u.type==="heading"&&u.depth===2?(l=u.children.map(d=>d.type==="text"?d.value:"").join(""),a[l]=[]):(o=a[l])==null||o.push(u);return a}function parseModulesList(t){if(!t)return[];const a=[];for(const l of t){if(l.type!=="list")continue;const o=l;for(const u of o.children){const c=u.children.map(d=>d.type==="paragraph"?d.children.map(m=>m.type==="text"?m.value:"").join(""):"").join("").trim();c&&a.push(c)}}return a}function parseLayoutSection(t){if(!t)throw new Error("Missing Layout section in APP.md");for(const a of t)if(a.type==="code"){const l=a;if(l.lang==="clapp-layout")return parseLayoutDSL(l.value)}throw new Error("No clapp-layout code block found in Layout section")}var util;(function(t){t.assertEqual=u=>{};function a(u){}t.assertIs=a;function l(u){throw new Error}t.assertNever=l,t.arrayToEnum=u=>{const c={};for(const d of u)c[d]=d;return c},t.getValidEnumValues=u=>{const c=t.objectKeys(u).filter(m=>typeof u[u[m]]!="number"),d={};for(const m of c)d[m]=u[m];return t.objectValues(d)},t.objectValues=u=>t.objectKeys(u).map(function(c){return u[c]}),t.objectKeys=typeof Object.keys=="function"?u=>Object.keys(u):u=>{const c=[];for(const d in u)Object.prototype.hasOwnProperty.call(u,d)&&c.push(d);return c},t.find=(u,c)=>{for(const d of u)if(c(d))return d},t.isInteger=typeof Number.isInteger=="function"?u=>Number.isInteger(u):u=>typeof u=="number"&&Number.isFinite(u)&&Math.floor(u)===u;function o(u,c=" | "){return u.map(d=>typeof d=="string"?`'${d}'`:d).join(c)}t.joinValues=o,t.jsonStringifyReplacer=(u,c)=>typeof c=="bigint"?c.toString():c})(util||(util={}));var objectUtil;(function(t){t.mergeShapes=(a,l)=>({...a,...l})})(objectUtil||(objectUtil={}));const ZodParsedType=util.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),getParsedType=t=>{switch(typeof t){case"undefined":return ZodParsedType.undefined;case"string":return ZodParsedType.string;case"number":return Number.isNaN(t)?ZodParsedType.nan:ZodParsedType.number;case"boolean":return ZodParsedType.boolean;case"function":return ZodParsedType.function;case"bigint":return ZodParsedType.bigint;case"symbol":return ZodParsedType.symbol;case"object":return Array.isArray(t)?ZodParsedType.array:t===null?ZodParsedType.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?ZodParsedType.promise:typeof Map<"u"&&t instanceof Map?ZodParsedType.map:typeof Set<"u"&&t instanceof Set?ZodParsedType.set:typeof Date<"u"&&t instanceof Date?ZodParsedType.date:ZodParsedType.object;default:return ZodParsedType.unknown}},ZodIssueCode=util.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"]);class ZodError extends Error{get errors(){return this.issues}constructor(a){super(),this.issues=[],this.addIssue=o=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};const l=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,l):this.__proto__=l,this.name="ZodError",this.issues=a}format(a){const l=a||function(c){return c.message},o={_errors:[]},u=c=>{for(const d of c.issues)if(d.code==="invalid_union")d.unionErrors.map(u);else if(d.code==="invalid_return_type")u(d.returnTypeError);else if(d.code==="invalid_arguments")u(d.argumentsError);else if(d.path.length===0)o._errors.push(l(d));else{let m=o,p=0;for(;p<d.path.length;){const g=d.path[p];p===d.path.length-1?(m[g]=m[g]||{_errors:[]},m[g]._errors.push(l(d))):m[g]=m[g]||{_errors:[]},m=m[g],p++}}};return u(this),o}static assert(a){if(!(a instanceof ZodError))throw new Error(`Not a ZodError: ${a}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(a=l=>l.message){const l={},o=[];for(const u of this.issues)if(u.path.length>0){const c=u.path[0];l[c]=l[c]||[],l[c].push(a(u))}else o.push(a(u));return{formErrors:o,fieldErrors:l}}get formErrors(){return this.flatten()}}ZodError.create=t=>new ZodError(t);const errorMap=(t,a)=>{let l;switch(t.code){case ZodIssueCode.invalid_type:t.received===ZodParsedType.undefined?l="Required":l=`Expected ${t.expected}, received ${t.received}`;break;case ZodIssueCode.invalid_literal:l=`Invalid literal value, expected ${JSON.stringify(t.expected,util.jsonStringifyReplacer)}`;break;case ZodIssueCode.unrecognized_keys:l=`Unrecognized key(s) in object: ${util.joinValues(t.keys,", ")}`;break;case ZodIssueCode.invalid_union:l="Invalid input";break;case ZodIssueCode.invalid_union_discriminator:l=`Invalid discriminator value. Expected ${util.joinValues(t.options)}`;break;case ZodIssueCode.invalid_enum_value:l=`Invalid enum value. Expected ${util.joinValues(t.options)}, received '${t.received}'`;break;case ZodIssueCode.invalid_arguments:l="Invalid function arguments";break;case ZodIssueCode.invalid_return_type:l="Invalid function return type";break;case ZodIssueCode.invalid_date:l="Invalid date";break;case ZodIssueCode.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(l=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(l=`${l} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?l=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?l=`Invalid input: must end with "${t.validation.endsWith}"`:util.assertNever(t.validation):t.validation!=="regex"?l=`Invalid ${t.validation}`:l="Invalid";break;case ZodIssueCode.too_small:t.type==="array"?l=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?l=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?l=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?l=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?l=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:l="Invalid input";break;case ZodIssueCode.too_big:t.type==="array"?l=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?l=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?l=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?l=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?l=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:l="Invalid input";break;case ZodIssueCode.custom:l="Invalid input";break;case ZodIssueCode.invalid_intersection_types:l="Intersection results could not be merged";break;case ZodIssueCode.not_multiple_of:l=`Number must be a multiple of ${t.multipleOf}`;break;case ZodIssueCode.not_finite:l="Number must be finite";break;default:l=a.defaultError,util.assertNever(t)}return{message:l}};let overrideErrorMap=errorMap;function getErrorMap(){return overrideErrorMap}const makeIssue=t=>{const{data:a,path:l,errorMaps:o,issueData:u}=t,c=[...l,...u.path||[]],d={...u,path:c};if(u.message!==void 0)return{...u,path:c,message:u.message};let m="";const p=o.filter(g=>!!g).slice().reverse();for(const g of p)m=g(d,{data:a,defaultError:m}).message;return{...u,path:c,message:m}};function addIssueToContext(t,a){const l=getErrorMap(),o=makeIssue({issueData:a,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,l,l===errorMap?void 0:errorMap].filter(u=>!!u)});t.common.issues.push(o)}class ParseStatus{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(a,l){const o=[];for(const u of l){if(u.status==="aborted")return INVALID;u.status==="dirty"&&a.dirty(),o.push(u.value)}return{status:a.value,value:o}}static async mergeObjectAsync(a,l){const o=[];for(const u of l){const c=await u.key,d=await u.value;o.push({key:c,value:d})}return ParseStatus.mergeObjectSync(a,o)}static mergeObjectSync(a,l){const o={};for(const u of l){const{key:c,value:d}=u;if(c.status==="aborted"||d.status==="aborted")return INVALID;c.status==="dirty"&&a.dirty(),d.status==="dirty"&&a.dirty(),c.value!=="__proto__"&&(typeof d.value<"u"||u.alwaysSet)&&(o[c.value]=d.value)}return{status:a.value,value:o}}}const INVALID=Object.freeze({status:"aborted"}),DIRTY=t=>({status:"dirty",value:t}),OK=t=>({status:"valid",value:t}),isAborted=t=>t.status==="aborted",isDirty=t=>t.status==="dirty",isValid=t=>t.status==="valid",isAsync=t=>typeof Promise<"u"&&t instanceof Promise;var errorUtil;(function(t){t.errToObj=a=>typeof a=="string"?{message:a}:a||{},t.toString=a=>typeof a=="string"?a:a==null?void 0:a.message})(errorUtil||(errorUtil={}));class ParseInputLazyPath{constructor(a,l,o,u){this._cachedPath=[],this.parent=a,this.data=l,this._path=o,this._key=u}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}}const handleResult=(t,a)=>{if(isValid(a))return{success:!0,data:a.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const l=new ZodError(t.common.issues);return this._error=l,this._error}}};function processCreateParams(t){if(!t)return{};const{errorMap:a,invalid_type_error:l,required_error:o,description:u}=t;if(a&&(l||o))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return a?{errorMap:a,description:u}:{errorMap:(d,m)=>{const{message:p}=t;return d.code==="invalid_enum_value"?{message:p??m.defaultError}:typeof m.data>"u"?{message:p??o??m.defaultError}:d.code!=="invalid_type"?{message:m.defaultError}:{message:p??l??m.defaultError}},description:u}}class ZodType{get description(){return this._def.description}_getType(a){return getParsedType(a.data)}_getOrReturnCtx(a,l){return l||{common:a.parent.common,data:a.data,parsedType:getParsedType(a.data),schemaErrorMap:this._def.errorMap,path:a.path,parent:a.parent}}_processInputParams(a){return{status:new ParseStatus,ctx:{common:a.parent.common,data:a.data,parsedType:getParsedType(a.data),schemaErrorMap:this._def.errorMap,path:a.path,parent:a.parent}}}_parseSync(a){const l=this._parse(a);if(isAsync(l))throw new Error("Synchronous parse encountered promise.");return l}_parseAsync(a){const l=this._parse(a);return Promise.resolve(l)}parse(a,l){const o=this.safeParse(a,l);if(o.success)return o.data;throw o.error}safeParse(a,l){const o={common:{issues:[],async:(l==null?void 0:l.async)??!1,contextualErrorMap:l==null?void 0:l.errorMap},path:(l==null?void 0:l.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:a,parsedType:getParsedType(a)},u=this._parseSync({data:a,path:o.path,parent:o});return handleResult(o,u)}"~validate"(a){var o,u;const l={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:a,parsedType:getParsedType(a)};if(!this["~standard"].async)try{const c=this._parseSync({data:a,path:[],parent:l});return isValid(c)?{value:c.value}:{issues:l.common.issues}}catch(c){(u=(o=c==null?void 0:c.message)==null?void 0:o.toLowerCase())!=null&&u.includes("encountered")&&(this["~standard"].async=!0),l.common={issues:[],async:!0}}return this._parseAsync({data:a,path:[],parent:l}).then(c=>isValid(c)?{value:c.value}:{issues:l.common.issues})}async parseAsync(a,l){const o=await this.safeParseAsync(a,l);if(o.success)return o.data;throw o.error}async safeParseAsync(a,l){const o={common:{issues:[],contextualErrorMap:l==null?void 0:l.errorMap,async:!0},path:(l==null?void 0:l.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:a,parsedType:getParsedType(a)},u=this._parse({data:a,path:o.path,parent:o}),c=await(isAsync(u)?u:Promise.resolve(u));return handleResult(o,c)}refine(a,l){const o=u=>typeof l=="string"||typeof l>"u"?{message:l}:typeof l=="function"?l(u):l;return this._refinement((u,c)=>{const d=a(u),m=()=>c.addIssue({code:ZodIssueCode.custom,...o(u)});return typeof Promise<"u"&&d instanceof Promise?d.then(p=>p?!0:(m(),!1)):d?!0:(m(),!1)})}refinement(a,l){return this._refinement((o,u)=>a(o)?!0:(u.addIssue(typeof l=="function"?l(o,u):l),!1))}_refinement(a){return new ZodEffects({schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"refinement",refinement:a}})}superRefine(a){return this._refinement(a)}constructor(a){this.spa=this.safeParseAsync,this._def=a,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:l=>this["~validate"](l)}}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this)}promise(){return ZodPromise.create(this,this._def)}or(a){return ZodUnion.create([this,a],this._def)}and(a){return ZodIntersection.create(this,a,this._def)}transform(a){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"transform",transform:a}})}default(a){const l=typeof a=="function"?a:()=>a;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:l,typeName:ZodFirstPartyTypeKind.ZodDefault})}brand(){return new ZodBranded({typeName:ZodFirstPartyTypeKind.ZodBranded,type:this,...processCreateParams(this._def)})}catch(a){const l=typeof a=="function"?a:()=>a;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:l,typeName:ZodFirstPartyTypeKind.ZodCatch})}describe(a){const l=this.constructor;return new l({...this._def,description:a})}pipe(a){return ZodPipeline.create(this,a)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const cuidRegex=/^c[^\s-]{8,}$/i,cuid2Regex=/^[0-9a-z]+$/,ulidRegex=/^[0-9A-HJKMNP-TV-Z]{26}$/i,uuidRegex=/^[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,nanoidRegex=/^[a-z0-9_-]{21}$/i,jwtRegex=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,durationRegex=/^[-+]?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)?)??$/,emailRegex=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_emojiRegex="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let emojiRegex;const ipv4Regex=/^(?:(?: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])$/,ipv4CidrRegex=/^(?:(?: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])$/,ipv6Regex=/^(([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]))$/,ipv6CidrRegex=/^(([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])$/,base64Regex=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64urlRegex=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,dateRegexSource="((\\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])))",dateRegex=new RegExp(`^${dateRegexSource}$`);function timeRegexSource(t){let a="[0-5]\\d";t.precision?a=`${a}\\.\\d{${t.precision}}`:t.precision==null&&(a=`${a}(\\.\\d+)?`);const l=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${a})${l}`}function timeRegex(t){return new RegExp(`^${timeRegexSource(t)}$`)}function datetimeRegex(t){let a=`${dateRegexSource}T${timeRegexSource(t)}`;const l=[];return l.push(t.local?"Z?":"Z"),t.offset&&l.push("([+-]\\d{2}:?\\d{2})"),a=`${a}(${l.join("|")})`,new RegExp(`^${a}$`)}function isValidIP(t,a){return!!((a==="v4"||!a)&&ipv4Regex.test(t)||(a==="v6"||!a)&&ipv6Regex.test(t))}function isValidJWT(t,a){if(!jwtRegex.test(t))return!1;try{const[l]=t.split(".");if(!l)return!1;const o=l.replace(/-/g,"+").replace(/_/g,"/").padEnd(l.length+(4-l.length%4)%4,"="),u=JSON.parse(atob(o));return!(typeof u!="object"||u===null||"typ"in u&&(u==null?void 0:u.typ)!=="JWT"||!u.alg||a&&u.alg!==a)}catch{return!1}}function isValidCidr(t,a){return!!((a==="v4"||!a)&&ipv4CidrRegex.test(t)||(a==="v6"||!a)&&ipv6CidrRegex.test(t))}class ZodString extends ZodType{_parse(a){if(this._def.coerce&&(a.data=String(a.data)),this._getType(a)!==ZodParsedType.string){const c=this._getOrReturnCtx(a);return addIssueToContext(c,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:c.parsedType}),INVALID}const o=new ParseStatus;let u;for(const c of this._def.checks)if(c.kind==="min")a.data.length<c.value&&(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.too_small,minimum:c.value,type:"string",inclusive:!0,exact:!1,message:c.message}),o.dirty());else if(c.kind==="max")a.data.length>c.value&&(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.too_big,maximum:c.value,type:"string",inclusive:!0,exact:!1,message:c.message}),o.dirty());else if(c.kind==="length"){const d=a.data.length>c.value,m=a.data.length<c.value;(d||m)&&(u=this._getOrReturnCtx(a,u),d?addIssueToContext(u,{code:ZodIssueCode.too_big,maximum:c.value,type:"string",inclusive:!0,exact:!0,message:c.message}):m&&addIssueToContext(u,{code:ZodIssueCode.too_small,minimum:c.value,type:"string",inclusive:!0,exact:!0,message:c.message}),o.dirty())}else if(c.kind==="email")emailRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"email",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="emoji")emojiRegex||(emojiRegex=new RegExp(_emojiRegex,"u")),emojiRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"emoji",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="uuid")uuidRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"uuid",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="nanoid")nanoidRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"nanoid",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="cuid")cuidRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"cuid",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="cuid2")cuid2Regex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"cuid2",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="ulid")ulidRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"ulid",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="url")try{new URL(a.data)}catch{u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"url",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()}else c.kind==="regex"?(c.regex.lastIndex=0,c.regex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"regex",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty())):c.kind==="trim"?a.data=a.data.trim():c.kind==="includes"?a.data.includes(c.value,c.position)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:{includes:c.value,position:c.position},message:c.message}),o.dirty()):c.kind==="toLowerCase"?a.data=a.data.toLowerCase():c.kind==="toUpperCase"?a.data=a.data.toUpperCase():c.kind==="startsWith"?a.data.startsWith(c.value)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:{startsWith:c.value},message:c.message}),o.dirty()):c.kind==="endsWith"?a.data.endsWith(c.value)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:{endsWith:c.value},message:c.message}),o.dirty()):c.kind==="datetime"?datetimeRegex(c).test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:"datetime",message:c.message}),o.dirty()):c.kind==="date"?dateRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:"date",message:c.message}),o.dirty()):c.kind==="time"?timeRegex(c).test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:"time",message:c.message}),o.dirty()):c.kind==="duration"?durationRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"duration",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="ip"?isValidIP(a.data,c.version)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"ip",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="jwt"?isValidJWT(a.data,c.alg)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"jwt",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="cidr"?isValidCidr(a.data,c.version)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"cidr",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="base64"?base64Regex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"base64",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="base64url"?base64urlRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"base64url",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):util.assertNever(c);return{status:o.value,value:a.data}}_regex(a,l,o){return this.refinement(u=>a.test(u),{validation:l,code:ZodIssueCode.invalid_string,...errorUtil.errToObj(o)})}_addCheck(a){return new ZodString({...this._def,checks:[...this._def.checks,a]})}email(a){return this._addCheck({kind:"email",...errorUtil.errToObj(a)})}url(a){return this._addCheck({kind:"url",...errorUtil.errToObj(a)})}emoji(a){return this._addCheck({kind:"emoji",...errorUtil.errToObj(a)})}uuid(a){return this._addCheck({kind:"uuid",...errorUtil.errToObj(a)})}nanoid(a){return this._addCheck({kind:"nanoid",...errorUtil.errToObj(a)})}cuid(a){return this._addCheck({kind:"cuid",...errorUtil.errToObj(a)})}cuid2(a){return this._addCheck({kind:"cuid2",...errorUtil.errToObj(a)})}ulid(a){return this._addCheck({kind:"ulid",...errorUtil.errToObj(a)})}base64(a){return this._addCheck({kind:"base64",...errorUtil.errToObj(a)})}base64url(a){return this._addCheck({kind:"base64url",...errorUtil.errToObj(a)})}jwt(a){return this._addCheck({kind:"jwt",...errorUtil.errToObj(a)})}ip(a){return this._addCheck({kind:"ip",...errorUtil.errToObj(a)})}cidr(a){return this._addCheck({kind:"cidr",...errorUtil.errToObj(a)})}datetime(a){return typeof a=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:a}):this._addCheck({kind:"datetime",precision:typeof(a==null?void 0:a.precision)>"u"?null:a==null?void 0:a.precision,offset:(a==null?void 0:a.offset)??!1,local:(a==null?void 0:a.local)??!1,...errorUtil.errToObj(a==null?void 0:a.message)})}date(a){return this._addCheck({kind:"date",message:a})}time(a){return typeof a=="string"?this._addCheck({kind:"time",precision:null,message:a}):this._addCheck({kind:"time",precision:typeof(a==null?void 0:a.precision)>"u"?null:a==null?void 0:a.precision,...errorUtil.errToObj(a==null?void 0:a.message)})}duration(a){return this._addCheck({kind:"duration",...errorUtil.errToObj(a)})}regex(a,l){return this._addCheck({kind:"regex",regex:a,...errorUtil.errToObj(l)})}includes(a,l){return this._addCheck({kind:"includes",value:a,position:l==null?void 0:l.position,...errorUtil.errToObj(l==null?void 0:l.message)})}startsWith(a,l){return this._addCheck({kind:"startsWith",value:a,...errorUtil.errToObj(l)})}endsWith(a,l){return this._addCheck({kind:"endsWith",value:a,...errorUtil.errToObj(l)})}min(a,l){return this._addCheck({kind:"min",value:a,...errorUtil.errToObj(l)})}max(a,l){return this._addCheck({kind:"max",value:a,...errorUtil.errToObj(l)})}length(a,l){return this._addCheck({kind:"length",value:a,...errorUtil.errToObj(l)})}nonempty(a){return this.min(1,errorUtil.errToObj(a))}trim(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(a=>a.kind==="datetime")}get isDate(){return!!this._def.checks.find(a=>a.kind==="date")}get isTime(){return!!this._def.checks.find(a=>a.kind==="time")}get isDuration(){return!!this._def.checks.find(a=>a.kind==="duration")}get isEmail(){return!!this._def.checks.find(a=>a.kind==="email")}get isURL(){return!!this._def.checks.find(a=>a.kind==="url")}get isEmoji(){return!!this._def.checks.find(a=>a.kind==="emoji")}get isUUID(){return!!this._def.checks.find(a=>a.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(a=>a.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(a=>a.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(a=>a.kind==="cuid2")}get isULID(){return!!this._def.checks.find(a=>a.kind==="ulid")}get isIP(){return!!this._def.checks.find(a=>a.kind==="ip")}get isCIDR(){return!!this._def.checks.find(a=>a.kind==="cidr")}get isBase64(){return!!this._def.checks.find(a=>a.kind==="base64")}get isBase64url(){return!!this._def.checks.find(a=>a.kind==="base64url")}get minLength(){let a=null;for(const l of this._def.checks)l.kind==="min"&&(a===null||l.value>a)&&(a=l.value);return a}get maxLength(){let a=null;for(const l of this._def.checks)l.kind==="max"&&(a===null||l.value<a)&&(a=l.value);return a}}ZodString.create=t=>new ZodString({checks:[],typeName:ZodFirstPartyTypeKind.ZodString,coerce:(t==null?void 0:t.coerce)??!1,...processCreateParams(t)});function floatSafeRemainder(t,a){const l=(t.toString().split(".")[1]||"").length,o=(a.toString().split(".")[1]||"").length,u=l>o?l:o,c=Number.parseInt(t.toFixed(u).replace(".","")),d=Number.parseInt(a.toFixed(u).replace(".",""));return c%d/10**u}class ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(a){if(this._def.coerce&&(a.data=Number(a.data)),this._getType(a)!==ZodParsedType.number){const c=this._getOrReturnCtx(a);return addIssueToContext(c,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.number,received:c.parsedType}),INVALID}let o;const u=new ParseStatus;for(const c of this._def.checks)c.kind==="int"?util.isInteger(a.data)||(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:"integer",received:"float",message:c.message}),u.dirty()):c.kind==="min"?(c.inclusive?a.data<c.value:a.data<=c.value)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.too_small,minimum:c.value,type:"number",inclusive:c.inclusive,exact:!1,message:c.message}),u.dirty()):c.kind==="max"?(c.inclusive?a.data>c.value:a.data>=c.value)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.too_big,maximum:c.value,type:"number",inclusive:c.inclusive,exact:!1,message:c.message}),u.dirty()):c.kind==="multipleOf"?floatSafeRemainder(a.data,c.value)!==0&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.not_multiple_of,multipleOf:c.value,message:c.message}),u.dirty()):c.kind==="finite"?Number.isFinite(a.data)||(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.not_finite,message:c.message}),u.dirty()):util.assertNever(c);return{status:u.value,value:a.data}}gte(a,l){return this.setLimit("min",a,!0,errorUtil.toString(l))}gt(a,l){return this.setLimit("min",a,!1,errorUtil.toString(l))}lte(a,l){return this.setLimit("max",a,!0,errorUtil.toString(l))}lt(a,l){return this.setLimit("max",a,!1,errorUtil.toString(l))}setLimit(a,l,o,u){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:a,value:l,inclusive:o,message:errorUtil.toString(u)}]})}_addCheck(a){return new ZodNumber({...this._def,checks:[...this._def.checks,a]})}int(a){return this._addCheck({kind:"int",message:errorUtil.toString(a)})}positive(a){return this._addCheck({kind:"min",value:0,inclusive:!1,message:errorUtil.toString(a)})}negative(a){return this._addCheck({kind:"max",value:0,inclusive:!1,message:errorUtil.toString(a)})}nonpositive(a){return this._addCheck({kind:"max",value:0,inclusive:!0,message:errorUtil.toString(a)})}nonnegative(a){return this._addCheck({kind:"min",value:0,inclusive:!0,message:errorUtil.toString(a)})}multipleOf(a,l){return this._addCheck({kind:"multipleOf",value:a,message:errorUtil.toString(l)})}finite(a){return this._addCheck({kind:"finite",message:errorUtil.toString(a)})}safe(a){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:errorUtil.toString(a)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:errorUtil.toString(a)})}get minValue(){let a=null;for(const l of this._def.checks)l.kind==="min"&&(a===null||l.value>a)&&(a=l.value);return a}get maxValue(){let a=null;for(const l of this._def.checks)l.kind==="max"&&(a===null||l.value<a)&&(a=l.value);return a}get isInt(){return!!this._def.checks.find(a=>a.kind==="int"||a.kind==="multipleOf"&&util.isInteger(a.value))}get isFinite(){let a=null,l=null;for(const o of this._def.checks){if(o.kind==="finite"||o.kind==="int"||o.kind==="multipleOf")return!0;o.kind==="min"?(l===null||o.value>l)&&(l=o.value):o.kind==="max"&&(a===null||o.value<a)&&(a=o.value)}return Number.isFinite(l)&&Number.isFinite(a)}}ZodNumber.create=t=>new ZodNumber({checks:[],typeName:ZodFirstPartyTypeKind.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...processCreateParams(t)});class ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(a){if(this._def.coerce)try{a.data=BigInt(a.data)}catch{return this._getInvalidInput(a)}if(this._getType(a)!==ZodParsedType.bigint)return this._getInvalidInput(a);let o;const u=new ParseStatus;for(const c of this._def.checks)c.kind==="min"?(c.inclusive?a.data<c.value:a.data<=c.value)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.too_small,type:"bigint",minimum:c.value,inclusive:c.inclusive,message:c.message}),u.dirty()):c.kind==="max"?(c.inclusive?a.data>c.value:a.data>=c.value)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.too_big,type:"bigint",maximum:c.value,inclusive:c.inclusive,message:c.message}),u.dirty()):c.kind==="multipleOf"?a.data%c.value!==BigInt(0)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.not_multiple_of,multipleOf:c.value,message:c.message}),u.dirty()):util.assertNever(c);return{status:u.value,value:a.data}}_getInvalidInput(a){const l=this._getOrReturnCtx(a);return addIssueToContext(l,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.bigint,received:l.parsedType}),INVALID}gte(a,l){return this.setLimit("min",a,!0,errorUtil.toString(l))}gt(a,l){return this.setLimit("min",a,!1,errorUtil.toString(l))}lte(a,l){return this.setLimit("max",a,!0,errorUtil.toString(l))}lt(a,l){return this.setLimit("max",a,!1,errorUtil.toString(l))}setLimit(a,l,o,u){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:a,value:l,inclusive:o,message:errorUtil.toString(u)}]})}_addCheck(a){return new ZodBigInt({...this._def,checks:[...this._def.checks,a]})}positive(a){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:errorUtil.toString(a)})}negative(a){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:errorUtil.toString(a)})}nonpositive(a){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:errorUtil.toString(a)})}nonnegative(a){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:errorUtil.toString(a)})}multipleOf(a,l){return this._addCheck({kind:"multipleOf",value:a,message:errorUtil.toString(l)})}get minValue(){let a=null;for(const l of this._def.checks)l.kind==="min"&&(a===null||l.value>a)&&(a=l.value);return a}get maxValue(){let a=null;for(const l of this._def.checks)l.kind==="max"&&(a===null||l.value<a)&&(a=l.value);return a}}ZodBigInt.create=t=>new ZodBigInt({checks:[],typeName:ZodFirstPartyTypeKind.ZodBigInt,coerce:(t==null?void 0:t.coerce)??!1,...processCreateParams(t)});class ZodBoolean extends ZodType{_parse(a){if(this._def.coerce&&(a.data=!!a.data),this._getType(a)!==ZodParsedType.boolean){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.boolean,received:o.parsedType}),INVALID}return OK(a.data)}}ZodBoolean.create=t=>new ZodBoolean({typeName:ZodFirstPartyTypeKind.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...processCreateParams(t)});class ZodDate extends ZodType{_parse(a){if(this._def.coerce&&(a.data=new Date(a.data)),this._getType(a)!==ZodParsedType.date){const c=this._getOrReturnCtx(a);return addIssueToContext(c,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.date,received:c.parsedType}),INVALID}if(Number.isNaN(a.data.getTime())){const c=this._getOrReturnCtx(a);return addIssueToContext(c,{code:ZodIssueCode.invalid_date}),INVALID}const o=new ParseStatus;let u;for(const c of this._def.checks)c.kind==="min"?a.data.getTime()<c.value&&(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.too_small,message:c.message,inclusive:!0,exact:!1,minimum:c.value,type:"date"}),o.dirty()):c.kind==="max"?a.data.getTime()>c.value&&(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.too_big,message:c.message,inclusive:!0,exact:!1,maximum:c.value,type:"date"}),o.dirty()):util.assertNever(c);return{status:o.value,value:new Date(a.data.getTime())}}_addCheck(a){return new ZodDate({...this._def,checks:[...this._def.checks,a]})}min(a,l){return this._addCheck({kind:"min",value:a.getTime(),message:errorUtil.toString(l)})}max(a,l){return this._addCheck({kind:"max",value:a.getTime(),message:errorUtil.toString(l)})}get minDate(){let a=null;for(const l of this._def.checks)l.kind==="min"&&(a===null||l.value>a)&&(a=l.value);return a!=null?new Date(a):null}get maxDate(){let a=null;for(const l of this._def.checks)l.kind==="max"&&(a===null||l.value<a)&&(a=l.value);return a!=null?new Date(a):null}}ZodDate.create=t=>new ZodDate({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:ZodFirstPartyTypeKind.ZodDate,...processCreateParams(t)});class ZodSymbol extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.symbol){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.symbol,received:o.parsedType}),INVALID}return OK(a.data)}}ZodSymbol.create=t=>new ZodSymbol({typeName:ZodFirstPartyTypeKind.ZodSymbol,...processCreateParams(t)});class ZodUndefined extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.undefined){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.undefined,received:o.parsedType}),INVALID}return OK(a.data)}}ZodUndefined.create=t=>new ZodUndefined({typeName:ZodFirstPartyTypeKind.ZodUndefined,...processCreateParams(t)});class ZodNull extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.null){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.null,received:o.parsedType}),INVALID}return OK(a.data)}}ZodNull.create=t=>new ZodNull({typeName:ZodFirstPartyTypeKind.ZodNull,...processCreateParams(t)});class ZodAny extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(a){return OK(a.data)}}ZodAny.create=t=>new ZodAny({typeName:ZodFirstPartyTypeKind.ZodAny,...processCreateParams(t)});class ZodUnknown extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(a){return OK(a.data)}}ZodUnknown.create=t=>new ZodUnknown({typeName:ZodFirstPartyTypeKind.ZodUnknown,...processCreateParams(t)});class ZodNever extends ZodType{_parse(a){const l=this._getOrReturnCtx(a);return addIssueToContext(l,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.never,received:l.parsedType}),INVALID}}ZodNever.create=t=>new ZodNever({typeName:ZodFirstPartyTypeKind.ZodNever,...processCreateParams(t)});class ZodVoid extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.undefined){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.void,received:o.parsedType}),INVALID}return OK(a.data)}}ZodVoid.create=t=>new ZodVoid({typeName:ZodFirstPartyTypeKind.ZodVoid,...processCreateParams(t)});class ZodArray extends ZodType{_parse(a){const{ctx:l,status:o}=this._processInputParams(a),u=this._def;if(l.parsedType!==ZodParsedType.array)return addIssueToContext(l,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:l.parsedType}),INVALID;if(u.exactLength!==null){const d=l.data.length>u.exactLength.value,m=l.data.length<u.exactLength.value;(d||m)&&(addIssueToContext(l,{code:d?ZodIssueCode.too_big:ZodIssueCode.too_small,minimum:m?u.exactLength.value:void 0,maximum:d?u.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:u.exactLength.message}),o.dirty())}if(u.minLength!==null&&l.data.length<u.minLength.value&&(addIssueToContext(l,{code:ZodIssueCode.too_small,minimum:u.minLength.value,type:"array",inclusive:!0,exact:!1,message:u.minLength.message}),o.dirty()),u.maxLength!==null&&l.data.length>u.maxLength.value&&(addIssueToContext(l,{code:ZodIssueCode.too_big,maximum:u.maxLength.value,type:"array",inclusive:!0,exact:!1,message:u.maxLength.message}),o.dirty()),l.common.async)return Promise.all([...l.data].map((d,m)=>u.type._parseAsync(new ParseInputLazyPath(l,d,l.path,m)))).then(d=>ParseStatus.mergeArray(o,d));const c=[...l.data].map((d,m)=>u.type._parseSync(new ParseInputLazyPath(l,d,l.path,m)));return ParseStatus.mergeArray(o,c)}get element(){return this._def.type}min(a,l){return new ZodArray({...this._def,minLength:{value:a,message:errorUtil.toString(l)}})}max(a,l){return new ZodArray({...this._def,maxLength:{value:a,message:errorUtil.toString(l)}})}length(a,l){return new ZodArray({...this._def,exactLength:{value:a,message:errorUtil.toString(l)}})}nonempty(a){return this.min(1,a)}}ZodArray.create=(t,a)=>new ZodArray({type:t,minLength:null,maxLength:null,exactLength:null,typeName:ZodFirstPartyTypeKind.ZodArray,...processCreateParams(a)});function deepPartialify(t){if(t instanceof ZodObject){const a={};for(const l in t.shape){const o=t.shape[l];a[l]=ZodOptional.create(deepPartialify(o))}return new ZodObject({...t._def,shape:()=>a})}else return t instanceof ZodArray?new ZodArray({...t._def,type:deepPartialify(t.element)}):t instanceof ZodOptional?ZodOptional.create(deepPartialify(t.unwrap())):t instanceof ZodNullable?ZodNullable.create(deepPartialify(t.unwrap())):t instanceof ZodTuple?ZodTuple.create(t.items.map(a=>deepPartialify(a))):t}class ZodObject extends ZodType{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const a=this._def.shape(),l=util.objectKeys(a);return this._cached={shape:a,keys:l},this._cached}_parse(a){if(this._getType(a)!==ZodParsedType.object){const g=this._getOrReturnCtx(a);return addIssueToContext(g,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:g.parsedType}),INVALID}const{status:o,ctx:u}=this._processInputParams(a),{shape:c,keys:d}=this._getCached(),m=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip"))for(const g in u.data)d.includes(g)||m.push(g);const p=[];for(const g of d){const x=c[g],b=u.data[g];p.push({key:{status:"valid",value:g},value:x._parse(new ParseInputLazyPath(u,b,u.path,g)),alwaysSet:g in u.data})}if(this._def.catchall instanceof ZodNever){const g=this._def.unknownKeys;if(g==="passthrough")for(const x of m)p.push({key:{status:"valid",value:x},value:{status:"valid",value:u.data[x]}});else if(g==="strict")m.length>0&&(addIssueToContext(u,{code:ZodIssueCode.unrecognized_keys,keys:m}),o.dirty());else if(g!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const g=this._def.catchall;for(const x of m){const b=u.data[x];p.push({key:{status:"valid",value:x},value:g._parse(new ParseInputLazyPath(u,b,u.path,x)),alwaysSet:x in u.data})}}return u.common.async?Promise.resolve().then(async()=>{const g=[];for(const x of p){const b=await x.key,C=await x.value;g.push({key:b,value:C,alwaysSet:x.alwaysSet})}return g}).then(g=>ParseStatus.mergeObjectSync(o,g)):ParseStatus.mergeObjectSync(o,p)}get shape(){return this._def.shape()}strict(a){return errorUtil.errToObj,new ZodObject({...this._def,unknownKeys:"strict",...a!==void 0?{errorMap:(l,o)=>{var c,d;const u=((d=(c=this._def).errorMap)==null?void 0:d.call(c,l,o).message)??o.defaultError;return l.code==="unrecognized_keys"?{message:errorUtil.errToObj(a).message??u}:{message:u}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(a){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...a})})}merge(a){return new ZodObject({unknownKeys:a._def.unknownKeys,catchall:a._def.catchall,shape:()=>({...this._def.shape(),...a._def.shape()}),typeName:ZodFirstPartyTypeKind.ZodObject})}setKey(a,l){return this.augment({[a]:l})}catchall(a){return new ZodObject({...this._def,catchall:a})}pick(a){const l={};for(const o of util.objectKeys(a))a[o]&&this.shape[o]&&(l[o]=this.shape[o]);return new ZodObject({...this._def,shape:()=>l})}omit(a){const l={};for(const o of util.objectKeys(this.shape))a[o]||(l[o]=this.shape[o]);return new ZodObject({...this._def,shape:()=>l})}deepPartial(){return deepPartialify(this)}partial(a){const l={};for(const o of util.objectKeys(this.shape)){const u=this.shape[o];a&&!a[o]?l[o]=u:l[o]=u.optional()}return new ZodObject({...this._def,shape:()=>l})}required(a){const l={};for(const o of util.objectKeys(this.shape))if(a&&!a[o])l[o]=this.shape[o];else{let c=this.shape[o];for(;c instanceof ZodOptional;)c=c._def.innerType;l[o]=c}return new ZodObject({...this._def,shape:()=>l})}keyof(){return createZodEnum(util.objectKeys(this.shape))}}ZodObject.create=(t,a)=>new ZodObject({shape:()=>t,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(a)});ZodObject.strictCreate=(t,a)=>new ZodObject({shape:()=>t,unknownKeys:"strict",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(a)});ZodObject.lazycreate=(t,a)=>new ZodObject({shape:t,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(a)});class ZodUnion extends ZodType{_parse(a){const{ctx:l}=this._processInputParams(a),o=this._def.options;function u(c){for(const m of c)if(m.result.status==="valid")return m.result;for(const m of c)if(m.result.status==="dirty")return l.common.issues.push(...m.ctx.common.issues),m.result;const d=c.map(m=>new ZodError(m.ctx.common.issues));return addIssueToContext(l,{code:ZodIssueCode.invalid_union,unionErrors:d}),INVALID}if(l.common.async)return Promise.all(o.map(async c=>{const d={...l,common:{...l.common,issues:[]},parent:null};return{result:await c._parseAsync({data:l.data,path:l.path,parent:d}),ctx:d}})).then(u);{let c;const d=[];for(const p of o){const g={...l,common:{...l.common,issues:[]},parent:null},x=p._parseSync({data:l.data,path:l.path,parent:g});if(x.status==="valid")return x;x.status==="dirty"&&!c&&(c={result:x,ctx:g}),g.common.issues.length&&d.push(g.common.issues)}if(c)return l.common.issues.push(...c.ctx.common.issues),c.result;const m=d.map(p=>new ZodError(p));return addIssueToContext(l,{code:ZodIssueCode.invalid_union,unionErrors:m}),INVALID}}get options(){return this._def.options}}ZodUnion.create=(t,a)=>new ZodUnion({options:t,typeName:ZodFirstPartyTypeKind.ZodUnion,...processCreateParams(a)});function mergeValues(t,a){const l=getParsedType(t),o=getParsedType(a);if(t===a)return{valid:!0,data:t};if(l===ZodParsedType.object&&o===ZodParsedType.object){const u=util.objectKeys(a),c=util.objectKeys(t).filter(m=>u.indexOf(m)!==-1),d={...t,...a};for(const m of c){const p=mergeValues(t[m],a[m]);if(!p.valid)return{valid:!1};d[m]=p.data}return{valid:!0,data:d}}else if(l===ZodParsedType.array&&o===ZodParsedType.array){if(t.length!==a.length)return{valid:!1};const u=[];for(let c=0;c<t.length;c++){const d=t[c],m=a[c],p=mergeValues(d,m);if(!p.valid)return{valid:!1};u.push(p.data)}return{valid:!0,data:u}}else return l===ZodParsedType.date&&o===ZodParsedType.date&&+t==+a?{valid:!0,data:t}:{valid:!1}}class ZodIntersection extends ZodType{_parse(a){const{status:l,ctx:o}=this._processInputParams(a),u=(c,d)=>{if(isAborted(c)||isAborted(d))return INVALID;const m=mergeValues(c.value,d.value);return m.valid?((isDirty(c)||isDirty(d))&&l.dirty(),{status:l.value,value:m.data}):(addIssueToContext(o,{code:ZodIssueCode.invalid_intersection_types}),INVALID)};return o.common.async?Promise.all([this._def.left._parseAsync({data:o.data,path:o.path,parent:o}),this._def.right._parseAsync({data:o.data,path:o.path,parent:o})]).then(([c,d])=>u(c,d)):u(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}}ZodIntersection.create=(t,a,l)=>new ZodIntersection({left:t,right:a,typeName:ZodFirstPartyTypeKind.ZodIntersection,...processCreateParams(l)});class ZodTuple extends ZodType{_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.parsedType!==ZodParsedType.array)return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:o.parsedType}),INVALID;if(o.data.length<this._def.items.length)return addIssueToContext(o,{code:ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),INVALID;!this._def.rest&&o.data.length>this._def.items.length&&(addIssueToContext(o,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),l.dirty());const c=[...o.data].map((d,m)=>{const p=this._def.items[m]||this._def.rest;return p?p._parse(new ParseInputLazyPath(o,d,o.path,m)):null}).filter(d=>!!d);return o.common.async?Promise.all(c).then(d=>ParseStatus.mergeArray(l,d)):ParseStatus.mergeArray(l,c)}get items(){return this._def.items}rest(a){return new ZodTuple({...this._def,rest:a})}}ZodTuple.create=(t,a)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:t,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null,...processCreateParams(a)})};class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.parsedType!==ZodParsedType.object)return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:o.parsedType}),INVALID;const u=[],c=this._def.keyType,d=this._def.valueType;for(const m in o.data)u.push({key:c._parse(new ParseInputLazyPath(o,m,o.path,m)),value:d._parse(new ParseInputLazyPath(o,o.data[m],o.path,m)),alwaysSet:m in o.data});return o.common.async?ParseStatus.mergeObjectAsync(l,u):ParseStatus.mergeObjectSync(l,u)}get element(){return this._def.valueType}static create(a,l,o){return l instanceof ZodType?new ZodRecord({keyType:a,valueType:l,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(o)}):new ZodRecord({keyType:ZodString.create(),valueType:a,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(l)})}}class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.parsedType!==ZodParsedType.map)return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:o.parsedType}),INVALID;const u=this._def.keyType,c=this._def.valueType,d=[...o.data.entries()].map(([m,p],g)=>({key:u._parse(new ParseInputLazyPath(o,m,o.path,[g,"key"])),value:c._parse(new ParseInputLazyPath(o,p,o.path,[g,"value"]))}));if(o.common.async){const m=new Map;return Promise.resolve().then(async()=>{for(const p of d){const g=await p.key,x=await p.value;if(g.status==="aborted"||x.status==="aborted")return INVALID;(g.status==="dirty"||x.status==="dirty")&&l.dirty(),m.set(g.value,x.value)}return{status:l.value,value:m}})}else{const m=new Map;for(const p of d){const g=p.key,x=p.value;if(g.status==="aborted"||x.status==="aborted")return INVALID;(g.status==="dirty"||x.status==="dirty")&&l.dirty(),m.set(g.value,x.value)}return{status:l.value,value:m}}}}ZodMap.create=(t,a,l)=>new ZodMap({valueType:a,keyType:t,typeName:ZodFirstPartyTypeKind.ZodMap,...processCreateParams(l)});class ZodSet extends ZodType{_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.parsedType!==ZodParsedType.set)return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:o.parsedType}),INVALID;const u=this._def;u.minSize!==null&&o.data.size<u.minSize.value&&(addIssueToContext(o,{code:ZodIssueCode.too_small,minimum:u.minSize.value,type:"set",inclusive:!0,exact:!1,message:u.minSize.message}),l.dirty()),u.maxSize!==null&&o.data.size>u.maxSize.value&&(addIssueToContext(o,{code:ZodIssueCode.too_big,maximum:u.maxSize.value,type:"set",inclusive:!0,exact:!1,message:u.maxSize.message}),l.dirty());const c=this._def.valueType;function d(p){const g=new Set;for(const x of p){if(x.status==="aborted")return INVALID;x.status==="dirty"&&l.dirty(),g.add(x.value)}return{status:l.value,value:g}}const m=[...o.data.values()].map((p,g)=>c._parse(new ParseInputLazyPath(o,p,o.path,g)));return o.common.async?Promise.all(m).then(p=>d(p)):d(m)}min(a,l){return new ZodSet({...this._def,minSize:{value:a,message:errorUtil.toString(l)}})}max(a,l){return new ZodSet({...this._def,maxSize:{value:a,message:errorUtil.toString(l)}})}size(a,l){return this.min(a,l).max(a,l)}nonempty(a){return this.min(1,a)}}ZodSet.create=(t,a)=>new ZodSet({valueType:t,minSize:null,maxSize:null,typeName:ZodFirstPartyTypeKind.ZodSet,...processCreateParams(a)});class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(a){const{ctx:l}=this._processInputParams(a);return this._def.getter()._parse({data:l.data,path:l.path,parent:l})}}ZodLazy.create=(t,a)=>new ZodLazy({getter:t,typeName:ZodFirstPartyTypeKind.ZodLazy,...processCreateParams(a)});class ZodLiteral extends ZodType{_parse(a){if(a.data!==this._def.value){const l=this._getOrReturnCtx(a);return addIssueToContext(l,{received:l.data,code:ZodIssueCode.invalid_literal,expected:this._def.value}),INVALID}return{status:"valid",value:a.data}}get value(){return this._def.value}}ZodLiteral.create=(t,a)=>new ZodLiteral({value:t,typeName:ZodFirstPartyTypeKind.ZodLiteral,...processCreateParams(a)});function createZodEnum(t,a){return new ZodEnum({values:t,typeName:ZodFirstPartyTypeKind.ZodEnum,...processCreateParams(a)})}class ZodEnum extends ZodType{_parse(a){if(typeof a.data!="string"){const l=this._getOrReturnCtx(a),o=this._def.values;return addIssueToContext(l,{expected:util.joinValues(o),received:l.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(a.data)){const l=this._getOrReturnCtx(a),o=this._def.values;return addIssueToContext(l,{received:l.data,code:ZodIssueCode.invalid_enum_value,options:o}),INVALID}return OK(a.data)}get options(){return this._def.values}get enum(){const a={};for(const l of this._def.values)a[l]=l;return a}get Values(){const a={};for(const l of this._def.values)a[l]=l;return a}get Enum(){const a={};for(const l of this._def.values)a[l]=l;return a}extract(a,l=this._def){return ZodEnum.create(a,{...this._def,...l})}exclude(a,l=this._def){return ZodEnum.create(this.options.filter(o=>!a.includes(o)),{...this._def,...l})}}ZodEnum.create=createZodEnum;class ZodNativeEnum extends ZodType{_parse(a){const l=util.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(a);if(o.parsedType!==ZodParsedType.string&&o.parsedType!==ZodParsedType.number){const u=util.objectValues(l);return addIssueToContext(o,{expected:util.joinValues(u),received:o.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(util.getValidEnumValues(this._def.values))),!this._cache.has(a.data)){const u=util.objectValues(l);return addIssueToContext(o,{received:o.data,code:ZodIssueCode.invalid_enum_value,options:u}),INVALID}return OK(a.data)}get enum(){return this._def.values}}ZodNativeEnum.create=(t,a)=>new ZodNativeEnum({values:t,typeName:ZodFirstPartyTypeKind.ZodNativeEnum,...processCreateParams(a)});class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(a){const{ctx:l}=this._processInputParams(a);if(l.parsedType!==ZodParsedType.promise&&l.common.async===!1)return addIssueToContext(l,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.promise,received:l.parsedType}),INVALID;const o=l.parsedType===ZodParsedType.promise?l.data:Promise.resolve(l.data);return OK(o.then(u=>this._def.type.parseAsync(u,{path:l.path,errorMap:l.common.contextualErrorMap})))}}ZodPromise.create=(t,a)=>new ZodPromise({type:t,typeName:ZodFirstPartyTypeKind.ZodPromise,...processCreateParams(a)});class ZodEffects extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ZodFirstPartyTypeKind.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(a){const{status:l,ctx:o}=this._processInputParams(a),u=this._def.effect||null,c={addIssue:d=>{addIssueToContext(o,d),d.fatal?l.abort():l.dirty()},get path(){return o.path}};if(c.addIssue=c.addIssue.bind(c),u.type==="preprocess"){const d=u.transform(o.data,c);if(o.common.async)return Promise.resolve(d).then(async m=>{if(l.value==="aborted")return INVALID;const p=await this._def.schema._parseAsync({data:m,path:o.path,parent:o});return p.status==="aborted"?INVALID:p.status==="dirty"||l.value==="dirty"?DIRTY(p.value):p});{if(l.value==="aborted")return INVALID;const m=this._def.schema._parseSync({data:d,path:o.path,parent:o});return m.status==="aborted"?INVALID:m.status==="dirty"||l.value==="dirty"?DIRTY(m.value):m}}if(u.type==="refinement"){const d=m=>{const p=u.refinement(m,c);if(o.common.async)return Promise.resolve(p);if(p instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return m};if(o.common.async===!1){const m=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});return m.status==="aborted"?INVALID:(m.status==="dirty"&&l.dirty(),d(m.value),{status:l.value,value:m.value})}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then(m=>m.status==="aborted"?INVALID:(m.status==="dirty"&&l.dirty(),d(m.value).then(()=>({status:l.value,value:m.value}))))}if(u.type==="transform")if(o.common.async===!1){const d=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!isValid(d))return INVALID;const m=u.transform(d.value,c);if(m instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:l.value,value:m}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then(d=>isValid(d)?Promise.resolve(u.transform(d.value,c)).then(m=>({status:l.value,value:m})):INVALID);util.assertNever(u)}}ZodEffects.create=(t,a,l)=>new ZodEffects({schema:t,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:a,...processCreateParams(l)});ZodEffects.createWithPreprocess=(t,a,l)=>new ZodEffects({schema:a,effect:{type:"preprocess",transform:t},typeName:ZodFirstPartyTypeKind.ZodEffects,...processCreateParams(l)});class ZodOptional extends ZodType{_parse(a){return this._getType(a)===ZodParsedType.undefined?OK(void 0):this._def.innerType._parse(a)}unwrap(){return this._def.innerType}}ZodOptional.create=(t,a)=>new ZodOptional({innerType:t,typeName:ZodFirstPartyTypeKind.ZodOptional,...processCreateParams(a)});class ZodNullable extends ZodType{_parse(a){return this._getType(a)===ZodParsedType.null?OK(null):this._def.innerType._parse(a)}unwrap(){return this._def.innerType}}ZodNullable.create=(t,a)=>new ZodNullable({innerType:t,typeName:ZodFirstPartyTypeKind.ZodNullable,...processCreateParams(a)});class ZodDefault extends ZodType{_parse(a){const{ctx:l}=this._processInputParams(a);let o=l.data;return l.parsedType===ZodParsedType.undefined&&(o=this._def.defaultValue()),this._def.innerType._parse({data:o,path:l.path,parent:l})}removeDefault(){return this._def.innerType}}ZodDefault.create=(t,a)=>new ZodDefault({innerType:t,typeName:ZodFirstPartyTypeKind.ZodDefault,defaultValue:typeof a.default=="function"?a.default:()=>a.default,...processCreateParams(a)});class ZodCatch extends ZodType{_parse(a){const{ctx:l}=this._processInputParams(a),o={...l,common:{...l.common,issues:[]}},u=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});return isAsync(u)?u.then(c=>({status:"valid",value:c.status==="valid"?c.value:this._def.catchValue({get error(){return new ZodError(o.common.issues)},input:o.data})})):{status:"valid",value:u.status==="valid"?u.value:this._def.catchValue({get error(){return new ZodError(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}}ZodCatch.create=(t,a)=>new ZodCatch({innerType:t,typeName:ZodFirstPartyTypeKind.ZodCatch,catchValue:typeof a.catch=="function"?a.catch:()=>a.catch,...processCreateParams(a)});class ZodNaN extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.nan){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.nan,received:o.parsedType}),INVALID}return{status:"valid",value:a.data}}}ZodNaN.create=t=>new ZodNaN({typeName:ZodFirstPartyTypeKind.ZodNaN,...processCreateParams(t)});class ZodBranded extends ZodType{_parse(a){const{ctx:l}=this._processInputParams(a),o=l.data;return this._def.type._parse({data:o,path:l.path,parent:l})}unwrap(){return this._def.type}}class ZodPipeline extends ZodType{_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.common.async)return(async()=>{const c=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});return c.status==="aborted"?INVALID:c.status==="dirty"?(l.dirty(),DIRTY(c.value)):this._def.out._parseAsync({data:c.value,path:o.path,parent:o})})();{const u=this._def.in._parseSync({data:o.data,path:o.path,parent:o});return u.status==="aborted"?INVALID:u.status==="dirty"?(l.dirty(),{status:"dirty",value:u.value}):this._def.out._parseSync({data:u.value,path:o.path,parent:o})}}static create(a,l){return new ZodPipeline({in:a,out:l,typeName:ZodFirstPartyTypeKind.ZodPipeline})}}class ZodReadonly extends ZodType{_parse(a){const l=this._def.innerType._parse(a),o=u=>(isValid(u)&&(u.value=Object.freeze(u.value)),u);return isAsync(l)?l.then(u=>o(u)):o(l)}unwrap(){return this._def.innerType}}ZodReadonly.create=(t,a)=>new ZodReadonly({innerType:t,typeName:ZodFirstPartyTypeKind.ZodReadonly,...processCreateParams(a)});var ZodFirstPartyTypeKind;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(ZodFirstPartyTypeKind||(ZodFirstPartyTypeKind={}));const stringType=ZodString.create,numberType=ZodNumber.create,booleanType=ZodBoolean.create,unknownType=ZodUnknown.create;ZodNever.create;const arrayType=ZodArray.create,objectType=ZodObject.create;ZodUnion.create;ZodIntersection.create;ZodTuple.create;const recordType=ZodRecord.create;ZodEnum.create;ZodPromise.create;ZodOptional.create;ZodNullable.create;objectType({id:stringType(),agentId:stringType(),clappId:stringType(),intent:stringType(),payload:recordType(unknownType()),timestamp:stringType()});objectType({agentId:stringType(),clappId:stringType(),version:numberType(),timestamp:stringType(),state:recordType(unknownType())});const AppEntrySchema=objectType({id:stringType(),name:stringType(),description:stringType().default(""),emoji:stringType().default("📦"),icon:stringType().default(""),tags:arrayType(stringType()).default([]),pinned:booleanType().default(!1)});objectType({agentId:stringType(),apps:arrayType(AppEntrySchema)});objectType({agentId:stringType(),viewId:stringType(),content:stringType()});const Card$1=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("div",{ref:l,className:cn("rounded-lg border border-border bg-card text-card-foreground shadow-sm",t),...a}));Card$1.displayName="Card";const CardHeader=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("div",{ref:l,className:cn("flex flex-col space-y-1.5 p-4 pb-2",t),...a}));CardHeader.displayName="CardHeader";const CardTitle=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("h3",{ref:l,className:cn("text-base font-semibold leading-none tracking-tight",t),...a}));CardTitle.displayName="CardTitle";const CardDescription=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("p",{ref:l,className:cn("text-sm text-muted-foreground",t),...a}));CardDescription.displayName="CardDescription";const CardContent=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("div",{ref:l,className:cn("p-4 pt-0",t),...a}));CardContent.displayName="CardContent";const CardFooter=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("div",{ref:l,className:cn("flex items-center p-4 pt-0",t),...a}));CardFooter.displayName="CardFooter";function Card({title:t,children:a}){return jsxRuntimeExports.jsxs(Card$1,{children:[t&&jsxRuntimeExports.jsx(CardHeader,{children:jsxRuntimeExports.jsx(CardTitle,{children:t})}),jsxRuntimeExports.jsx(CardContent,{className:t?"":"pt-4",children:a})]})}function Column({gap:t=2,children:a,className:l}){const o=`gap-${t}`;return jsxRuntimeExports.jsx("div",{className:cn("flex flex-col",o,l),children:a})}const alignMap={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},justifyMap={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around"};function Row({gap:t=2,align:a="center",justify:l="start",children:o,className:u}){return jsxRuntimeExports.jsx("div",{className:cn("flex flex-row",`gap-${t}`,alignMap[a],justifyMap[l],u),children:o})}const levelStyles={1:"text-2xl font-bold tracking-tight",2:"text-xl font-semibold tracking-tight",3:"text-lg font-semibold",4:"text-base font-medium",5:"text-sm font-medium",6:"text-sm font-medium text-muted-foreground"};function Heading({level:t=2,children:a,className:l}){const o=`h${t}`;return jsxRuntimeExports.jsx(o,{className:cn(levelStyles[t],l),children:a})}const Input=reactExports.forwardRef(({className:t,type:a,...l},o)=>jsxRuntimeExports.jsx("input",{type:a,className:cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:o,...l}));Input.displayName="Input";const FormContext=reactExports.createContext(null);function useFormContext(){const t=reactExports.useContext(FormContext);return t||{values:{},setValue:()=>{},reset:()=>{}}}function FormProvider({children:t}){const[a,l]=reactExports.useState({}),o=(c,d)=>{l(m=>({...m,[c]:d}))},u=()=>{l({})};return jsxRuntimeExports.jsx(FormContext.Provider,{value:{values:a,setValue:o,reset:u},children:t})}function TextInput({name:t,type:a="text",placeholder:l}){const{values:o,setValue:u}=useFormContext(),c=o[t]??"";return jsxRuntimeExports.jsx(Input,{type:a,name:t,placeholder:l,value:c,onChange:d=>u(t,d.target.value)})}function IntentFormInner({intent:t,submitLabel:a="Submit",children:l}){const{values:o,reset:u}=useFormContext(),{sendIntent:c}=useClappContext(),d=m=>{m.preventDefault(),c(t,o),u()};return jsxRuntimeExports.jsxs("form",{onSubmit:d,className:"flex flex-col gap-3",children:[l,jsxRuntimeExports.jsx(Button,{type:"submit",className:"self-start",children:a})]})}function IntentForm(t){return jsxRuntimeExports.jsx(FormProvider,{children:jsxRuntimeExports.jsx(IntentFormInner,{...t})})}function IntentButton({intent:t,payload:a={},variant:l="outline",size:o="default",label:u,children:c}){const{emit:d}=useIntent(),m=l==="primary"?"default":l;return jsxRuntimeExports.jsx(Button,{variant:m,size:o,onClick:()=>d(t,a),children:c||u})}function Skeleton$1({className:t,...a}){return jsxRuntimeExports.jsx("div",{className:cn("animate-pulse rounded-md bg-muted",t),...a})}function Skeleton(){return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 py-2",children:[jsxRuntimeExports.jsx(Skeleton$1,{className:"h-4 w-4/5"}),jsxRuntimeExports.jsx(Skeleton$1,{className:"h-4 w-3/5"}),jsxRuntimeExports.jsx(Skeleton$1,{className:"h-4 w-4/5"})]})}function List({data:t,onItemClick:a,active:l,children:o,className:u}){const c=useClappState(t||"_empty_")??[],d=useClappState(l||"_empty_"),{emit:m}=useIntent();return t?c.length===0?jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center",children:"No items"}):jsxRuntimeExports.jsx("ul",{className:cn("flex flex-col gap-1",u),children:c.map((p,g)=>{const x=typeof p=="object"&&p!==null,b=x?p:null,C=String(b?b.text??JSON.stringify(p):p),R=b!=null&&b.role?String(b.role):void 0,_=b!=null&&b.id?String(b.id):`${g}`,B=p===d;return jsxRuntimeExports.jsx("li",{className:cn("flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors",a&&"cursor-pointer",B?"bg-accent text-accent-foreground":"hover:bg-accent/50",R==="assistant"&&"bg-muted/50",R==="user"&&"bg-primary/10"),onClick:a?()=>m(a,x?p:{value:p}):void 0,role:a?"button":void 0,children:C},_)})}):jsxRuntimeExports.jsx("ul",{className:cn("flex flex-col gap-1",u),children:o})}function ListItem({active:t,children:a,className:l,onClick:o}){return jsxRuntimeExports.jsx("li",{className:cn("flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors cursor-pointer",t?"bg-accent text-accent-foreground":"hover:bg-accent/50",l),onClick:o,children:a})}function Conditional({when:t,children:a}){const l=(t==null?void 0:t.startsWith("!"))??!1,o=l?t.slice(1):t??"",u=useClappState(o||"_empty_");return(l?!u:!!u)?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:a}):null}function MarkdownContent({source:t,content:a,className:l}){const o=useClappState(t||"_empty_"),u=a??o??"";return u?jsxRuntimeExports.jsx("div",{className:cn("prose prose-invert prose-sm max-w-none",l),children:jsxRuntimeExports.jsx(Markdown,{components:{h1:({children:c})=>jsxRuntimeExports.jsx("h1",{className:"text-xl font-bold mt-4 mb-2",children:c}),h2:({children:c})=>jsxRuntimeExports.jsx("h2",{className:"text-lg font-semibold mt-3 mb-2",children:c}),h3:({children:c})=>jsxRuntimeExports.jsx("h3",{className:"text-base font-semibold mt-2 mb-1",children:c}),p:({children:c})=>jsxRuntimeExports.jsx("p",{className:"my-2 text-sm leading-relaxed",children:c}),ul:({children:c})=>jsxRuntimeExports.jsx("ul",{className:"list-disc list-inside my-2 text-sm",children:c}),ol:({children:c})=>jsxRuntimeExports.jsx("ol",{className:"list-decimal list-inside my-2 text-sm",children:c}),li:({children:c})=>jsxRuntimeExports.jsx("li",{className:"my-0.5",children:c}),code:({children:c,className:d})=>!d?jsxRuntimeExports.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded text-xs font-mono",children:c}):jsxRuntimeExports.jsx("code",{className:d,children:c}),pre:({children:c})=>jsxRuntimeExports.jsx("pre",{className:"bg-card border border-border rounded-md p-3 overflow-x-auto my-2 text-xs",children:c}),blockquote:({children:c})=>jsxRuntimeExports.jsx("blockquote",{className:"border-l-2 border-primary pl-3 my-2 text-muted-foreground italic",children:c}),a:({href:c,children:d})=>jsxRuntimeExports.jsx("a",{href:c,className:"text-primary hover:underline",target:"_blank",rel:"noopener noreferrer",children:d}),strong:({children:c})=>jsxRuntimeExports.jsx("strong",{className:"font-semibold",children:c}),em:({children:c})=>jsxRuntimeExports.jsx("em",{className:"italic",children:c})},children:u})}):null}function Icon({name:t,emoji:a,className:l}){return a?jsxRuntimeExports.jsx("span",{className:cn("text-base leading-none",l),children:a}):t?jsxRuntimeExports.jsx("span",{className:cn("text-base leading-none",l),children:"•"}):null}const PROVIDER_CONFIGS=[{type:"anthropic",name:"Anthropic",description:"Claude models via API or subscription",authModes:[{mode:"api-key",label:"API Key",description:"Use your Anthropic API key (usage-based billing)",helpUrl:"https://console.anthropic.com/settings/keys",fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"sk-ant-api03-...",helpText:"Get your API key from the Anthropic Console"}]},{mode:"subscription",label:"Claude Subscription",description:"Use your Claude Pro/Max subscription",helpUrl:"https://docs.openclaw.ai/providers/anthropic#option-b-claude-setup-token",fields:[{name:"setupToken",label:"Setup Token",type:"textarea",placeholder:"Paste your setup token here...",helpText:"Run 'claude setup-token' in your terminal to generate this"}]}]},{type:"openai",name:"OpenAI",description:"GPT models via API or Codex subscription",authModes:[{mode:"api-key",label:"API Key",description:"Use your OpenAI API key (usage-based billing)",helpUrl:"https://platform.openai.com/api-keys",fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"sk-...",helpText:"Get your API key from the OpenAI dashboard"}]},{mode:"subscription",label:"Codex Subscription",description:"Use your ChatGPT Plus/Pro subscription via Codex",helpUrl:"https://docs.openclaw.ai/providers/openai#option-b-openai-code-codex-subscription",fields:[]}]},{type:"kimi-coding",name:"Kimi Coding",description:"Moonshot's Kimi K2 models for coding",authModes:[{mode:"api-key",label:"API Key",description:"Use your Kimi Coding API key",helpUrl:"https://platform.moonshot.cn/console/api-keys",fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"sk-...",helpText:"Get your API key from the Moonshot platform"}]}]}];function ProviderEditor({isOpen:t,onClose:a,editingProvider:l}){const{emit:o}=useIntent(),[u,c]=reactExports.useState("select"),[d,m]=reactExports.useState(null),[p,g]=reactExports.useState(null),[x,b]=reactExports.useState(""),[C,R]=reactExports.useState({}),[_,B]=reactExports.useState({}),[L,D]=reactExports.useState(!1),[H,V]=reactExports.useState(null);reactExports.useEffect(()=>{if(t){if(l){m(l.type);const ae=l.authType==="subscription"||l.authType==="oauth"||l.mode==="oauth"?"subscription":"api-key";g(ae),b(l.name),c("configure")}else c("select"),m(null),g(null),b("");R({}),B({}),V(null),D(!1)}},[t,l]);const se=d?PROVIDER_CONFIGS.find(ae=>ae.type===d):null,te=se&&p?se.authModes.find(ae=>ae.mode===p):null,Y=ae=>{m(ae);const Ce=PROVIDER_CONFIGS.find(ye=>ye.type===ae);Ce&&(g(Ce.authModes[0].mode),b(Ce.name)),c("configure")},ge=(ae,Ce)=>{R(ye=>({...ye,[ae]:Ce})),V(null)},W=ae=>{B(Ce=>({...Ce,[ae]:!Ce[ae]}))},ve=async()=>{var ae,Ce;if(!(!d||!p||!se)){if(te!=null&&te.fields.length){for(const ye of te.fields)if(!((ae=C[ye.name])!=null&&ae.trim())){V(`${ye.label} is required`);return}}D(!0),V(null);try{const ye=getIntentName(d,p),ee={customName:x.trim()||se.name,profileId:l==null?void 0:l.id};for(const P of(te==null?void 0:te.fields)??[])ee[P.name]=(Ce=C[P.name])==null?void 0:Ce.trim();o(ye,ee),await new Promise(P=>setTimeout(P,1e3)),a()}catch(ye){V(ye instanceof Error?ye.message:"Failed to save provider")}finally{D(!1)}}},K=()=>{d&&(D(!0),o("settings.startOAuth",{provider:d==="openai"?"openai-codex":d,customName:x.trim()||(se==null?void 0:se.name)}))},Ee=()=>{l&&confirm(`Delete "${l.name}"? This cannot be undone.`)&&(o("settings.deleteProvider",{profileId:l.id}),a())};return t?jsxRuntimeExports.jsxs("div",{className:"fixed inset-0 z-50 flex items-end sm:items-center justify-center",children:[jsxRuntimeExports.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:a}),jsxRuntimeExports.jsxs("div",{className:"relative w-full sm:max-w-md bg-background rounded-t-2xl sm:rounded-2xl shadow-xl max-h-[90vh] overflow-hidden flex flex-col animate-in slide-in-from-bottom-4 sm:slide-in-from-bottom-0 sm:zoom-in-95",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border shrink-0",children:[jsxRuntimeExports.jsx("h2",{className:"text-lg font-semibold",children:l?"Edit Provider":"Add Provider"}),jsxRuntimeExports.jsx("button",{onClick:a,className:"p-1 rounded-full hover:bg-muted transition-colors","aria-label":"Close",children:jsxRuntimeExports.jsx(X,{className:"h-5 w-5"})})]}),jsxRuntimeExports.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[u==="select"&&jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[jsxRuntimeExports.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Choose a provider to add:"}),PROVIDER_CONFIGS.map(ae=>jsxRuntimeExports.jsxs("button",{onClick:()=>Y(ae.type),className:"w-full text-left p-4 rounded-lg border border-border hover:border-primary hover:bg-muted/50 transition-colors",children:[jsxRuntimeExports.jsx("div",{className:"font-medium",children:ae.name}),jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground",children:ae.description})]},ae.type))]}),u==="configure"&&se&&jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Display Name"}),jsxRuntimeExports.jsx("input",{type:"text",value:x,onChange:ae=>b(ae.target.value),placeholder:se.name,className:"w-full h-10 px-3 rounded-md border border-input bg-background text-sm focus:outline-none focus:ring-2 focus:ring-primary"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground",children:'Give this configuration a custom name (e.g., "Work Account", "Personal")'})]}),se.authModes.length>1&&jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Authentication Method"}),jsxRuntimeExports.jsx("div",{className:"grid grid-cols-2 gap-2",children:se.authModes.map(ae=>jsxRuntimeExports.jsxs("button",{onClick:()=>g(ae.mode),className:cn("p-3 rounded-lg border text-left transition-colors",p===ae.mode?"border-primary bg-primary/10":"border-border hover:border-muted-foreground"),children:[jsxRuntimeExports.jsx("div",{className:"text-sm font-medium",children:ae.label}),jsxRuntimeExports.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:ae.description})]},ae.mode))})]}),te&&jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[te.fields.length>0?te.fields.map(ae=>jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:ae.label}),(l==null?void 0:l.maskedCredential)&&!C[ae.name]&&jsxRuntimeExports.jsxs("div",{className:"text-xs text-muted-foreground bg-muted/50 px-2 py-1 rounded mb-1",children:["Current: ",l.maskedCredential]}),ae.type==="textarea"?jsxRuntimeExports.jsx("textarea",{value:C[ae.name]??"",onChange:Ce=>ge(ae.name,Ce.target.value),placeholder:l?"Enter new value to replace...":ae.placeholder,rows:4,className:"w-full px-3 py-2 rounded-md border border-input bg-background text-sm font-mono focus:outline-none focus:ring-2 focus:ring-primary resize-none"}):jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx("input",{type:ae.type==="password"&&!_[ae.name]?"password":"text",value:C[ae.name]??"",onChange:Ce=>ge(ae.name,Ce.target.value),placeholder:l?"Enter new value to replace...":ae.placeholder,className:"w-full h-10 px-3 pr-10 rounded-md border border-input bg-background text-sm font-mono focus:outline-none focus:ring-2 focus:ring-primary"}),ae.type==="password"&&jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>W(ae.name),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 text-muted-foreground hover:text-foreground",children:_[ae.name]?jsxRuntimeExports.jsx(EyeOff,{className:"h-4 w-4"}):jsxRuntimeExports.jsx(Eye,{className:"h-4 w-4"})})]}),ae.helpText&&jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground",children:ae.helpText})]},ae.name)):jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[jsxRuntimeExports.jsxs("p",{className:"text-sm text-muted-foreground",children:["Click the button below to sign in with your ",se.name," account."]}),jsxRuntimeExports.jsx(Button,{onClick:K,disabled:L,className:"w-full",children:L?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin mr-2"}),"Connecting..."]}):`Sign in with ${se.name}`})]}),te.helpUrl&&jsxRuntimeExports.jsxs("a",{href:te.helpUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs text-primary hover:underline",children:["Learn more",jsxRuntimeExports.jsx(ExternalLink,{className:"h-3 w-3"})]})]}),H&&jsxRuntimeExports.jsx("div",{className:"p-3 rounded-md bg-destructive/10 text-destructive text-sm",children:H})]})]}),u==="configure"&&(te==null?void 0:te.fields.length)!==0&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-t border-border shrink-0",children:[l&&jsxRuntimeExports.jsx(Button,{variant:"destructive",onClick:Ee,disabled:L,className:"mr-auto",children:"Delete"}),jsxRuntimeExports.jsx(Button,{variant:"outline",onClick:()=>l?a():c("select"),disabled:L,children:l?"Cancel":"Back"}),jsxRuntimeExports.jsx(Button,{onClick:ve,disabled:L,children:L?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin mr-2"}),"Saving..."]}):l?"Update":"Add Provider"})]})]})]}):null}function getIntentName(t,a){var o;return((o={anthropic:{"api-key":"settings.setAnthropicKey",subscription:"settings.setClaudeToken"},openai:{"api-key":"settings.setOpenAIKey",subscription:"settings.startOAuth"},"kimi-coding":{"api-key":"settings.setKimiCodingKey",subscription:"settings.setKimiCodingKey"}}[t])==null?void 0:o[a])??"settings.addProvider"}function getProviderIdentifier(t){const[,a]=t.split(":");return a||t}function providerOptionLabel(t){return`${t.name} · ${getProviderIdentifier(t.id)}`}function ProviderList({data:t="configuredProviders"}){const a=useClappState(t)??[],l=useClappState("active.model")??"",o=useClappState("active.profileId")??"",{emit:u}=useIntent(),c=a.find(ee=>ee.active)??a[0],[d,m]=reactExports.useState(o||(c==null?void 0:c.id)||""),[p,g]=reactExports.useState(l??""),[x,b]=reactExports.useState(!1),[C,R]=reactExports.useState(!1),[_,B]=reactExports.useState(null),[L,D]=reactExports.useState(!1),[H,V]=reactExports.useState(null),se=d!==(o||(c==null?void 0:c.id)||"")||p!==(l??"");reactExports.useEffect(()=>{!c&&!o||(!d||!x&&!se)&&m(o||(c==null?void 0:c.id)||"")},[c,o,x,se,d]),reactExports.useEffect(()=>{l&&(!p||!x&&!se)&&g(l)},[l,x,p,se]);const te=reactExports.useMemo(()=>{const ee=a.find(P=>P.id===d);return(ee==null?void 0:ee.models)??[]},[a,d]);reactExports.useEffect(()=>{if(!te.length)return;te.some(P=>P.id===p)||g(te[0].id)},[te,p]);const Y=d!==(o||(c==null?void 0:c.id)||""),ge=!!(p&&p!==l),W=Y||ge;reactExports.useEffect(()=>{if(!x)return;const ee=(o||(c==null?void 0:c.id)||"")===d,P=!ge||l===p&&l.length>0;ee&&P&&(b(!1),R(!1),B(null))},[l,p,d,o,c,ge,x]),reactExports.useEffect(()=>{if(!x)return;const ee=setTimeout(()=>R(!0),1e4),P=setTimeout(()=>{b(!1),R(!1),B("Still applying took too long. Changes may still complete in the background.")},3e4);return()=>{clearTimeout(ee),clearTimeout(P)}},[x]);const ve=a.find(ee=>ee.id===d),K=ee=>{var fe,_e;if(x)return;m(ee);const P=a.find(O=>O.id===ee),he=(_e=(fe=P==null?void 0:P.models)==null?void 0:fe[0])==null?void 0:_e.id;g(he||"")},Ee=()=>{!W||!p||x||(b(!0),R(!1),B(null),Y&&u("settings.setActiveProfile",{profileId:d}),ge&&u("settings.setActiveModel",{model:p}))},ae=()=>{V(null),D(!0)},Ce=ee=>{const P=ee.id.split(":")[0],he={anthropic:"anthropic",openai:"openai","openai-codex":"openai","kimi-coding":"kimi-coding",moonshot:"kimi-coding"};V({id:ee.id,name:ee.name,type:he[P]??"anthropic",mode:ee.mode,authType:ee.authType,maskedCredential:ee.maskedCredential}),D(!0)},ye=()=>{D(!1),V(null)};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-1",children:[jsxRuntimeExports.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:"System Default"}),jsxRuntimeExports.jsx("p",{className:"text-sm font-medium",children:"Default model for new sessions"})]}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-muted-foreground",children:"Provider"}),jsxRuntimeExports.jsxs("div",{className:"relative flex gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"relative flex-1",children:[jsxRuntimeExports.jsx("select",{value:d,onChange:ee=>K(ee.target.value),disabled:x||a.length===0,className:"h-10 w-full appearance-none rounded-md border border-input bg-background pl-3 pr-10 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-primary disabled:opacity-70",children:a.length===0?jsxRuntimeExports.jsx("option",{value:"",children:"No providers configured"}):a.map(ee=>jsxRuntimeExports.jsx("option",{value:ee.id,children:providerOptionLabel(ee)},ee.id))}),jsxRuntimeExports.jsx(ChevronDown,{className:"absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none"})]}),ve&&jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>Ce(ve),disabled:x,className:cn("flex items-center justify-center h-10 w-10 rounded-md border border-input bg-background","hover:bg-muted transition-colors","disabled:opacity-50 disabled:cursor-not-allowed"),title:`Edit ${ve.name}`,children:jsxRuntimeExports.jsx(Pencil,{className:"h-4 w-4"})})]})]}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-muted-foreground",children:"Model"}),jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx("select",{value:p,onChange:ee=>g(ee.target.value),disabled:x||te.length===0,className:"h-10 w-full appearance-none rounded-md border border-input bg-background pl-3 pr-10 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-primary disabled:opacity-70",children:te.length===0?jsxRuntimeExports.jsx("option",{value:"",children:"No models available"}):te.map(ee=>jsxRuntimeExports.jsx("option",{value:ee.id,children:ee.label},ee.id))}),jsxRuntimeExports.jsx(ChevronDown,{className:"absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none"})]})]}),ve&&jsxRuntimeExports.jsxs("div",{className:"rounded-md border border-border bg-muted/30 px-3 py-2 text-xs text-muted-foreground",children:[jsxRuntimeExports.jsxs("div",{children:[providerOptionLabel(ve),": ",ve.maskedCredential??"No credential"]}),jsxRuntimeExports.jsxs("div",{className:"opacity-70",children:["id: ",ve.id]})]}),jsxRuntimeExports.jsx("button",{type:"button",onClick:Ee,disabled:!W||!p||x,className:cn("inline-flex h-10 items-center justify-center gap-2 rounded-md border px-4 text-sm font-medium transition-colors","border-primary bg-primary text-primary-foreground hover:bg-primary/90","disabled:cursor-not-allowed disabled:opacity-60"),children:x?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),C?"Still applying…":"Updating model…"]}):W?"Save changes":jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Check,{className:"h-4 w-4"}),"Up to date"]})}),_&&jsxRuntimeExports.jsx("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:_}),jsxRuntimeExports.jsx("div",{className:"pt-2 border-t border-border",children:jsxRuntimeExports.jsxs("button",{type:"button",onClick:ae,className:cn("inline-flex h-10 w-full items-center justify-center gap-2 rounded-md border border-dashed border-border","text-sm font-medium text-muted-foreground","hover:border-primary hover:text-foreground hover:bg-muted/50 transition-colors"),children:[jsxRuntimeExports.jsx(Plus,{className:"h-4 w-4"}),"Add Provider"]})})]}),jsxRuntimeExports.jsx(ProviderEditor,{isOpen:L,onClose:ye,editingProvider:H})]})}function SessionList(){const t=useClappState("sessions"),a=(t==null?void 0:t.sessions)??[],l=t==null?void 0:t.globalModel,{emit:o}=useIntent(),[u,c]=reactExports.useState(!1),[d,m]=reactExports.useState(null),[p,g]=reactExports.useState(!1);reactExports.useEffect(()=>{o("settings.listSessions",{})},[o]);const x=()=>{c(!0),o("settings.listSessions",{}),setTimeout(()=>c(!1),1500)},b=L=>{m(L),o("settings.resetSessionModel",{sessionKey:L}),setTimeout(()=>m(null),2e3)},C=()=>{g(!0),o("settings.applyDefaultToAll",{}),setTimeout(()=>g(!1),3e3)},R=a.filter(L=>L.isOverride).length,_=a.find(L=>L.key==="agent:main:main")??a[0],B=!!(_!=null&&_.isOverride);return a.length===0?jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("div",{className:"space-y-1",children:jsxRuntimeExports.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:"Active Sessions"})}),jsxRuntimeExports.jsx("button",{onClick:x,disabled:u,className:"p-1.5 rounded-md hover:bg-muted transition-colors disabled:opacity-50",title:"Refresh sessions",children:jsxRuntimeExports.jsx(RefreshCw,{className:cn("h-4 w-4",u&&"animate-spin")})})]}),jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center border border-dashed border-border rounded-md",children:"No active sessions found"})]}):jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-1",children:[jsxRuntimeExports.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:"Active Sessions"}),jsxRuntimeExports.jsxs("p",{className:"text-sm text-muted-foreground",children:[a.length," session",a.length!==1?"s":"",R>0&&jsxRuntimeExports.jsxs("span",{className:"text-amber-500 ml-1",children:["• ",R," override",R!==1?"s":""]})]})]}),jsxRuntimeExports.jsx("button",{onClick:x,disabled:u,className:"p-1.5 rounded-md hover:bg-muted transition-colors disabled:opacity-50",title:"Refresh sessions",children:jsxRuntimeExports.jsx(RefreshCw,{className:cn("h-4 w-4",u&&"animate-spin")})})]}),jsxRuntimeExports.jsxs("div",{className:cn("rounded-lg border p-3 space-y-2",B?"border-amber-500/50 bg-amber-500/5":"border-border bg-muted/30"),children:[jsxRuntimeExports.jsx("div",{className:"text-xs text-muted-foreground",children:"Model source of truth"}),jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between gap-4 text-sm",children:[jsxRuntimeExports.jsxs("div",{className:"min-w-0",children:[jsxRuntimeExports.jsx("div",{className:"text-muted-foreground text-xs",children:"Global default"}),jsxRuntimeExports.jsx("div",{className:"font-medium truncate",children:l??"unknown"})]}),jsxRuntimeExports.jsxs("div",{className:"min-w-0 text-right",children:[jsxRuntimeExports.jsx("div",{className:"text-muted-foreground text-xs",children:"This session"}),jsxRuntimeExports.jsx("div",{className:"font-medium truncate",children:(_==null?void 0:_.model)??"unknown"})]})]}),_&&jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("span",{className:cn("text-xs",B?"text-amber-500":"text-green-600 dark:text-green-400"),children:B?"Session override is active":"Session matches global default"}),B&&jsxRuntimeExports.jsx("button",{onClick:()=>b(_.key),disabled:d===_.key,className:"shrink-0 px-2 py-1 text-xs rounded-md border border-border hover:bg-muted transition-colors disabled:opacity-50",children:d===_.key?"Resetting…":"Reset this session"})]})]}),jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-2",children:a.map(L=>jsxRuntimeExports.jsxs("div",{className:cn("flex items-start justify-between gap-2 p-3 rounded-lg border",L.isOverride?"border-amber-500/50 bg-amber-500/5":"border-border bg-muted/30"),children:[jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[L.isOverride?jsxRuntimeExports.jsx(TriangleAlert,{className:"h-4 w-4 text-amber-500 shrink-0"}):jsxRuntimeExports.jsx(Check,{className:"h-4 w-4 text-green-500 shrink-0"}),jsxRuntimeExports.jsx("span",{className:"text-sm font-medium truncate",children:L.label})]}),jsxRuntimeExports.jsxs("div",{className:"mt-1 ml-6",children:[jsxRuntimeExports.jsx("span",{className:"text-xs text-muted-foreground",children:L.modelLabel}),L.isOverride&&jsxRuntimeExports.jsx("span",{className:"text-xs text-amber-500 ml-2",children:"(override)"})]})]}),L.isOverride&&jsxRuntimeExports.jsx("button",{onClick:()=>b(L.key),disabled:d===L.key,className:cn("shrink-0 px-2 py-1 text-xs rounded-md border border-border","hover:bg-muted transition-colors","disabled:opacity-50 disabled:cursor-not-allowed"),title:"Reset to system default",children:d===L.key?jsxRuntimeExports.jsx(LoaderCircle,{className:"h-3 w-3 animate-spin"}):jsxRuntimeExports.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntimeExports.jsx(RotateCcw,{className:"h-3 w-3"}),"Reset"]})})]},L.key))}),R>0&&jsxRuntimeExports.jsx("button",{onClick:C,disabled:p,className:cn("w-full py-2 px-4 text-sm font-medium rounded-md","border border-amber-500/50 text-amber-600 dark:text-amber-400","hover:bg-amber-500/10 transition-colors","disabled:opacity-50 disabled:cursor-not-allowed"),children:p?jsxRuntimeExports.jsxs("span",{className:"flex items-center justify-center gap-2",children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),"Applying to all sessions..."]}):`Apply default to all ${R} override${R!==1?"s":""}`})]})}function ChatMessages({messages:t,loading:a,loadingText:l="Thinking...",hasMore:o=!1,loadingOlder:u=!1,onLoadOlder:c}){const d=reactExports.useRef(null),m=reactExports.useRef(null),p=reactExports.useRef(!0);reactExports.useEffect(()=>{t.length===0&&(p.current=!0)},[t.length]),reactExports.useEffect(()=>{var C,R;const x=d.current;if(!x)return;if(p.current&&t.length>0){p.current=!1,(C=m.current)==null||C.scrollIntoView({behavior:"instant"});return}(x.scrollHeight-x.scrollTop-x.clientHeight<200||a)&&((R=m.current)==null||R.scrollIntoView({behavior:"smooth",block:"end"}))},[t,a]);const g=()=>{const x=d.current;!x||!o||u||!c||x.scrollTop<120&&c()};return t.length===0&&!a?jsxRuntimeExports.jsx("div",{className:"flex-1 flex items-center justify-center p-8",children:jsxRuntimeExports.jsxs("div",{className:"text-center max-w-md",children:[jsxRuntimeExports.jsx("h2",{className:"text-2xl font-semibold mb-2",children:"What can I do for you?"}),jsxRuntimeExports.jsx("p",{className:"text-muted-foreground",children:"Start a conversation by typing a message below."})]})}):jsxRuntimeExports.jsx("div",{ref:d,onScroll:g,className:"flex-1 overflow-y-auto",children:jsxRuntimeExports.jsxs("div",{className:"max-w-3xl mx-auto px-4 py-6 space-y-6",children:[u&&jsxRuntimeExports.jsx("div",{className:"text-center text-xs text-muted-foreground",children:"Loading older messages…"}),o&&!u&&jsxRuntimeExports.jsx("div",{className:"text-center text-xs text-muted-foreground",children:"Scroll up to load older messages"}),t.map(x=>jsxRuntimeExports.jsx(MessageBubble,{message:x},x.id)),a&&jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-4",children:[jsxRuntimeExports.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center",children:jsxRuntimeExports.jsx(Bot,{className:"h-4 w-4 text-primary"})}),jsxRuntimeExports.jsx("div",{className:"flex-1 pt-1",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),jsxRuntimeExports.jsx("span",{className:"text-sm line-clamp-2",children:l})]})})]}),jsxRuntimeExports.jsx("div",{ref:m})]})})}function MessageBubble({message:t}){const a=t.role==="user";return t.role==="system"?jsxRuntimeExports.jsx("div",{className:"text-center",children:jsxRuntimeExports.jsx("span",{className:"text-xs text-muted-foreground bg-muted px-3 py-1 rounded-full",children:t.content})}):jsxRuntimeExports.jsxs("div",{className:cn("flex items-start gap-4",a&&"flex-row-reverse"),children:[jsxRuntimeExports.jsx("div",{className:cn("shrink-0 w-8 h-8 rounded-full flex items-center justify-center",a?"bg-primary text-primary-foreground":"bg-primary/10"),children:a?jsxRuntimeExports.jsx(User,{className:"h-4 w-4"}):jsxRuntimeExports.jsx(Bot,{className:"h-4 w-4 text-primary"})}),jsxRuntimeExports.jsx("div",{className:cn("flex-1 min-w-0 pt-1",a&&"text-right"),children:jsxRuntimeExports.jsxs("div",{className:cn("inline-block text-left rounded-2xl px-4 py-2 max-w-full",a?"bg-primary text-primary-foreground rounded-tr-sm":"bg-muted rounded-tl-sm"),children:[t.attachments&&t.attachments.length>0&&jsxRuntimeExports.jsxs("div",{className:"mb-2 space-y-2",children:[jsxRuntimeExports.jsx("div",{className:"grid grid-cols-2 gap-2",children:t.attachments.filter(o=>o.type==="image").map(o=>jsxRuntimeExports.jsx("a",{href:o.url,target:"_blank",rel:"noreferrer",children:jsxRuntimeExports.jsx("img",{src:o.url,alt:o.name,className:"rounded-md border border-black/10 dark:border-white/10 max-h-52 object-cover",loading:"lazy"})},o.id))}),t.attachments.filter(o=>o.type==="file").map(o=>jsxRuntimeExports.jsxs("a",{href:o.url,target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 rounded-md border border-black/10 dark:border-white/10 px-2 py-1.5 text-xs hover:bg-black/5 dark:hover:bg-white/5",children:[jsxRuntimeExports.jsx(Paperclip,{className:"h-3.5 w-3.5"}),jsxRuntimeExports.jsx("span",{className:"truncate",children:o.name})]},o.id))]}),t.content&&jsxRuntimeExports.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none break-words",children:jsxRuntimeExports.jsx(Markdown,{components:{code:({className:o,children:u,...c})=>o?jsxRuntimeExports.jsx("pre",{className:"bg-black/10 dark:bg-white/10 p-3 rounded-lg overflow-x-auto my-2",children:jsxRuntimeExports.jsx("code",{className:"text-sm",...c,children:u})}):jsxRuntimeExports.jsx("code",{className:"bg-black/10 dark:bg-white/10 px-1 py-0.5 rounded text-sm",...c,children:u}),p:({children:o})=>jsxRuntimeExports.jsx("p",{className:"mb-2 last:mb-0",children:o})},children:t.content})})]})})]})}function ChatInput({onSend:t,disabled:a=!1,placeholder:l="Message..."}){const[o,u]=reactExports.useState(""),[c,d]=reactExports.useState([]),m=reactExports.useRef(null),p=reactExports.useRef(null);reactExports.useEffect(()=>{const L=m.current;L&&(L.style.height="auto",L.style.height=`${Math.min(L.scrollHeight,200)}px`)},[o]);const g=L=>new Promise((D,H)=>{const V=new FileReader;V.onload=()=>D(String(V.result??"")),V.onerror=()=>H(new Error(`Failed to read file: ${L.name}`)),V.readAsDataURL(L)}),x=async L=>{if(!L.length)return;const D=await Promise.all(L.map(async(H,V)=>{const se=await g(H);return{id:`file-${Date.now()}-${V}`,name:H.name||`attachment-${Date.now()}`,mimeType:H.type||"application/octet-stream",size:H.size,dataUrl:se,isImage:H.type.startsWith("image/")}}));d(H=>[...H,...D])},b=async L=>{var se;const H=Array.from(((se=L.clipboardData)==null?void 0:se.items)??[]).filter(te=>te.type.startsWith("image/"));if(!H.length)return;L.preventDefault();const V=H.map(te=>te.getAsFile()).filter(Boolean);await x(V)},C=async L=>{const D=Array.from(L.target.files??[]);await x(D),L.target.value=""},R=()=>{const L=o.trim();!L&&c.length===0||a||(t(L,c.map(({id:D,isImage:H,...V})=>V)),u(""),d([]),m.current&&(m.current.style.height="auto"))},_=L=>d(D=>D.filter(H=>H.id!==L)),B=L=>{L.key==="Enter"&&!L.shiftKey&&(L.preventDefault(),R())};return jsxRuntimeExports.jsx("div",{className:"shrink-0 border-t border-border bg-background",children:jsxRuntimeExports.jsxs("div",{className:"max-w-3xl mx-auto p-4",children:[!!c.length&&jsxRuntimeExports.jsx("div",{className:"mb-2 flex flex-wrap gap-2",children:c.map(L=>jsxRuntimeExports.jsxs("div",{className:"relative rounded-md border bg-muted/40 overflow-hidden",children:[L.isImage?jsxRuntimeExports.jsx("img",{src:L.dataUrl,alt:L.name,className:"h-16 w-16 object-cover"}):jsxRuntimeExports.jsxs("div",{className:"h-16 min-w-40 px-2 flex items-center gap-2 text-xs",children:[jsxRuntimeExports.jsx(Paperclip,{className:"h-3.5 w-3.5"}),jsxRuntimeExports.jsx("span",{className:"truncate max-w-28",children:L.name})]}),jsxRuntimeExports.jsx("button",{onClick:()=>_(L.id),className:"absolute top-0.5 right-0.5 rounded-full bg-black/70 text-white p-0.5",title:"Remove",children:jsxRuntimeExports.jsx(X,{className:"h-3 w-3"})})]},L.id))}),jsxRuntimeExports.jsxs("div",{className:cn("flex items-end gap-2 rounded-2xl border border-border bg-muted/30 p-2","focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/20",a&&"opacity-60"),children:[jsxRuntimeExports.jsx("input",{ref:p,type:"file",multiple:!0,onChange:C,className:"hidden",accept:"image/*,.pdf,.txt,.md,.csv,.json,.doc,.docx,.xls,.xlsx,.ppt,.pptx"}),jsxRuntimeExports.jsx("button",{onClick:()=>{var L;return(L=p.current)==null?void 0:L.click()},className:"shrink-0 p-2 rounded-xl bg-background border border-border hover:bg-muted transition-colors",title:"Add photos & files",children:jsxRuntimeExports.jsx(Plus,{className:"h-4 w-4"})}),jsxRuntimeExports.jsx("textarea",{ref:m,value:o,onChange:L=>u(L.target.value),onKeyDown:B,onPaste:b,placeholder:l,disabled:a,rows:1,className:cn("flex-1 resize-none bg-transparent px-2 py-1.5 text-sm","placeholder:text-muted-foreground focus:outline-none disabled:cursor-not-allowed")}),jsxRuntimeExports.jsx("button",{onClick:R,disabled:a||!o.trim()&&c.length===0,className:cn("shrink-0 p-2 rounded-xl transition-colors","bg-primary text-primary-foreground hover:bg-primary/90","disabled:opacity-50 disabled:cursor-not-allowed"),children:jsxRuntimeExports.jsx(Send,{className:"h-4 w-4"})})]}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground text-center mt-2",children:"Enter to send • Shift+Enter newline • Paste images or use + for files"})]})})}function ChatLayout(){const t=useClappState("chat"),a=(t==null?void 0:t.sessions)??[],l=t==null?void 0:t.activeSession,o=(t==null?void 0:t.messages)??[],u=(t==null?void 0:t.loading)??!1,c=(t==null?void 0:t.loadingText)??"Thinking...",d=(t==null?void 0:t.loadingOlder)??!1,m=(t==null?void 0:t.hasMore)??!1,{emit:p}=useIntent(),[g,x]=reactExports.useState(!1),[b,C]=reactExports.useState(null),R=reactExports.useRef(!1);reactExports.useEffect(()=>{l&&x(!1)},[l]),reactExports.useEffect(()=>{R.current||(R.current=!0,p("chat.init",{}))},[p]);const _=()=>{p("chat.newSession",{}),x(!1)},B=W=>{W!==l&&p("chat.switchSession",{sessionKey:W}),x(!1)},L=(W,ve)=>{ve.stopPropagation(),C(W),p("chat.deleteSession",{sessionKey:W}),setTimeout(()=>C(null),1e3)},[D,H]=reactExports.useState(null),V=(W,ve)=>{W.trim()&&H({id:`pending-${Date.now()}`,role:"user",content:W,timestamp:new Date().toISOString()}),p("chat.send",{text:W,attachments:ve??[]})};reactExports.useEffect(()=>{D&&o.some(W=>W.role==="user"&&W.content===D.content)&&H(null)},[o,D]);const se=D?[...o,D]:o,te=u||!!D,Y=()=>{!d&&m&&p("chat.loadOlder",{})},ge=a.find(W=>W.key===l);return jsxRuntimeExports.jsxs("div",{className:"flex h-full bg-background",children:[g&&jsxRuntimeExports.jsx("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>x(!1)}),jsxRuntimeExports.jsxs("aside",{className:cn("fixed lg:static inset-y-0 left-0 z-50 w-72 bg-muted/50 border-r border-border","transform transition-transform duration-200 ease-in-out","flex flex-col",g?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-border",children:[jsxRuntimeExports.jsx("h2",{className:"font-semibold text-sm",children:"Chats"}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("button",{onClick:_,className:"p-2 rounded-md hover:bg-muted transition-colors",title:"New chat",children:jsxRuntimeExports.jsx(Plus,{className:"h-4 w-4"})}),jsxRuntimeExports.jsx("button",{onClick:()=>x(!1),className:"p-2 rounded-md hover:bg-muted transition-colors lg:hidden",children:jsxRuntimeExports.jsx(X,{className:"h-4 w-4"})})]})]}),jsxRuntimeExports.jsx("div",{className:"flex-1 overflow-y-auto p-2",children:a.length===0?jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"No conversations yet"}):jsxRuntimeExports.jsx("div",{className:"space-y-1",children:a.map(W=>jsxRuntimeExports.jsx("button",{onClick:()=>B(W.key),className:cn("w-full text-left p-3 rounded-lg transition-colors group","hover:bg-muted",W.key===l&&"bg-muted"),children:jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-3",children:[jsxRuntimeExports.jsx(MessageSquare,{className:"h-4 w-4 mt-0.5 shrink-0 text-muted-foreground"}),jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntimeExports.jsx("div",{className:"text-sm font-medium truncate",children:W.title||"New conversation"}),jsxRuntimeExports.jsx("div",{className:"text-xs text-muted-foreground truncate mt-0.5",children:W.preview||"No messages"})]}),jsxRuntimeExports.jsx("button",{onClick:ve=>L(W.key,ve),className:cn("p-1 rounded opacity-0 group-hover:opacity-100 transition-opacity","hover:bg-destructive/20 hover:text-destructive",b===W.key&&"opacity-100"),title:"Delete conversation",children:jsxRuntimeExports.jsx(Trash2,{className:"h-3.5 w-3.5"})})]})},W.key))})})]}),jsxRuntimeExports.jsxs("main",{className:"flex-1 flex flex-col min-w-0",children:[jsxRuntimeExports.jsxs("header",{className:"flex items-center gap-3 px-4 py-3 border-b border-border shrink-0",children:[jsxRuntimeExports.jsx("button",{onClick:()=>x(!0),className:"p-2 -ml-2 rounded-md hover:bg-muted transition-colors lg:hidden",children:jsxRuntimeExports.jsx(Menu,{className:"h-5 w-5"})}),jsxRuntimeExports.jsx("div",{className:"flex-1 min-w-0",children:jsxRuntimeExports.jsx("h1",{className:"font-semibold truncate",children:(ge==null?void 0:ge.title)||"New conversation"})})]}),jsxRuntimeExports.jsx(ChatMessages,{messages:se,loading:te,loadingText:c,hasMore:m,loadingOlder:d,onLoadOlder:Y}),jsxRuntimeExports.jsx(ChatInput,{onSend:V,disabled:u})]})]})}function AccountCard({item:t}){const{emit:a}=useIntent();return jsxRuntimeExports.jsx(Card$1,{className:cn("p-4",!t.enabled&&"opacity-60"),children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsx("div",{className:"font-semibold",children:t.id}),jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground",children:t.mode==="socket"?"Socket Mode":"HTTP Mode"}),jsxRuntimeExports.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Token: ",t.botToken]})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("button",{onClick:()=>a("slack.testAccount",{accountId:t.id}),className:"px-3 py-1 text-sm rounded-md bg-muted hover:bg-muted/80",children:"Test"}),jsxRuntimeExports.jsx("button",{onClick:()=>a("slack.editAccount",{accountId:t.id}),className:"px-3 py-1 text-sm rounded-md bg-muted hover:bg-muted/80",children:"Edit"}),jsxRuntimeExports.jsx("button",{onClick:()=>a("slack.deleteAccount",{accountId:t.id}),className:"px-3 py-1 text-sm rounded-md bg-destructive/20 text-destructive hover:bg-destructive/30",children:"Delete"})]})]})})}function AccountEditor({account:t}){const{emit:a}=useIntent(),l=useClappState("slack.saving")??!1,o=useClappState("slack.saveError")??null,[u,c]=reactExports.useState(!1),[d,m]=reactExports.useState((t==null?void 0:t.id)||""),[p,g]=reactExports.useState((t==null?void 0:t.mode)||"socket"),[x,b]=reactExports.useState((t==null?void 0:t.botToken)||""),[C,R]=reactExports.useState((t==null?void 0:t.appToken)||""),[_,B]=reactExports.useState((t==null?void 0:t.signingSecret)||""),[L,D]=reactExports.useState((t==null?void 0:t.webhookPath)||"/slack/events"),H=u&&l;reactExports.useEffect(()=>{u&&(l||c(!1))},[u,l]),reactExports.useEffect(()=>{if(!u)return;const te=setTimeout(()=>c(!1),15e3);return()=>clearTimeout(te)},[u]);const V=()=>{c(!0),a("slack.saveAccount",{accountId:d||"default",mode:p,botToken:x,appToken:p==="socket"?C:void 0,signingSecret:p==="http"?_:void 0,webhookPath:p==="http"?L:void 0})},se=()=>{m(""),g("socket"),b(""),R(""),B(""),D("/slack/events")};return jsxRuntimeExports.jsx(Card$1,{className:"p-6",children:jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Account ID"}),jsxRuntimeExports.jsx(Input,{value:d,onChange:te=>m(te.target.value),placeholder:"default",disabled:H})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Mode"}),jsxRuntimeExports.jsxs("div",{className:"flex gap-2 mt-2",children:[jsxRuntimeExports.jsx(Button,{type:"button",variant:p==="socket"?"default":"outline",onClick:()=>g("socket"),disabled:H,children:"Socket Mode"}),jsxRuntimeExports.jsx(Button,{type:"button",variant:p==="http"?"default":"outline",onClick:()=>g("http"),disabled:H,children:"HTTP Events API"})]})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Bot Token"}),jsxRuntimeExports.jsx(Input,{value:x,onChange:te=>b(te.target.value),placeholder:"xoxb-...",type:"password",disabled:H})]}),p==="socket"&&jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"App Token"}),jsxRuntimeExports.jsx(Input,{value:C,onChange:te=>R(te.target.value),placeholder:"xapp-...",type:"password",disabled:H})]}),p==="http"&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Signing Secret"}),jsxRuntimeExports.jsx(Input,{value:_,onChange:te=>B(te.target.value),placeholder:"Signing secret",type:"password",disabled:H})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Webhook Path"}),jsxRuntimeExports.jsx(Input,{value:L,onChange:te=>D(te.target.value),placeholder:"/slack/events",disabled:H})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex gap-2 justify-end pt-2",children:[jsxRuntimeExports.jsx(Button,{type:"button",variant:"outline",onClick:se,disabled:H,children:"Clear"}),jsxRuntimeExports.jsx(Button,{type:"button",onClick:V,disabled:!x||H,children:H?"Saving…":"Save Account"})]}),o&&jsxRuntimeExports.jsx("p",{className:"text-xs text-rose-500",children:o})]})})}function ChannelList({channels:t}){const{emit:a}=useIntent();return!Array.isArray(t)||t.length===0?jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground text-center py-4",children:"No channels configured"}):jsxRuntimeExports.jsx("div",{className:"space-y-2",children:t.map(l=>jsxRuntimeExports.jsx(Card$1,{className:"p-4",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsx("div",{className:"font-semibold",children:l.name||l.id}),jsxRuntimeExports.jsxs("div",{className:"text-sm text-muted-foreground mt-1 space-y-1",children:[l.requireMention!==void 0&&jsxRuntimeExports.jsxs("div",{children:["Require mention: ",l.requireMention?"Yes":"No"]}),l.users&&l.users.length>0&&jsxRuntimeExports.jsxs("div",{children:["Users: ",l.users.join(", ")]}),l.skills&&l.skills.length>0&&jsxRuntimeExports.jsxs("div",{children:["Skills: ",l.skills.join(", ")]})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx(Button,{size:"sm",variant:"outline",onClick:()=>a("slack.editChannel",{channelId:l.id}),children:jsxRuntimeExports.jsx(SquarePen,{className:"h-4 w-4"})}),jsxRuntimeExports.jsx(Button,{size:"sm",variant:"destructive",onClick:()=>a("slack.removeChannel",{channelId:l.id}),children:jsxRuntimeExports.jsx(Trash2,{className:"h-4 w-4"})})]})]})},l.id))})}function ChannelEditor({channel:t,onClose:a}){const{emit:l}=useIntent(),[o,u]=reactExports.useState((t==null?void 0:t.id)||""),[c,d]=reactExports.useState((t==null?void 0:t.requireMention)??!0),[m,p]=reactExports.useState(((t==null?void 0:t.users)||[]).join(", ")),[g,x]=reactExports.useState(((t==null?void 0:t.skills)||[]).join(", ")),b=()=>{l("slack.saveChannel",{channelId:o,requireMention:c,users:m.split(",").map(C=>C.trim()).filter(Boolean),skills:g.split(",").map(C=>C.trim()).filter(Boolean)}),a==null||a()};return jsxRuntimeExports.jsx(Card$1,{className:"p-6 max-w-2xl mx-auto",children:jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsx("h2",{className:"text-xl font-semibold",children:t?"Edit Channel":"Add Channel"}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Channel ID"}),jsxRuntimeExports.jsx(Input,{value:o,onChange:C=>u(C.target.value),placeholder:"C1234567890",disabled:!!t}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Use Slack channel ID or name"})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("input",{type:"checkbox",checked:c,onChange:C=>d(C.target.checked),id:"requireMention",className:"rounded border-gray-300"}),jsxRuntimeExports.jsx("label",{htmlFor:"requireMention",className:"text-sm font-medium cursor-pointer",children:"Require mention to respond"})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Allowed Users (optional)"}),jsxRuntimeExports.jsx(Input,{value:m,onChange:C=>p(C.target.value),placeholder:"user:U123, user:U456"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Comma-separated list of user IDs or names"})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Custom Skills (optional)"}),jsxRuntimeExports.jsx(Input,{value:g,onChange:C=>x(C.target.value),placeholder:"weather, calendar"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Comma-separated list of skill IDs"})]}),jsxRuntimeExports.jsxs("div",{className:"flex gap-2 justify-end pt-4",children:[a&&jsxRuntimeExports.jsx(Button,{variant:"outline",onClick:a,children:"Cancel"}),jsxRuntimeExports.jsx(Button,{onClick:b,disabled:!o,children:"Save Channel"})]})]})})}function PolicySelector({value:t,type:a}){const{emit:l}=useIntent(),o=a==="dm"?[{value:"pairing",label:"Pairing (default)"},{value:"allowlist",label:"Allowlist"},{value:"open",label:"Open"},{value:"disabled",label:"Disabled"}]:[{value:"open",label:"Open"},{value:"allowlist",label:"Allowlist (recommended)"},{value:"disabled",label:"Disabled"}],u=c=>{a==="dm"?l("slack.setDmPolicy",{policy:c}):l("slack.setGroupPolicy",{policy:c})};return jsxRuntimeExports.jsx("select",{value:t,onChange:c=>u(c.target.value),className:"w-full px-3 py-2 border rounded-md bg-background",children:o.map(c=>jsxRuntimeExports.jsx("option",{value:c.value,children:c.label},c.value))})}function FeatureToggles({actions:t}){const{emit:a}=useIntent(),l=[{key:"messages",label:"Messages"},{key:"reactions",label:"Reactions"},{key:"pins",label:"Pins"},{key:"memberInfo",label:"Member Info"},{key:"emojiList",label:"Emoji List"}],o=(u,c)=>{a("slack.toggleAction",{group:u,enabled:c})};return jsxRuntimeExports.jsx("div",{className:"space-y-3",children:l.map(u=>{const c=t[u.key]!==!1;return jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-medium",children:u.label}),jsxRuntimeExports.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[jsxRuntimeExports.jsx("input",{type:"checkbox",checked:c,onChange:d=>o(u.key,d.target.checked),className:"sr-only peer"}),jsxRuntimeExports.jsx("div",{className:"w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600"})]})]},u.key)})})}function SlashCommandConfig({config:t}){const{emit:a}=useIntent(),[l,o]=reactExports.useState((t==null?void 0:t.enabled)||!1),[u,c]=reactExports.useState((t==null?void 0:t.name)||"openclaw"),d=()=>{a("slack.setSlashCommand",{enabled:l,name:u})};return jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("input",{type:"checkbox",checked:l,onChange:m=>o(m.target.checked),id:"slashEnabled",className:"rounded border-gray-300"}),jsxRuntimeExports.jsx("label",{htmlFor:"slashEnabled",className:"text-sm font-medium cursor-pointer",children:"Enable single slash command"})]}),l&&jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Command Name"}),jsxRuntimeExports.jsx(Input,{value:u,onChange:m=>c(m.target.value),placeholder:"openclaw"}),jsxRuntimeExports.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["Register /",u," in Slack app settings"]})]}),jsxRuntimeExports.jsx(Button,{onClick:d,size:"sm",children:"Save"}),jsxRuntimeExports.jsxs("div",{className:"text-xs text-muted-foreground mt-4 p-3 bg-muted rounded-md",children:[jsxRuntimeExports.jsx("p",{className:"font-medium mb-1",children:"Note:"}),jsxRuntimeExports.jsxs("p",{children:["For native command support, set"," ",jsxRuntimeExports.jsx("code",{className:"bg-background px-1 py-0.5 rounded",children:"channels.slack.commands.native: true"})," ","and register matching slash commands in Slack (use /agentstatus for the status command)."]})]})]})}function ConnectionStatus({status:t}){var o,u;if(!t)return jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Loading status..."})]});const a=((o=t.accounts)==null?void 0:o.filter(c=>c.connected).length)||0,l=((u=t.accounts)==null?void 0:u.length)||0;return jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:t.connected?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(CircleCheckBig,{className:"h-5 w-5 text-green-600"}),jsxRuntimeExports.jsx("span",{className:"font-medium",children:"Connected"})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(CircleX,{className:"h-5 w-5 text-red-600"}),jsxRuntimeExports.jsx("span",{className:"font-medium",children:"Disconnected"})]})}),t.accounts&&t.accounts.length>0&&jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("div",{className:"text-sm text-muted-foreground",children:[a," of ",l," accounts connected"]}),jsxRuntimeExports.jsx("div",{className:"space-y-1",children:t.accounts.map(c=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[c.connected?jsxRuntimeExports.jsx(CircleCheckBig,{className:"h-3 w-3 text-green-600"}):jsxRuntimeExports.jsx(CircleX,{className:"h-3 w-3 text-red-600"}),jsxRuntimeExports.jsx("span",{children:c.id})]},c.id))})]})]})}const componentMap={Column,Row,Heading,IntentButton,Icon,List,ListItem,Conditional,Skeleton,MarkdownContent,Card,TextInput,IntentForm,ProviderList,SessionList,ChatLayout,ChatMessages,ChatInput,AccountCard,AccountEditor,ChannelList,ChannelEditor,PolicySelector,FeatureToggles,SlashCommandConfig,ConnectionStatus};function LayoutNodeRenderer({node:t,moduleMap:a}){if(t.component==="Module"&&t.props.ref&&a){const u=String(t.props.ref),c=a.get(u);return c?jsxRuntimeExports.jsx(LayoutNodeRenderer,{node:c,moduleMap:a}):jsxRuntimeExports.jsxs("div",{className:"text-destructive text-sm p-2",children:["Module not found: ",u]})}const l=componentMap[t.component];if(!l)return jsxRuntimeExports.jsxs("div",{className:"text-destructive text-sm p-2",children:["Unknown component: ",t.component]});const o=t.children.map((u,c)=>typeof u=="string"?jsxRuntimeExports.jsx("span",{children:u},c):jsxRuntimeExports.jsx(LayoutNodeRenderer,{node:u,moduleMap:a},c));return jsxRuntimeExports.jsx(l,{...t.props,children:o})}function AppRenderer({spec:t,modules:a}){const l=reactExports.useMemo(()=>{const o=new Map;for(const u of a)o.set(`${u.domain}/${u.name}`,u.layout);return o},[a]);return jsxRuntimeExports.jsx("div",{className:"h-full overflow-y-auto p-4","data-app":t.name,children:jsxRuntimeExports.jsx(LayoutNodeRenderer,{node:t.layout,moduleMap:l})})}function ClappRenderer({clappId:t,transport:a}){const l=window.location.origin;return jsxRuntimeExports.jsx(ClappProvider,{serverUrl:l,clappId:t,transport:a,children:jsxRuntimeExports.jsx("div",{className:"flex flex-col h-full",children:jsxRuntimeExports.jsx(DynamicView,{clappId:t,transport:a})})})}function DynamicView({clappId:t,transport:a}){const[l,o]=reactExports.useState({status:"loading"});reactExports.useEffect(()=>{a.sendIntent(t,`${t}.init`,{})},[t,a]);const u=reactExports.useCallback(async()=>{try{const c=await a.fetchView(`${t}.app`);if(!c){o({status:"no-view"});return}const d=parseAppMd(c),p=(await Promise.all(d.modules.map(async g=>{const x=g.replace("/","."),b=await a.fetchView(`${x}.view`);return b?parseViewMd(b):null}))).filter(g=>g!==null);o({status:"ready",appSpec:d,modules:p})}catch(c){o({status:"error",message:c instanceof Error?c.message:"Failed to load views"})}},[t,a]);switch(reactExports.useEffect(()=>(u(),a.onView(d=>{(d===`${t}.app`||d.endsWith(".view"))&&u()})),[u,a,t]),l.status){case"loading":return jsxRuntimeExports.jsx("div",{className:"h-full p-4 animate-pulse",children:jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsx("div",{className:"h-8 w-40 rounded-md bg-muted"}),jsxRuntimeExports.jsxs("div",{className:"rounded-xl border border-border p-4 space-y-3",children:[jsxRuntimeExports.jsx("div",{className:"h-4 w-32 rounded bg-muted"}),jsxRuntimeExports.jsx("div",{className:"h-10 w-full rounded bg-muted"}),jsxRuntimeExports.jsx("div",{className:"h-10 w-full rounded bg-muted"}),jsxRuntimeExports.jsx("div",{className:"h-10 w-36 rounded bg-muted"})]}),jsxRuntimeExports.jsxs("div",{className:"rounded-xl border border-border p-4 space-y-3",children:[jsxRuntimeExports.jsx("div",{className:"h-4 w-28 rounded bg-muted"}),jsxRuntimeExports.jsx("div",{className:"h-20 w-full rounded bg-muted"})]})]})});case"no-view":return jsxRuntimeExports.jsx(StateInspector,{});case"error":return jsxRuntimeExports.jsxs("div",{className:"p-4",children:[jsxRuntimeExports.jsx("div",{className:"p-3 bg-destructive/10 text-destructive rounded-md text-sm",children:l.message}),jsxRuntimeExports.jsx("div",{className:"mt-4",children:jsxRuntimeExports.jsx(StateInspector,{})})]});case"ready":return jsxRuntimeExports.jsx(AppRenderer,{spec:l.appSpec,modules:l.modules})}}function StateInspector(){return jsxRuntimeExports.jsxs("div",{className:"p-4",children:[jsxRuntimeExports.jsx("div",{className:"text-xs text-muted-foreground mb-3 italic",children:"No view definition found. Showing raw state:"}),jsxRuntimeExports.jsx(StateTree,{})]})}function StateTree(){const{store:t}=useClappContext(),a=useStore(t,o=>o.state);return useClappLoading()?jsxRuntimeExports.jsx("div",{className:"text-muted-foreground text-sm",children:"Waiting for state..."}):!a||Object.keys(a).length===0?jsxRuntimeExports.jsx("div",{className:"text-muted-foreground text-sm",children:"No state available."}):jsxRuntimeExports.jsx("div",{className:"font-mono text-xs leading-relaxed",children:renderEntries(a,"")})}function renderEntries(t,a){return Object.entries(t).map(([l,o])=>{const u=a?`${a}.${l}`:l;return o!==null&&typeof o=="object"&&!Array.isArray(o)?jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"text-muted-foreground font-semibold",children:u}),jsxRuntimeExports.jsx("div",{className:"pl-4",children:renderEntries(o,u)})]},u):jsxRuntimeExports.jsxs("div",{className:"flex gap-2 py-0.5",children:[jsxRuntimeExports.jsxs("span",{className:"text-muted-foreground",children:[u,":"]}),jsxRuntimeExports.jsx("span",{children:typeof o=="string"?o:JSON.stringify(o)})]},u)})}function getServerUrl(){return window.location.origin}function AppRoutes({transport:t,apps:a}){return jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:"/",element:jsxRuntimeExports.jsx(AppLauncher,{transport:t,apps:a})}),jsxRuntimeExports.jsx(Route,{path:"/apps/:appId",element:jsxRuntimeExports.jsx(AppView,{transport:t,apps:a})})]})}function AppLauncher({transport:t,apps:a}){const l=useNavigate(),o=u=>{l(`/apps/${u}`)};return jsxRuntimeExports.jsxs("div",{className:"absolute inset-0 flex flex-col overflow-y-auto",children:[jsxRuntimeExports.jsx("header",{className:"flex items-center justify-center px-4 py-3 border-b border-border shrink-0",children:jsxRuntimeExports.jsx("h1",{className:"text-lg font-bold tracking-tight",children:"clapps"})}),jsxRuntimeExports.jsx(HomeScreen,{apps:a,transport:t,onOpenApp:o})]})}function AppView({transport:t,apps:a}){const{appId:l}=useParams(),o=useNavigate(),u=()=>{o("/")},c=a.find(d=>d.id===l);return jsxRuntimeExports.jsxs("div",{className:"absolute inset-0 flex flex-col overflow-hidden",children:[jsxRuntimeExports.jsxs("header",{className:"flex items-center px-4 py-3 border-b border-border shrink-0 min-h-[52px]",children:[jsxRuntimeExports.jsxs("button",{onClick:u,className:"flex items-center gap-0.5 text-primary text-sm font-medium -ml-1 pr-2","aria-label":"Back to home",children:[jsxRuntimeExports.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:"shrink-0",children:jsxRuntimeExports.jsx("path",{d:"M12.5 15L7.5 10L12.5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"Home"]}),jsxRuntimeExports.jsx("div",{className:"flex-1 text-center",children:jsxRuntimeExports.jsxs("span",{className:"text-sm font-semibold",children:[(c==null?void 0:c.emoji)&&jsxRuntimeExports.jsx("span",{className:"mr-1.5",children:c.emoji}),(c==null?void 0:c.name)??l]})}),jsxRuntimeExports.jsx("div",{className:"w-[60px]"})]}),l&&jsxRuntimeExports.jsx("div",{className:"flex-1 overflow-hidden",children:jsxRuntimeExports.jsx(ClappRenderer,{clappId:l,transport:t})})]})}function App(){const t=reactExports.useRef(void 0);t.current||(t.current=new ClappTransport({serverUrl:getServerUrl(),context:{platform:"web"}}));const a=t.current,[l,o]=reactExports.useState([]);return reactExports.useEffect(()=>{a.connect();const u=a.onApps(c=>{o(c)});return a.fetchApps().then(o).catch(()=>{}),()=>{u(),a.disconnect()}},[a]),jsxRuntimeExports.jsx("div",{className:"relative h-screen overflow-hidden bg-background",children:jsxRuntimeExports.jsx(BrowserRouter,{children:jsxRuntimeExports.jsx(AppRoutes,{transport:a,apps:l})})})}clientExports.createRoot(document.getElementById("root")).render(jsxRuntimeExports.jsx(reactExports.StrictMode,{children:jsxRuntimeExports.jsx(App,{})}));
|
|
278
|
+
`))}function p(R,_,B,L){const D=B.enter("tableCell"),H=B.enter("phrasing"),V=B.containerPhrasing(R,{...L,before:c,after:c});return H(),D(),V}function g(R,_){return markdownTable(R,{align:_,alignDelimiters:o,padding:l,stringLength:u})}function x(R,_,B){const L=R.children;let D=-1;const H=[],V=_.enter("table");for(;++D<L.length;)H[D]=b(L[D],_,B);return V(),H}function b(R,_,B){const L=R.children;let D=-1;const H=[],V=_.enter("tableRow");for(;++D<L.length;)H[D]=p(L[D],R,_,B);return V(),H}function C(R,_,B){let L=handle.inlineCode(R,_,B);return B.stack.includes("tableCell")&&(L=L.replace(/\|/g,"\\$&")),L}}function gfmTaskListItemFromMarkdown(){return{exit:{taskListCheckValueChecked:exitCheck,taskListCheckValueUnchecked:exitCheck,paragraph:exitParagraphWithTaskListItem}}}function gfmTaskListItemToMarkdown(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:listItemWithTaskListItem}}}function exitCheck(t){const a=this.stack[this.stack.length-2];a.type,a.checked=t.type==="taskListCheckValueChecked"}function exitParagraphWithTaskListItem(t){const a=this.stack[this.stack.length-2];if(a&&a.type==="listItem"&&typeof a.checked=="boolean"){const l=this.stack[this.stack.length-1];l.type;const o=l.children[0];if(o&&o.type==="text"){const u=a.children;let c=-1,d;for(;++c<u.length;){const m=u[c];if(m.type==="paragraph"){d=m;break}}d===l&&(o.value=o.value.slice(1),o.value.length===0?l.children.shift():l.position&&o.position&&typeof o.position.start.offset=="number"&&(o.position.start.column++,o.position.start.offset++,l.position.start=Object.assign({},o.position.start)))}}this.exit(t)}function listItemWithTaskListItem(t,a,l,o){const u=t.children[0],c=typeof t.checked=="boolean"&&u&&u.type==="paragraph",d="["+(t.checked?"x":" ")+"] ",m=l.createTracker(o);c&&m.move(d);let p=handle.listItem(t,a,l,{...o,...m.current()});return c&&(p=p.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,g)),p;function g(x){return x+d}}function gfmFromMarkdown(){return[gfmAutolinkLiteralFromMarkdown(),gfmFootnoteFromMarkdown(),gfmStrikethroughFromMarkdown(),gfmTableFromMarkdown(),gfmTaskListItemFromMarkdown()]}function gfmToMarkdown(t){return{extensions:[gfmAutolinkLiteralToMarkdown(),gfmFootnoteToMarkdown(t),gfmStrikethroughToMarkdown(),gfmTableToMarkdown(t),gfmTaskListItemToMarkdown()]}}const wwwPrefix={tokenize:tokenizeWwwPrefix,partial:!0},domain={tokenize:tokenizeDomain,partial:!0},path={tokenize:tokenizePath,partial:!0},trail={tokenize:tokenizeTrail,partial:!0},emailDomainDotTrail={tokenize:tokenizeEmailDomainDotTrail,partial:!0},wwwAutolink={name:"wwwAutolink",tokenize:tokenizeWwwAutolink,previous:previousWww},protocolAutolink={name:"protocolAutolink",tokenize:tokenizeProtocolAutolink,previous:previousProtocol},emailAutolink={name:"emailAutolink",tokenize:tokenizeEmailAutolink,previous:previousEmail},text={};function gfmAutolinkLiteral(){return{text}}let code=48;for(;code<123;)text[code]=emailAutolink,code++,code===58?code=65:code===91&&(code=97);text[43]=emailAutolink;text[45]=emailAutolink;text[46]=emailAutolink;text[95]=emailAutolink;text[72]=[emailAutolink,protocolAutolink];text[104]=[emailAutolink,protocolAutolink];text[87]=[emailAutolink,wwwAutolink];text[119]=[emailAutolink,wwwAutolink];function tokenizeEmailAutolink(t,a,l){const o=this;let u,c;return d;function d(b){return!gfmAtext(b)||!previousEmail.call(o,o.previous)||previousUnbalanced(o.events)?l(b):(t.enter("literalAutolink"),t.enter("literalAutolinkEmail"),m(b))}function m(b){return gfmAtext(b)?(t.consume(b),m):b===64?(t.consume(b),p):l(b)}function p(b){return b===46?t.check(emailDomainDotTrail,x,g)(b):b===45||b===95||asciiAlphanumeric(b)?(c=!0,t.consume(b),p):x(b)}function g(b){return t.consume(b),u=!0,p}function x(b){return c&&u&&asciiAlpha(o.previous)?(t.exit("literalAutolinkEmail"),t.exit("literalAutolink"),a(b)):l(b)}}function tokenizeWwwAutolink(t,a,l){const o=this;return u;function u(d){return d!==87&&d!==119||!previousWww.call(o,o.previous)||previousUnbalanced(o.events)?l(d):(t.enter("literalAutolink"),t.enter("literalAutolinkWww"),t.check(wwwPrefix,t.attempt(domain,t.attempt(path,c),l),l)(d))}function c(d){return t.exit("literalAutolinkWww"),t.exit("literalAutolink"),a(d)}}function tokenizeProtocolAutolink(t,a,l){const o=this;let u="",c=!1;return d;function d(b){return(b===72||b===104)&&previousProtocol.call(o,o.previous)&&!previousUnbalanced(o.events)?(t.enter("literalAutolink"),t.enter("literalAutolinkHttp"),u+=String.fromCodePoint(b),t.consume(b),m):l(b)}function m(b){if(asciiAlpha(b)&&u.length<5)return u+=String.fromCodePoint(b),t.consume(b),m;if(b===58){const C=u.toLowerCase();if(C==="http"||C==="https")return t.consume(b),p}return l(b)}function p(b){return b===47?(t.consume(b),c?g:(c=!0,p)):l(b)}function g(b){return b===null||asciiControl(b)||markdownLineEndingOrSpace(b)||unicodeWhitespace(b)||unicodePunctuation(b)?l(b):t.attempt(domain,t.attempt(path,x),l)(b)}function x(b){return t.exit("literalAutolinkHttp"),t.exit("literalAutolink"),a(b)}}function tokenizeWwwPrefix(t,a,l){let o=0;return u;function u(d){return(d===87||d===119)&&o<3?(o++,t.consume(d),u):d===46&&o===3?(t.consume(d),c):l(d)}function c(d){return d===null?l(d):a(d)}}function tokenizeDomain(t,a,l){let o,u,c;return d;function d(g){return g===46||g===95?t.check(trail,p,m)(g):g===null||markdownLineEndingOrSpace(g)||unicodeWhitespace(g)||g!==45&&unicodePunctuation(g)?p(g):(c=!0,t.consume(g),d)}function m(g){return g===95?o=!0:(u=o,o=void 0),t.consume(g),d}function p(g){return u||o||!c?l(g):a(g)}}function tokenizePath(t,a){let l=0,o=0;return u;function u(d){return d===40?(l++,t.consume(d),u):d===41&&o<l?c(d):d===33||d===34||d===38||d===39||d===41||d===42||d===44||d===46||d===58||d===59||d===60||d===63||d===93||d===95||d===126?t.check(trail,a,c)(d):d===null||markdownLineEndingOrSpace(d)||unicodeWhitespace(d)?a(d):(t.consume(d),u)}function c(d){return d===41&&o++,t.consume(d),u}}function tokenizeTrail(t,a,l){return o;function o(m){return m===33||m===34||m===39||m===41||m===42||m===44||m===46||m===58||m===59||m===63||m===95||m===126?(t.consume(m),o):m===38?(t.consume(m),c):m===93?(t.consume(m),u):m===60||m===null||markdownLineEndingOrSpace(m)||unicodeWhitespace(m)?a(m):l(m)}function u(m){return m===null||m===40||m===91||markdownLineEndingOrSpace(m)||unicodeWhitespace(m)?a(m):o(m)}function c(m){return asciiAlpha(m)?d(m):l(m)}function d(m){return m===59?(t.consume(m),o):asciiAlpha(m)?(t.consume(m),d):l(m)}}function tokenizeEmailDomainDotTrail(t,a,l){return o;function o(c){return t.consume(c),u}function u(c){return asciiAlphanumeric(c)?l(c):a(c)}}function previousWww(t){return t===null||t===40||t===42||t===95||t===91||t===93||t===126||markdownLineEndingOrSpace(t)}function previousProtocol(t){return!asciiAlpha(t)}function previousEmail(t){return!(t===47||gfmAtext(t))}function gfmAtext(t){return t===43||t===45||t===46||t===95||asciiAlphanumeric(t)}function previousUnbalanced(t){let a=t.length,l=!1;for(;a--;){const o=t[a][1];if((o.type==="labelLink"||o.type==="labelImage")&&!o._balanced){l=!0;break}if(o._gfmAutolinkLiteralWalkedInto){l=!1;break}}return t.length>0&&!l&&(t[t.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),l}const indent={tokenize:tokenizeIndent,partial:!0};function gfmFootnote(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:tokenizeDefinitionStart,continuation:{tokenize:tokenizeDefinitionContinuation},exit:gfmFootnoteDefinitionEnd}},text:{91:{name:"gfmFootnoteCall",tokenize:tokenizeGfmFootnoteCall},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:tokenizePotentialGfmFootnoteCall,resolveTo:resolveToPotentialGfmFootnoteCall}}}}function tokenizePotentialGfmFootnoteCall(t,a,l){const o=this;let u=o.events.length;const c=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let d;for(;u--;){const p=o.events[u][1];if(p.type==="labelImage"){d=p;break}if(p.type==="gfmFootnoteCall"||p.type==="labelLink"||p.type==="label"||p.type==="image"||p.type==="link")break}return m;function m(p){if(!d||!d._balanced)return l(p);const g=normalizeIdentifier(o.sliceSerialize({start:d.end,end:o.now()}));return g.codePointAt(0)!==94||!c.includes(g.slice(1))?l(p):(t.enter("gfmFootnoteCallLabelMarker"),t.consume(p),t.exit("gfmFootnoteCallLabelMarker"),a(p))}}function resolveToPotentialGfmFootnoteCall(t,a){let l=t.length;for(;l--;)if(t[l][1].type==="labelImage"&&t[l][0]==="enter"){t[l][1];break}t[l+1][1].type="data",t[l+3][1].type="gfmFootnoteCallLabelMarker";const o={type:"gfmFootnoteCall",start:Object.assign({},t[l+3][1].start),end:Object.assign({},t[t.length-1][1].end)},u={type:"gfmFootnoteCallMarker",start:Object.assign({},t[l+3][1].end),end:Object.assign({},t[l+3][1].end)};u.end.column++,u.end.offset++,u.end._bufferIndex++;const c={type:"gfmFootnoteCallString",start:Object.assign({},u.end),end:Object.assign({},t[t.length-1][1].start)},d={type:"chunkString",contentType:"string",start:Object.assign({},c.start),end:Object.assign({},c.end)},m=[t[l+1],t[l+2],["enter",o,a],t[l+3],t[l+4],["enter",u,a],["exit",u,a],["enter",c,a],["enter",d,a],["exit",d,a],["exit",c,a],t[t.length-2],t[t.length-1],["exit",o,a]];return t.splice(l,t.length-l+1,...m),t}function tokenizeGfmFootnoteCall(t,a,l){const o=this,u=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let c=0,d;return m;function m(b){return t.enter("gfmFootnoteCall"),t.enter("gfmFootnoteCallLabelMarker"),t.consume(b),t.exit("gfmFootnoteCallLabelMarker"),p}function p(b){return b!==94?l(b):(t.enter("gfmFootnoteCallMarker"),t.consume(b),t.exit("gfmFootnoteCallMarker"),t.enter("gfmFootnoteCallString"),t.enter("chunkString").contentType="string",g)}function g(b){if(c>999||b===93&&!d||b===null||b===91||markdownLineEndingOrSpace(b))return l(b);if(b===93){t.exit("chunkString");const C=t.exit("gfmFootnoteCallString");return u.includes(normalizeIdentifier(o.sliceSerialize(C)))?(t.enter("gfmFootnoteCallLabelMarker"),t.consume(b),t.exit("gfmFootnoteCallLabelMarker"),t.exit("gfmFootnoteCall"),a):l(b)}return markdownLineEndingOrSpace(b)||(d=!0),c++,t.consume(b),b===92?x:g}function x(b){return b===91||b===92||b===93?(t.consume(b),c++,g):g(b)}}function tokenizeDefinitionStart(t,a,l){const o=this,u=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let c,d=0,m;return p;function p(_){return t.enter("gfmFootnoteDefinition")._container=!0,t.enter("gfmFootnoteDefinitionLabel"),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(_),t.exit("gfmFootnoteDefinitionLabelMarker"),g}function g(_){return _===94?(t.enter("gfmFootnoteDefinitionMarker"),t.consume(_),t.exit("gfmFootnoteDefinitionMarker"),t.enter("gfmFootnoteDefinitionLabelString"),t.enter("chunkString").contentType="string",x):l(_)}function x(_){if(d>999||_===93&&!m||_===null||_===91||markdownLineEndingOrSpace(_))return l(_);if(_===93){t.exit("chunkString");const B=t.exit("gfmFootnoteDefinitionLabelString");return c=normalizeIdentifier(o.sliceSerialize(B)),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(_),t.exit("gfmFootnoteDefinitionLabelMarker"),t.exit("gfmFootnoteDefinitionLabel"),C}return markdownLineEndingOrSpace(_)||(m=!0),d++,t.consume(_),_===92?b:x}function b(_){return _===91||_===92||_===93?(t.consume(_),d++,x):x(_)}function C(_){return _===58?(t.enter("definitionMarker"),t.consume(_),t.exit("definitionMarker"),u.includes(c)||u.push(c),factorySpace(t,R,"gfmFootnoteDefinitionWhitespace")):l(_)}function R(_){return a(_)}}function tokenizeDefinitionContinuation(t,a,l){return t.check(blankLine,a,t.attempt(indent,a,l))}function gfmFootnoteDefinitionEnd(t){t.exit("gfmFootnoteDefinition")}function tokenizeIndent(t,a,l){const o=this;return factorySpace(t,u,"gfmFootnoteDefinitionIndent",5);function u(c){const d=o.events[o.events.length-1];return d&&d[1].type==="gfmFootnoteDefinitionIndent"&&d[2].sliceSerialize(d[1],!0).length===4?a(c):l(c)}}function gfmStrikethrough(t){let l=(t||{}).singleTilde;const o={name:"strikethrough",tokenize:c,resolveAll:u};return l==null&&(l=!0),{text:{126:o},insideSpan:{null:[o]},attentionMarkers:{null:[126]}};function u(d,m){let p=-1;for(;++p<d.length;)if(d[p][0]==="enter"&&d[p][1].type==="strikethroughSequenceTemporary"&&d[p][1]._close){let g=p;for(;g--;)if(d[g][0]==="exit"&&d[g][1].type==="strikethroughSequenceTemporary"&&d[g][1]._open&&d[p][1].end.offset-d[p][1].start.offset===d[g][1].end.offset-d[g][1].start.offset){d[p][1].type="strikethroughSequence",d[g][1].type="strikethroughSequence";const x={type:"strikethrough",start:Object.assign({},d[g][1].start),end:Object.assign({},d[p][1].end)},b={type:"strikethroughText",start:Object.assign({},d[g][1].end),end:Object.assign({},d[p][1].start)},C=[["enter",x,m],["enter",d[g][1],m],["exit",d[g][1],m],["enter",b,m]],R=m.parser.constructs.insideSpan.null;R&&splice(C,C.length,0,resolveAll(R,d.slice(g+1,p),m)),splice(C,C.length,0,[["exit",b,m],["enter",d[p][1],m],["exit",d[p][1],m],["exit",x,m]]),splice(d,g-1,p-g+3,C),p=g+C.length-2;break}}for(p=-1;++p<d.length;)d[p][1].type==="strikethroughSequenceTemporary"&&(d[p][1].type="data");return d}function c(d,m,p){const g=this.previous,x=this.events;let b=0;return C;function C(_){return g===126&&x[x.length-1][1].type!=="characterEscape"?p(_):(d.enter("strikethroughSequenceTemporary"),R(_))}function R(_){const B=classifyCharacter(g);if(_===126)return b>1?p(_):(d.consume(_),b++,R);if(b<2&&!l)return p(_);const L=d.exit("strikethroughSequenceTemporary"),D=classifyCharacter(_);return L._open=!D||D===2&&!!B,L._close=!B||B===2&&!!D,m(_)}}}class EditMap{constructor(){this.map=[]}add(a,l,o){addImplementation(this,a,l,o)}consume(a){if(this.map.sort(function(c,d){return c[0]-d[0]}),this.map.length===0)return;let l=this.map.length;const o=[];for(;l>0;)l-=1,o.push(a.slice(this.map[l][0]+this.map[l][1]),this.map[l][2]),a.length=this.map[l][0];o.push(a.slice()),a.length=0;let u=o.pop();for(;u;){for(const c of u)a.push(c);u=o.pop()}this.map.length=0}}function addImplementation(t,a,l,o){let u=0;if(!(l===0&&o.length===0)){for(;u<t.map.length;){if(t.map[u][0]===a){t.map[u][1]+=l,t.map[u][2].push(...o);return}u+=1}t.map.push([a,l,o])}}function gfmTableAlign(t,a){let l=!1;const o=[];for(;a<t.length;){const u=t[a];if(l){if(u[0]==="enter")u[1].type==="tableContent"&&o.push(t[a+1][1].type==="tableDelimiterMarker"?"left":"none");else if(u[1].type==="tableContent"){if(t[a-1][1].type==="tableDelimiterMarker"){const c=o.length-1;o[c]=o[c]==="left"?"center":"right"}}else if(u[1].type==="tableDelimiterRow")break}else u[0]==="enter"&&u[1].type==="tableDelimiterRow"&&(l=!0);a+=1}return o}function gfmTable(){return{flow:{null:{name:"table",tokenize:tokenizeTable,resolveAll:resolveTable}}}}function tokenizeTable(t,a,l){const o=this;let u=0,c=0,d;return m;function m(K){let Ee=o.events.length-1;for(;Ee>-1;){const ye=o.events[Ee][1].type;if(ye==="lineEnding"||ye==="linePrefix")Ee--;else break}const ae=Ee>-1?o.events[Ee][1].type:null,Ce=ae==="tableHead"||ae==="tableRow"?Y:p;return Ce===Y&&o.parser.lazy[o.now().line]?l(K):Ce(K)}function p(K){return t.enter("tableHead"),t.enter("tableRow"),g(K)}function g(K){return K===124||(d=!0,c+=1),x(K)}function x(K){return K===null?l(K):markdownLineEnding(K)?c>1?(c=0,o.interrupt=!0,t.exit("tableRow"),t.enter("lineEnding"),t.consume(K),t.exit("lineEnding"),R):l(K):markdownSpace(K)?factorySpace(t,x,"whitespace")(K):(c+=1,d&&(d=!1,u+=1),K===124?(t.enter("tableCellDivider"),t.consume(K),t.exit("tableCellDivider"),d=!0,x):(t.enter("data"),b(K)))}function b(K){return K===null||K===124||markdownLineEndingOrSpace(K)?(t.exit("data"),x(K)):(t.consume(K),K===92?C:b)}function C(K){return K===92||K===124?(t.consume(K),b):b(K)}function R(K){return o.interrupt=!1,o.parser.lazy[o.now().line]?l(K):(t.enter("tableDelimiterRow"),d=!1,markdownSpace(K)?factorySpace(t,_,"linePrefix",o.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(K):_(K))}function _(K){return K===45||K===58?L(K):K===124?(d=!0,t.enter("tableCellDivider"),t.consume(K),t.exit("tableCellDivider"),B):te(K)}function B(K){return markdownSpace(K)?factorySpace(t,L,"whitespace")(K):L(K)}function L(K){return K===58?(c+=1,d=!0,t.enter("tableDelimiterMarker"),t.consume(K),t.exit("tableDelimiterMarker"),D):K===45?(c+=1,D(K)):K===null||markdownLineEnding(K)?se(K):te(K)}function D(K){return K===45?(t.enter("tableDelimiterFiller"),H(K)):te(K)}function H(K){return K===45?(t.consume(K),H):K===58?(d=!0,t.exit("tableDelimiterFiller"),t.enter("tableDelimiterMarker"),t.consume(K),t.exit("tableDelimiterMarker"),V):(t.exit("tableDelimiterFiller"),V(K))}function V(K){return markdownSpace(K)?factorySpace(t,se,"whitespace")(K):se(K)}function se(K){return K===124?_(K):K===null||markdownLineEnding(K)?!d||u!==c?te(K):(t.exit("tableDelimiterRow"),t.exit("tableHead"),a(K)):te(K)}function te(K){return l(K)}function Y(K){return t.enter("tableRow"),ge(K)}function ge(K){return K===124?(t.enter("tableCellDivider"),t.consume(K),t.exit("tableCellDivider"),ge):K===null||markdownLineEnding(K)?(t.exit("tableRow"),a(K)):markdownSpace(K)?factorySpace(t,ge,"whitespace")(K):(t.enter("data"),W(K))}function W(K){return K===null||K===124||markdownLineEndingOrSpace(K)?(t.exit("data"),ge(K)):(t.consume(K),K===92?ve:W)}function ve(K){return K===92||K===124?(t.consume(K),W):W(K)}}function resolveTable(t,a){let l=-1,o=!0,u=0,c=[0,0,0,0],d=[0,0,0,0],m=!1,p=0,g,x,b;const C=new EditMap;for(;++l<t.length;){const R=t[l],_=R[1];R[0]==="enter"?_.type==="tableHead"?(m=!1,p!==0&&(flushTableEnd(C,a,p,g,x),x=void 0,p=0),g={type:"table",start:Object.assign({},_.start),end:Object.assign({},_.end)},C.add(l,0,[["enter",g,a]])):_.type==="tableRow"||_.type==="tableDelimiterRow"?(o=!0,b=void 0,c=[0,0,0,0],d=[0,l+1,0,0],m&&(m=!1,x={type:"tableBody",start:Object.assign({},_.start),end:Object.assign({},_.end)},C.add(l,0,[["enter",x,a]])),u=_.type==="tableDelimiterRow"?2:x?3:1):u&&(_.type==="data"||_.type==="tableDelimiterMarker"||_.type==="tableDelimiterFiller")?(o=!1,d[2]===0&&(c[1]!==0&&(d[0]=d[1],b=flushCell(C,a,c,u,void 0,b),c=[0,0,0,0]),d[2]=l)):_.type==="tableCellDivider"&&(o?o=!1:(c[1]!==0&&(d[0]=d[1],b=flushCell(C,a,c,u,void 0,b)),c=d,d=[c[1],l,0,0])):_.type==="tableHead"?(m=!0,p=l):_.type==="tableRow"||_.type==="tableDelimiterRow"?(p=l,c[1]!==0?(d[0]=d[1],b=flushCell(C,a,c,u,l,b)):d[1]!==0&&(b=flushCell(C,a,d,u,l,b)),u=0):u&&(_.type==="data"||_.type==="tableDelimiterMarker"||_.type==="tableDelimiterFiller")&&(d[3]=l)}for(p!==0&&flushTableEnd(C,a,p,g,x),C.consume(a.events),l=-1;++l<a.events.length;){const R=a.events[l];R[0]==="enter"&&R[1].type==="table"&&(R[1]._align=gfmTableAlign(a.events,l))}return t}function flushCell(t,a,l,o,u,c){const d=o===1?"tableHeader":o===2?"tableDelimiter":"tableData",m="tableContent";l[0]!==0&&(c.end=Object.assign({},getPoint(a.events,l[0])),t.add(l[0],0,[["exit",c,a]]));const p=getPoint(a.events,l[1]);if(c={type:d,start:Object.assign({},p),end:Object.assign({},p)},t.add(l[1],0,[["enter",c,a]]),l[2]!==0){const g=getPoint(a.events,l[2]),x=getPoint(a.events,l[3]),b={type:m,start:Object.assign({},g),end:Object.assign({},x)};if(t.add(l[2],0,[["enter",b,a]]),o!==2){const C=a.events[l[2]],R=a.events[l[3]];if(C[1].end=Object.assign({},R[1].end),C[1].type="chunkText",C[1].contentType="text",l[3]>l[2]+1){const _=l[2]+1,B=l[3]-l[2]-1;t.add(_,B,[])}}t.add(l[3]+1,0,[["exit",b,a]])}return u!==void 0&&(c.end=Object.assign({},getPoint(a.events,u)),t.add(u,0,[["exit",c,a]]),c=void 0),c}function flushTableEnd(t,a,l,o,u){const c=[],d=getPoint(a.events,l);u&&(u.end=Object.assign({},d),c.push(["exit",u,a])),o.end=Object.assign({},d),c.push(["exit",o,a]),t.add(l+1,0,c)}function getPoint(t,a){const l=t[a],o=l[0]==="enter"?"start":"end";return l[1][o]}const tasklistCheck={name:"tasklistCheck",tokenize:tokenizeTasklistCheck};function gfmTaskListItem(){return{text:{91:tasklistCheck}}}function tokenizeTasklistCheck(t,a,l){const o=this;return u;function u(p){return o.previous!==null||!o._gfmTasklistFirstContentOfListItem?l(p):(t.enter("taskListCheck"),t.enter("taskListCheckMarker"),t.consume(p),t.exit("taskListCheckMarker"),c)}function c(p){return markdownLineEndingOrSpace(p)?(t.enter("taskListCheckValueUnchecked"),t.consume(p),t.exit("taskListCheckValueUnchecked"),d):p===88||p===120?(t.enter("taskListCheckValueChecked"),t.consume(p),t.exit("taskListCheckValueChecked"),d):l(p)}function d(p){return p===93?(t.enter("taskListCheckMarker"),t.consume(p),t.exit("taskListCheckMarker"),t.exit("taskListCheck"),m):l(p)}function m(p){return markdownLineEnding(p)?a(p):markdownSpace(p)?t.check({tokenize:spaceThenNonSpace},a,l)(p):l(p)}}function spaceThenNonSpace(t,a,l){return factorySpace(t,o,"whitespace");function o(u){return u===null?l(u):a(u)}}function gfm(t){return combineExtensions([gfmAutolinkLiteral(),gfmFootnote(),gfmStrikethrough(t),gfmTable(),gfmTaskListItem()])}const emptyOptions={};function remarkGfm(t){const a=this,l=t||emptyOptions,o=a.data(),u=o.micromarkExtensions||(o.micromarkExtensions=[]),c=o.fromMarkdownExtensions||(o.fromMarkdownExtensions=[]),d=o.toMarkdownExtensions||(o.toMarkdownExtensions=[]);u.push(gfm(l)),c.push(gfmFromMarkdown()),d.push(gfmToMarkdown(l))}function parseViewMd(t){const{data:a,content:l}=matter(t),o=unified().use(remarkParse).use(remarkGfm).parse(l),u=splitByH2$1(o);return{name:a.name??"",domain:a.domain??"",version:a.version??"0.1.0",stateBindings:parseStateBindings(u["State Bindings"]),layout:parseLayoutSection$1(u.Layout),intents:parseIntentsTable(u.Intents)}}function splitByH2$1(t){var o;const a={};let l="__intro__";a[l]=[];for(const u of t.children)u.type==="heading"&&u.depth===2?(l=getTextContent(u),a[l]=[]):(o=a[l])==null||o.push(u);return a}function getTextContent(t){return t.children.map(a=>a.type==="text"?a.value:"").join("")}function parseStateBindings(t){if(!t)return[];const a=[];for(const l of t){if(l.type!=="list")continue;const o=l;for(const u of o.children){const d=extractListItemText(u).match(/`([^`]+)`\s*->\s*(.+)/);d&&a.push({path:d[1],type:d[2].trim()})}}return a}function extractListItemText(t){return t.children.map(a=>a.type==="paragraph"?a.children.map(l=>l.type==="text"?l.value:l.type==="inlineCode"?`\`${l.value}\``:"").join(""):"").join("")}function parseLayoutSection$1(t){if(!t)throw new Error("Missing Layout section in VIEW.md");for(const a of t)if(a.type==="code"){const l=a;if(l.lang==="clapp-layout")return parseLayoutDSL(l.value)}throw new Error("No clapp-layout code block found in Layout section")}function parseIntentsTable(t){if(!t)return[];const a=[];for(const l of t){if(l.type!=="table")continue;const o=l;for(let u=1;u<o.children.length;u++){const d=o.children[u].children;d.length>=3&&a.push({name:getCellText(d[0]),payload:getCellText(d[1]),description:getCellText(d[2])})}}return a}function getCellText(t){return t.children.map(a=>a.type==="text"||a.type==="inlineCode"?a.value:"").join("")}function parseAppMd(t){const{data:a,content:l}=matter(t),o=unified().use(remarkParse).parse(l),u=splitByH2(o);return{name:a.name??"",domain:a.domain??"",modules:parseModulesList(u.Modules),layout:parseLayoutSection(u.Layout)}}function splitByH2(t){var o;const a={};let l="__intro__";a[l]=[];for(const u of t.children)u.type==="heading"&&u.depth===2?(l=u.children.map(d=>d.type==="text"?d.value:"").join(""),a[l]=[]):(o=a[l])==null||o.push(u);return a}function parseModulesList(t){if(!t)return[];const a=[];for(const l of t){if(l.type!=="list")continue;const o=l;for(const u of o.children){const c=u.children.map(d=>d.type==="paragraph"?d.children.map(m=>m.type==="text"?m.value:"").join(""):"").join("").trim();c&&a.push(c)}}return a}function parseLayoutSection(t){if(!t)throw new Error("Missing Layout section in APP.md");for(const a of t)if(a.type==="code"){const l=a;if(l.lang==="clapp-layout")return parseLayoutDSL(l.value)}throw new Error("No clapp-layout code block found in Layout section")}var util;(function(t){t.assertEqual=u=>{};function a(u){}t.assertIs=a;function l(u){throw new Error}t.assertNever=l,t.arrayToEnum=u=>{const c={};for(const d of u)c[d]=d;return c},t.getValidEnumValues=u=>{const c=t.objectKeys(u).filter(m=>typeof u[u[m]]!="number"),d={};for(const m of c)d[m]=u[m];return t.objectValues(d)},t.objectValues=u=>t.objectKeys(u).map(function(c){return u[c]}),t.objectKeys=typeof Object.keys=="function"?u=>Object.keys(u):u=>{const c=[];for(const d in u)Object.prototype.hasOwnProperty.call(u,d)&&c.push(d);return c},t.find=(u,c)=>{for(const d of u)if(c(d))return d},t.isInteger=typeof Number.isInteger=="function"?u=>Number.isInteger(u):u=>typeof u=="number"&&Number.isFinite(u)&&Math.floor(u)===u;function o(u,c=" | "){return u.map(d=>typeof d=="string"?`'${d}'`:d).join(c)}t.joinValues=o,t.jsonStringifyReplacer=(u,c)=>typeof c=="bigint"?c.toString():c})(util||(util={}));var objectUtil;(function(t){t.mergeShapes=(a,l)=>({...a,...l})})(objectUtil||(objectUtil={}));const ZodParsedType=util.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),getParsedType=t=>{switch(typeof t){case"undefined":return ZodParsedType.undefined;case"string":return ZodParsedType.string;case"number":return Number.isNaN(t)?ZodParsedType.nan:ZodParsedType.number;case"boolean":return ZodParsedType.boolean;case"function":return ZodParsedType.function;case"bigint":return ZodParsedType.bigint;case"symbol":return ZodParsedType.symbol;case"object":return Array.isArray(t)?ZodParsedType.array:t===null?ZodParsedType.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?ZodParsedType.promise:typeof Map<"u"&&t instanceof Map?ZodParsedType.map:typeof Set<"u"&&t instanceof Set?ZodParsedType.set:typeof Date<"u"&&t instanceof Date?ZodParsedType.date:ZodParsedType.object;default:return ZodParsedType.unknown}},ZodIssueCode=util.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"]);class ZodError extends Error{get errors(){return this.issues}constructor(a){super(),this.issues=[],this.addIssue=o=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};const l=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,l):this.__proto__=l,this.name="ZodError",this.issues=a}format(a){const l=a||function(c){return c.message},o={_errors:[]},u=c=>{for(const d of c.issues)if(d.code==="invalid_union")d.unionErrors.map(u);else if(d.code==="invalid_return_type")u(d.returnTypeError);else if(d.code==="invalid_arguments")u(d.argumentsError);else if(d.path.length===0)o._errors.push(l(d));else{let m=o,p=0;for(;p<d.path.length;){const g=d.path[p];p===d.path.length-1?(m[g]=m[g]||{_errors:[]},m[g]._errors.push(l(d))):m[g]=m[g]||{_errors:[]},m=m[g],p++}}};return u(this),o}static assert(a){if(!(a instanceof ZodError))throw new Error(`Not a ZodError: ${a}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(a=l=>l.message){const l={},o=[];for(const u of this.issues)if(u.path.length>0){const c=u.path[0];l[c]=l[c]||[],l[c].push(a(u))}else o.push(a(u));return{formErrors:o,fieldErrors:l}}get formErrors(){return this.flatten()}}ZodError.create=t=>new ZodError(t);const errorMap=(t,a)=>{let l;switch(t.code){case ZodIssueCode.invalid_type:t.received===ZodParsedType.undefined?l="Required":l=`Expected ${t.expected}, received ${t.received}`;break;case ZodIssueCode.invalid_literal:l=`Invalid literal value, expected ${JSON.stringify(t.expected,util.jsonStringifyReplacer)}`;break;case ZodIssueCode.unrecognized_keys:l=`Unrecognized key(s) in object: ${util.joinValues(t.keys,", ")}`;break;case ZodIssueCode.invalid_union:l="Invalid input";break;case ZodIssueCode.invalid_union_discriminator:l=`Invalid discriminator value. Expected ${util.joinValues(t.options)}`;break;case ZodIssueCode.invalid_enum_value:l=`Invalid enum value. Expected ${util.joinValues(t.options)}, received '${t.received}'`;break;case ZodIssueCode.invalid_arguments:l="Invalid function arguments";break;case ZodIssueCode.invalid_return_type:l="Invalid function return type";break;case ZodIssueCode.invalid_date:l="Invalid date";break;case ZodIssueCode.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(l=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(l=`${l} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?l=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?l=`Invalid input: must end with "${t.validation.endsWith}"`:util.assertNever(t.validation):t.validation!=="regex"?l=`Invalid ${t.validation}`:l="Invalid";break;case ZodIssueCode.too_small:t.type==="array"?l=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?l=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?l=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?l=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?l=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:l="Invalid input";break;case ZodIssueCode.too_big:t.type==="array"?l=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?l=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?l=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?l=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?l=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:l="Invalid input";break;case ZodIssueCode.custom:l="Invalid input";break;case ZodIssueCode.invalid_intersection_types:l="Intersection results could not be merged";break;case ZodIssueCode.not_multiple_of:l=`Number must be a multiple of ${t.multipleOf}`;break;case ZodIssueCode.not_finite:l="Number must be finite";break;default:l=a.defaultError,util.assertNever(t)}return{message:l}};let overrideErrorMap=errorMap;function getErrorMap(){return overrideErrorMap}const makeIssue=t=>{const{data:a,path:l,errorMaps:o,issueData:u}=t,c=[...l,...u.path||[]],d={...u,path:c};if(u.message!==void 0)return{...u,path:c,message:u.message};let m="";const p=o.filter(g=>!!g).slice().reverse();for(const g of p)m=g(d,{data:a,defaultError:m}).message;return{...u,path:c,message:m}};function addIssueToContext(t,a){const l=getErrorMap(),o=makeIssue({issueData:a,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,l,l===errorMap?void 0:errorMap].filter(u=>!!u)});t.common.issues.push(o)}class ParseStatus{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(a,l){const o=[];for(const u of l){if(u.status==="aborted")return INVALID;u.status==="dirty"&&a.dirty(),o.push(u.value)}return{status:a.value,value:o}}static async mergeObjectAsync(a,l){const o=[];for(const u of l){const c=await u.key,d=await u.value;o.push({key:c,value:d})}return ParseStatus.mergeObjectSync(a,o)}static mergeObjectSync(a,l){const o={};for(const u of l){const{key:c,value:d}=u;if(c.status==="aborted"||d.status==="aborted")return INVALID;c.status==="dirty"&&a.dirty(),d.status==="dirty"&&a.dirty(),c.value!=="__proto__"&&(typeof d.value<"u"||u.alwaysSet)&&(o[c.value]=d.value)}return{status:a.value,value:o}}}const INVALID=Object.freeze({status:"aborted"}),DIRTY=t=>({status:"dirty",value:t}),OK=t=>({status:"valid",value:t}),isAborted=t=>t.status==="aborted",isDirty=t=>t.status==="dirty",isValid=t=>t.status==="valid",isAsync=t=>typeof Promise<"u"&&t instanceof Promise;var errorUtil;(function(t){t.errToObj=a=>typeof a=="string"?{message:a}:a||{},t.toString=a=>typeof a=="string"?a:a==null?void 0:a.message})(errorUtil||(errorUtil={}));class ParseInputLazyPath{constructor(a,l,o,u){this._cachedPath=[],this.parent=a,this.data=l,this._path=o,this._key=u}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}}const handleResult=(t,a)=>{if(isValid(a))return{success:!0,data:a.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const l=new ZodError(t.common.issues);return this._error=l,this._error}}};function processCreateParams(t){if(!t)return{};const{errorMap:a,invalid_type_error:l,required_error:o,description:u}=t;if(a&&(l||o))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return a?{errorMap:a,description:u}:{errorMap:(d,m)=>{const{message:p}=t;return d.code==="invalid_enum_value"?{message:p??m.defaultError}:typeof m.data>"u"?{message:p??o??m.defaultError}:d.code!=="invalid_type"?{message:m.defaultError}:{message:p??l??m.defaultError}},description:u}}class ZodType{get description(){return this._def.description}_getType(a){return getParsedType(a.data)}_getOrReturnCtx(a,l){return l||{common:a.parent.common,data:a.data,parsedType:getParsedType(a.data),schemaErrorMap:this._def.errorMap,path:a.path,parent:a.parent}}_processInputParams(a){return{status:new ParseStatus,ctx:{common:a.parent.common,data:a.data,parsedType:getParsedType(a.data),schemaErrorMap:this._def.errorMap,path:a.path,parent:a.parent}}}_parseSync(a){const l=this._parse(a);if(isAsync(l))throw new Error("Synchronous parse encountered promise.");return l}_parseAsync(a){const l=this._parse(a);return Promise.resolve(l)}parse(a,l){const o=this.safeParse(a,l);if(o.success)return o.data;throw o.error}safeParse(a,l){const o={common:{issues:[],async:(l==null?void 0:l.async)??!1,contextualErrorMap:l==null?void 0:l.errorMap},path:(l==null?void 0:l.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:a,parsedType:getParsedType(a)},u=this._parseSync({data:a,path:o.path,parent:o});return handleResult(o,u)}"~validate"(a){var o,u;const l={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:a,parsedType:getParsedType(a)};if(!this["~standard"].async)try{const c=this._parseSync({data:a,path:[],parent:l});return isValid(c)?{value:c.value}:{issues:l.common.issues}}catch(c){(u=(o=c==null?void 0:c.message)==null?void 0:o.toLowerCase())!=null&&u.includes("encountered")&&(this["~standard"].async=!0),l.common={issues:[],async:!0}}return this._parseAsync({data:a,path:[],parent:l}).then(c=>isValid(c)?{value:c.value}:{issues:l.common.issues})}async parseAsync(a,l){const o=await this.safeParseAsync(a,l);if(o.success)return o.data;throw o.error}async safeParseAsync(a,l){const o={common:{issues:[],contextualErrorMap:l==null?void 0:l.errorMap,async:!0},path:(l==null?void 0:l.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:a,parsedType:getParsedType(a)},u=this._parse({data:a,path:o.path,parent:o}),c=await(isAsync(u)?u:Promise.resolve(u));return handleResult(o,c)}refine(a,l){const o=u=>typeof l=="string"||typeof l>"u"?{message:l}:typeof l=="function"?l(u):l;return this._refinement((u,c)=>{const d=a(u),m=()=>c.addIssue({code:ZodIssueCode.custom,...o(u)});return typeof Promise<"u"&&d instanceof Promise?d.then(p=>p?!0:(m(),!1)):d?!0:(m(),!1)})}refinement(a,l){return this._refinement((o,u)=>a(o)?!0:(u.addIssue(typeof l=="function"?l(o,u):l),!1))}_refinement(a){return new ZodEffects({schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"refinement",refinement:a}})}superRefine(a){return this._refinement(a)}constructor(a){this.spa=this.safeParseAsync,this._def=a,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:l=>this["~validate"](l)}}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this)}promise(){return ZodPromise.create(this,this._def)}or(a){return ZodUnion.create([this,a],this._def)}and(a){return ZodIntersection.create(this,a,this._def)}transform(a){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"transform",transform:a}})}default(a){const l=typeof a=="function"?a:()=>a;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:l,typeName:ZodFirstPartyTypeKind.ZodDefault})}brand(){return new ZodBranded({typeName:ZodFirstPartyTypeKind.ZodBranded,type:this,...processCreateParams(this._def)})}catch(a){const l=typeof a=="function"?a:()=>a;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:l,typeName:ZodFirstPartyTypeKind.ZodCatch})}describe(a){const l=this.constructor;return new l({...this._def,description:a})}pipe(a){return ZodPipeline.create(this,a)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const cuidRegex=/^c[^\s-]{8,}$/i,cuid2Regex=/^[0-9a-z]+$/,ulidRegex=/^[0-9A-HJKMNP-TV-Z]{26}$/i,uuidRegex=/^[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,nanoidRegex=/^[a-z0-9_-]{21}$/i,jwtRegex=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,durationRegex=/^[-+]?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)?)??$/,emailRegex=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_emojiRegex="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let emojiRegex;const ipv4Regex=/^(?:(?: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])$/,ipv4CidrRegex=/^(?:(?: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])$/,ipv6Regex=/^(([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]))$/,ipv6CidrRegex=/^(([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])$/,base64Regex=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64urlRegex=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,dateRegexSource="((\\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])))",dateRegex=new RegExp(`^${dateRegexSource}$`);function timeRegexSource(t){let a="[0-5]\\d";t.precision?a=`${a}\\.\\d{${t.precision}}`:t.precision==null&&(a=`${a}(\\.\\d+)?`);const l=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${a})${l}`}function timeRegex(t){return new RegExp(`^${timeRegexSource(t)}$`)}function datetimeRegex(t){let a=`${dateRegexSource}T${timeRegexSource(t)}`;const l=[];return l.push(t.local?"Z?":"Z"),t.offset&&l.push("([+-]\\d{2}:?\\d{2})"),a=`${a}(${l.join("|")})`,new RegExp(`^${a}$`)}function isValidIP(t,a){return!!((a==="v4"||!a)&&ipv4Regex.test(t)||(a==="v6"||!a)&&ipv6Regex.test(t))}function isValidJWT(t,a){if(!jwtRegex.test(t))return!1;try{const[l]=t.split(".");if(!l)return!1;const o=l.replace(/-/g,"+").replace(/_/g,"/").padEnd(l.length+(4-l.length%4)%4,"="),u=JSON.parse(atob(o));return!(typeof u!="object"||u===null||"typ"in u&&(u==null?void 0:u.typ)!=="JWT"||!u.alg||a&&u.alg!==a)}catch{return!1}}function isValidCidr(t,a){return!!((a==="v4"||!a)&&ipv4CidrRegex.test(t)||(a==="v6"||!a)&&ipv6CidrRegex.test(t))}class ZodString extends ZodType{_parse(a){if(this._def.coerce&&(a.data=String(a.data)),this._getType(a)!==ZodParsedType.string){const c=this._getOrReturnCtx(a);return addIssueToContext(c,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:c.parsedType}),INVALID}const o=new ParseStatus;let u;for(const c of this._def.checks)if(c.kind==="min")a.data.length<c.value&&(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.too_small,minimum:c.value,type:"string",inclusive:!0,exact:!1,message:c.message}),o.dirty());else if(c.kind==="max")a.data.length>c.value&&(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.too_big,maximum:c.value,type:"string",inclusive:!0,exact:!1,message:c.message}),o.dirty());else if(c.kind==="length"){const d=a.data.length>c.value,m=a.data.length<c.value;(d||m)&&(u=this._getOrReturnCtx(a,u),d?addIssueToContext(u,{code:ZodIssueCode.too_big,maximum:c.value,type:"string",inclusive:!0,exact:!0,message:c.message}):m&&addIssueToContext(u,{code:ZodIssueCode.too_small,minimum:c.value,type:"string",inclusive:!0,exact:!0,message:c.message}),o.dirty())}else if(c.kind==="email")emailRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"email",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="emoji")emojiRegex||(emojiRegex=new RegExp(_emojiRegex,"u")),emojiRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"emoji",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="uuid")uuidRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"uuid",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="nanoid")nanoidRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"nanoid",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="cuid")cuidRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"cuid",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="cuid2")cuid2Regex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"cuid2",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="ulid")ulidRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"ulid",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty());else if(c.kind==="url")try{new URL(a.data)}catch{u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"url",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()}else c.kind==="regex"?(c.regex.lastIndex=0,c.regex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"regex",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty())):c.kind==="trim"?a.data=a.data.trim():c.kind==="includes"?a.data.includes(c.value,c.position)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:{includes:c.value,position:c.position},message:c.message}),o.dirty()):c.kind==="toLowerCase"?a.data=a.data.toLowerCase():c.kind==="toUpperCase"?a.data=a.data.toUpperCase():c.kind==="startsWith"?a.data.startsWith(c.value)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:{startsWith:c.value},message:c.message}),o.dirty()):c.kind==="endsWith"?a.data.endsWith(c.value)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:{endsWith:c.value},message:c.message}),o.dirty()):c.kind==="datetime"?datetimeRegex(c).test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:"datetime",message:c.message}),o.dirty()):c.kind==="date"?dateRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:"date",message:c.message}),o.dirty()):c.kind==="time"?timeRegex(c).test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.invalid_string,validation:"time",message:c.message}),o.dirty()):c.kind==="duration"?durationRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"duration",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="ip"?isValidIP(a.data,c.version)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"ip",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="jwt"?isValidJWT(a.data,c.alg)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"jwt",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="cidr"?isValidCidr(a.data,c.version)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"cidr",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="base64"?base64Regex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"base64",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):c.kind==="base64url"?base64urlRegex.test(a.data)||(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{validation:"base64url",code:ZodIssueCode.invalid_string,message:c.message}),o.dirty()):util.assertNever(c);return{status:o.value,value:a.data}}_regex(a,l,o){return this.refinement(u=>a.test(u),{validation:l,code:ZodIssueCode.invalid_string,...errorUtil.errToObj(o)})}_addCheck(a){return new ZodString({...this._def,checks:[...this._def.checks,a]})}email(a){return this._addCheck({kind:"email",...errorUtil.errToObj(a)})}url(a){return this._addCheck({kind:"url",...errorUtil.errToObj(a)})}emoji(a){return this._addCheck({kind:"emoji",...errorUtil.errToObj(a)})}uuid(a){return this._addCheck({kind:"uuid",...errorUtil.errToObj(a)})}nanoid(a){return this._addCheck({kind:"nanoid",...errorUtil.errToObj(a)})}cuid(a){return this._addCheck({kind:"cuid",...errorUtil.errToObj(a)})}cuid2(a){return this._addCheck({kind:"cuid2",...errorUtil.errToObj(a)})}ulid(a){return this._addCheck({kind:"ulid",...errorUtil.errToObj(a)})}base64(a){return this._addCheck({kind:"base64",...errorUtil.errToObj(a)})}base64url(a){return this._addCheck({kind:"base64url",...errorUtil.errToObj(a)})}jwt(a){return this._addCheck({kind:"jwt",...errorUtil.errToObj(a)})}ip(a){return this._addCheck({kind:"ip",...errorUtil.errToObj(a)})}cidr(a){return this._addCheck({kind:"cidr",...errorUtil.errToObj(a)})}datetime(a){return typeof a=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:a}):this._addCheck({kind:"datetime",precision:typeof(a==null?void 0:a.precision)>"u"?null:a==null?void 0:a.precision,offset:(a==null?void 0:a.offset)??!1,local:(a==null?void 0:a.local)??!1,...errorUtil.errToObj(a==null?void 0:a.message)})}date(a){return this._addCheck({kind:"date",message:a})}time(a){return typeof a=="string"?this._addCheck({kind:"time",precision:null,message:a}):this._addCheck({kind:"time",precision:typeof(a==null?void 0:a.precision)>"u"?null:a==null?void 0:a.precision,...errorUtil.errToObj(a==null?void 0:a.message)})}duration(a){return this._addCheck({kind:"duration",...errorUtil.errToObj(a)})}regex(a,l){return this._addCheck({kind:"regex",regex:a,...errorUtil.errToObj(l)})}includes(a,l){return this._addCheck({kind:"includes",value:a,position:l==null?void 0:l.position,...errorUtil.errToObj(l==null?void 0:l.message)})}startsWith(a,l){return this._addCheck({kind:"startsWith",value:a,...errorUtil.errToObj(l)})}endsWith(a,l){return this._addCheck({kind:"endsWith",value:a,...errorUtil.errToObj(l)})}min(a,l){return this._addCheck({kind:"min",value:a,...errorUtil.errToObj(l)})}max(a,l){return this._addCheck({kind:"max",value:a,...errorUtil.errToObj(l)})}length(a,l){return this._addCheck({kind:"length",value:a,...errorUtil.errToObj(l)})}nonempty(a){return this.min(1,errorUtil.errToObj(a))}trim(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(a=>a.kind==="datetime")}get isDate(){return!!this._def.checks.find(a=>a.kind==="date")}get isTime(){return!!this._def.checks.find(a=>a.kind==="time")}get isDuration(){return!!this._def.checks.find(a=>a.kind==="duration")}get isEmail(){return!!this._def.checks.find(a=>a.kind==="email")}get isURL(){return!!this._def.checks.find(a=>a.kind==="url")}get isEmoji(){return!!this._def.checks.find(a=>a.kind==="emoji")}get isUUID(){return!!this._def.checks.find(a=>a.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(a=>a.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(a=>a.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(a=>a.kind==="cuid2")}get isULID(){return!!this._def.checks.find(a=>a.kind==="ulid")}get isIP(){return!!this._def.checks.find(a=>a.kind==="ip")}get isCIDR(){return!!this._def.checks.find(a=>a.kind==="cidr")}get isBase64(){return!!this._def.checks.find(a=>a.kind==="base64")}get isBase64url(){return!!this._def.checks.find(a=>a.kind==="base64url")}get minLength(){let a=null;for(const l of this._def.checks)l.kind==="min"&&(a===null||l.value>a)&&(a=l.value);return a}get maxLength(){let a=null;for(const l of this._def.checks)l.kind==="max"&&(a===null||l.value<a)&&(a=l.value);return a}}ZodString.create=t=>new ZodString({checks:[],typeName:ZodFirstPartyTypeKind.ZodString,coerce:(t==null?void 0:t.coerce)??!1,...processCreateParams(t)});function floatSafeRemainder(t,a){const l=(t.toString().split(".")[1]||"").length,o=(a.toString().split(".")[1]||"").length,u=l>o?l:o,c=Number.parseInt(t.toFixed(u).replace(".","")),d=Number.parseInt(a.toFixed(u).replace(".",""));return c%d/10**u}class ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(a){if(this._def.coerce&&(a.data=Number(a.data)),this._getType(a)!==ZodParsedType.number){const c=this._getOrReturnCtx(a);return addIssueToContext(c,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.number,received:c.parsedType}),INVALID}let o;const u=new ParseStatus;for(const c of this._def.checks)c.kind==="int"?util.isInteger(a.data)||(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:"integer",received:"float",message:c.message}),u.dirty()):c.kind==="min"?(c.inclusive?a.data<c.value:a.data<=c.value)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.too_small,minimum:c.value,type:"number",inclusive:c.inclusive,exact:!1,message:c.message}),u.dirty()):c.kind==="max"?(c.inclusive?a.data>c.value:a.data>=c.value)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.too_big,maximum:c.value,type:"number",inclusive:c.inclusive,exact:!1,message:c.message}),u.dirty()):c.kind==="multipleOf"?floatSafeRemainder(a.data,c.value)!==0&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.not_multiple_of,multipleOf:c.value,message:c.message}),u.dirty()):c.kind==="finite"?Number.isFinite(a.data)||(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.not_finite,message:c.message}),u.dirty()):util.assertNever(c);return{status:u.value,value:a.data}}gte(a,l){return this.setLimit("min",a,!0,errorUtil.toString(l))}gt(a,l){return this.setLimit("min",a,!1,errorUtil.toString(l))}lte(a,l){return this.setLimit("max",a,!0,errorUtil.toString(l))}lt(a,l){return this.setLimit("max",a,!1,errorUtil.toString(l))}setLimit(a,l,o,u){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:a,value:l,inclusive:o,message:errorUtil.toString(u)}]})}_addCheck(a){return new ZodNumber({...this._def,checks:[...this._def.checks,a]})}int(a){return this._addCheck({kind:"int",message:errorUtil.toString(a)})}positive(a){return this._addCheck({kind:"min",value:0,inclusive:!1,message:errorUtil.toString(a)})}negative(a){return this._addCheck({kind:"max",value:0,inclusive:!1,message:errorUtil.toString(a)})}nonpositive(a){return this._addCheck({kind:"max",value:0,inclusive:!0,message:errorUtil.toString(a)})}nonnegative(a){return this._addCheck({kind:"min",value:0,inclusive:!0,message:errorUtil.toString(a)})}multipleOf(a,l){return this._addCheck({kind:"multipleOf",value:a,message:errorUtil.toString(l)})}finite(a){return this._addCheck({kind:"finite",message:errorUtil.toString(a)})}safe(a){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:errorUtil.toString(a)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:errorUtil.toString(a)})}get minValue(){let a=null;for(const l of this._def.checks)l.kind==="min"&&(a===null||l.value>a)&&(a=l.value);return a}get maxValue(){let a=null;for(const l of this._def.checks)l.kind==="max"&&(a===null||l.value<a)&&(a=l.value);return a}get isInt(){return!!this._def.checks.find(a=>a.kind==="int"||a.kind==="multipleOf"&&util.isInteger(a.value))}get isFinite(){let a=null,l=null;for(const o of this._def.checks){if(o.kind==="finite"||o.kind==="int"||o.kind==="multipleOf")return!0;o.kind==="min"?(l===null||o.value>l)&&(l=o.value):o.kind==="max"&&(a===null||o.value<a)&&(a=o.value)}return Number.isFinite(l)&&Number.isFinite(a)}}ZodNumber.create=t=>new ZodNumber({checks:[],typeName:ZodFirstPartyTypeKind.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...processCreateParams(t)});class ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(a){if(this._def.coerce)try{a.data=BigInt(a.data)}catch{return this._getInvalidInput(a)}if(this._getType(a)!==ZodParsedType.bigint)return this._getInvalidInput(a);let o;const u=new ParseStatus;for(const c of this._def.checks)c.kind==="min"?(c.inclusive?a.data<c.value:a.data<=c.value)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.too_small,type:"bigint",minimum:c.value,inclusive:c.inclusive,message:c.message}),u.dirty()):c.kind==="max"?(c.inclusive?a.data>c.value:a.data>=c.value)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.too_big,type:"bigint",maximum:c.value,inclusive:c.inclusive,message:c.message}),u.dirty()):c.kind==="multipleOf"?a.data%c.value!==BigInt(0)&&(o=this._getOrReturnCtx(a,o),addIssueToContext(o,{code:ZodIssueCode.not_multiple_of,multipleOf:c.value,message:c.message}),u.dirty()):util.assertNever(c);return{status:u.value,value:a.data}}_getInvalidInput(a){const l=this._getOrReturnCtx(a);return addIssueToContext(l,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.bigint,received:l.parsedType}),INVALID}gte(a,l){return this.setLimit("min",a,!0,errorUtil.toString(l))}gt(a,l){return this.setLimit("min",a,!1,errorUtil.toString(l))}lte(a,l){return this.setLimit("max",a,!0,errorUtil.toString(l))}lt(a,l){return this.setLimit("max",a,!1,errorUtil.toString(l))}setLimit(a,l,o,u){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:a,value:l,inclusive:o,message:errorUtil.toString(u)}]})}_addCheck(a){return new ZodBigInt({...this._def,checks:[...this._def.checks,a]})}positive(a){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:errorUtil.toString(a)})}negative(a){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:errorUtil.toString(a)})}nonpositive(a){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:errorUtil.toString(a)})}nonnegative(a){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:errorUtil.toString(a)})}multipleOf(a,l){return this._addCheck({kind:"multipleOf",value:a,message:errorUtil.toString(l)})}get minValue(){let a=null;for(const l of this._def.checks)l.kind==="min"&&(a===null||l.value>a)&&(a=l.value);return a}get maxValue(){let a=null;for(const l of this._def.checks)l.kind==="max"&&(a===null||l.value<a)&&(a=l.value);return a}}ZodBigInt.create=t=>new ZodBigInt({checks:[],typeName:ZodFirstPartyTypeKind.ZodBigInt,coerce:(t==null?void 0:t.coerce)??!1,...processCreateParams(t)});class ZodBoolean extends ZodType{_parse(a){if(this._def.coerce&&(a.data=!!a.data),this._getType(a)!==ZodParsedType.boolean){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.boolean,received:o.parsedType}),INVALID}return OK(a.data)}}ZodBoolean.create=t=>new ZodBoolean({typeName:ZodFirstPartyTypeKind.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...processCreateParams(t)});class ZodDate extends ZodType{_parse(a){if(this._def.coerce&&(a.data=new Date(a.data)),this._getType(a)!==ZodParsedType.date){const c=this._getOrReturnCtx(a);return addIssueToContext(c,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.date,received:c.parsedType}),INVALID}if(Number.isNaN(a.data.getTime())){const c=this._getOrReturnCtx(a);return addIssueToContext(c,{code:ZodIssueCode.invalid_date}),INVALID}const o=new ParseStatus;let u;for(const c of this._def.checks)c.kind==="min"?a.data.getTime()<c.value&&(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.too_small,message:c.message,inclusive:!0,exact:!1,minimum:c.value,type:"date"}),o.dirty()):c.kind==="max"?a.data.getTime()>c.value&&(u=this._getOrReturnCtx(a,u),addIssueToContext(u,{code:ZodIssueCode.too_big,message:c.message,inclusive:!0,exact:!1,maximum:c.value,type:"date"}),o.dirty()):util.assertNever(c);return{status:o.value,value:new Date(a.data.getTime())}}_addCheck(a){return new ZodDate({...this._def,checks:[...this._def.checks,a]})}min(a,l){return this._addCheck({kind:"min",value:a.getTime(),message:errorUtil.toString(l)})}max(a,l){return this._addCheck({kind:"max",value:a.getTime(),message:errorUtil.toString(l)})}get minDate(){let a=null;for(const l of this._def.checks)l.kind==="min"&&(a===null||l.value>a)&&(a=l.value);return a!=null?new Date(a):null}get maxDate(){let a=null;for(const l of this._def.checks)l.kind==="max"&&(a===null||l.value<a)&&(a=l.value);return a!=null?new Date(a):null}}ZodDate.create=t=>new ZodDate({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:ZodFirstPartyTypeKind.ZodDate,...processCreateParams(t)});class ZodSymbol extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.symbol){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.symbol,received:o.parsedType}),INVALID}return OK(a.data)}}ZodSymbol.create=t=>new ZodSymbol({typeName:ZodFirstPartyTypeKind.ZodSymbol,...processCreateParams(t)});class ZodUndefined extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.undefined){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.undefined,received:o.parsedType}),INVALID}return OK(a.data)}}ZodUndefined.create=t=>new ZodUndefined({typeName:ZodFirstPartyTypeKind.ZodUndefined,...processCreateParams(t)});class ZodNull extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.null){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.null,received:o.parsedType}),INVALID}return OK(a.data)}}ZodNull.create=t=>new ZodNull({typeName:ZodFirstPartyTypeKind.ZodNull,...processCreateParams(t)});class ZodAny extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(a){return OK(a.data)}}ZodAny.create=t=>new ZodAny({typeName:ZodFirstPartyTypeKind.ZodAny,...processCreateParams(t)});class ZodUnknown extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(a){return OK(a.data)}}ZodUnknown.create=t=>new ZodUnknown({typeName:ZodFirstPartyTypeKind.ZodUnknown,...processCreateParams(t)});class ZodNever extends ZodType{_parse(a){const l=this._getOrReturnCtx(a);return addIssueToContext(l,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.never,received:l.parsedType}),INVALID}}ZodNever.create=t=>new ZodNever({typeName:ZodFirstPartyTypeKind.ZodNever,...processCreateParams(t)});class ZodVoid extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.undefined){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.void,received:o.parsedType}),INVALID}return OK(a.data)}}ZodVoid.create=t=>new ZodVoid({typeName:ZodFirstPartyTypeKind.ZodVoid,...processCreateParams(t)});class ZodArray extends ZodType{_parse(a){const{ctx:l,status:o}=this._processInputParams(a),u=this._def;if(l.parsedType!==ZodParsedType.array)return addIssueToContext(l,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:l.parsedType}),INVALID;if(u.exactLength!==null){const d=l.data.length>u.exactLength.value,m=l.data.length<u.exactLength.value;(d||m)&&(addIssueToContext(l,{code:d?ZodIssueCode.too_big:ZodIssueCode.too_small,minimum:m?u.exactLength.value:void 0,maximum:d?u.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:u.exactLength.message}),o.dirty())}if(u.minLength!==null&&l.data.length<u.minLength.value&&(addIssueToContext(l,{code:ZodIssueCode.too_small,minimum:u.minLength.value,type:"array",inclusive:!0,exact:!1,message:u.minLength.message}),o.dirty()),u.maxLength!==null&&l.data.length>u.maxLength.value&&(addIssueToContext(l,{code:ZodIssueCode.too_big,maximum:u.maxLength.value,type:"array",inclusive:!0,exact:!1,message:u.maxLength.message}),o.dirty()),l.common.async)return Promise.all([...l.data].map((d,m)=>u.type._parseAsync(new ParseInputLazyPath(l,d,l.path,m)))).then(d=>ParseStatus.mergeArray(o,d));const c=[...l.data].map((d,m)=>u.type._parseSync(new ParseInputLazyPath(l,d,l.path,m)));return ParseStatus.mergeArray(o,c)}get element(){return this._def.type}min(a,l){return new ZodArray({...this._def,minLength:{value:a,message:errorUtil.toString(l)}})}max(a,l){return new ZodArray({...this._def,maxLength:{value:a,message:errorUtil.toString(l)}})}length(a,l){return new ZodArray({...this._def,exactLength:{value:a,message:errorUtil.toString(l)}})}nonempty(a){return this.min(1,a)}}ZodArray.create=(t,a)=>new ZodArray({type:t,minLength:null,maxLength:null,exactLength:null,typeName:ZodFirstPartyTypeKind.ZodArray,...processCreateParams(a)});function deepPartialify(t){if(t instanceof ZodObject){const a={};for(const l in t.shape){const o=t.shape[l];a[l]=ZodOptional.create(deepPartialify(o))}return new ZodObject({...t._def,shape:()=>a})}else return t instanceof ZodArray?new ZodArray({...t._def,type:deepPartialify(t.element)}):t instanceof ZodOptional?ZodOptional.create(deepPartialify(t.unwrap())):t instanceof ZodNullable?ZodNullable.create(deepPartialify(t.unwrap())):t instanceof ZodTuple?ZodTuple.create(t.items.map(a=>deepPartialify(a))):t}class ZodObject extends ZodType{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const a=this._def.shape(),l=util.objectKeys(a);return this._cached={shape:a,keys:l},this._cached}_parse(a){if(this._getType(a)!==ZodParsedType.object){const g=this._getOrReturnCtx(a);return addIssueToContext(g,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:g.parsedType}),INVALID}const{status:o,ctx:u}=this._processInputParams(a),{shape:c,keys:d}=this._getCached(),m=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip"))for(const g in u.data)d.includes(g)||m.push(g);const p=[];for(const g of d){const x=c[g],b=u.data[g];p.push({key:{status:"valid",value:g},value:x._parse(new ParseInputLazyPath(u,b,u.path,g)),alwaysSet:g in u.data})}if(this._def.catchall instanceof ZodNever){const g=this._def.unknownKeys;if(g==="passthrough")for(const x of m)p.push({key:{status:"valid",value:x},value:{status:"valid",value:u.data[x]}});else if(g==="strict")m.length>0&&(addIssueToContext(u,{code:ZodIssueCode.unrecognized_keys,keys:m}),o.dirty());else if(g!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const g=this._def.catchall;for(const x of m){const b=u.data[x];p.push({key:{status:"valid",value:x},value:g._parse(new ParseInputLazyPath(u,b,u.path,x)),alwaysSet:x in u.data})}}return u.common.async?Promise.resolve().then(async()=>{const g=[];for(const x of p){const b=await x.key,C=await x.value;g.push({key:b,value:C,alwaysSet:x.alwaysSet})}return g}).then(g=>ParseStatus.mergeObjectSync(o,g)):ParseStatus.mergeObjectSync(o,p)}get shape(){return this._def.shape()}strict(a){return errorUtil.errToObj,new ZodObject({...this._def,unknownKeys:"strict",...a!==void 0?{errorMap:(l,o)=>{var c,d;const u=((d=(c=this._def).errorMap)==null?void 0:d.call(c,l,o).message)??o.defaultError;return l.code==="unrecognized_keys"?{message:errorUtil.errToObj(a).message??u}:{message:u}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(a){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...a})})}merge(a){return new ZodObject({unknownKeys:a._def.unknownKeys,catchall:a._def.catchall,shape:()=>({...this._def.shape(),...a._def.shape()}),typeName:ZodFirstPartyTypeKind.ZodObject})}setKey(a,l){return this.augment({[a]:l})}catchall(a){return new ZodObject({...this._def,catchall:a})}pick(a){const l={};for(const o of util.objectKeys(a))a[o]&&this.shape[o]&&(l[o]=this.shape[o]);return new ZodObject({...this._def,shape:()=>l})}omit(a){const l={};for(const o of util.objectKeys(this.shape))a[o]||(l[o]=this.shape[o]);return new ZodObject({...this._def,shape:()=>l})}deepPartial(){return deepPartialify(this)}partial(a){const l={};for(const o of util.objectKeys(this.shape)){const u=this.shape[o];a&&!a[o]?l[o]=u:l[o]=u.optional()}return new ZodObject({...this._def,shape:()=>l})}required(a){const l={};for(const o of util.objectKeys(this.shape))if(a&&!a[o])l[o]=this.shape[o];else{let c=this.shape[o];for(;c instanceof ZodOptional;)c=c._def.innerType;l[o]=c}return new ZodObject({...this._def,shape:()=>l})}keyof(){return createZodEnum(util.objectKeys(this.shape))}}ZodObject.create=(t,a)=>new ZodObject({shape:()=>t,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(a)});ZodObject.strictCreate=(t,a)=>new ZodObject({shape:()=>t,unknownKeys:"strict",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(a)});ZodObject.lazycreate=(t,a)=>new ZodObject({shape:t,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(a)});class ZodUnion extends ZodType{_parse(a){const{ctx:l}=this._processInputParams(a),o=this._def.options;function u(c){for(const m of c)if(m.result.status==="valid")return m.result;for(const m of c)if(m.result.status==="dirty")return l.common.issues.push(...m.ctx.common.issues),m.result;const d=c.map(m=>new ZodError(m.ctx.common.issues));return addIssueToContext(l,{code:ZodIssueCode.invalid_union,unionErrors:d}),INVALID}if(l.common.async)return Promise.all(o.map(async c=>{const d={...l,common:{...l.common,issues:[]},parent:null};return{result:await c._parseAsync({data:l.data,path:l.path,parent:d}),ctx:d}})).then(u);{let c;const d=[];for(const p of o){const g={...l,common:{...l.common,issues:[]},parent:null},x=p._parseSync({data:l.data,path:l.path,parent:g});if(x.status==="valid")return x;x.status==="dirty"&&!c&&(c={result:x,ctx:g}),g.common.issues.length&&d.push(g.common.issues)}if(c)return l.common.issues.push(...c.ctx.common.issues),c.result;const m=d.map(p=>new ZodError(p));return addIssueToContext(l,{code:ZodIssueCode.invalid_union,unionErrors:m}),INVALID}}get options(){return this._def.options}}ZodUnion.create=(t,a)=>new ZodUnion({options:t,typeName:ZodFirstPartyTypeKind.ZodUnion,...processCreateParams(a)});function mergeValues(t,a){const l=getParsedType(t),o=getParsedType(a);if(t===a)return{valid:!0,data:t};if(l===ZodParsedType.object&&o===ZodParsedType.object){const u=util.objectKeys(a),c=util.objectKeys(t).filter(m=>u.indexOf(m)!==-1),d={...t,...a};for(const m of c){const p=mergeValues(t[m],a[m]);if(!p.valid)return{valid:!1};d[m]=p.data}return{valid:!0,data:d}}else if(l===ZodParsedType.array&&o===ZodParsedType.array){if(t.length!==a.length)return{valid:!1};const u=[];for(let c=0;c<t.length;c++){const d=t[c],m=a[c],p=mergeValues(d,m);if(!p.valid)return{valid:!1};u.push(p.data)}return{valid:!0,data:u}}else return l===ZodParsedType.date&&o===ZodParsedType.date&&+t==+a?{valid:!0,data:t}:{valid:!1}}class ZodIntersection extends ZodType{_parse(a){const{status:l,ctx:o}=this._processInputParams(a),u=(c,d)=>{if(isAborted(c)||isAborted(d))return INVALID;const m=mergeValues(c.value,d.value);return m.valid?((isDirty(c)||isDirty(d))&&l.dirty(),{status:l.value,value:m.data}):(addIssueToContext(o,{code:ZodIssueCode.invalid_intersection_types}),INVALID)};return o.common.async?Promise.all([this._def.left._parseAsync({data:o.data,path:o.path,parent:o}),this._def.right._parseAsync({data:o.data,path:o.path,parent:o})]).then(([c,d])=>u(c,d)):u(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}}ZodIntersection.create=(t,a,l)=>new ZodIntersection({left:t,right:a,typeName:ZodFirstPartyTypeKind.ZodIntersection,...processCreateParams(l)});class ZodTuple extends ZodType{_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.parsedType!==ZodParsedType.array)return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:o.parsedType}),INVALID;if(o.data.length<this._def.items.length)return addIssueToContext(o,{code:ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),INVALID;!this._def.rest&&o.data.length>this._def.items.length&&(addIssueToContext(o,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),l.dirty());const c=[...o.data].map((d,m)=>{const p=this._def.items[m]||this._def.rest;return p?p._parse(new ParseInputLazyPath(o,d,o.path,m)):null}).filter(d=>!!d);return o.common.async?Promise.all(c).then(d=>ParseStatus.mergeArray(l,d)):ParseStatus.mergeArray(l,c)}get items(){return this._def.items}rest(a){return new ZodTuple({...this._def,rest:a})}}ZodTuple.create=(t,a)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:t,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null,...processCreateParams(a)})};class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.parsedType!==ZodParsedType.object)return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:o.parsedType}),INVALID;const u=[],c=this._def.keyType,d=this._def.valueType;for(const m in o.data)u.push({key:c._parse(new ParseInputLazyPath(o,m,o.path,m)),value:d._parse(new ParseInputLazyPath(o,o.data[m],o.path,m)),alwaysSet:m in o.data});return o.common.async?ParseStatus.mergeObjectAsync(l,u):ParseStatus.mergeObjectSync(l,u)}get element(){return this._def.valueType}static create(a,l,o){return l instanceof ZodType?new ZodRecord({keyType:a,valueType:l,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(o)}):new ZodRecord({keyType:ZodString.create(),valueType:a,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(l)})}}class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.parsedType!==ZodParsedType.map)return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:o.parsedType}),INVALID;const u=this._def.keyType,c=this._def.valueType,d=[...o.data.entries()].map(([m,p],g)=>({key:u._parse(new ParseInputLazyPath(o,m,o.path,[g,"key"])),value:c._parse(new ParseInputLazyPath(o,p,o.path,[g,"value"]))}));if(o.common.async){const m=new Map;return Promise.resolve().then(async()=>{for(const p of d){const g=await p.key,x=await p.value;if(g.status==="aborted"||x.status==="aborted")return INVALID;(g.status==="dirty"||x.status==="dirty")&&l.dirty(),m.set(g.value,x.value)}return{status:l.value,value:m}})}else{const m=new Map;for(const p of d){const g=p.key,x=p.value;if(g.status==="aborted"||x.status==="aborted")return INVALID;(g.status==="dirty"||x.status==="dirty")&&l.dirty(),m.set(g.value,x.value)}return{status:l.value,value:m}}}}ZodMap.create=(t,a,l)=>new ZodMap({valueType:a,keyType:t,typeName:ZodFirstPartyTypeKind.ZodMap,...processCreateParams(l)});class ZodSet extends ZodType{_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.parsedType!==ZodParsedType.set)return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:o.parsedType}),INVALID;const u=this._def;u.minSize!==null&&o.data.size<u.minSize.value&&(addIssueToContext(o,{code:ZodIssueCode.too_small,minimum:u.minSize.value,type:"set",inclusive:!0,exact:!1,message:u.minSize.message}),l.dirty()),u.maxSize!==null&&o.data.size>u.maxSize.value&&(addIssueToContext(o,{code:ZodIssueCode.too_big,maximum:u.maxSize.value,type:"set",inclusive:!0,exact:!1,message:u.maxSize.message}),l.dirty());const c=this._def.valueType;function d(p){const g=new Set;for(const x of p){if(x.status==="aborted")return INVALID;x.status==="dirty"&&l.dirty(),g.add(x.value)}return{status:l.value,value:g}}const m=[...o.data.values()].map((p,g)=>c._parse(new ParseInputLazyPath(o,p,o.path,g)));return o.common.async?Promise.all(m).then(p=>d(p)):d(m)}min(a,l){return new ZodSet({...this._def,minSize:{value:a,message:errorUtil.toString(l)}})}max(a,l){return new ZodSet({...this._def,maxSize:{value:a,message:errorUtil.toString(l)}})}size(a,l){return this.min(a,l).max(a,l)}nonempty(a){return this.min(1,a)}}ZodSet.create=(t,a)=>new ZodSet({valueType:t,minSize:null,maxSize:null,typeName:ZodFirstPartyTypeKind.ZodSet,...processCreateParams(a)});class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(a){const{ctx:l}=this._processInputParams(a);return this._def.getter()._parse({data:l.data,path:l.path,parent:l})}}ZodLazy.create=(t,a)=>new ZodLazy({getter:t,typeName:ZodFirstPartyTypeKind.ZodLazy,...processCreateParams(a)});class ZodLiteral extends ZodType{_parse(a){if(a.data!==this._def.value){const l=this._getOrReturnCtx(a);return addIssueToContext(l,{received:l.data,code:ZodIssueCode.invalid_literal,expected:this._def.value}),INVALID}return{status:"valid",value:a.data}}get value(){return this._def.value}}ZodLiteral.create=(t,a)=>new ZodLiteral({value:t,typeName:ZodFirstPartyTypeKind.ZodLiteral,...processCreateParams(a)});function createZodEnum(t,a){return new ZodEnum({values:t,typeName:ZodFirstPartyTypeKind.ZodEnum,...processCreateParams(a)})}class ZodEnum extends ZodType{_parse(a){if(typeof a.data!="string"){const l=this._getOrReturnCtx(a),o=this._def.values;return addIssueToContext(l,{expected:util.joinValues(o),received:l.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(a.data)){const l=this._getOrReturnCtx(a),o=this._def.values;return addIssueToContext(l,{received:l.data,code:ZodIssueCode.invalid_enum_value,options:o}),INVALID}return OK(a.data)}get options(){return this._def.values}get enum(){const a={};for(const l of this._def.values)a[l]=l;return a}get Values(){const a={};for(const l of this._def.values)a[l]=l;return a}get Enum(){const a={};for(const l of this._def.values)a[l]=l;return a}extract(a,l=this._def){return ZodEnum.create(a,{...this._def,...l})}exclude(a,l=this._def){return ZodEnum.create(this.options.filter(o=>!a.includes(o)),{...this._def,...l})}}ZodEnum.create=createZodEnum;class ZodNativeEnum extends ZodType{_parse(a){const l=util.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(a);if(o.parsedType!==ZodParsedType.string&&o.parsedType!==ZodParsedType.number){const u=util.objectValues(l);return addIssueToContext(o,{expected:util.joinValues(u),received:o.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(util.getValidEnumValues(this._def.values))),!this._cache.has(a.data)){const u=util.objectValues(l);return addIssueToContext(o,{received:o.data,code:ZodIssueCode.invalid_enum_value,options:u}),INVALID}return OK(a.data)}get enum(){return this._def.values}}ZodNativeEnum.create=(t,a)=>new ZodNativeEnum({values:t,typeName:ZodFirstPartyTypeKind.ZodNativeEnum,...processCreateParams(a)});class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(a){const{ctx:l}=this._processInputParams(a);if(l.parsedType!==ZodParsedType.promise&&l.common.async===!1)return addIssueToContext(l,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.promise,received:l.parsedType}),INVALID;const o=l.parsedType===ZodParsedType.promise?l.data:Promise.resolve(l.data);return OK(o.then(u=>this._def.type.parseAsync(u,{path:l.path,errorMap:l.common.contextualErrorMap})))}}ZodPromise.create=(t,a)=>new ZodPromise({type:t,typeName:ZodFirstPartyTypeKind.ZodPromise,...processCreateParams(a)});class ZodEffects extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ZodFirstPartyTypeKind.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(a){const{status:l,ctx:o}=this._processInputParams(a),u=this._def.effect||null,c={addIssue:d=>{addIssueToContext(o,d),d.fatal?l.abort():l.dirty()},get path(){return o.path}};if(c.addIssue=c.addIssue.bind(c),u.type==="preprocess"){const d=u.transform(o.data,c);if(o.common.async)return Promise.resolve(d).then(async m=>{if(l.value==="aborted")return INVALID;const p=await this._def.schema._parseAsync({data:m,path:o.path,parent:o});return p.status==="aborted"?INVALID:p.status==="dirty"||l.value==="dirty"?DIRTY(p.value):p});{if(l.value==="aborted")return INVALID;const m=this._def.schema._parseSync({data:d,path:o.path,parent:o});return m.status==="aborted"?INVALID:m.status==="dirty"||l.value==="dirty"?DIRTY(m.value):m}}if(u.type==="refinement"){const d=m=>{const p=u.refinement(m,c);if(o.common.async)return Promise.resolve(p);if(p instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return m};if(o.common.async===!1){const m=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});return m.status==="aborted"?INVALID:(m.status==="dirty"&&l.dirty(),d(m.value),{status:l.value,value:m.value})}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then(m=>m.status==="aborted"?INVALID:(m.status==="dirty"&&l.dirty(),d(m.value).then(()=>({status:l.value,value:m.value}))))}if(u.type==="transform")if(o.common.async===!1){const d=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!isValid(d))return INVALID;const m=u.transform(d.value,c);if(m instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:l.value,value:m}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then(d=>isValid(d)?Promise.resolve(u.transform(d.value,c)).then(m=>({status:l.value,value:m})):INVALID);util.assertNever(u)}}ZodEffects.create=(t,a,l)=>new ZodEffects({schema:t,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:a,...processCreateParams(l)});ZodEffects.createWithPreprocess=(t,a,l)=>new ZodEffects({schema:a,effect:{type:"preprocess",transform:t},typeName:ZodFirstPartyTypeKind.ZodEffects,...processCreateParams(l)});class ZodOptional extends ZodType{_parse(a){return this._getType(a)===ZodParsedType.undefined?OK(void 0):this._def.innerType._parse(a)}unwrap(){return this._def.innerType}}ZodOptional.create=(t,a)=>new ZodOptional({innerType:t,typeName:ZodFirstPartyTypeKind.ZodOptional,...processCreateParams(a)});class ZodNullable extends ZodType{_parse(a){return this._getType(a)===ZodParsedType.null?OK(null):this._def.innerType._parse(a)}unwrap(){return this._def.innerType}}ZodNullable.create=(t,a)=>new ZodNullable({innerType:t,typeName:ZodFirstPartyTypeKind.ZodNullable,...processCreateParams(a)});class ZodDefault extends ZodType{_parse(a){const{ctx:l}=this._processInputParams(a);let o=l.data;return l.parsedType===ZodParsedType.undefined&&(o=this._def.defaultValue()),this._def.innerType._parse({data:o,path:l.path,parent:l})}removeDefault(){return this._def.innerType}}ZodDefault.create=(t,a)=>new ZodDefault({innerType:t,typeName:ZodFirstPartyTypeKind.ZodDefault,defaultValue:typeof a.default=="function"?a.default:()=>a.default,...processCreateParams(a)});class ZodCatch extends ZodType{_parse(a){const{ctx:l}=this._processInputParams(a),o={...l,common:{...l.common,issues:[]}},u=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});return isAsync(u)?u.then(c=>({status:"valid",value:c.status==="valid"?c.value:this._def.catchValue({get error(){return new ZodError(o.common.issues)},input:o.data})})):{status:"valid",value:u.status==="valid"?u.value:this._def.catchValue({get error(){return new ZodError(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}}ZodCatch.create=(t,a)=>new ZodCatch({innerType:t,typeName:ZodFirstPartyTypeKind.ZodCatch,catchValue:typeof a.catch=="function"?a.catch:()=>a.catch,...processCreateParams(a)});class ZodNaN extends ZodType{_parse(a){if(this._getType(a)!==ZodParsedType.nan){const o=this._getOrReturnCtx(a);return addIssueToContext(o,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.nan,received:o.parsedType}),INVALID}return{status:"valid",value:a.data}}}ZodNaN.create=t=>new ZodNaN({typeName:ZodFirstPartyTypeKind.ZodNaN,...processCreateParams(t)});class ZodBranded extends ZodType{_parse(a){const{ctx:l}=this._processInputParams(a),o=l.data;return this._def.type._parse({data:o,path:l.path,parent:l})}unwrap(){return this._def.type}}class ZodPipeline extends ZodType{_parse(a){const{status:l,ctx:o}=this._processInputParams(a);if(o.common.async)return(async()=>{const c=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});return c.status==="aborted"?INVALID:c.status==="dirty"?(l.dirty(),DIRTY(c.value)):this._def.out._parseAsync({data:c.value,path:o.path,parent:o})})();{const u=this._def.in._parseSync({data:o.data,path:o.path,parent:o});return u.status==="aborted"?INVALID:u.status==="dirty"?(l.dirty(),{status:"dirty",value:u.value}):this._def.out._parseSync({data:u.value,path:o.path,parent:o})}}static create(a,l){return new ZodPipeline({in:a,out:l,typeName:ZodFirstPartyTypeKind.ZodPipeline})}}class ZodReadonly extends ZodType{_parse(a){const l=this._def.innerType._parse(a),o=u=>(isValid(u)&&(u.value=Object.freeze(u.value)),u);return isAsync(l)?l.then(u=>o(u)):o(l)}unwrap(){return this._def.innerType}}ZodReadonly.create=(t,a)=>new ZodReadonly({innerType:t,typeName:ZodFirstPartyTypeKind.ZodReadonly,...processCreateParams(a)});var ZodFirstPartyTypeKind;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(ZodFirstPartyTypeKind||(ZodFirstPartyTypeKind={}));const stringType=ZodString.create,numberType=ZodNumber.create,booleanType=ZodBoolean.create,unknownType=ZodUnknown.create;ZodNever.create;const arrayType=ZodArray.create,objectType=ZodObject.create;ZodUnion.create;ZodIntersection.create;ZodTuple.create;const recordType=ZodRecord.create;ZodEnum.create;ZodPromise.create;ZodOptional.create;ZodNullable.create;objectType({id:stringType(),agentId:stringType(),clappId:stringType(),intent:stringType(),payload:recordType(unknownType()),timestamp:stringType()});objectType({agentId:stringType(),clappId:stringType(),version:numberType(),timestamp:stringType(),state:recordType(unknownType())});const AppEntrySchema=objectType({id:stringType(),name:stringType(),description:stringType().default(""),emoji:stringType().default("📦"),icon:stringType().default(""),tags:arrayType(stringType()).default([]),pinned:booleanType().default(!1)});objectType({agentId:stringType(),apps:arrayType(AppEntrySchema)});objectType({agentId:stringType(),viewId:stringType(),content:stringType()});const Card$1=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("div",{ref:l,className:cn("rounded-lg border border-border bg-card text-card-foreground shadow-sm",t),...a}));Card$1.displayName="Card";const CardHeader=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("div",{ref:l,className:cn("flex flex-col space-y-1.5 p-4 pb-2",t),...a}));CardHeader.displayName="CardHeader";const CardTitle=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("h3",{ref:l,className:cn("text-base font-semibold leading-none tracking-tight",t),...a}));CardTitle.displayName="CardTitle";const CardDescription=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("p",{ref:l,className:cn("text-sm text-muted-foreground",t),...a}));CardDescription.displayName="CardDescription";const CardContent=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("div",{ref:l,className:cn("p-4 pt-0",t),...a}));CardContent.displayName="CardContent";const CardFooter=reactExports.forwardRef(({className:t,...a},l)=>jsxRuntimeExports.jsx("div",{ref:l,className:cn("flex items-center p-4 pt-0",t),...a}));CardFooter.displayName="CardFooter";function Card({title:t,children:a}){return jsxRuntimeExports.jsxs(Card$1,{children:[t&&jsxRuntimeExports.jsx(CardHeader,{children:jsxRuntimeExports.jsx(CardTitle,{children:t})}),jsxRuntimeExports.jsx(CardContent,{className:t?"":"pt-4",children:a})]})}function Column({gap:t=2,children:a,className:l}){const o=`gap-${t}`;return jsxRuntimeExports.jsx("div",{className:cn("flex flex-col",o,l),children:a})}const alignMap={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},justifyMap={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around"};function Row({gap:t=2,align:a="center",justify:l="start",children:o,className:u}){return jsxRuntimeExports.jsx("div",{className:cn("flex flex-row",`gap-${t}`,alignMap[a],justifyMap[l],u),children:o})}const levelStyles={1:"text-2xl font-bold tracking-tight",2:"text-xl font-semibold tracking-tight",3:"text-lg font-semibold",4:"text-base font-medium",5:"text-sm font-medium",6:"text-sm font-medium text-muted-foreground"};function Heading({level:t=2,children:a,className:l}){const o=`h${t}`;return jsxRuntimeExports.jsx(o,{className:cn(levelStyles[t],l),children:a})}const Input=reactExports.forwardRef(({className:t,type:a,...l},o)=>jsxRuntimeExports.jsx("input",{type:a,className:cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:o,...l}));Input.displayName="Input";const FormContext=reactExports.createContext(null);function useFormContext(){const t=reactExports.useContext(FormContext);return t||{values:{},setValue:()=>{},reset:()=>{}}}function FormProvider({children:t}){const[a,l]=reactExports.useState({}),o=(c,d)=>{l(m=>({...m,[c]:d}))},u=()=>{l({})};return jsxRuntimeExports.jsx(FormContext.Provider,{value:{values:a,setValue:o,reset:u},children:t})}function TextInput({name:t,type:a="text",placeholder:l}){const{values:o,setValue:u}=useFormContext(),c=o[t]??"";return jsxRuntimeExports.jsx(Input,{type:a,name:t,placeholder:l,value:c,onChange:d=>u(t,d.target.value)})}function IntentFormInner({intent:t,submitLabel:a="Submit",children:l}){const{values:o,reset:u}=useFormContext(),{sendIntent:c}=useClappContext(),d=m=>{m.preventDefault(),c(t,o),u()};return jsxRuntimeExports.jsxs("form",{onSubmit:d,className:"flex flex-col gap-3",children:[l,jsxRuntimeExports.jsx(Button,{type:"submit",className:"self-start",children:a})]})}function IntentForm(t){return jsxRuntimeExports.jsx(FormProvider,{children:jsxRuntimeExports.jsx(IntentFormInner,{...t})})}function IntentButton({intent:t,payload:a={},variant:l="outline",size:o="default",label:u,children:c}){const{emit:d}=useIntent(),m=l==="primary"?"default":l;return jsxRuntimeExports.jsx(Button,{variant:m,size:o,onClick:()=>d(t,a),children:c||u})}function Skeleton$1({className:t,...a}){return jsxRuntimeExports.jsx("div",{className:cn("animate-pulse rounded-md bg-muted",t),...a})}function Skeleton(){return jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-2 py-2",children:[jsxRuntimeExports.jsx(Skeleton$1,{className:"h-4 w-4/5"}),jsxRuntimeExports.jsx(Skeleton$1,{className:"h-4 w-3/5"}),jsxRuntimeExports.jsx(Skeleton$1,{className:"h-4 w-4/5"})]})}function List({data:t,onItemClick:a,active:l,children:o,className:u}){const c=useClappState(t||"_empty_")??[],d=useClappState(l||"_empty_"),{emit:m}=useIntent();return t?c.length===0?jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center",children:"No items"}):jsxRuntimeExports.jsx("ul",{className:cn("flex flex-col gap-1",u),children:c.map((p,g)=>{const x=typeof p=="object"&&p!==null,b=x?p:null,C=String(b?b.text??JSON.stringify(p):p),R=b!=null&&b.role?String(b.role):void 0,_=b!=null&&b.id?String(b.id):`${g}`,B=p===d;return jsxRuntimeExports.jsx("li",{className:cn("flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors",a&&"cursor-pointer",B?"bg-accent text-accent-foreground":"hover:bg-accent/50",R==="assistant"&&"bg-muted/50",R==="user"&&"bg-primary/10"),onClick:a?()=>m(a,x?p:{value:p}):void 0,role:a?"button":void 0,children:C},_)})}):jsxRuntimeExports.jsx("ul",{className:cn("flex flex-col gap-1",u),children:o})}function ListItem({active:t,children:a,className:l,onClick:o}){return jsxRuntimeExports.jsx("li",{className:cn("flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors cursor-pointer",t?"bg-accent text-accent-foreground":"hover:bg-accent/50",l),onClick:o,children:a})}function Conditional({when:t,children:a}){const l=(t==null?void 0:t.startsWith("!"))??!1,o=l?t.slice(1):t??"",u=useClappState(o||"_empty_");return(l?!u:!!u)?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:a}):null}function MarkdownContent({source:t,content:a,className:l}){const o=useClappState(t||"_empty_"),u=a??o??"";return u?jsxRuntimeExports.jsx("div",{className:cn("prose prose-invert prose-sm max-w-none",l),children:jsxRuntimeExports.jsx(Markdown,{components:{h1:({children:c})=>jsxRuntimeExports.jsx("h1",{className:"text-xl font-bold mt-4 mb-2",children:c}),h2:({children:c})=>jsxRuntimeExports.jsx("h2",{className:"text-lg font-semibold mt-3 mb-2",children:c}),h3:({children:c})=>jsxRuntimeExports.jsx("h3",{className:"text-base font-semibold mt-2 mb-1",children:c}),p:({children:c})=>jsxRuntimeExports.jsx("p",{className:"my-2 text-sm leading-relaxed",children:c}),ul:({children:c})=>jsxRuntimeExports.jsx("ul",{className:"list-disc list-inside my-2 text-sm",children:c}),ol:({children:c})=>jsxRuntimeExports.jsx("ol",{className:"list-decimal list-inside my-2 text-sm",children:c}),li:({children:c})=>jsxRuntimeExports.jsx("li",{className:"my-0.5",children:c}),code:({children:c,className:d})=>!d?jsxRuntimeExports.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded text-xs font-mono",children:c}):jsxRuntimeExports.jsx("code",{className:d,children:c}),pre:({children:c})=>jsxRuntimeExports.jsx("pre",{className:"bg-card border border-border rounded-md p-3 overflow-x-auto my-2 text-xs",children:c}),blockquote:({children:c})=>jsxRuntimeExports.jsx("blockquote",{className:"border-l-2 border-primary pl-3 my-2 text-muted-foreground italic",children:c}),a:({href:c,children:d})=>jsxRuntimeExports.jsx("a",{href:c,className:"text-primary hover:underline",target:"_blank",rel:"noopener noreferrer",children:d}),strong:({children:c})=>jsxRuntimeExports.jsx("strong",{className:"font-semibold",children:c}),em:({children:c})=>jsxRuntimeExports.jsx("em",{className:"italic",children:c})},children:u})}):null}function Icon({name:t,emoji:a,className:l}){return a?jsxRuntimeExports.jsx("span",{className:cn("text-base leading-none",l),children:a}):t?jsxRuntimeExports.jsx("span",{className:cn("text-base leading-none",l),children:"•"}):null}const PROVIDER_CONFIGS=[{type:"anthropic",name:"Anthropic",description:"Claude models via API or subscription",authModes:[{mode:"api-key",label:"API Key",description:"Use your Anthropic API key (usage-based billing)",helpUrl:"https://console.anthropic.com/settings/keys",fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"sk-ant-api03-...",helpText:"Get your API key from the Anthropic Console"}]},{mode:"subscription",label:"Claude Subscription",description:"Use your Claude Pro/Max subscription",helpUrl:"https://docs.openclaw.ai/providers/anthropic#option-b-claude-setup-token",fields:[{name:"setupToken",label:"Setup Token",type:"textarea",placeholder:"Paste your setup token here...",helpText:"Run 'claude setup-token' in your terminal to generate this"}]}]},{type:"openai",name:"OpenAI",description:"GPT models via API or Codex subscription",authModes:[{mode:"api-key",label:"API Key",description:"Use your OpenAI API key (usage-based billing)",helpUrl:"https://platform.openai.com/api-keys",fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"sk-...",helpText:"Get your API key from the OpenAI dashboard"}]},{mode:"subscription",label:"Codex Subscription",description:"Use your ChatGPT Plus/Pro subscription via Codex",helpUrl:"https://docs.openclaw.ai/providers/openai#option-b-openai-code-codex-subscription",fields:[]}]},{type:"kimi-coding",name:"Kimi Coding",description:"Moonshot's Kimi K2 models for coding",authModes:[{mode:"api-key",label:"API Key",description:"Use your Kimi Coding API key",helpUrl:"https://platform.moonshot.cn/console/api-keys",fields:[{name:"apiKey",label:"API Key",type:"password",placeholder:"sk-...",helpText:"Get your API key from the Moonshot platform"}]}]}];function ProviderEditor({isOpen:t,onClose:a,editingProvider:l}){const{emit:o}=useIntent(),[u,c]=reactExports.useState("select"),[d,m]=reactExports.useState(null),[p,g]=reactExports.useState(null),[x,b]=reactExports.useState(""),[C,R]=reactExports.useState({}),[_,B]=reactExports.useState({}),[L,D]=reactExports.useState(!1),[H,V]=reactExports.useState(null);reactExports.useEffect(()=>{if(t){if(l){m(l.type);const ae=l.authType==="subscription"||l.authType==="oauth"||l.mode==="oauth"?"subscription":"api-key";g(ae),b(l.name),c("configure")}else c("select"),m(null),g(null),b("");R({}),B({}),V(null),D(!1)}},[t,l]);const se=d?PROVIDER_CONFIGS.find(ae=>ae.type===d):null,te=se&&p?se.authModes.find(ae=>ae.mode===p):null,Y=ae=>{m(ae);const Ce=PROVIDER_CONFIGS.find(ye=>ye.type===ae);Ce&&(g(Ce.authModes[0].mode),b(Ce.name)),c("configure")},ge=(ae,Ce)=>{R(ye=>({...ye,[ae]:Ce})),V(null)},W=ae=>{B(Ce=>({...Ce,[ae]:!Ce[ae]}))},ve=async()=>{var ae,Ce;if(!(!d||!p||!se)){if(te!=null&&te.fields.length){for(const ye of te.fields)if(!((ae=C[ye.name])!=null&&ae.trim())){V(`${ye.label} is required`);return}}D(!0),V(null);try{const ye=getIntentName(d,p),ee={customName:x.trim()||se.name,profileId:l==null?void 0:l.id};for(const P of(te==null?void 0:te.fields)??[])ee[P.name]=(Ce=C[P.name])==null?void 0:Ce.trim();o(ye,ee),await new Promise(P=>setTimeout(P,1e3)),a()}catch(ye){V(ye instanceof Error?ye.message:"Failed to save provider")}finally{D(!1)}}},K=()=>{d&&(D(!0),o("settings.startOAuth",{provider:d==="openai"?"openai-codex":d,customName:x.trim()||(se==null?void 0:se.name)}))},Ee=()=>{l&&confirm(`Delete "${l.name}"? This cannot be undone.`)&&(o("settings.deleteProvider",{profileId:l.id}),a())};return t?jsxRuntimeExports.jsxs("div",{className:"fixed inset-0 z-50 flex items-end sm:items-center justify-center",children:[jsxRuntimeExports.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:a}),jsxRuntimeExports.jsxs("div",{className:"relative w-full sm:max-w-md bg-background rounded-t-2xl sm:rounded-2xl shadow-xl max-h-[90vh] overflow-hidden flex flex-col animate-in slide-in-from-bottom-4 sm:slide-in-from-bottom-0 sm:zoom-in-95",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border shrink-0",children:[jsxRuntimeExports.jsx("h2",{className:"text-lg font-semibold",children:l?"Edit Provider":"Add Provider"}),jsxRuntimeExports.jsx("button",{onClick:a,className:"p-1 rounded-full hover:bg-muted transition-colors","aria-label":"Close",children:jsxRuntimeExports.jsx(X,{className:"h-5 w-5"})})]}),jsxRuntimeExports.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[u==="select"&&jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[jsxRuntimeExports.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Choose a provider to add:"}),PROVIDER_CONFIGS.map(ae=>jsxRuntimeExports.jsxs("button",{onClick:()=>Y(ae.type),className:"w-full text-left p-4 rounded-lg border border-border hover:border-primary hover:bg-muted/50 transition-colors",children:[jsxRuntimeExports.jsx("div",{className:"font-medium",children:ae.name}),jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground",children:ae.description})]},ae.type))]}),u==="configure"&&se&&jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Display Name"}),jsxRuntimeExports.jsx("input",{type:"text",value:x,onChange:ae=>b(ae.target.value),placeholder:se.name,className:"w-full h-10 px-3 rounded-md border border-input bg-background text-sm focus:outline-none focus:ring-2 focus:ring-primary"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground",children:'Give this configuration a custom name (e.g., "Work Account", "Personal")'})]}),se.authModes.length>1&&jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Authentication Method"}),jsxRuntimeExports.jsx("div",{className:"grid grid-cols-2 gap-2",children:se.authModes.map(ae=>jsxRuntimeExports.jsxs("button",{onClick:()=>g(ae.mode),className:cn("p-3 rounded-lg border text-left transition-colors",p===ae.mode?"border-primary bg-primary/10":"border-border hover:border-muted-foreground"),children:[jsxRuntimeExports.jsx("div",{className:"text-sm font-medium",children:ae.label}),jsxRuntimeExports.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:ae.description})]},ae.mode))})]}),te&&jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[te.fields.length>0?te.fields.map(ae=>jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:ae.label}),(l==null?void 0:l.maskedCredential)&&!C[ae.name]&&jsxRuntimeExports.jsxs("div",{className:"text-xs text-muted-foreground bg-muted/50 px-2 py-1 rounded mb-1",children:["Current: ",l.maskedCredential]}),ae.type==="textarea"?jsxRuntimeExports.jsx("textarea",{value:C[ae.name]??"",onChange:Ce=>ge(ae.name,Ce.target.value),placeholder:l?"Enter new value to replace...":ae.placeholder,rows:4,className:"w-full px-3 py-2 rounded-md border border-input bg-background text-sm font-mono focus:outline-none focus:ring-2 focus:ring-primary resize-none"}):jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx("input",{type:ae.type==="password"&&!_[ae.name]?"password":"text",value:C[ae.name]??"",onChange:Ce=>ge(ae.name,Ce.target.value),placeholder:l?"Enter new value to replace...":ae.placeholder,className:"w-full h-10 px-3 pr-10 rounded-md border border-input bg-background text-sm font-mono focus:outline-none focus:ring-2 focus:ring-primary"}),ae.type==="password"&&jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>W(ae.name),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 text-muted-foreground hover:text-foreground",children:_[ae.name]?jsxRuntimeExports.jsx(EyeOff,{className:"h-4 w-4"}):jsxRuntimeExports.jsx(Eye,{className:"h-4 w-4"})})]}),ae.helpText&&jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground",children:ae.helpText})]},ae.name)):jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[jsxRuntimeExports.jsxs("p",{className:"text-sm text-muted-foreground",children:["Click the button below to sign in with your ",se.name," account."]}),jsxRuntimeExports.jsx(Button,{onClick:K,disabled:L,className:"w-full",children:L?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin mr-2"}),"Connecting..."]}):`Sign in with ${se.name}`})]}),te.helpUrl&&jsxRuntimeExports.jsxs("a",{href:te.helpUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs text-primary hover:underline",children:["Learn more",jsxRuntimeExports.jsx(ExternalLink,{className:"h-3 w-3"})]})]}),H&&jsxRuntimeExports.jsx("div",{className:"p-3 rounded-md bg-destructive/10 text-destructive text-sm",children:H})]})]}),u==="configure"&&(te==null?void 0:te.fields.length)!==0&&jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-t border-border shrink-0",children:[l&&jsxRuntimeExports.jsx(Button,{variant:"destructive",onClick:Ee,disabled:L,className:"mr-auto",children:"Delete"}),jsxRuntimeExports.jsx(Button,{variant:"outline",onClick:()=>l?a():c("select"),disabled:L,children:l?"Cancel":"Back"}),jsxRuntimeExports.jsx(Button,{onClick:ve,disabled:L,children:L?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin mr-2"}),"Saving..."]}):l?"Update":"Add Provider"})]})]})]}):null}function getIntentName(t,a){var o;return((o={anthropic:{"api-key":"settings.setAnthropicKey",subscription:"settings.setClaudeToken"},openai:{"api-key":"settings.setOpenAIKey",subscription:"settings.startOAuth"},"kimi-coding":{"api-key":"settings.setKimiCodingKey",subscription:"settings.setKimiCodingKey"}}[t])==null?void 0:o[a])??"settings.addProvider"}function getProviderIdentifier(t){const[,a]=t.split(":");return a||t}function providerOptionLabel(t){return`${t.name} · ${getProviderIdentifier(t.id)}`}function ProviderList({data:t="configuredProviders"}){const a=useClappState(t)??[],l=useClappState("active.model")??"",o=useClappState("active.profileId")??"",{emit:u}=useIntent(),c=a.find(ee=>ee.active)??a[0],[d,m]=reactExports.useState(o||(c==null?void 0:c.id)||""),[p,g]=reactExports.useState(l??""),[x,b]=reactExports.useState(!1),[C,R]=reactExports.useState(!1),[_,B]=reactExports.useState(null),[L,D]=reactExports.useState(!1),[H,V]=reactExports.useState(null),se=d!==(o||(c==null?void 0:c.id)||"")||p!==(l??"");reactExports.useEffect(()=>{!c&&!o||(!d||!x&&!se)&&m(o||(c==null?void 0:c.id)||"")},[c,o,x,se,d]),reactExports.useEffect(()=>{l&&(!p||!x&&!se)&&g(l)},[l,x,p,se]);const te=reactExports.useMemo(()=>{const ee=a.find(P=>P.id===d);return(ee==null?void 0:ee.models)??[]},[a,d]);reactExports.useEffect(()=>{if(!te.length)return;te.some(P=>P.id===p)||g(te[0].id)},[te,p]);const Y=d!==(o||(c==null?void 0:c.id)||""),ge=!!(p&&p!==l),W=Y||ge;reactExports.useEffect(()=>{if(!x)return;const ee=(o||(c==null?void 0:c.id)||"")===d,P=!ge||l===p&&l.length>0;ee&&P&&(b(!1),R(!1),B(null))},[l,p,d,o,c,ge,x]),reactExports.useEffect(()=>{if(!x)return;const ee=setTimeout(()=>R(!0),1e4),P=setTimeout(()=>{b(!1),R(!1),B("Still applying took too long. Changes may still complete in the background.")},3e4);return()=>{clearTimeout(ee),clearTimeout(P)}},[x]);const ve=a.find(ee=>ee.id===d),K=ee=>{var fe,_e;if(x)return;m(ee);const P=a.find(O=>O.id===ee),he=(_e=(fe=P==null?void 0:P.models)==null?void 0:fe[0])==null?void 0:_e.id;g(he||"")},Ee=()=>{!W||!p||x||(b(!0),R(!1),B(null),Y&&u("settings.setActiveProfile",{profileId:d}),ge&&u("settings.setActiveModel",{model:p}))},ae=()=>{V(null),D(!0)},Ce=ee=>{const P=ee.id.split(":")[0],he={anthropic:"anthropic",openai:"openai","openai-codex":"openai","kimi-coding":"kimi-coding",moonshot:"kimi-coding"};V({id:ee.id,name:ee.name,type:he[P]??"anthropic",mode:ee.mode,authType:ee.authType,maskedCredential:ee.maskedCredential}),D(!0)},ye=()=>{D(!1),V(null)};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-1",children:[jsxRuntimeExports.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:"System Default"}),jsxRuntimeExports.jsx("p",{className:"text-sm font-medium",children:"Default model for new sessions"})]}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-muted-foreground",children:"Provider"}),jsxRuntimeExports.jsxs("div",{className:"relative flex gap-2",children:[jsxRuntimeExports.jsxs("div",{className:"relative flex-1",children:[jsxRuntimeExports.jsx("select",{value:d,onChange:ee=>K(ee.target.value),disabled:x||a.length===0,className:"h-10 w-full appearance-none rounded-md border border-input bg-background pl-3 pr-10 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-primary disabled:opacity-70",children:a.length===0?jsxRuntimeExports.jsx("option",{value:"",children:"No providers configured"}):a.map(ee=>jsxRuntimeExports.jsx("option",{value:ee.id,children:providerOptionLabel(ee)},ee.id))}),jsxRuntimeExports.jsx(ChevronDown,{className:"absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none"})]}),ve&&jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>Ce(ve),disabled:x,className:cn("flex items-center justify-center h-10 w-10 rounded-md border border-input bg-background","hover:bg-muted transition-colors","disabled:opacity-50 disabled:cursor-not-allowed"),title:`Edit ${ve.name}`,children:jsxRuntimeExports.jsx(Pencil,{className:"h-4 w-4"})})]})]}),jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[jsxRuntimeExports.jsx("label",{className:"text-xs text-muted-foreground",children:"Model"}),jsxRuntimeExports.jsxs("div",{className:"relative",children:[jsxRuntimeExports.jsx("select",{value:p,onChange:ee=>g(ee.target.value),disabled:x||te.length===0,className:"h-10 w-full appearance-none rounded-md border border-input bg-background pl-3 pr-10 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-primary disabled:opacity-70",children:te.length===0?jsxRuntimeExports.jsx("option",{value:"",children:"No models available"}):te.map(ee=>jsxRuntimeExports.jsx("option",{value:ee.id,children:ee.label},ee.id))}),jsxRuntimeExports.jsx(ChevronDown,{className:"absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none"})]})]}),ve&&jsxRuntimeExports.jsxs("div",{className:"rounded-md border border-border bg-muted/30 px-3 py-2 text-xs text-muted-foreground",children:[jsxRuntimeExports.jsxs("div",{children:[providerOptionLabel(ve),": ",ve.maskedCredential??"No credential"]}),jsxRuntimeExports.jsxs("div",{className:"opacity-70",children:["id: ",ve.id]})]}),jsxRuntimeExports.jsx("button",{type:"button",onClick:Ee,disabled:!W||!p||x,className:cn("inline-flex h-10 items-center justify-center gap-2 rounded-md border px-4 text-sm font-medium transition-colors","border-primary bg-primary text-primary-foreground hover:bg-primary/90","disabled:cursor-not-allowed disabled:opacity-60"),children:x?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),C?"Still applying…":"Updating model…"]}):W?"Save changes":jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Check,{className:"h-4 w-4"}),"Up to date"]})}),_&&jsxRuntimeExports.jsx("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:_}),jsxRuntimeExports.jsx("div",{className:"pt-2 border-t border-border",children:jsxRuntimeExports.jsxs("button",{type:"button",onClick:ae,className:cn("inline-flex h-10 w-full items-center justify-center gap-2 rounded-md border border-dashed border-border","text-sm font-medium text-muted-foreground","hover:border-primary hover:text-foreground hover:bg-muted/50 transition-colors"),children:[jsxRuntimeExports.jsx(Plus,{className:"h-4 w-4"}),"Add Provider"]})})]}),jsxRuntimeExports.jsx(ProviderEditor,{isOpen:L,onClose:ye,editingProvider:H})]})}function SessionList(){const t=useClappState("sessions"),a=(t==null?void 0:t.sessions)??[],l=t==null?void 0:t.globalModel,{emit:o}=useIntent(),[u,c]=reactExports.useState(!1),[d,m]=reactExports.useState(null),[p,g]=reactExports.useState(!1);reactExports.useEffect(()=>{o("settings.listSessions",{})},[o]);const x=()=>{c(!0),o("settings.listSessions",{}),setTimeout(()=>c(!1),1500)},b=L=>{m(L),o("settings.resetSessionModel",{sessionKey:L}),setTimeout(()=>m(null),2e3)},C=()=>{g(!0),o("settings.applyDefaultToAll",{}),setTimeout(()=>g(!1),3e3)},R=a.filter(L=>L.isOverride).length,_=a.find(L=>L.key==="agent:main:main")??a[0],B=!!(_!=null&&_.isOverride);return a.length===0?jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("div",{className:"space-y-1",children:jsxRuntimeExports.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:"Active Sessions"})}),jsxRuntimeExports.jsx("button",{onClick:x,disabled:u,className:"p-1.5 rounded-md hover:bg-muted transition-colors disabled:opacity-50",title:"Refresh sessions",children:jsxRuntimeExports.jsx(RefreshCw,{className:cn("h-4 w-4",u&&"animate-spin")})})]}),jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center border border-dashed border-border rounded-md",children:"No active sessions found"})]}):jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"space-y-1",children:[jsxRuntimeExports.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:"Active Sessions"}),jsxRuntimeExports.jsxs("p",{className:"text-sm text-muted-foreground",children:[a.length," session",a.length!==1?"s":"",R>0&&jsxRuntimeExports.jsxs("span",{className:"text-amber-500 ml-1",children:["• ",R," override",R!==1?"s":""]})]})]}),jsxRuntimeExports.jsx("button",{onClick:x,disabled:u,className:"p-1.5 rounded-md hover:bg-muted transition-colors disabled:opacity-50",title:"Refresh sessions",children:jsxRuntimeExports.jsx(RefreshCw,{className:cn("h-4 w-4",u&&"animate-spin")})})]}),jsxRuntimeExports.jsxs("div",{className:cn("rounded-lg border p-3 space-y-2",B?"border-amber-500/50 bg-amber-500/5":"border-border bg-muted/30"),children:[jsxRuntimeExports.jsx("div",{className:"text-xs text-muted-foreground",children:"Model source of truth"}),jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between gap-4 text-sm",children:[jsxRuntimeExports.jsxs("div",{className:"min-w-0",children:[jsxRuntimeExports.jsx("div",{className:"text-muted-foreground text-xs",children:"Global default"}),jsxRuntimeExports.jsx("div",{className:"font-medium truncate",children:l??"unknown"})]}),jsxRuntimeExports.jsxs("div",{className:"min-w-0 text-right",children:[jsxRuntimeExports.jsx("div",{className:"text-muted-foreground text-xs",children:"This session"}),jsxRuntimeExports.jsx("div",{className:"font-medium truncate",children:(_==null?void 0:_.model)??"unknown"})]})]}),_&&jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("span",{className:cn("text-xs",B?"text-amber-500":"text-green-600 dark:text-green-400"),children:B?"Session override is active":"Session matches global default"}),B&&jsxRuntimeExports.jsx("button",{onClick:()=>b(_.key),disabled:d===_.key,className:"shrink-0 px-2 py-1 text-xs rounded-md border border-border hover:bg-muted transition-colors disabled:opacity-50",children:d===_.key?"Resetting…":"Reset this session"})]})]}),jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-2",children:a.map(L=>jsxRuntimeExports.jsxs("div",{className:cn("flex items-start justify-between gap-2 p-3 rounded-lg border",L.isOverride?"border-amber-500/50 bg-amber-500/5":"border-border bg-muted/30"),children:[jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[L.isOverride?jsxRuntimeExports.jsx(TriangleAlert,{className:"h-4 w-4 text-amber-500 shrink-0"}):jsxRuntimeExports.jsx(Check,{className:"h-4 w-4 text-green-500 shrink-0"}),jsxRuntimeExports.jsx("span",{className:"text-sm font-medium truncate",children:L.label})]}),jsxRuntimeExports.jsxs("div",{className:"mt-1 ml-6",children:[jsxRuntimeExports.jsx("span",{className:"text-xs text-muted-foreground",children:L.modelLabel}),L.isOverride&&jsxRuntimeExports.jsx("span",{className:"text-xs text-amber-500 ml-2",children:"(override)"})]})]}),L.isOverride&&jsxRuntimeExports.jsx("button",{onClick:()=>b(L.key),disabled:d===L.key,className:cn("shrink-0 px-2 py-1 text-xs rounded-md border border-border","hover:bg-muted transition-colors","disabled:opacity-50 disabled:cursor-not-allowed"),title:"Reset to system default",children:d===L.key?jsxRuntimeExports.jsx(LoaderCircle,{className:"h-3 w-3 animate-spin"}):jsxRuntimeExports.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntimeExports.jsx(RotateCcw,{className:"h-3 w-3"}),"Reset"]})})]},L.key))}),R>0&&jsxRuntimeExports.jsx("button",{onClick:C,disabled:p,className:cn("w-full py-2 px-4 text-sm font-medium rounded-md","border border-amber-500/50 text-amber-600 dark:text-amber-400","hover:bg-amber-500/10 transition-colors","disabled:opacity-50 disabled:cursor-not-allowed"),children:p?jsxRuntimeExports.jsxs("span",{className:"flex items-center justify-center gap-2",children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),"Applying to all sessions..."]}):`Apply default to all ${R} override${R!==1?"s":""}`})]})}function ChatMessages({messages:t,loading:a,loadingText:l="Thinking...",hasMore:o=!1,loadingOlder:u=!1,onLoadOlder:c}){const d=reactExports.useRef(null),m=reactExports.useRef(null),p=reactExports.useRef(!0);reactExports.useEffect(()=>{t.length===0&&(p.current=!0)},[t.length]),reactExports.useEffect(()=>{var C,R;const x=d.current;if(!x)return;if(p.current&&t.length>0){p.current=!1,(C=m.current)==null||C.scrollIntoView({behavior:"instant"});return}(x.scrollHeight-x.scrollTop-x.clientHeight<200||a)&&((R=m.current)==null||R.scrollIntoView({behavior:"smooth",block:"end"}))},[t,a]);const g=()=>{const x=d.current;!x||!o||u||!c||x.scrollTop<120&&c()};return t.length===0&&!a?jsxRuntimeExports.jsx("div",{className:"flex-1 flex items-center justify-center p-8",children:jsxRuntimeExports.jsxs("div",{className:"text-center max-w-md",children:[jsxRuntimeExports.jsx("h2",{className:"text-2xl font-semibold mb-2",children:"What can I do for you?"}),jsxRuntimeExports.jsx("p",{className:"text-muted-foreground",children:"Start a conversation by typing a message below."})]})}):jsxRuntimeExports.jsx("div",{ref:d,onScroll:g,className:"flex-1 overflow-y-auto",children:jsxRuntimeExports.jsxs("div",{className:"max-w-3xl mx-auto px-4 py-6 space-y-6",children:[u&&jsxRuntimeExports.jsx("div",{className:"text-center text-xs text-muted-foreground",children:"Loading older messages…"}),o&&!u&&jsxRuntimeExports.jsx("div",{className:"text-center text-xs text-muted-foreground",children:"Scroll up to load older messages"}),t.map(x=>jsxRuntimeExports.jsx(MessageBubble,{message:x},x.id)),a&&jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-4",children:[jsxRuntimeExports.jsx("div",{className:"shrink-0 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center",children:jsxRuntimeExports.jsx(Bot,{className:"h-4 w-4 text-primary"})}),jsxRuntimeExports.jsx("div",{className:"flex-1 pt-1",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),jsxRuntimeExports.jsx("span",{className:"text-sm line-clamp-2",children:l})]})})]}),jsxRuntimeExports.jsx("div",{ref:m})]})})}function MessageBubble({message:t}){const a=t.role==="user";return t.role==="system"?jsxRuntimeExports.jsx("div",{className:"text-center",children:jsxRuntimeExports.jsx("span",{className:"text-xs text-muted-foreground bg-muted px-3 py-1 rounded-full",children:t.content})}):jsxRuntimeExports.jsxs("div",{className:cn("flex items-start gap-4",a&&"flex-row-reverse"),children:[jsxRuntimeExports.jsx("div",{className:cn("shrink-0 w-8 h-8 rounded-full flex items-center justify-center",a?"bg-primary text-primary-foreground":"bg-primary/10"),children:a?jsxRuntimeExports.jsx(User,{className:"h-4 w-4"}):jsxRuntimeExports.jsx(Bot,{className:"h-4 w-4 text-primary"})}),jsxRuntimeExports.jsx("div",{className:cn("flex-1 min-w-0 pt-1",a&&"text-right"),children:jsxRuntimeExports.jsxs("div",{className:cn("inline-block text-left rounded-2xl px-4 py-2 max-w-full",a?"bg-primary text-primary-foreground rounded-tr-sm":"bg-muted rounded-tl-sm"),children:[t.attachments&&t.attachments.length>0&&jsxRuntimeExports.jsxs("div",{className:"mb-2 space-y-2",children:[jsxRuntimeExports.jsx("div",{className:"grid grid-cols-2 gap-2",children:t.attachments.filter(o=>o.type==="image").map(o=>jsxRuntimeExports.jsx("a",{href:o.url,target:"_blank",rel:"noreferrer",children:jsxRuntimeExports.jsx("img",{src:o.url,alt:o.name,className:"rounded-md border border-black/10 dark:border-white/10 max-h-52 object-cover",loading:"lazy"})},o.id))}),t.attachments.filter(o=>o.type==="file").map(o=>jsxRuntimeExports.jsxs("a",{href:o.url,target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 rounded-md border border-black/10 dark:border-white/10 px-2 py-1.5 text-xs hover:bg-black/5 dark:hover:bg-white/5",children:[jsxRuntimeExports.jsx(Paperclip,{className:"h-3.5 w-3.5"}),jsxRuntimeExports.jsx("span",{className:"truncate",children:o.name})]},o.id))]}),t.content&&jsxRuntimeExports.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none break-words",children:jsxRuntimeExports.jsx(Markdown,{components:{code:({className:o,children:u,...c})=>o?jsxRuntimeExports.jsx("pre",{className:"bg-black/10 dark:bg-white/10 p-3 rounded-lg overflow-x-auto my-2",children:jsxRuntimeExports.jsx("code",{className:"text-sm",...c,children:u})}):jsxRuntimeExports.jsx("code",{className:"bg-black/10 dark:bg-white/10 px-1 py-0.5 rounded text-sm",...c,children:u}),p:({children:o})=>jsxRuntimeExports.jsx("p",{className:"mb-2 last:mb-0",children:o})},children:t.content})})]})})]})}function ChatInput({onSend:t,disabled:a=!1,placeholder:l="Message..."}){const[o,u]=reactExports.useState(""),[c,d]=reactExports.useState([]),m=reactExports.useRef(null),p=reactExports.useRef(null);reactExports.useEffect(()=>{const L=m.current;L&&(L.style.height="auto",L.style.height=`${Math.min(L.scrollHeight,200)}px`)},[o]);const g=L=>new Promise((D,H)=>{const V=new FileReader;V.onload=()=>D(String(V.result??"")),V.onerror=()=>H(new Error(`Failed to read file: ${L.name}`)),V.readAsDataURL(L)}),x=async L=>{if(!L.length)return;const D=await Promise.all(L.map(async(H,V)=>{const se=await g(H);return{id:`file-${Date.now()}-${V}`,name:H.name||`attachment-${Date.now()}`,mimeType:H.type||"application/octet-stream",size:H.size,dataUrl:se,isImage:H.type.startsWith("image/")}}));d(H=>[...H,...D])},b=async L=>{var se;const H=Array.from(((se=L.clipboardData)==null?void 0:se.items)??[]).filter(te=>te.type.startsWith("image/"));if(!H.length)return;L.preventDefault();const V=H.map(te=>te.getAsFile()).filter(Boolean);await x(V)},C=async L=>{const D=Array.from(L.target.files??[]);await x(D),L.target.value=""},R=()=>{const L=o.trim();!L&&c.length===0||a||(t(L,c.map(({id:D,isImage:H,...V})=>V)),u(""),d([]),m.current&&(m.current.style.height="auto"))},_=L=>d(D=>D.filter(H=>H.id!==L)),B=L=>{L.key==="Enter"&&!L.shiftKey&&(L.preventDefault(),R())};return jsxRuntimeExports.jsx("div",{className:"shrink-0 border-t border-border bg-background",children:jsxRuntimeExports.jsxs("div",{className:"max-w-3xl mx-auto p-4",children:[!!c.length&&jsxRuntimeExports.jsx("div",{className:"mb-2 flex flex-wrap gap-2",children:c.map(L=>jsxRuntimeExports.jsxs("div",{className:"relative rounded-md border bg-muted/40 overflow-hidden",children:[L.isImage?jsxRuntimeExports.jsx("img",{src:L.dataUrl,alt:L.name,className:"h-16 w-16 object-cover"}):jsxRuntimeExports.jsxs("div",{className:"h-16 min-w-40 px-2 flex items-center gap-2 text-xs",children:[jsxRuntimeExports.jsx(Paperclip,{className:"h-3.5 w-3.5"}),jsxRuntimeExports.jsx("span",{className:"truncate max-w-28",children:L.name})]}),jsxRuntimeExports.jsx("button",{onClick:()=>_(L.id),className:"absolute top-0.5 right-0.5 rounded-full bg-black/70 text-white p-0.5",title:"Remove",children:jsxRuntimeExports.jsx(X,{className:"h-3 w-3"})})]},L.id))}),jsxRuntimeExports.jsxs("div",{className:cn("flex items-end gap-2 rounded-2xl border border-border bg-muted/30 p-2","focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/20",a&&"opacity-60"),children:[jsxRuntimeExports.jsx("input",{ref:p,type:"file",multiple:!0,onChange:C,className:"hidden",accept:"image/*,.pdf,.txt,.md,.csv,.json,.doc,.docx,.xls,.xlsx,.ppt,.pptx"}),jsxRuntimeExports.jsx("button",{onClick:()=>{var L;return(L=p.current)==null?void 0:L.click()},className:"shrink-0 p-2 rounded-xl bg-background border border-border hover:bg-muted transition-colors",title:"Add photos & files",children:jsxRuntimeExports.jsx(Plus,{className:"h-4 w-4"})}),jsxRuntimeExports.jsx("textarea",{ref:m,value:o,onChange:L=>u(L.target.value),onKeyDown:B,onPaste:b,placeholder:l,disabled:a,rows:1,className:cn("flex-1 resize-none bg-transparent px-2 py-1.5 text-sm","placeholder:text-muted-foreground focus:outline-none disabled:cursor-not-allowed")}),jsxRuntimeExports.jsx("button",{onClick:R,disabled:a||!o.trim()&&c.length===0,className:cn("shrink-0 p-2 rounded-xl transition-colors","bg-primary text-primary-foreground hover:bg-primary/90","disabled:opacity-50 disabled:cursor-not-allowed"),children:jsxRuntimeExports.jsx(Send,{className:"h-4 w-4"})})]}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground text-center mt-2",children:"Enter to send • Shift+Enter newline • Paste images or use + for files"})]})})}function ChatLayout(){const t=useClappState("chat"),a=(t==null?void 0:t.sessions)??[],l=t==null?void 0:t.activeSession,o=(t==null?void 0:t.messages)??[],u=(t==null?void 0:t.loading)??!1,c=(t==null?void 0:t.loadingText)??"Thinking...",d=(t==null?void 0:t.loadingOlder)??!1,m=(t==null?void 0:t.hasMore)??!1,{emit:p}=useIntent(),[g,x]=reactExports.useState(!1),[b,C]=reactExports.useState(null),R=reactExports.useRef(!1);reactExports.useEffect(()=>{l&&x(!1)},[l]),reactExports.useEffect(()=>{R.current||(R.current=!0,p("chat.init",{}))},[p]);const _=()=>{p("chat.newSession",{}),x(!1)},B=W=>{W!==l&&p("chat.switchSession",{sessionKey:W}),x(!1)},L=(W,ve)=>{ve.stopPropagation(),C(W),p("chat.deleteSession",{sessionKey:W}),setTimeout(()=>C(null),1e3)},[D,H]=reactExports.useState(null),V=(W,ve)=>{W.trim()&&H({id:`pending-${Date.now()}`,role:"user",content:W,timestamp:new Date().toISOString()}),p("chat.send",{text:W,attachments:ve??[]})};reactExports.useEffect(()=>{D&&o.some(W=>W.role==="user"&&W.content===D.content)&&H(null)},[o,D]);const se=D?[...o,D]:o,te=u||!!D,Y=()=>{!d&&m&&p("chat.loadOlder",{})},ge=a.find(W=>W.key===l);return jsxRuntimeExports.jsxs("div",{className:"flex h-full bg-background",children:[g&&jsxRuntimeExports.jsx("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>x(!1)}),jsxRuntimeExports.jsxs("aside",{className:cn("fixed lg:static inset-y-0 left-0 z-50 w-72 bg-muted/50 border-r border-border","transform transition-transform duration-200 ease-in-out","flex flex-col",g?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-border",children:[jsxRuntimeExports.jsx("h2",{className:"font-semibold text-sm",children:"Chats"}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("button",{onClick:_,className:"p-2 rounded-md hover:bg-muted transition-colors",title:"New chat",children:jsxRuntimeExports.jsx(Plus,{className:"h-4 w-4"})}),jsxRuntimeExports.jsx("button",{onClick:()=>x(!1),className:"p-2 rounded-md hover:bg-muted transition-colors lg:hidden",children:jsxRuntimeExports.jsx(X,{className:"h-4 w-4"})})]})]}),jsxRuntimeExports.jsx("div",{className:"flex-1 overflow-y-auto p-2",children:a.length===0?jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"No conversations yet"}):jsxRuntimeExports.jsx("div",{className:"space-y-1",children:a.map(W=>jsxRuntimeExports.jsx("button",{onClick:()=>B(W.key),className:cn("w-full text-left p-3 rounded-lg transition-colors group","hover:bg-muted",W.key===l&&"bg-muted"),children:jsxRuntimeExports.jsxs("div",{className:"flex items-start gap-3",children:[jsxRuntimeExports.jsx(MessageSquare,{className:"h-4 w-4 mt-0.5 shrink-0 text-muted-foreground"}),jsxRuntimeExports.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntimeExports.jsx("div",{className:"text-sm font-medium truncate",children:W.title||"New conversation"}),jsxRuntimeExports.jsx("div",{className:"text-xs text-muted-foreground truncate mt-0.5",children:W.preview||"No messages"})]}),jsxRuntimeExports.jsx("button",{onClick:ve=>L(W.key,ve),className:cn("p-1 rounded opacity-0 group-hover:opacity-100 transition-opacity","hover:bg-destructive/20 hover:text-destructive",b===W.key&&"opacity-100"),title:"Delete conversation",children:jsxRuntimeExports.jsx(Trash2,{className:"h-3.5 w-3.5"})})]})},W.key))})})]}),jsxRuntimeExports.jsxs("main",{className:"flex-1 flex flex-col min-w-0",children:[jsxRuntimeExports.jsxs("header",{className:"flex items-center gap-3 px-4 py-3 border-b border-border shrink-0",children:[jsxRuntimeExports.jsx("button",{onClick:()=>x(!0),className:"p-2 -ml-2 rounded-md hover:bg-muted transition-colors lg:hidden",children:jsxRuntimeExports.jsx(Menu,{className:"h-5 w-5"})}),jsxRuntimeExports.jsx("div",{className:"flex-1 min-w-0",children:jsxRuntimeExports.jsx("h1",{className:"font-semibold truncate",children:(ge==null?void 0:ge.title)||"New conversation"})})]}),jsxRuntimeExports.jsx(ChatMessages,{messages:se,loading:te,loadingText:c,hasMore:m,loadingOlder:d,onLoadOlder:Y}),jsxRuntimeExports.jsx(ChatInput,{onSend:V,disabled:u})]})]})}function AccountCard({item:t}){const{emit:a}=useIntent();return jsxRuntimeExports.jsx(Card$1,{className:cn("p-4",!t.enabled&&"opacity-60"),children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsx("div",{className:"font-semibold",children:t.id}),jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground",children:t.mode==="socket"?"Socket Mode":"HTTP Mode"}),jsxRuntimeExports.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Token: ",t.botToken]})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("button",{onClick:()=>a("slack.testAccount",{accountId:t.id}),className:"px-3 py-1 text-sm rounded-md bg-muted hover:bg-muted/80",children:"Test"}),jsxRuntimeExports.jsx("button",{onClick:()=>a("slack.editAccount",{accountId:t.id}),className:"px-3 py-1 text-sm rounded-md bg-muted hover:bg-muted/80",children:"Edit"}),jsxRuntimeExports.jsx("button",{onClick:()=>a("slack.deleteAccount",{accountId:t.id}),className:"px-3 py-1 text-sm rounded-md bg-destructive/20 text-destructive hover:bg-destructive/30",children:"Delete"})]})]})})}function AccountEditor({account:t}){const{emit:a}=useIntent(),l=useClappState("slack.saving")??!1,o=useClappState("slack.saveError")??null,[u,c]=reactExports.useState(!1),d=reactExports.useRef(l),[m,p]=reactExports.useState((t==null?void 0:t.id)||""),[g,x]=reactExports.useState((t==null?void 0:t.mode)||"socket"),[b,C]=reactExports.useState((t==null?void 0:t.botToken)||""),[R,_]=reactExports.useState((t==null?void 0:t.appToken)||""),[B,L]=reactExports.useState((t==null?void 0:t.signingSecret)||""),[D,H]=reactExports.useState((t==null?void 0:t.webhookPath)||"/slack/events");reactExports.useEffect(()=>{l&&!d.current||!l&&d.current&&c(!1),d.current=l},[l]),reactExports.useEffect(()=>{if(!u)return;const te=setTimeout(()=>c(!1),2e4);return()=>clearTimeout(te)},[u]);const V=()=>{c(!0),a("slack.saveAccount",{accountId:m||"default",mode:g,botToken:b,appToken:g==="socket"?R:void 0,signingSecret:g==="http"?B:void 0,webhookPath:g==="http"?D:void 0})},se=()=>{p(""),x("socket"),C(""),_(""),L(""),H("/slack/events")};return jsxRuntimeExports.jsx(Card$1,{className:"p-6",children:jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Account ID"}),jsxRuntimeExports.jsx(Input,{value:m,onChange:te=>p(te.target.value),placeholder:"default",disabled:u})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Mode"}),jsxRuntimeExports.jsxs("div",{className:"flex gap-2 mt-2",children:[jsxRuntimeExports.jsx(Button,{type:"button",variant:g==="socket"?"default":"outline",onClick:()=>x("socket"),disabled:u,children:"Socket Mode"}),jsxRuntimeExports.jsx(Button,{type:"button",variant:g==="http"?"default":"outline",onClick:()=>x("http"),disabled:u,children:"HTTP Events API"})]})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Bot Token"}),jsxRuntimeExports.jsx(Input,{value:b,onChange:te=>C(te.target.value),placeholder:"xoxb-...",type:"password",disabled:u})]}),g==="socket"&&jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"App Token"}),jsxRuntimeExports.jsx(Input,{value:R,onChange:te=>_(te.target.value),placeholder:"xapp-...",type:"password",disabled:u})]}),g==="http"&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Signing Secret"}),jsxRuntimeExports.jsx(Input,{value:B,onChange:te=>L(te.target.value),placeholder:"Signing secret",type:"password",disabled:u})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Webhook Path"}),jsxRuntimeExports.jsx(Input,{value:D,onChange:te=>H(te.target.value),placeholder:"/slack/events",disabled:u})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex gap-2 justify-end pt-2",children:[jsxRuntimeExports.jsx(Button,{type:"button",variant:"outline",onClick:se,disabled:u,children:"Clear"}),jsxRuntimeExports.jsx(Button,{type:"button",onClick:V,disabled:!b||u,children:u?"Saving…":"Save Account"})]}),o&&jsxRuntimeExports.jsx("p",{className:"text-xs text-rose-500",children:o})]})})}function ChannelList({channels:t}){const{emit:a}=useIntent();return!Array.isArray(t)||t.length===0?jsxRuntimeExports.jsx("div",{className:"text-sm text-muted-foreground text-center py-4",children:"No channels configured"}):jsxRuntimeExports.jsx("div",{className:"space-y-2",children:t.map(l=>jsxRuntimeExports.jsx(Card$1,{className:"p-4",children:jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsxs("div",{className:"flex-1",children:[jsxRuntimeExports.jsx("div",{className:"font-semibold",children:l.name||l.id}),jsxRuntimeExports.jsxs("div",{className:"text-sm text-muted-foreground mt-1 space-y-1",children:[l.requireMention!==void 0&&jsxRuntimeExports.jsxs("div",{children:["Require mention: ",l.requireMention?"Yes":"No"]}),l.users&&l.users.length>0&&jsxRuntimeExports.jsxs("div",{children:["Users: ",l.users.join(", ")]}),l.skills&&l.skills.length>0&&jsxRuntimeExports.jsxs("div",{children:["Skills: ",l.skills.join(", ")]})]})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx(Button,{size:"sm",variant:"outline",onClick:()=>a("slack.editChannel",{channelId:l.id}),children:jsxRuntimeExports.jsx(SquarePen,{className:"h-4 w-4"})}),jsxRuntimeExports.jsx(Button,{size:"sm",variant:"destructive",onClick:()=>a("slack.removeChannel",{channelId:l.id}),children:jsxRuntimeExports.jsx(Trash2,{className:"h-4 w-4"})})]})]})},l.id))})}function ChannelEditor({channel:t,onClose:a}){const{emit:l}=useIntent(),[o,u]=reactExports.useState((t==null?void 0:t.id)||""),[c,d]=reactExports.useState((t==null?void 0:t.requireMention)??!0),[m,p]=reactExports.useState(((t==null?void 0:t.users)||[]).join(", ")),[g,x]=reactExports.useState(((t==null?void 0:t.skills)||[]).join(", ")),b=()=>{l("slack.saveChannel",{channelId:o,requireMention:c,users:m.split(",").map(C=>C.trim()).filter(Boolean),skills:g.split(",").map(C=>C.trim()).filter(Boolean)}),a==null||a()};return jsxRuntimeExports.jsx(Card$1,{className:"p-6 max-w-2xl mx-auto",children:jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsx("h2",{className:"text-xl font-semibold",children:t?"Edit Channel":"Add Channel"}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Channel ID"}),jsxRuntimeExports.jsx(Input,{value:o,onChange:C=>u(C.target.value),placeholder:"C1234567890",disabled:!!t}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Use Slack channel ID or name"})]}),jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("input",{type:"checkbox",checked:c,onChange:C=>d(C.target.checked),id:"requireMention",className:"rounded border-gray-300"}),jsxRuntimeExports.jsx("label",{htmlFor:"requireMention",className:"text-sm font-medium cursor-pointer",children:"Require mention to respond"})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Allowed Users (optional)"}),jsxRuntimeExports.jsx(Input,{value:m,onChange:C=>p(C.target.value),placeholder:"user:U123, user:U456"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Comma-separated list of user IDs or names"})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Custom Skills (optional)"}),jsxRuntimeExports.jsx(Input,{value:g,onChange:C=>x(C.target.value),placeholder:"weather, calendar"}),jsxRuntimeExports.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Comma-separated list of skill IDs"})]}),jsxRuntimeExports.jsxs("div",{className:"flex gap-2 justify-end pt-4",children:[a&&jsxRuntimeExports.jsx(Button,{variant:"outline",onClick:a,children:"Cancel"}),jsxRuntimeExports.jsx(Button,{onClick:b,disabled:!o,children:"Save Channel"})]})]})})}function PolicySelector({value:t,type:a}){const{emit:l}=useIntent(),o=a==="dm"?[{value:"pairing",label:"Pairing (default)"},{value:"allowlist",label:"Allowlist"},{value:"open",label:"Open"},{value:"disabled",label:"Disabled"}]:[{value:"open",label:"Open"},{value:"allowlist",label:"Allowlist (recommended)"},{value:"disabled",label:"Disabled"}],u=c=>{a==="dm"?l("slack.setDmPolicy",{policy:c}):l("slack.setGroupPolicy",{policy:c})};return jsxRuntimeExports.jsx("select",{value:t,onChange:c=>u(c.target.value),className:"w-full px-3 py-2 border rounded-md bg-background",children:o.map(c=>jsxRuntimeExports.jsx("option",{value:c.value,children:c.label},c.value))})}function FeatureToggles({actions:t}){const{emit:a}=useIntent(),l=[{key:"messages",label:"Messages"},{key:"reactions",label:"Reactions"},{key:"pins",label:"Pins"},{key:"memberInfo",label:"Member Info"},{key:"emojiList",label:"Emoji List"}],o=(u,c)=>{a("slack.toggleAction",{group:u,enabled:c})};return jsxRuntimeExports.jsx("div",{className:"space-y-3",children:l.map(u=>{const c=t[u.key]!==!1;return jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntimeExports.jsx("span",{className:"text-sm font-medium",children:u.label}),jsxRuntimeExports.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[jsxRuntimeExports.jsx("input",{type:"checkbox",checked:c,onChange:d=>o(u.key,d.target.checked),className:"sr-only peer"}),jsxRuntimeExports.jsx("div",{className:"w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600"})]})]},u.key)})})}function SlashCommandConfig({config:t}){const{emit:a}=useIntent(),[l,o]=reactExports.useState((t==null?void 0:t.enabled)||!1),[u,c]=reactExports.useState((t==null?void 0:t.name)||"openclaw"),d=()=>{a("slack.setSlashCommand",{enabled:l,name:u})};return jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntimeExports.jsx("input",{type:"checkbox",checked:l,onChange:m=>o(m.target.checked),id:"slashEnabled",className:"rounded border-gray-300"}),jsxRuntimeExports.jsx("label",{htmlFor:"slashEnabled",className:"text-sm font-medium cursor-pointer",children:"Enable single slash command"})]}),l&&jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("label",{className:"text-sm font-medium",children:"Command Name"}),jsxRuntimeExports.jsx(Input,{value:u,onChange:m=>c(m.target.value),placeholder:"openclaw"}),jsxRuntimeExports.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["Register /",u," in Slack app settings"]})]}),jsxRuntimeExports.jsx(Button,{onClick:d,size:"sm",children:"Save"}),jsxRuntimeExports.jsxs("div",{className:"text-xs text-muted-foreground mt-4 p-3 bg-muted rounded-md",children:[jsxRuntimeExports.jsx("p",{className:"font-medium mb-1",children:"Note:"}),jsxRuntimeExports.jsxs("p",{children:["For native command support, set"," ",jsxRuntimeExports.jsx("code",{className:"bg-background px-1 py-0.5 rounded",children:"channels.slack.commands.native: true"})," ","and register matching slash commands in Slack (use /agentstatus for the status command)."]})]})]})}function ConnectionStatus({status:t}){var o,u;if(!t)return jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[jsxRuntimeExports.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),jsxRuntimeExports.jsx("span",{className:"text-sm",children:"Loading status..."})]});const a=((o=t.accounts)==null?void 0:o.filter(c=>c.connected).length)||0,l=((u=t.accounts)==null?void 0:u.length)||0;return jsxRuntimeExports.jsxs("div",{className:"space-y-3",children:[jsxRuntimeExports.jsx("div",{className:"flex items-center gap-2",children:t.connected?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(CircleCheckBig,{className:"h-5 w-5 text-green-600"}),jsxRuntimeExports.jsx("span",{className:"font-medium",children:"Connected"})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(CircleX,{className:"h-5 w-5 text-red-600"}),jsxRuntimeExports.jsx("span",{className:"font-medium",children:"Disconnected"})]})}),t.accounts&&t.accounts.length>0&&jsxRuntimeExports.jsxs("div",{className:"space-y-2",children:[jsxRuntimeExports.jsxs("div",{className:"text-sm text-muted-foreground",children:[a," of ",l," accounts connected"]}),jsxRuntimeExports.jsx("div",{className:"space-y-1",children:t.accounts.map(c=>jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[c.connected?jsxRuntimeExports.jsx(CircleCheckBig,{className:"h-3 w-3 text-green-600"}):jsxRuntimeExports.jsx(CircleX,{className:"h-3 w-3 text-red-600"}),jsxRuntimeExports.jsx("span",{children:c.id})]},c.id))})]})]})}const componentMap={Column,Row,Heading,IntentButton,Icon,List,ListItem,Conditional,Skeleton,MarkdownContent,Card,TextInput,IntentForm,ProviderList,SessionList,ChatLayout,ChatMessages,ChatInput,AccountCard,AccountEditor,ChannelList,ChannelEditor,PolicySelector,FeatureToggles,SlashCommandConfig,ConnectionStatus};function LayoutNodeRenderer({node:t,moduleMap:a}){if(t.component==="Module"&&t.props.ref&&a){const u=String(t.props.ref),c=a.get(u);return c?jsxRuntimeExports.jsx(LayoutNodeRenderer,{node:c,moduleMap:a}):jsxRuntimeExports.jsxs("div",{className:"text-destructive text-sm p-2",children:["Module not found: ",u]})}const l=componentMap[t.component];if(!l)return jsxRuntimeExports.jsxs("div",{className:"text-destructive text-sm p-2",children:["Unknown component: ",t.component]});const o=t.children.map((u,c)=>typeof u=="string"?jsxRuntimeExports.jsx("span",{children:u},c):jsxRuntimeExports.jsx(LayoutNodeRenderer,{node:u,moduleMap:a},c));return jsxRuntimeExports.jsx(l,{...t.props,children:o})}function AppRenderer({spec:t,modules:a}){const l=reactExports.useMemo(()=>{const o=new Map;for(const u of a)o.set(`${u.domain}/${u.name}`,u.layout);return o},[a]);return jsxRuntimeExports.jsx("div",{className:"h-full overflow-y-auto p-4","data-app":t.name,children:jsxRuntimeExports.jsx(LayoutNodeRenderer,{node:t.layout,moduleMap:l})})}function ClappRenderer({clappId:t,transport:a}){const l=window.location.origin;return jsxRuntimeExports.jsx(ClappProvider,{serverUrl:l,clappId:t,transport:a,children:jsxRuntimeExports.jsx("div",{className:"flex flex-col h-full",children:jsxRuntimeExports.jsx(DynamicView,{clappId:t,transport:a})})})}function DynamicView({clappId:t,transport:a}){const[l,o]=reactExports.useState({status:"loading"});reactExports.useEffect(()=>{a.sendIntent(t,`${t}.init`,{})},[t,a]);const u=reactExports.useCallback(async()=>{try{const c=await a.fetchView(`${t}.app`);if(!c){o({status:"no-view"});return}const d=parseAppMd(c),p=(await Promise.all(d.modules.map(async g=>{const x=g.replace("/","."),b=await a.fetchView(`${x}.view`);return b?parseViewMd(b):null}))).filter(g=>g!==null);o({status:"ready",appSpec:d,modules:p})}catch(c){o({status:"error",message:c instanceof Error?c.message:"Failed to load views"})}},[t,a]);switch(reactExports.useEffect(()=>(u(),a.onView(d=>{(d===`${t}.app`||d.endsWith(".view"))&&u()})),[u,a,t]),l.status){case"loading":return jsxRuntimeExports.jsx("div",{className:"h-full p-4 animate-pulse",children:jsxRuntimeExports.jsxs("div",{className:"space-y-4",children:[jsxRuntimeExports.jsx("div",{className:"h-8 w-40 rounded-md bg-muted"}),jsxRuntimeExports.jsxs("div",{className:"rounded-xl border border-border p-4 space-y-3",children:[jsxRuntimeExports.jsx("div",{className:"h-4 w-32 rounded bg-muted"}),jsxRuntimeExports.jsx("div",{className:"h-10 w-full rounded bg-muted"}),jsxRuntimeExports.jsx("div",{className:"h-10 w-full rounded bg-muted"}),jsxRuntimeExports.jsx("div",{className:"h-10 w-36 rounded bg-muted"})]}),jsxRuntimeExports.jsxs("div",{className:"rounded-xl border border-border p-4 space-y-3",children:[jsxRuntimeExports.jsx("div",{className:"h-4 w-28 rounded bg-muted"}),jsxRuntimeExports.jsx("div",{className:"h-20 w-full rounded bg-muted"})]})]})});case"no-view":return jsxRuntimeExports.jsx(StateInspector,{});case"error":return jsxRuntimeExports.jsxs("div",{className:"p-4",children:[jsxRuntimeExports.jsx("div",{className:"p-3 bg-destructive/10 text-destructive rounded-md text-sm",children:l.message}),jsxRuntimeExports.jsx("div",{className:"mt-4",children:jsxRuntimeExports.jsx(StateInspector,{})})]});case"ready":return jsxRuntimeExports.jsx(AppRenderer,{spec:l.appSpec,modules:l.modules})}}function StateInspector(){return jsxRuntimeExports.jsxs("div",{className:"p-4",children:[jsxRuntimeExports.jsx("div",{className:"text-xs text-muted-foreground mb-3 italic",children:"No view definition found. Showing raw state:"}),jsxRuntimeExports.jsx(StateTree,{})]})}function StateTree(){const{store:t}=useClappContext(),a=useStore(t,o=>o.state);return useClappLoading()?jsxRuntimeExports.jsx("div",{className:"text-muted-foreground text-sm",children:"Waiting for state..."}):!a||Object.keys(a).length===0?jsxRuntimeExports.jsx("div",{className:"text-muted-foreground text-sm",children:"No state available."}):jsxRuntimeExports.jsx("div",{className:"font-mono text-xs leading-relaxed",children:renderEntries(a,"")})}function renderEntries(t,a){return Object.entries(t).map(([l,o])=>{const u=a?`${a}.${l}`:l;return o!==null&&typeof o=="object"&&!Array.isArray(o)?jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"text-muted-foreground font-semibold",children:u}),jsxRuntimeExports.jsx("div",{className:"pl-4",children:renderEntries(o,u)})]},u):jsxRuntimeExports.jsxs("div",{className:"flex gap-2 py-0.5",children:[jsxRuntimeExports.jsxs("span",{className:"text-muted-foreground",children:[u,":"]}),jsxRuntimeExports.jsx("span",{children:typeof o=="string"?o:JSON.stringify(o)})]},u)})}function getServerUrl(){return window.location.origin}function AppRoutes({transport:t,apps:a}){return jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:"/",element:jsxRuntimeExports.jsx(AppLauncher,{transport:t,apps:a})}),jsxRuntimeExports.jsx(Route,{path:"/apps/:appId",element:jsxRuntimeExports.jsx(AppView,{transport:t,apps:a})})]})}function AppLauncher({transport:t,apps:a}){const l=useNavigate(),o=u=>{l(`/apps/${u}`)};return jsxRuntimeExports.jsxs("div",{className:"absolute inset-0 flex flex-col overflow-y-auto",children:[jsxRuntimeExports.jsx("header",{className:"flex items-center justify-center px-4 py-3 border-b border-border shrink-0",children:jsxRuntimeExports.jsx("h1",{className:"text-lg font-bold tracking-tight",children:"clapps"})}),jsxRuntimeExports.jsx(HomeScreen,{apps:a,transport:t,onOpenApp:o})]})}function AppView({transport:t,apps:a}){const{appId:l}=useParams(),o=useNavigate(),u=()=>{o("/")},c=a.find(d=>d.id===l);return jsxRuntimeExports.jsxs("div",{className:"absolute inset-0 flex flex-col overflow-hidden",children:[jsxRuntimeExports.jsxs("header",{className:"flex items-center px-4 py-3 border-b border-border shrink-0 min-h-[52px]",children:[jsxRuntimeExports.jsxs("button",{onClick:u,className:"flex items-center gap-0.5 text-primary text-sm font-medium -ml-1 pr-2","aria-label":"Back to home",children:[jsxRuntimeExports.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:"shrink-0",children:jsxRuntimeExports.jsx("path",{d:"M12.5 15L7.5 10L12.5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"Home"]}),jsxRuntimeExports.jsx("div",{className:"flex-1 text-center",children:jsxRuntimeExports.jsxs("span",{className:"text-sm font-semibold",children:[(c==null?void 0:c.emoji)&&jsxRuntimeExports.jsx("span",{className:"mr-1.5",children:c.emoji}),(c==null?void 0:c.name)??l]})}),jsxRuntimeExports.jsx("div",{className:"w-[60px]"})]}),l&&jsxRuntimeExports.jsx("div",{className:"flex-1 overflow-hidden",children:jsxRuntimeExports.jsx(ClappRenderer,{clappId:l,transport:t})})]})}function App(){const t=reactExports.useRef(void 0);t.current||(t.current=new ClappTransport({serverUrl:getServerUrl(),context:{platform:"web"}}));const a=t.current,[l,o]=reactExports.useState([]);return reactExports.useEffect(()=>{a.connect();const u=a.onApps(c=>{o(c)});return a.fetchApps().then(o).catch(()=>{}),()=>{u(),a.disconnect()}},[a]),jsxRuntimeExports.jsx("div",{className:"relative h-screen overflow-hidden bg-background",children:jsxRuntimeExports.jsx(BrowserRouter,{children:jsxRuntimeExports.jsx(AppRoutes,{transport:a,apps:l})})})}clientExports.createRoot(document.getElementById("root")).render(jsxRuntimeExports.jsx(reactExports.StrictMode,{children:jsxRuntimeExports.jsx(App,{})}));
|