@telemetryos/root-sdk 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @telemetryos/root-sdk
2
2
 
3
+ ## 1.15.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ### New Features
8
+ - **Theme system** — Templates now ship with 8 built-in themes (`telemetryos`, `neon-pulse`, `solar-flare`, `arctic-aurora`, `emerald-matrix`, `the-matrix`, `plain-light`, `plain-dark`), each with a complete color palette including gradients, text colors, accents, and status indicators.
9
+ - **FlickeringGrid component** — New canvas-based animated background component with configurable square size, grid gap, flicker chance, opacity, and color.
10
+ - **SettingsSection component** — New collapsible accordion component exported from `@telemetryos/sdk` for organizing settings into expandable sections. Includes `aria-expanded`/`aria-controls` and `inert` support.
11
+ - **Settings form styles** — New shared CSS (`@telemetryos/sdk/react/styles.css`) with light/dark theme variables for text inputs, selects, sliders, color pickers, toggles, and checkboxes.
12
+ - **Expanded entrance animations** — Added `flip`, `fade`, `scale`, `slide`, `drop`, `fade-in`, `blur`, `zoom`, `unfold`, `rise`, `glitch`, and `breathe-glow` animations; removed `swing`.
13
+ - **Dark wordmark** — Added `telemetryos-wordmark-dark.svg` to template assets.
14
+ - **Root-SDK bridge re-exports** — `@telemetryos/root-sdk` now re-exports `BridgeMessage`, `ClientMessage`, and their validators/formatters from `@telemetryos/sdk-bridge`, so consumers no longer need a direct `sdk-bridge` import.
15
+
16
+ ### Infrastructure
17
+ - Moved template assets from `assets/` to `public/assets/` for automatic Vite build inclusion (both `vite-react-typescript` and `vite-react-typescript-web` templates).
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies
22
+ - @telemetryos/sdk-bridge@1.15.0
23
+
3
24
  ## 1.14.0
4
25
 
