agent-comms 4.2.0 → 4.4.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 (50) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +6 -1
  4. package/dist/bridges/user/web/dist/mesh-worker.js +1 -1
  5. package/dist/bridges/user/web/dist/sw.js +1 -1
  6. package/dist/core/bridge.d.ts +4 -0
  7. package/dist/core/bridge.d.ts.map +1 -1
  8. package/dist/core/bridge.js +24 -1
  9. package/dist/core/bridge.js.map +1 -1
  10. package/dist/core/dm-grant-actions.d.ts +20 -0
  11. package/dist/core/dm-grant-actions.d.ts.map +1 -0
  12. package/dist/core/dm-grant-actions.js +54 -0
  13. package/dist/core/dm-grant-actions.js.map +1 -0
  14. package/dist/core/identity-store.d.ts +16 -0
  15. package/dist/core/identity-store.d.ts.map +1 -1
  16. package/dist/core/identity-store.js +5 -3
  17. package/dist/core/identity-store.js.map +1 -1
  18. package/dist/core/mesh-store.d.ts +4 -0
  19. package/dist/core/mesh-store.d.ts.map +1 -1
  20. package/dist/core/mesh-store.js +11 -0
  21. package/dist/core/mesh-store.js.map +1 -1
  22. package/dist/core/room-lifecycle.d.ts +6 -0
  23. package/dist/core/room-lifecycle.d.ts.map +1 -1
  24. package/dist/core/room-lifecycle.js +52 -1
  25. package/dist/core/room-lifecycle.js.map +1 -1
  26. package/dist/core/token-text.d.ts +9 -0
  27. package/dist/core/token-text.d.ts.map +1 -0
  28. package/dist/core/token-text.js +24 -0
  29. package/dist/core/token-text.js.map +1 -0
  30. package/dist/core/tool.d.ts +9 -0
  31. package/dist/core/tool.d.ts.map +1 -1
  32. package/dist/core/tool.js +9 -0
  33. package/dist/core/tool.js.map +1 -1
  34. package/dist/core/types.d.ts +22 -0
  35. package/dist/core/types.d.ts.map +1 -1
  36. package/dist/core/types.js +12 -0
  37. package/dist/core/types.js.map +1 -1
  38. package/dist/test/dm-grant-actions.unit.test.d.ts +2 -0
  39. package/dist/test/dm-grant-actions.unit.test.d.ts.map +1 -0
  40. package/dist/test/dm-grant-actions.unit.test.js +78 -0
  41. package/dist/test/dm-grant-actions.unit.test.js.map +1 -0
  42. package/dist/test/dm-grant-tool.integration.test.d.ts +5 -0
  43. package/dist/test/dm-grant-tool.integration.test.d.ts.map +1 -0
  44. package/dist/test/dm-grant-tool.integration.test.js +257 -0
  45. package/dist/test/dm-grant-tool.integration.test.js.map +1 -0
  46. package/dist/test/token-text.unit.test.d.ts +2 -0
  47. package/dist/test/token-text.unit.test.d.ts.map +1 -0
  48. package/dist/test/token-text.unit.test.js +46 -0
  49. package/dist/test/token-text.unit.test.js.map +1 -0
  50. package/package.json +1 -1
@@ -15,7 +15,7 @@
15
15
  "source": "url",
16
16
  "url": "https://github.com/ExaDev/agent-comms.git"
17
17
  },
18
- "version": "4.2.0"
18
+ "version": "4.4.0"
19
19
  }
20
20
  ]
21
21
  }
@@ -18,5 +18,5 @@
18
18
  },
19
19
  "name": "agent-comms",
20
20
  "repository": "https://github.com/ExaDev/agent-comms",
