@synnaxlabs/client 0.53.0 → 0.53.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
 
2
- > @synnaxlabs/client@0.53.0 build /home/runner/work/synnax/synnax/client/ts
2
+ > @synnaxlabs/client@0.53.1 build /home/runner/work/synnax/synnax/client/ts
3
3
  > tsc --noEmit && vite build
4
4
 
5
5
   Synnax - Production mode
@@ -10,8 +10,8 @@ rendering chunks...
10
10
  
11
11
  [vite:dts] Start generate declaration files...
12
12
  computing gzip size...
13
- dist/client.js 507.32 kB │ gzip: 119.14 kB
14
- [vite:dts] Declaration files built in 5080ms.
13
+ dist/client.js 507.31 kB │ gzip: 119.13 kB
14
+ [vite:dts] Declaration files built in 5357ms.
15
15
  
16
16
  dist/client.cjs 301.05 kB │ gzip: 86.39 kB
17
- ✓ built in 6.38s
17
+ ✓ built in 6.71s
package/dist/client.cjs CHANGED
@@ -61,7 +61,7 @@ ${JSON.stringify(o,null,2)}`)}return r.join(`
61
61
 
62
62
  `)}b.write("payload.value = newResult;"),b.write("return payload;");const A=b.compile();return(D,C)=>A(f,D,C)};let a;const o=Pn,c=!Xc.jitless,l=c&&Vw.value,h=e.catchall;let d;t._zod.parse=(f,b)=>{d??(d=r.value);const N=f.value;return o(N)?c&&l&&b?.async===!1&&b.jitless!==!0?(a||(a=s(e.shape)),f=a(f,b),h?yu([],N,f,b,d,t):f):n(f,b):(f.issues.push({expected:"object",code:"invalid_type",input:N,inst:t}),f)}});function ia(t,e,n,r){for(const a of t)if(a.issues.length===0)return e.value=a.value,e;const s=t.filter(a=>!Ot(a));return s.length===1?(e.value=s[0].value,s[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:n,errors:t.map(a=>a.issues.map(o=>ft(o,r,ht())))}),e)}const _v=g("$ZodUnion",(t,e)=>{Y.init(t,e),U(t._zod,"optin",()=>e.options.some(s=>s._zod.optin==="optional")?"optional":void 0),U(t._zod,"optout",()=>e.options.some(s=>s._zod.optout==="optional")?"optional":void 0),U(t._zod,"values",()=>{if(e.options.every(s=>s._zod.values))return new Set(e.options.flatMap(s=>Array.from(s._zod.values)))}),U(t._zod,"pattern",()=>{if(e.options.every(s=>s._zod.pattern)){const s=e.options.map(a=>a._zod.pattern);return new RegExp(`^(${s.map(a=>ni(a.source)).join("|")})$`)}});const n=e.options.length===1,r=e.options[0]._zod.run;t._zod.parse=(s,a)=>{if(n)return r(s,a);let o=!1;const c=[];for(const u of e.options){const l=u._zod.run({value:s.value,issues:[]},a);if(l instanceof Promise)c.push(l),o=!0;else{if(l.issues.length===0)return l;c.push(l)}}return o?Promise.all(c).then(u=>ia(u,s,t,a)):ia(c,s,t,a)}}),Mv=g("$ZodIntersection",(t,e)=>{Y.init(t,e),t._zod.parse=(n,r)=>{const s=n.value,a=e.left._zod.run({value:s,issues:[]},r),o=e.right._zod.run({value:s,issues:[]},r);return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then(([u,l])=>aa(n,u,l)):aa(n,a,o)}});function ds(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(nn(t)&&nn(e)){const n=Object.keys(e),r=Object.keys(t).filter(a=>n.indexOf(a)!==-1),s={...t,...e};for(const a of r){const o=ds(t[a],e[a]);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};s[a]=o.data}return{valid:!0,data:s}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<t.length;r++){const s=t[r],a=e[r],o=ds(s,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function aa(t,e,n){const r=new Map;let s;for(const c of e.issues)if(c.code==="unrecognized_keys"){s??(s=c);for(const u of c.keys)r.has(u)||r.set(u,{}),r.get(u).l=!0}else t.issues.push(c);for(const c of n.issues)if(c.code==="unrecognized_keys")for(const u of c.keys)r.has(u)||r.set(u,{}),r.get(u).r=!0;else t.issues.push(c);const a=[...r].filter(([,c])=>c.l&&c.r).map(([c])=>c);if(a.length&&s&&t.issues.push({...s,keys:a}),Ot(t))return t;const o=ds(e.value,n.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return t.value=o.data,t}const Rv=g("$ZodEnum",(t,e)=>{Y.init(t,e);const n=Qc(e.entries),r=new Set(n);t._zod.values=r,t._zod.pattern=new RegExp(`^(${n.filter(s=>Gw.has(typeof s)).map(s=>typeof s=="string"?At(s):s.toString()).join("|")})$`),t._zod.parse=(s,a)=>{const o=s.value;return r.has(o)||s.issues.push({code:"invalid_value",values:n,input:o,inst:t}),s}}),jv=g("$ZodLiteral",(t,e)=>{if(Y.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(e.values);t._zod.values=n,t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?At(r):r?At(r.toString()):String(r)).join("|")})$`),t._zod.parse=(r,s)=>{const a=r.value;return n.has(a)||r.issues.push({code:"invalid_value",values:e.values,input:a,inst:t}),r}}),Uv=g("$ZodTransform",(t,e)=>{Y.init(t,e),t._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Kc(t.constructor.name);const s=e.transform(n.value,n);if(r.async)return(s instanceof Promise?s:Promise.resolve(s)).then(o=>(n.value=o,n));if(s instanceof Promise)throw new Et;return n.value=s,n}});function oa(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}const mu=g("$ZodOptional",(t,e)=>{Y.init(t,e),t._zod.optin="optional",t._zod.optout="optional",U(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),U(t._zod,"pattern",()=>{const n=e.innerType._zod.pattern;return n?new RegExp(`^(${ni(n.source)})?$`):void 0}),t._zod.parse=(n,r)=>{if(e.innerType._zod.optin==="optional"){const s=e.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>oa(a,n.value)):oa(s,n.value)}return n.value===void 0?n:e.innerType._zod.run(n,r)}}),Pv=g("$ZodExactOptional",(t,e)=>{mu.init(t,e),U(t._zod,"values",()=>e.innerType._zod.values),U(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(n,r)=>e.innerType._zod.run(n,r)}),Lv=g("$ZodNullable",(t,e)=>{Y.init(t,e),U(t._zod,"optin",()=>e.innerType._zod.optin),U(t._zod,"optout",()=>e.innerType._zod.optout),U(t._zod,"pattern",()=>{const n=e.innerType._zod.pattern;return n?new RegExp(`^(${ni(n.source)}|null)$`):void 0}),U(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(n,r)=>n.value===null?n:e.innerType._zod.run(n,r)}),Dv=g("$ZodDefault",(t,e)=>{Y.init(t,e),t._zod.optin="optional",U(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(n,r)=>{if(r.direction==="backward")return e.innerType._zod.run(n,r);if(n.value===void 0)return n.value=e.defaultValue,n;const s=e.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>ca(a,e)):ca(s,e)}});function ca(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}const Bv=g("$ZodPrefault",(t,e)=>{Y.init(t,e),t._zod.optin="optional",U(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=e.defaultValue),e.innerType._zod.run(n,r))}),qv=g("$ZodNonOptional",(t,e)=>{Y.init(t,e),U(t._zod,"values",()=>{const n=e.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),t._zod.parse=(n,r)=>{const s=e.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>ua(a,t)):ua(s,t)}});function ua(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}const Fv=g("$ZodCatch",(t,e)=>{Y.init(t,e),U(t._zod,"optin",()=>e.innerType._zod.optin),U(t._zod,"optout",()=>e.innerType._zod.optout),U(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(n,r)=>{if(r.direction==="backward")return e.innerType._zod.run(n,r);const s=e.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>(n.value=a.value,a.issues.length&&(n.value=e.catchValue({...n,error:{issues:a.issues.map(o=>ft(o,r,ht()))},input:n.value}),n.issues=[]),n)):(n.value=s.value,s.issues.length&&(n.value=e.catchValue({...n,error:{issues:s.issues.map(a=>ft(a,r,ht()))},input:n.value}),n.issues=[]),n)}}),Yv=g("$ZodPipe",(t,e)=>{Y.init(t,e),U(t._zod,"values",()=>e.in._zod.values),U(t._zod,"optin",()=>e.in._zod.optin),U(t._zod,"optout",()=>e.out._zod.optout),U(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(n,r)=>{if(r.direction==="backward"){const a=e.out._zod.run(n,r);return a instanceof Promise?a.then(o=>xn(o,e.in,r)):xn(a,e.in,r)}const s=e.in._zod.run(n,r);return s instanceof Promise?s.then(a=>xn(a,e.out,r)):xn(s,e.out,r)}});function xn(t,e,n){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},n)}const Hv=g("$ZodReadonly",(t,e)=>{Y.init(t,e),U(t._zod,"propValues",()=>e.innerType._zod.propValues),U(t._zod,"values",()=>e.innerType._zod.values),U(t._zod,"optin",()=>e.innerType?._zod?.optin),U(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(n,r)=>{if(r.direction==="backward")return e.innerType._zod.run(n,r);const s=e.innerType._zod.run(n,r);return s instanceof Promise?s.then(la):la(s)}});function la(t){return t.value=Object.freeze(t.value),t}const Vv=g("$ZodCustom",(t,e)=>{ce.init(t,e),Y.init(t,e),t._zod.parse=(n,r)=>n,t._zod.check=n=>{const r=n.value,s=e.fn(r);if(s instanceof Promise)return s.then(a=>ha(a,n,r,t));ha(s,n,r,t)}});function ha(t,e,n,r){if(!t){const s={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(s.params=r._zod.def.params),e.issues.push(rn(s))}}var fa;class Gv{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...n){const r=n[0];return this._map.set(e,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){const n=this._map.get(e);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(e),this}get(e){const n=e._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const s={...r,...this._map.get(e)};return Object.keys(s).length?s:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function Wv(){return new Gv}(fa=globalThis).__zod_globalRegistry??(fa.__zod_globalRegistry=Wv());const Bt=globalThis.__zod_globalRegistry;function Jv(t,e){return new t({type:"string",...$(e)})}function Kv(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...$(e)})}function da(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...$(e)})}function gu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...$(e)})}function Xv(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...$(e)})}function Qv(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...$(e)})}function ez(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...$(e)})}function tz(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...$(e)})}function nz(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...$(e)})}function rz(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...$(e)})}function sz(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...$(e)})}function iz(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...$(e)})}function az(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...$(e)})}function oz(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...$(e)})}function cz(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...$(e)})}function uz(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...$(e)})}function lz(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...$(e)})}function hz(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...$(e)})}function fz(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...$(e)})}function dz(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...$(e)})}function pz(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...$(e)})}function yz(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...$(e)})}function mz(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...$(e)})}function gz(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...$(e)})}function wz(t,e){return new t({type:"string",format:"date",check:"string_format",...$(e)})}function bz(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...$(e)})}function vz(t,e){return new t({type:"string",format:"duration",check:"string_format",...$(e)})}function zz(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...$(e)})}function Tz(t,e){return new t({type:"boolean",...$(e)})}function Oz(t){return new t({type:"unknown"})}function Sz(t,e){return new t({type:"never",...$(e)})}function pa(t,e){return new lu({check:"less_than",...$(e),value:t,inclusive:!1})}function Zr(t,e){return new lu({check:"less_than",...$(e),value:t,inclusive:!0})}function ya(t,e){return new hu({check:"greater_than",...$(e),value:t,inclusive:!1})}function xr(t,e){return new hu({check:"greater_than",...$(e),value:t,inclusive:!0})}function ma(t,e){return new Bb({check:"multiple_of",...$(e),value:t})}function wu(t,e){return new Fb({check:"max_length",...$(e),maximum:t})}function Dn(t,e){return new Yb({check:"min_length",...$(e),minimum:t})}function bu(t,e){return new Hb({check:"length_equals",...$(e),length:t})}function Ez(t,e){return new Vb({check:"string_format",format:"regex",...$(e),pattern:t})}function Nz(t){return new Gb({check:"string_format",format:"lowercase",...$(t)})}function $z(t){return new Wb({check:"string_format",format:"uppercase",...$(t)})}function kz(t,e){return new Jb({check:"string_format",format:"includes",...$(e),includes:t})}function Az(t,e){return new Kb({check:"string_format",format:"starts_with",...$(e),prefix:t})}function Iz(t,e){return new Xb({check:"string_format",format:"ends_with",...$(e),suffix:t})}function Ct(t){return new Qb({check:"overwrite",tx:t})}function Zz(t){return Ct(e=>e.normalize(t))}function xz(){return Ct(t=>t.trim())}function Cz(){return Ct(t=>t.toLowerCase())}function _z(){return Ct(t=>t.toUpperCase())}function Mz(){return Ct(t=>Hw(t))}function Rz(t,e,n){return new t({type:"array",element:e,...$(n)})}function jz(t,e,n){return new t({type:"custom",check:"custom",fn:e,...$(n)})}function Uz(t){const e=Pz(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(rn(r,n.value,e._zod.def));else{const s=r;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),s.continue??(s.continue=!e._zod.def.abort),n.issues.push(rn(s))}},t(n.value,n)));return e}function Pz(t,e){const n=new ce({check:"custom",...$(e)});return n._zod.check=t,n}function vu(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??Bt,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function ne(t,e,n={path:[],schemaPath:[]}){var r;const s=t._zod.def,a=e.seen.get(t);if(a)return a.count++,n.schemaPath.includes(t)&&(a.cycle=n.path),a.schema;const o={schema:{},count:1,cycle:void 0,path:n.path};e.seen.set(t,o);const c=t._zod.toJSONSchema?.();if(c)o.schema=c;else{const h={...n,schemaPath:[...n.schemaPath,t],path:n.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,o.schema,h);else{const f=o.schema,b=e.processors[s.type];if(!b)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);b(t,e,f,h)}const d=t._zod.parent;d&&(o.ref||(o.ref=d),ne(d,e,h),e.seen.get(d).isParent=!0)}const u=e.metadataRegistry.get(t);return u&&Object.assign(o.schema,u),e.io==="input"&&ie(t)&&(delete o.schema.examples,delete o.schema.default),e.io==="input"&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,e.seen.get(t).schema}function zu(t,e){const n=t.seen.get(e);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const o of t.seen.entries()){const c=t.metadataRegistry.get(o[0])?.id;if(c){const u=r.get(c);if(u&&u!==o[0])throw new Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(c,o[0])}}const s=o=>{const c=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){const d=t.external.registry.get(o[0])?.id,f=t.external.uri??(N=>N);if(d)return{ref:f(d)};const b=o[1].defId??o[1].schema.id??`schema${t.counter++}`;return o[1].defId=b,{defId:b,ref:`${f("__shared")}#/${c}/${b}`}}if(o[1]===n)return{ref:"#"};const l=`#/${c}/`,h=o[1].schema.id??`__schema${t.counter++}`;return{defId:h,ref:l+h}},a=o=>{if(o[1].schema.$ref)return;const c=o[1],{ref:u,defId:l}=s(o);c.def={...c.schema},l&&(c.defId=l);const h=c.schema;for(const d in h)delete h[d];h.$ref=u};if(t.cycles==="throw")for(const o of t.seen.entries()){const c=o[1];if(c.cycle)throw new Error(`Cycle detected: #/${c.cycle?.join("/")}/<root>
63
63
 
64
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const o of t.seen.entries()){const c=o[1];if(e===o[0]){a(o);continue}if(t.external){const l=t.external.registry.get(o[0])?.id;if(e!==o[0]&&l){a(o);continue}}if(t.metadataRegistry.get(o[0])?.id){a(o);continue}if(c.cycle){a(o);continue}if(c.count>1&&t.reused==="ref"){a(o);continue}}}function Tu(t,e){const n=t.seen.get(e);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=o=>{const c=t.seen.get(o);if(c.ref===null)return;const u=c.def??c.schema,l={...u},h=c.ref;if(c.ref=null,h){r(h);const f=t.seen.get(h),b=f.schema;if(b.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(b)):Object.assign(u,b),Object.assign(u,l),o._zod.parent===h)for(const k in u)k==="$ref"||k==="allOf"||k in l||delete u[k];if(b.$ref&&f.def)for(const k in u)k==="$ref"||k==="allOf"||k in f.def&&JSON.stringify(u[k])===JSON.stringify(f.def[k])&&delete u[k]}const d=o._zod.parent;if(d&&d!==h){r(d);const f=t.seen.get(d);if(f?.schema.$ref&&(u.$ref=f.schema.$ref,f.def))for(const b in u)b==="$ref"||b==="allOf"||b in f.def&&JSON.stringify(u[b])===JSON.stringify(f.def[b])&&delete u[b]}t.override({zodSchema:o,jsonSchema:u,path:c.path??[]})};for(const o of[...t.seen.entries()].reverse())r(o[0]);const s={};if(t.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){const o=t.external.registry.get(e)?.id;if(!o)throw new Error("Schema is missing an `id` property");s.$id=t.external.uri(o)}Object.assign(s,n.def??n.schema);const a=t.external?.defs??{};for(const o of t.seen.entries()){const c=o[1];c.def&&c.defId&&(a[c.defId]=c.def)}t.external||Object.keys(a).length>0&&(t.target==="draft-2020-12"?s.$defs=a:s.definitions=a);try{const o=JSON.parse(JSON.stringify(s));return Object.defineProperty(o,"~standard",{value:{...e["~standard"],jsonSchema:{input:Bn(e,"input",t.processors),output:Bn(e,"output",t.processors)}},enumerable:!1,writable:!1}),o}catch{throw new Error("Error converting schema to JSON.")}}function ie(t,e){const n=e??{seen:new Set};if(n.seen.has(t))return!1;n.seen.add(t);const r=t._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return ie(r.element,n);if(r.type==="set")return ie(r.valueType,n);if(r.type==="lazy")return ie(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return ie(r.innerType,n);if(r.type==="intersection")return ie(r.left,n)||ie(r.right,n);if(r.type==="record"||r.type==="map")return ie(r.keyType,n)||ie(r.valueType,n);if(r.type==="pipe")return ie(r.in,n)||ie(r.out,n);if(r.type==="object"){for(const s in r.shape)if(ie(r.shape[s],n))return!0;return!1}if(r.type==="union"){for(const s of r.options)if(ie(s,n))return!0;return!1}if(r.type==="tuple"){for(const s of r.items)if(ie(s,n))return!0;return!!(r.rest&&ie(r.rest,n))}return!1}const Lz=(t,e={})=>n=>{const r=vu({...n,processors:e});return ne(t,r),zu(r,t),Tu(r,t)},Bn=(t,e,n={})=>r=>{const{libraryOptions:s,target:a}=r??{},o=vu({...s??{},target:a,io:e,processors:n});return ne(t,o),zu(o,t),Tu(o,t)},Dz={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Bz=(t,e,n,r)=>{const s=n;s.type="string";const{minimum:a,maximum:o,format:c,patterns:u,contentEncoding:l}=t._zod.bag;if(typeof a=="number"&&(s.minLength=a),typeof o=="number"&&(s.maxLength=o),c&&(s.format=Dz[c]??c,s.format===""&&delete s.format,c==="time"&&delete s.format),l&&(s.contentEncoding=l),u&&u.size>0){const h=[...u];h.length===1?s.pattern=h[0].source:h.length>1&&(s.allOf=[...h.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},qz=(t,e,n,r)=>{const s=n,{minimum:a,maximum:o,format:c,multipleOf:u,exclusiveMaximum:l,exclusiveMinimum:h}=t._zod.bag;typeof c=="string"&&c.includes("int")?s.type="integer":s.type="number",typeof h=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(s.minimum=h,s.exclusiveMinimum=!0):s.exclusiveMinimum=h),typeof a=="number"&&(s.minimum=a,typeof h=="number"&&e.target!=="draft-04"&&(h>=a?delete s.minimum:delete s.exclusiveMinimum)),typeof l=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(s.maximum=l,s.exclusiveMaximum=!0):s.exclusiveMaximum=l),typeof o=="number"&&(s.maximum=o,typeof l=="number"&&e.target!=="draft-04"&&(l<=o?delete s.maximum:delete s.exclusiveMaximum)),typeof u=="number"&&(s.multipleOf=u)},Fz=(t,e,n,r)=>{n.type="boolean"},Yz=(t,e,n,r)=>{n.not={}},Hz=(t,e,n,r)=>{},Vz=(t,e,n,r)=>{const s=t._zod.def,a=Qc(s.entries);a.every(o=>typeof o=="number")&&(n.type="number"),a.every(o=>typeof o=="string")&&(n.type="string"),n.enum=a},Gz=(t,e,n,r)=>{const s=t._zod.def,a=[];for(const o of s.values)if(o===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(o))}else a.push(o);if(a.length!==0)if(a.length===1){const o=a[0];n.type=o===null?"null":typeof o,e.target==="draft-04"||e.target==="openapi-3.0"?n.enum=[o]:n.const=o}else a.every(o=>typeof o=="number")&&(n.type="number"),a.every(o=>typeof o=="string")&&(n.type="string"),a.every(o=>typeof o=="boolean")&&(n.type="boolean"),a.every(o=>o===null)&&(n.type="null"),n.enum=a},Wz=(t,e,n,r)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Jz=(t,e,n,r)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Kz=(t,e,n,r)=>{const s=n,a=t._zod.def,{minimum:o,maximum:c}=t._zod.bag;typeof o=="number"&&(s.minItems=o),typeof c=="number"&&(s.maxItems=c),s.type="array",s.items=ne(a.element,e,{...r,path:[...r.path,"items"]})},Xz=(t,e,n,r)=>{const s=n,a=t._zod.def;s.type="object",s.properties={};const o=a.shape;for(const l in o)s.properties[l]=ne(o[l],e,{...r,path:[...r.path,"properties",l]});const c=new Set(Object.keys(o)),u=new Set([...c].filter(l=>{const h=a.shape[l]._zod;return e.io==="input"?h.optin===void 0:h.optout===void 0}));u.size>0&&(s.required=Array.from(u)),a.catchall?._zod.def.type==="never"?s.additionalProperties=!1:a.catchall?a.catchall&&(s.additionalProperties=ne(a.catchall,e,{...r,path:[...r.path,"additionalProperties"]})):e.io==="output"&&(s.additionalProperties=!1)},Qz=(t,e,n,r)=>{const s=t._zod.def,a=s.inclusive===!1,o=s.options.map((c,u)=>ne(c,e,{...r,path:[...r.path,a?"oneOf":"anyOf",u]}));a?n.oneOf=o:n.anyOf=o},eT=(t,e,n,r)=>{const s=t._zod.def,a=ne(s.left,e,{...r,path:[...r.path,"allOf",0]}),o=ne(s.right,e,{...r,path:[...r.path,"allOf",1]}),c=l=>"allOf"in l&&Object.keys(l).length===1,u=[...c(a)?a.allOf:[a],...c(o)?o.allOf:[o]];n.allOf=u},tT=(t,e,n,r)=>{const s=t._zod.def,a=ne(s.innerType,e,r),o=e.seen.get(t);e.target==="openapi-3.0"?(o.ref=s.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},nT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType},rT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},sT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType,e.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},iT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType;let o;try{o=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=o},aT=(t,e,n,r)=>{const s=t._zod.def,a=e.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;ne(a,e,r);const o=e.seen.get(t);o.ref=a},oT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType,n.readOnly=!0},Ou=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType},cT=g("ZodISODateTime",(t,e)=>{dv.init(t,e),F.init(t,e)});function uT(t){return gz(cT,t)}const lT=g("ZodISODate",(t,e)=>{pv.init(t,e),F.init(t,e)});function hT(t){return wz(lT,t)}const fT=g("ZodISOTime",(t,e)=>{yv.init(t,e),F.init(t,e)});function dT(t){return bz(fT,t)}const pT=g("ZodISODuration",(t,e)=>{mv.init(t,e),F.init(t,e)});function yT(t){return vz(pT,t)}const mT=(t,e)=>{su.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:n=>ib(t,n)},flatten:{value:n=>sb(t,n)},addIssue:{value:n=>{t.issues.push(n),t.message=JSON.stringify(t.issues,fs,2)}},addIssues:{value:n=>{t.issues.push(...n),t.message=JSON.stringify(t.issues,fs,2)}},isEmpty:{get(){return t.issues.length===0}}})},me=g("ZodError",mT,{Parent:Error}),gT=si(me),wT=ii(me),bT=tr(me),vT=nr(me),zT=cb(me),TT=ub(me),OT=lb(me),ST=hb(me),ET=fb(me),NT=db(me),$T=pb(me),kT=yb(me),H=g("ZodType",(t,e)=>(Y.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:Bn(t,"input"),output:Bn(t,"output")}}),t.toJSONSchema=Lz(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...n)=>t.clone(et(e,{checks:[...e.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),t.with=t.check,t.clone=(n,r)=>tt(t,n,r),t.brand=()=>t,t.register=((n,r)=>(n.add(t,r),t)),t.parse=(n,r)=>gT(t,n,r,{callee:t.parse}),t.safeParse=(n,r)=>bT(t,n,r),t.parseAsync=async(n,r)=>wT(t,n,r,{callee:t.parseAsync}),t.safeParseAsync=async(n,r)=>vT(t,n,r),t.spa=t.safeParseAsync,t.encode=(n,r)=>zT(t,n,r),t.decode=(n,r)=>TT(t,n,r),t.encodeAsync=async(n,r)=>OT(t,n,r),t.decodeAsync=async(n,r)=>ST(t,n,r),t.safeEncode=(n,r)=>ET(t,n,r),t.safeDecode=(n,r)=>NT(t,n,r),t.safeEncodeAsync=async(n,r)=>$T(t,n,r),t.safeDecodeAsync=async(n,r)=>kT(t,n,r),t.refine=(n,r)=>t.check(SO(n,r)),t.superRefine=n=>t.check(EO(n)),t.overwrite=n=>t.check(Ct(n)),t.optional=()=>ba(t),t.exactOptional=()=>hO(t),t.nullable=()=>va(t),t.nullish=()=>ba(va(t)),t.nonoptional=n=>gO(t,n),t.array=()=>tO(t),t.or=n=>ci([t,n]),t.and=n=>iO(t,n),t.transform=n=>za(t,uO(n)),t.default=n=>pO(t,n),t.prefault=n=>mO(t,n),t.catch=n=>bO(t,n),t.pipe=n=>za(t,n),t.readonly=()=>TO(t),t.describe=n=>{const r=t.clone();return Bt.add(r,{description:n}),r},Object.defineProperty(t,"description",{get(){return Bt.get(t)?.description},configurable:!0}),t.meta=(...n)=>{if(n.length===0)return Bt.get(t);const r=t.clone();return Bt.add(r,n[0]),r},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=n=>n(t),t)),Su=g("_ZodString",(t,e)=>{ai.init(t,e),H.init(t,e),t._zod.processJSONSchema=(r,s,a)=>Bz(t,r,s);const n=t._zod.bag;t.format=n.format??null,t.minLength=n.minimum??null,t.maxLength=n.maximum??null,t.regex=(...r)=>t.check(Ez(...r)),t.includes=(...r)=>t.check(kz(...r)),t.startsWith=(...r)=>t.check(Az(...r)),t.endsWith=(...r)=>t.check(Iz(...r)),t.min=(...r)=>t.check(Dn(...r)),t.max=(...r)=>t.check(wu(...r)),t.length=(...r)=>t.check(bu(...r)),t.nonempty=(...r)=>t.check(Dn(1,...r)),t.lowercase=r=>t.check(Nz(r)),t.uppercase=r=>t.check($z(r)),t.trim=()=>t.check(xz()),t.normalize=(...r)=>t.check(Zz(...r)),t.toLowerCase=()=>t.check(Cz()),t.toUpperCase=()=>t.check(_z()),t.slugify=()=>t.check(Mz())}),AT=g("ZodString",(t,e)=>{ai.init(t,e),Su.init(t,e),t.email=n=>t.check(Kv(IT,n)),t.url=n=>t.check(tz(xT,n)),t.jwt=n=>t.check(mz(VT,n)),t.emoji=n=>t.check(nz(CT,n)),t.guid=n=>t.check(da(ga,n)),t.uuid=n=>t.check(gu(qt,n)),t.uuidv4=n=>t.check(Xv(qt,n)),t.uuidv6=n=>t.check(Qv(qt,n)),t.uuidv7=n=>t.check(ez(qt,n)),t.nanoid=n=>t.check(rz(_T,n)),t.guid=n=>t.check(da(ga,n)),t.cuid=n=>t.check(sz(MT,n)),t.cuid2=n=>t.check(iz(RT,n)),t.ulid=n=>t.check(az(jT,n)),t.base64=n=>t.check(dz(FT,n)),t.base64url=n=>t.check(pz(YT,n)),t.xid=n=>t.check(oz(UT,n)),t.ksuid=n=>t.check(cz(PT,n)),t.ipv4=n=>t.check(uz(LT,n)),t.ipv6=n=>t.check(lz(DT,n)),t.cidrv4=n=>t.check(hz(BT,n)),t.cidrv6=n=>t.check(fz(qT,n)),t.e164=n=>t.check(yz(HT,n)),t.datetime=n=>t.check(uT(n)),t.date=n=>t.check(hT(n)),t.time=n=>t.check(dT(n)),t.duration=n=>t.check(yT(n))});function ye(t){return Jv(AT,t)}const F=g("ZodStringFormat",(t,e)=>{q.init(t,e),Su.init(t,e)}),IT=g("ZodEmail",(t,e)=>{sv.init(t,e),F.init(t,e)}),ga=g("ZodGUID",(t,e)=>{nv.init(t,e),F.init(t,e)}),qt=g("ZodUUID",(t,e)=>{rv.init(t,e),F.init(t,e)});function ZT(t){return gu(qt,t)}const xT=g("ZodURL",(t,e)=>{iv.init(t,e),F.init(t,e)}),CT=g("ZodEmoji",(t,e)=>{av.init(t,e),F.init(t,e)}),_T=g("ZodNanoID",(t,e)=>{ov.init(t,e),F.init(t,e)}),MT=g("ZodCUID",(t,e)=>{cv.init(t,e),F.init(t,e)}),RT=g("ZodCUID2",(t,e)=>{uv.init(t,e),F.init(t,e)}),jT=g("ZodULID",(t,e)=>{lv.init(t,e),F.init(t,e)}),UT=g("ZodXID",(t,e)=>{hv.init(t,e),F.init(t,e)}),PT=g("ZodKSUID",(t,e)=>{fv.init(t,e),F.init(t,e)}),LT=g("ZodIPv4",(t,e)=>{gv.init(t,e),F.init(t,e)}),DT=g("ZodIPv6",(t,e)=>{wv.init(t,e),F.init(t,e)}),BT=g("ZodCIDRv4",(t,e)=>{bv.init(t,e),F.init(t,e)}),qT=g("ZodCIDRv6",(t,e)=>{vv.init(t,e),F.init(t,e)}),FT=g("ZodBase64",(t,e)=>{zv.init(t,e),F.init(t,e)}),YT=g("ZodBase64URL",(t,e)=>{Ov.init(t,e),F.init(t,e)}),HT=g("ZodE164",(t,e)=>{Sv.init(t,e),F.init(t,e)}),VT=g("ZodJWT",(t,e)=>{Nv.init(t,e),F.init(t,e)}),GT=g("ZodNumber",(t,e)=>{du.init(t,e),H.init(t,e),t._zod.processJSONSchema=(r,s,a)=>qz(t,r,s),t.gt=(r,s)=>t.check(ya(r,s)),t.gte=(r,s)=>t.check(xr(r,s)),t.min=(r,s)=>t.check(xr(r,s)),t.lt=(r,s)=>t.check(pa(r,s)),t.lte=(r,s)=>t.check(Zr(r,s)),t.max=(r,s)=>t.check(Zr(r,s)),t.int=r=>t.check(qn(r)),t.safe=r=>t.check(qn(r)),t.positive=r=>t.check(ya(0,r)),t.nonnegative=r=>t.check(xr(0,r)),t.negative=r=>t.check(pa(0,r)),t.nonpositive=r=>t.check(Zr(0,r)),t.multipleOf=(r,s)=>t.check(ma(r,s)),t.step=(r,s)=>t.check(ma(r,s)),t.finite=()=>t;const n=t._zod.bag;t.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),t.isFinite=!0,t.format=n.format??null}),WT=g("ZodNumberFormat",(t,e)=>{$v.init(t,e),GT.init(t,e)});function qn(t){return zz(WT,t)}const JT=g("ZodBoolean",(t,e)=>{kv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Fz(t,n,r)});function oi(t){return Tz(JT,t)}const KT=g("ZodUnknown",(t,e)=>{Av.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Hz()});function wa(){return Oz(KT)}const XT=g("ZodNever",(t,e)=>{Iv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Yz(t,n,r)});function QT(t){return Sz(XT,t)}const eO=g("ZodArray",(t,e)=>{Zv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Kz(t,n,r,s),t.element=e.element,t.min=(n,r)=>t.check(Dn(n,r)),t.nonempty=n=>t.check(Dn(1,n)),t.max=(n,r)=>t.check(wu(n,r)),t.length=(n,r)=>t.check(bu(n,r)),t.unwrap=()=>t.element});function tO(t,e){return Rz(eO,t,e)}const nO=g("ZodObject",(t,e)=>{Cv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Xz(t,n,r,s),U(t,"shape",()=>e.shape),t.keyof=()=>Eu(Object.keys(t._zod.def.shape)),t.catchall=n=>t.clone({...t._zod.def,catchall:n}),t.passthrough=()=>t.clone({...t._zod.def,catchall:wa()}),t.loose=()=>t.clone({...t._zod.def,catchall:wa()}),t.strict=()=>t.clone({...t._zod.def,catchall:QT()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=n=>Qw(t,n),t.safeExtend=n=>eb(t,n),t.merge=n=>tb(t,n),t.pick=n=>Kw(t,n),t.omit=n=>Xw(t,n),t.partial=(...n)=>nb(Nu,t,n[0]),t.required=(...n)=>rb($u,t,n[0])});function se(t,e){const n={type:"object",shape:t??{},...$(e)};return new nO(n)}const rO=g("ZodUnion",(t,e)=>{_v.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Qz(t,n,r,s),t.options=e.options});function ci(t,e){return new rO({type:"union",options:t,...$(e)})}const sO=g("ZodIntersection",(t,e)=>{Mv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>eT(t,n,r,s)});function iO(t,e){return new sO({type:"intersection",left:t,right:e})}const ps=g("ZodEnum",(t,e)=>{Rv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(r,s,a)=>Vz(t,r,s),t.enum=e.entries,t.options=Object.values(e.entries);const n=new Set(Object.keys(e.entries));t.extract=(r,s)=>{const a={};for(const o of r)if(n.has(o))a[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new ps({...e,checks:[],...$(s),entries:a})},t.exclude=(r,s)=>{const a={...e.entries};for(const o of r)if(n.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new ps({...e,checks:[],...$(s),entries:a})}});function Eu(t,e){const n=Array.isArray(t)?Object.fromEntries(t.map(r=>[r,r])):t;return new ps({type:"enum",entries:n,...$(e)})}const aO=g("ZodLiteral",(t,e)=>{jv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Gz(t,n,r),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function oO(t,e){return new aO({type:"literal",values:Array.isArray(t)?t:[t],...$(e)})}const cO=g("ZodTransform",(t,e)=>{Uv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Jz(t,n),t._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Kc(t.constructor.name);n.addIssue=a=>{if(typeof a=="string")n.issues.push(rn(a,n.value,e));else{const o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),n.issues.push(rn(o))}};const s=e.transform(n.value,n);return s instanceof Promise?s.then(a=>(n.value=a,n)):(n.value=s,n)}});function uO(t){return new cO({type:"transform",transform:t})}const Nu=g("ZodOptional",(t,e)=>{mu.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Ou(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function ba(t){return new Nu({type:"optional",innerType:t})}const lO=g("ZodExactOptional",(t,e)=>{Pv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Ou(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function hO(t){return new lO({type:"optional",innerType:t})}const fO=g("ZodNullable",(t,e)=>{Lv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>tT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function va(t){return new fO({type:"nullable",innerType:t})}const dO=g("ZodDefault",(t,e)=>{Dv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>rT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function pO(t,e){return new dO({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():tu(e)}})}const yO=g("ZodPrefault",(t,e)=>{Bv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>sT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function mO(t,e){return new yO({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():tu(e)}})}const $u=g("ZodNonOptional",(t,e)=>{qv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>nT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function gO(t,e){return new $u({type:"nonoptional",innerType:t,...$(e)})}const wO=g("ZodCatch",(t,e)=>{Fv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>iT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function bO(t,e){return new wO({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}const vO=g("ZodPipe",(t,e)=>{Yv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>aT(t,n,r,s),t.in=e.in,t.out=e.out});function za(t,e){return new vO({type:"pipe",in:t,out:e})}const zO=g("ZodReadonly",(t,e)=>{Hv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>oT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function TO(t){return new zO({type:"readonly",innerType:t})}const OO=g("ZodCustom",(t,e)=>{Vv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Wz(t,n)});function SO(t,e={}){return jz(OO,t,e)}function EO(t){return Uz(t)}const Ze=t=>t?JSON.parse(t):{},ui=se({key:ye(),type:ye(),config:oe.unknownZ.or(ye().transform(Ze))}),ku=ui.extend({position:Ps.xy}),ys=se({param:ye(),node:ye()}),li=se({source:ys,target:ys}),NO=se({nodes:ui.array(),edges:li.array()}),Au=se({nodes:ku.array(),edges:li.array()}),Iu=se({raw:ye()}),yn=ZT(),Zu=Eu(["graph","text"]).or(oO("").transform(()=>"graph")),sr=se({key:yn,name:ye(),graph:Au,text:Iu,version:ye(),mode:Zu}),xu=sr.partial({key:!0,mode:!0}),$O="arc",Cu=J("arc"),kO=Cu(""),AO=(t,e,{convertNumericStrings:n=!0}={})=>{const r=!Array.isArray(t);let s=E.toArray(t);const a=s[0],o=typeof a;let c;return o==="string"&&n&&!isNaN(parseInt(a))&&"number"in e?(c=e.number,s=s.map(u=>parseInt(u))):c=e[o],{single:r,variant:c,normalized:s,actual:t}},ue=(t,e,n,r)=>{if(r){if(n.length===0)throw new en(`${t} not found matching ${JSON.stringify(e)}`);if(n.length>1)throw new tn(`Expected one ${t} matching ${JSON.stringify(e)}, but found ${n.length}`)}},IO="sy_arc_set",ZO="sy_arc_delete",xO=se({keys:yn.array().optional(),names:ye().array().optional(),searchTerm:ye().optional(),limit:qn().optional(),offset:qn().optional(),includeStatus:oi().optional()}),CO=se({arcs:xu.array()}),_O=se({keys:yn.array()}),MO=se({arcs:E.nullableZ(sr)}),RO=se({arcs:sr.array()}),jO=se({}),ms=se({content:ye()}),UO=se({key:yn,includeStatus:oi().optional()}).transform(({key:t,includeStatus:e})=>({keys:[t],includeStatus:e})),PO=se({name:ye(),includeStatus:oi().optional()}).transform(({name:t,includeStatus:e})=>({names:[t],includeStatus:e})),_u=ci([UO,PO]),LO=ci([_u,xO]);let Mu=class{client;streamClient;constructor(e,n){this.client=e,this.streamClient=n}async create(e){const n=Array.isArray(e),r=await T(this.client,"/arc/create",{arcs:E.toArray(e)},CO,RO);return n?r.arcs:r.arcs[0]}async retrieve(e){const n="key"in e||"name"in e,r=await T(this.client,"/arc/retrieve",e,LO,MO);return ue("Arc",e,r.arcs,n),n?r.arcs[0]:r.arcs}async delete(e){await T(this.client,"/arc/delete",{keys:E.toArray(e)},_O,jO)}async openLSP(){return await this.streamClient.stream("/arc/lsp",ms,ms)}};const DO=Object.freeze(Object.defineProperty({__proto__:null,Client:Mu,DELETE_CHANNEL_NAME:ZO,ONTOLOGY_TYPE:$O,SET_CHANNEL_NAME:IO,TYPE_ONTOLOGY_ID:kO,arcZ:sr,edgeZ:li,graphNodeZ:ku,graphZ:Au,handleZ:ys,irNodeZ:ui,irZ:NO,keyZ:yn,lspMessageZ:ms,modeZ:Zu,newZ:xu,ontologyID:Cu,singleRetrieveArgsZ:_u,textZ:Iu},Symbol.toStringTag,{value:"Module"})),Ta="Channel key must be a valid uint32.",L=i.z.uint32().or(i.z.string().refine(t=>!isNaN(Number(t)),{message:Ta}).transform(Number).refine(t=>t<Xr.MAX_UINT32,{message:Ta})),Pe=i.z.string().min(1,"Name must not be empty"),Ru=["min","max","avg","none"],ju=i.z.enum(Ru),hi=i.z.object({type:ju,resetChannel:L.optional(),duration:w.z.optional()}),Uu=Qe.statusZ(),Pu=i.z.object({channel:L}),BO=Qe.statusZ(Pu),qO=t=>ke(ir(t)),_t=i.z.object({name:i.z.string(),key:L,dataType:p.z,leaseholder:be.uint12,index:L,isIndex:i.z.boolean(),internal:i.z.boolean(),virtual:i.z.boolean(),alias:i.z.string().optional(),expression:i.z.string().default(""),status:Uu.optional(),operations:E.nullableZ(hi)}),Lu=_t.extend({key:L.optional(),name:Pe,leaseholder:be.uint12.optional(),index:L.optional(),isIndex:i.z.boolean().optional(),internal:i.z.boolean().default(!1),virtual:i.z.boolean().default(!1),expression:i.z.string().default(""),operations:E.nullableZ(hi).optional()}),mt=i.z.union([be.toArray(L),be.toArray(Pe),be.toArray(_t).transform(t=>t.map(e=>e.key))]),ir=J("channel"),FO=ir(0),YO=/[a-zA-Z0-9_]/,HO=/^[a-zA-Z_][a-zA-Z0-9_]*$/,VO=(t,e=!1)=>{if(t==="")return e?"_":"";if(t.match(HO))return t;let n="";for(const r of t)r.match(YO)?n+=r:n+="_";return n[0].match(/^\d/)&&(n=`_${n}`),n},GO=new Error("request for lock canceled");var WO=function(t,e,n,r){function s(a){return a instanceof n?a:new n(function(o){o(a)})}return new(n||(n=Promise))(function(a,o){function c(h){try{l(r.next(h))}catch(d){o(d)}}function u(h){try{l(r.throw(h))}catch(d){o(d)}}function l(h){h.done?a(h.value):s(h.value).then(c,u)}l((r=r.apply(t,e||[])).next())})};class JO{constructor(e,n=GO){this._value=e,this._cancelError=n,this._queue=[],this._weightedWaiters=[]}acquire(e=1,n=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise((r,s)=>{const a={resolve:r,reject:s,weight:e,priority:n},o=Du(this._queue,c=>n<=c.priority);o===-1&&e<=this._value?this._dispatchItem(a):this._queue.splice(o+1,0,a)})}runExclusive(e){return WO(this,arguments,void 0,function*(n,r=1,s=0){const[a,o]=yield this.acquire(r,s);try{return yield n(a)}finally{o()}})}waitForUnlock(e=1,n=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return this._couldLockImmediately(e,n)?Promise.resolve():new Promise(r=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),KO(this._weightedWaiters[e-1],{resolve:r,priority:n})})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatchQueue()}release(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatchQueue()}cancel(){this._queue.forEach(e=>e.reject(this._cancelError)),this._queue=[]}_dispatchQueue(){for(this._drainUnlockWaiters();this._queue.length>0&&this._queue[0].weight<=this._value;)this._dispatchItem(this._queue.shift()),this._drainUnlockWaiters()}_dispatchItem(e){const n=this._value;this._value-=e.weight,e.resolve([n,this._newReleaser(e.weight)])}_newReleaser(e){let n=!1;return()=>{n||(n=!0,this.release(e))}}_drainUnlockWaiters(){if(this._queue.length===0)for(let e=this._value;e>0;e--){const n=this._weightedWaiters[e-1];n&&(n.forEach(r=>r.resolve()),this._weightedWaiters[e-1]=[])}else{const e=this._queue[0].priority;for(let n=this._value;n>0;n--){const r=this._weightedWaiters[n-1];if(!r)continue;const s=r.findIndex(a=>a.priority<=e);(s===-1?r:r.splice(0,s)).forEach((a=>a.resolve()))}}}_couldLockImmediately(e,n){return(this._queue.length===0||this._queue[0].priority<n)&&e<=this._value}}function KO(t,e){const n=Du(t,r=>e.priority<=r.priority);t.splice(n+1,0,e)}function Du(t,e){for(let n=t.length-1;n>=0;n--)if(e(t[n]))return n;return-1}var XO=function(t,e,n,r){function s(a){return a instanceof n?a:new n(function(o){o(a)})}return new(n||(n=Promise))(function(a,o){function c(h){try{l(r.next(h))}catch(d){o(d)}}function u(h){try{l(r.throw(h))}catch(d){o(d)}}function l(h){h.done?a(h.value):s(h.value).then(c,u)}l((r=r.apply(t,e||[])).next())})};class QO{constructor(e){this._semaphore=new JO(1,e)}acquire(){return XO(this,arguments,void 0,function*(e=0){const[,n]=yield this._semaphore.acquire(1,e);return n})}runExclusive(e,n=0){return this._semaphore.runExclusive(()=>e(),1,n)}isLocked(){return this._semaphore.isLocked()}waitForUnlock(e=0){return this._semaphore.waitForUnlock(1,e)}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}const nt=Nc.keyZ,mn=Nc.labelZ,eS="labeled_by",tS="sy_label_set",nS="sy_label_delete",Bu=mn.extend({key:nt.optional()}),rS=i.object({labels:Bu.array()}),sS=i.object({labels:mn.array()}),iS=i.object({keys:nt.array()}),qu=i.object({id:B,labels:nt.array(),replace:i.boolean().optional()}),aS=qu.omit({replace:!0}),Cr=i.object({}),oS=i.object({keys:nt.array().optional(),names:i.string().array().optional(),for:B.optional(),searchTerm:i.string().optional(),offset:i.int().optional(),limit:i.int().optional()}),cS=i.object({key:nt}).transform(({key:t})=>({keys:[t]})),uS=i.union([cS,oS]),lS=i.object({labels:E.nullableZ(mn)});let Fu=class{type="label";client;constructor(e){this.client=e}async retrieve(e){const n="key"in e,r=await T(this.client,"/label/retrieve",e,uS,lS);return ue("Label",e,r.labels,n),n?r.labels[0]:r.labels}async label(e,n,r={}){await T(this.client,"/label/set",{id:e,labels:n,replace:r.replace},qu,Cr)}async remove(e,n){await T(this.client,"/label/remove",{id:e,labels:n},aS,Cr)}async create(e){const n=Array.isArray(e),r=await T(this.client,"/label/create",{labels:E.toArray(e)},rS,sS);return n?r.labels:r.labels[0]}async delete(e){await T(this.client,"/label/delete",{keys:E.toArray(e)},iS,Cr)}};const Yu=J("label"),hS=Yu(""),fS=Object.freeze(Object.defineProperty({__proto__:null,Client:Fu,DELETE_CHANNEL_NAME:nS,LABELED_BY_ONTOLOGY_RELATIONSHIP_TYPE:eS,SET_CHANNEL_NAME:tS,TYPE_ONTOLOGY_ID:hS,keyZ:nt,labelZ:mn,newZ:Bu,ontologyID:Yu},Symbol.toStringTag,{value:"Module"})),X=i.z.uuid(),fi=i.z.string().min(1),gn=i.z.object({key:X,name:fi,timeRange:x.z.refine(({isValid:t})=>t,{error:"Time range start time must be before or equal to time range end time"}).refine(({end:t})=>t.valueOf()<=Xr.MAX_INT64,{error:"Time range end time must be less than or equal to the maximum value of an int64"}).refine(({start:t})=>t.valueOf()>=Xr.MIN_INT64,{error:"Time range start time must be greater than or equal to the minimum value of an int64"}),color:yc.colorZ.optional(),labels:mn.array().or(i.z.null().transform(()=>{})).optional(),get parent(){return gn.optional().nullable().transform(t=>t===void 0?null:t)}}),Hu=gn.omit({parent:!0,labels:!0}).partial({key:!0}),dS=i.z.object({nodeKey:be.uint12.optional(),keys:L.array().optional(),names:i.z.string().array().optional(),searchTerm:i.z.string().optional(),rangeKey:X.optional(),limit:i.z.int().optional(),offset:i.z.int().optional(),dataTypes:p.z.array().optional(),notDataTypes:p.z.array().optional(),virtual:i.z.boolean().optional(),isIndex:i.z.boolean().optional(),internal:i.z.boolean().optional(),legacyCalculated:i.z.boolean().optional()}),pS=i.z.object({channels:E.nullableZ(_t)}),ve=t=>(Array.isArray(t)&&t.length>0&&typeof t[0]=="object"?t=t.map(e=>e.key):typeof t=="object"&&"key"in t&&(t=[t.key]),AO(t,{number:"keys",string:"names"}));class di{client;constructor(e){this.client=e}async retrieve(e,n){if(!Array.isArray(e)&&typeof e=="object")return await this.execute(e);const r=ve(e),{variant:s}=r;let{normalized:a}=r;return s==="keys"&&a.indexOf(0)!==-1&&(a=a.filter(o=>o!==0)),a.length===0?[]:await this.execute({[s]:a,...n})}async execute(e){return(await T(this.client,"/channel/retrieve",e,dS,pS)).channels}}class pi{cache;namesToKeys;wrapped;constructor(e){this.cache=new Map,this.namesToKeys=new Map,this.wrapped=e}async retrieve(e,n){if(!Array.isArray(e)&&typeof e=="object")return await this.wrapped.retrieve(e);const{normalized:r}=ve(e),s=[],a=[];if(r.forEach(c=>{const u=this.get(c);u!=null?s.push(...u):a.push(c)}),a.length===0)return s;const o=await this.wrapped.retrieve(a,n);return this.set(o),s.concat(o)}delete(e){const{variant:n,normalized:r}=ve(e);n==="names"?r.forEach(s=>{const a=this.namesToKeys.get(s);a!=null&&(a.forEach(o=>this.cache.delete(o)),this.namesToKeys.delete(s))}):r.forEach(s=>{const a=this.cache.get(s);a!=null&&(this.cache.delete(s),this.namesToKeys.delete(a.name))})}rename(e,n){e.forEach((r,s)=>{const a=n[s],o=this.cache.get(r);if(o==null)return;this.cache.delete(r);const c=this.namesToKeys.get(o.name);c!=null&&(c.delete(r),c.size===0&&this.namesToKeys.delete(o.name)),o.name=a,this.cache.set(r,o);const u=this.namesToKeys.get(a);u==null?this.namesToKeys.set(a,new Set([r])):u.add(r)})}set(e){e.forEach(n=>{this.cache.set(n.key,n);const r=this.namesToKeys.get(n.name);r==null?this.namesToKeys.set(n.name,new Set([n.key])):r.add(n.key)})}get(e){if(typeof e=="number"){const s=this.cache.get(e);return s==null?void 0:[s]}const n=this.namesToKeys.get(e);if(n==null)return;const r=[];if(n.forEach(s=>{const a=this.cache.get(s);a!=null&&r.push(a)}),r.length!==0)return r}}class Vu{mu=new QO;requests=new Map;wrapped;debouncedRun;constructor(e,n){this.wrapped=e,this.debouncedRun=Zm(()=>{this.run()},n)}async retrieve(e){if(!Array.isArray(e)&&typeof e=="object")return await this.wrapped.retrieve(e);const{normalized:n,variant:r}=ve(e);return r==="names"?await this.wrapped.retrieve(n):await new Promise((a,o)=>{this.mu.runExclusive(()=>{this.requests.set(n,{resolve:a,reject:o}),this.debouncedRun()})})}async run(){await this.mu.runExclusive(async()=>{const e=new Set;this.requests.forEach((n,r)=>r.forEach(s=>e.add(s)));try{const n=await this.wrapped.retrieve(Array.from(e));this.requests.forEach((r,s)=>r.resolve(n.filter(a=>s.includes(a.key))))}catch(n){this.requests.forEach(r=>r.reject(n))}finally{this.requests.clear()}})}}const Gu=async(t,e)=>{const{normalized:n}=ve(e),r=await t.retrieve(n),s=[];if(n.forEach(a=>{r.find(o=>o.name===a||o.key===a)==null&&s.push(a)}),s.length>0)throw new Ke(`Could not find channels: ${JSON.stringify(s)}`);return r},wn=i.z.uuid(),Wu=i.z.string(),ar=i.z.object({key:wn,name:Wu}),yS=J("group"),mS="sy_group_set",gS="sy_group_delete",wS=i.object({group:ar}),bS=i.object({parent:B,key:wn.optional(),name:i.string()}),vS=i.object({key:wn,name:i.string()}),zS=i.object({keys:i.array(wn)});let Ju=class{client;constructor(e){this.client=e}async create(e){return(await T(this.client,"/ontology/create-group",e,bS,wS)).group}async rename(e,n){await T(this.client,"/ontology/rename-group",{key:e,name:n},vS,i.object({}))}async delete(e){await T(this.client,"/ontology/delete-group",{keys:E.toArray(e)},zS,i.object({}))}};const TS=Object.freeze(Object.defineProperty({__proto__:null,Client:Ju,DELETE_CHANNEL_NAME:gS,SET_CHANNEL_NAME:mS,groupZ:ar,keyZ:wn,nameZ:Wu,ontologyID:yS},Symbol.toStringTag,{value:"Module"})),OS="sy_channel_set",SS="sy_channel_delete";class Fn{_frameClient;key;name;dataType;leaseholder;index;isIndex;internal;alias;virtual;expression;operations;status;constructor({dataType:e,name:n,leaseholder:r=0,key:s=0,isIndex:a=!1,index:o=0,internal:c=!1,virtual:u=!1,frameClient:l,alias:h,status:d,expression:f="",operations:b=[]}){this.key=L.parse(s),this.name=n,this.dataType=new p(e),this.leaseholder=r,this.index=L.parse(o),this.isIndex=a,this.internal=c,this.alias=h,this.virtual=u,this.expression=f,this.operations=b,d!=null&&(this.status=Qe.create(d)),this._frameClient=l??null}get framer(){if(this._frameClient==null)throw new W("cannot read from a channel that has not been created");return this._frameClient}get payload(){return _t.parse({key:this.key,name:this.name,dataType:this.dataType.valueOf(),leaseholder:this.leaseholder,index:this.index,isIndex:this.isIndex,internal:this.internal,virtual:this.virtual,expression:this.expression,status:this.status,operations:this.operations})}get isCalculated(){return yi(this.payload)}get ontologyID(){return ir(this.key)}async read(e){return await this.framer.read(e,this.key)}async write(e,n){return await this.framer.write(e,this.key,n)}}const ES=i.z.object({}),NS=i.z.object({group:ar});let Ku=class{frameClient;client;retriever;writer;constructor(e,n,r,s){this.frameClient=e,this.retriever=n,this.client=r,this.writer=s}async create(e,n={}){const{retrieveIfNameExists:r=!1}=n,s=!Array.isArray(e);let a=E.toArray(e),o=[];if(r){const c=await this.retriever.retrieve(a.map(l=>l.name)),u=new Set(c.map(l=>l.name));a=a.filter(l=>!u.has(l.name)),o=this.sugar(c)}return o=o.concat(this.sugar(await this.writer.create(a))),s?o[0]:o}async retrieve(e,n){if(typeof e=="object"&&!Array.isArray(e))return this.sugar(await this.retriever.retrieve(e));const r=!Array.isArray(e),s=this.sugar(await this.retriever.retrieve(e,n));return ue("channel",e,s,r),r?s[0]:s}async delete(e){const{normalized:n,variant:r}=ve(e);return r==="keys"?await this.writer.delete({keys:n}):await this.writer.delete({names:n})}async rename(e,n){return await this.writer.rename(E.toArray(e),E.toArray(n))}createDebouncedBatchRetriever(e=10){return new pi(new Vu(new di(this.client),e))}sugar(e){const{frameClient:n}=this;return Array.isArray(e)?e.map(r=>new Fn({...r,frameClient:n})):new Fn({...e,frameClient:n})}async retrieveGroup(){return(await T(this.client,"/channel/retrieve-group",{},ES,NS)).group}};const yi=({virtual:t,expression:e})=>t&&e!=="",$S=i.z.object({channels:Lu.array()}),kS=i.z.object({channels:_t.array()}),AS=i.z.object({keys:L.array().optional(),names:Pe.array().optional()}),IS=i.z.object({}),ZS=i.z.object({keys:L.array(),names:Pe.array()}),xS=i.z.object({});let Xu=class{client;cache;constructor(e,n){this.client=e,this.cache=n}async create(e){const{channels:n}=await T(this.client,"/channel/create",{channels:e.map(r=>({...r,dataType:r.dataType}))},$S,kS);return this.cache.set(n),n}async delete(e){const n=L.array().parse(e.keys??[]);await T(this.client,"/channel/delete",e,AS,IS),n.length>0&&this.cache.delete(n),e.names!=null&&this.cache.delete(e.names)}async rename(e,n){await T(this.client,"/channel/rename",{keys:e,names:n},ZS,xS),this.cache.rename(e,n)}};const CS=Object.freeze(Object.defineProperty({__proto__:null,CacheRetriever:pi,Channel:Fn,Client:Ku,ClusterRetriever:di,DELETE_CHANNEL_NAME:SS,DebouncedBatchRetriever:Vu,OPERATION_TYPES:Ru,SET_CHANNEL_NAME:OS,TYPE_ONTOLOGY_ID:FO,Writer:Xu,analyzeParams:ve,calculationStatusDetailsZ:Pu,calculationStatusZ:BO,escapeInvalidName:VO,isCalculated:yi,keyZ:L,nameZ:Pe,newZ:Lu,ontologyID:ir,operationType:ju,operationZ:hi,paramsZ:mt,payloadZ:_t,retrieveRequired:Gu,statusKey:qO,statusZ:Uu},Symbol.toStringTag,{value:"Module"})),_S=i.z.object({username:i.z.string(),password:i.z.string()}),MS=i.z.object({token:i.z.string(),user:pn}),Oa="/auth/login",RS=3,jS=i.z.object({username:i.z.string(),password:i.z.string(),newPassword:i.z.string().min(1)}),US=i.z.object({}),PS=[cs,us];let LS=class{client;credentials;authState={authenticated:!1};authenticating;retryCount;constructor(e,n){this.client=e,this.credentials=n,this.retryCount=0}get authenticated(){return this.authState.authenticated}get user(){return this.authState.authenticated?this.authState.user:void 0}get token(){return this.authState.authenticated?this.authState.token:void 0}async retrieveUser(){this.authState.authenticated||await this.authenticating;const{authState:e}=this;if(!e.authenticated)throw new Error("Authentication failed: user not available");return e.user}async changePassword(e){if(!this.authenticated)throw new Error("Not authenticated");await T(this.client,"/auth/change-password",{username:this.credentials.username,password:this.credentials.password,newPassword:e},jS,US),this.credentials.password=e}middleware(){const e=async(n,r)=>{if(!this.authenticated&&!n.target.endsWith(Oa)){this.authenticating??=new Promise((c,u)=>{this.client.send(Oa,this.credentials,_S,MS).then(([l,h])=>{if(h!=null)return c(h);if(l==null)return c(new Error("No response from login"));this.authState={authenticated:!0,user:l.user,token:l.token},c(null)}).catch(u)});const o=await this.authenticating;if(o!=null)return[n,o]}n.params.Authorization=`Bearer ${this.token}`;const[s,a]=await r(n);return PS.some(o=>o.matches(a))&&this.retryCount<RS?(this.authState={authenticated:!1},this.authenticating=void 0,this.retryCount+=1,e(n,r)):(this.retryCount=0,[s,a])};return e}};const Qu=i.z.enum(["disconnected","connecting","connected","failed"]),el=i.z.object({status:Qu,error:i.z.instanceof(Error).optional(),message:i.z.string().optional(),clusterKey:i.z.string(),clientVersion:i.z.string(),clientServerCompatible:i.z.boolean(),nodeVersion:i.z.string().optional()}),DS=i.z.object({clusterKey:i.z.string(),nodeVersion:i.z.string().optional()}),BS=i.z.void(),Sa={clusterKey:"",status:"disconnected",error:void 0,message:"Disconnected",clientServerCompatible:!1,clientVersion:"0.53.0"},Ea=(t,e,n)=>{const r=n?"Core":"client";return`Synnax Core version ${t!=null?`${t} `:""}is too ${n?"old":"new"} for client version ${e}.
64
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const o of t.seen.entries()){const c=o[1];if(e===o[0]){a(o);continue}if(t.external){const l=t.external.registry.get(o[0])?.id;if(e!==o[0]&&l){a(o);continue}}if(t.metadataRegistry.get(o[0])?.id){a(o);continue}if(c.cycle){a(o);continue}if(c.count>1&&t.reused==="ref"){a(o);continue}}}function Tu(t,e){const n=t.seen.get(e);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=o=>{const c=t.seen.get(o);if(c.ref===null)return;const u=c.def??c.schema,l={...u},h=c.ref;if(c.ref=null,h){r(h);const f=t.seen.get(h),b=f.schema;if(b.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(b)):Object.assign(u,b),Object.assign(u,l),o._zod.parent===h)for(const k in u)k==="$ref"||k==="allOf"||k in l||delete u[k];if(b.$ref&&f.def)for(const k in u)k==="$ref"||k==="allOf"||k in f.def&&JSON.stringify(u[k])===JSON.stringify(f.def[k])&&delete u[k]}const d=o._zod.parent;if(d&&d!==h){r(d);const f=t.seen.get(d);if(f?.schema.$ref&&(u.$ref=f.schema.$ref,f.def))for(const b in u)b==="$ref"||b==="allOf"||b in f.def&&JSON.stringify(u[b])===JSON.stringify(f.def[b])&&delete u[b]}t.override({zodSchema:o,jsonSchema:u,path:c.path??[]})};for(const o of[...t.seen.entries()].reverse())r(o[0]);const s={};if(t.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){const o=t.external.registry.get(e)?.id;if(!o)throw new Error("Schema is missing an `id` property");s.$id=t.external.uri(o)}Object.assign(s,n.def??n.schema);const a=t.external?.defs??{};for(const o of t.seen.entries()){const c=o[1];c.def&&c.defId&&(a[c.defId]=c.def)}t.external||Object.keys(a).length>0&&(t.target==="draft-2020-12"?s.$defs=a:s.definitions=a);try{const o=JSON.parse(JSON.stringify(s));return Object.defineProperty(o,"~standard",{value:{...e["~standard"],jsonSchema:{input:Bn(e,"input",t.processors),output:Bn(e,"output",t.processors)}},enumerable:!1,writable:!1}),o}catch{throw new Error("Error converting schema to JSON.")}}function ie(t,e){const n=e??{seen:new Set};if(n.seen.has(t))return!1;n.seen.add(t);const r=t._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return ie(r.element,n);if(r.type==="set")return ie(r.valueType,n);if(r.type==="lazy")return ie(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return ie(r.innerType,n);if(r.type==="intersection")return ie(r.left,n)||ie(r.right,n);if(r.type==="record"||r.type==="map")return ie(r.keyType,n)||ie(r.valueType,n);if(r.type==="pipe")return ie(r.in,n)||ie(r.out,n);if(r.type==="object"){for(const s in r.shape)if(ie(r.shape[s],n))return!0;return!1}if(r.type==="union"){for(const s of r.options)if(ie(s,n))return!0;return!1}if(r.type==="tuple"){for(const s of r.items)if(ie(s,n))return!0;return!!(r.rest&&ie(r.rest,n))}return!1}const Lz=(t,e={})=>n=>{const r=vu({...n,processors:e});return ne(t,r),zu(r,t),Tu(r,t)},Bn=(t,e,n={})=>r=>{const{libraryOptions:s,target:a}=r??{},o=vu({...s??{},target:a,io:e,processors:n});return ne(t,o),zu(o,t),Tu(o,t)},Dz={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Bz=(t,e,n,r)=>{const s=n;s.type="string";const{minimum:a,maximum:o,format:c,patterns:u,contentEncoding:l}=t._zod.bag;if(typeof a=="number"&&(s.minLength=a),typeof o=="number"&&(s.maxLength=o),c&&(s.format=Dz[c]??c,s.format===""&&delete s.format,c==="time"&&delete s.format),l&&(s.contentEncoding=l),u&&u.size>0){const h=[...u];h.length===1?s.pattern=h[0].source:h.length>1&&(s.allOf=[...h.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},qz=(t,e,n,r)=>{const s=n,{minimum:a,maximum:o,format:c,multipleOf:u,exclusiveMaximum:l,exclusiveMinimum:h}=t._zod.bag;typeof c=="string"&&c.includes("int")?s.type="integer":s.type="number",typeof h=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(s.minimum=h,s.exclusiveMinimum=!0):s.exclusiveMinimum=h),typeof a=="number"&&(s.minimum=a,typeof h=="number"&&e.target!=="draft-04"&&(h>=a?delete s.minimum:delete s.exclusiveMinimum)),typeof l=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(s.maximum=l,s.exclusiveMaximum=!0):s.exclusiveMaximum=l),typeof o=="number"&&(s.maximum=o,typeof l=="number"&&e.target!=="draft-04"&&(l<=o?delete s.maximum:delete s.exclusiveMaximum)),typeof u=="number"&&(s.multipleOf=u)},Fz=(t,e,n,r)=>{n.type="boolean"},Yz=(t,e,n,r)=>{n.not={}},Hz=(t,e,n,r)=>{},Vz=(t,e,n,r)=>{const s=t._zod.def,a=Qc(s.entries);a.every(o=>typeof o=="number")&&(n.type="number"),a.every(o=>typeof o=="string")&&(n.type="string"),n.enum=a},Gz=(t,e,n,r)=>{const s=t._zod.def,a=[];for(const o of s.values)if(o===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(o))}else a.push(o);if(a.length!==0)if(a.length===1){const o=a[0];n.type=o===null?"null":typeof o,e.target==="draft-04"||e.target==="openapi-3.0"?n.enum=[o]:n.const=o}else a.every(o=>typeof o=="number")&&(n.type="number"),a.every(o=>typeof o=="string")&&(n.type="string"),a.every(o=>typeof o=="boolean")&&(n.type="boolean"),a.every(o=>o===null)&&(n.type="null"),n.enum=a},Wz=(t,e,n,r)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Jz=(t,e,n,r)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Kz=(t,e,n,r)=>{const s=n,a=t._zod.def,{minimum:o,maximum:c}=t._zod.bag;typeof o=="number"&&(s.minItems=o),typeof c=="number"&&(s.maxItems=c),s.type="array",s.items=ne(a.element,e,{...r,path:[...r.path,"items"]})},Xz=(t,e,n,r)=>{const s=n,a=t._zod.def;s.type="object",s.properties={};const o=a.shape;for(const l in o)s.properties[l]=ne(o[l],e,{...r,path:[...r.path,"properties",l]});const c=new Set(Object.keys(o)),u=new Set([...c].filter(l=>{const h=a.shape[l]._zod;return e.io==="input"?h.optin===void 0:h.optout===void 0}));u.size>0&&(s.required=Array.from(u)),a.catchall?._zod.def.type==="never"?s.additionalProperties=!1:a.catchall?a.catchall&&(s.additionalProperties=ne(a.catchall,e,{...r,path:[...r.path,"additionalProperties"]})):e.io==="output"&&(s.additionalProperties=!1)},Qz=(t,e,n,r)=>{const s=t._zod.def,a=s.inclusive===!1,o=s.options.map((c,u)=>ne(c,e,{...r,path:[...r.path,a?"oneOf":"anyOf",u]}));a?n.oneOf=o:n.anyOf=o},eT=(t,e,n,r)=>{const s=t._zod.def,a=ne(s.left,e,{...r,path:[...r.path,"allOf",0]}),o=ne(s.right,e,{...r,path:[...r.path,"allOf",1]}),c=l=>"allOf"in l&&Object.keys(l).length===1,u=[...c(a)?a.allOf:[a],...c(o)?o.allOf:[o]];n.allOf=u},tT=(t,e,n,r)=>{const s=t._zod.def,a=ne(s.innerType,e,r),o=e.seen.get(t);e.target==="openapi-3.0"?(o.ref=s.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},nT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType},rT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},sT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType,e.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},iT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType;let o;try{o=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=o},aT=(t,e,n,r)=>{const s=t._zod.def,a=e.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;ne(a,e,r);const o=e.seen.get(t);o.ref=a},oT=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType,n.readOnly=!0},Ou=(t,e,n,r)=>{const s=t._zod.def;ne(s.innerType,e,r);const a=e.seen.get(t);a.ref=s.innerType},cT=g("ZodISODateTime",(t,e)=>{dv.init(t,e),F.init(t,e)});function uT(t){return gz(cT,t)}const lT=g("ZodISODate",(t,e)=>{pv.init(t,e),F.init(t,e)});function hT(t){return wz(lT,t)}const fT=g("ZodISOTime",(t,e)=>{yv.init(t,e),F.init(t,e)});function dT(t){return bz(fT,t)}const pT=g("ZodISODuration",(t,e)=>{mv.init(t,e),F.init(t,e)});function yT(t){return vz(pT,t)}const mT=(t,e)=>{su.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:n=>ib(t,n)},flatten:{value:n=>sb(t,n)},addIssue:{value:n=>{t.issues.push(n),t.message=JSON.stringify(t.issues,fs,2)}},addIssues:{value:n=>{t.issues.push(...n),t.message=JSON.stringify(t.issues,fs,2)}},isEmpty:{get(){return t.issues.length===0}}})},me=g("ZodError",mT,{Parent:Error}),gT=si(me),wT=ii(me),bT=tr(me),vT=nr(me),zT=cb(me),TT=ub(me),OT=lb(me),ST=hb(me),ET=fb(me),NT=db(me),$T=pb(me),kT=yb(me),H=g("ZodType",(t,e)=>(Y.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:Bn(t,"input"),output:Bn(t,"output")}}),t.toJSONSchema=Lz(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...n)=>t.clone(et(e,{checks:[...e.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),t.with=t.check,t.clone=(n,r)=>tt(t,n,r),t.brand=()=>t,t.register=((n,r)=>(n.add(t,r),t)),t.parse=(n,r)=>gT(t,n,r,{callee:t.parse}),t.safeParse=(n,r)=>bT(t,n,r),t.parseAsync=async(n,r)=>wT(t,n,r,{callee:t.parseAsync}),t.safeParseAsync=async(n,r)=>vT(t,n,r),t.spa=t.safeParseAsync,t.encode=(n,r)=>zT(t,n,r),t.decode=(n,r)=>TT(t,n,r),t.encodeAsync=async(n,r)=>OT(t,n,r),t.decodeAsync=async(n,r)=>ST(t,n,r),t.safeEncode=(n,r)=>ET(t,n,r),t.safeDecode=(n,r)=>NT(t,n,r),t.safeEncodeAsync=async(n,r)=>$T(t,n,r),t.safeDecodeAsync=async(n,r)=>kT(t,n,r),t.refine=(n,r)=>t.check(SO(n,r)),t.superRefine=n=>t.check(EO(n)),t.overwrite=n=>t.check(Ct(n)),t.optional=()=>ba(t),t.exactOptional=()=>hO(t),t.nullable=()=>va(t),t.nullish=()=>ba(va(t)),t.nonoptional=n=>gO(t,n),t.array=()=>tO(t),t.or=n=>ci([t,n]),t.and=n=>iO(t,n),t.transform=n=>za(t,uO(n)),t.default=n=>pO(t,n),t.prefault=n=>mO(t,n),t.catch=n=>bO(t,n),t.pipe=n=>za(t,n),t.readonly=()=>TO(t),t.describe=n=>{const r=t.clone();return Bt.add(r,{description:n}),r},Object.defineProperty(t,"description",{get(){return Bt.get(t)?.description},configurable:!0}),t.meta=(...n)=>{if(n.length===0)return Bt.get(t);const r=t.clone();return Bt.add(r,n[0]),r},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=n=>n(t),t)),Su=g("_ZodString",(t,e)=>{ai.init(t,e),H.init(t,e),t._zod.processJSONSchema=(r,s,a)=>Bz(t,r,s);const n=t._zod.bag;t.format=n.format??null,t.minLength=n.minimum??null,t.maxLength=n.maximum??null,t.regex=(...r)=>t.check(Ez(...r)),t.includes=(...r)=>t.check(kz(...r)),t.startsWith=(...r)=>t.check(Az(...r)),t.endsWith=(...r)=>t.check(Iz(...r)),t.min=(...r)=>t.check(Dn(...r)),t.max=(...r)=>t.check(wu(...r)),t.length=(...r)=>t.check(bu(...r)),t.nonempty=(...r)=>t.check(Dn(1,...r)),t.lowercase=r=>t.check(Nz(r)),t.uppercase=r=>t.check($z(r)),t.trim=()=>t.check(xz()),t.normalize=(...r)=>t.check(Zz(...r)),t.toLowerCase=()=>t.check(Cz()),t.toUpperCase=()=>t.check(_z()),t.slugify=()=>t.check(Mz())}),AT=g("ZodString",(t,e)=>{ai.init(t,e),Su.init(t,e),t.email=n=>t.check(Kv(IT,n)),t.url=n=>t.check(tz(xT,n)),t.jwt=n=>t.check(mz(VT,n)),t.emoji=n=>t.check(nz(CT,n)),t.guid=n=>t.check(da(ga,n)),t.uuid=n=>t.check(gu(qt,n)),t.uuidv4=n=>t.check(Xv(qt,n)),t.uuidv6=n=>t.check(Qv(qt,n)),t.uuidv7=n=>t.check(ez(qt,n)),t.nanoid=n=>t.check(rz(_T,n)),t.guid=n=>t.check(da(ga,n)),t.cuid=n=>t.check(sz(MT,n)),t.cuid2=n=>t.check(iz(RT,n)),t.ulid=n=>t.check(az(jT,n)),t.base64=n=>t.check(dz(FT,n)),t.base64url=n=>t.check(pz(YT,n)),t.xid=n=>t.check(oz(UT,n)),t.ksuid=n=>t.check(cz(PT,n)),t.ipv4=n=>t.check(uz(LT,n)),t.ipv6=n=>t.check(lz(DT,n)),t.cidrv4=n=>t.check(hz(BT,n)),t.cidrv6=n=>t.check(fz(qT,n)),t.e164=n=>t.check(yz(HT,n)),t.datetime=n=>t.check(uT(n)),t.date=n=>t.check(hT(n)),t.time=n=>t.check(dT(n)),t.duration=n=>t.check(yT(n))});function ye(t){return Jv(AT,t)}const F=g("ZodStringFormat",(t,e)=>{q.init(t,e),Su.init(t,e)}),IT=g("ZodEmail",(t,e)=>{sv.init(t,e),F.init(t,e)}),ga=g("ZodGUID",(t,e)=>{nv.init(t,e),F.init(t,e)}),qt=g("ZodUUID",(t,e)=>{rv.init(t,e),F.init(t,e)});function ZT(t){return gu(qt,t)}const xT=g("ZodURL",(t,e)=>{iv.init(t,e),F.init(t,e)}),CT=g("ZodEmoji",(t,e)=>{av.init(t,e),F.init(t,e)}),_T=g("ZodNanoID",(t,e)=>{ov.init(t,e),F.init(t,e)}),MT=g("ZodCUID",(t,e)=>{cv.init(t,e),F.init(t,e)}),RT=g("ZodCUID2",(t,e)=>{uv.init(t,e),F.init(t,e)}),jT=g("ZodULID",(t,e)=>{lv.init(t,e),F.init(t,e)}),UT=g("ZodXID",(t,e)=>{hv.init(t,e),F.init(t,e)}),PT=g("ZodKSUID",(t,e)=>{fv.init(t,e),F.init(t,e)}),LT=g("ZodIPv4",(t,e)=>{gv.init(t,e),F.init(t,e)}),DT=g("ZodIPv6",(t,e)=>{wv.init(t,e),F.init(t,e)}),BT=g("ZodCIDRv4",(t,e)=>{bv.init(t,e),F.init(t,e)}),qT=g("ZodCIDRv6",(t,e)=>{vv.init(t,e),F.init(t,e)}),FT=g("ZodBase64",(t,e)=>{zv.init(t,e),F.init(t,e)}),YT=g("ZodBase64URL",(t,e)=>{Ov.init(t,e),F.init(t,e)}),HT=g("ZodE164",(t,e)=>{Sv.init(t,e),F.init(t,e)}),VT=g("ZodJWT",(t,e)=>{Nv.init(t,e),F.init(t,e)}),GT=g("ZodNumber",(t,e)=>{du.init(t,e),H.init(t,e),t._zod.processJSONSchema=(r,s,a)=>qz(t,r,s),t.gt=(r,s)=>t.check(ya(r,s)),t.gte=(r,s)=>t.check(xr(r,s)),t.min=(r,s)=>t.check(xr(r,s)),t.lt=(r,s)=>t.check(pa(r,s)),t.lte=(r,s)=>t.check(Zr(r,s)),t.max=(r,s)=>t.check(Zr(r,s)),t.int=r=>t.check(qn(r)),t.safe=r=>t.check(qn(r)),t.positive=r=>t.check(ya(0,r)),t.nonnegative=r=>t.check(xr(0,r)),t.negative=r=>t.check(pa(0,r)),t.nonpositive=r=>t.check(Zr(0,r)),t.multipleOf=(r,s)=>t.check(ma(r,s)),t.step=(r,s)=>t.check(ma(r,s)),t.finite=()=>t;const n=t._zod.bag;t.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),t.isFinite=!0,t.format=n.format??null}),WT=g("ZodNumberFormat",(t,e)=>{$v.init(t,e),GT.init(t,e)});function qn(t){return zz(WT,t)}const JT=g("ZodBoolean",(t,e)=>{kv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Fz(t,n,r)});function oi(t){return Tz(JT,t)}const KT=g("ZodUnknown",(t,e)=>{Av.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Hz()});function wa(){return Oz(KT)}const XT=g("ZodNever",(t,e)=>{Iv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Yz(t,n,r)});function QT(t){return Sz(XT,t)}const eO=g("ZodArray",(t,e)=>{Zv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Kz(t,n,r,s),t.element=e.element,t.min=(n,r)=>t.check(Dn(n,r)),t.nonempty=n=>t.check(Dn(1,n)),t.max=(n,r)=>t.check(wu(n,r)),t.length=(n,r)=>t.check(bu(n,r)),t.unwrap=()=>t.element});function tO(t,e){return Rz(eO,t,e)}const nO=g("ZodObject",(t,e)=>{Cv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Xz(t,n,r,s),U(t,"shape",()=>e.shape),t.keyof=()=>Eu(Object.keys(t._zod.def.shape)),t.catchall=n=>t.clone({...t._zod.def,catchall:n}),t.passthrough=()=>t.clone({...t._zod.def,catchall:wa()}),t.loose=()=>t.clone({...t._zod.def,catchall:wa()}),t.strict=()=>t.clone({...t._zod.def,catchall:QT()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=n=>Qw(t,n),t.safeExtend=n=>eb(t,n),t.merge=n=>tb(t,n),t.pick=n=>Kw(t,n),t.omit=n=>Xw(t,n),t.partial=(...n)=>nb(Nu,t,n[0]),t.required=(...n)=>rb($u,t,n[0])});function se(t,e){const n={type:"object",shape:t??{},...$(e)};return new nO(n)}const rO=g("ZodUnion",(t,e)=>{_v.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Qz(t,n,r,s),t.options=e.options});function ci(t,e){return new rO({type:"union",options:t,...$(e)})}const sO=g("ZodIntersection",(t,e)=>{Mv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>eT(t,n,r,s)});function iO(t,e){return new sO({type:"intersection",left:t,right:e})}const ps=g("ZodEnum",(t,e)=>{Rv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(r,s,a)=>Vz(t,r,s),t.enum=e.entries,t.options=Object.values(e.entries);const n=new Set(Object.keys(e.entries));t.extract=(r,s)=>{const a={};for(const o of r)if(n.has(o))a[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new ps({...e,checks:[],...$(s),entries:a})},t.exclude=(r,s)=>{const a={...e.entries};for(const o of r)if(n.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new ps({...e,checks:[],...$(s),entries:a})}});function Eu(t,e){const n=Array.isArray(t)?Object.fromEntries(t.map(r=>[r,r])):t;return new ps({type:"enum",entries:n,...$(e)})}const aO=g("ZodLiteral",(t,e)=>{jv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Gz(t,n,r),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function oO(t,e){return new aO({type:"literal",values:Array.isArray(t)?t:[t],...$(e)})}const cO=g("ZodTransform",(t,e)=>{Uv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Jz(t,n),t._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Kc(t.constructor.name);n.addIssue=a=>{if(typeof a=="string")n.issues.push(rn(a,n.value,e));else{const o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),n.issues.push(rn(o))}};const s=e.transform(n.value,n);return s instanceof Promise?s.then(a=>(n.value=a,n)):(n.value=s,n)}});function uO(t){return new cO({type:"transform",transform:t})}const Nu=g("ZodOptional",(t,e)=>{mu.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Ou(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function ba(t){return new Nu({type:"optional",innerType:t})}const lO=g("ZodExactOptional",(t,e)=>{Pv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Ou(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function hO(t){return new lO({type:"optional",innerType:t})}const fO=g("ZodNullable",(t,e)=>{Lv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>tT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function va(t){return new fO({type:"nullable",innerType:t})}const dO=g("ZodDefault",(t,e)=>{Dv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>rT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function pO(t,e){return new dO({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():tu(e)}})}const yO=g("ZodPrefault",(t,e)=>{Bv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>sT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function mO(t,e){return new yO({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():tu(e)}})}const $u=g("ZodNonOptional",(t,e)=>{qv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>nT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function gO(t,e){return new $u({type:"nonoptional",innerType:t,...$(e)})}const wO=g("ZodCatch",(t,e)=>{Fv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>iT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function bO(t,e){return new wO({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}const vO=g("ZodPipe",(t,e)=>{Yv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>aT(t,n,r,s),t.in=e.in,t.out=e.out});function za(t,e){return new vO({type:"pipe",in:t,out:e})}const zO=g("ZodReadonly",(t,e)=>{Hv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>oT(t,n,r,s),t.unwrap=()=>t._zod.def.innerType});function TO(t){return new zO({type:"readonly",innerType:t})}const OO=g("ZodCustom",(t,e)=>{Vv.init(t,e),H.init(t,e),t._zod.processJSONSchema=(n,r,s)=>Wz(t,n)});function SO(t,e={}){return jz(OO,t,e)}function EO(t){return Uz(t)}const Ze=t=>t?JSON.parse(t):{},ui=se({key:ye(),type:ye(),config:oe.unknownZ.or(ye().transform(Ze))}),ku=ui.extend({position:Ps.xy}),ys=se({param:ye(),node:ye()}),li=se({source:ys,target:ys}),NO=se({nodes:ui.array(),edges:li.array()}),Au=se({nodes:ku.array(),edges:li.array()}),Iu=se({raw:ye()}),yn=ZT(),Zu=Eu(["graph","text"]).or(oO("").transform(()=>"graph")),sr=se({key:yn,name:ye(),graph:Au,text:Iu,version:ye(),mode:Zu}),xu=sr.partial({key:!0,mode:!0}),$O="arc",Cu=J("arc"),kO=Cu(""),AO=(t,e,{convertNumericStrings:n=!0}={})=>{const r=!Array.isArray(t);let s=E.toArray(t);const a=s[0],o=typeof a;let c;return o==="string"&&n&&!isNaN(parseInt(a))&&"number"in e?(c=e.number,s=s.map(u=>parseInt(u))):c=e[o],{single:r,variant:c,normalized:s,actual:t}},ue=(t,e,n,r)=>{if(r){if(n.length===0)throw new en(`${t} not found matching ${JSON.stringify(e)}`);if(n.length>1)throw new tn(`Expected one ${t} matching ${JSON.stringify(e)}, but found ${n.length}`)}},IO="sy_arc_set",ZO="sy_arc_delete",xO=se({keys:yn.array().optional(),names:ye().array().optional(),searchTerm:ye().optional(),limit:qn().optional(),offset:qn().optional(),includeStatus:oi().optional()}),CO=se({arcs:xu.array()}),_O=se({keys:yn.array()}),MO=se({arcs:E.nullableZ(sr)}),RO=se({arcs:sr.array()}),jO=se({}),ms=se({content:ye()}),UO=se({key:yn,includeStatus:oi().optional()}).transform(({key:t,includeStatus:e})=>({keys:[t],includeStatus:e})),PO=se({name:ye(),includeStatus:oi().optional()}).transform(({name:t,includeStatus:e})=>({names:[t],includeStatus:e})),_u=ci([UO,PO]),LO=ci([_u,xO]);let Mu=class{client;streamClient;constructor(e,n){this.client=e,this.streamClient=n}async create(e){const n=Array.isArray(e),r=await T(this.client,"/arc/create",{arcs:E.toArray(e)},CO,RO);return n?r.arcs:r.arcs[0]}async retrieve(e){const n="key"in e||"name"in e,r=await T(this.client,"/arc/retrieve",e,LO,MO);return ue("Arc",e,r.arcs,n),n?r.arcs[0]:r.arcs}async delete(e){await T(this.client,"/arc/delete",{keys:E.toArray(e)},_O,jO)}async openLSP(){return await this.streamClient.stream("/arc/lsp",ms,ms)}};const DO=Object.freeze(Object.defineProperty({__proto__:null,Client:Mu,DELETE_CHANNEL_NAME:ZO,ONTOLOGY_TYPE:$O,SET_CHANNEL_NAME:IO,TYPE_ONTOLOGY_ID:kO,arcZ:sr,edgeZ:li,graphNodeZ:ku,graphZ:Au,handleZ:ys,irNodeZ:ui,irZ:NO,keyZ:yn,lspMessageZ:ms,modeZ:Zu,newZ:xu,ontologyID:Cu,singleRetrieveArgsZ:_u,textZ:Iu},Symbol.toStringTag,{value:"Module"})),Ta="Channel key must be a valid uint32.",L=i.z.uint32().or(i.z.string().refine(t=>!isNaN(Number(t)),{message:Ta}).transform(Number).refine(t=>t<Xr.MAX_UINT32,{message:Ta})),Pe=i.z.string().min(1,"Name must not be empty"),Ru=["min","max","avg","none"],ju=i.z.enum(Ru),hi=i.z.object({type:ju,resetChannel:L.optional(),duration:w.z.optional()}),Uu=Qe.statusZ(),Pu=i.z.object({channel:L}),BO=Qe.statusZ(Pu),qO=t=>ke(ir(t)),_t=i.z.object({name:i.z.string(),key:L,dataType:p.z,leaseholder:be.uint12,index:L,isIndex:i.z.boolean(),internal:i.z.boolean(),virtual:i.z.boolean(),alias:i.z.string().optional(),expression:i.z.string().default(""),status:Uu.optional(),operations:E.nullableZ(hi)}),Lu=_t.extend({key:L.optional(),name:Pe,leaseholder:be.uint12.optional(),index:L.optional(),isIndex:i.z.boolean().optional(),internal:i.z.boolean().default(!1),virtual:i.z.boolean().default(!1),expression:i.z.string().default(""),operations:E.nullableZ(hi).optional()}),mt=i.z.union([be.toArray(L),be.toArray(Pe),be.toArray(_t).transform(t=>t.map(e=>e.key))]),ir=J("channel"),FO=ir(0),YO=/[a-zA-Z0-9_]/,HO=/^[a-zA-Z_][a-zA-Z0-9_]*$/,VO=(t,e=!1)=>{if(t==="")return e?"_":"";if(t.match(HO))return t;let n="";for(const r of t)r.match(YO)?n+=r:n+="_";return n[0].match(/^\d/)&&(n=`_${n}`),n},GO=new Error("request for lock canceled");var WO=function(t,e,n,r){function s(a){return a instanceof n?a:new n(function(o){o(a)})}return new(n||(n=Promise))(function(a,o){function c(h){try{l(r.next(h))}catch(d){o(d)}}function u(h){try{l(r.throw(h))}catch(d){o(d)}}function l(h){h.done?a(h.value):s(h.value).then(c,u)}l((r=r.apply(t,e||[])).next())})};class JO{constructor(e,n=GO){this._value=e,this._cancelError=n,this._queue=[],this._weightedWaiters=[]}acquire(e=1,n=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise((r,s)=>{const a={resolve:r,reject:s,weight:e,priority:n},o=Du(this._queue,c=>n<=c.priority);o===-1&&e<=this._value?this._dispatchItem(a):this._queue.splice(o+1,0,a)})}runExclusive(e){return WO(this,arguments,void 0,function*(n,r=1,s=0){const[a,o]=yield this.acquire(r,s);try{return yield n(a)}finally{o()}})}waitForUnlock(e=1,n=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return this._couldLockImmediately(e,n)?Promise.resolve():new Promise(r=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),KO(this._weightedWaiters[e-1],{resolve:r,priority:n})})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatchQueue()}release(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatchQueue()}cancel(){this._queue.forEach(e=>e.reject(this._cancelError)),this._queue=[]}_dispatchQueue(){for(this._drainUnlockWaiters();this._queue.length>0&&this._queue[0].weight<=this._value;)this._dispatchItem(this._queue.shift()),this._drainUnlockWaiters()}_dispatchItem(e){const n=this._value;this._value-=e.weight,e.resolve([n,this._newReleaser(e.weight)])}_newReleaser(e){let n=!1;return()=>{n||(n=!0,this.release(e))}}_drainUnlockWaiters(){if(this._queue.length===0)for(let e=this._value;e>0;e--){const n=this._weightedWaiters[e-1];n&&(n.forEach(r=>r.resolve()),this._weightedWaiters[e-1]=[])}else{const e=this._queue[0].priority;for(let n=this._value;n>0;n--){const r=this._weightedWaiters[n-1];if(!r)continue;const s=r.findIndex(a=>a.priority<=e);(s===-1?r:r.splice(0,s)).forEach((a=>a.resolve()))}}}_couldLockImmediately(e,n){return(this._queue.length===0||this._queue[0].priority<n)&&e<=this._value}}function KO(t,e){const n=Du(t,r=>e.priority<=r.priority);t.splice(n+1,0,e)}function Du(t,e){for(let n=t.length-1;n>=0;n--)if(e(t[n]))return n;return-1}var XO=function(t,e,n,r){function s(a){return a instanceof n?a:new n(function(o){o(a)})}return new(n||(n=Promise))(function(a,o){function c(h){try{l(r.next(h))}catch(d){o(d)}}function u(h){try{l(r.throw(h))}catch(d){o(d)}}function l(h){h.done?a(h.value):s(h.value).then(c,u)}l((r=r.apply(t,e||[])).next())})};class QO{constructor(e){this._semaphore=new JO(1,e)}acquire(){return XO(this,arguments,void 0,function*(e=0){const[,n]=yield this._semaphore.acquire(1,e);return n})}runExclusive(e,n=0){return this._semaphore.runExclusive(()=>e(),1,n)}isLocked(){return this._semaphore.isLocked()}waitForUnlock(e=0){return this._semaphore.waitForUnlock(1,e)}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}const nt=Nc.keyZ,mn=Nc.labelZ,eS="labeled_by",tS="sy_label_set",nS="sy_label_delete",Bu=mn.extend({key:nt.optional()}),rS=i.object({labels:Bu.array()}),sS=i.object({labels:mn.array()}),iS=i.object({keys:nt.array()}),qu=i.object({id:B,labels:nt.array(),replace:i.boolean().optional()}),aS=qu.omit({replace:!0}),Cr=i.object({}),oS=i.object({keys:nt.array().optional(),names:i.string().array().optional(),for:B.optional(),searchTerm:i.string().optional(),offset:i.int().optional(),limit:i.int().optional()}),cS=i.object({key:nt}).transform(({key:t})=>({keys:[t]})),uS=i.union([cS,oS]),lS=i.object({labels:E.nullableZ(mn)});let Fu=class{type="label";client;constructor(e){this.client=e}async retrieve(e){const n="key"in e,r=await T(this.client,"/label/retrieve",e,uS,lS);return ue("Label",e,r.labels,n),n?r.labels[0]:r.labels}async label(e,n,r={}){await T(this.client,"/label/set",{id:e,labels:n,replace:r.replace},qu,Cr)}async remove(e,n){await T(this.client,"/label/remove",{id:e,labels:n},aS,Cr)}async create(e){const n=Array.isArray(e),r=await T(this.client,"/label/create",{labels:E.toArray(e)},rS,sS);return n?r.labels:r.labels[0]}async delete(e){await T(this.client,"/label/delete",{keys:E.toArray(e)},iS,Cr)}};const Yu=J("label"),hS=Yu(""),fS=Object.freeze(Object.defineProperty({__proto__:null,Client:Fu,DELETE_CHANNEL_NAME:nS,LABELED_BY_ONTOLOGY_RELATIONSHIP_TYPE:eS,SET_CHANNEL_NAME:tS,TYPE_ONTOLOGY_ID:hS,keyZ:nt,labelZ:mn,newZ:Bu,ontologyID:Yu},Symbol.toStringTag,{value:"Module"})),X=i.z.uuid(),fi=i.z.string().min(1),gn=i.z.object({key:X,name:fi,timeRange:x.z.refine(({isValid:t})=>t,{error:"Time range start time must be before or equal to time range end time"}).refine(({end:t})=>t.valueOf()<=Xr.MAX_INT64,{error:"Time range end time must be less than or equal to the maximum value of an int64"}).refine(({start:t})=>t.valueOf()>=Xr.MIN_INT64,{error:"Time range start time must be greater than or equal to the minimum value of an int64"}),color:yc.colorZ.optional(),labels:mn.array().or(i.z.null().transform(()=>{})).optional(),get parent(){return gn.optional().nullable().transform(t=>t===void 0?null:t)}}),Hu=gn.omit({parent:!0,labels:!0}).partial({key:!0}),dS=i.z.object({nodeKey:be.uint12.optional(),keys:L.array().optional(),names:i.z.string().array().optional(),searchTerm:i.z.string().optional(),rangeKey:X.optional(),limit:i.z.int().optional(),offset:i.z.int().optional(),dataTypes:p.z.array().optional(),notDataTypes:p.z.array().optional(),virtual:i.z.boolean().optional(),isIndex:i.z.boolean().optional(),internal:i.z.boolean().optional(),legacyCalculated:i.z.boolean().optional()}),pS=i.z.object({channels:E.nullableZ(_t)}),ve=t=>(Array.isArray(t)&&t.length>0&&typeof t[0]=="object"?t=t.map(e=>e.key):typeof t=="object"&&"key"in t&&(t=[t.key]),AO(t,{number:"keys",string:"names"}));class di{client;constructor(e){this.client=e}async retrieve(e,n){if(!Array.isArray(e)&&typeof e=="object")return await this.execute(e);const r=ve(e),{variant:s}=r;let{normalized:a}=r;return s==="keys"&&a.indexOf(0)!==-1&&(a=a.filter(o=>o!==0)),a.length===0?[]:await this.execute({[s]:a,...n})}async execute(e){return(await T(this.client,"/channel/retrieve",e,dS,pS)).channels}}class pi{cache;namesToKeys;wrapped;constructor(e){this.cache=new Map,this.namesToKeys=new Map,this.wrapped=e}async retrieve(e,n){if(!Array.isArray(e)&&typeof e=="object")return await this.wrapped.retrieve(e);const{normalized:r}=ve(e),s=[],a=[];if(r.forEach(c=>{const u=this.get(c);u!=null?s.push(...u):a.push(c)}),a.length===0)return s;const o=await this.wrapped.retrieve(a,n);return this.set(o),s.concat(o)}delete(e){const{variant:n,normalized:r}=ve(e);n==="names"?r.forEach(s=>{const a=this.namesToKeys.get(s);a!=null&&(a.forEach(o=>this.cache.delete(o)),this.namesToKeys.delete(s))}):r.forEach(s=>{const a=this.cache.get(s);a!=null&&(this.cache.delete(s),this.namesToKeys.delete(a.name))})}rename(e,n){e.forEach((r,s)=>{const a=n[s],o=this.cache.get(r);if(o==null)return;this.cache.delete(r);const c=this.namesToKeys.get(o.name);c!=null&&(c.delete(r),c.size===0&&this.namesToKeys.delete(o.name)),o.name=a,this.cache.set(r,o);const u=this.namesToKeys.get(a);u==null?this.namesToKeys.set(a,new Set([r])):u.add(r)})}set(e){e.forEach(n=>{this.cache.set(n.key,n);const r=this.namesToKeys.get(n.name);r==null?this.namesToKeys.set(n.name,new Set([n.key])):r.add(n.key)})}get(e){if(typeof e=="number"){const s=this.cache.get(e);return s==null?void 0:[s]}const n=this.namesToKeys.get(e);if(n==null)return;const r=[];if(n.forEach(s=>{const a=this.cache.get(s);a!=null&&r.push(a)}),r.length!==0)return r}}class Vu{mu=new QO;requests=new Map;wrapped;debouncedRun;constructor(e,n){this.wrapped=e,this.debouncedRun=Zm(()=>{this.run()},n)}async retrieve(e){if(!Array.isArray(e)&&typeof e=="object")return await this.wrapped.retrieve(e);const{normalized:n,variant:r}=ve(e);return r==="names"?await this.wrapped.retrieve(n):await new Promise((a,o)=>{this.mu.runExclusive(()=>{this.requests.set(n,{resolve:a,reject:o}),this.debouncedRun()})})}async run(){await this.mu.runExclusive(async()=>{const e=new Set;this.requests.forEach((n,r)=>r.forEach(s=>e.add(s)));try{const n=await this.wrapped.retrieve(Array.from(e));this.requests.forEach((r,s)=>r.resolve(n.filter(a=>s.includes(a.key))))}catch(n){this.requests.forEach(r=>r.reject(n))}finally{this.requests.clear()}})}}const Gu=async(t,e)=>{const{normalized:n}=ve(e),r=await t.retrieve(n),s=[];if(n.forEach(a=>{r.find(o=>o.name===a||o.key===a)==null&&s.push(a)}),s.length>0)throw new Ke(`Could not find channels: ${JSON.stringify(s)}`);return r},wn=i.z.uuid(),Wu=i.z.string(),ar=i.z.object({key:wn,name:Wu}),yS=J("group"),mS="sy_group_set",gS="sy_group_delete",wS=i.object({group:ar}),bS=i.object({parent:B,key:wn.optional(),name:i.string()}),vS=i.object({key:wn,name:i.string()}),zS=i.object({keys:i.array(wn)});let Ju=class{client;constructor(e){this.client=e}async create(e){return(await T(this.client,"/ontology/create-group",e,bS,wS)).group}async rename(e,n){await T(this.client,"/ontology/rename-group",{key:e,name:n},vS,i.object({}))}async delete(e){await T(this.client,"/ontology/delete-group",{keys:E.toArray(e)},zS,i.object({}))}};const TS=Object.freeze(Object.defineProperty({__proto__:null,Client:Ju,DELETE_CHANNEL_NAME:gS,SET_CHANNEL_NAME:mS,groupZ:ar,keyZ:wn,nameZ:Wu,ontologyID:yS},Symbol.toStringTag,{value:"Module"})),OS="sy_channel_set",SS="sy_channel_delete";class Fn{_frameClient;key;name;dataType;leaseholder;index;isIndex;internal;alias;virtual;expression;operations;status;constructor({dataType:e,name:n,leaseholder:r=0,key:s=0,isIndex:a=!1,index:o=0,internal:c=!1,virtual:u=!1,frameClient:l,alias:h,status:d,expression:f="",operations:b=[]}){this.key=L.parse(s),this.name=n,this.dataType=new p(e),this.leaseholder=r,this.index=L.parse(o),this.isIndex=a,this.internal=c,this.alias=h,this.virtual=u,this.expression=f,this.operations=b,d!=null&&(this.status=Qe.create(d)),this._frameClient=l??null}get framer(){if(this._frameClient==null)throw new W("cannot read from a channel that has not been created");return this._frameClient}get payload(){return _t.parse({key:this.key,name:this.name,dataType:this.dataType.valueOf(),leaseholder:this.leaseholder,index:this.index,isIndex:this.isIndex,internal:this.internal,virtual:this.virtual,expression:this.expression,status:this.status,operations:this.operations})}get isCalculated(){return yi(this.payload)}get ontologyID(){return ir(this.key)}async read(e){return await this.framer.read(e,this.key)}async write(e,n){return await this.framer.write(e,this.key,n)}}const ES=i.z.object({}),NS=i.z.object({group:ar});let Ku=class{frameClient;client;retriever;writer;constructor(e,n,r,s){this.frameClient=e,this.retriever=n,this.client=r,this.writer=s}async create(e,n={}){const{retrieveIfNameExists:r=!1}=n,s=!Array.isArray(e);let a=E.toArray(e),o=[];if(r){const c=await this.retriever.retrieve(a.map(l=>l.name)),u=new Set(c.map(l=>l.name));a=a.filter(l=>!u.has(l.name)),o=this.sugar(c)}return o=o.concat(this.sugar(await this.writer.create(a))),s?o[0]:o}async retrieve(e,n){if(typeof e=="object"&&!Array.isArray(e))return this.sugar(await this.retriever.retrieve(e));const r=!Array.isArray(e),s=this.sugar(await this.retriever.retrieve(e,n));return ue("channel",e,s,r),r?s[0]:s}async delete(e){const{normalized:n,variant:r}=ve(e);return r==="keys"?await this.writer.delete({keys:n}):await this.writer.delete({names:n})}async rename(e,n){return await this.writer.rename(E.toArray(e),E.toArray(n))}createDebouncedBatchRetriever(e=10){return new pi(new Vu(new di(this.client),e))}sugar(e){const{frameClient:n}=this;return Array.isArray(e)?e.map(r=>new Fn({...r,frameClient:n})):new Fn({...e,frameClient:n})}async retrieveGroup(){return(await T(this.client,"/channel/retrieve-group",{},ES,NS)).group}};const yi=({virtual:t,expression:e})=>t&&e!=="",$S=i.z.object({channels:Lu.array()}),kS=i.z.object({channels:_t.array()}),AS=i.z.object({keys:L.array().optional(),names:Pe.array().optional()}),IS=i.z.object({}),ZS=i.z.object({keys:L.array(),names:Pe.array()}),xS=i.z.object({});let Xu=class{client;cache;constructor(e,n){this.client=e,this.cache=n}async create(e){const{channels:n}=await T(this.client,"/channel/create",{channels:e.map(r=>({...r,dataType:r.dataType}))},$S,kS);return this.cache.set(n),n}async delete(e){const n=L.array().parse(e.keys??[]);await T(this.client,"/channel/delete",e,AS,IS),n.length>0&&this.cache.delete(n),e.names!=null&&this.cache.delete(e.names)}async rename(e,n){await T(this.client,"/channel/rename",{keys:e,names:n},ZS,xS),this.cache.rename(e,n)}};const CS=Object.freeze(Object.defineProperty({__proto__:null,CacheRetriever:pi,Channel:Fn,Client:Ku,ClusterRetriever:di,DELETE_CHANNEL_NAME:SS,DebouncedBatchRetriever:Vu,OPERATION_TYPES:Ru,SET_CHANNEL_NAME:OS,TYPE_ONTOLOGY_ID:FO,Writer:Xu,analyzeParams:ve,calculationStatusDetailsZ:Pu,calculationStatusZ:BO,escapeInvalidName:VO,isCalculated:yi,keyZ:L,nameZ:Pe,newZ:Lu,ontologyID:ir,operationType:ju,operationZ:hi,paramsZ:mt,payloadZ:_t,retrieveRequired:Gu,statusKey:qO,statusZ:Uu},Symbol.toStringTag,{value:"Module"})),_S=i.z.object({username:i.z.string(),password:i.z.string()}),MS=i.z.object({token:i.z.string(),user:pn}),Oa="/auth/login",RS=3,jS=i.z.object({username:i.z.string(),password:i.z.string(),newPassword:i.z.string().min(1)}),US=i.z.object({}),PS=[cs,us];let LS=class{client;credentials;authState={authenticated:!1};authenticating;retryCount;constructor(e,n){this.client=e,this.credentials=n,this.retryCount=0}get authenticated(){return this.authState.authenticated}get user(){return this.authState.authenticated?this.authState.user:void 0}get token(){return this.authState.authenticated?this.authState.token:void 0}async retrieveUser(){this.authState.authenticated||await this.authenticating;const{authState:e}=this;if(!e.authenticated)throw new Error("Authentication failed: user not available");return e.user}async changePassword(e){if(!this.authenticated)throw new Error("Not authenticated");await T(this.client,"/auth/change-password",{username:this.credentials.username,password:this.credentials.password,newPassword:e},jS,US),this.credentials.password=e}middleware(){const e=async(n,r)=>{if(!this.authenticated&&!n.target.endsWith(Oa)){this.authenticating??=new Promise((c,u)=>{this.client.send(Oa,this.credentials,_S,MS).then(([l,h])=>{if(h!=null)return c(h);if(l==null)return c(new Error("No response from login"));this.authState={authenticated:!0,user:l.user,token:l.token},c(null)}).catch(u)});const o=await this.authenticating;if(o!=null)return[n,o]}n.params.Authorization=`Bearer ${this.token}`;const[s,a]=await r(n);return PS.some(o=>o.matches(a))&&this.retryCount<RS?(this.authState={authenticated:!1},this.authenticating=void 0,this.retryCount+=1,e(n,r)):(this.retryCount=0,[s,a])};return e}};const Qu=i.z.enum(["disconnected","connecting","connected","failed"]),el=i.z.object({status:Qu,error:i.z.instanceof(Error).optional(),message:i.z.string().optional(),clusterKey:i.z.string(),clientVersion:i.z.string(),clientServerCompatible:i.z.boolean(),nodeVersion:i.z.string().optional()}),DS=i.z.object({clusterKey:i.z.string(),nodeVersion:i.z.string().optional()}),BS=i.z.void(),Sa={clusterKey:"",status:"disconnected",error:void 0,message:"Disconnected",clientServerCompatible:!1,clientVersion:"0.53.1"},Ea=(t,e,n)=>{const r=n?"Core":"client";return`Synnax Core version ${t!=null?`${t} `:""}is too ${n?"old":"new"} for client version ${e}.
65
65
  This may cause compatibility issues. We recommend updating the ${r}. For more information, see
66
66
  https://docs.synnaxlabs.com/reference/client/resources/troubleshooting#old-${r}-version`};class Yn{static DEFAULT=Sa;_state;pollFrequency=w.seconds(30);client;name;interval;clientVersion;onChangeHandlers=[];static connectionStateZ=el;versionWarned=!1;constructor(e,n=w.seconds(30),r,s){this._state={...Sa},this.client=e,this.pollFrequency=n,this.clientVersion=r,this.name=s,this.check(),this.start()}stop(){this.interval!=null&&clearInterval(this.interval)}async check(){const e=this._state.status;try{const n=await T(this.client,"/connectivity/check",void 0,BS,DS),r=n.nodeVersion,s=this.clientVersion,a=this.versionWarned;r==null?(this._state.clientServerCompatible=!1,a||(console.warn(Ea(null,s,!0)),this.versionWarned=!0)):Ki.versionsEqual(s,r,{checkMajor:!0,checkMinor:!0,checkPatch:!1})?this._state.clientServerCompatible=!0:(this._state.clientServerCompatible=!1,a||(console.warn(Ea(r,s,Ki.semVerNewer(s,r))),this.versionWarned=!0)),this._state.status="connected",this._state.message=`Connected to ${this.name??"cluster"}`,this._state.clusterKey=n.clusterKey,this._state.nodeVersion=n.nodeVersion,this._state.clientVersion=this.clientVersion}catch(n){this._state.status="failed",this._state.error=n,this._state.message=this.state.error?.message}return this.onChangeHandlers.length>0&&e!==this._state.status&&this.onChangeHandlers.forEach(n=>n(this.state)),this.state}get state(){return{...this._state}}onChange(e){this.onChangeHandlers.push(e)}start(){this.interval=setInterval(()=>{this.check()},this.pollFrequency.milliseconds)}}const qS=Object.freeze(Object.defineProperty({__proto__:null,Checker:Yn,stateZ:el,statusZ:Qu},Symbol.toStringTag,{value:"Module"})),FS=i.z.object({keys:L.array().optional(),bounds:x.z,names:Pe.array().optional()}),YS=i.z.object({});class HS{client;constructor(e){this.client=e}async delete(e){await T(this.client,"/frame/delete",e,FS,YS)}}const Na=t=>{const e=E.toArray(t);return e.length===0?null:typeof e[0]=="number"||!isNaN(parseInt(e[0]))?"key":"name"},$a=(t,e)=>{const n=E.toArray(t);if(n.length===e.length)return;const r=Na(t);throw Na===null?new W("[Frame] - channel keys or names must be provided when constructing a frame."):new W(`[Frame] - ${r}s and series must be the same length.
67
67
  Got ${n.length} ${r}s and ${e.length} series.`)};class V{columns=[];series=[];constructor(e=[],n=[]){if(e instanceof V){this.columns=e.columns,this.series=e.series;return}if(e instanceof Map){e.forEach((s,a)=>this.push(a,...E.toArray(s)));return}if(typeof e=="object"&&!Array.isArray(e)){if("keys"in e&&"series"in e){const s=e;s.series??=[],s.keys??=[];const a=s.series.map(o=>tl(o));$a(s.keys,a),s.keys.forEach((o,c)=>this.push(o,a[c]))}else Object.entries(e).forEach(([s,a])=>{const o=parseInt(s);if(!isNaN(o))return this.push(o,...E.toArray(a));this.push(s,...E.toArray(a))});return}if(Array.isArray(e)||["string","number"].includes(typeof e)){const s=E.toArray(n),a=E.toArray(e);$a(a,s),s.forEach((o,c)=>this.push(a[c],o));return}throw new W(`[Frame] - invalid frame construction parameters. data parameter ust be a frame
@@ -84,6 +84,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
84
84
  `);const h=new te({data:n[u],dataType:l.dataType});o.push(l.key),c.push(h)}return new V(o,c)}if(e instanceof V||e instanceof Map){const o=new V(e);if(this.adapter==null)return o;const c=o.columns.map(u=>{const l=typeof u=="string"?this.adapter?.get(u):u;if(l==null)throw new W(`
85
85
  Channel ${u} was not provided in the list of channels when opening the writer
86
86
  `);return l});return new V(c,o.series)}const r=[],s=[],a=Object.entries(e);for(let o=0;o<a.length;o++){const[c,u]=a[o],l=await this.fetchChannel(c),h=new te({data:u,dataType:l.dataType});r.push(l.key),s.push(h)}return new V(r,s)}}class il{name;stream;constructor(e,n){this.stream=n,this.name=e}async receive(){const[e,n]=await this.stream.receive();if(n!=null)throw n;return e}received(){return this.stream.received()}async closeAndAck(){for(this.stream.closeSend();;){const[e,n]=await this.stream.receive();if(e!=null&&console.warn(`${this.name} received unexpected response on ${JSON.stringify(e)} closure.
87
- Please report this error to the Synnax team.`),n!=null){if(ze.matches(n))return;throw n}}}closeSend(){this.stream.closeSend()}send(e){const n=this.stream.send(e);if(n!=null)throw n}}const Hn=new w(-1);var wi=(t=>(t[t.Open=0]="Open",t[t.Next=1]="Next",t[t.Prev=2]="Prev",t[t.SeekFirst=3]="SeekFirst",t[t.SeekLast=4]="SeekLast",t[t.SeekLE=5]="SeekLE",t[t.SeekGE=6]="SeekGE",t[t.Valid=7]="Valid",t[t.Error=8]="Error",t))(wi||{}),al=(t=>(t[t.None=0]="None",t[t.Ack=1]="Ack",t[t.Data=2]="Data",t))(al||{});const e0=i.z.object({command:i.z.enum(wi),span:w.z.optional(),bounds:x.z.optional(),stamp:m.z.optional(),keys:L.array().optional(),chunkSize:i.z.number().optional(),downsampleFactor:i.z.int().optional()}),t0=i.z.object({variant:i.z.enum(al),ack:i.z.boolean(),command:i.z.enum(wi),error:Le.payloadZ.optional().nullable(),frame:or.optional()});class bn{stream;adapter;value;constructor(e,n){this.stream=new il("Iterator",e),this.value=new V,this.adapter=n}static async _open(e,n,r,s,a={}){const o=await cr.open(r,n),c=await s.stream("/frame/iterate",e0,t0),u=new bn(c,o);return await u.execute({command:0,keys:Array.from(o.keys),bounds:new x(e),chunkSize:a.chunkSize??1e5,downsampleFactor:a.downsampleFactor??1}),u}async next(e=Hn){return await this.execute({command:1,span:new w(e)})}async prev(e=Hn){return await this.execute({command:2,span:new w(e)})}async seekFirst(){return await this.execute({command:3})}async seekLast(){return await this.execute({command:4})}async seekLE(e){return await this.execute({command:5,stamp:new m(e)})}async seekGE(e){return await this.execute({command:6,stamp:new m(e)})}async valid(){return await this.execute({command:7})}async close(){await this.stream.closeAndAck()}[Symbol.asyncIterator](){return new n0(this)}async execute(e){for(this.stream.send(e),this.value=new V;;){const n=await this.stream.receive();if(n.variant===1)return n.ack;this.value.push(this.adapter.adapt(new V(n.frame)))}}}class n0{iter;open=!1;constructor(e){this.iter=e}async next(){try{let e=!0;return this.open||(await this.iter.seekFirst()||(e=!1),this.open=!0),await this.iter.next()||(e=!1),e||await this.iter.close(),{done:!e,value:this.iter.value}}catch(e){throw await this.iter.close(),e}}}class ol{retriever;streamClient;constructor(e,n){this.retriever=e,this.streamClient=n}async read(e){const{channels:n,timeRange:r,channelNames:s,iteratorConfig:a}=e,o=await this.retriever.retrieve(n),c=new Set;o.forEach(h=>{c.add(h.key),h.index!==0&&c.add(h.index)});const u=Array.from(c).filter(h=>!o.some(d=>d.key===h));if(u.length>0){const h=await this.retriever.retrieve(u);o.push(...h)}const l=await bn._open(r,Array.from(c),this.retriever,this.streamClient,a);return r0({iterator:l,channelPayloads:o,headers:s})}}const r0=({iterator:t,channelPayloads:e,headers:n})=>{const r=lg.getOS()==="Windows"?`\r
87
+ Please report this error to the Synnax team.`),n!=null){if(ze.matches(n))return;throw n}}}closeSend(){this.stream.closeSend()}send(e){const n=this.stream.send(e);if(n!=null)throw n}}const Hn=new w(-1);var wi=(t=>(t[t.Open=0]="Open",t[t.Next=1]="Next",t[t.Prev=2]="Prev",t[t.SeekFirst=3]="SeekFirst",t[t.SeekLast=4]="SeekLast",t[t.SeekLE=5]="SeekLE",t[t.SeekGE=6]="SeekGE",t[t.Valid=7]="Valid",t[t.Error=8]="Error",t))(wi||{}),al=(t=>(t[t.None=0]="None",t[t.Ack=1]="Ack",t[t.Data=2]="Data",t))(al||{});const eE=i.z.object({command:i.z.enum(wi),span:w.z.optional(),bounds:x.z.optional(),stamp:m.z.optional(),keys:L.array().optional(),chunkSize:i.z.number().optional(),downsampleFactor:i.z.int().optional()}),tE=i.z.object({variant:i.z.enum(al),ack:i.z.boolean(),command:i.z.enum(wi),error:Le.payloadZ.optional().nullable(),frame:or.optional()});class bn{stream;adapter;value;constructor(e,n){this.stream=new il("Iterator",e),this.value=new V,this.adapter=n}static async _open(e,n,r,s,a={}){const o=await cr.open(r,n),c=await s.stream("/frame/iterate",eE,tE),u=new bn(c,o);return await u.execute({command:0,keys:Array.from(o.keys),bounds:new x(e),chunkSize:a.chunkSize??1e5,downsampleFactor:a.downsampleFactor??1}),u}async next(e=Hn){return await this.execute({command:1,span:new w(e)})}async prev(e=Hn){return await this.execute({command:2,span:new w(e)})}async seekFirst(){return await this.execute({command:3})}async seekLast(){return await this.execute({command:4})}async seekLE(e){return await this.execute({command:5,stamp:new m(e)})}async seekGE(e){return await this.execute({command:6,stamp:new m(e)})}async valid(){return await this.execute({command:7})}async close(){await this.stream.closeAndAck()}[Symbol.asyncIterator](){return new nE(this)}async execute(e){for(this.stream.send(e),this.value=new V;;){const n=await this.stream.receive();if(n.variant===1)return n.ack;this.value.push(this.adapter.adapt(new V(n.frame)))}}}class nE{iter;open=!1;constructor(e){this.iter=e}async next(){try{let e=!0;return this.open||(await this.iter.seekFirst()||(e=!1),this.open=!0),await this.iter.next()||(e=!1),e||await this.iter.close(),{done:!e,value:this.iter.value}}catch(e){throw await this.iter.close(),e}}}class ol{retriever;streamClient;constructor(e,n){this.retriever=e,this.streamClient=n}async read(e){const{channels:n,timeRange:r,channelNames:s,iteratorConfig:a}=e,o=await this.retriever.retrieve(n),c=new Set;o.forEach(h=>{c.add(h.key),h.index!==0&&c.add(h.index)});const u=Array.from(c).filter(h=>!o.some(d=>d.key===h));if(u.length>0){const h=await this.retriever.retrieve(u);o.push(...h)}const l=await bn._open(r,Array.from(c),this.retriever,this.streamClient,a);return rE({iterator:l,channelPayloads:o,headers:s})}}const rE=({iterator:t,channelPayloads:e,headers:n})=>{const r=lg.getOS()==="Windows"?`\r
88
88
  `:`
89
- `,s=new TextEncoder;let a=!1,o=!1;const c=s0(e),{columns:u,columnsByIndexKey:l,emptyGroupStrings:h}=i0(e,c,n);let d=[],f=0,b=[];const N=O=>{for(const[S]of c){const A=O.get(S);if(A.length===0)continue;const C=(l.get(S)??[]).map(_=>O.get(_.key));for(let _=0;_<A.length;_++){const le=A.at(_,!0),ae=C.map(ge=>Ji.formatValue(ge.at(_,!0)));b.push({time:le,values:ae,indexKey:S})}}},k=(O,S=!1)=>{b.length>0&&(b.sort((C,_)=>Number(C.time-_.time)),f>0&&(d=d.slice(f),f=0),d=a0(d,b),b=[]);const A=[],D=d.length;for(;f<D&&A.length<O;){const C=d[f].time;if(!S&&d[D-1].time===C)break;const _=new Map;for(;f<D&&d[f].time===C;){const ae=d[f++];_.set(ae.indexKey,ae)}const le=[];for(const[ae]of c){const ge=_.get(ae);le.push(ge?.values.join(",")??h.get(ae)??"")}A.push(le.join(","))}return A};return new ReadableStream({async pull(O){try{if(o||(await t.seekFirst(),o=!0),!a){const C=u.map(_=>Ji.formatValue(_.header)).join(",");O.enqueue(s.encode(`${C}${r}`)),a=!0}d.length-f+b.length<Ma&&await t.next()&&N(t.value);const A=k(Ma);if(A.length>0&&O.enqueue(s.encode(`${A.join(r)}${r}`)),d.length-f===0||b.length===0){if(!await t.next()){const _=k(1/0,!0);_.length>0&&O.enqueue(s.encode(`${_.join(r)}${r}`)),await t.close(),O.close();return}N(t.value)}}catch(S){await t.close(),O.error(S)}},async cancel(){await t.close()}})},s0=t=>{const e=new Map;for(const n of t){if(n.index===0)continue;let r=e.get(n.index);r==null&&(r=[n.index],e.set(n.index,r)),!n.isIndex&&!r.includes(n.key)&&r.push(n.key)}return e},i0=(t,e,n)=>{const r=new Map(t.map(c=>[c.key,c])),s=[],a=new Map,o=new Map;for(const[c,u]of e){const l=[];for(const h of u){const d=r.get(h);if(d==null)throw new ct(`Channel ${h} not found`);const f={key:h,header:n?.[h]??n?.[d.name]??d.name};s.push(f),l.push(f)}a.set(c,l),o.set(c,",".repeat(l.length-1))}return{columns:s,columnsByIndexKey:a,emptyGroupStrings:o}},a0=(t,e)=>{const n=[];let r=0,s=0;for(;r<t.length&&s<e.length;)t[r].time<=e[s].time?n.push(t[r++]):n.push(e[s++]);return n.push(...t.slice(r),...e.slice(s)),n},Ma=1e3,o0=i.z.object({keys:i.z.number().array(),downsampleFactor:i.z.int(),throttleRate:G.z.optional()}),c0=i.z.object({frame:or}),Ra=i.z.object({channels:mt,downsampleFactor:i.z.int().default(1),throttleRate:G.z.default(new G(0)),useHighPerformanceCodec:i.z.boolean().default(!0)}),bi=Ra.or(mt.transform(t=>Ra.parse({channels:t}))),cl=(t,e)=>async n=>{const r=bi.parse(n),s=await cr.open(t,r.channels);r.useHighPerformanceCodec&&(e=e.withCodec(new QS(s.codec)));const a=await e.stream("/frame/stream",o0,c0),o=new u0(a,s,r.downsampleFactor,r.throttleRate);a.send({keys:Array.from(s.keys),downsampleFactor:r.downsampleFactor,throttleRate:r.throttleRate});const[,c]=await a.receive();if(c!=null)throw c;return o},ul=async(t,e,n)=>await cl(t,e)(n);class u0{stream;adapter;downsampleFactor;throttleRate;constructor(e,n,r=1,s=new G(0)){this.stream=new il("Streamer",e),this.adapter=n,this.downsampleFactor=r,this.throttleRate=s}get keys(){return Array.from(this.adapter.keys)}async next(){try{return{done:!1,value:await this.read()}}catch(e){if(ze.matches(e))return{done:!0,value:void 0};throw e}}async read(){return this.adapter.adapt(new V((await this.stream.receive()).frame))}async update(e){await this.adapter.update(e)&&this.stream.send({keys:Array.from(this.adapter.keys),downsampleFactor:this.downsampleFactor,throttleRate:this.throttleRate})}close(){this.stream.closeSend()}[Symbol.asyncIterator](){return this}}class ur{wrapped_=null;breaker;opener;config;constructor(e,n,r={}){this.opener=e,this.config=bi.parse(n);const{maxRetries:s=5e3,baseInterval:a=w.seconds(1),scale:o=1}=r??{};this.breaker=new Bs.Breaker({maxRetries:s,baseInterval:a,scale:o})}static async open(e,n,r){const s=new ur(e,n,r);return await s.runStreamer(),s}async runStreamer(){for(;;)try{this.wrapped_!=null&&this.wrapped_.close(),this.wrapped_=await this.opener(this.config),this.breaker.reset();return}catch(e){if(this.wrapped_=null,!await this.breaker.wait())throw e;console.error("failed to open streamer",e);continue}}get wrapped(){if(this.wrapped_==null)throw new Error("stream closed");return this.wrapped_}async update(e){this.config.channels=mt.parse(e);try{await this.wrapped.update(e)}catch{return await this.runStreamer(),await this.update(e)}}async next(){try{return{done:!1,value:await this.read()}}catch(e){if(ze.matches(e))return{done:!0,value:void 0};throw e}}async read(){try{const e=await this.wrapped.read();return this.breaker.reset(),e}catch(e){if(ze.matches(e))throw e;return await this.runStreamer(),await this.read()}}close(){this.wrapped.close()}get keys(){return this.wrapped.keys}[Symbol.asyncIterator](){return this}}class ll extends Qm.Observer{streamer;closePromise;constructor(e,n){super(n),this.streamer=e,this.closePromise=this.stream()}async update(e){await this.streamer.update(e)}async close(){this.streamer.close(),await this.closePromise}async stream(){for await(const e of this.streamer)this.notify(e)}}var sn=(t=>(t[t.PersistStream=1]="PersistStream",t[t.Persist=2]="Persist",t[t.Stream=3]="Stream",t))(sn||{});const l0=new w(-1);class gs extends Ae.sub("writer_closed"){constructor(){super("WriterClosed")}}const h0=i.z.enum(sn).or(i.z.enum(["persist","stream","persistStream"]).transform(t=>{switch(t){case"persist":return 2;case"stream":return 3;case"persistStream":return 1}})),hl=i.z.object({start:m.z.optional(),controlSubject:pe.subjectZ.optional(),authorities:i.z.union([pe.authorityZ.transform(t=>[t]),pe.authorityZ.array()]).default([pe.ABSOLUTE_AUTHORITY]),mode:h0.default(1),errOnUnauthorized:i.z.boolean().default(!1),enableAutoCommit:i.z.boolean().default(!0),autoIndexPersistInterval:w.z.default(w.SECOND),useHighPerformanceCodec:i.z.boolean().default(!0)}),f0=hl.extend({keys:L.array().optional()}),ja=hl.extend({channels:mt}),fl=ja.or(mt.transform(t=>ja.parse({channels:t,start:m.now()}))),d0=i.z.object({command:i.z.enum($e),config:f0.optional(),frame:or.optional(),buffer:i.z.instanceof(Uint8Array).optional()}),p0=i.z.object({command:i.z.enum($e),end:m.z,err:Le.payloadZ.optional()}),y0=i.z.tuple([i.z.union([i.z.record(L.or(Pe),pe.authorityZ),L.or(Pe),pe.authorityZ]),pe.authorityZ.optional()]).transform(([t,e])=>{if(pe.authorityZ.safeParse(t).success)return{keys:[],authorities:[t]};if(L.or(Pe).safeParse(t).success){if(e==null)throw new Error("authority is required when setting authority for a single channel");return{keys:[t],authorities:[e]}}const n=t;return{keys:Object.keys(n),authorities:Object.values(n)}});let dl=class pl{stream;adapter;closeErr=null;constructor(e,n){this.stream=e,this.adapter=n}static async _open(e,n,r){const s=fl.parse(r),a=await gi.open(e,s.channels);s.useHighPerformanceCodec&&(n=n.withCodec(new XS(a.codec)));const o=await n.stream("/frame/write",d0,p0),c=new pl(o,a);return await c.execute({command:$e.Open,config:{...s,keys:a.keys}}),c}async write(e,n){if(this.closeErr!=null)throw this.closeErr;if(this.stream.received())return await this.close();const r=await this.adapter.adapt(e,n);this.stream.send({command:$e.Write,frame:r.toPayload()})}async setAuthority(e,n){if(this.closeErr!=null)throw this.closeErr;const r=y0.parse([e,n]),s={keys:await this.adapter.adaptParams(r.keys),authorities:r.authorities};await this.execute({command:$e.SetAuthority,config:s})}async commit(){if(this.closeErr!=null)throw this.closeErr;return this.stream.received()?(await this.closeInternal(null),m.ZERO):(await this.execute({command:$e.Commit})).end}async close(){await this.closeInternal(null)}async closeInternal(e){if(this.closeErr!=null)throw this.closeErr;for(this.closeErr=e,this.stream.closeSend();;){if(this.closeErr!=null){if(gs.matches(this.closeErr))return null;throw this.closeErr}const[n,r]=await this.stream.receive();r!=null?this.closeErr=ze.matches(r)?new gs:r:this.closeErr=Le.decode(n?.err)}}async execute(e){const n=this.stream.send(e);for(n!=null&&await this.closeInternal(n);;){const[r,s]=await this.stream.receive();s!=null&&await this.closeInternal(s);const a=Le.decode(r?.err);if(a!=null&&await this.closeInternal(a),r?.command==e.command)return r}}};const yl=J("framer"),m0=yl("");let ml=class{streamClient;retriever;deleter;reader;constructor(e,n,r){this.streamClient=e,this.retriever=r,this.deleter=new HS(n),this.reader=new ol(r,e)}async openIterator(e,n,r){return await bn._open(e,n,this.retriever,this.streamClient,r)}async openWriter(e){return await dl._open(this.retriever,this.streamClient,e)}async openStreamer(e){return await ul(this.retriever,this.streamClient,e)}async write(e,n,r){if(r==null){const a=n,o=await this.openWriter({start:e,channels:Object.keys(a),mode:sn.Persist,errOnUnauthorized:!0,autoIndexPersistInterval:w.MAX});return await o.write(a),await o.close()}const s=await this.openWriter({start:e,channels:n,mode:sn.Persist,errOnUnauthorized:!0,autoIndexPersistInterval:w.MAX});await s.write(n,r),await s.close()}async read(e,n){if(!("start"in e))return this.reader.read(e);const{single:r}=ve(n),s=await this.readFrame(e,n);return r?s.get(n):s}async readFrame(e,n){const r=await this.openIterator(e,n),s=new V;try{for await(const a of r)s.push(a)}finally{await r.close()}return s}async readLatest(e,n=1){const{single:r}=ve(e),s=await this.readLatestNFrame(e,n);return r?s.get(e):s}async readLatestNFrame(e,n){const r=await this.openIterator(x.MAX,e,{chunkSize:n}),s=new V;if(n>0)try{await r.seekLast(),await r.prev(Hn),s.push(r.value)}finally{await r.close()}return s}async delete(e,n){const{normalized:r,variant:s}=ve(e),a=new x(n);return s==="keys"?await this.deleter.delete({keys:r,bounds:a}):await this.deleter.delete({names:r,bounds:a})}};const g0=Object.freeze(Object.defineProperty({__proto__:null,ALWAYS_INDEX_PERSIST_ON_AUTO_COMMIT:l0,AUTO_SPAN:Hn,Client:ml,Frame:V,HardenedStreamer:ur,Iterator:bn,ObservableStreamer:ll,Reader:ol,TYPE_ONTOLOGY_ID:m0,Writer:dl,WriterClosedError:gs,WriterCommand:$e,WriterMode:sn,createStreamOpener:cl,frameZ:or,ontologyID:yl,openStreamer:ul,seriesFromPayload:tl,seriesToPayload:nl,streamerConfigZ:bi,writerConfigZ:fl},Symbol.toStringTag,{value:"Module"})),w0=pe.ABSOLUTE_AUTHORITY,b0=pe.ZERO_AUTHORITY,v0=pe.stateZ(i.z.number()),z0=t=>t.to==null?`${t.from?.resource} - ${t.from?.subject.name} -> released`:t.from==null?`${t.to.resource} - released -> ${t.to.subject.name} (${t.to.authority.toString()})`:`${t.to.resource} - ${t.from.subject.name} -> ${t.to.subject.name} (${t.to.authority.toString()})`,T0=i.z.object({transfers:i.z.array(pe.transferZ(L))});class gl extends ll{states;codec;constructor(e){super(e,n=>{const r=this.codec.decode(n.series[0].buffer,T0);return this.merge(r),[r.transfers,!0]}),this.states=new Map,this.codec=new Jn.JSONCodec}subjects(){const e=new Map;return this.states.forEach(n=>e.set(n.subject.key,n.subject)),Array.from(e.values())}merge(e){e.transfers.forEach(n=>{n.from==null&&n.to==null&&console.warn("Invalid transfer: ",n),n.to==null?this.states.delete(n.from.resource):this.states.set(n.to.resource,n.to)})}}const wl="sy_node_1_control";let bl=class{framer;constructor(e){this.framer=e}async openStateTracker(){const e=await ur.open(async n=>await this.framer.openStreamer(n),wl);return new gl(e)}};const O0=Object.freeze(Object.defineProperty({__proto__:null,ABSOLUTE_AUTHORITY:w0,CONTROL_STATE_CHANNEL_NAME:wl,Client:bl,StateTracker:gl,ZERO_AUTHORITY:b0,stateZ:v0,transferString:z0},Symbol.toStringTag,{value:"Module"})),Te=i.z.uint32(),vl=i.z.object({rack:Te}),zl=Qe.statusZ(vl),lr=i.z.object({key:Te,name:i.z.string(),status:be.nullToUndefined(zl)}),Tl=lr.partial({key:!0}),Mt=i.z.string(),Ol=i.z.object({rack:Te,device:Mt}),Sl=Qe.statusZ(Ol),hr=({properties:t,make:e,model:n}={})=>i.z.object({key:Mt,rack:Te.min(1,"Must select a location to connect from"),name:i.z.string().min(1,"Name is required"),make:e??i.z.string().min(1,"Make is required"),model:n??i.z.string().min(1,"Model is required"),location:i.z.string().min(1,"Location is required"),configured:i.z.boolean().optional(),properties:t??oe.nullishToEmpty(),status:be.nullToUndefined(Sl)}),El=(t={})=>hr(t).extend({properties:t?.properties??oe.nullishToEmpty()}),S0="sy_device_set",E0="sy_device_delete",N0=t=>i.z.object({devices:be.toArray(El(t))}),$0=t=>i.z.object({devices:hr(t).array()}),k0=i.z.object({keys:Mt.array()}),A0=i.z.object({}),I0=i.z.object({keys:Mt.array().optional(),names:i.z.string().array().optional(),makes:i.z.string().array().optional(),models:i.z.string().array().optional(),locations:i.z.string().array().optional(),racks:Te.array().optional(),searchTerm:i.z.string().optional(),limit:i.z.int().optional(),offset:i.z.int().optional(),includeStatus:i.z.boolean().optional()}),Z0=t=>i.z.object({devices:E.nullableZ(hr(t))}),x0=i.z.object({key:Mt,includeStatus:i.z.boolean().optional()}).transform(({key:t,includeStatus:e})=>({keys:[t],includeStatus:e})),C0=i.z.union([x0,I0]);let Nl=class{client;constructor(e){this.client=e}async retrieve(e){const{schemas:n,...r}=e,s=typeof r=="object"&&"key"in r,a=await T(this.client,"/device/retrieve",r,C0,Z0(n));return ue("Device",r,a.devices,s),s?a.devices[0]:a.devices}async create(e,n){const r=!Array.isArray(e),s=await T(this.client,"/device/create",{devices:E.toArray(e)},N0(n),$0(n));return r?s.devices[0]:s.devices}async delete(e){await T(this.client,"/device/delete",{keys:E.toArray(e)},k0,A0)}};const vi=J("device"),_0=vi(""),M0=t=>ke(vi(t)),R0=Object.freeze(Object.defineProperty({__proto__:null,Client:Nl,DELETE_CHANNEL_NAME:E0,SET_CHANNEL_NAME:S0,TYPE_ONTOLOGY_ID:_0,deviceZ:hr,keyZ:Mt,newZ:El,ontologyID:vi,statusDetailsZ:Ol,statusKey:M0,statusZ:Sl},Symbol.toStringTag,{value:"Module"})),gt=i.z.uuid(),fr=i.z.object({key:gt,name:i.z.string(),data:oe.unknownZ.or(i.z.string().transform(Ze))}),$l=fr.partial({key:!0}).transform(t=>({...t,data:JSON.stringify(t.data)})),xe=i.z.uuid(),dr=i.z.object({key:xe,name:i.z.string().min(1,"Name is required"),layout:oe.unknownZ.or(i.z.string().transform(Ze))}),kl=dr.partial({key:!0}).transform(t=>({...t,layout:JSON.stringify(t.layout)})),Al=dr.omit({layout:!0}).extend({layout:i.z.string().transform(Ze)}),j0=i.z.object({keys:xe.array().optional(),searchTerm:i.z.string().optional(),author:Ie.optional(),offset:i.z.int().optional(),limit:i.z.int().optional()}),U0=i.z.object({workspaces:kl.array()}),P0=i.z.object({key:xe,name:i.z.string()}),L0=i.z.object({key:xe,layout:oe.unknownZ.transform(t=>JSON.stringify(t))}),D0=i.z.object({keys:xe.array()}),B0=i.z.object({workspaces:E.nullableZ(dr)}),q0=i.z.object({workspaces:Al.array()}),Rr=i.z.object({}),F0="sy_workspace_set",Y0="sy_workspace_delete";let Il=class{client;constructor(e){this.client=e}async create(e){const n=Array.isArray(e),r=await T(this.client,"/workspace/create",{workspaces:E.toArray(e)},U0,q0);return n?r.workspaces:r.workspaces[0]}async rename(e,n){await T(this.client,"/workspace/rename",{key:e,name:n},P0,Rr)}async setLayout(e,n){await T(this.client,"/workspace/set-layout",{key:e,layout:n},L0,Rr)}async retrieve(e){let n;const r=typeof e!="string";typeof e=="string"||Array.isArray(e)?n={keys:E.toArray(e)}:n=e;const s=await T(this.client,"/workspace/retrieve",n,j0,B0);return r?s.workspaces:s.workspaces[0]}async delete(e){await T(this.client,"/workspace/delete",{keys:E.toArray(e)},D0,Rr)}};const Zl=J("workspace"),H0=Zl(""),V0=Object.freeze(Object.defineProperty({__proto__:null,Client:Il,DELETE_CHANNEL_NAME:Y0,SET_CHANNEL_NAME:F0,TYPE_ONTOLOGY_ID:H0,keyZ:xe,newZ:kl,ontologyID:Zl,remoteZ:Al,workspaceZ:dr},Symbol.toStringTag,{value:"Module"})),G0=i.z.object({key:gt,name:i.z.string()}),W0=i.z.object({key:gt,data:i.z.string()}),J0=i.z.object({keys:gt.array()}),K0=i.z.object({keys:gt.array()}),xl=i.z.object({key:gt}).transform(({key:t})=>({keys:[t]})),Cl=i.z.union([xl,K0]),X0=i.z.object({linePlots:E.nullableZ(fr)}),Q0=i.z.object({workspace:xe,linePlots:$l.array()}),eE=i.z.object({linePlots:fr.array()}),jr=i.z.object({});let _l=class{client;constructor(e){this.client=e}async create(e,n){const r=Array.isArray(n),s=await T(this.client,"/lineplot/create",{workspace:e,linePlots:E.toArray(n)},Q0,eE);return r?s.linePlots:s.linePlots[0]}async rename(e,n){await T(this.client,"/lineplot/rename",{key:e,name:n},G0,jr)}async setData(e,n){await T(this.client,"/lineplot/set-data",{key:e,data:JSON.stringify(n)},W0,jr)}async retrieve(e){const n=xl.safeParse(e).success,r=await T(this.client,"/lineplot/retrieve",e,Cl,X0);return ue("LinePlot",e,r.linePlots,n),n?r.linePlots[0]:r.linePlots}async delete(e){await T(this.client,"/lineplot/delete",{keys:E.toArray(e)},J0,jr)}};const Ml=J("lineplot"),tE=Ml(""),nE=Object.freeze(Object.defineProperty({__proto__:null,Client:_l,TYPE_ONTOLOGY_ID:tE,keyZ:gt,linePlotZ:fr,newZ:$l,ontologyID:Ml,retrieveArgsZ:Cl},Symbol.toStringTag,{value:"Module"})),wt=i.z.uuid(),pr=i.z.object({key:wt,name:i.z.string(),data:oe.unknownZ.or(i.z.string().transform(Ze))}),Rl=pr.partial({key:!0}).transform(t=>({...t,data:JSON.stringify(t.data)})),rE=i.z.object({key:wt,name:i.z.string()}),sE=i.z.object({key:wt,data:i.z.string()}),iE=i.z.object({keys:wt.array()}),aE=i.z.object({keys:wt.array()}),jl=i.z.object({key:wt}).transform(({key:t})=>({keys:[t]})),Ul=i.z.union([jl,aE]),oE=i.z.object({logs:E.nullableZ(pr)}),cE=i.z.object({workspace:xe,logs:Rl.array()}),uE=i.z.object({logs:pr.array()}),Ur=i.z.object({});let Pl=class{client;constructor(e){this.client=e}async create(e,n){const r=Array.isArray(n),s=await T(this.client,"/log/create",{workspace:e,logs:E.toArray(n)},cE,uE);return r?s.logs:s.logs[0]}async rename(e,n){await T(this.client,"/log/rename",{key:e,name:n},rE,Ur)}async setData(e,n){await T(this.client,"/log/set-data",{key:e,data:JSON.stringify(n)},sE,Ur)}async retrieve(e){const n=jl.safeParse(e).success,r=await T(this.client,"/log/retrieve",e,Ul,oE);return ue("Log",e,r.logs,n),n?r.logs[0]:r.logs}async delete(e){await T(this.client,"/log/delete",{keys:E.toArray(e)},iE,Ur)}};const Ll=J("log"),lE=Ll(""),hE=Object.freeze(Object.defineProperty({__proto__:null,Client:Pl,TYPE_ONTOLOGY_ID:lE,keyZ:wt,logZ:pr,newZ:Rl,ontologyID:Ll,retrieveArgsZ:Ul},Symbol.toStringTag,{value:"Module"})),fE="sy_rack_set",dE="sy_rack_delete",pE=i.z.object({keys:Te.array().optional(),names:i.z.string().array().optional(),searchTerm:i.z.string().optional(),embedded:i.z.boolean().optional(),hostIsNode:i.z.boolean().optional(),limit:i.z.int().optional(),offset:i.z.int().optional(),includeStatus:i.z.boolean().optional()}),yE=i.z.object({racks:E.nullableZ(lr)}),mE=i.z.union([i.z.object({key:Te,includeStatus:i.z.boolean().optional()}).transform(({key:t,includeStatus:e})=>({keys:[t],includeStatus:e})),i.z.object({name:i.z.string(),includeStatus:i.z.boolean().optional()}).transform(({name:t,includeStatus:e})=>({names:[t],includeStatus:e}))]),gE=pE,wE=i.z.union([mE,gE]),bE=i.z.object({racks:Tl.array()}),vE=i.z.object({racks:lr.array()}),zE=i.z.object({keys:Te.array()}),TE=i.z.object({});let Dl=class{client;tasks;constructor(e,n){this.client=e,this.tasks=n}async delete(e){await T(this.client,"/rack/delete",{keys:E.toArray(e)},zE,TE)}async create(e){const n=!Array.isArray(e),r=await T(this.client,"/rack/create",{racks:E.toArray(e)},bE,vE),s=this.sugar(r.racks);return n?s[0]:s}async retrieve(e){const n="key"in e||"name"in e,r=await T(this.client,"/rack/retrieve",e,wE,yE),s=this.sugar(r.racks);return ue("Rack",e,s,n),n?s[0]:s}sugar(e){const n=!Array.isArray(e),r=E.toArray(e).map(({key:s,name:a,status:o})=>new Bl(s,a,this.tasks,o));return n?r[0]:r}};class Bl{key;name;status;tasks;constructor(e,n,r,s){this.key=e,this.name=n,this.tasks=r,this.status=s}async listTasks(){return await this.tasks.retrieve({rack:this.key})}async createTask(e,n){return e.key=((BigInt(this.key)<<32n)+(BigInt(e.key??0)&0xffffffffn)).toString(),await this.tasks.create(e,n)}async deleteTask(e){await this.tasks.delete([e])}get payload(){return{key:this.key,name:this.name,status:this.status}}}const zi=J("rack"),OE=zi(0),SE=t=>ke(zi(t)),EE=Object.freeze(Object.defineProperty({__proto__:null,Client:Dl,DELETE_CHANNEL_NAME:dE,Rack:Bl,SET_CHANNEL_NAME:fE,TYPE_ONTOLOGY_ID:OE,keyZ:Te,newZ:Tl,ontologyID:zi,rackZ:lr,statusDetailsZ:vl,statusKey:SE,statusZ:zl},Symbol.toStringTag,{value:"Module"})),ql="sy_range_alias_set",Fl="sy_range_alias_delete",NE=i.z.object({alias:i.z.string().optional(),channel:L,range:X}),Yl="---",Hl=t=>`${t.range}${Yl}${t.channel}`,Vl=t=>{const[e,n]=t.split(Yl);return{range:e,channel:Number(n)}},$E=Object.freeze(Object.defineProperty({__proto__:null,DELETE_CHANNEL_NAME:Fl,SET_CHANNEL_NAME:ql,aliasZ:NE,createKey:Hl,decodeDeleteChange:Vl},Symbol.toStringTag,{value:"Module"})),kE=i.z.object({range:X,aliases:i.z.string().array()}),AE=i.z.object({aliases:i.z.record(i.z.string(),L)}),IE=i.z.object({range:X,aliases:i.z.record(L,i.z.string())}),ZE=i.z.unknown(),xE=i.z.object({range:X,channels:L.array()}),CE=i.z.unknown(),_E=i.z.object({range:X}),ME=i.z.object({aliases:i.z.record(i.z.string(),i.z.string())}),RE=i.z.object({range:X,channels:L.array()}),jE=i.z.object({aliases:i.z.record(i.z.string(),i.z.string())});let vt=class{cache=new Map;client;rangeKey;constructor(e,n){this.rangeKey=e,this.cache=new Map,this.client=n}async resolve(e){const n=[],r=typeof e=="string",s={};if(r){const o=this.cache.get(e);if(o!=null)return o;n.push(e)}else e.forEach(o=>{const c=this.cache.get(o);c!=null?s[o]=c:n.push(o)});if(n.length===0)return s;const a=await T(this.client,"/range/alias/resolve",{range:this.rangeKey,aliases:n},kE,AE);return Object.entries(a.aliases).forEach(([o,c])=>this.cache.set(o,c)),r?a.aliases[n[0]]:{...s,...a.aliases}}async set(e){await T(this.client,"/range/alias/set",{range:this.rangeKey,aliases:e},IE,ZE)}async list(){return(await T(this.client,"/range/alias/list",{range:this.rangeKey},_E,ME)).aliases}async retrieve(e){const n=typeof e=="number",r=await T(this.client,"/range/alias/retrieve",{range:this.rangeKey,channels:E.toArray(e)},RE,jE);return n?r.aliases[e]:r.aliases}async delete(e){await T(this.client,"/range/alias/delete",{range:this.rangeKey,channels:E.toArray(e)},xE,CE)}};const Gl="sy_range_kv_set",Wl="sy_range_kv_delete",yr=i.z.object({range:X,key:i.z.string(),value:i.z.string()}),Jl=({range:t,key:e})=>`${t}<--->${e}`,UE=i.z.object({range:X,keys:i.z.string().array()}),PE=i.z.object({pairs:E.nullableZ(yr)}),LE=i.z.object({range:X,pairs:yr.array()}),DE=i.z.object({range:X,keys:i.z.string().array()});let Ua=class{rangeKey;client;constructor(e,n){this.rangeKey=e,this.client=n}async get(e){const n=await T(this.client,"/range/kv/get",{range:this.rangeKey,keys:E.toArray(e)},UE,PE);return typeof e=="string"?n.pairs[0].value:Object.fromEntries(n.pairs.map(r=>[r.key,r.value]))}async list(){return this.get([])}async set(e,n=""){let r;typeof e=="string"?r=[{range:this.rangeKey,key:e,value:n}]:r=Object.entries(e).map(([s,a])=>({range:this.rangeKey,key:s,value:a})),await T(this.client,"/range/kv/set",{range:this.rangeKey,pairs:r},LE,i.z.unknown())}async delete(e){await T(this.client,"/range/kv/delete",{range:this.rangeKey,keys:E.toArray(e)},DE,i.z.unknown())}};const BE="sy_range_set",qE="sy_range_delete";class Kl{key;name;kv;timeRange;color;parent;labels;channels;aliaser;frameClient;labelClient;ontologyClient;rangeClient;constructor({name:e,timeRange:n=x.ZERO,key:r,color:s,parent:a,labels:o},{frameClient:c,kv:u,aliaser:l,channels:h,labelClient:d,ontologyClient:f,rangeClient:b}){this.key=r,this.name=e,this.timeRange=n,this.parent=a,this.labels=o,this.frameClient=c,this.color=s,this.kv=u,this.aliaser=l,this.channels=h,this.labelClient=d,this.ontologyClient=f,this.rangeClient=b}get ontologyID(){return st(this.key)}get payload(){let e=null;return this.parent!=null&&("payload"in this.parent?e=this.parent.payload:e=this.parent),{key:this.key,name:this.name,timeRange:this.timeRange,color:this.color,labels:this.labels,parent:e}}async setAlias(e,n){const r=await this.channels.retrieve(e);if(r.length===0)throw new Ke(`Channel ${e} does not exist`);await this.aliaser.set({[r[0].key]:n})}async deleteAlias(...e){await this.aliaser.delete(e)}async listAliases(){return await this.aliaser.list()}async resolveAlias(e){return await this.aliaser.resolve(e)}async retrieveParent(){return this.rangeClient.retrieveParent(this.key)}async retrieveChildren(){const e=(await this.ontologyClient.retrieveChildren(this.ontologyID,{excludeFieldData:!0,types:["range"]})).map(n=>n.id.key);return await this.rangeClient.retrieve(e)}async read(e){return await this.frameClient.read(this.timeRange,e)}async retrieveLabels(){return await this.labelClient.retrieve({for:st(this.key)})}async addLabel(...e){await this.labelClient.label(st(this.key),e)}async removeLabel(...e){await this.labelClient.remove(st(this.key),e)}static sort(e,n){return x.sort(e.timeRange,n.timeRange)}}const FE=i.z.object({keys:X.array().optional(),names:i.z.string().array().optional(),searchTerm:i.z.string().optional(),overlapsWith:x.z.optional(),hasLabels:nt.array().optional(),limit:i.z.int().optional(),offset:i.z.int().optional(),includeLabels:i.z.boolean().optional(),includeParent:i.z.boolean().optional()}),YE=FE.or(X.array().transform(t=>({keys:t}))).or(X.transform(t=>({keys:[t]}))).or(i.z.string().transform(t=>({names:[t]}))).or(i.z.string().array().transform(t=>({names:t}))).or(x.z.transform(t=>({overlapsWith:t}))),HE=i.z.object({ranges:E.nullableZ(gn)});let Xl=class{type="range";frameClient;writer;unaryClient;channels;labelClient;ontologyClient;constructor(e,n,r,s,a,o){this.frameClient=e,this.writer=n,this.unaryClient=r,this.channels=s,this.labelClient=a,this.ontologyClient=o}async create(e,n){const r=!Array.isArray(e),s=this.sugarMany(await this.writer.create(E.toArray(e),n));return r?s[0]:s}async rename(e,n){await this.writer.rename(e,n)}async delete(e){await this.writer.delete(E.toArray(e))}async retrieve(e){const n=typeof e=="string",{ranges:r}=await T(this.unaryClient,"/range/retrieve",e,YE,HE);return ue("Range",e,r,n),n?this.sugarMany(r)[0]:this.sugarMany(r)}getKV(e){return new Ua(e,this.unaryClient)}async retrieveParent(e){const n=await this.ontologyClient.retrieveParents(st(e));if(n.length===0)return null;const r=n[0];return r.id.type!=="range"?null:await this.retrieve(r.id.key)}sugarOntologyResource(e){return this.sugarOne(Ql(e))}async retrieveAlias(e,n){return await new vt(e,this.unaryClient).retrieve(n)}async retrieveAliases(e,n){return await new vt(e,this.unaryClient).retrieve(n)}async listAliases(e){return await new vt(e,this.unaryClient).list()}async setAlias(e,n,r){await new vt(e,this.unaryClient).set({[n]:r})}async deleteAlias(e,n){await new vt(e,this.unaryClient).delete(n)}sugarOne(e){return new Kl(e,{frameClient:this.frameClient,kv:new Ua(e.key,this.unaryClient),aliaser:new vt(e.key,this.unaryClient),channels:this.channels,labelClient:this.labelClient,ontologyClient:this.ontologyClient,rangeClient:this})}sugarMany(e){return e.map(n=>this.sugarOne(n))}resourceToRange(e){return this.sugarOne({key:e.id.key,name:e.data?.name,timeRange:new x(e.data?.timeRange),color:e.data?.color,labels:[],parent:null})}};const st=J("range"),VE=st(""),GE=t=>({type:"range-alias",key:t}),Ql=({data:t,id:{key:e},name:n})=>{const r=x.z.parse(t?.timeRange),s=yc.colorZ.safeParse(t?.color);return{key:e,name:n,timeRange:r,color:s.success?s.data:void 0,labels:[],parent:null}},WE=Object.freeze(Object.defineProperty({__proto__:null,DELETE_CHANNEL:Wl,SET_CHANNEL:Gl,createPairKey:Jl,pairZ:yr},Symbol.toStringTag,{value:"Module"})),JE=i.z.object({ranges:gn.array()}),KE=i.z.object({parent:B.optional(),ranges:Hu.array()}),XE=i.z.object({keys:X.array()}),QE=i.z.object({}),eN=i.z.object({key:X,name:fi}),tN=i.z.object({});class eh{client;constructor(e){this.client=e}async rename(e,n){await T(this.client,"/range/rename",{key:e,name:n},eN,tN)}async create(e,n){return(await T(this.client,"/range/create",{ranges:e,...n},KE,JE)).ranges}async delete(e){await T(this.client,"/range/delete",{keys:e},XE,QE)}}const nN=Object.freeze(Object.defineProperty({__proto__:null,Client:Xl,DELETE_ALIAS_CHANNEL_NAME:Fl,DELETE_CHANNEL_NAME:qE,KV_DELETE_CHANNEL:Wl,KV_SET_CHANNEL:Gl,Range:Kl,SET_ALIAS_CHANNEL_NAME:ql,SET_CHANNEL_NAME:BE,TYPE_ONTOLOGY_ID:VE,Writer:eh,alias:$E,aliasKey:Hl,aliasOntologyID:GE,convertOntologyResourceToPayload:Ql,decodeDeleteAliasChange:Vl,keyZ:X,kv:WE,kvPairKey:Jl,kvPairZ:yr,nameZ:fi,newZ:Hu,ontologyID:st,payloadZ:gn},Symbol.toStringTag,{value:"Module"})),rt=i.z.uuid(),mr=i.z.object({key:rt,name:i.z.string(),data:oe.unknownZ.or(i.z.string().transform(Ze)),snapshot:i.z.boolean()}),th=mr.partial({key:!0,snapshot:!0}).transform(t=>({...t,data:JSON.stringify(t.data)})),Ti=mr.extend({data:i.z.string().transform(Ze)}),Rt=i.z.uuid(),nh=i.z.object({key:i.z.string(),name:i.z.string(),selectors:i.z.string().array().default([]),strokeColor:i.z.string().optional(),fillColor:i.z.string().optional()}),rh=i.z.object({key:i.z.string(),name:i.z.string(),regions:nh.array()}),sh=i.z.object({key:i.z.string(),position:Ps.xy,orientation:iy.outer}),rN=i.z.object({zoom:i.z.number().positive().default(1),position:Ps.xy}),ih=i.z.object({svg:i.z.string().min(1,"SVG is required"),states:rh.array(),variant:i.z.string().min(1,"Variant is required"),handles:sh.array(),scale:i.z.number().positive().default(1),scaleStroke:i.z.boolean().default(!1),previewViewport:rN.default({zoom:1,position:{x:0,y:0}})}),gr=i.z.object({key:Rt,version:i.z.literal(1).default(1),name:i.z.string().min(1,"Name is required"),data:ih}),ah=gr.partial({key:!0}),sN=i.z.object({symbols:ah.array(),parent:B}),iN=i.z.object({key:Rt,name:i.z.string()}),aN=i.z.object({keys:Rt.array()}),oN=i.z.object({keys:Rt.array().optional(),searchTerm:i.z.string().optional()}),cN=i.z.object({key:Rt}).transform(({key:t})=>({keys:[t]})),uN=i.z.union([cN,oN]),lN=i.z.object({symbols:E.nullableZ(gr)}),hN=i.z.object({symbols:gr.array()}),Pa=i.z.object({}),fN=i.z.object({}),dN=i.z.object({group:ar}),pN="sy_schematic_symbol_set",yN="sy_schematic_symbol_delete";let oh=class{client;constructor(e){this.client=e}async create(e){const n="symbols"in e,r=n?e.symbols:[e],s=await T(this.client,"/schematic/symbol/create",{symbols:r,parent:e.parent},sN,hN);return n?s.symbols:s.symbols[0]}async rename(e,n){await T(this.client,"/schematic/symbol/rename",{key:e,name:n},iN,Pa)}async retrieve(e){const n="key"in e,r=await T(this.client,"/schematic/symbol/retrieve",e,uN,lN);return ue("Schematic Symbol",e,r.symbols,n),n?r.symbols[0]:r.symbols}async delete(e){await T(this.client,"/schematic/symbol/delete",{keys:E.toArray(e)},aN,Pa)}async retrieveGroup(){return(await T(this.client,"/schematic/symbol/retrieve-group",{},fN,dN)).group}};const mN=J("schematic_symbol"),gN=Object.freeze(Object.defineProperty({__proto__:null,Client:oh,DELETE_CHANNEL_NAME:yN,SET_CHANNEL_NAME:pN,handleZ:sh,keyZ:Rt,newZ:ah,ontologyID:mN,regionZ:nh,specZ:ih,stateZ:rh,symbolZ:gr},Symbol.toStringTag,{value:"Module"})),wN=i.z.object({key:rt,name:i.z.string()}),bN=i.z.object({key:rt,data:i.z.string()}),vN=i.z.object({keys:rt.array()}),zN=i.z.object({key:rt,name:i.z.string(),snapshot:i.z.boolean()}),TN=i.z.object({keys:rt.array()}),ch=i.z.object({key:rt}).transform(({key:t})=>({keys:[t]})),uh=i.z.union([ch,TN]),ON=i.z.object({schematics:E.nullableZ(Ti)}),SN=i.z.object({workspace:xe,schematics:th.array()}),EN=i.z.object({schematics:Ti.array()}),NN=i.z.object({schematic:mr}),Pr=i.z.object({});let lh=class{symbols;client;constructor(e){this.client=e,this.symbols=new oh(e)}async create(e,n){const r=Array.isArray(n),s=await T(this.client,"/schematic/create",{workspace:e,schematics:E.toArray(n)},SN,EN);return r?s.schematics:s.schematics[0]}async rename(e,n){await T(this.client,"/schematic/rename",{key:e,name:n},wN,Pr)}async setData(e,n){await T(this.client,"/schematic/set-data",{key:e,data:JSON.stringify(n)},bN,Pr)}async retrieve(e){const n=ch.safeParse(e).success,r=await T(this.client,"/schematic/retrieve",e,uh,ON);return ue("Schematic",e,r.schematics,n),n?r.schematics[0]:r.schematics}async delete(e){await T(this.client,"/schematic/delete",{keys:E.toArray(e)},vN,Pr)}async copy(e){return(await T(this.client,"/schematic/copy",e,zN,NN)).schematic}};const hh=J("schematic"),$N=hh(""),kN=Object.freeze(Object.defineProperty({__proto__:null,Client:lh,TYPE_ONTOLOGY_ID:$N,keyZ:rt,newZ:th,ontologyID:hh,remoteZ:Ti,retrieveArgsZ:uh,schematicZ:mr,symbol:gN},Symbol.toStringTag,{value:"Module"})),vn=i.z.string(),wr=t=>Qe.statusZ(t),fh=t=>wr(t).omit({labels:!0}).extend({key:vn.optional()}),ws="sy_status_set",AN="sy_status_delete",dh=J("status"),IN=dh(""),ZN=t=>i.object({parent:B.optional(),statuses:fh(t).array()}),xN=t=>i.object({statuses:wr(t).array()}),CN=i.object({keys:vn.array()}),_N=i.object({}),MN=i.object({keys:vn.array().optional(),searchTerm:i.string().optional(),offset:i.int().optional(),limit:i.int().optional(),includeLabels:i.boolean().optional(),hasLabels:nt.array().optional()}),RN=i.object({key:vn,includeLabels:i.boolean().optional()}).transform(({key:t,includeLabels:e})=>({keys:[t],includeLabels:e})),jN=i.union([RN,MN]),UN=t=>i.object({statuses:E.nullableZ(wr(t))});let ph=class{type="status";client;constructor(e){this.client=e}async retrieve(e){const n="key"in e,r=await T(this.client,"/status/retrieve",e,jN,UN(e.detailsSchema));ue("Status",e,r.statuses,n);const s=r.statuses;return n?s[0]:s}async set(e,n={}){const r=Array.isArray(e),a=(await T(this.client,"/status/set",{statuses:E.toArray(e),parent:n.parent},ZN(n.detailsSchema),xN(n.detailsSchema))).statuses;return r?a:a[0]}async delete(e){await T(this.client,"/status/delete",{keys:E.toArray(e)},CN,_N)}};const PN=Object.freeze(Object.defineProperty({__proto__:null,Client:ph,DELETE_CHANNEL_NAME:AN,SET_CHANNEL_NAME:ws,TYPE_ONTOLOGY_ID:IN,keyZ:vn,newZ:fh,ontologyID:dh,statusZ:wr},Symbol.toStringTag,{value:"Module"})),bt=i.z.uuid(),Oi=i.z.object({key:bt,name:i.z.string(),data:oe.unknownZ.or(i.z.string().transform(Ze))}),yh=Oi.partial({key:!0}).transform(t=>({...t,data:JSON.stringify(t.data)})),Si=Oi.extend({data:i.z.string().transform(Ze)}),LN=i.z.object({key:bt,name:i.z.string()}),DN=i.z.object({key:bt,data:i.z.string()}),BN=i.z.object({keys:bt.array()}),qN=i.z.object({keys:bt.array()}),mh=i.z.object({key:bt}).transform(({key:t})=>({keys:[t]})),gh=i.z.union([mh,qN]),FN=i.z.object({tables:E.nullableZ(Si)}),YN=i.z.object({workspace:xe,tables:yh.array()}),HN=i.z.object({tables:Si.array()}),Lr=i.z.object({});let wh=class{client;constructor(e){this.client=e}async create(e,n){const r=Array.isArray(n),s=await T(this.client,"/table/create",{workspace:e,tables:E.toArray(n)},YN,HN);return r?s.tables:s.tables[0]}async rename(e,n){await T(this.client,"/table/rename",{key:e,name:n},LN,Lr)}async setData(e,n){await T(this.client,"/table/set-data",{key:e,data:JSON.stringify(n)},DN,Lr)}async retrieve(e){const n=mh.safeParse(e).success,r=await T(this.client,"/table/retrieve",e,gh,FN);return ue("Table",e,r.tables,n),n?r.tables[0]:r.tables}async delete(e){await T(this.client,"/table/delete",{keys:E.toArray(e)},BN,Lr)}};const bh=J("table"),VN=bh(""),GN=Object.freeze(Object.defineProperty({__proto__:null,Client:wh,TYPE_ONTOLOGY_ID:VN,keyZ:bt,newZ:yh,ontologyID:bh,remoteZ:Si,retrieveArgsZ:gh,tableZ:Oi},Symbol.toStringTag,{value:"Module"})),De=i.z.union([i.z.string(),i.z.bigint().transform(t=>t.toString()),i.z.number().transform(t=>t.toString())]),Ei=t=>i.z.object({task:De,running:i.z.boolean(),data:t,cmd:i.z.string().optional()}),Ni=t=>Qe.statusZ(Ei(t)),WN=t=>Ei(t).partial({task:!0}),vh=t=>Qe.statusZ(WN(t)).partial({key:!0,name:!0}),zn=(t={type:i.z.string(),config:oe.nullishToEmpty(),statusData:i.z.unknown()})=>i.z.object({key:De,name:i.z.string(),type:t.type,internal:i.z.boolean().optional(),config:t.config,status:Ni(t.statusData).optional().nullable(),snapshot:i.z.boolean().optional()}),zh=t=>zn(t).omit({key:!0,status:!0}).extend({key:De.transform(e=>e.toString()).optional(),config:t?.config??oe.nullishToEmpty(),status:vh(t?.statusData??i.z.unknown()).optional().nullable()}),JN=i.z.object({task:De,type:i.z.string(),key:i.z.string(),args:oe.unknownZ.or(i.z.string().transform(Ze)).or(i.z.array(i.z.unknown())).or(i.z.null()).optional()}),KN=t=>Number(BigInt(t)>>32n),XN=(t,e=0)=>((BigInt(t)<<32n)+BigInt(e)).toString(),bs="sy_task_cmd",QN="sy_task_set",e$="sy_task_delete",it=new Error("Task not created"),Th=async(t,e)=>{const n=await e.retrieveParents(Tn(t));return n.length===0?null:n[0]};class Oh{key;name;internal;type;snapshot;config;status;schemas;frameClient_;ontologyClient_;rangeClient_;get frameClient(){if(this.frameClient_==null)throw it;return this.frameClient_}get ontologyClient(){if(this.ontologyClient_==null)throw it;return this.ontologyClient_}get rangeClient(){if(this.rangeClient_==null)throw it;return this.rangeClient_}constructor({key:e,type:n,name:r,config:s,internal:a=!1,snapshot:o=!1,status:c},u,l,h,d){this.key=e,this.name=r,this.type=n,this.config=s,this.schemas=u??{type:i.z.string(),config:i.z.unknown(),statusData:i.z.unknown()},this.internal=a,this.snapshot=o,this.status=c,this.frameClient_=l,this.ontologyClient_=h,this.rangeClient_=d}get payload(){return{key:this.key,name:this.name,type:this.type,config:this.config,status:this.status,internal:this.internal}}get ontologyID(){return Tn(this.key)}async executeCommand(e){return await Nh({...e,frameClient:this.frameClient,task:this.key})}async executeCommandSync(e){return await $h({...e,frameClient:this.frameClient,task:this.key,name:this.name,statusDataZ:this.schemas.statusData})}async start(){await this.executeCommand({type:"start"})}async stop(){await this.executeCommand({type:"stop"})}async run(e){await this.start();try{return await e()}finally{await this.stop()}}async snapshottedTo(){if(this.ontologyClient==null||this.rangeClient==null)throw it;return this.snapshot?await Th(this.key,this.ontologyClient):null}}const t$=i.z.object({rack:Te.optional(),keys:De.array().optional(),names:i.z.string().array().optional(),types:i.z.string().array().optional(),includeStatus:i.z.boolean().optional(),internal:i.z.boolean().optional(),snapshot:i.z.boolean().optional(),searchTerm:i.z.string().optional(),offset:i.z.int().optional(),limit:i.z.int().optional()}),Sh=i.z.union([i.z.object({key:De,includeStatus:i.z.boolean().optional()}).transform(({key:t,includeStatus:e})=>({keys:[t],includeStatus:e})),i.z.object({name:i.z.string(),includeStatus:i.z.boolean().optional()}).transform(({name:t,includeStatus:e})=>({names:[t],includeStatus:e})),i.z.object({type:i.z.string(),rack:Te.optional()}).transform(({type:t,rack:e})=>({types:[t],rack:e}))]),n$=t$,r$=i.z.union([Sh,n$]),s$=t=>i.z.object({tasks:E.nullableZ(zn(t))}),i$=t=>i.z.object({tasks:zh(t).array()}),a$=t=>i.z.object({tasks:zn(t).array()}),o$=i.z.object({keys:De.array()}),c$=i.z.object({}),u$=i.z.object({key:De,name:i.z.string(),snapshot:i.z.boolean()}),l$=t=>i.z.object({task:zn(t)});let Eh=class{client;frameClient;ontologyClient;rangeClient;constructor(e,n,r,s){this.client=e,this.frameClient=n,this.ontologyClient=r,this.rangeClient=s}async create(e,n){const r=!Array.isArray(e),s=i$(n),a=a$(n),o=await T(this.client,"/task/create",{tasks:E.toArray(e)},s,a),c=this.sugar(o.tasks,n);return r?c[0]:c}async delete(e){await T(this.client,"/task/delete",{keys:E.toArray(e)},o$,c$)}async retrieve({schemas:e,...n}){const r=Sh.safeParse(n).success,a=(await T(this.client,"/task/retrieve",n,r$,s$(e))).tasks,o=this.sugar(a,e);return ue("Task",n,o,r),r?o[0]:o}async copy(e,n,r){const s=l$(),a=await T(this.client,"/task/copy",{key:e,name:n,snapshot:r},u$,s);return this.sugar(a.task)}async list(e){const n={internal:!1};return e!==void 0&&(n.rack=e),await this.retrieve(n)}async retrieveSnapshottedTo(e){if(this.ontologyClient==null)throw it;return await Th(e,this.ontologyClient)}sugar(e,n){const r=!Array.isArray(e),s=E.toArray(e).map(({key:a,name:o,type:c,config:u,status:l,internal:h,snapshot:d})=>new Oh({key:a,name:o,type:c,config:u,internal:h,snapshot:d,status:l},n,this.frameClient,this.ontologyClient,this.rangeClient));return r?s[0]:s}async executeCommand(e){return"commands"in e?await $i({...e,frameClient:this.frameClient}):await Nh({...e,frameClient:this.frameClient})}async executeCommandSync(e){if("commands"in e){const r=async()=>{const{commands:s}=e;return(await this.retrieve({keys:s.map(o=>o.task)})).map(o=>o.name)};return await kh({...e,frameClient:this.frameClient,name:r})}const n=async()=>{const{task:r}=e;return(await this.retrieve({key:r})).name};return await $h({frameClient:this.frameClient,name:n,...e})}};const Tn=J("task"),h$=Tn(""),f$=t=>ke(Tn(t)),Nh=async({frameClient:t,task:e,type:n,args:r})=>(await $i({frameClient:t,commands:[{args:r,task:e,type:n}]}))[0],$i=async({frameClient:t,commands:e})=>{if(t==null)throw it;const n=await t.openWriter(bs),r=e.map(s=>({...s,key:Co.create()}));return await n.write(bs,r),await n.close(),r.map(s=>s.key)},$h=async({frameClient:t,task:e,type:n,timeout:r,name:s,statusDataZ:a,args:o})=>(await kh({frameClient:t,commands:[{args:o,task:e,type:n}],timeout:r,statusDataZ:a,name:s}))[0],kh=async({frameClient:t,commands:e,timeout:n=w.seconds(10),statusDataZ:r,name:s})=>{if(t==null)throw it;const a=await t.openStreamer(ws),o=await $i({frameClient:t,commands:e}),c=new w(n);let u=[],l;const h=new Promise((d,f)=>{l=setTimeout(()=>{(async()=>{const b=e.map(N=>N.task);f(await d$("command",s,c,b))})()},c.milliseconds)});try{for(;;){const d=await Promise.race([a.read(),h]),f=Ni(r).safeParse(d.at(-1)[ws]);if(!f.success)continue;const b=f.data;if(!(b.details.cmd==null||!o.includes(b.details.cmd))&&(u=[...u.filter(N=>N.key!==b.key),b],u.length===o.length))return u}}finally{clearTimeout(l),a.close()}},d$=async(t,e,n,r)=>{const s=Gd.capitalize(t),a=n.toString();try{let o;typeof e=="string"?o=[e]:Array.isArray(e)?o=e:o=E.toArray(await e());const c=os.naturalLanguageJoin(o);return new Error(`${s} command to ${c} timed out after ${a}`)}catch(o){return console.error("Failed to retrieve task name for timeout error:",o),new Error(`${s} command to task with key ${os.naturalLanguageJoin(r)} timed out after ${a}`)}},p$=Object.freeze(Object.defineProperty({__proto__:null,COMMAND_CHANNEL_NAME:bs,Client:Eh,DELETE_CHANNEL_NAME:e$,SET_CHANNEL_NAME:QN,TYPE_ONTOLOGY_ID:h$,Task:Oh,commandZ:JN,keyZ:De,newKey:XN,newStatusZ:vh,newZ:zh,ontologyID:Tn,rackKey:KN,statusDetailsZ:Ei,statusKey:f$,statusZ:Ni,taskZ:zn},Symbol.toStringTag,{value:"Module"}));class Ah{url;unary;stream;secure;constructor(e,n={},r=!1){this.secure=r,this.url=e.child("/api/v1/");const s=new Jn.JSONCodec;this.unary=Zd(new Id(this.url,s,this.secure),n),this.stream=new Rd(this.url,s,this.secure)}use(...e){this.unary.use(...e),this.stream.use(...e)}}const jt=i.uuid(),br=i.object({key:jt,name:i.string(),type:i.string(),query:oe.unknownZ}),Ih=br.extend({key:jt.optional()}),y$="sy_view_set",m$="sy_view_delete",g$=i.z.object({views:Ih.array()}),w$=i.z.object({views:br.array()}),b$=i.z.object({keys:jt.array()}),v$=i.z.object({}),z$=i.z.object({keys:jt.array().optional(),types:i.z.string().array().optional(),searchTerm:i.z.string().optional(),offset:i.z.number().optional(),limit:i.z.number().optional()}),T$=i.z.object({key:jt}).transform(({key:t})=>({keys:[t]})),O$=i.z.union([T$,z$]),S$=i.z.object({views:E.nullableZ(br)});class Zh{client;constructor(e){this.client=e}async retrieve(e){const n="key"in e,r=await T(this.client,"/view/retrieve",e,O$,S$);return ue("View",e,r.views,n),n?r.views[0]:r.views}async create(e){const n=Array.isArray(e),r=await T(this.client,"/view/create",{views:E.toArray(e)},g$,w$);return n?r.views:r.views[0]}async delete(e){await T(this.client,"/view/delete",{keys:E.toArray(e)},b$,v$)}}const xh=t=>({type:"view",key:t}),E$=xh(""),N$=Object.freeze(Object.defineProperty({__proto__:null,Client:Zh,DELETE_CHANNEL_NAME:m$,SET_CHANNEL_NAME:y$,TYPE_ONTOLOGY_ID:E$,keyZ:jt,newZ:Ih,ontologyID:xh,viewZ:br},Symbol.toStringTag,{value:"Module"})),Ch=i.z.object({host:i.z.string({error:"Host is required"}).min(1,"Host is required"),port:i.z.number({error:"Port is required"}).or(i.z.string({error:"Port is required"})),username:i.z.string().min(1,"Username is required"),password:i.z.string().min(1,"Password is required"),connectivityPollFrequency:w.z.default(w.seconds(30)),secure:i.z.boolean().default(!1),name:i.z.string().optional(),retry:Bs.breakerConfigZ.optional()});class _h extends ml{createdAt;params;ranges;channels;auth;users;access;connectivity;ontology;workspaces;labels;statuses;tasks;racks;devices;control;arcs;views;schematics;lineplots;logs;tables;groups;static connectivity=Yn;transport;clientVersion="0.53.0";constructor(e){const n=Ch.parse(e),{host:r,port:s,username:a,password:o,connectivityPollFrequency:c,secure:u,retry:l}=n,h=new Ah(new St({host:r,port:Number(s)}),l,u);h.use(_g);const d=new pi(new di(h.unary));super(h.stream,h.unary,d),this.auth=new LS(h.unary,{username:a,password:o}),h.use(this.auth.middleware());const f=new Xu(h.unary,d);this.createdAt=m.now(),this.params=n,this.transport=h,this.channels=new Ku(this,d,h.unary,f),this.connectivity=new Yn(h.unary,c,this.clientVersion,n.name),this.control=new bl(this),this.ontology=new Pc(this.transport.unary);const b=new eh(this.transport.unary);this.labels=new Fu(this.transport.unary),this.statuses=new ph(this.transport.unary),this.ranges=new Xl(this,b,this.transport.unary,d,this.labels,this.ontology),this.access=new Jc(this.transport.unary),this.users=new Fc(this.transport.unary),this.workspaces=new Il(this.transport.unary),this.tasks=new Eh(this.transport.unary,this,this.ontology,this.ranges),this.racks=new Dl(this.transport.unary,this.tasks),this.devices=new Nl(this.transport.unary),this.arcs=new Mu(this.transport.unary,this.transport.stream),this.views=new Zh(this.transport.unary),this.schematics=new lh(this.transport.unary),this.lineplots=new _l(this.transport.unary),this.logs=new Pl(this.transport.unary),this.tables=new wh(this.transport.unary),this.groups=new Ju(this.transport.unary)}get key(){return this.createdAt.valueOf().toString()}close(){this.connectivity.stop()}}const $$=async t=>await Mh(t).check(),Mh=t=>{const{host:e,port:n,secure:r,name:s,retry:a}=t,o=Bs.breakerConfigZ.optional().parse(a),c=new St({host:e,port:Number(n)}),u=new Ah(c,o,r);return new Yn(u.unary,void 0,"0.53.0",s)},Rh={host:"localhost",port:9090,username:"synnax",password:"seldon",retry:{maxRetries:4,baseInterval:w.seconds(1),scale:1.5}},jh=t=>new _h({...Rh,...t}),k$=async(t,e)=>{const n=Co.create(),r=await t.users.create({username:n,password:"test",firstName:"test",lastName:"test"}),s=await t.access.policies.create(e),a=await t.access.roles.create({name:"test",description:"test"});return await t.ontology.addChildren(Qs(a.key),Ks(s.key)),await t.access.roles.assign({user:r.key,role:a.key}),jh({username:n,password:"test"})};exports.AuthError=kt;exports.Channel=Fn;exports.ContiguityError=Zg;exports.DataType=p;exports.Density=M;exports.DisconnectedError=Ig;exports.Frame=V;exports.MultiSeries=uc;exports.MultipleFoundError=tn;exports.NotFoundError=en;exports.QueryError=Ke;exports.Rate=G;exports.RouteError=ls;exports.Series=te;exports.Synnax=_h;exports.TEST_CLIENT_PARAMS=Rh;exports.TimeRange=x;exports.TimeSpan=w;exports.TimeStamp=m;exports.UnexpectedError=ct;exports.ValidationError=W;exports.access=Fw;exports.arc=DO;exports.channel=CS;exports.checkConnection=$$;exports.connection=qS;exports.control=O0;exports.createTestClient=jh;exports.createTestClientWithPolicy=k$;exports.device=R0;exports.framer=g0;exports.group=TS;exports.isCalculated=yi;exports.label=fS;exports.lineplot=nE;exports.log=hE;exports.newConnectionChecker=Mh;exports.ontology=Jg;exports.rack=EE;exports.ranger=nN;exports.schematic=kN;exports.status=PN;exports.synnaxParamsZ=Ch;exports.table=GN;exports.task=p$;exports.user=kw;exports.view=N$;exports.workspace=V0;
89
+ `,s=new TextEncoder;let a=!1,o=!1;const c=sE(e),{columns:u,columnsByIndexKey:l,emptyGroupStrings:h}=iE(e,c,n);let d=[],f=0,b=[];const N=O=>{for(const[S]of c){const A=O.get(S);if(A.length===0)continue;const C=(l.get(S)??[]).map(_=>O.get(_.key));for(let _=0;_<A.length;_++){const le=A.at(_,!0),ae=C.map(ge=>Ji.formatValue(ge.at(_,!0)));b.push({time:le,values:ae,indexKey:S})}}},k=(O,S=!1)=>{b.length>0&&(b.sort((C,_)=>Number(C.time-_.time)),f>0&&(d=d.slice(f),f=0),d=aE(d,b),b=[]);const A=[],D=d.length;for(;f<D&&A.length<O;){const C=d[f].time;if(!S&&d[D-1].time===C)break;const _=new Map;for(;f<D&&d[f].time===C;){const ae=d[f++];_.set(ae.indexKey,ae)}const le=[];for(const[ae]of c){const ge=_.get(ae);le.push(ge?.values.join(",")??h.get(ae)??"")}A.push(le.join(","))}return A};return new ReadableStream({async pull(O){try{if(o||(await t.seekFirst(),o=!0),!a){const C=u.map(_=>Ji.formatValue(_.header)).join(",");O.enqueue(s.encode(`${C}${r}`)),a=!0}d.length-f+b.length<Ma&&await t.next()&&N(t.value);const A=k(Ma);if(A.length>0&&O.enqueue(s.encode(`${A.join(r)}${r}`)),d.length-f===0||b.length===0){if(!await t.next()){const _=k(1/0,!0);_.length>0&&O.enqueue(s.encode(`${_.join(r)}${r}`)),await t.close(),O.close();return}N(t.value)}}catch(S){await t.close(),O.error(S)}},async cancel(){await t.close()}})},sE=t=>{const e=new Map;for(const n of t){if(n.index===0)continue;let r=e.get(n.index);r==null&&(r=[n.index],e.set(n.index,r)),!n.isIndex&&!r.includes(n.key)&&r.push(n.key)}return e},iE=(t,e,n)=>{const r=new Map(t.map(c=>[c.key,c])),s=[],a=new Map,o=new Map;for(const[c,u]of e){const l=[];for(const h of u){const d=r.get(h);if(d==null)throw new ct(`Channel ${h} not found`);const f={key:h,header:n?.[h]??n?.[d.name]??d.name};s.push(f),l.push(f)}a.set(c,l),o.set(c,",".repeat(l.length-1))}return{columns:s,columnsByIndexKey:a,emptyGroupStrings:o}},aE=(t,e)=>{const n=[];let r=0,s=0;for(;r<t.length&&s<e.length;)t[r].time<=e[s].time?n.push(t[r++]):n.push(e[s++]);return n.push(...t.slice(r),...e.slice(s)),n},Ma=1e3,oE=i.z.object({keys:i.z.number().array(),downsampleFactor:i.z.int(),throttleRate:G.z.optional()}),cE=i.z.object({frame:or}),Ra=i.z.object({channels:mt,downsampleFactor:i.z.int().default(1),throttleRate:G.z.default(new G(0)),useHighPerformanceCodec:i.z.boolean().default(!0)}),bi=Ra.or(mt.transform(t=>Ra.parse({channels:t}))),cl=(t,e)=>async n=>{const r=bi.parse(n),s=await cr.open(t,r.channels);r.useHighPerformanceCodec&&(e=e.withCodec(new QS(s.codec)));const a=await e.stream("/frame/stream",oE,cE),o=new uE(a,s,r.downsampleFactor,r.throttleRate);a.send({keys:Array.from(s.keys),downsampleFactor:r.downsampleFactor,throttleRate:r.throttleRate});const[,c]=await a.receive();if(c!=null)throw c;return o},ul=async(t,e,n)=>await cl(t,e)(n);class uE{stream;adapter;downsampleFactor;throttleRate;constructor(e,n,r=1,s=new G(0)){this.stream=new il("Streamer",e),this.adapter=n,this.downsampleFactor=r,this.throttleRate=s}get keys(){return Array.from(this.adapter.keys)}async next(){try{return{done:!1,value:await this.read()}}catch(e){if(ze.matches(e))return{done:!0,value:void 0};throw e}}async read(){return this.adapter.adapt(new V((await this.stream.receive()).frame))}async update(e){await this.adapter.update(e)&&this.stream.send({keys:Array.from(this.adapter.keys),downsampleFactor:this.downsampleFactor,throttleRate:this.throttleRate})}close(){this.stream.closeSend()}[Symbol.asyncIterator](){return this}}class ur{wrapped_=null;breaker;opener;config;constructor(e,n,r={}){this.opener=e,this.config=bi.parse(n);const{maxRetries:s=5e3,baseInterval:a=w.seconds(1),scale:o=1}=r??{};this.breaker=new Bs.Breaker({maxRetries:s,baseInterval:a,scale:o})}static async open(e,n,r){const s=new ur(e,n,r);return await s.runStreamer(),s}async runStreamer(){for(;;)try{this.wrapped_!=null&&this.wrapped_.close(),this.wrapped_=await this.opener(this.config),this.breaker.reset();return}catch(e){if(this.wrapped_=null,!await this.breaker.wait())throw e;console.error("failed to open streamer",e);continue}}get wrapped(){if(this.wrapped_==null)throw new Error("stream closed");return this.wrapped_}async update(e){this.config.channels=mt.parse(e);try{await this.wrapped.update(e)}catch{return await this.runStreamer(),await this.update(e)}}async next(){try{return{done:!1,value:await this.read()}}catch(e){if(ze.matches(e))return{done:!0,value:void 0};throw e}}async read(){try{const e=await this.wrapped.read();return this.breaker.reset(),e}catch(e){if(ze.matches(e))throw e;return await this.runStreamer(),await this.read()}}close(){this.wrapped.close()}get keys(){return this.wrapped.keys}[Symbol.asyncIterator](){return this}}class ll extends Qm.Observer{streamer;closePromise;constructor(e,n){super(n),this.streamer=e,this.closePromise=this.stream()}async update(e){await this.streamer.update(e)}async close(){this.streamer.close(),await this.closePromise}async stream(){for await(const e of this.streamer)this.notify(e)}}var sn=(t=>(t[t.PersistStream=1]="PersistStream",t[t.Persist=2]="Persist",t[t.Stream=3]="Stream",t))(sn||{});const lE=new w(-1);class gs extends Ae.sub("writer_closed"){constructor(){super("WriterClosed")}}const hE=i.z.enum(sn).or(i.z.enum(["persist","stream","persistStream"]).transform(t=>{switch(t){case"persist":return 2;case"stream":return 3;case"persistStream":return 1}})),hl=i.z.object({start:m.z.optional(),controlSubject:pe.subjectZ.optional(),authorities:i.z.union([pe.authorityZ.transform(t=>[t]),pe.authorityZ.array()]).default([pe.ABSOLUTE_AUTHORITY]),mode:hE.default(1),errOnUnauthorized:i.z.boolean().default(!1),enableAutoCommit:i.z.boolean().default(!0),autoIndexPersistInterval:w.z.default(w.SECOND),useHighPerformanceCodec:i.z.boolean().default(!0)}),fE=hl.extend({keys:L.array().optional()}),ja=hl.extend({channels:mt}),fl=ja.or(mt.transform(t=>ja.parse({channels:t,start:m.now()}))),dE=i.z.object({command:i.z.enum($e),config:fE.optional(),frame:or.optional(),buffer:i.z.instanceof(Uint8Array).optional()}),pE=i.z.object({command:i.z.enum($e),end:m.z,err:Le.payloadZ.optional()}),yE=i.z.tuple([i.z.union([i.z.record(L.or(Pe),pe.authorityZ),L.or(Pe),pe.authorityZ]),pe.authorityZ.optional()]).transform(([t,e])=>{if(pe.authorityZ.safeParse(t).success)return{keys:[],authorities:[t]};if(L.or(Pe).safeParse(t).success){if(e==null)throw new Error("authority is required when setting authority for a single channel");return{keys:[t],authorities:[e]}}const n=t;return{keys:Object.keys(n),authorities:Object.values(n)}});let dl=class pl{stream;adapter;closeErr=null;constructor(e,n){this.stream=e,this.adapter=n}static async _open(e,n,r){const s=fl.parse(r),a=await gi.open(e,s.channels);s.useHighPerformanceCodec&&(n=n.withCodec(new XS(a.codec)));const o=await n.stream("/frame/write",dE,pE),c=new pl(o,a);return await c.execute({command:$e.Open,config:{...s,keys:a.keys}}),c}async write(e,n){if(this.closeErr!=null)throw this.closeErr;if(this.stream.received())return await this.close();const r=await this.adapter.adapt(e,n);this.stream.send({command:$e.Write,frame:r.toPayload()})}async setAuthority(e,n){if(this.closeErr!=null)throw this.closeErr;const r=yE.parse([e,n]),s={keys:await this.adapter.adaptParams(r.keys),authorities:r.authorities};await this.execute({command:$e.SetAuthority,config:s})}async commit(){if(this.closeErr!=null)throw this.closeErr;return this.stream.received()?(await this.closeInternal(null),m.ZERO):(await this.execute({command:$e.Commit})).end}async close(){await this.closeInternal(null)}async closeInternal(e){if(this.closeErr!=null)throw this.closeErr;for(this.closeErr=e,this.stream.closeSend();;){if(this.closeErr!=null){if(gs.matches(this.closeErr))return null;throw this.closeErr}const[n,r]=await this.stream.receive();r!=null?this.closeErr=ze.matches(r)?new gs:r:this.closeErr=Le.decode(n?.err)}}async execute(e){const n=this.stream.send(e);for(n!=null&&await this.closeInternal(n);;){const[r,s]=await this.stream.receive();s!=null&&await this.closeInternal(s);const a=Le.decode(r?.err);if(a!=null&&await this.closeInternal(a),r?.command==e.command)return r}}};const yl=J("framer"),mE=yl("");let ml=class{streamClient;retriever;deleter;reader;constructor(e,n,r){this.streamClient=e,this.retriever=r,this.deleter=new HS(n),this.reader=new ol(r,e)}async openIterator(e,n,r){return await bn._open(e,n,this.retriever,this.streamClient,r)}async openWriter(e){return await dl._open(this.retriever,this.streamClient,e)}async openStreamer(e){return await ul(this.retriever,this.streamClient,e)}async write(e,n,r){if(r==null){const a=n,o=await this.openWriter({start:e,channels:Object.keys(a),mode:sn.Persist,errOnUnauthorized:!0,autoIndexPersistInterval:w.MAX});return await o.write(a),await o.close()}const s=await this.openWriter({start:e,channels:n,mode:sn.Persist,errOnUnauthorized:!0,autoIndexPersistInterval:w.MAX});await s.write(n,r),await s.close()}async read(e,n){if(!("start"in e))return this.reader.read(e);const{single:r}=ve(n),s=await this.readFrame(e,n);return r?s.get(n):s}async readFrame(e,n){const r=await this.openIterator(e,n),s=new V;try{for await(const a of r)s.push(a)}finally{await r.close()}return s}async readLatest(e,n=1){const{single:r}=ve(e),s=await this.readLatestNFrame(e,n);return r?s.get(e):s}async readLatestNFrame(e,n){const r=await this.openIterator(x.MAX,e,{chunkSize:n}),s=new V;if(n>0)try{await r.seekLast(),await r.prev(Hn),s.push(r.value)}finally{await r.close()}return s}async delete(e,n){const{normalized:r,variant:s}=ve(e),a=new x(n);return s==="keys"?await this.deleter.delete({keys:r,bounds:a}):await this.deleter.delete({names:r,bounds:a})}};const gE=Object.freeze(Object.defineProperty({__proto__:null,ALWAYS_INDEX_PERSIST_ON_AUTO_COMMIT:lE,AUTO_SPAN:Hn,Client:ml,Frame:V,HardenedStreamer:ur,Iterator:bn,ObservableStreamer:ll,Reader:ol,TYPE_ONTOLOGY_ID:mE,Writer:dl,WriterClosedError:gs,WriterCommand:$e,WriterMode:sn,createStreamOpener:cl,frameZ:or,ontologyID:yl,openStreamer:ul,seriesFromPayload:tl,seriesToPayload:nl,streamerConfigZ:bi,writerConfigZ:fl},Symbol.toStringTag,{value:"Module"})),wE=pe.ABSOLUTE_AUTHORITY,bE=pe.ZERO_AUTHORITY,vE=pe.stateZ(i.z.number()),zE=t=>t.to==null?`${t.from?.resource} - ${t.from?.subject.name} -> released`:t.from==null?`${t.to.resource} - released -> ${t.to.subject.name} (${t.to.authority.toString()})`:`${t.to.resource} - ${t.from.subject.name} -> ${t.to.subject.name} (${t.to.authority.toString()})`,TE=i.z.object({transfers:i.z.array(pe.transferZ(L))});class gl extends ll{states;codec;constructor(e){super(e,n=>{const r=this.codec.decode(n.series[0].buffer,TE);return this.merge(r),[r.transfers,!0]}),this.states=new Map,this.codec=new Jn.JSONCodec}subjects(){const e=new Map;return this.states.forEach(n=>e.set(n.subject.key,n.subject)),Array.from(e.values())}merge(e){e.transfers.forEach(n=>{n.from==null&&n.to==null&&console.warn("Invalid transfer: ",n),n.to==null?this.states.delete(n.from.resource):this.states.set(n.to.resource,n.to)})}}const wl="sy_node_1_control";let bl=class{framer;constructor(e){this.framer=e}async openStateTracker(){const e=await ur.open(async n=>await this.framer.openStreamer(n),wl);return new gl(e)}};const OE=Object.freeze(Object.defineProperty({__proto__:null,ABSOLUTE_AUTHORITY:wE,CONTROL_STATE_CHANNEL_NAME:wl,Client:bl,StateTracker:gl,ZERO_AUTHORITY:bE,stateZ:vE,transferString:zE},Symbol.toStringTag,{value:"Module"})),Te=i.z.uint32(),vl=i.z.object({rack:Te}),zl=Qe.statusZ(vl),lr=i.z.object({key:Te,name:i.z.string(),status:be.nullToUndefined(zl)}),Tl=lr.partial({key:!0}),Mt=i.z.string(),Ol=i.z.object({rack:Te,device:Mt}),Sl=Qe.statusZ(Ol),hr=({properties:t,make:e,model:n}={})=>i.z.object({key:Mt,rack:Te.min(1,"Must select a location to connect from"),name:i.z.string().min(1,"Name is required"),make:e??i.z.string().min(1,"Make is required"),model:n??i.z.string().min(1,"Model is required"),location:i.z.string().min(1,"Location is required"),configured:i.z.boolean().optional(),properties:t??oe.nullishToEmpty(),status:be.nullToUndefined(Sl)}),El=(t={})=>hr(t).extend({properties:t?.properties??oe.nullishToEmpty()}),SE="sy_device_set",EE="sy_device_delete",NE=t=>i.z.object({devices:be.toArray(El(t))}),$E=t=>i.z.object({devices:hr(t).array()}),kE=i.z.object({keys:Mt.array()}),AE=i.z.object({}),IE=i.z.object({keys:Mt.array().optional(),names:i.z.string().array().optional(),makes:i.z.string().array().optional(),models:i.z.string().array().optional(),locations:i.z.string().array().optional(),racks:Te.array().optional(),searchTerm:i.z.string().optional(),limit:i.z.int().optional(),offset:i.z.int().optional(),includeStatus:i.z.boolean().optional()}),ZE=t=>i.z.object({devices:E.nullableZ(hr(t))}),xE=i.z.object({key:Mt,includeStatus:i.z.boolean().optional()}).transform(({key:t,includeStatus:e})=>({keys:[t],includeStatus:e})),CE=i.z.union([xE,IE]);let Nl=class{client;constructor(e){this.client=e}async retrieve(e){const{schemas:n,...r}=e,s=typeof r=="object"&&"key"in r,a=await T(this.client,"/device/retrieve",r,CE,ZE(n));return ue("Device",r,a.devices,s),s?a.devices[0]:a.devices}async create(e,n){const r=!Array.isArray(e),s=await T(this.client,"/device/create",{devices:E.toArray(e)},NE(n),$E(n));return r?s.devices[0]:s.devices}async delete(e){await T(this.client,"/device/delete",{keys:E.toArray(e)},kE,AE)}};const vi=J("device"),_E=vi(""),ME=t=>ke(vi(t)),RE=Object.freeze(Object.defineProperty({__proto__:null,Client:Nl,DELETE_CHANNEL_NAME:EE,SET_CHANNEL_NAME:SE,TYPE_ONTOLOGY_ID:_E,deviceZ:hr,keyZ:Mt,newZ:El,ontologyID:vi,statusDetailsZ:Ol,statusKey:ME,statusZ:Sl},Symbol.toStringTag,{value:"Module"})),gt=i.z.uuid(),fr=i.z.object({key:gt,name:i.z.string(),data:oe.unknownZ.or(i.z.string().transform(Ze))}),$l=fr.partial({key:!0}).transform(t=>({...t,data:JSON.stringify(t.data)})),xe=i.z.uuid(),dr=i.z.object({key:xe,name:i.z.string().min(1,"Name is required"),layout:oe.unknownZ.or(i.z.string().transform(Ze))}),kl=dr.partial({key:!0}).transform(t=>({...t,layout:JSON.stringify(t.layout)})),Al=dr.omit({layout:!0}).extend({layout:i.z.string().transform(Ze)}),jE=i.z.object({keys:xe.array().optional(),searchTerm:i.z.string().optional(),author:Ie.optional(),offset:i.z.int().optional(),limit:i.z.int().optional()}),UE=i.z.object({workspaces:kl.array()}),PE=i.z.object({key:xe,name:i.z.string()}),LE=i.z.object({key:xe,layout:oe.unknownZ.transform(t=>JSON.stringify(t))}),DE=i.z.object({keys:xe.array()}),BE=i.z.object({workspaces:E.nullableZ(dr)}),qE=i.z.object({workspaces:Al.array()}),Rr=i.z.object({}),FE="sy_workspace_set",YE="sy_workspace_delete";let Il=class{client;constructor(e){this.client=e}async create(e){const n=Array.isArray(e),r=await T(this.client,"/workspace/create",{workspaces:E.toArray(e)},UE,qE);return n?r.workspaces:r.workspaces[0]}async rename(e,n){await T(this.client,"/workspace/rename",{key:e,name:n},PE,Rr)}async setLayout(e,n){await T(this.client,"/workspace/set-layout",{key:e,layout:n},LE,Rr)}async retrieve(e){let n;const r=typeof e!="string";typeof e=="string"||Array.isArray(e)?n={keys:E.toArray(e)}:n=e;const s=await T(this.client,"/workspace/retrieve",n,jE,BE);return r?s.workspaces:s.workspaces[0]}async delete(e){await T(this.client,"/workspace/delete",{keys:E.toArray(e)},DE,Rr)}};const Zl=J("workspace"),HE=Zl(""),VE=Object.freeze(Object.defineProperty({__proto__:null,Client:Il,DELETE_CHANNEL_NAME:YE,SET_CHANNEL_NAME:FE,TYPE_ONTOLOGY_ID:HE,keyZ:xe,newZ:kl,ontologyID:Zl,remoteZ:Al,workspaceZ:dr},Symbol.toStringTag,{value:"Module"})),GE=i.z.object({key:gt,name:i.z.string()}),WE=i.z.object({key:gt,data:i.z.string()}),JE=i.z.object({keys:gt.array()}),KE=i.z.object({keys:gt.array()}),xl=i.z.object({key:gt}).transform(({key:t})=>({keys:[t]})),Cl=i.z.union([xl,KE]),XE=i.z.object({linePlots:E.nullableZ(fr)}),QE=i.z.object({workspace:xe,linePlots:$l.array()}),e0=i.z.object({linePlots:fr.array()}),jr=i.z.object({});let _l=class{client;constructor(e){this.client=e}async create(e,n){const r=Array.isArray(n),s=await T(this.client,"/lineplot/create",{workspace:e,linePlots:E.toArray(n)},QE,e0);return r?s.linePlots:s.linePlots[0]}async rename(e,n){await T(this.client,"/lineplot/rename",{key:e,name:n},GE,jr)}async setData(e,n){await T(this.client,"/lineplot/set-data",{key:e,data:JSON.stringify(n)},WE,jr)}async retrieve(e){const n=xl.safeParse(e).success,r=await T(this.client,"/lineplot/retrieve",e,Cl,XE);return ue("LinePlot",e,r.linePlots,n),n?r.linePlots[0]:r.linePlots}async delete(e){await T(this.client,"/lineplot/delete",{keys:E.toArray(e)},JE,jr)}};const Ml=J("lineplot"),t0=Ml(""),n0=Object.freeze(Object.defineProperty({__proto__:null,Client:_l,TYPE_ONTOLOGY_ID:t0,keyZ:gt,linePlotZ:fr,newZ:$l,ontologyID:Ml,retrieveArgsZ:Cl},Symbol.toStringTag,{value:"Module"})),wt=i.z.uuid(),pr=i.z.object({key:wt,name:i.z.string(),data:oe.unknownZ.or(i.z.string().transform(Ze))}),Rl=pr.partial({key:!0}).transform(t=>({...t,data:JSON.stringify(t.data)})),r0=i.z.object({key:wt,name:i.z.string()}),s0=i.z.object({key:wt,data:i.z.string()}),i0=i.z.object({keys:wt.array()}),a0=i.z.object({keys:wt.array()}),jl=i.z.object({key:wt}).transform(({key:t})=>({keys:[t]})),Ul=i.z.union([jl,a0]),o0=i.z.object({logs:E.nullableZ(pr)}),c0=i.z.object({workspace:xe,logs:Rl.array()}),u0=i.z.object({logs:pr.array()}),Ur=i.z.object({});let Pl=class{client;constructor(e){this.client=e}async create(e,n){const r=Array.isArray(n),s=await T(this.client,"/log/create",{workspace:e,logs:E.toArray(n)},c0,u0);return r?s.logs:s.logs[0]}async rename(e,n){await T(this.client,"/log/rename",{key:e,name:n},r0,Ur)}async setData(e,n){await T(this.client,"/log/set-data",{key:e,data:JSON.stringify(n)},s0,Ur)}async retrieve(e){const n=jl.safeParse(e).success,r=await T(this.client,"/log/retrieve",e,Ul,o0);return ue("Log",e,r.logs,n),n?r.logs[0]:r.logs}async delete(e){await T(this.client,"/log/delete",{keys:E.toArray(e)},i0,Ur)}};const Ll=J("log"),l0=Ll(""),h0=Object.freeze(Object.defineProperty({__proto__:null,Client:Pl,TYPE_ONTOLOGY_ID:l0,keyZ:wt,logZ:pr,newZ:Rl,ontologyID:Ll,retrieveArgsZ:Ul},Symbol.toStringTag,{value:"Module"})),f0="sy_rack_set",d0="sy_rack_delete",p0=i.z.object({keys:Te.array().optional(),names:i.z.string().array().optional(),searchTerm:i.z.string().optional(),embedded:i.z.boolean().optional(),hostIsNode:i.z.boolean().optional(),limit:i.z.int().optional(),offset:i.z.int().optional(),includeStatus:i.z.boolean().optional()}),y0=i.z.object({racks:E.nullableZ(lr)}),m0=i.z.union([i.z.object({key:Te,includeStatus:i.z.boolean().optional()}).transform(({key:t,includeStatus:e})=>({keys:[t],includeStatus:e})),i.z.object({name:i.z.string(),includeStatus:i.z.boolean().optional()}).transform(({name:t,includeStatus:e})=>({names:[t],includeStatus:e}))]),g0=p0,w0=i.z.union([m0,g0]),b0=i.z.object({racks:Tl.array()}),v0=i.z.object({racks:lr.array()}),z0=i.z.object({keys:Te.array()}),T0=i.z.object({});let Dl=class{client;tasks;constructor(e,n){this.client=e,this.tasks=n}async delete(e){await T(this.client,"/rack/delete",{keys:E.toArray(e)},z0,T0)}async create(e){const n=!Array.isArray(e),r=await T(this.client,"/rack/create",{racks:E.toArray(e)},b0,v0),s=this.sugar(r.racks);return n?s[0]:s}async retrieve(e){const n="key"in e||"name"in e,r=await T(this.client,"/rack/retrieve",e,w0,y0),s=this.sugar(r.racks);return ue("Rack",e,s,n),n?s[0]:s}sugar(e){const n=!Array.isArray(e),r=E.toArray(e).map(({key:s,name:a,status:o})=>new Bl(s,a,this.tasks,o));return n?r[0]:r}};class Bl{key;name;status;tasks;constructor(e,n,r,s){this.key=e,this.name=n,this.tasks=r,this.status=s}async listTasks(){return await this.tasks.retrieve({rack:this.key})}async createTask(e,n){return e.key=((BigInt(this.key)<<32n)+(BigInt(e.key??0)&0xffffffffn)).toString(),await this.tasks.create(e,n)}async deleteTask(e){await this.tasks.delete([e])}get payload(){return{key:this.key,name:this.name,status:this.status}}}const zi=J("rack"),O0=zi(0),S0=t=>ke(zi(t)),E0=Object.freeze(Object.defineProperty({__proto__:null,Client:Dl,DELETE_CHANNEL_NAME:d0,Rack:Bl,SET_CHANNEL_NAME:f0,TYPE_ONTOLOGY_ID:O0,keyZ:Te,newZ:Tl,ontologyID:zi,rackZ:lr,statusDetailsZ:vl,statusKey:S0,statusZ:zl},Symbol.toStringTag,{value:"Module"})),ql="sy_range_alias_set",Fl="sy_range_alias_delete",N0=i.z.object({alias:i.z.string().optional(),channel:L,range:X}),Yl="---",Hl=t=>`${t.range}${Yl}${t.channel}`,Vl=t=>{const[e,n]=t.split(Yl);return{range:e,channel:Number(n)}},$0=Object.freeze(Object.defineProperty({__proto__:null,DELETE_CHANNEL_NAME:Fl,SET_CHANNEL_NAME:ql,aliasZ:N0,createKey:Hl,decodeDeleteChange:Vl},Symbol.toStringTag,{value:"Module"})),k0=i.z.object({range:X,aliases:i.z.string().array()}),A0=i.z.object({aliases:i.z.record(i.z.string(),L)}),I0=i.z.object({range:X,aliases:i.z.record(L,i.z.string())}),Z0=i.z.unknown(),x0=i.z.object({range:X,channels:L.array()}),C0=i.z.unknown(),_0=i.z.object({range:X}),M0=i.z.object({aliases:i.z.record(i.z.string(),i.z.string())}),R0=i.z.object({range:X,channels:L.array()}),j0=i.z.object({aliases:i.z.record(i.z.string(),i.z.string())});let vt=class{cache=new Map;client;rangeKey;constructor(e,n){this.rangeKey=e,this.cache=new Map,this.client=n}async resolve(e){const n=[],r=typeof e=="string",s={};if(r){const o=this.cache.get(e);if(o!=null)return o;n.push(e)}else e.forEach(o=>{const c=this.cache.get(o);c!=null?s[o]=c:n.push(o)});if(n.length===0)return s;const a=await T(this.client,"/range/alias/resolve",{range:this.rangeKey,aliases:n},k0,A0);return Object.entries(a.aliases).forEach(([o,c])=>this.cache.set(o,c)),r?a.aliases[n[0]]:{...s,...a.aliases}}async set(e){await T(this.client,"/range/alias/set",{range:this.rangeKey,aliases:e},I0,Z0)}async list(){return(await T(this.client,"/range/alias/list",{range:this.rangeKey},_0,M0)).aliases}async retrieve(e){const n=typeof e=="number",r=await T(this.client,"/range/alias/retrieve",{range:this.rangeKey,channels:E.toArray(e)},R0,j0);return n?r.aliases[e]:r.aliases}async delete(e){await T(this.client,"/range/alias/delete",{range:this.rangeKey,channels:E.toArray(e)},x0,C0)}};const Gl="sy_range_kv_set",Wl="sy_range_kv_delete",yr=i.z.object({range:X,key:i.z.string(),value:i.z.string()}),Jl=({range:t,key:e})=>`${t}<--->${e}`,U0=i.z.object({range:X,keys:i.z.string().array()}),P0=i.z.object({pairs:E.nullableZ(yr)}),L0=i.z.object({range:X,pairs:yr.array()}),D0=i.z.object({range:X,keys:i.z.string().array()});let Ua=class{rangeKey;client;constructor(e,n){this.rangeKey=e,this.client=n}async get(e){const n=await T(this.client,"/range/kv/get",{range:this.rangeKey,keys:E.toArray(e)},U0,P0);return typeof e=="string"?n.pairs[0].value:Object.fromEntries(n.pairs.map(r=>[r.key,r.value]))}async list(){return this.get([])}async set(e,n=""){let r;typeof e=="string"?r=[{range:this.rangeKey,key:e,value:n}]:r=Object.entries(e).map(([s,a])=>({range:this.rangeKey,key:s,value:a})),await T(this.client,"/range/kv/set",{range:this.rangeKey,pairs:r},L0,i.z.unknown())}async delete(e){await T(this.client,"/range/kv/delete",{range:this.rangeKey,keys:E.toArray(e)},D0,i.z.unknown())}};const B0="sy_range_set",q0="sy_range_delete";class Kl{key;name;kv;timeRange;color;parent;labels;channels;aliaser;frameClient;labelClient;ontologyClient;rangeClient;constructor({name:e,timeRange:n=x.ZERO,key:r,color:s,parent:a,labels:o},{frameClient:c,kv:u,aliaser:l,channels:h,labelClient:d,ontologyClient:f,rangeClient:b}){this.key=r,this.name=e,this.timeRange=n,this.parent=a,this.labels=o,this.frameClient=c,this.color=s,this.kv=u,this.aliaser=l,this.channels=h,this.labelClient=d,this.ontologyClient=f,this.rangeClient=b}get ontologyID(){return st(this.key)}get payload(){let e=null;return this.parent!=null&&("payload"in this.parent?e=this.parent.payload:e=this.parent),{key:this.key,name:this.name,timeRange:this.timeRange,color:this.color,labels:this.labels,parent:e}}async setAlias(e,n){const r=await this.channels.retrieve(e);if(r.length===0)throw new Ke(`Channel ${e} does not exist`);await this.aliaser.set({[r[0].key]:n})}async deleteAlias(...e){await this.aliaser.delete(e)}async listAliases(){return await this.aliaser.list()}async resolveAlias(e){return await this.aliaser.resolve(e)}async retrieveParent(){return this.rangeClient.retrieveParent(this.key)}async retrieveChildren(){const e=(await this.ontologyClient.retrieveChildren(this.ontologyID,{excludeFieldData:!0,types:["range"]})).map(n=>n.id.key);return await this.rangeClient.retrieve(e)}async read(e){return await this.frameClient.read(this.timeRange,e)}async retrieveLabels(){return await this.labelClient.retrieve({for:st(this.key)})}async addLabel(...e){await this.labelClient.label(st(this.key),e)}async removeLabel(...e){await this.labelClient.remove(st(this.key),e)}static sort(e,n){return x.sort(e.timeRange,n.timeRange)}}const F0=i.z.object({keys:X.array().optional(),names:i.z.string().array().optional(),searchTerm:i.z.string().optional(),overlapsWith:x.z.optional(),hasLabels:nt.array().optional(),limit:i.z.int().optional(),offset:i.z.int().optional(),includeLabels:i.z.boolean().optional(),includeParent:i.z.boolean().optional()}),Y0=F0.or(X.array().transform(t=>({keys:t}))).or(X.transform(t=>({keys:[t]}))).or(i.z.string().transform(t=>({names:[t]}))).or(i.z.string().array().transform(t=>({names:t}))).or(x.z.transform(t=>({overlapsWith:t}))),H0=i.z.object({ranges:E.nullableZ(gn)});let Xl=class{type="range";frameClient;writer;unaryClient;channels;labelClient;ontologyClient;constructor(e,n,r,s,a,o){this.frameClient=e,this.writer=n,this.unaryClient=r,this.channels=s,this.labelClient=a,this.ontologyClient=o}async create(e,n){const r=!Array.isArray(e),s=this.sugarMany(await this.writer.create(E.toArray(e),n));return r?s[0]:s}async rename(e,n){await this.writer.rename(e,n)}async delete(e){await this.writer.delete(E.toArray(e))}async retrieve(e){const n=typeof e=="string",{ranges:r}=await T(this.unaryClient,"/range/retrieve",e,Y0,H0);return ue("Range",e,r,n),n?this.sugarMany(r)[0]:this.sugarMany(r)}getKV(e){return new Ua(e,this.unaryClient)}async retrieveParent(e){const n=await this.ontologyClient.retrieveParents(st(e));if(n.length===0)return null;const r=n[0];return r.id.type!=="range"?null:await this.retrieve(r.id.key)}sugarOntologyResource(e){return this.sugarOne(Ql(e))}async retrieveAlias(e,n){return await new vt(e,this.unaryClient).retrieve(n)}async retrieveAliases(e,n){return await new vt(e,this.unaryClient).retrieve(n)}async listAliases(e){return await new vt(e,this.unaryClient).list()}async setAlias(e,n,r){await new vt(e,this.unaryClient).set({[n]:r})}async deleteAlias(e,n){await new vt(e,this.unaryClient).delete(n)}sugarOne(e){return new Kl(e,{frameClient:this.frameClient,kv:new Ua(e.key,this.unaryClient),aliaser:new vt(e.key,this.unaryClient),channels:this.channels,labelClient:this.labelClient,ontologyClient:this.ontologyClient,rangeClient:this})}sugarMany(e){return e.map(n=>this.sugarOne(n))}resourceToRange(e){return this.sugarOne({key:e.id.key,name:e.data?.name,timeRange:new x(e.data?.timeRange),color:e.data?.color,labels:[],parent:null})}};const st=J("range"),V0=st(""),G0=t=>({type:"range-alias",key:t}),Ql=({data:t,id:{key:e},name:n})=>{const r=x.z.parse(t?.timeRange),s=yc.colorZ.safeParse(t?.color);return{key:e,name:n,timeRange:r,color:s.success?s.data:void 0,labels:[],parent:null}},W0=Object.freeze(Object.defineProperty({__proto__:null,DELETE_CHANNEL:Wl,SET_CHANNEL:Gl,createPairKey:Jl,pairZ:yr},Symbol.toStringTag,{value:"Module"})),J0=i.z.object({ranges:gn.array()}),K0=i.z.object({parent:B.optional(),ranges:Hu.array()}),X0=i.z.object({keys:X.array()}),Q0=i.z.object({}),eN=i.z.object({key:X,name:fi}),tN=i.z.object({});class eh{client;constructor(e){this.client=e}async rename(e,n){await T(this.client,"/range/rename",{key:e,name:n},eN,tN)}async create(e,n){return(await T(this.client,"/range/create",{ranges:e,...n},K0,J0)).ranges}async delete(e){await T(this.client,"/range/delete",{keys:e},X0,Q0)}}const nN=Object.freeze(Object.defineProperty({__proto__:null,Client:Xl,DELETE_ALIAS_CHANNEL_NAME:Fl,DELETE_CHANNEL_NAME:q0,KV_DELETE_CHANNEL:Wl,KV_SET_CHANNEL:Gl,Range:Kl,SET_ALIAS_CHANNEL_NAME:ql,SET_CHANNEL_NAME:B0,TYPE_ONTOLOGY_ID:V0,Writer:eh,alias:$0,aliasKey:Hl,aliasOntologyID:G0,convertOntologyResourceToPayload:Ql,decodeDeleteAliasChange:Vl,keyZ:X,kv:W0,kvPairKey:Jl,kvPairZ:yr,nameZ:fi,newZ:Hu,ontologyID:st,payloadZ:gn},Symbol.toStringTag,{value:"Module"})),rt=i.z.uuid(),mr=i.z.object({key:rt,name:i.z.string(),data:oe.unknownZ.or(i.z.string().transform(Ze)),snapshot:i.z.boolean()}),th=mr.partial({key:!0,snapshot:!0}).transform(t=>({...t,data:JSON.stringify(t.data)})),Ti=mr.extend({data:i.z.string().transform(Ze)}),Rt=i.z.uuid(),nh=i.z.object({key:i.z.string(),name:i.z.string(),selectors:i.z.string().array().default([]),strokeColor:i.z.string().optional(),fillColor:i.z.string().optional()}),rh=i.z.object({key:i.z.string(),name:i.z.string(),regions:nh.array()}),sh=i.z.object({key:i.z.string(),position:Ps.xy,orientation:iy.outer}),rN=i.z.object({zoom:i.z.number().positive().default(1),position:Ps.xy}),ih=i.z.object({svg:i.z.string().min(1,"SVG is required"),states:rh.array(),variant:i.z.string().min(1,"Variant is required"),handles:sh.array(),scale:i.z.number().positive().default(1),scaleStroke:i.z.boolean().default(!1),previewViewport:rN.default({zoom:1,position:{x:0,y:0}})}),gr=i.z.object({key:Rt,version:i.z.literal(1).default(1),name:i.z.string().min(1,"Name is required"),data:ih}),ah=gr.partial({key:!0}),sN=i.z.object({symbols:ah.array(),parent:B}),iN=i.z.object({key:Rt,name:i.z.string()}),aN=i.z.object({keys:Rt.array()}),oN=i.z.object({keys:Rt.array().optional(),searchTerm:i.z.string().optional()}),cN=i.z.object({key:Rt}).transform(({key:t})=>({keys:[t]})),uN=i.z.union([cN,oN]),lN=i.z.object({symbols:E.nullableZ(gr)}),hN=i.z.object({symbols:gr.array()}),Pa=i.z.object({}),fN=i.z.object({}),dN=i.z.object({group:ar}),pN="sy_schematic_symbol_set",yN="sy_schematic_symbol_delete";let oh=class{client;constructor(e){this.client=e}async create(e){const n="symbols"in e,r=n?e.symbols:[e],s=await T(this.client,"/schematic/symbol/create",{symbols:r,parent:e.parent},sN,hN);return n?s.symbols:s.symbols[0]}async rename(e,n){await T(this.client,"/schematic/symbol/rename",{key:e,name:n},iN,Pa)}async retrieve(e){const n="key"in e,r=await T(this.client,"/schematic/symbol/retrieve",e,uN,lN);return ue("Schematic Symbol",e,r.symbols,n),n?r.symbols[0]:r.symbols}async delete(e){await T(this.client,"/schematic/symbol/delete",{keys:E.toArray(e)},aN,Pa)}async retrieveGroup(){return(await T(this.client,"/schematic/symbol/retrieve-group",{},fN,dN)).group}};const mN=J("schematic_symbol"),gN=Object.freeze(Object.defineProperty({__proto__:null,Client:oh,DELETE_CHANNEL_NAME:yN,SET_CHANNEL_NAME:pN,handleZ:sh,keyZ:Rt,newZ:ah,ontologyID:mN,regionZ:nh,specZ:ih,stateZ:rh,symbolZ:gr},Symbol.toStringTag,{value:"Module"})),wN=i.z.object({key:rt,name:i.z.string()}),bN=i.z.object({key:rt,data:i.z.string()}),vN=i.z.object({keys:rt.array()}),zN=i.z.object({key:rt,name:i.z.string(),snapshot:i.z.boolean()}),TN=i.z.object({keys:rt.array()}),ch=i.z.object({key:rt}).transform(({key:t})=>({keys:[t]})),uh=i.z.union([ch,TN]),ON=i.z.object({schematics:E.nullableZ(Ti)}),SN=i.z.object({workspace:xe,schematics:th.array()}),EN=i.z.object({schematics:Ti.array()}),NN=i.z.object({schematic:mr}),Pr=i.z.object({});let lh=class{symbols;client;constructor(e){this.client=e,this.symbols=new oh(e)}async create(e,n){const r=Array.isArray(n),s=await T(this.client,"/schematic/create",{workspace:e,schematics:E.toArray(n)},SN,EN);return r?s.schematics:s.schematics[0]}async rename(e,n){await T(this.client,"/schematic/rename",{key:e,name:n},wN,Pr)}async setData(e,n){await T(this.client,"/schematic/set-data",{key:e,data:JSON.stringify(n)},bN,Pr)}async retrieve(e){const n=ch.safeParse(e).success,r=await T(this.client,"/schematic/retrieve",e,uh,ON);return ue("Schematic",e,r.schematics,n),n?r.schematics[0]:r.schematics}async delete(e){await T(this.client,"/schematic/delete",{keys:E.toArray(e)},vN,Pr)}async copy(e){return(await T(this.client,"/schematic/copy",e,zN,NN)).schematic}};const hh=J("schematic"),$N=hh(""),kN=Object.freeze(Object.defineProperty({__proto__:null,Client:lh,TYPE_ONTOLOGY_ID:$N,keyZ:rt,newZ:th,ontologyID:hh,remoteZ:Ti,retrieveArgsZ:uh,schematicZ:mr,symbol:gN},Symbol.toStringTag,{value:"Module"})),vn=i.z.string(),wr=t=>Qe.statusZ(t),fh=t=>wr(t).omit({labels:!0}).extend({key:vn.optional()}),ws="sy_status_set",AN="sy_status_delete",dh=J("status"),IN=dh(""),ZN=t=>i.object({parent:B.optional(),statuses:fh(t).array()}),xN=t=>i.object({statuses:wr(t).array()}),CN=i.object({keys:vn.array()}),_N=i.object({}),MN=i.object({keys:vn.array().optional(),searchTerm:i.string().optional(),offset:i.int().optional(),limit:i.int().optional(),includeLabels:i.boolean().optional(),hasLabels:nt.array().optional()}),RN=i.object({key:vn,includeLabels:i.boolean().optional()}).transform(({key:t,includeLabels:e})=>({keys:[t],includeLabels:e})),jN=i.union([RN,MN]),UN=t=>i.object({statuses:E.nullableZ(wr(t))});let ph=class{type="status";client;constructor(e){this.client=e}async retrieve(e){const n="key"in e,r=await T(this.client,"/status/retrieve",e,jN,UN(e.detailsSchema));ue("Status",e,r.statuses,n);const s=r.statuses;return n?s[0]:s}async set(e,n={}){const r=Array.isArray(e),a=(await T(this.client,"/status/set",{statuses:E.toArray(e),parent:n.parent},ZN(n.detailsSchema),xN(n.detailsSchema))).statuses;return r?a:a[0]}async delete(e){await T(this.client,"/status/delete",{keys:E.toArray(e)},CN,_N)}};const PN=Object.freeze(Object.defineProperty({__proto__:null,Client:ph,DELETE_CHANNEL_NAME:AN,SET_CHANNEL_NAME:ws,TYPE_ONTOLOGY_ID:IN,keyZ:vn,newZ:fh,ontologyID:dh,statusZ:wr},Symbol.toStringTag,{value:"Module"})),bt=i.z.uuid(),Oi=i.z.object({key:bt,name:i.z.string(),data:oe.unknownZ.or(i.z.string().transform(Ze))}),yh=Oi.partial({key:!0}).transform(t=>({...t,data:JSON.stringify(t.data)})),Si=Oi.extend({data:i.z.string().transform(Ze)}),LN=i.z.object({key:bt,name:i.z.string()}),DN=i.z.object({key:bt,data:i.z.string()}),BN=i.z.object({keys:bt.array()}),qN=i.z.object({keys:bt.array()}),mh=i.z.object({key:bt}).transform(({key:t})=>({keys:[t]})),gh=i.z.union([mh,qN]),FN=i.z.object({tables:E.nullableZ(Si)}),YN=i.z.object({workspace:xe,tables:yh.array()}),HN=i.z.object({tables:Si.array()}),Lr=i.z.object({});let wh=class{client;constructor(e){this.client=e}async create(e,n){const r=Array.isArray(n),s=await T(this.client,"/table/create",{workspace:e,tables:E.toArray(n)},YN,HN);return r?s.tables:s.tables[0]}async rename(e,n){await T(this.client,"/table/rename",{key:e,name:n},LN,Lr)}async setData(e,n){await T(this.client,"/table/set-data",{key:e,data:JSON.stringify(n)},DN,Lr)}async retrieve(e){const n=mh.safeParse(e).success,r=await T(this.client,"/table/retrieve",e,gh,FN);return ue("Table",e,r.tables,n),n?r.tables[0]:r.tables}async delete(e){await T(this.client,"/table/delete",{keys:E.toArray(e)},BN,Lr)}};const bh=J("table"),VN=bh(""),GN=Object.freeze(Object.defineProperty({__proto__:null,Client:wh,TYPE_ONTOLOGY_ID:VN,keyZ:bt,newZ:yh,ontologyID:bh,remoteZ:Si,retrieveArgsZ:gh,tableZ:Oi},Symbol.toStringTag,{value:"Module"})),De=i.z.union([i.z.string(),i.z.bigint().transform(t=>t.toString()),i.z.number().transform(t=>t.toString())]),Ei=t=>i.z.object({task:De,running:i.z.boolean(),data:t,cmd:i.z.string().optional()}),Ni=t=>Qe.statusZ(Ei(t)),WN=t=>Ei(t).partial({task:!0}),vh=t=>Qe.statusZ(WN(t)).partial({key:!0,name:!0}),zn=(t={type:i.z.string(),config:oe.nullishToEmpty(),statusData:i.z.unknown()})=>i.z.object({key:De,name:i.z.string(),type:t.type,internal:i.z.boolean().optional(),config:t.config,status:Ni(t.statusData).optional().nullable(),snapshot:i.z.boolean().optional()}),zh=t=>zn(t).omit({key:!0,status:!0}).extend({key:De.transform(e=>e.toString()).optional(),config:t?.config??oe.nullishToEmpty(),status:vh(t?.statusData??i.z.unknown()).optional().nullable()}),JN=i.z.object({task:De,type:i.z.string(),key:i.z.string(),args:oe.unknownZ.or(i.z.string().transform(Ze)).or(i.z.array(i.z.unknown())).or(i.z.null()).optional()}),KN=t=>Number(BigInt(t)>>32n),XN=(t,e=0)=>((BigInt(t)<<32n)+BigInt(e)).toString(),bs="sy_task_cmd",QN="sy_task_set",e$="sy_task_delete",it=new Error("Task not created"),Th=async(t,e)=>{const n=await e.retrieveParents(Tn(t));return n.length===0?null:n[0]};class Oh{key;name;internal;type;snapshot;config;status;schemas;frameClient_;ontologyClient_;rangeClient_;get frameClient(){if(this.frameClient_==null)throw it;return this.frameClient_}get ontologyClient(){if(this.ontologyClient_==null)throw it;return this.ontologyClient_}get rangeClient(){if(this.rangeClient_==null)throw it;return this.rangeClient_}constructor({key:e,type:n,name:r,config:s,internal:a=!1,snapshot:o=!1,status:c},u,l,h,d){this.key=e,this.name=r,this.type=n,this.config=s,this.schemas=u??{type:i.z.string(),config:i.z.unknown(),statusData:i.z.unknown()},this.internal=a,this.snapshot=o,this.status=c,this.frameClient_=l,this.ontologyClient_=h,this.rangeClient_=d}get payload(){return{key:this.key,name:this.name,type:this.type,config:this.config,status:this.status,internal:this.internal}}get ontologyID(){return Tn(this.key)}async executeCommand(e){return await Nh({...e,frameClient:this.frameClient,task:this.key})}async executeCommandSync(e){return await $h({...e,frameClient:this.frameClient,task:this.key,name:this.name,statusDataZ:this.schemas.statusData})}async start(){await this.executeCommand({type:"start"})}async stop(){await this.executeCommand({type:"stop"})}async run(e){await this.start();try{return await e()}finally{await this.stop()}}async snapshottedTo(){if(this.ontologyClient==null||this.rangeClient==null)throw it;return this.snapshot?await Th(this.key,this.ontologyClient):null}}const t$=i.z.object({rack:Te.optional(),keys:De.array().optional(),names:i.z.string().array().optional(),types:i.z.string().array().optional(),includeStatus:i.z.boolean().optional(),internal:i.z.boolean().optional(),snapshot:i.z.boolean().optional(),searchTerm:i.z.string().optional(),offset:i.z.int().optional(),limit:i.z.int().optional()}),Sh=i.z.union([i.z.object({key:De,includeStatus:i.z.boolean().optional()}).transform(({key:t,includeStatus:e})=>({keys:[t],includeStatus:e})),i.z.object({name:i.z.string(),includeStatus:i.z.boolean().optional()}).transform(({name:t,includeStatus:e})=>({names:[t],includeStatus:e})),i.z.object({type:i.z.string(),rack:Te.optional()}).transform(({type:t,rack:e})=>({types:[t],rack:e}))]),n$=t$,r$=i.z.union([Sh,n$]),s$=t=>i.z.object({tasks:E.nullableZ(zn(t))}),i$=t=>i.z.object({tasks:zh(t).array()}),a$=t=>i.z.object({tasks:zn(t).array()}),o$=i.z.object({keys:De.array()}),c$=i.z.object({}),u$=i.z.object({key:De,name:i.z.string(),snapshot:i.z.boolean()}),l$=t=>i.z.object({task:zn(t)});let Eh=class{client;frameClient;ontologyClient;rangeClient;constructor(e,n,r,s){this.client=e,this.frameClient=n,this.ontologyClient=r,this.rangeClient=s}async create(e,n){const r=!Array.isArray(e),s=i$(n),a=a$(n),o=await T(this.client,"/task/create",{tasks:E.toArray(e)},s,a),c=this.sugar(o.tasks,n);return r?c[0]:c}async delete(e){await T(this.client,"/task/delete",{keys:E.toArray(e)},o$,c$)}async retrieve({schemas:e,...n}){const r=Sh.safeParse(n).success,a=(await T(this.client,"/task/retrieve",n,r$,s$(e))).tasks,o=this.sugar(a,e);return ue("Task",n,o,r),r?o[0]:o}async copy(e,n,r){const s=l$(),a=await T(this.client,"/task/copy",{key:e,name:n,snapshot:r},u$,s);return this.sugar(a.task)}async list(e){const n={internal:!1};return e!==void 0&&(n.rack=e),await this.retrieve(n)}async retrieveSnapshottedTo(e){if(this.ontologyClient==null)throw it;return await Th(e,this.ontologyClient)}sugar(e,n){const r=!Array.isArray(e),s=E.toArray(e).map(({key:a,name:o,type:c,config:u,status:l,internal:h,snapshot:d})=>new Oh({key:a,name:o,type:c,config:u,internal:h,snapshot:d,status:l},n,this.frameClient,this.ontologyClient,this.rangeClient));return r?s[0]:s}async executeCommand(e){return"commands"in e?await $i({...e,frameClient:this.frameClient}):await Nh({...e,frameClient:this.frameClient})}async executeCommandSync(e){if("commands"in e){const r=async()=>{const{commands:s}=e;return(await this.retrieve({keys:s.map(o=>o.task)})).map(o=>o.name)};return await kh({...e,frameClient:this.frameClient,name:r})}const n=async()=>{const{task:r}=e;return(await this.retrieve({key:r})).name};return await $h({frameClient:this.frameClient,name:n,...e})}};const Tn=J("task"),h$=Tn(""),f$=t=>ke(Tn(t)),Nh=async({frameClient:t,task:e,type:n,args:r})=>(await $i({frameClient:t,commands:[{args:r,task:e,type:n}]}))[0],$i=async({frameClient:t,commands:e})=>{if(t==null)throw it;const n=await t.openWriter(bs),r=e.map(s=>({...s,key:Co.create()}));return await n.write(bs,r),await n.close(),r.map(s=>s.key)},$h=async({frameClient:t,task:e,type:n,timeout:r,name:s,statusDataZ:a,args:o})=>(await kh({frameClient:t,commands:[{args:o,task:e,type:n}],timeout:r,statusDataZ:a,name:s}))[0],kh=async({frameClient:t,commands:e,timeout:n=w.seconds(10),statusDataZ:r,name:s})=>{if(t==null)throw it;const a=await t.openStreamer(ws),o=await $i({frameClient:t,commands:e}),c=new w(n);let u=[],l;const h=new Promise((d,f)=>{l=setTimeout(()=>{(async()=>{const b=e.map(N=>N.task);f(await d$("command",s,c,b))})()},c.milliseconds)});try{for(;;){const d=await Promise.race([a.read(),h]),f=Ni(r).safeParse(d.at(-1)[ws]);if(!f.success)continue;const b=f.data;if(!(b.details.cmd==null||!o.includes(b.details.cmd))&&(u=[...u.filter(N=>N.key!==b.key),b],u.length===o.length))return u}}finally{clearTimeout(l),a.close()}},d$=async(t,e,n,r)=>{const s=Gd.capitalize(t),a=n.toString();try{let o;typeof e=="string"?o=[e]:Array.isArray(e)?o=e:o=E.toArray(await e());const c=os.naturalLanguageJoin(o);return new Error(`${s} command to ${c} timed out after ${a}`)}catch(o){return console.error("Failed to retrieve task name for timeout error:",o),new Error(`${s} command to task with key ${os.naturalLanguageJoin(r)} timed out after ${a}`)}},p$=Object.freeze(Object.defineProperty({__proto__:null,COMMAND_CHANNEL_NAME:bs,Client:Eh,DELETE_CHANNEL_NAME:e$,SET_CHANNEL_NAME:QN,TYPE_ONTOLOGY_ID:h$,Task:Oh,commandZ:JN,keyZ:De,newKey:XN,newStatusZ:vh,newZ:zh,ontologyID:Tn,rackKey:KN,statusDetailsZ:Ei,statusKey:f$,statusZ:Ni,taskZ:zn},Symbol.toStringTag,{value:"Module"}));class Ah{url;unary;stream;secure;constructor(e,n={},r=!1){this.secure=r,this.url=e.child("/api/v1/");const s=new Jn.JSONCodec;this.unary=Zd(new Id(this.url,s,this.secure),n),this.stream=new Rd(this.url,s,this.secure)}use(...e){this.unary.use(...e),this.stream.use(...e)}}const jt=i.uuid(),br=i.object({key:jt,name:i.string(),type:i.string(),query:oe.unknownZ}),Ih=br.extend({key:jt.optional()}),y$="sy_view_set",m$="sy_view_delete",g$=i.z.object({views:Ih.array()}),w$=i.z.object({views:br.array()}),b$=i.z.object({keys:jt.array()}),v$=i.z.object({}),z$=i.z.object({keys:jt.array().optional(),types:i.z.string().array().optional(),searchTerm:i.z.string().optional(),offset:i.z.number().optional(),limit:i.z.number().optional()}),T$=i.z.object({key:jt}).transform(({key:t})=>({keys:[t]})),O$=i.z.union([T$,z$]),S$=i.z.object({views:E.nullableZ(br)});class Zh{client;constructor(e){this.client=e}async retrieve(e){const n="key"in e,r=await T(this.client,"/view/retrieve",e,O$,S$);return ue("View",e,r.views,n),n?r.views[0]:r.views}async create(e){const n=Array.isArray(e),r=await T(this.client,"/view/create",{views:E.toArray(e)},g$,w$);return n?r.views:r.views[0]}async delete(e){await T(this.client,"/view/delete",{keys:E.toArray(e)},b$,v$)}}const xh=t=>({type:"view",key:t}),E$=xh(""),N$=Object.freeze(Object.defineProperty({__proto__:null,Client:Zh,DELETE_CHANNEL_NAME:m$,SET_CHANNEL_NAME:y$,TYPE_ONTOLOGY_ID:E$,keyZ:jt,newZ:Ih,ontologyID:xh,viewZ:br},Symbol.toStringTag,{value:"Module"})),Ch=i.z.object({host:i.z.string({error:"Host is required"}).min(1,"Host is required"),port:i.z.number({error:"Port is required"}).or(i.z.string({error:"Port is required"})),username:i.z.string().min(1,"Username is required"),password:i.z.string().min(1,"Password is required"),connectivityPollFrequency:w.z.default(w.seconds(30)),secure:i.z.boolean().default(!1),name:i.z.string().optional(),retry:Bs.breakerConfigZ.optional()});class _h extends ml{createdAt;params;ranges;channels;auth;users;access;connectivity;ontology;workspaces;labels;statuses;tasks;racks;devices;control;arcs;views;schematics;lineplots;logs;tables;groups;static connectivity=Yn;transport;clientVersion="0.53.1";constructor(e){const n=Ch.parse(e),{host:r,port:s,username:a,password:o,connectivityPollFrequency:c,secure:u,retry:l}=n,h=new Ah(new St({host:r,port:Number(s)}),l,u);h.use(_g);const d=new pi(new di(h.unary));super(h.stream,h.unary,d),this.auth=new LS(h.unary,{username:a,password:o}),h.use(this.auth.middleware());const f=new Xu(h.unary,d);this.createdAt=m.now(),this.params=n,this.transport=h,this.channels=new Ku(this,d,h.unary,f),this.connectivity=new Yn(h.unary,c,this.clientVersion,n.name),this.control=new bl(this),this.ontology=new Pc(this.transport.unary);const b=new eh(this.transport.unary);this.labels=new Fu(this.transport.unary),this.statuses=new ph(this.transport.unary),this.ranges=new Xl(this,b,this.transport.unary,d,this.labels,this.ontology),this.access=new Jc(this.transport.unary),this.users=new Fc(this.transport.unary),this.workspaces=new Il(this.transport.unary),this.tasks=new Eh(this.transport.unary,this,this.ontology,this.ranges),this.racks=new Dl(this.transport.unary,this.tasks),this.devices=new Nl(this.transport.unary),this.arcs=new Mu(this.transport.unary,this.transport.stream),this.views=new Zh(this.transport.unary),this.schematics=new lh(this.transport.unary),this.lineplots=new _l(this.transport.unary),this.logs=new Pl(this.transport.unary),this.tables=new wh(this.transport.unary),this.groups=new Ju(this.transport.unary)}get key(){return this.createdAt.valueOf().toString()}close(){this.connectivity.stop()}}const $$=async t=>await Mh(t).check(),Mh=t=>{const{host:e,port:n,secure:r,name:s,retry:a}=t,o=Bs.breakerConfigZ.optional().parse(a),c=new St({host:e,port:Number(n)}),u=new Ah(c,o,r);return new Yn(u.unary,void 0,"0.53.1",s)},Rh={host:"localhost",port:9090,username:"synnax",password:"seldon",retry:{maxRetries:4,baseInterval:w.seconds(1),scale:1.5}},jh=t=>new _h({...Rh,...t}),k$=async(t,e)=>{const n=Co.create(),r=await t.users.create({username:n,password:"test",firstName:"test",lastName:"test"}),s=await t.access.policies.create(e),a=await t.access.roles.create({name:"test",description:"test"});return await t.ontology.addChildren(Qs(a.key),Ks(s.key)),await t.access.roles.assign({user:r.key,role:a.key}),jh({username:n,password:"test"})};exports.AuthError=kt;exports.Channel=Fn;exports.ContiguityError=Zg;exports.DataType=p;exports.Density=M;exports.DisconnectedError=Ig;exports.Frame=V;exports.MultiSeries=uc;exports.MultipleFoundError=tn;exports.NotFoundError=en;exports.QueryError=Ke;exports.Rate=G;exports.RouteError=ls;exports.Series=te;exports.Synnax=_h;exports.TEST_CLIENT_PARAMS=Rh;exports.TimeRange=x;exports.TimeSpan=w;exports.TimeStamp=m;exports.UnexpectedError=ct;exports.ValidationError=W;exports.access=Fw;exports.arc=DO;exports.channel=CS;exports.checkConnection=$$;exports.connection=qS;exports.control=OE;exports.createTestClient=jh;exports.createTestClientWithPolicy=k$;exports.device=RE;exports.framer=gE;exports.group=TS;exports.isCalculated=yi;exports.label=fS;exports.lineplot=n0;exports.log=h0;exports.newConnectionChecker=Mh;exports.ontology=Jg;exports.rack=E0;exports.ranger=nN;exports.schematic=kN;exports.status=PN;exports.synnaxParamsZ=Ch;exports.table=GN;exports.task=p$;exports.user=kw;exports.view=N$;exports.workspace=VE;
package/dist/client.js CHANGED
@@ -12396,7 +12396,7 @@ const Qu = i.enum(["disconnected", "connecting", "connected", "failed"]), el = i
12396
12396
  error: void 0,
12397
12397
  message: "Disconnected",
12398
12398
  clientServerCompatible: !1,
12399
- clientVersion: "0.53.0"
12399
+ clientVersion: "0.53.1"
12400
12400
  }, Ea = (t, e, n) => {
12401
12401
  const r = n ? "Core" : "client";
12402
12402
  return `Synnax Core version ${t != null ? `${t} ` : ""}is too ${n ? "old" : "new"} for client version ${e}.
@@ -15172,10 +15172,7 @@ const Z$ = i.object({
15172
15172
  }), Nh = i.union([
15173
15173
  i.object({ key: Be, includeStatus: i.boolean().optional() }).transform(({ key: t, includeStatus: e }) => ({ keys: [t], includeStatus: e })),
15174
15174
  i.object({ name: i.string(), includeStatus: i.boolean().optional() }).transform(({ name: t, includeStatus: e }) => ({ names: [t], includeStatus: e })),
15175
- i.object({
15176
- type: i.string(),
15177
- rack: Se.optional()
15178
- }).transform(({ type: t, rack: e }) => ({ types: [t], rack: e }))
15175
+ i.object({ type: i.string(), rack: Se.optional() }).transform(({ type: t, rack: e }) => ({ types: [t], rack: e }))
15179
15176
  ]), x$ = Z$, C$ = i.union([Nh, x$]), _$ = (t) => i.object({ tasks: E.nullableZ(vn(t)) }), M$ = (t) => i.object({ tasks: Th(t).array() }), R$ = (t) => i.object({ tasks: vn(t).array() }), j$ = i.object({ keys: Be.array() }), z$ = i.object({}), U$ = i.object({ key: Be, name: i.string(), snapshot: i.boolean() }), P$ = (t) => i.object({ task: vn(t) });
15180
15177
  let Eh = class {
15181
15178
  client;
@@ -15485,7 +15482,7 @@ class tk extends ml {
15485
15482
  /**
15486
15483
  * The version of the client.
15487
15484
  */
15488
- clientVersion = "0.53.0";
15485
+ clientVersion = "0.53.1";
15489
15486
  /**
15490
15487
  * @param props.host - Hostname of a node in the cluster.
15491
15488
  * @param props.port - Port of the node in the cluster.
@@ -15551,7 +15548,7 @@ class tk extends ml {
15551
15548
  }
15552
15549
  const mA = async (t) => await nk(t).check(), nk = (t) => {
15553
15550
  const { host: e, port: n, secure: r, name: s, retry: a } = t, o = Bs.breakerConfigZ.optional().parse(a), c = new Nt({ host: e, port: Number(n) }), u = new Ih(c, o, r);
15554
- return new Yn(u.unary, void 0, "0.53.0", s);
15551
+ return new Yn(u.unary, void 0, "0.53.1", s);
15555
15552
  }, rk = {
15556
15553
  host: "localhost",
15557
15554
  port: 9090,
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/task/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/task/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synnaxlabs/client",
3
- "version": "0.53.0",
3
+ "version": "0.53.1",
4
4
  "description": "The Synnax Client Library",
5
5
  "keywords": [
6
6
  "synnax",
@@ -27,7 +27,7 @@
27
27
  "async-mutex": "^0.5.0",
28
28
  "zod": "^4.3.6",
29
29
  "@synnaxlabs/freighter": "^0.53.0",
30
- "@synnaxlabs/x": "^0.53.0"
30
+ "@synnaxlabs/x": "^0.53.1"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@vitest/coverage-v8": "^3.2.4",
@@ -212,10 +212,7 @@ const singleRetrieveArgsZ = z.union([
212
212
  .object({ name: z.string(), includeStatus: z.boolean().optional() })
213
213
  .transform(({ name, includeStatus }) => ({ names: [name], includeStatus })),
214
214
  z
215
- .object({
216
- type: z.string(),
217
- rack: rackKeyZ.optional(),
218
- })
215
+ .object({ type: z.string(), rack: rackKeyZ.optional() })
219
216
  .transform(({ type, rack }) => ({ types: [type], rack })),
220
217
  ]);
221
218
  export type RetrieveSingleParams = z.input<typeof singleRetrieveArgsZ>;