agent-comms 3.28.0 → 3.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +1 -1
  4. package/dist/bridges/user/web/dist/bundle.js +1 -1
  5. package/dist/bridges/user/web/dist/mesh-worker.js +1 -1
  6. package/dist/bridges/user/web/dist/sw.js +1 -1
  7. package/dist/bridges/user/web/frontend/dispatch-action.d.ts +1 -1
  8. package/dist/bridges/user/web/frontend/dispatch-action.d.ts.map +1 -1
  9. package/dist/bridges/user/web/frontend/dispatch-action.js +26 -0
  10. package/dist/bridges/user/web/frontend/dispatch-action.js.map +1 -1
  11. package/dist/bridges/user/web/frontend/mesh-worker.d.ts.map +1 -1
  12. package/dist/bridges/user/web/frontend/mesh-worker.js +1 -5
  13. package/dist/bridges/user/web/frontend/mesh-worker.js.map +1 -1
  14. package/dist/bridges/user/web/server.d.ts +4 -19
  15. package/dist/bridges/user/web/server.d.ts.map +1 -1
  16. package/dist/bridges/user/web/server.js +13 -201
  17. package/dist/bridges/user/web/server.js.map +1 -1
  18. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts +1 -1
  19. package/dist/bridges/user/web/test/orpc-router.integration.test.js +4 -4
  20. package/dist/bridges/user/web/test/orpc-router.integration.test.js.map +1 -1
  21. package/dist/bridges/user/web/test/web-server.integration.test.js +9 -12
  22. package/dist/bridges/user/web/test/web-server.integration.test.js.map +1 -1
  23. package/dist/core/hub-session.d.ts +6 -5
  24. package/dist/core/hub-session.d.ts.map +1 -1
  25. package/dist/core/hub-session.js +5 -5
  26. package/dist/core/hub-session.js.map +1 -1
  27. package/dist/core/mesh-graph.d.ts +4 -3
  28. package/dist/core/mesh-graph.d.ts.map +1 -1
  29. package/dist/core/mesh-graph.js +3 -3
  30. package/dist/core/mesh-graph.js.map +1 -1
  31. package/dist/core/room-router.d.ts +9 -4
  32. package/dist/core/room-router.d.ts.map +1 -1
  33. package/dist/core/room-router.js +2 -2
  34. package/dist/core/room-router.js.map +1 -1
  35. package/dist/test/hub-mode-session.integration.test.js +29 -0
  36. package/dist/test/hub-mode-session.integration.test.js.map +1 -1
  37. package/dist/test/hub-session-dispatch.test.js +24 -0
  38. package/dist/test/hub-session-dispatch.test.js.map +1 -1
  39. package/dist/test/mesh-graph.test.d.ts +1 -1
  40. package/dist/test/mesh-graph.test.js +36 -2
  41. package/dist/test/mesh-graph.test.js.map +1 -1
  42. package/dist/test/room-router.test.js +42 -0
  43. package/dist/test/room-router.test.js.map +1 -1
  44. package/package.json +1 -1