21
- "version": "4.2.0"
21
+ "version": "4.4.0"
22
22
  }
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![GitHub](https://img.shields.io/badge/GitHub-181717?logo=github&logoColor=white)](https://github.com/ExaDev/agent-comms)
4
4
  [![npm](https://img.shields.io/badge/npm-CB3837?logo=npm&logoColor=white)](https://www.npmjs.com/package/agent-comms)
5
- [![version](https://img.shields.io/badge/version-4.2.0-blue)](https://github.com/ExaDev/agent-comms/releases/tag/v4.2.0)
5
+ [![version](https://img.shields.io/badge/version-4.4.0-blue)](https://github.com/ExaDev/agent-comms/releases/tag/v4.4.0)
6
6
  [![CI](https://img.shields.io/github/actions/workflow/status/ExaDev/agent-comms/ci.yml?branch=main)](https://github.com/ExaDev/agent-comms/actions)
7
7
 
8
8
  Cross-harness communication mesh for LLM agents: rooms, DMs, presence, and visibility over TCP with zero filesystem dependencies.
@@ -282,6 +282,8 @@ The web server (whichever port `tryStartWebServer` picked for that bridge) then
282
282
 
283
283
  The first `dm` to an agent asks that agent for access before anything is sent: the call waits while the recipient's agent is told about the request (a `room_join_request` event, listed by `room_pending`) and answers it with `room_accept` or `room_reject`. Once accepted, later messages go straight through, and the recipient's own replies need no second decision. A refused request, or one nobody answers within the approval window, makes `dm` fail and nothing is recorded as sent.
284
284
 
285
+ To let a device DM you without deciding on the spot, admit it ahead of time. `dm_admit` with that device's id returns a grant and the exact call to make with it; the sender then calls `dm_use_grant` with your device id and the grant, and their first DM goes through with no decision at your end. `dm_revoke` withdraws it. A grant only works for the device it was minted for, unless you pass `principal: true` and the other person's `Principal:` line from their `whoami`: then it admits every device that person runs, each of which presents the same grant text.
286
+
285
287
  ## Room types
286
288
 
287
289
  | Type | Discovery | Join | Read history |
@@ -368,6 +370,9 @@ Two devices on different machines can only relay traffic through each other's hu
368
370
  # Trust a remote device you already know the device-id for
369
371
  agent_comms({ action: "gateway_trust", device: "1a2b3c..." })
370
372
 
373
+ # Trust a person rather than one device: pass the Principal line from their whoami
374
+ agent_comms({ action: "gateway_trust", device: "<their principal>", principal: true })
375
+
371
376
  # Stop trusting it
372
377
  agent_comms({ action: "gateway_untrust", device: "1a2b3c..." })
373
378
 
@@ -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=fr,s=!er.jitless,c=s&&pr.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?ka([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Ma(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=>!Dr(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=>P(e,r,k())))}),t)}var Na=O(`$ZodUnion`,(e,t)=>{I.init(e,t),A(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),A(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),A(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),A(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=>ar(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=>Ma(t,r,e,i)):Ma(o,r,e,i)}}),Pa=O(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Na.init(e,t);let n=e._zod.parse;A(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=rr(()=>{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(!fr(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)}}),Fa=O(`$ZodIntersection`,(e,t)=>{I.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])=>La(e,t,n)):La(e,i,a)}});function Ia(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(mr(e)&&mr(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=Ia(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=Ia(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 La(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}),Dr(e))return e;let o=Ia(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var Ra=O(`$ZodRecord`,(e,t)=>{I.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!mr(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=>P(e,r,k())),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(...kr(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...kr(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`&&Ti.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=>P(e,r,k())),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(...kr(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...kr(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),za=O(`$ZodEnum`,(e,t)=>{I.init(e,t);let n=tr(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>gr.has(typeof e)).map(e=>typeof e==`string`?_r(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}}),Ba=O(`$ZodLiteral`,(e,t)=>{if(I.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`?_r(e):e?_r(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}}),Va=O(`$ZodTransform`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new $n(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 Qn;return n.value=i,n.fallback=!0,n}});function Ha(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var Ua=O(`$ZodOptional`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,A(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),A(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ar(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=>Ha(e,r)):Ha(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Wa=O(`$ZodExactOptional`,(e,t)=>{Ua.init(e,t),A(e._zod,`values`,()=>t.innerType._zod.values),A(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Ga=O(`$ZodNullable`,(e,t)=>{I.init(e,t),A(e._zod,`optin`,()=>t.innerType._zod.optin),A(e._zod,`optout`,()=>t.innerType._zod.optout),A(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ar(e.source)}|null)$`):void 0}),A(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)}),Ka=O(`$ZodDefault`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,A(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=>qa(e,t)):qa(r,t)}});function qa(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ja=O(`$ZodPrefault`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,A(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))}),Ya=O(`$ZodNonOptional`,(e,t)=>{I.init(e,t),A(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=>Xa(t,e)):Xa(i,e)}});function Xa(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 Za=O(`$ZodCatch`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,A(e._zod,`optout`,()=>t.innerType._zod.optout),A(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=>P(e,n,k()))},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=>P(e,n,k()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),Qa=O(`$ZodPipe`,(e,t)=>{I.init(e,t),A(e._zod,`values`,()=>t.in._zod.values),A(e._zod,`optin`,()=>t.in._zod.optin),A(e._zod,`optout`,()=>t.out._zod.optout),A(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=>$a(e,t.in,n)):$a(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>$a(e,t.out,n)):$a(r,t.out,n)}});function $a(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 eo=O(`$ZodReadonly`,(e,t)=>{I.init(e,t),A(e._zod,`propValues`,()=>t.innerType._zod.propValues),A(e._zod,`values`,()=>t.innerType._zod.values),A(e._zod,`optin`,()=>t.innerType?._zod?.optin),A(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(to):to(r)}});function to(e){return e.value=Object.freeze(e.value),e}var no=O(`$ZodCustom`,(e,t)=>{F.init(e,t),I.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=>ro(t,n,r,e));ro(i,n,r,e)}});function ro(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(Mr(e))}}var io,ao=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 oo(){return new ao}(io=globalThis).__zod_globalRegistry??(io.__zod_globalRegistry=oo());var so=globalThis.__zod_globalRegistry;function co(e,t){return new e({type:`string`,...N(t)})}function lo(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...N(t)})}function uo(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...N(t)})}function fo(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...N(t)})}function po(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...N(t)})}function mo(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...N(t)})}function ho(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...N(t)})}function go(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...N(t)})}function _o(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...N(t)})}function vo(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...N(t)})}function yo(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...N(t)})}function bo(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...N(t)})}function xo(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...N(t)})}function So(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...N(t)})}function Co(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...N(t)})}function wo(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...N(t)})}function To(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...N(t)})}function Eo(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...N(t)})}function Do(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...N(t)})}function Oo(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...N(t)})}function ko(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...N(t)})}function Ao(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...N(t)})}function jo(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...N(t)})}function Mo(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...N(t)})}function No(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...N(t)})}function Po(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...N(t)})}function Fo(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...N(t)})}function Io(e,t){return new e({type:`number`,checks:[],...N(t)})}function Lo(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...N(t)})}function Ro(e,t){return new e({type:`boolean`,...N(t)})}function zo(e){return new e({type:`unknown`})}function Bo(e,t){return new e({type:`never`,...N(t)})}function Vo(e,t){return new Ai({check:`less_than`,...N(t),value:e,inclusive:!1})}function Ho(e,t){return new Ai({check:`less_than`,...N(t),value:e,inclusive:!0})}function Uo(e,t){return new ji({check:`greater_than`,...N(t),value:e,inclusive:!1})}function Wo(e,t){return new ji({check:`greater_than`,...N(t),value:e,inclusive:!0})}function Go(e,t){return new Mi({check:`multiple_of`,...N(t),value:e})}function Ko(e,t){return new Pi({check:`max_length`,...N(t),maximum:e})}function qo(e,t){return new Fi({check:`min_length`,...N(t),minimum:e})}function Jo(e,t){return new Ii({check:`length_equals`,...N(t),length:e})}function Yo(e,t){return new Ri({check:`string_format`,format:`regex`,...N(t),pattern:e})}function Xo(e){return new zi({check:`string_format`,format:`lowercase`,...N(e)})}function Zo(e){return new Bi({check:`string_format`,format:`uppercase`,...N(e)})}function Qo(e,t){return new Vi({check:`string_format`,format:`includes`,...N(t),includes:e})}function $o(e,t){return new Hi({check:`string_format`,format:`starts_with`,...N(t),prefix:e})}function es(e,t){return new Ui({check:`string_format`,format:`ends_with`,...N(t),suffix:e})}function ts(e){return new Wi({check:`overwrite`,tx:e})}function ns(e){return ts(t=>t.normalize(e))}function rs(){return ts(e=>e.trim())}function is(){return ts(e=>e.toLowerCase())}function as(){return ts(e=>e.toUpperCase())}function os(){return ts(e=>ur(e))}function ss(e,t,n){return new e({type:`array`,element:t,...N(n)})}function cs(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...N(n)})}function ls(e,t){let n=us(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Mr(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(Mr(r))}},e(t.value,t)),t);return n}function us(e,t){let n=new F({check:`custom`,...N(t)});return n._zod.check=e,n}function ds(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??so,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 R(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,R(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`&&z(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 fs(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 ps(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:hs(t,`input`,e.processors),output:hs(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function z(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 z(r.element,n);if(r.type===`set`)return z(r.valueType,n);if(r.type===`lazy`)return z(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 z(r.innerType,n);if(r.type===`intersection`)return z(r.left,n)||z(r.right,n);if(r.type===`record`||r.type===`map`)return z(r.keyType,n)||z(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:z(r.in,n)||z(r.out,n);if(r.type===`object`){for(let e in r.shape)if(z(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(z(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(z(e,n))return!0;return!!(r.rest&&z(r.rest,n))}return!1}var ms=(e,t={})=>n=>{let r=ds({...n,processors:t});return R(e,r),fs(r,e),ps(r,e)},hs=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=ds({...i??{},target:a,io:t,processors:n});return R(e,o),fs(o,e),ps(o,e)},gs={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},_s=(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=gs[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}))])}},vs=(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)},ys=(e,t,n,r)=>{n.type=`boolean`},bs=(e,t,n,r)=>{n.not={}},xs=(e,t,n,r)=>{let i=e._zod.def,a=tr(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ss=(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}},Cs=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},ws=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Ts=(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=R(a.element,t,{...r,path:[...r.path,`items`]})},Es=(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]=R(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=R(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ds=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>R(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Os=(e,t,n,r)=>{let i=e._zod.def,a=R(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=R(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]]},ks=(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=R(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=R(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=R(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)}},As=(e,t,n,r)=>{let i=e._zod.def,a=R(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`}]},js=(e,t,n,r)=>{let i=e._zod.def;R(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ms=(e,t,n,r)=>{let i=e._zod.def;R(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Ns=(e,t,n,r)=>{let i=e._zod.def;R(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)))},Ps=(e,t,n,r)=>{let i=e._zod.def;R(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},Fs=(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;R(o,t,r);let s=t.seen.get(e);s.ref=o},Is=(e,t,n,r)=>{let i=e._zod.def;R(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Ls=(e,t,n,r)=>{let i=e._zod.def;R(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Rs=O(`ZodISODateTime`,(e,t)=>{aa.init(e,t),U.init(e,t)});function zs(e){return Mo(Rs,e)}var Bs=O(`ZodISODate`,(e,t)=>{oa.init(e,t),U.init(e,t)});function Vs(e){return No(Bs,e)}var Hs=O(`ZodISOTime`,(e,t)=>{sa.init(e,t),U.init(e,t)});function Us(e){return Po(Hs,e)}var Ws=O(`ZodISODuration`,(e,t)=>{ca.init(e,t),U.init(e,t)});function Gs(e){return Fo(Ws,e)}var B=O(`ZodError`,(e,t)=>{Pr.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Lr(e,t)},flatten:{value:t=>Ir(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,nr,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,nr,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),Ks=Rr(B),qs=zr(B),Js=Br(B),Ys=Hr(B),Xs=Wr(B),Zs=Gr(B),Qs=Kr(B),$s=qr(B),ec=Jr(B),tc=Yr(B),nc=Xr(B),rc=Zr(B),ic=new WeakMap;function ac(e,t,n){let r=Object.getPrototypeOf(e),i=ic.get(r);if(i||(i=new Set,ic.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 V=O(`ZodType`,(e,t)=>(I.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:hs(e,`input`),output:hs(e,`output`)}}),e.toJSONSchema=ms(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>Ks(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Js(e,t,n),e.parseAsync=async(t,n)=>qs(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ys(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Xs(e,t,n),e.decode=(t,n)=>Zs(e,t,n),e.encodeAsync=async(t,n)=>Qs(e,t,n),e.decodeAsync=async(t,n)=>$s(e,t,n),e.safeEncode=(t,n)=>ec(e,t,n),e.safeDecode=(t,n)=>tc(e,t,n),e.safeEncodeAsync=async(t,n)=>nc(e,t,n),e.safeDecodeAsync=async(t,n)=>rc(e,t,n),ac(e,`ZodType`,{check(...e){let t=this.def;return this.clone(j(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 M(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(ml(e,t))},superRefine(e,t){return this.check(hl(e,t))},overwrite(e){return this.check(ts(e))},optional(){return Xc(this)},exactOptional(){return Qc(this)},nullable(){return el(this)},nullish(){return Xc(el(this))},nonoptional(e){return ol(this,e)},array(){return G(this)},or(e){return q([this,e])},and(e){return Hc(this,e)},transform(e){return ul(this,Jc(e))},default(e){return nl(this,e)},prefault(e){return il(this,e)},catch(e){return cl(this,e)},pipe(e){return ul(this,e)},readonly(){return fl(this)},describe(e){let t=this.clone();return so.add(t,{description:e}),t},meta(...e){if(e.length===0)return so.get(this);let t=this.clone();return so.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 so.get(e)?.description},configurable:!0}),e)),oc=O(`_ZodString`,(e,t)=>{qi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_s(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,ac(e,`_ZodString`,{regex(...e){return this.check(Yo(...e))},includes(...e){return this.check(Qo(...e))},startsWith(...e){return this.check($o(...e))},endsWith(...e){return this.check(es(...e))},min(...e){return this.check(qo(...e))},max(...e){return this.check(Ko(...e))},length(...e){return this.check(Jo(...e))},nonempty(...e){return this.check(qo(1,...e))},lowercase(e){return this.check(Xo(e))},uppercase(e){return this.check(Zo(e))},trim(){return this.check(rs())},normalize(...e){return this.check(ns(...e))},toLowerCase(){return this.check(is())},toUpperCase(){return this.check(as())},slugify(){return this.check(os())}})}),sc=O(`ZodString`,(e,t)=>{qi.init(e,t),oc.init(e,t),e.email=t=>e.check(lo(cc,t)),e.url=t=>e.check(go(dc,t)),e.jwt=t=>e.check(jo(Ec,t)),e.emoji=t=>e.check(_o(fc,t)),e.guid=t=>e.check(uo(lc,t)),e.uuid=t=>e.check(fo(uc,t)),e.uuidv4=t=>e.check(po(uc,t)),e.uuidv6=t=>e.check(mo(uc,t)),e.uuidv7=t=>e.check(ho(uc,t)),e.nanoid=t=>e.check(vo(pc,t)),e.guid=t=>e.check(uo(lc,t)),e.cuid=t=>e.check(yo(mc,t)),e.cuid2=t=>e.check(bo(hc,t)),e.ulid=t=>e.check(xo(gc,t)),e.base64=t=>e.check(Oo(Cc,t)),e.base64url=t=>e.check(ko(wc,t)),e.xid=t=>e.check(So(_c,t)),e.ksuid=t=>e.check(Co(vc,t)),e.ipv4=t=>e.check(wo(yc,t)),e.ipv6=t=>e.check(To(bc,t)),e.cidrv4=t=>e.check(Eo(xc,t)),e.cidrv6=t=>e.check(Do(Sc,t)),e.e164=t=>e.check(Ao(Tc,t)),e.datetime=t=>e.check(zs(t)),e.date=t=>e.check(Vs(t)),e.time=t=>e.check(Us(t)),e.duration=t=>e.check(Gs(t))});function H(e){return co(sc,e)}var U=O(`ZodStringFormat`,(e,t)=>{L.init(e,t),oc.init(e,t)}),cc=O(`ZodEmail`,(e,t)=>{Xi.init(e,t),U.init(e,t)}),lc=O(`ZodGUID`,(e,t)=>{Ji.init(e,t),U.init(e,t)}),uc=O(`ZodUUID`,(e,t)=>{Yi.init(e,t),U.init(e,t)}),dc=O(`ZodURL`,(e,t)=>{Zi.init(e,t),U.init(e,t)}),fc=O(`ZodEmoji`,(e,t)=>{Qi.init(e,t),U.init(e,t)}),pc=O(`ZodNanoID`,(e,t)=>{$i.init(e,t),U.init(e,t)}),mc=O(`ZodCUID`,(e,t)=>{ea.init(e,t),U.init(e,t)}),hc=O(`ZodCUID2`,(e,t)=>{ta.init(e,t),U.init(e,t)}),gc=O(`ZodULID`,(e,t)=>{na.init(e,t),U.init(e,t)}),_c=O(`ZodXID`,(e,t)=>{ra.init(e,t),U.init(e,t)}),vc=O(`ZodKSUID`,(e,t)=>{ia.init(e,t),U.init(e,t)}),yc=O(`ZodIPv4`,(e,t)=>{la.init(e,t),U.init(e,t)}),bc=O(`ZodIPv6`,(e,t)=>{ua.init(e,t),U.init(e,t)}),xc=O(`ZodCIDRv4`,(e,t)=>{da.init(e,t),U.init(e,t)}),Sc=O(`ZodCIDRv6`,(e,t)=>{fa.init(e,t),U.init(e,t)}),Cc=O(`ZodBase64`,(e,t)=>{ma.init(e,t),U.init(e,t)}),wc=O(`ZodBase64URL`,(e,t)=>{ga.init(e,t),U.init(e,t)}),Tc=O(`ZodE164`,(e,t)=>{_a.init(e,t),U.init(e,t)}),Ec=O(`ZodJWT`,(e,t)=>{ya.init(e,t),U.init(e,t)}),Dc=O(`ZodNumber`,(e,t)=>{ba.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r),ac(e,`ZodNumber`,{gt(e,t){return this.check(Uo(e,t))},gte(e,t){return this.check(Wo(e,t))},min(e,t){return this.check(Wo(e,t))},lt(e,t){return this.check(Vo(e,t))},lte(e,t){return this.check(Ho(e,t))},max(e,t){return this.check(Ho(e,t))},int(e){return this.check(kc(e))},safe(e){return this.check(kc(e))},positive(e){return this.check(Uo(0,e))},nonnegative(e){return this.check(Wo(0,e))},negative(e){return this.check(Vo(0,e))},nonpositive(e){return this.check(Ho(0,e))},multipleOf(e,t){return this.check(Go(e,t))},step(e,t){return this.check(Go(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 W(e){return Io(Dc,e)}var Oc=O(`ZodNumberFormat`,(e,t)=>{xa.init(e,t),Dc.init(e,t)});function kc(e){return Lo(Oc,e)}var Ac=O(`ZodBoolean`,(e,t)=>{Sa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(e,t,n,r)});function jc(e){return Ro(Ac,e)}var Mc=O(`ZodUnknown`,(e,t)=>{Ca.init(e,t),V.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Nc(){return zo(Mc)}var Pc=O(`ZodNever`,(e,t)=>{wa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bs(e,t,n,r)});function Fc(e){return Bo(Pc,e)}var Ic=O(`ZodArray`,(e,t)=>{Ea.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ts(e,t,n,r),e.element=t.element,ac(e,`ZodArray`,{min(e,t){return this.check(qo(e,t))},nonempty(e){return this.check(qo(1,e))},max(e,t){return this.check(Ko(e,t))},length(e,t){return this.check(Jo(e,t))},unwrap(){return this.element}})});function G(e,t){return ss(Ic,e,t)}var Lc=O(`ZodObject`,(e,t)=>{ja.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Es(e,t,n,r),A(e,`shape`,()=>t.shape),ac(e,`ZodObject`,{keyof(){return Gc(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Nc()})},loose(){return this.clone({...this._zod.def,catchall:Nc()})},strict(){return this.clone({...this._zod.def,catchall:Fc()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Sr(this,e)},safeExtend(e){return Cr(this,e)},merge(e){return wr(this,e)},pick(e){return br(this,e)},omit(e){return xr(this,e)},partial(...e){return Tr(Yc,this,e[0])},required(...e){return Er(al,this,e[0])}})});function K(e,t){return new Lc({type:`object`,shape:e??{},...N(t)})}var Rc=O(`ZodUnion`,(e,t)=>{Na.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ds(e,t,n,r),e.options=t.options});function q(e,t){return new Rc({type:`union`,options:e,...N(t)})}var zc=O(`ZodDiscriminatedUnion`,(e,t)=>{Rc.init(e,t),Pa.init(e,t)});function Bc(e,t,n){return new zc({type:`union`,options:t,discriminator:e,...N(n)})}var Vc=O(`ZodIntersection`,(e,t)=>{Fa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Os(e,t,n,r)});function Hc(e,t){return new Vc({type:`intersection`,left:e,right:t})}var Uc=O(`ZodRecord`,(e,t)=>{Ra.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ks(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function J(e,t,n){return!t||!t._zod?new Uc({type:`record`,keyType:H(),valueType:e,...N(t)}):new Uc({type:`record`,keyType:e,valueType:t,...N(n)})}var Wc=O(`ZodEnum`,(e,t)=>{za.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xs(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 Wc({...t,checks:[],...N(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 Wc({...t,checks:[],...N(r),entries:i})}});function Gc(e,t){return new Wc({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...N(t)})}var Kc=O(`ZodLiteral`,(e,t)=>{Ba.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ss(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Y(e,t){return new Kc({type:`literal`,values:Array.isArray(e)?e:[e],...N(t)})}var qc=O(`ZodTransform`,(e,t)=>{Va.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ws(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new $n(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Mr(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(Mr(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 Jc(e){return new qc({type:`transform`,transform:e})}var Yc=O(`ZodOptional`,(e,t)=>{Ua.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Xc(e){return new Yc({type:`optional`,innerType:e})}var Zc=O(`ZodExactOptional`,(e,t)=>{Wa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qc(e){return new Zc({type:`optional`,innerType:e})}var $c=O(`ZodNullable`,(e,t)=>{Ga.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>As(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function el(e){return new $c({type:`nullable`,innerType:e})}var tl=O(`ZodDefault`,(e,t)=>{Ka.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ms(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function nl(e,t){return new tl({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():hr(t)}})}var rl=O(`ZodPrefault`,(e,t)=>{Ja.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function il(e,t){return new rl({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():hr(t)}})}var al=O(`ZodNonOptional`,(e,t)=>{Ya.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>js(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ol(e,t){return new al({type:`nonoptional`,innerType:e,...N(t)})}var sl=O(`ZodCatch`,(e,t)=>{Za.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ps(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function cl(e,t){return new sl({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var ll=O(`ZodPipe`,(e,t)=>{Qa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fs(e,t,n,r),e.in=t.in,e.out=t.out});function ul(e,t){return new ll({type:`pipe`,in:e,out:t})}var dl=O(`ZodReadonly`,(e,t)=>{eo.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Is(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function fl(e){return new dl({type:`readonly`,innerType:e})}var pl=O(`ZodCustom`,(e,t)=>{no.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(e,t,n,r)});function ml(e,t={}){return cs(pl,e,t)}function hl(e,t){return ls(e,t)}function gl(e){return`is`in e&&typeof e.is==`function`}function X(e){if(Object.defineProperty(e,"is",{value:t=>e.safeParse(t).success,enumerable:!0}),!gl(e))throw Error(`unreachable: is was just defined above`);return e}var _l=X(q([Y(`discoverable`),Y(`quiet`),Y(`dark`)])),vl=X(q([Y(`visible`),Y(`hidden`),Y(`ghost`)])),yl=X(q([Y(`active`),Y(`idle`),Y(`busy`),Y(`offline`)])),bl=X(q([Y(`public`),Y(`private`),Y(`secret`)])),xl=X(q([Y(`steer`),Y(`followUp`),Y(`info`)])),Sl=X(K({id:H(),version:W(),name:H(),harness:H(),cwd:H(),pid:W(),startedAt:H(),visibility:vl,status:yl,tags:G(H()),subscribedRooms:G(H())})),Cl=X(K({id:H(),version:W(),name:H(),type:bl,owner:H(),createdAt:H(),description:H(),members:G(H()),invited:G(H()),memberJoins:J(H(),W()),memberLeaves:J(H(),W()),invitedJoins:J(H(),W()),invitedLeaves:J(H(),W())})),wl=X(K({id:H(),from:H(),room:H(),content:H(),timestamp:H(),replyTo:H().optional(),readBy:G(H()),streamingBehavior:xl.optional()})),Tl=X(K({id:H(),from:H(),to:H(),content:H(),timestamp:H(),readBy:G(H()),streamingBehavior:xl.optional()})),El=X(q([Y(`delivered`),Y(`read`)])),Dl=X(K({id:H(),name:H(),status:yl})),Ol=X(Bc(`type`,[K({type:Y(`room_message`),message:wl}),K({type:Y(`dm`),message:Tl}),K({type:Y(`room_invite`),room:H(),roomDescription:H(),from:H(),fromName:H(),fromCwd:H()}),K({type:Y(`member_joined`),room:H(),agent:H()}),K({type:Y(`member_left`),room:H(),agent:H()}),K({type:Y(`room_members`),room:H(),members:G(Dl)}),K({type:Y(`member_status`),room:H(),agent:H(),status:yl}),K({type:Y(`delivery_status`),messageId:H(),agent:H(),status:El,room:H().optional()}),K({type:Y(`invite_declined`),room:H(),agent:H(),agentName:H(),reason:H()}),K({type:Y(`name_changed`),agent:H(),oldName:H(),newName:H()}),K({type:Y(`connection_request`),connectionId:H(),peerId:H(),dataPort:W(),name:H(),fingerprint:H()}),K({type:Y(`room_join_request`),room:H(),requesterId:H()}),K({type:Y(`capability_request`),requestId:H(),capability:H(),scopeKind:H(),scopePath:H().optional(),requesterDevice:H()})]));X(K({code:H(),expiresAt:H(),deviceId:H(),signature:H().optional()})),X(Bc(`action`,[K({action:Y(`register`),name:H(),visibility:vl,tags:G(H())}),K({action:Y(`update`),visibility:vl.optional(),status:yl.optional(),name:H().optional(),tags:G(H()).optional()}),K({action:Y(`whoami`)}),K({action:Y(`web_url`)}),K({action:Y(`create_room`),name:H(),type:bl,description:H()}),K({action:Y(`list_rooms`)}),K({action:Y(`join_room`),room:H()}),K({action:Y(`leave_room`),room:H()}),K({action:Y(`send`),target:H(),content:H(),replyTo:H().optional(),streamingBehavior:xl.optional()}),K({action:Y(`dm`),target:H(),content:H(),streamingBehavior:xl.optional()}),K({action:Y(`list_agents`)}),K({action:Y(`read_room`),room:H(),since:H().optional()}),K({action:Y(`invite`),room:H(),agent:H()}),K({action:Y(`kick`),room:H(),agent:H()}),K({action:Y(`decline_invite`),room:H(),reason:H()}),K({action:Y(`destroy_room`),room:H()}),K({action:Y(`mesh_connect`),host:H(),port:W(),policy:H().optional()}),K({action:Y(`mesh_accept`),connectionId:H()}),K({action:Y(`mesh_reject`),connectionId:H(),reason:H()}),K({action:Y(`mesh_pending`)}),K({action:Y(`room_accept`),room:H(),requesterId:H()}),K({action:Y(`room_reject`),room:H(),requesterId:H(),reason:H().optional()}),K({action:Y(`room_pending`)}),K({action:Y(`capability_accept`),requestId:H(),expires:W(),delegationsRemaining:W().optional(),capability:H().optional()}),K({action:Y(`capability_reject`),requestId:H(),reason:H().optional()}),K({action:Y(`capability_pending`)}),K({action:Y(`mesh_discover`),method:H().optional()}),K({action:Y(`mesh_advertise`),method:H(),name:H(),port:W().optional(),adapter:H().optional()}),K({action:Y(`mesh_unadvertise`),id:H()}),K({action:Y(`mesh_interfaces`)}),K({action:Y(`mesh_listen`),host:H(),port:W().optional(),policy:H().optional()}),K({action:Y(`mesh_unlisten`),id:H()}),K({action:Y(`mesh_listeners`)}),K({action:Y(`mesh_set_visibility`),visibility:_l,adapter:H().optional()}),K({action:Y(`mesh_get_visibility`)}),K({action:Y(`gateway_trust`),device:H(),principal:jc().optional()}),K({action:Y(`gateway_untrust`),device:H(),principal:jc().optional()}),K({action:Y(`gateway_list_trusted`)}),K({action:Y(`gateway_generate_connection_code`),ttlMs:W().optional(),privateKey:H().optional(),passphrase:H().optional()}),K({action:Y(`gateway_redeem_connection_code`),code:H(),expiresAt:H(),device:H(),signature:H().optional(),publicKey:H().optional(),fingerprint:H().optional()}),K({action:Y(`query_version`),device:H()}),K({action:Y(`mesh_graph`)}),K({action:Y(`mesh_trace`),target:H(),timeoutMs:W().optional()})]));var Z=K({content:H(),isError:jc()}),kl=q([Y(`public`),Y(`private`),Y(`secret`)]),Al=K({kind:q([Y(`direct`),Y(`relay`)]),from:H(),to:H(),via:H().optional()}),jl=K({nodes:G(H()),edges:G(Al)}),Ml=K({relayed:jc(),hubAddress:H().optional()}),Nl=K({rttMs:W(),local:Ml,remote:Ml.optional(),outcome:K({result:H(),code:H().optional()}).loose()}),Pl=Bc(`type`,[K({type:Y(`agent_upsert`),agent:Sl}),K({type:Y(`agent_offline`),agentId:H()}),K({type:Y(`room_upsert`),room:Cl}),K({type:Y(`room_delete`),roomId:H()}),K({type:Y(`message_add`),roomId:H(),message:wl}),K({type:Y(`dm_add`),key:H(),message:Tl}),K({type:Y(`delivery`),agentId:H(),event:Ol})]),Fl=K({agents:J(H(),Sl),rooms:J(H(),Cl),messages:J(H(),G(wl)),dms:J(H(),G(Tl))}),Il=Bc(`kind`,[K({kind:Y(`state_sync`),state:Fl}),K({kind:Y(`state_patch`),patch:Pl}),K({kind:Y(`delivery`),event:Ol})]),Ll=K({endpoint:H(),keys:K({p256dh:H(),auth:H()})}),Rl={send:w.input(K({target:H(),content:H()})).output(Z),dm:w.input(K({target:H(),content:H()})).output(Z),joinRoom:w.input(K({room:H()})).output(Z),leaveRoom:w.input(K({room:H().optional()})).output(Z),createRoom:w.input(K({name:H(),type:kl,description:H().optional()})).output(Z),listRooms:w.input(K({})).output(Z),listAgents:w.input(K({})).output(Z),readRoom:w.input(K({room:H().optional()})).output(Z),destroyRoom:w.input(K({room:H()})).output(Z),invite:w.input(K({room:H(),agent:H()})).output(Z),declineInvite:w.input(K({room:H(),reason:H()})).output(Z),kick:w.input(K({room:H(),agent:H()})).output(Z),renameAgent:w.input(K({agent:H(),name:H()})).output(Z),pushSubscribe:w.input(K({subscription:Ll,agentId:H().optional()})).output(Z),pushUnsubscribe:w.input(K({agentId:H().optional()})).output(Z),subscribeEvents:w.input(K({lastEventId:H().optional()})).output(pn(Il)),getRoomMessages:w.input(K({room:H(),since:H().optional()})).output(G(wl)),getMeshGraph:w.input(K({})).output(jl),getMeshTrace:w.input(K({target:H(),timeoutMs:W().optional()})).output(Nl),disconnect:w.input(K({})).output(K({}))};function zl(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 Bl(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 zl(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 Vl=new Map,Hl=new Map,Ul=new Map,Wl=new Map;function Gl(e){for(let[t,n]of Object.entries(e.agents))Vl.set(t,n);for(let[t,n]of Object.entries(e.rooms))Hl.set(t,n);for(let[t,n]of Object.entries(e.messages))Ul.set(t,n);for(let[t,n]of Object.entries(e.dms))Wl.set(t,n)}function Kl(e){switch(e.type){case`agent_upsert`:Vl.set(e.agent.id,e.agent);break;case`agent_offline`:{let t=Vl.get(e.agentId);t&&(t.status=`offline`,Vl.set(e.agentId,t));break}case`room_upsert`:Hl.set(e.room.id,e.room);break;case`room_delete`:Hl.delete(e.roomId);break;case`message_add`:{let t=Ul.get(e.roomId)??[];t.push(e.message),Ul.set(e.roomId,t);break}case`dm_add`:{let t=Wl.get(e.key)??[];t.push(e.message),Wl.set(e.key,t);break}case`delivery`:break;case`message_read`:if(e.room!==void 0){let t=Ul.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 Wl){let n=t.find(t=>t.id===e.messageId);n&&!n.readBy.includes(e.readBy)&&n.readBy.push(e.readBy)}}}function ql(){return{agents:[...Vl.values()],rooms:[...Hl.values()]}}var Jl,Yl=0,Xl,Zl=new Xn,Ql=1e3,$l=3e4;function eu(e){let t=Ct(new nn({connect:async()=>{let t=new WebSocket(e);return Xl=t,t.addEventListener(`open`,()=>{iu({type:`connected`})}),t.addEventListener(`close`,()=>{iu({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,$l)},plugins:[new rn]}));Jl=t,nu(t,++Yl)}function tu(){++Yl,Jl=void 0,Xl?.close(),Xl=void 0}async function nu(e,t){let n;for(;t===Yl;)try{let r=await e.subscribeEvents(n===void 0?{}:{lastEventId:n});for await(let e of r){if(t!==Yl)return;let r=qe(e);switch(r?.id!==void 0&&(n=r.id),Zl.publish(e),e.kind){case`state_sync`:Gl(e.state),iu({type:`state`,state:ql()});break;case`state_patch`:Kl(e.patch),iu({type:`patch`,patch:e.patch})}}return}catch{}}var ru=new Set;function iu(e){let t=JSON.stringify(e);for(let e of ru)try{e.postMessage(t)}catch{}}function au(e){switch(e.type){case`init`:eu(e.url);break;case`action`:{let t=Jl;if(!t)break;let n=e.id;Bl(t,e.action).then(e=>{iu({type:`actionResult`,id:n,result:e})}).catch(e=>{iu({type:`actionError`,id:n,message:e instanceof Error?e.message:String(e)})});break}case`getState`:iu({type:`state`,state:ql()})}}function ou(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 su(){return{agents:Object.fromEntries(Vl),rooms:Object.fromEntries(Hl),messages:Object.fromEntries(Ul),dms:Object.fromEntries(Wl)}}async function Q(e){return Jl?Bl(Jl,e):{content:`Not connected to mesh yet`,isError:!0}}function cu(){if(!Jl)throw Error(`Not connected to mesh yet`);return Jl}var $=Fn(Rl).$context(),lu={};lu.current=new qn({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})),getRoomMessages:$.getRoomMessages.handler(async({input:e})=>cu().getRoomMessages(e)),getMeshGraph:$.getMeshGraph.handler(async()=>cu().getMeshGraph({})),getMeshTrace:$.getMeshTrace.handler(async({input:e})=>cu().getMeshTrace(e)),subscribeEvents:$.subscribeEvents.handler(async function*({input:e,signal:t}){e.lastEventId===void 0&&(yield{kind:`state_sync`,state:su()}),yield*Zl.subscribe({...t?{signal:t}:{},...e.lastEventId===void 0?{}:{lastEventId:e.lastEventId}})}),disconnect:$.disconnect.handler(({context:e})=>(setTimeout(()=>{lu.current?.close(e.port)},0),{}))});function uu(e){lu.current?.upgrade(e,{context:{port:e}})}return typeof self<`u`&&self.addEventListener(`connect`,e=>{let t=e.ports[0];if(t!==void 0){ru.add(t);try{t.postMessage(JSON.stringify({type:`state`,state:ql()}))}catch{}t.onmessage=e=>{let t=JSON.parse(typeof e.data==`string`?e.data:String(e.data));ou(t)&&au(t)},uu(t)}}),e.agents=Vl,e.applyPatch=Kl,e.applyStateSync=Gl,e.connect=eu,e.disconnect=tu,e.dms=Wl,e.getStateSnapshot=ql,e.localPublisher=Zl,e.messages=Ul,e.ports=ru,e.rooms=Hl,e.upgradeTabRpcPort=uu,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 ps(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:hs(t,`input`,e.processors),output:hs(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function z(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 z(r.element,n);if(r.type===`set`)return z(r.valueType,n);if(r.type===`lazy`)return z(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 z(r.innerType,n);if(r.type===`intersection`)return z(r.left,n)||z(r.right,n);if(r.type===`record`||r.type===`map`)return z(r.keyType,n)||z(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:z(r.in,n)||z(r.out,n);if(r.type===`object`){for(let e in r.shape)if(z(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(z(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(z(e,n))return!0;return!!(r.rest&&z(r.rest,n))}return!1}var ms=(e,t={})=>n=>{let r=ds({...n,processors:t});return R(e,r),fs(r,e),ps(r,e)},hs=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=ds({...i??{},target:a,io:t,processors:n});return R(e,o),fs(o,e),ps(o,e)},gs={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},_s=(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=gs[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}))])}},vs=(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)},ys=(e,t,n,r)=>{n.type=`boolean`},bs=(e,t,n,r)=>{n.not={}},xs=(e,t,n,r)=>{let i=e._zod.def,a=tr(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ss=(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}},Cs=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},ws=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Ts=(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=R(a.element,t,{...r,path:[...r.path,`items`]})},Es=(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]=R(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=R(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ds=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>R(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Os=(e,t,n,r)=>{let i=e._zod.def,a=R(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=R(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]]},ks=(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=R(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=R(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=R(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)}},As=(e,t,n,r)=>{let i=e._zod.def,a=R(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`}]},js=(e,t,n,r)=>{let i=e._zod.def;R(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ms=(e,t,n,r)=>{let i=e._zod.def;R(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Ns=(e,t,n,r)=>{let i=e._zod.def;R(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)))},Ps=(e,t,n,r)=>{let i=e._zod.def;R(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},Fs=(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;R(o,t,r);let s=t.seen.get(e);s.ref=o},Is=(e,t,n,r)=>{let i=e._zod.def;R(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Ls=(e,t,n,r)=>{let i=e._zod.def;R(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Rs=O(`ZodISODateTime`,(e,t)=>{aa.init(e,t),U.init(e,t)});function zs(e){return Mo(Rs,e)}var Bs=O(`ZodISODate`,(e,t)=>{oa.init(e,t),U.init(e,t)});function Vs(e){return No(Bs,e)}var Hs=O(`ZodISOTime`,(e,t)=>{sa.init(e,t),U.init(e,t)});function Us(e){return Po(Hs,e)}var Ws=O(`ZodISODuration`,(e,t)=>{ca.init(e,t),U.init(e,t)});function Gs(e){return Fo(Ws,e)}var B=O(`ZodError`,(e,t)=>{Pr.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Lr(e,t)},flatten:{value:t=>Ir(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,nr,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,nr,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),Ks=Rr(B),qs=zr(B),Js=Br(B),Ys=Hr(B),Xs=Wr(B),Zs=Gr(B),Qs=Kr(B),$s=qr(B),ec=Jr(B),tc=Yr(B),nc=Xr(B),rc=Zr(B),ic=new WeakMap;function ac(e,t,n){let r=Object.getPrototypeOf(e),i=ic.get(r);if(i||(i=new Set,ic.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 V=O(`ZodType`,(e,t)=>(I.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:hs(e,`input`),output:hs(e,`output`)}}),e.toJSONSchema=ms(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>Ks(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Js(e,t,n),e.parseAsync=async(t,n)=>qs(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ys(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Xs(e,t,n),e.decode=(t,n)=>Zs(e,t,n),e.encodeAsync=async(t,n)=>Qs(e,t,n),e.decodeAsync=async(t,n)=>$s(e,t,n),e.safeEncode=(t,n)=>ec(e,t,n),e.safeDecode=(t,n)=>tc(e,t,n),e.safeEncodeAsync=async(t,n)=>nc(e,t,n),e.safeDecodeAsync=async(t,n)=>rc(e,t,n),ac(e,`ZodType`,{check(...e){let t=this.def;return this.clone(j(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 M(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(ml(e,t))},superRefine(e,t){return this.check(hl(e,t))},overwrite(e){return this.check(ts(e))},optional(){return Xc(this)},exactOptional(){return Qc(this)},nullable(){return el(this)},nullish(){return Xc(el(this))},nonoptional(e){return ol(this,e)},array(){return G(this)},or(e){return q([this,e])},and(e){return Hc(this,e)},transform(e){return ul(this,Jc(e))},default(e){return nl(this,e)},prefault(e){return il(this,e)},catch(e){return cl(this,e)},pipe(e){return ul(this,e)},readonly(){return fl(this)},describe(e){let t=this.clone();return so.add(t,{description:e}),t},meta(...e){if(e.length===0)return so.get(this);let t=this.clone();return so.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 so.get(e)?.description},configurable:!0}),e)),oc=O(`_ZodString`,(e,t)=>{qi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_s(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,ac(e,`_ZodString`,{regex(...e){return this.check(Yo(...e))},includes(...e){return this.check(Qo(...e))},startsWith(...e){return this.check($o(...e))},endsWith(...e){return this.check(es(...e))},min(...e){return this.check(qo(...e))},max(...e){return this.check(Ko(...e))},length(...e){return this.check(Jo(...e))},nonempty(...e){return this.check(qo(1,...e))},lowercase(e){return this.check(Xo(e))},uppercase(e){return this.check(Zo(e))},trim(){return this.check(rs())},normalize(...e){return this.check(ns(...e))},toLowerCase(){return this.check(is())},toUpperCase(){return this.check(as())},slugify(){return this.check(os())}})}),sc=O(`ZodString`,(e,t)=>{qi.init(e,t),oc.init(e,t),e.email=t=>e.check(lo(cc,t)),e.url=t=>e.check(go(dc,t)),e.jwt=t=>e.check(jo(Ec,t)),e.emoji=t=>e.check(_o(fc,t)),e.guid=t=>e.check(uo(lc,t)),e.uuid=t=>e.check(fo(uc,t)),e.uuidv4=t=>e.check(po(uc,t)),e.uuidv6=t=>e.check(mo(uc,t)),e.uuidv7=t=>e.check(ho(uc,t)),e.nanoid=t=>e.check(vo(pc,t)),e.guid=t=>e.check(uo(lc,t)),e.cuid=t=>e.check(yo(mc,t)),e.cuid2=t=>e.check(bo(hc,t)),e.ulid=t=>e.check(xo(gc,t)),e.base64=t=>e.check(Oo(Cc,t)),e.base64url=t=>e.check(ko(wc,t)),e.xid=t=>e.check(So(_c,t)),e.ksuid=t=>e.check(Co(vc,t)),e.ipv4=t=>e.check(wo(yc,t)),e.ipv6=t=>e.check(To(bc,t)),e.cidrv4=t=>e.check(Eo(xc,t)),e.cidrv6=t=>e.check(Do(Sc,t)),e.e164=t=>e.check(Ao(Tc,t)),e.datetime=t=>e.check(zs(t)),e.date=t=>e.check(Vs(t)),e.time=t=>e.check(Us(t)),e.duration=t=>e.check(Gs(t))});function H(e){return co(sc,e)}var U=O(`ZodStringFormat`,(e,t)=>{L.init(e,t),oc.init(e,t)}),cc=O(`ZodEmail`,(e,t)=>{Xi.init(e,t),U.init(e,t)}),lc=O(`ZodGUID`,(e,t)=>{Ji.init(e,t),U.init(e,t)}),uc=O(`ZodUUID`,(e,t)=>{Yi.init(e,t),U.init(e,t)}),dc=O(`ZodURL`,(e,t)=>{Zi.init(e,t),U.init(e,t)}),fc=O(`ZodEmoji`,(e,t)=>{Qi.init(e,t),U.init(e,t)}),pc=O(`ZodNanoID`,(e,t)=>{$i.init(e,t),U.init(e,t)}),mc=O(`ZodCUID`,(e,t)=>{ea.init(e,t),U.init(e,t)}),hc=O(`ZodCUID2`,(e,t)=>{ta.init(e,t),U.init(e,t)}),gc=O(`ZodULID`,(e,t)=>{na.init(e,t),U.init(e,t)}),_c=O(`ZodXID`,(e,t)=>{ra.init(e,t),U.init(e,t)}),vc=O(`ZodKSUID`,(e,t)=>{ia.init(e,t),U.init(e,t)}),yc=O(`ZodIPv4`,(e,t)=>{la.init(e,t),U.init(e,t)}),bc=O(`ZodIPv6`,(e,t)=>{ua.init(e,t),U.init(e,t)}),xc=O(`ZodCIDRv4`,(e,t)=>{da.init(e,t),U.init(e,t)}),Sc=O(`ZodCIDRv6`,(e,t)=>{fa.init(e,t),U.init(e,t)}),Cc=O(`ZodBase64`,(e,t)=>{ma.init(e,t),U.init(e,t)}),wc=O(`ZodBase64URL`,(e,t)=>{ga.init(e,t),U.init(e,t)}),Tc=O(`ZodE164`,(e,t)=>{_a.init(e,t),U.init(e,t)}),Ec=O(`ZodJWT`,(e,t)=>{ya.init(e,t),U.init(e,t)}),Dc=O(`ZodNumber`,(e,t)=>{ba.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r),ac(e,`ZodNumber`,{gt(e,t){return this.check(Uo(e,t))},gte(e,t){return this.check(Wo(e,t))},min(e,t){return this.check(Wo(e,t))},lt(e,t){return this.check(Vo(e,t))},lte(e,t){return this.check(Ho(e,t))},max(e,t){return this.check(Ho(e,t))},int(e){return this.check(kc(e))},safe(e){return this.check(kc(e))},positive(e){return this.check(Uo(0,e))},nonnegative(e){return this.check(Wo(0,e))},negative(e){return this.check(Vo(0,e))},nonpositive(e){return this.check(Ho(0,e))},multipleOf(e,t){return this.check(Go(e,t))},step(e,t){return this.check(Go(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 W(e){return Io(Dc,e)}var Oc=O(`ZodNumberFormat`,(e,t)=>{xa.init(e,t),Dc.init(e,t)});function kc(e){return Lo(Oc,e)}var Ac=O(`ZodBoolean`,(e,t)=>{Sa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(e,t,n,r)});function jc(e){return Ro(Ac,e)}var Mc=O(`ZodUnknown`,(e,t)=>{Ca.init(e,t),V.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Nc(){return zo(Mc)}var Pc=O(`ZodNever`,(e,t)=>{wa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bs(e,t,n,r)});function Fc(e){return Bo(Pc,e)}var Ic=O(`ZodArray`,(e,t)=>{Ea.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ts(e,t,n,r),e.element=t.element,ac(e,`ZodArray`,{min(e,t){return this.check(qo(e,t))},nonempty(e){return this.check(qo(1,e))},max(e,t){return this.check(Ko(e,t))},length(e,t){return this.check(Jo(e,t))},unwrap(){return this.element}})});function G(e,t){return ss(Ic,e,t)}var Lc=O(`ZodObject`,(e,t)=>{ja.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Es(e,t,n,r),A(e,`shape`,()=>t.shape),ac(e,`ZodObject`,{keyof(){return Gc(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Nc()})},loose(){return this.clone({...this._zod.def,catchall:Nc()})},strict(){return this.clone({...this._zod.def,catchall:Fc()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Sr(this,e)},safeExtend(e){return Cr(this,e)},merge(e){return wr(this,e)},pick(e){return br(this,e)},omit(e){return xr(this,e)},partial(...e){return Tr(Yc,this,e[0])},required(...e){return Er(al,this,e[0])}})});function K(e,t){return new Lc({type:`object`,shape:e??{},...N(t)})}var Rc=O(`ZodUnion`,(e,t)=>{Na.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ds(e,t,n,r),e.options=t.options});function q(e,t){return new Rc({type:`union`,options:e,...N(t)})}var zc=O(`ZodDiscriminatedUnion`,(e,t)=>{Rc.init(e,t),Pa.init(e,t)});function Bc(e,t,n){return new zc({type:`union`,options:t,discriminator:e,...N(n)})}var Vc=O(`ZodIntersection`,(e,t)=>{Fa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Os(e,t,n,r)});function Hc(e,t){return new Vc({type:`intersection`,left:e,right:t})}var Uc=O(`ZodRecord`,(e,t)=>{Ra.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ks(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function J(e,t,n){return!t||!t._zod?new Uc({type:`record`,keyType:H(),valueType:e,...N(t)}):new Uc({type:`record`,keyType:e,valueType:t,...N(n)})}var Wc=O(`ZodEnum`,(e,t)=>{za.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xs(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 Wc({...t,checks:[],...N(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 Wc({...t,checks:[],...N(r),entries:i})}});function Gc(e,t){return new Wc({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...N(t)})}var Kc=O(`ZodLiteral`,(e,t)=>{Ba.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ss(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Y(e,t){return new Kc({type:`literal`,values:Array.isArray(e)?e:[e],...N(t)})}var qc=O(`ZodTransform`,(e,t)=>{Va.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ws(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new $n(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Mr(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(Mr(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 Jc(e){return new qc({type:`transform`,transform:e})}var Yc=O(`ZodOptional`,(e,t)=>{Ua.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Xc(e){return new Yc({type:`optional`,innerType:e})}var Zc=O(`ZodExactOptional`,(e,t)=>{Wa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qc(e){return new Zc({type:`optional`,innerType:e})}var $c=O(`ZodNullable`,(e,t)=>{Ga.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>As(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function el(e){return new $c({type:`nullable`,innerType:e})}var tl=O(`ZodDefault`,(e,t)=>{Ka.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ms(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function nl(e,t){return new tl({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():hr(t)}})}var rl=O(`ZodPrefault`,(e,t)=>{Ja.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function il(e,t){return new rl({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():hr(t)}})}var al=O(`ZodNonOptional`,(e,t)=>{Ya.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>js(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ol(e,t){return new al({type:`nonoptional`,innerType:e,...N(t)})}var sl=O(`ZodCatch`,(e,t)=>{Za.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ps(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function cl(e,t){return new sl({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var ll=O(`ZodPipe`,(e,t)=>{Qa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fs(e,t,n,r),e.in=t.in,e.out=t.out});function ul(e,t){return new ll({type:`pipe`,in:e,out:t})}var dl=O(`ZodReadonly`,(e,t)=>{eo.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Is(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function fl(e){return new dl({type:`readonly`,innerType:e})}var pl=O(`ZodCustom`,(e,t)=>{no.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(e,t,n,r)});function ml(e,t={}){return cs(pl,e,t)}function hl(e,t){return ls(e,t)}function gl(e){return`is`in e&&typeof e.is==`function`}function X(e){if(Object.defineProperty(e,"is",{value:t=>e.safeParse(t).success,enumerable:!0}),!gl(e))throw Error(`unreachable: is was just defined above`);return e}var _l=X(q([Y(`discoverable`),Y(`quiet`),Y(`dark`)])),vl=X(q([Y(`visible`),Y(`hidden`),Y(`ghost`)])),yl=X(q([Y(`active`),Y(`idle`),Y(`busy`),Y(`offline`)])),bl=X(q([Y(`public`),Y(`private`),Y(`secret`)])),xl=X(q([Y(`steer`),Y(`followUp`),Y(`info`)])),Sl=X(K({id:H(),version:W(),name:H(),harness:H(),cwd:H(),pid:W(),startedAt:H(),visibility:vl,status:yl,tags:G(H()),subscribedRooms:G(H())})),Cl=X(K({id:H(),version:W(),name:H(),type:bl,owner:H(),createdAt:H(),description:H(),members:G(H()),invited:G(H()),memberJoins:J(H(),W()),memberLeaves:J(H(),W()),invitedJoins:J(H(),W()),invitedLeaves:J(H(),W())})),wl=X(K({id:H(),from:H(),room:H(),content:H(),timestamp:H(),replyTo:H().optional(),readBy:G(H()),streamingBehavior:xl.optional()})),Tl=X(K({id:H(),from:H(),to:H(),content:H(),timestamp:H(),readBy:G(H()),streamingBehavior:xl.optional()})),El=X(q([Y(`delivered`),Y(`read`)])),Dl=X(K({id:H(),name:H(),status:yl})),Ol=X(Bc(`type`,[K({type:Y(`room_message`),message:wl}),K({type:Y(`dm`),message:Tl}),K({type:Y(`room_invite`),room:H(),roomDescription:H(),from:H(),fromName:H(),fromCwd:H()}),K({type:Y(`member_joined`),room:H(),agent:H()}),K({type:Y(`member_left`),room:H(),agent:H()}),K({type:Y(`room_members`),room:H(),members:G(Dl)}),K({type:Y(`member_status`),room:H(),agent:H(),status:yl}),K({type:Y(`delivery_status`),messageId:H(),agent:H(),status:El,room:H().optional()}),K({type:Y(`invite_declined`),room:H(),agent:H(),agentName:H(),reason:H()}),K({type:Y(`name_changed`),agent:H(),oldName:H(),newName:H()}),K({type:Y(`connection_request`),connectionId:H(),peerId:H(),dataPort:W(),name:H(),fingerprint:H()}),K({type:Y(`room_join_request`),room:H(),requesterId:H()}),K({type:Y(`capability_request`),requestId:H(),capability:H(),scopeKind:H(),scopePath:H().optional(),requesterDevice:H()})]));X(K({code:H(),expiresAt:H(),deviceId:H(),signature:H().optional()})),X(Bc(`action`,[K({action:Y(`register`),name:H(),visibility:vl,tags:G(H())}),K({action:Y(`update`),visibility:vl.optional(),status:yl.optional(),name:H().optional(),tags:G(H()).optional()}),K({action:Y(`whoami`)}),K({action:Y(`web_url`)}),K({action:Y(`create_room`),name:H(),type:bl,description:H()}),K({action:Y(`list_rooms`)}),K({action:Y(`join_room`),room:H()}),K({action:Y(`leave_room`),room:H()}),K({action:Y(`send`),target:H(),content:H(),replyTo:H().optional(),streamingBehavior:xl.optional()}),K({action:Y(`dm`),target:H(),content:H(),streamingBehavior:xl.optional()}),K({action:Y(`list_agents`)}),K({action:Y(`read_room`),room:H(),since:H().optional()}),K({action:Y(`invite`),room:H(),agent:H()}),K({action:Y(`kick`),room:H(),agent:H()}),K({action:Y(`decline_invite`),room:H(),reason:H()}),K({action:Y(`destroy_room`),room:H()}),K({action:Y(`mesh_connect`),host:H(),port:W(),policy:H().optional()}),K({action:Y(`mesh_accept`),connectionId:H()}),K({action:Y(`mesh_reject`),connectionId:H(),reason:H()}),K({action:Y(`mesh_pending`)}),K({action:Y(`room_accept`),room:H(),requesterId:H()}),K({action:Y(`room_reject`),room:H(),requesterId:H(),reason:H().optional()}),K({action:Y(`room_pending`)}),K({action:Y(`capability_accept`),requestId:H(),expires:W(),delegationsRemaining:W().optional(),capability:H().optional()}),K({action:Y(`capability_reject`),requestId:H(),reason:H().optional()}),K({action:Y(`capability_pending`)}),K({action:Y(`mesh_discover`),method:H().optional()}),K({action:Y(`mesh_advertise`),method:H(),name:H(),port:W().optional(),adapter:H().optional()}),K({action:Y(`mesh_unadvertise`),id:H()}),K({action:Y(`mesh_interfaces`)}),K({action:Y(`mesh_listen`),host:H(),port:W().optional(),policy:H().optional()}),K({action:Y(`mesh_unlisten`),id:H()}),K({action:Y(`mesh_listeners`)}),K({action:Y(`mesh_set_visibility`),visibility:_l,adapter:H().optional()}),K({action:Y(`mesh_get_visibility`)}),K({action:Y(`gateway_trust`),device:H(),principal:jc().optional()}),K({action:Y(`gateway_untrust`),device:H(),principal:jc().optional()}),K({action:Y(`gateway_list_trusted`)}),K({action:Y(`dm_admit`),target:H(),principal:jc().optional()}),K({action:Y(`dm_use_grant`),target:H(),grant:H()}),K({action:Y(`dm_revoke`),target:H()}),K({action:Y(`gateway_generate_connection_code`),ttlMs:W().optional(),privateKey:H().optional(),passphrase:H().optional()}),K({action:Y(`gateway_redeem_connection_code`),code:H(),expiresAt:H(),device:H(),signature:H().optional(),publicKey:H().optional(),fingerprint:H().optional()}),K({action:Y(`query_version`),device:H()}),K({action:Y(`mesh_graph`)}),K({action:Y(`mesh_trace`),target:H(),timeoutMs:W().optional()})]));var Z=K({content:H(),isError:jc()}),kl=q([Y(`public`),Y(`private`),Y(`secret`)]),Al=K({kind:q([Y(`direct`),Y(`relay`)]),from:H(),to:H(),via:H().optional()}),jl=K({nodes:G(H()),edges:G(Al)}),Ml=K({relayed:jc(),hubAddress:H().optional()}),Nl=K({rttMs:W(),local:Ml,remote:Ml.optional(),outcome:K({result:H(),code:H().optional()}).loose()}),Pl=Bc(`type`,[K({type:Y(`agent_upsert`),agent:Sl}),K({type:Y(`agent_offline`),agentId:H()}),K({type:Y(`room_upsert`),room:Cl}),K({type:Y(`room_delete`),roomId:H()}),K({type:Y(`message_add`),roomId:H(),message:wl}),K({type:Y(`dm_add`),key:H(),message:Tl}),K({type:Y(`delivery`),agentId:H(),event:Ol})]),Fl=K({agents:J(H(),Sl),rooms:J(H(),Cl),messages:J(H(),G(wl)),dms:J(H(),G(Tl))}),Il=Bc(`kind`,[K({kind:Y(`state_sync`),state:Fl}),K({kind:Y(`state_patch`),patch:Pl}),K({kind:Y(`delivery`),event:Ol})]),Ll=K({endpoint:H(),keys:K({p256dh:H(),auth:H()})}),Rl={send:w.input(K({target:H(),content:H()})).output(Z),dm:w.input(K({target:H(),content:H()})).output(Z),joinRoom:w.input(K({room:H()})).output(Z),leaveRoom:w.input(K({room:H().optional()})).output(Z),createRoom:w.input(K({name:H(),type:kl,description:H().optional()})).output(Z),listRooms:w.input(K({})).output(Z),listAgents:w.input(K({})).output(Z),readRoom:w.input(K({room:H().optional()})).output(Z),destroyRoom:w.input(K({room:H()})).output(Z),invite:w.input(K({room:H(),agent:H()})).output(Z),declineInvite:w.input(K({room:H(),reason:H()})).output(Z),kick:w.input(K({room:H(),agent:H()})).output(Z),renameAgent:w.input(K({agent:H(),name:H()})).output(Z),pushSubscribe:w.input(K({subscription:Ll,agentId:H().optional()})).output(Z),pushUnsubscribe:w.input(K({agentId:H().optional()})).output(Z),subscribeEvents:w.input(K({lastEventId:H().optional()})).output(pn(Il)),getRoomMessages:w.input(K({room:H(),since:H().optional()})).output(G(wl)),getMeshGraph:w.input(K({})).output(jl),getMeshTrace:w.input(K({target:H(),timeoutMs:W().optional()})).output(Nl),disconnect:w.input(K({})).output(K({}))};function zl(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 Bl(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 zl(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 Vl=new Map,Hl=new Map,Ul=new Map,Wl=new Map;function Gl(e){for(let[t,n]of Object.entries(e.agents))Vl.set(t,n);for(let[t,n]of Object.entries(e.rooms))Hl.set(t,n);for(let[t,n]of Object.entries(e.messages))Ul.set(t,n);for(let[t,n]of Object.entries(e.dms))Wl.set(t,n)}function Kl(e){switch(e.type){case`agent_upsert`:Vl.set(e.agent.id,e.agent);break;case`agent_offline`:{let t=Vl.get(e.agentId);t&&(t.status=`offline`,Vl.set(e.agentId,t));break}case`room_upsert`:Hl.set(e.room.id,e.room);break;case`room_delete`:Hl.delete(e.roomId);break;case`message_add`:{let t=Ul.get(e.roomId)??[];t.push(e.message),Ul.set(e.roomId,t);break}case`dm_add`:{let t=Wl.get(e.key)??[];t.push(e.message),Wl.set(e.key,t);break}case`delivery`:break;case`message_read`:if(e.room!==void 0){let t=Ul.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 Wl){let n=t.find(t=>t.id===e.messageId);n&&!n.readBy.includes(e.readBy)&&n.readBy.push(e.readBy)}}}function ql(){return{agents:[...Vl.values()],rooms:[...Hl.values()]}}var Jl,Yl=0,Xl,Zl=new Xn,Ql=1e3,$l=3e4;function eu(e){let t=Ct(new nn({connect:async()=>{let t=new WebSocket(e);return Xl=t,t.addEventListener(`open`,()=>{iu({type:`connected`})}),t.addEventListener(`close`,()=>{iu({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,$l)},plugins:[new rn]}));Jl=t,nu(t,++Yl)}function tu(){++Yl,Jl=void 0,Xl?.close(),Xl=void 0}async function nu(e,t){let n;for(;t===Yl;)try{let r=await e.subscribeEvents(n===void 0?{}:{lastEventId:n});for await(let e of r){if(t!==Yl)return;let r=qe(e);switch(r?.id!==void 0&&(n=r.id),Zl.publish(e),e.kind){case`state_sync`:Gl(e.state),iu({type:`state`,state:ql()});break;case`state_patch`:Kl(e.patch),iu({type:`patch`,patch:e.patch})}}return}catch{}}var ru=new Set;function iu(e){let t=JSON.stringify(e);for(let e of ru)try{e.postMessage(t)}catch{}}function au(e){switch(e.type){case`init`:eu(e.url);break;case`action`:{let t=Jl;if(!t)break;let n=e.id;Bl(t,e.action).then(e=>{iu({type:`actionResult`,id:n,result:e})}).catch(e=>{iu({type:`actionError`,id:n,message:e instanceof Error?e.message:String(e)})});break}case`getState`:iu({type:`state`,state:ql()})}}function ou(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 su(){return{agents:Object.fromEntries(Vl),rooms:Object.fromEntries(Hl),messages:Object.fromEntries(Ul),dms:Object.fromEntries(Wl)}}async function Q(e){return Jl?Bl(Jl,e):{content:`Not connected to mesh yet`,isError:!0}}function cu(){if(!Jl)throw Error(`Not connected to mesh yet`);return Jl}var $=Fn(Rl).$context(),lu={};lu.current=new qn({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})),getRoomMessages:$.getRoomMessages.handler(async({input:e})=>cu().getRoomMessages(e)),getMeshGraph:$.getMeshGraph.handler(async()=>cu().getMeshGraph({})),getMeshTrace:$.getMeshTrace.handler(async({input:e})=>cu().getMeshTrace(e)),subscribeEvents:$.subscribeEvents.handler(async function*({input:e,signal:t}){e.lastEventId===void 0&&(yield{kind:`state_sync`,state:su()}),yield*Zl.subscribe({...t?{signal:t}:{},...e.lastEventId===void 0?{}:{lastEventId:e.lastEventId}})}),disconnect:$.disconnect.handler(({context:e})=>(setTimeout(()=>{lu.current?.close(e.port)},0),{}))});function uu(e){lu.current?.upgrade(e,{context:{port:e}})}return typeof self<`u`&&self.addEventListener(`connect`,e=>{let t=e.ports[0];if(t!==void 0){ru.add(t);try{t.postMessage(JSON.stringify({type:`state`,state:ql()}))}catch{}t.onmessage=e=>{let t=JSON.parse(typeof e.data==`string`?e.data:String(e.data));ou(t)&&au(t)},uu(t)}}),e.agents=Vl,e.applyPatch=Kl,e.applyStateSync=Gl,e.connect=eu,e.disconnect=tu,e.dms=Wl,e.getStateSnapshot=ql,e.localPublisher=Zl,e.messages=Ul,e.ports=ru,e.rooms=Hl,e.upgradeTabRpcPort=uu,e})({});
@@ -1 +1 @@
1
- (function(){var e=`agent-comms-v1`,t=[{"revision":"30a9eec05b622811fe40c7ffdb4e9e0d","url":"mesh-worker.js"},{"revision":"f1ee3afb8c9e8f0d7315fd93d6457316","url":"index.html"},{"revision":"18fda4e47151176e4ed67f2d91df5fae","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
+ (function(){var e=`agent-comms-v1`,t=[{"revision":"4aa50dcf8934893319329539dd22eb29","url":"mesh-worker.js"},{"revision":"f1ee3afb8c9e8f0d7315fd93d6457316","url":"index.html"},{"revision":"18fda4e47151176e4ed67f2d91df5fae","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)}))})})();
@@ -52,6 +52,9 @@ export declare const MCP_TOOL_PARAMS: z.ZodObject<{
52
52
  gateway_trust: "gateway_trust";
53
53
  gateway_untrust: "gateway_untrust";
54
54
  gateway_list_trusted: "gateway_list_trusted";
55
+ dm_admit: "dm_admit";
56
+ dm_use_grant: "dm_use_grant";
57
+ dm_revoke: "dm_revoke";
55
58
  gateway_generate_connection_code: "gateway_generate_connection_code";
56
59
  gateway_redeem_connection_code: "gateway_redeem_connection_code";
57
60
  query_version: "query_version";
@@ -115,6 +118,7 @@ export declare const MCP_TOOL_PARAMS: z.ZodObject<{
115
118
  signature: z.ZodOptional<z.ZodString>;
116
119
  fingerprint: z.ZodOptional<z.ZodString>;
117
120
  principal: z.ZodOptional<z.ZodBoolean>;
121
+ grant: z.ZodOptional<z.ZodString>;
118
122
  timeoutMs: z.ZodOptional<z.ZodNumber>;
119
123
  }, z.core.$strip>;
120
124
  export type ToolParams = z.infer<typeof MCP_TOOL_PARAMS>;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6F1B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAsBzD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAgUxE;AAMD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,GACnB,iBAAiB,GAAG,SAAS,CAK/B;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA2ChE;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAoB/D;AAMD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuB9B;AAMD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC3B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAMD,wBAAsB,cAAc,CAClC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC3B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkG1B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAsBzD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAkVxE;AAMD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,GACnB,iBAAiB,GAAG,SAAS,CAK/B;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA2ChE;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAoB/D;AAMD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuB9B;AAMD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC3B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAMD,wBAAsB,cAAc,CAClC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC3B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB"}
@@ -59,6 +59,9 @@ export const MCP_TOOL_PARAMS = z.object({
59
59
  "gateway_trust",
60
60
  "gateway_untrust",
61
61
  "gateway_list_trusted",
62
+ "dm_admit",
63
+ "dm_use_grant",
64
+ "dm_revoke",
62
65
  "gateway_generate_connection_code",
63
66
  "gateway_redeem_connection_code",
64
67
  "query_version",
@@ -108,8 +111,10 @@ export const MCP_TOOL_PARAMS = z.object({
108
111
  /** The redeemed code's own signature field (gateway_redeem_connection_code), or a PGP fingerprint the caller already independently trusts, used either to pin a supplied publicKey or to fetch one from a keyserver when publicKey is omitted. */
109
112
  signature: z.string().optional(),
110
113
  fingerprint: z.string().optional(),
111
- /** For gateway_trust/gateway_untrust: when true, `device` names a user principal (agent-comms#187) rather than a bare remote device-id (agent-comms#193). */
114
+ /** For gateway_trust/gateway_untrust (and dm_admit, where `target` names it): when true, the id names a user principal (agent-comms#187) rather than a bare remote device-id (agent-comms#193). */
112
115
  principal: z.boolean().optional(),
116
+ /** The dm:send grant text dm_admit returned, presented by dm_use_grant. */
117
+ grant: z.string().optional(),
113
118
  /** How long mesh_trace waits for a path.trace response before giving up (agent-comms#199). */
114
119
  timeoutMs: z.number().optional(),
115
120
  });
@@ -423,6 +428,24 @@ export function buildAction(params) {
423
428
  };
424
429
  case "gateway_list_trusted":
425
430
  return { action: "gateway_list_trusted" };
431
+ case "dm_admit":
432
+ if (p.target === undefined)
433
+ throw new BuildActionError("dm_admit", "target");
434
+ return {
435
+ action: "dm_admit",
436
+ target: p.target,
437
+ ...(p.principal !== undefined && { principal: p.principal }),
438
+ };
439
+ case "dm_use_grant":
440
+ if (p.target === undefined)
441
+ throw new BuildActionError("dm_use_grant", "target");
442
+ if (p.grant === undefined)
443
+ throw new BuildActionError("dm_use_grant", "grant");
444
+ return { action: "dm_use_grant", target: p.target, grant: p.grant };
445
+ case "dm_revoke":
446
+ if (p.target === undefined)
447
+ throw new BuildActionError("dm_revoke", "target");
448
+ return { action: "dm_revoke", target: p.target };
426
449
  case "gateway_generate_connection_code":
427
450
  return {
428
451
  action: "gateway_generate_connection_code",
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * CommsTool's dm_admit, dm_use_grant and dm_revoke action handlers -- the tool surface for agent-comms#162's dm:send grants, split out of tool.ts purely to keep it under the repo's max-lines cap.
3
+ *
4
+ * A grant lets one device send its first DM to another without the receiver deciding on the spot: the receiver admits the sender ahead of time (dm_admit) and hands over the grant it returns, the sender presents it (dm_use_grant), and the receiver's own user principal verifies it instead of asking a person. dm_revoke withdraws it.
5
+ */
6
+ import type { CommsAction } from "./types.js";
7
+ import type { CommsResult, MeshOnlyFeatures } from "./tool.js";
8
+ /** Admits action.target to DM this user ahead of time: that one device, or, with action.principal, every device of that user principal. `receiverId` is this agent's own device-id, which the returned instructions name so the sender can quote them back verbatim. */
9
+ export declare function dmAdmit(store: Readonly<Pick<MeshOnlyFeatures, "admitAgentForDm">>, action: CommsAction & {
10
+ action: "dm_admit";
11
+ }, receiverId: string): Promise<CommsResult>;
12
+ /** Presents action.grant to action.target so this device's DMs to it are admitted without a decision. Throws INVALID_TOKEN, before contacting anyone, when the grant text is not a token. */
13
+ export declare function dmUseGrant(store: Readonly<Pick<MeshOnlyFeatures, "presentDmGrant">>, action: CommsAction & {
14
+ action: "dm_use_grant";
15
+ }): Promise<CommsResult>;
16
+ /** Withdraws the grant admitted for action.target, if one was ever issued. */
17
+ export declare function dmRevoke(store: Readonly<Pick<MeshOnlyFeatures, "revokeAgentDmAccess">>, action: CommsAction & {
18
+ action: "dm_revoke";
19
+ }): Promise<CommsResult>;
20
+ //# sourceMappingURL=dm-grant-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dm-grant-actions.d.ts","sourceRoot":"","sources":["../../src/core/dm-grant-actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAc/D,wQAAwQ;AACxQ,wBAAsB,OAAO,CAC3B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,EAC1D,MAAM,EAAE,WAAW,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,EAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CAkBtB;AAED,6LAA6L;AAC7L,wBAAsB,UAAU,CAC9B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,EACzD,MAAM,EAAE,WAAW,GAAG;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,GAC/C,OAAO,CAAC,WAAW,CAAC,CAQtB;AAED,8EAA8E;AAC9E,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,EAC9D,MAAM,EAAE,WAAW,GAAG;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GAC5C,OAAO,CAAC,WAAW,CAAC,CAOtB"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * CommsTool's dm_admit, dm_use_grant and dm_revoke action handlers -- the tool surface for agent-comms#162's dm:send grants, split out of tool.ts purely to keep it under the repo's max-lines cap.
3
+ *
4
+ * A grant lets one device send its first DM to another without the receiver deciding on the spot: the receiver admits the sender ahead of time (dm_admit) and hands over the grant it returns, the sender presents it (dm_use_grant), and the receiver's own user principal verifies it instead of asking a person. dm_revoke withdraws it.
5
+ */
6
+ import { decodeTokenText, encodeTokenText } from "./token-text.js";
7
+ /** Uniform "grants aren't available on this store" result, mirroring the other MeshOnlyFeatures action handlers. */
8
+ function grantsUnavailable() {
9
+ return {
10
+ content: "DM grants are not available on this store.",
11
+ isError: true,
12
+ };
13
+ }
14
+ /** How many further hops a grant admitting a user principal permits: the principal delegating to one of its own devices. */
15
+ const PRINCIPAL_DELEGATION_DEPTH = 1;
16
+ /** Admits action.target to DM this user ahead of time: that one device, or, with action.principal, every device of that user principal. `receiverId` is this agent's own device-id, which the returned instructions name so the sender can quote them back verbatim. */
17
+ export async function dmAdmit(store, action, receiverId) {
18
+ if (!store.admitAgentForDm)
19
+ return grantsUnavailable();
20
+ const grant = await store.admitAgentForDm(action.target, action.principal === true ? PRINCIPAL_DELEGATION_DEPTH : 0);
21
+ const who = action.principal === true
22
+ ? `${action.target} and every device of that user`
23
+ : action.target;
24
+ return {
25
+ content: [
26
+ `Admitted ${who} to DM you without asking again.`,
27
+ `Give them this grant, and have them call dm_use_grant with target ${receiverId} and this grant:`,
28
+ encodeTokenText(grant),
29
+ ].join("\n"),
30
+ isError: false,
31
+ };
32
+ }
33
+ /** Presents action.grant to action.target so this device's DMs to it are admitted without a decision. Throws INVALID_TOKEN, before contacting anyone, when the grant text is not a token. */
34
+ export async function dmUseGrant(store, action) {
35
+ if (!store.presentDmGrant)
36
+ return grantsUnavailable();
37
+ const grant = decodeTokenText(action.grant);
38
+ await store.presentDmGrant(action.target, grant);
39
+ return {
40
+ content: `DM access to ${action.target} granted; you can now dm it.`,
41
+ isError: false,
42
+ };
43
+ }
44
+ /** Withdraws the grant admitted for action.target, if one was ever issued. */
45
+ export async function dmRevoke(store, action) {
46
+ if (!store.revokeAgentDmAccess)
47
+ return grantsUnavailable();
48
+ await store.revokeAgentDmAccess(action.target);
49
+ return {
50
+ content: `Revoked ${action.target}'s DM grant.`,
51
+ isError: false,
52
+ };
53
+ }
54
+ //# sourceMappingURL=dm-grant-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dm-grant-actions.js","sourceRoot":"","sources":["../../src/core/dm-grant-actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEnE,oHAAoH;AACpH,SAAS,iBAAiB;IACxB,OAAO;QACL,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,4HAA4H;AAC5H,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC,wQAAwQ;AACxQ,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAA0D,EAC1D,MAA4C,EAC5C,UAAkB;IAElB,IAAI,CAAC,KAAK,CAAC,eAAe;QAAE,OAAO,iBAAiB,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,eAAe,CACvC,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;IACF,MAAM,GAAG,GACP,MAAM,CAAC,SAAS,KAAK,IAAI;QACvB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,gCAAgC;QAClD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACpB,OAAO;QACL,OAAO,EAAE;YACP,YAAY,GAAG,kCAAkC;YACjD,qEAAqE,UAAU,kBAAkB;YACjG,eAAe,CAAC,KAAK,CAAC;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,6LAA6L;AAC7L,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAyD,EACzD,MAAgD;IAEhD,IAAI,CAAC,KAAK,CAAC,cAAc;QAAE,OAAO,iBAAiB,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO;QACL,OAAO,EAAE,gBAAgB,MAAM,CAAC,MAAM,8BAA8B;QACpE,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAA8D,EAC9D,MAA6C;IAE7C,IAAI,CAAC,KAAK,CAAC,mBAAmB;QAAE,OAAO,iBAAiB,EAAE,CAAC;IAC3D,MAAM,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO;QACL,OAAO,EAAE,WAAW,MAAM,CAAC,MAAM,cAAc;QAC/C,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC"}
@@ -14,6 +14,22 @@ export interface IdentitySlot {
14
14
  /** Directory override for tests. */
15
15
  dir?: string;
16
16
  }
17
+ /** A CapabilityToken (COSE_Sign1: [protected header bytes, unprotected header map, payload bytes or null, signature bytes]) with every byte-string field base64-encoded for JSON storage. Only the two named unprotected-header fields (alg, kid) are round-tripped -- every token minted by wire-mesh-core today leaves the unprotected header empty (alg/kid live in the protected header instead), so the schema's own open catchall for arbitrary extra keys is left unhandled until a real caller actually needs one preserved. */
18
+ export type SerializedCapabilityToken = [
19
+ string,
20
+ {
21
+ "1"?: number;
22
+ "4"?: string;
23
+ [key: string]: unknown;
24
+ },
25
+ string | null,
26
+ string
27
+ ];
28
+ export declare function isSerializedCapabilityToken(value: unknown): value is SerializedCapabilityToken;
29
+ /** A capability token as plain JSON: every byte string base64-encoded. */
30
+ export declare function serializeToken(token: CapabilityToken): SerializedCapabilityToken;
31
+ /** The inverse of serializeToken. */
32
+ export declare function deserializeToken(serialized: SerializedCapabilityToken): CapabilityToken;
17
33
  /** Directory this slot's own room-notice oplog is stored under (createNodeFsStorage's own dir option), mirroring the identity file's per-(harness, cwd) naming convention -- a sibling directory rather than a sibling file, since an oplog needs its own directory tree (one entry per sequence number) rather than a single JSON blob. */
18
34
  export declare function oplogDirFor(slot: Readonly<IdentitySlot>): string;
19
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"identity-store.d.ts","sourceRoot":"","sources":["../../src/core/identity-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-store.d.ts","sourceRoot":"","sources":["../../src/core/identity-store.ts"],"names":[],"mappings":"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"}