@telemetryos/sdk 1.17.0 → 1.18.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,24 @@
1
1
  # @telemetryos/sdk
2
2
 
3
+ ## 1.18.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Remove CLI package. Use the new Developer App available to download in the Studio
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies
12
+ - @telemetryos/root-sdk@1.18.0
13
+
14
+ ## 1.17.1
15
+
16
+ ### Patch Changes
17
+
18
+ - fix the way iframes are refreshed
19
+ - Updated dependencies
20
+ - @telemetryos/root-sdk@1.17.1
21
+
3
22
  ## 1.17.0
4
23
 
5
24
  ### Minor Changes
package/README.md CHANGED
@@ -74,11 +74,22 @@ Since your application runs within the Freeform Editor, you get additional capab
74
74
 
75
75
  ## Getting Started
76
76
 
77
- To get started, add the SDK to your project:
77
+ ### New Project (Recommended)
78
78
 
79
- ### Installation
79
+ The fastest way to start is with the `tos` CLI from the TelemetryOS Developer App:
80
80
 
81
- With npm:
81
+ ```bash
82
+ # Standard application (render + settings)
83
+ tos init --template vite-react-typescript
84
+
85
+ # Application with web management interface (render + settings + web)
86
+ tos init --template vite-react-typescript-web
87
+
88
+ # Open in the Developer App for local development
89
+ tos dev
90
+ ```
91
+
92
+ ### Add to an Existing Project
82
93
 