5
26
  ### Minor Changes
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ye="1.14.0",Xe={version:Ye};class Ie{constructor(e){this._client=e}async getCurrent(){const e=await this._client.request("accounts.getCurrent",{});if(!e.success)throw new Error("Failed to fetch current account");return e.account}}class Ee{constructor(e){this._client=e}async getAllByMountPoint(e){return(await this._client.request("applications.getAllByMountPoint",{mountPoint:e})).applications}async getByName(e){return(await this._client.request("applications.getByName",{name:e})).application}async setDependencies(e){return await this._client.request("applications.setDependencies",{applicationSpecifiers:e},{timeout:0})}bind(e,t){if(this._client._messageInterceptors.has(e))throw new Error(`Interceptor already bound for message ${e}`);this._client._messageInterceptors.set(e,t)}}class je{constructor(e){this._client=e}async getInformation(){const e=await this._client.request("devices.getInformation",{});if(!e.success)throw new Error("Failed to get device information");return e.deviceInformation}async getCapabilities(){const e=await this._client.request("devices.getCapabilities",{});if(!e.success)throw new Error("Failed to get device capabilities");return e.capabilities}}class Pe{constructor(e){this._client=e}async getColorScheme(){return(await this._client.request("environment.getColorScheme",{})).colorScheme}async subscribeColorScheme(e){return(await this._client.subscribe("environment.subscribeColorScheme",{},e)).success}async unsubscribeColorScheme(e){return(await this._client.unsubscribe("environment.unsubscribeColorScheme",{},e)).success}}class Re{constructor(e){this._client=e}async getAllFolders(){return(await this._client.request("mediaFolders.getAll",{})).folders}async getAllByFolderId(e){return(await this._client.request("media.getAllByFolderId",{folderId:e})).contents}async getAllByTag(e){return(await this._client.request("media.getAllByTag",{tagName:e})).contents}async getById(e){return(await this._client.request("media.getById",{id:e})).content}async openPicker(e){return(await this._client.request("media.openPicker",{accept:e==null?void 0:e.accept,currentValue:e==null?void 0:e.currentValue})).selection}}class $e{constructor(e){this._client=e}async fetch(e,t){var s;let n;typeof e=="string"?n=e:e instanceof URL?n=e.toString():(n=e.url,t||(t={method:e.method,headers:e.headers,body:e.body,credentials:e.credentials,cache:e.cache,redirect:e.redirect,referrer:e.referrer,integrity:e.integrity}));let r={};t!=null&&t.headers&&(t.headers instanceof Headers?t.headers.forEach((g,w)=>{r[w]=g}):Array.isArray(t.headers)?t.headers.forEach(([g,w])=>{r[g]=w}):r=t.headers);const i=await this._client.request("proxy.fetch",{url:n,method:(t==null?void 0:t.method)||"GET",headers:r,body:(s=t==null?void 0:t.body)!==null&&s!==void 0?s:null});if(!i.success)throw new TypeError(i.errorMessage,{cause:i.errorCause?Error(i.errorCause):void 0});const o=new Headers(i.headers),c={status:i.status,statusText:i.statusText,headers:o};let l=null;if(i.body!==null&&i.body!==void 0)if(i.bodyType==="binary"){const g=atob(i.body),w=new Uint8Array(g.length);for(let T=0;T<g.length;T++)w[T]=g.charCodeAt(T);l=w}else i.bodyType==="text"?l=i.body:i.bodyType==="json"&&(l=JSON.stringify(i.body));return new Response(l,c)}}class Fe{constructor(e){this._client=e}get application(){return new K("application",void 0,this._client)}get instance(){return new K("instance",this._client.applicationInstance,this._client)}get device(){return new K("device",this._client.deviceId,this._client)}shared(e){return new K("shared",e,this._client)}}class K{constructor(e,t,s){this._kind=e,this._namespace=t,this._client=s}async set(e,t){return(await this._client.request("store.set",{kind:this._kind,namespace:this._namespace,key:e,value:t})).success}async get(e){return(await this._client.request("store.get",{kind:this._kind,namespace:this._namespace,key:e})).value}async subscribe(e,t){return(await this._client.subscribe("store.subscribe",{kind:this._kind,namespace:this._namespace,key:e},t)).success}async unsubscribe(e,t){return(await this._client.unsubscribe("store.unsubscribe",{kind:this._kind,namespace:this._namespace,key:e},t)).success}async delete(e){return(await this._client.request("store.delete",{kind:this._kind,namespace:this._namespace,key:e})).success}}class qe{constructor(e){this._client=e}async getCurrent(){const e=await this._client.request("users.getCurrent",{});if(!e.success)throw new Error(e.error||"Failed to fetch current user");return e.user}}class Me{constructor(e){this._client=e}async getCities(e){const t=await this._client.request("weather.getCities",e);if(!t.success)throw new Error(t.error||"Failed to fetch cities");return t.data||[]}async getConditions(e){const t=await this._client.request("weather.getConditions",e);if(!t.success)throw new Error(t.error||"Failed to fetch weather conditions");return t}async getDailyForecast(e){const t=await this._client.request("weather.getDailyForecast",e);if(!t.success)throw new Error(t.error||"Failed to fetch daily forecast");return t}async getHourlyForecast(e){const t=await this._client.request("weather.getHourlyForecast",e);if(!t.success)throw new Error(t.error||"Failed to fetch hourly forecast");return t}async getAlerts(e){const t=await this._client.request("weather.getAlerts",e);if(!t.success)throw new Error(t.error||"Failed to fetch weather alerts");return t}}class Le{constructor(e){this._client=e}async getSymbols(){const e=await this._client.request("currency.getSymbols",{});if(!e.success||!e.symbols)throw new Error("Failed to fetch currency symbols");return e.symbols}async getRates(e){var t,s,n;const r=await this._client.request("currency.getRates",e);if(!r.success||!r.rates)throw((t=r.error)===null||t===void 0?void 0:t.code)===201?new Error(`Invalid base currency '${e.base}'`):((s=r.error)===null||s===void 0?void 0:s.code)===202?new Error(`Invalid target currency symbol '${e.symbols}'`):new Error(((n=r.error)===null||n===void 0?void 0:n.message)||"Failed to fetch currency rates");return r.rates}}class He{constructor(e){this._client=e}async discover(){const e=await this._client.request("mqtt.discover",{});if(!e.success)throw new Error("Failed to discover MQTT brokers");return e.brokers}async connect(e,t){const s=await this._client.request("mqtt.connect",{brokerUrl:e,...t});if(!s.success)throw new Error("Failed to connect to MQTT broker");return s.clientId}async disconnect(e){if(!(await this._client.request("mqtt.disconnect",{clientId:e})).success)throw new Error("Failed to disconnect from MQTT broker")}async publish(e,t,s,n){if(!(await this._client.request("mqtt.publish",{clientId:e,topic:t,payload:s,...n})).success)throw new Error("Failed to publish MQTT message")}async subscribe(e,t,s,n){return(await this._client.subscribe("mqtt.subscribe",{clientId:e,topic:t,...n},s)).success}async unsubscribe(e,t,s){return(await this._client.unsubscribe("mqtt.unsubscribe",{clientId:e,topic:t},s)).success}async getConnectionStatus(e){const t=await this._client.request("mqtt.getConnectionStatus",{clientId:e});if(!t.success)throw new Error("Failed to get MQTT connection status");return t.status}async subscribeConnectionStatus(e,t){return(await this._client.subscribe("mqtt.subscribeConnectionStatus",{clientId:e},t)).success}async unsubscribeConnectionStatus(e,t){return(await this._client.unsubscribe("mqtt.unsubscribeConnectionStatus",{clientId:e},t)).success}}class De{constructor(e){this._originalPushState=null,this._originalReplaceState=null,this._popstateHandler=null,this._backHandler=null,this._forwardHandler=null,this._client=e}bind(){typeof window>"u"||this._originalPushState||(this._originalPushState=history.pushState.bind(history),history.pushState=(...e)=>{this._originalPushState(...e),this._sendLocationChanged()},this._originalReplaceState=history.replaceState.bind(history),history.replaceState=(...e)=>{this._originalReplaceState(...e),this._sendLocationChanged()},this._popstateHandler=()=>this._sendLocationChanged(),window.addEventListener("popstate",this._popstateHandler),this._backHandler=()=>history.back(),this._forwardHandler=()=>history.forward(),this._client.on("navigation.back",this._backHandler),this._client.on("navigation.forward",this._forwardHandler),this._sendLocationChanged())}unbind(){typeof window>"u"||(this._originalPushState&&(history.pushState=this._originalPushState,this._originalPushState=null),this._originalReplaceState&&(history.replaceState=this._originalReplaceState,this._originalReplaceState=null),this._popstateHandler&&(window.removeEventListener("popstate",this._popstateHandler),this._popstateHandler=null),this._backHandler&&(this._client.off("navigation.back",this._backHandler),this._backHandler=null),this._forwardHandler&&(this._client.off("navigation.forward",this._forwardHandler),this._forwardHandler=null))}_sendLocationChanged(){this._client.send("navigation.locationChanged",{pathname:window.location.pathname})}}var b;(function(a){a.assertEqual=n=>{};function e(n){}a.assertIs=e;function t(n){throw new Error}a.assertNever=t,a.arrayToEnum=n=>{const r={};for(const i of n)r[i]=i;return r},a.getValidEnumValues=n=>{const r=a.objectKeys(n).filter(o=>typeof n[n[o]]!="number"),i={};for(const o of r)i[o]=n[o];return a.objectValues(i)},a.objectValues=n=>a.objectKeys(n).map(function(r){return n[r]}),a.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{const r=[];for(const i in n)Object.prototype.hasOwnProperty.call(n,i)&&r.push(i);return r},a.find=(n,r)=>{for(const i of n)if(r(i))return i},a.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&Number.isFinite(n)&&Math.floor(n)===n;function s(n,r=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(r)}a.joinValues=s,a.jsonStringifyReplacer=(n,r)=>typeof r=="bigint"?r.toString():r})(b||(b={}));var ge;(function(a){a.mergeShapes=(e,t)=>({...e,...t})})(ge||(ge={}));const h=b.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),O=a=>{switch(typeof a){case"undefined":return h.undefined;case"string":return h.string;case"number":return Number.isNaN(a)?h.nan:h.number;case"boolean":return h.boolean;case"function":return h.function;case"bigint":return h.bigint;case"symbol":return h.symbol;case"object":return Array.isArray(a)?h.array:a===null?h.null:a.then&&typeof a.then=="function"&&a.catch&&typeof a.catch=="function"?h.promise:typeof Map<"u"&&a instanceof Map?h.map:typeof Set<"u"&&a instanceof Set?h.set:typeof Date<"u"&&a instanceof Date?h.date:h.object;default:return h.unknown}},d=b.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Z extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(r){return r.message},s={_errors:[]},n=r=>{for(const i of r.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)s._errors.push(t(i));else{let o=s,c=0;for(;c<i.path.length;){const l=i.path[c];c===i.path.length-1?(o[l]=o[l]||{_errors:[]},o[l]._errors.push(t(i))):o[l]=o[l]||{_errors:[]},o=o[l],c++}}};return n(this),s}static assert(e){if(!(e instanceof Z))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,b.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},s=[];for(const n of this.issues)if(n.path.length>0){const r=n.path[0];t[r]=t[r]||[],t[r].push(e(n))}else s.push(e(n));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}}Z.create=a=>new Z(a);const oe=(a,e)=>{let t;switch(a.code){case d.invalid_type:a.received===h.undefined?t="Required":t=`Expected ${a.expected}, received ${a.received}`;break;case d.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(a.expected,b.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:t=`Unrecognized key(s) in object: ${b.joinValues(a.keys,", ")}`;break;case d.invalid_union:t="Invalid input";break;case d.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${b.joinValues(a.options)}`;break;case d.invalid_enum_value:t=`Invalid enum value. Expected ${b.joinValues(a.options)}, received '${a.received}'`;break;case d.invalid_arguments:t="Invalid function arguments";break;case d.invalid_return_type:t="Invalid function return type";break;case d.invalid_date:t="Invalid date";break;case d.invalid_string:typeof a.validation=="object"?"includes"in a.validation?(t=`Invalid input: must include "${a.validation.includes}"`,typeof a.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${a.validation.position}`)):"startsWith"in a.validation?t=`Invalid input: must start with "${a.validation.startsWith}"`:"endsWith"in a.validation?t=`Invalid input: must end with "${a.validation.endsWith}"`:b.assertNever(a.validation):a.validation!=="regex"?t=`Invalid ${a.validation}`:t="Invalid";break;case d.too_small:a.type==="array"?t=`Array must contain ${a.exact?"exactly":a.inclusive?"at least":"more than"} ${a.minimum} element(s)`:a.type==="string"?t=`String must contain ${a.exact?"exactly":a.inclusive?"at least":"over"} ${a.minimum} character(s)`:a.type==="number"?t=`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:a.type==="bigint"?t=`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:a.type==="date"?t=`Date must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(a.minimum))}`:t="Invalid input";break;case d.too_big:a.type==="array"?t=`Array must contain ${a.exact?"exactly":a.inclusive?"at most":"less than"} ${a.maximum} element(s)`:a.type==="string"?t=`String must contain ${a.exact?"exactly":a.inclusive?"at most":"under"} ${a.maximum} character(s)`:a.type==="number"?t=`Number must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="bigint"?t=`BigInt must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="date"?t=`Date must be ${a.exact?"exactly":a.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(a.maximum))}`:t="Invalid input";break;case d.custom:t="Invalid input";break;case d.invalid_intersection_types:t="Intersection results could not be merged";break;case d.not_multiple_of:t=`Number must be a multiple of ${a.multipleOf}`;break;case d.not_finite:t="Number must be finite";break;default:t=e.defaultError,b.assertNever(a)}return{message:t}};let et=oe;function tt(){return et}const st=a=>{const{data:e,path:t,errorMaps:s,issueData:n}=a,r=[...t,...n.path||[]],i={...n,path:r};if(n.message!==void 0)return{...n,path:r,message:n.message};let o="";const c=s.filter(l=>!!l).slice().reverse();for(const l of c)o=l(i,{data:e,defaultError:o}).message;return{...n,path:r,message:o}};function u(a,e){const t=tt(),s=st({issueData:e,data:a.data,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,t,t===oe?void 0:oe].filter(n=>!!n)});a.common.issues.push(s)}class S{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const s=[];for(const n of t){if(n.status==="aborted")return _;n.status==="dirty"&&e.dirty(),s.push(n.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){const s=[];for(const n of t){const r=await n.key,i=await n.value;s.push({key:r,value:i})}return S.mergeObjectSync(e,s)}static mergeObjectSync(e,t){const s={};for(const n of t){const{key:r,value:i}=n;if(r.status==="aborted"||i.status==="aborted")return _;r.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),r.value!=="__proto__"&&(typeof i.value<"u"||n.alwaysSet)&&(s[r.value]=i.value)}return{status:e.value,value:s}}}const _=Object.freeze({status:"aborted"}),ce=a=>({status:"dirty",value:a}),C=a=>({status:"valid",value:a}),ye=a=>a.status==="aborted",ve=a=>a.status==="dirty",M=a=>a.status==="valid",te=a=>typeof Promise<"u"&&a instanceof Promise;var p;(function(a){a.errToObj=e=>typeof e=="string"?{message:e}:e||{},a.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(p||(p={}));class j{constructor(e,t,s,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=n}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const be=(a,e)=>{if(M(e))return{success:!0,data:e.value};if(!a.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new Z(a.common.issues);return this._error=t,this._error}}};function y(a){if(!a)return{};const{errorMap:e,invalid_type_error:t,required_error:s,description:n}=a;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(r,i)=>{const{message:o}=a;return r.code==="invalid_enum_value"?{message:o??i.defaultError}:typeof i.data>"u"?{message:o??s??i.defaultError}:r.code!=="invalid_type"?{message:i.defaultError}:{message:o??t??i.defaultError}},description:n}}class v{get description(){return this._def.description}_getType(e){return O(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:O(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:O(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(te(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){const s={common:{issues:[],async:(t==null?void 0:t.async)??!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:O(e)},n=this._parseSync({data:e,path:s.path,parent:s});return be(s,n)}"~validate"(e){var t,s;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:O(e)};if(!this["~standard"].async)try{const r=this._parseSync({data:e,path:[],parent:n});return M(r)?{value:r.value}:{issues:n.common.issues}}catch(r){(s=(t=r==null?void 0:r.message)==null?void 0:t.toLowerCase())!=null&&s.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>M(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,t){const s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){const s={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:O(e)},n=this._parse({data:e,path:s.path,parent:s}),r=await(te(n)?n:Promise.resolve(n));return be(s,r)}refine(e,t){const s=n=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(n):t;return this._refinement((n,r)=>{const i=e(n),o=()=>r.addIssue({code:d.custom,...s(n)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((s,n)=>e(s)?!0:(n.addIssue(typeof t=="function"?t(s,n):t),!1))}_refinement(e){return new H({schema:this,typeName:m.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return E.create(this,this._def)}nullable(){return D.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return N.create(this)}promise(){return re.create(this,this._def)}or(e){return ne.create([this,e],this._def)}and(e){return ae.create(this,e,this._def)}transform(e){return new H({...y(this._def),schema:this,typeName:m.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new he({...y(this._def),innerType:this,defaultValue:t,typeName:m.ZodDefault})}brand(){return new Ct({typeName:m.ZodBranded,type:this,...y(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new pe({...y(this._def),innerType:this,catchValue:t,typeName:m.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return me.create(this,e)}readonly(){return fe.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const nt=/^c[^\s-]{8,}$/i,at=/^[0-9a-z]+$/,rt=/^[0-9A-HJKMNP-TV-Z]{26}$/i,it=/^[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,ot=/^[a-z0-9_-]{21}$/i,ct=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,dt=/^[-+]?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)?)??$/,ut=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,lt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let ie;const 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])$/,pt=/^(?:(?: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])$/,ft=/^(([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]))$/,mt=/^(([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])$/,_t=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,gt=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ze="((\\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=new RegExp(`^${ze}$`);function Ve(a){let e="[0-5]\\d";a.precision?e=`${e}\\.\\d{${a.precision}}`:a.precision==null&&(e=`${e}(\\.\\d+)?`);const t=a.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function vt(a){return new RegExp(`^${Ve(a)}$`)}function bt(a){let e=`${ze}T${Ve(a)}`;const t=[];return t.push(a.local?"Z?":"Z"),a.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function wt(a,e){return!!((e==="v4"||!e)&&ht.test(a)||(e==="v6"||!e)&&ft.test(a))}function kt(a,e){if(!ct.test(a))return!1;try{const[t]=a.split(".");if(!t)return!1;const s=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),n=JSON.parse(atob(s));return!(typeof n!="object"||n===null||"typ"in n&&(n==null?void 0:n.typ)!=="JWT"||!n.alg||e&&n.alg!==e)}catch{return!1}}function xt(a,e){return!!((e==="v4"||!e)&&pt.test(a)||(e==="v6"||!e)&&mt.test(a))}class I extends v{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==h.string){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_type,expected:h.string,received:n.parsedType}),_}const t=new S;let s;for(const n of this._def.checks)if(n.kind==="min")e.data.length<n.value&&(s=this._getOrReturnCtx(e,s),u(s,{code:d.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),t.dirty());else if(n.kind==="max")e.data.length>n.value&&(s=this._getOrReturnCtx(e,s),u(s,{code:d.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),t.dirty());else if(n.kind==="length"){const r=e.data.length>n.value,i=e.data.length<n.value;(r||i)&&(s=this._getOrReturnCtx(e,s),r?u(s,{code:d.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}):i&&u(s,{code:d.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}),t.dirty())}else if(n.kind==="email")ut.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"email",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="emoji")ie||(ie=new RegExp(lt,"u")),ie.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"emoji",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="uuid")it.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"uuid",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="nanoid")ot.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"nanoid",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="cuid")nt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"cuid",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="cuid2")at.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"cuid2",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="ulid")rt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"ulid",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),u(s,{validation:"url",code:d.invalid_string,message:n.message}),t.dirty()}else n.kind==="regex"?(n.regex.lastIndex=0,n.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"regex",code:d.invalid_string,message:n.message}),t.dirty())):n.kind==="trim"?e.data=e.data.trim():n.kind==="includes"?e.data.includes(n.value,n.position)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:{includes:n.value,position:n.position},message:n.message}),t.dirty()):n.kind==="toLowerCase"?e.data=e.data.toLowerCase():n.kind==="toUpperCase"?e.data=e.data.toUpperCase():n.kind==="startsWith"?e.data.startsWith(n.value)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:{startsWith:n.value},message:n.message}),t.dirty()):n.kind==="endsWith"?e.data.endsWith(n.value)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:{endsWith:n.value},message:n.message}),t.dirty()):n.kind==="datetime"?bt(n).test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:"datetime",message:n.message}),t.dirty()):n.kind==="date"?yt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:"date",message:n.message}),t.dirty()):n.kind==="time"?vt(n).test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:"time",message:n.message}),t.dirty()):n.kind==="duration"?dt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"duration",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="ip"?wt(e.data,n.version)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"ip",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="jwt"?kt(e.data,n.alg)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"jwt",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="cidr"?xt(e.data,n.version)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"cidr",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="base64"?_t.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"base64",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="base64url"?gt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"base64url",code:d.invalid_string,message:n.message}),t.dirty()):b.assertNever(n);return{status:t.value,value:e.data}}_regex(e,t,s){return this.refinement(n=>e.test(n),{validation:t,code:d.invalid_string,...p.errToObj(s)})}_addCheck(e){return new I({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...p.errToObj(e)})}url(e){return this._addCheck({kind:"url",...p.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...p.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...p.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...p.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...p.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...p.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...p.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...p.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...p.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...p.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...p.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...p.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(e==null?void 0:e.offset)??!1,local:(e==null?void 0:e.local)??!1,...p.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...p.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...p.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...p.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...p.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...p.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...p.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...p.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...p.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...p.errToObj(t)})}nonempty(e){return this.min(1,p.errToObj(e))}trim(){return new I({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new I({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new I({...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(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}I.create=a=>new I({checks:[],typeName:m.ZodString,coerce:(a==null?void 0:a.coerce)??!1,...y(a)});function St(a,e){const t=(a.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,n=t>s?t:s,r=Number.parseInt(a.toFixed(n).replace(".","")),i=Number.parseInt(e.toFixed(n).replace(".",""));return r%i/10**n}class Q extends v{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)!==h.number){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_type,expected:h.number,received:n.parsedType}),_}let t;const s=new S;for(const n of this._def.checks)n.kind==="int"?b.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),u(t,{code:d.invalid_type,expected:"integer",received:"float",message:n.message}),s.dirty()):n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="multipleOf"?St(e.data,n.value)!==0&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),u(t,{code:d.not_finite,message:n.message}),s.dirty()):b.assertNever(n);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,p.toString(t))}gt(e,t){return this.setLimit("min",e,!1,p.toString(t))}lte(e,t){return this.setLimit("max",e,!0,p.toString(t))}lt(e,t){return this.setLimit("max",e,!1,p.toString(t))}setLimit(e,t,s,n){return new Q({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:p.toString(n)}]})}_addCheck(e){return new Q({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:p.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:p.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:p.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:p.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:p.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:p.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:p.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:p.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:p.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const 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"&&b.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Q.create=a=>new Q({checks:[],typeName:m.ZodNumber,coerce:(a==null?void 0:a.coerce)||!1,...y(a)});class G extends v{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)!==h.bigint)return this._getInvalidInput(e);let t;const s=new S;for(const n of this._def.checks)n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),s.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),s.dirty()):n.kind==="multipleOf"?e.data%n.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):b.assertNever(n);return{status:s.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.bigint,received:t.parsedType}),_}gte(e,t){return this.setLimit("min",e,!0,p.toString(t))}gt(e,t){return this.setLimit("min",e,!1,p.toString(t))}lte(e,t){return this.setLimit("max",e,!0,p.toString(t))}lt(e,t){return this.setLimit("max",e,!1,p.toString(t))}setLimit(e,t,s,n){return new G({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:p.toString(n)}]})}_addCheck(e){return new G({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:p.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:p.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:p.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:p.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:p.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}G.create=a=>new G({checks:[],typeName:m.ZodBigInt,coerce:(a==null?void 0:a.coerce)??!1,...y(a)});class we extends v{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==h.boolean){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.boolean,received:t.parsedType}),_}return C(e.data)}}we.create=a=>new we({typeName:m.ZodBoolean,coerce:(a==null?void 0:a.coerce)||!1,...y(a)});class se extends v{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==h.date){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_type,expected:h.date,received:n.parsedType}),_}if(Number.isNaN(e.data.getTime())){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_date}),_}const t=new S;let s;for(const n of this._def.checks)n.kind==="min"?e.data.getTime()<n.value&&(s=this._getOrReturnCtx(e,s),u(s,{code:d.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),t.dirty()):n.kind==="max"?e.data.getTime()>n.value&&(s=this._getOrReturnCtx(e,s),u(s,{code:d.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),t.dirty()):b.assertNever(n);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new se({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:p.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:p.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}se.create=a=>new se({checks:[],coerce:(a==null?void 0:a.coerce)||!1,typeName:m.ZodDate,...y(a)});class ke extends v{_parse(e){if(this._getType(e)!==h.symbol){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.symbol,received:t.parsedType}),_}return C(e.data)}}ke.create=a=>new ke({typeName:m.ZodSymbol,...y(a)});class xe extends v{_parse(e){if(this._getType(e)!==h.undefined){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.undefined,received:t.parsedType}),_}return C(e.data)}}xe.create=a=>new xe({typeName:m.ZodUndefined,...y(a)});class Se extends v{_parse(e){if(this._getType(e)!==h.null){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.null,received:t.parsedType}),_}return C(e.data)}}Se.create=a=>new Se({typeName:m.ZodNull,...y(a)});class de extends v{constructor(){super(...arguments),this._any=!0}_parse(e){return C(e.data)}}de.create=a=>new de({typeName:m.ZodAny,...y(a)});class Ce extends v{constructor(){super(...arguments),this._unknown=!0}_parse(e){return C(e.data)}}Ce.create=a=>new Ce({typeName:m.ZodUnknown,...y(a)});class P extends v{_parse(e){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.never,received:t.parsedType}),_}}P.create=a=>new P({typeName:m.ZodNever,...y(a)});class Te extends v{_parse(e){if(this._getType(e)!==h.undefined){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.void,received:t.parsedType}),_}return C(e.data)}}Te.create=a=>new Te({typeName:m.ZodVoid,...y(a)});class N extends v{_parse(e){const{ctx:t,status:s}=this._processInputParams(e),n=this._def;if(t.parsedType!==h.array)return u(t,{code:d.invalid_type,expected:h.array,received:t.parsedType}),_;if(n.exactLength!==null){const i=t.data.length>n.exactLength.value,o=t.data.length<n.exactLength.value;(i||o)&&(u(t,{code:i?d.too_big:d.too_small,minimum:o?n.exactLength.value:void 0,maximum:i?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),s.dirty())}if(n.minLength!==null&&t.data.length<n.minLength.value&&(u(t,{code:d.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),s.dirty()),n.maxLength!==null&&t.data.length>n.maxLength.value&&(u(t,{code:d.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((i,o)=>n.type._parseAsync(new j(t,i,t.path,o)))).then(i=>S.mergeArray(s,i));const r=[...t.data].map((i,o)=>n.type._parseSync(new j(t,i,t.path,o)));return S.mergeArray(s,r)}get element(){return this._def.type}min(e,t){return new N({...this._def,minLength:{value:e,message:p.toString(t)}})}max(e,t){return new N({...this._def,maxLength:{value:e,message:p.toString(t)}})}length(e,t){return new N({...this._def,exactLength:{value:e,message:p.toString(t)}})}nonempty(e){return this.min(1,e)}}N.create=(a,e)=>new N({type:a,minLength:null,maxLength:null,exactLength:null,typeName:m.ZodArray,...y(e)});function q(a){if(a instanceof k){const e={};for(const t in a.shape){const s=a.shape[t];e[t]=E.create(q(s))}return new k({...a._def,shape:()=>e})}else return a instanceof N?new N({...a._def,type:q(a.element)}):a instanceof E?E.create(q(a.unwrap())):a instanceof D?D.create(q(a.unwrap())):a instanceof $?$.create(a.items.map(e=>q(e))):a}class k extends v{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=b.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==h.object){const c=this._getOrReturnCtx(e);return u(c,{code:d.invalid_type,expected:h.object,received:c.parsedType}),_}const{status:t,ctx:s}=this._processInputParams(e),{shape:n,keys:r}=this._getCached(),i=[];if(!(this._def.catchall instanceof P&&this._def.unknownKeys==="strip"))for(const c in s.data)r.includes(c)||i.push(c);const o=[];for(const c of r){const l=n[c],g=s.data[c];o.push({key:{status:"valid",value:c},value:l._parse(new j(s,g,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof P){const c=this._def.unknownKeys;if(c==="passthrough")for(const l of i)o.push({key:{status:"valid",value:l},value:{status:"valid",value:s.data[l]}});else if(c==="strict")i.length>0&&(u(s,{code:d.unrecognized_keys,keys:i}),t.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const l of i){const g=s.data[l];o.push({key:{status:"valid",value:l},value:c._parse(new j(s,g,s.path,l)),alwaysSet:l in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const c=[];for(const l of o){const g=await l.key,w=await l.value;c.push({key:g,value:w,alwaysSet:l.alwaysSet})}return c}).then(c=>S.mergeObjectSync(t,c)):S.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return p.errToObj,new k({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{var n,r;const i=((r=(n=this._def).errorMap)==null?void 0:r.call(n,t,s).message)??s.defaultError;return t.code==="unrecognized_keys"?{message:p.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new k({...this._def,unknownKeys:"strip"})}passthrough(){return new k({...this._def,unknownKeys:"passthrough"})}extend(e){return new k({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new k({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:m.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new k({...this._def,catchall:e})}pick(e){const t={};for(const s of b.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new k({...this._def,shape:()=>t})}omit(e){const t={};for(const s of b.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new k({...this._def,shape:()=>t})}deepPartial(){return q(this)}partial(e){const t={};for(const s of b.objectKeys(this.shape)){const n=this.shape[s];e&&!e[s]?t[s]=n:t[s]=n.optional()}return new k({...this._def,shape:()=>t})}required(e){const t={};for(const s of b.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof E;)n=n._def.innerType;t[s]=n}return new k({...this._def,shape:()=>t})}keyof(){return Be(b.objectKeys(this.shape))}}k.create=(a,e)=>new k({shape:()=>a,unknownKeys:"strip",catchall:P.create(),typeName:m.ZodObject,...y(e)});k.strictCreate=(a,e)=>new k({shape:()=>a,unknownKeys:"strict",catchall:P.create(),typeName:m.ZodObject,...y(e)});k.lazycreate=(a,e)=>new k({shape:a,unknownKeys:"strip",catchall:P.create(),typeName:m.ZodObject,...y(e)});class ne extends v{_parse(e){const{ctx:t}=this._processInputParams(e),s=this._def.options;function n(r){for(const o of r)if(o.result.status==="valid")return o.result;for(const o of r)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;const i=r.map(o=>new Z(o.ctx.common.issues));return u(t,{code:d.invalid_union,unionErrors:i}),_}if(t.common.async)return Promise.all(s.map(async r=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await r._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(n);{let r;const i=[];for(const c of s){const l={...t,common:{...t.common,issues:[]},parent:null},g=c._parseSync({data:t.data,path:t.path,parent:l});if(g.status==="valid")return g;g.status==="dirty"&&!r&&(r={result:g,ctx:l}),l.common.issues.length&&i.push(l.common.issues)}if(r)return t.common.issues.push(...r.ctx.common.issues),r.result;const o=i.map(c=>new Z(c));return u(t,{code:d.invalid_union,unionErrors:o}),_}}get options(){return this._def.options}}ne.create=(a,e)=>new ne({options:a,typeName:m.ZodUnion,...y(e)});function ue(a,e){const t=O(a),s=O(e);if(a===e)return{valid:!0,data:a};if(t===h.object&&s===h.object){const n=b.objectKeys(e),r=b.objectKeys(a).filter(o=>n.indexOf(o)!==-1),i={...a,...e};for(const o of r){const c=ue(a[o],e[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(t===h.array&&s===h.array){if(a.length!==e.length)return{valid:!1};const n=[];for(let r=0;r<a.length;r++){const i=a[r],o=e[r],c=ue(i,o);if(!c.valid)return{valid:!1};n.push(c.data)}return{valid:!0,data:n}}else return t===h.date&&s===h.date&&+a==+e?{valid:!0,data:a}:{valid:!1}}class ae extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=(r,i)=>{if(ye(r)||ye(i))return _;const o=ue(r.value,i.value);return o.valid?((ve(r)||ve(i))&&t.dirty(),{status:t.value,value:o.data}):(u(s,{code:d.invalid_intersection_types}),_)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([r,i])=>n(r,i)):n(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}ae.create=(a,e,t)=>new ae({left:a,right:e,typeName:m.ZodIntersection,...y(t)});class $ extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==h.array)return u(s,{code:d.invalid_type,expected:h.array,received:s.parsedType}),_;if(s.data.length<this._def.items.length)return u(s,{code:d.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_;!this._def.rest&&s.data.length>this._def.items.length&&(u(s,{code:d.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const n=[...s.data].map((r,i)=>{const o=this._def.items[i]||this._def.rest;return o?o._parse(new j(s,r,s.path,i)):null}).filter(r=>!!r);return s.common.async?Promise.all(n).then(r=>S.mergeArray(t,r)):S.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new $({...this._def,rest:e})}}$.create=(a,e)=>{if(!Array.isArray(a))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $({items:a,typeName:m.ZodTuple,rest:null,...y(e)})};class Ne extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==h.map)return u(s,{code:d.invalid_type,expected:h.map,received:s.parsedType}),_;const n=this._def.keyType,r=this._def.valueType,i=[...s.data.entries()].map(([o,c],l)=>({key:n._parse(new j(s,o,s.path,[l,"key"])),value:r._parse(new j(s,c,s.path,[l,"value"]))}));if(s.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const c of i){const l=await c.key,g=await c.value;if(l.status==="aborted"||g.status==="aborted")return _;(l.status==="dirty"||g.status==="dirty")&&t.dirty(),o.set(l.value,g.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const c of i){const l=c.key,g=c.value;if(l.status==="aborted"||g.status==="aborted")return _;(l.status==="dirty"||g.status==="dirty")&&t.dirty(),o.set(l.value,g.value)}return{status:t.value,value:o}}}}Ne.create=(a,e,t)=>new Ne({valueType:e,keyType:a,typeName:m.ZodMap,...y(t)});class Y extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==h.set)return u(s,{code:d.invalid_type,expected:h.set,received:s.parsedType}),_;const n=this._def;n.minSize!==null&&s.data.size<n.minSize.value&&(u(s,{code:d.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),n.maxSize!==null&&s.data.size>n.maxSize.value&&(u(s,{code:d.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());const r=this._def.valueType;function i(c){const l=new Set;for(const g of c){if(g.status==="aborted")return _;g.status==="dirty"&&t.dirty(),l.add(g.value)}return{status:t.value,value:l}}const o=[...s.data.values()].map((c,l)=>r._parse(new j(s,c,s.path,l)));return s.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(e,t){return new Y({...this._def,minSize:{value:e,message:p.toString(t)}})}max(e,t){return new Y({...this._def,maxSize:{value:e,message:p.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Y.create=(a,e)=>new Y({valueType:a,minSize:null,maxSize:null,typeName:m.ZodSet,...y(e)});class Ze extends v{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Ze.create=(a,e)=>new Ze({getter:a,typeName:m.ZodLazy,...y(e)});class le extends v{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return u(t,{received:t.data,code:d.invalid_literal,expected:this._def.value}),_}return{status:"valid",value:e.data}}get value(){return this._def.value}}le.create=(a,e)=>new le({value:a,typeName:m.ZodLiteral,...y(e)});function Be(a,e){return new L({values:a,typeName:m.ZodEnum,...y(e)})}class L extends v{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),s=this._def.values;return u(t,{expected:b.joinValues(s),received:t.parsedType,code:d.invalid_type}),_}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),s=this._def.values;return u(t,{received:t.data,code:d.invalid_enum_value,options:s}),_}return C(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return L.create(e,{...this._def,...t})}exclude(e,t=this._def){return L.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}}L.create=Be;class Ae extends v{_parse(e){const t=b.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==h.string&&s.parsedType!==h.number){const n=b.objectValues(t);return u(s,{expected:b.joinValues(n),received:s.parsedType,code:d.invalid_type}),_}if(this._cache||(this._cache=new Set(b.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const n=b.objectValues(t);return u(s,{received:s.data,code:d.invalid_enum_value,options:n}),_}return C(e.data)}get enum(){return this._def.values}}Ae.create=(a,e)=>new Ae({values:a,typeName:m.ZodNativeEnum,...y(e)});class re extends v{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==h.promise&&t.common.async===!1)return u(t,{code:d.invalid_type,expected:h.promise,received:t.parsedType}),_;const s=t.parsedType===h.promise?t.data:Promise.resolve(t.data);return C(s.then(n=>this._def.type.parseAsync(n,{path:t.path,errorMap:t.common.contextualErrorMap})))}}re.create=(a,e)=>new re({type:a,typeName:m.ZodPromise,...y(e)});class H extends v{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=this._def.effect||null,r={addIssue:i=>{u(s,i),i.fatal?t.abort():t.dirty()},get path(){return s.path}};if(r.addIssue=r.addIssue.bind(r),n.type==="preprocess"){const i=n.transform(s.data,r);if(s.common.async)return Promise.resolve(i).then(async o=>{if(t.value==="aborted")return _;const c=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return c.status==="aborted"?_:c.status==="dirty"||t.value==="dirty"?ce(c.value):c});{if(t.value==="aborted")return _;const o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?_:o.status==="dirty"||t.value==="dirty"?ce(o.value):o}}if(n.type==="refinement"){const i=o=>{const c=n.refinement(o,r);if(s.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?_:(o.status==="dirty"&&t.dirty(),i(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?_:(o.status==="dirty"&&t.dirty(),i(o.value).then(()=>({status:t.value,value:o.value}))))}if(n.type==="transform")if(s.common.async===!1){const i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!M(i))return _;const o=n.transform(i.value,r);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>M(i)?Promise.resolve(n.transform(i.value,r)).then(o=>({status:t.value,value:o})):_);b.assertNever(n)}}H.create=(a,e,t)=>new H({schema:a,typeName:m.ZodEffects,effect:e,...y(t)});H.createWithPreprocess=(a,e,t)=>new H({schema:e,effect:{type:"preprocess",transform:a},typeName:m.ZodEffects,...y(t)});class E extends v{_parse(e){return this._getType(e)===h.undefined?C(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}E.create=(a,e)=>new E({innerType:a,typeName:m.ZodOptional,...y(e)});class D extends v{_parse(e){return this._getType(e)===h.null?C(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}D.create=(a,e)=>new D({innerType:a,typeName:m.ZodNullable,...y(e)});class he extends v{_parse(e){const{ctx:t}=this._processInputParams(e);let s=t.data;return t.parsedType===h.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}he.create=(a,e)=>new he({innerType:a,typeName:m.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...y(e)});class pe extends v{_parse(e){const{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return te(n)?n.then(r=>({status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new Z(s.common.issues)},input:s.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new Z(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}pe.create=(a,e)=>new pe({innerType:a,typeName:m.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...y(e)});class Oe extends v{_parse(e){if(this._getType(e)!==h.nan){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.nan,received:t.parsedType}),_}return{status:"valid",value:e.data}}}Oe.create=a=>new Oe({typeName:m.ZodNaN,...y(a)});class Ct extends v{_parse(e){const{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}}class me extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const n=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?_:n.status==="dirty"?(t.dirty(),ce(n.value)):this._def.out._parseAsync({data:n.value,path:s.path,parent:s})})();{const n=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?_:n.status==="dirty"?(t.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:s.path,parent:s})}}static create(e,t){return new me({in:e,out:t,typeName:m.ZodPipeline})}}class fe extends v{_parse(e){const t=this._def.innerType._parse(e),s=n=>(M(n)&&(n.value=Object.freeze(n.value)),n);return te(t)?t.then(n=>s(n)):s(t)}unwrap(){return this._def.innerType}}fe.create=(a,e)=>new fe({innerType:a,typeName:m.ZodReadonly,...y(e)});var m;(function(a){a.ZodString="ZodString",a.ZodNumber="ZodNumber",a.ZodNaN="ZodNaN",a.ZodBigInt="ZodBigInt",a.ZodBoolean="ZodBoolean",a.ZodDate="ZodDate",a.ZodSymbol="ZodSymbol",a.ZodUndefined="ZodUndefined",a.ZodNull="ZodNull",a.ZodAny="ZodAny",a.ZodUnknown="ZodUnknown",a.ZodNever="ZodNever",a.ZodVoid="ZodVoid",a.ZodArray="ZodArray",a.ZodObject="ZodObject",a.ZodUnion="ZodUnion",a.ZodDiscriminatedUnion="ZodDiscriminatedUnion",a.ZodIntersection="ZodIntersection",a.ZodTuple="ZodTuple",a.ZodRecord="ZodRecord",a.ZodMap="ZodMap",a.ZodSet="ZodSet",a.ZodFunction="ZodFunction",a.ZodLazy="ZodLazy",a.ZodLiteral="ZodLiteral",a.ZodEnum="ZodEnum",a.ZodEffects="ZodEffects",a.ZodNativeEnum="ZodNativeEnum",a.ZodOptional="ZodOptional",a.ZodNullable="ZodNullable",a.ZodDefault="ZodDefault",a.ZodCatch="ZodCatch",a.ZodPromise="ZodPromise",a.ZodBranded="ZodBranded",a.ZodPipeline="ZodPipeline",a.ZodReadonly="ZodReadonly"})(m||(m={}));const A=I.create,Ue=de.create;P.create;N.create;const Ke=k.create;ne.create;ae.create;$.create;const We=le.create;L.create;re.create;E.create;D.create;const Tt=Ke({type:We("bridge"),name:A(),data:Ue()});Ke({type:We("client"),telemetrySdkVersion:A(),applicationSpecifier:A(),applicationInstance:A(),name:A(),data:Ue(),responseName:A().optional(),subscriptionName:A().optional(),unsubscribeName:A().optional()});function X(a){return{...a,type:"client"}}class Nt{constructor(e){if(e._client._applicationSpecifier!=="rootSettingsNavigation")throw new Error("RootSettingsNavigation can only be used in the rootSettingsNavigation mount point");this._store=e}async setRootSettingsNavigation(e){var t;const s=this._store.shared("root-settings-navigation"),n=(t=await s.get("navigation"))!==null&&t!==void 0?t:{},r=this._store._client._applicationSpecifier;n[r]={applicationSpecifier:r,entries:e.entries},s.set("navigation",n)}async getRootSettingsNavigation(){var e;const s=(e=await this._store.shared("root-settings-navigation").get("navigation"))!==null&&e!==void 0?e:{},n=this._store._client._applicationSpecifier;return s[n]}async getAllRootSettingsNavigation(){var e;return(e=await this._store.shared("root-settings-navigation").get("navigation"))!==null&&e!==void 0?e:{}}}const B=1e3*30,_e=typeof window>"u"&&typeof self<"u",W=_e?self:window;function U(a){_e?self.postMessage(a):W.parent.postMessage(a,"*")}class Je{constructor(){this._applicationInstance="",this._applicationSpecifier="",this._deviceId="",this._navigation=new De(this),this._messageInterceptors=new Map,this._onHandlers=new Map,this._onceHandlers=new Map,this._subscriptionNamesByHandler=new Map,this._subscriptionNamesBySubjectName=new Map}get accounts(){return new Ie(this)}get users(){return new qe(this)}get store(){return new Fe(this)}get applications(){return new Ee(this)}get media(){return new Re(this)}get proxy(){return new $e(this)}get devices(){return new je(this)}get rootSettingsNavigation(){return new Nt(this.store)}get weather(){return new Me(this)}get currency(){return new Le(this)}get environment(){return new Pe(this)}get mqtt(){return new He(this)}get applicationSpecifier(){return this._applicationSpecifier}get applicationInstance(){return this._applicationInstance}get deviceId(){return this._deviceId}bind(){var e,t;const s=new URL(W.location.href),n=s.searchParams;this._applicationInstance=n.get("applicationInstance")||"single",this._deviceId=n.get("deviceId")||this._applicationInstance;const r=/^[a-z0-9-]{40}$/i;if(this._applicationSpecifier=(e=n.get("applicationSpecifier"))!==null&&e!==void 0?e:"",!this._applicationSpecifier||!r.test(this._applicationSpecifier)){const i=s.hostname.split(".");this._applicationSpecifier=(t=i[0])!==null&&t!==void 0?t:""}if(!this._applicationSpecifier||!r.test(this._applicationSpecifier))throw console.error("TelemetryOS apps require an applicationSpecifier in the URL query parameters or subdomain. Make sure your app is being served correctly through the TelemetryOS platform or development environment."),new Error(`Invalid applicationSpecifier: expected 40-character hash, got "${this._applicationSpecifier}"`);this._windowMessageHandler=i=>{if(i.source===W||!i.data||typeof i.data!="object"||!("type"in i.data)||i.data.type!=="client"&&i.data.type!=="bridge")return;let o;if(i.data.type==="client"){const c=this._messageInterceptors.get(i.data.name);if(!c){U(i.data);return}o={...c(i.data.data),type:"bridge",...i.data.responseName?{name:i.data.responseName}:{}}}if(!o){const c=Tt.safeParse(i.data);if(!c.success){const w=i.data;w&&typeof w=="object"&&w.type==="bridge"&&console.warn("[sdk-client] Received a message that looks like a bridge message but failed schema validation. This may indicate a version mismatch between the SDK and the host environment.",c.error.issues);return}o=c.data;const l=this._onHandlers.get(o.name),g=this._onceHandlers.get(o.name);if(l)for(const w of l)w(o.data);if(g){for(const w of g)w(o.data);this._onceHandlers.delete(o.name)}}if(!_e)for(let c=0;c<window.frames.length;c+=1)window.frames[c].postMessage(o,"*")},W.addEventListener("message",this._windowMessageHandler),this._navigation.bind()}unbind(){this._windowMessageHandler&&(this._navigation.unbind(),W.removeEventListener("message",this._windowMessageHandler))}send(e,t){const s=X({telemetrySdkVersion:J,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,name:e,data:t});U(s)}request(e,t,s){var n;const r=ee(),i=X({telemetrySdkVersion:J,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,name:e,data:t,responseName:r});U(i);const o=(n=s==null?void 0:s.timeout)!==null&&n!==void 0?n:B;let c=!1,l;const g=new Promise(T=>{l=R=>{c||T(R)},this.once(r,l)});if(o===0)return g;const w=new Promise((T,R)=>{const z=new Error(`${e} message request with response name of ${r} timed out after ${o}`);setTimeout(()=>{c=!0,this.off(r,l),R(z)},o)});return Promise.race([w,g])}async subscribe(e,t,s){let n,r;typeof t=="function"?r=t:(n=t,r=s);const i=ee(),o=ee();let c=this._subscriptionNamesBySubjectName.get(e);c||(c=[],this._subscriptionNamesBySubjectName.set(e,c)),c.push(i),this._subscriptionNamesByHandler.set(r,i),this.on(i,r);const l=X({telemetrySdkVersion:J,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,name:e,data:n,responseName:o,subscriptionName:i});U(l);let g=!1,w;const T=new Promise((z,F)=>{const V=new Error(`${e} subscribe request with subscription name of ${i} and response name of ${o} timed out after ${B}`);setTimeout(()=>{g=!0,this.off(o,w),F(V)},B)}),R=new Promise(z=>{w=F=>{g||z(F)},this.once(o,w)});return Promise.race([T,R])}async unsubscribe(e,t,s){let n,r;typeof t=="function"?r=t:(n=t,r=s);const i=ee();let o=[];if(r){const c=this._subscriptionNamesByHandler.get(r);if(!c)return{success:!1};o=[c],this._subscriptionNamesByHandler.delete(r)}else if(!this._subscriptionNamesBySubjectName.get(e))return{success:!1};for await(const c of o){this.off(c,r);const l=X({telemetrySdkVersion:J,applicationInstance:this._applicationInstance,applicationSpecifier:this._applicationSpecifier,name:e,data:n,responseName:i,unsubscribeName:c});U(l);let g=!1,w;const T=new Promise((F,V)=>{const Ge=new Error(`${e} unsubscribe request with unsubscribe name of ${c} and response name of ${i} timed out after ${B}`);setTimeout(()=>{g=!0,this.off(i,w),V(Ge)},B)}),R=new Promise(F=>{w=V=>{g||F(V)},this.once(i,w)});if(!(await Promise.race([T,R])).success)return{success:!1}}return{success:!0}}on(e,t){var s;const n=(s=this._onHandlers.get(e))!==null&&s!==void 0?s:[];n.length===0&&this._onHandlers.set(e,n),n.push(t)}once(e,t){var s;const n=(s=this._onceHandlers.get(e))!==null&&s!==void 0?s:[];n.length===0&&this._onceHandlers.set(e,n),n.push(t)}off(e,t){const s=this._onHandlers.get(e),n=this._onceHandlers.get(e);if(!(!s&&!n)){if(s){for(let r=0;r<s.length;r+=1)t&&s[r]!==t||(s.splice(r,1),r-=1);s.length===0&&this._onHandlers.delete(e)}if(n){for(let r=0;r<n.length;r+=1)t&&n[r]!==t||(n.splice(r,1),r-=1);n.length===0&&this._onceHandlers.delete(e)}}}}function ee(){return Math.random().toString(36).slice(2,9)}const J=Xe.version;let f=null;function Zt(){return f}function At(a){Qe(),f=new Je,f.bind()}function Qe(){f==null||f.unbind(),f=null}function Ot(...a){return x(f),f.on(...a)}function It(...a){return x(f),f.once(...a)}function Et(...a){return x(f),f.off(...a)}function jt(...a){return x(f),f.send(...a)}function Pt(...a){return x(f),f.request(...a)}function Rt(...a){return x(f),f.subscribe(...a)}function $t(...a){return x(f),f.unsubscribe(...a)}function Ft(){return x(f),f.store}function qt(){return x(f),f.applications}function Mt(){return x(f),f.media}function Lt(){return x(f),f.accounts}function Ht(){return x(f),f.users}function Dt(){return x(f),f.devices}function zt(){return x(f),f.proxy}function Vt(){return x(f),f.rootSettingsNavigation}function Bt(){return x(f),f.weather}function Ut(){return x(f),f.currency}function Kt(){return x(f),f.environment}function Wt(){return x(f),f.mqtt}function x(a){if(!a)throw new Error("SDK is not configured")}exports.Accounts=Ie;exports.Applications=Ee;exports.Client=Je;exports.Currency=Le;exports.Devices=je;exports.Environment=Pe;exports.Media=Re;exports.Mqtt=He;exports.Navigation=De;exports.Proxy=$e;exports.Store=Fe;exports.StoreSlice=K;exports.Users=qe;exports.Weather=Me;exports.accounts=Lt;exports.applications=qt;exports.configure=At;exports.currency=Ut;exports.destroy=Qe;exports.devices=Dt;exports.environment=Kt;exports.globalClient=Zt;exports.media=Mt;exports.mqtt=Wt;exports.off=Et;exports.on=Ot;exports.once=It;exports.proxy=zt;exports.request=Pt;exports.rootSettingsNavigation=Vt;exports.send=jt;exports.store=Ft;exports.subscribe=Rt;exports.telemetrySdkVersion=J;exports.unsubscribe=$t;exports.users=Ht;exports.weather=Bt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Xe="1.15.0",et={version:Xe};class Ie{constructor(e){this._client=e}async getCurrent(){const e=await this._client.request("accounts.getCurrent",{});if(!e.success)throw new Error("Failed to fetch current account");return e.account}}class Ee{constructor(e){this._client=e}async getAllByMountPoint(e){return(await this._client.request("applications.getAllByMountPoint",{mountPoint:e})).applications}async getByName(e){return(await this._client.request("applications.getByName",{name:e})).application}async setDependencies(e){return await this._client.request("applications.setDependencies",{applicationSpecifiers:e},{timeout:0})}bind(e,t){if(this._client._messageInterceptors.has(e))throw new Error(`Interceptor already bound for message ${e}`);this._client._messageInterceptors.set(e,t)}}class je{constructor(e){this._client=e}async getInformation(){const e=await this._client.request("devices.getInformation",{});if(!e.success)throw new Error("Failed to get device information");return e.deviceInformation}async getCapabilities(){const e=await this._client.request("devices.getCapabilities",{});if(!e.success)throw new Error("Failed to get device capabilities");return e.capabilities}}class Pe{constructor(e){this._client=e}async getColorScheme(){return(await this._client.request("environment.getColorScheme",{})).colorScheme}async subscribeColorScheme(e){return(await this._client.subscribe("environment.subscribeColorScheme",{},e)).success}async unsubscribeColorScheme(e){return(await this._client.unsubscribe("environment.unsubscribeColorScheme",{},e)).success}}class Re{constructor(e){this._client=e}async getAllFolders(){return(await this._client.request("mediaFolders.getAll",{})).folders}async getAllByFolderId(e){return(await this._client.request("media.getAllByFolderId",{folderId:e})).contents}async getAllByTag(e){return(await this._client.request("media.getAllByTag",{tagName:e})).contents}async getById(e){return(await this._client.request("media.getById",{id:e})).content}async openPicker(e){return(await this._client.request("media.openPicker",{accept:e==null?void 0:e.accept,currentValue:e==null?void 0:e.currentValue})).selection}}class $e{constructor(e){this._client=e}async fetch(e,t){var s;let n;typeof e=="string"?n=e:e instanceof URL?n=e.toString():(n=e.url,t||(t={method:e.method,headers:e.headers,body:e.body,credentials:e.credentials,cache:e.cache,redirect:e.redirect,referrer:e.referrer,integrity:e.integrity}));let r={};t!=null&&t.headers&&(t.headers instanceof Headers?t.headers.forEach((g,w)=>{r[w]=g}):Array.isArray(t.headers)?t.headers.forEach(([g,w])=>{r[g]=w}):r=t.headers);const i=await this._client.request("proxy.fetch",{url:n,method:(t==null?void 0:t.method)||"GET",headers:r,body:(s=t==null?void 0:t.body)!==null&&s!==void 0?s:null});if(!i.success)throw new TypeError(i.errorMessage,{cause:i.errorCause?Error(i.errorCause):void 0});const o=new Headers(i.headers),c={status:i.status,statusText:i.statusText,headers:o};let l=null;if(i.body!==null&&i.body!==void 0)if(i.bodyType==="binary"){const g=atob(i.body),w=new Uint8Array(g.length);for(let T=0;T<g.length;T++)w[T]=g.charCodeAt(T);l=w}else i.bodyType==="text"?l=i.body:i.bodyType==="json"&&(l=JSON.stringify(i.body));return new Response(l,c)}}class Fe{constructor(e){this._client=e}get application(){return new K("application",void 0,this._client)}get instance(){return new K("instance",this._client.applicationInstance,this._client)}get device(){return new K("device",this._client.deviceId,this._client)}shared(e){return new K("shared",e,this._client)}}class K{constructor(e,t,s){this._kind=e,this._namespace=t,this._client=s}async set(e,t){return(await this._client.request("store.set",{kind:this._kind,namespace:this._namespace,key:e,value:t})).success}async get(e){return(await this._client.request("store.get",{kind:this._kind,namespace:this._namespace,key:e})).value}async subscribe(e,t){return(await this._client.subscribe("store.subscribe",{kind:this._kind,namespace:this._namespace,key:e},t)).success}async unsubscribe(e,t){return(await this._client.unsubscribe("store.unsubscribe",{kind:this._kind,namespace:this._namespace,key:e},t)).success}async delete(e){return(await this._client.request("store.delete",{kind:this._kind,namespace:this._namespace,key:e})).success}}class Me{constructor(e){this._client=e}async getCurrent(){const e=await this._client.request("users.getCurrent",{});if(!e.success)throw new Error(e.error||"Failed to fetch current user");return e.user}}class qe{constructor(e){this._client=e}async getCities(e){const t=await this._client.request("weather.getCities",e);if(!t.success)throw new Error(t.error||"Failed to fetch cities");return t.data||[]}async getConditions(e){const t=await this._client.request("weather.getConditions",e);if(!t.success)throw new Error(t.error||"Failed to fetch weather conditions");return t}async getDailyForecast(e){const t=await this._client.request("weather.getDailyForecast",e);if(!t.success)throw new Error(t.error||"Failed to fetch daily forecast");return t}async getHourlyForecast(e){const t=await this._client.request("weather.getHourlyForecast",e);if(!t.success)throw new Error(t.error||"Failed to fetch hourly forecast");return t}async getAlerts(e){const t=await this._client.request("weather.getAlerts",e);if(!t.success)throw new Error(t.error||"Failed to fetch weather alerts");return t}}class Le{constructor(e){this._client=e}async getSymbols(){const e=await this._client.request("currency.getSymbols",{});if(!e.success||!e.symbols)throw new Error("Failed to fetch currency symbols");return e.symbols}async getRates(e){var t,s,n;const r=await this._client.request("currency.getRates",e);if(!r.success||!r.rates)throw((t=r.error)===null||t===void 0?void 0:t.code)===201?new Error(`Invalid base currency '${e.base}'`):((s=r.error)===null||s===void 0?void 0:s.code)===202?new Error(`Invalid target currency symbol '${e.symbols}'`):new Error(((n=r.error)===null||n===void 0?void 0:n.message)||"Failed to fetch currency rates");return r.rates}}class He{constructor(e){this._client=e}async discover(){const e=await this._client.request("mqtt.discover",{});if(!e.success)throw new Error("Failed to discover MQTT brokers");return e.brokers}async connect(e,t){const s=await this._client.request("mqtt.connect",{brokerUrl:e,...t});if(!s.success)throw new Error("Failed to connect to MQTT broker");return s.clientId}async disconnect(e){if(!(await this._client.request("mqtt.disconnect",{clientId:e})).success)throw new Error("Failed to disconnect from MQTT broker")}async publish(e,t,s,n){if(!(await this._client.request("mqtt.publish",{clientId:e,topic:t,payload:s,...n})).success)throw new Error("Failed to publish MQTT message")}async subscribe(e,t,s,n){return(await this._client.subscribe("mqtt.subscribe",{clientId:e,topic:t,...n},s)).success}async unsubscribe(e,t,s){return(await this._client.unsubscribe("mqtt.unsubscribe",{clientId:e,topic:t},s)).success}async getConnectionStatus(e){const t=await this._client.request("mqtt.getConnectionStatus",{clientId:e});if(!t.success)throw new Error("Failed to get MQTT connection status");return t.status}async subscribeConnectionStatus(e,t){return(await this._client.subscribe("mqtt.subscribeConnectionStatus",{clientId:e},t)).success}async unsubscribeConnectionStatus(e,t){return(await this._client.unsubscribe("mqtt.unsubscribeConnectionStatus",{clientId:e},t)).success}}class Ve{constructor(e){this._originalPushState=null,this._originalReplaceState=null,this._popstateHandler=null,this._backHandler=null,this._forwardHandler=null,this._client=e}bind(){typeof window>"u"||this._originalPushState||(this._originalPushState=history.pushState.bind(history),history.pushState=(...e)=>{this._originalPushState(...e),this._sendLocationChanged()},this._originalReplaceState=history.replaceState.bind(history),history.replaceState=(...e)=>{this._originalReplaceState(...e),this._sendLocationChanged()},this._popstateHandler=()=>this._sendLocationChanged(),window.addEventListener("popstate",this._popstateHandler),this._backHandler=()=>history.back(),this._forwardHandler=()=>history.forward(),this._client.on("navigation.back",this._backHandler),this._client.on("navigation.forward",this._forwardHandler),this._sendLocationChanged())}unbind(){typeof window>"u"||(this._originalPushState&&(history.pushState=this._originalPushState,this._originalPushState=null),this._originalReplaceState&&(history.replaceState=this._originalReplaceState,this._originalReplaceState=null),this._popstateHandler&&(window.removeEventListener("popstate",this._popstateHandler),this._popstateHandler=null),this._backHandler&&(this._client.off("navigation.back",this._backHandler),this._backHandler=null),this._forwardHandler&&(this._client.off("navigation.forward",this._forwardHandler),this._forwardHandler=null))}_sendLocationChanged(){this._client.send("navigation.locationChanged",{pathname:window.location.pathname})}}var b;(function(a){a.assertEqual=n=>{};function e(n){}a.assertIs=e;function t(n){throw new Error}a.assertNever=t,a.arrayToEnum=n=>{const r={};for(const i of n)r[i]=i;return r},a.getValidEnumValues=n=>{const r=a.objectKeys(n).filter(o=>typeof n[n[o]]!="number"),i={};for(const o of r)i[o]=n[o];return a.objectValues(i)},a.objectValues=n=>a.objectKeys(n).map(function(r){return n[r]}),a.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{const r=[];for(const i in n)Object.prototype.hasOwnProperty.call(n,i)&&r.push(i);return r},a.find=(n,r)=>{for(const i of n)if(r(i))return i},a.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&Number.isFinite(n)&&Math.floor(n)===n;function s(n,r=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(r)}a.joinValues=s,a.jsonStringifyReplacer=(n,r)=>typeof r=="bigint"?r.toString():r})(b||(b={}));var ge;(function(a){a.mergeShapes=(e,t)=>({...e,...t})})(ge||(ge={}));const h=b.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),O=a=>{switch(typeof a){case"undefined":return h.undefined;case"string":return h.string;case"number":return Number.isNaN(a)?h.nan:h.number;case"boolean":return h.boolean;case"function":return h.function;case"bigint":return h.bigint;case"symbol":return h.symbol;case"object":return Array.isArray(a)?h.array:a===null?h.null:a.then&&typeof a.then=="function"&&a.catch&&typeof a.catch=="function"?h.promise:typeof Map<"u"&&a instanceof Map?h.map:typeof Set<"u"&&a instanceof Set?h.set:typeof Date<"u"&&a instanceof Date?h.date:h.object;default:return h.unknown}},d=b.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Z extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(r){return r.message},s={_errors:[]},n=r=>{for(const i of r.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)s._errors.push(t(i));else{let o=s,c=0;for(;c<i.path.length;){const l=i.path[c];c===i.path.length-1?(o[l]=o[l]||{_errors:[]},o[l]._errors.push(t(i))):o[l]=o[l]||{_errors:[]},o=o[l],c++}}};return n(this),s}static assert(e){if(!(e instanceof Z))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,b.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},s=[];for(const n of this.issues)if(n.path.length>0){const r=n.path[0];t[r]=t[r]||[],t[r].push(e(n))}else s.push(e(n));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}}Z.create=a=>new Z(a);const oe=(a,e)=>{let t;switch(a.code){case d.invalid_type:a.received===h.undefined?t="Required":t=`Expected ${a.expected}, received ${a.received}`;break;case d.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(a.expected,b.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:t=`Unrecognized key(s) in object: ${b.joinValues(a.keys,", ")}`;break;case d.invalid_union:t="Invalid input";break;case d.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${b.joinValues(a.options)}`;break;case d.invalid_enum_value:t=`Invalid enum value. Expected ${b.joinValues(a.options)}, received '${a.received}'`;break;case d.invalid_arguments:t="Invalid function arguments";break;case d.invalid_return_type:t="Invalid function return type";break;case d.invalid_date:t="Invalid date";break;case d.invalid_string:typeof a.validation=="object"?"includes"in a.validation?(t=`Invalid input: must include "${a.validation.includes}"`,typeof a.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${a.validation.position}`)):"startsWith"in a.validation?t=`Invalid input: must start with "${a.validation.startsWith}"`:"endsWith"in a.validation?t=`Invalid input: must end with "${a.validation.endsWith}"`:b.assertNever(a.validation):a.validation!=="regex"?t=`Invalid ${a.validation}`:t="Invalid";break;case d.too_small:a.type==="array"?t=`Array must contain ${a.exact?"exactly":a.inclusive?"at least":"more than"} ${a.minimum} element(s)`:a.type==="string"?t=`String must contain ${a.exact?"exactly":a.inclusive?"at least":"over"} ${a.minimum} character(s)`:a.type==="number"?t=`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:a.type==="bigint"?t=`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:a.type==="date"?t=`Date must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(a.minimum))}`:t="Invalid input";break;case d.too_big:a.type==="array"?t=`Array must contain ${a.exact?"exactly":a.inclusive?"at most":"less than"} ${a.maximum} element(s)`:a.type==="string"?t=`String must contain ${a.exact?"exactly":a.inclusive?"at most":"under"} ${a.maximum} character(s)`:a.type==="number"?t=`Number must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="bigint"?t=`BigInt must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="date"?t=`Date must be ${a.exact?"exactly":a.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(a.maximum))}`:t="Invalid input";break;case d.custom:t="Invalid input";break;case d.invalid_intersection_types:t="Intersection results could not be merged";break;case d.not_multiple_of:t=`Number must be a multiple of ${a.multipleOf}`;break;case d.not_finite:t="Number must be finite";break;default:t=e.defaultError,b.assertNever(a)}return{message:t}};let tt=oe;function st(){return tt}const nt=a=>{const{data:e,path:t,errorMaps:s,issueData:n}=a,r=[...t,...n.path||[]],i={...n,path:r};if(n.message!==void 0)return{...n,path:r,message:n.message};let o="";const c=s.filter(l=>!!l).slice().reverse();for(const l of c)o=l(i,{data:e,defaultError:o}).message;return{...n,path:r,message:o}};function u(a,e){const t=st(),s=nt({issueData:e,data:a.data,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,t,t===oe?void 0:oe].filter(n=>!!n)});a.common.issues.push(s)}class S{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const s=[];for(const n of t){if(n.status==="aborted")return _;n.status==="dirty"&&e.dirty(),s.push(n.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){const s=[];for(const n of t){const r=await n.key,i=await n.value;s.push({key:r,value:i})}return S.mergeObjectSync(e,s)}static mergeObjectSync(e,t){const s={};for(const n of t){const{key:r,value:i}=n;if(r.status==="aborted"||i.status==="aborted")return _;r.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),r.value!=="__proto__"&&(typeof i.value<"u"||n.alwaysSet)&&(s[r.value]=i.value)}return{status:e.value,value:s}}}const _=Object.freeze({status:"aborted"}),ce=a=>({status:"dirty",value:a}),C=a=>({status:"valid",value:a}),ye=a=>a.status==="aborted",ve=a=>a.status==="dirty",q=a=>a.status==="valid",te=a=>typeof Promise<"u"&&a instanceof Promise;var p;(function(a){a.errToObj=e=>typeof e=="string"?{message:e}:e||{},a.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(p||(p={}));class j{constructor(e,t,s,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=n}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const be=(a,e)=>{if(q(e))return{success:!0,data:e.value};if(!a.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new Z(a.common.issues);return this._error=t,this._error}}};function y(a){if(!a)return{};const{errorMap:e,invalid_type_error:t,required_error:s,description:n}=a;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(r,i)=>{const{message:o}=a;return r.code==="invalid_enum_value"?{message:o??i.defaultError}:typeof i.data>"u"?{message:o??s??i.defaultError}:r.code!=="invalid_type"?{message:i.defaultError}:{message:o??t??i.defaultError}},description:n}}class v{get description(){return this._def.description}_getType(e){return O(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:O(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:O(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(te(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){const s={common:{issues:[],async:(t==null?void 0:t.async)??!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:O(e)},n=this._parseSync({data:e,path:s.path,parent:s});return be(s,n)}"~validate"(e){var t,s;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:O(e)};if(!this["~standard"].async)try{const r=this._parseSync({data:e,path:[],parent:n});return q(r)?{value:r.value}:{issues:n.common.issues}}catch(r){(s=(t=r==null?void 0:r.message)==null?void 0:t.toLowerCase())!=null&&s.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>q(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,t){const s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){const s={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:O(e)},n=this._parse({data:e,path:s.path,parent:s}),r=await(te(n)?n:Promise.resolve(n));return be(s,r)}refine(e,t){const s=n=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(n):t;return this._refinement((n,r)=>{const i=e(n),o=()=>r.addIssue({code:d.custom,...s(n)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((s,n)=>e(s)?!0:(n.addIssue(typeof t=="function"?t(s,n):t),!1))}_refinement(e){return new H({schema:this,typeName:m.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return E.create(this,this._def)}nullable(){return V.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return N.create(this)}promise(){return re.create(this,this._def)}or(e){return ne.create([this,e],this._def)}and(e){return ae.create(this,e,this._def)}transform(e){return new H({...y(this._def),schema:this,typeName:m.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new he({...y(this._def),innerType:this,defaultValue:t,typeName:m.ZodDefault})}brand(){return new Tt({typeName:m.ZodBranded,type:this,...y(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new pe({...y(this._def),innerType:this,catchValue:t,typeName:m.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return me.create(this,e)}readonly(){return fe.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const at=/^c[^\s-]{8,}$/i,rt=/^[0-9a-z]+$/,it=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ot=/^[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,ct=/^[a-z0-9_-]{21}$/i,dt=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ut=/^[-+]?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)?)??$/,lt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ht="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let ie;const pt=/^(?:(?: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])$/,ft=/^(?:(?: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])$/,mt=/^(([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]))$/,_t=/^(([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])$/,gt=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,yt=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,De="((\\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])))",vt=new RegExp(`^${De}$`);function ze(a){let e="[0-5]\\d";a.precision?e=`${e}\\.\\d{${a.precision}}`:a.precision==null&&(e=`${e}(\\.\\d+)?`);const t=a.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function bt(a){return new RegExp(`^${ze(a)}$`)}function wt(a){let e=`${De}T${ze(a)}`;const t=[];return t.push(a.local?"Z?":"Z"),a.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function kt(a,e){return!!((e==="v4"||!e)&&pt.test(a)||(e==="v6"||!e)&&mt.test(a))}function xt(a,e){if(!dt.test(a))return!1;try{const[t]=a.split(".");if(!t)return!1;const s=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),n=JSON.parse(atob(s));return!(typeof n!="object"||n===null||"typ"in n&&(n==null?void 0:n.typ)!=="JWT"||!n.alg||e&&n.alg!==e)}catch{return!1}}function St(a,e){return!!((e==="v4"||!e)&&ft.test(a)||(e==="v6"||!e)&&_t.test(a))}class I extends v{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==h.string){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_type,expected:h.string,received:n.parsedType}),_}const t=new S;let s;for(const n of this._def.checks)if(n.kind==="min")e.data.length<n.value&&(s=this._getOrReturnCtx(e,s),u(s,{code:d.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),t.dirty());else if(n.kind==="max")e.data.length>n.value&&(s=this._getOrReturnCtx(e,s),u(s,{code:d.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),t.dirty());else if(n.kind==="length"){const r=e.data.length>n.value,i=e.data.length<n.value;(r||i)&&(s=this._getOrReturnCtx(e,s),r?u(s,{code:d.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}):i&&u(s,{code:d.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}),t.dirty())}else if(n.kind==="email")lt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"email",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="emoji")ie||(ie=new RegExp(ht,"u")),ie.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"emoji",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="uuid")ot.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"uuid",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="nanoid")ct.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"nanoid",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="cuid")at.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"cuid",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="cuid2")rt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"cuid2",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="ulid")it.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"ulid",code:d.invalid_string,message:n.message}),t.dirty());else if(n.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),u(s,{validation:"url",code:d.invalid_string,message:n.message}),t.dirty()}else n.kind==="regex"?(n.regex.lastIndex=0,n.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"regex",code:d.invalid_string,message:n.message}),t.dirty())):n.kind==="trim"?e.data=e.data.trim():n.kind==="includes"?e.data.includes(n.value,n.position)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:{includes:n.value,position:n.position},message:n.message}),t.dirty()):n.kind==="toLowerCase"?e.data=e.data.toLowerCase():n.kind==="toUpperCase"?e.data=e.data.toUpperCase():n.kind==="startsWith"?e.data.startsWith(n.value)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:{startsWith:n.value},message:n.message}),t.dirty()):n.kind==="endsWith"?e.data.endsWith(n.value)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:{endsWith:n.value},message:n.message}),t.dirty()):n.kind==="datetime"?wt(n).test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:"datetime",message:n.message}),t.dirty()):n.kind==="date"?vt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:"date",message:n.message}),t.dirty()):n.kind==="time"?bt(n).test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:"time",message:n.message}),t.dirty()):n.kind==="duration"?ut.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"duration",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="ip"?kt(e.data,n.version)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"ip",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="jwt"?xt(e.data,n.alg)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"jwt",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="cidr"?St(e.data,n.version)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"cidr",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="base64"?gt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"base64",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="base64url"?yt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"base64url",code:d.invalid_string,message:n.message}),t.dirty()):b.assertNever(n);return{status:t.value,value:e.data}}_regex(e,t,s){return this.refinement(n=>e.test(n),{validation:t,code:d.invalid_string,...p.errToObj(s)})}_addCheck(e){return new I({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...p.errToObj(e)})}url(e){return this._addCheck({kind:"url",...p.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...p.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...p.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...p.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...p.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...p.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...p.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...p.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...p.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...p.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...p.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...p.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(e==null?void 0:e.offset)??!1,local:(e==null?void 0:e.local)??!1,...p.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...p.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...p.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...p.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...p.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...p.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...p.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...p.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...p.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...p.errToObj(t)})}nonempty(e){return this.min(1,p.errToObj(e))}trim(){return new I({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new I({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new I({...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(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}I.create=a=>new I({checks:[],typeName:m.ZodString,coerce:(a==null?void 0:a.coerce)??!1,...y(a)});function Ct(a,e){const t=(a.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,n=t>s?t:s,r=Number.parseInt(a.toFixed(n).replace(".","")),i=Number.parseInt(e.toFixed(n).replace(".",""));return r%i/10**n}class G extends v{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)!==h.number){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_type,expected:h.number,received:n.parsedType}),_}let t;const s=new S;for(const n of this._def.checks)n.kind==="int"?b.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),u(t,{code:d.invalid_type,expected:"integer",received:"float",message:n.message}),s.dirty()):n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="multipleOf"?Ct(e.data,n.value)!==0&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),u(t,{code:d.not_finite,message:n.message}),s.dirty()):b.assertNever(n);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,p.toString(t))}gt(e,t){return this.setLimit("min",e,!1,p.toString(t))}lte(e,t){return this.setLimit("max",e,!0,p.toString(t))}lt(e,t){return this.setLimit("max",e,!1,p.toString(t))}setLimit(e,t,s,n){return new G({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:p.toString(n)}]})}_addCheck(e){return new G({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:p.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:p.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:p.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:p.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:p.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:p.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:p.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:p.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:p.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const 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"&&b.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(t)&&Number.isFinite(e)}}G.create=a=>new G({checks:[],typeName:m.ZodNumber,coerce:(a==null?void 0:a.coerce)||!1,...y(a)});class Y extends v{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)!==h.bigint)return this._getInvalidInput(e);let t;const s=new S;for(const n of this._def.checks)n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),s.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),s.dirty()):n.kind==="multipleOf"?e.data%n.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),u(t,{code:d.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):b.assertNever(n);return{status:s.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.bigint,received:t.parsedType}),_}gte(e,t){return this.setLimit("min",e,!0,p.toString(t))}gt(e,t){return this.setLimit("min",e,!1,p.toString(t))}lte(e,t){return this.setLimit("max",e,!0,p.toString(t))}lt(e,t){return this.setLimit("max",e,!1,p.toString(t))}setLimit(e,t,s,n){return new Y({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:p.toString(n)}]})}_addCheck(e){return new Y({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:p.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:p.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:p.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:p.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:p.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}Y.create=a=>new Y({checks:[],typeName:m.ZodBigInt,coerce:(a==null?void 0:a.coerce)??!1,...y(a)});class we extends v{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==h.boolean){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.boolean,received:t.parsedType}),_}return C(e.data)}}we.create=a=>new we({typeName:m.ZodBoolean,coerce:(a==null?void 0:a.coerce)||!1,...y(a)});class se extends v{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==h.date){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_type,expected:h.date,received:n.parsedType}),_}if(Number.isNaN(e.data.getTime())){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_date}),_}const t=new S;let s;for(const n of this._def.checks)n.kind==="min"?e.data.getTime()<n.value&&(s=this._getOrReturnCtx(e,s),u(s,{code:d.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),t.dirty()):n.kind==="max"?e.data.getTime()>n.value&&(s=this._getOrReturnCtx(e,s),u(s,{code:d.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),t.dirty()):b.assertNever(n);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new se({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:p.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:p.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}se.create=a=>new se({checks:[],coerce:(a==null?void 0:a.coerce)||!1,typeName:m.ZodDate,...y(a)});class ke extends v{_parse(e){if(this._getType(e)!==h.symbol){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.symbol,received:t.parsedType}),_}return C(e.data)}}ke.create=a=>new ke({typeName:m.ZodSymbol,...y(a)});class xe extends v{_parse(e){if(this._getType(e)!==h.undefined){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.undefined,received:t.parsedType}),_}return C(e.data)}}xe.create=a=>new xe({typeName:m.ZodUndefined,...y(a)});class Se extends v{_parse(e){if(this._getType(e)!==h.null){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.null,received:t.parsedType}),_}return C(e.data)}}Se.create=a=>new Se({typeName:m.ZodNull,...y(a)});class de extends v{constructor(){super(...arguments),this._any=!0}_parse(e){return C(e.data)}}de.create=a=>new de({typeName:m.ZodAny,...y(a)});class Ce extends v{constructor(){super(...arguments),this._unknown=!0}_parse(e){return C(e.data)}}Ce.create=a=>new Ce({typeName:m.ZodUnknown,...y(a)});class P extends v{_parse(e){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.never,received:t.parsedType}),_}}P.create=a=>new P({typeName:m.ZodNever,...y(a)});class Te extends v{_parse(e){if(this._getType(e)!==h.undefined){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.void,received:t.parsedType}),_}return C(e.data)}}Te.create=a=>new Te({typeName:m.ZodVoid,...y(a)});class N extends v{_parse(e){const{ctx:t,status:s}=this._processInputParams(e),n=this._def;if(t.parsedType!==h.array)return u(t,{code:d.invalid_type,expected:h.array,received:t.parsedType}),_;if(n.exactLength!==null){const i=t.data.length>n.exactLength.value,o=t.data.length<n.exactLength.value;(i||o)&&(u(t,{code:i?d.too_big:d.too_small,minimum:o?n.exactLength.value:void 0,maximum:i?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),s.dirty())}if(n.minLength!==null&&t.data.length<n.minLength.value&&(u(t,{code:d.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),s.dirty()),n.maxLength!==null&&t.data.length>n.maxLength.value&&(u(t,{code:d.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((i,o)=>n.type._parseAsync(new j(t,i,t.path,o)))).then(i=>S.mergeArray(s,i));const r=[...t.data].map((i,o)=>n.type._parseSync(new j(t,i,t.path,o)));return S.mergeArray(s,r)}get element(){return this._def.type}min(e,t){return new N({...this._def,minLength:{value:e,message:p.toString(t)}})}max(e,t){return new N({...this._def,maxLength:{value:e,message:p.toString(t)}})}length(e,t){return new N({...this._def,exactLength:{value:e,message:p.toString(t)}})}nonempty(e){return this.min(1,e)}}N.create=(a,e)=>new N({type:a,minLength:null,maxLength:null,exactLength:null,typeName:m.ZodArray,...y(e)});function M(a){if(a instanceof k){const e={};for(const t in a.shape){const s=a.shape[t];e[t]=E.create(M(s))}return new k({...a._def,shape:()=>e})}else return a instanceof N?new N({...a._def,type:M(a.element)}):a instanceof E?E.create(M(a.unwrap())):a instanceof V?V.create(M(a.unwrap())):a instanceof $?$.create(a.items.map(e=>M(e))):a}class k extends v{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=b.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==h.object){const c=this._getOrReturnCtx(e);return u(c,{code:d.invalid_type,expected:h.object,received:c.parsedType}),_}const{status:t,ctx:s}=this._processInputParams(e),{shape:n,keys:r}=this._getCached(),i=[];if(!(this._def.catchall instanceof P&&this._def.unknownKeys==="strip"))for(const c in s.data)r.includes(c)||i.push(c);const o=[];for(const c of r){const l=n[c],g=s.data[c];o.push({key:{status:"valid",value:c},value:l._parse(new j(s,g,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof P){const c=this._def.unknownKeys;if(c==="passthrough")for(const l of i)o.push({key:{status:"valid",value:l},value:{status:"valid",value:s.data[l]}});else if(c==="strict")i.length>0&&(u(s,{code:d.unrecognized_keys,keys:i}),t.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const l of i){const g=s.data[l];o.push({key:{status:"valid",value:l},value:c._parse(new j(s,g,s.path,l)),alwaysSet:l in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const c=[];for(const l of o){const g=await l.key,w=await l.value;c.push({key:g,value:w,alwaysSet:l.alwaysSet})}return c}).then(c=>S.mergeObjectSync(t,c)):S.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return p.errToObj,new k({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{var n,r;const i=((r=(n=this._def).errorMap)==null?void 0:r.call(n,t,s).message)??s.defaultError;return t.code==="unrecognized_keys"?{message:p.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new k({...this._def,unknownKeys:"strip"})}passthrough(){return new k({...this._def,unknownKeys:"passthrough"})}extend(e){return new k({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new k({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:m.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new k({...this._def,catchall:e})}pick(e){const t={};for(const s of b.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new k({...this._def,shape:()=>t})}omit(e){const t={};for(const s of b.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new k({...this._def,shape:()=>t})}deepPartial(){return M(this)}partial(e){const t={};for(const s of b.objectKeys(this.shape)){const n=this.shape[s];e&&!e[s]?t[s]=n:t[s]=n.optional()}return new k({...this._def,shape:()=>t})}required(e){const t={};for(const s of b.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof E;)n=n._def.innerType;t[s]=n}return new k({...this._def,shape:()=>t})}keyof(){return Be(b.objectKeys(this.shape))}}k.create=(a,e)=>new k({shape:()=>a,unknownKeys:"strip",catchall:P.create(),typeName:m.ZodObject,...y(e)});k.strictCreate=(a,e)=>new k({shape:()=>a,unknownKeys:"strict",catchall:P.create(),typeName:m.ZodObject,...y(e)});k.lazycreate=(a,e)=>new k({shape:a,unknownKeys:"strip",catchall:P.create(),typeName:m.ZodObject,...y(e)});class ne extends v{_parse(e){const{ctx:t}=this._processInputParams(e),s=this._def.options;function n(r){for(const o of r)if(o.result.status==="valid")return o.result;for(const o of r)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;const i=r.map(o=>new Z(o.ctx.common.issues));return u(t,{code:d.invalid_union,unionErrors:i}),_}if(t.common.async)return Promise.all(s.map(async r=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await r._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(n);{let r;const i=[];for(const c of s){const l={...t,common:{...t.common,issues:[]},parent:null},g=c._parseSync({data:t.data,path:t.path,parent:l});if(g.status==="valid")return g;g.status==="dirty"&&!r&&(r={result:g,ctx:l}),l.common.issues.length&&i.push(l.common.issues)}if(r)return t.common.issues.push(...r.ctx.common.issues),r.result;const o=i.map(c=>new Z(c));return u(t,{code:d.invalid_union,unionErrors:o}),_}}get options(){return this._def.options}}ne.create=(a,e)=>new ne({options:a,typeName:m.ZodUnion,...y(e)});function ue(a,e){const t=O(a),s=O(e);if(a===e)return{valid:!0,data:a};if(t===h.object&&s===h.object){const n=b.objectKeys(e),r=b.objectKeys(a).filter(o=>n.indexOf(o)!==-1),i={...a,...e};for(const o of r){const c=ue(a[o],e[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(t===h.array&&s===h.array){if(a.length!==e.length)return{valid:!1};const n=[];for(let r=0;r<a.length;r++){const i=a[r],o=e[r],c=ue(i,o);if(!c.valid)return{valid:!1};n.push(c.data)}return{valid:!0,data:n}}else return t===h.date&&s===h.date&&+a==+e?{valid:!0,data:a}:{valid:!1}}class ae extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=(r,i)=>{if(ye(r)||ye(i))return _;const o=ue(r.value,i.value);return o.valid?((ve(r)||ve(i))&&t.dirty(),{status:t.value,value:o.data}):(u(s,{code:d.invalid_intersection_types}),_)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([r,i])=>n(r,i)):n(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}ae.create=(a,e,t)=>new ae({left:a,right:e,typeName:m.ZodIntersection,...y(t)});class $ extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==h.array)return u(s,{code:d.invalid_type,expected:h.array,received:s.parsedType}),_;if(s.data.length<this._def.items.length)return u(s,{code:d.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_;!this._def.rest&&s.data.length>this._def.items.length&&(u(s,{code:d.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const n=[...s.data].map((r,i)=>{const o=this._def.items[i]||this._def.rest;return o?o._parse(new j(s,r,s.path,i)):null}).filter(r=>!!r);return s.common.async?Promise.all(n).then(r=>S.mergeArray(t,r)):S.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new $({...this._def,rest:e})}}$.create=(a,e)=>{if(!Array.isArray(a))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $({items:a,typeName:m.ZodTuple,rest:null,...y(e)})};class Ne extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==h.map)return u(s,{code:d.invalid_type,expected:h.map,received:s.parsedType}),_;const n=this._def.keyType,r=this._def.valueType,i=[...s.data.entries()].map(([o,c],l)=>({key:n._parse(new j(s,o,s.path,[l,"key"])),value:r._parse(new j(s,c,s.path,[l,"value"]))}));if(s.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const c of i){const l=await c.key,g=await c.value;if(l.status==="aborted"||g.status==="aborted")return _;(l.status==="dirty"||g.status==="dirty")&&t.dirty(),o.set(l.value,g.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const c of i){const l=c.key,g=c.value;if(l.status==="aborted"||g.status==="aborted")return _;(l.status==="dirty"||g.status==="dirty")&&t.dirty(),o.set(l.value,g.value)}return{status:t.value,value:o}}}}Ne.create=(a,e,t)=>new Ne({valueType:e,keyType:a,typeName:m.ZodMap,...y(t)});class X extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==h.set)return u(s,{code:d.invalid_type,expected:h.set,received:s.parsedType}),_;const n=this._def;n.minSize!==null&&s.data.size<n.minSize.value&&(u(s,{code:d.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),n.maxSize!==null&&s.data.size>n.maxSize.value&&(u(s,{code:d.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());const r=this._def.valueType;function i(c){const l=new Set;for(const g of c){if(g.status==="aborted")return _;g.status==="dirty"&&t.dirty(),l.add(g.value)}return{status:t.value,value:l}}const o=[...s.data.values()].map((c,l)=>r._parse(new j(s,c,s.path,l)));return s.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(e,t){return new X({...this._def,minSize:{value:e,message:p.toString(t)}})}max(e,t){return new X({...this._def,maxSize:{value:e,message:p.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}X.create=(a,e)=>new X({valueType:a,minSize:null,maxSize:null,typeName:m.ZodSet,...y(e)});class Ze extends v{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Ze.create=(a,e)=>new Ze({getter:a,typeName:m.ZodLazy,...y(e)});class le extends v{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return u(t,{received:t.data,code:d.invalid_literal,expected:this._def.value}),_}return{status:"valid",value:e.data}}get value(){return this._def.value}}le.create=(a,e)=>new le({value:a,typeName:m.ZodLiteral,...y(e)});function Be(a,e){return new L({values:a,typeName:m.ZodEnum,...y(e)})}class L extends v{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),s=this._def.values;return u(t,{expected:b.joinValues(s),received:t.parsedType,code:d.invalid_type}),_}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),s=this._def.values;return u(t,{received:t.data,code:d.invalid_enum_value,options:s}),_}return C(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return L.create(e,{...this._def,...t})}exclude(e,t=this._def){return L.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}}L.create=Be;class Ae extends v{_parse(e){const t=b.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==h.string&&s.parsedType!==h.number){const n=b.objectValues(t);return u(s,{expected:b.joinValues(n),received:s.parsedType,code:d.invalid_type}),_}if(this._cache||(this._cache=new Set(b.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const n=b.objectValues(t);return u(s,{received:s.data,code:d.invalid_enum_value,options:n}),_}return C(e.data)}get enum(){return this._def.values}}Ae.create=(a,e)=>new Ae({values:a,typeName:m.ZodNativeEnum,...y(e)});class re extends v{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==h.promise&&t.common.async===!1)return u(t,{code:d.invalid_type,expected:h.promise,received:t.parsedType}),_;const s=t.parsedType===h.promise?t.data:Promise.resolve(t.data);return C(s.then(n=>this._def.type.parseAsync(n,{path:t.path,errorMap:t.common.contextualErrorMap})))}}re.create=(a,e)=>new re({type:a,typeName:m.ZodPromise,...y(e)});class H extends v{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=this._def.effect||null,r={addIssue:i=>{u(s,i),i.fatal?t.abort():t.dirty()},get path(){return s.path}};if(r.addIssue=r.addIssue.bind(r),n.type==="preprocess"){const i=n.transform(s.data,r);if(s.common.async)return Promise.resolve(i).then(async o=>{if(t.value==="aborted")return _;const c=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return c.status==="aborted"?_:c.status==="dirty"||t.value==="dirty"?ce(c.value):c});{if(t.value==="aborted")return _;const o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?_:o.status==="dirty"||t.value==="dirty"?ce(o.value):o}}if(n.type==="refinement"){const i=o=>{const c=n.refinement(o,r);if(s.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?_:(o.status==="dirty"&&t.dirty(),i(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?_:(o.status==="dirty"&&t.dirty(),i(o.value).then(()=>({status:t.value,value:o.value}))))}if(n.type==="transform")if(s.common.async===!1){const i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!q(i))return _;const o=n.transform(i.value,r);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>q(i)?Promise.resolve(n.transform(i.value,r)).then(o=>({status:t.value,value:o})):_);b.assertNever(n)}}H.create=(a,e,t)=>new H({schema:a,typeName:m.ZodEffects,effect:e,...y(t)});H.createWithPreprocess=(a,e,t)=>new H({schema:e,effect:{type:"preprocess",transform:a},typeName:m.ZodEffects,...y(t)});class E extends v{_parse(e){return this._getType(e)===h.undefined?C(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}E.create=(a,e)=>new E({innerType:a,typeName:m.ZodOptional,...y(e)});class V extends v{_parse(e){return this._getType(e)===h.null?C(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}V.create=(a,e)=>new V({innerType:a,typeName:m.ZodNullable,...y(e)});class he extends v{_parse(e){const{ctx:t}=this._processInputParams(e);let s=t.data;return t.parsedType===h.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}he.create=(a,e)=>new he({innerType:a,typeName:m.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...y(e)});class pe extends v{_parse(e){const{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return te(n)?n.then(r=>({status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new Z(s.common.issues)},input:s.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new Z(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}pe.create=(a,e)=>new pe({innerType:a,typeName:m.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...y(e)});class Oe extends v{_parse(e){if(this._getType(e)!==h.nan){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.nan,received:t.parsedType}),_}return{status:"valid",value:e.data}}}Oe.create=a=>new Oe({typeName:m.ZodNaN,...y(a)});class Tt extends v{_parse(e){const{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}}class me extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const n=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?_:n.status==="dirty"?(t.dirty(),ce(n.value)):this._def.out._parseAsync({data:n.value,path:s.path,parent:s})})();{const n=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?_:n.status==="dirty"?(t.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:s.path,parent:s})}}static create(e,t){return new me({in:e,out:t,typeName:m.ZodPipeline})}}class fe extends v{_parse(e){const t=this._def.innerType._parse(e),s=n=>(q(n)&&(n.value=Object.freeze(n.value)),n);return te(t)?t.then(n=>s(n)):s(t)}unwrap(){return this._def.innerType}}fe.create=(a,e)=>new fe({innerType:a,typeName:m.ZodReadonly,...y(e)});var m;(function(a){a.ZodString="ZodString",a.ZodNumber="ZodNumber",a.ZodNaN="ZodNaN",a.ZodBigInt="ZodBigInt",a.ZodBoolean="ZodBoolean",a.ZodDate="ZodDate",a.ZodSymbol="ZodSymbol",a.ZodUndefined="ZodUndefined",a.ZodNull="ZodNull",a.ZodAny="ZodAny",a.ZodUnknown="ZodUnknown",a.ZodNever="ZodNever",a.ZodVoid="ZodVoid",a.ZodArray="ZodArray",a.ZodObject="ZodObject",a.ZodUnion="ZodUnion",a.ZodDiscriminatedUnion="ZodDiscriminatedUnion",a.ZodIntersection="ZodIntersection",a.ZodTuple="ZodTuple",a.ZodRecord="ZodRecord",a.ZodMap="ZodMap",a.ZodSet="ZodSet",a.ZodFunction="ZodFunction",a.ZodLazy="ZodLazy",a.ZodLiteral="ZodLiteral",a.ZodEnum="ZodEnum",a.ZodEffects="ZodEffects",a.ZodNativeEnum="ZodNativeEnum",a.ZodOptional="ZodOptional",a.ZodNullable="ZodNullable",a.ZodDefault="ZodDefault",a.ZodCatch="ZodCatch",a.ZodPromise="ZodPromise",a.ZodBranded="ZodBranded",a.ZodPipeline="ZodPipeline",a.ZodReadonly="ZodReadonly"})(m||(m={}));const A=I.create,Ue=de.create;P.create;N.create;const Ke=k.create;ne.create;ae.create;$.create;const We=le.create;L.create;re.create;E.create;V.create;const Je=Ke({type:We("bridge"),name:A(),data:Ue()});function Nt(a){return{...a,type:"bridge"}}const Zt=Ke({type:We("client"),telemetrySdkVersion:A(),applicationSpecifier:A(),applicationInstance:A(),name:A(),data:Ue(),responseName:A().optional(),subscriptionName:A().optional(),unsubscribeName:A().optional()});function W(a){return{...a,type:"client"}}class At{constructor(e){if(e._client._applicationSpecifier!=="rootSettingsNavigation")throw new Error("RootSettingsNavigation can only be used in the rootSettingsNavigation mount point");this._store=e}async setRootSettingsNavigation(e){var t;const s=this._store.shared("root-settings-navigation"),n=(t=await s.get("navigation"))!==null&&t!==void 0?t:{},r=this._store._client._applicationSpecifier;n[r]={applicationSpecifier:r,entries:e.entries},s.set("navigation",n)}async getRootSettingsNavigation(){var e;const s=(e=await this._store.shared("root-settings-navigation").get("navigation"))!==null&&e!==void 0?e:{},n=this._store._client._applicationSpecifier;return s[n]}async getAllRootSettingsNavigation(){var e;return(e=await this._store.shared("root-settings-navigation").get("navigation"))!==null&&e!==void 0?e:{}}}const B=1e3*30,_e=typeof window>"u"&&typeof self<"u",J=_e?self:window;function U(a){_e?self.postMessage(a):J.parent.postMessage(a,"*")}class Qe{constructor(){this._applicationInstance="",this._applicationSpecifier="",this._deviceId="",this._navigation=new Ve(this),this._messageInterceptors=new Map,this._onHandlers=new Map,this._onceHandlers=new Map,this._subscriptionNamesByHandler=new Map,this._subscriptionNamesBySubjectName=new Map}get accounts(){return new Ie(this)}get users(){return new Me(this)}get store(){return new Fe(this)}get applications(){return new Ee(this)}get media(){return new Re(this)}get proxy(){return new $e(this)}get devices(){return new je(this)}get rootSettingsNavigation(){return new At(this.store)}get weather(){return new qe(this)}get currency(){return new Le(this)}get environment(){return new Pe(this)}get mqtt(){return new He(this)}get applicationSpecifier(){return this._applicationSpecifier}get applicationInstance(){return this._applicationInstance}get deviceId(){return this._deviceId}bind(){var e,t;const s=new URL(J.location.href),n=s.searchParams;this._applicationInstance=n.get("applicationInstance")||"single",this._deviceId=n.get("deviceId")||this._applicationInstance;const r=/^[a-z0-9-]{40}$/i;if(this._applicationSpecifier=(e=n.get("applicationSpecifier"))!==null&&e!==void 0?e:"",!this._applicationSpecifier||!r.test(this._applicationSpecifier)){const i=s.hostname.split(".");this._applicationSpecifier=(t=i[0])!==null&&t!==void 0?t:""}if(!this._applicationSpecifier||!r.test(this._applicationSpecifier))throw console.error("TelemetryOS apps require an applicationSpecifier in the URL query parameters or subdomain. Make sure your app is being served correctly through the TelemetryOS platform or development environment."),new Error(`Invalid applicationSpecifier: expected 40-character hash, got "${this._applicationSpecifier}"`);this._windowMessageHandler=i=>{if(i.source===J||!i.data||typeof i.data!="object"||!("type"in i.data)||i.data.type!=="client"&&i.data.type!=="bridge")return;let o;if(i.data.type==="client"){const c=this._messageInterceptors.get(i.data.name);if(!c){U(i.data);return}o={...c(i.data.data),type:"bridge",...i.data.responseName?{name:i.data.responseName}:{}}}if(!o){const c=Je.safeParse(i.data);if(!c.success){const w=i.data;w&&typeof w=="object"&&w.type==="bridge"&&console.warn("[sdk-client] Received a message that looks like a bridge message but failed schema validation. This may indicate a version mismatch between the SDK and the host environment.",c.error.issues);return}o=c.data;const l=this._onHandlers.get(o.name),g=this._onceHandlers.get(o.name);if(l)for(const w of l)w(o.data);if(g){for(const w of g)w(o.data);this._onceHandlers.delete(o.name)}}if(!_e)for(let c=0;c<window.frames.length;c+=1)window.frames[c].postMessage(o,"*")},J.addEventListener("message",this._windowMessageHandler),this._navigation.bind()}unbind(){this._windowMessageHandler&&(this._navigation.unbind(),J.removeEventListener("message",this._windowMessageHandler))}send(e,t){const s=W({telemetrySdkVersion:Q,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,name:e,data:t});U(s)}request(e,t,s){var n;const r=ee(),i=W({telemetrySdkVersion:Q,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,name:e,data:t,responseName:r});U(i);const o=(n=s==null?void 0:s.timeout)!==null&&n!==void 0?n:B;let c=!1,l;const g=new Promise(T=>{l=R=>{c||T(R)},this.once(r,l)});if(o===0)return g;const w=new Promise((T,R)=>{const D=new Error(`${e} message request with response name of ${r} timed out after ${o}`);setTimeout(()=>{c=!0,this.off(r,l),R(D)},o)});return Promise.race([w,g])}async subscribe(e,t,s){let n,r;typeof t=="function"?r=t:(n=t,r=s);const i=ee(),o=ee();let c=this._subscriptionNamesBySubjectName.get(e);c||(c=[],this._subscriptionNamesBySubjectName.set(e,c)),c.push(i),this._subscriptionNamesByHandler.set(r,i),this.on(i,r);const l=W({telemetrySdkVersion:Q,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,name:e,data:n,responseName:o,subscriptionName:i});U(l);let g=!1,w;const T=new Promise((D,F)=>{const z=new Error(`${e} subscribe request with subscription name of ${i} and response name of ${o} timed out after ${B}`);setTimeout(()=>{g=!0,this.off(o,w),F(z)},B)}),R=new Promise(D=>{w=F=>{g||D(F)},this.once(o,w)});return Promise.race([T,R])}async unsubscribe(e,t,s){let n,r;typeof t=="function"?r=t:(n=t,r=s);const i=ee();let o=[];if(r){const c=this._subscriptionNamesByHandler.get(r);if(!c)return{success:!1};o=[c],this._subscriptionNamesByHandler.delete(r)}else if(!this._subscriptionNamesBySubjectName.get(e))return{success:!1};for await(const c of o){this.off(c,r);const l=W({telemetrySdkVersion:Q,applicationInstance:this._applicationInstance,applicationSpecifier:this._applicationSpecifier,name:e,data:n,responseName:i,unsubscribeName:c});U(l);let g=!1,w;const T=new Promise((F,z)=>{const Ye=new Error(`${e} unsubscribe request with unsubscribe name of ${c} and response name of ${i} timed out after ${B}`);setTimeout(()=>{g=!0,this.off(i,w),z(Ye)},B)}),R=new Promise(F=>{w=z=>{g||F(z)},this.once(i,w)});if(!(await Promise.race([T,R])).success)return{success:!1}}return{success:!0}}on(e,t){var s;const n=(s=this._onHandlers.get(e))!==null&&s!==void 0?s:[];n.length===0&&this._onHandlers.set(e,n),n.push(t)}once(e,t){var s;const n=(s=this._onceHandlers.get(e))!==null&&s!==void 0?s:[];n.length===0&&this._onceHandlers.set(e,n),n.push(t)}off(e,t){const s=this._onHandlers.get(e),n=this._onceHandlers.get(e);if(!(!s&&!n)){if(s){for(let r=0;r<s.length;r+=1)t&&s[r]!==t||(s.splice(r,1),r-=1);s.length===0&&this._onHandlers.delete(e)}if(n){for(let r=0;r<n.length;r+=1)t&&n[r]!==t||(n.splice(r,1),r-=1);n.length===0&&this._onceHandlers.delete(e)}}}}function ee(){return Math.random().toString(36).slice(2,9)}const Q=et.version;let f=null;function Ot(){return f}function It(a){Ge(),f=new Qe,f.bind()}function Ge(){f==null||f.unbind(),f=null}function Et(...a){return x(f),f.on(...a)}function jt(...a){return x(f),f.once(...a)}function Pt(...a){return x(f),f.off(...a)}function Rt(...a){return x(f),f.send(...a)}function $t(...a){return x(f),f.request(...a)}function Ft(...a){return x(f),f.subscribe(...a)}function Mt(...a){return x(f),f.unsubscribe(...a)}function qt(){return x(f),f.store}function Lt(){return x(f),f.applications}function Ht(){return x(f),f.media}function Vt(){return x(f),f.accounts}function Dt(){return x(f),f.users}function zt(){return x(f),f.devices}function Bt(){return x(f),f.proxy}function Ut(){return x(f),f.rootSettingsNavigation}function Kt(){return x(f),f.weather}function Wt(){return x(f),f.currency}function Jt(){return x(f),f.environment}function Qt(){return x(f),f.mqtt}function x(a){if(!a)throw new Error("SDK is not configured")}exports.Accounts=Ie;exports.Applications=Ee;exports.Client=Qe;exports.Currency=Le;exports.Devices=je;exports.Environment=Pe;exports.Media=Re;exports.Mqtt=He;exports.Navigation=Ve;exports.Proxy=$e;exports.Store=Fe;exports.StoreSlice=K;exports.Users=Me;exports.Weather=qe;exports.accounts=Vt;exports.applications=Lt;exports.bridgeMessageValidator=Je;exports.clientMessageValidator=Zt;exports.configure=It;exports.currency=Wt;exports.destroy=Ge;exports.devices=zt;exports.environment=Jt;exports.formatBridgeMessage=Nt;exports.formatClientMessage=W;exports.globalClient=Ot;exports.media=Ht;exports.mqtt=Qt;exports.off=Pt;exports.on=Et;exports.once=jt;exports.proxy=Bt;exports.request=$t;exports.rootSettingsNavigation=Ut;exports.send=Rt;exports.store=qt;exports.subscribe=Ft;exports.telemetrySdkVersion=Q;exports.unsubscribe=Mt;exports.users=Dt;exports.weather=Kt;
package/dist/index.d.ts CHANGED
@@ -14,6 +14,9 @@ export type { CurrencySymbols, CurrencyRates, CurrencyRatesParams } from './curr
14
14
  export { Mqtt } from './mqtt.js';
15
15
  export { Navigation } from './navigation.js';
16
16
  export type { MqttBrokerInfo, MqttConnectOptions, MqttPublishOptions, MqttSubscribeOptions, MqttConnectionStatus, MqttMessage, } from './mqtt.js';
17
+ export type { BridgeMessage, ClientMessage } from '@telemetryos/sdk-bridge';
18
+ export { bridgeMessageValidator, formatBridgeMessage } from '@telemetryos/sdk-bridge';
19
+ export { clientMessageValidator, formatClientMessage } from '@telemetryos/sdk-bridge';
17
20
  import { Client } from './client.js';
18
21
  export { Client, type SubscriptionResult, type MessageHandler } from './client.js';
19
22
  /**
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- const qe = "1.14.0", Me = {
2
- version: qe
1
+ const Me = "1.15.0", qe = {
2
+ version: Me
3
3
  };
4
4
  class Le {
5
5
  constructor(e) {
@@ -115,7 +115,7 @@ class He {
115
115
  this._client._messageInterceptors.set(e, t);
116
116
  }
117
117
  }
118
- class ze {
118
+ class Ve {
119
119
  constructor(e) {
120
120
  this._client = e;
121
121
  }
@@ -159,7 +159,7 @@ class ze {
159
159
  return e.capabilities;
160
160
  }
161
161
  }
162
- class De {
162
+ class ze {
163
163
  constructor(e) {
164
164
  this._client = e;
165
165
  }
@@ -173,7 +173,7 @@ class De {
173
173
  return (await this._client.unsubscribe("environment.unsubscribeColorScheme", {}, e)).success;
174
174
  }
175
175
  }
176
- class Ve {
176
+ class De {
177
177
  constructor(e) {
178
178
  this._client = e;
179
179
  }
@@ -1043,7 +1043,7 @@ class S {
1043
1043
  }
1044
1044
  const _ = Object.freeze({
1045
1045
  status: "aborted"
1046
- }), ce = (a) => ({ status: "dirty", value: a }), C = (a) => ({ status: "valid", value: a }), ye = (a) => a.status === "aborted", ve = (a) => a.status === "dirty", M = (a) => a.status === "valid", te = (a) => typeof Promise < "u" && a instanceof Promise;
1046
+ }), ce = (a) => ({ status: "dirty", value: a }), C = (a) => ({ status: "valid", value: a }), ye = (a) => a.status === "aborted", ve = (a) => a.status === "dirty", q = (a) => a.status === "valid", te = (a) => typeof Promise < "u" && a instanceof Promise;
1047
1047
  var p;
1048
1048
  (function(a) {
1049
1049
  a.errToObj = (e) => typeof e == "string" ? { message: e } : e || {}, a.toString = (e) => typeof e == "string" ? e : e == null ? void 0 : e.message;
@@ -1057,7 +1057,7 @@ class j {
1057
1057
  }
1058
1058
  }
1059
1059
  const be = (a, e) => {
1060
- if (M(e))
1060
+ if (q(e))
1061
1061
  return { success: !0, data: e.value };
1062
1062
  if (!a.common.issues.length)
1063
1063
  throw new Error("Validation failed but no issues detected.");
@@ -1159,7 +1159,7 @@ class v {
1159
1159
  if (!this["~standard"].async)
1160
1160
  try {
1161
1161
  const r = this._parseSync({ data: e, path: [], parent: n });
1162
- return M(r) ? {
1162
+ return q(r) ? {
1163
1163
  value: r.value
1164
1164
  } : {
1165
1165
  issues: n.common.issues
@@ -1170,7 +1170,7 @@ class v {
1170
1170
  async: !0
1171
1171
  };
1172
1172
  }
1173
- return this._parseAsync({ data: e, path: [], parent: n }).then((r) => M(r) ? {
1173
+ return this._parseAsync({ data: e, path: [], parent: n }).then((r) => q(r) ? {
1174
1174
  value: r.value
1175
1175
  } : {
1176
1176
  issues: n.common.issues
@@ -1231,7 +1231,7 @@ class v {
1231
1231
  return E.create(this, this._def);
1232
1232
  }
1233
1233
  nullable() {
1234
- return z.create(this, this._def);
1234
+ return V.create(this, this._def);
1235
1235
  }
1236
1236
  nullish() {
1237
1237
  return this.nullable().optional();
@@ -2304,12 +2304,12 @@ N.create = (a, e) => new N({
2304
2304
  typeName: m.ZodArray,
2305
2305
  ...y(e)
2306
2306
  });
2307
- function q(a) {
2307
+ function M(a) {
2308
2308
  if (a instanceof k) {
2309
2309
  const e = {};
2310
2310
  for (const t in a.shape) {
2311
2311
  const s = a.shape[t];
2312
- e[t] = E.create(q(s));
2312
+ e[t] = E.create(M(s));
2313
2313
  }
2314
2314
  return new k({
2315
2315
  ...a._def,
@@ -2317,8 +2317,8 @@ function q(a) {
2317
2317
  });
2318
2318
  } else return a instanceof N ? new N({
2319
2319
  ...a._def,
2320
- type: q(a.element)
2321
- }) : a instanceof E ? E.create(q(a.unwrap())) : a instanceof z ? z.create(q(a.unwrap())) : a instanceof $ ? $.create(a.items.map((e) => q(e))) : a;
2320
+ type: M(a.element)
2321
+ }) : a instanceof E ? E.create(M(a.unwrap())) : a instanceof V ? V.create(M(a.unwrap())) : a instanceof $ ? $.create(a.items.map((e) => M(e))) : a;
2322
2322
  }
2323
2323
  class k extends v {
2324
2324
  constructor() {
@@ -2554,7 +2554,7 @@ class k extends v {
2554
2554
  * @deprecated
2555
2555
  */
2556
2556
  deepPartial() {
2557
- return q(this);
2557
+ return M(this);
2558
2558
  }
2559
2559
  partial(e) {
2560
2560
  const t = {};
@@ -3124,14 +3124,14 @@ class H extends v {
3124
3124
  path: s.path,
3125
3125
  parent: s
3126
3126
  });
3127
- if (!M(i))
3127
+ if (!q(i))
3128
3128
  return _;
3129
3129
  const o = n.transform(i.value, r);
3130
3130
  if (o instanceof Promise)
3131
3131
  throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");
3132
3132
  return { status: t.value, value: o };
3133
3133
  } else
3134
- return this._def.schema._parseAsync({ data: s.data, path: s.path, parent: s }).then((i) => M(i) ? Promise.resolve(n.transform(i.value, r)).then((o) => ({
3134
+ return this._def.schema._parseAsync({ data: s.data, path: s.path, parent: s }).then((i) => q(i) ? Promise.resolve(n.transform(i.value, r)).then((o) => ({
3135
3135
  status: t.value,
3136
3136
  value: o
3137
3137
  })) : _);
@@ -3163,7 +3163,7 @@ E.create = (a, e) => new E({
3163
3163
  typeName: m.ZodOptional,
3164
3164
  ...y(e)
3165
3165
  });
3166
- class z extends v {
3166
+ class V extends v {
3167
3167
  _parse(e) {
3168
3168
  return this._getType(e) === h.null ? C(null) : this._def.innerType._parse(e);
3169
3169
  }
@@ -3171,7 +3171,7 @@ class z extends v {
3171
3171
  return this._def.innerType;
3172
3172
  }
3173
3173
  }
3174
- z.create = (a, e) => new z({
3174
+ V.create = (a, e) => new V({
3175
3175
  innerType: a,
3176
3176
  typeName: m.ZodNullable,
3177
3177
  ...y(e)
@@ -3311,7 +3311,7 @@ class me extends v {
3311
3311
  }
3312
3312
  class fe extends v {
3313
3313
  _parse(e) {
3314
- const t = this._def.innerType._parse(e), s = (n) => (M(n) && (n.value = Object.freeze(n.value)), n);
3314
+ const t = this._def.innerType._parse(e), s = (n) => (q(n) && (n.value = Object.freeze(n.value)), n);
3315
3315
  return te(t) ? t.then((n) => s(n)) : s(t);
3316
3316
  }
3317
3317
  unwrap() {
@@ -3338,13 +3338,16 @@ const $e = le.create;
3338
3338
  L.create;
3339
3339
  re.create;
3340
3340
  E.create;
3341
- z.create;
3341
+ V.create;
3342
3342
  const St = Re({
3343
3343
  type: $e("bridge"),
3344
3344
  name: A(),
3345
3345
  data: Pe()
3346
3346
  });
3347
- Re({
3347
+ function Zt(a) {
3348
+ return { ...a, type: "bridge" };
3349
+ }
3350
+ const At = Re({
3348
3351
  type: $e("client"),
3349
3352
  telemetrySdkVersion: A(),
3350
3353
  applicationSpecifier: A(),
@@ -3499,7 +3502,7 @@ class Tt {
3499
3502
  * @returns A Media instance bound to this client
3500
3503
  */
3501
3504
  get media() {
3502
- return new Ve(this);
3505
+ return new De(this);
3503
3506
  }
3504
3507
  /**
3505
3508
  * Provides access to the proxy API for fetching third-party content through the TelemetryOS API.
@@ -3528,7 +3531,7 @@ class Tt {
3528
3531
  * @returns A Devices instance bound to this client
3529
3532
  */
3530
3533
  get devices() {
3531
- return new ze(this);
3534
+ return new Ve(this);
3532
3535
  }
3533
3536
  /**
3534
3537
  * Provides access to the root settings navigation API for TelemetryOS administration UI integration.
@@ -3588,7 +3591,7 @@ class Tt {
3588
3591
  * @returns An Environment instance bound to this client
3589
3592
  */
3590
3593
  get environment() {
3591
- return new De(this);
3594
+ return new ze(this);
3592
3595
  }
3593
3596
  get mqtt() {
3594
3597
  return new Qe(this);
@@ -3746,9 +3749,9 @@ class Tt {
3746
3749
  if (o === 0)
3747
3750
  return g;
3748
3751
  const w = new Promise((T, R) => {
3749
- const D = new Error(`${e} message request with response name of ${r} timed out after ${o}`);
3752
+ const z = new Error(`${e} message request with response name of ${r} timed out after ${o}`);
3750
3753
  setTimeout(() => {
3751
- c = !0, this.off(r, l), R(D);
3754
+ c = !0, this.off(r, l), R(z);
3752
3755
  }, o);
3753
3756
  });
3754
3757
  return Promise.race([w, g]);
@@ -3770,14 +3773,14 @@ class Tt {
3770
3773
  });
3771
3774
  U(l);
3772
3775
  let g = !1, w;
3773
- const T = new Promise((D, F) => {
3774
- const V = new Error(`${e} subscribe request with subscription name of ${i} and response name of ${o} timed out after ${B}`);
3776
+ const T = new Promise((z, F) => {
3777
+ const D = new Error(`${e} subscribe request with subscription name of ${i} and response name of ${o} timed out after ${B}`);
3775
3778
  setTimeout(() => {
3776
- g = !0, this.off(o, w), F(V);
3779
+ g = !0, this.off(o, w), F(D);
3777
3780
  }, B);
3778
- }), R = new Promise((D) => {
3781
+ }), R = new Promise((z) => {
3779
3782
  w = (F) => {
3780
- g || D(F);
3783
+ g || z(F);
3781
3784
  }, this.once(o, w);
3782
3785
  });
3783
3786
  return Promise.race([T, R]);
@@ -3807,14 +3810,14 @@ class Tt {
3807
3810
  });
3808
3811
  U(l);
3809
3812
  let g = !1, w;
3810
- const T = new Promise((F, V) => {
3813
+ const T = new Promise((F, D) => {
3811
3814
  const Fe = new Error(`${e} unsubscribe request with unsubscribe name of ${c} and response name of ${i} timed out after ${B}`);
3812
3815
  setTimeout(() => {
3813
- g = !0, this.off(i, w), V(Fe);
3816
+ g = !0, this.off(i, w), D(Fe);
3814
3817
  }, B);
3815
3818
  }), R = new Promise((F) => {
3816
- w = (V) => {
3817
- g || F(V);
3819
+ w = (D) => {
3820
+ g || F(D);
3818
3821
  }, this.once(i, w);
3819
3822
  });
3820
3823
  if (!(await Promise.race([T, R])).success)
@@ -3897,72 +3900,72 @@ class Tt {
3897
3900
  function X() {
3898
3901
  return Math.random().toString(36).slice(2, 9);
3899
3902
  }
3900
- const ee = Me.version;
3903
+ const ee = qe.version;
3901
3904
  let f = null;
3902
- function Zt() {
3905
+ function Ot() {
3903
3906
  return f;
3904
3907
  }
3905
- function At(a) {
3908
+ function It(a) {
3906
3909
  Nt(), f = new Tt(), f.bind();
3907
3910
  }
3908
3911
  function Nt() {
3909
3912
  f == null || f.unbind(), f = null;
3910
3913
  }
3911
- function Ot(...a) {
3914
+ function Et(...a) {
3912
3915
  return x(f), f.on(...a);
3913
3916
  }
3914
- function It(...a) {
3917
+ function jt(...a) {
3915
3918
  return x(f), f.once(...a);
3916
3919
  }
3917
- function Et(...a) {
3920
+ function Pt(...a) {
3918
3921
  return x(f), f.off(...a);
3919
3922
  }
3920
- function jt(...a) {
3923
+ function Rt(...a) {
3921
3924
  return x(f), f.send(...a);
3922
3925
  }
3923
- function Pt(...a) {
3926
+ function $t(...a) {
3924
3927
  return x(f), f.request(...a);
3925
3928
  }
3926
- function Rt(...a) {
3929
+ function Ft(...a) {
3927
3930
  return x(f), f.subscribe(...a);
3928
3931
  }
3929
- function $t(...a) {
3932
+ function Mt(...a) {
3930
3933
  return x(f), f.unsubscribe(...a);
3931
3934
  }
3932
- function Ft() {
3935
+ function qt() {
3933
3936
  return x(f), f.store;
3934
3937
  }
3935
- function qt() {
3938
+ function Lt() {
3936
3939
  return x(f), f.applications;
3937
3940
  }
3938
- function Mt() {
3941
+ function Ht() {
3939
3942
  return x(f), f.media;
3940
3943
  }
3941
- function Lt() {
3944
+ function Vt() {
3942
3945
  return x(f), f.accounts;
3943
3946
  }
3944
- function Ht() {
3947
+ function zt() {
3945
3948
  return x(f), f.users;
3946
3949
  }
3947
- function zt() {
3950
+ function Dt() {
3948
3951
  return x(f), f.devices;
3949
3952
  }
3950
- function Dt() {
3953
+ function Bt() {
3951
3954
  return x(f), f.proxy;
3952
3955
  }
3953
- function Vt() {
3956
+ function Ut() {
3954
3957
  return x(f), f.rootSettingsNavigation;
3955
3958
  }
3956
- function Bt() {
3959
+ function Kt() {
3957
3960
  return x(f), f.weather;
3958
3961
  }
3959
- function Ut() {
3962
+ function Wt() {
3960
3963
  return x(f), f.currency;
3961
3964
  }
3962
- function Kt() {
3965
+ function Jt() {
3963
3966
  return x(f), f.environment;
3964
3967
  }
3965
- function Wt() {
3968
+ function Qt() {
3966
3969
  return x(f), f.mqtt;
3967
3970
  }
3968
3971
  function x(a) {
@@ -3974,9 +3977,9 @@ export {
3974
3977
  He as Applications,
3975
3978
  Tt as Client,
3976
3979
  Je as Currency,
3977
- ze as Devices,
3978
- De as Environment,
3979
- Ve as Media,
3980
+ Ve as Devices,
3981
+ ze as Environment,
3982
+ De as Media,
3980
3983
  Qe as Mqtt,
3981
3984
  Ge as Navigation,
3982
3985
  Be as Proxy,
@@ -3984,27 +3987,31 @@ export {
3984
3987
  G as StoreSlice,
3985
3988
  Ke as Users,
3986
3989
  We as Weather,
3987
- Lt as accounts,
3988
- qt as applications,
3989
- At as configure,
3990
- Ut as currency,
3990
+ Vt as accounts,
3991
+ Lt as applications,
3992
+ St as bridgeMessageValidator,
3993
+ At as clientMessageValidator,
3994
+ It as configure,
3995
+ Wt as currency,
3991
3996
  Nt as destroy,
3992
- zt as devices,
3993
- Kt as environment,
3994
- Zt as globalClient,
3995
- Mt as media,
3996
- Wt as mqtt,
3997
- Et as off,
3998
- Ot as on,
3999
- It as once,
4000
- Dt as proxy,
4001
- Pt as request,
4002
- Vt as rootSettingsNavigation,
4003
- jt as send,
4004
- Ft as store,
4005
- Rt as subscribe,
3997
+ Dt as devices,
3998
+ Jt as environment,
3999
+ Zt as formatBridgeMessage,
4000
+ Y as formatClientMessage,
4001
+ Ot as globalClient,
4002
+ Ht as media,
4003
+ Qt as mqtt,
4004
+ Pt as off,
4005
+ Et as on,
4006
+ jt as once,
4007
+ Bt as proxy,
4008
+ $t as request,
4009
+ Ut as rootSettingsNavigation,
4010
+ Rt as send,
4011
+ qt as store,
4012
+ Ft as subscribe,
4006
4013
  ee as telemetrySdkVersion,
4007
- $t as unsubscribe,
4008
- Ht as users,
4009
- Bt as weather
4014
+ Mt as unsubscribe,
4015
+ zt as users,
4016
+ Kt as weather
4010
4017
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telemetryos/root-sdk",
3
- "version": "1.14.0",
3
+ "version": "1.15.0",
4
4
  "description": "The official TelemetryOS root application sdk package. Provides types and apis for building root TelemetryOS applications.",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -35,7 +35,7 @@
35
35
  "license": "",
36
36
  "repository": "github:TelemetryTV/Application-API",
37
37
  "dependencies": {
38
- "@telemetryos/sdk-bridge": "^1.14.0",
38
+ "@telemetryos/sdk-bridge": "^1.15.0",
39
39
  "zod": "^3.24.4"
40
40
  },
41
41
  "devDependencies": {