wire-mesh 1.0.7 → 1.0.9

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.
@@ -67,6 +67,6 @@ ${fc.repeat(a.depth)}}`:a.close=`}`;break}case I.TAG:o+=String(c),o+=hc(I.POS_IN
67
67
 
68
68
  `)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=xl,c=!du.jitless,l=c&&Sl.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?Ff([],p,i,f,d,e):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function zf(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Rl(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Ul(e,r,fu())))}),t)}var Bf=U(`$ZodUnion`,(e,t)=>{zd.init(e,t),tu(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),tu(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),tu(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),tu(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>fl(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>zf(t,r,e,i)):zf(o,r,e,i)}}),Vf=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Bf.init(e,t);let n=e._zod.parse;tu(e,`propValues`,e=>{let t={};for(let n of e.def.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(n)}"`);for(let[e,n]of Object.entries(r)){Object.prototype.hasOwnProperty.call(t,e)||gl(t,e,new Set);for(let r of n)t[e].add(r)}}return t}),t.options.forEach((e,n)=>{let r=If.get(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=ul(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!xl(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),Hf=U(`$ZodIntersection`,(e,t)=>{zd.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Wf(e,t,n)):Wf(e,i,a)}});function Uf(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Cl(e)&&Cl(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=Uf(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Uf(i,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 Wf(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=Uf(t.value,n.value);if(!c.valid){if(Rl(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var Gf=U(`$ZodTuple`,(e,t)=>{zd.init(e,t);let n=t.items,r=du.memoizer;r?.attach(e),e._zod.parse=(i,a)=>{let o=i.value;if(!Array.isArray(o))return i.issues.push({input:o,inst:e,expected:`tuple`,code:`invalid_type`}),i;i.value=r?r.alloc(e,i,[],a):[];let s=[],c=Kf(n,`optin`),l=Kf(n,`optout`);if(!t.rest){if(o.length<c)return i.issues.push({code:`too_small`,minimum:c,inclusive:!0,input:o,inst:e,origin:`array`}),i;o.length>n.length&&i.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:o,inst:e,origin:`array`})}let u=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:o[e],issues:[]},a);t instanceof Promise?s.push(t.then(t=>{u[e]=t})):u[e]=t}if(t.rest){let e=n.length-1,r=o.slice(n.length);for(let n of r){e++;let r=t.rest._zod.run({value:n,issues:[]},a);r instanceof Promise?s.push(r.then(t=>qf(t,i,e))):qf(r,i,e)}}return s.length?Promise.all(s).then(()=>Jf(u,i,n,o,l)):Jf(u,i,n,o,l)}});function Kf(e,t){for(let n=e.length-1;n>=0;n--)if(!(t===`optin`?e[n]._zod.optin!==void 0:e[n]._zod.optout===`optional`))return n+1;return 0}function qf(e,t,n){e.issues.length&&t.issues.push(...Bl(n,e.issues)),t.value[n]=e.value}function Jf(e,t,n,r,i){for(let a=0;a<n.length;a++){let o=e[a],s=a<r.length;if(!s&&a>=i&&n[a]._zod.optin===`optional`){t.value.length=a;break}if(o.issues.length){if(!s&&a>=i){t.value.length=a;break}t.issues.push(...Bl(a,o.issues))}t.value[a]=o.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}var Yf=U(`$ZodRecord`,(e,t)=>{zd.init(e,t);let n=du.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Cl(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>Ul(e,i,fu())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Bl(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Bl(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&hd.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>Ul(e,i,fu())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Bl(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Bl(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),Xf=U(`$ZodEnum`,(e,t)=>{zd.init(e,t);let n=sl(t.entries),r=new Set(n);e._zod.values=r;let i=n.filter(e=>Tl.has(typeof e));e._zod.pattern=RegExp(i.length?`^(${i.map(e=>El(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Zf=U(`$ZodLiteral`,(e,t)=>{zd.init(e,t);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(t.values.length?`^(${t.values.map(e=>typeof e==`string`?El(e):e?El(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),Qf=U(`$ZodTransform`,(e,t)=>{zd.init(e,t),e._zod.optin=`optional`,du.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new uu(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new lu;return n.value=i,n}});function $f(e,t){return e.value=t.issues.length?void 0:t.value,e}var ep=U(`$ZodOptional`,(e,t)=>{zd.init(e,t),tu(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,tu(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),tu(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${fl(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>$f(e,t)):$f(e,r)}return t.innerType._zod.run(e,n)}}),tp=U(`$ZodExactOptional`,(e,t)=>{ep.init(e,t),tu(e,`values`,e=>e.def.innerType._zod.values),tu(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),np=U(`$ZodNullable`,(e,t)=>{zd.init(e,t),tu(e,`optin`,e=>e.def.innerType._zod.optin),tu(e,`optout`,e=>e.def.innerType._zod.optout),tu(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${fl(t.source)}|null)$`):void 0}),tu(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),rp=U(`$ZodDefault`,(e,t)=>{zd.init(e,t),e._zod.optin=`defaulted`,tu(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>ip(e,t)):ip(r,t)}});function ip(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var ap=U(`$ZodPrefault`,(e,t)=>{zd.init(e,t),e._zod.optin=`defaulted`,tu(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),op=U(`$ZodNonOptional`,(e,t)=>{zd.init(e,t),tu(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>sp(t,e)):sp(i,e)}});function sp(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function cp(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>Ul(e,r,fu()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var lp=U(`$ZodCatch`,(e,t)=>{zd.init(e,t),tu(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),tu(e,`optout`,e=>e.def.innerType._zod.optout),tu(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>cp(e,r,t,n)):cp(e,r,t,n)}}),up=U(`$ZodPipe`,(e,t)=>{zd.init(e,t),tu(e,`values`,e=>e.def.in._zod.values),tu(e,`optin`,e=>e.def.in._zod.optin),tu(e,`optout`,e=>e.def.out._zod.optout),tu(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>dp(e,t.in,n)):dp(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>dp(e,t.out,n)):dp(r,t.out,n)}});function dp(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var fp=U(`$ZodReadonly`,(e,t)=>{zd.init(e,t),tu(e,`propValues`,e=>e.def.innerType._zod.propValues),tu(e,`values`,e=>e.def.innerType._zod.values),tu(e,`optin`,e=>e.def.innerType?._zod?.optin),tu(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(pp):pp(r)}});function pp(e){return e.memo||(e.value=Object.freeze(e.value)),e}var mp=U(`$ZodLazy`,(e,t)=>{zd.init(e,t),hl(e._zod,`innerType`,()=>{let e=t;return e._cachedInner||=t.getter(),e._cachedInner}),tu(e,`pattern`,e=>e.innerType?._zod?.pattern),tu(e,`propValues`,e=>e.innerType?._zod?.propValues),tu(e,`optin`,e=>e.innerType?._zod?.optin??void 0),tu(e,`optout`,e=>e.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),hp=U(`$ZodCustom`,(e,t)=>{bd.init(e,t),zd.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>gp(t,n,r,e));gp(i,n,r,e)}});function gp(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Kl(e))}}var _p=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},vp=`~memo`,yp=[];function bp(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var xp=new WeakMap;function Sp(e,t){let n=xp.get(e);if(n!==void 0)return n;if(t.has(e))return!0;t.add(e);let r=!1,i=e=>{!r&&e?._zod&&Sp(e,t)&&(r=!0)},a=e._zod.def;switch(a.type){case`object`:for(let e of Reflect.ownKeys(a.shape))i(a.shape[e]);i(a.catchall);break;case`array`:i(a.element);break;case`tuple`:for(let e of a.items)i(e);i(a.rest);break;case`record`:case`map`:i(a.keyType),i(a.valueType);break;case`set`:i(a.valueType);break;case`union`:for(let e of a.options)i(e);break;case`intersection`:i(a.left),i(a.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:i(a.innerType);break;case`pipe`:i(a.in),i(a.out);break;case`function`:i(a.input),i(a.output);break;case`lazy`:i(e._zod.innerType);break;case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in a){let t=Object.getOwnPropertyDescriptor(a,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)i(n);else if(Array.isArray(n))for(let e of n)i(e)}}}return t.delete(e),xp.set(e,r),r}function Cp(e,t){let n=e.buckets.get(t);return n||(n=new Map,e.buckets.set(t,n)),n}var wp,Tp=[],Ep={alloc(e,t,n){let r=wp;if(!r)return n;wp=void 0;let i={value:n,issues:null};return r.set(t.value,i),Tp.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&Op(n,e.value))throw new _p;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r,i;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,a=(o,s)=>{if(n===void 0&&(n=Sp(e,new Set),!n))return e._zod.parse=t,e._zod.run===a&&(e._zod.run=t),t(o,s);let c=o.value;if(typeof c!=`object`||!c)return t(o,s);let l=s[vp];l||(l={buckets:new Map,backEdges:void 0},s[vp]=l);let u;r===s?u=i:(u=Cp(l,e),r=s,i=u);let d=u.get(c);if(d)return o.value=d.value,d.issues?d.issues.length&&o.issues.push(...bp(d.issues)):(o.memo=!0,l.backEdges??(l.backEdges=new Set),l.backEdges.add(d.value)),o;wp=u;let f=Tp.length,p=t(o,s);wp=void 0;let m=Tp.length>f?Tp.pop():void 0;return p instanceof Promise?p.then(e=>(m&&(m.issues=e.issues.length?bp(e.issues):yp),e)):(m&&(m.issues=p.issues.length?bp(p.issues):yp),p)};e._zod.parse=a,e._zod.run===t&&(e._zod.run=a)})}};function Dp(){return Ep}function Op(e,t){let n=e[vp]?.backEdges;return n!==void 0&&typeof t==`object`&&!!t&&n.has(t)}var kp=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,credit_card:`credit card number`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(H(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${Ol(e.values[0])}`:`Invalid option: expected one of ${cl(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${cl(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function Ap(){return{localeError:kp()}}var jp,Mp=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Np(){return new Mp}(jp=globalThis).__zod_globalRegistry??(jp.__zod_globalRegistry=Np());var Pp=globalThis.__zod_globalRegistry;function Fp(e,t){return new e({type:`string`,...B(t)})}function Ip(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...B(t)})}function Lp(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...B(t)})}function Rp(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...B(t)})}function zp(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...B(t)})}function Bp(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...B(t)})}function Vp(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...B(t)})}function Hp(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...B(t)})}function Up(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...B(t)})}function Wp(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...B(t)})}function Gp(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...B(t)})}function Kp(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...B(t)})}function qp(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...B(t)})}function Jp(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...B(t)})}function Yp(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...B(t)})}function Xp(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...B(t)})}function Zp(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...B(t)})}function Qp(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...B(t)})}function $p(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...B(t)})}function em(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...B(t)})}function tm(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...B(t)})}function nm(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...B(t)})}function rm(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...B(t)})}function im(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...B(t)})}function am(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...B(t)})}function om(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...B(t)})}function sm(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...B(t)})}function cm(e,t){return new e({type:`number`,checks:[],...B(t)})}function lm(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...B(t)})}function um(e,t){return new e({type:`boolean`,...B(t)})}function dm(e,t){return new e({type:`null`,...B(t)})}function fm(e){return new e({type:`unknown`})}function pm(e,t){return new e({type:`never`,...B(t)})}function mm(e,t){return new Cd({check:`less_than`,...B(t),value:e,inclusive:!1})}function hm(e,t){return new Cd({check:`less_than`,...B(t),value:e,inclusive:!0})}function gm(e,t){return new wd({check:`greater_than`,...B(t),value:e,inclusive:!1})}function _m(e,t){return new wd({check:`greater_than`,...B(t),value:e,inclusive:!0})}function vm(e,t){return new Td({check:`multiple_of`,...B(t),value:e})}function ym(e,t){return new Dd({check:`max_length`,...B(t),maximum:e})}function bm(e,t){return new W({check:`min_length`,...B(t),minimum:e})}function xm(e,t){return new Od({check:`length_equals`,...B(t),length:e})}function Sm(e,t){return new Ad({check:`string_format`,format:`regex`,...B(t),pattern:e})}function Cm(e){return new jd({check:`string_format`,format:`lowercase`,...B(e)})}function wm(e){return new Md({check:`string_format`,format:`uppercase`,...B(e)})}function Tm(e,t){return new Nd({check:`string_format`,format:`includes`,...B(t),includes:e})}function Em(e,t){return new Pd({check:`string_format`,format:`starts_with`,...B(t),prefix:e})}function Dm(e,t){return new Fd({check:`string_format`,format:`ends_with`,...B(t),suffix:e})}function Om(e){return new Id({check:`overwrite`,tx:e})}function km(e){return Om(t=>t.normalize(e))}function Am(){return Om(e=>e.trim())}function jm(){return Om(e=>e.toLowerCase())}function Mm(){return Om(e=>e.toUpperCase())}function Nm(){return Om(e=>yl(e))}function Pm(e,t,n){return new e({type:`array`,element:t,...B(n)})}function Fm(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...B(n)})}function Im(e,t){let n=Lm(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Kl(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(Kl(r))}},e(t.value,t)),t);return n}function Lm(e,t){let n=new bd({check:`custom`,...B(t)});return n._zod.check=e,n}function Rm(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&gl(e,t,n[t]);return e}function zm(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??Pp,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function Bm(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function Vm(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,Vm(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Rm(o.schema,c),t.io===`input`&&Zm(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Hm(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Um(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${Hm(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+Hm(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
69
69
 
70
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}e.external&&(e.sharedDefsExtractedFor=e.external)}function Wm(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Wm(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var Gm=new Set([`type`,`properties`,`required`,`additionalProperties`]),Km=[`oneOf`,`anyOf`];function qm(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Jm(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Gm.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??qm(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}gl(n,r,e.length===1?e[0]:Jm(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=qm(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function Ym(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Gm)if(t in e)return;let n=t.filter(e=>Km.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Jm(t);else{let e=n[0],i=Km.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Jm([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Rm(e,r))}function Xm(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Rm(i,s),Rm(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Wm(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])Ym(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Rm(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,gl(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:$m(t,`input`,e.processors),output:$m(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Zm(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return Zm(r.element,n);if(r.type===`set`)return Zm(r.valueType,n);if(r.type===`lazy`)return Zm(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`||r.type===`catch`)return Zm(r.innerType,n);if(r.type===`intersection`)return Zm(r.left,n)||Zm(r.right,n);if(r.type===`record`||r.type===`map`)return Zm(r.keyType,n)||Zm(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:Zm(r.in,n)||Zm(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Zm(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Zm(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Zm(e,n))return!0;return!!(r.rest&&Zm(r.rest,n))}return!1}var Qm=(e,t={})=>n=>{let r=zm({...n,processors:t});return Vm(e,r),Um(r,e),Xm(r,e)},$m=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=zm({...i??{},target:a,io:t,processors:n});return Vm(e,o),Um(o,e),Xm(o,e)},eh={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},th=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=eh[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},nh=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(Number.isFinite(c)&&c!==0?i.multipleOf=Math.abs(c):Bm(e,t,i,r,`A multipleOf divisor of ${c} cannot be represented in JSON Schema`))},rh=(e,t,n,r)=>{n.type=`boolean`},ih=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},ah=(e,t,n,r)=>{n.not={}},oh=(e,t,n,r)=>{let i=e._zod.def,a=sl(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},sh=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(Bm(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Bm(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},ch=(e,t,n,r)=>{Bm(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},lh=(e,t,n,r)=>{Bm(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},uh=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=Vm(a.element,t,{...r,path:[...r.path,`items`]})};function dh(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?dh(t.out):t.type===`catch`?dh(t.innerType):e._zod.optin}var fh=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Bm(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)gl(i.properties,e,Vm(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e];return t.io===`input`?dh(n)===void 0:n._zod.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=Vm(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},ph=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>Vm(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},mh=(e,t,n,r)=>{let i=e._zod.def,a=Vm(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=Vm(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},hh=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`array`;let o=t.target===`draft-2020-12`?`prefixItems`:`items`,s=t.target===`draft-2020-12`||t.target===`openapi-3.0`?`items`:`additionalItems`,c=a.items.map((e,n)=>Vm(e,t,{...r,path:[...r.path,o,n]})),l=a.rest?Vm(a.rest,t,{...r,path:[...r.path,s,...t.target===`openapi-3.0`?[a.items.length]:[]]}):null,u=a.items.length;for(;u>0;){let e=a.items[u-1];if(!(t.io===`input`?dh(e)!==void 0:e._zod.optout===`optional`))break;u--}let d=a.items.length,f=!a.rest;t.target===`draft-2020-12`?(i.prefixItems=c,f?i.items=!1:l&&(i.items=l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):t.target===`openapi-3.0`?(i.items={anyOf:c},l&&i.items.anyOf.push(l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):(i.items=c,f?i.additionalItems=!1:l&&(i.additionalItems=l),u>0&&(i.minItems=u),f&&(i.maxItems=d));let{minimum:p,maximum:m}=e._zod.bag;typeof p==`number`&&(i.minItems=p),typeof m==`number`&&(i.maxItems=m)};function gh(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=gh(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>gh(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?hd:md).source),p):p}var _h=new WeakMap;function vh(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of _h.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=gh(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}var yh=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=Vm(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)gl(i.patternProperties,t.source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=Vm(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=_h.get(t);n||(n=[],_h.set(t,n),t.deferred.push(()=>vh(t))),n.push(e)}i.additionalProperties=Vm(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&dh(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},bh=(e,t,n,r)=>{let i=e._zod.def,a=Vm(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},xh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Sh=Symbol();function Ch(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Bm(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Sh):JSON.parse(o)}var wh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Ch(i.defaultValue,e,t,n,r);o!==Sh&&(n.default=o)},Th=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Ch(i.defaultValue,e,t,n,r);o!==Sh&&(n._prefault=o)},Eh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Bm(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Dh=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;Vm(o,t,r);let s=t.seen.get(e);s.ref=o},Oh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},kh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ah=(e,t,n,r)=>{let i=e._zod.innerType;Vm(i,t,r);let a=t.seen.get(e);a.ref=i},jh=new WeakSet([Object.prototype,Error.prototype]);function Mh(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var Nh=U(`ZodError`,(e,t)=>{bu.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);jh.has(n)||(jh.add(n),Mh(n,`format`,e=>t=>wu(e,t)),Mh(n,`flatten`,e=>t=>Cu(e,t)),Mh(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ll,2)}),Mh(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ll,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Ph=Eu(Nh),Fh=Du(Nh),Ih=Ou(Nh),Lh=Au(Nh),Rh=Mu(Nh),zh=Nu(Nh),Bh=Pu(Nh),Vh=Fu(Nh),Hh=Iu(Nh),Uh=Lu(Nh),Wh=Ru(Nh),Gh=zu(Nh);function Kh(){du.localeError||fu(Ap())}function qh(){du.memoizer||fu({memoizer:Dp()})}var Jh=U(`ZodType`,(e,t)=>(Kh(),zd.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(_l(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Dl(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(__(e,t))},superRefine(e,t){return this.check(v_(e,t))},overwrite(e){return this.check(Om(e))},optional(){return Qg(this)},exactOptional(){return e_(this)},nullable(){return n_(this)},nullish(){return Qg(n_(this))},nonoptional(e){return c_(this,e)},array(){return Ng(this)},or(e){return Lg([this,e])},and(e){return Vg(this,e)},transform(e){return f_(this,Xg(e))},default(e){return i_(this,e)},prefault(e){return o_(this,e)},catch(e){return u_(this,e)},pipe(e){return f_(this,e)},readonly(){return m_(this)},describe(e){let t=this.clone();return Pp.add(t,{description:e}),t},meta(...e){if(e.length===0)return Pp.get(this);let t=this.clone();return Pp.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return Yl(this,`~standard`,{...Vd(this),jsonSchema:{input:$m(this,`input`),output:$m(this,`output`)}})},set"~standard"(e){Jl(this,`~standard`,e)},parse:function e(t,n){return Ph(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Fh(this,t,n,{callee:e})},safeParse(e,t){return Ih(this,e,t)},async safeParseAsync(e,t){return Lh(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){Jl(this,`spa`,e)},encode:function e(t,n){return Rh(this,t,n,{callee:e})},decode:function e(t,n){return zh(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Bh(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Vh(this,t,n,{callee:e})},safeEncode(e,t){return Hh(this,e,t)},safeDecode(e,t){return Uh(this,e,t)},async safeEncodeAsync(e,t){return Wh(this,e,t)},async safeDecodeAsync(e,t){return Gh(this,e,t)},toJSONSchema(e){return Qm(this,{})(e)},get description(){return Pp.get(this)?.description},get _def(){return this._zod.def}}),Yh=U(`_ZodString`,(e,t)=>{Hd.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>th(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null},{regex(...e){return this.check(Sm(...e))},includes(...e){return this.check(Tm(...e))},startsWith(...e){return this.check(Em(...e))},endsWith(...e){return this.check(Dm(...e))},min(...e){return this.check(bm(...e))},max(...e){return this.check(ym(...e))},length(...e){return this.check(xm(...e))},nonempty(...e){return this.check(bm(1,...e))},lowercase(e){return this.check(Cm(e))},uppercase(e){return this.check(wm(e))},trim(){return this.check(Am())},normalize(...e){return this.check(km(...e))},toLowerCase(){return this.check(jm())},toUpperCase(){return this.check(Mm())},slugify(){return this.check(Nm())}}),Xh=U(`ZodString`,(e,t)=>{Hd.init(e,t),Yh.init(e,t)},{email(e){return this.check(Ip(ng,e))},url(e){return this.check(Hp(ag,e))},jwt(e){return this.check(rm(bg,e))},emoji(e){return this.check(Up(og,e))},guid(e){return this.check(Lp(rg,e))},uuid(e){return this.check(Rp(ig,e))},uuidv4(e){return this.check(zp(ig,e))},uuidv6(e){return this.check(Bp(ig,e))},uuidv7(e){return this.check(Vp(ig,e))},nanoid(e){return this.check(Wp(sg,e))},cuid(e){return this.check(Gp(cg,e))},cuid2(e){return this.check(Kp(lg,e))},ulid(e){return this.check(qp(ug,e))},base64(e){return this.check(em(_g,e))},base64url(e){return this.check(tm(vg,e))},xid(e){return this.check(Jp(dg,e))},ksuid(e){return this.check(Yp(fg,e))},ipv4(e){return this.check(Xp(pg,e))},ipv6(e){return this.check(Zp(mg,e))},cidrv4(e){return this.check(Qp(hg,e))},cidrv6(e){return this.check($p(gg,e))},e164(e){return this.check(nm(yg,e))},datetime(e){return this.check(im(Qh,e))},date(e){return this.check(am($h,e))},time(e){return this.check(om(eg,e))},duration(e){return this.check(sm(tg,e))}});function K(e){return Fp(Xh,e)}var Zh=U(`ZodStringFormat`,(e,t)=>{G.init(e,t),Yh.init(e,t)}),Qh=U(`ZodISODateTime`,(e,t)=>{of.init(e,t),Zh.init(e,t)}),$h=U(`ZodISODate`,(e,t)=>{sf.init(e,t),Zh.init(e,t)}),eg=U(`ZodISOTime`,(e,t)=>{cf.init(e,t),Zh.init(e,t)}),tg=U(`ZodISODuration`,(e,t)=>{lf.init(e,t),Zh.init(e,t)}),ng=U(`ZodEmail`,(e,t)=>{Gd.init(e,t),Zh.init(e,t)}),rg=U(`ZodGUID`,(e,t)=>{Ud.init(e,t),Zh.init(e,t)}),ig=U(`ZodUUID`,(e,t)=>{Wd.init(e,t),Zh.init(e,t)}),ag=U(`ZodURL`,(e,t)=>{Zd.init(e,t),Zh.init(e,t)}),og=U(`ZodEmoji`,(e,t)=>{Qd.init(e,t),Zh.init(e,t)}),sg=U(`ZodNanoID`,(e,t)=>{$d.init(e,t),Zh.init(e,t)}),cg=U(`ZodCUID`,(e,t)=>{ef.init(e,t),Zh.init(e,t)}),lg=U(`ZodCUID2`,(e,t)=>{tf.init(e,t),Zh.init(e,t)}),ug=U(`ZodULID`,(e,t)=>{nf.init(e,t),Zh.init(e,t)}),dg=U(`ZodXID`,(e,t)=>{rf.init(e,t),Zh.init(e,t)}),fg=U(`ZodKSUID`,(e,t)=>{af.init(e,t),Zh.init(e,t)}),pg=U(`ZodIPv4`,(e,t)=>{uf.init(e,t),Zh.init(e,t)}),mg=U(`ZodIPv6`,(e,t)=>{pf.init(e,t),Zh.init(e,t)}),hg=U(`ZodCIDRv4`,(e,t)=>{mf.init(e,t),Zh.init(e,t)}),gg=U(`ZodCIDRv6`,(e,t)=>{gf.init(e,t),Zh.init(e,t)}),_g=U(`ZodBase64`,(e,t)=>{vf.init(e,t),Zh.init(e,t)}),vg=U(`ZodBase64URL`,(e,t)=>{bf.init(e,t),Zh.init(e,t)}),yg=U(`ZodE164`,(e,t)=>{xf.init(e,t),Zh.init(e,t)}),bg=U(`ZodJWT`,(e,t)=>{Cf.init(e,t),Zh.init(e,t)}),xg=U(`ZodNumber`,(e,t)=>{wf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>nh(e,t,n,r);let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null},{gt(e,t){return this.check(gm(e,t))},gte(e,t){return this.check(_m(e,t))},min(e,t){return this.check(_m(e,t))},lt(e,t){return this.check(mm(e,t))},lte(e,t){return this.check(hm(e,t))},max(e,t){return this.check(hm(e,t))},int(e){return this.check(Cg(e))},safe(e){return this.check(Cg(e))},positive(e){return this.check(gm(0,e))},nonnegative(e){return this.check(_m(0,e))},negative(e){return this.check(mm(0,e))},nonpositive(e){return this.check(hm(0,e))},multipleOf(e,t){return this.check(vm(e,t))},step(e,t){return this.check(vm(e,t))},finite(){return this}});function q(e){return cm(xg,e)}var Sg=U(`ZodNumberFormat`,(e,t)=>{Tf.init(e,t),xg.init(e,t)});function Cg(e){return lm(Sg,e)}var wg=U(`ZodBoolean`,(e,t)=>{Ef.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>rh(e,t,n,r)});function Tg(e){return um(wg,e)}var Eg=U(`ZodNull`,(e,t)=>{Df.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ih(e,t,n,r)});function Dg(e){return dm(Eg,e)}var Og=U(`ZodUnknown`,(e,t)=>{Of.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function kg(){return fm(Og)}var Ag=U(`ZodNever`,(e,t)=>{kf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ah(e,t,n,r)});function jg(e){return pm(Ag,e)}var Mg=U(`ZodArray`,(e,t)=>{qh(),jf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uh(e,t,n,r),e.element=t.element},{min(e,t){return this.check(bm(e,t))},nonempty(e){return this.check(bm(1,e))},max(e,t){return this.check(ym(e,t))},length(e,t){return this.check(xm(e,t))},unwrap(){return this.element}});function Ng(e,t){return Pm(Mg,e,t)}var Pg=U(`ZodObject`,(e,t)=>{qh(),Rf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fh(e,t,n,r),nu(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return qg(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:kg()})},loose(){return this.clone({...this._zod.def,catchall:kg()})},strict(){return this.clone({...this._zod.def,catchall:jg()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Nl(this,e)},safeExtend(e){return Pl(this,e)},merge(e){return Fl(this,e)},pick(e){return jl(this,e)},omit(e){return Ml(this,e)},partial(...e){return Il(Zg,this,e[0])},exactPartial(...e){return Il($g,this,e[0],`exactPartial`)},required(...e){return Ll(s_,this,e[0])}});function J(e,t){return new Pg({type:`object`,shape:e??{},...B(t)})}function Fg(e,t){return new Pg({type:`object`,shape:e,catchall:jg(),...B(t)})}var Ig=U(`ZodUnion`,(e,t)=>{Bf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ph(e,t,n,r),e.options=t.options});function Lg(e,t){return new Ig({type:`union`,options:e,...B(t)})}var Rg=U(`ZodDiscriminatedUnion`,(e,t)=>{Ig.init(e,t),Vf.init(e,t)});function zg(e,t,n){return new Rg({type:`union`,options:t,discriminator:e,...B(n)})}var Bg=U(`ZodIntersection`,(e,t)=>{Hf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mh(e,t,n,r)});function Vg(e,t){return new Bg({type:`intersection`,left:e,right:t})}var Hg=U(`ZodTuple`,(e,t)=>{qh(),Gf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hh(e,t,n,r)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw Error(`.partial() cannot be used on tuple schemas containing refinements`);return this.clone({...e,items:e.items.map(e=>new Zg({type:`optional`,innerType:e}))})}});function Ug(e,t,n){let r=t instanceof zd;return new Hg({type:`tuple`,items:e,rest:r?t:null,...B(r?n:t)})}var Wg=U(`ZodRecord`,(e,t)=>{qh(),Yf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yh(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Gg(e,t,n){return!t||!t._zod?new Wg({type:`record`,keyType:K(),valueType:e,...B(t)}):new Wg({type:`record`,keyType:e,valueType:t,...B(n)})}var Kg=U(`ZodEnum`,(e,t)=>{Xf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oh(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Kg({...t,checks:[],...B(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Kg({...t,checks:[],...B(r),entries:i})}});function qg(e,t){return new Kg({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...B(t)})}var Jg=U(`ZodLiteral`,(e,t)=>{Zf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sh(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Y(e,t){return new Jg({type:`literal`,values:Array.isArray(e)?e:[e],...B(t)})}var Yg=U(`ZodTransform`,(e,t)=>{qh(),Qf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lh(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new uu(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Kl(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(Kl(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Xg(e){return new Yg({type:`transform`,transform:e})}var Zg=U(`ZodOptional`,(e,t)=>{ep.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qg(e){return new Zg({type:`optional`,innerType:e})}var $g=U(`ZodExactOptional`,(e,t)=>{tp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function e_(e){return new $g({type:`optional`,innerType:e})}var t_=U(`ZodNullable`,(e,t)=>{np.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function n_(e){return new t_({type:`nullable`,innerType:e})}var r_=U(`ZodDefault`,(e,t)=>{rp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function i_(e,t){return new r_({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():wl(t)}})}var a_=U(`ZodPrefault`,(e,t)=>{ap.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Th(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function o_(e,t){return new a_({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():wl(t)}})}var s_=U(`ZodNonOptional`,(e,t)=>{op.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function c_(e,t){return new s_({type:`nonoptional`,innerType:e,...B(t)})}var l_=U(`ZodCatch`,(e,t)=>{lp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Eh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function u_(e,t){return new l_({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:iu(t)})}var d_=U(`ZodPipe`,(e,t)=>{up.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dh(e,t,n,r),e.in=t.in,e.out=t.out});function f_(e,t){return new d_({type:`pipe`,in:e,out:t})}var p_=U(`ZodReadonly`,(e,t)=>{fp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function m_(e){return new p_({type:`readonly`,innerType:e})}var h_=U(`ZodLazy`,(e,t)=>{mp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ah(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function X(e){return new h_({type:`lazy`,getter:e})}var g_=U(`ZodCustom`,(e,t)=>{hp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ch(e,t,n,r)});function __(e,t={}){return Fm(g_,e,t)}function v_(e,t){return Im(e,t)}function Z(e,t={}){let n=new g_({type:`custom`,check:`custom`,fn:t=>t instanceof e,abort:!0,...B(t)});return n._zod.bag.Class=e,n._zod.check=t=>{t.value instanceof e||t.issues.push({code:`invalid_type`,expected:e.name,input:t.value,inst:n,path:[...n._zod.def.path??[]]})},n}var y_=X(()=>Z(Uint8Array).refine(e=>e.length===16,{message:`expected exactly 16 bytes`})),b_=X(()=>J({verb:Y(`bulk.open`),"transfer-id":X(()=>y_),"total-size":q().int().nonnegative().optional(),"content-type":K().optional()}).catchall(kg())),x_=X(()=>J({verb:Y(`bulk.resume`),"transfer-id":X(()=>y_),"ack-seq":q().int().nonnegative()}).catchall(kg())),S_=X(()=>J({verb:Y(`bulk.cancel`),"transfer-id":X(()=>y_),reason:K().optional()}).catchall(kg())),C_=X(()=>Lg([Lg([X(()=>b_),X(()=>x_),X(()=>S_)]),Lg([X(()=>A_),X(()=>j_),X(()=>M_),X(()=>N_),X(()=>P_),X(()=>F_),X(()=>I_),X(()=>L_)]),J({}).catchall(kg()),X(()=>$_),X(()=>tv),X(()=>iv),X(()=>av),Lg([X(()=>lv),X(()=>uv),X(()=>dv),X(()=>fv)]),Lg([X(()=>mv),X(()=>hv)]),X(()=>gv),Lg([X(()=>Ov),X(()=>kv),X(()=>Av)]),Lg([X(()=>jv),X(()=>Mv),X(()=>Nv)]),X(()=>iy),Lg([X(()=>sy),X(()=>cy),X(()=>ly),X(()=>ay)])])),w_=X(()=>J({type:Y(`bulk-data`),"transfer-id":X(()=>y_),seq:q().int().nonnegative(),bytes:Z(Uint8Array)})),T_=X(()=>J({type:Y(`bulk-ack`),"transfer-id":X(()=>y_),"ack-seq":q().int().nonnegative(),window:q().int().nonnegative()})),E_=X(()=>J({type:Y(`bulk-end`),"transfer-id":X(()=>y_),digest:Z(Uint8Array)})),D_=X(()=>J({type:Y(`data-have`),peer:X(()=>q_),"head-seq":q().int().nonnegative()})),O_=X(()=>J({type:Y(`data-request`),peer:X(()=>q_),"from-seq":q().int().nonnegative()})),k_=X(()=>J({type:Y(`data-entries`),peer:X(()=>q_),"from-seq":q().int().nonnegative(),entries:Ng(Z(Uint8Array))}));X(()=>J({handle:K(),"device-id":X(()=>q_),"identity-key":X(()=>K_),candidates:Ng(X(()=>Yv)).optional(),mailboxes:Ng(X(()=>q_)).optional(),issued:q().int().nonnegative(),expires:q().int().nonnegative()})),X(()=>X(()=>Bv));var A_=X(()=>J({verb:Y(`pty.spawn`),shell:K().optional(),argv:Ng(K()),cwd:K().optional(),env:J({}).catchall(K()),cols:q().int().nonnegative(),rows:q().int().nonnegative()})),j_=X(()=>J({verb:Y(`pty.write`),session:X(()=>xv),bytes:Z(Uint8Array)})),M_=X(()=>J({verb:Y(`pty.resize`),session:X(()=>xv),cols:q().int().nonnegative(),rows:q().int().nonnegative()})),N_=X(()=>J({verb:Y(`pty.kill`),session:X(()=>xv),signal:q().int()})),P_=X(()=>J({verb:Y(`proc.spawn`),argv:Ng(K()),cwd:K().optional(),env:J({}).catchall(K())})),F_=X(()=>J({verb:Y(`proc.signal`),session:X(()=>xv),signal:q().int()})),I_=X(()=>J({verb:Y(`proc.kill`),session:X(()=>xv)})),L_=X(()=>J({verb:Y(`exec.list`)}));X(()=>J({session:X(()=>xv),kind:Lg([Y(`pty`),Y(`proc`)]),argv:Ng(K()).optional(),cwd:K().optional()}));var R_=X(()=>Lg([X(()=>G_),X(()=>Uv),X(()=>Wv),X(()=>Gv),X(()=>qv),X(()=>Xv),X(()=>Zv),X(()=>Qv),X(()=>$v),X(()=>ey),X(()=>ty),X(()=>ny),X(()=>ry),X(()=>Y_),X(()=>Q_),X(()=>rv),X(()=>Sv),X(()=>Cv),X(()=>wv),X(()=>D_),X(()=>O_),X(()=>k_),X(()=>w_),X(()=>T_),X(()=>E_)])),z_=X(()=>X(()=>R_)),B_=X(()=>q().int().nonnegative()),V_=X(()=>Lg([X(()=>H_),X(()=>U_),X(()=>W_)])),H_=X(()=>Lg([Y(`core/management`),Y(`core/exec`),Y(`core/data`),Y(`core/federation`),Y(`core/webrtc`),Y(`core/room`),Y(`core/bulk`),Y(`core/version`)])),U_=X(()=>K().regex(RegExp(`[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+/[A-Za-z0-9_.-]+`))),W_=X(()=>K().regex(RegExp(`x-[A-Za-z0-9_.-]+`))),G_=X(()=>J({type:Y(`handshake`),version:X(()=>B_),domains:Ng(X(()=>V_)),params:J({}).catchall(kg()).optional()})),K_=X(()=>J({alg:q().int(),"public-key":Z(Uint8Array)})),q_=X(()=>Z(Uint8Array).refine(e=>e.length===32,{message:`expected exactly 32 bytes`}));X(()=>J({"device-id":X(()=>q_),"identity-key":X(()=>K_),certificate:Z(Uint8Array).optional()}));var J_=X(()=>J({verb:X(()=>Pv),params:X(()=>C_)})),Y_=X(()=>J({type:Y(`manage-request`),"request-id":q().int().nonnegative(),command:X(()=>J_),scope:X(()=>Rv),token:X(()=>Vv).optional()})),X_=X(()=>J({result:Y(`ok`)}).catchall(kg())),Z_=X(()=>J({result:Y(`error`),code:K(),message:K().optional()})),Q_=X(()=>J({type:Y(`manage-response`),"request-id":q().int().nonnegative(),outcome:Lg([X(()=>X_),X(()=>Z_)])})),$_=X(()=>J({verb:Y(`capability.request`),capability:K(),"valid-until":q().int().nonnegative().optional()}).catchall(kg())),ev=X(()=>J({result:Y(`ok`),"granted-token":X(()=>Vv)}).catchall(kg())),tv=X(()=>J({verb:Y(`capability.grant`),"granted-token":X(()=>Vv)}).catchall(kg()));X(()=>J({"token-id":Z(Uint8Array),issuer:X(()=>q_),"issuer-key":X(()=>K_),"revoked-at":q().int().nonnegative(),authorization:Z(Uint8Array).optional()}));var nv=X(()=>X(()=>Bv)),rv=X(()=>J({type:Y(`revocation-announce`),entries:Ng(X(()=>nv))})),iv=X(()=>J({verb:Y(`path.trace`)}));X(()=>J({result:Y(`ok`),relayed:Tg(),"hub-address":K().optional()}).catchall(kg())),X(()=>J({direct:Ng(X(()=>q_)),relayed:Ng(J({device:X(()=>q_),via:X(()=>q_).optional()}))}));var av=X(()=>J({verb:Y(`topology.get`)})),ov=X(()=>Lg([X(()=>sv),X(()=>cv)]));X(()=>K().regex(RegExp(`[0-9a-f]{64}`)));var sv=X(()=>K().regex(RegExp(`[0-9a-f]{64}/[A-Za-z0-9_-]+`))),cv=X(()=>K().regex(RegExp(`[0-9a-f]{64}\\+[0-9a-f]{64}`))),lv=X(()=>J({verb:Y(`room.send`),"message-id":Z(Uint8Array),"sent-at":q().int().nonnegative(),text:K(),"content-type":K().optional(),refs:Ng(X(()=>pv)).optional()}).catchall(kg())),uv=X(()=>J({verb:Y(`room.read`),messages:Ng(Z(Uint8Array)),at:q().int().nonnegative()}).catchall(kg())),dv=X(()=>J({verb:Y(`room.leave`)}).catchall(kg())),fv=X(()=>J({verb:Y(`room.members`)}).catchall(kg())),pv=X(()=>J({id:Z(Uint8Array),relation:K()})),mv=X(()=>J({verb:Y(`room.join`)}).catchall(kg())),hv=X(()=>J({verb:Y(`room.invite`),invitee:X(()=>q_),token:X(()=>Vv)}).catchall(kg())),gv=X(()=>J({verb:Y(`room.rekey`),"key-epoch":q().int().nonnegative(),"wrapped-key":Lg([Z(Uint8Array),Ng(Z(Uint8Array))])}).catchall(kg())),_v=X(()=>J({device:X(()=>q_)}).catchall(kg())),vv=X(()=>J({result:Y(`ok`),"granted-token":X(()=>Vv),members:Ng(X(()=>_v))}).catchall(kg()));X(()=>J({result:Y(`ok`),members:Ng(X(()=>_v))}).catchall(kg()));var yv=X(()=>X(()=>Bv)),bv=X(()=>J({room:X(()=>ov),poster:X(()=>q_),"poster-key":X(()=>K_),token:X(()=>Vv),"notice-id":Z(Uint8Array),"posted-at":q().int().nonnegative(),"content-type":K(),content:Z(Uint8Array),refs:Ng(X(()=>pv)).optional(),"valid-until":q().int().nonnegative().optional(),"key-epoch":q().int().nonnegative().optional()}).catchall(kg())),xv=X(()=>q().int().nonnegative()),Sv=X(()=>J({type:Y(`stream-data`),session:X(()=>xv),seq:q().int().nonnegative(),channel:K(),bytes:Z(Uint8Array)})),Cv=X(()=>J({type:Y(`stream-ack`),session:X(()=>xv),"ack-seq":q().int().nonnegative(),window:q().int().nonnegative()})),wv=X(()=>J({type:Y(`stream-end`),session:X(()=>xv),"exit-code":q().int().optional(),"exit-signal":q().int().optional()})),Tv=X(()=>q().int().nonnegative()),Ev=X(()=>J({kind:Lg([Y(`capability-token`),Y(`revocation-entry`),Y(`handle-record`),Y(`room-notice`),K()]),protected:Z(Uint8Array),payload:Z(Uint8Array)})),Dv=X(()=>J({participant:X(()=>q_),hiding:Z(Uint8Array),binding:Z(Uint8Array)})),Ov=X(()=>J({verb:Y(`threshold.commit`),"session-id":X(()=>Tv),group:X(()=>q_),subject:X(()=>Ev),deadline:q().int().nonnegative()})),kv=X(()=>J({verb:Y(`threshold.sign`),"session-id":X(()=>Tv),commitments:Ng(X(()=>Dv))}));X(()=>J({"session-id":X(()=>Tv),group:X(()=>q_),share:Z(Uint8Array),issuer:X(()=>q_),"issuer-key":X(()=>K_)})),X(()=>X(()=>Bv));var Av=X(()=>J({verb:Y(`threshold.abort`),"session-id":X(()=>Tv),reason:K().optional()})),jv=X(()=>J({verb:Y(`threshold.keygen-round1`),"session-id":X(()=>Tv),threshold:q().int().nonnegative(),participants:Ng(X(()=>q_)),commitment:Ng(Z(Uint8Array)),"proof-of-knowledge":Z(Uint8Array).optional(),"existing-group-key":Z(Uint8Array).optional()})),Mv=X(()=>J({verb:Y(`threshold.keygen-round2`),"session-id":X(()=>Tv),share:Z(Uint8Array)})),Nv=X(()=>J({verb:Y(`threshold.keygen-confirm`),"session-id":X(()=>Tv),"transcript-digest":Z(Uint8Array),"group-key":Z(Uint8Array)})),Pv=X(()=>Lg([X(()=>Fv),X(()=>Iv),X(()=>Lv)])),Fv=X(()=>K().regex(RegExp(`[a-z][a-z0-9-]*:[a-z][a-z0-9-]*`))),Iv=X(()=>K().regex(RegExp(`[a-z0-9.-]+/[A-Za-z0-9_.-]+:[A-Za-z0-9_.-]+`))),Lv=X(()=>K().regex(RegExp(`x-[A-Za-z0-9_.-]+:[A-Za-z0-9_.-]+`))),Rv=X(()=>J({kind:K(),path:K().optional()}));X(()=>Y(1)),X(()=>Y(4)),X(()=>Lg([q().int(),K()]));var zv=X(()=>J({1:q().int().optional(),4:Z(Uint8Array).optional()}).catchall(kg())),Bv=X(()=>Ug([Z(Uint8Array),X(()=>zv),Lg([Z(Uint8Array),Dg()]),Z(Uint8Array)])),Vv=X(()=>X(()=>Bv)),Hv=X(()=>J({"token-id":Z(Uint8Array),issuer:X(()=>q_),"issuer-key":X(()=>K_),bearer:X(()=>q_),capability:X(()=>Pv),scope:X(()=>Rv),expires:q().int().nonnegative(),"not-before":q().int().nonnegative().optional(),parent:Z(Uint8Array).optional(),"delegations-remaining":q().int().nonnegative().optional(),"valid-until":q().int().nonnegative().optional(),conditions:Z(Uint8Array).optional()}).catchall(kg())),Uv=X(()=>J({type:Y(`ping`)})),Wv=X(()=>J({type:Y(`pong`)})),Gv=X(()=>J({type:Y(`close`),reason:K().optional()})),Kv=X(()=>J({device:X(()=>q_),addresses:Ng(K()),"snapshot-seconds":q().int()}).catchall(kg())),qv=X(()=>J({type:Y(`gossip`),peers:Ng(X(()=>Kv))})),Jv=X(()=>Lg([Y(`host`),Y(`server-reflexive`),Y(`relayed`)])),Yv=X(()=>J({address:K(),kind:X(()=>Jv),priority:q().int().nonnegative()})),Xv=X(()=>J({type:Y(`candidates`),candidates:Ng(X(()=>Yv))})),Zv=X(()=>J({type:Y(`sync-punch`),nonce:q().int().nonnegative(),"deadline-unix-ms":q().int().nonnegative()})),Qv=X(()=>J({type:Y(`observed-address`),address:K()})),$v=X(()=>J({type:Y(`relay-offer`),addresses:Ng(K())})),ey=X(()=>J({type:Y(`relay-connect`),"target-device":X(()=>q_)})),ty=X(()=>J({type:Y(`relay-data`),payload:Z(Uint8Array),"to-device":X(()=>q_).optional(),"from-device":X(()=>q_).optional()})),ny=X(()=>J({type:Y(`relay-inbound`),"source-device":X(()=>q_)})),ry=X(()=>J({type:Y(`coordinator`),term:q().int().nonnegative(),coordinator:X(()=>q_),"capacity-hint":q().int().nonnegative().optional()})),iy=X(()=>J({verb:Y(`version.get`)})),ay=X(()=>J({verb:Y(`webrtc.sfu-track-map`),"negotiation-id":q().int().nonnegative(),tracks:Ng(X(()=>oy))})),oy=X(()=>J({mid:K(),member:X(()=>q_),kind:Lg([Y(`audio`),Y(`video`)])})),sy=X(()=>J({verb:Y(`webrtc.offer`),"negotiation-id":q().int().nonnegative(),sdp:K()})),cy=X(()=>J({verb:Y(`webrtc.answer`),"negotiation-id":q().int().nonnegative(),sdp:K()})),ly=X(()=>J({verb:Y(`webrtc.ice-candidate`),"negotiation-id":q().int().nonnegative(),candidate:X(()=>uy).optional()})),uy=X(()=>J({candidate:K(),"sdp-mid":K().optional(),"sdp-m-line-index":q().int().nonnegative().optional(),"username-fragment":K().optional()})),dy=16,fy=2;function py(e){let t=``;for(let n of e)t+=n.toString(dy).padStart(fy,`0`);return t}function my(e){return py(e)}var hy=String(2**53-1).length,gy=`message`;function _y(e,t){return`${gy}/${e}/${String(t.sentAt).padStart(hy,`0`)}-${py(t.messageId)}`}function vy(e){return e===`sent`||e===`received`}function yy(e){return typeof e!=`object`||!e||!(`direction`in e)||!(`text`in e)||!(`messageId`in e)||!(`sentAt`in e)?!1:vy(e.direction)&&typeof e.text==`string`&&e.messageId instanceof Uint8Array&&typeof e.sentAt==`number`}function by(e){return{async append(t,n){await e.set(_y(t,n),new Uint8Array(rc(n,Bs)))},async list(t){let n=(await e.keys(`${gy}/${t}/`)).sort(),r=[];for(let t of n){let n=await e.get(t);if(n===void 0)continue;let i=Gc(n,Kc);if(!yy(i))throw Error(`stored message at ${t} is malformed`);r.push(i)}return r}}}var xy=[`core/federation`];function Sy(e,t){let n=Math.min(e.version,t.version),r=e.domains.filter(e=>!xy.includes(e)&&t.domains.includes(e));return{ok:n>=1&&r.length>0,version:n,sharedDomains:r}}function Cy(){let e=[],t=[];return{push(n){let r=e.shift();r===void 0?t.push(n):r(n)},stream:{[Symbol.asyncIterator](){return{next:async()=>new Promise(n=>{let r=t.shift();r===void 0?e.push(e=>{n({value:e,done:!1})}):n({value:r,done:!1})})}}}}}function wy(){let e=[];function t(t){let n=e.findIndex(e=>e.sentAt===t);return n!==-1&&(e.splice(n,1),!0)}return{resolveOldest(t){let n=e.shift();n!==void 0&&n.resolve(t-n.sentAt)},rejectAll(t){for(let n of e.splice(0))n.reject(Error(t))},async sendAndAwait(n,r,i){let a=new Promise((t,r)=>{e.push({sentAt:n,resolve:t,reject:r})});return await r(),i===void 0?a:Promise.race([a,new Promise((e,r)=>{setTimeout(()=>{t(n)&&r(Error(`timed out waiting for pong`))},i)})])}}}function Ty(e){return e.authenticatedPeer===void 0?e.isAccepted?e.firstAdvertisedPeer??void 0:void 0:e.authenticatedPeer}function Ey(e){let t=Ty(e);return{direct:t===void 0?[]:[t],relayed:e.relayedDevices.map(e=>({device:e,...t===void 0?{}:{via:t}}))}}function Dy(e){let t=null;return{recordAdvert:e=>{t??=e},compute:()=>{let n=e.getAuthenticatedPeer();return Ey({...n===void 0?{}:{authenticatedPeer:n},firstAdvertisedPeer:t,isAccepted:e.isAccepted,relayedDevices:e.getRelayedDevices()})}}}var Oy={name:`wire-mesh-core`,version:`1.58.4`,dependencies:{cbor2:`2.3.0`,"cddl.js":`1.0.1`,trilean:`1.6.2`,zod:`4.5.4`},devDependencies:{"@arethetypeswrong/cli":`0.18.5`,"@exadev/eslint-config":`2.18.0`,"@stryker-mutator/api":`10.0.0`,"@stryker-mutator/core":`10.0.0`,"@stryker-mutator/typescript-checker":`10.0.0`,"@types/node":`26.4.1`,eslint:`10.10.0`,"eslint-config-prettier":`10.1.8`,"eslint-plugin-prettier":`5.5.6`,globals:`17.12.0`,jiti:`2.7.0`,prettier:`3.9.6`,tsdown:`0.23.0`,turbo:`2.10.12`,typescript:`6.0.3`,vitest:`5.0.0`},exports:{"./adapters/frame-codec":{import:`./dist/adapters/frame-codec.mjs`,require:`./dist/adapters/frame-codec.cjs`},"./adapters/memory-storage":{import:`./dist/adapters/memory-storage.mjs`,require:`./dist/adapters/memory-storage.cjs`},"./adapters/node-fs-storage":{import:`./dist/adapters/node-fs-storage.mjs`,require:`./dist/adapters/node-fs-storage.cjs`},"./adapters/node-identity":{import:`./dist/adapters/node-identity.mjs`,require:`./dist/adapters/node-identity.cjs`},"./adapters/system-clock":{import:`./dist/adapters/system-clock.mjs`,require:`./dist/adapters/system-clock.cjs`},"./adapters/tcp-transport":{import:`./dist/adapters/tcp-transport.mjs`,require:`./dist/adapters/tcp-transport.cjs`},"./adapters/threshold-identity":{import:`./dist/adapters/threshold-identity.mjs`,require:`./dist/adapters/threshold-identity.cjs`},"./adapters/threshold-wasm":{import:`./dist/adapters/threshold-wasm.mjs`,require:`./dist/adapters/threshold-wasm.cjs`},"./adapters/tls-transport":{import:`./dist/adapters/tls-transport.mjs`,require:`./dist/adapters/tls-transport.cjs`},"./domain/async-queue":{import:`./dist/domain/async-queue.mjs`,require:`./dist/domain/async-queue.cjs`},"./domain/bulk":{import:`./dist/domain/bulk.mjs`,require:`./dist/domain/bulk.cjs`},"./domain/capability-grant":{import:`./dist/domain/capability-grant.mjs`,require:`./dist/domain/capability-grant.cjs`},"./domain/capability-request":{import:`./dist/domain/capability-request.mjs`,require:`./dist/domain/capability-request.cjs`},"./domain/data-sync":{import:`./dist/domain/data-sync.mjs`,require:`./dist/domain/data-sync.cjs`},"./domain/device-id":{import:`./dist/domain/device-id.mjs`,require:`./dist/domain/device-id.cjs`},"./domain/direct-manage-request":{import:`./dist/domain/direct-manage-request.mjs`,require:`./dist/domain/direct-manage-request.cjs`},"./domain/erasure-coding":{import:`./dist/domain/erasure-coding.mjs`,require:`./dist/domain/erasure-coding.cjs`},"./domain/gossip-expansion":{import:`./dist/domain/gossip-expansion.mjs`,require:`./dist/domain/gossip-expansion.cjs`},"./domain/gossip-extensions":{import:`./dist/domain/gossip-extensions.mjs`,require:`./dist/domain/gossip-extensions.cjs`},"./domain/grant-candidates":{import:`./dist/domain/grant-candidates.mjs`,require:`./dist/domain/grant-candidates.cjs`},"./domain/group-key":{import:`./dist/domain/group-key.mjs`,require:`./dist/domain/group-key.cjs`},"./domain/handshake":{import:`./dist/domain/handshake.mjs`,require:`./dist/domain/handshake.cjs`},"./domain/mesh-session":{import:`./dist/domain/mesh-session.mjs`,require:`./dist/domain/mesh-session.cjs`},"./domain/notice-board":{import:`./dist/domain/notice-board.mjs`,require:`./dist/domain/notice-board.cjs`},"./domain/path-trace":{import:`./dist/domain/path-trace.mjs`,require:`./dist/domain/path-trace.cjs`},"./domain/ping-round-trips":{import:`./dist/domain/ping-round-trips.mjs`,require:`./dist/domain/ping-round-trips.cjs`},"./domain/relay-hub":{import:`./dist/domain/relay-hub.mjs`,require:`./dist/domain/relay-hub.cjs`},"./domain/relay-use-gate":{import:`./dist/domain/relay-use-gate.mjs`,require:`./dist/domain/relay-use-gate.cjs`},"./domain/revocation-view":{import:`./dist/domain/revocation-view.mjs`,require:`./dist/domain/revocation-view.cjs`},"./domain/room":{import:`./dist/domain/room.mjs`,require:`./dist/domain/room.cjs`},"./domain/room-path":{import:`./dist/domain/room-path.mjs`,require:`./dist/domain/room-path.cjs`},"./domain/room-rekey":{import:`./dist/domain/room-rekey.mjs`,require:`./dist/domain/room-rekey.cjs`},"./domain/room-token-verification":{import:`./dist/domain/room-token-verification.mjs`,require:`./dist/domain/room-token-verification.cjs`},"./domain/shard-manifest":{import:`./dist/domain/shard-manifest.mjs`,require:`./dist/domain/shard-manifest.cjs`},"./domain/threshold-subject":{import:`./dist/domain/threshold-subject.mjs`,require:`./dist/domain/threshold-subject.cjs`},"./domain/tokens":{import:`./dist/domain/tokens.mjs`,require:`./dist/domain/tokens.cjs`},"./domain/topology":{import:`./dist/domain/topology.mjs`,require:`./dist/domain/topology.cjs`},"./domain/topology-snapshot":{import:`./dist/domain/topology-snapshot.mjs`,require:`./dist/domain/topology-snapshot.cjs`},"./domain/webrtc-signaling":{import:`./dist/domain/webrtc-signaling.mjs`,require:`./dist/domain/webrtc-signaling.cjs`},"./generated/protocol":{import:`./dist/generated/protocol.mjs`,require:`./dist/generated/protocol.cjs`},"./generated/runtime":{import:`./dist/generated/runtime.mjs`,require:`./dist/generated/runtime.cjs`},"./ports/clock":{import:`./dist/ports/clock.mjs`,require:`./dist/ports/clock.cjs`},"./ports/identity":{import:`./dist/ports/identity.mjs`,require:`./dist/ports/identity.cjs`},"./ports/storage":{import:`./dist/ports/storage.mjs`,require:`./dist/ports/storage.cjs`},"./ports/transport":{import:`./dist/ports/transport.mjs`,require:`./dist/ports/transport.cjs`},"./package.json":`./package.json`},files:[`dist`,`wasm-dist`],packageManager:`pnpm@12.4.1+sha512.2e81e399d73fe8390dab25e06aa788ab7a5908248d2f5a370f82b481147a6a7a367bf8048f9a6fdb6460f21a66f0542dedb8b94ca2c8723596741920b1656d4c`,publishConfig:{provenance:!0,access:`public`},repository:{type:`git`,url:`https://github.com/ExaDev/wire-mesh.git`,directory:`ts/packages/core`},scripts:{_build:`tsdown`,"_conformance-check":`vitest run test/conformance.unit.test.ts`,_generate:`node generate.ts`,_lint:`eslint . --fix --cache --max-warnings 0`,_mutation:`stryker run stryker.config.ts`,_test:`vitest run`,_typecheck:`tsc -p tsconfig.json --noEmit && tsc -p tsconfig.node.json --noEmit`,build:`turbo run _build`,"conformance-check":`turbo run _conformance-check`,generate:`turbo run _generate`,lint:`turbo run _lint`,mutation:`turbo run _mutation`,prepack:`node scripts/assert-wasm-dist.ts`,test:`turbo run _test`,typecheck:`turbo run _typecheck`},type:`module`}.version,ky=`wire-mesh/version`,Ay=`version.get`;function jy(e){return`verb`in e&&e.verb===Ay}function My(){return{result:`ok`,version:Oy}}var Ny=new Set([`device`,`addresses`,`snapshot-seconds`]),Py=`topology/peers`,Fy=/^[a-z][a-z0-9-]*\/[a-z][a-z0-9-]*$/;function Iy(e){for(let t of Object.keys(e)){if(Ny.has(t))throw Error(`sendGossipUpdate extension key "${t}" collides with a mandatory peer-advert field`);if(t===`topology/peers`)throw Error(`sendGossipUpdate extension key "${t}" collides with a session-managed gossip field`);if(t===`wire-mesh/version`)throw Error(`sendGossipUpdate extension key "${t}" is reserved for wire-mesh-core's own self-reported version`);if(!Fy.test(t))throw Error(`sendGossipUpdate extension key "${t}" must be domain-qualified as "<domain>/<field>" (e.g. "presence/status")`)}}function Ly(e){return new Uint8Array(rc(e,Bs))}function Ry(e,t){return{type:`relay-data`,payload:Ly(e),...t===void 0?{}:{"to-device":t}}}var zy=class extends Error{constructor(e){super(e),this.name=`SchemaInvalidFrameError`}};function By(e){let t=Gc(new Uint8Array(e),Kc),n=z_.safeParse(t);if(!n.success)throw new zy(n.error.message);return n.data}function Vy(e){let t;try{t=Gc(e,Kc)}catch{return null}let n=z_.safeParse(t);return n.success?n.data:null}function Hy(){let e=new Map;return{has:t=>e.has(my(t)),add:t=>{e.set(my(t),t)},list:()=>[...e.values()]}}var Uy=1e3,Wy=3e3;function Gy(e){return{type:`handshake`,version:1,domains:[...e]}}function Ky(e,t,n,r,i,a=[],o,s){let c=null,l={status:`idle`},u={status:`pending`},d=new Map,f=[],p=!1,m=Cy(),h=null,g=null,_=0,v=null,y=0,b=Hy(),x=Dy({getAuthenticatedPeer:()=>c?.peerDeviceId,isAccepted:r===null,getRelayedDevices:()=>b.list()}),S=new Map,C=Cy(),w=Cy(),T=wy();function ee(){return{state:l,directory:[...d.values()],frameLog:[...f]}}function te(){m.push(ee())}function ne(e){for(let t of S.values())t.reject(Error(e));S.clear()}function E(e,t,n){let r=y;y+=1;let i=n??v;return{type:`manage-request`,"request-id":r,command:e,scope:t,...i===null?{}:{token:i}}}function re(){if(c===null||l.status!==`connected`)throw Error(`not connected`);return c}async function D(e,t,n){if(c===null)throw Error(`not connected`);if(t){await c.send(Ry(e,n));return}await c.send(e)}function ie(e){let t=e[`request-id`],n=S.get(t);n!==void 0&&(S.delete(t),n.resolve(e.outcome))}function ae(e,t){let n=e[`request-id`],r=t?.[`from-device`],i=t?.[`to-device`],a={requestId:n,command:e.command,scope:e.scope,...e.token===void 0?{}:{token:e.token},...r===void 0?{}:{fromDevice:r},...i===void 0?{}:{toDevice:i},respond:async e=>{let i={type:`manage-response`,"request-id":n,outcome:e};f.push({direction:`sent`,frame:i}),await D(i,t!==void 0,r),te()}};if(jy(e.command.params)){a.respond(My());return}C.push(a)}function oe(e){if(e.type===`relay-data`){let t=Vy(e.payload);if(t!==null&&(t.type===`manage-request`||t.type===`manage-response`)){f.push({direction:`received`,frame:t}),t.type===`manage-response`?ie(t):ae(t,e);return}f.push({direction:`received`,frame:e});return}if(f.push({direction:`received`,frame:e}),e.type===`handshake`)k(e);else if(e.type===`gossip`)for(let t of e.peers)d.set(my(t.device),{device:t.device,advert:t}),x.recordAdvert(t.device),i?.(t);else if(e.type===`relay-inbound`)b.add(e[`source-device`]);else if(e.type===`manage-response`)ie(e);else if(e.type===`manage-request`)ae(e);else if(e.type===`pong`)T.resolveOldest(t.now());else if(e.type===`revocation-announce`)for(let t of e.entries)w.push(t)}async function se(e){if(c===null)throw Error(`not connected`);if(b.has(e))return;let t={type:`relay-connect`,"target-device":e};f.push({direction:`sent`,frame:t}),await c.send(t),b.add(e),te()}let O=Gy([]);function k(e){if(u.status!==`pending`)return;h!==null&&(clearTimeout(h),h=null);let t=Sy(O,e);u=t.ok?{status:`negotiated`,version:t.version,sharedDomains:t.sharedDomains}:{status:`rejected`,reason:`no shared domains or version`},l.status===`connected`&&(l={...l,handshake:u})}function ce(e,t,r){if(!p){if(ne(`disconnected before a response arrived`),T.rejectAll(`disconnected before a pong arrived`),n!==null&&_<n.maxAttempts){_+=1;let i=_;l={status:`reconnecting`,address:t,attempt:i,reason:e},te(),g=setTimeout(()=>{g=null,fe(t,r).catch(e=>{ce(e instanceof Error?e.message:String(e),t,r)})},n.delayMs(i));return}l={status:`closed`,address:t,reason:e},te()}}async function le(e,t,n){for await(let t of e.receive()){if(p)return;oe(t),await o?.(e,t),te()}s?.(e),l.status===`connected`&&ce(`node closed the connection`,t,n)}function ue(n){return n!==void 0&&Iy(n),{type:`gossip`,peers:[{...n,[ky]:Oy,[Py]:x.compute(),device:e.deviceId,addresses:[...a],"snapshot-seconds":Math.floor(t.now()/Uy)}]}}async function de(e,t,n){c=e,O=Gy(n),u={status:`pending`},l={status:`connected`,address:t,handshake:u},f.push({direction:`sent`,frame:O}),await c.send(O),te();let r=ue();f.push({direction:`sent`,frame:r}),await c.send(r),te(),h=setTimeout(()=>{h=null,u.status===`pending`&&(u={status:`unanswered`},l.status===`connected`&&(l={...l,handshake:u}),te())},Wy),le(c,t,n).catch(e=>{l.status===`connected`&&ce(e instanceof Error?e.message:String(e),t,n)})}async function fe(e,t){if(r===null)throw Error(`this session is already connected; there is nothing to dial`);h!==null&&(clearTimeout(h),h=null),l={status:`connecting`,address:e},te();let n=await r(e);if(p){await n.close();return}await de(n,e,t)}return{wireUpConnection:de,session:{events:m.stream,incomingManageRequests:C.stream,revocationAnnouncements:w.stream,async connect(e,t){if(c!==null)throw Error(`a session connects once; create a new one to reconnect`);_=0,await fe(e,t)},async sendPing(){let e=re(),t={type:`ping`};f.push({direction:`sent`,frame:t}),await e.send(t),te()},async sendPingMeasureRtt(e){let n=re();return T.sendAndAwait(t.now(),async()=>{let e={type:`ping`};f.push({direction:`sent`,frame:e}),await n.send(e),te()},e)},setToken(e){v=e},async sendManageRequest(e,t,n,r,i){re(),n!==void 0&&await se(n);let a=E(e,t,r),o=a[`request-id`],s=new Promise((e,t)=>{S.set(o,{resolve:e,reject:t})});return f.push({direction:`sent`,frame:a}),await D(a,n!==void 0,n),te(),i===void 0?s:Promise.race([s,new Promise(e=>{setTimeout(()=>{S.delete(o)&&e({result:`error`,code:`timeout`})},i)})])},async sendRevocationAnnounce(e){re();let t={type:`revocation-announce`,entries:[...e]};f.push({direction:`sent`,frame:t}),await D(t,!1),te()},async sendGossipUpdate(e){re();let t=ue(e);f.push({direction:`sent`,frame:t}),await D(t,!1),te()},getTopologyPeers(){return x.compute()},async sendDataFrame(e){re(),f.push({direction:`sent`,frame:e}),await D(e,!1),te()},async close(){p=!0,h!==null&&(clearTimeout(h),h=null),g!==null&&(clearTimeout(g),g=null),ne(`connection closed before a response arrived`),T.rejectAll(`connection closed before a pong arrived`),c!==null&&await c.close(),(l.status===`connected`||l.status===`connecting`||l.status===`reconnecting`)&&(l={status:`closed`,address:l.address,reason:`closed by you`}),te()}}}}function qy(e,t,n={now:()=>Date.now()},r=null,i=[],a){let{session:o}=Ky(t,n,r,async t=>e.connect(t),a,i);return o}async function Jy(e,t,n,r={}){let i=r.clock??{now:()=>Date.now()},a=null,o=new Promise(e=>{a=e}),s=!1,{session:c,wireUpConnection:l}=Ky(t,i,null,null,e=>{s||(s=!0,a?.(e.device)),r.onPeerAdvert?.(e)},r.addresses,r.onFrame,r.onSessionEnd);return await l(e,r.label??`accepted`,n),{...c,peerDeviceId:o}}function Yy(e){return e instanceof Error?e:Error(String(e))}function Xy(e){let t=my(e.selfDeviceId),n=new Set;async function r(t){let n;try{n=await e.shouldExpand(t)}catch(n){e.onExpansionFailed?.(t,[Yy(n)]);return}if(!n){e.onExpansionDeclined?.(t);return}let r=[];for(let n of t.addresses)try{let r=await e.dial(n);e.onExpanded(t,n,r);return}catch(e){r.push(Yy(e))}e.onExpansionFailed?.(t,r)}return{considerAdvert(e){let i=my(e.device);i===t||n.has(i)||e.addresses.length===0||(n.add(i),r({device:e.device,addresses:e.addresses}))}}}var Zy=1e3,Qy=1002,$y=`the web console is a client only: it cannot listen`;function eb(e){let t=[],n=[],r=!1,i=null;function a(){r=!0;for(let e of n.splice(0))e.resolve({value:void 0,done:!0})}function o(e){i=e,r=!0;for(let t of n.splice(0))t.reject(e)}e.addEventListener(`message`,r=>{if(!(r.data instanceof ArrayBuffer)){o(Error(`expected a binary WebSocket message`)),e.close(Qy,`protocol error`);return}let i;try{i=By(r.data)}catch(t){if(t instanceof zy)return;o(t instanceof Error?t:Error(`frame body failed to decode: ${String(t)}`)),e.close(Qy,`protocol error`);return}let a=n.shift();a?a.resolve({value:i,done:!1}):t.push(i)}),e.addEventListener(`close`,a),e.addEventListener(`error`,a);let s={[Symbol.asyncIterator](){return{next:async()=>c()}}};async function c(){let e=t.shift();return e===void 0?i===null?r?Promise.resolve({value:void 0,done:!0}):new Promise((e,t)=>{n.push({resolve:e,reject:t})}):Promise.reject(i):Promise.resolve({value:e,done:!1})}return{async send(t){return r?Promise.reject(Error(`connection is closed`)):(e.send(Ly(t)),Promise.resolve())},receive:()=>s,async close(){return e.close(Zy),Promise.resolve()}}}function tb(){return{async connect(e){let t=new URL(e);if(t.protocol!==`ws:`&&t.protocol!==`wss:`)return Promise.reject(Error(`not a WebSocket address: ${e}`));let n=new WebSocket(t);return n.binaryType=`arraybuffer`,new Promise((e,r)=>{n.addEventListener(`open`,()=>{e()}),n.addEventListener(`error`,()=>{r(Error(`connect to ${t.toString()} failed`))})}).then(()=>eb(n))},async listen(){return Promise.reject(Error($y))}}}function nb(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function rb(e){return e.split(`/`).some(e=>e===`.`||e===`..`)}function ib(e,t){return rb(e)||rb(t)?!1:e===t?!0:e.startsWith(t)?t.endsWith(`/`)?!0:e.charAt(t.length)===`/`:!1}function ab(e,t){return e.kind===t.kind?e.path===void 0||t.path!==void 0&&ib(t.path,e.path):!1}var ob=(e,t,n)=>({kind:`complex`,re:e*Math.cos(t),im:e*Math.sin(t),unit:n}),sb=Gg(K(),q()),cb=qg([`ms`,`s`,`min`,`h`,`d`]);zg(`kind`,[J({kind:Y(`number`),value:q(),unit:sb.optional()}),J({kind:Y(`text`),value:K()}),J({kind:Y(`boolean`),value:Tg()}),J({kind:Y(`instant`),value:K()}),J({kind:Y(`duration`),value:q(),unit:cb}),J({kind:Y(`complex`),re:q(),im:q(),unit:sb.optional()})]);function lb(e){if(e===void 0)return{};let t={};for(let[n,r]of Object.entries(e))r!==0&&(t[n]=r);return t}function ub(e,t){let n=lb(e),r=lb(t),i=Object.keys(n),a=Object.keys(r);return i.length===a.length&&i.every(e=>n[e]===r[e])}function db(e,t){let n=lb(e),r=lb(t),i={...n};for(let[e,t]of Object.entries(r))i[e]=(i[e]??0)+t;return lb(i)}function fb(e,t){let n=lb(e),r=lb(t),i={...n};for(let[e,t]of Object.entries(r))i[e]=(i[e]??0)-t;return lb(i)}J({code:qg([`not-found`,`wrong-type`,`domain-error`]),message:K()});function Q(e){return{status:`definite`,value:e}}function $(e,t){return{status:`indeterminate`,reason:{code:e,message:t}}}function pb(...e){for(let t of e)if(t?.status===`indeterminate`)return t.reason}var mb=X(()=>Lg([K(),q(),Tg(),Dg(),Ng(mb),Gg(K(),mb)])),hb=qg([`gt`,`gte`,`lt`,`lte`,`eq`,`neq`]),gb=qg([`equals`,`notEquals`,`matches`,`notMatches`,`portableMatches`,`portableNotMatches`]),_b=qg([`in`,`notIn`]),vb=qg([`add`,`subtract`,`multiply`,`divide`,`power`,`modulo`]),yb=qg([`first`,`unique`]),bb=J({kind:Y(`not`),get operand(){return Mb}}),xb=J({kind:Y(`and`),get left(){return Mb},get right(){return Mb}}),Sb=J({kind:Y(`or`),get left(){return Mb},get right(){return Mb}}),Cb=J({kind:Y(`allOf`),get operands(){return Ng(Mb)}}),wb=J({kind:Y(`anyOf`),get operands(){return Ng(Mb)}}),Tb=J({kind:Y(`compare`),op:hb,get left(){return qb},get right(){return qb}}),Eb=J({kind:Y(`textCompare`),op:gb,get left(){return qb},get right(){return qb}}),Db=J({kind:Y(`memberOf`),op:_b,get operand(){return qb},get candidates(){return Ng(qb)}}),Ob=J({kind:Y(`exists`),get operand(){return qb}}),kb=J({kind:Y(`some`),collection:mb,get item(){return Mb},get filter(){return Mb.optional()}}),Ab=J({kind:Y(`every`),collection:mb,get item(){return Mb},get filter(){return Mb.optional()}}),jb=J({kind:Y(`treeReference`),key:mb}),Mb=zg(`kind`,[bb,xb,Sb,Cb,wb,Tb,Eb,Db,Ob,kb,Ab,jb]),Nb=J({kind:Y(`numberLiteral`),value:q(),unit:sb.optional()}),Pb=J({kind:Y(`textLiteral`),value:K()}),Fb=J({kind:Y(`booleanLiteral`),value:Tg()}),Ib=J({kind:Y(`instantLiteral`),value:K()}),Lb=J({kind:Y(`durationLiteral`),value:q(),unit:cb}),Rb=Lg([Fg({kind:Y(`complexLiteral`),re:q(),im:q(),unit:sb.optional()}),Fg({kind:Y(`complexLiteral`),magnitude:q(),phase:q(),unit:sb.optional()})]),zb=J({kind:Y(`reference`),key:mb,unit:sb.optional()}),Bb=J({kind:Y(`arithmetic`),op:vb,get left(){return qb},get right(){return qb}}),Vb=J({kind:Y(`negate`),get operand(){return qb}}),Hb=J({kind:Y(`call`),fn:K(),get args(){return Ng(qb)}}),Ub=J({kind:Y(`lookup`),table:mb,get keys(){return Ng(qb)}}),Wb=J({get when(){return Mb},get then(){return qb}}),Gb=J({kind:Y(`conditional`),hitPolicy:yb.optional(),get cases(){return Ng(Wb)},get fallback(){return qb}}),Kb=zg(`mode`,[J({mode:Y(`max`),get item(){return qb}}),J({mode:Y(`min`),get item(){return qb}}),J({mode:Y(`reduce`),get initial(){return qb},get combine(){return qb}})]),qb=Lg([zg(`kind`,[Nb,Pb,Fb,Ib,Lb,zb,Bb,Vb,Hb,Ub,Gb,J({kind:Y(`fold`),collection:mb,get filter(){return Mb.optional()},combiner:Kb}),J({kind:Y(`accumulator`)}),J({kind:Y(`delegate`),system:K(),payload:mb}),jb]),Rb]),Jb={},Yb=1e4;function Xb(e,t){let n=0;return{checkNode(r){if(n+=1,n>e)return $(`domain-error`,`evaluation exceeded the maximum of ${e.toString()} nodes visited in a single call (resource exhausted)`);if(r>=t)return $(`domain-error`,`evaluation nesting depth exceeds the maximum of ${t.toString()} (resource exhausted)`)}}}async function Zb(e,t,n,r,i,a,o,s,c,l){let u=await i.resolveCollection(t,r);return Promise.all(u.map(async t=>{if(n===void 0)return{item:t,filterOutcome:`include`};let r=await e(n,t,i,void 0,a,o,s,c,l+1);return r.status===`indeterminate`?{item:t,filterOutcome:r}:{item:t,filterOutcome:r.value?`include`:`exclude`}}))}function Qb(e){for(let{filterOutcome:t}of e)if(t!==`include`&&t!==`exclude`&&t.status===`indeterminate`)return t.reason}function $b(e,t){return t>=e.from&&t<=e.to}function ex(e,t){let n=e.ranges.some(e=>$b(e,t));return e.negated?!n:n}var tx=class extends Error{pattern;index;constructor(e,t,n){super(`invalid pattern at index ${String(t)}: ${n}\n ${e}\n ${` `.repeat(t)}^`),this.name=`RegexParseError`,this.pattern=e,this.index=t}};function nx(e){return e.charCodeAt(0)}function rx(e,t){return{from:nx(e),to:nx(t)}}function ix(e){let t=nx(e);return{from:t,to:t}}var ax=[rx(`0`,`9`)],ox=[rx(`A`,`Z`),rx(`a`,`z`),rx(`0`,`9`),ix(`_`)],sx=[ix(` `),ix(` `),ix(`
70
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}e.external&&(e.sharedDefsExtractedFor=e.external)}function Wm(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Wm(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var Gm=new Set([`type`,`properties`,`required`,`additionalProperties`]),Km=[`oneOf`,`anyOf`];function qm(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Jm(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Gm.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??qm(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}gl(n,r,e.length===1?e[0]:Jm(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=qm(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function Ym(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Gm)if(t in e)return;let n=t.filter(e=>Km.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Jm(t);else{let e=n[0],i=Km.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Jm([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Rm(e,r))}function Xm(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Rm(i,s),Rm(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Wm(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])Ym(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Rm(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,gl(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:$m(t,`input`,e.processors),output:$m(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Zm(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return Zm(r.element,n);if(r.type===`set`)return Zm(r.valueType,n);if(r.type===`lazy`)return Zm(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`||r.type===`catch`)return Zm(r.innerType,n);if(r.type===`intersection`)return Zm(r.left,n)||Zm(r.right,n);if(r.type===`record`||r.type===`map`)return Zm(r.keyType,n)||Zm(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:Zm(r.in,n)||Zm(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Zm(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Zm(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Zm(e,n))return!0;return!!(r.rest&&Zm(r.rest,n))}return!1}var Qm=(e,t={})=>n=>{let r=zm({...n,processors:t});return Vm(e,r),Um(r,e),Xm(r,e)},$m=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=zm({...i??{},target:a,io:t,processors:n});return Vm(e,o),Um(o,e),Xm(o,e)},eh={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},th=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=eh[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},nh=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(Number.isFinite(c)&&c!==0?i.multipleOf=Math.abs(c):Bm(e,t,i,r,`A multipleOf divisor of ${c} cannot be represented in JSON Schema`))},rh=(e,t,n,r)=>{n.type=`boolean`},ih=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},ah=(e,t,n,r)=>{n.not={}},oh=(e,t,n,r)=>{let i=e._zod.def,a=sl(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},sh=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(Bm(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Bm(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},ch=(e,t,n,r)=>{Bm(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},lh=(e,t,n,r)=>{Bm(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},uh=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=Vm(a.element,t,{...r,path:[...r.path,`items`]})};function dh(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?dh(t.out):t.type===`catch`?dh(t.innerType):e._zod.optin}var fh=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Bm(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)gl(i.properties,e,Vm(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e];return t.io===`input`?dh(n)===void 0:n._zod.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=Vm(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},ph=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>Vm(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},mh=(e,t,n,r)=>{let i=e._zod.def,a=Vm(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=Vm(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},hh=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`array`;let o=t.target===`draft-2020-12`?`prefixItems`:`items`,s=t.target===`draft-2020-12`||t.target===`openapi-3.0`?`items`:`additionalItems`,c=a.items.map((e,n)=>Vm(e,t,{...r,path:[...r.path,o,n]})),l=a.rest?Vm(a.rest,t,{...r,path:[...r.path,s,...t.target===`openapi-3.0`?[a.items.length]:[]]}):null,u=a.items.length;for(;u>0;){let e=a.items[u-1];if(!(t.io===`input`?dh(e)!==void 0:e._zod.optout===`optional`))break;u--}let d=a.items.length,f=!a.rest;t.target===`draft-2020-12`?(i.prefixItems=c,f?i.items=!1:l&&(i.items=l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):t.target===`openapi-3.0`?(i.items={anyOf:c},l&&i.items.anyOf.push(l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):(i.items=c,f?i.additionalItems=!1:l&&(i.additionalItems=l),u>0&&(i.minItems=u),f&&(i.maxItems=d));let{minimum:p,maximum:m}=e._zod.bag;typeof p==`number`&&(i.minItems=p),typeof m==`number`&&(i.maxItems=m)};function gh(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=gh(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>gh(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?hd:md).source),p):p}var _h=new WeakMap;function vh(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of _h.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=gh(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}var yh=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=Vm(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)gl(i.patternProperties,t.source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=Vm(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=_h.get(t);n||(n=[],_h.set(t,n),t.deferred.push(()=>vh(t))),n.push(e)}i.additionalProperties=Vm(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&dh(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},bh=(e,t,n,r)=>{let i=e._zod.def,a=Vm(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},xh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Sh=Symbol();function Ch(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Bm(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Sh):JSON.parse(o)}var wh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Ch(i.defaultValue,e,t,n,r);o!==Sh&&(n.default=o)},Th=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Ch(i.defaultValue,e,t,n,r);o!==Sh&&(n._prefault=o)},Eh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Bm(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Dh=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;Vm(o,t,r);let s=t.seen.get(e);s.ref=o},Oh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},kh=(e,t,n,r)=>{let i=e._zod.def;Vm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ah=(e,t,n,r)=>{let i=e._zod.innerType;Vm(i,t,r);let a=t.seen.get(e);a.ref=i},jh=new WeakSet([Object.prototype,Error.prototype]);function Mh(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var Nh=U(`ZodError`,(e,t)=>{bu.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);jh.has(n)||(jh.add(n),Mh(n,`format`,e=>t=>wu(e,t)),Mh(n,`flatten`,e=>t=>Cu(e,t)),Mh(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ll,2)}),Mh(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ll,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Ph=Eu(Nh),Fh=Du(Nh),Ih=Ou(Nh),Lh=Au(Nh),Rh=Mu(Nh),zh=Nu(Nh),Bh=Pu(Nh),Vh=Fu(Nh),Hh=Iu(Nh),Uh=Lu(Nh),Wh=Ru(Nh),Gh=zu(Nh);function Kh(){du.localeError||fu(Ap())}function qh(){du.memoizer||fu({memoizer:Dp()})}var Jh=U(`ZodType`,(e,t)=>(Kh(),zd.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(_l(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Dl(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(__(e,t))},superRefine(e,t){return this.check(v_(e,t))},overwrite(e){return this.check(Om(e))},optional(){return Qg(this)},exactOptional(){return e_(this)},nullable(){return n_(this)},nullish(){return Qg(n_(this))},nonoptional(e){return c_(this,e)},array(){return Ng(this)},or(e){return Lg([this,e])},and(e){return Vg(this,e)},transform(e){return f_(this,Xg(e))},default(e){return i_(this,e)},prefault(e){return o_(this,e)},catch(e){return u_(this,e)},pipe(e){return f_(this,e)},readonly(){return m_(this)},describe(e){let t=this.clone();return Pp.add(t,{description:e}),t},meta(...e){if(e.length===0)return Pp.get(this);let t=this.clone();return Pp.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return Yl(this,`~standard`,{...Vd(this),jsonSchema:{input:$m(this,`input`),output:$m(this,`output`)}})},set"~standard"(e){Jl(this,`~standard`,e)},parse:function e(t,n){return Ph(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Fh(this,t,n,{callee:e})},safeParse(e,t){return Ih(this,e,t)},async safeParseAsync(e,t){return Lh(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){Jl(this,`spa`,e)},encode:function e(t,n){return Rh(this,t,n,{callee:e})},decode:function e(t,n){return zh(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Bh(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Vh(this,t,n,{callee:e})},safeEncode(e,t){return Hh(this,e,t)},safeDecode(e,t){return Uh(this,e,t)},async safeEncodeAsync(e,t){return Wh(this,e,t)},async safeDecodeAsync(e,t){return Gh(this,e,t)},toJSONSchema(e){return Qm(this,{})(e)},get description(){return Pp.get(this)?.description},get _def(){return this._zod.def}}),Yh=U(`_ZodString`,(e,t)=>{Hd.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>th(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null},{regex(...e){return this.check(Sm(...e))},includes(...e){return this.check(Tm(...e))},startsWith(...e){return this.check(Em(...e))},endsWith(...e){return this.check(Dm(...e))},min(...e){return this.check(bm(...e))},max(...e){return this.check(ym(...e))},length(...e){return this.check(xm(...e))},nonempty(...e){return this.check(bm(1,...e))},lowercase(e){return this.check(Cm(e))},uppercase(e){return this.check(wm(e))},trim(){return this.check(Am())},normalize(...e){return this.check(km(...e))},toLowerCase(){return this.check(jm())},toUpperCase(){return this.check(Mm())},slugify(){return this.check(Nm())}}),Xh=U(`ZodString`,(e,t)=>{Hd.init(e,t),Yh.init(e,t)},{email(e){return this.check(Ip(ng,e))},url(e){return this.check(Hp(ag,e))},jwt(e){return this.check(rm(bg,e))},emoji(e){return this.check(Up(og,e))},guid(e){return this.check(Lp(rg,e))},uuid(e){return this.check(Rp(ig,e))},uuidv4(e){return this.check(zp(ig,e))},uuidv6(e){return this.check(Bp(ig,e))},uuidv7(e){return this.check(Vp(ig,e))},nanoid(e){return this.check(Wp(sg,e))},cuid(e){return this.check(Gp(cg,e))},cuid2(e){return this.check(Kp(lg,e))},ulid(e){return this.check(qp(ug,e))},base64(e){return this.check(em(_g,e))},base64url(e){return this.check(tm(vg,e))},xid(e){return this.check(Jp(dg,e))},ksuid(e){return this.check(Yp(fg,e))},ipv4(e){return this.check(Xp(pg,e))},ipv6(e){return this.check(Zp(mg,e))},cidrv4(e){return this.check(Qp(hg,e))},cidrv6(e){return this.check($p(gg,e))},e164(e){return this.check(nm(yg,e))},datetime(e){return this.check(im(Qh,e))},date(e){return this.check(am($h,e))},time(e){return this.check(om(eg,e))},duration(e){return this.check(sm(tg,e))}});function K(e){return Fp(Xh,e)}var Zh=U(`ZodStringFormat`,(e,t)=>{G.init(e,t),Yh.init(e,t)}),Qh=U(`ZodISODateTime`,(e,t)=>{of.init(e,t),Zh.init(e,t)}),$h=U(`ZodISODate`,(e,t)=>{sf.init(e,t),Zh.init(e,t)}),eg=U(`ZodISOTime`,(e,t)=>{cf.init(e,t),Zh.init(e,t)}),tg=U(`ZodISODuration`,(e,t)=>{lf.init(e,t),Zh.init(e,t)}),ng=U(`ZodEmail`,(e,t)=>{Gd.init(e,t),Zh.init(e,t)}),rg=U(`ZodGUID`,(e,t)=>{Ud.init(e,t),Zh.init(e,t)}),ig=U(`ZodUUID`,(e,t)=>{Wd.init(e,t),Zh.init(e,t)}),ag=U(`ZodURL`,(e,t)=>{Zd.init(e,t),Zh.init(e,t)}),og=U(`ZodEmoji`,(e,t)=>{Qd.init(e,t),Zh.init(e,t)}),sg=U(`ZodNanoID`,(e,t)=>{$d.init(e,t),Zh.init(e,t)}),cg=U(`ZodCUID`,(e,t)=>{ef.init(e,t),Zh.init(e,t)}),lg=U(`ZodCUID2`,(e,t)=>{tf.init(e,t),Zh.init(e,t)}),ug=U(`ZodULID`,(e,t)=>{nf.init(e,t),Zh.init(e,t)}),dg=U(`ZodXID`,(e,t)=>{rf.init(e,t),Zh.init(e,t)}),fg=U(`ZodKSUID`,(e,t)=>{af.init(e,t),Zh.init(e,t)}),pg=U(`ZodIPv4`,(e,t)=>{uf.init(e,t),Zh.init(e,t)}),mg=U(`ZodIPv6`,(e,t)=>{pf.init(e,t),Zh.init(e,t)}),hg=U(`ZodCIDRv4`,(e,t)=>{mf.init(e,t),Zh.init(e,t)}),gg=U(`ZodCIDRv6`,(e,t)=>{gf.init(e,t),Zh.init(e,t)}),_g=U(`ZodBase64`,(e,t)=>{vf.init(e,t),Zh.init(e,t)}),vg=U(`ZodBase64URL`,(e,t)=>{bf.init(e,t),Zh.init(e,t)}),yg=U(`ZodE164`,(e,t)=>{xf.init(e,t),Zh.init(e,t)}),bg=U(`ZodJWT`,(e,t)=>{Cf.init(e,t),Zh.init(e,t)}),xg=U(`ZodNumber`,(e,t)=>{wf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>nh(e,t,n,r);let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null},{gt(e,t){return this.check(gm(e,t))},gte(e,t){return this.check(_m(e,t))},min(e,t){return this.check(_m(e,t))},lt(e,t){return this.check(mm(e,t))},lte(e,t){return this.check(hm(e,t))},max(e,t){return this.check(hm(e,t))},int(e){return this.check(Cg(e))},safe(e){return this.check(Cg(e))},positive(e){return this.check(gm(0,e))},nonnegative(e){return this.check(_m(0,e))},negative(e){return this.check(mm(0,e))},nonpositive(e){return this.check(hm(0,e))},multipleOf(e,t){return this.check(vm(e,t))},step(e,t){return this.check(vm(e,t))},finite(){return this}});function q(e){return cm(xg,e)}var Sg=U(`ZodNumberFormat`,(e,t)=>{Tf.init(e,t),xg.init(e,t)});function Cg(e){return lm(Sg,e)}var wg=U(`ZodBoolean`,(e,t)=>{Ef.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>rh(e,t,n,r)});function Tg(e){return um(wg,e)}var Eg=U(`ZodNull`,(e,t)=>{Df.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ih(e,t,n,r)});function Dg(e){return dm(Eg,e)}var Og=U(`ZodUnknown`,(e,t)=>{Of.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function kg(){return fm(Og)}var Ag=U(`ZodNever`,(e,t)=>{kf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ah(e,t,n,r)});function jg(e){return pm(Ag,e)}var Mg=U(`ZodArray`,(e,t)=>{qh(),jf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uh(e,t,n,r),e.element=t.element},{min(e,t){return this.check(bm(e,t))},nonempty(e){return this.check(bm(1,e))},max(e,t){return this.check(ym(e,t))},length(e,t){return this.check(xm(e,t))},unwrap(){return this.element}});function Ng(e,t){return Pm(Mg,e,t)}var Pg=U(`ZodObject`,(e,t)=>{qh(),Rf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fh(e,t,n,r),nu(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return qg(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:kg()})},loose(){return this.clone({...this._zod.def,catchall:kg()})},strict(){return this.clone({...this._zod.def,catchall:jg()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Nl(this,e)},safeExtend(e){return Pl(this,e)},merge(e){return Fl(this,e)},pick(e){return jl(this,e)},omit(e){return Ml(this,e)},partial(...e){return Il(Zg,this,e[0])},exactPartial(...e){return Il($g,this,e[0],`exactPartial`)},required(...e){return Ll(s_,this,e[0])}});function J(e,t){return new Pg({type:`object`,shape:e??{},...B(t)})}function Fg(e,t){return new Pg({type:`object`,shape:e,catchall:jg(),...B(t)})}var Ig=U(`ZodUnion`,(e,t)=>{Bf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ph(e,t,n,r),e.options=t.options});function Lg(e,t){return new Ig({type:`union`,options:e,...B(t)})}var Rg=U(`ZodDiscriminatedUnion`,(e,t)=>{Ig.init(e,t),Vf.init(e,t)});function zg(e,t,n){return new Rg({type:`union`,options:t,discriminator:e,...B(n)})}var Bg=U(`ZodIntersection`,(e,t)=>{Hf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mh(e,t,n,r)});function Vg(e,t){return new Bg({type:`intersection`,left:e,right:t})}var Hg=U(`ZodTuple`,(e,t)=>{qh(),Gf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hh(e,t,n,r)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw Error(`.partial() cannot be used on tuple schemas containing refinements`);return this.clone({...e,items:e.items.map(e=>new Zg({type:`optional`,innerType:e}))})}});function Ug(e,t,n){let r=t instanceof zd;return new Hg({type:`tuple`,items:e,rest:r?t:null,...B(r?n:t)})}var Wg=U(`ZodRecord`,(e,t)=>{qh(),Yf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yh(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Gg(e,t,n){return!t||!t._zod?new Wg({type:`record`,keyType:K(),valueType:e,...B(t)}):new Wg({type:`record`,keyType:e,valueType:t,...B(n)})}var Kg=U(`ZodEnum`,(e,t)=>{Xf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oh(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Kg({...t,checks:[],...B(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Kg({...t,checks:[],...B(r),entries:i})}});function qg(e,t){return new Kg({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...B(t)})}var Jg=U(`ZodLiteral`,(e,t)=>{Zf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sh(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Y(e,t){return new Jg({type:`literal`,values:Array.isArray(e)?e:[e],...B(t)})}var Yg=U(`ZodTransform`,(e,t)=>{qh(),Qf.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lh(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new uu(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Kl(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(Kl(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Xg(e){return new Yg({type:`transform`,transform:e})}var Zg=U(`ZodOptional`,(e,t)=>{ep.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qg(e){return new Zg({type:`optional`,innerType:e})}var $g=U(`ZodExactOptional`,(e,t)=>{tp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function e_(e){return new $g({type:`optional`,innerType:e})}var t_=U(`ZodNullable`,(e,t)=>{np.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function n_(e){return new t_({type:`nullable`,innerType:e})}var r_=U(`ZodDefault`,(e,t)=>{rp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function i_(e,t){return new r_({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():wl(t)}})}var a_=U(`ZodPrefault`,(e,t)=>{ap.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Th(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function o_(e,t){return new a_({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():wl(t)}})}var s_=U(`ZodNonOptional`,(e,t)=>{op.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function c_(e,t){return new s_({type:`nonoptional`,innerType:e,...B(t)})}var l_=U(`ZodCatch`,(e,t)=>{lp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Eh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function u_(e,t){return new l_({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:iu(t)})}var d_=U(`ZodPipe`,(e,t)=>{up.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dh(e,t,n,r),e.in=t.in,e.out=t.out});function f_(e,t){return new d_({type:`pipe`,in:e,out:t})}var p_=U(`ZodReadonly`,(e,t)=>{fp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oh(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function m_(e){return new p_({type:`readonly`,innerType:e})}var h_=U(`ZodLazy`,(e,t)=>{mp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ah(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function X(e){return new h_({type:`lazy`,getter:e})}var g_=U(`ZodCustom`,(e,t)=>{hp.init(e,t),Jh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ch(e,t,n,r)});function __(e,t={}){return Fm(g_,e,t)}function v_(e,t){return Im(e,t)}function Z(e,t={}){let n=new g_({type:`custom`,check:`custom`,fn:t=>t instanceof e,abort:!0,...B(t)});return n._zod.bag.Class=e,n._zod.check=t=>{t.value instanceof e||t.issues.push({code:`invalid_type`,expected:e.name,input:t.value,inst:n,path:[...n._zod.def.path??[]]})},n}var y_=X(()=>Z(Uint8Array).refine(e=>e.length===16,{message:`expected exactly 16 bytes`})),b_=X(()=>J({verb:Y(`bulk.open`),"transfer-id":X(()=>y_),"total-size":q().int().nonnegative().optional(),"content-type":K().optional()}).catchall(kg())),x_=X(()=>J({verb:Y(`bulk.resume`),"transfer-id":X(()=>y_),"ack-seq":q().int().nonnegative()}).catchall(kg())),S_=X(()=>J({verb:Y(`bulk.cancel`),"transfer-id":X(()=>y_),reason:K().optional()}).catchall(kg())),C_=X(()=>Lg([Lg([X(()=>b_),X(()=>x_),X(()=>S_)]),Lg([X(()=>A_),X(()=>j_),X(()=>M_),X(()=>N_),X(()=>P_),X(()=>F_),X(()=>I_),X(()=>L_)]),J({}).catchall(kg()),X(()=>$_),X(()=>tv),X(()=>iv),X(()=>av),Lg([X(()=>lv),X(()=>uv),X(()=>dv),X(()=>fv)]),Lg([X(()=>mv),X(()=>hv)]),X(()=>gv),Lg([X(()=>Ov),X(()=>kv),X(()=>Av)]),Lg([X(()=>jv),X(()=>Mv),X(()=>Nv)]),X(()=>iy),Lg([X(()=>sy),X(()=>cy),X(()=>ly),X(()=>ay)])])),w_=X(()=>J({type:Y(`bulk-data`),"transfer-id":X(()=>y_),seq:q().int().nonnegative(),bytes:Z(Uint8Array)})),T_=X(()=>J({type:Y(`bulk-ack`),"transfer-id":X(()=>y_),"ack-seq":q().int().nonnegative(),window:q().int().nonnegative()})),E_=X(()=>J({type:Y(`bulk-end`),"transfer-id":X(()=>y_),digest:Z(Uint8Array)})),D_=X(()=>J({type:Y(`data-have`),peer:X(()=>q_),"head-seq":q().int().nonnegative()})),O_=X(()=>J({type:Y(`data-request`),peer:X(()=>q_),"from-seq":q().int().nonnegative()})),k_=X(()=>J({type:Y(`data-entries`),peer:X(()=>q_),"from-seq":q().int().nonnegative(),entries:Ng(Z(Uint8Array))}));X(()=>J({handle:K(),"device-id":X(()=>q_),"identity-key":X(()=>K_),candidates:Ng(X(()=>Yv)).optional(),mailboxes:Ng(X(()=>q_)).optional(),issued:q().int().nonnegative(),expires:q().int().nonnegative()})),X(()=>X(()=>Bv));var A_=X(()=>J({verb:Y(`pty.spawn`),shell:K().optional(),argv:Ng(K()),cwd:K().optional(),env:J({}).catchall(K()),cols:q().int().nonnegative(),rows:q().int().nonnegative()})),j_=X(()=>J({verb:Y(`pty.write`),session:X(()=>xv),bytes:Z(Uint8Array)})),M_=X(()=>J({verb:Y(`pty.resize`),session:X(()=>xv),cols:q().int().nonnegative(),rows:q().int().nonnegative()})),N_=X(()=>J({verb:Y(`pty.kill`),session:X(()=>xv),signal:q().int()})),P_=X(()=>J({verb:Y(`proc.spawn`),argv:Ng(K()),cwd:K().optional(),env:J({}).catchall(K())})),F_=X(()=>J({verb:Y(`proc.signal`),session:X(()=>xv),signal:q().int()})),I_=X(()=>J({verb:Y(`proc.kill`),session:X(()=>xv)})),L_=X(()=>J({verb:Y(`exec.list`)}));X(()=>J({session:X(()=>xv),kind:Lg([Y(`pty`),Y(`proc`)]),argv:Ng(K()).optional(),cwd:K().optional()}));var R_=X(()=>Lg([X(()=>G_),X(()=>Uv),X(()=>Wv),X(()=>Gv),X(()=>qv),X(()=>Xv),X(()=>Zv),X(()=>Qv),X(()=>$v),X(()=>ey),X(()=>ty),X(()=>ny),X(()=>ry),X(()=>Y_),X(()=>Q_),X(()=>rv),X(()=>Sv),X(()=>Cv),X(()=>wv),X(()=>D_),X(()=>O_),X(()=>k_),X(()=>w_),X(()=>T_),X(()=>E_)])),z_=X(()=>X(()=>R_)),B_=X(()=>q().int().nonnegative()),V_=X(()=>Lg([X(()=>H_),X(()=>U_),X(()=>W_)])),H_=X(()=>Lg([Y(`core/management`),Y(`core/exec`),Y(`core/data`),Y(`core/federation`),Y(`core/webrtc`),Y(`core/room`),Y(`core/bulk`),Y(`core/version`)])),U_=X(()=>K().regex(RegExp(`[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+/[A-Za-z0-9_.-]+`))),W_=X(()=>K().regex(RegExp(`x-[A-Za-z0-9_.-]+`))),G_=X(()=>J({type:Y(`handshake`),version:X(()=>B_),domains:Ng(X(()=>V_)),params:J({}).catchall(kg()).optional()})),K_=X(()=>J({alg:q().int(),"public-key":Z(Uint8Array)})),q_=X(()=>Z(Uint8Array).refine(e=>e.length===32,{message:`expected exactly 32 bytes`}));X(()=>J({"device-id":X(()=>q_),"identity-key":X(()=>K_),certificate:Z(Uint8Array).optional()}));var J_=X(()=>J({verb:X(()=>Pv),params:X(()=>C_)})),Y_=X(()=>J({type:Y(`manage-request`),"request-id":q().int().nonnegative(),command:X(()=>J_),scope:X(()=>Rv),token:X(()=>Vv).optional()})),X_=X(()=>J({result:Y(`ok`)}).catchall(kg())),Z_=X(()=>J({result:Y(`error`),code:K(),message:K().optional()})),Q_=X(()=>J({type:Y(`manage-response`),"request-id":q().int().nonnegative(),outcome:Lg([X(()=>X_),X(()=>Z_)])})),$_=X(()=>J({verb:Y(`capability.request`),capability:K(),"valid-until":q().int().nonnegative().optional()}).catchall(kg())),ev=X(()=>J({result:Y(`ok`),"granted-token":X(()=>Vv)}).catchall(kg())),tv=X(()=>J({verb:Y(`capability.grant`),"granted-token":X(()=>Vv)}).catchall(kg()));X(()=>J({"token-id":Z(Uint8Array),issuer:X(()=>q_),"issuer-key":X(()=>K_),"revoked-at":q().int().nonnegative(),authorization:Z(Uint8Array).optional()}));var nv=X(()=>X(()=>Bv)),rv=X(()=>J({type:Y(`revocation-announce`),entries:Ng(X(()=>nv))})),iv=X(()=>J({verb:Y(`path.trace`)}));X(()=>J({result:Y(`ok`),relayed:Tg(),"hub-address":K().optional()}).catchall(kg())),X(()=>J({direct:Ng(X(()=>q_)),relayed:Ng(J({device:X(()=>q_),via:X(()=>q_).optional()}))}));var av=X(()=>J({verb:Y(`topology.get`)})),ov=X(()=>Lg([X(()=>sv),X(()=>cv)]));X(()=>K().regex(RegExp(`[0-9a-f]{64}`)));var sv=X(()=>K().regex(RegExp(`[0-9a-f]{64}/[A-Za-z0-9_-]+`))),cv=X(()=>K().regex(RegExp(`[0-9a-f]{64}\\+[0-9a-f]{64}`))),lv=X(()=>J({verb:Y(`room.send`),"message-id":Z(Uint8Array),"sent-at":q().int().nonnegative(),text:K(),"content-type":K().optional(),refs:Ng(X(()=>pv)).optional()}).catchall(kg())),uv=X(()=>J({verb:Y(`room.read`),messages:Ng(Z(Uint8Array)),at:q().int().nonnegative()}).catchall(kg())),dv=X(()=>J({verb:Y(`room.leave`)}).catchall(kg())),fv=X(()=>J({verb:Y(`room.members`)}).catchall(kg())),pv=X(()=>J({id:Z(Uint8Array),relation:K()})),mv=X(()=>J({verb:Y(`room.join`)}).catchall(kg())),hv=X(()=>J({verb:Y(`room.invite`),invitee:X(()=>q_),token:X(()=>Vv)}).catchall(kg())),gv=X(()=>J({verb:Y(`room.rekey`),"key-epoch":q().int().nonnegative(),"wrapped-key":Lg([Z(Uint8Array),Ng(Z(Uint8Array))])}).catchall(kg())),_v=X(()=>J({device:X(()=>q_)}).catchall(kg())),vv=X(()=>J({result:Y(`ok`),"granted-token":X(()=>Vv),members:Ng(X(()=>_v))}).catchall(kg()));X(()=>J({result:Y(`ok`),members:Ng(X(()=>_v))}).catchall(kg()));var yv=X(()=>X(()=>Bv)),bv=X(()=>J({room:X(()=>ov),poster:X(()=>q_),"poster-key":X(()=>K_),token:X(()=>Vv),"notice-id":Z(Uint8Array),"posted-at":q().int().nonnegative(),"content-type":K(),content:Z(Uint8Array),refs:Ng(X(()=>pv)).optional(),"valid-until":q().int().nonnegative().optional(),"key-epoch":q().int().nonnegative().optional()}).catchall(kg())),xv=X(()=>q().int().nonnegative()),Sv=X(()=>J({type:Y(`stream-data`),session:X(()=>xv),seq:q().int().nonnegative(),channel:K(),bytes:Z(Uint8Array)})),Cv=X(()=>J({type:Y(`stream-ack`),session:X(()=>xv),"ack-seq":q().int().nonnegative(),window:q().int().nonnegative()})),wv=X(()=>J({type:Y(`stream-end`),session:X(()=>xv),"exit-code":q().int().optional(),"exit-signal":q().int().optional()})),Tv=X(()=>q().int().nonnegative()),Ev=X(()=>J({kind:Lg([Y(`capability-token`),Y(`revocation-entry`),Y(`handle-record`),Y(`room-notice`),K()]),protected:Z(Uint8Array),payload:Z(Uint8Array)})),Dv=X(()=>J({participant:X(()=>q_),hiding:Z(Uint8Array),binding:Z(Uint8Array)})),Ov=X(()=>J({verb:Y(`threshold.commit`),"session-id":X(()=>Tv),group:X(()=>q_),subject:X(()=>Ev),deadline:q().int().nonnegative()})),kv=X(()=>J({verb:Y(`threshold.sign`),"session-id":X(()=>Tv),commitments:Ng(X(()=>Dv))}));X(()=>J({"session-id":X(()=>Tv),group:X(()=>q_),share:Z(Uint8Array),issuer:X(()=>q_),"issuer-key":X(()=>K_)})),X(()=>X(()=>Bv));var Av=X(()=>J({verb:Y(`threshold.abort`),"session-id":X(()=>Tv),reason:K().optional()})),jv=X(()=>J({verb:Y(`threshold.keygen-round1`),"session-id":X(()=>Tv),threshold:q().int().nonnegative(),participants:Ng(X(()=>q_)),commitment:Ng(Z(Uint8Array)),"proof-of-knowledge":Z(Uint8Array).optional(),"existing-group-key":Z(Uint8Array).optional()})),Mv=X(()=>J({verb:Y(`threshold.keygen-round2`),"session-id":X(()=>Tv),share:Z(Uint8Array)})),Nv=X(()=>J({verb:Y(`threshold.keygen-confirm`),"session-id":X(()=>Tv),"transcript-digest":Z(Uint8Array),"group-key":Z(Uint8Array)})),Pv=X(()=>Lg([X(()=>Fv),X(()=>Iv),X(()=>Lv)])),Fv=X(()=>K().regex(RegExp(`[a-z][a-z0-9-]*:[a-z][a-z0-9-]*`))),Iv=X(()=>K().regex(RegExp(`[a-z0-9.-]+/[A-Za-z0-9_.-]+:[A-Za-z0-9_.-]+`))),Lv=X(()=>K().regex(RegExp(`x-[A-Za-z0-9_.-]+:[A-Za-z0-9_.-]+`))),Rv=X(()=>J({kind:K(),path:K().optional()}));X(()=>Y(1)),X(()=>Y(4)),X(()=>Lg([q().int(),K()]));var zv=X(()=>J({1:q().int().optional(),4:Z(Uint8Array).optional()}).catchall(kg())),Bv=X(()=>Ug([Z(Uint8Array),X(()=>zv),Lg([Z(Uint8Array),Dg()]),Z(Uint8Array)])),Vv=X(()=>X(()=>Bv)),Hv=X(()=>J({"token-id":Z(Uint8Array),issuer:X(()=>q_),"issuer-key":X(()=>K_),bearer:X(()=>q_),capability:X(()=>Pv),scope:X(()=>Rv),expires:q().int().nonnegative(),"not-before":q().int().nonnegative().optional(),parent:Z(Uint8Array).optional(),"delegations-remaining":q().int().nonnegative().optional(),"valid-until":q().int().nonnegative().optional(),conditions:Z(Uint8Array).optional()}).catchall(kg())),Uv=X(()=>J({type:Y(`ping`)})),Wv=X(()=>J({type:Y(`pong`)})),Gv=X(()=>J({type:Y(`close`),reason:K().optional()})),Kv=X(()=>J({device:X(()=>q_),addresses:Ng(K()),"snapshot-seconds":q().int()}).catchall(kg())),qv=X(()=>J({type:Y(`gossip`),peers:Ng(X(()=>Kv))})),Jv=X(()=>Lg([Y(`host`),Y(`server-reflexive`),Y(`relayed`)])),Yv=X(()=>J({address:K(),kind:X(()=>Jv),priority:q().int().nonnegative()})),Xv=X(()=>J({type:Y(`candidates`),candidates:Ng(X(()=>Yv))})),Zv=X(()=>J({type:Y(`sync-punch`),nonce:q().int().nonnegative(),"deadline-unix-ms":q().int().nonnegative()})),Qv=X(()=>J({type:Y(`observed-address`),address:K()})),$v=X(()=>J({type:Y(`relay-offer`),addresses:Ng(K())})),ey=X(()=>J({type:Y(`relay-connect`),"target-device":X(()=>q_)})),ty=X(()=>J({type:Y(`relay-data`),payload:Z(Uint8Array),"to-device":X(()=>q_).optional(),"from-device":X(()=>q_).optional()})),ny=X(()=>J({type:Y(`relay-inbound`),"source-device":X(()=>q_)})),ry=X(()=>J({type:Y(`coordinator`),term:q().int().nonnegative(),coordinator:X(()=>q_),"capacity-hint":q().int().nonnegative().optional()})),iy=X(()=>J({verb:Y(`version.get`)})),ay=X(()=>J({verb:Y(`webrtc.sfu-track-map`),"negotiation-id":q().int().nonnegative(),tracks:Ng(X(()=>oy))})),oy=X(()=>J({mid:K(),member:X(()=>q_),kind:Lg([Y(`audio`),Y(`video`)])})),sy=X(()=>J({verb:Y(`webrtc.offer`),"negotiation-id":q().int().nonnegative(),sdp:K()})),cy=X(()=>J({verb:Y(`webrtc.answer`),"negotiation-id":q().int().nonnegative(),sdp:K()})),ly=X(()=>J({verb:Y(`webrtc.ice-candidate`),"negotiation-id":q().int().nonnegative(),candidate:X(()=>uy).optional()})),uy=X(()=>J({candidate:K(),"sdp-mid":K().optional(),"sdp-m-line-index":q().int().nonnegative().optional(),"username-fragment":K().optional()})),dy=16,fy=2;function py(e){let t=``;for(let n of e)t+=n.toString(dy).padStart(fy,`0`);return t}function my(e){return py(e)}var hy=String(2**53-1).length,gy=`message`;function _y(e,t){return`${gy}/${e}/${String(t.sentAt).padStart(hy,`0`)}-${py(t.messageId)}`}function vy(e){return e===`sent`||e===`received`}function yy(e){return typeof e!=`object`||!e||!(`direction`in e)||!(`text`in e)||!(`messageId`in e)||!(`sentAt`in e)?!1:vy(e.direction)&&typeof e.text==`string`&&e.messageId instanceof Uint8Array&&typeof e.sentAt==`number`}function by(e){return{async append(t,n){await e.set(_y(t,n),new Uint8Array(rc(n,Bs)))},async list(t){let n=(await e.keys(`${gy}/${t}/`)).sort(),r=[];for(let t of n){let n=await e.get(t);if(n===void 0)continue;let i=Gc(n,Kc);if(!yy(i))throw Error(`stored message at ${t} is malformed`);r.push(i)}return r}}}var xy=[`core/federation`];function Sy(e,t){let n=Math.min(e.version,t.version),r=e.domains.filter(e=>!xy.includes(e)&&t.domains.includes(e));return{ok:n>=1&&r.length>0,version:n,sharedDomains:r}}function Cy(){let e=[],t=[];return{push(n){let r=e.shift();r===void 0?t.push(n):r(n)},stream:{[Symbol.asyncIterator](){return{next:async()=>new Promise(n=>{let r=t.shift();r===void 0?e.push(e=>{n({value:e,done:!1})}):n({value:r,done:!1})})}}}}}function wy(){let e=[];function t(t){let n=e.findIndex(e=>e.sentAt===t);return n!==-1&&(e.splice(n,1),!0)}return{resolveOldest(t){let n=e.shift();n!==void 0&&n.resolve(t-n.sentAt)},rejectAll(t){for(let n of e.splice(0))n.reject(Error(t))},async sendAndAwait(n,r,i){let a=new Promise((t,r)=>{e.push({sentAt:n,resolve:t,reject:r})});return await r(),i===void 0?a:Promise.race([a,new Promise((e,r)=>{setTimeout(()=>{t(n)&&r(Error(`timed out waiting for pong`))},i)})])}}}function Ty(e){return e.authenticatedPeer===void 0?e.isAccepted?e.firstAdvertisedPeer??void 0:void 0:e.authenticatedPeer}function Ey(e){let t=Ty(e);return{direct:t===void 0?[]:[t],relayed:e.relayedDevices.map(e=>({device:e,...t===void 0?{}:{via:t}}))}}function Dy(e){let t=null;return{recordAdvert:e=>{t??=e},compute:()=>{let n=e.getAuthenticatedPeer();return Ey({...n===void 0?{}:{authenticatedPeer:n},firstAdvertisedPeer:t,isAccepted:e.isAccepted,relayedDevices:e.getRelayedDevices()})}}}var Oy={name:`wire-mesh-core`,version:`1.58.6`,dependencies:{cbor2:`2.3.0`,"cddl.js":`1.0.1`,trilean:`1.6.2`,zod:`4.5.4`},devDependencies:{"@arethetypeswrong/cli":`0.18.5`,"@exadev/eslint-config":`2.18.0`,"@stryker-mutator/api":`10.0.0`,"@stryker-mutator/core":`10.0.0`,"@stryker-mutator/typescript-checker":`10.0.0`,"@types/node":`26.4.1`,eslint:`10.10.0`,"eslint-config-prettier":`10.1.8`,"eslint-plugin-prettier":`5.5.6`,globals:`17.12.0`,jiti:`2.7.0`,prettier:`3.9.6`,tsdown:`0.23.0`,turbo:`2.10.12`,typescript:`6.0.3`,vitest:`5.0.0`},exports:{"./adapters/frame-codec":{import:`./dist/adapters/frame-codec.mjs`,require:`./dist/adapters/frame-codec.cjs`},"./adapters/memory-storage":{import:`./dist/adapters/memory-storage.mjs`,require:`./dist/adapters/memory-storage.cjs`},"./adapters/node-fs-storage":{import:`./dist/adapters/node-fs-storage.mjs`,require:`./dist/adapters/node-fs-storage.cjs`},"./adapters/node-identity":{import:`./dist/adapters/node-identity.mjs`,require:`./dist/adapters/node-identity.cjs`},"./adapters/system-clock":{import:`./dist/adapters/system-clock.mjs`,require:`./dist/adapters/system-clock.cjs`},"./adapters/tcp-transport":{import:`./dist/adapters/tcp-transport.mjs`,require:`./dist/adapters/tcp-transport.cjs`},"./adapters/threshold-identity":{import:`./dist/adapters/threshold-identity.mjs`,require:`./dist/adapters/threshold-identity.cjs`},"./adapters/threshold-wasm":{import:`./dist/adapters/threshold-wasm.mjs`,require:`./dist/adapters/threshold-wasm.cjs`},"./adapters/tls-transport":{import:`./dist/adapters/tls-transport.mjs`,require:`./dist/adapters/tls-transport.cjs`},"./domain/async-queue":{import:`./dist/domain/async-queue.mjs`,require:`./dist/domain/async-queue.cjs`},"./domain/bulk":{import:`./dist/domain/bulk.mjs`,require:`./dist/domain/bulk.cjs`},"./domain/capability-grant":{import:`./dist/domain/capability-grant.mjs`,require:`./dist/domain/capability-grant.cjs`},"./domain/capability-request":{import:`./dist/domain/capability-request.mjs`,require:`./dist/domain/capability-request.cjs`},"./domain/data-sync":{import:`./dist/domain/data-sync.mjs`,require:`./dist/domain/data-sync.cjs`},"./domain/device-id":{import:`./dist/domain/device-id.mjs`,require:`./dist/domain/device-id.cjs`},"./domain/direct-manage-request":{import:`./dist/domain/direct-manage-request.mjs`,require:`./dist/domain/direct-manage-request.cjs`},"./domain/erasure-coding":{import:`./dist/domain/erasure-coding.mjs`,require:`./dist/domain/erasure-coding.cjs`},"./domain/gossip-expansion":{import:`./dist/domain/gossip-expansion.mjs`,require:`./dist/domain/gossip-expansion.cjs`},"./domain/gossip-extensions":{import:`./dist/domain/gossip-extensions.mjs`,require:`./dist/domain/gossip-extensions.cjs`},"./domain/grant-candidates":{import:`./dist/domain/grant-candidates.mjs`,require:`./dist/domain/grant-candidates.cjs`},"./domain/group-key":{import:`./dist/domain/group-key.mjs`,require:`./dist/domain/group-key.cjs`},"./domain/handshake":{import:`./dist/domain/handshake.mjs`,require:`./dist/domain/handshake.cjs`},"./domain/mesh-session":{import:`./dist/domain/mesh-session.mjs`,require:`./dist/domain/mesh-session.cjs`},"./domain/notice-board":{import:`./dist/domain/notice-board.mjs`,require:`./dist/domain/notice-board.cjs`},"./domain/path-trace":{import:`./dist/domain/path-trace.mjs`,require:`./dist/domain/path-trace.cjs`},"./domain/ping-round-trips":{import:`./dist/domain/ping-round-trips.mjs`,require:`./dist/domain/ping-round-trips.cjs`},"./domain/relay-hub":{import:`./dist/domain/relay-hub.mjs`,require:`./dist/domain/relay-hub.cjs`},"./domain/relay-use-gate":{import:`./dist/domain/relay-use-gate.mjs`,require:`./dist/domain/relay-use-gate.cjs`},"./domain/revocation-view":{import:`./dist/domain/revocation-view.mjs`,require:`./dist/domain/revocation-view.cjs`},"./domain/room":{import:`./dist/domain/room.mjs`,require:`./dist/domain/room.cjs`},"./domain/room-path":{import:`./dist/domain/room-path.mjs`,require:`./dist/domain/room-path.cjs`},"./domain/room-rekey":{import:`./dist/domain/room-rekey.mjs`,require:`./dist/domain/room-rekey.cjs`},"./domain/room-token-verification":{import:`./dist/domain/room-token-verification.mjs`,require:`./dist/domain/room-token-verification.cjs`},"./domain/shard-manifest":{import:`./dist/domain/shard-manifest.mjs`,require:`./dist/domain/shard-manifest.cjs`},"./domain/threshold-subject":{import:`./dist/domain/threshold-subject.mjs`,require:`./dist/domain/threshold-subject.cjs`},"./domain/tokens":{import:`./dist/domain/tokens.mjs`,require:`./dist/domain/tokens.cjs`},"./domain/topology":{import:`./dist/domain/topology.mjs`,require:`./dist/domain/topology.cjs`},"./domain/topology-snapshot":{import:`./dist/domain/topology-snapshot.mjs`,require:`./dist/domain/topology-snapshot.cjs`},"./domain/webrtc-signaling":{import:`./dist/domain/webrtc-signaling.mjs`,require:`./dist/domain/webrtc-signaling.cjs`},"./generated/protocol":{import:`./dist/generated/protocol.mjs`,require:`./dist/generated/protocol.cjs`},"./generated/runtime":{import:`./dist/generated/runtime.mjs`,require:`./dist/generated/runtime.cjs`},"./ports/clock":{import:`./dist/ports/clock.mjs`,require:`./dist/ports/clock.cjs`},"./ports/identity":{import:`./dist/ports/identity.mjs`,require:`./dist/ports/identity.cjs`},"./ports/storage":{import:`./dist/ports/storage.mjs`,require:`./dist/ports/storage.cjs`},"./ports/transport":{import:`./dist/ports/transport.mjs`,require:`./dist/ports/transport.cjs`},"./package.json":`./package.json`},files:[`dist`,`wasm-dist`],packageManager:`pnpm@12.4.1+sha512.2e81e399d73fe8390dab25e06aa788ab7a5908248d2f5a370f82b481147a6a7a367bf8048f9a6fdb6460f21a66f0542dedb8b94ca2c8723596741920b1656d4c`,publishConfig:{provenance:!0,access:`public`},repository:{type:`git`,url:`https://github.com/ExaDev/wire-mesh.git`,directory:`ts/packages/core`},scripts:{_build:`tsdown`,"_build-wasm":`./scripts/build-threshold-wasm.sh`,"_conformance-check":`vitest run test/conformance.unit.test.ts`,_generate:`node generate.ts`,_lint:`eslint . --fix --cache --max-warnings 0`,_mutation:`stryker run stryker.config.ts`,_test:`vitest run`,_typecheck:`tsc -p tsconfig.json --noEmit && tsc -p tsconfig.node.json --noEmit`,build:`turbo run _build`,"build-wasm":`turbo run _build-wasm`,"conformance-check":`turbo run _conformance-check`,generate:`turbo run _generate`,lint:`turbo run _lint`,mutation:`turbo run _mutation`,prepack:`node scripts/assert-wasm-dist.ts`,test:`turbo run _test`,typecheck:`turbo run _typecheck`},type:`module`}.version,ky=`wire-mesh/version`,Ay=`version.get`;function jy(e){return`verb`in e&&e.verb===Ay}function My(){return{result:`ok`,version:Oy}}var Ny=new Set([`device`,`addresses`,`snapshot-seconds`]),Py=`topology/peers`,Fy=/^[a-z][a-z0-9-]*\/[a-z][a-z0-9-]*$/;function Iy(e){for(let t of Object.keys(e)){if(Ny.has(t))throw Error(`sendGossipUpdate extension key "${t}" collides with a mandatory peer-advert field`);if(t===`topology/peers`)throw Error(`sendGossipUpdate extension key "${t}" collides with a session-managed gossip field`);if(t===`wire-mesh/version`)throw Error(`sendGossipUpdate extension key "${t}" is reserved for wire-mesh-core's own self-reported version`);if(!Fy.test(t))throw Error(`sendGossipUpdate extension key "${t}" must be domain-qualified as "<domain>/<field>" (e.g. "presence/status")`)}}function Ly(e){return new Uint8Array(rc(e,Bs))}function Ry(e,t){return{type:`relay-data`,payload:Ly(e),...t===void 0?{}:{"to-device":t}}}var zy=class extends Error{constructor(e){super(e),this.name=`SchemaInvalidFrameError`}};function By(e){let t=Gc(new Uint8Array(e),Kc),n=z_.safeParse(t);if(!n.success)throw new zy(n.error.message);return n.data}function Vy(e){let t;try{t=Gc(e,Kc)}catch{return null}let n=z_.safeParse(t);return n.success?n.data:null}function Hy(){let e=new Map;return{has:t=>e.has(my(t)),add:t=>{e.set(my(t),t)},list:()=>[...e.values()]}}var Uy=1e3,Wy=3e3;function Gy(e){return{type:`handshake`,version:1,domains:[...e]}}function Ky(e,t,n,r,i,a=[],o,s){let c=null,l={status:`idle`},u={status:`pending`},d=new Map,f=[],p=!1,m=Cy(),h=null,g=null,_=0,v=null,y=0,b=Hy(),x=Dy({getAuthenticatedPeer:()=>c?.peerDeviceId,isAccepted:r===null,getRelayedDevices:()=>b.list()}),S=new Map,C=Cy(),w=Cy(),T=wy();function ee(){return{state:l,directory:[...d.values()],frameLog:[...f]}}function te(){m.push(ee())}function ne(e){for(let t of S.values())t.reject(Error(e));S.clear()}function E(e,t,n){let r=y;y+=1;let i=n??v;return{type:`manage-request`,"request-id":r,command:e,scope:t,...i===null?{}:{token:i}}}function re(){if(c===null||l.status!==`connected`)throw Error(`not connected`);return c}async function D(e,t,n){if(c===null)throw Error(`not connected`);if(t){await c.send(Ry(e,n));return}await c.send(e)}function ie(e){let t=e[`request-id`],n=S.get(t);n!==void 0&&(S.delete(t),n.resolve(e.outcome))}function ae(e,t){let n=e[`request-id`],r=t?.[`from-device`],i=t?.[`to-device`],a={requestId:n,command:e.command,scope:e.scope,...e.token===void 0?{}:{token:e.token},...r===void 0?{}:{fromDevice:r},...i===void 0?{}:{toDevice:i},respond:async e=>{let i={type:`manage-response`,"request-id":n,outcome:e};f.push({direction:`sent`,frame:i}),await D(i,t!==void 0,r),te()}};if(jy(e.command.params)){a.respond(My());return}C.push(a)}function oe(e){if(e.type===`relay-data`){let t=Vy(e.payload);if(t!==null&&(t.type===`manage-request`||t.type===`manage-response`)){f.push({direction:`received`,frame:t}),t.type===`manage-response`?ie(t):ae(t,e);return}f.push({direction:`received`,frame:e});return}if(f.push({direction:`received`,frame:e}),e.type===`handshake`)k(e);else if(e.type===`gossip`)for(let t of e.peers)d.set(my(t.device),{device:t.device,advert:t}),x.recordAdvert(t.device),i?.(t);else if(e.type===`relay-inbound`)b.add(e[`source-device`]);else if(e.type===`manage-response`)ie(e);else if(e.type===`manage-request`)ae(e);else if(e.type===`pong`)T.resolveOldest(t.now());else if(e.type===`revocation-announce`)for(let t of e.entries)w.push(t)}async function se(e){if(c===null)throw Error(`not connected`);if(b.has(e))return;let t={type:`relay-connect`,"target-device":e};f.push({direction:`sent`,frame:t}),await c.send(t),b.add(e),te()}let O=Gy([]);function k(e){if(u.status!==`pending`)return;h!==null&&(clearTimeout(h),h=null);let t=Sy(O,e);u=t.ok?{status:`negotiated`,version:t.version,sharedDomains:t.sharedDomains}:{status:`rejected`,reason:`no shared domains or version`},l.status===`connected`&&(l={...l,handshake:u})}function ce(e,t,r){if(!p){if(ne(`disconnected before a response arrived`),T.rejectAll(`disconnected before a pong arrived`),n!==null&&_<n.maxAttempts){_+=1;let i=_;l={status:`reconnecting`,address:t,attempt:i,reason:e},te(),g=setTimeout(()=>{g=null,fe(t,r).catch(e=>{ce(e instanceof Error?e.message:String(e),t,r)})},n.delayMs(i));return}l={status:`closed`,address:t,reason:e},te()}}async function le(e,t,n){for await(let t of e.receive()){if(p)return;oe(t),await o?.(e,t),te()}s?.(e),l.status===`connected`&&ce(`node closed the connection`,t,n)}function ue(n){return n!==void 0&&Iy(n),{type:`gossip`,peers:[{...n,[ky]:Oy,[Py]:x.compute(),device:e.deviceId,addresses:[...a],"snapshot-seconds":Math.floor(t.now()/Uy)}]}}async function de(e,t,n){c=e,O=Gy(n),u={status:`pending`},l={status:`connected`,address:t,handshake:u},f.push({direction:`sent`,frame:O}),await c.send(O),te();let r=ue();f.push({direction:`sent`,frame:r}),await c.send(r),te(),h=setTimeout(()=>{h=null,u.status===`pending`&&(u={status:`unanswered`},l.status===`connected`&&(l={...l,handshake:u}),te())},Wy),le(c,t,n).catch(e=>{l.status===`connected`&&ce(e instanceof Error?e.message:String(e),t,n)})}async function fe(e,t){if(r===null)throw Error(`this session is already connected; there is nothing to dial`);h!==null&&(clearTimeout(h),h=null),l={status:`connecting`,address:e},te();let n=await r(e);if(p){await n.close();return}await de(n,e,t)}return{wireUpConnection:de,session:{events:m.stream,incomingManageRequests:C.stream,revocationAnnouncements:w.stream,async connect(e,t){if(c!==null)throw Error(`a session connects once; create a new one to reconnect`);_=0,await fe(e,t)},async sendPing(){let e=re(),t={type:`ping`};f.push({direction:`sent`,frame:t}),await e.send(t),te()},async sendPingMeasureRtt(e){let n=re();return T.sendAndAwait(t.now(),async()=>{let e={type:`ping`};f.push({direction:`sent`,frame:e}),await n.send(e),te()},e)},setToken(e){v=e},async sendManageRequest(e,t,n,r,i){re(),n!==void 0&&await se(n);let a=E(e,t,r),o=a[`request-id`],s=new Promise((e,t)=>{S.set(o,{resolve:e,reject:t})});return f.push({direction:`sent`,frame:a}),await D(a,n!==void 0,n),te(),i===void 0?s:Promise.race([s,new Promise(e=>{setTimeout(()=>{S.delete(o)&&e({result:`error`,code:`timeout`})},i)})])},async sendRevocationAnnounce(e){re();let t={type:`revocation-announce`,entries:[...e]};f.push({direction:`sent`,frame:t}),await D(t,!1),te()},async sendGossipUpdate(e){re();let t=ue(e);f.push({direction:`sent`,frame:t}),await D(t,!1),te()},getTopologyPeers(){return x.compute()},async sendDataFrame(e){re(),f.push({direction:`sent`,frame:e}),await D(e,!1),te()},async close(){p=!0,h!==null&&(clearTimeout(h),h=null),g!==null&&(clearTimeout(g),g=null),ne(`connection closed before a response arrived`),T.rejectAll(`connection closed before a pong arrived`),c!==null&&await c.close(),(l.status===`connected`||l.status===`connecting`||l.status===`reconnecting`)&&(l={status:`closed`,address:l.address,reason:`closed by you`}),te()}}}}function qy(e,t,n={now:()=>Date.now()},r=null,i=[],a){let{session:o}=Ky(t,n,r,async t=>e.connect(t),a,i);return o}async function Jy(e,t,n,r={}){let i=r.clock??{now:()=>Date.now()},a=null,o=new Promise(e=>{a=e}),s=!1,{session:c,wireUpConnection:l}=Ky(t,i,null,null,e=>{s||(s=!0,a?.(e.device)),r.onPeerAdvert?.(e)},r.addresses,r.onFrame,r.onSessionEnd);return await l(e,r.label??`accepted`,n),{...c,peerDeviceId:o}}function Yy(e){return e instanceof Error?e:Error(String(e))}function Xy(e){let t=my(e.selfDeviceId),n=new Set;async function r(t){let n;try{n=await e.shouldExpand(t)}catch(n){e.onExpansionFailed?.(t,[Yy(n)]);return}if(!n){e.onExpansionDeclined?.(t);return}let r=[];for(let n of t.addresses)try{let r=await e.dial(n);e.onExpanded(t,n,r);return}catch(e){r.push(Yy(e))}e.onExpansionFailed?.(t,r)}return{considerAdvert(e){let i=my(e.device);i===t||n.has(i)||e.addresses.length===0||(n.add(i),r({device:e.device,addresses:e.addresses}))}}}var Zy=1e3,Qy=1002,$y=`the web console is a client only: it cannot listen`;function eb(e){let t=[],n=[],r=!1,i=null;function a(){r=!0;for(let e of n.splice(0))e.resolve({value:void 0,done:!0})}function o(e){i=e,r=!0;for(let t of n.splice(0))t.reject(e)}e.addEventListener(`message`,r=>{if(!(r.data instanceof ArrayBuffer)){o(Error(`expected a binary WebSocket message`)),e.close(Qy,`protocol error`);return}let i;try{i=By(r.data)}catch(t){if(t instanceof zy)return;o(t instanceof Error?t:Error(`frame body failed to decode: ${String(t)}`)),e.close(Qy,`protocol error`);return}let a=n.shift();a?a.resolve({value:i,done:!1}):t.push(i)}),e.addEventListener(`close`,a),e.addEventListener(`error`,a);let s={[Symbol.asyncIterator](){return{next:async()=>c()}}};async function c(){let e=t.shift();return e===void 0?i===null?r?Promise.resolve({value:void 0,done:!0}):new Promise((e,t)=>{n.push({resolve:e,reject:t})}):Promise.reject(i):Promise.resolve({value:e,done:!1})}return{async send(t){return r?Promise.reject(Error(`connection is closed`)):(e.send(Ly(t)),Promise.resolve())},receive:()=>s,async close(){return e.close(Zy),Promise.resolve()}}}function tb(){return{async connect(e){let t=new URL(e);if(t.protocol!==`ws:`&&t.protocol!==`wss:`)return Promise.reject(Error(`not a WebSocket address: ${e}`));let n=new WebSocket(t);return n.binaryType=`arraybuffer`,new Promise((e,r)=>{n.addEventListener(`open`,()=>{e()}),n.addEventListener(`error`,()=>{r(Error(`connect to ${t.toString()} failed`))})}).then(()=>eb(n))},async listen(){return Promise.reject(Error($y))}}}function nb(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function rb(e){return e.split(`/`).some(e=>e===`.`||e===`..`)}function ib(e,t){return rb(e)||rb(t)?!1:e===t?!0:e.startsWith(t)?t.endsWith(`/`)?!0:e.charAt(t.length)===`/`:!1}function ab(e,t){return e.kind===t.kind?e.path===void 0||t.path!==void 0&&ib(t.path,e.path):!1}var ob=(e,t,n)=>({kind:`complex`,re:e*Math.cos(t),im:e*Math.sin(t),unit:n}),sb=Gg(K(),q()),cb=qg([`ms`,`s`,`min`,`h`,`d`]);zg(`kind`,[J({kind:Y(`number`),value:q(),unit:sb.optional()}),J({kind:Y(`text`),value:K()}),J({kind:Y(`boolean`),value:Tg()}),J({kind:Y(`instant`),value:K()}),J({kind:Y(`duration`),value:q(),unit:cb}),J({kind:Y(`complex`),re:q(),im:q(),unit:sb.optional()})]);function lb(e){if(e===void 0)return{};let t={};for(let[n,r]of Object.entries(e))r!==0&&(t[n]=r);return t}function ub(e,t){let n=lb(e),r=lb(t),i=Object.keys(n),a=Object.keys(r);return i.length===a.length&&i.every(e=>n[e]===r[e])}function db(e,t){let n=lb(e),r=lb(t),i={...n};for(let[e,t]of Object.entries(r))i[e]=(i[e]??0)+t;return lb(i)}function fb(e,t){let n=lb(e),r=lb(t),i={...n};for(let[e,t]of Object.entries(r))i[e]=(i[e]??0)-t;return lb(i)}J({code:qg([`not-found`,`wrong-type`,`domain-error`]),message:K()});function Q(e){return{status:`definite`,value:e}}function $(e,t){return{status:`indeterminate`,reason:{code:e,message:t}}}function pb(...e){for(let t of e)if(t?.status===`indeterminate`)return t.reason}var mb=X(()=>Lg([K(),q(),Tg(),Dg(),Ng(mb),Gg(K(),mb)])),hb=qg([`gt`,`gte`,`lt`,`lte`,`eq`,`neq`]),gb=qg([`equals`,`notEquals`,`matches`,`notMatches`,`portableMatches`,`portableNotMatches`]),_b=qg([`in`,`notIn`]),vb=qg([`add`,`subtract`,`multiply`,`divide`,`power`,`modulo`]),yb=qg([`first`,`unique`]),bb=J({kind:Y(`not`),get operand(){return Mb}}),xb=J({kind:Y(`and`),get left(){return Mb},get right(){return Mb}}),Sb=J({kind:Y(`or`),get left(){return Mb},get right(){return Mb}}),Cb=J({kind:Y(`allOf`),get operands(){return Ng(Mb)}}),wb=J({kind:Y(`anyOf`),get operands(){return Ng(Mb)}}),Tb=J({kind:Y(`compare`),op:hb,get left(){return qb},get right(){return qb}}),Eb=J({kind:Y(`textCompare`),op:gb,get left(){return qb},get right(){return qb}}),Db=J({kind:Y(`memberOf`),op:_b,get operand(){return qb},get candidates(){return Ng(qb)}}),Ob=J({kind:Y(`exists`),get operand(){return qb}}),kb=J({kind:Y(`some`),collection:mb,get item(){return Mb},get filter(){return Mb.optional()}}),Ab=J({kind:Y(`every`),collection:mb,get item(){return Mb},get filter(){return Mb.optional()}}),jb=J({kind:Y(`treeReference`),key:mb}),Mb=zg(`kind`,[bb,xb,Sb,Cb,wb,Tb,Eb,Db,Ob,kb,Ab,jb]),Nb=J({kind:Y(`numberLiteral`),value:q(),unit:sb.optional()}),Pb=J({kind:Y(`textLiteral`),value:K()}),Fb=J({kind:Y(`booleanLiteral`),value:Tg()}),Ib=J({kind:Y(`instantLiteral`),value:K()}),Lb=J({kind:Y(`durationLiteral`),value:q(),unit:cb}),Rb=Lg([Fg({kind:Y(`complexLiteral`),re:q(),im:q(),unit:sb.optional()}),Fg({kind:Y(`complexLiteral`),magnitude:q(),phase:q(),unit:sb.optional()})]),zb=J({kind:Y(`reference`),key:mb,unit:sb.optional()}),Bb=J({kind:Y(`arithmetic`),op:vb,get left(){return qb},get right(){return qb}}),Vb=J({kind:Y(`negate`),get operand(){return qb}}),Hb=J({kind:Y(`call`),fn:K(),get args(){return Ng(qb)}}),Ub=J({kind:Y(`lookup`),table:mb,get keys(){return Ng(qb)}}),Wb=J({get when(){return Mb},get then(){return qb}}),Gb=J({kind:Y(`conditional`),hitPolicy:yb.optional(),get cases(){return Ng(Wb)},get fallback(){return qb}}),Kb=zg(`mode`,[J({mode:Y(`max`),get item(){return qb}}),J({mode:Y(`min`),get item(){return qb}}),J({mode:Y(`reduce`),get initial(){return qb},get combine(){return qb}})]),qb=Lg([zg(`kind`,[Nb,Pb,Fb,Ib,Lb,zb,Bb,Vb,Hb,Ub,Gb,J({kind:Y(`fold`),collection:mb,get filter(){return Mb.optional()},combiner:Kb}),J({kind:Y(`accumulator`)}),J({kind:Y(`delegate`),system:K(),payload:mb}),jb]),Rb]),Jb={},Yb=1e4;function Xb(e,t){let n=0;return{checkNode(r){if(n+=1,n>e)return $(`domain-error`,`evaluation exceeded the maximum of ${e.toString()} nodes visited in a single call (resource exhausted)`);if(r>=t)return $(`domain-error`,`evaluation nesting depth exceeds the maximum of ${t.toString()} (resource exhausted)`)}}}async function Zb(e,t,n,r,i,a,o,s,c,l){let u=await i.resolveCollection(t,r);return Promise.all(u.map(async t=>{if(n===void 0)return{item:t,filterOutcome:`include`};let r=await e(n,t,i,void 0,a,o,s,c,l+1);return r.status===`indeterminate`?{item:t,filterOutcome:r}:{item:t,filterOutcome:r.value?`include`:`exclude`}}))}function Qb(e){for(let{filterOutcome:t}of e)if(t!==`include`&&t!==`exclude`&&t.status===`indeterminate`)return t.reason}function $b(e,t){return t>=e.from&&t<=e.to}function ex(e,t){let n=e.ranges.some(e=>$b(e,t));return e.negated?!n:n}var tx=class extends Error{pattern;index;constructor(e,t,n){super(`invalid pattern at index ${String(t)}: ${n}\n ${e}\n ${` `.repeat(t)}^`),this.name=`RegexParseError`,this.pattern=e,this.index=t}};function nx(e){return e.charCodeAt(0)}function rx(e,t){return{from:nx(e),to:nx(t)}}function ix(e){let t=nx(e);return{from:t,to:t}}var ax=[rx(`0`,`9`)],ox=[rx(`A`,`Z`),rx(`a`,`z`),rx(`0`,`9`),ix(`_`)],sx=[ix(` `),ix(` `),ix(`
71
71
  `),ix(`\r`),ix(`\f`),ix(`\v`)];function cx(e){switch(e){case`d`:return{kind:`charClass`,negated:!1,ranges:ax};case`D`:return{kind:`charClass`,negated:!0,ranges:ax};case`w`:return{kind:`charClass`,negated:!1,ranges:ox};case`W`:return{kind:`charClass`,negated:!0,ranges:ox};case`s`:return{kind:`charClass`,negated:!1,ranges:sx};case`S`:return{kind:`charClass`,negated:!0,ranges:sx};default:throw Error(`unreachable shorthand class letter`)}}var lx=new Set([`|`,`)`]),ux={".":`.`,"*":`*`,"+":`+`,"?":`?`,"(":`(`,")":`)`,"[":`[`,"]":`]`,"{":`{`,"}":`}`,"|":`|`,"^":`^`,$:`$`,"\\":`\\`,"/":`/`,n:`
72
72
  `,t:` `,r:`\r`,f:`\f`,v:`\v`},dx=class{pattern;pos=0;constructor(e){this.pattern=e}get position(){return this.pos}atEnd(){return this.pos>=this.pattern.length}peek(e=0){return this.pattern[this.pos+e]}advance(){let e=this.pattern[this.pos];if(e===void 0)throw new tx(this.pattern,this.pos,`unexpected end of pattern`);return this.pos+=1,e}parseAlternation(){let e=this.parseSequence(),t=[];for(;this.peek()===`|`;)this.advance(),t.push(this.parseSequence());return t.length===0?e:{kind:`alternation`,branches:[e,...t]}}parseSequence(){if(this.atEnd()||lx.has(this.peek()??``))return{kind:`concat`,operands:[]};let e=this.parseQuantified(),t=[];for(;!this.atEnd()&&!lx.has(this.peek()??``);)t.push(this.parseQuantified());return t.length===0?e:{kind:`concat`,operands:[e,...t]}}parseQuantified(){let e=this.pos,t=this.parseAtom();if(t.kind===`anchorStart`||t.kind===`anchorEnd`){if(this.peekIsQuantifierStart())throw new tx(this.pattern,e,`an anchor ('${t.kind===`anchorStart`?`^`:`$`}') cannot be quantified`);return t}let n=this.tryParseQuantifier();if(n===void 0)return t;if(this.peekIsQuantifierStart())throw new tx(this.pattern,this.pos,`a quantifier cannot itself be quantified -- this grammar has no lazy or possessive modifiers, since a pattern that only ever answers a yes/no match question has no notion for either to change`);switch(n.kind){case`star`:return{kind:`star`,operand:t};case`plus`:return{kind:`plus`,operand:t};case`optional`:return{kind:`optional`,operand:t};case`repeat`:return{kind:`repeat`,operand:t,min:n.min,max:n.max};default:throw Error(`unreachable quantifier kind`)}}peekIsQuantifierStart(){let e=this.peek();if(e===`*`||e===`+`||e===`?`)return!0;if(e===`{`){let e=this.pos,t=this.tryParseBound();return this.pos=e,t!==void 0}return!1}tryParseQuantifier(){let e=this.peek();if(e===`*`)return this.advance(),{kind:`star`};if(e===`+`)return this.advance(),{kind:`plus`};if(e===`?`)return this.advance(),{kind:`optional`};if(e===`{`){let e=this.tryParseBound();return e===void 0?void 0:{kind:`repeat`,min:e.min,max:e.max}}}tryParseBound(){let e=this.pos;this.pos+=1;let t=this.readDigits();if(t===``){this.pos=e;return}let n,r=!1;if(this.peek()===`,`&&(r=!0,this.pos+=1,n=this.readDigits()),this.peek()!==`}`){this.pos=e;return}this.pos+=1;let i=Number.parseInt(t,10),a=r?n===``?void 0:Number.parseInt(n??``,10):i;if(a!==void 0&&a<i)throw new tx(this.pattern,e,`quantifier range is backwards: {${t}${r?`,`+(n??``):``}} would require between ${String(i)} and ${String(a)} repetitions`);return{min:i,max:a}}readDigits(){let e=``;for(;;){let t=this.peek();if(t===void 0||t<`0`||t>`9`)break;e+=t,this.pos+=1}return e}parseAtom(){let e=this.peek();if(e===void 0)throw new tx(this.pattern,this.pos,`unexpected end of pattern`);if(e===`^`)return this.advance(),{kind:`anchorStart`};if(e===`$`)return this.advance(),{kind:`anchorEnd`};if(e===`.`)return this.advance(),{kind:`anyChar`};if(e===`(`)return this.parseGroup();if(e===`[`)return this.parseCharClass();if(e===`\\`)return this.parseEscapedAtom();if(e===`*`||e===`+`||e===`?`)throw new tx(this.pattern,this.pos,`quantifier '${e}' with nothing to repeat`);return this.advance(),{kind:`literal`,codeUnit:e.charCodeAt(0)}}parseGroup(){let e=this.pos;if(this.advance(),this.peek()===`?`&&this.peek(1)===`:`)this.advance(),this.advance();else throw new tx(this.pattern,e,`capturing groups are not supported in this grammar -- there is nothing to capture, since a pattern only ever answers whether it matches. Use '(?:...)' for grouping.`);let t=this.parseAlternation();if(this.peek()!==`)`)throw new tx(this.pattern,this.pos,`expected ')' to close '(?:'`);return this.advance(),t}parseEscapedAtom(){let e=this.pos;if(this.advance(),this.atEnd())throw new tx(this.pattern,e,`trailing backslash with nothing to escape`);let t=this.advance();if(t===`d`||t===`D`||t===`w`||t===`W`||t===`s`||t===`S`)return cx(t);let n=ux[t];if(n!==void 0)return{kind:`literal`,codeUnit:n.charCodeAt(0)};throw new tx(this.pattern,e,`unknown escape sequence '\\${t}'`)}parseCharClass(){let e=this.pos;this.advance();let t=!1;this.peek()===`^`&&(this.advance(),t=!0);let n=[];for(;;){if(this.atEnd())throw new tx(this.pattern,e,`unterminated character class -- missing closing ']'`);if(this.peek()===`]`){if(n.length===0)throw new tx(this.pattern,this.pos,`a character class must contain at least one item -- ']' immediately, or immediately after '[^', is not the empty class here (escape it as '\\]' to match a literal ']')`);this.advance();break}n.push(...this.parseClassItem())}return{kind:`charClass`,negated:t,ranges:n}}parseClassItem(){let e=this.peek();if(e===`\\`){let e=this.pos;if(this.advance(),this.atEnd())throw new tx(this.pattern,e,`trailing backslash with nothing to escape`);let t=this.advance();if(t===`d`||t===`w`||t===`s`)return cx(t).ranges;if(t===`D`||t===`W`||t===`S`)throw new tx(this.pattern,e,`the negated shorthand class '\\${t}' cannot be embedded inside a character class, because its complement cannot be represented as a set of ranges to union with the class's other members -- use it as its own atom instead of embedding it here`);let n=ux[t];if(n===void 0)throw new tx(this.pattern,e,`unknown escape sequence '\\${t}'`);return this.parseOptionalRangeFrom(n.charCodeAt(0))}if(e===void 0)throw new tx(this.pattern,this.pos,`unterminated character class -- missing closing ']'`);return this.advance(),this.parseOptionalRangeFrom(e.charCodeAt(0))}parseOptionalRangeFrom(e){if(this.peek()===`-`&&this.peek(1)!==void 0&&this.peek(1)!==`]`){let t=this.pos;this.advance();let n=this.parseClassRangeEndpoint();if(n<e)throw new tx(this.pattern,t,`invalid range in character class: '${String.fromCharCode(e)}-${String.fromCharCode(n)}' is reversed`);return[{from:e,to:n}]}return[{from:e,to:e}]}parseClassRangeEndpoint(){let e=this.peek();if(e===`\\`){let e=this.pos;if(this.advance(),this.atEnd())throw new tx(this.pattern,e,`trailing backslash with nothing to escape`);let t=this.advance();if(t===`d`||t===`D`||t===`w`||t===`W`||t===`s`||t===`S`)throw new tx(this.pattern,e,`a shorthand class ('\\${t}') cannot be a range endpoint`);let n=ux[t];if(n===void 0)throw new tx(this.pattern,e,`unknown escape sequence '\\${t}'`);return n.charCodeAt(0)}if(e===void 0)throw new tx(this.pattern,this.pos,`unterminated character class -- missing closing ']'`);return this.advance(),e.charCodeAt(0)}};function fx(e){let t=new dx(e),n=t.parseAlternation();if(!t.atEnd())throw new tx(e,t.position,`unexpected character -- if this was meant literally, escape it with a backslash`);return n}var px=class{states=[];add(e){return this.states.push(e),this.states.length-1}patch(e,t){for(let n of e){let e=this.states[n.state];if(e!==void 0)switch(n.field){case`to`:(e.kind===`char`||e.kind===`anchorStart`||e.kind===`anchorEnd`)&&(e.to=t);break;case`to1`:e.kind===`split`&&(e.to1=t);break;case`to2`:e.kind===`split`&&(e.to2=t)}}}emptyFrag(){let e=this.add({kind:`split`,to1:-1,to2:-1});return{start:e,out:[{state:e,field:`to1`},{state:e,field:`to2`}]}}compileRepeat(e){let{operand:t,min:n,max:r}=e;if(r===void 0){if(n===0)return this.compileNode({kind:`star`,operand:t});let e=[];for(let r=0;r<n-1;r+=1)e.push(t);return e.push({kind:`plus`,operand:t}),this.compileNode({kind:`concat`,operands:e})}let i=[];for(let e=0;e<n;e+=1)i.push(t);for(let e=0;e<r-n;e+=1)i.push({kind:`optional`,operand:t});return i.length===0?this.emptyFrag():this.compileNode({kind:`concat`,operands:i})}compileNode(e){switch(e.kind){case`literal`:{let t=e.codeUnit,n=this.add({kind:`char`,test:e=>e===t,to:-1});return{start:n,out:[{state:n,field:`to`}]}}case`anyChar`:{let e=this.add({kind:`char`,test:()=>!0,to:-1});return{start:e,out:[{state:e,field:`to`}]}}case`charClass`:{let t=this.add({kind:`char`,test:t=>ex(e,t),to:-1});return{start:t,out:[{state:t,field:`to`}]}}case`anchorStart`:{let e=this.add({kind:`anchorStart`,to:-1});return{start:e,out:[{state:e,field:`to`}]}}case`anchorEnd`:{let e=this.add({kind:`anchorEnd`,to:-1});return{start:e,out:[{state:e,field:`to`}]}}case`concat`:{if(e.operands.length===0)return this.emptyFrag();let[t,...n]=e.operands;if(t===void 0)throw Error(`unreachable: a non-empty operands array always has a first element`);let r=this.compileNode(t);for(let e of n){let t=this.compileNode(e);this.patch(r.out,t.start),r={start:r.start,out:t.out}}return r}case`alternation`:{let[t,...n]=e.branches;if(t===void 0)throw Error(`unreachable: AlternationNode always has at least two branches`);let r=this.compileNode(t);for(let e of n){let t=this.compileNode(e);r={start:this.add({kind:`split`,to1:r.start,to2:t.start}),out:[...r.out,...t.out]}}return r}case`star`:{let t=this.compileNode(e.operand),n=this.add({kind:`split`,to1:t.start,to2:-1});return this.patch(t.out,n),{start:n,out:[{state:n,field:`to2`}]}}case`plus`:{let t=this.compileNode(e.operand),n=this.add({kind:`split`,to1:t.start,to2:-1});return this.patch(t.out,n),{start:t.start,out:[{state:n,field:`to2`}]}}case`optional`:{let t=this.compileNode(e.operand),n=this.add({kind:`split`,to1:t.start,to2:-1});return{start:n,out:[...t.out,{state:n,field:`to2`}]}}case`repeat`:return this.compileRepeat(e);default:throw Error(`unreachable regex node kind`)}}build(e){let t=this.compileNode(e),n=this.add({kind:`match`});return this.patch(t.out,n),{states:this.states,start:t.start,matchState:n}}};function mx(e){return new px().build(e)}function hx(e,t,n,r){let i=new Set,a=new Set,o=[...t];for(;o.length>0;){let t=o.pop();if(t===void 0||a.has(t))continue;a.add(t);let s=e.states[t];if(s!==void 0)switch(s.kind){case`char`:case`match`:i.add(t);break;case`split`:o.push(s.to1,s.to2);break;case`anchorStart`:n===0&&o.push(s.to);break;case`anchorEnd`:n===r&&o.push(s.to)}}return i}function gx(e,t,n){let r=new Set;for(let i of t){let t=e.states[i];t?.kind===`char`&&t.test(n)&&r.add(t.to)}return r}function _x(e,t){let n=t.length,r=hx(e,[e.start],0,n);if(r.has(e.matchState))return!0;for(let i=0;i<n;i+=1){let a=t.charCodeAt(i),o=gx(e,r,a);if(o.add(e.start),r=hx(e,[...o],i+1,n),r.has(e.matchState))return!0}return!1}function vx(e){let t=mx(fx(e));return{test:e=>_x(t,e)}}function yx(e,t){if(e.status===`definite`&&!e.value||t.status===`definite`&&!t.value)return Q(!1);let n=pb(e,t);return n===void 0?Q(!0):{status:`indeterminate`,reason:n}}function bx(e,t){if(e.status===`definite`&&e.value||t.status===`definite`&&t.value)return Q(!0);let n=pb(e,t);return n===void 0?Q(!1):{status:`indeterminate`,reason:n}}function xx(e,t,n){switch(e){case`gt`:return t>n;case`gte`:return t>=n;case`lt`:return t<n;case`lte`:return t<=n;case`eq`:return t===n;case`neq`:return t!==n;default:throw Error(`unreachable comparison operator`)}}var Sx={ms:1,s:1e3,min:6e4,h:36e5,d:864e5};function Cx(e,t){return e*Sx[t]}function wx(e){let t=Date.parse(e);return Number.isNaN(t)?void 0:t}function Tx(e){return $(`wrong-type`,`'${e}' is not a parseable ISO-8601 timestamp`)}function Ex(e){let t=new Date(e);return Number.isNaN(t.getTime())?$(`domain-error`,`the resulting instant falls outside the representable timestamp range`):Q({kind:`instant`,value:t.toISOString()})}function Dx(e,t,n){switch(t.kind){case`number`:return n.kind===`number`?ub(t.unit,n.unit)?Q(xx(e,t.value,n.value)):$(`wrong-type`,`cannot compare numbers with incompatible units`):$(`wrong-type`,`cannot compare a 'number' value with a '${n.kind}' value`);case`text`:return $(`wrong-type`,`text values are not comparable via 'compare'; use 'textCompare'`);case`boolean`:return n.kind===`boolean`?e!==`eq`&&e!==`neq`?$(`wrong-type`,`booleans have no natural ordering; '${e}' is only defined for 'eq'/'neq'`):Q(e===`eq`?t.value===n.value:t.value!==n.value):$(`wrong-type`,`cannot compare a 'boolean' value with a '${n.kind}' value`);case`instant`:{if(n.kind!==`instant`)return $(`wrong-type`,`cannot compare an 'instant' value with a '${n.kind}' value`);let r=wx(t.value);if(r===void 0)return Tx(t.value);let i=wx(n.value);return i===void 0?Tx(n.value):Q(xx(e,r,i))}case`duration`:return n.kind===`duration`?Q(xx(e,Cx(t.value,t.unit),Cx(n.value,n.unit))):$(`wrong-type`,`cannot compare a 'duration' value with a '${n.kind}' value`);case`complex`:return e!==`eq`&&e!==`neq`?$(`wrong-type`,`ordering operator '${e}' is not defined for complex values; the complex plane has no total order`):n.kind===`complex`?ub(t.unit,n.unit)?Q(e===`eq`?t.re===n.re&&t.im===n.im:t.re!==n.re||t.im!==n.im):$(`wrong-type`,`cannot compare complex values with incompatible units`):$(`wrong-type`,`cannot compare a 'complex' value with a '${n.kind}' value`);default:throw Error(`unreachable computed-value kind`)}}function Ox(e,t,n){if(t.kind!==`text`)return $(`wrong-type`,`'textCompare' requires 'text' operands; the left operand is '${t.kind}'`);if(n.kind!==`text`)return $(`wrong-type`,`'textCompare' requires 'text' operands; the right operand is '${n.kind}'`);switch(e){case`equals`:return Q(t.value===n.value);case`notEquals`:return Q(t.value!==n.value);case`matches`:case`notMatches`:{let r;try{r=new RegExp(n.value)}catch{return $(`wrong-type`,`'${n.value}' is not a valid regular expression pattern`)}let i=r.test(t.value);return Q(e===`matches`?i:!i)}case`portableMatches`:case`portableNotMatches`:{let r;try{r=vx(n.value)}catch(e){let t=e instanceof tx?e.message:String(e);return $(`wrong-type`,`'${n.value}' is not a valid trilean-regex pattern: ${t}`)}let i=r.test(t.value);return Q(e===`portableMatches`?i:!i)}default:throw Error(`unreachable text comparison operator`)}}function kx(e,t){switch(e.kind){case`number`:return t.kind===`number`?ub(e.unit,t.unit)?Q(e.value===t.value):$(`wrong-type`,`cannot compare numbers with incompatible units for membership`):$(`wrong-type`,`cannot compare a 'number' value with a '${t.kind}' value for membership`);case`text`:return t.kind===`text`?Q(e.value===t.value):$(`wrong-type`,`cannot compare a 'text' value with a '${t.kind}' value for membership`);case`boolean`:return t.kind===`boolean`?Q(e.value===t.value):$(`wrong-type`,`cannot compare a 'boolean' value with a '${t.kind}' value for membership`);case`instant`:{if(t.kind!==`instant`)return $(`wrong-type`,`cannot compare an 'instant' value with a '${t.kind}' value for membership`);let n=wx(e.value);if(n===void 0)return Tx(e.value);let r=wx(t.value);return r===void 0?Tx(t.value):Q(n===r)}case`duration`:return t.kind===`duration`?Q(Cx(e.value,e.unit)===Cx(t.value,t.unit)):$(`wrong-type`,`cannot compare a 'duration' value with a '${t.kind}' value for membership`);case`complex`:return t.kind===`complex`?ub(e.unit,t.unit)?Q(e.re===t.re&&e.im===t.im):$(`wrong-type`,`cannot compare complex values with incompatible units for membership`):$(`wrong-type`,`cannot compare a 'complex' value with a '${t.kind}' value for membership`);default:throw Error(`unreachable computed-value kind`)}}function Ax(e){return ub(e,void 0)}function jx(e){switch(e.kind){case`number`:return Q({kind:`number`,value:-e.value,unit:e.unit});case`duration`:return Q({kind:`duration`,value:-e.value,unit:e.unit});case`complex`:return Q({kind:`complex`,re:-e.re,im:-e.im,unit:e.unit});case`text`:case`instant`:case`boolean`:return $(`wrong-type`,`cannot negate a '${e.kind}' value`);default:throw Error(`unreachable computed-value kind`)}}function Mx(e,t,n){switch(e){case`add`:return ub(t.unit,n.unit)?Q({kind:`number`,value:t.value+n.value,unit:t.unit}):$(`wrong-type`,`cannot add numbers with incompatible units`);case`subtract`:return ub(t.unit,n.unit)?Q({kind:`number`,value:t.value-n.value,unit:t.unit}):$(`wrong-type`,`cannot subtract numbers with incompatible units`);case`multiply`:return Q({kind:`number`,value:t.value*n.value,unit:db(t.unit,n.unit)});case`divide`:return n.value===0?$(`domain-error`,`division by zero`):Q({kind:`number`,value:t.value/n.value,unit:fb(t.unit,n.unit)});case`power`:return!Ax(t.unit)||!Ax(n.unit)?$(`wrong-type`,`'power' requires dimensionless operands`):t.value<0&&!Number.isInteger(n.value)?$(`domain-error`,`a negative base raised to a non-integer power is not a real number`):t.value===0&&n.value<0?$(`domain-error`,`zero raised to a negative power is a division by zero`):Q({kind:`number`,value:t.value**n.value});case`modulo`:return!Ax(t.unit)||!Ax(n.unit)?$(`wrong-type`,`'modulo' requires dimensionless operands`):n.value===0?$(`domain-error`,`modulo by zero`):Q({kind:`number`,value:t.value%n.value});default:throw Error(`unreachable arithmetic operator`)}}function Nx(e,t,n){switch(e){case`add`:return Q({kind:`duration`,value:Cx(t.value,t.unit)+Cx(n.value,n.unit),unit:`ms`});case`subtract`:return Q({kind:`duration`,value:Cx(t.value,t.unit)-Cx(n.value,n.unit),unit:`ms`});case`multiply`:case`divide`:case`power`:case`modulo`:return $(`wrong-type`,`arithmetic operator '${e}' is not defined between two 'duration' values`);default:throw Error(`unreachable arithmetic operator`)}}function Px(e){return e.kind===`complex`?e:{kind:`complex`,re:e.value,im:0,unit:e.unit}}function Fx(e,t){return{kind:`complex`,re:e.re*t.re-e.im*t.im,im:e.re*t.im+e.im*t.re,unit:db(e.unit,t.unit)}}function Ix(e,t,n){switch(e){case`add`:return ub(t.unit,n.unit)?Q({kind:`complex`,re:t.re+n.re,im:t.im+n.im,unit:t.unit}):$(`wrong-type`,`cannot add complex values with incompatible units`);case`subtract`:return ub(t.unit,n.unit)?Q({kind:`complex`,re:t.re-n.re,im:t.im-n.im,unit:t.unit}):$(`wrong-type`,`cannot subtract complex values with incompatible units`);case`multiply`:return Q(Fx(t,n));case`divide`:{let e=n.re*n.re+n.im*n.im;return e===0?$(`domain-error`,`division by zero`):Q({kind:`complex`,re:(t.re*n.re+t.im*n.im)/e,im:(t.im*n.re-t.re*n.im)/e,unit:fb(t.unit,n.unit)})}case`modulo`:return $(`domain-error`,`'modulo' is undefined for complex values`);default:throw Error(`unreachable arithmetic operator`)}}function Lx(e,t){if(t.kind!==`number`||!Number.isInteger(t.value))return $(`wrong-type`,`'power' with a complex operand requires a real integer exponent`);if(!Ax(e.unit)||!Ax(t.unit))return $(`wrong-type`,`'power' requires dimensionless operands`);let n={kind:`complex`,re:1,im:0,unit:{}},r=Px(e),i=n;for(let e=0;e<Math.abs(t.value);e+=1)i=Fx(i,r);return t.value>=0?Q(i):Ix(`divide`,n,i)}function Rx(e,t,n){if(t.kind===`instant`&&n.kind===`instant`&&e===`subtract`){let e=wx(t.value);if(e===void 0)return Tx(t.value);let r=wx(n.value);return r===void 0?Tx(n.value):Q({kind:`duration`,value:e-r,unit:`ms`})}if(t.kind===`instant`&&n.kind===`duration`&&e===`add`){let e=wx(t.value);return e===void 0?Tx(t.value):Ex(e+Cx(n.value,n.unit))}if(t.kind===`duration`&&n.kind===`instant`&&e===`add`){let e=wx(n.value);return e===void 0?Tx(n.value):Ex(e+Cx(t.value,t.unit))}return t.kind===`instant`||n.kind===`instant`?$(`wrong-type`,`arithmetic operator '${e}' is not defined between a '${t.kind}' and a '${n.kind}' value`):t.kind===`duration`&&n.kind===`duration`?Nx(e,t,n):t.kind===`duration`||n.kind===`duration`?$(`wrong-type`,`arithmetic operator '${e}' is not defined between a '${t.kind}' and a '${n.kind}' value`):t.kind!==`number`&&t.kind!==`complex`?$(`wrong-type`,`arithmetic requires numeric operands; got a '${t.kind}' value`):n.kind!==`number`&&n.kind!==`complex`?$(`wrong-type`,`arithmetic requires numeric operands; got a '${n.kind}' value`):t.kind===`complex`||n.kind===`complex`?e===`power`?Lx(t,n):Ix(e,Px(t),Px(n)):Mx(e,t,n)}function zx(e,t){if(e!==void 0){if(t.kind!==`number`&&t.kind!==`complex`)return $(`wrong-type`,`a unit was expected on a reference that resolved to a non-numeric value`);if(!ub(e,t.unit))return $(`wrong-type`,`the resolved value's unit does not match the reference's expected unit`)}}function Bx(e,t,n){let r=Object.hasOwn(e,t)?e[t]:void 0;if(r===void 0)return $(`wrong-type`,`no function registered under the name '${t}'`);let i=r(n);return`domainError`in i?$(`domain-error`,i.domainError):Q(i)}async function Vx(e,t,n,r,i,a,o,s,c){let l=s.checkNode(c);if(l!==void 0)return l;switch(e.kind){case`not`:{let l=await Vx(e.operand,t,n,r,i,a,o,s,c+1);return l.status===`indeterminate`?l:Q(!l.value)}case`and`:{let[l,u]=await Promise.all([Vx(e.left,t,n,r,i,a,o,s,c+1),Vx(e.right,t,n,r,i,a,o,s,c+1)]);return yx(l,u)}case`or`:{let[l,u]=await Promise.all([Vx(e.left,t,n,r,i,a,o,s,c+1),Vx(e.right,t,n,r,i,a,o,s,c+1)]);return bx(l,u)}case`allOf`:return(await Promise.all(e.operands.map(async e=>Vx(e,t,n,r,i,a,o,s,c+1)))).reduce(yx,Q(!0));case`anyOf`:return(await Promise.all(e.operands.map(async e=>Vx(e,t,n,r,i,a,o,s,c+1)))).reduce(bx,Q(!1));case`compare`:{let[l,u]=await Promise.all([Hx(e.left,t,n,r,i,a,o,s,c+1),Hx(e.right,t,n,r,i,a,o,s,c+1)]);return l.status===`indeterminate`?l:u.status===`indeterminate`?u:Dx(e.op,l.value,u.value)}case`textCompare`:{let[l,u]=await Promise.all([Hx(e.left,t,n,r,i,a,o,s,c+1),Hx(e.right,t,n,r,i,a,o,s,c+1)]);return l.status===`indeterminate`?l:u.status===`indeterminate`?u:Ox(e.op,l.value,u.value)}case`memberOf`:{let l=await Hx(e.operand,t,n,r,i,a,o,s,c+1);if(l.status===`indeterminate`)return l;let u=await Promise.all(e.candidates.map(async e=>{let u=await Hx(e,t,n,r,i,a,o,s,c+1);return u.status===`indeterminate`?u:kx(l.value,u.value)}));for(let t of u)if(t.status===`definite`&&t.value)return Q(e.op===`in`);let d=pb(...u);return d===void 0?Q(e.op===`notIn`):{status:`indeterminate`,reason:d}}case`exists`:{let l=await Hx(e.operand,t,n,r,i,a,o,s,c+1);return l.status===`indeterminate`&&l.reason.code===`not-found`?Q(!1):Q(!0)}case`some`:case`every`:{let r=await Zb(Vx,e.collection,e.filter,t,n,i,a,o,s,c+1),l=(await Promise.all(r.map(async({item:t,filterOutcome:r})=>{if(r!==`exclude`)return r===`include`?Vx(e.item,t,n,void 0,i,a,o,s,c+1):r}))).filter(e=>e!==void 0),u=e.kind===`some`?bx:yx,d=e.kind===`some`?Q(!1):Q(!0);return l.reduce(u,d)}case`treeReference`:{if(n.resolveTree===void 0)return $(`wrong-type`,`no tree resolver registered for treeReference nodes`);let l=JSON.stringify(e.key);if(a.has(l))return $(`domain-error`,`circular treeReference detected`);if(o>=100)return $(`domain-error`,`treeReference chain exceeds the maximum depth of 100`);let u=await n.resolveTree(e.key,t);if(!u.found)return $(`not-found`,`treeReference key did not resolve to a tree`);let d=Mb.safeParse(u.node);return d.success?Vx(d.data,t,n,r,i,new Set([...a,l]),o+1,s,c+1):$(`wrong-type`,`the referenced tree is not a valid PredicateNode`)}default:throw Error(`unreachable predicate node kind`)}}async function Hx(e,t,n,r,i,a,o,s,c){let l=s.checkNode(c);if(l!==void 0)return l;switch(e.kind){case`reference`:{let r=await n.resolveValue(e.key,t);if(!r.found)return $(`not-found`,`no value found for reference key ${JSON.stringify(e.key)}`);let i=zx(e.unit,r.value);return i===void 0?Q(r.value):i}case`accumulator`:return r===void 0?$(`wrong-type`,`accumulator used outside a reduce fold's combine expression`):Q(r);case`call`:{let l=await Promise.all(e.args.map(async e=>Hx(e,t,n,r,i,a,o,s,c+1))),u=[];for(let e of l){if(e.status===`indeterminate`)return e;u.push(e.value)}return Bx(i,e.fn,u)}case`numberLiteral`:return Q({kind:`number`,value:e.value,unit:e.unit});case`textLiteral`:return Q({kind:`text`,value:e.value});case`booleanLiteral`:return Q({kind:`boolean`,value:e.value});case`instantLiteral`:return Q({kind:`instant`,value:e.value});case`durationLiteral`:return Q({kind:`duration`,value:e.value,unit:e.unit});case`complexLiteral`:return`re`in e?Q({kind:`complex`,re:e.re,im:e.im,unit:e.unit}):Q(ob(e.magnitude,e.phase,e.unit));case`arithmetic`:{let[l,u]=await Promise.all([Hx(e.left,t,n,r,i,a,o,s,c+1),Hx(e.right,t,n,r,i,a,o,s,c+1)]);return l.status===`indeterminate`?l:u.status===`indeterminate`?u:Rx(e.op,l.value,u.value)}case`negate`:{let l=await Hx(e.operand,t,n,r,i,a,o,s,c+1);return l.status===`indeterminate`?l:jx(l.value)}case`lookup`:{let l=await Promise.all(e.keys.map(async e=>Hx(e,t,n,r,i,a,o,s,c+1))),u=[];for(let e of l){if(e.status===`indeterminate`)return e;u.push(e.value)}let d=await n.resolveLookup(e.table,u,t);return d.found?Q(d.value):$(`not-found`,`no match found in lookup table ${JSON.stringify(e.table)}`)}case`conditional`:{if((e.hitPolicy??`first`)===`first`){for(let{when:l,then:u}of e.cases){let e=await Vx(l,t,n,r,i,a,o,s,c+1);if(e.status===`indeterminate`)return e;if(e.value)return Hx(u,t,n,r,i,a,o,s,c+1)}return Hx(e.fallback,t,n,r,i,a,o,s,c+1)}let l=await Promise.all(e.cases.map(async({when:e,then:l})=>({then:l,whenResult:await Vx(e,t,n,r,i,a,o,s,c+1)}))),u=l.filter(({whenResult:e})=>e.status===`definite`&&e.value);if(u.length>=2)return $(`domain-error`,`more than one case matched under the 'unique' hit policy`);let d=pb(...l.map(({whenResult:e})=>e));if(d!==void 0)return{status:`indeterminate`,reason:d};let[f]=u;return Hx(f===void 0?e.fallback:f.then,t,n,r,i,a,o,s,c+1)}case`fold`:{let r=await Zb(Vx,e.collection,e.filter,t,n,i,a,o,s,c+1),l=Qb(r);if(l!==void 0)return{status:`indeterminate`,reason:l};let u=r.filter(({filterOutcome:e})=>e===`include`).map(({item:e})=>e);if(e.combiner.mode===`reduce`){let r=await Hx(e.combiner.initial,t,n,void 0,i,a,o,s,c+1);if(r.status===`indeterminate`)return r;let l=r.value;for(let t of u){let r=await Hx(e.combiner.combine,t,n,l,i,a,o,s,c+1);if(r.status===`indeterminate`)return r;l=r.value}return Q(l)}if(u.length===0)return $(`domain-error`,`'${e.combiner.mode}' has no participating items to seed a running result from`);let d=e.combiner.mode===`max`?`gt`:`lt`,f;for(let t of u){let r=await Hx(e.combiner.item,t,n,void 0,i,a,o,s,c+1);if(r.status===`indeterminate`)return r;if(f===void 0){f=r.value;continue}let l=Dx(d,r.value,f);if(l.status===`indeterminate`)return l;l.value&&(f=r.value)}if(f===void 0)throw Error(`unreachable: max/min over a non-empty participating list produced no running result`);return Q(f)}case`delegate`:{if(n.resolveDelegate===void 0)return $(`wrong-type`,`no delegate handler registered for external system '${e.system}'`);let r=await n.resolveDelegate(e.system,e.payload,t);return r.found?Q(r.value):$(`not-found`,`delegate handler for external system '${e.system}' reported no value`)}case`treeReference`:{if(n.resolveTree===void 0)return $(`wrong-type`,`no tree resolver registered for treeReference nodes`);let l=JSON.stringify(e.key);if(a.has(l))return $(`domain-error`,`circular treeReference detected`);if(o>=100)return $(`domain-error`,`treeReference chain exceeds the maximum depth of 100`);let u=await n.resolveTree(e.key,t);if(!u.found)return $(`not-found`,`treeReference key did not resolve to a tree`);let d=qb.safeParse(u.node);return d.success?Hx(d.data,t,n,r,i,new Set([...a,l]),o+1,s,c+1):$(`wrong-type`,`the referenced tree is not a valid ExpressionNode`)}default:throw Error(`unreachable expression node kind`)}}function Ux({functions:e=Jb,maxNodes:t=Yb,maxNestingDepth:n=500}){return{evaluatePredicate:async(r,i,a)=>Vx(r,i,a,void 0,e,new Set,0,Xb(t,n),0),evaluateValue:async(r,i,a)=>Hx(r,i,a,void 0,e,new Set,0,Xb(t,n),0)}}var{evaluatePredicate:Wx,evaluateValue:Gx}=Ux({}),Kx=Ng(Mb),qx=`bearer-is`,Jx=`expires-at`,Yx=`scope-narrows`,Xx=`capability-is`,Zx=`depth-remaining`,Qx=[qx,Jx,Yx,Xx,Zx];function $x(e){return e===`bearer-is`||e===`expires-at`||e===`scope-narrows`||e===`capability-is`||e===`depth-remaining`}function eS(e){return{found:!0,value:{kind:`boolean`,value:e}}}var tS={[qx]:(e,t)=>t.parentClaims===void 0?eS(!1):eS(nb(t.parentClaims.bearer,t.childIssuer)),[Jx]:(e,t)=>t.parentClaims===void 0?eS(!1):eS(t.candidate.expires<=t.parentClaims.expires),[Yx]:(e,t)=>t.parentClaims===void 0?eS(!1):eS(ab(t.parentClaims.scope,t.candidate.scope)),[Xx]:(e,t)=>t.parentClaims===void 0?eS(!1):eS(t.parentClaims.capability===t.candidate.capability),[Zx]:(e,t)=>{if(t.parentClaims===void 0)return eS(!1);let n=t.parentClaims[`delegations-remaining`];return eS(n===void 0||t.candidate.delegationsRemaining!==void 0&&t.candidate.delegationsRemaining<n)}};function nS(e){return{kind:`compare`,op:`eq`,left:{kind:`delegate`,system:e,payload:null},right:{kind:`booleanLiteral`,value:!0}}}var rS=async()=>Promise.resolve({found:!1}),iS=async()=>Promise.resolve({found:!1}),aS=async()=>Promise.resolve([]);async function oS(e,t,n){let r={childIssuer:t,candidate:n,parentClaims:e},i={resolveValue:rS,resolveLookup:iS,resolveCollection:aS,resolveDelegate:async(e,t)=>$x(e)?tS[e](t,r):{found:!1}};for(let e of Qx){let t=await Wx(nS(e),r,i);if(t.status!==`definite`||!t.value)return e}}async function sS(e,t,n,r={}){let i={clock:n,claims:t},a={resolveValue:rS,resolveLookup:iS,resolveCollection:aS,resolveDelegate:async(e,t)=>{let n=Object.hasOwn(r,e)?r[e]:void 0;if(n===void 0)return{found:!1};try{return await n(t,i)}catch{return{found:!1}}}};for(let t of e){let e=await Wx(t,i,a);if(e.status!==`definite`||!e.value)return{ok:!1,reason:`not_satisfied`}}return{ok:!0}}function cS(e,t){return rc([`Signature1`,e,new Uint8Array,t],Bs)}function lS(e){return Uint8Array.from(e)}function uS(e){return lS(rc(e,Bs))}function dS(e){return uS({1:e.identityKey.alg,4:e.deviceId})}function fS(e){let[,,t]=e;if(t===null)return;let n;try{n=Gc(t,Kc)}catch{return}let r=Hv.safeParse(n);return r.success?r.data:void 0}async function pS(e,t){let n=await hS(e,{identity:t.identity,clock:t.clock,revocation:t.revocation,...t.extraPredicateResolvers===void 0?{}:{extraPredicateResolvers:t.extraPredicateResolvers}});return n.ok&&t.expectedBearer!==void 0&&!nb(n.claims.bearer,t.expectedBearer)?{ok:!1,reason:`bearer_mismatch`}:n}async function mS(e,t,n){if(nb(e.issuer,t.issuer))return!0;if(e.authorization===void 0)return!1;let r;try{r=Gc(e.authorization,Kc)}catch{return!1}let i=Vv.safeParse(r);if(!i.success)return!1;let a=await pS(i.data,{...n,expectedBearer:e.issuer});return a.ok&&a.claims.capability===`manage:revoke`&&ab(a.claims.scope,t.scope)}async function hS(e,t){let[n,,r,i]=e;if(r===null)return{ok:!1,reason:`malformed`};let a;try{a=Gc(r,Kc)}catch{return{ok:!1,reason:`malformed`}}let o=Hv.safeParse(a);if(!o.success)return{ok:!1,reason:`malformed`};let s=o.data;if(!await t.identity.verify(s[`issuer-key`],cS(n,r),i))return{ok:!1,reason:`bad_signature`};if(!nb(await t.identity.deriveDeviceId(s[`issuer-key`][`public-key`]),s.issuer))return{ok:!1,reason:`wrong_issuer`};let c=t.clock.now();if(s.expires<=c)return{ok:!1,reason:`expired`};if(s[`not-before`]!==void 0&&s[`not-before`]>c)return{ok:!1,reason:`not_yet_valid`};let l=s[`valid-until`];if(l!==void 0&&l<=c)return{ok:!1,reason:`content_expired`};let u=await t.revocation.entriesFor(s[`token-id`]);for(let e of u)if(await mS(e,s,t))return{ok:!1,reason:`revoked`};if(s.conditions!==void 0){let e;try{e=Gc(s.conditions,Kc)}catch{return{ok:!1,reason:`conditions_invalid`}}let n=Kx.safeParse(e);if(!n.success)return{ok:!1,reason:`conditions_invalid`};if(!(await sS(n.data,s,t.clock,t.extraPredicateResolvers)).ok)return{ok:!1,reason:`conditions_not_satisfied`}}if(s.parent!==void 0){let e;try{e=Gc(s.parent,Kc)}catch{return{ok:!1,reason:`parent_invalid`}}let n=Vv.safeParse(e);if(!n.success)return{ok:!1,reason:`parent_invalid`};let r=await hS(n.data,t);if(!r.ok)return{ok:!1,reason:`parent_invalid`};let i={capability:s.capability,scope:s.scope,expires:s.expires,...s[`delegations-remaining`]===void 0?{}:{delegationsRemaining:s[`delegations-remaining`]}};return await oS(r.claims,s.issuer,i)===void 0?{ok:!0,claims:s,rootIssuer:r.rootIssuer,rootIssuerKey:r.rootIssuerKey,depth:r.depth+1}:{ok:!1,reason:`delegation_exceeds_parent`}}return{ok:!0,claims:s,rootIssuer:s.issuer,rootIssuerKey:s[`issuer-key`],depth:0}}var gS={"bearer-is":`parent_bearer_mismatch`,"expires-at":`expires_exceeds_parent`,"scope-narrows":`scope_does_not_narrow`,"capability-is":`capability_mismatch`,"depth-remaining":`delegation_exceeds_parent`};async function _S(e,t,n){let r=await oS(e,t,n);return r===void 0?void 0:gS[r]}async function vS(e){if(e.expires<=e.clock.now())return{ok:!1,reason:`already_expired`};let t;if(e.parent!==void 0){let n=fS(e.parent);if(n===void 0)return{ok:!1,reason:`parent_malformed`};let r=await _S(n,e.identity.deviceId,{capability:e.capability,scope:e.scope,expires:e.expires,...e.delegationsRemaining===void 0?{}:{delegationsRemaining:e.delegationsRemaining}});if(r!==void 0)return{ok:!1,reason:r};t=uS(e.parent)}let n=uS({"token-id":e.tokenId,issuer:e.identity.deviceId,"issuer-key":e.identity.identityKey,bearer:e.bearer,capability:e.capability,scope:e.scope,expires:e.expires,...e.notBefore===void 0?{}:{"not-before":e.notBefore},...t===void 0?{}:{parent:t},...e.delegationsRemaining===void 0?{}:{"delegations-remaining":e.delegationsRemaining},...e.conditions===void 0?{}:{conditions:uS(e.conditions)}}),r=dS(e.identity);return{ok:!0,token:[r,{},n,await e.identity.sign(cS(r,n))]}}var yS=`webrtc:signal`,bS={kind:`node`};function xS(e){return typeof e==`object`&&`verb`in e&&e.verb===`webrtc.offer`}function SS(e){return typeof e==`object`&&`verb`in e&&e.verb===`webrtc.answer`}function CS(e){return typeof e==`object`&&`verb`in e&&e.verb===`webrtc.ice-candidate`}function wS(e,t){return{verb:yS,params:{verb:`webrtc.offer`,"negotiation-id":e,sdp:t}}}function TS(e,t){return{verb:yS,params:{verb:`webrtc.answer`,"negotiation-id":e,sdp:t}}}function ES(e,t){return{verb:yS,params:{verb:`webrtc.ice-candidate`,"negotiation-id":e,...t===void 0?{}:{candidate:t}}}}function DS(e){return{candidate:e.candidate,...e.sdpMid===null?{}:{"sdp-mid":e.sdpMid},...e.sdpMLineIndex===null?{}:{"sdp-m-line-index":e.sdpMLineIndex},...e.usernameFragment===null?{}:{"username-fragment":e.usernameFragment}}}function OS(e){return{candidate:e.candidate,...e[`sdp-mid`]===void 0?{}:{sdpMid:e[`sdp-mid`]},...e[`sdp-m-line-index`]===void 0?{}:{sdpMLineIndex:e[`sdp-m-line-index`]},...e[`username-fragment`]===void 0?{}:{usernameFragment:e[`username-fragment`]}}}function kS(){let e=0;return()=>{let t=e;return e+=1,t}}async function AS(e,t){if(e.token===void 0)return!1;let n=await pS(e.token,t);return n.ok?n.claims.capability===`webrtc:signal`&&n.claims.scope.kind===bS.kind:!1}function jS(e){let t=[],n=[],r=!1,i=null;function a(){r=!0;for(let e of n.splice(0))e.resolve({value:void 0,done:!0})}function o(e){i=e,r=!0;for(let t of n.splice(0))t.reject(e)}e.addEventListener(`message`,r=>{if(!(r.data instanceof ArrayBuffer)){o(Error(`expected a binary data channel message`)),e.close();return}let i;try{i=By(r.data)}catch(t){if(t instanceof zy)return;o(t instanceof Error?t:Error(`frame body failed to decode: ${String(t)}`)),e.close();return}let a=n.shift();a?a.resolve({value:i,done:!1}):t.push(i)}),e.addEventListener(`close`,a),e.addEventListener(`error`,a);let s={[Symbol.asyncIterator](){return{next:async()=>c()}}};async function c(){let e=t.shift();return e===void 0?i===null?r?Promise.resolve({value:void 0,done:!0}):new Promise((e,t)=>{n.push({resolve:e,reject:t})}):Promise.reject(i):Promise.resolve({value:e,done:!1})}return{async send(t){return e.readyState===`open`?(e.send(Ly(t)),Promise.resolve()):Promise.reject(Error(`data channel is not open (state: ${e.readyState})`))},receive:()=>s,async close(){return e.close(),Promise.resolve()}}}var MS=`wire-mesh`,NS={entriesFor:async()=>Promise.resolve([])};function PS(e,t){for(let n of t.localTracks??[])e.addTrack(n);t.onRemoteTrack!==void 0&&e.addEventListener(`track`,t.onRemoteTrack)}function FS(e,t){e.addEventListener(`open`,()=>{t(jS(e))},{once:!0})}function IS(e,t){let n={identity:t.identity,clock:t.clock,revocation:NS},r=new Map,i=new Map,a=kS();async function o(t,n){let r=ES(t,n===null?void 0:DS(n));await e.sendManageRequest(r,bS,i.get(t))}async function s(a,s){if(!await AS(a,n)){await a.respond({result:`error`,code:`unauthorized`});return}let c=s[`negotiation-id`];i.set(c,a.fromDevice);let l=new RTCPeerConnection;r.set(c,l),PS(l,t),l.addEventListener(`icecandidate`,e=>{o(c,e.candidate)}),l.addEventListener(`datachannel`,e=>{e.channel.binaryType=`arraybuffer`,FS(e.channel,t.onIncomingConnection)}),await l.setRemoteDescription({type:`offer`,sdp:s.sdp});let u=await l.createAnswer();await l.setLocalDescription(u),await a.respond({result:`ok`}),await e.sendManageRequest(TS(c,u.sdp??``),bS,a.fromDevice)}async function c(e,t){let n=r.get(t[`negotiation-id`]);n!==void 0&&await n.setRemoteDescription({type:`answer`,sdp:t.sdp}),await e.respond({result:`ok`})}async function l(e,t){let n=r.get(t[`negotiation-id`]);n!==void 0&&await n.addIceCandidate(t.candidate===void 0?null:OS(t.candidate)),await e.respond({result:`ok`})}async function u(){for await(let t of e.incomingManageRequests){if(t.command.verb!==`webrtc:signal`)continue;let e=t.command.params;xS(e)?await s(t,e):SS(e)?await c(t,e):CS(e)&&await l(t,e)}}return u(),{async initiate(n){let s=a();i.set(s,n);let c=new RTCPeerConnection;r.set(s,c),PS(c,t),c.addEventListener(`icecandidate`,e=>{o(s,e.candidate)});let l=c.createDataChannel(MS);l.binaryType=`arraybuffer`;let u=new Promise((e,t)=>{FS(l,e),l.addEventListener(`error`,()=>{t(Error(`data channel failed to open`))},{once:!0})}),d=await c.createOffer();await c.setLocalDescription(d);let f=await e.sendManageRequest(wS(s,d.sdp??``),bS,n);if(f.result===`error`)throw r.delete(s),i.delete(s),c.close(),Error(`webrtc offer rejected: ${f.code}`);return u}}}function LS(e){let[t,n]=(0,E.useState)(void 0);return(0,E.useEffect)(()=>{let t={cancelled:!1};return(async()=>{for await(let r of e.events){if(t.cancelled)return;n(r)}})(),()=>{t.cancelled=!0}},[e]),t}var RS=16;function zS(e){let t=``;for(let n of e)t+=n.toString(RS).padStart(2,`0`);return t}function BS(e){if(e.state.status!==`connected`)return``;switch(e.state.handshake.status){case`pending`:return` · handshake pending`;case`negotiated`:return` · v${String(e.state.handshake.version)} · ${e.state.handshake.sharedDomains.join(`, `)}`;case`unanswered`:return` · handshake unanswered (relay-only node?)`;case`rejected`:return` · handshake rejected (${e.state.handshake.reason})`}return``}function VS(e){let{state:t}=e;switch(t.status){case`connecting`:return`connecting…`;case`connected`:return`connected${BS(e)}`;case`reconnecting`:return`reconnecting (attempt ${String(t.attempt)}, ${t.reason})…`;case`closed`:return`closed (${t.reason})`;case`idle`:return`idle`}return``}function HS(e){return JSON.stringify(e,(e,t)=>t instanceof Uint8Array?`<${String(t.byteLength)} bytes>`:t)}function US({address:e,session:t,onClose:n,onMessagePeer:r}){let i=LS(t),a=i===void 0?`idle`:VS(i),o=i?.directory??[],s=i?.frameLog??[];return(0,A.jsxs)(Da,{withBorder:!0,padding:`md`,radius:`md`,children:[(0,A.jsxs)(si,{justify:`space-between`,mb:`xs`,children:[(0,A.jsx)(N,{fw:600,children:e}),(0,A.jsxs)(si,{children:[(0,A.jsx)(ba,{size:`xs`,disabled:i?.state.status!==`connected`,onClick:()=>{t.sendPing()},children:`Send ping`}),(0,A.jsx)(ba,{size:`xs`,color:`red`,variant:`light`,onClick:n,children:`Disconnect`})]})]}),(0,A.jsx)(N,{fw:600,size:`sm`,mb:`sm`,children:a}),(0,A.jsx)(N,{fw:600,size:`sm`,children:`Peer directory`}),o.length===0?(0,A.jsx)(N,{size:`sm`,c:`dimmed`,children:`No gossip received yet.`}):(0,A.jsxs)(P,{striped:!0,children:[(0,A.jsx)(P.Thead,{children:(0,A.jsxs)(P.Tr,{children:[(0,A.jsx)(P.Th,{children:`device`}),(0,A.jsx)(P.Th,{children:`addresses`}),(0,A.jsx)(P.Th,{children:`snapshot (unix s)`}),(0,A.jsx)(P.Th,{})]})}),(0,A.jsx)(P.Tbody,{children:o.map(e=>(0,A.jsxs)(P.Tr,{children:[(0,A.jsx)(P.Td,{children:zS(e.device)}),(0,A.jsx)(P.Td,{children:e.advert.addresses.join(`, `)}),(0,A.jsx)(P.Td,{children:e.advert[`snapshot-seconds`]}),(0,A.jsx)(P.Td,{children:(0,A.jsx)(ba,{size:`xs`,onClick:()=>{r(e.device)},children:`Message`})})]},zS(e.device)))})]}),(0,A.jsx)(N,{fw:600,size:`sm`,mt:`md`,children:`Frame log`}),(0,A.jsx)(P.ScrollContainer,{minWidth:0,h:384,children:(0,A.jsxs)(P,{children:[(0,A.jsx)(P.Thead,{children:(0,A.jsxs)(P.Tr,{children:[(0,A.jsx)(P.Th,{children:`direction`}),(0,A.jsx)(P.Th,{children:`frame`})]})}),(0,A.jsx)(P.Tbody,{children:s.map((e,t)=>(0,A.jsxs)(P.Tr,{children:[(0,A.jsx)(P.Td,{children:e.direction}),(0,A.jsx)(P.Td,{children:HS(e.frame)})]},t))})]})})]})}function WS({peers:e,onConnect:t,onDismiss:n}){return e.length===0?null:(0,A.jsxs)(Da,{withBorder:!0,padding:`md`,radius:`md`,"data-testid":`discovered-peers`,children:[(0,A.jsx)(N,{fw:600,size:`sm`,mb:`xs`,children:`Discovered peers`}),(0,A.jsxs)(P,{striped:!0,children:[(0,A.jsx)(P.Thead,{children:(0,A.jsxs)(P.Tr,{children:[(0,A.jsx)(P.Th,{children:`device`}),(0,A.jsx)(P.Th,{children:`addresses`}),(0,A.jsx)(P.Th,{})]})}),(0,A.jsx)(P.Tbody,{children:e.map(e=>(0,A.jsxs)(P.Tr,{children:[(0,A.jsx)(P.Td,{children:zS(e.device)}),(0,A.jsx)(P.Td,{children:e.addresses.join(`, `)}),(0,A.jsx)(P.Td,{children:(0,A.jsxs)(si,{gap:`xs`,children:[(0,A.jsx)(ba,{size:`xs`,onClick:()=>{t(e.key)},children:`Connect`}),(0,A.jsx)(ba,{size:`xs`,variant:`light`,color:`red`,onClick:()=>{n(e.key)},children:`Dismiss`})]})})]},e.key))})]})]})}function GS({placeholder:e,ariaLabel:t,submitLabel:n,onSubmit:r,onCancel:i,size:a,autoFocus:o}){let[s,c]=(0,E.useState)(``),[l,u]=(0,E.useState)(void 0);function d(){let e=s.trim();e!==``&&(u(void 0),Promise.resolve(r(e)).then(()=>{c(``)}).catch(e=>{u(e instanceof Error?e.message:String(e))}))}function f(e){e.key===`Enter`&&d(),e.key===`Escape`&&i?.()}return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(si,{gap:`xs`,flex:1,children:[(0,A.jsx)(io,{flex:1,...a===void 0?{}:{size:a},placeholder:e,"aria-label":t,autoComplete:`off`,autoFocus:o,value:s,onChange:e=>{c(e.currentTarget.value)},onKeyDown:f}),(0,A.jsx)(ba,{...a===void 0?{}:{size:a},onClick:d,children:n})]}),l!==void 0&&(0,A.jsx)(N,{size:`sm`,c:`red`,children:l})]})}function KS(e){if(e.plaintext!==void 0)return new TextDecoder().decode(e.plaintext)}function qS({notices:e}){if(e.length===0)return null;let t=e.map((e,t)=>{let n=KS(e);return(0,A.jsx)(M,{children:n===void 0?(0,A.jsx)(N,{size:`sm`,c:`dimmed`,fs:`italic`,children:`encrypted notice -- no key held for its epoch`}):(0,A.jsx)(N,{size:`sm`,children:n})},t)});return(0,A.jsxs)(za,{gap:4,children:[t,(0,A.jsxs)(da,{variant:`light`,color:`gray`,size:`sm`,w:`fit-content`,children:[e.length,` notice`,e.length===1?``:`s`]})]})}var JS=864e5;function YS({view:e,onSend:t,onPostNotice:n}){return(0,A.jsxs)(za,{gap:`xs`,children:[(0,A.jsxs)(si,{justify:`space-between`,children:[(0,A.jsx)(N,{fw:600,children:e.peerHex}),(0,A.jsx)(N,{size:`sm`,c:e.status===`connected`?`green`:`dimmed`,children:e.status})]}),e.pendingJoinRequest&&(0,A.jsx)(Ii,{color:`blue`,title:`Message request`,children:(0,A.jsxs)(si,{justify:`space-between`,children:[(0,A.jsxs)(N,{size:`sm`,children:[e.pendingJoinRequest.requesterHex,` wants to message you`]}),(0,A.jsxs)(si,{children:[(0,A.jsx)(ba,{size:`xs`,onClick:()=>{e.pendingJoinRequest?.decide({kind:`accept`,capability:`room:member`,expires:Date.now()+JS})},children:`Allow`}),(0,A.jsx)(ba,{size:`xs`,color:`red`,variant:`light`,onClick:()=>{e.pendingJoinRequest?.decide({kind:`reject`})},children:`Deny`})]})]})}),(0,A.jsx)(Ar,{h:256,children:(0,A.jsx)(za,{gap:4,children:e.messages.map(e=>(0,A.jsx)(N,{size:`sm`,ta:e.direction===`sent`?`right`:`left`,children:e.text},`${String(e.sentAt)}-${e.text}`))})}),(0,A.jsx)(si,{children:(0,A.jsx)(GS,{ariaLabel:`Message`,placeholder:`Message`,submitLabel:`Send`,onSubmit:t})}),(0,A.jsx)(ja,{label:`Durable notices (encrypted, replicated)`,labelPosition:`center`}),(0,A.jsx)(qS,{notices:e.notices}),(0,A.jsx)(si,{children:(0,A.jsx)(GS,{ariaLabel:`Post a durable notice`,placeholder:`Post a durable notice`,submitLabel:`Post notice`,onSubmit:n})})]})}var XS=/^[0-9a-f]{64}$/,ZS=/^[A-Za-z0-9_-]+$/;function QS(e,t){if(!XS.test(e))throw Error(`expected ${t} to be a 64-character lowercase hex device-id, got ${JSON.stringify(e)}`)}function $S(e,t){if(QS(e,`a`),QS(t,`b`),e===t)throw Error(`a DM room path cannot name the same device twice (${e})`);return e<t?`${e}+${t}`:`${t}+${e}`}function eC(e){let t=e.indexOf(`/`);if(t!==-1){let n=e.slice(0,t),r=e.slice(t+1);if(XS.test(n)&&ZS.test(r))return{kind:`owner-named`,owner:n,localName:r}}let n=e.indexOf(`+`);if(n!==-1){let t=e.slice(0,n),r=e.slice(n+1);if(XS.test(t)&&XS.test(r)&&t!==r)return{kind:`dm`,participants:[t,r]}}throw Error(`${JSON.stringify(e)} is not a valid room-path`)}var tC=`room:member`;async function nC(e,t){let n=await pS(e,{identity:t.identity,clock:t.clock,revocation:t.revocation,expectedBearer:t.expectedBearer});if(!n.ok)return n;if(n.claims.scope.kind!==`room`)return{ok:!1,reason:`wrong_scope_kind`};if(n.claims.scope.path!==t.roomPath)return{ok:!1,reason:`wrong_scope_path`};let r=eC(t.roomPath),i=my(n.rootIssuer);if(r.kind===`owner-named`){if(i!==r.owner)return{ok:!1,reason:`wrong_chain_root`}}else if(t.dmRootPolicy===`either-participant`){if(i!==r.participants[0]&&i!==r.participants[1])return{ok:!1,reason:`wrong_chain_root`}}else if(i!==my(t.identity.deviceId))return{ok:!1,reason:`wrong_chain_root`};return{ok:!0,claims:n.claims,rootIssuerKey:n.rootIssuerKey}}var rC=16;function iC(){let e=new Uint8Array(rC);return crypto.getRandomValues(e),e}function aC(e,t){return{verb:e,params:{verb:`capability.request`,capability:e,...t===void 0?{}:{"valid-until":t}}}}async function oC(e,t,n,r,i,a){let o=await e.sendManageRequest(aC(t,a),n,r,void 0,i);if(o.result!==`ok`)throw Error(`capability request for "${t}" was refused (${o.code})`);let s=ev.safeParse(o);if(!s.success)throw Error(`capability request for "${t}" response was malformed`);return s.data}function sC(e){return async function(t){let n=$_.safeParse(t.command.params);if(!n.success||n.data.capability!==e.capability){await t.respond({result:`error`,code:`malformed`});return}let r=n.data[`valid-until`];if(r!==void 0&&r<=e.clock.now()){await t.respond({result:`error`,code:`expired`});return}let i=!1,a=setTimeout(()=>{i||(i=!0,t.respond({result:`error`,code:`timeout`,message:`no decision within the capability-request timeout`}).catch(()=>void 0))},e.timeoutMs);a.unref(),e.onRequest({scope:t.scope,requesterDevice:e.bearerDevice,async decide(n){if(i)return;if(i=!0,clearTimeout(a),n.kind===`reject`){await t.respond({result:`error`,code:`denied`,...n.reason===void 0?{}:{message:n.reason}});return}let r=await vS({identity:e.identity,clock:e.clock,tokenId:iC(),bearer:e.bearerDevice,capability:n.capability,scope:t.scope,expires:n.expires,...n.delegationsRemaining===void 0?{}:{delegationsRemaining:n.delegationsRemaining}});if(!r.ok){await t.respond({result:`error`,code:`mint_failed`});return}let o=r.token;await t.respond({result:`ok`,"granted-token":o,...n.extensions??{}})}})}}function cC(e){return async function(t){if(t.command.verb!==e.capability){await t.respond({result:`error`,code:`malformed`});return}let n=tv.safeParse(t.command.params);if(!n.success){await t.respond({result:`error`,code:`malformed`});return}let r=n.data[`granted-token`],i=await pS(r,{identity:e.identity,clock:e.clock,revocation:e.revocation,expectedBearer:e.identity.deviceId});if(!i.ok){await t.respond({result:`error`,code:i.reason});return}if(i.claims.capability!==e.capability){await t.respond({result:`error`,code:`capability_mismatch`});return}if(!ab(i.claims.scope,t.scope)){await t.respond({result:`error`,code:`scope_mismatch`});return}await t.respond({result:`ok`}),e.onGrant({capability:e.capability,grantedToken:r,scope:t.scope,granterDevice:e.granterDevice})}}var lC=16;function uC(){let e=new Uint8Array(lC);return crypto.getRandomValues(e),e}var dC=3e5;function fC(e,t,n){return{verb:tC,params:{verb:`room.send`,"message-id":t,"sent-at":n,text:e}}}async function pC(e,t,n,r,i){let a=fC(n,uC(),Date.now());return e.sendManageRequest(a,{kind:`room`,path:t},i,r)}async function mC(e,t,n){let r=await oC(e,tC,{kind:`room`,path:t},n),i=vv.safeParse(r);if(!i.success)throw Error(`room.join response for ${t} was malformed`);return{token:i.data[`granted-token`],members:i.data.members.map(e=>e.device)}}function hC(e,t,n){async function r(e,r){let i=e.scope.path;if(i===void 0||e.token===void 0){await e.respond({result:`error`,code:`unauthorized`});return}if(!(await nC(e.token,{identity:t.identity,clock:t.clock,revocation:t.revocation,expectedBearer:t.peerDevice,roomPath:i})).ok){await e.respond({result:`error`,code:`unauthorized`});return}await e.respond({result:`ok`});let a=r[`message-id`],o=r[`sent-at`],s=r.text;a instanceof Uint8Array&&typeof o==`number`&&typeof s==`string`&&n.onMessage?.({roomPath:i,text:s,messageId:a,sentAt:o})}function i(e){return async n=>{if(n.kind===`reject`){let t={kind:`reject`,...n.reason===void 0?{}:{reason:n.reason}};await e.decide(t);return}let r=[...t.currentMembers?.()??[],t.peerDevice].map(e=>({device:e})),i={kind:`accept`,capability:n.capability,expires:n.expires,...n.delegationsRemaining===void 0?{}:{delegationsRemaining:n.delegationsRemaining},extensions:{members:r}};await e.decide(i)}}let a=sC({capability:tC,identity:t.identity,clock:t.clock,bearerDevice:t.peerDevice,timeoutMs:t.joinRequestTimeoutMs??dC,onRequest(e){let t=e.scope.path,r=n.onJoinRequest;if(t===void 0||r===void 0){e.decide({kind:`reject`,reason:`unsupported verb`});return}r({roomPath:t,requesterDevice:e.requesterDevice,decide:i(e)})}});async function o(e){if(e.scope.path===void 0){await e.respond({result:`error`,code:`missing_scope_path`});return}if(n.onJoinRequest===void 0){await e.respond({result:`error`,code:`unsupported_verb`});return}await a(e)}let s=cC({capability:tC,identity:t.identity,clock:t.clock,revocation:t.revocation,granterDevice:t.peerDevice,onGrant(e){let t=e.scope.path,r=n.onRoomInvite;t!==void 0&&r!==void 0&&r({roomPath:t,granterDevice:e.granterDevice,token:e.grantedToken})}});async function c(e){if(e.scope.path===void 0){await e.respond({result:`error`,code:`missing_scope_path`});return}if(n.onRoomInvite===void 0){await e.respond({result:`error`,code:`unsupported_verb`});return}await s(e)}(async()=>{for await(let t of e.incomingManageRequests){if(t.command.verb!==`room:member`)continue;let e=t.command.params;typeof e==`object`&&`verb`in e&&(e.verb===`room.send`?await r(t,e):e.verb===`capability.request`?await o(t):e.verb===`capability.grant`?await c(t):e.verb===`room.rekey`&&n.onRekey!==void 0&&await n.onRekey(t))}})()}function gC(){let e=new Map;return{get:async t=>Promise.resolve(e.get(t)),set:async(t,n)=>Promise.resolve(e.set(t,n)).then(()=>void 0),delete:async t=>Promise.resolve(e.delete(t)).then(()=>void 0),keys:async t=>Promise.resolve([...e.keys()].filter(e=>e.startsWith(t)))}}var _C=32,vC=256,yC=12,bC=4,xC=8,SC=new TextEncoder().encode(`wire-mesh/room-rekey/v1\0`);function CC(){return crypto.getRandomValues(new Uint8Array(_C))}function wC(e){let t=new TextEncoder().encode(e.room),n=new Uint8Array(bC);new DataView(n.buffer).setUint32(0,t.length,!1);let r=new Uint8Array(xC);new DataView(r.buffer).setBigUint64(0,BigInt(e.keyEpoch),!1);let i=new Uint8Array(SC.length+n.length+t.length+r.length),a=0;return i.set(SC,a),a+=SC.length,i.set(n,a),a+=n.length,i.set(t,a),a+=t.length,i.set(r,a),i}async function TC(e,t){let n=await crypto.subtle.importKey(`raw`,Uint8Array.from(e),`HKDF`,!1,[`deriveKey`]);return crypto.subtle.deriveKey({name:`HKDF`,hash:`SHA-256`,salt:Uint8Array.from(new Uint8Array),info:Uint8Array.from(wC(t))},n,{name:`AES-GCM`,length:vC},!1,[`encrypt`,`decrypt`])}async function EC(e,t){let n=crypto.getRandomValues(new Uint8Array(yC)),r=new Uint8Array(await crypto.subtle.encrypt({name:`AES-GCM`,iv:n},e,Uint8Array.from(t))),i=new Uint8Array(n.length+r.length);return i.set(n,0),i.set(r,n.length),i}async function DC(e,t){if(t.length<yC)throw Error(`ciphertext shorter than the AES-GCM IV it must carry`);let n=t.slice(0,yC),r=t.slice(yC);return new Uint8Array(await crypto.subtle.decrypt({name:`AES-GCM`,iv:n},e,r))}async function OC(e,t){return EC(e,t)}async function kC(e,t){return DC(e,t)}async function AC(e){return crypto.subtle.importKey(`raw`,Uint8Array.from(e),`AES-GCM`,!1,[`encrypt`,`decrypt`])}async function jC(e,t){return EC(await AC(e),t)}async function MC(e,t){return DC(await AC(e),t)}var NC=`+aes256gcm`;function PC(e){return IC(e)?e:`${e}${NC}`}function FC(e){return IC(e)?e.slice(0,e.length-10):e}function IC(e){return e.endsWith(NC)}function LC(e,t){return{verb:tC,params:{verb:`room.rekey`,"key-epoch":e,"wrapped-key":t}}}async function RC(e,t,n,r,i,a){return e.sendManageRequest(LC(n,r),{kind:`room`,path:t},i,a)}function zC(e){return async function(t){if(t.command.verb!==`room:member`){await t.respond({result:`error`,code:`malformed`});return}let n=gv.safeParse(t.command.params);if(!n.success){await t.respond({result:`error`,code:`malformed`});return}if(t.scope.kind!==`room`||t.scope.path===void 0){await t.respond({result:`error`,code:`scope_mismatch`});return}let r=t.scope.path,i=await nC(e.ownRoomMemberToken,{identity:e.identity,clock:e.clock,revocation:e.revocation,expectedBearer:e.identity.deviceId,roomPath:r,dmRootPolicy:`either-participant`});if(!i.ok){await t.respond({result:`error`,code:i.reason});return}let a=e.identity.deriveSharedSecret;if(a===void 0){await t.respond({result:`error`,code:`ecdh_unsupported`});return}let o=n.data[`key-epoch`],s=Array.isArray(n.data[`wrapped-key`])?n.data[`wrapped-key`]:[n.data[`wrapped-key`]],c=o-s.length+1,l;try{let e=await a(i.rootIssuerKey);l=await Promise.all(s.map(async(t,n)=>kC(await TC(e,{room:r,keyEpoch:c+n}),t)))}catch{await t.respond({result:`error`,code:`unwrap_failed`});return}await t.respond({result:`ok`}),e.onRekey({room:r,keyEpoch:o,contentKeys:l})}}function BC(e){return`data/${my(e)}/head`}function VC(e,t){return`data/${my(e)}/entry/${String(t)}`}async function HC(e,t){let n=await e.get(BC(t));return n===void 0?0:Number(new TextDecoder().decode(n))}async function UC(e,t,n){await e.set(BC(t),new TextEncoder().encode(String(n)))}async function WC(e,t){return HC(e,t)}async function GC(e,t){let n=await HC(e.storage,e.identity.deviceId)+1;return await e.storage.set(VC(e.identity.deviceId,n),t),await UC(e.storage,e.identity.deviceId,n),{seq:n,haveFrame:{type:`data-have`,peer:e.identity.deviceId,"head-seq":n}}}async function KC(e,t,n){let r=await HC(e,t.peer);if(r<=t[`from-seq`])return null;let i=Math.min(r,t[`from-seq`]+n),a=[];for(let n=t[`from-seq`]+1;n<=i;n+=1){let r=await e.get(VC(t.peer,n));if(r===void 0)break;a.push(r)}return a.length===0?null:{type:`data-entries`,peer:t.peer,"from-seq":t[`from-seq`],entries:a}}async function qC(e,t){let n=await HC(e,t.peer);if(t[`from-seq`]!==n)return{ok:!1,reason:`gap`};let r=t[`from-seq`];for(let n of t.entries)r+=1,await e.set(VC(t.peer,r),n);return await UC(e,t.peer,r),{ok:!0}}async function JC(e,t,n){let r=await HC(e,t),i=[];for(let a=n+1;a<=r;a+=1){let n=await e.get(VC(t,a));if(n===void 0)break;i.push(n)}return i}function YC(e){return Uint8Array.from(e)}function XC(e){return YC(rc(e,Bs))}function ZC(e){return XC({1:e.identityKey.alg,4:e.deviceId})}function QC(e,t){return rc([`Signature1`,e,new Uint8Array,t],Bs)}function $C(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}async function ew(e,t){let[n,,r,i]=e;if(r===null)return{ok:!1,reason:`malformed`};let a;try{a=Gc(r,Kc)}catch{return{ok:!1,reason:`malformed`}}let o=bv.safeParse(a);if(!o.success)return{ok:!1,reason:`malformed`};let s=o.data;if(t.expectedRoom!==void 0&&s.room!==t.expectedRoom)return{ok:!1,reason:`wrong_room`};if(!await t.identity.verify(s[`poster-key`],QC(n,r),i))return{ok:!1,reason:`bad_signature`};if(!$C(await t.identity.deriveDeviceId(s[`poster-key`][`public-key`]),s.poster))return{ok:!1,reason:`wrong_poster`};let c=s[`valid-until`];if(c!==void 0&&c<=t.clock.now())return{ok:!1,reason:`content_expired`};let l=s[`key-epoch`];if(IC(s[`content-type`])!==(l!==void 0))return{ok:!1,reason:`key_epoch_mismatch`};let u=await nC(s.token,{identity:t.identity,clock:t.clock,revocation:t.revocation,expectedBearer:s.poster,roomPath:s.room});return u.ok?{ok:!0,claims:s}:{ok:!1,reason:u.reason}}async function tw(e){let t=XC({room:e.room,poster:e.identity.deviceId,"poster-key":e.identity.identityKey,token:e.token,"notice-id":e.noticeId,"posted-at":e.clock.now(),"content-type":e.contentType,content:e.content,...e.refs===void 0?{}:{refs:[...e.refs]},...e.validUntil===void 0?{}:{"valid-until":e.validUntil},...e.keyEpoch===void 0?{}:{"key-epoch":e.keyEpoch}}),n=ZC(e.identity);return[n,{},t,await e.identity.sign(QC(n,t))]}var nw=16;function rw(e){return new Uint8Array(rc(e,Bs))}function iw(e){let{identity:t,storage:n,clock:r,revocation:i,roomKeys:a}=e;async function o(e){let i=await a.currentEpoch(e.room);if(i===void 0)throw Error(`no content key held for room ${e.room}: room.rekey this room before posting encrypted notices`);let o=await a.get(e.room,i);if(o===void 0)throw Error(`content key store is inconsistent: epoch ${String(i)} is current for room ${e.room} but holds no key`);let s=e.noticeId??crypto.getRandomValues(new Uint8Array(nw)),c=await jC(o,e.plaintext),l=await tw({identity:t,clock:r,room:e.room,token:e.token,noticeId:s,contentType:PC(e.contentType),content:c,keyEpoch:i}),{haveFrame:u}=await GC({identity:t,storage:n},rw(l));return{dataHave:u,notice:l,keyEpoch:i}}async function s(e,t){let r=await WC(n,e);if(!(await qC(n,{type:`data-entries`,peer:e,"from-seq":r,entries:[t]})).ok)throw Error(`gap rejecting entry for peer log (head ${String(r)})`)}async function c(e,t){let r=await JC(n,e,0),i=[];for(let e of r)i.push(await l(e,t));return i}async function l(e,n){let o=u(e);if(o===void 0)return{verified:!1,reason:`malformed`};let s=await ew(o,{identity:t,clock:r,revocation:i,expectedRoom:n});if(!s.ok)return{verified:!1,reason:s.reason};let c=s.claims;if(!IC(c[`content-type`]))return{verified:!0,contentType:c[`content-type`],plaintext:c.content,claims:c};let l=c[`key-epoch`];if(l===void 0)return{verified:!1,reason:`key_epoch_mismatch`};let d=await a.get(c.room,l),f={verified:!0,contentType:FC(c[`content-type`]),claims:c};if(d===void 0)return f;try{let e=await MC(d,c.content);return{...f,plaintext:e}}catch{return f}}function u(e){try{let t=Gc(e,Kc),n=yv.safeParse(t);return n.success?n.data:void 0}catch{return}}return{postEncryptedNotice:o,ingestPeerEntry:s,readOwnNotices:async e=>c(t.deviceId,e),readPeerNotices:async(e,t)=>c(e,t)}}var aw=32;function ow(e){let{session:t,storage:n,identity:r,clock:i,revocation:a,roomKeys:o,onChange:s}=e,c=iw({identity:r,storage:n,clock:i,revocation:a,roomKeys:o}),l=new Map;async function u(e){let r=await WC(n,e);await t.sendDataFrame({type:`data-request`,peer:e,"from-seq":r})}function d(e){if(e.type===`data-have`){l.set(my(e.peer),e.peer),u(e.peer).catch(()=>void 0);return}if(e.type===`data-entries`){(async()=>{(await qC(n,e)).ok&&(e.entries.length>=aw&&await u(e.peer).catch(()=>void 0),s())})();return}e.type===`data-request`&&(async()=>{let r=await KC(n,e,aw);r!==null&&await t.sendDataFrame(r)})().catch(()=>void 0)}return{handleFrame:d,async post(e){let{dataHave:n}=await c.postEncryptedNotice(e);await t.sendDataFrame(n),s()},async readRoom(e){let t=await c.readOwnNotices(e),n=await Promise.all([...l.values()].map(async t=>c.readPeerNotices(t,e)));return[...t,...n.flat()]},roomKeys:o}}async function sw(e){let{session:t,identity:n,clock:r,revocation:i,ownRoomMemberToken:a,roomPath:o,roomKeys:s}=e;if(await s.currentEpoch(o)!==void 0)return;let c=o.split(`+`)[0]??``;if(c===``||my(n.deviceId)!==c)return;let l=await nC(a,{identity:n,clock:r,revocation:i,expectedBearer:n.deviceId,roomPath:o,dmRootPolicy:`either-participant`});if(!l.ok)throw Error(`own room token failed verification: ${l.reason}`);let u=n.deriveSharedSecret;if(u===void 0)throw Error(`this identity cannot derive ECDH shared secrets`);let d=CC(),f=await OC(await TC(await u(l.rootIssuerKey),{room:o,keyEpoch:1}),d);s.set(o,1,d),await RC(t,o,1,f)}var cw=[`core/management`,`core/room`],lw=16;function uw(){let e=new Uint8Array(lw);return crypto.getRandomValues(e),e}function dw(e,t){let n=new Map(e);switch(t.type){case`opened`:return n.set(t.peerHex,{peerHex:t.peerHex,roomPath:t.roomPath,session:t.session,token:void 0,status:`connected`,messages:[],notices:[],pendingJoinRequest:void 0}),n;case`notices`:{let r=n.get(t.peerHex);return r===void 0?e:(n.set(t.peerHex,{...r,notices:t.notices}),n)}case`message`:{let r=n.get(t.peerHex);return r===void 0?e:(n.set(t.peerHex,{...r,messages:[...r.messages,t.message]}),n)}case`join-request`:{let r=n.get(t.peerHex);return r===void 0?e:(n.set(t.peerHex,{...r,pendingJoinRequest:t.request}),n)}case`join-request-settled`:{let r=n.get(t.peerHex);return r===void 0?e:(n.set(t.peerHex,{...r,pendingJoinRequest:void 0}),n)}case`token`:{let r=n.get(t.peerHex);return r===void 0?e:(n.set(t.peerHex,{...r,token:t.token}),n)}case`closed`:{let r=n.get(t.peerHex);return r===void 0?e:(n.set(t.peerHex,{...r,status:`closed`}),n)}}return e}function fw(e,t,n){let[r,i]=(0,E.useReducer)(dw,new Map),a=my(e.deviceId),o=(0,E.useRef)(new Map),s=(0,E.useRef)(new Map);function c(n,r,a){let o=new Map,s={get:async(e,t)=>Promise.resolve(o.get(e)?.get(t)),set:(e,t,n)=>{let r=o.get(e)??new Map;r.set(t,n),o.set(e,r)},currentEpoch:async e=>Promise.resolve([...o.get(e)?.keys()??[]].sort((e,t)=>t-e)[0])},c={},l=()=>{let e=c.wiring;e!==void 0&&e.readRoom(r).then(e=>{i({type:`notices`,peerHex:a,notices:[...e]})})},u=ow({session:n,storage:gC(),identity:e,clock:t,revocation:NS,roomKeys:s,onChange:()=>{l()}});return c.wiring=u,{wiring:u,roomKeys:s,refresh:l}}let l=(0,E.useCallback)(async(l,u)=>{let d={},f=await Jy(l,e,cw,{clock:t,onFrame:(e,t)=>{d.current?.(t)}}),p=u??await f.peerDeviceId,m=my(p);if(r.has(m)){await f.close();return}let h=$S(a,m),g=c(f,h,m);o.current.set(m,g),d.current=e=>{g.wiring.handleFrame(e)},i({type:`opened`,peerHex:m,roomPath:h,session:f});for(let e of await n.list(h))i({type:`message`,peerHex:m,message:e});hC(f,{identity:e,clock:t,revocation:NS,peerDevice:p,currentMembers:()=>[e.deviceId,p]},{onMessage:e=>{let t={direction:`received`,text:e.text,messageId:e.messageId,sentAt:e.sentAt};n.append(h,t),i({type:`message`,peerHex:m,message:t})},onJoinRequest:e=>{i({type:`join-request`,peerHex:m,request:{requesterHex:my(e.requesterDevice),async decide(t){i({type:`join-request-settled`,peerHex:m}),await e.decide(t)}}})},onRekey:async n=>{let r=s.current.get(m);if(r===void 0){await n.respond({result:`error`,code:`no_token`});return}await zC({identity:e,clock:t,revocation:NS,ownRoomMemberToken:r,onRekey:e=>{e.contentKeys.forEach((t,n)=>{g.roomKeys.set(h,e.keyEpoch-e.contentKeys.length+1+n,t)}),g.refresh()}})(n)}}),(async()=>{for await(let e of f.events)e.state.status===`closed`&&i({type:`closed`,peerHex:m})})()},[e,t,a,r,n]),u=(0,E.useCallback)(async(n,a)=>{let c=r.get(n);if(c===void 0)return;let l=c.token;l===void 0&&(l=(await mC(c.session,c.roomPath)).token,s.current.set(n,l),i({type:`token`,peerHex:n,token:l}),sw({session:c.session,identity:e,clock:t,revocation:NS,ownRoomMemberToken:l,roomPath:c.roomPath,roomKeys:o.current.get(n)?.roomKeys??{get:async()=>Promise.resolve(void 0),set:()=>void 0,currentEpoch:async()=>Promise.resolve(void 0)}}).catch(()=>void 0));let u=await pC(c.session,c.roomPath,a,l);if(u.result!==`ok`)throw Error(`send failed: ${u.code}`);let d={direction:`sent`,text:a,messageId:uw(),sentAt:t.now()};i({type:`message`,peerHex:n,message:d})},[r,t]),d=(0,E.useCallback)(async(n,a)=>{let c=r.get(n),l=o.current.get(n);if(c===void 0||l===void 0)return;let u=c.token??s.current.get(n);u===void 0&&(u=(await mC(c.session,c.roomPath)).token,s.current.set(n,u),i({type:`token`,peerHex:n,token:u})),await sw({session:c.session,identity:e,clock:t,revocation:NS,ownRoomMemberToken:u,roomPath:c.roomPath,roomKeys:l.roomKeys}),await l.wiring.post({room:c.roomPath,token:u,contentType:`text/plain`,plaintext:new TextEncoder().encode(a)}),l.refresh()},[r,e,t]);return{sessions:[...r.values()],attach:l,send:u,postNotice:d}}var pw=8787,mw=/^(localhost|127\.\d+\.\d+\.\d+)(:\d+)?$/;function hw(e){return mw.test(e)}async function gw(e=pw){try{return await fetch(`http://127.0.0.1:${String(e)}/`,{mode:`no-cors`}),`ws://127.0.0.1:${String(e)}`}catch{return}}async function _w(e=typeof location>`u`?``:location.host){return hw(e)?Promise.resolve(void 0):gw()}var vw=`q7ltm10`,yw=`ws://localhost:8787`,bw=[`core/management`,`core/exec`,`core/data`],xw=[`core/management`,`core/data`],Sw=5,Cw=1e3,ww=3e4,Tw=2,Ew={maxAttempts:Sw,delayMs:e=>Math.min(Cw*Tw**(e-1),ww)};function Dw(e){return e.startsWith(`ws://`)||e.startsWith(`wss://`)?e:`ws://${e}`}function Ow({identity:e,clock:t,messageStore:n,discoverLocalNode:r=_w,defaultAddress:i=yw}){let[a,o]=(0,E.useState)(i),[s,c]=(0,E.useState)(xw),[l,u]=(0,E.useState)([]),[d,f]=(0,E.useState)([]),p=fw(e,t,n),m=(0,E.useRef)(p.attach);(0,E.useEffect)(()=>{m.current=p.attach},[p.attach]);let h=(0,E.useRef)(l);(0,E.useEffect)(()=>{h.current=l},[l]);let g=(0,E.useRef)(s);(0,E.useEffect)(()=>{g.current=s},[s]);function _(n,r){let i=IS(r,{identity:e,clock:t,onIncomingConnection:e=>{m.current(e)}});u(e=>[...e,{address:n,session:r,negotiator:i}])}async function v(e){return new Promise(t=>{f(n=>[...n,{key:zS(e.device),device:e.device,addresses:e.addresses,resolve:t}])})}function y(e,t){f(n=>(n.find(t=>t.key===e)?.resolve(t),n.filter(t=>t.key!==e)))}function b(){let n={current:null},r=qy(tb(),e,t,Ew,[],e=>{n.current?.considerAdvert(e)});return n.current=Xy({selfDeviceId:e.deviceId,shouldExpand:v,dial:x,onExpanded:(e,t,n)=>{_(t,n)}}),r}async function x(e){let t=b();return t.connect(Dw(e),g.current).then(()=>t)}function S(e){if(h.current.some(t=>t.address===e))return;let t=b();_(e,t),t.connect(e,s).catch(()=>{})}let C=(0,E.useRef)(S);(0,E.useEffect)(()=>{C.current=S});let w=(0,E.useRef)(r);(0,E.useEffect)(()=>{w.current=r},[r]);let T=(0,E.useRef)(!1);(0,E.useEffect)(()=>{T.current||(T.current=!0,w.current().then(e=>{e!==void 0&&C.current(e)}))},[]);function ee(e){e.preventDefault(),S(a)}function te(e){e.session.close(),u(t=>t.filter(t=>t.session!==e.session))}function ne(e,t){e.initiate(t).then(async e=>p.attach(e,t)).catch(()=>{})}return(0,A.jsxs)(za,{className:vw,p:`md`,gap:`lg`,children:[(0,A.jsx)(fo,{order:1,children:`wire-mesh console`}),(0,A.jsxs)(`form`,{onSubmit:ee,children:[(0,A.jsxs)(si,{align:`flex-end`,wrap:`wrap`,children:[(0,A.jsx)(io,{label:`Node`,value:a,onChange:e=>{o(e.currentTarget.value)},required:!0,style:{flex:1,minWidth:`16rem`}}),(0,A.jsx)(ba,{type:`submit`,children:`Connect`})]}),(0,A.jsx)(ca.Group,{label:`Domains offered`,value:s,onChange:c,children:(0,A.jsx)(si,{mt:`xs`,children:bw.map(e=>(0,A.jsx)(ca,{value:e,label:e},e))})})]}),(0,A.jsx)(WS,{peers:d,onConnect:e=>{y(e,!0)},onDismiss:e=>{y(e,!1)}}),l.map(e=>(0,A.jsx)(US,{address:e.address,session:e.session,onClose:()=>{te(e)},onMessagePeer:t=>{ne(e.negotiator,t)}},e.address)),p.sessions.map(e=>(0,A.jsx)(YS,{view:e,onSend:async t=>p.send(e.peerHex,t),onPostNotice:async t=>p.postNotice(e.peerHex,t)},e.peerHex))]})}var kw=`modulepreload`,Aw=function(e){return`/`+e},jw={},Mw=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Aw(t,n),t=s(t),t in jw)return;jw[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:kw,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Nw=`false`,Pw=`false`,Fw=Nw===`true`,Iw=Pw===`true`;function Lw(e={}){let{immediate:t=!1,onNeedReload:n,onNeedRefresh:r,onOfflineReady:i,onRegistered:a,onRegisteredSW:o,onRegisterError:s}=e,c,l,u,d=async(e=!0)=>{await l,Fw||u?.()};async function f(){if(`serviceWorker`in navigator){if(c=await Mw(async()=>{let{Workbox:e}=await import(`./workbox-window.prod.es5-Bd17z0YL.js`);return{Workbox:e}},[]).then(({Workbox:e})=>new e(`/sw.js`,{scope:`/`,type:`classic`})).catch(e=>{s?.(e)}),!c)return;if(u=()=>{c?.messageSkipWaiting()},!Iw){if(Fw)c.addEventListener(`activated`,e=>{(e.isUpdate||e.isExternal)&&(n?n():window.location.reload())}),c.addEventListener(`installed`,e=>{e.isUpdate||i?.()});else{let e=!1,t=()=>{e=!0,c?.addEventListener(`controlling`,e=>{e.isUpdate&&(n?n():window.location.reload())}),r?.()};c.addEventListener(`installed`,n=>{n.isUpdate===void 0?n.isExternal===void 0?!e&&i?.():n.isExternal?t():!e&&i?.():n.isUpdate||i?.()}),c.addEventListener(`waiting`,t)}}c.register({immediate:t}).then(e=>{o?o(`/sw.js`,e):a?.(e)}).catch(e=>{s?.(e)})}}return l=f(),d}function Rw(e={}){let{immediate:t=!0,onNeedReload:n,onNeedRefresh:r,onOfflineReady:i,onRegistered:a,onRegisteredSW:o,onRegisterError:s}=e,[c,l]=(0,E.useState)(!1),[u,d]=(0,E.useState)(!1),[f]=(0,E.useState)(()=>Lw({immediate:t,onNeedReload:n,onOfflineReady(){d(!0),i?.()},onNeedRefresh(){l(!0),r?.()},onRegistered:a,onRegisteredSW:o,onRegisterError:s}));return{needRefresh:[c,l],offlineReady:[u,d],updateServiceWorker:f}}function zw(){let{offlineReady:[e,t],needRefresh:[n,r],updateServiceWorker:i}=Rw();function a(){t(!1),r(!1)}return!e&&!n?null:(0,A.jsx)(Fa,{onClose:a,closeButtonProps:{"aria-label":`Dismiss`},title:n?`Update available`:`Ready to work offline`,pos:`fixed`,bottom:`1rem`,right:`1rem`,style:{zIndex:1e3},children:(0,A.jsx)(si,{gap:`xs`,children:n?(0,A.jsx)(ba,{size:`xs`,onClick:()=>{i(!0)},children:`Reload`}):void 0})})}var Bw=`ws://localhost:8787`;function Vw(e){return`${e.protocol===`https:`?`wss:`:`ws:`}//${e.host}`}function Hw(e,t){return e?Bw:Vw(t)}var Uw=await ol(await xo()),Ww={now:()=>Date.now()},Gw=by(await xo()),Kw=Hw(!1,window.location),qw=document.getElementById(`root`);if(qw===null)throw Error(`missing #root element`);(0,po.createRoot)(qw).render((0,A.jsx)(E.StrictMode,{children:(0,A.jsxs)(It,{children:[(0,A.jsx)(Ow,{identity:Uw,clock:Ww,messageStore:Gw,defaultAddress:Kw}),(0,A.jsx)(zw,{})]})}));
@@ -10,7 +10,7 @@
10
10
  <meta name="theme-color" content="#1971c2" />
11
11
  <link rel="icon" type="image/svg+xml" href="./favicon.svg" />
12
12
  <title>wire-mesh console</title>
13
- <script type="module" crossorigin src="/assets/index-CkmEQquM.js"></script>
13
+ <script type="module" crossorigin src="/assets/index-DJOxbVOK.js"></script>
14
14
  <link rel="stylesheet" crossorigin href="/assets/index-BMlnc-0m.css">
15
15
  <link rel="manifest" href="/manifest.webmanifest"></head>
16
16
  <body>
@@ -1 +1 @@
1
- if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,o)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let t={};const d=e=>i(e,r),f={module:{uri:r},exports:t,require:d};s[r]=Promise.all(n.map(e=>f[e]||d(e))).then(e=>(o(...e),t))}}define(["./workbox-2fbc6a65"],function(e){"use strict";self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),e.precacheAndRoute([{url:"index.html",revision:"5e56d7485fe6b0d039f4efbecd1b4025"},{url:"assets/workbox-window.prod.es5-Bd17z0YL.js",revision:null},{url:"assets/index-CkmEQquM.js",revision:null},{url:"assets/index-BMlnc-0m.css",revision:null},{url:"favicon.svg",revision:"e9eabed03a72f0df2b347884322f7dfb"},{url:"icons/icon-192x192.svg",revision:"e9eabed03a72f0df2b347884322f7dfb"},{url:"icons/icon-512x512.svg",revision:"e9eabed03a72f0df2b347884322f7dfb"},{url:"manifest.webmanifest",revision:"89b97e994ecf3ebc89bc570153e191ad"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))});
1
+ if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,o)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let t={};const l=e=>i(e,r),d={module:{uri:r},exports:t,require:l};s[r]=Promise.all(n.map(e=>d[e]||l(e))).then(e=>(o(...e),t))}}define(["./workbox-2fbc6a65"],function(e){"use strict";self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),e.precacheAndRoute([{url:"index.html",revision:"163d211c5aeba12497eb04620d6e630b"},{url:"assets/workbox-window.prod.es5-Bd17z0YL.js",revision:null},{url:"assets/index-DJOxbVOK.js",revision:null},{url:"assets/index-BMlnc-0m.css",revision:null},{url:"favicon.svg",revision:"e9eabed03a72f0df2b347884322f7dfb"},{url:"icons/icon-192x192.svg",revision:"e9eabed03a72f0df2b347884322f7dfb"},{url:"icons/icon-512x512.svg",revision:"e9eabed03a72f0df2b347884322f7dfb"},{url:"manifest.webmanifest",revision:"89b97e994ecf3ebc89bc570153e191ad"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))});
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "wire-mesh",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "bin": {
5
5
  "wire-mesh": "./dist/server.mjs"
6
6
  },
7
7
  "dependencies": {
8
8
  "cbor2": "2.3.0",
9
- "wire-mesh-core": "1.58.5",
9
+ "wire-mesh-core": "1.58.7",
10
10
  "ws": "8.21.3"
11
11
  },
12
12
  "devDependencies": {
13
13
  "@arethetypeswrong/cli": "0.18.5",
14
14
  "@exadev/eslint-config": "2.18.0",
15
- "@exadev/wire-mesh-web-console": "1.0.2",
15
+ "@exadev/wire-mesh-web-console": "1.0.4",
16
16
  "@types/node": "26.4.1",
17
17
  "@types/ws": "8.18.1",
18
18
  "eslint": "10.10.0",