83
94
  ```bash
84
95
  npm install @telemetryos/sdk
@@ -460,10 +471,10 @@ This configuration:
460
471
 
461
472
  ## Development Workflow
462
473
 
463
- 1. Develop and test your application locally
464
- 2. Package your application with its config file
465
- 3. Upload to TelemetryOS
466
- 4. Add your application to a playlist
474
+ 1. Scaffold your project with `tos init --template vite-react-typescript`
475
+ 2. Develop locally with `tos dev` (opens the TelemetryOS Developer App)
476
+ 3. Build and deploy with `tos publish`
477
+ 4. Add your application to a playlist in the admin UI
467
478
  5. Assign your playlist to one or more devices
468
479
 
469
480
  ## Implementation Patterns and Examples
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const et="1.17.0",tt={version:et};class Ee{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 $e{constructor(e){this._client=e}async getById(e){return(await this._client.request("applications.getById",{applicationId:e})).application}async getBySpecifier(e){return(await this._client.request("applications.getBySpecifier",{applicationSpecifier:e})).application}async getAllByMountPoint(e){return(await this._client.request("applications.getAllByMountPoint",{mountPoint:e})).applications}async setDependencies(e){return await this._client._dependencyStore.setDependencies(e),(t,s)=>this._client._dependencyStore.handleFor(t,s)}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 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 new Promise((t,s)=>{const n=r=>{this._client.unsubscribe("media.openPicker",n),t(r.selection)};this._client.subscribe("media.openPicker",{accept:e==null?void 0:e.accept,currentValue:e==null?void 0:e.currentValue},n).then(r=>{r.success||s(new Error("Failed to open media picker"))}).catch(s)})}}var w;(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})(w||(w={}));var ye;(function(a){a.mergeShapes=(e,t)=>({...e,...t})})(ye||(ye={}));const h=w.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),A=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=w.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,w.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 de=(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,w.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:t=`Unrecognized key(s) in object: ${w.joinValues(a.keys,", ")}`;break;case d.invalid_union:t="Invalid input";break;case d.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${w.joinValues(a.options)}`;break;case d.invalid_enum_value:t=`Invalid enum value. Expected ${w.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}"`:w.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,w.assertNever(a)}return{message:t}};let st=de;function nt(){return st}const at=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=nt(),s=at({issueData:e,data:a.data,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,t,t===de?void 0:de].filter(n=>!!n)});a.common.issues.push(s)}class C{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 g;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 C.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 g;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 g=Object.freeze({status:"aborted"}),ue=a=>({status:"dirty",value:a}),T=a=>({status:"valid",value:a}),ve=a=>a.status==="aborted",be=a=>a.status==="dirty",L=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 we=(a,e)=>{if(L(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 b{get description(){return this._def.description}_getType(e){return A(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:A(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new C,ctx:{common:e.parent.common,data:e.data,parsedType:A(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:A(e)},n=this._parseSync({data:e,path:s.path,parent:s});return we(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:A(e)};if(!this["~standard"].async)try{const r=this._parseSync({data:e,path:[],parent:n});return L(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=>L(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:A(e)},n=this._parse({data:e,path:s.path,parent:s}),r=await(te(n)?n:Promise.resolve(n));return we(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 D({schema:this,typeName:_.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 $.create(this,this._def)}nullable(){return V.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return I.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 D({...y(this._def),schema:this,typeName:_.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new fe({...y(this._def),innerType:this,defaultValue:t,typeName:_.ZodDefault})}brand(){return new It({typeName:_.ZodBranded,type:this,...y(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new me({...y(this._def),innerType:this,catchValue:t,typeName:_.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ge.create(this,e)}readonly(){return _e.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const rt=/^c[^\s-]{8,}$/i,it=/^[0-9a-z]+$/,ot=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ct=/^[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,dt=/^[a-z0-9_-]{21}$/i,ut=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,lt=/^[-+]?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)?)??$/,ht=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,pt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let ce;const 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])$/,mt=/^(?:(?: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])$/,_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]))$/,gt=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,yt=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,vt=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pe="((\\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])))",bt=new RegExp(`^${Pe}$`);function Re(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 wt(a){return new RegExp(`^${Re(a)}$`)}function kt(a){let e=`${Pe}T${Re(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 xt(a,e){return!!((e==="v4"||!e)&&ft.test(a)||(e==="v6"||!e)&&_t.test(a))}function St(a,e){if(!ut.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 Ct(a,e){return!!((e==="v4"||!e)&&mt.test(a)||(e==="v6"||!e)&&gt.test(a))}class E extends b{_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}),g}const t=new C;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")ht.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")ce||(ce=new RegExp(pt,"u")),ce.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")ct.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")dt.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")rt.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")it.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")ot.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"?kt(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"?bt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:"date",message:n.message}),t.dirty()):n.kind==="time"?wt(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"?lt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"duration",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="ip"?xt(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"?St(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"?Ct(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"?yt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"base64",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="base64url"?vt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"base64url",code:d.invalid_string,message:n.message}),t.dirty()):w.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 E({...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 E({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new E({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new E({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(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}}E.create=a=>new E({checks:[],typeName:_.ZodString,coerce:(a==null?void 0:a.coerce)??!1,...y(a)});function Tt(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 Y extends b{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}),g}let t;const s=new C;for(const n of this._def.checks)n.kind==="int"?w.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"?Tt(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()):w.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 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]})}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"&&w.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)}}Y.create=a=>new Y({checks:[],typeName:_.ZodNumber,coerce:(a==null?void 0:a.coerce)||!1,...y(a)});class G extends b{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 C;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()):w.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}),g}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:_.ZodBigInt,coerce:(a==null?void 0:a.coerce)??!1,...y(a)});class ke extends b{_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}),g}return T(e.data)}}ke.create=a=>new ke({typeName:_.ZodBoolean,coerce:(a==null?void 0:a.coerce)||!1,...y(a)});class se extends b{_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}),g}if(Number.isNaN(e.data.getTime())){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_date}),g}const t=new C;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()):w.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:_.ZodDate,...y(a)});class xe extends b{_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}),g}return T(e.data)}}xe.create=a=>new xe({typeName:_.ZodSymbol,...y(a)});class Se extends b{_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}),g}return T(e.data)}}Se.create=a=>new Se({typeName:_.ZodUndefined,...y(a)});class Ce extends b{_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}),g}return T(e.data)}}Ce.create=a=>new Ce({typeName:_.ZodNull,...y(a)});class le extends b{constructor(){super(...arguments),this._any=!0}_parse(e){return T(e.data)}}le.create=a=>new le({typeName:_.ZodAny,...y(a)});class Te extends b{constructor(){super(...arguments),this._unknown=!0}_parse(e){return T(e.data)}}Te.create=a=>new Te({typeName:_.ZodUnknown,...y(a)});class P extends b{_parse(e){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.never,received:t.parsedType}),g}}P.create=a=>new P({typeName:_.ZodNever,...y(a)});class Ie extends b{_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}),g}return T(e.data)}}Ie.create=a=>new Ie({typeName:_.ZodVoid,...y(a)});class I extends b{_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}),g;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=>C.mergeArray(s,i));const r=[...t.data].map((i,o)=>n.type._parseSync(new j(t,i,t.path,o)));return C.mergeArray(s,r)}get element(){return this._def.type}min(e,t){return new I({...this._def,minLength:{value:e,message:p.toString(t)}})}max(e,t){return new I({...this._def,maxLength:{value:e,message:p.toString(t)}})}length(e,t){return new I({...this._def,exactLength:{value:e,message:p.toString(t)}})}nonempty(e){return this.min(1,e)}}I.create=(a,e)=>new I({type:a,minLength:null,maxLength:null,exactLength:null,typeName:_.ZodArray,...y(e)});function M(a){if(a instanceof x){const e={};for(const t in a.shape){const s=a.shape[t];e[t]=$.create(M(s))}return new x({...a._def,shape:()=>e})}else return a instanceof I?new I({...a._def,type:M(a.element)}):a instanceof $?$.create(M(a.unwrap())):a instanceof V?V.create(M(a.unwrap())):a instanceof q?q.create(a.items.map(e=>M(e))):a}class x extends b{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=w.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}),g}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],f=s.data[c];o.push({key:{status:"valid",value:c},value:l._parse(new j(s,f,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 f=s.data[l];o.push({key:{status:"valid",value:l},value:c._parse(new j(s,f,s.path,l)),alwaysSet:l in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const c=[];for(const l of o){const f=await l.key,v=await l.value;c.push({key:f,value:v,alwaysSet:l.alwaysSet})}return c}).then(c=>C.mergeObjectSync(t,c)):C.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return p.errToObj,new x({...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 x({...this._def,unknownKeys:"strip"})}passthrough(){return new x({...this._def,unknownKeys:"passthrough"})}extend(e){return new x({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new x({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:_.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new x({...this._def,catchall:e})}pick(e){const t={};for(const s of w.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new x({...this._def,shape:()=>t})}omit(e){const t={};for(const s of w.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new x({...this._def,shape:()=>t})}deepPartial(){return M(this)}partial(e){const t={};for(const s of w.objectKeys(this.shape)){const n=this.shape[s];e&&!e[s]?t[s]=n:t[s]=n.optional()}return new x({...this._def,shape:()=>t})}required(e){const t={};for(const s of w.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof $;)n=n._def.innerType;t[s]=n}return new x({...this._def,shape:()=>t})}keyof(){return Fe(w.objectKeys(this.shape))}}x.create=(a,e)=>new x({shape:()=>a,unknownKeys:"strip",catchall:P.create(),typeName:_.ZodObject,...y(e)});x.strictCreate=(a,e)=>new x({shape:()=>a,unknownKeys:"strict",catchall:P.create(),typeName:_.ZodObject,...y(e)});x.lazycreate=(a,e)=>new x({shape:a,unknownKeys:"strip",catchall:P.create(),typeName:_.ZodObject,...y(e)});class ne extends b{_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}),g}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},f=c._parseSync({data:t.data,path:t.path,parent:l});if(f.status==="valid")return f;f.status==="dirty"&&!r&&(r={result:f,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}),g}}get options(){return this._def.options}}ne.create=(a,e)=>new ne({options:a,typeName:_.ZodUnion,...y(e)});function he(a,e){const t=A(a),s=A(e);if(a===e)return{valid:!0,data:a};if(t===h.object&&s===h.object){const n=w.objectKeys(e),r=w.objectKeys(a).filter(o=>n.indexOf(o)!==-1),i={...a,...e};for(const o of r){const c=he(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=he(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 b{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=(r,i)=>{if(ve(r)||ve(i))return g;const o=he(r.value,i.value);return o.valid?((be(r)||be(i))&&t.dirty(),{status:t.value,value:o.data}):(u(s,{code:d.invalid_intersection_types}),g)};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:_.ZodIntersection,...y(t)});class q extends b{_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}),g;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"}),g;!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=>C.mergeArray(t,r)):C.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new q({...this._def,rest:e})}}q.create=(a,e)=>{if(!Array.isArray(a))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new q({items:a,typeName:_.ZodTuple,rest:null,...y(e)})};class Ne extends b{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}),g;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,f=await c.value;if(l.status==="aborted"||f.status==="aborted")return g;(l.status==="dirty"||f.status==="dirty")&&t.dirty(),o.set(l.value,f.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const c of i){const l=c.key,f=c.value;if(l.status==="aborted"||f.status==="aborted")return g;(l.status==="dirty"||f.status==="dirty")&&t.dirty(),o.set(l.value,f.value)}return{status:t.value,value:o}}}}Ne.create=(a,e,t)=>new Ne({valueType:e,keyType:a,typeName:_.ZodMap,...y(t)});class X extends b{_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}),g;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 f of c){if(f.status==="aborted")return g;f.status==="dirty"&&t.dirty(),l.add(f.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:_.ZodSet,...y(e)});class Ze extends b{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:_.ZodLazy,...y(e)});class pe extends b{_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}),g}return{status:"valid",value:e.data}}get value(){return this._def.value}}pe.create=(a,e)=>new pe({value:a,typeName:_.ZodLiteral,...y(e)});function Fe(a,e){return new H({values:a,typeName:_.ZodEnum,...y(e)})}class H extends b{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),s=this._def.values;return u(t,{expected:w.joinValues(s),received:t.parsedType,code:d.invalid_type}),g}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}),g}return T(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 H.create(e,{...this._def,...t})}exclude(e,t=this._def){return H.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}}H.create=Fe;class Oe extends b{_parse(e){const t=w.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==h.string&&s.parsedType!==h.number){const n=w.objectValues(t);return u(s,{expected:w.joinValues(n),received:s.parsedType,code:d.invalid_type}),g}if(this._cache||(this._cache=new Set(w.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const n=w.objectValues(t);return u(s,{received:s.data,code:d.invalid_enum_value,options:n}),g}return T(e.data)}get enum(){return this._def.values}}Oe.create=(a,e)=>new Oe({values:a,typeName:_.ZodNativeEnum,...y(e)});class re extends b{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}),g;const s=t.parsedType===h.promise?t.data:Promise.resolve(t.data);return T(s.then(n=>this._def.type.parseAsync(n,{path:t.path,errorMap:t.common.contextualErrorMap})))}}re.create=(a,e)=>new re({type:a,typeName:_.ZodPromise,...y(e)});class D extends b{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===_.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 g;const c=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return c.status==="aborted"?g:c.status==="dirty"||t.value==="dirty"?ue(c.value):c});{if(t.value==="aborted")return g;const o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?g:o.status==="dirty"||t.value==="dirty"?ue(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"?g:(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"?g:(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(!L(i))return g;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=>L(i)?Promise.resolve(n.transform(i.value,r)).then(o=>({status:t.value,value:o})):g);w.assertNever(n)}}D.create=(a,e,t)=>new D({schema:a,typeName:_.ZodEffects,effect:e,...y(t)});D.createWithPreprocess=(a,e,t)=>new D({schema:e,effect:{type:"preprocess",transform:a},typeName:_.ZodEffects,...y(t)});class $ extends b{_parse(e){return this._getType(e)===h.undefined?T(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}$.create=(a,e)=>new $({innerType:a,typeName:_.ZodOptional,...y(e)});class V extends b{_parse(e){return this._getType(e)===h.null?T(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}V.create=(a,e)=>new V({innerType:a,typeName:_.ZodNullable,...y(e)});class fe extends b{_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}}fe.create=(a,e)=>new fe({innerType:a,typeName:_.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...y(e)});class me extends b{_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}}me.create=(a,e)=>new me({innerType:a,typeName:_.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...y(e)});class Ae extends b{_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}),g}return{status:"valid",value:e.data}}}Ae.create=a=>new Ae({typeName:_.ZodNaN,...y(a)});class It extends b{_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 ge extends b{_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"?g:n.status==="dirty"?(t.dirty(),ue(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"?g: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 ge({in:e,out:t,typeName:_.ZodPipeline})}}class _e extends b{_parse(e){const t=this._def.innerType._parse(e),s=n=>(L(n)&&(n.value=Object.freeze(n.value)),n);return te(t)?t.then(n=>s(n)):s(t)}unwrap(){return this._def.innerType}}_e.create=(a,e)=>new _e({innerType:a,typeName:_.ZodReadonly,...y(e)});var _;(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"})(_||(_={}));const O=E.create,qe=le.create;P.create;I.create;const Me=x.create;ne.create;ae.create;q.create;const Le=pe.create,Nt=H.create;re.create;$.create;V.create;const He=Me({type:Le("bridge"),name:O(),data:qe()});function Zt(a){return{...a,type:"bridge"}}const De=Me({type:Le("client"),telemetrySdkVersion:O(),applicationSpecifier:O(),applicationInstance:O(),runtime:Nt(["window","worker"]),name:O(),data:qe(),responseName:O().optional(),subscriptionName:O().optional(),unsubscribeName:O().optional()});function K(a){return{...a,type:"client"}}class Ve{constructor(e){this._client=e}get application(){return new W("application","application",this._client)}get instance(){return new W("instance",this._client.applicationInstance,this._client)}get device(){return new W("device",this._client.deviceId,this._client)}shared(e){return new W("shared",e,this._client)}}class W{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 Ot{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 t=(e=await this._store.shared("root-settings-navigation").get("navigation"))!==null&&e!==void 0?e:{},s=this._store._client._applicationSpecifier;return t[s]}async getAllRootSettingsNavigation(){var e;return(e=await this._store.shared("root-settings-navigation").get("navigation"))!==null&&e!==void 0?e:{}}}class ze{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 Be{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((f,v)=>{r[v]=f}):Array.isArray(t.headers)?t.headers.forEach(([f,v])=>{r[f]=v}):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 f=atob(i.body),v=new Uint8Array(f.length);for(let k=0;k<f.length;k++)v[k]=f.charCodeAt(k);l=v}else i.bodyType==="text"?l=i.body:i.bodyType==="json"&&(l=JSON.stringify(i.body));return new Response(l,c)}}class Ue{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 Ke{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 We{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 Je{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 Qe{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 Ye{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})}}const z=1e3*30,Ge=1e3*5,ie=typeof window>"u"&&typeof self<"u",ee=ie?"worker":"window",J=ie?self:window;function B(a){ie?self.postMessage(a):J.parent.postMessage(a,"*")}class At{constructor(){this._applicationInstance="",this._applicationSpecifier="",this._deviceId="",this._heartbeatInterval=null,this._heartbeatSignature=U(),this._messageInterceptors=new Map,this._onHandlers=new Map,this._onceHandlers=new Map,this._subscriptionNamesByHandler=new Map,this._subscriptionNamesBySubjectName=new Map,this._dependencyStore=new $t(this),this._navigation=new Ye(this)}get accounts(){return new Ee(this)}get users(){return new ze(this)}get store(){return new Ve(this)}get applications(){return new $e(this)}get media(){return new je(this)}get proxy(){return new Be(this)}get devices(){return new Ue(this)}get rootSettingsNavigation(){return new Ot(this.store)}get weather(){return new Ke(this)}get currency(){return new We(this)}get environment(){return new Je(this)}get mqtt(){return new Qe(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=De.safeParse(i.data);if(!c.success){const k=i.data;k&&typeof k=="object"&&k.type==="client"&&console.warn("[sdk-client] Received a message that looks like a client message but failed schema validation. This may indicate a version mismatch between the SDK and the host environment.",c.error.issues);return}const l=c.data,f=this._messageInterceptors.get(l.name);if(!f)return B(l);let v;try{v=f(l)}catch(k){console.error(`Error in interceptor for message ${l.name}:`,k)}if(!v)return;o={...v,type:"bridge",...i.data.responseName?{name:i.data.responseName}:{}}}if(!o){const c=He.safeParse(i.data);if(!c.success){const v=i.data;v&&typeof v=="object"&&v.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),f=this._onceHandlers.get(o.name);if(l)for(const v of l)v(o.data);if(f){for(const v of f)v(o.data);this._onceHandlers.delete(o.name)}}if(!ie)for(let c=0;c<window.frames.length;c+=1)window.frames[c].postMessage(o,"*")},J.addEventListener("message",this._windowMessageHandler),this._navigation.bind(),this._heartbeatInterval=setInterval(()=>{this.send("heartbeat",{signature:this._heartbeatSignature})},Ge)}unbind(){this._windowMessageHandler&&(this._navigation.unbind(),J.removeEventListener("message",this._windowMessageHandler),this._heartbeatInterval&&clearInterval(this._heartbeatInterval))}send(e,t){const s=K({telemetrySdkVersion:Q,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,runtime:ee,name:e,data:t});B(s)}request(e,t,s){var n;const r=U(),i=K({telemetrySdkVersion:Q,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,runtime:ee,name:e,data:t,responseName:r});B(i);const o=(n=s==null?void 0:s.timeout)!==null&&n!==void 0?n:z;let c=!1,l;const f=new Promise(k=>{l=N=>{c||k(N)},this.once(r,l)});if(o===0)return f;const v=new Promise((k,N)=>{const R=new Error(`${e} message request with response name of ${r} timed out after ${o}`);setTimeout(()=>{c=!0,this.off(r,l),N(R)},o)});return Promise.race([v,f])}async subscribe(e,t,s){let n,r;typeof t=="function"?r=t:(n=t,r=s);const i=U(),o=U();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=K({telemetrySdkVersion:Q,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,runtime:ee,name:e,data:n,responseName:o,subscriptionName:i});B(l);let f=!1,v;const k=new Promise((R,F)=>{const oe=new Error(`${e} subscribe request with subscription name of ${i} and response name of ${o} timed out after ${z}`);setTimeout(()=>{f=!0,this.off(o,v),F(oe)},z)}),N=new Promise(R=>{v=F=>{f||R(F)},this.once(o,v)});return Promise.race([k,N])}async unsubscribe(e,t,s){let n,r;typeof t=="function"?r=t:(n=t,r=s);const i=U();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=K({telemetrySdkVersion:Q,applicationInstance:this._applicationInstance,applicationSpecifier:this._applicationSpecifier,runtime:ee,name:e,data:n,responseName:i,unsubscribeName:c});B(l);let f=!1,v;const k=new Promise((R,F)=>{const oe=new Error(`${e} unsubscribe request with unsubscribe name of ${c} and response name of ${i} timed out after ${z}`);setTimeout(()=>{f=!0,this.off(i,v),F(oe)},z)}),N=new Promise(R=>{v=F=>{f||R(F)},this.once(i,v)});if(!(await Promise.race([k,N])).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 U(){return Math.random().toString(36).slice(2,9)}const Et=3;class $t{constructor(e){this._client=e,this._dependencies=new Map,this._heartbeatTimeouts=new Map,this._client._messageInterceptors.set("heartbeat",t=>{this._handleHeartbeat(t.applicationSpecifier,t.applicationInstance)})}async setDependencies(e){this._client.send("applications.setDependencies",{applicationSpecifiers:e});const t=[];for(const[s,n]of this._dependencies.entries()){const[r,i]=s.split(":");(!e[r]||!e[r].includes(i))&&(t.push(n._destroy()),this._dependencies.delete(s))}await Promise.all(t)}handleFor(e,t){let s=this._dependencies.get(`${e}:${t}`);return s||(s=new Xe(this,e,t),this._dependencies.set(`${e}:${t}`,s),s)}_handleHeartbeat(e,t){const s=`${e}:${t}`,n=this._dependencies.get(s);if(!n)return;const r=this._heartbeatTimeouts.get(s);r&&clearTimeout(r),this._heartbeatTimeouts.set(s,setTimeout(()=>{this._heartbeatTimeouts.delete(s),n._resetIframe()},Ge*Et))}}class Xe{get status(){return this._status}get application(){return structuredClone(this._application)}constructor(e,t,s){this._store=e,this._specifier=t,this._instanceId=s,this._status="unloaded",this._application=null,this._iframe=null,this._onStatusHandlers=new Set,this._subscriptionHandler=n=>{this._status=n.status,this._application=n.application;for(const r of this._onStatusHandlers)r(n.status)},this._store._client.subscribe("applications.dependency",{applicationSpecifier:this._specifier,applicationInstance:this._instanceId},this._subscriptionHandler).catch(n=>{console.error(`Dependency subscription failed for ${this._specifier}:${this._instanceId}:`,n)})}async frame(e){return new Promise(t=>{if(this._iframe)return t(this._iframe);if(this._status==="ready")return this._iframe=this._buildIframe(e),t(this._iframe);let s;const n=r=>{if(r==="ready")return s(),this._iframe=this._buildIframe(e),t(this._iframe);if(r==="unloaded")return s(),t(null)};s=this.onStatus(n)})}onStatus(e){return this._onStatusHandlers.add(e),()=>{this._onStatusHandlers.delete(e)}}_buildIframe(e){var t,s,n,r,i,o;const c=(s=(t=this._application)===null||t===void 0?void 0:t.versions)===null||s===void 0?void 0:s[0],l=c==null?void 0:c.baseUrl;if(!l)return console.error(`No baseUrl for dependency ${this._specifier}:${this._instanceId}`),null;const f=new URL(l),v=(o=(n=e==null?void 0:e.path)!==null&&n!==void 0?n:(i=(r=c==null?void 0:c.mountPoints)===null||r===void 0?void 0:r.find(N=>N.name===(e==null?void 0:e.mountPoint)))===null||i===void 0?void 0:i.path)!==null&&o!==void 0?o:"/";f.pathname=v.startsWith("/")?v:`/${v}`,f.searchParams.set("applicationSpecifier",this._specifier),f.searchParams.set("applicationInstance",this._instanceId),f.searchParams.set("deviceId",this._store._client.deviceId);const k=document.createElement("iframe");return k.src=f.toString(),k}async _resetIframe(){if(!this._iframe)return;const e=this._iframe,t=e.src;e.src="about:blank";try{await this._store._client.request("applications.reset",{applicationSpecifier:this._specifier,applicationInstance:this._instanceId,cause:"heartbeat-timeout"})}catch(s){console.error(`Failed to reset application ${this._specifier}:${this._instanceId}:`,s)}this._iframe===e&&e.isConnected&&(e.src=t)}async _destroy(){this._status="unloaded",this._iframe&&(this._iframe.src="about:blank"),this._iframe=null;for(const s of this._onStatusHandlers)s("unloaded");const e=`${this._specifier}:${this._instanceId}`,t=this._store._heartbeatTimeouts.get(e);t&&(clearTimeout(t),this._store._heartbeatTimeouts.delete(e));try{await this._store._client.request("applications.destroy",{applicationSpecifier:this._specifier,applicationInstance:this._instanceId})}catch(s){console.error(`Failed to destroy ${this._specifier}:${this._instanceId}:`,s)}await this._store._client.unsubscribe("applications.dependency",{applicationSpecifier:this._specifier,applicationInstance:this._instanceId},this._subscriptionHandler).catch(s=>{console.error(`Dependency unsubscription failed for ${this._specifier}:${this._instanceId}:`,s)})}}const Q=tt.version;class jt{constructor(e){this._client=e}async setOverride(e){if(!(await this._client.request("overrides.setOverride",{name:e})).success)throw new Error("Failed to set override");return!0}async clearOverride(e){if(!(await this._client.request("overrides.clearOverride",{name:e})).success)throw new Error("Failed to clear override");return!0}}class Pt{constructor(e){this._client=e}async nextPage(){if(!(await this._client.request("playlist.nextPage",{})).success)throw new Error("Failed to advance to next page");return!0}async previousPage(){if(!(await this._client.request("playlist.previousPage",{})).success)throw new Error("Failed to return to previous page");return!0}async setDuration(e){if(!(await this._client.request("playlist.setDuration",{duration:e})).success)throw new Error("Failed to set page duration");return!0}async getDuration(){const e=await this._client.request("playlist.getDuration",{});if(!e.success)throw new Error("Failed to get page duration");return{success:!0,duration:e.duration}}}class Rt extends At{get playlist(){return new Pt(this)}get overrides(){return new jt(this)}}let m=null;function Ft(){return m}function qt(a){m=new Rt,m.bind()}function Mt(){m==null||m.unbind(),m=null}function Lt(...a){return S(m),m.on(...a)}function Ht(...a){return S(m),m.once(...a)}function Dt(...a){return S(m),m.off(...a)}function Vt(...a){return S(m),m.send(...a)}function zt(...a){return S(m),m.request(...a)}function Bt(...a){return S(m),m.subscribe(...a)}function Ut(...a){return S(m),m.unsubscribe(...a)}function Kt(){return S(m),m.store}function Wt(){return S(m),m.applications}function Jt(){return S(m),m.media}function Qt(){return S(m),m.accounts}function Yt(){return S(m),m.users}function Gt(){return S(m),m.devices}function Xt(){return S(m),m.proxy}function es(){return S(m),m.weather}function ts(){return S(m),m.currency}function ss(){return S(m),m.environment}function ns(){return S(m),m.playlist}function as(){return S(m),m.overrides}function rs(){return S(m),m.mqtt}function S(a){if(!a)throw new Error("SDK is not configured")}exports.Accounts=Ee;exports.Applications=$e;exports.Currency=We;exports.DependencyHandle=Xe;exports.Devices=Ue;exports.Environment=Je;exports.Media=je;exports.Mqtt=Qe;exports.Navigation=Ye;exports.Proxy=Be;exports.Store=Ve;exports.StoreSlice=W;exports.Users=ze;exports.Weather=Ke;exports.accounts=Qt;exports.applications=Wt;exports.bridgeMessageValidator=He;exports.clientMessageValidator=De;exports.configure=qt;exports.currency=ts;exports.destroy=Mt;exports.devices=Gt;exports.environment=ss;exports.formatBridgeMessage=Zt;exports.formatClientMessage=K;exports.globalClient=Ft;exports.media=Jt;exports.mqtt=rs;exports.off=Dt;exports.on=Lt;exports.once=Ht;exports.overrides=as;exports.playlist=ns;exports.proxy=Xt;exports.request=zt;exports.send=Vt;exports.store=Kt;exports.subscribe=Bt;exports.telemetrySdkVersion=Q;exports.unsubscribe=Ut;exports.users=Yt;exports.weather=es;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const et="1.18.0",tt={version:et};class Ee{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 $e{constructor(e){this._client=e}async getById(e){return(await this._client.request("applications.getById",{applicationId:e})).application}async getBySpecifier(e){return(await this._client.request("applications.getBySpecifier",{applicationSpecifier:e})).application}async getAllByMountPoint(e){return(await this._client.request("applications.getAllByMountPoint",{mountPoint:e})).applications}async setDependencies(e){return await this._client._dependencyStore.setDependencies(e),(t,s)=>this._client._dependencyStore.handleFor(t,s)}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 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 new Promise((t,s)=>{const n=r=>{this._client.unsubscribe("media.openPicker",n),t(r.selection)};this._client.subscribe("media.openPicker",{accept:e==null?void 0:e.accept,currentValue:e==null?void 0:e.currentValue},n).then(r=>{r.success||s(new Error("Failed to open media picker"))}).catch(s)})}}var w;(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})(w||(w={}));var ye;(function(a){a.mergeShapes=(e,t)=>({...e,...t})})(ye||(ye={}));const h=w.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),A=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=w.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,w.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 de=(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,w.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:t=`Unrecognized key(s) in object: ${w.joinValues(a.keys,", ")}`;break;case d.invalid_union:t="Invalid input";break;case d.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${w.joinValues(a.options)}`;break;case d.invalid_enum_value:t=`Invalid enum value. Expected ${w.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}"`:w.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,w.assertNever(a)}return{message:t}};let st=de;function nt(){return st}const at=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=nt(),s=at({issueData:e,data:a.data,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,t,t===de?void 0:de].filter(n=>!!n)});a.common.issues.push(s)}class T{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 g;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 T.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 g;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 g=Object.freeze({status:"aborted"}),ue=a=>({status:"dirty",value:a}),C=a=>({status:"valid",value:a}),ve=a=>a.status==="aborted",be=a=>a.status==="dirty",L=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 we=(a,e)=>{if(L(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 b{get description(){return this._def.description}_getType(e){return A(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:A(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new T,ctx:{common:e.parent.common,data:e.data,parsedType:A(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:A(e)},n=this._parseSync({data:e,path:s.path,parent:s});return we(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:A(e)};if(!this["~standard"].async)try{const r=this._parseSync({data:e,path:[],parent:n});return L(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=>L(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:A(e)},n=this._parse({data:e,path:s.path,parent:s}),r=await(te(n)?n:Promise.resolve(n));return we(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 D({schema:this,typeName:_.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 $.create(this,this._def)}nullable(){return V.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return I.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 D({...y(this._def),schema:this,typeName:_.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new fe({...y(this._def),innerType:this,defaultValue:t,typeName:_.ZodDefault})}brand(){return new It({typeName:_.ZodBranded,type:this,...y(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new me({...y(this._def),innerType:this,catchValue:t,typeName:_.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ge.create(this,e)}readonly(){return _e.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const rt=/^c[^\s-]{8,}$/i,it=/^[0-9a-z]+$/,ot=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ct=/^[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,dt=/^[a-z0-9_-]{21}$/i,ut=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,lt=/^[-+]?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)?)??$/,ht=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,pt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let ce;const 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])$/,mt=/^(?:(?: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])$/,_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]))$/,gt=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,yt=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,vt=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pe="((\\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])))",bt=new RegExp(`^${Pe}$`);function Re(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 wt(a){return new RegExp(`^${Re(a)}$`)}function kt(a){let e=`${Pe}T${Re(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 xt(a,e){return!!((e==="v4"||!e)&&ft.test(a)||(e==="v6"||!e)&&_t.test(a))}function St(a,e){if(!ut.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 Tt(a,e){return!!((e==="v4"||!e)&&mt.test(a)||(e==="v6"||!e)&&gt.test(a))}class E extends b{_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}),g}const t=new T;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")ht.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")ce||(ce=new RegExp(pt,"u")),ce.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")ct.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")dt.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")rt.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")it.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")ot.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"?kt(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"?bt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:d.invalid_string,validation:"date",message:n.message}),t.dirty()):n.kind==="time"?wt(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"?lt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"duration",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="ip"?xt(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"?St(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"?Tt(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"?yt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"base64",code:d.invalid_string,message:n.message}),t.dirty()):n.kind==="base64url"?vt.test(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{validation:"base64url",code:d.invalid_string,message:n.message}),t.dirty()):w.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 E({...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 E({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new E({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new E({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(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}}E.create=a=>new E({checks:[],typeName:_.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 Y extends b{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}),g}let t;const s=new T;for(const n of this._def.checks)n.kind==="int"?w.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()):w.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 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]})}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"&&w.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)}}Y.create=a=>new Y({checks:[],typeName:_.ZodNumber,coerce:(a==null?void 0:a.coerce)||!1,...y(a)});class G extends b{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 T;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()):w.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}),g}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:_.ZodBigInt,coerce:(a==null?void 0:a.coerce)??!1,...y(a)});class ke extends b{_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}),g}return C(e.data)}}ke.create=a=>new ke({typeName:_.ZodBoolean,coerce:(a==null?void 0:a.coerce)||!1,...y(a)});class se extends b{_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}),g}if(Number.isNaN(e.data.getTime())){const n=this._getOrReturnCtx(e);return u(n,{code:d.invalid_date}),g}const t=new T;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()):w.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:_.ZodDate,...y(a)});class xe extends b{_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}),g}return C(e.data)}}xe.create=a=>new xe({typeName:_.ZodSymbol,...y(a)});class Se extends b{_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}),g}return C(e.data)}}Se.create=a=>new Se({typeName:_.ZodUndefined,...y(a)});class Te extends b{_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}),g}return C(e.data)}}Te.create=a=>new Te({typeName:_.ZodNull,...y(a)});class le extends b{constructor(){super(...arguments),this._any=!0}_parse(e){return C(e.data)}}le.create=a=>new le({typeName:_.ZodAny,...y(a)});class Ce extends b{constructor(){super(...arguments),this._unknown=!0}_parse(e){return C(e.data)}}Ce.create=a=>new Ce({typeName:_.ZodUnknown,...y(a)});class P extends b{_parse(e){const t=this._getOrReturnCtx(e);return u(t,{code:d.invalid_type,expected:h.never,received:t.parsedType}),g}}P.create=a=>new P({typeName:_.ZodNever,...y(a)});class Ie extends b{_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}),g}return C(e.data)}}Ie.create=a=>new Ie({typeName:_.ZodVoid,...y(a)});class I extends b{_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}),g;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=>T.mergeArray(s,i));const r=[...t.data].map((i,o)=>n.type._parseSync(new j(t,i,t.path,o)));return T.mergeArray(s,r)}get element(){return this._def.type}min(e,t){return new I({...this._def,minLength:{value:e,message:p.toString(t)}})}max(e,t){return new I({...this._def,maxLength:{value:e,message:p.toString(t)}})}length(e,t){return new I({...this._def,exactLength:{value:e,message:p.toString(t)}})}nonempty(e){return this.min(1,e)}}I.create=(a,e)=>new I({type:a,minLength:null,maxLength:null,exactLength:null,typeName:_.ZodArray,...y(e)});function M(a){if(a instanceof x){const e={};for(const t in a.shape){const s=a.shape[t];e[t]=$.create(M(s))}return new x({...a._def,shape:()=>e})}else return a instanceof I?new I({...a._def,type:M(a.element)}):a instanceof $?$.create(M(a.unwrap())):a instanceof V?V.create(M(a.unwrap())):a instanceof q?q.create(a.items.map(e=>M(e))):a}class x extends b{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=w.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}),g}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],f=s.data[c];o.push({key:{status:"valid",value:c},value:l._parse(new j(s,f,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 f=s.data[l];o.push({key:{status:"valid",value:l},value:c._parse(new j(s,f,s.path,l)),alwaysSet:l in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const c=[];for(const l of o){const f=await l.key,v=await l.value;c.push({key:f,value:v,alwaysSet:l.alwaysSet})}return c}).then(c=>T.mergeObjectSync(t,c)):T.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return p.errToObj,new x({...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 x({...this._def,unknownKeys:"strip"})}passthrough(){return new x({...this._def,unknownKeys:"passthrough"})}extend(e){return new x({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new x({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:_.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new x({...this._def,catchall:e})}pick(e){const t={};for(const s of w.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new x({...this._def,shape:()=>t})}omit(e){const t={};for(const s of w.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new x({...this._def,shape:()=>t})}deepPartial(){return M(this)}partial(e){const t={};for(const s of w.objectKeys(this.shape)){const n=this.shape[s];e&&!e[s]?t[s]=n:t[s]=n.optional()}return new x({...this._def,shape:()=>t})}required(e){const t={};for(const s of w.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof $;)n=n._def.innerType;t[s]=n}return new x({...this._def,shape:()=>t})}keyof(){return Fe(w.objectKeys(this.shape))}}x.create=(a,e)=>new x({shape:()=>a,unknownKeys:"strip",catchall:P.create(),typeName:_.ZodObject,...y(e)});x.strictCreate=(a,e)=>new x({shape:()=>a,unknownKeys:"strict",catchall:P.create(),typeName:_.ZodObject,...y(e)});x.lazycreate=(a,e)=>new x({shape:a,unknownKeys:"strip",catchall:P.create(),typeName:_.ZodObject,...y(e)});class ne extends b{_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}),g}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},f=c._parseSync({data:t.data,path:t.path,parent:l});if(f.status==="valid")return f;f.status==="dirty"&&!r&&(r={result:f,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}),g}}get options(){return this._def.options}}ne.create=(a,e)=>new ne({options:a,typeName:_.ZodUnion,...y(e)});function he(a,e){const t=A(a),s=A(e);if(a===e)return{valid:!0,data:a};if(t===h.object&&s===h.object){const n=w.objectKeys(e),r=w.objectKeys(a).filter(o=>n.indexOf(o)!==-1),i={...a,...e};for(const o of r){const c=he(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=he(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 b{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=(r,i)=>{if(ve(r)||ve(i))return g;const o=he(r.value,i.value);return o.valid?((be(r)||be(i))&&t.dirty(),{status:t.value,value:o.data}):(u(s,{code:d.invalid_intersection_types}),g)};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:_.ZodIntersection,...y(t)});class q extends b{_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}),g;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"}),g;!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=>T.mergeArray(t,r)):T.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new q({...this._def,rest:e})}}q.create=(a,e)=>{if(!Array.isArray(a))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new q({items:a,typeName:_.ZodTuple,rest:null,...y(e)})};class Ne extends b{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}),g;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,f=await c.value;if(l.status==="aborted"||f.status==="aborted")return g;(l.status==="dirty"||f.status==="dirty")&&t.dirty(),o.set(l.value,f.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const c of i){const l=c.key,f=c.value;if(l.status==="aborted"||f.status==="aborted")return g;(l.status==="dirty"||f.status==="dirty")&&t.dirty(),o.set(l.value,f.value)}return{status:t.value,value:o}}}}Ne.create=(a,e,t)=>new Ne({valueType:e,keyType:a,typeName:_.ZodMap,...y(t)});class X extends b{_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}),g;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 f of c){if(f.status==="aborted")return g;f.status==="dirty"&&t.dirty(),l.add(f.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:_.ZodSet,...y(e)});class Ze extends b{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:_.ZodLazy,...y(e)});class pe extends b{_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}),g}return{status:"valid",value:e.data}}get value(){return this._def.value}}pe.create=(a,e)=>new pe({value:a,typeName:_.ZodLiteral,...y(e)});function Fe(a,e){return new H({values:a,typeName:_.ZodEnum,...y(e)})}class H extends b{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),s=this._def.values;return u(t,{expected:w.joinValues(s),received:t.parsedType,code:d.invalid_type}),g}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}),g}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 H.create(e,{...this._def,...t})}exclude(e,t=this._def){return H.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}}H.create=Fe;class Oe extends b{_parse(e){const t=w.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==h.string&&s.parsedType!==h.number){const n=w.objectValues(t);return u(s,{expected:w.joinValues(n),received:s.parsedType,code:d.invalid_type}),g}if(this._cache||(this._cache=new Set(w.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const n=w.objectValues(t);return u(s,{received:s.data,code:d.invalid_enum_value,options:n}),g}return C(e.data)}get enum(){return this._def.values}}Oe.create=(a,e)=>new Oe({values:a,typeName:_.ZodNativeEnum,...y(e)});class re extends b{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}),g;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:_.ZodPromise,...y(e)});class D extends b{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===_.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 g;const c=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return c.status==="aborted"?g:c.status==="dirty"||t.value==="dirty"?ue(c.value):c});{if(t.value==="aborted")return g;const o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?g:o.status==="dirty"||t.value==="dirty"?ue(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"?g:(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"?g:(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(!L(i))return g;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=>L(i)?Promise.resolve(n.transform(i.value,r)).then(o=>({status:t.value,value:o})):g);w.assertNever(n)}}D.create=(a,e,t)=>new D({schema:a,typeName:_.ZodEffects,effect:e,...y(t)});D.createWithPreprocess=(a,e,t)=>new D({schema:e,effect:{type:"preprocess",transform:a},typeName:_.ZodEffects,...y(t)});class $ extends b{_parse(e){return this._getType(e)===h.undefined?C(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}$.create=(a,e)=>new $({innerType:a,typeName:_.ZodOptional,...y(e)});class V extends b{_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:_.ZodNullable,...y(e)});class fe extends b{_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}}fe.create=(a,e)=>new fe({innerType:a,typeName:_.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...y(e)});class me extends b{_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}}me.create=(a,e)=>new me({innerType:a,typeName:_.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...y(e)});class Ae extends b{_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}),g}return{status:"valid",value:e.data}}}Ae.create=a=>new Ae({typeName:_.ZodNaN,...y(a)});class It extends b{_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 ge extends b{_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"?g:n.status==="dirty"?(t.dirty(),ue(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"?g: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 ge({in:e,out:t,typeName:_.ZodPipeline})}}class _e extends b{_parse(e){const t=this._def.innerType._parse(e),s=n=>(L(n)&&(n.value=Object.freeze(n.value)),n);return te(t)?t.then(n=>s(n)):s(t)}unwrap(){return this._def.innerType}}_e.create=(a,e)=>new _e({innerType:a,typeName:_.ZodReadonly,...y(e)});var _;(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"})(_||(_={}));const O=E.create,qe=le.create;P.create;I.create;const Me=x.create;ne.create;ae.create;q.create;const Le=pe.create,Nt=H.create;re.create;$.create;V.create;const He=Me({type:Le("bridge"),name:O(),data:qe()});function Zt(a){return{...a,type:"bridge"}}const De=Me({type:Le("client"),telemetrySdkVersion:O(),applicationSpecifier:O(),applicationInstance:O(),runtime:Nt(["window","worker"]),name:O(),data:qe(),responseName:O().optional(),subscriptionName:O().optional(),unsubscribeName:O().optional()});function K(a){return{...a,type:"client"}}class Ve{constructor(e){this._client=e}get application(){return new W("application","application",this._client)}get instance(){return new W("instance",this._client.applicationInstance,this._client)}get device(){return new W("device",this._client.deviceId,this._client)}shared(e){return new W("shared",e,this._client)}}class W{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 Ot{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 t=(e=await this._store.shared("root-settings-navigation").get("navigation"))!==null&&e!==void 0?e:{},s=this._store._client._applicationSpecifier;return t[s]}async getAllRootSettingsNavigation(){var e;return(e=await this._store.shared("root-settings-navigation").get("navigation"))!==null&&e!==void 0?e:{}}}class ze{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 Be{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((f,v)=>{r[v]=f}):Array.isArray(t.headers)?t.headers.forEach(([f,v])=>{r[f]=v}):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 f=atob(i.body),v=new Uint8Array(f.length);for(let k=0;k<f.length;k++)v[k]=f.charCodeAt(k);l=v}else i.bodyType==="text"?l=i.body:i.bodyType==="json"&&(l=JSON.stringify(i.body));return new Response(l,c)}}class Ue{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 Ke{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 We{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 Je{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 Qe{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 Ye{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})}}const z=1e3*30,Ge=1e3*5,ie=typeof window>"u"&&typeof self<"u",ee=ie?"worker":"window",J=ie?self:window;function B(a){ie?self.postMessage(a):J.parent.postMessage(a,"*")}class At{constructor(){this._applicationInstance="",this._applicationSpecifier="",this._deviceId="",this._heartbeatInterval=null,this._heartbeatSignature=U(),this._messageInterceptors=new Map,this._onHandlers=new Map,this._onceHandlers=new Map,this._subscriptionNamesByHandler=new Map,this._subscriptionNamesBySubjectName=new Map,this._dependencyStore=new $t(this),this._navigation=new Ye(this)}get accounts(){return new Ee(this)}get users(){return new ze(this)}get store(){return new Ve(this)}get applications(){return new $e(this)}get media(){return new je(this)}get proxy(){return new Be(this)}get devices(){return new Ue(this)}get rootSettingsNavigation(){return new Ot(this.store)}get weather(){return new Ke(this)}get currency(){return new We(this)}get environment(){return new Je(this)}get mqtt(){return new Qe(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=De.safeParse(i.data);if(!c.success){const k=i.data;k&&typeof k=="object"&&k.type==="client"&&console.warn("[sdk-client] Received a message that looks like a client message but failed schema validation. This may indicate a version mismatch between the SDK and the host environment.",c.error.issues);return}const l=c.data,f=this._messageInterceptors.get(l.name);if(!f)return B(l);let v;try{v=f(l)}catch(k){console.error(`Error in interceptor for message ${l.name}:`,k)}if(!v)return;o={...v,type:"bridge",...i.data.responseName?{name:i.data.responseName}:{}}}if(!o){const c=He.safeParse(i.data);if(!c.success){const v=i.data;v&&typeof v=="object"&&v.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),f=this._onceHandlers.get(o.name);if(l)for(const v of l)v(o.data);if(f){for(const v of f)v(o.data);this._onceHandlers.delete(o.name)}}if(!ie)for(let c=0;c<window.frames.length;c+=1)window.frames[c].postMessage(o,"*")},J.addEventListener("message",this._windowMessageHandler),this._navigation.bind(),this._heartbeatInterval=setInterval(()=>{this.send("heartbeat",{signature:this._heartbeatSignature})},Ge)}unbind(){this._windowMessageHandler&&(this._navigation.unbind(),J.removeEventListener("message",this._windowMessageHandler),this._heartbeatInterval&&clearInterval(this._heartbeatInterval))}send(e,t){const s=K({telemetrySdkVersion:Q,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,runtime:ee,name:e,data:t});B(s)}request(e,t,s){var n;const r=U(),i=K({telemetrySdkVersion:Q,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,runtime:ee,name:e,data:t,responseName:r});B(i);const o=(n=s==null?void 0:s.timeout)!==null&&n!==void 0?n:z;let c=!1,l;const f=new Promise(k=>{l=N=>{c||k(N)},this.once(r,l)});if(o===0)return f;const v=new Promise((k,N)=>{const R=new Error(`${e} message request with response name of ${r} timed out after ${o}`);setTimeout(()=>{c=!0,this.off(r,l),N(R)},o)});return Promise.race([v,f])}async subscribe(e,t,s){let n,r;typeof t=="function"?r=t:(n=t,r=s);const i=U(),o=U();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=K({telemetrySdkVersion:Q,applicationSpecifier:this._applicationSpecifier,applicationInstance:this._applicationInstance,runtime:ee,name:e,data:n,responseName:o,subscriptionName:i});B(l);let f=!1,v;const k=new Promise((R,F)=>{const oe=new Error(`${e} subscribe request with subscription name of ${i} and response name of ${o} timed out after ${z}`);setTimeout(()=>{f=!0,this.off(o,v),F(oe)},z)}),N=new Promise(R=>{v=F=>{f||R(F)},this.once(o,v)});return Promise.race([k,N])}async unsubscribe(e,t,s){let n,r;typeof t=="function"?r=t:(n=t,r=s);const i=U();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=K({telemetrySdkVersion:Q,applicationInstance:this._applicationInstance,applicationSpecifier:this._applicationSpecifier,runtime:ee,name:e,data:n,responseName:i,unsubscribeName:c});B(l);let f=!1,v;const k=new Promise((R,F)=>{const oe=new Error(`${e} unsubscribe request with unsubscribe name of ${c} and response name of ${i} timed out after ${z}`);setTimeout(()=>{f=!0,this.off(i,v),F(oe)},z)}),N=new Promise(R=>{v=F=>{f||R(F)},this.once(i,v)});if(!(await Promise.race([k,N])).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 U(){return Math.random().toString(36).slice(2,9)}const Et=3;class $t{constructor(e){this._client=e,this._dependencies=new Map,this._heartbeatTimeouts=new Map,this._client._messageInterceptors.set("heartbeat",t=>{this._handleHeartbeat(t.applicationSpecifier,t.applicationInstance)})}async setDependencies(e){this._client.send("applications.setDependencies",{applicationSpecifiers:e});const t=[];for(const[s,n]of this._dependencies.entries()){const[r,i]=s.split(":");(!e[r]||!e[r].includes(i))&&(t.push(n._destroy()),this._dependencies.delete(s))}await Promise.all(t)}handleFor(e,t){let s=this._dependencies.get(`${e}:${t}`);return s||(s=new Xe(this,e,t),this._dependencies.set(`${e}:${t}`,s),s)}_handleHeartbeat(e,t){const s=`${e}:${t}`,n=this._dependencies.get(s);if(!n)return;const r=this._heartbeatTimeouts.get(s);r&&clearTimeout(r),this._heartbeatTimeouts.set(s,setTimeout(()=>{this._heartbeatTimeouts.delete(s),n._resetIframe()},Ge*Et))}}class Xe{get status(){return this._status}get application(){return structuredClone(this._application)}constructor(e,t,s){this._store=e,this._specifier=t,this._instanceId=s,this._status="unloaded",this._application=null,this._iframe=null,this._onStatusHandlers=new Set,this._subscriptionHandler=n=>{this._status=n.status,this._application=n.application;for(const r of this._onStatusHandlers)r(n.status)},this._store._client.subscribe("applications.dependency",{applicationSpecifier:this._specifier,applicationInstance:this._instanceId},this._subscriptionHandler).catch(n=>{console.error(`Dependency subscription failed for ${this._specifier}:${this._instanceId}:`,n)})}async frame(e){return new Promise(t=>{if(this._iframe)return t(this._iframe);if(this._status==="ready")return this._iframe=this._buildIframe(e),t(this._iframe);let s;const n=r=>{if(r==="ready")return s(),this._iframe=this._buildIframe(e),t(this._iframe);if(r==="unloaded")return s(),t(null)};s=this.onStatus(n)})}onStatus(e){return this._onStatusHandlers.add(e),()=>{this._onStatusHandlers.delete(e)}}_buildIframe(e){var t,s,n,r,i,o;const c=(s=(t=this._application)===null||t===void 0?void 0:t.versions)===null||s===void 0?void 0:s[0],l=c==null?void 0:c.baseUrl;if(!l)return console.error(`No baseUrl for dependency ${this._specifier}:${this._instanceId}`),null;const f=new URL(l),v=(o=(n=e==null?void 0:e.path)!==null&&n!==void 0?n:(i=(r=c==null?void 0:c.mountPoints)===null||r===void 0?void 0:r.find(N=>N.name===(e==null?void 0:e.mountPoint)))===null||i===void 0?void 0:i.path)!==null&&o!==void 0?o:"/";f.pathname=v.startsWith("/")?v:`/${v}`,f.searchParams.set("applicationSpecifier",this._specifier),f.searchParams.set("applicationInstance",this._instanceId),f.searchParams.set("deviceId",this._store._client.deviceId);const k=document.createElement("iframe");return k.src=f.toString(),k}async _resetIframe(){if(!this._iframe)return;const e=this._iframe;try{await this._store._client.request("applications.reset",{applicationSpecifier:this._specifier,applicationInstance:this._instanceId,cause:"heartbeat-timeout"})}catch(t){console.error(`Failed to reset application ${this._specifier}:${this._instanceId}:`,t)}this._iframe===e&&(e.src=e.src)}async _destroy(){this._status="unloaded",this._iframe&&(this._iframe.src="about:blank"),this._iframe=null;for(const s of this._onStatusHandlers)s("unloaded");const e=`${this._specifier}:${this._instanceId}`,t=this._store._heartbeatTimeouts.get(e);t&&(clearTimeout(t),this._store._heartbeatTimeouts.delete(e));try{await this._store._client.request("applications.destroy",{applicationSpecifier:this._specifier,applicationInstance:this._instanceId})}catch(s){console.error(`Failed to destroy ${this._specifier}:${this._instanceId}:`,s)}await this._store._client.unsubscribe("applications.dependency",{applicationSpecifier:this._specifier,applicationInstance:this._instanceId},this._subscriptionHandler).catch(s=>{console.error(`Dependency unsubscription failed for ${this._specifier}:${this._instanceId}:`,s)})}}const Q=tt.version;class jt{constructor(e){this._client=e}async setOverride(e){if(!(await this._client.request("overrides.setOverride",{name:e})).success)throw new Error("Failed to set override");return!0}async clearOverride(e){if(!(await this._client.request("overrides.clearOverride",{name:e})).success)throw new Error("Failed to clear override");return!0}}class Pt{constructor(e){this._client=e}async nextPage(){if(!(await this._client.request("playlist.nextPage",{})).success)throw new Error("Failed to advance to next page");return!0}async previousPage(){if(!(await this._client.request("playlist.previousPage",{})).success)throw new Error("Failed to return to previous page");return!0}async setDuration(e){if(!(await this._client.request("playlist.setDuration",{duration:e})).success)throw new Error("Failed to set page duration");return!0}async getDuration(){const e=await this._client.request("playlist.getDuration",{});if(!e.success)throw new Error("Failed to get page duration");return{success:!0,duration:e.duration}}}class Rt extends At{get playlist(){return new Pt(this)}get overrides(){return new jt(this)}}let m=null;function Ft(){return m}function qt(a){m=new Rt,m.bind()}function Mt(){m==null||m.unbind(),m=null}function Lt(...a){return S(m),m.on(...a)}function Ht(...a){return S(m),m.once(...a)}function Dt(...a){return S(m),m.off(...a)}function Vt(...a){return S(m),m.send(...a)}function zt(...a){return S(m),m.request(...a)}function Bt(...a){return S(m),m.subscribe(...a)}function Ut(...a){return S(m),m.unsubscribe(...a)}function Kt(){return S(m),m.store}function Wt(){return S(m),m.applications}function Jt(){return S(m),m.media}function Qt(){return S(m),m.accounts}function Yt(){return S(m),m.users}function Gt(){return S(m),m.devices}function Xt(){return S(m),m.proxy}function es(){return S(m),m.weather}function ts(){return S(m),m.currency}function ss(){return S(m),m.environment}function ns(){return S(m),m.playlist}function as(){return S(m),m.overrides}function rs(){return S(m),m.mqtt}function S(a){if(!a)throw new Error("SDK is not configured")}exports.Accounts=Ee;exports.Applications=$e;exports.Currency=We;exports.DependencyHandle=Xe;exports.Devices=Ue;exports.Environment=Je;exports.Media=je;exports.Mqtt=Qe;exports.Navigation=Ye;exports.Proxy=Be;exports.Store=Ve;exports.StoreSlice=W;exports.Users=ze;exports.Weather=Ke;exports.accounts=Qt;exports.applications=Wt;exports.bridgeMessageValidator=He;exports.clientMessageValidator=De;exports.configure=qt;exports.currency=ts;exports.destroy=Mt;exports.devices=Gt;exports.environment=ss;exports.formatBridgeMessage=Zt;exports.formatClientMessage=K;exports.globalClient=Ft;exports.media=Jt;exports.mqtt=rs;exports.off=Dt;exports.on=Lt;exports.once=Ht;exports.overrides=as;exports.playlist=ns;exports.proxy=Xt;exports.request=zt;exports.send=Vt;exports.store=Kt;exports.subscribe=Bt;exports.telemetrySdkVersion=Q;exports.unsubscribe=Ut;exports.users=Yt;exports.weather=es;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const Me = "1.17.0", Le = {
1
+ const Me = "1.18.0", Le = {
2
2
  version: Me
3
3
  };
4
4
  class He {
@@ -463,7 +463,7 @@ function u(a, e) {
463
463
  });
464
464
  a.common.issues.push(s);
465
465
  }
466
- class C {
466
+ class T {
467
467
  constructor() {
468
468
  this.value = "valid";
469
469
  }
@@ -491,7 +491,7 @@ class C {
491
491
  value: i
492
492
  });
493
493
  }
494
- return C.mergeObjectSync(e, s);
494
+ return T.mergeObjectSync(e, s);
495
495
  }
496
496
  static mergeObjectSync(e, t) {
497
497
  const s = {};
@@ -506,7 +506,7 @@ class C {
506
506
  }
507
507
  const g = Object.freeze({
508
508
  status: "aborted"
509
- }), ue = (a) => ({ status: "dirty", value: a }), T = (a) => ({ status: "valid", value: a }), ve = (a) => a.status === "aborted", be = (a) => a.status === "dirty", L = (a) => a.status === "valid", te = (a) => typeof Promise < "u" && a instanceof Promise;
509
+ }), ue = (a) => ({ status: "dirty", value: a }), C = (a) => ({ status: "valid", value: a }), ve = (a) => a.status === "aborted", be = (a) => a.status === "dirty", L = (a) => a.status === "valid", te = (a) => typeof Promise < "u" && a instanceof Promise;
510
510
  var p;
511
511
  (function(a) {
512
512
  a.errToObj = (e) => typeof e == "string" ? { message: e } : e || {}, a.toString = (e) => typeof e == "string" ? e : e == null ? void 0 : e.message;
@@ -564,7 +564,7 @@ class b {
564
564
  }
565
565
  _processInputParams(e) {
566
566
  return {
567
- status: new C(),
567
+ status: new T(),
568
568
  ctx: {
569
569
  common: e.parent.common,
570
570
  data: e.data,
@@ -810,7 +810,7 @@ class E extends b {
810
810
  received: n.parsedType
811
811
  }), g;
812
812
  }
813
- const t = new C();
813
+ const t = new T();
814
814
  let s;
815
815
  for (const n of this._def.checks)
816
816
  if (n.kind === "min")
@@ -1201,7 +1201,7 @@ class W extends b {
1201
1201
  }), g;
1202
1202
  }
1203
1203
  let t;
1204
- const s = new C();
1204
+ const s = new T();
1205
1205
  for (const n of this._def.checks)
1206
1206
  n.kind === "int" ? w.isInteger(e.data) || (t = this._getOrReturnCtx(e, t), u(t, {
1207
1207
  code: d.invalid_type,
@@ -1373,7 +1373,7 @@ class J extends b {
1373
1373
  if (this._getType(e) !== h.bigint)
1374
1374
  return this._getInvalidInput(e);
1375
1375
  let t;
1376
- const s = new C();
1376
+ const s = new T();
1377
1377
  for (const n of this._def.checks)
1378
1378
  n.kind === "min" ? (n.inclusive ? e.data < n.value : e.data <= n.value) && (t = this._getOrReturnCtx(e, t), u(t, {
1379
1379
  code: d.too_small,
@@ -1502,7 +1502,7 @@ class ke extends b {
1502
1502
  received: t.parsedType
1503
1503
  }), g;
1504
1504
  }
1505
- return T(e.data);
1505
+ return C(e.data);
1506
1506
  }
1507
1507
  }
1508
1508
  ke.create = (a) => new ke({
@@ -1526,7 +1526,7 @@ class se extends b {
1526
1526
  code: d.invalid_date
1527
1527
  }), g;
1528
1528
  }
1529
- const t = new C();
1529
+ const t = new T();
1530
1530
  let s;
1531
1531
  for (const n of this._def.checks)
1532
1532
  n.kind === "min" ? e.data.getTime() < n.value && (s = this._getOrReturnCtx(e, s), u(s, {
@@ -1598,7 +1598,7 @@ class xe extends b {
1598
1598
  received: t.parsedType
1599
1599
  }), g;
1600
1600
  }
1601
- return T(e.data);
1601
+ return C(e.data);
1602
1602
  }
1603
1603
  }
1604
1604
  xe.create = (a) => new xe({
@@ -1615,14 +1615,14 @@ class Se extends b {
1615
1615
  received: t.parsedType
1616
1616
  }), g;
1617
1617
  }
1618
- return T(e.data);
1618
+ return C(e.data);
1619
1619
  }
1620
1620
  }
1621
1621
  Se.create = (a) => new Se({
1622
1622
  typeName: _.ZodUndefined,
1623
1623
  ...y(a)
1624
1624
  });
1625
- class Ce extends b {
1625
+ class Te extends b {
1626
1626
  _parse(e) {
1627
1627
  if (this._getType(e) !== h.null) {
1628
1628
  const t = this._getOrReturnCtx(e);
@@ -1632,10 +1632,10 @@ class Ce extends b {
1632
1632
  received: t.parsedType
1633
1633
  }), g;
1634
1634
  }
1635
- return T(e.data);
1635
+ return C(e.data);
1636
1636
  }
1637
1637
  }
1638
- Ce.create = (a) => new Ce({
1638
+ Te.create = (a) => new Te({
1639
1639
  typeName: _.ZodNull,
1640
1640
  ...y(a)
1641
1641
  });
@@ -1644,22 +1644,22 @@ class le extends b {
1644
1644
  super(...arguments), this._any = !0;
1645
1645
  }
1646
1646
  _parse(e) {
1647
- return T(e.data);
1647
+ return C(e.data);
1648
1648
  }
1649
1649
  }
1650
1650
  le.create = (a) => new le({
1651
1651
  typeName: _.ZodAny,
1652
1652
  ...y(a)
1653
1653
  });
1654
- class Te extends b {
1654
+ class Ce extends b {
1655
1655
  constructor() {
1656
1656
  super(...arguments), this._unknown = !0;
1657
1657
  }
1658
1658
  _parse(e) {
1659
- return T(e.data);
1659
+ return C(e.data);
1660
1660
  }
1661
1661
  }
1662
- Te.create = (a) => new Te({
1662
+ Ce.create = (a) => new Ce({
1663
1663
  typeName: _.ZodUnknown,
1664
1664
  ...y(a)
1665
1665
  });
@@ -1687,7 +1687,7 @@ class Ie extends b {
1687
1687
  received: t.parsedType
1688
1688
  }), g;
1689
1689
  }
1690
- return T(e.data);
1690
+ return C(e.data);
1691
1691
  }
1692
1692
  }
1693
1693
  Ie.create = (a) => new Ie({
@@ -1730,9 +1730,9 @@ class I extends b {
1730
1730
  exact: !1,
1731
1731
  message: n.maxLength.message
1732
1732
  }), s.dirty()), t.common.async)
1733
- return Promise.all([...t.data].map((i, o) => n.type._parseAsync(new j(t, i, t.path, o)))).then((i) => C.mergeArray(s, i));
1733
+ return Promise.all([...t.data].map((i, o) => n.type._parseAsync(new j(t, i, t.path, o)))).then((i) => T.mergeArray(s, i));
1734
1734
  const r = [...t.data].map((i, o) => n.type._parseSync(new j(t, i, t.path, o)));
1735
- return C.mergeArray(s, r);
1735
+ return T.mergeArray(s, r);
1736
1736
  }
1737
1737
  get element() {
1738
1738
  return this._def.type;
@@ -1854,7 +1854,7 @@ class x extends b {
1854
1854
  });
1855
1855
  }
1856
1856
  return c;
1857
- }).then((c) => C.mergeObjectSync(t, c)) : C.mergeObjectSync(t, o);
1857
+ }).then((c) => T.mergeObjectSync(t, c)) : T.mergeObjectSync(t, o);
1858
1858
  }
1859
1859
  get shape() {
1860
1860
  return this._def.shape();
@@ -2236,7 +2236,7 @@ class q extends b {
2236
2236
  const o = this._def.items[i] || this._def.rest;
2237
2237
  return o ? o._parse(new j(s, r, s.path, i)) : null;
2238
2238
  }).filter((r) => !!r);
2239
- return s.common.async ? Promise.all(n).then((r) => C.mergeArray(t, r)) : C.mergeArray(t, n);
2239
+ return s.common.async ? Promise.all(n).then((r) => T.mergeArray(t, r)) : T.mergeArray(t, n);
2240
2240
  }
2241
2241
  get items() {
2242
2242
  return this._def.items;
@@ -2430,7 +2430,7 @@ class H extends b {
2430
2430
  options: s
2431
2431
  }), g;
2432
2432
  }
2433
- return T(e.data);
2433
+ return C(e.data);
2434
2434
  }
2435
2435
  get options() {
2436
2436
  return this._def.values;
@@ -2486,7 +2486,7 @@ class Oe extends b {
2486
2486
  options: n
2487
2487
  }), g;
2488
2488
  }
2489
- return T(e.data);
2489
+ return C(e.data);
2490
2490
  }
2491
2491
  get enum() {
2492
2492
  return this._def.values;
@@ -2510,7 +2510,7 @@ class re extends b {
2510
2510
  received: t.parsedType
2511
2511
  }), g;
2512
2512
  const s = t.parsedType === h.promise ? t.data : Promise.resolve(t.data);
2513
- return T(s.then((n) => this._def.type.parseAsync(n, {
2513
+ return C(s.then((n) => this._def.type.parseAsync(n, {
2514
2514
  path: t.path,
2515
2515
  errorMap: t.common.contextualErrorMap
2516
2516
  })));
@@ -2615,7 +2615,7 @@ D.createWithPreprocess = (a, e, t) => new D({
2615
2615
  });
2616
2616
  class $ extends b {
2617
2617
  _parse(e) {
2618
- return this._getType(e) === h.undefined ? T(void 0) : this._def.innerType._parse(e);
2618
+ return this._getType(e) === h.undefined ? C(void 0) : this._def.innerType._parse(e);
2619
2619
  }
2620
2620
  unwrap() {
2621
2621
  return this._def.innerType;
@@ -2628,7 +2628,7 @@ $.create = (a, e) => new $({
2628
2628
  });
2629
2629
  class V extends b {
2630
2630
  _parse(e) {
2631
- return this._getType(e) === h.null ? T(null) : this._def.innerType._parse(e);
2631
+ return this._getType(e) === h.null ? C(null) : this._def.innerType._parse(e);
2632
2632
  }
2633
2633
  unwrap() {
2634
2634
  return this._def.innerType;
@@ -3294,7 +3294,7 @@ class St {
3294
3294
  return t;
3295
3295
  }
3296
3296
  }
3297
- class Ct {
3297
+ class Tt {
3298
3298
  constructor(e) {
3299
3299
  this._client = e;
3300
3300
  }
@@ -3341,7 +3341,7 @@ class Ct {
3341
3341
  return r.rates;
3342
3342
  }
3343
3343
  }
3344
- class Tt {
3344
+ class Ct {
3345
3345
  constructor(e) {
3346
3346
  this._client = e;
3347
3347
  }
@@ -3598,7 +3598,7 @@ class Zt {
3598
3598
  * @returns A Currency instance bound to this client
3599
3599
  */
3600
3600
  get currency() {
3601
- return new Ct(this);
3601
+ return new Tt(this);
3602
3602
  }
3603
3603
  /**
3604
3604
  * Provides access to the environment API for accessing environment settings.
@@ -3612,7 +3612,7 @@ class Zt {
3612
3612
  * @returns An Environment instance bound to this client
3613
3613
  */
3614
3614
  get environment() {
3615
- return new Tt(this);
3615
+ return new Ct(this);
3616
3616
  }
3617
3617
  get mqtt() {
3618
3618
  return new It(this);
@@ -4062,25 +4062,23 @@ class Et {
4062
4062
  return k.src = f.toString(), k;
4063
4063
  }
4064
4064
  /**
4065
- * Resets the iframe by clearing it, requesting the host to clean up
4066
- * subscriptions and state for this instance, then reloading it if the
4067
- * iframe is still in the DOM.
4065
+ * Resets the iframe by requesting the host to clean up subscriptions and
4066
+ * state for this instance, then reloading it by reassigning src to itself.
4068
4067
  */
4069
4068
  async _resetIframe() {
4070
4069
  if (!this._iframe)
4071
4070
  return;
4072
- const e = this._iframe, t = e.src;
4073
- e.src = "about:blank";
4071
+ const e = this._iframe;
4074
4072
  try {
4075
4073
  await this._store._client.request("applications.reset", {
4076
4074
  applicationSpecifier: this._specifier,
4077
4075
  applicationInstance: this._instanceId,
4078
4076
  cause: "heartbeat-timeout"
4079
4077
  });
4080
- } catch (s) {
4081
- console.error(`Failed to reset application ${this._specifier}:${this._instanceId}:`, s);
4078
+ } catch (t) {
4079
+ console.error(`Failed to reset application ${this._specifier}:${this._instanceId}:`, t);
4082
4080
  }
4083
- this._iframe === e && e.isConnected && (e.src = t);
4081
+ this._iframe === e && (e.src = e.src);
4084
4082
  }
4085
4083
  /**
4086
4084
  * Tears down this handle: resets status to 'unloaded', blanks the iframe,
@@ -4315,10 +4313,10 @@ function S(a) {
4315
4313
  export {
4316
4314
  He as Accounts,
4317
4315
  De as Applications,
4318
- Ct as Currency,
4316
+ Tt as Currency,
4319
4317
  Et as DependencyHandle,
4320
4318
  xt as Devices,
4321
- Tt as Environment,
4319
+ Ct as Environment,
4322
4320
  Ve as Media,
4323
4321
  It as Mqtt,
4324
4322
  Nt as Navigation,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telemetryos/sdk",
3
- "version": "1.17.0",
3
+ "version": "1.18.0",
4
4
  "description": "The official TelemetryOS application API package. Use it to build applications that run on the TelemetryOS platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -42,7 +42,7 @@
42
42
  "license": "",
43
43
  "repository": "github:TelemetryTV/Application-API",
44
44
  "dependencies": {
45
- "@telemetryos/root-sdk": "^1.17.0",
45
+ "@telemetryos/root-sdk": "^1.18.0",
46
46
  "zod": "^3.24.4"
47
47
  },
48
48
  "peerDependencies": {
@@ -72,6 +72,7 @@
72
72
  },
73
73
  "scripts": {
74
74
  "lint": "eslint ./src",
75
+ "lint:fix": "eslint --fix ./src",
75
76
  "test": "vitest run",
76
77
  "build": "vite build",
77
78
  "watch": "vite build -w --emptyOutDir false"