@miravo/cli-linux-arm64-musl 0.14.0 → 0.14.1

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.
Files changed (51) hide show
  1. package/console-dist/assets/api-Bp-mG9Rs.js +1 -0
  2. package/console-dist/assets/{api-GfuYYI6q.js → api-CtMmjN9m.js} +1 -1
  3. package/console-dist/assets/{asset-detail-CbRJwcZg.js → asset-detail-JDx-26wg.js} +1 -1
  4. package/console-dist/assets/{asset-detail-actions-Ceb1_r18.js → asset-detail-actions-BrLTJCzY.js} +1 -1
  5. package/console-dist/assets/{backup-power-qtHJlSI4.js → backup-power-B1THpfxc.js} +1 -1
  6. package/console-dist/assets/{by-path-CKZo157c.js → by-path-CGbqDnvK.js} +1 -1
  7. package/console-dist/assets/catalog-B3KfEJkB.js +1 -0
  8. package/console-dist/assets/{catalog-Lt1tguKF.js → catalog-Whukru3I.js} +1 -1
  9. package/console-dist/assets/{catalog-template-icons-DvKspieo.js → catalog-template-icons-GGQGFjA8.js} +1 -1
  10. package/console-dist/assets/{commercial-building-Bk4sBQtx.js → commercial-building-BeGD1bPV.js} +1 -1
  11. package/console-dist/assets/{console-panel-DOt0r_Oz.js → console-panel-DXk4doxV.js} +1 -1
  12. package/console-dist/assets/control-BeyuTMD5.js +1 -0
  13. package/console-dist/assets/{control-89sOxkPx.js → control-HoYOjLyM.js} +1 -1
  14. package/console-dist/assets/{district-heating-BofEIyfg.js → district-heating-MuLRna9G.js} +1 -1
  15. package/console-dist/assets/events-C2Q9HRYG.js +1 -0
  16. package/console-dist/assets/{events-NZs3OoQw.js → events-Cb1faGh2.js} +1 -1
  17. package/console-dist/assets/{export-tab-R8Oac9J5.js → export-tab-CtH28h1G.js} +1 -1
  18. package/console-dist/assets/{factory-BYX8AmsW.js → factory-Boh-9Tjz.js} +1 -1
  19. package/console-dist/assets/factory-CpziAEBj.js +1 -0
  20. package/console-dist/assets/{floor-page-CiS52QbQ.js → floor-page-Bxq5t8Yi.js} +1 -1
  21. package/console-dist/assets/{get-error-message-DJGhcwLn.js → get-error-message-D800c4Uu.js} +1 -1
  22. package/console-dist/assets/{index-B8B-S-lq.js → index-CHgd8U-y.js} +3 -3
  23. package/console-dist/assets/{integration-api-B5s7_LWo.js → integration-api-DnCoHAoa.js} +1 -1
  24. package/console-dist/assets/integrations-DYDSuhVG.js +1 -0
  25. package/console-dist/assets/{integrations-Bg7xzjIj.js → integrations-DlVDmGqI.js} +1 -1
  26. package/console-dist/assets/{login-Dq1AJRqO.js → login-D6-swZqz.js} +1 -1
  27. package/console-dist/assets/models-C1sVJK7p.js +1 -0
  28. package/console-dist/assets/{models-BYr_QK_5.js → models-CDGbNOUr.js} +1 -1
  29. package/console-dist/assets/{pharma-cleanroom-oxgPn6h6.js → pharma-cleanroom-DnxAzkeg.js} +1 -1
  30. package/console-dist/assets/{protocol-card-1DCkgN_l.js → protocol-card-Bf06qKjE.js} +1 -1
  31. package/console-dist/assets/{registry-BqqyCPJz.js → registry-BKilgP4M.js} +2 -2
  32. package/console-dist/assets/{status-kit-Darp7bPB.js → status-kit-eQF95zN0.js} +1 -1
  33. package/console-dist/assets/tags-BPR9ZiaM.js +1 -0
  34. package/console-dist/assets/{tags-r7Fx_0yG.js → tags-DtfR_AgF.js} +1 -1
  35. package/console-dist/assets/{transition-nav-link-DIx78Lol.js → transition-nav-link-ZpTbW2Hm.js} +1 -1
  36. package/console-dist/assets/{use-engine-command-mutation-CTbPh58S.js → use-engine-command-mutation-5q_LI_xT.js} +1 -1
  37. package/console-dist/assets/{use-transition-navigate-aOjMH_eS.js → use-transition-navigate-5-QJHk2I.js} +2 -2
  38. package/console-dist/assets/{useQuery-BfWNkVkT.js → useQuery-Dxp3WSXF.js} +1 -1
  39. package/console-dist/assets/{validation-DSsZ8qyt.js → validation-BSQDilvJ.js} +1 -1
  40. package/console-dist/assets/{water-treatment-COXMW4qC.js → water-treatment-CAxvQSI-.js} +1 -1
  41. package/console-dist/index.html +23 -23
  42. package/miravo +1 -1
  43. package/package.json +1 -1
  44. package/console-dist/assets/api-DEoRnScz.js +0 -1
  45. package/console-dist/assets/catalog-CshTwzQu.js +0 -1
  46. package/console-dist/assets/control-BBMXQRSU.js +0 -1
  47. package/console-dist/assets/events-DFkG5maw.js +0 -1
  48. package/console-dist/assets/factory-Cp52pnAL.js +0 -1
  49. package/console-dist/assets/integrations-CG1fPcwM.js +0 -1
  50. package/console-dist/assets/models-jmRXhSoh.js +0 -1
  51. package/console-dist/assets/tags-DlnWXo4p.js +0 -1