@@ -61,4 +61,4 @@ var AgentCommsMeshWorker=(function(e){Object.defineProperty(e,Symbol.toStringTag
61
61
 
62
62
  `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=pr,s=!tr.jitless,c=s&&mr.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Aa([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Na(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=>!Or(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=>N(e,r,O())))}),t)}var Pa=D(`$ZodUnion`,(e,t)=>{F.init(e,t),k(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),k(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),k(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),k(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>or(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=>Na(t,r,e,i)):Na(o,r,e,i)}}),Fa=D(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Pa.init(e,t);let n=e._zod.parse;k(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=ir(()=>{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(!pr(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)}}),Ia=D(`$ZodIntersection`,(e,t)=>{F.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])=>Ra(e,t,n)):Ra(e,i,a)}});function La(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(hr(e)&&hr(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=La(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=La(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 Ra(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Or(e))return e;let o=La(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var za=D(`$ZodRecord`,(e,t)=>{F.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!hr(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>N(e,r,O())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...Ar(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...Ar(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&Ei.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>N(e,r,O())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...Ar(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...Ar(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),Ba=D(`$ZodEnum`,(e,t)=>{F.init(e,t);let n=nr(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>_r.has(typeof e)).map(e=>typeof e==`string`?vr(e):e.toString()).join(`|`)})$`),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}}),Va=D(`$ZodLiteral`,(e,t)=>{if(F.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?vr(e):e?vr(e.toString()):String(e)).join(`|`)})$`),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}}),Ha=D(`$ZodTransform`,(e,t)=>{F.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new er(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.fallback=!0,n));if(i instanceof Promise)throw new $n;return n.value=i,n.fallback=!0,n}});function Ua(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var Wa=D(`$ZodOptional`,(e,t)=>{F.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,k(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),k(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${or(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>Ua(e,r)):Ua(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Ga=D(`$ZodExactOptional`,(e,t)=>{Wa.init(e,t),k(e._zod,`values`,()=>t.innerType._zod.values),k(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Ka=D(`$ZodNullable`,(e,t)=>{F.init(e,t),k(e._zod,`optin`,()=>t.innerType._zod.optin),k(e._zod,`optout`,()=>t.innerType._zod.optout),k(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${or(e.source)}|null)$`):void 0}),k(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),qa=D(`$ZodDefault`,(e,t)=>{F.init(e,t),e._zod.optin=`optional`,k(e._zod,`values`,()=>t.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=>Ja(e,t)):Ja(r,t)}});function Ja(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ya=D(`$ZodPrefault`,(e,t)=>{F.init(e,t),e._zod.optin=`optional`,k(e._zod,`values`,()=>t.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))}),Xa=D(`$ZodNonOptional`,(e,t)=>{F.init(e,t),k(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].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=>Za(t,e)):Za(i,e)}});function Za(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var Qa=D(`$ZodCatch`,(e,t)=>{F.init(e,t),e._zod.optin=`optional`,k(e._zod,`optout`,()=>t.innerType._zod.optout),k(e._zod,`values`,()=>t.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(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>N(e,n,O()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>N(e,n,O()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),$a=D(`$ZodPipe`,(e,t)=>{F.init(e,t),k(e._zod,`values`,()=>t.in._zod.values),k(e._zod,`optin`,()=>t.in._zod.optin),k(e._zod,`optout`,()=>t.out._zod.optout),k(e._zod,`propValues`,()=>t.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=>eo(e,t.in,n)):eo(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>eo(e,t.out,n)):eo(r,t.out,n)}});function eo(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var to=D(`$ZodReadonly`,(e,t)=>{F.init(e,t),k(e._zod,`propValues`,()=>t.innerType._zod.propValues),k(e._zod,`values`,()=>t.innerType._zod.values),k(e._zod,`optin`,()=>t.innerType?._zod?.optin),k(e._zod,`optout`,()=>t.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(no):no(r)}});function no(e){return e.value=Object.freeze(e.value),e}var ro=D(`$ZodCustom`,(e,t)=>{P.init(e,t),F.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=>io(t,n,r,e));io(i,n,r,e)}});function io(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(Nr(e))}}var ao,oo=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 so(){return new oo}(ao=globalThis).__zod_globalRegistry??(ao.__zod_globalRegistry=so());var co=globalThis.__zod_globalRegistry;function lo(e,t){return new e({type:`string`,...M(t)})}function uo(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...M(t)})}function fo(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...M(t)})}function po(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...M(t)})}function mo(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...M(t)})}function ho(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...M(t)})}function go(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...M(t)})}function _o(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...M(t)})}function vo(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...M(t)})}function yo(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...M(t)})}function bo(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...M(t)})}function xo(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...M(t)})}function So(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...M(t)})}function Co(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...M(t)})}function wo(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...M(t)})}function To(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...M(t)})}function Eo(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...M(t)})}function Do(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...M(t)})}function Oo(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...M(t)})}function ko(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...M(t)})}function Ao(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...M(t)})}function jo(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...M(t)})}function Mo(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...M(t)})}function No(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...M(t)})}function Po(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...M(t)})}function Fo(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...M(t)})}function Io(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...M(t)})}function Lo(e,t){return new e({type:`number`,checks:[],...M(t)})}function Ro(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...M(t)})}function zo(e,t){return new e({type:`boolean`,...M(t)})}function Bo(e){return new e({type:`unknown`})}function Vo(e,t){return new e({type:`never`,...M(t)})}function Ho(e,t){return new ji({check:`less_than`,...M(t),value:e,inclusive:!1})}function Uo(e,t){return new ji({check:`less_than`,...M(t),value:e,inclusive:!0})}function Wo(e,t){return new Mi({check:`greater_than`,...M(t),value:e,inclusive:!1})}function Go(e,t){return new Mi({check:`greater_than`,...M(t),value:e,inclusive:!0})}function Ko(e,t){return new Ni({check:`multiple_of`,...M(t),value:e})}function qo(e,t){return new Fi({check:`max_length`,...M(t),maximum:e})}function Jo(e,t){return new Ii({check:`min_length`,...M(t),minimum:e})}function Yo(e,t){return new Li({check:`length_equals`,...M(t),length:e})}function Xo(e,t){return new zi({check:`string_format`,format:`regex`,...M(t),pattern:e})}function Zo(e){return new Bi({check:`string_format`,format:`lowercase`,...M(e)})}function Qo(e){return new Vi({check:`string_format`,format:`uppercase`,...M(e)})}function $o(e,t){return new Hi({check:`string_format`,format:`includes`,...M(t),includes:e})}function es(e,t){return new Ui({check:`string_format`,format:`starts_with`,...M(t),prefix:e})}function ts(e,t){return new Wi({check:`string_format`,format:`ends_with`,...M(t),suffix:e})}function ns(e){return new Gi({check:`overwrite`,tx:e})}function rs(e){return ns(t=>t.normalize(e))}function is(){return ns(e=>e.trim())}function as(){return ns(e=>e.toLowerCase())}function os(){return ns(e=>e.toUpperCase())}function ss(){return ns(e=>dr(e))}function cs(e,t,n){return new e({type:`array`,element:t,...M(n)})}function ls(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...M(n)})}function us(e,t){let n=ds(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Nr(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(Nr(r))}},e(t.value,t)),t);return n}function ds(e,t){let n=new P({check:`custom`,...M(t)});return n._zod.check=e,n}function fs(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??co,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function L(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);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,L(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&R(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 ps(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);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}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+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>
63
63
 
64
- 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}}}function ms(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)):Object.assign(i,s),Object.assign(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??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);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)}Object.assign(i,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??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}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:gs(t,`input`,e.processors),output:gs(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function R(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 R(r.element,n);if(r.type===`set`)return R(r.valueType,n);if(r.type===`lazy`)return R(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return R(r.innerType,n);if(r.type===`intersection`)return R(r.left,n)||R(r.right,n);if(r.type===`record`||r.type===`map`)return R(r.keyType,n)||R(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:R(r.in,n)||R(r.out,n);if(r.type===`object`){for(let e in r.shape)if(R(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(R(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(R(e,n))return!0;return!!(r.rest&&R(r.rest,n))}return!1}var hs=(e,t={})=>n=>{let r=fs({...n,processors:t});return L(e,r),ps(r,e),ms(r,e)},gs=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=fs({...i??{},target:a,io:t,processors:n});return L(e,o),ps(o,e),ms(o,e)},_s={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},vs=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=_s[s]??s,i.format===``&&delete i.format,s===`time`&&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}))])}},ys=(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`&&(i.multipleOf=c)},bs=(e,t,n,r)=>{n.type=`boolean`},xs=(e,t,n,r)=>{n.not={}},Ss=(e,t,n,r)=>{let i=e._zod.def,a=nr(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Cs=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);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}},ws=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Ts=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Es=(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=L(a.element,t,{...r,path:[...r.path,`items`]})},Ds=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=L(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]._zod;return t.io===`input`?n.optin===void 0:n.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=L(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Os=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>L(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},ks=(e,t,n,r)=>{let i=e._zod.def,a=L(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=L(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},As=(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=L(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else(t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=L(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=L(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},js=(e,t,n,r)=>{let i=e._zod.def,a=L(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`}]},Ms=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ns=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Ps=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Fs=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Is=(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;L(o,t,r);let s=t.seen.get(e);s.ref=o},Ls=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Rs=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},zs=D(`ZodISODateTime`,(e,t)=>{oa.init(e,t),H.init(e,t)});function Bs(e){return No(zs,e)}var Vs=D(`ZodISODate`,(e,t)=>{sa.init(e,t),H.init(e,t)});function Hs(e){return Po(Vs,e)}var Us=D(`ZodISOTime`,(e,t)=>{ca.init(e,t),H.init(e,t)});function Ws(e){return Fo(Us,e)}var Gs=D(`ZodISODuration`,(e,t)=>{la.init(e,t),H.init(e,t)});function Ks(e){return Io(Gs,e)}var z=D(`ZodError`,(e,t)=>{Fr.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Rr(e,t)},flatten:{value:t=>Lr(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,rr,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,rr,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),qs=zr(z),Js=Br(z),Ys=Vr(z),Xs=Ur(z),Zs=Gr(z),Qs=Kr(z),$s=qr(z),ec=Jr(z),tc=Yr(z),nc=Xr(z),rc=Zr(z),ic=Qr(z),ac=new WeakMap;function oc(e,t,n){let r=Object.getPrototypeOf(e),i=ac.get(r);if(i||(i=new Set,ac.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var B=D(`ZodType`,(e,t)=>(F.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:gs(e,`input`),output:gs(e,`output`)}}),e.toJSONSchema=hs(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>qs(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Ys(e,t,n),e.parseAsync=async(t,n)=>Js(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Xs(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Zs(e,t,n),e.decode=(t,n)=>Qs(e,t,n),e.encodeAsync=async(t,n)=>$s(e,t,n),e.decodeAsync=async(t,n)=>ec(e,t,n),e.safeEncode=(t,n)=>tc(e,t,n),e.safeDecode=(t,n)=>nc(e,t,n),e.safeEncodeAsync=async(t,n)=>rc(e,t,n),e.safeDecodeAsync=async(t,n)=>ic(e,t,n),oc(e,`ZodType`,{check(...e){let t=this.def;return this.clone(A(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 j(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(hl(e,t))},superRefine(e,t){return this.check(gl(e,t))},overwrite(e){return this.check(ns(e))},optional(){return Zc(this)},exactOptional(){return $c(this)},nullable(){return tl(this)},nullish(){return Zc(tl(this))},nonoptional(e){return sl(this,e)},array(){return W(this)},or(e){return K([this,e])},and(e){return Uc(this,e)},transform(e){return dl(this,Yc(e))},default(e){return rl(this,e)},prefault(e){return al(this,e)},catch(e){return ll(this,e)},pipe(e){return dl(this,e)},readonly(){return pl(this)},describe(e){let t=this.clone();return co.add(t,{description:e}),t},meta(...e){if(e.length===0)return co.get(this);let t=this.clone();return co.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return co.get(e)?.description},configurable:!0}),e)),sc=D(`_ZodString`,(e,t)=>{Ji.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,oc(e,`_ZodString`,{regex(...e){return this.check(Xo(...e))},includes(...e){return this.check($o(...e))},startsWith(...e){return this.check(es(...e))},endsWith(...e){return this.check(ts(...e))},min(...e){return this.check(Jo(...e))},max(...e){return this.check(qo(...e))},length(...e){return this.check(Yo(...e))},nonempty(...e){return this.check(Jo(1,...e))},lowercase(e){return this.check(Zo(e))},uppercase(e){return this.check(Qo(e))},trim(){return this.check(is())},normalize(...e){return this.check(rs(...e))},toLowerCase(){return this.check(as())},toUpperCase(){return this.check(os())},slugify(){return this.check(ss())}})}),cc=D(`ZodString`,(e,t)=>{Ji.init(e,t),sc.init(e,t),e.email=t=>e.check(uo(lc,t)),e.url=t=>e.check(_o(fc,t)),e.jwt=t=>e.check(Mo(Dc,t)),e.emoji=t=>e.check(vo(pc,t)),e.guid=t=>e.check(fo(uc,t)),e.uuid=t=>e.check(po(dc,t)),e.uuidv4=t=>e.check(mo(dc,t)),e.uuidv6=t=>e.check(ho(dc,t)),e.uuidv7=t=>e.check(go(dc,t)),e.nanoid=t=>e.check(yo(mc,t)),e.guid=t=>e.check(fo(uc,t)),e.cuid=t=>e.check(bo(hc,t)),e.cuid2=t=>e.check(xo(gc,t)),e.ulid=t=>e.check(So(_c,t)),e.base64=t=>e.check(ko(wc,t)),e.base64url=t=>e.check(Ao(Tc,t)),e.xid=t=>e.check(Co(vc,t)),e.ksuid=t=>e.check(wo(yc,t)),e.ipv4=t=>e.check(To(bc,t)),e.ipv6=t=>e.check(Eo(xc,t)),e.cidrv4=t=>e.check(Do(Sc,t)),e.cidrv6=t=>e.check(Oo(Cc,t)),e.e164=t=>e.check(jo(Ec,t)),e.datetime=t=>e.check(Bs(t)),e.date=t=>e.check(Hs(t)),e.time=t=>e.check(Ws(t)),e.duration=t=>e.check(Ks(t))});function V(e){return lo(cc,e)}var H=D(`ZodStringFormat`,(e,t)=>{I.init(e,t),sc.init(e,t)}),lc=D(`ZodEmail`,(e,t)=>{Zi.init(e,t),H.init(e,t)}),uc=D(`ZodGUID`,(e,t)=>{Yi.init(e,t),H.init(e,t)}),dc=D(`ZodUUID`,(e,t)=>{Xi.init(e,t),H.init(e,t)}),fc=D(`ZodURL`,(e,t)=>{Qi.init(e,t),H.init(e,t)}),pc=D(`ZodEmoji`,(e,t)=>{$i.init(e,t),H.init(e,t)}),mc=D(`ZodNanoID`,(e,t)=>{ea.init(e,t),H.init(e,t)}),hc=D(`ZodCUID`,(e,t)=>{ta.init(e,t),H.init(e,t)}),gc=D(`ZodCUID2`,(e,t)=>{na.init(e,t),H.init(e,t)}),_c=D(`ZodULID`,(e,t)=>{ra.init(e,t),H.init(e,t)}),vc=D(`ZodXID`,(e,t)=>{ia.init(e,t),H.init(e,t)}),yc=D(`ZodKSUID`,(e,t)=>{aa.init(e,t),H.init(e,t)}),bc=D(`ZodIPv4`,(e,t)=>{ua.init(e,t),H.init(e,t)}),xc=D(`ZodIPv6`,(e,t)=>{da.init(e,t),H.init(e,t)}),Sc=D(`ZodCIDRv4`,(e,t)=>{fa.init(e,t),H.init(e,t)}),Cc=D(`ZodCIDRv6`,(e,t)=>{pa.init(e,t),H.init(e,t)}),wc=D(`ZodBase64`,(e,t)=>{ha.init(e,t),H.init(e,t)}),Tc=D(`ZodBase64URL`,(e,t)=>{_a.init(e,t),H.init(e,t)}),Ec=D(`ZodE164`,(e,t)=>{va.init(e,t),H.init(e,t)}),Dc=D(`ZodJWT`,(e,t)=>{ba.init(e,t),H.init(e,t)}),Oc=D(`ZodNumber`,(e,t)=>{xa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(e,t,n,r),oc(e,`ZodNumber`,{gt(e,t){return this.check(Wo(e,t))},gte(e,t){return this.check(Go(e,t))},min(e,t){return this.check(Go(e,t))},lt(e,t){return this.check(Ho(e,t))},lte(e,t){return this.check(Uo(e,t))},max(e,t){return this.check(Uo(e,t))},int(e){return this.check(Ac(e))},safe(e){return this.check(Ac(e))},positive(e){return this.check(Wo(0,e))},nonnegative(e){return this.check(Go(0,e))},negative(e){return this.check(Ho(0,e))},nonpositive(e){return this.check(Uo(0,e))},multipleOf(e,t){return this.check(Ko(e,t))},step(e,t){return this.check(Ko(e,t))},finite(){return this}});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});function U(e){return Lo(Oc,e)}var kc=D(`ZodNumberFormat`,(e,t)=>{Sa.init(e,t),Oc.init(e,t)});function Ac(e){return Ro(kc,e)}var jc=D(`ZodBoolean`,(e,t)=>{Ca.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bs(e,t,n,r)});function Mc(e){return zo(jc,e)}var Nc=D(`ZodUnknown`,(e,t)=>{wa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Pc(){return Bo(Nc)}var Fc=D(`ZodNever`,(e,t)=>{Ta.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xs(e,t,n,r)});function Ic(e){return Vo(Fc,e)}var Lc=D(`ZodArray`,(e,t)=>{Da.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Es(e,t,n,r),e.element=t.element,oc(e,`ZodArray`,{min(e,t){return this.check(Jo(e,t))},nonempty(e){return this.check(Jo(1,e))},max(e,t){return this.check(qo(e,t))},length(e,t){return this.check(Yo(e,t))},unwrap(){return this.element}})});function W(e,t){return cs(Lc,e,t)}var Rc=D(`ZodObject`,(e,t)=>{Ma.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ds(e,t,n,r),k(e,`shape`,()=>t.shape),oc(e,`ZodObject`,{keyof(){return Kc(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Pc()})},loose(){return this.clone({...this._zod.def,catchall:Pc()})},strict(){return this.clone({...this._zod.def,catchall:Ic()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Cr(this,e)},safeExtend(e){return wr(this,e)},merge(e){return Tr(this,e)},pick(e){return xr(this,e)},omit(e){return Sr(this,e)},partial(...e){return Er(Xc,this,e[0])},required(...e){return Dr(ol,this,e[0])}})});function G(e,t){return new Rc({type:`object`,shape:e??{},...M(t)})}var zc=D(`ZodUnion`,(e,t)=>{Pa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Os(e,t,n,r),e.options=t.options});function K(e,t){return new zc({type:`union`,options:e,...M(t)})}var Bc=D(`ZodDiscriminatedUnion`,(e,t)=>{zc.init(e,t),Fa.init(e,t)});function Vc(e,t,n){return new Bc({type:`union`,options:t,discriminator:e,...M(n)})}var Hc=D(`ZodIntersection`,(e,t)=>{Ia.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ks(e,t,n,r)});function Uc(e,t){return new Hc({type:`intersection`,left:e,right:t})}var Wc=D(`ZodRecord`,(e,t)=>{za.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>As(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function q(e,t,n){return!t||!t._zod?new Wc({type:`record`,keyType:V(),valueType:e,...M(t)}):new Wc({type:`record`,keyType:e,valueType:t,...M(n)})}var Gc=D(`ZodEnum`,(e,t)=>{Ba.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ss(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 Gc({...t,checks:[],...M(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 Gc({...t,checks:[],...M(r),entries:i})}});function Kc(e,t){return new Gc({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...M(t)})}var qc=D(`ZodLiteral`,(e,t)=>{Va.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(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 J(e,t){return new qc({type:`literal`,values:Array.isArray(e)?e:[e],...M(t)})}var Jc=D(`ZodTransform`,(e,t)=>{Ha.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ts(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new er(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Nr(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Nr(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function Yc(e){return new Jc({type:`transform`,transform:e})}var Xc=D(`ZodOptional`,(e,t)=>{Wa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zc(e){return new Xc({type:`optional`,innerType:e})}var Qc=D(`ZodExactOptional`,(e,t)=>{Ga.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $c(e){return new Qc({type:`optional`,innerType:e})}var el=D(`ZodNullable`,(e,t)=>{Ka.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>js(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tl(e){return new el({type:`nullable`,innerType:e})}var nl=D(`ZodDefault`,(e,t)=>{qa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function rl(e,t){return new nl({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():gr(t)}})}var il=D(`ZodPrefault`,(e,t)=>{Ya.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ps(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function al(e,t){return new il({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():gr(t)}})}var ol=D(`ZodNonOptional`,(e,t)=>{Xa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ms(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function sl(e,t){return new ol({type:`nonoptional`,innerType:e,...M(t)})}var cl=D(`ZodCatch`,(e,t)=>{Qa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ll(e,t){return new cl({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var ul=D(`ZodPipe`,(e,t)=>{$a.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Is(e,t,n,r),e.in=t.in,e.out=t.out});function dl(e,t){return new ul({type:`pipe`,in:e,out:t})}var fl=D(`ZodReadonly`,(e,t)=>{to.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function pl(e){return new fl({type:`readonly`,innerType:e})}var ml=D(`ZodCustom`,(e,t)=>{ro.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ws(e,t,n,r)});function hl(e,t={}){return ls(ml,e,t)}function gl(e,t){return us(e,t)}function _l(e){return`is`in e&&typeof e.is==`function`}function Y(e){if(Object.defineProperty(e,"is",{value:t=>e.safeParse(t).success,enumerable:!0}),!_l(e))throw Error(`unreachable: is was just defined above`);return e}var vl=Y(K([J(`discoverable`),J(`quiet`),J(`dark`)])),yl=Y(K([J(`visible`),J(`hidden`),J(`ghost`)])),bl=Y(K([J(`active`),J(`idle`),J(`busy`),J(`offline`)])),xl=Y(K([J(`public`),J(`private`),J(`secret`)])),Sl=Y(K([J(`steer`),J(`followUp`),J(`info`)])),Cl=Y(G({id:V(),version:U(),name:V(),harness:V(),cwd:V(),pid:U(),startedAt:V(),visibility:yl,status:bl,tags:W(V()),subscribedRooms:W(V())})),wl=Y(G({id:V(),version:U(),name:V(),type:xl,owner:V(),createdAt:V(),description:V(),members:W(V()),invited:W(V()),memberJoins:q(V(),U()),memberLeaves:q(V(),U()),invitedJoins:q(V(),U()),invitedLeaves:q(V(),U())})),Tl=Y(G({id:V(),from:V(),room:V(),content:V(),timestamp:V(),replyTo:V().optional(),readBy:W(V()),streamingBehavior:Sl.optional()})),El=Y(G({id:V(),from:V(),to:V(),content:V(),timestamp:V(),readBy:W(V()),streamingBehavior:Sl.optional()})),Dl=Y(K([J(`delivered`),J(`read`)])),Ol=Y(G({id:V(),name:V(),status:bl})),kl=Y(Vc(`type`,[G({type:J(`room_message`),message:Tl}),G({type:J(`dm`),message:El}),G({type:J(`room_invite`),room:V(),roomDescription:V(),from:V(),fromName:V(),fromCwd:V()}),G({type:J(`member_joined`),room:V(),agent:V()}),G({type:J(`member_left`),room:V(),agent:V()}),G({type:J(`room_members`),room:V(),members:W(Ol)}),G({type:J(`member_status`),room:V(),agent:V(),status:bl}),G({type:J(`delivery_status`),messageId:V(),agent:V(),status:Dl,room:V().optional()}),G({type:J(`invite_declined`),room:V(),agent:V(),agentName:V(),reason:V()}),G({type:J(`name_changed`),agent:V(),oldName:V(),newName:V()}),G({type:J(`connection_request`),connectionId:V(),peerId:V(),dataPort:U(),name:V(),fingerprint:V()}),G({type:J(`capability_request`),requestId:V(),capability:V(),scopeKind:V(),scopePath:V().optional(),requesterDevice:V()})]));Y(G({code:V(),expiresAt:V(),deviceId:V(),signature:V().optional()})),Y(Vc(`action`,[G({action:J(`register`),name:V(),visibility:yl,tags:W(V())}),G({action:J(`update`),visibility:yl.optional(),status:bl.optional(),name:V().optional(),tags:W(V()).optional()}),G({action:J(`whoami`)}),G({action:J(`web_url`)}),G({action:J(`create_room`),name:V(),type:xl,description:V()}),G({action:J(`list_rooms`)}),G({action:J(`join_room`),room:V()}),G({action:J(`leave_room`),room:V()}),G({action:J(`send`),target:V(),content:V(),replyTo:V().optional(),streamingBehavior:Sl.optional()}),G({action:J(`dm`),target:V(),content:V(),streamingBehavior:Sl.optional()}),G({action:J(`list_agents`)}),G({action:J(`read_room`),room:V(),since:V().optional()}),G({action:J(`invite`),room:V(),agent:V()}),G({action:J(`kick`),room:V(),agent:V()}),G({action:J(`decline_invite`),room:V(),reason:V()}),G({action:J(`destroy_room`),room:V()}),G({action:J(`mesh_connect`),host:V(),port:U(),policy:V().optional()}),G({action:J(`mesh_accept`),connectionId:V()}),G({action:J(`mesh_reject`),connectionId:V(),reason:V()}),G({action:J(`mesh_pending`)}),G({action:J(`room_accept`),room:V(),requesterId:V()}),G({action:J(`room_reject`),room:V(),requesterId:V(),reason:V().optional()}),G({action:J(`room_pending`)}),G({action:J(`capability_accept`),requestId:V(),expires:U(),delegationsRemaining:U().optional(),capability:V().optional()}),G({action:J(`capability_reject`),requestId:V(),reason:V().optional()}),G({action:J(`capability_pending`)}),G({action:J(`mesh_discover`),method:V().optional()}),G({action:J(`mesh_advertise`),method:V(),name:V(),port:U().optional(),adapter:V().optional()}),G({action:J(`mesh_unadvertise`),id:V()}),G({action:J(`mesh_interfaces`)}),G({action:J(`mesh_listen`),host:V(),port:U().optional(),policy:V().optional()}),G({action:J(`mesh_unlisten`),id:V()}),G({action:J(`mesh_listeners`)}),G({action:J(`mesh_set_visibility`),visibility:vl,adapter:V().optional()}),G({action:J(`mesh_get_visibility`)}),G({action:J(`gateway_trust`),device:V(),principal:Mc().optional()}),G({action:J(`gateway_untrust`),device:V(),principal:Mc().optional()}),G({action:J(`gateway_list_trusted`)}),G({action:J(`gateway_generate_connection_code`),ttlMs:U().optional(),privateKey:V().optional(),passphrase:V().optional()}),G({action:J(`gateway_redeem_connection_code`),code:V(),expiresAt:V(),device:V(),signature:V().optional(),publicKey:V().optional(),fingerprint:V().optional()}),G({action:J(`query_version`),device:V()}),G({action:J(`mesh_graph`)}),G({action:J(`mesh_trace`),target:V(),timeoutMs:U().optional()})]));var X=G({content:V(),isError:Mc()}),Al=K([J(`public`),J(`private`),J(`secret`)]),jl=Vc(`type`,[G({type:J(`agent_upsert`),agent:Cl}),G({type:J(`agent_offline`),agentId:V()}),G({type:J(`room_upsert`),room:wl}),G({type:J(`room_delete`),roomId:V()}),G({type:J(`message_add`),roomId:V(),message:Tl}),G({type:J(`dm_add`),key:V(),message:El}),G({type:J(`delivery`),agentId:V(),event:kl})]),Ml=G({agents:q(V(),Cl),rooms:q(V(),wl),messages:q(V(),W(Tl)),dms:q(V(),W(El))}),Nl=Vc(`kind`,[G({kind:J(`state_sync`),state:Ml}),G({kind:J(`state_patch`),patch:jl}),G({kind:J(`delivery`),event:kl})]),Pl=G({endpoint:V(),keys:G({p256dh:V(),auth:V()})}),Fl={send:C.input(G({target:V(),content:V()})).output(X),dm:C.input(G({target:V(),content:V()})).output(X),joinRoom:C.input(G({room:V()})).output(X),leaveRoom:C.input(G({room:V().optional()})).output(X),createRoom:C.input(G({name:V(),type:Al,description:V().optional()})).output(X),listRooms:C.input(G({})).output(X),listAgents:C.input(G({})).output(X),readRoom:C.input(G({room:V().optional()})).output(X),destroyRoom:C.input(G({room:V()})).output(X),invite:C.input(G({room:V(),agent:V()})).output(X),declineInvite:C.input(G({room:V(),reason:V()})).output(X),kick:C.input(G({room:V(),agent:V()})).output(X),renameAgent:C.input(G({agent:V(),name:V()})).output(X),pushSubscribe:C.input(G({subscription:Pl,agentId:V().optional()})).output(X),pushUnsubscribe:C.input(G({agentId:V().optional()})).output(X),subscribeEvents:C.input(G({lastEventId:V().optional()})).output(mn(Nl)),disconnect:C.input(G({})).output(G({}))};async function Il(e,t){let n=e=>{let n=t[e];return typeof n==`string`?n:``},r=e=>{let n=t[e];return typeof n==`string`?n:void 0},i=()=>{let e=t.type;return e===`public`||e===`private`||e===`secret`?e:`public`};switch(t.action){case`send`:return e.send({target:n(`target`),content:n(`content`)});case`dm`:return e.dm({target:n(`target`),content:n(`content`)});case`join_room`:return e.joinRoom({room:n(`room`)});case`leave_room`:return e.leaveRoom({room:r(`room`)});case`create_room`:return e.createRoom({name:n(`name`),type:i(),description:r(`description`)});case`list_rooms`:return e.listRooms({});case`list_agents`:return e.listAgents({});case`read_room`:return e.readRoom({room:r(`room`)});case`destroy_room`:return e.destroyRoom({room:n(`room`)});case`invite`:return e.invite({room:n(`room`),agent:n(`agent`)});case`decline_invite`:return e.declineInvite({room:n(`room`),reason:n(`reason`)});case`kick`:return e.kick({room:n(`room`),agent:n(`agent`)});case`rename_agent`:return e.renameAgent({agent:n(`agent`),name:n(`name`)});default:return{content:`Unknown action: ${String(t.action)}`,isError:!0}}}var Z=new Map,Ll=new Map,Rl=new Map,zl=new Map;function Bl(e){for(let[t,n]of Object.entries(e.agents))Z.set(t,n);for(let[t,n]of Object.entries(e.rooms))Ll.set(t,n);for(let[t,n]of Object.entries(e.messages))Rl.set(t,n);for(let[t,n]of Object.entries(e.dms))zl.set(t,n)}function Vl(e){switch(e.type){case`agent_upsert`:Z.set(e.agent.id,e.agent);break;case`agent_offline`:{let t=Z.get(e.agentId);t&&(t.status=`offline`,Z.set(e.agentId,t));break}case`room_upsert`:Ll.set(e.room.id,e.room);break;case`room_delete`:Ll.delete(e.roomId);break;case`message_add`:{let t=Rl.get(e.roomId)??[];t.push(e.message),Rl.set(e.roomId,t);break}case`dm_add`:{let t=zl.get(e.key)??[];t.push(e.message),zl.set(e.key,t);break}case`delivery`:break;case`message_read`:if(e.room!==void 0){let t=Rl.get(e.room);if(t){let n=t.find(t=>t.id===e.messageId);n&&!n.readBy.includes(e.readBy)&&n.readBy.push(e.readBy)}}else for(let[,t]of zl){let n=t.find(t=>t.id===e.messageId);n&&!n.readBy.includes(e.readBy)&&n.readBy.push(e.readBy)}}}function Hl(){return{agents:[...Z.values()],rooms:[...Ll.values()]}}var Ul,Wl=0,Gl=new Zn;function Kl(e){return e.replace(/\/ws\/mesh$/,`/ws/mesh-orpc`)}var ql=1e3,Jl=3e4;function Yl(e){let t=Kl(e),n=wt(new rn({connect:async()=>{let e=new WebSocket(t);return e.addEventListener(`open`,()=>{Ql({type:`connected`})}),e.addEventListener(`close`,()=>{Ql({type:`disconnected`})}),new Promise((t,n)=>{e.addEventListener(`open`,()=>{t(e)},{once:!0}),e.addEventListener(`error`,n,{once:!0})})},reconnect:{enabled:!0,delay:e=>e.attempt===1?0:Math.min(ql*2**e.attempt,Jl)},plugins:[new an]}));Ul=n,Xl(n,++Wl)}async function Xl(e,t){let n;for(;t===Wl;)try{let r=await e.subscribeEvents(n===void 0?{}:{lastEventId:n});for await(let e of r){if(t!==Wl)return;let r=Je(e);switch(r?.id!==void 0&&(n=r.id),Gl.publish(e),e.kind){case`state_sync`:Bl(e.state),Ql({type:`state`,state:Hl()});break;case`state_patch`:Vl(e.patch),Ql({type:`patch`,patch:e.patch})}}return}catch{}}var Zl=new Set;function Ql(e){let t=JSON.stringify(e);for(let e of Zl)try{e.postMessage(t)}catch{}}function $l(e){switch(e.type){case`init`:Yl(e.url);break;case`action`:{let t=Ul;if(!t)break;let n=e.id;Il(t,e.action).then(e=>{Ql({type:`actionResult`,id:n,result:e})}).catch(e=>{Ql({type:`actionError`,id:n,message:e instanceof Error?e.message:String(e)})});break}case`getState`:Ql({type:`state`,state:Hl()})}}function eu(e){if(typeof e!=`object`||!e||!(`type`in e))return!1;let t=e.type;return typeof t==`string`&&(t===`init`||t===`action`||t===`getState`)}function tu(){return{agents:Object.fromEntries(Z),rooms:Object.fromEntries(Ll),messages:Object.fromEntries(Rl),dms:Object.fromEntries(zl)}}async function Q(e){return Ul?Il(Ul,e):{content:`Not connected to mesh yet`,isError:!0}}var $=In(Fl).$context(),nu={};nu.current=new Jn({send:$.send.handler(async({input:e})=>Q({action:`send`,...e})),dm:$.dm.handler(async({input:e})=>Q({action:`dm`,...e})),joinRoom:$.joinRoom.handler(async({input:e})=>Q({action:`join_room`,room:e.room})),leaveRoom:$.leaveRoom.handler(async({input:e})=>Q({action:`leave_room`,room:e.room})),createRoom:$.createRoom.handler(async({input:e})=>Q({action:`create_room`,name:e.name,type:e.type,description:e.description})),listRooms:$.listRooms.handler(async()=>Q({action:`list_rooms`})),listAgents:$.listAgents.handler(async()=>Q({action:`list_agents`})),readRoom:$.readRoom.handler(async({input:e})=>Q({action:`read_room`,room:e.room})),destroyRoom:$.destroyRoom.handler(async({input:e})=>Q({action:`destroy_room`,room:e.room})),invite:$.invite.handler(async({input:e})=>Q({action:`invite`,room:e.room,agent:e.agent})),declineInvite:$.declineInvite.handler(async({input:e})=>Q({action:`decline_invite`,room:e.room,reason:e.reason})),kick:$.kick.handler(async({input:e})=>Q({action:`kick`,room:e.room,agent:e.agent})),renameAgent:$.renameAgent.handler(async({input:e})=>Q({action:`rename_agent`,agent:e.agent,name:e.name})),pushSubscribe:$.pushSubscribe.handler(async({input:e})=>Q({action:`push_subscribe`,subscription:e.subscription,agentId:e.agentId})),pushUnsubscribe:$.pushUnsubscribe.handler(async({input:e})=>Q({action:`push_unsubscribe`,agentId:e.agentId})),subscribeEvents:$.subscribeEvents.handler(async function*({input:e,signal:t}){e.lastEventId===void 0&&(yield{kind:`state_sync`,state:tu()}),yield*Gl.subscribe({...t?{signal:t}:{},...e.lastEventId===void 0?{}:{lastEventId:e.lastEventId}})}),disconnect:$.disconnect.handler(async({context:e})=>(setTimeout(()=>{nu.current?.close(e.port)},0),{}))});function ru(e){nu.current?.upgrade(e,{context:{port:e}})}return typeof self<`u`&&self.addEventListener(`connect`,e=>{let t=e.ports[0];if(t!==void 0){Zl.add(t);try{t.postMessage(JSON.stringify({type:`state`,state:Hl()}))}catch{}t.onmessage=e=>{let t=JSON.parse(typeof e.data==`string`?e.data:String(e.data));eu(t)&&$l(t)},ru(t)}}),e.agents=Z,e.applyPatch=Vl,e.applyStateSync=Bl,e.connect=Yl,e.dms=zl,e.getStateSnapshot=Hl,e.localPublisher=Gl,e.messages=Rl,e.ports=Zl,e.rooms=Ll,e.upgradeTabRpcPort=ru,e})({});
64
+ 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}}}function ms(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)):Object.assign(i,s),Object.assign(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??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);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)}Object.assign(i,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??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}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:gs(t,`input`,e.processors),output:gs(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function R(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 R(r.element,n);if(r.type===`set`)return R(r.valueType,n);if(r.type===`lazy`)return R(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return R(r.innerType,n);if(r.type===`intersection`)return R(r.left,n)||R(r.right,n);if(r.type===`record`||r.type===`map`)return R(r.keyType,n)||R(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:R(r.in,n)||R(r.out,n);if(r.type===`object`){for(let e in r.shape)if(R(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(R(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(R(e,n))return!0;return!!(r.rest&&R(r.rest,n))}return!1}var hs=(e,t={})=>n=>{let r=fs({...n,processors:t});return L(e,r),ps(r,e),ms(r,e)},gs=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=fs({...i??{},target:a,io:t,processors:n});return L(e,o),ps(o,e),ms(o,e)},_s={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},vs=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=_s[s]??s,i.format===``&&delete i.format,s===`time`&&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}))])}},ys=(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`&&(i.multipleOf=c)},bs=(e,t,n,r)=>{n.type=`boolean`},xs=(e,t,n,r)=>{n.not={}},Ss=(e,t,n,r)=>{let i=e._zod.def,a=nr(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Cs=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);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}},ws=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Ts=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Es=(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=L(a.element,t,{...r,path:[...r.path,`items`]})},Ds=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=L(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]._zod;return t.io===`input`?n.optin===void 0:n.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=L(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Os=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>L(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},ks=(e,t,n,r)=>{let i=e._zod.def,a=L(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=L(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},As=(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=L(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else(t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=L(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=L(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},js=(e,t,n,r)=>{let i=e._zod.def,a=L(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`}]},Ms=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ns=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Ps=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Fs=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Is=(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;L(o,t,r);let s=t.seen.get(e);s.ref=o},Ls=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Rs=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},zs=D(`ZodISODateTime`,(e,t)=>{oa.init(e,t),H.init(e,t)});function Bs(e){return No(zs,e)}var Vs=D(`ZodISODate`,(e,t)=>{sa.init(e,t),H.init(e,t)});function Hs(e){return Po(Vs,e)}var Us=D(`ZodISOTime`,(e,t)=>{ca.init(e,t),H.init(e,t)});function Ws(e){return Fo(Us,e)}var Gs=D(`ZodISODuration`,(e,t)=>{la.init(e,t),H.init(e,t)});function Ks(e){return Io(Gs,e)}var z=D(`ZodError`,(e,t)=>{Fr.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Rr(e,t)},flatten:{value:t=>Lr(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,rr,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,rr,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),qs=zr(z),Js=Br(z),Ys=Vr(z),Xs=Ur(z),Zs=Gr(z),Qs=Kr(z),$s=qr(z),ec=Jr(z),tc=Yr(z),nc=Xr(z),rc=Zr(z),ic=Qr(z),ac=new WeakMap;function oc(e,t,n){let r=Object.getPrototypeOf(e),i=ac.get(r);if(i||(i=new Set,ac.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var B=D(`ZodType`,(e,t)=>(F.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:gs(e,`input`),output:gs(e,`output`)}}),e.toJSONSchema=hs(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>qs(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Ys(e,t,n),e.parseAsync=async(t,n)=>Js(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Xs(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Zs(e,t,n),e.decode=(t,n)=>Qs(e,t,n),e.encodeAsync=async(t,n)=>$s(e,t,n),e.decodeAsync=async(t,n)=>ec(e,t,n),e.safeEncode=(t,n)=>tc(e,t,n),e.safeDecode=(t,n)=>nc(e,t,n),e.safeEncodeAsync=async(t,n)=>rc(e,t,n),e.safeDecodeAsync=async(t,n)=>ic(e,t,n),oc(e,`ZodType`,{check(...e){let t=this.def;return this.clone(A(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 j(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(hl(e,t))},superRefine(e,t){return this.check(gl(e,t))},overwrite(e){return this.check(ns(e))},optional(){return Zc(this)},exactOptional(){return $c(this)},nullable(){return tl(this)},nullish(){return Zc(tl(this))},nonoptional(e){return sl(this,e)},array(){return W(this)},or(e){return K([this,e])},and(e){return Uc(this,e)},transform(e){return dl(this,Yc(e))},default(e){return rl(this,e)},prefault(e){return al(this,e)},catch(e){return ll(this,e)},pipe(e){return dl(this,e)},readonly(){return pl(this)},describe(e){let t=this.clone();return co.add(t,{description:e}),t},meta(...e){if(e.length===0)return co.get(this);let t=this.clone();return co.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return co.get(e)?.description},configurable:!0}),e)),sc=D(`_ZodString`,(e,t)=>{Ji.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,oc(e,`_ZodString`,{regex(...e){return this.check(Xo(...e))},includes(...e){return this.check($o(...e))},startsWith(...e){return this.check(es(...e))},endsWith(...e){return this.check(ts(...e))},min(...e){return this.check(Jo(...e))},max(...e){return this.check(qo(...e))},length(...e){return this.check(Yo(...e))},nonempty(...e){return this.check(Jo(1,...e))},lowercase(e){return this.check(Zo(e))},uppercase(e){return this.check(Qo(e))},trim(){return this.check(is())},normalize(...e){return this.check(rs(...e))},toLowerCase(){return this.check(as())},toUpperCase(){return this.check(os())},slugify(){return this.check(ss())}})}),cc=D(`ZodString`,(e,t)=>{Ji.init(e,t),sc.init(e,t),e.email=t=>e.check(uo(lc,t)),e.url=t=>e.check(_o(fc,t)),e.jwt=t=>e.check(Mo(Dc,t)),e.emoji=t=>e.check(vo(pc,t)),e.guid=t=>e.check(fo(uc,t)),e.uuid=t=>e.check(po(dc,t)),e.uuidv4=t=>e.check(mo(dc,t)),e.uuidv6=t=>e.check(ho(dc,t)),e.uuidv7=t=>e.check(go(dc,t)),e.nanoid=t=>e.check(yo(mc,t)),e.guid=t=>e.check(fo(uc,t)),e.cuid=t=>e.check(bo(hc,t)),e.cuid2=t=>e.check(xo(gc,t)),e.ulid=t=>e.check(So(_c,t)),e.base64=t=>e.check(ko(wc,t)),e.base64url=t=>e.check(Ao(Tc,t)),e.xid=t=>e.check(Co(vc,t)),e.ksuid=t=>e.check(wo(yc,t)),e.ipv4=t=>e.check(To(bc,t)),e.ipv6=t=>e.check(Eo(xc,t)),e.cidrv4=t=>e.check(Do(Sc,t)),e.cidrv6=t=>e.check(Oo(Cc,t)),e.e164=t=>e.check(jo(Ec,t)),e.datetime=t=>e.check(Bs(t)),e.date=t=>e.check(Hs(t)),e.time=t=>e.check(Ws(t)),e.duration=t=>e.check(Ks(t))});function V(e){return lo(cc,e)}var H=D(`ZodStringFormat`,(e,t)=>{I.init(e,t),sc.init(e,t)}),lc=D(`ZodEmail`,(e,t)=>{Zi.init(e,t),H.init(e,t)}),uc=D(`ZodGUID`,(e,t)=>{Yi.init(e,t),H.init(e,t)}),dc=D(`ZodUUID`,(e,t)=>{Xi.init(e,t),H.init(e,t)}),fc=D(`ZodURL`,(e,t)=>{Qi.init(e,t),H.init(e,t)}),pc=D(`ZodEmoji`,(e,t)=>{$i.init(e,t),H.init(e,t)}),mc=D(`ZodNanoID`,(e,t)=>{ea.init(e,t),H.init(e,t)}),hc=D(`ZodCUID`,(e,t)=>{ta.init(e,t),H.init(e,t)}),gc=D(`ZodCUID2`,(e,t)=>{na.init(e,t),H.init(e,t)}),_c=D(`ZodULID`,(e,t)=>{ra.init(e,t),H.init(e,t)}),vc=D(`ZodXID`,(e,t)=>{ia.init(e,t),H.init(e,t)}),yc=D(`ZodKSUID`,(e,t)=>{aa.init(e,t),H.init(e,t)}),bc=D(`ZodIPv4`,(e,t)=>{ua.init(e,t),H.init(e,t)}),xc=D(`ZodIPv6`,(e,t)=>{da.init(e,t),H.init(e,t)}),Sc=D(`ZodCIDRv4`,(e,t)=>{fa.init(e,t),H.init(e,t)}),Cc=D(`ZodCIDRv6`,(e,t)=>{pa.init(e,t),H.init(e,t)}),wc=D(`ZodBase64`,(e,t)=>{ha.init(e,t),H.init(e,t)}),Tc=D(`ZodBase64URL`,(e,t)=>{_a.init(e,t),H.init(e,t)}),Ec=D(`ZodE164`,(e,t)=>{va.init(e,t),H.init(e,t)}),Dc=D(`ZodJWT`,(e,t)=>{ba.init(e,t),H.init(e,t)}),Oc=D(`ZodNumber`,(e,t)=>{xa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(e,t,n,r),oc(e,`ZodNumber`,{gt(e,t){return this.check(Wo(e,t))},gte(e,t){return this.check(Go(e,t))},min(e,t){return this.check(Go(e,t))},lt(e,t){return this.check(Ho(e,t))},lte(e,t){return this.check(Uo(e,t))},max(e,t){return this.check(Uo(e,t))},int(e){return this.check(Ac(e))},safe(e){return this.check(Ac(e))},positive(e){return this.check(Wo(0,e))},nonnegative(e){return this.check(Go(0,e))},negative(e){return this.check(Ho(0,e))},nonpositive(e){return this.check(Uo(0,e))},multipleOf(e,t){return this.check(Ko(e,t))},step(e,t){return this.check(Ko(e,t))},finite(){return this}});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});function U(e){return Lo(Oc,e)}var kc=D(`ZodNumberFormat`,(e,t)=>{Sa.init(e,t),Oc.init(e,t)});function Ac(e){return Ro(kc,e)}var jc=D(`ZodBoolean`,(e,t)=>{Ca.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bs(e,t,n,r)});function Mc(e){return zo(jc,e)}var Nc=D(`ZodUnknown`,(e,t)=>{wa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Pc(){return Bo(Nc)}var Fc=D(`ZodNever`,(e,t)=>{Ta.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xs(e,t,n,r)});function Ic(e){return Vo(Fc,e)}var Lc=D(`ZodArray`,(e,t)=>{Da.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Es(e,t,n,r),e.element=t.element,oc(e,`ZodArray`,{min(e,t){return this.check(Jo(e,t))},nonempty(e){return this.check(Jo(1,e))},max(e,t){return this.check(qo(e,t))},length(e,t){return this.check(Yo(e,t))},unwrap(){return this.element}})});function W(e,t){return cs(Lc,e,t)}var Rc=D(`ZodObject`,(e,t)=>{Ma.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ds(e,t,n,r),k(e,`shape`,()=>t.shape),oc(e,`ZodObject`,{keyof(){return Kc(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Pc()})},loose(){return this.clone({...this._zod.def,catchall:Pc()})},strict(){return this.clone({...this._zod.def,catchall:Ic()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Cr(this,e)},safeExtend(e){return wr(this,e)},merge(e){return Tr(this,e)},pick(e){return xr(this,e)},omit(e){return Sr(this,e)},partial(...e){return Er(Xc,this,e[0])},required(...e){return Dr(ol,this,e[0])}})});function G(e,t){return new Rc({type:`object`,shape:e??{},...M(t)})}var zc=D(`ZodUnion`,(e,t)=>{Pa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Os(e,t,n,r),e.options=t.options});function K(e,t){return new zc({type:`union`,options:e,...M(t)})}var Bc=D(`ZodDiscriminatedUnion`,(e,t)=>{zc.init(e,t),Fa.init(e,t)});function Vc(e,t,n){return new Bc({type:`union`,options:t,discriminator:e,...M(n)})}var Hc=D(`ZodIntersection`,(e,t)=>{Ia.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ks(e,t,n,r)});function Uc(e,t){return new Hc({type:`intersection`,left:e,right:t})}var Wc=D(`ZodRecord`,(e,t)=>{za.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>As(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function q(e,t,n){return!t||!t._zod?new Wc({type:`record`,keyType:V(),valueType:e,...M(t)}):new Wc({type:`record`,keyType:e,valueType:t,...M(n)})}var Gc=D(`ZodEnum`,(e,t)=>{Ba.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ss(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 Gc({...t,checks:[],...M(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 Gc({...t,checks:[],...M(r),entries:i})}});function Kc(e,t){return new Gc({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...M(t)})}var qc=D(`ZodLiteral`,(e,t)=>{Va.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(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 J(e,t){return new qc({type:`literal`,values:Array.isArray(e)?e:[e],...M(t)})}var Jc=D(`ZodTransform`,(e,t)=>{Ha.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ts(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new er(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Nr(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Nr(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function Yc(e){return new Jc({type:`transform`,transform:e})}var Xc=D(`ZodOptional`,(e,t)=>{Wa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zc(e){return new Xc({type:`optional`,innerType:e})}var Qc=D(`ZodExactOptional`,(e,t)=>{Ga.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $c(e){return new Qc({type:`optional`,innerType:e})}var el=D(`ZodNullable`,(e,t)=>{Ka.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>js(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tl(e){return new el({type:`nullable`,innerType:e})}var nl=D(`ZodDefault`,(e,t)=>{qa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function rl(e,t){return new nl({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():gr(t)}})}var il=D(`ZodPrefault`,(e,t)=>{Ya.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ps(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function al(e,t){return new il({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():gr(t)}})}var ol=D(`ZodNonOptional`,(e,t)=>{Xa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ms(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function sl(e,t){return new ol({type:`nonoptional`,innerType:e,...M(t)})}var cl=D(`ZodCatch`,(e,t)=>{Qa.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ll(e,t){return new cl({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var ul=D(`ZodPipe`,(e,t)=>{$a.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Is(e,t,n,r),e.in=t.in,e.out=t.out});function dl(e,t){return new ul({type:`pipe`,in:e,out:t})}var fl=D(`ZodReadonly`,(e,t)=>{to.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function pl(e){return new fl({type:`readonly`,innerType:e})}var ml=D(`ZodCustom`,(e,t)=>{ro.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ws(e,t,n,r)});function hl(e,t={}){return ls(ml,e,t)}function gl(e,t){return us(e,t)}function _l(e){return`is`in e&&typeof e.is==`function`}function Y(e){if(Object.defineProperty(e,"is",{value:t=>e.safeParse(t).success,enumerable:!0}),!_l(e))throw Error(`unreachable: is was just defined above`);return e}var vl=Y(K([J(`discoverable`),J(`quiet`),J(`dark`)])),yl=Y(K([J(`visible`),J(`hidden`),J(`ghost`)])),bl=Y(K([J(`active`),J(`idle`),J(`busy`),J(`offline`)])),xl=Y(K([J(`public`),J(`private`),J(`secret`)])),Sl=Y(K([J(`steer`),J(`followUp`),J(`info`)])),Cl=Y(G({id:V(),version:U(),name:V(),harness:V(),cwd:V(),pid:U(),startedAt:V(),visibility:yl,status:bl,tags:W(V()),subscribedRooms:W(V())})),wl=Y(G({id:V(),version:U(),name:V(),type:xl,owner:V(),createdAt:V(),description:V(),members:W(V()),invited:W(V()),memberJoins:q(V(),U()),memberLeaves:q(V(),U()),invitedJoins:q(V(),U()),invitedLeaves:q(V(),U())})),Tl=Y(G({id:V(),from:V(),room:V(),content:V(),timestamp:V(),replyTo:V().optional(),readBy:W(V()),streamingBehavior:Sl.optional()})),El=Y(G({id:V(),from:V(),to:V(),content:V(),timestamp:V(),readBy:W(V()),streamingBehavior:Sl.optional()})),Dl=Y(K([J(`delivered`),J(`read`)])),Ol=Y(G({id:V(),name:V(),status:bl})),kl=Y(Vc(`type`,[G({type:J(`room_message`),message:Tl}),G({type:J(`dm`),message:El}),G({type:J(`room_invite`),room:V(),roomDescription:V(),from:V(),fromName:V(),fromCwd:V()}),G({type:J(`member_joined`),room:V(),agent:V()}),G({type:J(`member_left`),room:V(),agent:V()}),G({type:J(`room_members`),room:V(),members:W(Ol)}),G({type:J(`member_status`),room:V(),agent:V(),status:bl}),G({type:J(`delivery_status`),messageId:V(),agent:V(),status:Dl,room:V().optional()}),G({type:J(`invite_declined`),room:V(),agent:V(),agentName:V(),reason:V()}),G({type:J(`name_changed`),agent:V(),oldName:V(),newName:V()}),G({type:J(`connection_request`),connectionId:V(),peerId:V(),dataPort:U(),name:V(),fingerprint:V()}),G({type:J(`capability_request`),requestId:V(),capability:V(),scopeKind:V(),scopePath:V().optional(),requesterDevice:V()})]));Y(G({code:V(),expiresAt:V(),deviceId:V(),signature:V().optional()})),Y(Vc(`action`,[G({action:J(`register`),name:V(),visibility:yl,tags:W(V())}),G({action:J(`update`),visibility:yl.optional(),status:bl.optional(),name:V().optional(),tags:W(V()).optional()}),G({action:J(`whoami`)}),G({action:J(`web_url`)}),G({action:J(`create_room`),name:V(),type:xl,description:V()}),G({action:J(`list_rooms`)}),G({action:J(`join_room`),room:V()}),G({action:J(`leave_room`),room:V()}),G({action:J(`send`),target:V(),content:V(),replyTo:V().optional(),streamingBehavior:Sl.optional()}),G({action:J(`dm`),target:V(),content:V(),streamingBehavior:Sl.optional()}),G({action:J(`list_agents`)}),G({action:J(`read_room`),room:V(),since:V().optional()}),G({action:J(`invite`),room:V(),agent:V()}),G({action:J(`kick`),room:V(),agent:V()}),G({action:J(`decline_invite`),room:V(),reason:V()}),G({action:J(`destroy_room`),room:V()}),G({action:J(`mesh_connect`),host:V(),port:U(),policy:V().optional()}),G({action:J(`mesh_accept`),connectionId:V()}),G({action:J(`mesh_reject`),connectionId:V(),reason:V()}),G({action:J(`mesh_pending`)}),G({action:J(`room_accept`),room:V(),requesterId:V()}),G({action:J(`room_reject`),room:V(),requesterId:V(),reason:V().optional()}),G({action:J(`room_pending`)}),G({action:J(`capability_accept`),requestId:V(),expires:U(),delegationsRemaining:U().optional(),capability:V().optional()}),G({action:J(`capability_reject`),requestId:V(),reason:V().optional()}),G({action:J(`capability_pending`)}),G({action:J(`mesh_discover`),method:V().optional()}),G({action:J(`mesh_advertise`),method:V(),name:V(),port:U().optional(),adapter:V().optional()}),G({action:J(`mesh_unadvertise`),id:V()}),G({action:J(`mesh_interfaces`)}),G({action:J(`mesh_listen`),host:V(),port:U().optional(),policy:V().optional()}),G({action:J(`mesh_unlisten`),id:V()}),G({action:J(`mesh_listeners`)}),G({action:J(`mesh_set_visibility`),visibility:vl,adapter:V().optional()}),G({action:J(`mesh_get_visibility`)}),G({action:J(`gateway_trust`),device:V(),principal:Mc().optional()}),G({action:J(`gateway_untrust`),device:V(),principal:Mc().optional()}),G({action:J(`gateway_list_trusted`)}),G({action:J(`gateway_generate_connection_code`),ttlMs:U().optional(),privateKey:V().optional(),passphrase:V().optional()}),G({action:J(`gateway_redeem_connection_code`),code:V(),expiresAt:V(),device:V(),signature:V().optional(),publicKey:V().optional(),fingerprint:V().optional()}),G({action:J(`query_version`),device:V()}),G({action:J(`mesh_graph`)}),G({action:J(`mesh_trace`),target:V(),timeoutMs:U().optional()})]));var X=G({content:V(),isError:Mc()}),Al=K([J(`public`),J(`private`),J(`secret`)]),jl=Vc(`type`,[G({type:J(`agent_upsert`),agent:Cl}),G({type:J(`agent_offline`),agentId:V()}),G({type:J(`room_upsert`),room:wl}),G({type:J(`room_delete`),roomId:V()}),G({type:J(`message_add`),roomId:V(),message:Tl}),G({type:J(`dm_add`),key:V(),message:El}),G({type:J(`delivery`),agentId:V(),event:kl})]),Ml=G({agents:q(V(),Cl),rooms:q(V(),wl),messages:q(V(),W(Tl)),dms:q(V(),W(El))}),Nl=Vc(`kind`,[G({kind:J(`state_sync`),state:Ml}),G({kind:J(`state_patch`),patch:jl}),G({kind:J(`delivery`),event:kl})]),Pl=G({endpoint:V(),keys:G({p256dh:V(),auth:V()})}),Fl={send:C.input(G({target:V(),content:V()})).output(X),dm:C.input(G({target:V(),content:V()})).output(X),joinRoom:C.input(G({room:V()})).output(X),leaveRoom:C.input(G({room:V().optional()})).output(X),createRoom:C.input(G({name:V(),type:Al,description:V().optional()})).output(X),listRooms:C.input(G({})).output(X),listAgents:C.input(G({})).output(X),readRoom:C.input(G({room:V().optional()})).output(X),destroyRoom:C.input(G({room:V()})).output(X),invite:C.input(G({room:V(),agent:V()})).output(X),declineInvite:C.input(G({room:V(),reason:V()})).output(X),kick:C.input(G({room:V(),agent:V()})).output(X),renameAgent:C.input(G({agent:V(),name:V()})).output(X),pushSubscribe:C.input(G({subscription:Pl,agentId:V().optional()})).output(X),pushUnsubscribe:C.input(G({agentId:V().optional()})).output(X),subscribeEvents:C.input(G({lastEventId:V().optional()})).output(mn(Nl)),disconnect:C.input(G({})).output(G({}))};function Il(e){if(typeof e!=`object`||!e||!(`endpoint`in e)||typeof e.endpoint!=`string`||!(`keys`in e))return!1;let t=e.keys;return!(typeof t!=`object`||!t||!(`p256dh`in t)||typeof t.p256dh!=`string`||!(`auth`in t)||typeof t.auth!=`string`)}async function Ll(e,t){let n=e=>{let n=t[e];return typeof n==`string`?n:``},r=e=>{let n=t[e];return typeof n==`string`?n:void 0},i=()=>{let e=t.type;return e===`public`||e===`private`||e===`secret`?e:`public`};switch(t.action){case`send`:return e.send({target:n(`target`),content:n(`content`)});case`dm`:return e.dm({target:n(`target`),content:n(`content`)});case`join_room`:return e.joinRoom({room:n(`room`)});case`leave_room`:return e.leaveRoom({room:r(`room`)});case`create_room`:return e.createRoom({name:n(`name`),type:i(),description:r(`description`)});case`list_rooms`:return e.listRooms({});case`list_agents`:return e.listAgents({});case`read_room`:return e.readRoom({room:r(`room`)});case`destroy_room`:return e.destroyRoom({room:n(`room`)});case`invite`:return e.invite({room:n(`room`),agent:n(`agent`)});case`decline_invite`:return e.declineInvite({room:n(`room`),reason:n(`reason`)});case`kick`:return e.kick({room:n(`room`),agent:n(`agent`)});case`rename_agent`:return e.renameAgent({agent:n(`agent`),name:n(`name`)});case`push_subscribe`:{let n=t.subscription;return Il(n)?e.pushSubscribe({subscription:n,agentId:r(`agentId`)}):{content:`Invalid push subscription`,isError:!0}}case`push_unsubscribe`:return e.pushUnsubscribe({agentId:r(`agentId`)});default:return{content:`Unknown action: ${String(t.action)}`,isError:!0}}}var Z=new Map,Rl=new Map,zl=new Map,Bl=new Map;function Vl(e){for(let[t,n]of Object.entries(e.agents))Z.set(t,n);for(let[t,n]of Object.entries(e.rooms))Rl.set(t,n);for(let[t,n]of Object.entries(e.messages))zl.set(t,n);for(let[t,n]of Object.entries(e.dms))Bl.set(t,n)}function Hl(e){switch(e.type){case`agent_upsert`:Z.set(e.agent.id,e.agent);break;case`agent_offline`:{let t=Z.get(e.agentId);t&&(t.status=`offline`,Z.set(e.agentId,t));break}case`room_upsert`:Rl.set(e.room.id,e.room);break;case`room_delete`:Rl.delete(e.roomId);break;case`message_add`:{let t=zl.get(e.roomId)??[];t.push(e.message),zl.set(e.roomId,t);break}case`dm_add`:{let t=Bl.get(e.key)??[];t.push(e.message),Bl.set(e.key,t);break}case`delivery`:break;case`message_read`:if(e.room!==void 0){let t=zl.get(e.room);if(t){let n=t.find(t=>t.id===e.messageId);n&&!n.readBy.includes(e.readBy)&&n.readBy.push(e.readBy)}}else for(let[,t]of Bl){let n=t.find(t=>t.id===e.messageId);n&&!n.readBy.includes(e.readBy)&&n.readBy.push(e.readBy)}}}function Ul(){return{agents:[...Z.values()],rooms:[...Rl.values()]}}var Wl,Gl=0,Kl=new Zn,ql=1e3,Jl=3e4;function Yl(e){let t=wt(new rn({connect:async()=>{let t=new WebSocket(e);return t.addEventListener(`open`,()=>{Ql({type:`connected`})}),t.addEventListener(`close`,()=>{Ql({type:`disconnected`})}),new Promise((e,n)=>{t.addEventListener(`open`,()=>{e(t)},{once:!0}),t.addEventListener(`error`,n,{once:!0})})},reconnect:{enabled:!0,delay:e=>e.attempt===1?0:Math.min(ql*2**e.attempt,Jl)},plugins:[new an]}));Wl=t,Xl(t,++Gl)}async function Xl(e,t){let n;for(;t===Gl;)try{let r=await e.subscribeEvents(n===void 0?{}:{lastEventId:n});for await(let e of r){if(t!==Gl)return;let r=Je(e);switch(r?.id!==void 0&&(n=r.id),Kl.publish(e),e.kind){case`state_sync`:Vl(e.state),Ql({type:`state`,state:Ul()});break;case`state_patch`:Hl(e.patch),Ql({type:`patch`,patch:e.patch})}}return}catch{}}var Zl=new Set;function Ql(e){let t=JSON.stringify(e);for(let e of Zl)try{e.postMessage(t)}catch{}}function $l(e){switch(e.type){case`init`:Yl(e.url);break;case`action`:{let t=Wl;if(!t)break;let n=e.id;Ll(t,e.action).then(e=>{Ql({type:`actionResult`,id:n,result:e})}).catch(e=>{Ql({type:`actionError`,id:n,message:e instanceof Error?e.message:String(e)})});break}case`getState`:Ql({type:`state`,state:Ul()})}}function eu(e){if(typeof e!=`object`||!e||!(`type`in e))return!1;let t=e.type;return typeof t==`string`&&(t===`init`||t===`action`||t===`getState`)}function tu(){return{agents:Object.fromEntries(Z),rooms:Object.fromEntries(Rl),messages:Object.fromEntries(zl),dms:Object.fromEntries(Bl)}}async function Q(e){return Wl?Ll(Wl,e):{content:`Not connected to mesh yet`,isError:!0}}var $=In(Fl).$context(),nu={};nu.current=new Jn({send:$.send.handler(async({input:e})=>Q({action:`send`,...e})),dm:$.dm.handler(async({input:e})=>Q({action:`dm`,...e})),joinRoom:$.joinRoom.handler(async({input:e})=>Q({action:`join_room`,room:e.room})),leaveRoom:$.leaveRoom.handler(async({input:e})=>Q({action:`leave_room`,room:e.room})),createRoom:$.createRoom.handler(async({input:e})=>Q({action:`create_room`,name:e.name,type:e.type,description:e.description})),listRooms:$.listRooms.handler(async()=>Q({action:`list_rooms`})),listAgents:$.listAgents.handler(async()=>Q({action:`list_agents`})),readRoom:$.readRoom.handler(async({input:e})=>Q({action:`read_room`,room:e.room})),destroyRoom:$.destroyRoom.handler(async({input:e})=>Q({action:`destroy_room`,room:e.room})),invite:$.invite.handler(async({input:e})=>Q({action:`invite`,room:e.room,agent:e.agent})),declineInvite:$.declineInvite.handler(async({input:e})=>Q({action:`decline_invite`,room:e.room,reason:e.reason})),kick:$.kick.handler(async({input:e})=>Q({action:`kick`,room:e.room,agent:e.agent})),renameAgent:$.renameAgent.handler(async({input:e})=>Q({action:`rename_agent`,agent:e.agent,name:e.name})),pushSubscribe:$.pushSubscribe.handler(async({input:e})=>Q({action:`push_subscribe`,subscription:e.subscription,agentId:e.agentId})),pushUnsubscribe:$.pushUnsubscribe.handler(async({input:e})=>Q({action:`push_unsubscribe`,agentId:e.agentId})),subscribeEvents:$.subscribeEvents.handler(async function*({input:e,signal:t}){e.lastEventId===void 0&&(yield{kind:`state_sync`,state:tu()}),yield*Kl.subscribe({...t?{signal:t}:{},...e.lastEventId===void 0?{}:{lastEventId:e.lastEventId}})}),disconnect:$.disconnect.handler(async({context:e})=>(setTimeout(()=>{nu.current?.close(e.port)},0),{}))});function ru(e){nu.current?.upgrade(e,{context:{port:e}})}return typeof self<`u`&&self.addEventListener(`connect`,e=>{let t=e.ports[0];if(t!==void 0){Zl.add(t);try{t.postMessage(JSON.stringify({type:`state`,state:Ul()}))}catch{}t.onmessage=e=>{let t=JSON.parse(typeof e.data==`string`?e.data:String(e.data));eu(t)&&$l(t)},ru(t)}}),e.agents=Z,e.applyPatch=Hl,e.applyStateSync=Vl,e.connect=Yl,e.dms=Bl,e.getStateSnapshot=Ul,e.localPublisher=Kl,e.messages=zl,e.ports=Zl,e.rooms=Rl,e.upgradeTabRpcPort=ru,e})({});
@@ -1 +1 @@
1
- var e=`agent-comms-v1`,t=[{"revision":"8a4992468857b25c713cb4e44a32c2c1","url":"mesh-worker.js"},{"revision":"f1ee3afb8c9e8f0d7315fd93d6457316","url":"index.html"},{"revision":"36c03e56733856c1b2136805b421e1b0","url":"bundle.js"}].map(e=>e.url);self.addEventListener(`install`,n=>{n.waitUntil(self.caches.open(e).then(async e=>e.addAll(t)).then(async()=>self.skipWaiting()))}),self.addEventListener(`activate`,t=>{t.waitUntil(self.caches.keys().then(async t=>Promise.all(t.filter(t=>t!==e).map(async e=>self.caches.delete(e)))))});var n=200,r=300;function i(e,t){return e.method===`GET`&&t.status>=n&&t.status<r}self.addEventListener(`fetch`,t=>{if(new URL(t.request.url).pathname.startsWith(`/api/`)){t.respondWith(fetch(t.request).then(n=>{if(i(t.request,n)){let r=n.clone();self.caches.open(e).then(async e=>e.put(t.request,r))}return n}).catch(async()=>self.caches.open(e).then(async e=>e.match(t.request)).then(e=>e??new Response(`Offline`,{status:503}))));return}t.respondWith(self.caches.open(e).then(async e=>e.match(t.request)).then(async n=>n||fetch(t.request).then(n=>{if(i(t.request,n)){let r=n.clone();self.caches.open(e).then(async e=>e.put(t.request,r))}return n})))}),self.addEventListener(`push`,e=>{let t=`Agent Comms`,n=`New message`;if(e.data)try{let r=e.data.json();typeof r.title==`string`&&(t=r.title),typeof r.body==`string`&&(n=r.body)}catch{let t=e.data.text();t&&(n=t)}e.waitUntil(self.registration.showNotification(t,{body:n,data:{url:self.location.origin}}))}),self.addEventListener(`notificationclick`,e=>{e.notification.close();let t=e.notification.data,n=typeof t==`object`&&t&&`url`in t&&typeof t.url==`string`?t.url:self.location.origin;e.waitUntil(self.clients.matchAll({type:`window`,includeUncontrolled:!0}).then(async e=>{for(let t of e)if(t.url===n&&`focus`in t)return t.focus();return self.clients.openWindow(n)}))});
1
+ var e=`agent-comms-v1`,t=[{"revision":"2c1bbbd07d58db2677439d754952ce28","url":"mesh-worker.js"},{"revision":"f1ee3afb8c9e8f0d7315fd93d6457316","url":"index.html"},{"revision":"b597247ded168538cc8fa228b7240a48","url":"bundle.js"}].map(e=>e.url);self.addEventListener(`install`,n=>{n.waitUntil(self.caches.open(e).then(async e=>e.addAll(t)).then(async()=>self.skipWaiting()))}),self.addEventListener(`activate`,t=>{t.waitUntil(self.caches.keys().then(async t=>Promise.all(t.filter(t=>t!==e).map(async e=>self.caches.delete(e)))))});var n=200,r=300;function i(e,t){return e.method===`GET`&&t.status>=n&&t.status<r}self.addEventListener(`fetch`,t=>{if(new URL(t.request.url).pathname.startsWith(`/api/`)){t.respondWith(fetch(t.request).then(n=>{if(i(t.request,n)){let r=n.clone();self.caches.open(e).then(async e=>e.put(t.request,r))}return n}).catch(async()=>self.caches.open(e).then(async e=>e.match(t.request)).then(e=>e??new Response(`Offline`,{status:503}))));return}t.respondWith(self.caches.open(e).then(async e=>e.match(t.request)).then(async n=>n||fetch(t.request).then(n=>{if(i(t.request,n)){let r=n.clone();self.caches.open(e).then(async e=>e.put(t.request,r))}return n})))}),self.addEventListener(`push`,e=>{let t=`Agent Comms`,n=`New message`;if(e.data)try{let r=e.data.json();typeof r.title==`string`&&(t=r.title),typeof r.body==`string`&&(n=r.body)}catch{let t=e.data.text();t&&(n=t)}e.waitUntil(self.registration.showNotification(t,{body:n,data:{url:self.location.origin}}))}),self.addEventListener(`notificationclick`,e=>{e.notification.close();let t=e.notification.data,n=typeof t==`object`&&t&&`url`in t&&typeof t.url==`string`?t.url:self.location.origin;e.waitUntil(self.clients.matchAll({type:`window`,includeUncontrolled:!0}).then(async e=>{for(let t of e)if(t.url===n&&`focus`in t)return t.focus();return self.clients.openWindow(n)}))});
@@ -5,6 +5,6 @@
5
5
  */
6
6
  import type { ContractRouterClient } from "@orpc/contract";
7
7
  import type { meshContract, ActionResult } from "../contract.js";
8
- export type ActionDispatchClient = Pick<ContractRouterClient<typeof meshContract>, "send" | "dm" | "joinRoom" | "leaveRoom" | "createRoom" | "listRooms" | "listAgents" | "readRoom" | "destroyRoom" | "invite" | "declineInvite" | "kick" | "renameAgent">;
8
+ export type ActionDispatchClient = Pick<ContractRouterClient<typeof meshContract>, "send" | "dm" | "joinRoom" | "leaveRoom" | "createRoom" | "listRooms" | "listAgents" | "readRoom" | "destroyRoom" | "invite" | "declineInvite" | "kick" | "renameAgent" | "pushSubscribe" | "pushUnsubscribe">;
9
9
  export declare function dispatchAction(client: Readonly<ActionDispatchClient>, action: Readonly<Record<string, unknown>>): Promise<ActionResult>;
10
10
  //# sourceMappingURL=dispatch-action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-action.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/dispatch-action.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,oBAAoB,CAAC,OAAO,YAAY,CAAC,EACvC,MAAM,GACN,IAAI,GACJ,UAAU,GACV,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,UAAU,GACV,aAAa,GACb,QAAQ,GACR,eAAe,GACf,MAAM,GACN,aAAa,CAChB,CAAC;AAEF,wBAAsB,cAAc,CAClC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EACtC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,OAAO,CAAC,YAAY,CAAC,CAwDvB"}
1
+ {"version":3,"file":"dispatch-action.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/dispatch-action.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,oBAAoB,CAAC,OAAO,YAAY,CAAC,EACvC,MAAM,GACN,IAAI,GACJ,UAAU,GACV,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,UAAU,GACV,aAAa,GACb,QAAQ,GACR,eAAe,GACf,MAAM,GACN,aAAa,GACb,eAAe,GACf,iBAAiB,CACpB,CAAC;AAiBF,wBAAsB,cAAc,CAClC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EACtC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,OAAO,CAAC,YAAY,CAAC,CAiEvB"}
@@ -3,6 +3,23 @@
3
3
  *
4
4
  * Generic over any client built from a contract that includes meshContract's own 13 action procedures -- both mesh-worker.ts's upstream client (MeshOrpcClient, built from the real server's meshContract) and mesh-client.ts's own client (built from tab-contract.ts's TabContract, which spreads meshContract's procedures verbatim) satisfy this structurally, so the same mapping serves both call sites instead of being hand-duplicated a second time.
5
5
  */
6
+ /** The exact subscription shape meshContract's pushSubscribe procedure requires -- mirrors actions.ts's own server-side isPushSubscription guard, since a flat action object's `subscription` field arrives as unknown here too. */
7
+ function isPushSubscriptionLike(value) {
8
+ if (typeof value !== "object" || value === null)
9
+ return false;
10
+ if (!("endpoint" in value) || typeof value.endpoint !== "string")
11
+ return false;
12
+ if (!("keys" in value))
13
+ return false;
14
+ const keys = value.keys;
15
+ if (typeof keys !== "object" || keys === null)
16
+ return false;
17
+ if (!("p256dh" in keys) || typeof keys.p256dh !== "string")
18
+ return false;
19
+ if (!("auth" in keys) || typeof keys.auth !== "string")
20
+ return false;
21
+ return true;
22
+ }
6
23
  export async function dispatchAction(client, action) {
7
24
  const str = (key) => {
8
25
  const value = action[key];
@@ -52,6 +69,15 @@ export async function dispatchAction(client, action) {
52
69
  return client.kick({ room: str("room"), agent: str("agent") });
53
70
  case "rename_agent":
54
71
  return client.renameAgent({ agent: str("agent"), name: str("name") });
72
+ case "push_subscribe": {
73
+ const subscription = action.subscription;
74
+ if (!isPushSubscriptionLike(subscription)) {
75
+ return { content: "Invalid push subscription", isError: true };
76
+ }
77
+ return client.pushSubscribe({ subscription, agentId: optStr("agentId") });
78
+ }
79
+ case "push_unsubscribe":
80
+ return client.pushUnsubscribe({ agentId: optStr("agentId") });
55
81
  default:
56
82
  return {
57
83
  content: `Unknown action: ${String(action.action)}`,
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-action.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/dispatch-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-action.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/dispatch-action.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-worker.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesh-worker.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"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"}
@@ -103,18 +103,14 @@ let orpcClient;
103
103
  let eventPumpGeneration = 0;
104
104
  /** Republishes every event this worker receives from the real server to any tab subscribed via the worker's own oRPC downstream (tab-contract.ts's subscribeEvents). Resumable the same way the server's own publisher is -- a tab's oRPC client can reconnect to this worker (a new MessagePort, or the same one after a drop) and resume from its own lastEventId. */
105
105
  export const localPublisher = new MeshEventPublisher();
106
- function toOrpcUrl(legacyMeshUrl) {
107
- return legacyMeshUrl.replace(/\/ws\/mesh$/, "/ws/mesh-orpc");
108
- }
109
106
  /** Base delay for the reconnect backoff, doubled per attempt and capped at RECONNECT_MAX_DELAY_MS. */
110
107
  const RECONNECT_BASE_DELAY_MS = 1000;
111
108
  /** Upper bound on the reconnect backoff delay. */
112
109
  const RECONNECT_MAX_DELAY_MS = 30_000;
113
110
  export function connect(url) {
114
- const orpcUrl = toOrpcUrl(url);
115
111
  const link = new RPCLink({
116
112
  connect: async () => {
117
- const socket = new WebSocket(orpcUrl);
113
+ const socket = new WebSocket(url);
118
114
  socket.addEventListener("open", () => {
119
115
  broadcastToPorts({ type: "connected" });
120
116
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-worker.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesh-worker.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,11 @@
1
1
  /**
2
- * Web UI server — HTTP + WebSocket for browser-based chat.
2
+ * Web UI server — HTTP + oRPC WebSocket for browser-based chat.
3
3
  *
4
- * Serves a single-page frontend and exposes a JSON API over HTTP
5
- * with real-time delivery events over WebSocket.
4
+ * Serves a single-page frontend and exposes a JSON API over HTTP, plus a real-time oRPC endpoint (meshRouter, implementing contract.ts's meshContract) on /ws/mesh -- state sync, state patches, delivery events, and every mutating action all go through this one endpoint now; there is no longer a separate hand-rolled chat socket or a second, differently-shaped mesh socket.
6
5
  *
7
- * REST endpoints:
8
- * GET / → frontend HTML
9
- * GET /api/agents → list agents
10
- * GET /api/rooms → list rooms
11
- * GET /api/rooms/:id/messages → read room messages
12
- * POST /api/action → execute any CommsAction
13
- * GET /api/mesh/graph → the mesh's connection graph (agent-comms#199/#201)
14
- * GET /api/mesh/trace?target=<deviceHex>&timeoutMs=<n> → live path trace to a device
6
+ * REST endpoints: GET / → frontend HTML GET /api/agents → list agents GET /api/rooms → list rooms GET /api/rooms/:id/messages → read room messages POST /api/action → execute any CommsAction (test scaffolding only -- the real frontend drives everything through /ws/mesh) GET /api/mesh/graph → the mesh's connection graph (agent-comms#199/#201) GET /api/mesh/trace?target=<deviceHex>&timeoutMs=<n> → live path trace to a device
15
7
  *
16
- * When AGENT_COMMS_WEB_CONSOLE_DIST points at a built wire-mesh web-console
17
- * (see web-console-static.ts), GET /web-console/* also serves that as an
18
- * alternate, generic reference-client UI alongside the frontend above.
19
- *
20
- * WebSocket:
21
- * Server pushes delivery events as JSON frames.
22
- * Client sends action objects.
8
+ * When AGENT_COMMS_WEB_CONSOLE_DIST points at a built wire-mesh web-console (see web-console-static.ts), GET /web-console/* also serves that as an alternate, generic reference-client UI alongside the frontend above.
23
9
  */
24
10
  import * as http from "node:http";
25
11
  import { WebSocketServer } from "ws";
@@ -31,7 +17,6 @@ export interface WebServerHandle {
31
17
  server: http.Server;
32
18
  controller: ChatController;
33
19
  wss: WebSocketServer;
34
- orpcWss: WebSocketServer;
35
20
  pushManager: PushManager;
36
21
  publisher: MeshEventPublisher;
37
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/bridges/user/web/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAgB1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAyE1D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,EAAE,eAAe,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,mHAAmH;AACnH,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGtE;AAED,oVAAoV;AACpV,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,YAAY,CAKd;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,CAAC,EAAE,cAAc,GAC1B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,IAAI,SAAI,EACR,kBAAkB,CAAC,EAAE,cAAc,EACnC,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,eAAe,CAAC,CAyE1B;AAgBD,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BtE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/bridges/user/web/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAgB1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAyE1D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,mHAAmH;AACnH,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGtE;AAED,oVAAoV;AACpV,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,YAAY,CAKd;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,CAAC,EAAE,cAAc,GAC1B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,IAAI,SAAI,EACR,kBAAkB,CAAC,EAAE,cAAc,EACnC,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,eAAe,CAAC,CAyD1B;AAgBD,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BtE"}