@@ -1 +1 @@
1
- import{a as e,r as t}from"./rolldown-runtime-COnpUsM8.js";import{c as n}from"./vendor-charts-95ykyDlI.js";var r=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},i=new class extends r{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},a={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},o=new class{#e=a;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function s(e){setTimeout(e,0)}var c=typeof window>`u`||`Deno`in globalThis;function l(){}function u(e,t){return typeof e==`function`?e(t):e}function d(e){return typeof e==`number`&&e>=0&&e!==1/0}function f(e,t){return Math.max(e+(t||0)-Date.now(),0)}function p(e,t){return typeof e==`function`?e(t):e}function m(e,t){return typeof e==`function`?e(t):e}function ee(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==ne(o,t.options))return!1}else if(!ie(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function te(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(re(t.options.mutationKey)!==re(a))return!1}else if(!ie(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function ne(e,t){return(t?.queryKeyHashFn||re)(e)}function re(e){return JSON.stringify(e,(e,t)=>le(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ie(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>ie(e[n],t[n])):!1}var ae=Object.prototype.hasOwnProperty;function oe(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=ce(e)&&ce(t);if(!r&&!(le(e)&&le(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:ae.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=oe(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function se(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function ce(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function le(e){if(!ue(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!ue(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function ue(e){return Object.prototype.toString.call(e)===`[object Object]`}function de(e){return new Promise(t=>{o.setTimeout(t,e)})}function fe(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:oe(e,t)}function pe(e){return e}function me(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function he(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var ge=Symbol();function _e(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===ge?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function ve(e,t){return typeof e==`function`?e(...t):!!e}function ye(e,t,n){let r=!1,i;return Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var be=(()=>{let e=()=>c;return{isServer(){return e()},setIsServer(t){e=t}}})();function xe(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}function Se(e){let t;if(e.then(e=>(t=e,e),l)?.catch(l),t!==void 0)return{data:t}}function Ce(e){return e}function we(e){return{mutationKey:e.options.mutationKey,state:e.state,...e.options.scope&&{scope:e.options.scope},...e.meta&&{meta:e.meta}}}function Te(e,t,n){let r=()=>{let r=e.promise?.then(t).catch(e=>n(e)?Promise.reject(Error(`redacted`)):Promise.reject(e));return r?.catch(l),r};return{dehydratedAt:Date.now(),state:{...e.state,...e.state.data!==void 0&&{data:t(e.state.data)}},queryKey:e.queryKey,queryHash:e.queryHash,...e.state.status===`pending`&&{promise:r()},...e.meta&&{meta:e.meta}}}function Ee(e){return e.state.isPaused}function De(e){return e.state.status===`success`}function Oe(e){return!0}function ke(e,t={}){let n=t.shouldDehydrateMutation??e.getDefaultOptions().dehydrate?.shouldDehydrateMutation??Ee,r=e.getMutationCache().getAll().flatMap(e=>n(e)?[we(e)]:[]),i=t.shouldDehydrateQuery??e.getDefaultOptions().dehydrate?.shouldDehydrateQuery??De,a=t.shouldRedactErrors??e.getDefaultOptions().dehydrate?.shouldRedactErrors??Oe,o=t.serializeData??e.getDefaultOptions().dehydrate?.serializeData??Ce;return{mutations:r,queries:e.getQueryCache().getAll().flatMap(e=>i(e)?[Te(e,o,a)]:[])}}function Ae(e,t,n){if(typeof t!=`object`||!t)return;let r=e.getMutationCache(),i=e.getQueryCache(),a=n?.defaultOptions?.deserializeData??e.getDefaultOptions().hydrate?.deserializeData??Ce,o=t.mutations||[],s=t.queries||[];o.forEach(({state:t,...i})=>{r.build(e,{...e.getDefaultOptions().hydrate?.mutations,...n?.defaultOptions?.mutations,...i},t)}),s.forEach(({queryKey:t,state:r,queryHash:o,meta:s,promise:c,dehydratedAt:u})=>{let d=c?Se(c):void 0,f=r.data===void 0?d?.data:r.data,p=f===void 0?f:a(f),m=i.get(o),ee=m?.state.status===`pending`,te=m?.state.fetchStatus===`fetching`;if(m){let e=d&&u!==void 0&&u>m.state.dataUpdatedAt;if(r.dataUpdatedAt>m.state.dataUpdatedAt||e){let{fetchStatus:e,...t}=r;m.setState({...t,data:p})}}else m=i.build(e,{...e.getDefaultOptions().hydrate?.queries,...n?.defaultOptions?.queries,queryKey:t,queryHash:o,meta:s},{...r,data:p,fetchStatus:`idle`,status:p===void 0?r.status:`success`});c&&!ee&&!te&&(u===void 0||u>m.state.dataUpdatedAt)&&m.fetch(void 0,{initialPromise:Promise.resolve(c).then(a)}).catch(l)})}var je=s;function Me(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=je,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var h=Me(),Ne=new class extends r{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Pe(e){return Math.min(1e3*2**e,3e4)}function Fe(e){return(e??`online`)===`online`?Ne.isOnline():!0}var Ie=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Le(e){let t=!1,n=0,r,a=xe(),o=()=>a.status!==`pending`,s=t=>{if(!o()){let n=new Ie(t);p(n),e.onCancel?.(n)}},c=()=>{t=!0},l=()=>{t=!1},u=()=>i.isFocused()&&(e.networkMode===`always`||Ne.isOnline())&&e.canRun(),d=()=>Fe(e.networkMode)&&e.canRun(),f=e=>{o()||(r?.(),a.resolve(e))},p=e=>{o()||(r?.(),a.reject(e))},m=()=>new Promise(t=>{r=e=>{(o()||u())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,o()||e.onContinue?.()}),ee=()=>{if(o())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(f).catch(r=>{if(o())return;let i=e.retry??(be.isServer()?0:3),a=e.retryDelay??Pe,s=typeof a==`function`?a(n,r):a,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){p(r);return}n++,e.onFail?.(n,r),de(s).then(()=>u()?void 0:m()).then(()=>{t?p(r):ee()})})};return{promise:a,status:()=>a.status,cancel:s,continue:()=>(r?.(),a),cancelRetry:c,continueRetry:l,canStart:d,start:()=>(d()?ee():m().then(ee),a)}}var Re=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),d(this.gcTime)&&(this.#e=o.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(be.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(o.clearTimeout(this.#e),this.#e=void 0)}},ze=class extends Re{#e;#t;#n;#r;#i;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#n=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=He(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=He(this.options);e.data!==void 0&&(this.setState(Ve(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#n.remove(this)}setData(e,t){let n=fe(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#c({type:`setState`,state:e,setStateOptions:t})}cancel(e){let t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(l).catch(l):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#e}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>m(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ge||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>p(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!f(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#i&&(this.#o||this.#s()?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#n.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#s(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#i?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},i=()=>{let e=_e(this.options,t),n=(()=>{let e={client:this.#r,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#o=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:i};return r(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta}),this.#i=Le({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Ie&&e.revert&&this.setState({...this.#t,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#i.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#n.config.onSuccess?.(e,this),this.#n.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Ie){if(e.silent)return this.#i.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#n.config.onError?.(e,this),this.#n.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#c(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Be(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Ve(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}})(this.state),h.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#n.notify({query:this,type:`updated`,action:e})})}};function Be(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Fe(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Ve(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function He(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}function Ue(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{ye(e,()=>t.signal,()=>n=!0)},u=_e(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?he:me;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?Ge:We,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:We(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function We(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Ge(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function Ke(e,t){return t?We(e,t)!=null:!1}function qe(e,t){return!t||!e.getPreviousPageParam?!1:Ge(e,t)!=null}var Je=class extends Re{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||Ye(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=Le({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}})(this.state),h.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function Ye(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Xe=class extends r{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new Je({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Ze(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Ze(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Ze(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=Ze(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){h.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>te(t,e))}findAll(e={}){return this.getAll().filter(t=>te(e,t))}notify(e){h.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return h.batch(()=>Promise.all(e.map(e=>e.continue().catch(l))))}};function Ze(e){return e.options.scope?.id}var Qe=class extends r{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??ne(r,t),a=this.get(i);return a||(a=new ze({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){h.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ee(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>ee(e,t)):t}notify(e){h.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){h.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){h.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},$e=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Qe,this.#t=e.mutationCache||new Xe,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=i.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Ne.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(p(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=u(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return h.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;h.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return h.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=h.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(l).catch(l)}invalidateQueries(e,t={}){return h.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=h.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(l)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(l)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(p(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(l).catch(l)}fetchInfiniteQuery(e){return e.behavior=Ue(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(l).catch(l)}ensureInfiniteQueryData(e){return e.behavior=Ue(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Ne.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(re(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{ie(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(re(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{ie(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=ne(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===ge&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},et=e(n(),1),tt=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},nt=(e=>e?tt(e):tt),rt=e=>e;function it(e,t=rt){let n=et.useSyncExternalStore(e.subscribe,et.useCallback(()=>t(e.getState()),[e,t]),et.useCallback(()=>t(e.getInitialState()),[e,t]));return et.useDebugValue(n),n}var at=e=>{let t=nt(e),n=e=>it(t,e);return Object.assign(n,t),n},ot=(e=>e?at(e):at),st=200,ct=60,lt=1e3,ut=`miravo:runtime-snapshot`;function dt(e){try{sessionStorage.setItem(ut,JSON.stringify(e))}catch{}}function ft(){try{sessionStorage.removeItem(ut)}catch{}}function pt(e){if(typeof e!=`object`||!e)return!1;let t=e;if(typeof t.revision!=`number`||typeof t.state!=`object`||t.state===null||typeof t.metrics!=`object`||t.metrics===null)return!1;let n=t.metrics;return typeof n.core!=`object`||n.core===null?!1:Array.isArray(t.templates)}function mt(){try{let e=sessionStorage.getItem(ut);if(!e)return null;let t=JSON.parse(e);return pt(t)?t:(ft(),null)}catch{return ft(),null}}function ht(e){let t=e.metrics.core.tickCount,n=e.metrics.core.actualTicksPerSecond,r=Date.now();return{connectionState:`live`,connectionStateSince:r,reconnectAttempts:0,fatalError:null,lastRevision:e.revision,factoryName:e.state.factoryName??e.metrics.factoryName??``,seed:e.state.config.seed,engineState:e.metrics.core.state,tick:t,simulationTime:e.metrics.core.simulationTimeSeconds,tickIntervalMs:e.state.config.tickIntervalMs,lastTickReceivedAt:r,assetCount:e.metrics.core.assetCount,memberValueCount:e.metrics.core.memberValueCount,quarantinedAssetCount:e.metrics.core.quarantinedAssetCount,engineErrorsCount:e.metrics.core.engineErrorsCount,tickOverrunsCount:e.metrics.core.tickOverrunsCount,circuitBreakerTripsCount:e.metrics.core.circuitBreakerTripsCount,tps:n,uptimeMs:e.metrics.core.uptimeMs,speedMultiplier:e.state.config.timeMultiplier,assets:[...e.state.assets],models:[...e.state.models],tpsHistory:[{tick:t,tps:n,sampledAtMs:r}],lines:[...e.state.lines??[]],templates:[...e.templates],bootTemplate:e.state.config.template,availableAdapters:e.state.availableAdapters??[],adapterMetrics:e.metrics.adapters??[],memberValues:new Map,events:[]}}function gt(e,t){return{connectionState:`live`,connectionStateSince:e.connectionState===`live`?e.connectionStateSince:t,reconnectAttempts:0,fatalError:null}}var _t=ot((e,t)=>({connectionState:`booting`,connectionStateSince:Date.now(),reconnectAttempts:0,fatalError:null,lastRevision:0,factoryName:``,seed:null,engineState:`idle`,tick:0,simulationTime:0,tickIntervalMs:1e3,lastTickReceivedAt:0,assetCount:0,memberValueCount:0,quarantinedAssetCount:0,engineErrorsCount:0,tickOverrunsCount:0,circuitBreakerTripsCount:0,tps:0,uptimeMs:0,speedMultiplier:1,assets:[],models:[],tpsHistory:[],lines:[],templates:[],bootTemplate:void 0,availableAdapters:[],adapterMetrics:[],memberValues:new Map,events:[],replaceRuntime:(n,r)=>{let i=t().lastRevision;i>0&&(n.revision<i&&!r?.allowRevisionRewind||n.revision===i&&!r?.allowSameRevision)||(e(()=>ht(n)),dt(n))},applyTick:n=>{let r=t();if(n.revision<=r.lastRevision)return;let i=n.delta??[],a=n.tick??r.tick,o=n.simulationTime??r.simulationTime,s=n.assetCount??r.assetCount,c=n.metrics.core.actualTicksPerSecond,l=Date.now();if(!(i.length>0||a!==r.tick||o!==r.simulationTime||s!==r.assetCount||n.metrics.adapters!==r.adapterMetrics||n.metrics.core.engineErrorsCount!==r.engineErrorsCount||n.metrics.core.tickOverrunsCount!==r.tickOverrunsCount||n.metrics.core.circuitBreakerTripsCount!==r.circuitBreakerTripsCount||n.metrics.core.memberValueCount!==r.memberValueCount||n.metrics.core.quarantinedAssetCount!==r.quarantinedAssetCount||c!==r.tps)){e({...gt(r,l),lastTickReceivedAt:l,lastRevision:n.revision});return}let u={...gt(r,l),tick:a,simulationTime:o,lastTickReceivedAt:l,assetCount:s,memberValueCount:n.metrics.core.memberValueCount,quarantinedAssetCount:n.metrics.core.quarantinedAssetCount,engineErrorsCount:n.metrics.core.engineErrorsCount,tickOverrunsCount:n.metrics.core.tickOverrunsCount,circuitBreakerTripsCount:n.metrics.core.circuitBreakerTripsCount,tps:c,uptimeMs:n.metrics.core.uptimeMs,adapterMetrics:n.metrics.adapters,lastRevision:n.revision},d=r.tpsHistory.at(-1),f={tps:c,tick:a,sampledAtMs:l};if(!d||l-d.sampledAtMs>=lt?u.tpsHistory=[...r.tpsHistory,f].slice(-ct):u.tpsHistory=[...r.tpsHistory.slice(0,-1),f],i.length>0){let e=new Map(r.memberValues),t=new Set;for(let n of i){if(!t.has(n.assetId)){let r=e.get(n.assetId);e.set(n.assetId,new Map(r)),t.add(n.assetId)}e.get(n.assetId)?.set(n.memberName,{value:n.value,quality:n.quality})}u.memberValues=e}e(u)},applyEvent:(n,r)=>{let i=t();if(r<=i.lastRevision)return;let a=Date.now(),o=[n,...i.events].slice(0,st),s={...gt(i,a),events:o,lastRevision:r};if(n.kind===`asset:removed`){let t=new Map(i.memberValues);t.delete(n.id),e({...s,memberValues:t});return}if(n.kind===`fault:triggered`||n.kind===`fault:cleared`){let t=i.assets.map(e=>{if(e.id!==n.assetId)return e;let t=n.kind===`fault:triggered`?[...e.activeFaults,n.fault]:e.activeFaults.filter(e=>e!==n.fault);return{...e,activeFaults:t}});e({...s,assets:t});return}if(n.kind===`lifecycle:changed`||n.kind===`asset:maintenance`){let t=i.assets.map(e=>e.id===n.assetId?{...e,lifecycleStage:n.to,operatingHours:n.operatingHours}:e);e({...s,assets:t});return}if(n.kind===`engine:state`){e({...s,engineState:n.to});return}e(s)},markConnection:n=>{t().connectionState!==n&&e({connectionState:n,connectionStateSince:Date.now()})},markFatal:t=>{e({connectionState:`fatal`,connectionStateSince:Date.now(),fatalError:t})},markUnauthenticated:()=>{t().connectionState!==`unauthenticated`&&e({connectionState:`unauthenticated`,connectionStateSince:Date.now()})},noteReconnectAttempt:()=>{e(e=>({reconnectAttempts:e.reconnectAttempts+1}))},resetReconnectAttempts:()=>{t().reconnectAttempts!==0&&e({reconnectAttempts:0})}})),g;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(g||={});var vt;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(vt||={});var _=g.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),v=e=>{switch(typeof e){case`undefined`:return _.undefined;case`string`:return _.string;case`number`:return Number.isNaN(e)?_.nan:_.number;case`boolean`:return _.boolean;case`function`:return _.function;case`bigint`:return _.bigint;case`symbol`:return _.symbol;case`object`:return Array.isArray(e)?_.array:e===null?_.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?_.promise:typeof Map<`u`&&e instanceof Map?_.map:typeof Set<`u`&&e instanceof Set?_.set:typeof Date<`u`&&e instanceof Date?_.date:_.object;default:return _.unknown}},y=g.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`]),yt=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,`$1:`),b=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,g.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};b.create=e=>new b(e);var bt=(e,t)=>{let n;switch(e.code){case y.invalid_type:n=e.received===_.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,g.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${g.joinValues(e.keys,`, `)}`;break;case y.invalid_union:n=`Invalid input`;break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${g.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${g.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n=`Invalid function arguments`;break;case y.invalid_return_type:n=`Invalid function return type`;break;case y.invalid_date:n=`Invalid date`;break;case y.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:g.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case y.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case y.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case y.custom:n=`Invalid input`;break;case y.invalid_intersection_types:n=`Intersection results could not be merged`;break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,g.assertNever(e)}return{message:n}},xt=bt;function St(e){xt=e}function Ct(){return xt}var wt=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}},Tt=[];function x(e,t){let n=Ct(),r=wt({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===bt?void 0:bt].filter(e=>!!e)});e.common.issues.push(r)}var S=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return C;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return C;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},C=Object.freeze({status:`aborted`}),Et=e=>({status:`dirty`,value:e}),w=e=>({status:`valid`,value:e}),Dt=e=>e.status===`aborted`,Ot=e=>e.status===`dirty`,kt=e=>e.status===`valid`,At=e=>typeof Promise<`u`&&e instanceof Promise,T;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(T||={});var E=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},jt=(e,t)=>{if(kt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){return this._error||=new b(e.common.issues),this._error}}};function D(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var O=class{get description(){return this._def.description}_getType(e){return v(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:v(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new S,ctx:{common:e.parent.common,data:e.data,parsedType:v(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(At(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)};return jt(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return kt(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>kt(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)},r=this._parse({data:e,path:n.path,parent:n});return jt(n,await(At(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:y.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new M({schema:this,typeName:P.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return N.create(this,this._def)}nullable(){return Mn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return hn.create(this)}promise(){return jn.create(this,this._def)}or(e){return _n.create([this,e],this._def)}and(e){return bn.create(this,e,this._def)}transform(e){return new M({...D(this._def),schema:this,typeName:P.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new Nn({...D(this._def),innerType:this,defaultValue:t,typeName:P.ZodDefault})}brand(){return new Ln({typeName:P.ZodBranded,type:this,...D(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new Pn({...D(this._def),innerType:this,catchValue:t,typeName:P.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Rn.create(this,e)}readonly(){return zn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Mt=/^c[^\s-]{8,}$/i,Nt=/^[0-9a-z]+$/,Pt=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ft=/^[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,It=/^[a-z0-9_-]{21}$/i,Lt=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Rt=/^[-+]?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)?)??$/,zt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Bt=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,Vt,Ht=/^(?:(?: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])$/,Ut=/^(?:(?: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])$/,Wt=/^(([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]))$/,Gt=/^(([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])$/,Kt=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,qt=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Jt=`((\\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])))`,Yt=RegExp(`^${Jt}$`);function Xt(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Zt(e){return RegExp(`^${Xt(e)}$`)}function Qt(e){let t=`${Jt}T${Xt(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function $t(e,t){return!!((t===`v4`||!t)&&Ht.test(e)||(t===`v6`||!t)&&Wt.test(e))}function en(e,t){if(!Lt.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function tn(e,t){return!!((t===`v4`||!t)&&Ut.test(e)||(t===`v6`||!t)&&Gt.test(e))}var nn=class e extends O{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==_.string){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.string,received:t.parsedType}),C}let t=new S,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),x(n,{code:y.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),x(n,{code:y.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?x(n,{code:y.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&x(n,{code:y.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)zt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`email`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)Vt||=new RegExp(Bt,`u`),Vt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`emoji`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)Ft.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`uuid`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)It.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`nanoid`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Mt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`cuid`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Nt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`cuid2`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)Pt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`ulid`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),x(n,{validation:`url`,code:y.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`regex`,code:y.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?Qt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?Yt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?Zt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?Rt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`duration`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?$t(e.data,r.version)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`ip`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?en(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`jwt`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?tn(e.data,r.version)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`cidr`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Kt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`base64`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?qt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`base64url`,code:y.invalid_string,message:r.message}),t.dirty()):g.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:y.invalid_string,...T.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...T.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...T.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...T.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...T.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...T.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...T.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...T.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...T.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...T.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...T.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...T.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...T.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...T.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...T.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...T.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...T.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...T.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...T.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...T.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...T.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...T.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...T.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...T.errToObj(t)})}nonempty(e){return this.min(1,T.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};nn.create=e=>new nn({checks:[],typeName:P.ZodString,coerce:e?.coerce??!1,...D(e)});function rn(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var an=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==_.number){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.number,received:t.parsedType}),C}let t,n=new S;for(let r of this._def.checks)r.kind===`int`?g.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),x(t,{code:y.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?rn(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),x(t,{code:y.not_finite,message:r.message}),n.dirty()):g.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,T.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,T.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,T.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,T.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:T.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:T.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:T.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:T.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:T.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:T.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:T.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:T.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:T.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:T.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&g.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};an.create=e=>new an({checks:[],typeName:P.ZodNumber,coerce:e?.coerce||!1,...D(e)});var on=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==_.bigint)return this._getInvalidInput(e);let t,n=new S;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):g.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.bigint,received:t.parsedType}),C}gte(e,t){return this.setLimit(`min`,e,!0,T.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,T.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,T.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,T.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:T.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:T.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:T.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:T.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:T.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:T.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};on.create=e=>new on({checks:[],typeName:P.ZodBigInt,coerce:e?.coerce??!1,...D(e)});var sn=class extends O{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==_.boolean){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.boolean,received:t.parsedType}),C}return w(e.data)}};sn.create=e=>new sn({typeName:P.ZodBoolean,coerce:e?.coerce||!1,...D(e)});var cn=class e extends O{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==_.date){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.date,received:t.parsedType}),C}if(Number.isNaN(e.data.getTime()))return x(this._getOrReturnCtx(e),{code:y.invalid_date}),C;let t=new S,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),x(n,{code:y.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),x(n,{code:y.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):g.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:T.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:T.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};cn.create=e=>new cn({checks:[],coerce:e?.coerce||!1,typeName:P.ZodDate,...D(e)});var ln=class extends O{_parse(e){if(this._getType(e)!==_.symbol){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.symbol,received:t.parsedType}),C}return w(e.data)}};ln.create=e=>new ln({typeName:P.ZodSymbol,...D(e)});var un=class extends O{_parse(e){if(this._getType(e)!==_.undefined){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.undefined,received:t.parsedType}),C}return w(e.data)}};un.create=e=>new un({typeName:P.ZodUndefined,...D(e)});var dn=class extends O{_parse(e){if(this._getType(e)!==_.null){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.null,received:t.parsedType}),C}return w(e.data)}};dn.create=e=>new dn({typeName:P.ZodNull,...D(e)});var fn=class extends O{constructor(){super(...arguments),this._any=!0}_parse(e){return w(e.data)}};fn.create=e=>new fn({typeName:P.ZodAny,...D(e)});var pn=class extends O{constructor(){super(...arguments),this._unknown=!0}_parse(e){return w(e.data)}};pn.create=e=>new pn({typeName:P.ZodUnknown,...D(e)});var k=class extends O{_parse(e){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.never,received:t.parsedType}),C}};k.create=e=>new k({typeName:P.ZodNever,...D(e)});var mn=class extends O{_parse(e){if(this._getType(e)!==_.undefined){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.void,received:t.parsedType}),C}return w(e.data)}};mn.create=e=>new mn({typeName:P.ZodVoid,...D(e)});var hn=class e extends O{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==_.array)return x(t,{code:y.invalid_type,expected:_.array,received:t.parsedType}),C;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(x(t,{code:e?y.too_big:y.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(x(t,{code:y.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(x(t,{code:y.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new E(t,e,t.path,n)))).then(e=>S.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new E(t,e,t.path,n)));return S.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:T.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:T.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:T.toString(n)}})}nonempty(e){return this.min(1,e)}};hn.create=(e,t)=>new hn({type:e,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...D(t)});function gn(e){if(e instanceof A){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=N.create(gn(r))}return new A({...e._def,shape:()=>t})}else if(e instanceof hn)return new hn({...e._def,type:gn(e.element)});else if(e instanceof N)return N.create(gn(e.unwrap()));else if(e instanceof Mn)return Mn.create(gn(e.unwrap()));else if(e instanceof xn)return xn.create(e.items.map(e=>gn(e)));else return e}var A=class e extends O{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape();return this._cached={shape:e,keys:g.objectKeys(e)},this._cached}_parse(e){if(this._getType(e)!==_.object){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.object,received:t.parsedType}),C}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof k&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new E(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof k){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(x(n,{code:y.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new E(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>S.mergeObjectSync(t,e)):S.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return T.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:T.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:P.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of g.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of g.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return gn(this)}partial(t){let n={};for(let e of g.objectKeys(this.shape)){let r=this.shape[e];t&&!t[e]?n[e]=r:n[e]=r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of g.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof N;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return On(g.objectKeys(this.shape))}};A.create=(e,t)=>new A({shape:()=>e,unknownKeys:`strip`,catchall:k.create(),typeName:P.ZodObject,...D(t)}),A.strictCreate=(e,t)=>new A({shape:()=>e,unknownKeys:`strict`,catchall:k.create(),typeName:P.ZodObject,...D(t)}),A.lazycreate=(e,t)=>new A({shape:e,unknownKeys:`strip`,catchall:k.create(),typeName:P.ZodObject,...D(t)});var _n=class extends O{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new b(e.ctx.common.issues));return x(t,{code:y.invalid_union,unionErrors:n}),C}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new b(e));return x(t,{code:y.invalid_union,unionErrors:i}),C}}get options(){return this._def.options}};_n.create=(e,t)=>new _n({options:e,typeName:P.ZodUnion,...D(t)});var j=e=>e instanceof En?j(e.schema):e instanceof M?j(e.innerType()):e instanceof Dn?[e.value]:e instanceof kn?e.options:e instanceof An?g.objectValues(e.enum):e instanceof Nn?j(e._def.innerType):e instanceof un?[void 0]:e instanceof dn?[null]:e instanceof N?[void 0,...j(e.unwrap())]:e instanceof Mn?[null,...j(e.unwrap())]:e instanceof Ln||e instanceof zn?j(e.unwrap()):e instanceof Pn?j(e._def.innerType):[],vn=class e extends O{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.object)return x(t,{code:y.invalid_type,expected:_.object,received:t.parsedType}),C;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(x(t,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),C)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=j(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:P.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...D(r)})}};function yn(e,t){let n=v(e),r=v(t);if(e===t)return{valid:!0,data:e};if(n===_.object&&r===_.object){let n=g.objectKeys(t),r=g.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=yn(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===_.array&&r===_.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=yn(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===_.date&&r===_.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var bn=class extends O{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(Dt(e)||Dt(r))return C;let i=yn(e.value,r.value);return i.valid?((Ot(e)||Ot(r))&&t.dirty(),{status:t.value,value:i.data}):(x(n,{code:y.invalid_intersection_types}),C)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};bn.create=(e,t,n)=>new bn({left:e,right:t,typeName:P.ZodIntersection,...D(n)});var xn=class e extends O{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.array)return x(n,{code:y.invalid_type,expected:_.array,received:n.parsedType}),C;if(n.data.length<this._def.items.length)return x(n,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),C;!this._def.rest&&n.data.length>this._def.items.length&&(x(n,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new E(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>S.mergeArray(t,e)):S.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};xn.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new xn({items:e,typeName:P.ZodTuple,rest:null,...D(t)})};var Sn=class e extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.object)return x(n,{code:y.invalid_type,expected:_.object,received:n.parsedType}),C;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new E(n,e,n.path,e)),value:a._parse(new E(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?S.mergeObjectAsync(t,r):S.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof O?new e({keyType:t,valueType:n,typeName:P.ZodRecord,...D(r)}):new e({keyType:nn.create(),valueType:t,typeName:P.ZodRecord,...D(n)})}},Cn=class extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.map)return x(n,{code:y.invalid_type,expected:_.map,received:n.parsedType}),C;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new E(n,e,n.path,[a,`key`])),value:i._parse(new E(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return C;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return C;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};Cn.create=(e,t,n)=>new Cn({valueType:t,keyType:e,typeName:P.ZodMap,...D(n)});var wn=class e extends O{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.set)return x(n,{code:y.invalid_type,expected:_.set,received:n.parsedType}),C;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(x(n,{code:y.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(x(n,{code:y.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return C;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new E(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:T.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:T.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};wn.create=(e,t)=>new wn({valueType:e,minSize:null,maxSize:null,typeName:P.ZodSet,...D(t)});var Tn=class e extends O{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.function)return x(t,{code:y.invalid_type,expected:_.function,received:t.parsedType}),C;function n(e,n){return wt({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ct(),bt].filter(e=>!!e),issueData:{code:y.invalid_arguments,argumentsError:n}})}function r(e,n){return wt({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ct(),bt].filter(e=>!!e),issueData:{code:y.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof jn){let e=this;return w(async function(...t){let o=new b([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}else{let e=this;return w(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new b([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new b([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:xn.create(t).rest(pn.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||xn.create([]).rest(pn.create()),returns:n||pn.create(),typeName:P.ZodFunction,...D(r)})}},En=class extends O{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};En.create=(e,t)=>new En({getter:e,typeName:P.ZodLazy,...D(t)});var Dn=class extends O{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return x(t,{received:t.data,code:y.invalid_literal,expected:this._def.value}),C}return{status:`valid`,value:e.data}}get value(){return this._def.value}};Dn.create=(e,t)=>new Dn({value:e,typeName:P.ZodLiteral,...D(t)});function On(e,t){return new kn({values:e,typeName:P.ZodEnum,...D(t)})}var kn=class e extends O{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return x(t,{expected:g.joinValues(n),received:t.parsedType,code:y.invalid_type}),C}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return x(t,{received:t.data,code:y.invalid_enum_value,options:n}),C}return w(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};kn.create=On;var An=class extends O{_parse(e){let t=g.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==_.string&&n.parsedType!==_.number){let e=g.objectValues(t);return x(n,{expected:g.joinValues(e),received:n.parsedType,code:y.invalid_type}),C}if(this._cache||=new Set(g.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=g.objectValues(t);return x(n,{received:n.data,code:y.invalid_enum_value,options:e}),C}return w(e.data)}get enum(){return this._def.values}};An.create=(e,t)=>new An({values:e,typeName:P.ZodNativeEnum,...D(t)});var jn=class extends O{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==_.promise&&t.common.async===!1?(x(t,{code:y.invalid_type,expected:_.promise,received:t.parsedType}),C):w((t.parsedType===_.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};jn.create=(e,t)=>new jn({type:e,typeName:P.ZodPromise,...D(t)});var M=class extends O{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{x(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return C;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?C:r.status===`dirty`||t.value===`dirty`?Et(r.value):r});{if(t.value===`aborted`)return C;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?C:r.status===`dirty`||t.value===`dirty`?Et(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?C:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?C:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`)if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!kt(e))return C;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>kt(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):C);g.assertNever(r)}};M.create=(e,t,n)=>new M({schema:e,typeName:P.ZodEffects,effect:t,...D(n)}),M.createWithPreprocess=(e,t,n)=>new M({schema:t,effect:{type:`preprocess`,transform:e},typeName:P.ZodEffects,...D(n)});var N=class extends O{_parse(e){return this._getType(e)===_.undefined?w(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};N.create=(e,t)=>new N({innerType:e,typeName:P.ZodOptional,...D(t)});var Mn=class extends O{_parse(e){return this._getType(e)===_.null?w(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Mn.create=(e,t)=>new Mn({innerType:e,typeName:P.ZodNullable,...D(t)});var Nn=class extends O{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===_.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Nn.create=(e,t)=>new Nn({innerType:e,typeName:P.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...D(t)});var Pn=class extends O{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return At(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new b(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new b(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Pn.create=(e,t)=>new Pn({innerType:e,typeName:P.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...D(t)});var Fn=class extends O{_parse(e){if(this._getType(e)!==_.nan){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.nan,received:t.parsedType}),C}return{status:`valid`,value:e.data}}};Fn.create=e=>new Fn({typeName:P.ZodNaN,...D(e)});var In=Symbol(`zod_brand`),Ln=class extends O{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},Rn=class e extends O{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?C:e.status===`dirty`?(t.dirty(),Et(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?C:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:P.ZodPipeline})}},zn=class extends O{_parse(e){let t=this._def.innerType._parse(e),n=e=>(kt(e)&&(e.value=Object.freeze(e.value)),e);return At(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};zn.create=(e,t)=>new zn({innerType:e,typeName:P.ZodReadonly,...D(t)});function Bn(e,t){let n=typeof e==`function`?e(t):typeof e==`string`?{message:e}:e;return typeof n==`string`?{message:n}:n}function Vn(e,t={},n){return e?fn.create().superRefine((r,i)=>{let a=e(r);if(a instanceof Promise)return a.then(e=>{if(!e){let e=Bn(t,r),a=e.fatal??n??!0;i.addIssue({code:`custom`,...e,fatal:a})}});if(!a){let e=Bn(t,r),a=e.fatal??n??!0;i.addIssue({code:`custom`,...e,fatal:a})}}):fn.create()}var Hn={object:A.lazycreate},P;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(P||={});var Un=(e,t={message:`Input not instance of ${e.name}`})=>Vn(t=>t instanceof e,t),F=nn.create,I=an.create,Wn=Fn.create,Gn=on.create,L=sn.create,Kn=cn.create,qn=ln.create,Jn=un.create,Yn=dn.create,Xn=fn.create,R=pn.create,Zn=k.create,Qn=mn.create,z=hn.create,B=A.create,$n=A.strictCreate,V=_n.create,H=vn.create,er=bn.create,tr=xn.create,U=Sn.create,nr=Cn.create,rr=wn.create,ir=Tn.create,ar=En.create,W=Dn.create,G=kn.create,or=An.create,sr=jn.create,cr=M.create,lr=N.create,ur=Mn.create,dr=M.createWithPreprocess,fr=Rn.create,pr=()=>F().optional(),mr=()=>I().optional(),hr=()=>L().optional(),gr={string:(e=>nn.create({...e,coerce:!0})),number:(e=>an.create({...e,coerce:!0})),boolean:(e=>sn.create({...e,coerce:!0})),bigint:(e=>on.create({...e,coerce:!0})),date:(e=>cn.create({...e,coerce:!0}))},_r=C,vr=t({BRAND:()=>In,DIRTY:()=>Et,EMPTY_PATH:()=>Tt,INVALID:()=>C,NEVER:()=>_r,OK:()=>w,ParseStatus:()=>S,Schema:()=>O,ZodAny:()=>fn,ZodArray:()=>hn,ZodBigInt:()=>on,ZodBoolean:()=>sn,ZodBranded:()=>Ln,ZodCatch:()=>Pn,ZodDate:()=>cn,ZodDefault:()=>Nn,ZodDiscriminatedUnion:()=>vn,ZodEffects:()=>M,ZodEnum:()=>kn,ZodError:()=>b,ZodFirstPartyTypeKind:()=>P,ZodFunction:()=>Tn,ZodIntersection:()=>bn,ZodIssueCode:()=>y,ZodLazy:()=>En,ZodLiteral:()=>Dn,ZodMap:()=>Cn,ZodNaN:()=>Fn,ZodNativeEnum:()=>An,ZodNever:()=>k,ZodNull:()=>dn,ZodNullable:()=>Mn,ZodNumber:()=>an,ZodObject:()=>A,ZodOptional:()=>N,ZodParsedType:()=>_,ZodPipeline:()=>Rn,ZodPromise:()=>jn,ZodReadonly:()=>zn,ZodRecord:()=>Sn,ZodSchema:()=>O,ZodSet:()=>wn,ZodString:()=>nn,ZodSymbol:()=>ln,ZodTransformer:()=>M,ZodTuple:()=>xn,ZodType:()=>O,ZodUndefined:()=>un,ZodUnion:()=>_n,ZodUnknown:()=>pn,ZodVoid:()=>mn,addIssueToContext:()=>x,any:()=>Xn,array:()=>z,bigint:()=>Gn,boolean:()=>L,coerce:()=>gr,custom:()=>Vn,date:()=>Kn,datetimeRegex:()=>Qt,defaultErrorMap:()=>bt,discriminatedUnion:()=>H,effect:()=>cr,enum:()=>G,function:()=>ir,getErrorMap:()=>Ct,getParsedType:()=>v,instanceof:()=>Un,intersection:()=>er,isAborted:()=>Dt,isAsync:()=>At,isDirty:()=>Ot,isValid:()=>kt,late:()=>Hn,lazy:()=>ar,literal:()=>W,makeIssue:()=>wt,map:()=>nr,nan:()=>Wn,nativeEnum:()=>or,never:()=>Zn,null:()=>Yn,nullable:()=>ur,number:()=>I,object:()=>B,objectUtil:()=>vt,oboolean:()=>hr,onumber:()=>mr,optional:()=>lr,ostring:()=>pr,pipeline:()=>fr,preprocess:()=>dr,promise:()=>sr,quotelessJson:()=>yt,record:()=>U,set:()=>rr,setErrorMap:()=>St,strictObject:()=>$n,string:()=>F,symbol:()=>qn,transformer:()=>cr,tuple:()=>tr,undefined:()=>Jn,union:()=>V,unknown:()=>R,util:()=>g,void:()=>Qn}),yr=B({username:F().min(1),password:F().min(1)}),br=B({ok:W(!0),changePassword:L()}),xr=B({oldPassword:F().min(1),newPassword:F().min(6)}),Sr=B({ok:W(!0)}),Cr=B({authenticated:L(),username:F().optional()});B({password:F().min(1)});var wr=class extends Error{fix;context;constructor(e,t,n){super(e),this.name=`MiravoError`,this.fix=t,this.context=n}},Tr=`0.14.0`,Er=1883,Dr=4840,Or=1502,kr={mqtt:Er,opcua:Dr,modbus:Or},Ar=65535;function jr(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=65535}var Mr=1e4,Nr=1e3,Pr=1e6,Fr=1e5,K=/^[a-zA-Z0-9_-]{1,64}$/,Ir=/^\$param\.(\S+)$/,Lr=I().int().min(1).max(Ar),Rr=B({state:G([`healthy`,`busy`,`saturated`]),pendingWorkCount:I().finite().int().nonnegative(),completedLastTick:I().finite().int().nonnegative()}),zr=B({active:I().finite().int().nonnegative(),subscriptions:I().finite().int().nonnegative().optional(),reads:I().finite().int().nonnegative().optional(),writes:I().finite().int().nonnegative().optional()}),Br=B({connected:L(),messagesPublished:I().finite().int().nonnegative(),messagesAttempted:I().finite().int().nonnegative(),messagesFiltered:I().finite().int().nonnegative(),errorsCount:I().finite().int().nonnegative(),rejectedWrites:I().finite().int().nonnegative().optional(),lastPublishMs:I().finite().nonnegative(),health:Rr.optional(),clients:zr.optional()});B({name:F().min(1),enabled:L().default(!0)}).passthrough();var Vr=B({name:F().min(1),enabled:L(),pending:L().optional(),endpoint:F().optional(),boundPort:Lr.optional(),config:U(F(),R())}),q=B({factoryName:F().min(1).optional(),core:B({state:G([`idle`,`running`,`paused`,`stopped`]),tickCount:I().int().nonnegative(),simulationTimeSeconds:I().finite().nonnegative(),pauseAtSimulationSeconds:I().finite().positive().optional(),assetCount:I().int().nonnegative(),memberValueCount:I().int().nonnegative(),quarantinedAssetCount:I().int().nonnegative(),engineErrorsCount:I().int().nonnegative(),lastEngineError:B({context:F(),message:F()}).optional(),tickOverrunsCount:I().int().nonnegative(),circuitBreakerTripsCount:I().int().nonnegative(),uptimeMs:I().finite().nonnegative(),actualTicksPerSecond:I().finite().nonnegative()}),fleet:B({modelBreakdown:z(B({model:F().min(1),count:I().int().nonnegative()})),lifecycleBreakdown:U(F(),I().int().nonnegative()),activeFaultCount:I().int().nonnegative(),faultBreakdown:z(B({fault:F().min(1),count:I().int().nonnegative()}))}),adapters:z(B({name:F().min(1),metrics:Br}))}),Hr=B({lines:z(B({line:F(),stations:z(B({id:F(),state:F(),good:I().int().nonnegative(),scrap:I().int().nonnegative()})),buffers:z(B({after:F(),level:I().int().nonnegative(),capacity:I().int().positive()}))})).optional(),factoryName:F().min(1).optional(),models:z(B({name:F().min(1),memberCount:I().int().nonnegative(),faultCount:I().int().nonnegative(),faultNames:z(F().min(1)),hasLifecycle:L()})),assets:z(B({id:F().min(1),model:F().min(1),browsePath:z(F().min(1)),lifecycleStage:F().min(1),operatingHours:I().finite().nonnegative(),activeFaults:z(F().min(1)),isQuarantined:L(),production:U(F(),V([I(),F(),L()])).optional()})),config:B({seed:I().int().nonnegative(),tickIntervalMs:I().int().positive(),timeMultiplier:I().finite().positive(),adapters:z(F().min(1)),template:B({name:F().min(1),path:F().min(1)}).optional()}),availableAdapters:z(Vr).optional()}),Ur=B({templateId:F().min(1),templateName:F().min(1),templatePath:F().min(1),entryHash:F().min(1).optional(),assetIds:z(F().min(1)),models:z(F().min(1)),areas:z(B({name:F().min(1),lines:z(F().min(1))}))}),Wr=B({name:F().min(1),value:V([I().finite(),F(),L()]),quality:G([`good`,`bad`,`uncertain`]),unit:F().nullable(),kind:F().min(1),dataType:F().min(1)}),Gr=B({id:F().min(1),name:F().min(1),members:z(Wr),inputs:z(B({port:F().min(1),asset:F().min(1),member:F().min(1)}))}),Kr=B({state:Hr,metrics:q,templates:z(Ur),assetDetails:z(Gr),revision:I().int().nonnegative()}),qr=H(`authenticated`,[B({authenticated:W(!1)}),B({authenticated:W(!0),username:F().min(1),runtime:Kr,viewToken:F().min(1).optional()})]),Jr=B({assetId:F().min(1),memberName:F().min(1),value:V([I().finite(),F(),L()]),quality:G([`good`,`bad`,`uncertain`]),timestamp:I().finite().optional()}),Yr=H(`kind`,[B({kind:W(`fault:triggered`),assetId:F().min(1),fault:F().min(1),effects:U(F(),R())}),B({kind:W(`fault:cleared`),assetId:F().min(1),fault:F().min(1)}),B({kind:W(`lifecycle:changed`),assetId:F().min(1),from:F().min(1),to:F().min(1),operatingHours:I().finite().nonnegative()}),B({kind:W(`asset:maintenance`),assetId:F().min(1),from:F().min(1),to:F().min(1),operatingHours:I().finite().nonnegative(),reason:G([`manual`,`scheduled`])}),B({kind:W(`asset:created`),id:F().min(1),assetType:F().min(1),browsePath:z(F().min(1))}),B({kind:W(`asset:removed`),id:F().min(1)}),B({kind:G([`template:loaded`,`template:unloaded`]),templateId:F().min(1),assetCount:I().int().nonnegative()}),B({kind:W(`engine:state`),from:q.shape.core.shape.state,to:q.shape.core.shape.state}),B({kind:W(`engine:error`),context:F(),message:F(),fix:F().optional()}),B({kind:W(`adapter:enabled`),name:F().min(1),endpoint:F().min(1)}),B({kind:W(`adapter:disabled`),name:F().min(1)})]),Xr=B({core:B({memberValueCount:q.shape.core.shape.memberValueCount,quarantinedAssetCount:q.shape.core.shape.quarantinedAssetCount,engineErrorsCount:q.shape.core.shape.engineErrorsCount,tickOverrunsCount:q.shape.core.shape.tickOverrunsCount,circuitBreakerTripsCount:q.shape.core.shape.circuitBreakerTripsCount,uptimeMs:q.shape.core.shape.uptimeMs,actualTicksPerSecond:q.shape.core.shape.actualTicksPerSecond}),adapters:q.shape.adapters}),Zr=H(`type`,[B({type:W(`runtime:snapshot`),snapshot:Kr}),B({type:W(`runtime:tick`),revision:I().int().nonnegative(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),delta:z(Jr),assetCount:I().int().nonnegative(),lines:Hr.shape.lines.unwrap(),timeMultiplier:I().finite().positive(),metrics:Xr}),B({type:W(`runtime:event`),revision:I().int().nonnegative(),event:Yr}),B({type:W(`runtime:resync-required`),revision:I().int().nonnegative(),reason:F().min(1)})]),Qr=/^[A-Za-z0-9_-]+$/;function $r(e){let t=/^(.+)-(\d+)$/.exec(e);if(!t)return null;let n=t[1],r=t[2];if(!n||!r)return null;let i=Number(r);return!Number.isSafeInteger(i)||i<1?null:{prefix:n,counter:i}}function ei(e){let t=e.trim();if(t.length===0)return`Name is required.`;let n=t.split(`-`);if(n.some(e=>e.length===0))return`Use hyphen-delimited segments without empty parts.`;for(let e of n)if(!Qr.test(e))return`Use only letters, numbers, underscores, and hyphens.`;return null}function ti(e){let t=e.trim();return t.length===0?null:t.length>120?`Use at most 120 characters.`:ei(e)}var ni=class extends wr{column;constructor(e,t,n,r){super(`Invalid expression "${e}" at column ${t}: ${n}`,r),this.name=`ExpressionSyntaxError`,this.column=t}},ri={min:{min:2,max:1/0,usage:`min(a, b, ...) takes at least 2 arguments`},max:{min:2,max:1/0,usage:`max(a, b, ...) takes at least 2 arguments`},clamp:{min:3,max:3,usage:`clamp(x, lo, hi) takes exactly 3 arguments`},sqrt:{min:1,max:1,usage:`sqrt(x) takes exactly 1 argument`},pow:{min:2,max:2,usage:`pow(base, exponent) takes exactly 2 arguments`}},ii=[`param`,`port`,`prev`],ai=/[A-Za-z_]/,oi=/[A-Za-z0-9_]/,si=/[0-9]/,ci=new Set([`+`,`-`,`*`,`/`,`(`,`)`,`,`]);function li(e){return Object.hasOwn(ri,e)}function ui(e,t,n){let r=t;for(;r<e.length&&n.test(e.charAt(r));)r++;return r}function di(e){let t=[],n=0;for(;n<e.length;){let r=e.charAt(n),i=n+1;if(/\s/.test(r))n++;else if(si.test(r)||r===`.`&&si.test(e.charAt(n+1))){let r=ui(e,n,si);e.charAt(r)===`.`&&(r=ui(e,r+1,si)),t.push({type:`number`,value:Number(e.slice(n,r)),column:i}),n=r}else if(ai.test(r)){let r=ui(e,n,oi);t.push({type:`ident`,value:e.slice(n,r),column:i}),n=r}else if(r===`$`){let r=ui(e,n+1,oi),a=e.slice(n+1,r);if(!ii.includes(a))throw new ni(e,i,`unknown reference prefix "$${a}".`,`Use $param.NAME, $port.NAME or $prev.NAME, or a bare member name for the current tick.`);let o=r+1;if(e.charAt(r)!==`.`||!ai.test(e.charAt(o)))throw new ni(e,i,`"$${a}" must be followed by ".NAME".`,`Write $${a}.NAME with a name of letters, digits and underscores, e.g. $${a}.rated_rpm.`);let s=ui(e,o,oi);t.push({type:`ref`,prefix:a,value:e.slice(o,s),column:i}),n=s}else if(ci.has(r))t.push({type:`punct`,value:r,column:i}),n++;else throw new ni(e,i,`unexpected character "${r}".`,`Use only numbers, + - * /, parentheses, min/max/clamp/sqrt/pow, and references ($param.X, $port.X, $prev.X, or a member name).`)}return t.push({type:`end`,column:e.length+1}),t}var fi=class{pos=0;source;tokens;constructor(e,t){this.source=e,this.tokens=t}parse(){let e=this.parseExpr(),t=this.peek();if(t.type!==`end`)throw this.error(t,`unexpected ${pi(t)} after a complete expression.`,`Remove the trailing input, or join the parts with an operator (+ - * /).`);return e}peek(){return this.tokens[this.pos]}next(){let e=this.peek();return e.type!==`end`&&this.pos++,e}isPunct(e){let t=this.peek();return t.type===`punct`&&t.value===e}error(e,t,n){return new ni(this.source,e.column,t,n)}expect(e,t){let n=this.peek();if(n.type===`punct`&&n.value===e){this.pos++;return}throw this.error(n,`expected "${e}" but found ${pi(n)}.`,t)}parseExpr(){let e=this.parseTerm();for(;this.isPunct(`+`)||this.isPunct(`-`);)e={kind:`binary`,op:this.next().value,left:e,right:this.parseTerm()};return e}parseTerm(){let e=this.parseUnary();for(;this.isPunct(`*`)||this.isPunct(`/`);)e={kind:`binary`,op:this.next().value,left:e,right:this.parseUnary()};return e}parseUnary(){return this.isPunct(`-`)||this.isPunct(`+`)?{kind:`unary`,op:this.next().value,operand:this.parseUnary()}:this.parsePrimary()}parsePrimary(){let e=this.next();switch(e.type){case`number`:return{kind:`number`,value:e.value};case`ref`:return this.referenceNode(e.prefix,e.value);case`ident`:return this.isPunct(`(`)?this.parseCall(e):{kind:`member`,name:e.value};case`punct`:if(e.value===`(`){let e=this.parseExpr();return this.expect(`)`,`Add the missing closing parenthesis.`),e}throw this.error(e,`unexpected "${e.value}" where a value was expected.`,`Put a number, a reference, a function call or a parenthesized expression here.`);case`end`:throw this.error(e,`expression ended where a value was expected.`,`Complete the expression, e.g. remove the trailing operator.`);default:return e}}referenceNode(e,t){switch(e){case`param`:return{kind:`param`,name:t};case`port`:return{kind:`port`,name:t};default:return{kind:`previous`,name:t}}}parseCall(e){let t=e.value;if(!li(t))throw this.error(e,`unknown function "${t}".`,`Supported functions: ${Object.keys(ri).join(`, `)}. A member name cannot be followed by "(".`);this.next();let n=[this.parseExpr()];for(;this.isPunct(`,`);)this.next(),n.push(this.parseExpr());this.expect(`)`,`Close the ${t}(...) call with ")" and separate arguments with ",".`);let r=ri[t];if(n.length<r.min||n.length>r.max)throw this.error(e,`${t}() called with ${n.length} argument${n.length===1?``:`s`}.`,`${r.usage}.`);return{kind:`call`,fn:t,args:n}}};function pi(e){switch(e.type){case`number`:return`number ${e.value}`;case`ident`:return`name "${e.value}"`;case`ref`:return`reference "$${e.prefix}.${e.value}"`;case`punct`:return`"${e.value}"`;case`end`:return`end of expression`;default:return String(e)}}function mi(e){return new fi(e,di(e)).parse()}function hi(e){let t=new Set,n=new Set,r=new Set,i=new Set,a=e=>{switch(e.kind){case`number`:return;case`member`:t.add(e.name);return;case`previous`:n.add(e.name);return;case`param`:r.add(e.name);return;case`port`:i.add(e.name);return;case`unary`:a(e.operand);return;case`binary`:a(e.left),a(e.right);return;case`call`:for(let t of e.args)a(t);return;default:}};return a(e),{members:t,previousMembers:n,params:r,ports:i}}var gi=`%.ACH.A.Hz.L.L/h.L/min.L/s.N.Pa.V.bar.cfm.count.count/m3.degC.h.kN.kVA.kW.kWh.m.m/s.m3.m3/h.min.mm.mm/min.mm/s.ppm.pu.rpm.s.K.degF.g.kg.kg/h.t.t/h.kPa.mbar.psi.m/min.um.uS/cm.mS/cm.mg/L.W.MW.MWh.Nm`.split(`.`),_i=G(gi);new Set(gi);function vi(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yi(e){if(typeof e==`string`)return Ir.exec(e)?.[1]}function bi(e){try{let t=hi(mi(e)),n=[...t.members,...[...t.previousMembers].map(e=>`$prev.${e}`),...[...t.ports].map(e=>`$port.${e}`)];return n.length>0?`"${e}" references ${n.join(`, `)}, but coefficient fields are evaluated once per asset and may only use numbers and $param.X. Fix: use the "expression" generator for member, $prev or $port references, or replace them with $param.X.`:void 0}catch(e){if(e instanceof ni)return`${e.message} Fix: ${e.fix}`;throw e}}function xi(e,t,n){if(!vi(e)||e.type!==`weighted-sum`)return;let r=e.terms;if(Array.isArray(r))for(let e=0;e<r.length;e++){let i=r[e];vi(i)&&n(i,[...t,`terms`,e])}}function Si(e,t,n){if(!vi(e))return;let r=[...t,`member`],i=[...t,`previous_member`],a=[...t,`param`],o=[...t,`port`],s=[...t,`generator`];typeof e.member==`string`&&n.onMember?.(e.member,r),typeof e.previous_member==`string`&&n.onPreviousMember?.(e.previous_member,i),typeof e.param==`string`&&n.onParam?.(e.param,a),typeof e.port==`string`&&n.onPort?.(e.port,o),`generator`in e&&n.onGenerator?.(e.generator,s)}function Ci(e,t,n,r,i){return{onMember:e,onPreviousMember:t,onParam:n,onPort:r,onGenerator:i}}function wi(e,t,n,r,i,a,o){Si(e,t,Ci(n,r,i,a,o))}var Ti=`Must be 1-64 chars and contain only letters, numbers, underscores, or hyphens.`;G([`float`,`int`,`string`,`bool`]);var Ei=H(`type`,[B({type:W(`float`),default:I().finite(),min:I().finite().optional(),max:I().finite().optional(),unit:_i.optional()}),B({type:W(`int`),default:I().int().safe(),min:I().int().safe().optional(),max:I().int().safe().optional(),unit:_i.optional()}),B({type:W(`string`),default:F(),unit:_i.optional()}),B({type:W(`bool`),default:L(),unit:_i.optional()})]),Di=B({default:I().finite(),unit:_i.optional(),description:F().optional()}).strict(),Oi=V([B({member:F()}).strict(),B({previous_member:F()}).strict(),B({param:F()}).strict(),B({port:F()}).strict(),B({generator:ar(()=>oa)}).strict()]),ki=F().superRefine((e,t)=>{let n=bi(e);n!==void 0&&t.addIssue({code:y.custom,message:n})}),J=V([I(),ki]),Ai=V([I().finite(),ki]),ji={initial_value:J.default(0),gain:J.default(1),bias:J.default(0),min:I().nullable().default(null),max:I().nullable().default(null),input:Oi},Mi=B({type:W(`sine`),center:J,amplitude:I().positive(),period:I().positive()}).strict(),Ni=B({type:W(`random-walk`),min:I(),max:I(),step:I().positive()}).strict(),Pi=B({type:W(`noise`),center:J,stddev:I().positive()}).strict(),Fi=B({type:W(`step`),values:z(I()).min(1),interval:I().positive()}).strict(),Ii=B({type:W(`correlated`),source:F().regex(K,Ti),factor:Ai,offset:Ai,power:I().int().positive().optional()}).strict(),Li=B({from:F(),to:F(),rate_per_hour:I().finite().nonnegative().optional(),on:F().optional()}).strict(),Ri=B({type:W(`state-machine`),states:z(F()).min(1),initial:F(),transitions:z(Li).min(1)}).strict();function zi(e,t){let n=new Set(e.states);n.has(e.initial)||t.addIssue({code:y.custom,path:[`initial`],message:`State machine initial state "${e.initial}" is not in states. Fix: Set initial to one of: ${e.states.join(`, `)}.`});for(let r=0;r<e.transitions.length;r++){let i=e.transitions[r];i&&(n.has(i.from)||t.addIssue({code:y.custom,path:[`transitions`,r,`from`],message:`State machine transition from "${i.from}" references a state that is not in states. Fix: Add "${i.from}" to states or change transition.from to one of: ${e.states.join(`, `)}.`}),n.has(i.to)||t.addIssue({code:y.custom,path:[`transitions`,r,`to`],message:`State machine transition to "${i.to}" references a state that is not in states. Fix: Add "${i.to}" to states or change transition.to to one of: ${e.states.join(`, `)}.`}))}}Ri.superRefine(zi);var Bi=B({type:W(`ramp`),start_value:I().default(0),rate:I(),duration:I().nonnegative(),start_time:I().default(0),min:I().nullable().default(null),max:I().nullable().default(null)}).strict(),Vi=B({type:W(`mean-reverting-noise`),mean:J,tau:I().positive(),sigma:I().positive(),initial_value:I().optional(),min:I().nullable().default(null),max:I().nullable().default(null)}).strict(),Hi=B({time:I().nonnegative(),value:I()}),Ui=B({type:W(`timetable`),points:z(Hi).min(2),repeat:L().default(!1),interpolation:G([`linear`,`step`]).default(`linear`)}).strict(),Wi=B({type:W(`waveform`),shape:G([`sawtooth`,`triangle`,`square`,`pulse`]),center:J,amplitude:I().positive(),period:I().positive(),duty_cycle:I().min(0).max(1).default(.5)}).strict(),Gi=B({type:W(`chirp`),center:J,amplitude:I().positive(),start_freq_hz:I().positive(),end_freq_hz:I().positive(),sweep_duration:I().positive(),sweep:G([`linear`,`exponential`]).default(`linear`),repeat:L().default(!0)}).strict(),Ki=B({type:W(`impulse`),baseline:I().default(0),amplitude:I(),rate_per_hour:I().finite().nonnegative().optional(),interval:I().positive().optional(),decay:I().min(0).max(1).optional(),duration_s:I().finite().positive().default(1)}).strict();function qi(e,t){e.rate_per_hour===void 0&&e.interval===void 0&&t.addIssue({code:y.custom,path:[`rate_per_hour`],message:`Impulse generator requires either rate_per_hour or interval. Fix: Add rate_per_hour: 36 or interval: 60 (simulated seconds between triggers).`}),e.rate_per_hour!==void 0&&e.interval!==void 0&&t.addIssue({code:y.custom,path:[`interval`],message:`Impulse generator cannot have both rate_per_hour and interval. Fix: Remove one: use rate_per_hour for random triggers, or interval for periodic triggers.`})}Ki.superRefine(qi);var Ji=B({type:W(`first-order-lag`),tau:I().positive(),...ji}).strict(),Yi=B({type:W(`integrator`),initial_value:J.default(0),gain:J.default(1),bias_rate:I().default(0),min:I().default(-1/0),max:I().default(1/0),wrap:L().default(!1),wrap_at:I().nullable().default(null),input:Oi}).strict(),Xi=B({type:W(`transport-delay`),delay:V([I().nonnegative(),ki]),initial_value:I().optional(),interpolation:G([`linear`,`zoh`]).default(`linear`),input:Oi}).strict(),Zi=B({type:W(`slew-rate-limiter`),rate_up:I().positive(),rate_down:I().positive().optional(),initial_value:J.default(0),min:I().nullable().default(null),max:I().nullable().default(null),input:Oi}).strict(),Qi=B({type:W(`second-order`),natural_freq_hz:I().positive(),damping_ratio:I().positive(),initial_velocity:I().default(0),...ji,min:J.nullable().default(null),max:J.nullable().default(null)}).strict(),$i=B({type:W(`hysteresis-relay`),on_threshold:J,off_threshold:J,output_on:V([I(),F()]).default(1),output_off:V([I(),F()]).default(0),initial_state:G([`on`,`off`]).default(`off`),mode:G([`rising`,`falling`]).default(`rising`),input:Oi}).strict(),ea=B({weight:J.default(1),input:Oi}),ta=B({type:W(`weighted-sum`),bias:J.default(0),terms:z(ea).min(1),min:J.nullable().default(null),max:J.nullable().default(null)}).strict(),na=B({type:W(`expression`),expression:F().min(1),min:J.nullable().default(null),max:J.nullable().default(null)}).strict();function ra(e,t){try{mi(e.expression)}catch(e){if(!(e instanceof ni))throw e;t.addIssue({code:y.custom,path:[`expression`],message:`${e.message} Fix: ${e.fix}`})}}var ia=B({type:W(`gate`),enabled_member:F().regex(K,Ti),input:Oi,disabled_value:V([I(),F(),L()])}).strict(),aa=H(`type`,[Mi,Ni,Pi,Fi,Ii,Ri,Bi,Vi,Ui,Wi,Gi,Ki]).superRefine((e,t)=>{e.type===`state-machine`&&zi(e,t),e.type===`impulse`&&qi(e,t)}),oa=H(`type`,[Mi,Ni,Pi,Fi,Ii,Ri,Bi,Vi,Ui,Wi,Gi,Ki,B({type:W(`health-dependent`),stages:U(F(),aa)}).strict(),Ji,Yi,Xi,Zi,Qi,$i,ta,na,ia]).superRefine((e,t)=>{e.type===`state-machine`&&zi(e,t),e.type===`impulse`&&qi(e,t),e.type===`expression`&&ra(e,t)}),sa=B({multiplier:I().finite().optional(),offset:I().finite().optional()}).strict(),ca=B({scrap_rate_add:I().finite().nonnegative().optional(),name:F().min(1),duration_hours:tr([I().nonnegative(),I().nonnegative()]).refine(([e,t])=>e<=t,{message:`duration_hours max must be greater than or equal to min.`}),effects:U(F(),sa)}),la=B({interval_hours:I().finite().positive(),restores_to:F().optional()}).strict(),ua=B({running_member:F().optional(),hours_member:F().optional(),stages:z(ca).min(1),maintenance:la.optional()}).superRefine((e,t)=>{let n=new Set;for(let r=0;r<e.stages.length;r++){let i=e.stages[r];i&&(n.has(i.name)&&t.addIssue({code:y.custom,path:[`stages`,r,`name`],message:`Lifecycle stage names must be unique. Duplicate "${i.name}". Fix: Rename one stage so each lifecycle stage has a unique name.`}),n.add(i.name))}let r=e.maintenance?.restores_to;r!==void 0&&!n.has(r)&&t.addIssue({code:y.custom,path:[`maintenance`,`restores_to`],message:`Lifecycle maintenance restores_to "${r}" is not a lifecycle stage. Fix: use one of [${[...n].join(`, `)}].`})}),da=B({multiplier:I().finite().optional(),offset:I().finite().optional(),spike:I().finite().optional(),quality:G([`uncertain`,`bad`]).optional(),duration_s:I().finite().positive().optional(),onset_s:I().finite().positive().optional(),recovery_s:I().finite().positive().optional()}).strict(),fa=B({condition:F().optional(),lifecycle_stage:F().optional(),rate_per_hour:I().finite().nonnegative()}).strict(),pa=B({duration_s:I().finite().positive(),effects:U(F(),B({multiplier:I().finite().optional(),offset:I().finite().optional()}).strict()).refine(e=>Object.keys(e).length>0,{message:`Precursor effects must target at least one member.`})}).strict(),ma=B({production_effect:V([W(`stop`),B({derate:I().finite().positive().max(1)}).strict(),B({scrap:I().finite().min(0).max(1)}).strict()]).optional(),name:F().regex(K,Ti),trigger:fa,effects:U(F(),V([da,F()])),precursor:pa.optional()}).strict(),Y=`Must be 1-64 chars and contain only letters, numbers, underscores, or hyphens.`,X=G([`mqtt`,`opcua`,`modbus`]),ha=z(X).min(1),ga=B({asset:F().regex(K,Y),member:F().regex(K,Y)}).strict(),_a=B({model:F().min(1),id:F().regex(K,Y).optional(),count:I().int().positive().default(1),variation:I().min(0).max(1).default(0),parameters:U(F(),I().finite()).optional(),inputs:U(F().regex(K,Y),ga).optional(),starting_hours:I().finite().nonnegative().optional(),maintenance:la.optional(),protocol_scope:ha.optional()}).strict(),va=B({asset:F().min(1),ideal_cycle_s:I().finite().positive(),scrap_rate:I().finite().min(0).max(1).default(0),cycle_cv:I().finite().min(0).max(.5).default(.02),minor_stops:B({rate_per_hour:I().finite().positive(),mean_s:I().finite().positive()}).strict().optional(),buffer_after:B({capacity:I().int().positive(),initial:I().int().nonnegative().default(0)}).strict().refine(e=>e.initial<=e.capacity,`Reduce initial to buffer capacity.`).optional()}).strict(),ya=B({source:W(`unlimited`),stations:z(va).min(1)}).strict(),ba=G([`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`]),xa=F().regex(/^([01]\d|2[0-3]):[0-5]\d$/,`Use HH:MM (00:00–23:59).`),Sa=B({start:F().regex(/^(mon|tue|wed|thu|fri|sat|sun) ([01]\d|2[0-3]):[0-5]\d$/,`Use <day> HH:MM, e.g. mon 06:00.`).default(`mon 06:00`),timezone_offset_h:I().finite().min(-14).max(14).default(0),pattern:z(B({days:z(ba).min(1),start:xa,end:xa,breaks:z(B({start:xa,minutes:I().finite().positive()}).strict()).default([])}).strict()).min(1),changeovers:z(B({every_parts:I().int().positive(),minutes:I().finite().positive(),station:F().min(1),resets:z(F().min(1)).optional()}).strict()).default([])}).strict(),Ca=B({name:F().regex(K,Y),assets:z(_a).min(1),flow:ya.optional(),protocol_scope:ha.optional()}).strict(),wa=B({name:F().regex(K,Y),lines:z(Ca).min(1),protocol_scope:ha.optional()}).strict(),Ta=V([B({enterprise:F().regex(K,Y),site:F().regex(K,Y)}).strict(),B({prefix:F().regex(K,Y)}).strict()]),Ea=B({maxAttempts:I().finite().int().min(0).default(0),initialDelayMs:I().finite().int().positive().default(1e3),maxDelayMs:I().finite().int().positive().default(3e4)}).strict(),Da=B({enabled:L().default(!1),deadband:I().finite().nonnegative().default(0)}).strict(),Oa=G([`base`,`full`]),ka=B({embedded:L().default(!0),port:I().int().min(0).max(65535).default(1883),host:F().default(`127.0.0.1`),external:F().optional(),retain:L().default(!0),username:F().optional(),password:F().optional(),reconnect:Ea.optional(),rbe:Da.optional(),metadata:Oa.default(`base`),payload:G([`envelope`,`plain`]).default(`envelope`),drain_budget:I().int().min(512).max(65536).optional(),batch_size:I().int().min(64).max(16384).optional(),broker_concurrency:I().int().min(10).max(5e3).optional()});function Aa(e){return e.refine(e=>!(e.embedded&&e.external),{message:`Cannot use both 'embedded: true' and 'external' URL. Set 'embedded: false' when using an external broker.`}).refine(e=>!e.password||e.username,{message:`Cannot set 'password' without 'username'.`})}Aa(ka);var ja=B({port:I().int().min(0).max(65535).default(Dr),host:F().default(`127.0.0.1`),security:G([`none`]).default(`none`),buildInfo:B({productName:F().default(`Miravo`)}).strict().optional(),write_budget:I().int().min(512).max(65536).optional()}).strict(),Ma=B({port:I().int().min(0).max(65535).default(Or),host:F().default(`127.0.0.1`)}).strict(),Na=B({mqtt:Aa(ka.strict()).optional(),opcua:ja.optional(),modbus:Ma.optional()}).strict(),Pa=B({max_members_per_model:I().int().positive().max(Fr).default(Nr),max_asset_count:I().int().positive().max(Pr).default(Mr)}).strict(),Fa=B({tick_interval_ms:I().int().min(10).default(1e3),max_step_s:I().finite().positive().default(1),max_substeps:I().int().min(1).default(60),time_multiplier:I().positive().max(1e3).default(1),random_faults:L().default(!0),seed:I().int().optional(),overrun_threshold_multiplier:I().min(1).max(10).optional(),limits:Pa.optional()}).strict();B({kind:W(`MiravoTemplate`),version:W(`1`),name:F().min(1),description:F().optional(),namespace:Ta.optional(),areas:z(wa).min(1),protocols:Na.optional(),shifts:Sa.optional(),settings:Fa.optional()}).strict().superRefine((e,t)=>{let n=new Set,r=new Set;e.areas.forEach((e,i)=>{e.lines.forEach((e,a)=>{let o=[`areas`,i,`lines`,a];e.assets.forEach((e,r)=>{e.id&&(e.count!==1||n.has(e.id))&&t.addIssue({code:y.custom,path:[...o,`assets`,r],message:`Assignment id '${e.id}' must be unique with count: 1. Fix: use a unique id and count: 1.`}),e.id&&n.add(e.id)});let s=e.flow;(s?.stations??[]).forEach((n,i)=>{let a=[...o,`flow`,`stations`,i],c=e.assets.find(e=>e.id===n.asset);(!c||c.count!==1||r.has(n.asset))&&t.addIssue({code:y.custom,path:[...a,`asset`],message:`Invalid station '${n.asset}'. Fix: reference a unique assignment id with count: 1 in this same line.`}),r.add(n.asset),s&&i<s.stations.length-1&&!n.buffer_after&&t.addIssue({code:y.custom,path:a,message:`Station '${n.asset}' needs buffer_after. Fix: add buffer_after: { capacity: 1 }.`})})})});for(let n of e.shifts?.changeovers??[])r.has(n.station)||t.addIssue({code:y.custom,message:`Unknown changeover station '${n.station}'. Fix: reference a flow station id.`});let i=e.settings?.limits?.max_asset_count??1e4;for(let n=0;n<e.areas.length;n++){let r=e.areas[n];if(r)for(let e=0;e<r.lines.length;e++){let a=r.lines[e];if(a)for(let r=0;r<a.assets.length;r++){let o=a.assets[r];!o||o.count<=i||t.addIssue({code:y.custom,path:[`areas`,n,`lines`,e,`assets`,r,`count`],message:`Asset assignment count must be at most ${i}. Fix: reduce count or set settings.limits.max_asset_count higher.`})}}}});var Ia=1e3,Z=B({correlationId:F().optional()}),La=F().trim().min(1).superRefine((e,t)=>{let n=ti(e);n&&t.addIssue({code:y.custom,message:n})}),Ra=Z.extend({type:W(`spawn`),model:F().min(1),count:I().int().positive().max(Mr),assetName:La.optional(),assetPrefix:La.optional(),protocolScope:ha.optional(),dryRun:L().optional()}),za=Z.extend({type:W(`removeAsset`),assetId:F().min(1)}),Ba=Z.extend({type:W(`setParameter`),assetId:F().min(1),parameter:F().min(1),value:I().finite()}),Va=Z.extend({type:W(`triggerFault`),assetId:F().min(1),fault:F().min(1)}),Ha=Z.extend({type:W(`clearFault`),assetId:F().min(1),fault:F().min(1)}),Ua=Z.extend({type:W(`pause`)}),Wa=Z.extend({type:W(`resume`)}),Ga=Z.extend({type:W(`setSpeed`),multiplier:I().positive().finite().max(Ia)}),Ka=Z.extend({type:W(`unquarantine`),assetId:F().min(1)}),qa=Z.extend({type:W(`invokeMethod`),assetId:F().min(1),method:F().min(1),arguments:U(F().min(1),V([I().finite(),F(),L()])).optional()}),Ja=Z.extend({type:W(`loadTemplate`),templatePath:F().min(1)}),Ya=Z.extend({type:W(`unloadTemplate`),templateId:F().min(1)}),Xa=Z.extend({type:W(`resetFactory`)}),Za=Z.extend({type:W(`enableAdapter`),adapter:F().min(1),config:U(F(),R()).optional()}),Qa=Z.extend({type:W(`disableAdapter`),adapter:F().min(1)}),$a=H(`type`,[Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,qa,Ja,Ya,Xa,Za,Qa]),eo=B({success:L(),command:F(),correlationId:F().optional(),message:F(),data:R().optional(),error:F().optional()}),to=`/api`,no=V([I().finite(),F(),L()]),ro=tr([I().finite(),I().finite()]),io=B({name:F().min(1),dataType:F().min(1),description:F().nullable()}),ao=B({description:F().nullable(),inputArguments:z(io),outputArguments:z(io)}),oo=B({id:F().min(1),assetType:F().min(1),browsePath:z(F().min(1)),lifecycleStage:F().min(1),operatingHours:I().finite().nonnegative(),activeFaults:z(F().min(1)),isQuarantined:L(),parameters:U(F().min(1),B({value:no,type:F().min(1),unit:F().optional()})),inputs:U(F().min(1),B({value:I().finite(),default:I().finite(),unit:F().optional(),binding:B({asset:F().min(1),member:F().min(1)}).nullable()})),members:U(F().min(1),B({value:no,quality:G([`good`,`bad`,`uncertain`]),timestamp:I().finite(),meta:B({kind:F().min(1),dataType:F().min(1),access:F().min(1),unit:F().nullable(),euRange:ro.nullable()})})),methods:U(F().min(1),ao)}),so=B({name:F().min(1),description:F().nullable(),memberCount:I().int().nonnegative(),methodCount:I().int().nonnegative(),faultCount:I().int().nonnegative(),hasLifecycle:L(),lifecycleStageCount:I().int().nonnegative(),source:F().min(1)}),co=B({model:F().min(1),count:I().int().nonnegative(),variation:I().finite().nonnegative(),parameters:U(F().min(1),I().finite()).optional(),protocol_scope:z(X).optional()}),lo=B({name:F().min(1),assets:z(co),protocol_scope:z(X).optional()}),uo=B({name:F().min(1),lines:z(lo),protocol_scope:z(X).optional()}),fo=B({id:F().min(1),name:F().min(1),description:F().nullable(),category:F().min(1),models:z(F().min(1)),assetCount:I().int().nonnegative(),memberCount:I().int().nonnegative(),source:F().min(1)}),po=fo,mo=fo.extend({topology:z(uo),namespace:B({enterprise:F().min(1).optional(),site:F().min(1).optional(),prefix:F().min(1).optional()}).optional(),settings:B({tickIntervalMs:I().int().positive().optional(),timeMultiplier:I().finite().positive().optional(),limits:B({maxMembersPerModel:I().int().positive().optional(),maxAssetCount:I().int().positive().optional()}).optional()}).optional()}),ho=G([`idle`,`running`,`paused`,`stopped`]),go=B({events:z(H(`type`,[B({id:I().int().nonnegative(),type:W(`fault:triggered`),assetId:F().min(1),fault:F().min(1),effects:U(F(),R()),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`fault:cleared`),assetId:F().min(1),fault:F().min(1),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`lifecycle:changed`),assetId:F().min(1),from:F().min(1),to:F().min(1),operatingHours:I().finite().nonnegative(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`asset:maintenance`),assetId:F().min(1),from:F().min(1),to:F().min(1),operatingHours:I().finite().nonnegative(),reason:G([`manual`,`scheduled`]),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`asset:created`),assetId:F().min(1),assetType:F().min(1),browsePath:z(F().min(1)),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`asset:removed`),assetId:F().min(1),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:G([`template:loaded`,`template:unloaded`]),templateId:F().min(1),assetCount:I().int().nonnegative(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`engine:state-changed`),from:ho,to:ho,tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`engine:error`),context:F(),message:F(),fix:F().optional(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`integration:resource`),operationId:F().min(1),operationType:G([`apply`,`cleanup`]),templateId:F().min(1),targetLabel:F().min(1),hostname:F().min(1),phase:F().min(1),resourceType:F().min(1),resourceName:F().min(1),action:F().min(1),status:G([`success`,`failed`]),error:F().optional(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`integration:operation`),operationId:F().min(1),operationType:G([`apply`,`cleanup`]),templateId:F().min(1),targetLabel:F().min(1),hostname:F().min(1),applied:I().int().nonnegative(),failed:I().int().nonnegative(),duration:I().int().nonnegative(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()})])),nextCursor:I().int().nonnegative().nullable(),hasMore:L()}),_o=`litmus-edge`,vo=U(X,Lr),yo=B({id:F().min(1),integrationId:F().min(1),label:F().min(1),hostname:F().min(1),apiTokenSet:L(),sourceHostname:F().min(1),exposedPorts:vo.optional(),lastUsedAt:I().int().nonnegative().optional()}).strict(),bo=B({targets:z(yo)}).strict(),xo=B({integrationId:F().min(1).default(_o),label:F().min(1),hostname:F().min(1),apiToken:F().min(1),sourceHostname:F().min(1)}),So=B({integrationId:F().min(1).optional(),label:F().min(1).optional(),hostname:F().min(1).optional(),apiToken:F().min(1).optional(),sourceHostname:F().min(1).optional()}),Co=B({targetId:F().min(1).optional(),hostname:F().min(1),apiToken:F().min(1).optional(),sourceHostname:F().min(1)}).superRefine((e,t)=>{!e.targetId&&!e.apiToken&&t.addIssue({code:y.custom,message:`apiToken is required when targetId is omitted.`,path:[`apiToken`]})}),wo=H(`connected`,[B({connected:W(!0),hostname:F().min(1),sourceHostname:F().min(1),litmusEdgeVersion:F().min(1).optional(),warning:F().min(1).optional()}),B({connected:W(!1),error:F().min(1)})]),To=G([`devices`,`models`,`assets`]),Eo=G([`create`,`update`,`replace`,`delete`,`noop`,`blocked`]),Do=G([`device`,`model`,`asset`,`param-sync`]),Oo=G([`apply`,`cleanup`]),ko=G([`success`,`partial`,`blocked`,`noop`,`failed`]);G([`device`,`model`,`asset`,`param-sync`]),G([`create`,`update`,`replace`,`delete`]);var Ao=B({area:F().min(1).optional(),line:F().min(1).optional(),asset:F().min(1).optional()}),jo=B({action:Eo,resourceType:Do,name:F().min(1),resourceId:F().min(1).optional(),protocol:X.optional(),endpoint:F().min(1).optional(),detail:F().min(1).optional(),blockReason:F().min(1).optional()}),Mo=B({sourceMode:G([`static`,`managed`]),targetHost:F().min(1),sourceHostname:F().min(1).optional(),scope:z(To),filters:Ao,entries:z(jo)}),No=B({plan:Mo}),Po=`Provide exactly one of 'templateId' (a running template) or 'assetId' (a running standalone asset).`;function Fo(e,t){let n=(e,n)=>{if(e.code===`unrecognized_keys`&&e.keys.some(e=>e===`templateId`||e===`assetId`))return{message:t};if(e.code!==`invalid_union`)return{message:n.defaultError};let r=n.data,i=typeof r==`object`&&r?r:{},a=`templateId`in i;return a===`assetId`in i?{message:t}:{message:e.unionErrors[+!a]?.issues.map(e=>e.message).join(`; `)??t}};return V([B({...e,templateId:F().min(1)},{errorMap:n}).strict(),B({...e,assetId:F().min(1)},{errorMap:n}).strict()],{errorMap:n})}var Io=Fo({targetId:F().min(1),protocol:X.optional(),scope:z(To).optional(),ifUnmanaged:G([`fail`,`skip`]).optional(),exposedPorts:vo.optional()},Po),Lo=B({plan:Mo,applied:I().int().nonnegative(),failed:I().int().nonnegative(),error:F().min(1).optional()}),Ro=G([`this`,`all`]),zo=Fo({targetId:F().min(1),scope:z(To).optional(),instances:Ro.optional()},`Provide exactly one of 'templateId' or 'assetId'.`),Bo=B({plan:Mo,deleted:I().int().nonnegative(),failed:I().int().nonnegative(),error:F().min(1).optional()}),Vo=B({create:I().int().nonnegative(),update:I().int().nonnegative(),replace:I().int().nonnegative(),delete:I().int().nonnegative(),noop:I().int().nonnegative(),failed:I().int().nonnegative(),total:I().int().nonnegative()}),Ho=B({device:Vo,model:Vo,asset:Vo,"param-sync":Vo}),Uo=B({operations:z(B({schemaVersion:W(1),operationId:F().min(1),operationType:Oo,status:ko,factoryName:F().min(1),templateId:F().min(1).optional(),assetId:F().min(1).optional(),targetId:F().min(1),targetLabel:F().min(1),hostname:F().min(1),scope:z(F().min(1)),instances:Ro.optional(),successCount:I().int().nonnegative(),failedCount:I().int().nonnegative(),blockedCount:I().int().nonnegative(),startedAt:I().int().nonnegative(),completedAt:I().int().nonnegative(),durationMs:I().int().nonnegative(),resourceCounts:Ho,error:F().min(1).optional()}).refine(e=>e.templateId===void 0!=(e.assetId===void 0),{message:`An operation record names exactly one of 'templateId' or 'assetId'.`})),total:I().int().nonnegative(),hasMore:L()}),Wo=B({type:Oo.optional(),targetId:F().min(1).optional(),templateId:F().min(1).optional(),assetId:F().min(1).optional(),limit:gr.number().int().positive().max(500).optional(),offset:gr.number().int().nonnegative().optional()}),Go=B({cancelled:W(!0)}),Ko=B({operationId:F().min(1),type:Oo,templateId:F().min(1).optional(),assetId:F().min(1).optional(),targetLabel:F().min(1),totalPlanned:I().int().nonnegative(),attempt:I().int().positive().optional(),maxAttempts:I().int().positive().optional()}),qo=B({operationId:F().min(1),type:Oo,targetId:F().min(1).optional(),templateId:F().min(1).optional(),assetId:F().min(1).optional()}),Jo=B({operationId:F().min(1),phase:Do,total:I().int().nonnegative()}),Yo=B({operationId:F().min(1),phase:Do,name:F().min(1),action:Eo,status:G([`success`,`failed`]),error:F().min(1).optional(),index:I().int().positive(),of:I().int().positive()}),Xo=B({operationId:F().min(1),applied:I().int().nonnegative().optional(),deleted:I().int().nonnegative().optional(),failed:I().int().nonnegative(),duration:I().int().nonnegative(),plan:Mo}),Zo=Xo,Qo=Xo,$o=B({operationId:F().min(1),attempt:I().int().positive(),maxAttempts:I().int().positive(),delayMs:I().int().nonnegative(),error:F().min(1)}),es=B({message:F().min(1)}),ts=B({level:G([`info`,`warn`,`error`]),message:F().min(1),protocol:X.optional(),port:Lr.optional(),templatePort:Lr.optional()}),ns=H(`event`,[B({event:W(`log`),data:ts}),B({event:W(`started`),data:Ko}),B({event:W(`accepted`),data:qo}),B({event:W(`phase`),data:Jo}),B({event:W(`resource`),data:Yo}),B({event:W(`complete`),data:Zo}),B({event:W(`cancelled`),data:Qo}),B({event:W(`retrying`),data:$o}),B({event:W(`error`),data:es})]),rs=B({enabled:L(),port:I().int().positive().optional()}),is=B({asset:F().min(1),browsePath:F(),member:F().min(1),model:F().min(1),dataType:F().min(1),unit:F().optional(),euRange:tr([I().finite(),I().finite()]).optional(),access:F().min(1),kind:G([`variable`,`property`]),protocols:U(F(),U(F(),R()))}),as=B({template:F().min(1).optional(),generatedAt:F().datetime(),protocols:U(F(),rs),tags:z(is),summary:B({totalTags:I().int().nonnegative(),totalAssets:I().int().nonnegative(),enabledProtocols:z(F().min(1))})}),os=B({name:F().min(1),description:F().nullable(),parameters:U(F().min(1),B({type:F().min(1),default:no,unit:F().optional()})),inputs:U(F().min(1),B({default:I().finite(),unit:F().optional(),description:F().optional()})).optional(),members:U(F().min(1),B({kind:F().min(1),dataType:F().min(1),access:F().min(1),unit:F().nullable(),euRange:ro.nullable(),default:no.nullable()})),methods:U(F().min(1),ao),faults:z(F().min(1)),lifecycle:B({stages:z(F().min(1)),totalHours:I().finite().nonnegative()}).nullable()}),ss=B({status:G([`ok`,`fail`]),factoryState:q.shape.core.shape.state,tickCount:I().int().nonnegative(),mqttEnabled:L(),mqttConnected:L().nullable(),opcuaEnabled:L(),opcuaConnected:L().nullable(),modbusEnabled:L(),modbusConnected:L().nullable(),stalled:L(),reason:F().optional(),factoryName:F().min(1).optional(),processId:F().min(1).optional()}),cs=B({reason:F().min(1).optional()}),ls=B({status:W(`shutting_down`)}),us=B({id:F().min(1)}),ds=B({name:F().min(1)}),fs=B({id:F().min(1)}),ps=B({operationId:F().min(1)}),ms=B({id:F().min(1)}),hs=B({type:G([`fault:triggered`,`fault:cleared`,`lifecycle:changed`,`asset:maintenance`,`asset:created`,`asset:removed`,`template:loaded`,`template:unloaded`,`engine:state-changed`,`engine:error`,`integration:resource`,`integration:operation`]).optional(),assetId:F().min(1).optional(),limit:gr.number().int().positive().max(1e3).optional(),cursor:gr.number().int().nonnegative().optional()}),gs=gr.number().int().min(1).max(Ar).optional(),_s=B({host:F().min(1),protocol:X.optional(),modbusPort:gs,opcuaPort:gs,mqttPort:gs}),vs=U(F(),R()),ys=U(F(),R());function Q(e){return`${to}${e}`}var bs=[{method:`GET`,path:Q(`/openapi.json`),operationId:`openApiDocument`,auth:`none`,response:{kind:`json`,schema:ys},description:`Generated OpenAPI document for the Miravo admin API.`},{method:`GET`,path:Q(`/healthz`),operationId:`health`,auth:`none`,response:{kind:`json`,schema:ss},description:`Liveness probe for the Miravo admin server.`},{method:`GET`,path:Q(`/readyz`),operationId:`readiness`,auth:`none`,response:{kind:`json`,schema:ss},description:`Readiness probe for the Miravo admin server.`},{method:`GET`,path:Q(`/metrics`),operationId:`metrics`,auth:`required`,response:{kind:`json`,schema:q},description:`Engine metrics snapshot.`},{method:`GET`,path:Q(`/state`),operationId:`state`,auth:`required`,response:{kind:`json`,schema:Hr},description:`Engine state snapshot.`},{method:`GET`,path:Q(`/bootstrap`),operationId:`bootstrap`,auth:`none`,response:{kind:`json`,schema:qr},description:`Console bootstrap payload.`},{method:`POST`,path:Q(`/commands`),operationId:`commands`,auth:`required`,body:$a,response:{kind:`json`,schema:eo},description:`Execute an engine command.`},{method:`POST`,path:Q(`/shutdown`),operationId:`shutdown`,auth:`required`,body:cs,response:{kind:`json`,schema:ls},description:`Request graceful shutdown.`},{method:`GET`,path:Q(`/assets/:id`),operationId:`assetDetail`,auth:`required`,params:us,response:{kind:`json`,schema:oo},description:`Inspect a running asset.`},{method:`GET`,path:Q(`/models/:name`),operationId:`modelDetail`,auth:`required`,params:ds,response:{kind:`json`,schema:os},description:`Inspect a registered model schema.`},{method:`GET`,path:Q(`/events`),operationId:`events`,auth:`required`,query:hs,response:{kind:`json`,schema:go},description:`Read paginated event log entries.`},{method:`GET`,path:Q(`/catalog/models`),operationId:`catalogModels`,auth:`required`,response:{kind:`json`,schema:z(so)},description:`List catalog models.`},{method:`GET`,path:Q(`/catalog/models/:name/le-dt.json`),operationId:`catalogModelLeDt`,auth:`required`,params:ds,response:{kind:`json`,schema:vs},description:`Download LE Digital Twin JSON for a catalog model.`},{method:`GET`,path:Q(`/catalog/models/:name/yaml`),operationId:`catalogModelYaml`,auth:`required`,params:ds,response:{kind:`yaml`},description:`Read raw YAML for a catalog model.`},{method:`GET`,path:Q(`/catalog/models/:name`),operationId:`catalogModelDetail`,auth:`required`,params:ds,response:{kind:`json`,schema:os},description:`Read catalog model schema.`},{method:`GET`,path:Q(`/catalog/templates/:id/le-template.json`),operationId:`catalogTemplateLeTemplateJson`,auth:`required`,params:fs,query:_s,response:{kind:`passthrough`},description:`Download LE template JSON export.`},{method:`GET`,path:Q(`/catalog/templates/:id/le-tags.csv`),operationId:`catalogTemplateLeTagsCsv`,auth:`required`,params:fs,query:_s,response:{kind:`passthrough`},description:`Download LE tags CSV export.`},{method:`GET`,path:Q(`/catalog/templates/:id/yaml`),operationId:`catalogTemplateYaml`,auth:`required`,params:fs,response:{kind:`yaml`},description:`Read raw YAML for a catalog template.`},{method:`GET`,path:Q(`/catalog/templates/:id`),operationId:`catalogTemplateDetail`,auth:`required`,params:fs,response:{kind:`json`,schema:mo},description:`Read catalog template detail.`},{method:`GET`,path:Q(`/catalog/templates`),operationId:`catalogTemplates`,auth:`required`,response:{kind:`json`,schema:z(po)},description:`List catalog templates.`},{method:`GET`,path:Q(`/templates`),operationId:`templates`,auth:`required`,response:{kind:`json`,schema:z(Ur)},description:`List templates loaded into the factory.`},{method:`GET`,path:Q(`/manifest`),operationId:`manifest`,auth:`required`,response:{kind:`json`,schema:as},description:`Read unified protocol manifest.`},{method:`POST`,path:Q(`/auth/login`),operationId:`authLogin`,auth:`none`,body:yr,response:{kind:`json`,schema:br},description:`Authenticate and create an admin session.`},{method:`POST`,path:Q(`/auth/logout`),operationId:`authLogout`,auth:`none`,response:{kind:`json`,schema:Sr},description:`Destroy the current admin session.`},{method:`PUT`,path:Q(`/auth/password`),operationId:`authPassword`,auth:`required`,body:xr,response:{kind:`json`,schema:Sr},description:`Change the admin password.`},{method:`GET`,path:Q(`/auth/status`),operationId:`authStatus`,auth:`none`,response:{kind:`json`,schema:Cr},description:`Check the current auth status.`},{method:`GET`,path:Q(`/ws`),operationId:`runtimeWebSocket`,auth:`required`,response:{kind:`passthrough`},description:`Upgrade to the runtime WebSocket stream.`},{method:`GET`,path:Q(`/integrations/le/operations`),operationId:`integrationOperations`,auth:`required`,query:Wo,response:{kind:`json`,schema:Uo},description:`List persisted integration operation summaries, optionally for one template or asset.`},{method:`GET`,path:Q(`/integrations/le/targets`),operationId:`integrationTargets`,auth:`required`,response:{kind:`json`,schema:bo},description:`List saved LE targets.`},{method:`POST`,path:Q(`/integrations/le/targets`),operationId:`integrationTargetCreate`,auth:`required`,body:xo,response:{kind:`json`,schema:yo},description:`Create an LE target.`},{method:`POST`,path:Q(`/integrations/le/targets/test`),operationId:`integrationConnectionTest`,auth:`required`,body:Co,response:{kind:`json`,schema:wo},description:`Test LE target connectivity.`},{method:`GET`,path:Q(`/integrations/le/targets/:id`),operationId:`integrationTargetDetail`,auth:`required`,params:ms,response:{kind:`json`,schema:yo},description:`Read one LE target.`},{method:`PUT`,path:Q(`/integrations/le/targets/:id`),operationId:`integrationTargetById`,auth:`required`,params:ms,body:So,response:{kind:`json`,schema:yo},description:`Update one LE target.`},{method:`DELETE`,path:Q(`/integrations/le/targets/:id`),operationId:`integrationTargetDelete`,auth:`required`,params:ms,response:{kind:`json`,schema:B({message:F().min(1)})},description:`Delete one LE target.`},{method:`POST`,path:Q(`/integrations/le/plan`),operationId:`integrationPlan`,auth:`required`,body:Io,response:{kind:`json`,schema:No},description:`Preview applying a running template or standalone asset to an LE target.`},{method:`POST`,path:Q(`/integrations/le/apply`),operationId:`integrationApply`,auth:`required`,body:Io,response:{kind:`json`,schema:Lo},additionalSuccessResponses:{207:Lo},description:`Apply a running template or standalone asset to an LE target.`},{method:`POST`,path:Q(`/integrations/le/cleanup/plan`),operationId:`integrationCleanupPlan`,auth:`required`,body:zo,response:{kind:`json`,schema:No},description:`Preview removing what a template or standalone asset of this factory applied to an LE target.`},{method:`POST`,path:Q(`/integrations/le/cleanup`),operationId:`integrationCleanup`,auth:`required`,body:zo,response:{kind:`json`,schema:Bo},additionalSuccessResponses:{207:Bo},description:`Remove what a template or standalone asset of this factory applied to an LE target.`},{method:`POST`,path:Q(`/integrations/le/operations/:operationId/cancel`),operationId:`integrationOperationCancel`,auth:`required`,params:ps,response:{kind:`json`,schema:Go},description:`Cancel an in-flight streaming LE operation.`},{method:`POST`,path:Q(`/integrations/le/apply/stream`),operationId:`integrationApplyStream`,auth:`required`,body:Io,response:{kind:`passthrough`},description:`Stream LE apply progress over SSE.`},{method:`POST`,path:Q(`/integrations/le/cleanup/stream`),operationId:`integrationCleanupStream`,auth:`required`,body:zo,response:{kind:`passthrough`},description:`Stream LE cleanup progress over SSE.`}],xs=B({code:G([`UNAUTHORIZED`,`NOT_FOUND`,`INVALID_REQUEST`,`INTERNAL_ERROR`]),message:F(),hint:F().optional()}),Ss={UNAUTHORIZED:401,NOT_FOUND:404,INVALID_REQUEST:400,INTERNAL_ERROR:500},Cs=class extends Error{code;status;hint;constructor(e){super(e.message),this.name=`ApiError`,this.code=e.code,this.status=e.status??Ss[e.code],this.hint=e.hint}static is(e){return e instanceof Error&&e.name===`ApiError`}};function ws(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Ts(e,t){return e?._def?.typeName===t}function Es(e,t){let n=e.ZodType.prototype[t];e.ZodType.prototype[t]=function(...e){let t=n.apply(this,e);return t._def.openapi=this._def.openapi,t}}function Ds(e){if(e.ZodType.prototype.openapi!==void 0)return;e.ZodType.prototype.openapi=function(e,t){let n=(typeof e==`string`?t:e)??{},{param:r}=n,i=ws(n,[`param`]),a=Object.assign(Object.assign({},this._def.openapi?._internal),typeof e==`string`?{refId:e}:void 0),o=Object.assign(Object.assign(Object.assign({},this._def.openapi?.metadata),i),this._def.openapi?.metadata?.param||r?{param:Object.assign(Object.assign({},this._def.openapi?.metadata?.param),r)}:void 0),s=new this.constructor(Object.assign(Object.assign({},this._def),{openapi:Object.assign(Object.assign({},Object.keys(a).length>0?{_internal:a}:void 0),Object.keys(o).length>0?{metadata:o}:void 0)}));if(Ts(this,`ZodObject`)){let e=this.extend;s.extend=function(...t){let n=e.apply(this,t);return n._def.openapi={_internal:{extendedFrom:this._def.openapi?._internal?.refId?{refId:this._def.openapi?._internal?.refId,schema:this}:this._def.openapi?._internal?.extendedFrom},metadata:n._def.openapi?.metadata},n}}return s},Es(e,`optional`),Es(e,`nullable`),Es(e,`default`),Es(e,`transform`),Es(e,`refine`);let t=e.ZodObject.prototype.deepPartial;e.ZodObject.prototype.deepPartial=function(){let e=this._def.shape(),n=t.apply(this),r=n._def.shape();return Object.entries(r).forEach(([t,n])=>{n._def.openapi=e[t]?._def?.openapi}),n._def.openapi=void 0,n};let n=e.ZodObject.prototype.pick;e.ZodObject.prototype.pick=function(...e){let t=n.apply(this,e);return t._def.openapi=void 0,t};let r=e.ZodObject.prototype.omit;e.ZodObject.prototype.omit=function(...e){let t=r.apply(this,e);return t._def.openapi=void 0,t}}var Os=class{constructor(e){this.parents=e,this._definitions=[]}get definitions(){return[...this.parents?.flatMap(e=>e.definitions)??[],...this._definitions]}register(e,t){let n=this.schemaWithRefId(e,t);return this._definitions.push({type:`schema`,schema:n}),n}registerParameter(e,t){let n=this.schemaWithRefId(e,t),r=n._def.openapi?.metadata,i=n.openapi(Object.assign(Object.assign({},r),{param:Object.assign(Object.assign({},r?.param),{name:r?.param?.name??e})}));return this._definitions.push({type:`parameter`,schema:i}),i}registerPath(e){this._definitions.push({type:`route`,route:e})}registerWebhook(e){this._definitions.push({type:`webhook`,webhook:e})}registerComponent(e,t,n){return this._definitions.push({type:`component`,componentType:e,name:t,component:n}),{name:t,ref:{$ref:`#/components/${e}/${t}`}}}schemaWithRefId(e,t){return t.openapi(e)}};Ds(vr),new Os,H(`type`,[Ra.openapi(`SpawnCommand`),za.openapi(`RemoveAssetCommand`),Ba.openapi(`SetParameterCommand`),Va.openapi(`TriggerFaultCommand`),Ha.openapi(`ClearFaultCommand`),Ua.openapi(`PauseCommand`),Wa.openapi(`ResumeCommand`),Ga.openapi(`SetSpeedCommand`),Ka.openapi(`UnquarantineCommand`),qa.openapi(`InvokeMethodCommand`),Ja.openapi(`LoadTemplateCommand`),Ya.openapi(`UnloadTemplateCommand`),Xa.openapi(`ResetFactoryCommand`),Za.openapi(`EnableAdapterCommand`),Qa.openapi(`DisableAdapterCommand`)]).openapi(`EngineCommand`);var ks=new Map(bs.map(e=>[`${e.method} ${e.path}`,e]));function $(e,t){let n=ks.get(`${e} ${t}`);if(!n)throw Error(`Missing admin route definition for ${e} ${t}`);return n}var As={assetDetail:$(`GET`,`/api/assets/:id`),authLogin:$(`POST`,`/api/auth/login`),authLogout:$(`POST`,`/api/auth/logout`),authPassword:$(`PUT`,`/api/auth/password`),authStatus:$(`GET`,`/api/auth/status`),bootstrap:$(`GET`,`/api/bootstrap`),catalogModelDetail:$(`GET`,`/api/catalog/models/:name`),catalogModelLeDt:$(`GET`,`/api/catalog/models/:name/le-dt.json`),catalogModels:$(`GET`,`/api/catalog/models`),catalogModelYaml:$(`GET`,`/api/catalog/models/:name/yaml`),catalogTemplateDetail:$(`GET`,`/api/catalog/templates/:id`),catalogTemplateLeTagsCsv:$(`GET`,`/api/catalog/templates/:id/le-tags.csv`),catalogTemplateLeTemplateJson:$(`GET`,`/api/catalog/templates/:id/le-template.json`),catalogTemplates:$(`GET`,`/api/catalog/templates`),catalogTemplateYaml:$(`GET`,`/api/catalog/templates/:id/yaml`),commands:$(`POST`,`/api/commands`),events:$(`GET`,`/api/events`),health:$(`GET`,`/api/healthz`),integrationApply:$(`POST`,`/api/integrations/le/apply`),integrationApplyStream:$(`POST`,`/api/integrations/le/apply/stream`),integrationCleanup:$(`POST`,`/api/integrations/le/cleanup`),integrationCleanupPlan:$(`POST`,`/api/integrations/le/cleanup/plan`),integrationCleanupStream:$(`POST`,`/api/integrations/le/cleanup/stream`),integrationConnectionTest:$(`POST`,`/api/integrations/le/targets/test`),integrationOperationCancel:$(`POST`,`/api/integrations/le/operations/:operationId/cancel`),integrationOperations:$(`GET`,`/api/integrations/le/operations`),integrationPlan:$(`POST`,`/api/integrations/le/plan`),integrationTargetById:$(`PUT`,`/api/integrations/le/targets/:id`),integrationTargetCreate:$(`POST`,`/api/integrations/le/targets`),integrationTargetDelete:$(`DELETE`,`/api/integrations/le/targets/:id`),integrationTargetDetail:$(`GET`,`/api/integrations/le/targets/:id`),integrationTargets:$(`GET`,`/api/integrations/le/targets`),manifest:$(`GET`,`/api/manifest`),metrics:$(`GET`,`/api/metrics`),modelDetail:$(`GET`,`/api/models/:name`),openApiDocument:$(`GET`,`/api/openapi.json`),readiness:$(`GET`,`/api/readyz`),runtimeWebSocket:$(`GET`,`/api/ws`),shutdown:$(`POST`,`/api/shutdown`),state:$(`GET`,`/api/state`),templates:$(`GET`,`/api/templates`)},js=`miravo:console-username`;function Ms(){try{let e=sessionStorage.getItem(js);return typeof e==`string`&&e.length>0?e:``}catch{return``}}function Ns(e){try{e!==null&&e.length>0?sessionStorage.setItem(js,e):sessionStorage.removeItem(js)}catch{}}var Ps=new $e({defaultOptions:{queries:{staleTime:3e4,gcTime:10*6e4,retry:(e,t)=>{if(t instanceof Error&&t.message===`Session expired`)return!1;if(Cs.is(t)){let e=t.status;if(e>=400&&e<500)return!1}return e<2},refetchOnWindowFocus:!1}}}),Fs={catalog:{templates:()=>[`catalog`,`templates`],models:()=>[`catalog`,`models`],templateDetail:e=>[`catalog`,`template`,e],modelSchema:e=>[`catalog`,`model-schema`,e],modelSchemasBatch:e=>[`catalog`,`model-schemas-batch`,e]},spawnPreviewAll:[`spawn`,`preview`],spawnPreview:(e,t,n,r)=>[`spawn`,`preview`,e,t,n,r],events:(e,t)=>[`events`,e,t],tags:{manifest:e=>[`tags`,`manifest`,e]},integrations:{targets:()=>[`integrations`,`targets`],operationsList:()=>[`integrations`,`operations`,`list`],operationsFactory:()=>[`integrations`,`operations`,`factory`],plan:(e,t)=>[`integrations`,`plan`,e,t],operationsForTarget:e=>[`integrations`,`operations`,`target`,e],operations:()=>[`integrations`,`operations`]},assets:{detail:e=>[`assets`,e]},floor:{state:()=>[`floor`,`state`]}},Is=`miravo:query-cache:v2`,Ls=5*6e4,Rs=Fs.integrations.targets(),zs=`bootstrap`,Bs=!0;function Vs(e){try{let t=sessionStorage.getItem(Is);if(!t)return;let n=JSON.parse(t);if(typeof n!=`object`||!n)return;let r=n;if(typeof r.timestamp!=`number`)return;if(Date.now()-r.timestamp>Ls){sessionStorage.removeItem(Is);return}Ae(e,r.state)}catch{}}function Hs(e){try{let t=ke(e,{shouldDehydrateQuery:e=>e.state.status===`success`&&e.queryKey[0]!==zs&&!(e.queryKey[0]===Rs[0]&&e.queryKey[1]===Rs[1])}),n={timestamp:Date.now(),state:t};sessionStorage.setItem(Is,JSON.stringify(n))}catch{}}function Us(e){let t=null,n=e.getQueryCache().subscribe(()=>{Bs&&(t&&clearTimeout(t),t=setTimeout(()=>{Bs&&Hs(e)},500))});return()=>{t&&clearTimeout(t),n()}}function Ws(){try{sessionStorage.removeItem(Is)}catch{}}function Gs(){Bs=!0}function Ks(){Bs=!1}var qs=(void 0)?.trim()||`/api`;function Js(e,t){return`${e.trim().replace(/\/+$/,``)||`/api`}${t.startsWith(`/`)?t:`/${t}`}`}function Ys(){Ks(),Ps.cancelQueries(),Ps.setQueryData([`bootstrap`],{authenticated:!1}),Ps.removeQueries({predicate:e=>e.queryKey[0]!==`bootstrap`}),Ws(),ft(),Ns(null)}function Xs(){typeof window>`u`||(Ys(),window.location.pathname!==`/login`&&window.location.replace(`/login`))}var Zs=class extends Error{result;constructor(e){super(e.message),this.name=`CommandError`,this.result=e}};function Qs(e,t){let n=`${e} ${t}`;return e===502||e===503||e===504?`${n} — the Miravo server may not be running, or a reverse proxy cannot reach it.`:n}async function $s(e){try{let t=await e.json(),n=xs.safeParse(t);if(n.success)return new Cs({code:n.data.code,status:e.status,message:n.data.message,hint:n.data.hint})}catch{}return Error(Qs(e.status,e.statusText))}async function ec(e,t){return rc(`/auth/login`,As.authLogin,{body:{username:e,password:t}})}async function tc(){await rc(`/auth/logout`,As.authLogout)}function nc(e,t){if(e.response.kind!==`json`)throw Error(`requestJSON requires a JSON route definition for ${e.method} ${e.path}`);return e.additionalSuccessResponses?.[t]??e.response.schema}async function rc(e,t,n={}){let{body:r,init:i}=n,a={method:t.method,credentials:`include`,...i};if(t.body){let e=t.body.safeParse(r);if(!e.success)throw Error(`Invalid request for ${t.method} ${t.path}: ${e.error.message}`);a.headers={"content-type":`application/json`,...i?.headers??{}},a.body=JSON.stringify(e.data)}else if(r!==void 0)throw Error(`Route ${t.method} ${t.path} does not accept a JSON body.`);let o=await fetch(Js(qs,e),a);if(o.status===401&&t.auth===`required`)throw Xs(),Error(`Session expired`);if(!o.ok)throw await $s(o);let s;try{s=await o.json()}catch{throw Error(`Invalid JSON response for ${t.method} ${t.path}`)}let c=nc(t,o.status).safeParse(s);if(!c.success)throw Error(`Invalid response for ${t.method} ${t.path}: ${c.error.message}`);return c.data}async function ic(e,t){return rc(`/auth/password`,As.authPassword,{body:{oldPassword:e,newPassword:t}})}async function ac(){return rc(`/bootstrap`,As.bootstrap)}async function oc(e,t){return rc(e,t)}async function sc(e){let t=await rc(`/commands`,As.commands,{body:e});if(!t.success)throw new Zs(t);return t}async function cc(e,t){if(t.response.kind!==`passthrough`)throw Error(`fetchBlob requires a passthrough route definition for ${t.method} ${t.path}`);let n=await fetch(Js(qs,e),{credentials:`include`});if(n.status===401&&t.auth===`required`)throw Xs(),Error(`Session expired`);if(!n.ok)throw Error(Qs(n.status,n.statusText));return n.blob()}async function lc(e,t){if(t.response.kind!==`yaml`)throw Error(`fetchText requires a YAML route definition for ${t.method} ${t.path}`);let n=await fetch(Js(qs,e),{credentials:`include`});if(n.status===401&&t.auth===`required`)throw Xs(),Error(`Session expired`);if(!n.ok)throw Error(Qs(n.status,n.statusText));return n.text()}export{Nr as $,ma as A,fe as At,_i as B,Cs as C,Be as Ct,ga as D,d as Dt,to as E,be as Et,Ei as F,ve as Ft,ei as G,hi as H,wi as I,f as It,Or as J,ti as K,yi as L,o as Lt,Di as M,m as Mt,la as N,p as Nt,X as O,pe as Ot,ua as P,se as Pt,K as Q,xi as R,i as Rt,As as S,Ue as St,ns as T,xe as Tt,mi as U,ni as V,$r as W,Dr as X,Er as Y,kr as Z,Us as _,mt as _t,cc as a,H as at,Ns as b,Ke as bt,ac as c,I as ct,sc as d,F as dt,Tr as et,Xs as f,tr as ft,Vs as g,ft as gt,Gs as h,y as ht,Ys as i,L as it,oa as j,oe as jt,ha as k,l as kt,ec as l,B as lt,Js as m,R as mt,Zs as n,jr as nt,oc as o,G as ot,rc as p,V as pt,Zr as q,ic as r,z as rt,lc as s,W as st,qs as t,Ir as tt,tc as u,U as ut,Fs as v,_t as vt,xs as w,h as wt,Ms as x,qe as xt,Ps as y,ot as yt,vi as z,r as zt};
1
+ import{a as e,r as t}from"./rolldown-runtime-COnpUsM8.js";import{c as n}from"./vendor-charts-95ykyDlI.js";var r=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},i=new class extends r{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},a={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},o=new class{#e=a;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function s(e){setTimeout(e,0)}var c=typeof window>`u`||`Deno`in globalThis;function l(){}function u(e,t){return typeof e==`function`?e(t):e}function d(e){return typeof e==`number`&&e>=0&&e!==1/0}function f(e,t){return Math.max(e+(t||0)-Date.now(),0)}function p(e,t){return typeof e==`function`?e(t):e}function m(e,t){return typeof e==`function`?e(t):e}function ee(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==ne(o,t.options))return!1}else if(!ie(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function te(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(re(t.options.mutationKey)!==re(a))return!1}else if(!ie(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function ne(e,t){return(t?.queryKeyHashFn||re)(e)}function re(e){return JSON.stringify(e,(e,t)=>le(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ie(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>ie(e[n],t[n])):!1}var ae=Object.prototype.hasOwnProperty;function oe(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=ce(e)&&ce(t);if(!r&&!(le(e)&&le(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:ae.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=oe(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function se(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function ce(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function le(e){if(!ue(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!ue(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function ue(e){return Object.prototype.toString.call(e)===`[object Object]`}function de(e){return new Promise(t=>{o.setTimeout(t,e)})}function fe(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:oe(e,t)}function pe(e){return e}function me(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function he(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var ge=Symbol();function _e(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===ge?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function ve(e,t){return typeof e==`function`?e(...t):!!e}function ye(e,t,n){let r=!1,i;return Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var be=(()=>{let e=()=>c;return{isServer(){return e()},setIsServer(t){e=t}}})();function xe(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}function Se(e){let t;if(e.then(e=>(t=e,e),l)?.catch(l),t!==void 0)return{data:t}}function Ce(e){return e}function we(e){return{mutationKey:e.options.mutationKey,state:e.state,...e.options.scope&&{scope:e.options.scope},...e.meta&&{meta:e.meta}}}function Te(e,t,n){let r=()=>{let r=e.promise?.then(t).catch(e=>n(e)?Promise.reject(Error(`redacted`)):Promise.reject(e));return r?.catch(l),r};return{dehydratedAt:Date.now(),state:{...e.state,...e.state.data!==void 0&&{data:t(e.state.data)}},queryKey:e.queryKey,queryHash:e.queryHash,...e.state.status===`pending`&&{promise:r()},...e.meta&&{meta:e.meta}}}function Ee(e){return e.state.isPaused}function De(e){return e.state.status===`success`}function Oe(e){return!0}function ke(e,t={}){let n=t.shouldDehydrateMutation??e.getDefaultOptions().dehydrate?.shouldDehydrateMutation??Ee,r=e.getMutationCache().getAll().flatMap(e=>n(e)?[we(e)]:[]),i=t.shouldDehydrateQuery??e.getDefaultOptions().dehydrate?.shouldDehydrateQuery??De,a=t.shouldRedactErrors??e.getDefaultOptions().dehydrate?.shouldRedactErrors??Oe,o=t.serializeData??e.getDefaultOptions().dehydrate?.serializeData??Ce;return{mutations:r,queries:e.getQueryCache().getAll().flatMap(e=>i(e)?[Te(e,o,a)]:[])}}function Ae(e,t,n){if(typeof t!=`object`||!t)return;let r=e.getMutationCache(),i=e.getQueryCache(),a=n?.defaultOptions?.deserializeData??e.getDefaultOptions().hydrate?.deserializeData??Ce,o=t.mutations||[],s=t.queries||[];o.forEach(({state:t,...i})=>{r.build(e,{...e.getDefaultOptions().hydrate?.mutations,...n?.defaultOptions?.mutations,...i},t)}),s.forEach(({queryKey:t,state:r,queryHash:o,meta:s,promise:c,dehydratedAt:u})=>{let d=c?Se(c):void 0,f=r.data===void 0?d?.data:r.data,p=f===void 0?f:a(f),m=i.get(o),ee=m?.state.status===`pending`,te=m?.state.fetchStatus===`fetching`;if(m){let e=d&&u!==void 0&&u>m.state.dataUpdatedAt;if(r.dataUpdatedAt>m.state.dataUpdatedAt||e){let{fetchStatus:e,...t}=r;m.setState({...t,data:p})}}else m=i.build(e,{...e.getDefaultOptions().hydrate?.queries,...n?.defaultOptions?.queries,queryKey:t,queryHash:o,meta:s},{...r,data:p,fetchStatus:`idle`,status:p===void 0?r.status:`success`});c&&!ee&&!te&&(u===void 0||u>m.state.dataUpdatedAt)&&m.fetch(void 0,{initialPromise:Promise.resolve(c).then(a)}).catch(l)})}var je=s;function Me(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=je,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var h=Me(),Ne=new class extends r{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Pe(e){return Math.min(1e3*2**e,3e4)}function Fe(e){return(e??`online`)===`online`?Ne.isOnline():!0}var Ie=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Le(e){let t=!1,n=0,r,a=xe(),o=()=>a.status!==`pending`,s=t=>{if(!o()){let n=new Ie(t);p(n),e.onCancel?.(n)}},c=()=>{t=!0},l=()=>{t=!1},u=()=>i.isFocused()&&(e.networkMode===`always`||Ne.isOnline())&&e.canRun(),d=()=>Fe(e.networkMode)&&e.canRun(),f=e=>{o()||(r?.(),a.resolve(e))},p=e=>{o()||(r?.(),a.reject(e))},m=()=>new Promise(t=>{r=e=>{(o()||u())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,o()||e.onContinue?.()}),ee=()=>{if(o())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(f).catch(r=>{if(o())return;let i=e.retry??(be.isServer()?0:3),a=e.retryDelay??Pe,s=typeof a==`function`?a(n,r):a,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){p(r);return}n++,e.onFail?.(n,r),de(s).then(()=>u()?void 0:m()).then(()=>{t?p(r):ee()})})};return{promise:a,status:()=>a.status,cancel:s,continue:()=>(r?.(),a),cancelRetry:c,continueRetry:l,canStart:d,start:()=>(d()?ee():m().then(ee),a)}}var Re=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),d(this.gcTime)&&(this.#e=o.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(be.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(o.clearTimeout(this.#e),this.#e=void 0)}},ze=class extends Re{#e;#t;#n;#r;#i;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#n=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=He(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=He(this.options);e.data!==void 0&&(this.setState(Ve(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#n.remove(this)}setData(e,t){let n=fe(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#c({type:`setState`,state:e,setStateOptions:t})}cancel(e){let t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(l).catch(l):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#e}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>m(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ge||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>p(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!f(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#i&&(this.#o||this.#s()?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#n.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#s(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#i?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},i=()=>{let e=_e(this.options,t),n=(()=>{let e={client:this.#r,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#o=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:i};return r(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta}),this.#i=Le({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Ie&&e.revert&&this.setState({...this.#t,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#i.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#n.config.onSuccess?.(e,this),this.#n.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Ie){if(e.silent)return this.#i.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#n.config.onError?.(e,this),this.#n.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#c(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Be(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Ve(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}})(this.state),h.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#n.notify({query:this,type:`updated`,action:e})})}};function Be(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Fe(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Ve(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function He(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}function Ue(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{ye(e,()=>t.signal,()=>n=!0)},u=_e(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?he:me;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?Ge:We,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:We(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function We(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Ge(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function Ke(e,t){return t?We(e,t)!=null:!1}function qe(e,t){return!t||!e.getPreviousPageParam?!1:Ge(e,t)!=null}var Je=class extends Re{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||Ye(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=Le({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}})(this.state),h.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function Ye(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Xe=class extends r{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new Je({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Ze(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Ze(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Ze(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=Ze(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){h.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>te(t,e))}findAll(e={}){return this.getAll().filter(t=>te(e,t))}notify(e){h.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return h.batch(()=>Promise.all(e.map(e=>e.continue().catch(l))))}};function Ze(e){return e.options.scope?.id}var Qe=class extends r{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??ne(r,t),a=this.get(i);return a||(a=new ze({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){h.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ee(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>ee(e,t)):t}notify(e){h.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){h.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){h.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},$e=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Qe,this.#t=e.mutationCache||new Xe,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=i.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Ne.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(p(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=u(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return h.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;h.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return h.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=h.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(l).catch(l)}invalidateQueries(e,t={}){return h.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=h.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(l)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(l)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(p(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(l).catch(l)}fetchInfiniteQuery(e){return e.behavior=Ue(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(l).catch(l)}ensureInfiniteQueryData(e){return e.behavior=Ue(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Ne.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(re(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{ie(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(re(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{ie(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=ne(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===ge&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},et=e(n(),1),tt=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},nt=(e=>e?tt(e):tt),rt=e=>e;function it(e,t=rt){let n=et.useSyncExternalStore(e.subscribe,et.useCallback(()=>t(e.getState()),[e,t]),et.useCallback(()=>t(e.getInitialState()),[e,t]));return et.useDebugValue(n),n}var at=e=>{let t=nt(e),n=e=>it(t,e);return Object.assign(n,t),n},ot=(e=>e?at(e):at),st=200,ct=60,lt=1e3,ut=`miravo:runtime-snapshot`;function dt(e){try{sessionStorage.setItem(ut,JSON.stringify(e))}catch{}}function ft(){try{sessionStorage.removeItem(ut)}catch{}}function pt(e){if(typeof e!=`object`||!e)return!1;let t=e;if(typeof t.revision!=`number`||typeof t.state!=`object`||t.state===null||typeof t.metrics!=`object`||t.metrics===null)return!1;let n=t.metrics;return typeof n.core!=`object`||n.core===null?!1:Array.isArray(t.templates)}function mt(){try{let e=sessionStorage.getItem(ut);if(!e)return null;let t=JSON.parse(e);return pt(t)?t:(ft(),null)}catch{return ft(),null}}function ht(e){let t=e.metrics.core.tickCount,n=e.metrics.core.actualTicksPerSecond,r=Date.now();return{connectionState:`live`,connectionStateSince:r,reconnectAttempts:0,fatalError:null,lastRevision:e.revision,factoryName:e.state.factoryName??e.metrics.factoryName??``,seed:e.state.config.seed,engineState:e.metrics.core.state,tick:t,simulationTime:e.metrics.core.simulationTimeSeconds,tickIntervalMs:e.state.config.tickIntervalMs,lastTickReceivedAt:r,assetCount:e.metrics.core.assetCount,memberValueCount:e.metrics.core.memberValueCount,quarantinedAssetCount:e.metrics.core.quarantinedAssetCount,engineErrorsCount:e.metrics.core.engineErrorsCount,tickOverrunsCount:e.metrics.core.tickOverrunsCount,circuitBreakerTripsCount:e.metrics.core.circuitBreakerTripsCount,tps:n,uptimeMs:e.metrics.core.uptimeMs,speedMultiplier:e.state.config.timeMultiplier,assets:[...e.state.assets],models:[...e.state.models],tpsHistory:[{tick:t,tps:n,sampledAtMs:r}],lines:[...e.state.lines??[]],templates:[...e.templates],bootTemplate:e.state.config.template,availableAdapters:e.state.availableAdapters??[],adapterMetrics:e.metrics.adapters??[],memberValues:new Map,events:[]}}function gt(e,t){return{connectionState:`live`,connectionStateSince:e.connectionState===`live`?e.connectionStateSince:t,reconnectAttempts:0,fatalError:null}}var _t=ot((e,t)=>({connectionState:`booting`,connectionStateSince:Date.now(),reconnectAttempts:0,fatalError:null,lastRevision:0,factoryName:``,seed:null,engineState:`idle`,tick:0,simulationTime:0,tickIntervalMs:1e3,lastTickReceivedAt:0,assetCount:0,memberValueCount:0,quarantinedAssetCount:0,engineErrorsCount:0,tickOverrunsCount:0,circuitBreakerTripsCount:0,tps:0,uptimeMs:0,speedMultiplier:1,assets:[],models:[],tpsHistory:[],lines:[],templates:[],bootTemplate:void 0,availableAdapters:[],adapterMetrics:[],memberValues:new Map,events:[],replaceRuntime:(n,r)=>{let i=t().lastRevision;i>0&&(n.revision<i&&!r?.allowRevisionRewind||n.revision===i&&!r?.allowSameRevision)||(e(()=>ht(n)),dt(n))},applyTick:n=>{let r=t();if(n.revision<=r.lastRevision)return;let i=n.delta??[],a=n.tick??r.tick,o=n.simulationTime??r.simulationTime,s=n.assetCount??r.assetCount,c=n.metrics.core.actualTicksPerSecond,l=Date.now();if(!(i.length>0||a!==r.tick||o!==r.simulationTime||s!==r.assetCount||n.metrics.adapters!==r.adapterMetrics||n.metrics.core.engineErrorsCount!==r.engineErrorsCount||n.metrics.core.tickOverrunsCount!==r.tickOverrunsCount||n.metrics.core.circuitBreakerTripsCount!==r.circuitBreakerTripsCount||n.metrics.core.memberValueCount!==r.memberValueCount||n.metrics.core.quarantinedAssetCount!==r.quarantinedAssetCount||c!==r.tps)){e({...gt(r,l),lastTickReceivedAt:l,lastRevision:n.revision});return}let u={...gt(r,l),tick:a,simulationTime:o,lastTickReceivedAt:l,assetCount:s,memberValueCount:n.metrics.core.memberValueCount,quarantinedAssetCount:n.metrics.core.quarantinedAssetCount,engineErrorsCount:n.metrics.core.engineErrorsCount,tickOverrunsCount:n.metrics.core.tickOverrunsCount,circuitBreakerTripsCount:n.metrics.core.circuitBreakerTripsCount,tps:c,uptimeMs:n.metrics.core.uptimeMs,adapterMetrics:n.metrics.adapters,lastRevision:n.revision},d=r.tpsHistory.at(-1),f={tps:c,tick:a,sampledAtMs:l};if(!d||l-d.sampledAtMs>=lt?u.tpsHistory=[...r.tpsHistory,f].slice(-ct):u.tpsHistory=[...r.tpsHistory.slice(0,-1),f],i.length>0){let e=new Map(r.memberValues),t=new Set;for(let n of i){if(!t.has(n.assetId)){let r=e.get(n.assetId);e.set(n.assetId,new Map(r)),t.add(n.assetId)}e.get(n.assetId)?.set(n.memberName,{value:n.value,quality:n.quality})}u.memberValues=e}e(u)},applyEvent:(n,r)=>{let i=t();if(r<=i.lastRevision)return;let a=Date.now(),o=[n,...i.events].slice(0,st),s={...gt(i,a),events:o,lastRevision:r};if(n.kind===`asset:removed`){let t=new Map(i.memberValues);t.delete(n.id),e({...s,memberValues:t});return}if(n.kind===`fault:triggered`||n.kind===`fault:cleared`){let t=i.assets.map(e=>{if(e.id!==n.assetId)return e;let t=n.kind===`fault:triggered`?[...e.activeFaults,n.fault]:e.activeFaults.filter(e=>e!==n.fault);return{...e,activeFaults:t}});e({...s,assets:t});return}if(n.kind===`lifecycle:changed`||n.kind===`asset:maintenance`){let t=i.assets.map(e=>e.id===n.assetId?{...e,lifecycleStage:n.to,operatingHours:n.operatingHours}:e);e({...s,assets:t});return}if(n.kind===`engine:state`){e({...s,engineState:n.to});return}e(s)},markConnection:n=>{t().connectionState!==n&&e({connectionState:n,connectionStateSince:Date.now()})},markFatal:t=>{e({connectionState:`fatal`,connectionStateSince:Date.now(),fatalError:t})},markUnauthenticated:()=>{t().connectionState!==`unauthenticated`&&e({connectionState:`unauthenticated`,connectionStateSince:Date.now()})},noteReconnectAttempt:()=>{e(e=>({reconnectAttempts:e.reconnectAttempts+1}))},resetReconnectAttempts:()=>{t().reconnectAttempts!==0&&e({reconnectAttempts:0})}})),g;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(g||={});var vt;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(vt||={});var _=g.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),v=e=>{switch(typeof e){case`undefined`:return _.undefined;case`string`:return _.string;case`number`:return Number.isNaN(e)?_.nan:_.number;case`boolean`:return _.boolean;case`function`:return _.function;case`bigint`:return _.bigint;case`symbol`:return _.symbol;case`object`:return Array.isArray(e)?_.array:e===null?_.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?_.promise:typeof Map<`u`&&e instanceof Map?_.map:typeof Set<`u`&&e instanceof Set?_.set:typeof Date<`u`&&e instanceof Date?_.date:_.object;default:return _.unknown}},y=g.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`]),yt=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,`$1:`),b=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,g.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};b.create=e=>new b(e);var bt=(e,t)=>{let n;switch(e.code){case y.invalid_type:n=e.received===_.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,g.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${g.joinValues(e.keys,`, `)}`;break;case y.invalid_union:n=`Invalid input`;break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${g.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${g.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n=`Invalid function arguments`;break;case y.invalid_return_type:n=`Invalid function return type`;break;case y.invalid_date:n=`Invalid date`;break;case y.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:g.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case y.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case y.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case y.custom:n=`Invalid input`;break;case y.invalid_intersection_types:n=`Intersection results could not be merged`;break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,g.assertNever(e)}return{message:n}},xt=bt;function St(e){xt=e}function Ct(){return xt}var wt=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}},Tt=[];function x(e,t){let n=Ct(),r=wt({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===bt?void 0:bt].filter(e=>!!e)});e.common.issues.push(r)}var S=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return C;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return C;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},C=Object.freeze({status:`aborted`}),Et=e=>({status:`dirty`,value:e}),w=e=>({status:`valid`,value:e}),Dt=e=>e.status===`aborted`,Ot=e=>e.status===`dirty`,kt=e=>e.status===`valid`,At=e=>typeof Promise<`u`&&e instanceof Promise,T;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(T||={});var E=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},jt=(e,t)=>{if(kt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){return this._error||=new b(e.common.issues),this._error}}};function D(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var O=class{get description(){return this._def.description}_getType(e){return v(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:v(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new S,ctx:{common:e.parent.common,data:e.data,parsedType:v(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(At(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)};return jt(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return kt(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>kt(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)},r=this._parse({data:e,path:n.path,parent:n});return jt(n,await(At(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:y.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new M({schema:this,typeName:P.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return N.create(this,this._def)}nullable(){return Mn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return hn.create(this)}promise(){return jn.create(this,this._def)}or(e){return _n.create([this,e],this._def)}and(e){return bn.create(this,e,this._def)}transform(e){return new M({...D(this._def),schema:this,typeName:P.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new Nn({...D(this._def),innerType:this,defaultValue:t,typeName:P.ZodDefault})}brand(){return new Ln({typeName:P.ZodBranded,type:this,...D(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new Pn({...D(this._def),innerType:this,catchValue:t,typeName:P.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Rn.create(this,e)}readonly(){return zn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Mt=/^c[^\s-]{8,}$/i,Nt=/^[0-9a-z]+$/,Pt=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ft=/^[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,It=/^[a-z0-9_-]{21}$/i,Lt=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Rt=/^[-+]?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)?)??$/,zt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Bt=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,Vt,Ht=/^(?:(?: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])$/,Ut=/^(?:(?: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])$/,Wt=/^(([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]))$/,Gt=/^(([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])$/,Kt=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,qt=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Jt=`((\\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])))`,Yt=RegExp(`^${Jt}$`);function Xt(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Zt(e){return RegExp(`^${Xt(e)}$`)}function Qt(e){let t=`${Jt}T${Xt(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function $t(e,t){return!!((t===`v4`||!t)&&Ht.test(e)||(t===`v6`||!t)&&Wt.test(e))}function en(e,t){if(!Lt.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function tn(e,t){return!!((t===`v4`||!t)&&Ut.test(e)||(t===`v6`||!t)&&Gt.test(e))}var nn=class e extends O{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==_.string){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.string,received:t.parsedType}),C}let t=new S,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),x(n,{code:y.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),x(n,{code:y.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?x(n,{code:y.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&x(n,{code:y.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)zt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`email`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)Vt||=new RegExp(Bt,`u`),Vt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`emoji`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)Ft.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`uuid`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)It.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`nanoid`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Mt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`cuid`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Nt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`cuid2`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)Pt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`ulid`,code:y.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),x(n,{validation:`url`,code:y.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`regex`,code:y.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?Qt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?Yt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?Zt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{code:y.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?Rt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`duration`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?$t(e.data,r.version)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`ip`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?en(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`jwt`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?tn(e.data,r.version)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`cidr`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Kt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`base64`,code:y.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?qt.test(e.data)||(n=this._getOrReturnCtx(e,n),x(n,{validation:`base64url`,code:y.invalid_string,message:r.message}),t.dirty()):g.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:y.invalid_string,...T.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...T.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...T.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...T.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...T.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...T.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...T.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...T.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...T.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...T.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...T.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...T.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...T.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...T.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...T.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...T.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...T.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...T.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...T.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...T.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...T.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...T.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...T.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...T.errToObj(t)})}nonempty(e){return this.min(1,T.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};nn.create=e=>new nn({checks:[],typeName:P.ZodString,coerce:e?.coerce??!1,...D(e)});function rn(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var an=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==_.number){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.number,received:t.parsedType}),C}let t,n=new S;for(let r of this._def.checks)r.kind===`int`?g.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),x(t,{code:y.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?rn(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),x(t,{code:y.not_finite,message:r.message}),n.dirty()):g.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,T.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,T.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,T.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,T.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:T.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:T.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:T.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:T.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:T.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:T.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:T.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:T.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:T.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:T.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&g.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};an.create=e=>new an({checks:[],typeName:P.ZodNumber,coerce:e?.coerce||!1,...D(e)});var on=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==_.bigint)return this._getInvalidInput(e);let t,n=new S;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),x(t,{code:y.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):g.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.bigint,received:t.parsedType}),C}gte(e,t){return this.setLimit(`min`,e,!0,T.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,T.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,T.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,T.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:T.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:T.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:T.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:T.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:T.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:T.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};on.create=e=>new on({checks:[],typeName:P.ZodBigInt,coerce:e?.coerce??!1,...D(e)});var sn=class extends O{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==_.boolean){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.boolean,received:t.parsedType}),C}return w(e.data)}};sn.create=e=>new sn({typeName:P.ZodBoolean,coerce:e?.coerce||!1,...D(e)});var cn=class e extends O{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==_.date){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.date,received:t.parsedType}),C}if(Number.isNaN(e.data.getTime()))return x(this._getOrReturnCtx(e),{code:y.invalid_date}),C;let t=new S,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),x(n,{code:y.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),x(n,{code:y.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):g.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:T.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:T.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};cn.create=e=>new cn({checks:[],coerce:e?.coerce||!1,typeName:P.ZodDate,...D(e)});var ln=class extends O{_parse(e){if(this._getType(e)!==_.symbol){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.symbol,received:t.parsedType}),C}return w(e.data)}};ln.create=e=>new ln({typeName:P.ZodSymbol,...D(e)});var un=class extends O{_parse(e){if(this._getType(e)!==_.undefined){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.undefined,received:t.parsedType}),C}return w(e.data)}};un.create=e=>new un({typeName:P.ZodUndefined,...D(e)});var dn=class extends O{_parse(e){if(this._getType(e)!==_.null){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.null,received:t.parsedType}),C}return w(e.data)}};dn.create=e=>new dn({typeName:P.ZodNull,...D(e)});var fn=class extends O{constructor(){super(...arguments),this._any=!0}_parse(e){return w(e.data)}};fn.create=e=>new fn({typeName:P.ZodAny,...D(e)});var pn=class extends O{constructor(){super(...arguments),this._unknown=!0}_parse(e){return w(e.data)}};pn.create=e=>new pn({typeName:P.ZodUnknown,...D(e)});var k=class extends O{_parse(e){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.never,received:t.parsedType}),C}};k.create=e=>new k({typeName:P.ZodNever,...D(e)});var mn=class extends O{_parse(e){if(this._getType(e)!==_.undefined){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.void,received:t.parsedType}),C}return w(e.data)}};mn.create=e=>new mn({typeName:P.ZodVoid,...D(e)});var hn=class e extends O{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==_.array)return x(t,{code:y.invalid_type,expected:_.array,received:t.parsedType}),C;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(x(t,{code:e?y.too_big:y.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(x(t,{code:y.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(x(t,{code:y.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new E(t,e,t.path,n)))).then(e=>S.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new E(t,e,t.path,n)));return S.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:T.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:T.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:T.toString(n)}})}nonempty(e){return this.min(1,e)}};hn.create=(e,t)=>new hn({type:e,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...D(t)});function gn(e){if(e instanceof A){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=N.create(gn(r))}return new A({...e._def,shape:()=>t})}else if(e instanceof hn)return new hn({...e._def,type:gn(e.element)});else if(e instanceof N)return N.create(gn(e.unwrap()));else if(e instanceof Mn)return Mn.create(gn(e.unwrap()));else if(e instanceof xn)return xn.create(e.items.map(e=>gn(e)));else return e}var A=class e extends O{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape();return this._cached={shape:e,keys:g.objectKeys(e)},this._cached}_parse(e){if(this._getType(e)!==_.object){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.object,received:t.parsedType}),C}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof k&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new E(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof k){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(x(n,{code:y.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new E(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>S.mergeObjectSync(t,e)):S.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return T.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:T.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:P.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of g.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of g.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return gn(this)}partial(t){let n={};for(let e of g.objectKeys(this.shape)){let r=this.shape[e];t&&!t[e]?n[e]=r:n[e]=r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of g.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof N;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return On(g.objectKeys(this.shape))}};A.create=(e,t)=>new A({shape:()=>e,unknownKeys:`strip`,catchall:k.create(),typeName:P.ZodObject,...D(t)}),A.strictCreate=(e,t)=>new A({shape:()=>e,unknownKeys:`strict`,catchall:k.create(),typeName:P.ZodObject,...D(t)}),A.lazycreate=(e,t)=>new A({shape:e,unknownKeys:`strip`,catchall:k.create(),typeName:P.ZodObject,...D(t)});var _n=class extends O{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new b(e.ctx.common.issues));return x(t,{code:y.invalid_union,unionErrors:n}),C}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new b(e));return x(t,{code:y.invalid_union,unionErrors:i}),C}}get options(){return this._def.options}};_n.create=(e,t)=>new _n({options:e,typeName:P.ZodUnion,...D(t)});var j=e=>e instanceof En?j(e.schema):e instanceof M?j(e.innerType()):e instanceof Dn?[e.value]:e instanceof kn?e.options:e instanceof An?g.objectValues(e.enum):e instanceof Nn?j(e._def.innerType):e instanceof un?[void 0]:e instanceof dn?[null]:e instanceof N?[void 0,...j(e.unwrap())]:e instanceof Mn?[null,...j(e.unwrap())]:e instanceof Ln||e instanceof zn?j(e.unwrap()):e instanceof Pn?j(e._def.innerType):[],vn=class e extends O{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.object)return x(t,{code:y.invalid_type,expected:_.object,received:t.parsedType}),C;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(x(t,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),C)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=j(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:P.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...D(r)})}};function yn(e,t){let n=v(e),r=v(t);if(e===t)return{valid:!0,data:e};if(n===_.object&&r===_.object){let n=g.objectKeys(t),r=g.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=yn(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===_.array&&r===_.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=yn(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===_.date&&r===_.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var bn=class extends O{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(Dt(e)||Dt(r))return C;let i=yn(e.value,r.value);return i.valid?((Ot(e)||Ot(r))&&t.dirty(),{status:t.value,value:i.data}):(x(n,{code:y.invalid_intersection_types}),C)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};bn.create=(e,t,n)=>new bn({left:e,right:t,typeName:P.ZodIntersection,...D(n)});var xn=class e extends O{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.array)return x(n,{code:y.invalid_type,expected:_.array,received:n.parsedType}),C;if(n.data.length<this._def.items.length)return x(n,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),C;!this._def.rest&&n.data.length>this._def.items.length&&(x(n,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new E(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>S.mergeArray(t,e)):S.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};xn.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new xn({items:e,typeName:P.ZodTuple,rest:null,...D(t)})};var Sn=class e extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.object)return x(n,{code:y.invalid_type,expected:_.object,received:n.parsedType}),C;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new E(n,e,n.path,e)),value:a._parse(new E(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?S.mergeObjectAsync(t,r):S.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof O?new e({keyType:t,valueType:n,typeName:P.ZodRecord,...D(r)}):new e({keyType:nn.create(),valueType:t,typeName:P.ZodRecord,...D(n)})}},Cn=class extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.map)return x(n,{code:y.invalid_type,expected:_.map,received:n.parsedType}),C;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new E(n,e,n.path,[a,`key`])),value:i._parse(new E(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return C;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return C;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};Cn.create=(e,t,n)=>new Cn({valueType:t,keyType:e,typeName:P.ZodMap,...D(n)});var wn=class e extends O{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.set)return x(n,{code:y.invalid_type,expected:_.set,received:n.parsedType}),C;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(x(n,{code:y.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(x(n,{code:y.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return C;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new E(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:T.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:T.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};wn.create=(e,t)=>new wn({valueType:e,minSize:null,maxSize:null,typeName:P.ZodSet,...D(t)});var Tn=class e extends O{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.function)return x(t,{code:y.invalid_type,expected:_.function,received:t.parsedType}),C;function n(e,n){return wt({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ct(),bt].filter(e=>!!e),issueData:{code:y.invalid_arguments,argumentsError:n}})}function r(e,n){return wt({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ct(),bt].filter(e=>!!e),issueData:{code:y.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof jn){let e=this;return w(async function(...t){let o=new b([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}else{let e=this;return w(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new b([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new b([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:xn.create(t).rest(pn.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||xn.create([]).rest(pn.create()),returns:n||pn.create(),typeName:P.ZodFunction,...D(r)})}},En=class extends O{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};En.create=(e,t)=>new En({getter:e,typeName:P.ZodLazy,...D(t)});var Dn=class extends O{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return x(t,{received:t.data,code:y.invalid_literal,expected:this._def.value}),C}return{status:`valid`,value:e.data}}get value(){return this._def.value}};Dn.create=(e,t)=>new Dn({value:e,typeName:P.ZodLiteral,...D(t)});function On(e,t){return new kn({values:e,typeName:P.ZodEnum,...D(t)})}var kn=class e extends O{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return x(t,{expected:g.joinValues(n),received:t.parsedType,code:y.invalid_type}),C}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return x(t,{received:t.data,code:y.invalid_enum_value,options:n}),C}return w(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};kn.create=On;var An=class extends O{_parse(e){let t=g.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==_.string&&n.parsedType!==_.number){let e=g.objectValues(t);return x(n,{expected:g.joinValues(e),received:n.parsedType,code:y.invalid_type}),C}if(this._cache||=new Set(g.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=g.objectValues(t);return x(n,{received:n.data,code:y.invalid_enum_value,options:e}),C}return w(e.data)}get enum(){return this._def.values}};An.create=(e,t)=>new An({values:e,typeName:P.ZodNativeEnum,...D(t)});var jn=class extends O{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==_.promise&&t.common.async===!1?(x(t,{code:y.invalid_type,expected:_.promise,received:t.parsedType}),C):w((t.parsedType===_.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};jn.create=(e,t)=>new jn({type:e,typeName:P.ZodPromise,...D(t)});var M=class extends O{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{x(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return C;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?C:r.status===`dirty`||t.value===`dirty`?Et(r.value):r});{if(t.value===`aborted`)return C;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?C:r.status===`dirty`||t.value===`dirty`?Et(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?C:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?C:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`)if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!kt(e))return C;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>kt(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):C);g.assertNever(r)}};M.create=(e,t,n)=>new M({schema:e,typeName:P.ZodEffects,effect:t,...D(n)}),M.createWithPreprocess=(e,t,n)=>new M({schema:t,effect:{type:`preprocess`,transform:e},typeName:P.ZodEffects,...D(n)});var N=class extends O{_parse(e){return this._getType(e)===_.undefined?w(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};N.create=(e,t)=>new N({innerType:e,typeName:P.ZodOptional,...D(t)});var Mn=class extends O{_parse(e){return this._getType(e)===_.null?w(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Mn.create=(e,t)=>new Mn({innerType:e,typeName:P.ZodNullable,...D(t)});var Nn=class extends O{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===_.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Nn.create=(e,t)=>new Nn({innerType:e,typeName:P.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...D(t)});var Pn=class extends O{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return At(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new b(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new b(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Pn.create=(e,t)=>new Pn({innerType:e,typeName:P.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...D(t)});var Fn=class extends O{_parse(e){if(this._getType(e)!==_.nan){let t=this._getOrReturnCtx(e);return x(t,{code:y.invalid_type,expected:_.nan,received:t.parsedType}),C}return{status:`valid`,value:e.data}}};Fn.create=e=>new Fn({typeName:P.ZodNaN,...D(e)});var In=Symbol(`zod_brand`),Ln=class extends O{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},Rn=class e extends O{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?C:e.status===`dirty`?(t.dirty(),Et(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?C:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:P.ZodPipeline})}},zn=class extends O{_parse(e){let t=this._def.innerType._parse(e),n=e=>(kt(e)&&(e.value=Object.freeze(e.value)),e);return At(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};zn.create=(e,t)=>new zn({innerType:e,typeName:P.ZodReadonly,...D(t)});function Bn(e,t){let n=typeof e==`function`?e(t):typeof e==`string`?{message:e}:e;return typeof n==`string`?{message:n}:n}function Vn(e,t={},n){return e?fn.create().superRefine((r,i)=>{let a=e(r);if(a instanceof Promise)return a.then(e=>{if(!e){let e=Bn(t,r),a=e.fatal??n??!0;i.addIssue({code:`custom`,...e,fatal:a})}});if(!a){let e=Bn(t,r),a=e.fatal??n??!0;i.addIssue({code:`custom`,...e,fatal:a})}}):fn.create()}var Hn={object:A.lazycreate},P;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(P||={});var Un=(e,t={message:`Input not instance of ${e.name}`})=>Vn(t=>t instanceof e,t),F=nn.create,I=an.create,Wn=Fn.create,Gn=on.create,L=sn.create,Kn=cn.create,qn=ln.create,Jn=un.create,Yn=dn.create,Xn=fn.create,R=pn.create,Zn=k.create,Qn=mn.create,z=hn.create,B=A.create,$n=A.strictCreate,V=_n.create,H=vn.create,er=bn.create,tr=xn.create,U=Sn.create,nr=Cn.create,rr=wn.create,ir=Tn.create,ar=En.create,W=Dn.create,G=kn.create,or=An.create,sr=jn.create,cr=M.create,lr=N.create,ur=Mn.create,dr=M.createWithPreprocess,fr=Rn.create,pr=()=>F().optional(),mr=()=>I().optional(),hr=()=>L().optional(),gr={string:(e=>nn.create({...e,coerce:!0})),number:(e=>an.create({...e,coerce:!0})),boolean:(e=>sn.create({...e,coerce:!0})),bigint:(e=>on.create({...e,coerce:!0})),date:(e=>cn.create({...e,coerce:!0}))},_r=C,vr=t({BRAND:()=>In,DIRTY:()=>Et,EMPTY_PATH:()=>Tt,INVALID:()=>C,NEVER:()=>_r,OK:()=>w,ParseStatus:()=>S,Schema:()=>O,ZodAny:()=>fn,ZodArray:()=>hn,ZodBigInt:()=>on,ZodBoolean:()=>sn,ZodBranded:()=>Ln,ZodCatch:()=>Pn,ZodDate:()=>cn,ZodDefault:()=>Nn,ZodDiscriminatedUnion:()=>vn,ZodEffects:()=>M,ZodEnum:()=>kn,ZodError:()=>b,ZodFirstPartyTypeKind:()=>P,ZodFunction:()=>Tn,ZodIntersection:()=>bn,ZodIssueCode:()=>y,ZodLazy:()=>En,ZodLiteral:()=>Dn,ZodMap:()=>Cn,ZodNaN:()=>Fn,ZodNativeEnum:()=>An,ZodNever:()=>k,ZodNull:()=>dn,ZodNullable:()=>Mn,ZodNumber:()=>an,ZodObject:()=>A,ZodOptional:()=>N,ZodParsedType:()=>_,ZodPipeline:()=>Rn,ZodPromise:()=>jn,ZodReadonly:()=>zn,ZodRecord:()=>Sn,ZodSchema:()=>O,ZodSet:()=>wn,ZodString:()=>nn,ZodSymbol:()=>ln,ZodTransformer:()=>M,ZodTuple:()=>xn,ZodType:()=>O,ZodUndefined:()=>un,ZodUnion:()=>_n,ZodUnknown:()=>pn,ZodVoid:()=>mn,addIssueToContext:()=>x,any:()=>Xn,array:()=>z,bigint:()=>Gn,boolean:()=>L,coerce:()=>gr,custom:()=>Vn,date:()=>Kn,datetimeRegex:()=>Qt,defaultErrorMap:()=>bt,discriminatedUnion:()=>H,effect:()=>cr,enum:()=>G,function:()=>ir,getErrorMap:()=>Ct,getParsedType:()=>v,instanceof:()=>Un,intersection:()=>er,isAborted:()=>Dt,isAsync:()=>At,isDirty:()=>Ot,isValid:()=>kt,late:()=>Hn,lazy:()=>ar,literal:()=>W,makeIssue:()=>wt,map:()=>nr,nan:()=>Wn,nativeEnum:()=>or,never:()=>Zn,null:()=>Yn,nullable:()=>ur,number:()=>I,object:()=>B,objectUtil:()=>vt,oboolean:()=>hr,onumber:()=>mr,optional:()=>lr,ostring:()=>pr,pipeline:()=>fr,preprocess:()=>dr,promise:()=>sr,quotelessJson:()=>yt,record:()=>U,set:()=>rr,setErrorMap:()=>St,strictObject:()=>$n,string:()=>F,symbol:()=>qn,transformer:()=>cr,tuple:()=>tr,undefined:()=>Jn,union:()=>V,unknown:()=>R,util:()=>g,void:()=>Qn}),yr=B({username:F().min(1),password:F().min(1)}),br=B({ok:W(!0),changePassword:L()}),xr=B({oldPassword:F().min(1),newPassword:F().min(6)}),Sr=B({ok:W(!0)}),Cr=B({authenticated:L(),username:F().optional()});B({password:F().min(1)});var wr=class extends Error{fix;context;constructor(e,t,n){super(e),this.name=`MiravoError`,this.fix=t,this.context=n}},Tr=`0.14.1`,Er=1883,Dr=4840,Or=1502,kr={mqtt:Er,opcua:Dr,modbus:Or},Ar=65535;function jr(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=65535}var Mr=1e4,Nr=1e3,Pr=1e6,Fr=1e5,K=/^[a-zA-Z0-9_-]{1,64}$/,Ir=/^\$param\.(\S+)$/,Lr=I().int().min(1).max(Ar),Rr=B({state:G([`healthy`,`busy`,`saturated`]),pendingWorkCount:I().finite().int().nonnegative(),completedLastTick:I().finite().int().nonnegative()}),zr=B({active:I().finite().int().nonnegative(),subscriptions:I().finite().int().nonnegative().optional(),reads:I().finite().int().nonnegative().optional(),writes:I().finite().int().nonnegative().optional()}),Br=B({connected:L(),messagesPublished:I().finite().int().nonnegative(),messagesAttempted:I().finite().int().nonnegative(),messagesFiltered:I().finite().int().nonnegative(),errorsCount:I().finite().int().nonnegative(),rejectedWrites:I().finite().int().nonnegative().optional(),lastPublishMs:I().finite().nonnegative(),health:Rr.optional(),clients:zr.optional()});B({name:F().min(1),enabled:L().default(!0)}).passthrough();var Vr=B({name:F().min(1),enabled:L(),pending:L().optional(),endpoint:F().optional(),boundPort:Lr.optional(),config:U(F(),R())}),q=B({factoryName:F().min(1).optional(),core:B({state:G([`idle`,`running`,`paused`,`stopped`]),tickCount:I().int().nonnegative(),simulationTimeSeconds:I().finite().nonnegative(),pauseAtSimulationSeconds:I().finite().positive().optional(),assetCount:I().int().nonnegative(),memberValueCount:I().int().nonnegative(),quarantinedAssetCount:I().int().nonnegative(),engineErrorsCount:I().int().nonnegative(),lastEngineError:B({context:F(),message:F()}).optional(),tickOverrunsCount:I().int().nonnegative(),circuitBreakerTripsCount:I().int().nonnegative(),uptimeMs:I().finite().nonnegative(),actualTicksPerSecond:I().finite().nonnegative()}),fleet:B({modelBreakdown:z(B({model:F().min(1),count:I().int().nonnegative()})),lifecycleBreakdown:U(F(),I().int().nonnegative()),activeFaultCount:I().int().nonnegative(),faultBreakdown:z(B({fault:F().min(1),count:I().int().nonnegative()}))}),adapters:z(B({name:F().min(1),metrics:Br}))}),Hr=B({lines:z(B({line:F(),stations:z(B({id:F(),state:F(),good:I().int().nonnegative(),scrap:I().int().nonnegative()})),buffers:z(B({after:F(),level:I().int().nonnegative(),capacity:I().int().positive()}))})).optional(),factoryName:F().min(1).optional(),models:z(B({name:F().min(1),memberCount:I().int().nonnegative(),faultCount:I().int().nonnegative(),faultNames:z(F().min(1)),hasLifecycle:L()})),assets:z(B({id:F().min(1),model:F().min(1),browsePath:z(F().min(1)),lifecycleStage:F().min(1),operatingHours:I().finite().nonnegative(),activeFaults:z(F().min(1)),isQuarantined:L(),production:U(F(),V([I(),F(),L()])).optional()})),config:B({seed:I().int().nonnegative(),tickIntervalMs:I().int().positive(),timeMultiplier:I().finite().positive(),adapters:z(F().min(1)),template:B({name:F().min(1),path:F().min(1)}).optional()}),availableAdapters:z(Vr).optional()}),Ur=B({templateId:F().min(1),templateName:F().min(1),templatePath:F().min(1),entryHash:F().min(1).optional(),assetIds:z(F().min(1)),models:z(F().min(1)),areas:z(B({name:F().min(1),lines:z(F().min(1))}))}),Wr=B({name:F().min(1),value:V([I().finite(),F(),L()]),quality:G([`good`,`bad`,`uncertain`]),unit:F().nullable(),kind:F().min(1),dataType:F().min(1)}),Gr=B({id:F().min(1),name:F().min(1),members:z(Wr),inputs:z(B({port:F().min(1),asset:F().min(1),member:F().min(1)}))}),Kr=B({state:Hr,metrics:q,templates:z(Ur),assetDetails:z(Gr),revision:I().int().nonnegative()}),qr=H(`authenticated`,[B({authenticated:W(!1)}),B({authenticated:W(!0),username:F().min(1),runtime:Kr,viewToken:F().min(1).optional()})]),Jr=B({assetId:F().min(1),memberName:F().min(1),value:V([I().finite(),F(),L()]),quality:G([`good`,`bad`,`uncertain`]),timestamp:I().finite().optional()}),Yr=H(`kind`,[B({kind:W(`fault:triggered`),assetId:F().min(1),fault:F().min(1),effects:U(F(),R())}),B({kind:W(`fault:cleared`),assetId:F().min(1),fault:F().min(1)}),B({kind:W(`lifecycle:changed`),assetId:F().min(1),from:F().min(1),to:F().min(1),operatingHours:I().finite().nonnegative()}),B({kind:W(`asset:maintenance`),assetId:F().min(1),from:F().min(1),to:F().min(1),operatingHours:I().finite().nonnegative(),reason:G([`manual`,`scheduled`])}),B({kind:W(`asset:created`),id:F().min(1),assetType:F().min(1),browsePath:z(F().min(1))}),B({kind:W(`asset:removed`),id:F().min(1)}),B({kind:G([`template:loaded`,`template:unloaded`]),templateId:F().min(1),assetCount:I().int().nonnegative()}),B({kind:W(`engine:state`),from:q.shape.core.shape.state,to:q.shape.core.shape.state}),B({kind:W(`engine:error`),context:F(),message:F(),fix:F().optional()}),B({kind:W(`adapter:enabled`),name:F().min(1),endpoint:F().min(1)}),B({kind:W(`adapter:disabled`),name:F().min(1)})]),Xr=B({core:B({memberValueCount:q.shape.core.shape.memberValueCount,quarantinedAssetCount:q.shape.core.shape.quarantinedAssetCount,engineErrorsCount:q.shape.core.shape.engineErrorsCount,tickOverrunsCount:q.shape.core.shape.tickOverrunsCount,circuitBreakerTripsCount:q.shape.core.shape.circuitBreakerTripsCount,uptimeMs:q.shape.core.shape.uptimeMs,actualTicksPerSecond:q.shape.core.shape.actualTicksPerSecond}),adapters:q.shape.adapters}),Zr=H(`type`,[B({type:W(`runtime:snapshot`),snapshot:Kr}),B({type:W(`runtime:tick`),revision:I().int().nonnegative(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),delta:z(Jr),assetCount:I().int().nonnegative(),lines:Hr.shape.lines.unwrap(),timeMultiplier:I().finite().positive(),metrics:Xr}),B({type:W(`runtime:event`),revision:I().int().nonnegative(),event:Yr}),B({type:W(`runtime:resync-required`),revision:I().int().nonnegative(),reason:F().min(1)})]),Qr=/^[A-Za-z0-9_-]+$/;function $r(e){let t=/^(.+)-(\d+)$/.exec(e);if(!t)return null;let n=t[1],r=t[2];if(!n||!r)return null;let i=Number(r);return!Number.isSafeInteger(i)||i<1?null:{prefix:n,counter:i}}function ei(e){let t=e.trim();if(t.length===0)return`Name is required.`;let n=t.split(`-`);if(n.some(e=>e.length===0))return`Use hyphen-delimited segments without empty parts.`;for(let e of n)if(!Qr.test(e))return`Use only letters, numbers, underscores, and hyphens.`;return null}function ti(e){let t=e.trim();return t.length===0?null:t.length>120?`Use at most 120 characters.`:ei(e)}var ni=class extends wr{column;constructor(e,t,n,r){super(`Invalid expression "${e}" at column ${t}: ${n}`,r),this.name=`ExpressionSyntaxError`,this.column=t}},ri={min:{min:2,max:1/0,usage:`min(a, b, ...) takes at least 2 arguments`},max:{min:2,max:1/0,usage:`max(a, b, ...) takes at least 2 arguments`},clamp:{min:3,max:3,usage:`clamp(x, lo, hi) takes exactly 3 arguments`},sqrt:{min:1,max:1,usage:`sqrt(x) takes exactly 1 argument`},pow:{min:2,max:2,usage:`pow(base, exponent) takes exactly 2 arguments`}},ii=[`param`,`port`,`prev`],ai=/[A-Za-z_]/,oi=/[A-Za-z0-9_]/,si=/[0-9]/,ci=new Set([`+`,`-`,`*`,`/`,`(`,`)`,`,`]);function li(e){return Object.hasOwn(ri,e)}function ui(e,t,n){let r=t;for(;r<e.length&&n.test(e.charAt(r));)r++;return r}function di(e){let t=[],n=0;for(;n<e.length;){let r=e.charAt(n),i=n+1;if(/\s/.test(r))n++;else if(si.test(r)||r===`.`&&si.test(e.charAt(n+1))){let r=ui(e,n,si);e.charAt(r)===`.`&&(r=ui(e,r+1,si)),t.push({type:`number`,value:Number(e.slice(n,r)),column:i}),n=r}else if(ai.test(r)){let r=ui(e,n,oi);t.push({type:`ident`,value:e.slice(n,r),column:i}),n=r}else if(r===`$`){let r=ui(e,n+1,oi),a=e.slice(n+1,r);if(!ii.includes(a))throw new ni(e,i,`unknown reference prefix "$${a}".`,`Use $param.NAME, $port.NAME or $prev.NAME, or a bare member name for the current tick.`);let o=r+1;if(e.charAt(r)!==`.`||!ai.test(e.charAt(o)))throw new ni(e,i,`"$${a}" must be followed by ".NAME".`,`Write $${a}.NAME with a name of letters, digits and underscores, e.g. $${a}.rated_rpm.`);let s=ui(e,o,oi);t.push({type:`ref`,prefix:a,value:e.slice(o,s),column:i}),n=s}else if(ci.has(r))t.push({type:`punct`,value:r,column:i}),n++;else throw new ni(e,i,`unexpected character "${r}".`,`Use only numbers, + - * /, parentheses, min/max/clamp/sqrt/pow, and references ($param.X, $port.X, $prev.X, or a member name).`)}return t.push({type:`end`,column:e.length+1}),t}var fi=class{pos=0;source;tokens;constructor(e,t){this.source=e,this.tokens=t}parse(){let e=this.parseExpr(),t=this.peek();if(t.type!==`end`)throw this.error(t,`unexpected ${pi(t)} after a complete expression.`,`Remove the trailing input, or join the parts with an operator (+ - * /).`);return e}peek(){return this.tokens[this.pos]}next(){let e=this.peek();return e.type!==`end`&&this.pos++,e}isPunct(e){let t=this.peek();return t.type===`punct`&&t.value===e}error(e,t,n){return new ni(this.source,e.column,t,n)}expect(e,t){let n=this.peek();if(n.type===`punct`&&n.value===e){this.pos++;return}throw this.error(n,`expected "${e}" but found ${pi(n)}.`,t)}parseExpr(){let e=this.parseTerm();for(;this.isPunct(`+`)||this.isPunct(`-`);)e={kind:`binary`,op:this.next().value,left:e,right:this.parseTerm()};return e}parseTerm(){let e=this.parseUnary();for(;this.isPunct(`*`)||this.isPunct(`/`);)e={kind:`binary`,op:this.next().value,left:e,right:this.parseUnary()};return e}parseUnary(){return this.isPunct(`-`)||this.isPunct(`+`)?{kind:`unary`,op:this.next().value,operand:this.parseUnary()}:this.parsePrimary()}parsePrimary(){let e=this.next();switch(e.type){case`number`:return{kind:`number`,value:e.value};case`ref`:return this.referenceNode(e.prefix,e.value);case`ident`:return this.isPunct(`(`)?this.parseCall(e):{kind:`member`,name:e.value};case`punct`:if(e.value===`(`){let e=this.parseExpr();return this.expect(`)`,`Add the missing closing parenthesis.`),e}throw this.error(e,`unexpected "${e.value}" where a value was expected.`,`Put a number, a reference, a function call or a parenthesized expression here.`);case`end`:throw this.error(e,`expression ended where a value was expected.`,`Complete the expression, e.g. remove the trailing operator.`);default:return e}}referenceNode(e,t){switch(e){case`param`:return{kind:`param`,name:t};case`port`:return{kind:`port`,name:t};default:return{kind:`previous`,name:t}}}parseCall(e){let t=e.value;if(!li(t))throw this.error(e,`unknown function "${t}".`,`Supported functions: ${Object.keys(ri).join(`, `)}. A member name cannot be followed by "(".`);this.next();let n=[this.parseExpr()];for(;this.isPunct(`,`);)this.next(),n.push(this.parseExpr());this.expect(`)`,`Close the ${t}(...) call with ")" and separate arguments with ",".`);let r=ri[t];if(n.length<r.min||n.length>r.max)throw this.error(e,`${t}() called with ${n.length} argument${n.length===1?``:`s`}.`,`${r.usage}.`);return{kind:`call`,fn:t,args:n}}};function pi(e){switch(e.type){case`number`:return`number ${e.value}`;case`ident`:return`name "${e.value}"`;case`ref`:return`reference "$${e.prefix}.${e.value}"`;case`punct`:return`"${e.value}"`;case`end`:return`end of expression`;default:return String(e)}}function mi(e){return new fi(e,di(e)).parse()}function hi(e){let t=new Set,n=new Set,r=new Set,i=new Set,a=e=>{switch(e.kind){case`number`:return;case`member`:t.add(e.name);return;case`previous`:n.add(e.name);return;case`param`:r.add(e.name);return;case`port`:i.add(e.name);return;case`unary`:a(e.operand);return;case`binary`:a(e.left),a(e.right);return;case`call`:for(let t of e.args)a(t);return;default:}};return a(e),{members:t,previousMembers:n,params:r,ports:i}}var gi=`%.ACH.A.Hz.L.L/h.L/min.L/s.N.Pa.V.bar.cfm.count.count/m3.degC.h.kN.kVA.kW.kWh.m.m/s.m3.m3/h.min.mm.mm/min.mm/s.ppm.pu.rpm.s.K.degF.g.kg.kg/h.t.t/h.kPa.mbar.psi.m/min.um.uS/cm.mS/cm.mg/L.W.MW.MWh.Nm`.split(`.`),_i=G(gi);new Set(gi);function vi(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yi(e){if(typeof e==`string`)return Ir.exec(e)?.[1]}function bi(e){try{let t=hi(mi(e)),n=[...t.members,...[...t.previousMembers].map(e=>`$prev.${e}`),...[...t.ports].map(e=>`$port.${e}`)];return n.length>0?`"${e}" references ${n.join(`, `)}, but coefficient fields are evaluated once per asset and may only use numbers and $param.X. Fix: use the "expression" generator for member, $prev or $port references, or replace them with $param.X.`:void 0}catch(e){if(e instanceof ni)return`${e.message} Fix: ${e.fix}`;throw e}}function xi(e,t,n){if(!vi(e)||e.type!==`weighted-sum`)return;let r=e.terms;if(Array.isArray(r))for(let e=0;e<r.length;e++){let i=r[e];vi(i)&&n(i,[...t,`terms`,e])}}function Si(e,t,n){if(!vi(e))return;let r=[...t,`member`],i=[...t,`previous_member`],a=[...t,`param`],o=[...t,`port`],s=[...t,`generator`];typeof e.member==`string`&&n.onMember?.(e.member,r),typeof e.previous_member==`string`&&n.onPreviousMember?.(e.previous_member,i),typeof e.param==`string`&&n.onParam?.(e.param,a),typeof e.port==`string`&&n.onPort?.(e.port,o),`generator`in e&&n.onGenerator?.(e.generator,s)}function Ci(e,t,n,r,i){return{onMember:e,onPreviousMember:t,onParam:n,onPort:r,onGenerator:i}}function wi(e,t,n,r,i,a,o){Si(e,t,Ci(n,r,i,a,o))}var Ti=`Must be 1-64 chars and contain only letters, numbers, underscores, or hyphens.`;G([`float`,`int`,`string`,`bool`]);var Ei=H(`type`,[B({type:W(`float`),default:I().finite(),min:I().finite().optional(),max:I().finite().optional(),unit:_i.optional()}),B({type:W(`int`),default:I().int().safe(),min:I().int().safe().optional(),max:I().int().safe().optional(),unit:_i.optional()}),B({type:W(`string`),default:F(),unit:_i.optional()}),B({type:W(`bool`),default:L(),unit:_i.optional()})]),Di=B({default:I().finite(),unit:_i.optional(),description:F().optional()}).strict(),Oi=V([B({member:F()}).strict(),B({previous_member:F()}).strict(),B({param:F()}).strict(),B({port:F()}).strict(),B({generator:ar(()=>oa)}).strict()]),ki=F().superRefine((e,t)=>{let n=bi(e);n!==void 0&&t.addIssue({code:y.custom,message:n})}),J=V([I(),ki]),Ai=V([I().finite(),ki]),ji={initial_value:J.default(0),gain:J.default(1),bias:J.default(0),min:I().nullable().default(null),max:I().nullable().default(null),input:Oi},Mi=B({type:W(`sine`),center:J,amplitude:I().positive(),period:I().positive()}).strict(),Ni=B({type:W(`random-walk`),min:I(),max:I(),step:I().positive()}).strict(),Pi=B({type:W(`noise`),center:J,stddev:I().positive()}).strict(),Fi=B({type:W(`step`),values:z(I()).min(1),interval:I().positive()}).strict(),Ii=B({type:W(`correlated`),source:F().regex(K,Ti),factor:Ai,offset:Ai,power:I().int().positive().optional()}).strict(),Li=B({from:F(),to:F(),rate_per_hour:I().finite().nonnegative().optional(),on:F().optional()}).strict(),Ri=B({type:W(`state-machine`),states:z(F()).min(1),initial:F(),transitions:z(Li).min(1)}).strict();function zi(e,t){let n=new Set(e.states);n.has(e.initial)||t.addIssue({code:y.custom,path:[`initial`],message:`State machine initial state "${e.initial}" is not in states. Fix: Set initial to one of: ${e.states.join(`, `)}.`});for(let r=0;r<e.transitions.length;r++){let i=e.transitions[r];i&&(n.has(i.from)||t.addIssue({code:y.custom,path:[`transitions`,r,`from`],message:`State machine transition from "${i.from}" references a state that is not in states. Fix: Add "${i.from}" to states or change transition.from to one of: ${e.states.join(`, `)}.`}),n.has(i.to)||t.addIssue({code:y.custom,path:[`transitions`,r,`to`],message:`State machine transition to "${i.to}" references a state that is not in states. Fix: Add "${i.to}" to states or change transition.to to one of: ${e.states.join(`, `)}.`}))}}Ri.superRefine(zi);var Bi=B({type:W(`ramp`),start_value:I().default(0),rate:I(),duration:I().nonnegative(),start_time:I().default(0),min:I().nullable().default(null),max:I().nullable().default(null)}).strict(),Vi=B({type:W(`mean-reverting-noise`),mean:J,tau:I().positive(),sigma:I().positive(),initial_value:I().optional(),min:I().nullable().default(null),max:I().nullable().default(null)}).strict(),Hi=B({time:I().nonnegative(),value:I()}),Ui=B({type:W(`timetable`),points:z(Hi).min(2),repeat:L().default(!1),interpolation:G([`linear`,`step`]).default(`linear`)}).strict(),Wi=B({type:W(`waveform`),shape:G([`sawtooth`,`triangle`,`square`,`pulse`]),center:J,amplitude:I().positive(),period:I().positive(),duty_cycle:I().min(0).max(1).default(.5)}).strict(),Gi=B({type:W(`chirp`),center:J,amplitude:I().positive(),start_freq_hz:I().positive(),end_freq_hz:I().positive(),sweep_duration:I().positive(),sweep:G([`linear`,`exponential`]).default(`linear`),repeat:L().default(!0)}).strict(),Ki=B({type:W(`impulse`),baseline:I().default(0),amplitude:I(),rate_per_hour:I().finite().nonnegative().optional(),interval:I().positive().optional(),decay:I().min(0).max(1).optional(),duration_s:I().finite().positive().default(1)}).strict();function qi(e,t){e.rate_per_hour===void 0&&e.interval===void 0&&t.addIssue({code:y.custom,path:[`rate_per_hour`],message:`Impulse generator requires either rate_per_hour or interval. Fix: Add rate_per_hour: 36 or interval: 60 (simulated seconds between triggers).`}),e.rate_per_hour!==void 0&&e.interval!==void 0&&t.addIssue({code:y.custom,path:[`interval`],message:`Impulse generator cannot have both rate_per_hour and interval. Fix: Remove one: use rate_per_hour for random triggers, or interval for periodic triggers.`})}Ki.superRefine(qi);var Ji=B({type:W(`first-order-lag`),tau:I().positive(),...ji}).strict(),Yi=B({type:W(`integrator`),initial_value:J.default(0),gain:J.default(1),bias_rate:I().default(0),min:I().default(-1/0),max:I().default(1/0),wrap:L().default(!1),wrap_at:I().nullable().default(null),input:Oi}).strict(),Xi=B({type:W(`transport-delay`),delay:V([I().nonnegative(),ki]),initial_value:I().optional(),interpolation:G([`linear`,`zoh`]).default(`linear`),input:Oi}).strict(),Zi=B({type:W(`slew-rate-limiter`),rate_up:I().positive(),rate_down:I().positive().optional(),initial_value:J.default(0),min:I().nullable().default(null),max:I().nullable().default(null),input:Oi}).strict(),Qi=B({type:W(`second-order`),natural_freq_hz:I().positive(),damping_ratio:I().positive(),initial_velocity:I().default(0),...ji,min:J.nullable().default(null),max:J.nullable().default(null)}).strict(),$i=B({type:W(`hysteresis-relay`),on_threshold:J,off_threshold:J,output_on:V([I(),F()]).default(1),output_off:V([I(),F()]).default(0),initial_state:G([`on`,`off`]).default(`off`),mode:G([`rising`,`falling`]).default(`rising`),input:Oi}).strict(),ea=B({weight:J.default(1),input:Oi}),ta=B({type:W(`weighted-sum`),bias:J.default(0),terms:z(ea).min(1),min:J.nullable().default(null),max:J.nullable().default(null)}).strict(),na=B({type:W(`expression`),expression:F().min(1),min:J.nullable().default(null),max:J.nullable().default(null)}).strict();function ra(e,t){try{mi(e.expression)}catch(e){if(!(e instanceof ni))throw e;t.addIssue({code:y.custom,path:[`expression`],message:`${e.message} Fix: ${e.fix}`})}}var ia=B({type:W(`gate`),enabled_member:F().regex(K,Ti),input:Oi,disabled_value:V([I(),F(),L()])}).strict(),aa=H(`type`,[Mi,Ni,Pi,Fi,Ii,Ri,Bi,Vi,Ui,Wi,Gi,Ki]).superRefine((e,t)=>{e.type===`state-machine`&&zi(e,t),e.type===`impulse`&&qi(e,t)}),oa=H(`type`,[Mi,Ni,Pi,Fi,Ii,Ri,Bi,Vi,Ui,Wi,Gi,Ki,B({type:W(`health-dependent`),stages:U(F(),aa)}).strict(),Ji,Yi,Xi,Zi,Qi,$i,ta,na,ia]).superRefine((e,t)=>{e.type===`state-machine`&&zi(e,t),e.type===`impulse`&&qi(e,t),e.type===`expression`&&ra(e,t)}),sa=B({multiplier:I().finite().optional(),offset:I().finite().optional()}).strict(),ca=B({scrap_rate_add:I().finite().nonnegative().optional(),name:F().min(1),duration_hours:tr([I().nonnegative(),I().nonnegative()]).refine(([e,t])=>e<=t,{message:`duration_hours max must be greater than or equal to min.`}),effects:U(F(),sa)}),la=B({interval_hours:I().finite().positive(),restores_to:F().optional()}).strict(),ua=B({running_member:F().optional(),hours_member:F().optional(),stages:z(ca).min(1),maintenance:la.optional()}).superRefine((e,t)=>{let n=new Set;for(let r=0;r<e.stages.length;r++){let i=e.stages[r];i&&(n.has(i.name)&&t.addIssue({code:y.custom,path:[`stages`,r,`name`],message:`Lifecycle stage names must be unique. Duplicate "${i.name}". Fix: Rename one stage so each lifecycle stage has a unique name.`}),n.add(i.name))}let r=e.maintenance?.restores_to;r!==void 0&&!n.has(r)&&t.addIssue({code:y.custom,path:[`maintenance`,`restores_to`],message:`Lifecycle maintenance restores_to "${r}" is not a lifecycle stage. Fix: use one of [${[...n].join(`, `)}].`})}),da=B({multiplier:I().finite().optional(),offset:I().finite().optional(),spike:I().finite().optional(),quality:G([`uncertain`,`bad`]).optional(),duration_s:I().finite().positive().optional(),onset_s:I().finite().positive().optional(),recovery_s:I().finite().positive().optional()}).strict(),fa=B({condition:F().optional(),lifecycle_stage:F().optional(),rate_per_hour:I().finite().nonnegative()}).strict(),pa=B({duration_s:I().finite().positive(),effects:U(F(),B({multiplier:I().finite().optional(),offset:I().finite().optional()}).strict()).refine(e=>Object.keys(e).length>0,{message:`Precursor effects must target at least one member.`})}).strict(),ma=B({production_effect:V([W(`stop`),B({derate:I().finite().positive().max(1)}).strict(),B({scrap:I().finite().min(0).max(1)}).strict()]).optional(),name:F().regex(K,Ti),trigger:fa,effects:U(F(),V([da,F()])),precursor:pa.optional()}).strict(),Y=`Must be 1-64 chars and contain only letters, numbers, underscores, or hyphens.`,X=G([`mqtt`,`opcua`,`modbus`]),ha=z(X).min(1),ga=B({asset:F().regex(K,Y),member:F().regex(K,Y)}).strict(),_a=B({model:F().min(1),id:F().regex(K,Y).optional(),count:I().int().positive().default(1),variation:I().min(0).max(1).default(0),parameters:U(F(),I().finite()).optional(),inputs:U(F().regex(K,Y),ga).optional(),starting_hours:I().finite().nonnegative().optional(),maintenance:la.optional(),protocol_scope:ha.optional()}).strict(),va=B({asset:F().min(1),ideal_cycle_s:I().finite().positive(),scrap_rate:I().finite().min(0).max(1).default(0),cycle_cv:I().finite().min(0).max(.5).default(.02),minor_stops:B({rate_per_hour:I().finite().positive(),mean_s:I().finite().positive()}).strict().optional(),buffer_after:B({capacity:I().int().positive(),initial:I().int().nonnegative().default(0)}).strict().refine(e=>e.initial<=e.capacity,`Reduce initial to buffer capacity.`).optional()}).strict(),ya=B({source:W(`unlimited`),stations:z(va).min(1)}).strict(),ba=G([`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`]),xa=F().regex(/^([01]\d|2[0-3]):[0-5]\d$/,`Use HH:MM (00:00–23:59).`),Sa=B({start:F().regex(/^(mon|tue|wed|thu|fri|sat|sun) ([01]\d|2[0-3]):[0-5]\d$/,`Use <day> HH:MM, e.g. mon 06:00.`).default(`mon 06:00`),timezone_offset_h:I().finite().min(-14).max(14).default(0),pattern:z(B({days:z(ba).min(1),start:xa,end:xa,breaks:z(B({start:xa,minutes:I().finite().positive()}).strict()).default([])}).strict()).min(1),changeovers:z(B({every_parts:I().int().positive(),minutes:I().finite().positive(),station:F().min(1),resets:z(F().min(1)).optional()}).strict()).default([])}).strict(),Ca=B({name:F().regex(K,Y),assets:z(_a).min(1),flow:ya.optional(),protocol_scope:ha.optional()}).strict(),wa=B({name:F().regex(K,Y),lines:z(Ca).min(1),protocol_scope:ha.optional()}).strict(),Ta=V([B({enterprise:F().regex(K,Y),site:F().regex(K,Y)}).strict(),B({prefix:F().regex(K,Y)}).strict()]),Ea=B({maxAttempts:I().finite().int().min(0).default(0),initialDelayMs:I().finite().int().positive().default(1e3),maxDelayMs:I().finite().int().positive().default(3e4)}).strict(),Da=B({enabled:L().default(!1),deadband:I().finite().nonnegative().default(0)}).strict(),Oa=G([`base`,`full`]),ka=B({embedded:L().default(!0),port:I().int().min(0).max(65535).default(1883),host:F().default(`127.0.0.1`),external:F().optional(),retain:L().default(!0),username:F().optional(),password:F().optional(),reconnect:Ea.optional(),rbe:Da.optional(),metadata:Oa.default(`base`),payload:G([`envelope`,`plain`]).default(`envelope`),drain_budget:I().int().min(512).max(65536).optional(),batch_size:I().int().min(64).max(16384).optional(),broker_concurrency:I().int().min(10).max(5e3).optional()});function Aa(e){return e.refine(e=>!(e.embedded&&e.external),{message:`Cannot use both 'embedded: true' and 'external' URL. Set 'embedded: false' when using an external broker.`}).refine(e=>!e.password||e.username,{message:`Cannot set 'password' without 'username'.`})}Aa(ka);var ja=B({port:I().int().min(0).max(65535).default(Dr),host:F().default(`127.0.0.1`),security:G([`none`]).default(`none`),buildInfo:B({productName:F().default(`Miravo`)}).strict().optional(),write_budget:I().int().min(512).max(65536).optional()}).strict(),Ma=B({port:I().int().min(0).max(65535).default(Or),host:F().default(`127.0.0.1`)}).strict(),Na=B({mqtt:Aa(ka.strict()).optional(),opcua:ja.optional(),modbus:Ma.optional()}).strict(),Pa=B({max_members_per_model:I().int().positive().max(Fr).default(Nr),max_asset_count:I().int().positive().max(Pr).default(Mr)}).strict(),Fa=B({tick_interval_ms:I().int().min(10).default(1e3),max_step_s:I().finite().positive().default(1),max_substeps:I().int().min(1).default(60),time_multiplier:I().positive().max(1e3).default(1),random_faults:L().default(!0),seed:I().int().optional(),overrun_threshold_multiplier:I().min(1).max(10).optional(),limits:Pa.optional()}).strict();B({kind:W(`MiravoTemplate`),version:W(`1`),name:F().min(1),description:F().optional(),namespace:Ta.optional(),areas:z(wa).min(1),protocols:Na.optional(),shifts:Sa.optional(),settings:Fa.optional()}).strict().superRefine((e,t)=>{let n=new Set,r=new Set;e.areas.forEach((e,i)=>{e.lines.forEach((e,a)=>{let o=[`areas`,i,`lines`,a];e.assets.forEach((e,r)=>{e.id&&(e.count!==1||n.has(e.id))&&t.addIssue({code:y.custom,path:[...o,`assets`,r],message:`Assignment id '${e.id}' must be unique with count: 1. Fix: use a unique id and count: 1.`}),e.id&&n.add(e.id)});let s=e.flow;(s?.stations??[]).forEach((n,i)=>{let a=[...o,`flow`,`stations`,i],c=e.assets.find(e=>e.id===n.asset);(!c||c.count!==1||r.has(n.asset))&&t.addIssue({code:y.custom,path:[...a,`asset`],message:`Invalid station '${n.asset}'. Fix: reference a unique assignment id with count: 1 in this same line.`}),r.add(n.asset),s&&i<s.stations.length-1&&!n.buffer_after&&t.addIssue({code:y.custom,path:a,message:`Station '${n.asset}' needs buffer_after. Fix: add buffer_after: { capacity: 1 }.`})})})});for(let n of e.shifts?.changeovers??[])r.has(n.station)||t.addIssue({code:y.custom,message:`Unknown changeover station '${n.station}'. Fix: reference a flow station id.`});let i=e.settings?.limits?.max_asset_count??1e4;for(let n=0;n<e.areas.length;n++){let r=e.areas[n];if(r)for(let e=0;e<r.lines.length;e++){let a=r.lines[e];if(a)for(let r=0;r<a.assets.length;r++){let o=a.assets[r];!o||o.count<=i||t.addIssue({code:y.custom,path:[`areas`,n,`lines`,e,`assets`,r,`count`],message:`Asset assignment count must be at most ${i}. Fix: reduce count or set settings.limits.max_asset_count higher.`})}}}});var Ia=1e3,Z=B({correlationId:F().optional()}),La=F().trim().min(1).superRefine((e,t)=>{let n=ti(e);n&&t.addIssue({code:y.custom,message:n})}),Ra=Z.extend({type:W(`spawn`),model:F().min(1),count:I().int().positive().max(Mr),assetName:La.optional(),assetPrefix:La.optional(),protocolScope:ha.optional(),dryRun:L().optional()}),za=Z.extend({type:W(`removeAsset`),assetId:F().min(1)}),Ba=Z.extend({type:W(`setParameter`),assetId:F().min(1),parameter:F().min(1),value:I().finite()}),Va=Z.extend({type:W(`triggerFault`),assetId:F().min(1),fault:F().min(1)}),Ha=Z.extend({type:W(`clearFault`),assetId:F().min(1),fault:F().min(1)}),Ua=Z.extend({type:W(`pause`)}),Wa=Z.extend({type:W(`resume`)}),Ga=Z.extend({type:W(`setSpeed`),multiplier:I().positive().finite().max(Ia)}),Ka=Z.extend({type:W(`unquarantine`),assetId:F().min(1)}),qa=Z.extend({type:W(`invokeMethod`),assetId:F().min(1),method:F().min(1),arguments:U(F().min(1),V([I().finite(),F(),L()])).optional()}),Ja=Z.extend({type:W(`loadTemplate`),templatePath:F().min(1)}),Ya=Z.extend({type:W(`unloadTemplate`),templateId:F().min(1)}),Xa=Z.extend({type:W(`resetFactory`)}),Za=Z.extend({type:W(`enableAdapter`),adapter:F().min(1),config:U(F(),R()).optional()}),Qa=Z.extend({type:W(`disableAdapter`),adapter:F().min(1)}),$a=H(`type`,[Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,qa,Ja,Ya,Xa,Za,Qa]),eo=B({success:L(),command:F(),correlationId:F().optional(),message:F(),data:R().optional(),error:F().optional()}),to=`/api`,no=V([I().finite(),F(),L()]),ro=tr([I().finite(),I().finite()]),io=B({name:F().min(1),dataType:F().min(1),description:F().nullable()}),ao=B({description:F().nullable(),inputArguments:z(io),outputArguments:z(io)}),oo=B({id:F().min(1),assetType:F().min(1),browsePath:z(F().min(1)),lifecycleStage:F().min(1),operatingHours:I().finite().nonnegative(),activeFaults:z(F().min(1)),isQuarantined:L(),parameters:U(F().min(1),B({value:no,type:F().min(1),unit:F().optional()})),inputs:U(F().min(1),B({value:I().finite(),default:I().finite(),unit:F().optional(),binding:B({asset:F().min(1),member:F().min(1)}).nullable()})),members:U(F().min(1),B({value:no,quality:G([`good`,`bad`,`uncertain`]),timestamp:I().finite(),meta:B({kind:F().min(1),dataType:F().min(1),access:F().min(1),unit:F().nullable(),euRange:ro.nullable()})})),methods:U(F().min(1),ao)}),so=B({name:F().min(1),description:F().nullable(),memberCount:I().int().nonnegative(),methodCount:I().int().nonnegative(),faultCount:I().int().nonnegative(),hasLifecycle:L(),lifecycleStageCount:I().int().nonnegative(),source:F().min(1)}),co=B({model:F().min(1),count:I().int().nonnegative(),variation:I().finite().nonnegative(),parameters:U(F().min(1),I().finite()).optional(),protocol_scope:z(X).optional()}),lo=B({name:F().min(1),assets:z(co),protocol_scope:z(X).optional()}),uo=B({name:F().min(1),lines:z(lo),protocol_scope:z(X).optional()}),fo=B({id:F().min(1),name:F().min(1),description:F().nullable(),category:F().min(1),models:z(F().min(1)),assetCount:I().int().nonnegative(),memberCount:I().int().nonnegative(),source:F().min(1)}),po=fo,mo=fo.extend({topology:z(uo),namespace:B({enterprise:F().min(1).optional(),site:F().min(1).optional(),prefix:F().min(1).optional()}).optional(),settings:B({tickIntervalMs:I().int().positive().optional(),timeMultiplier:I().finite().positive().optional(),limits:B({maxMembersPerModel:I().int().positive().optional(),maxAssetCount:I().int().positive().optional()}).optional()}).optional()}),ho=G([`idle`,`running`,`paused`,`stopped`]),go=B({events:z(H(`type`,[B({id:I().int().nonnegative(),type:W(`fault:triggered`),assetId:F().min(1),fault:F().min(1),effects:U(F(),R()),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`fault:cleared`),assetId:F().min(1),fault:F().min(1),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`lifecycle:changed`),assetId:F().min(1),from:F().min(1),to:F().min(1),operatingHours:I().finite().nonnegative(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`asset:maintenance`),assetId:F().min(1),from:F().min(1),to:F().min(1),operatingHours:I().finite().nonnegative(),reason:G([`manual`,`scheduled`]),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`asset:created`),assetId:F().min(1),assetType:F().min(1),browsePath:z(F().min(1)),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`asset:removed`),assetId:F().min(1),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:G([`template:loaded`,`template:unloaded`]),templateId:F().min(1),assetCount:I().int().nonnegative(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`engine:state-changed`),from:ho,to:ho,tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`engine:error`),context:F(),message:F(),fix:F().optional(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`integration:resource`),operationId:F().min(1),operationType:G([`apply`,`cleanup`]),templateId:F().min(1),targetLabel:F().min(1),hostname:F().min(1),phase:F().min(1),resourceType:F().min(1),resourceName:F().min(1),action:F().min(1),status:G([`success`,`failed`]),error:F().optional(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()}),B({id:I().int().nonnegative(),type:W(`integration:operation`),operationId:F().min(1),operationType:G([`apply`,`cleanup`]),templateId:F().min(1),targetLabel:F().min(1),hostname:F().min(1),applied:I().int().nonnegative(),failed:I().int().nonnegative(),duration:I().int().nonnegative(),tick:I().int().nonnegative(),simulationTime:I().finite().nonnegative(),timestamp:I().finite().nonnegative()})])),nextCursor:I().int().nonnegative().nullable(),hasMore:L()}),_o=`litmus-edge`,vo=U(X,Lr),yo=B({id:F().min(1),integrationId:F().min(1),label:F().min(1),hostname:F().min(1),apiTokenSet:L(),sourceHostname:F().min(1),exposedPorts:vo.optional(),lastUsedAt:I().int().nonnegative().optional()}).strict(),bo=B({targets:z(yo)}).strict(),xo=B({integrationId:F().min(1).default(_o),label:F().min(1),hostname:F().min(1),apiToken:F().min(1),sourceHostname:F().min(1)}),So=B({integrationId:F().min(1).optional(),label:F().min(1).optional(),hostname:F().min(1).optional(),apiToken:F().min(1).optional(),sourceHostname:F().min(1).optional()}),Co=B({targetId:F().min(1).optional(),hostname:F().min(1),apiToken:F().min(1).optional(),sourceHostname:F().min(1)}).superRefine((e,t)=>{!e.targetId&&!e.apiToken&&t.addIssue({code:y.custom,message:`apiToken is required when targetId is omitted.`,path:[`apiToken`]})}),wo=H(`connected`,[B({connected:W(!0),hostname:F().min(1),sourceHostname:F().min(1),litmusEdgeVersion:F().min(1).optional(),warning:F().min(1).optional()}),B({connected:W(!1),error:F().min(1)})]),To=G([`devices`,`models`,`assets`]),Eo=G([`create`,`update`,`replace`,`delete`,`noop`,`blocked`]),Do=G([`device`,`model`,`asset`,`param-sync`]),Oo=G([`apply`,`cleanup`]),ko=G([`success`,`partial`,`blocked`,`noop`,`failed`]);G([`device`,`model`,`asset`,`param-sync`]),G([`create`,`update`,`replace`,`delete`]);var Ao=B({area:F().min(1).optional(),line:F().min(1).optional(),asset:F().min(1).optional()}),jo=B({action:Eo,resourceType:Do,name:F().min(1),resourceId:F().min(1).optional(),protocol:X.optional(),endpoint:F().min(1).optional(),detail:F().min(1).optional(),blockReason:F().min(1).optional()}),Mo=B({sourceMode:G([`static`,`managed`]),targetHost:F().min(1),sourceHostname:F().min(1).optional(),scope:z(To),filters:Ao,entries:z(jo)}),No=B({plan:Mo}),Po=`Provide exactly one of 'templateId' (a running template) or 'assetId' (a running standalone asset).`;function Fo(e,t){let n=(e,n)=>{if(e.code===`unrecognized_keys`&&e.keys.some(e=>e===`templateId`||e===`assetId`))return{message:t};if(e.code!==`invalid_union`)return{message:n.defaultError};let r=n.data,i=typeof r==`object`&&r?r:{},a=`templateId`in i;return a===`assetId`in i?{message:t}:{message:e.unionErrors[+!a]?.issues.map(e=>e.message).join(`; `)??t}};return V([B({...e,templateId:F().min(1)},{errorMap:n}).strict(),B({...e,assetId:F().min(1)},{errorMap:n}).strict()],{errorMap:n})}var Io=Fo({targetId:F().min(1),protocol:X.optional(),scope:z(To).optional(),ifUnmanaged:G([`fail`,`skip`]).optional(),exposedPorts:vo.optional()},Po),Lo=B({plan:Mo,applied:I().int().nonnegative(),failed:I().int().nonnegative(),error:F().min(1).optional()}),Ro=G([`this`,`all`]),zo=Fo({targetId:F().min(1),scope:z(To).optional(),instances:Ro.optional()},`Provide exactly one of 'templateId' or 'assetId'.`),Bo=B({plan:Mo,deleted:I().int().nonnegative(),failed:I().int().nonnegative(),error:F().min(1).optional()}),Vo=B({create:I().int().nonnegative(),update:I().int().nonnegative(),replace:I().int().nonnegative(),delete:I().int().nonnegative(),noop:I().int().nonnegative(),failed:I().int().nonnegative(),total:I().int().nonnegative()}),Ho=B({device:Vo,model:Vo,asset:Vo,"param-sync":Vo}),Uo=B({operations:z(B({schemaVersion:W(1),operationId:F().min(1),operationType:Oo,status:ko,factoryName:F().min(1),templateId:F().min(1).optional(),assetId:F().min(1).optional(),targetId:F().min(1),targetLabel:F().min(1),hostname:F().min(1),scope:z(F().min(1)),instances:Ro.optional(),successCount:I().int().nonnegative(),failedCount:I().int().nonnegative(),blockedCount:I().int().nonnegative(),startedAt:I().int().nonnegative(),completedAt:I().int().nonnegative(),durationMs:I().int().nonnegative(),resourceCounts:Ho,error:F().min(1).optional()}).refine(e=>e.templateId===void 0!=(e.assetId===void 0),{message:`An operation record names exactly one of 'templateId' or 'assetId'.`})),total:I().int().nonnegative(),hasMore:L()}),Wo=B({type:Oo.optional(),targetId:F().min(1).optional(),templateId:F().min(1).optional(),assetId:F().min(1).optional(),limit:gr.number().int().positive().max(500).optional(),offset:gr.number().int().nonnegative().optional()}),Go=B({cancelled:W(!0)}),Ko=B({operationId:F().min(1),type:Oo,templateId:F().min(1).optional(),assetId:F().min(1).optional(),targetLabel:F().min(1),totalPlanned:I().int().nonnegative(),attempt:I().int().positive().optional(),maxAttempts:I().int().positive().optional()}),qo=B({operationId:F().min(1),type:Oo,targetId:F().min(1).optional(),templateId:F().min(1).optional(),assetId:F().min(1).optional()}),Jo=B({operationId:F().min(1),phase:Do,total:I().int().nonnegative()}),Yo=B({operationId:F().min(1),phase:Do,name:F().min(1),action:Eo,status:G([`success`,`failed`]),error:F().min(1).optional(),index:I().int().positive(),of:I().int().positive()}),Xo=B({operationId:F().min(1),applied:I().int().nonnegative().optional(),deleted:I().int().nonnegative().optional(),failed:I().int().nonnegative(),duration:I().int().nonnegative(),plan:Mo}),Zo=Xo,Qo=Xo,$o=B({operationId:F().min(1),attempt:I().int().positive(),maxAttempts:I().int().positive(),delayMs:I().int().nonnegative(),error:F().min(1)}),es=B({message:F().min(1)}),ts=B({level:G([`info`,`warn`,`error`]),message:F().min(1),protocol:X.optional(),port:Lr.optional(),templatePort:Lr.optional()}),ns=H(`event`,[B({event:W(`log`),data:ts}),B({event:W(`started`),data:Ko}),B({event:W(`accepted`),data:qo}),B({event:W(`phase`),data:Jo}),B({event:W(`resource`),data:Yo}),B({event:W(`complete`),data:Zo}),B({event:W(`cancelled`),data:Qo}),B({event:W(`retrying`),data:$o}),B({event:W(`error`),data:es})]),rs=B({enabled:L(),port:I().int().positive().optional()}),is=B({asset:F().min(1),browsePath:F(),member:F().min(1),model:F().min(1),dataType:F().min(1),unit:F().optional(),euRange:tr([I().finite(),I().finite()]).optional(),access:F().min(1),kind:G([`variable`,`property`]),protocols:U(F(),U(F(),R()))}),as=B({template:F().min(1).optional(),generatedAt:F().datetime(),protocols:U(F(),rs),tags:z(is),summary:B({totalTags:I().int().nonnegative(),totalAssets:I().int().nonnegative(),enabledProtocols:z(F().min(1))})}),os=B({name:F().min(1),description:F().nullable(),parameters:U(F().min(1),B({type:F().min(1),default:no,unit:F().optional()})),inputs:U(F().min(1),B({default:I().finite(),unit:F().optional(),description:F().optional()})).optional(),members:U(F().min(1),B({kind:F().min(1),dataType:F().min(1),access:F().min(1),unit:F().nullable(),euRange:ro.nullable(),default:no.nullable()})),methods:U(F().min(1),ao),faults:z(F().min(1)),lifecycle:B({stages:z(F().min(1)),totalHours:I().finite().nonnegative()}).nullable()}),ss=B({status:G([`ok`,`fail`]),factoryState:q.shape.core.shape.state,tickCount:I().int().nonnegative(),mqttEnabled:L(),mqttConnected:L().nullable(),opcuaEnabled:L(),opcuaConnected:L().nullable(),modbusEnabled:L(),modbusConnected:L().nullable(),stalled:L(),reason:F().optional(),factoryName:F().min(1).optional(),processId:F().min(1).optional()}),cs=B({reason:F().min(1).optional()}),ls=B({status:W(`shutting_down`)}),us=B({id:F().min(1)}),ds=B({name:F().min(1)}),fs=B({id:F().min(1)}),ps=B({operationId:F().min(1)}),ms=B({id:F().min(1)}),hs=B({type:G([`fault:triggered`,`fault:cleared`,`lifecycle:changed`,`asset:maintenance`,`asset:created`,`asset:removed`,`template:loaded`,`template:unloaded`,`engine:state-changed`,`engine:error`,`integration:resource`,`integration:operation`]).optional(),assetId:F().min(1).optional(),limit:gr.number().int().positive().max(1e3).optional(),cursor:gr.number().int().nonnegative().optional()}),gs=gr.number().int().min(1).max(Ar).optional(),_s=B({host:F().min(1),protocol:X.optional(),modbusPort:gs,opcuaPort:gs,mqttPort:gs}),vs=U(F(),R()),ys=U(F(),R());function Q(e){return`${to}${e}`}var bs=[{method:`GET`,path:Q(`/openapi.json`),operationId:`openApiDocument`,auth:`none`,response:{kind:`json`,schema:ys},description:`Generated OpenAPI document for the Miravo admin API.`},{method:`GET`,path:Q(`/healthz`),operationId:`health`,auth:`none`,response:{kind:`json`,schema:ss},description:`Liveness probe for the Miravo admin server.`},{method:`GET`,path:Q(`/readyz`),operationId:`readiness`,auth:`none`,response:{kind:`json`,schema:ss},description:`Readiness probe for the Miravo admin server.`},{method:`GET`,path:Q(`/metrics`),operationId:`metrics`,auth:`required`,response:{kind:`json`,schema:q},description:`Engine metrics snapshot.`},{method:`GET`,path:Q(`/state`),operationId:`state`,auth:`required`,response:{kind:`json`,schema:Hr},description:`Engine state snapshot.`},{method:`GET`,path:Q(`/bootstrap`),operationId:`bootstrap`,auth:`none`,response:{kind:`json`,schema:qr},description:`Console bootstrap payload.`},{method:`POST`,path:Q(`/commands`),operationId:`commands`,auth:`required`,body:$a,response:{kind:`json`,schema:eo},description:`Execute an engine command.`},{method:`POST`,path:Q(`/shutdown`),operationId:`shutdown`,auth:`required`,body:cs,response:{kind:`json`,schema:ls},description:`Request graceful shutdown.`},{method:`GET`,path:Q(`/assets/:id`),operationId:`assetDetail`,auth:`required`,params:us,response:{kind:`json`,schema:oo},description:`Inspect a running asset.`},{method:`GET`,path:Q(`/models/:name`),operationId:`modelDetail`,auth:`required`,params:ds,response:{kind:`json`,schema:os},description:`Inspect a registered model schema.`},{method:`GET`,path:Q(`/events`),operationId:`events`,auth:`required`,query:hs,response:{kind:`json`,schema:go},description:`Read paginated event log entries.`},{method:`GET`,path:Q(`/catalog/models`),operationId:`catalogModels`,auth:`required`,response:{kind:`json`,schema:z(so)},description:`List catalog models.`},{method:`GET`,path:Q(`/catalog/models/:name/le-dt.json`),operationId:`catalogModelLeDt`,auth:`required`,params:ds,response:{kind:`json`,schema:vs},description:`Download LE Digital Twin JSON for a catalog model.`},{method:`GET`,path:Q(`/catalog/models/:name/yaml`),operationId:`catalogModelYaml`,auth:`required`,params:ds,response:{kind:`yaml`},description:`Read raw YAML for a catalog model.`},{method:`GET`,path:Q(`/catalog/models/:name`),operationId:`catalogModelDetail`,auth:`required`,params:ds,response:{kind:`json`,schema:os},description:`Read catalog model schema.`},{method:`GET`,path:Q(`/catalog/templates/:id/le-template.json`),operationId:`catalogTemplateLeTemplateJson`,auth:`required`,params:fs,query:_s,response:{kind:`passthrough`},description:`Download LE template JSON export.`},{method:`GET`,path:Q(`/catalog/templates/:id/le-tags.csv`),operationId:`catalogTemplateLeTagsCsv`,auth:`required`,params:fs,query:_s,response:{kind:`passthrough`},description:`Download LE tags CSV export.`},{method:`GET`,path:Q(`/catalog/templates/:id/yaml`),operationId:`catalogTemplateYaml`,auth:`required`,params:fs,response:{kind:`yaml`},description:`Read raw YAML for a catalog template.`},{method:`GET`,path:Q(`/catalog/templates/:id`),operationId:`catalogTemplateDetail`,auth:`required`,params:fs,response:{kind:`json`,schema:mo},description:`Read catalog template detail.`},{method:`GET`,path:Q(`/catalog/templates`),operationId:`catalogTemplates`,auth:`required`,response:{kind:`json`,schema:z(po)},description:`List catalog templates.`},{method:`GET`,path:Q(`/templates`),operationId:`templates`,auth:`required`,response:{kind:`json`,schema:z(Ur)},description:`List templates loaded into the factory.`},{method:`GET`,path:Q(`/manifest`),operationId:`manifest`,auth:`required`,response:{kind:`json`,schema:as},description:`Read unified protocol manifest.`},{method:`POST`,path:Q(`/auth/login`),operationId:`authLogin`,auth:`none`,body:yr,response:{kind:`json`,schema:br},description:`Authenticate and create an admin session.`},{method:`POST`,path:Q(`/auth/logout`),operationId:`authLogout`,auth:`none`,response:{kind:`json`,schema:Sr},description:`Destroy the current admin session.`},{method:`PUT`,path:Q(`/auth/password`),operationId:`authPassword`,auth:`required`,body:xr,response:{kind:`json`,schema:Sr},description:`Change the admin password.`},{method:`GET`,path:Q(`/auth/status`),operationId:`authStatus`,auth:`none`,response:{kind:`json`,schema:Cr},description:`Check the current auth status.`},{method:`GET`,path:Q(`/ws`),operationId:`runtimeWebSocket`,auth:`required`,response:{kind:`passthrough`},description:`Upgrade to the runtime WebSocket stream.`},{method:`GET`,path:Q(`/integrations/le/operations`),operationId:`integrationOperations`,auth:`required`,query:Wo,response:{kind:`json`,schema:Uo},description:`List persisted integration operation summaries, optionally for one template or asset.`},{method:`GET`,path:Q(`/integrations/le/targets`),operationId:`integrationTargets`,auth:`required`,response:{kind:`json`,schema:bo},description:`List saved LE targets.`},{method:`POST`,path:Q(`/integrations/le/targets`),operationId:`integrationTargetCreate`,auth:`required`,body:xo,response:{kind:`json`,schema:yo},description:`Create an LE target.`},{method:`POST`,path:Q(`/integrations/le/targets/test`),operationId:`integrationConnectionTest`,auth:`required`,body:Co,response:{kind:`json`,schema:wo},description:`Test LE target connectivity.`},{method:`GET`,path:Q(`/integrations/le/targets/:id`),operationId:`integrationTargetDetail`,auth:`required`,params:ms,response:{kind:`json`,schema:yo},description:`Read one LE target.`},{method:`PUT`,path:Q(`/integrations/le/targets/:id`),operationId:`integrationTargetById`,auth:`required`,params:ms,body:So,response:{kind:`json`,schema:yo},description:`Update one LE target.`},{method:`DELETE`,path:Q(`/integrations/le/targets/:id`),operationId:`integrationTargetDelete`,auth:`required`,params:ms,response:{kind:`json`,schema:B({message:F().min(1)})},description:`Delete one LE target.`},{method:`POST`,path:Q(`/integrations/le/plan`),operationId:`integrationPlan`,auth:`required`,body:Io,response:{kind:`json`,schema:No},description:`Preview applying a running template or standalone asset to an LE target.`},{method:`POST`,path:Q(`/integrations/le/apply`),operationId:`integrationApply`,auth:`required`,body:Io,response:{kind:`json`,schema:Lo},additionalSuccessResponses:{207:Lo},description:`Apply a running template or standalone asset to an LE target.`},{method:`POST`,path:Q(`/integrations/le/cleanup/plan`),operationId:`integrationCleanupPlan`,auth:`required`,body:zo,response:{kind:`json`,schema:No},description:`Preview removing what a template or standalone asset of this factory applied to an LE target.`},{method:`POST`,path:Q(`/integrations/le/cleanup`),operationId:`integrationCleanup`,auth:`required`,body:zo,response:{kind:`json`,schema:Bo},additionalSuccessResponses:{207:Bo},description:`Remove what a template or standalone asset of this factory applied to an LE target.`},{method:`POST`,path:Q(`/integrations/le/operations/:operationId/cancel`),operationId:`integrationOperationCancel`,auth:`required`,params:ps,response:{kind:`json`,schema:Go},description:`Cancel an in-flight streaming LE operation.`},{method:`POST`,path:Q(`/integrations/le/apply/stream`),operationId:`integrationApplyStream`,auth:`required`,body:Io,response:{kind:`passthrough`},description:`Stream LE apply progress over SSE.`},{method:`POST`,path:Q(`/integrations/le/cleanup/stream`),operationId:`integrationCleanupStream`,auth:`required`,body:zo,response:{kind:`passthrough`},description:`Stream LE cleanup progress over SSE.`}],xs=B({code:G([`UNAUTHORIZED`,`NOT_FOUND`,`INVALID_REQUEST`,`INTERNAL_ERROR`]),message:F(),hint:F().optional()}),Ss={UNAUTHORIZED:401,NOT_FOUND:404,INVALID_REQUEST:400,INTERNAL_ERROR:500},Cs=class extends Error{code;status;hint;constructor(e){super(e.message),this.name=`ApiError`,this.code=e.code,this.status=e.status??Ss[e.code],this.hint=e.hint}static is(e){return e instanceof Error&&e.name===`ApiError`}};function ws(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Ts(e,t){return e?._def?.typeName===t}function Es(e,t){let n=e.ZodType.prototype[t];e.ZodType.prototype[t]=function(...e){let t=n.apply(this,e);return t._def.openapi=this._def.openapi,t}}function Ds(e){if(e.ZodType.prototype.openapi!==void 0)return;e.ZodType.prototype.openapi=function(e,t){let n=(typeof e==`string`?t:e)??{},{param:r}=n,i=ws(n,[`param`]),a=Object.assign(Object.assign({},this._def.openapi?._internal),typeof e==`string`?{refId:e}:void 0),o=Object.assign(Object.assign(Object.assign({},this._def.openapi?.metadata),i),this._def.openapi?.metadata?.param||r?{param:Object.assign(Object.assign({},this._def.openapi?.metadata?.param),r)}:void 0),s=new this.constructor(Object.assign(Object.assign({},this._def),{openapi:Object.assign(Object.assign({},Object.keys(a).length>0?{_internal:a}:void 0),Object.keys(o).length>0?{metadata:o}:void 0)}));if(Ts(this,`ZodObject`)){let e=this.extend;s.extend=function(...t){let n=e.apply(this,t);return n._def.openapi={_internal:{extendedFrom:this._def.openapi?._internal?.refId?{refId:this._def.openapi?._internal?.refId,schema:this}:this._def.openapi?._internal?.extendedFrom},metadata:n._def.openapi?.metadata},n}}return s},Es(e,`optional`),Es(e,`nullable`),Es(e,`default`),Es(e,`transform`),Es(e,`refine`);let t=e.ZodObject.prototype.deepPartial;e.ZodObject.prototype.deepPartial=function(){let e=this._def.shape(),n=t.apply(this),r=n._def.shape();return Object.entries(r).forEach(([t,n])=>{n._def.openapi=e[t]?._def?.openapi}),n._def.openapi=void 0,n};let n=e.ZodObject.prototype.pick;e.ZodObject.prototype.pick=function(...e){let t=n.apply(this,e);return t._def.openapi=void 0,t};let r=e.ZodObject.prototype.omit;e.ZodObject.prototype.omit=function(...e){let t=r.apply(this,e);return t._def.openapi=void 0,t}}var Os=class{constructor(e){this.parents=e,this._definitions=[]}get definitions(){return[...this.parents?.flatMap(e=>e.definitions)??[],...this._definitions]}register(e,t){let n=this.schemaWithRefId(e,t);return this._definitions.push({type:`schema`,schema:n}),n}registerParameter(e,t){let n=this.schemaWithRefId(e,t),r=n._def.openapi?.metadata,i=n.openapi(Object.assign(Object.assign({},r),{param:Object.assign(Object.assign({},r?.param),{name:r?.param?.name??e})}));return this._definitions.push({type:`parameter`,schema:i}),i}registerPath(e){this._definitions.push({type:`route`,route:e})}registerWebhook(e){this._definitions.push({type:`webhook`,webhook:e})}registerComponent(e,t,n){return this._definitions.push({type:`component`,componentType:e,name:t,component:n}),{name:t,ref:{$ref:`#/components/${e}/${t}`}}}schemaWithRefId(e,t){return t.openapi(e)}};Ds(vr),new Os,H(`type`,[Ra.openapi(`SpawnCommand`),za.openapi(`RemoveAssetCommand`),Ba.openapi(`SetParameterCommand`),Va.openapi(`TriggerFaultCommand`),Ha.openapi(`ClearFaultCommand`),Ua.openapi(`PauseCommand`),Wa.openapi(`ResumeCommand`),Ga.openapi(`SetSpeedCommand`),Ka.openapi(`UnquarantineCommand`),qa.openapi(`InvokeMethodCommand`),Ja.openapi(`LoadTemplateCommand`),Ya.openapi(`UnloadTemplateCommand`),Xa.openapi(`ResetFactoryCommand`),Za.openapi(`EnableAdapterCommand`),Qa.openapi(`DisableAdapterCommand`)]).openapi(`EngineCommand`);var ks=new Map(bs.map(e=>[`${e.method} ${e.path}`,e]));function $(e,t){let n=ks.get(`${e} ${t}`);if(!n)throw Error(`Missing admin route definition for ${e} ${t}`);return n}var As={assetDetail:$(`GET`,`/api/assets/:id`),authLogin:$(`POST`,`/api/auth/login`),authLogout:$(`POST`,`/api/auth/logout`),authPassword:$(`PUT`,`/api/auth/password`),authStatus:$(`GET`,`/api/auth/status`),bootstrap:$(`GET`,`/api/bootstrap`),catalogModelDetail:$(`GET`,`/api/catalog/models/:name`),catalogModelLeDt:$(`GET`,`/api/catalog/models/:name/le-dt.json`),catalogModels:$(`GET`,`/api/catalog/models`),catalogModelYaml:$(`GET`,`/api/catalog/models/:name/yaml`),catalogTemplateDetail:$(`GET`,`/api/catalog/templates/:id`),catalogTemplateLeTagsCsv:$(`GET`,`/api/catalog/templates/:id/le-tags.csv`),catalogTemplateLeTemplateJson:$(`GET`,`/api/catalog/templates/:id/le-template.json`),catalogTemplates:$(`GET`,`/api/catalog/templates`),catalogTemplateYaml:$(`GET`,`/api/catalog/templates/:id/yaml`),commands:$(`POST`,`/api/commands`),events:$(`GET`,`/api/events`),health:$(`GET`,`/api/healthz`),integrationApply:$(`POST`,`/api/integrations/le/apply`),integrationApplyStream:$(`POST`,`/api/integrations/le/apply/stream`),integrationCleanup:$(`POST`,`/api/integrations/le/cleanup`),integrationCleanupPlan:$(`POST`,`/api/integrations/le/cleanup/plan`),integrationCleanupStream:$(`POST`,`/api/integrations/le/cleanup/stream`),integrationConnectionTest:$(`POST`,`/api/integrations/le/targets/test`),integrationOperationCancel:$(`POST`,`/api/integrations/le/operations/:operationId/cancel`),integrationOperations:$(`GET`,`/api/integrations/le/operations`),integrationPlan:$(`POST`,`/api/integrations/le/plan`),integrationTargetById:$(`PUT`,`/api/integrations/le/targets/:id`),integrationTargetCreate:$(`POST`,`/api/integrations/le/targets`),integrationTargetDelete:$(`DELETE`,`/api/integrations/le/targets/:id`),integrationTargetDetail:$(`GET`,`/api/integrations/le/targets/:id`),integrationTargets:$(`GET`,`/api/integrations/le/targets`),manifest:$(`GET`,`/api/manifest`),metrics:$(`GET`,`/api/metrics`),modelDetail:$(`GET`,`/api/models/:name`),openApiDocument:$(`GET`,`/api/openapi.json`),readiness:$(`GET`,`/api/readyz`),runtimeWebSocket:$(`GET`,`/api/ws`),shutdown:$(`POST`,`/api/shutdown`),state:$(`GET`,`/api/state`),templates:$(`GET`,`/api/templates`)},js=`miravo:console-username`;function Ms(){try{let e=sessionStorage.getItem(js);return typeof e==`string`&&e.length>0?e:``}catch{return``}}function Ns(e){try{e!==null&&e.length>0?sessionStorage.setItem(js,e):sessionStorage.removeItem(js)}catch{}}var Ps=new $e({defaultOptions:{queries:{staleTime:3e4,gcTime:10*6e4,retry:(e,t)=>{if(t instanceof Error&&t.message===`Session expired`)return!1;if(Cs.is(t)){let e=t.status;if(e>=400&&e<500)return!1}return e<2},refetchOnWindowFocus:!1}}}),Fs={catalog:{templates:()=>[`catalog`,`templates`],models:()=>[`catalog`,`models`],templateDetail:e=>[`catalog`,`template`,e],modelSchema:e=>[`catalog`,`model-schema`,e],modelSchemasBatch:e=>[`catalog`,`model-schemas-batch`,e]},spawnPreviewAll:[`spawn`,`preview`],spawnPreview:(e,t,n,r)=>[`spawn`,`preview`,e,t,n,r],events:(e,t)=>[`events`,e,t],tags:{manifest:e=>[`tags`,`manifest`,e]},integrations:{targets:()=>[`integrations`,`targets`],operationsList:()=>[`integrations`,`operations`,`list`],operationsFactory:()=>[`integrations`,`operations`,`factory`],plan:(e,t)=>[`integrations`,`plan`,e,t],operationsForTarget:e=>[`integrations`,`operations`,`target`,e],operations:()=>[`integrations`,`operations`]},assets:{detail:e=>[`assets`,e]},floor:{state:()=>[`floor`,`state`]}},Is=`miravo:query-cache:v2`,Ls=5*6e4,Rs=Fs.integrations.targets(),zs=`bootstrap`,Bs=!0;function Vs(e){try{let t=sessionStorage.getItem(Is);if(!t)return;let n=JSON.parse(t);if(typeof n!=`object`||!n)return;let r=n;if(typeof r.timestamp!=`number`)return;if(Date.now()-r.timestamp>Ls){sessionStorage.removeItem(Is);return}Ae(e,r.state)}catch{}}function Hs(e){try{let t=ke(e,{shouldDehydrateQuery:e=>e.state.status===`success`&&e.queryKey[0]!==zs&&!(e.queryKey[0]===Rs[0]&&e.queryKey[1]===Rs[1])}),n={timestamp:Date.now(),state:t};sessionStorage.setItem(Is,JSON.stringify(n))}catch{}}function Us(e){let t=null,n=e.getQueryCache().subscribe(()=>{Bs&&(t&&clearTimeout(t),t=setTimeout(()=>{Bs&&Hs(e)},500))});return()=>{t&&clearTimeout(t),n()}}function Ws(){try{sessionStorage.removeItem(Is)}catch{}}function Gs(){Bs=!0}function Ks(){Bs=!1}var qs=(void 0)?.trim()||`/api`;function Js(e,t){return`${e.trim().replace(/\/+$/,``)||`/api`}${t.startsWith(`/`)?t:`/${t}`}`}function Ys(){Ks(),Ps.cancelQueries(),Ps.setQueryData([`bootstrap`],{authenticated:!1}),Ps.removeQueries({predicate:e=>e.queryKey[0]!==`bootstrap`}),Ws(),ft(),Ns(null)}function Xs(){typeof window>`u`||(Ys(),window.location.pathname!==`/login`&&window.location.replace(`/login`))}var Zs=class extends Error{result;constructor(e){super(e.message),this.name=`CommandError`,this.result=e}};function Qs(e,t){let n=`${e} ${t}`;return e===502||e===503||e===504?`${n} — the Miravo server may not be running, or a reverse proxy cannot reach it.`:n}async function $s(e){try{let t=await e.json(),n=xs.safeParse(t);if(n.success)return new Cs({code:n.data.code,status:e.status,message:n.data.message,hint:n.data.hint})}catch{}return Error(Qs(e.status,e.statusText))}async function ec(e,t){return rc(`/auth/login`,As.authLogin,{body:{username:e,password:t}})}async function tc(){await rc(`/auth/logout`,As.authLogout)}function nc(e,t){if(e.response.kind!==`json`)throw Error(`requestJSON requires a JSON route definition for ${e.method} ${e.path}`);return e.additionalSuccessResponses?.[t]??e.response.schema}async function rc(e,t,n={}){let{body:r,init:i}=n,a={method:t.method,credentials:`include`,...i};if(t.body){let e=t.body.safeParse(r);if(!e.success)throw Error(`Invalid request for ${t.method} ${t.path}: ${e.error.message}`);a.headers={"content-type":`application/json`,...i?.headers??{}},a.body=JSON.stringify(e.data)}else if(r!==void 0)throw Error(`Route ${t.method} ${t.path} does not accept a JSON body.`);let o=await fetch(Js(qs,e),a);if(o.status===401&&t.auth===`required`)throw Xs(),Error(`Session expired`);if(!o.ok)throw await $s(o);let s;try{s=await o.json()}catch{throw Error(`Invalid JSON response for ${t.method} ${t.path}`)}let c=nc(t,o.status).safeParse(s);if(!c.success)throw Error(`Invalid response for ${t.method} ${t.path}: ${c.error.message}`);return c.data}async function ic(e,t){return rc(`/auth/password`,As.authPassword,{body:{oldPassword:e,newPassword:t}})}async function ac(){return rc(`/bootstrap`,As.bootstrap)}async function oc(e,t){return rc(e,t)}async function sc(e){let t=await rc(`/commands`,As.commands,{body:e});if(!t.success)throw new Zs(t);return t}async function cc(e,t){if(t.response.kind!==`passthrough`)throw Error(`fetchBlob requires a passthrough route definition for ${t.method} ${t.path}`);let n=await fetch(Js(qs,e),{credentials:`include`});if(n.status===401&&t.auth===`required`)throw Xs(),Error(`Session expired`);if(!n.ok)throw Error(Qs(n.status,n.statusText));return n.blob()}async function lc(e,t){if(t.response.kind!==`yaml`)throw Error(`fetchText requires a YAML route definition for ${t.method} ${t.path}`);let n=await fetch(Js(qs,e),{credentials:`include`});if(n.status===401&&t.auth===`required`)throw Xs(),Error(`Session expired`);if(!n.ok)throw Error(Qs(n.status,n.statusText));return n.text()}export{Nr as $,ma as A,fe as At,_i as B,Cs as C,Be as Ct,ga as D,d as Dt,to as E,be as Et,Ei as F,ve as Ft,ei as G,hi as H,wi as I,f as It,Or as J,ti as K,yi as L,o as Lt,Di as M,m as Mt,la as N,p as Nt,X as O,pe as Ot,ua as P,se as Pt,K as Q,xi as R,i as Rt,As as S,Ue as St,ns as T,xe as Tt,mi as U,ni as V,$r as W,Dr as X,Er as Y,kr as Z,Us as _,mt as _t,cc as a,H as at,Ns as b,Ke as bt,ac as c,I as ct,sc as d,F as dt,Tr as et,Xs as f,tr as ft,Vs as g,ft as gt,Gs as h,y as ht,Ys as i,L as it,oa as j,oe as jt,ha as k,l as kt,ec as l,B as lt,Js as m,R as mt,Zs as n,jr as nt,oc as o,G as ot,rc as p,V as pt,Zr as q,ic as r,z as rt,lc as s,W as st,qs as t,Ir as tt,tc as u,U as ut,Fs as v,_t as vt,xs as w,h as wt,Ms as x,qe as xt,Ps as y,ot as yt,vi as z,r as zt};