minutes-mcp 0.10.2 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -175,7 +175,7 @@ function findMinutesBinary() {
175
175
  }
176
176
  let MINUTES_BIN = findMinutesBinary();
177
177
  // ── Expected CLI version (must match this MCP server release) ──
178
- const MCP_SERVER_VERSION = "0.10.2";
178
+ const MCP_SERVER_VERSION = "0.10.3";
179
179
  const EXPECTED_CLI_VERSION = MCP_SERVER_VERSION;
180
180
  const RELEASE_TAG = `v${EXPECTED_CLI_VERSION}`;
181
181
  // ── CLI auto-install ────────────────────────────────────────
@@ -4,9 +4,9 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Minutes Dashboard</title>
7
- <script type="module" crossorigin>(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const r of i.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&o(r)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();function h(e,t,n){function o(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:r,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);const l=r.prototype,m=Object.keys(l);for(let f=0;f<m.length;f++){const g=m[f];g in a||(a[g]=l[g].bind(a))}}const s=n?.Parent??Object;class i extends s{}Object.defineProperty(i,"name",{value:e});function r(a){var c;const l=n?.Parent?new i:this;o(l,a),(c=l._zod).deferred??(c.deferred=[]);for(const m of l._zod.deferred)m();return l}return Object.defineProperty(r,"init",{value:o}),Object.defineProperty(r,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(r,"name",{value:e}),r}class me extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class hn extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const mn={};function oe(e){return mn}function fn(e){const t=Object.values(e).filter(o=>typeof o=="number");return Object.entries(e).filter(([o,s])=>t.indexOf(+o)===-1).map(([o,s])=>s)}function st(e,t){return typeof t=="bigint"?t.toString():t}function Be(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function lt(e){return e==null}function dt(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function yo(e,t){const n=(e.toString().split(".")[1]||"").length,o=t.toString();let s=(o.split(".")[1]||"").length;if(s===0&&/\d?e-\d?/.test(o)){const c=o.match(/\d?e-(\d?)/);c?.[1]&&(s=Number.parseInt(c[1]))}const i=n>s?n:s,r=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return r%a/10**i}const Dt=Symbol("evaluating");function z(e,t,n){let o;Object.defineProperty(e,t,{get(){if(o!==Dt)return o===void 0&&(o=Dt,o=n()),o},set(s){Object.defineProperty(e,t,{value:s})},configurable:!0})}function ue(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function re(...e){const t={};for(const n of e){const o=Object.getOwnPropertyDescriptors(n);Object.assign(t,o)}return Object.defineProperties({},t)}function Lt(e){return JSON.stringify(e)}function wo(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const gn="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function $e(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const ko=Be(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ge(e){if($e(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!($e(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function _n(e){return ge(e)?{...e}:Array.isArray(e)?[...e]:e}const So=new Set(["string","number","symbol"]);function _e(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ie(e,t,n){const o=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(o._zod.parent=e),o}function v(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function $o(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const zo={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function To(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const i=re(e._zod.def,{get shape(){const r={};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(r[a]=n.shape[a])}return ue(this,"shape",r),r},checks:[]});return ie(e,i)}function Ro(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const i=re(e._zod.def,{get shape(){const r={...e._zod.def.shape};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete r[a]}return ue(this,"shape",r),r},checks:[]});return ie(e,i)}function Io(e,t){if(!ge(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const i=e._zod.def.shape;for(const r in t)if(Object.getOwnPropertyDescriptor(i,r)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const s=re(e._zod.def,{get shape(){const i={...e._zod.def.shape,...t};return ue(this,"shape",i),i}});return ie(e,s)}function Po(e,t){if(!ge(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=re(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return ue(this,"shape",o),o}});return ie(e,n)}function xo(e,t){const n=re(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return ue(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return ie(e,n)}function Eo(e,t,n){const s=t._zod.def.checks;if(s&&s.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const r=re(t._zod.def,{get shape(){const a=t._zod.def.shape,c={...a};if(n)for(const l in n){if(!(l in a))throw new Error(`Unrecognized key: "${l}"`);n[l]&&(c[l]=e?new e({type:"optional",innerType:a[l]}):a[l])}else for(const l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return ue(this,"shape",c),c},checks:[]});return ie(t,r)}function Co(e,t,n){const o=re(t._zod.def,{get shape(){const s=t._zod.def.shape,i={...s};if(n)for(const r in n){if(!(r in i))throw new Error(`Unrecognized key: "${r}"`);n[r]&&(i[r]=new e({type:"nonoptional",innerType:s[r]}))}else for(const r in s)i[r]=new e({type:"nonoptional",innerType:s[r]});return ue(this,"shape",i),i}});return ie(t,o)}function de(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function pe(e,t){return t.map(n=>{var o;return(o=n).path??(o.path=[]),n.path.unshift(e),n})}function qe(e){return typeof e=="string"?e:e?.message}function se(e,t,n){const o={...e,path:e.path??[]};if(!e.message){const s=qe(e.inst?._zod.def?.error?.(e))??qe(t?.error?.(e))??qe(n.customError?.(e))??qe(n.localeError?.(e))??"Invalid input";o.message=s}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function pt(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ze(...e){const[t,n,o]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:o}:{...t}}const vn=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,st,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},bn=h("$ZodError",vn),yn=h("$ZodError",vn,{Parent:Error});function Zo(e,t=n=>n.message){const n={},o=[];for(const s of e.issues)s.path.length>0?(n[s.path[0]]=n[s.path[0]]||[],n[s.path[0]].push(t(s))):o.push(t(s));return{formErrors:o,fieldErrors:n}}function Oo(e,t=n=>n.message){const n={_errors:[]},o=s=>{for(const i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(r=>o({issues:r}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let r=n,a=0;for(;a<i.path.length;){const c=i.path[a];a===i.path.length-1?(r[c]=r[c]||{_errors:[]},r[c]._errors.push(t(i))):r[c]=r[c]||{_errors:[]},r=r[c],a++}}};return o(e),n}const ht=e=>(t,n,o,s)=>{const i=o?Object.assign(o,{async:!1}):{async:!1},r=t._zod.run({value:n,issues:[]},i);if(r instanceof Promise)throw new me;if(r.issues.length){const a=new(s?.Err??e)(r.issues.map(c=>se(c,i,oe())));throw gn(a,s?.callee),a}return r.value},mt=e=>async(t,n,o,s)=>{const i=o?Object.assign(o,{async:!0}):{async:!0};let r=t._zod.run({value:n,issues:[]},i);if(r instanceof Promise&&(r=await r),r.issues.length){const a=new(s?.Err??e)(r.issues.map(c=>se(c,i,oe())));throw gn(a,s?.callee),a}return r.value},We=e=>(t,n,o)=>{const s=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise)throw new me;return i.issues.length?{success:!1,error:new(e??bn)(i.issues.map(r=>se(r,s,oe())))}:{success:!0,data:i.value}},wn=We(yn),Ke=e=>async(t,n,o)=>{const s=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},s);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(r=>se(r,s,oe())))}:{success:!0,data:i.value}},No=Ke(yn),Ao=e=>(t,n,o)=>{const s=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return ht(e)(t,n,s)},qo=e=>(t,n,o)=>ht(e)(t,n,o),Mo=e=>async(t,n,o)=>{const s=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return mt(e)(t,n,s)},jo=e=>async(t,n,o)=>mt(e)(t,n,o),Do=e=>(t,n,o)=>{const s=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return We(e)(t,n,s)},Lo=e=>(t,n,o)=>We(e)(t,n,o),Uo=e=>async(t,n,o)=>{const s=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Ke(e)(t,n,s)},Fo=e=>async(t,n,o)=>Ke(e)(t,n,o),Ho=/^[cC][^\s-]{8,}$/,Jo=/^[0-9a-z]+$/,Vo=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Bo=/^[0-9a-vA-V]{20}$/,Wo=/^[A-Za-z0-9]{27}$/,Ko=/^[a-zA-Z0-9_-]{21}$/,Go=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Qo=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ut=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Yo=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Xo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function es(){return new RegExp(Xo,"u")}const ts=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ns=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,os=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,ss=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,rs=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,kn=/^[A-Za-z0-9_-]*$/,is=/^\+[1-9]\d{6,14}$/,Sn="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",as=new RegExp(`^${Sn}$`);function $n(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function cs(e){return new RegExp(`^${$n(e)}$`)}function us(e){const t=$n({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${Sn}T(?:${o})$`)}const ls=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},ds=/^-?\d+$/,zn=/^-?\d+(?:\.\d+)?$/,ps=/^(?:true|false)$/i,hs=/^null$/i,ms=/^undefined$/i,fs=/^[^A-Z]*$/,gs=/^[^a-z]*$/,W=h("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Tn={number:"number",bigint:"bigint",object:"date"},Rn=h("$ZodCheckLessThan",(e,t)=>{W.init(e,t);const n=Tn[typeof t.value];e._zod.onattach.push(o=>{const s=o._zod.bag,i=(t.inclusive?s.maximum:s.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?s.maximum=t.value:s.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),In=h("$ZodCheckGreaterThan",(e,t)=>{W.init(e,t);const n=Tn[typeof t.value];e._zod.onattach.push(o=>{const s=o._zod.bag,i=(t.inclusive?s.minimum:s.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?s.minimum=t.value:s.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),_s=h("$ZodCheckMultipleOf",(e,t)=>{W.init(e,t),e._zod.onattach.push(n=>{var o;(o=n._zod.bag).multipleOf??(o.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):yo(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),vs=h("$ZodCheckNumberFormat",(e,t)=>{W.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[s,i]=zo[t.format];e._zod.onattach.push(r=>{const a=r._zod.bag;a.format=t.format,a.minimum=s,a.maximum=i,n&&(a.pattern=ds)}),e._zod.check=r=>{const a=r.value;if(n){if(!Number.isInteger(a)){r.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?r.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):r.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort});return}}a<s&&r.issues.push({origin:"number",input:a,code:"too_small",minimum:s,inclusive:!0,inst:e,continue:!t.abort}),a>i&&r.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),bs=h("$ZodCheckMaxLength",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=o=>{const s=o.value;return!lt(s)&&s.length!==void 0}),e._zod.onattach.push(o=>{const s=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<s&&(o._zod.bag.maximum=t.maximum)}),e._zod.check=o=>{const s=o.value;if(s.length<=t.maximum)return;const r=pt(s);o.issues.push({origin:r,code:"too_big",maximum:t.maximum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),ys=h("$ZodCheckMinLength",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=o=>{const s=o.value;return!lt(s)&&s.length!==void 0}),e._zod.onattach.push(o=>{const s=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>s&&(o._zod.bag.minimum=t.minimum)}),e._zod.check=o=>{const s=o.value;if(s.length>=t.minimum)return;const r=pt(s);o.issues.push({origin:r,code:"too_small",minimum:t.minimum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),ws=h("$ZodCheckLengthEquals",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=o=>{const s=o.value;return!lt(s)&&s.length!==void 0}),e._zod.onattach.push(o=>{const s=o._zod.bag;s.minimum=t.length,s.maximum=t.length,s.length=t.length}),e._zod.check=o=>{const s=o.value,i=s.length;if(i===t.length)return;const r=pt(s),a=i>t.length;o.issues.push({origin:r,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:e,continue:!t.abort})}}),Ge=h("$ZodCheckStringFormat",(e,t)=>{var n,o;W.init(e,t),e._zod.onattach.push(s=>{const i=s._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=s=>{t.pattern.lastIndex=0,!t.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:t.format,input:s.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),ks=h("$ZodCheckRegex",(e,t)=>{Ge.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ss=h("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=fs),Ge.init(e,t)}),$s=h("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=gs),Ge.init(e,t)}),zs=h("$ZodCheckIncludes",(e,t)=>{W.init(e,t);const n=_e(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=o,e._zod.onattach.push(s=>{const i=s._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o)}),e._zod.check=s=>{s.value.includes(t.includes,t.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:s.value,inst:e,continue:!t.abort})}}),Ts=h("$ZodCheckStartsWith",(e,t)=>{W.init(e,t);const n=new RegExp(`^${_e(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:e,continue:!t.abort})}}),Rs=h("$ZodCheckEndsWith",(e,t)=>{W.init(e,t);const n=new RegExp(`.*${_e(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:e,continue:!t.abort})}}),Is=h("$ZodCheckOverwrite",(e,t)=>{W.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class Ps{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const o=t.split(`
8
- `).filter(r=>r),s=Math.min(...o.map(r=>r.length-r.trimStart().length)),i=o.map(r=>r.slice(s)).map(r=>" ".repeat(this.indent*2)+r);for(const r of i)this.content.push(r)}compile(){const t=Function,n=this?.args,s=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...n,s.join(`
9
- `))}}const xs={major:4,minor:3,patch:6},E=h("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=xs;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const s of o)for(const i of s._zod.onattach)i(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const s=(r,a,c)=>{let l=de(r),m;for(const f of a){if(f._zod.def.when){if(!f._zod.def.when(r))continue}else if(l)continue;const g=r.issues.length,_=f._zod.check(r);if(_ instanceof Promise&&c?.async===!1)throw new me;if(m||_ instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await _,r.issues.length!==g&&(l||(l=de(r,g)))});else{if(r.issues.length===g)continue;l||(l=de(r,g))}}return m?m.then(()=>r):r},i=(r,a,c)=>{if(de(r))return r.aborted=!0,r;const l=s(a,o,c);if(l instanceof Promise){if(c.async===!1)throw new me;return l.then(m=>e._zod.parse(m,c))}return e._zod.parse(l,c)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction==="backward"){const l=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return l instanceof Promise?l.then(m=>i(m,r,a)):i(l,r,a)}const c=e._zod.parse(r,a);if(c instanceof Promise){if(a.async===!1)throw new me;return c.then(l=>s(l,o,a))}return s(c,o,a)}}z(e,"~standard",()=>({validate:s=>{try{const i=wn(e,s);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return No(e,s).then(r=>r.success?{value:r.data}:{issues:r.error?.issues})}},vendor:"zod",version:1}))}),ft=h("$ZodString",(e,t)=>{E.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ls(e._zod.bag),e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),Z=h("$ZodStringFormat",(e,t)=>{Ge.init(e,t),ft.init(e,t)}),Es=h("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Qo),Z.init(e,t)}),Cs=h("$ZodUUID",(e,t)=>{if(t.version){const o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(o===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Ut(o))}else t.pattern??(t.pattern=Ut());Z.init(e,t)}),Zs=h("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Yo),Z.init(e,t)}),Os=h("$ZodURL",(e,t)=>{Z.init(e,t),e._zod.check=n=>{try{const o=n.value.trim(),s=new URL(o);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(s.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=s.href:n.value=o;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Ns=h("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=es()),Z.init(e,t)}),As=h("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Ko),Z.init(e,t)}),qs=h("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Ho),Z.init(e,t)}),Ms=h("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Jo),Z.init(e,t)}),js=h("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Vo),Z.init(e,t)}),Ds=h("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Bo),Z.init(e,t)}),Ls=h("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Wo),Z.init(e,t)}),Us=h("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=us(t)),Z.init(e,t)}),Fs=h("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=as),Z.init(e,t)}),Hs=h("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=cs(t)),Z.init(e,t)}),Js=h("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Go),Z.init(e,t)}),Vs=h("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=ts),Z.init(e,t),e._zod.bag.format="ipv4"}),Bs=h("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=ns),Z.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Ws=h("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=os),Z.init(e,t)}),Ks=h("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=ss),Z.init(e,t),e._zod.check=n=>{const o=n.value.split("/");try{if(o.length!==2)throw new Error;const[s,i]=o;if(!i)throw new Error;const r=Number(i);if(`${r}`!==i)throw new Error;if(r<0||r>128)throw new Error;new URL(`http://[${s}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Pn(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Gs=h("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=rs),Z.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Pn(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function Qs(e){if(!kn.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Pn(n)}const Ys=h("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=kn),Z.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{Qs(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Xs=h("$ZodE164",(e,t)=>{t.pattern??(t.pattern=is),Z.init(e,t)});function er(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[o]=n;if(!o)return!1;const s=JSON.parse(atob(o));return!("typ"in s&&s?.typ!=="JWT"||!s.alg||t&&(!("alg"in s)||s.alg!==t))}catch{return!1}}const tr=h("$ZodJWT",(e,t)=>{Z.init(e,t),e._zod.check=n=>{er(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),xn=h("$ZodNumber",(e,t)=>{E.init(e,t),e._zod.pattern=e._zod.bag.pattern??zn,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const s=n.value;if(typeof s=="number"&&!Number.isNaN(s)&&Number.isFinite(s))return n;const i=typeof s=="number"?Number.isNaN(s)?"NaN":Number.isFinite(s)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:s,inst:e,...i?{received:i}:{}}),n}}),nr=h("$ZodNumberFormat",(e,t)=>{vs.init(e,t),xn.init(e,t)}),or=h("$ZodBoolean",(e,t)=>{E.init(e,t),e._zod.pattern=ps,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=!!n.value}catch{}const s=n.value;return typeof s=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:s,inst:e}),n}}),sr=h("$ZodUndefined",(e,t)=>{E.init(e,t),e._zod.pattern=ms,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(n,o)=>{const s=n.value;return typeof s>"u"||n.issues.push({expected:"undefined",code:"invalid_type",input:s,inst:e}),n}}),rr=h("$ZodNull",(e,t)=>{E.init(e,t),e._zod.pattern=hs,e._zod.values=new Set([null]),e._zod.parse=(n,o)=>{const s=n.value;return s===null||n.issues.push({expected:"null",code:"invalid_type",input:s,inst:e}),n}}),ir=h("$ZodUnknown",(e,t)=>{E.init(e,t),e._zod.parse=n=>n}),ar=h("$ZodNever",(e,t)=>{E.init(e,t),e._zod.parse=(n,o)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Ft(e,t,n){e.issues.length&&t.issues.push(...pe(n,e.issues)),t.value[n]=e.value}const cr=h("$ZodArray",(e,t)=>{E.init(e,t),e._zod.parse=(n,o)=>{const s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=Array(s.length);const i=[];for(let r=0;r<s.length;r++){const a=s[r],c=t.element._zod.run({value:a,issues:[]},o);c instanceof Promise?i.push(c.then(l=>Ft(l,n,r))):Ft(c,n,r)}return i.length?Promise.all(i).then(()=>n):n}});function Le(e,t,n,o,s){if(e.issues.length){if(s&&!(n in o))return;t.issues.push(...pe(n,e.issues))}e.value===void 0?n in o&&(t.value[n]=void 0):t.value[n]=e.value}function En(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const n=$o(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Cn(e,t,n,o,s,i){const r=[],a=s.keySet,c=s.catchall._zod,l=c.def.type,m=c.optout==="optional";for(const f in t){if(a.has(f))continue;if(l==="never"){r.push(f);continue}const g=c.run({value:t[f],issues:[]},o);g instanceof Promise?e.push(g.then(_=>Le(_,n,f,t,m))):Le(g,n,f,t,m)}return r.length&&n.issues.push({code:"unrecognized_keys",keys:r,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}const ur=h("$ZodObject",(e,t)=>{if(E.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const c={...a};return Object.defineProperty(t,"shape",{value:c}),c}})}const o=Be(()=>En(t));z(e._zod,"propValues",()=>{const a=t.shape,c={};for(const l in a){const m=a[l]._zod;if(m.values){c[l]??(c[l]=new Set);for(const f of m.values)c[l].add(f)}}return c});const s=$e,i=t.catchall;let r;e._zod.parse=(a,c)=>{r??(r=o.value);const l=a.value;if(!s(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};const m=[],f=r.shape;for(const g of r.keys){const _=f[g],x=_._zod.optout==="optional",q=_._zod.run({value:l[g],issues:[]},c);q instanceof Promise?m.push(q.then(le=>Le(le,a,g,l,x))):Le(q,a,g,l,x)}return i?Cn(m,l,a,c,o.value,e):m.length?Promise.all(m).then(()=>a):a}}),lr=h("$ZodObjectJIT",(e,t)=>{ur.init(e,t);const n=e._zod.parse,o=Be(()=>En(t)),s=g=>{const _=new Ps(["shape","payload","ctx"]),x=o.value,q=N=>{const j=Lt(N);return`shape[${j}]._zod.run({ value: input[${j}], issues: [] }, ctx)`};_.write("const input = payload.value;");const le=Object.create(null);let Ae=0;for(const N of x.keys)le[N]=`key_${Ae++}`;_.write("const newResult = {};");for(const N of x.keys){const j=le[N],te=Lt(N),bo=g[N]?._zod?.optout==="optional";_.write(`const ${j} = ${q(N)};`),bo?_.write(`
7
+ <script type="module" crossorigin>(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(s){if(s.ep)return;s.ep=!0;const r=n(s);fetch(s.href,r)}})();function h(e,t,n){function o(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);const u=i.prototype,m=Object.keys(u);for(let f=0;f<m.length;f++){const g=m[f];g in a||(a[g]=u[g].bind(a))}}const s=n?.Parent??Object;class r extends s{}Object.defineProperty(r,"name",{value:e});function i(a){var c;const u=n?.Parent?new r:this;o(u,a),(c=u._zod).deferred??(c.deferred=[]);for(const m of u._zod.deferred)m();return u}return Object.defineProperty(i,"init",{value:o}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}class me extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class hn extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const mn={};function oe(e){return mn}function fn(e){const t=Object.values(e).filter(o=>typeof o=="number");return Object.entries(e).filter(([o,s])=>t.indexOf(+o)===-1).map(([o,s])=>s)}function st(e,t){return typeof t=="bigint"?t.toString():t}function Be(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function ut(e){return e==null}function dt(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function bo(e,t){const n=(e.toString().split(".")[1]||"").length,o=t.toString();let s=(o.split(".")[1]||"").length;if(s===0&&/\d?e-\d?/.test(o)){const c=o.match(/\d?e-(\d?)/);c?.[1]&&(s=Number.parseInt(c[1]))}const r=n>s?n:s,i=Number.parseInt(e.toFixed(r).replace(".","")),a=Number.parseInt(t.toFixed(r).replace(".",""));return i%a/10**r}const Dt=Symbol("evaluating");function z(e,t,n){let o;Object.defineProperty(e,t,{get(){if(o!==Dt)return o===void 0&&(o=Dt,o=n()),o},set(s){Object.defineProperty(e,t,{value:s})},configurable:!0})}function le(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function re(...e){const t={};for(const n of e){const o=Object.getOwnPropertyDescriptors(n);Object.assign(t,o)}return Object.defineProperties({},t)}function Lt(e){return JSON.stringify(e)}function yo(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const gn="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function $e(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const wo=Be(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ge(e){if($e(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!($e(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function _n(e){return ge(e)?{...e}:Array.isArray(e)?[...e]:e}const ko=new Set(["string","number","symbol"]);function _e(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ie(e,t,n){const o=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(o._zod.parent=e),o}function v(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function So(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const $o={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function zo(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const r=re(e._zod.def,{get shape(){const i={};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(i[a]=n.shape[a])}return le(this,"shape",i),i},checks:[]});return ie(e,r)}function To(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const r=re(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete i[a]}return le(this,"shape",i),i},checks:[]});return ie(e,r)}function Ro(e,t){if(!ge(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const r=e._zod.def.shape;for(const i in t)if(Object.getOwnPropertyDescriptor(r,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const s=re(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t};return le(this,"shape",r),r}});return ie(e,s)}function Io(e,t){if(!ge(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=re(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return le(this,"shape",o),o}});return ie(e,n)}function xo(e,t){const n=re(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return le(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return ie(e,n)}function Eo(e,t,n){const s=t._zod.def.checks;if(s&&s.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const i=re(t._zod.def,{get shape(){const a=t._zod.def.shape,c={...a};if(n)for(const u in n){if(!(u in a))throw new Error(`Unrecognized key: "${u}"`);n[u]&&(c[u]=e?new e({type:"optional",innerType:a[u]}):a[u])}else for(const u in a)c[u]=e?new e({type:"optional",innerType:a[u]}):a[u];return le(this,"shape",c),c},checks:[]});return ie(t,i)}function Po(e,t,n){const o=re(t._zod.def,{get shape(){const s=t._zod.def.shape,r={...s};if(n)for(const i in n){if(!(i in r))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(r[i]=new e({type:"nonoptional",innerType:s[i]}))}else for(const i in s)r[i]=new e({type:"nonoptional",innerType:s[i]});return le(this,"shape",r),r}});return ie(t,o)}function de(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function pe(e,t){return t.map(n=>{var o;return(o=n).path??(o.path=[]),n.path.unshift(e),n})}function Ae(e){return typeof e=="string"?e:e?.message}function se(e,t,n){const o={...e,path:e.path??[]};if(!e.message){const s=Ae(e.inst?._zod.def?.error?.(e))??Ae(t?.error?.(e))??Ae(n.customError?.(e))??Ae(n.localeError?.(e))??"Invalid input";o.message=s}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function pt(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ze(...e){const[t,n,o]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:o}:{...t}}const vn=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,st,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},bn=h("$ZodError",vn),yn=h("$ZodError",vn,{Parent:Error});function Co(e,t=n=>n.message){const n={},o=[];for(const s of e.issues)s.path.length>0?(n[s.path[0]]=n[s.path[0]]||[],n[s.path[0]].push(t(s))):o.push(t(s));return{formErrors:o,fieldErrors:n}}function Zo(e,t=n=>n.message){const n={_errors:[]},o=s=>{for(const r of s.issues)if(r.code==="invalid_union"&&r.errors.length)r.errors.map(i=>o({issues:i}));else if(r.code==="invalid_key")o({issues:r.issues});else if(r.code==="invalid_element")o({issues:r.issues});else if(r.path.length===0)n._errors.push(t(r));else{let i=n,a=0;for(;a<r.path.length;){const c=r.path[a];a===r.path.length-1?(i[c]=i[c]||{_errors:[]},i[c]._errors.push(t(r))):i[c]=i[c]||{_errors:[]},i=i[c],a++}}};return o(e),n}const ht=e=>(t,n,o,s)=>{const r=o?Object.assign(o,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},r);if(i instanceof Promise)throw new me;if(i.issues.length){const a=new(s?.Err??e)(i.issues.map(c=>se(c,r,oe())));throw gn(a,s?.callee),a}return i.value},mt=e=>async(t,n,o,s)=>{const r=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},r);if(i instanceof Promise&&(i=await i),i.issues.length){const a=new(s?.Err??e)(i.issues.map(c=>se(c,r,oe())));throw gn(a,s?.callee),a}return i.value},We=e=>(t,n,o)=>{const s=o?{...o,async:!1}:{async:!1},r=t._zod.run({value:n,issues:[]},s);if(r instanceof Promise)throw new me;return r.issues.length?{success:!1,error:new(e??bn)(r.issues.map(i=>se(i,s,oe())))}:{success:!0,data:r.value}},wn=We(yn),Ke=e=>async(t,n,o)=>{const s=o?Object.assign(o,{async:!0}):{async:!0};let r=t._zod.run({value:n,issues:[]},s);return r instanceof Promise&&(r=await r),r.issues.length?{success:!1,error:new e(r.issues.map(i=>se(i,s,oe())))}:{success:!0,data:r.value}},Oo=Ke(yn),No=e=>(t,n,o)=>{const s=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return ht(e)(t,n,s)},qo=e=>(t,n,o)=>ht(e)(t,n,o),Ao=e=>async(t,n,o)=>{const s=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return mt(e)(t,n,s)},Mo=e=>async(t,n,o)=>mt(e)(t,n,o),jo=e=>(t,n,o)=>{const s=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return We(e)(t,n,s)},Do=e=>(t,n,o)=>We(e)(t,n,o),Lo=e=>async(t,n,o)=>{const s=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Ke(e)(t,n,s)},Ho=e=>async(t,n,o)=>Ke(e)(t,n,o),Uo=/^[cC][^\s-]{8,}$/,Fo=/^[0-9a-z]+$/,Jo=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Vo=/^[0-9a-vA-V]{20}$/,Bo=/^[A-Za-z0-9]{27}$/,Wo=/^[a-zA-Z0-9_-]{21}$/,Ko=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Go=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ht=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Qo=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Yo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Xo(){return new RegExp(Yo,"u")}const es=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ts=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ns=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,os=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ss=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,kn=/^[A-Za-z0-9_-]*$/,rs=/^\+[1-9]\d{6,14}$/,Sn="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",is=new RegExp(`^${Sn}$`);function $n(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function as(e){return new RegExp(`^${$n(e)}$`)}function cs(e){const t=$n({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${Sn}T(?:${o})$`)}const ls=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},us=/^-?\d+$/,zn=/^-?\d+(?:\.\d+)?$/,ds=/^(?:true|false)$/i,ps=/^null$/i,hs=/^undefined$/i,ms=/^[^A-Z]*$/,fs=/^[^a-z]*$/,W=h("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Tn={number:"number",bigint:"bigint",object:"date"},Rn=h("$ZodCheckLessThan",(e,t)=>{W.init(e,t);const n=Tn[typeof t.value];e._zod.onattach.push(o=>{const s=o._zod.bag,r=(t.inclusive?s.maximum:s.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<r&&(t.inclusive?s.maximum=t.value:s.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),In=h("$ZodCheckGreaterThan",(e,t)=>{W.init(e,t);const n=Tn[typeof t.value];e._zod.onattach.push(o=>{const s=o._zod.bag,r=(t.inclusive?s.minimum:s.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>r&&(t.inclusive?s.minimum=t.value:s.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),gs=h("$ZodCheckMultipleOf",(e,t)=>{W.init(e,t),e._zod.onattach.push(n=>{var o;(o=n._zod.bag).multipleOf??(o.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):bo(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),_s=h("$ZodCheckNumberFormat",(e,t)=>{W.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[s,r]=$o[t.format];e._zod.onattach.push(i=>{const a=i._zod.bag;a.format=t.format,a.minimum=s,a.maximum=r,n&&(a.pattern=us)}),e._zod.check=i=>{const a=i.value;if(n){if(!Number.isInteger(a)){i.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort});return}}a<s&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:s,inclusive:!0,inst:e,continue:!t.abort}),a>r&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),vs=h("$ZodCheckMaxLength",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=o=>{const s=o.value;return!ut(s)&&s.length!==void 0}),e._zod.onattach.push(o=>{const s=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<s&&(o._zod.bag.maximum=t.maximum)}),e._zod.check=o=>{const s=o.value;if(s.length<=t.maximum)return;const i=pt(s);o.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),bs=h("$ZodCheckMinLength",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=o=>{const s=o.value;return!ut(s)&&s.length!==void 0}),e._zod.onattach.push(o=>{const s=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>s&&(o._zod.bag.minimum=t.minimum)}),e._zod.check=o=>{const s=o.value;if(s.length>=t.minimum)return;const i=pt(s);o.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),ys=h("$ZodCheckLengthEquals",(e,t)=>{var n;W.init(e,t),(n=e._zod.def).when??(n.when=o=>{const s=o.value;return!ut(s)&&s.length!==void 0}),e._zod.onattach.push(o=>{const s=o._zod.bag;s.minimum=t.length,s.maximum=t.length,s.length=t.length}),e._zod.check=o=>{const s=o.value,r=s.length;if(r===t.length)return;const i=pt(s),a=r>t.length;o.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:e,continue:!t.abort})}}),Ge=h("$ZodCheckStringFormat",(e,t)=>{var n,o;W.init(e,t),e._zod.onattach.push(s=>{const r=s._zod.bag;r.format=t.format,t.pattern&&(r.patterns??(r.patterns=new Set),r.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=s=>{t.pattern.lastIndex=0,!t.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:t.format,input:s.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),ws=h("$ZodCheckRegex",(e,t)=>{Ge.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ks=h("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=ms),Ge.init(e,t)}),Ss=h("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=fs),Ge.init(e,t)}),$s=h("$ZodCheckIncludes",(e,t)=>{W.init(e,t);const n=_e(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=o,e._zod.onattach.push(s=>{const r=s._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(o)}),e._zod.check=s=>{s.value.includes(t.includes,t.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:s.value,inst:e,continue:!t.abort})}}),zs=h("$ZodCheckStartsWith",(e,t)=>{W.init(e,t);const n=new RegExp(`^${_e(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:e,continue:!t.abort})}}),Ts=h("$ZodCheckEndsWith",(e,t)=>{W.init(e,t);const n=new RegExp(`.*${_e(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:e,continue:!t.abort})}}),Rs=h("$ZodCheckOverwrite",(e,t)=>{W.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class Is{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const o=t.split(`
8
+ `).filter(i=>i),s=Math.min(...o.map(i=>i.length-i.trimStart().length)),r=o.map(i=>i.slice(s)).map(i=>" ".repeat(this.indent*2)+i);for(const i of r)this.content.push(i)}compile(){const t=Function,n=this?.args,s=[...(this?.content??[""]).map(r=>` ${r}`)];return new t(...n,s.join(`
9
+ `))}}const xs={major:4,minor:3,patch:6},P=h("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=xs;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const s of o)for(const r of s._zod.onattach)r(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const s=(i,a,c)=>{let u=de(i),m;for(const f of a){if(f._zod.def.when){if(!f._zod.def.when(i))continue}else if(u)continue;const g=i.issues.length,_=f._zod.check(i);if(_ instanceof Promise&&c?.async===!1)throw new me;if(m||_ instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await _,i.issues.length!==g&&(u||(u=de(i,g)))});else{if(i.issues.length===g)continue;u||(u=de(i,g))}}return m?m.then(()=>i):i},r=(i,a,c)=>{if(de(i))return i.aborted=!0,i;const u=s(a,o,c);if(u instanceof Promise){if(c.async===!1)throw new me;return u.then(m=>e._zod.parse(m,c))}return e._zod.parse(u,c)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction==="backward"){const u=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return u instanceof Promise?u.then(m=>r(m,i,a)):r(u,i,a)}const c=e._zod.parse(i,a);if(c instanceof Promise){if(a.async===!1)throw new me;return c.then(u=>s(u,o,a))}return s(c,o,a)}}z(e,"~standard",()=>({validate:s=>{try{const r=wn(e,s);return r.success?{value:r.data}:{issues:r.error?.issues}}catch{return Oo(e,s).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),ft=h("$ZodString",(e,t)=>{P.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ls(e._zod.bag),e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),Z=h("$ZodStringFormat",(e,t)=>{Ge.init(e,t),ft.init(e,t)}),Es=h("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Go),Z.init(e,t)}),Ps=h("$ZodUUID",(e,t)=>{if(t.version){const o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(o===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Ht(o))}else t.pattern??(t.pattern=Ht());Z.init(e,t)}),Cs=h("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Qo),Z.init(e,t)}),Zs=h("$ZodURL",(e,t)=>{Z.init(e,t),e._zod.check=n=>{try{const o=n.value.trim(),s=new URL(o);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(s.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=s.href:n.value=o;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Os=h("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Xo()),Z.init(e,t)}),Ns=h("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Wo),Z.init(e,t)}),qs=h("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Uo),Z.init(e,t)}),As=h("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Fo),Z.init(e,t)}),Ms=h("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Jo),Z.init(e,t)}),js=h("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Vo),Z.init(e,t)}),Ds=h("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Bo),Z.init(e,t)}),Ls=h("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=cs(t)),Z.init(e,t)}),Hs=h("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=is),Z.init(e,t)}),Us=h("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=as(t)),Z.init(e,t)}),Fs=h("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Ko),Z.init(e,t)}),Js=h("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=es),Z.init(e,t),e._zod.bag.format="ipv4"}),Vs=h("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=ts),Z.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Bs=h("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=ns),Z.init(e,t)}),Ws=h("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=os),Z.init(e,t),e._zod.check=n=>{const o=n.value.split("/");try{if(o.length!==2)throw new Error;const[s,r]=o;if(!r)throw new Error;const i=Number(r);if(`${i}`!==r)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${s}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function xn(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Ks=h("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=ss),Z.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{xn(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function Gs(e){if(!kn.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return xn(n)}const Qs=h("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=kn),Z.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{Gs(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Ys=h("$ZodE164",(e,t)=>{t.pattern??(t.pattern=rs),Z.init(e,t)});function Xs(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[o]=n;if(!o)return!1;const s=JSON.parse(atob(o));return!("typ"in s&&s?.typ!=="JWT"||!s.alg||t&&(!("alg"in s)||s.alg!==t))}catch{return!1}}const er=h("$ZodJWT",(e,t)=>{Z.init(e,t),e._zod.check=n=>{Xs(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),En=h("$ZodNumber",(e,t)=>{P.init(e,t),e._zod.pattern=e._zod.bag.pattern??zn,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const s=n.value;if(typeof s=="number"&&!Number.isNaN(s)&&Number.isFinite(s))return n;const r=typeof s=="number"?Number.isNaN(s)?"NaN":Number.isFinite(s)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:s,inst:e,...r?{received:r}:{}}),n}}),tr=h("$ZodNumberFormat",(e,t)=>{_s.init(e,t),En.init(e,t)}),nr=h("$ZodBoolean",(e,t)=>{P.init(e,t),e._zod.pattern=ds,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=!!n.value}catch{}const s=n.value;return typeof s=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:s,inst:e}),n}}),or=h("$ZodUndefined",(e,t)=>{P.init(e,t),e._zod.pattern=hs,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(n,o)=>{const s=n.value;return typeof s>"u"||n.issues.push({expected:"undefined",code:"invalid_type",input:s,inst:e}),n}}),sr=h("$ZodNull",(e,t)=>{P.init(e,t),e._zod.pattern=ps,e._zod.values=new Set([null]),e._zod.parse=(n,o)=>{const s=n.value;return s===null||n.issues.push({expected:"null",code:"invalid_type",input:s,inst:e}),n}}),rr=h("$ZodUnknown",(e,t)=>{P.init(e,t),e._zod.parse=n=>n}),ir=h("$ZodNever",(e,t)=>{P.init(e,t),e._zod.parse=(n,o)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Ut(e,t,n){e.issues.length&&t.issues.push(...pe(n,e.issues)),t.value[n]=e.value}const ar=h("$ZodArray",(e,t)=>{P.init(e,t),e._zod.parse=(n,o)=>{const s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=Array(s.length);const r=[];for(let i=0;i<s.length;i++){const a=s[i],c=t.element._zod.run({value:a,issues:[]},o);c instanceof Promise?r.push(c.then(u=>Ut(u,n,i))):Ut(c,n,i)}return r.length?Promise.all(r).then(()=>n):n}});function Le(e,t,n,o,s){if(e.issues.length){if(s&&!(n in o))return;t.issues.push(...pe(n,e.issues))}e.value===void 0?n in o&&(t.value[n]=void 0):t.value[n]=e.value}function Pn(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const n=So(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Cn(e,t,n,o,s,r){const i=[],a=s.keySet,c=s.catchall._zod,u=c.def.type,m=c.optout==="optional";for(const f in t){if(a.has(f))continue;if(u==="never"){i.push(f);continue}const g=c.run({value:t[f],issues:[]},o);g instanceof Promise?e.push(g.then(_=>Le(_,n,f,t,m))):Le(g,n,f,t,m)}return i.length&&n.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:r}),e.length?Promise.all(e).then(()=>n):n}const cr=h("$ZodObject",(e,t)=>{if(P.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const c={...a};return Object.defineProperty(t,"shape",{value:c}),c}})}const o=Be(()=>Pn(t));z(e._zod,"propValues",()=>{const a=t.shape,c={};for(const u in a){const m=a[u]._zod;if(m.values){c[u]??(c[u]=new Set);for(const f of m.values)c[u].add(f)}}return c});const s=$e,r=t.catchall;let i;e._zod.parse=(a,c)=>{i??(i=o.value);const u=a.value;if(!s(u))return a.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),a;a.value={};const m=[],f=i.shape;for(const g of i.keys){const _=f[g],E=_._zod.optout==="optional",A=_._zod.run({value:u[g],issues:[]},c);A instanceof Promise?m.push(A.then(ue=>Le(ue,a,g,u,E))):Le(A,a,g,u,E)}return r?Cn(m,u,a,c,o.value,e):m.length?Promise.all(m).then(()=>a):a}}),lr=h("$ZodObjectJIT",(e,t)=>{cr.init(e,t);const n=e._zod.parse,o=Be(()=>Pn(t)),s=g=>{const _=new Is(["shape","payload","ctx"]),E=o.value,A=q=>{const j=Lt(q);return`shape[${j}]._zod.run({ value: input[${j}], issues: [] }, ctx)`};_.write("const input = payload.value;");const ue=Object.create(null);let qe=0;for(const q of E.keys)ue[q]=`key_${qe++}`;_.write("const newResult = {};");for(const q of E.keys){const j=ue[q],te=Lt(q),vo=g[q]?._zod?.optout==="optional";_.write(`const ${j} = ${A(q)};`),vo?_.write(`
10
10
  if (${j}.issues.length) {
11
11
  if (${te} in input) {
12
12
  payload.issues = payload.issues.concat(${j}.issues.map(iss => ({
@@ -40,9 +40,9 @@
40
40
  newResult[${te}] = ${j}.value;
41
41
  }
42
42
 
43
- `)}_.write("payload.value = newResult;"),_.write("return payload;");const D=_.compile();return(N,j)=>D(g,N,j)};let i;const r=$e,a=!mn.jitless,l=a&&ko.value,m=t.catchall;let f;e._zod.parse=(g,_)=>{f??(f=o.value);const x=g.value;return r(x)?a&&l&&_?.async===!1&&_.jitless!==!0?(i||(i=s(t.shape)),g=i(g,_),m?Cn([],x,g,_,f,e):g):n(g,_):(g.issues.push({expected:"object",code:"invalid_type",input:x,inst:e}),g)}});function Ht(e,t,n,o){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const s=e.filter(i=>!de(i));return s.length===1?(t.value=s[0].value,s[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(i=>i.issues.map(r=>se(r,o,oe())))}),t)}const Zn=h("$ZodUnion",(e,t)=>{E.init(e,t),z(e._zod,"optin",()=>t.options.some(s=>s._zod.optin==="optional")?"optional":void 0),z(e._zod,"optout",()=>t.options.some(s=>s._zod.optout==="optional")?"optional":void 0),z(e._zod,"values",()=>{if(t.options.every(s=>s._zod.values))return new Set(t.options.flatMap(s=>Array.from(s._zod.values)))}),z(e._zod,"pattern",()=>{if(t.options.every(s=>s._zod.pattern)){const s=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${s.map(i=>dt(i.source)).join("|")})$`)}});const n=t.options.length===1,o=t.options[0]._zod.run;e._zod.parse=(s,i)=>{if(n)return o(s,i);let r=!1;const a=[];for(const c of t.options){const l=c._zod.run({value:s.value,issues:[]},i);if(l instanceof Promise)a.push(l),r=!0;else{if(l.issues.length===0)return l;a.push(l)}}return r?Promise.all(a).then(c=>Ht(c,s,e,i)):Ht(a,s,e,i)}}),dr=h("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Zn.init(e,t);const n=e._zod.parse;z(e._zod,"propValues",()=>{const s={};for(const i of t.options){const r=i._zod.propValues;if(!r||Object.keys(r).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const[a,c]of Object.entries(r)){s[a]||(s[a]=new Set);for(const l of c)s[a].add(l)}}return s});const o=Be(()=>{const s=t.options,i=new Map;for(const r of s){const a=r._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(const c of a){if(i.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,r)}}return i});e._zod.parse=(s,i)=>{const r=s.value;if(!$e(r))return s.issues.push({code:"invalid_type",expected:"object",input:r,inst:e}),s;const a=o.value.get(r?.[t.discriminator]);return a?a._zod.run(s,i):t.unionFallback?n(s,i):(s.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:r,path:[t.discriminator],inst:e}),s)}}),pr=h("$ZodIntersection",(e,t)=>{E.init(e,t),e._zod.parse=(n,o)=>{const s=n.value,i=t.left._zod.run({value:s,issues:[]},o),r=t.right._zod.run({value:s,issues:[]},o);return i instanceof Promise||r instanceof Promise?Promise.all([i,r]).then(([c,l])=>Jt(n,c,l)):Jt(n,i,r)}});function rt(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ge(e)&&ge(t)){const n=Object.keys(t),o=Object.keys(e).filter(i=>n.indexOf(i)!==-1),s={...e,...t};for(const i of o){const r=rt(e[i],t[i]);if(!r.valid)return{valid:!1,mergeErrorPath:[i,...r.mergeErrorPath]};s[i]=r.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<e.length;o++){const s=e[o],i=t[o],r=rt(s,i);if(!r.valid)return{valid:!1,mergeErrorPath:[o,...r.mergeErrorPath]};n.push(r.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Jt(e,t,n){const o=new Map;let s;for(const a of t.issues)if(a.code==="unrecognized_keys"){s??(s=a);for(const c of a.keys)o.has(c)||o.set(c,{}),o.get(c).l=!0}else e.issues.push(a);for(const a of n.issues)if(a.code==="unrecognized_keys")for(const c of a.keys)o.has(c)||o.set(c,{}),o.get(c).r=!0;else e.issues.push(a);const i=[...o].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(i.length&&s&&e.issues.push({...s,keys:i}),de(e))return e;const r=rt(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const hr=h("$ZodRecord",(e,t)=>{E.init(e,t),e._zod.parse=(n,o)=>{const s=n.value;if(!ge(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;const i=[],r=t.keyType._zod.values;if(r){n.value={};const a=new Set;for(const l of r)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){a.add(typeof l=="number"?l.toString():l);const m=t.valueType._zod.run({value:s[l],issues:[]},o);m instanceof Promise?i.push(m.then(f=>{f.issues.length&&n.issues.push(...pe(l,f.issues)),n.value[l]=f.value})):(m.issues.length&&n.issues.push(...pe(l,m.issues)),n.value[l]=m.value)}let c;for(const l in s)a.has(l)||(c=c??[],c.push(l));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c})}else{n.value={};for(const a of Reflect.ownKeys(s)){if(a==="__proto__")continue;let c=t.keyType._zod.run({value:a,issues:[]},o);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&zn.test(a)&&c.issues.length){const f=t.keyType._zod.run({value:Number(a),issues:[]},o);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(c=f)}if(c.issues.length){t.mode==="loose"?n.value[a]=s[a]:n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(f=>se(f,o,oe())),input:a,path:[a],inst:e});continue}const m=t.valueType._zod.run({value:s[a],issues:[]},o);m instanceof Promise?i.push(m.then(f=>{f.issues.length&&n.issues.push(...pe(a,f.issues)),n.value[c.value]=f.value})):(m.issues.length&&n.issues.push(...pe(a,m.issues)),n.value[c.value]=m.value)}}return i.length?Promise.all(i).then(()=>n):n}}),mr=h("$ZodEnum",(e,t)=>{E.init(e,t);const n=fn(t.entries),o=new Set(n);e._zod.values=o,e._zod.pattern=new RegExp(`^(${n.filter(s=>So.has(typeof s)).map(s=>typeof s=="string"?_e(s):s.toString()).join("|")})$`),e._zod.parse=(s,i)=>{const r=s.value;return o.has(r)||s.issues.push({code:"invalid_value",values:n,input:r,inst:e}),s}}),fr=h("$ZodLiteral",(e,t)=>{if(E.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(o=>typeof o=="string"?_e(o):o?_e(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,s)=>{const i=o.value;return n.has(i)||o.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),o}}),gr=h("$ZodTransform",(e,t)=>{E.init(e,t),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new hn(e.constructor.name);const s=t.transform(n.value,n);if(o.async)return(s instanceof Promise?s:Promise.resolve(s)).then(r=>(n.value=r,n));if(s instanceof Promise)throw new me;return n.value=s,n}});function Vt(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const On=h("$ZodOptional",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.optout="optional",z(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),z(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${dt(n.source)})?$`):void 0}),e._zod.parse=(n,o)=>{if(t.innerType._zod.optin==="optional"){const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(i=>Vt(i,n.value)):Vt(s,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,o)}}),_r=h("$ZodExactOptional",(e,t)=>{On.init(e,t),z(e._zod,"values",()=>t.innerType._zod.values),z(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,o)=>t.innerType._zod.run(n,o)}),vr=h("$ZodNullable",(e,t)=>{E.init(e,t),z(e._zod,"optin",()=>t.innerType._zod.optin),z(e._zod,"optout",()=>t.innerType._zod.optout),z(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${dt(n.source)}|null)$`):void 0}),z(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,o)=>n.value===null?n:t.innerType._zod.run(n,o)}),br=h("$ZodDefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);if(n.value===void 0)return n.value=t.defaultValue,n;const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(i=>Bt(i,t)):Bt(s,t)}});function Bt(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const yr=h("$ZodPrefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>(o.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,o))}),wr=h("$ZodNonOptional",(e,t)=>{E.init(e,t),z(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),e._zod.parse=(n,o)=>{const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(i=>Wt(i,e)):Wt(s,e)}});function Wt(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const kr=h("$ZodCatch",(e,t)=>{E.init(e,t),z(e._zod,"optin",()=>t.innerType._zod.optin),z(e._zod,"optout",()=>t.innerType._zod.optout),z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(i=>(n.value=i.value,i.issues.length&&(n.value=t.catchValue({...n,error:{issues:i.issues.map(r=>se(r,o,oe()))},input:n.value}),n.issues=[]),n)):(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(i=>se(i,o,oe()))},input:n.value}),n.issues=[]),n)}}),Sr=h("$ZodPipe",(e,t)=>{E.init(e,t),z(e._zod,"values",()=>t.in._zod.values),z(e._zod,"optin",()=>t.in._zod.optin),z(e._zod,"optout",()=>t.out._zod.optout),z(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,o)=>{if(o.direction==="backward"){const i=t.out._zod.run(n,o);return i instanceof Promise?i.then(r=>Me(r,t.in,o)):Me(i,t.in,o)}const s=t.in._zod.run(n,o);return s instanceof Promise?s.then(i=>Me(i,t.out,o)):Me(s,t.out,o)}});function Me(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const $r=h("$ZodReadonly",(e,t)=>{E.init(e,t),z(e._zod,"propValues",()=>t.innerType._zod.propValues),z(e._zod,"values",()=>t.innerType._zod.values),z(e._zod,"optin",()=>t.innerType?._zod?.optin),z(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(Kt):Kt(s)}});function Kt(e){return e.value=Object.freeze(e.value),e}const zr=h("$ZodCustom",(e,t)=>{W.init(e,t),E.init(e,t),e._zod.parse=(n,o)=>n,e._zod.check=n=>{const o=n.value,s=t.fn(o);if(s instanceof Promise)return s.then(i=>Gt(i,n,o,e));Gt(s,n,o,e)}});function Gt(e,t,n,o){if(!e){const s={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(s.params=o._zod.def.params),t.issues.push(ze(s))}}var Qt;class Tr{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const o=n[0];return this._map.set(t,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const o={...this.get(n)??{}};delete o.id;const s={...o,...this._map.get(t)};return Object.keys(s).length?s:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Rr(){return new Tr}(Qt=globalThis).__zod_globalRegistry??(Qt.__zod_globalRegistry=Rr());const Se=globalThis.__zod_globalRegistry;function Ir(e,t){return new e({type:"string",...v(t)})}function Pr(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...v(t)})}function Yt(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...v(t)})}function xr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...v(t)})}function Er(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...v(t)})}function Cr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...v(t)})}function Zr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...v(t)})}function Or(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...v(t)})}function Nr(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...v(t)})}function Ar(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...v(t)})}function qr(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...v(t)})}function Mr(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...v(t)})}function jr(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...v(t)})}function Dr(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...v(t)})}function Lr(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...v(t)})}function Ur(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...v(t)})}function Fr(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...v(t)})}function Hr(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...v(t)})}function Jr(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...v(t)})}function Vr(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...v(t)})}function Br(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...v(t)})}function Wr(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...v(t)})}function Kr(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...v(t)})}function Gr(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...v(t)})}function Qr(e,t){return new e({type:"string",format:"date",check:"string_format",...v(t)})}function Yr(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...v(t)})}function Xr(e,t){return new e({type:"string",format:"duration",check:"string_format",...v(t)})}function ei(e,t){return new e({type:"number",checks:[],...v(t)})}function ti(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...v(t)})}function ni(e,t){return new e({type:"boolean",...v(t)})}function oi(e,t){return new e({type:"undefined",...v(t)})}function si(e,t){return new e({type:"null",...v(t)})}function ri(e){return new e({type:"unknown"})}function ii(e,t){return new e({type:"never",...v(t)})}function Xt(e,t){return new Rn({check:"less_than",...v(t),value:e,inclusive:!1})}function nt(e,t){return new Rn({check:"less_than",...v(t),value:e,inclusive:!0})}function en(e,t){return new In({check:"greater_than",...v(t),value:e,inclusive:!1})}function ot(e,t){return new In({check:"greater_than",...v(t),value:e,inclusive:!0})}function tn(e,t){return new _s({check:"multiple_of",...v(t),value:e})}function Nn(e,t){return new bs({check:"max_length",...v(t),maximum:e})}function Ue(e,t){return new ys({check:"min_length",...v(t),minimum:e})}function An(e,t){return new ws({check:"length_equals",...v(t),length:e})}function ai(e,t){return new ks({check:"string_format",format:"regex",...v(t),pattern:e})}function ci(e){return new Ss({check:"string_format",format:"lowercase",...v(e)})}function ui(e){return new $s({check:"string_format",format:"uppercase",...v(e)})}function li(e,t){return new zs({check:"string_format",format:"includes",...v(t),includes:e})}function di(e,t){return new Ts({check:"string_format",format:"starts_with",...v(t),prefix:e})}function pi(e,t){return new Rs({check:"string_format",format:"ends_with",...v(t),suffix:e})}function be(e){return new Is({check:"overwrite",tx:e})}function hi(e){return be(t=>t.normalize(e))}function mi(){return be(e=>e.trim())}function fi(){return be(e=>e.toLowerCase())}function gi(){return be(e=>e.toUpperCase())}function _i(){return be(e=>wo(e))}function vi(e,t,n){return new e({type:"array",element:t,...v(n)})}function bi(e,t,n){const o=v(n);return o.abort??(o.abort=!0),new e({type:"custom",check:"custom",fn:t,...o})}function yi(e,t,n){return new e({type:"custom",check:"custom",fn:t,...v(n)})}function wi(e){const t=ki(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(ze(o,n.value,t._zod.def));else{const s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=t),s.continue??(s.continue=!t._zod.def.abort),n.issues.push(ze(s))}},e(n.value,n)));return t}function ki(e,t){const n=new W({check:"custom",...v(t)});return n._zod.check=e,n}function qn(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??Se,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 M(e,t,n={path:[],schemaPath:[]}){var o;const s=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const r={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,r);const a=e._zod.toJSONSchema?.();if(a)r.schema=a;else{const m={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,r.schema,m);else{const g=r.schema,_=t.processors[s.type];if(!_)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);_(e,t,g,m)}const f=e._zod.parent;f&&(r.ref||(r.ref=f),M(f,t,m),t.seen.get(f).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&Object.assign(r.schema,c),t.io==="input"&&H(e)&&(delete r.schema.examples,delete r.schema.default),t.io==="input"&&r.schema._prefault&&((o=r.schema).default??(o.default=r.schema._prefault)),delete r.schema._prefault,t.seen.get(e).schema}function Mn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const r of e.seen.entries()){const a=e.metadataRegistry.get(r[0])?.id;if(a){const c=o.get(a);if(c&&c!==r[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(a,r[0])}}const s=r=>{const a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const f=e.external.registry.get(r[0])?.id,g=e.external.uri??(x=>x);if(f)return{ref:g(f)};const _=r[1].defId??r[1].schema.id??`schema${e.counter++}`;return r[1].defId=_,{defId:_,ref:`${g("__shared")}#/${a}/${_}`}}if(r[1]===n)return{ref:"#"};const l=`#/${a}/`,m=r[1].schema.id??`__schema${e.counter++}`;return{defId:m,ref:l+m}},i=r=>{if(r[1].schema.$ref)return;const a=r[1],{ref:c,defId:l}=s(r);a.def={...a.schema},l&&(a.defId=l);const m=a.schema;for(const f in m)delete m[f];m.$ref=c};if(e.cycles==="throw")for(const r of e.seen.entries()){const a=r[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
43
+ `)}_.write("payload.value = newResult;"),_.write("return payload;");const L=_.compile();return(q,j)=>L(g,q,j)};let r;const i=$e,a=!mn.jitless,u=a&&wo.value,m=t.catchall;let f;e._zod.parse=(g,_)=>{f??(f=o.value);const E=g.value;return i(E)?a&&u&&_?.async===!1&&_.jitless!==!0?(r||(r=s(t.shape)),g=r(g,_),m?Cn([],E,g,_,f,e):g):n(g,_):(g.issues.push({expected:"object",code:"invalid_type",input:E,inst:e}),g)}});function Ft(e,t,n,o){for(const r of e)if(r.issues.length===0)return t.value=r.value,t;const s=e.filter(r=>!de(r));return s.length===1?(t.value=s[0].value,s[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(r=>r.issues.map(i=>se(i,o,oe())))}),t)}const Zn=h("$ZodUnion",(e,t)=>{P.init(e,t),z(e._zod,"optin",()=>t.options.some(s=>s._zod.optin==="optional")?"optional":void 0),z(e._zod,"optout",()=>t.options.some(s=>s._zod.optout==="optional")?"optional":void 0),z(e._zod,"values",()=>{if(t.options.every(s=>s._zod.values))return new Set(t.options.flatMap(s=>Array.from(s._zod.values)))}),z(e._zod,"pattern",()=>{if(t.options.every(s=>s._zod.pattern)){const s=t.options.map(r=>r._zod.pattern);return new RegExp(`^(${s.map(r=>dt(r.source)).join("|")})$`)}});const n=t.options.length===1,o=t.options[0]._zod.run;e._zod.parse=(s,r)=>{if(n)return o(s,r);let i=!1;const a=[];for(const c of t.options){const u=c._zod.run({value:s.value,issues:[]},r);if(u instanceof Promise)a.push(u),i=!0;else{if(u.issues.length===0)return u;a.push(u)}}return i?Promise.all(a).then(c=>Ft(c,s,e,r)):Ft(a,s,e,r)}}),ur=h("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Zn.init(e,t);const n=e._zod.parse;z(e._zod,"propValues",()=>{const s={};for(const r of t.options){const i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(const[a,c]of Object.entries(i)){s[a]||(s[a]=new Set);for(const u of c)s[a].add(u)}}return s});const o=Be(()=>{const s=t.options,r=new Map;for(const i of s){const a=i._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const c of a){if(r.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);r.set(c,i)}}return r});e._zod.parse=(s,r)=>{const i=s.value;if(!$e(i))return s.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),s;const a=o.value.get(i?.[t.discriminator]);return a?a._zod.run(s,r):t.unionFallback?n(s,r):(s.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:i,path:[t.discriminator],inst:e}),s)}}),dr=h("$ZodIntersection",(e,t)=>{P.init(e,t),e._zod.parse=(n,o)=>{const s=n.value,r=t.left._zod.run({value:s,issues:[]},o),i=t.right._zod.run({value:s,issues:[]},o);return r instanceof Promise||i instanceof Promise?Promise.all([r,i]).then(([c,u])=>Jt(n,c,u)):Jt(n,r,i)}});function rt(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ge(e)&&ge(t)){const n=Object.keys(t),o=Object.keys(e).filter(r=>n.indexOf(r)!==-1),s={...e,...t};for(const r of o){const i=rt(e[r],t[r]);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};s[r]=i.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<e.length;o++){const s=e[o],r=t[o],i=rt(s,r);if(!i.valid)return{valid:!1,mergeErrorPath:[o,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Jt(e,t,n){const o=new Map;let s;for(const a of t.issues)if(a.code==="unrecognized_keys"){s??(s=a);for(const c of a.keys)o.has(c)||o.set(c,{}),o.get(c).l=!0}else e.issues.push(a);for(const a of n.issues)if(a.code==="unrecognized_keys")for(const c of a.keys)o.has(c)||o.set(c,{}),o.get(c).r=!0;else e.issues.push(a);const r=[...o].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(r.length&&s&&e.issues.push({...s,keys:r}),de(e))return e;const i=rt(t.value,n.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}const pr=h("$ZodRecord",(e,t)=>{P.init(e,t),e._zod.parse=(n,o)=>{const s=n.value;if(!ge(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;const r=[],i=t.keyType._zod.values;if(i){n.value={};const a=new Set;for(const u of i)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){a.add(typeof u=="number"?u.toString():u);const m=t.valueType._zod.run({value:s[u],issues:[]},o);m instanceof Promise?r.push(m.then(f=>{f.issues.length&&n.issues.push(...pe(u,f.issues)),n.value[u]=f.value})):(m.issues.length&&n.issues.push(...pe(u,m.issues)),n.value[u]=m.value)}let c;for(const u in s)a.has(u)||(c=c??[],c.push(u));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c})}else{n.value={};for(const a of Reflect.ownKeys(s)){if(a==="__proto__")continue;let c=t.keyType._zod.run({value:a,issues:[]},o);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&zn.test(a)&&c.issues.length){const f=t.keyType._zod.run({value:Number(a),issues:[]},o);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(c=f)}if(c.issues.length){t.mode==="loose"?n.value[a]=s[a]:n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(f=>se(f,o,oe())),input:a,path:[a],inst:e});continue}const m=t.valueType._zod.run({value:s[a],issues:[]},o);m instanceof Promise?r.push(m.then(f=>{f.issues.length&&n.issues.push(...pe(a,f.issues)),n.value[c.value]=f.value})):(m.issues.length&&n.issues.push(...pe(a,m.issues)),n.value[c.value]=m.value)}}return r.length?Promise.all(r).then(()=>n):n}}),hr=h("$ZodEnum",(e,t)=>{P.init(e,t);const n=fn(t.entries),o=new Set(n);e._zod.values=o,e._zod.pattern=new RegExp(`^(${n.filter(s=>ko.has(typeof s)).map(s=>typeof s=="string"?_e(s):s.toString()).join("|")})$`),e._zod.parse=(s,r)=>{const i=s.value;return o.has(i)||s.issues.push({code:"invalid_value",values:n,input:i,inst:e}),s}}),mr=h("$ZodLiteral",(e,t)=>{if(P.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(o=>typeof o=="string"?_e(o):o?_e(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,s)=>{const r=o.value;return n.has(r)||o.issues.push({code:"invalid_value",values:t.values,input:r,inst:e}),o}}),fr=h("$ZodTransform",(e,t)=>{P.init(e,t),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new hn(e.constructor.name);const s=t.transform(n.value,n);if(o.async)return(s instanceof Promise?s:Promise.resolve(s)).then(i=>(n.value=i,n));if(s instanceof Promise)throw new me;return n.value=s,n}});function Vt(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const On=h("$ZodOptional",(e,t)=>{P.init(e,t),e._zod.optin="optional",e._zod.optout="optional",z(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),z(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${dt(n.source)})?$`):void 0}),e._zod.parse=(n,o)=>{if(t.innerType._zod.optin==="optional"){const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(r=>Vt(r,n.value)):Vt(s,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,o)}}),gr=h("$ZodExactOptional",(e,t)=>{On.init(e,t),z(e._zod,"values",()=>t.innerType._zod.values),z(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,o)=>t.innerType._zod.run(n,o)}),_r=h("$ZodNullable",(e,t)=>{P.init(e,t),z(e._zod,"optin",()=>t.innerType._zod.optin),z(e._zod,"optout",()=>t.innerType._zod.optout),z(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${dt(n.source)}|null)$`):void 0}),z(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,o)=>n.value===null?n:t.innerType._zod.run(n,o)}),vr=h("$ZodDefault",(e,t)=>{P.init(e,t),e._zod.optin="optional",z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);if(n.value===void 0)return n.value=t.defaultValue,n;const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(r=>Bt(r,t)):Bt(s,t)}});function Bt(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const br=h("$ZodPrefault",(e,t)=>{P.init(e,t),e._zod.optin="optional",z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>(o.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,o))}),yr=h("$ZodNonOptional",(e,t)=>{P.init(e,t),z(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),e._zod.parse=(n,o)=>{const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(r=>Wt(r,e)):Wt(s,e)}});function Wt(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const wr=h("$ZodCatch",(e,t)=>{P.init(e,t),z(e._zod,"optin",()=>t.innerType._zod.optin),z(e._zod,"optout",()=>t.innerType._zod.optout),z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(r=>(n.value=r.value,r.issues.length&&(n.value=t.catchValue({...n,error:{issues:r.issues.map(i=>se(i,o,oe()))},input:n.value}),n.issues=[]),n)):(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(r=>se(r,o,oe()))},input:n.value}),n.issues=[]),n)}}),kr=h("$ZodPipe",(e,t)=>{P.init(e,t),z(e._zod,"values",()=>t.in._zod.values),z(e._zod,"optin",()=>t.in._zod.optin),z(e._zod,"optout",()=>t.out._zod.optout),z(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,o)=>{if(o.direction==="backward"){const r=t.out._zod.run(n,o);return r instanceof Promise?r.then(i=>Me(i,t.in,o)):Me(r,t.in,o)}const s=t.in._zod.run(n,o);return s instanceof Promise?s.then(r=>Me(r,t.out,o)):Me(s,t.out,o)}});function Me(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const Sr=h("$ZodReadonly",(e,t)=>{P.init(e,t),z(e._zod,"propValues",()=>t.innerType._zod.propValues),z(e._zod,"values",()=>t.innerType._zod.values),z(e._zod,"optin",()=>t.innerType?._zod?.optin),z(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(Kt):Kt(s)}});function Kt(e){return e.value=Object.freeze(e.value),e}const $r=h("$ZodCustom",(e,t)=>{W.init(e,t),P.init(e,t),e._zod.parse=(n,o)=>n,e._zod.check=n=>{const o=n.value,s=t.fn(o);if(s instanceof Promise)return s.then(r=>Gt(r,n,o,e));Gt(s,n,o,e)}});function Gt(e,t,n,o){if(!e){const s={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(s.params=o._zod.def.params),t.issues.push(ze(s))}}var Qt;class zr{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const o=n[0];return this._map.set(t,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const o={...this.get(n)??{}};delete o.id;const s={...o,...this._map.get(t)};return Object.keys(s).length?s:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Tr(){return new zr}(Qt=globalThis).__zod_globalRegistry??(Qt.__zod_globalRegistry=Tr());const Se=globalThis.__zod_globalRegistry;function Rr(e,t){return new e({type:"string",...v(t)})}function Ir(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...v(t)})}function Yt(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...v(t)})}function xr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...v(t)})}function Er(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...v(t)})}function Pr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...v(t)})}function Cr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...v(t)})}function Zr(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...v(t)})}function Or(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...v(t)})}function Nr(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...v(t)})}function qr(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...v(t)})}function Ar(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...v(t)})}function Mr(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...v(t)})}function jr(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...v(t)})}function Dr(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...v(t)})}function Lr(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...v(t)})}function Hr(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...v(t)})}function Ur(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...v(t)})}function Fr(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...v(t)})}function Jr(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...v(t)})}function Vr(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...v(t)})}function Br(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...v(t)})}function Wr(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...v(t)})}function Kr(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...v(t)})}function Gr(e,t){return new e({type:"string",format:"date",check:"string_format",...v(t)})}function Qr(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...v(t)})}function Yr(e,t){return new e({type:"string",format:"duration",check:"string_format",...v(t)})}function Xr(e,t){return new e({type:"number",checks:[],...v(t)})}function ei(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...v(t)})}function ti(e,t){return new e({type:"boolean",...v(t)})}function ni(e,t){return new e({type:"undefined",...v(t)})}function oi(e,t){return new e({type:"null",...v(t)})}function si(e){return new e({type:"unknown"})}function ri(e,t){return new e({type:"never",...v(t)})}function Xt(e,t){return new Rn({check:"less_than",...v(t),value:e,inclusive:!1})}function nt(e,t){return new Rn({check:"less_than",...v(t),value:e,inclusive:!0})}function en(e,t){return new In({check:"greater_than",...v(t),value:e,inclusive:!1})}function ot(e,t){return new In({check:"greater_than",...v(t),value:e,inclusive:!0})}function tn(e,t){return new gs({check:"multiple_of",...v(t),value:e})}function Nn(e,t){return new vs({check:"max_length",...v(t),maximum:e})}function He(e,t){return new bs({check:"min_length",...v(t),minimum:e})}function qn(e,t){return new ys({check:"length_equals",...v(t),length:e})}function ii(e,t){return new ws({check:"string_format",format:"regex",...v(t),pattern:e})}function ai(e){return new ks({check:"string_format",format:"lowercase",...v(e)})}function ci(e){return new Ss({check:"string_format",format:"uppercase",...v(e)})}function li(e,t){return new $s({check:"string_format",format:"includes",...v(t),includes:e})}function ui(e,t){return new zs({check:"string_format",format:"starts_with",...v(t),prefix:e})}function di(e,t){return new Ts({check:"string_format",format:"ends_with",...v(t),suffix:e})}function be(e){return new Rs({check:"overwrite",tx:e})}function pi(e){return be(t=>t.normalize(e))}function hi(){return be(e=>e.trim())}function mi(){return be(e=>e.toLowerCase())}function fi(){return be(e=>e.toUpperCase())}function gi(){return be(e=>yo(e))}function _i(e,t,n){return new e({type:"array",element:t,...v(n)})}function vi(e,t,n){const o=v(n);return o.abort??(o.abort=!0),new e({type:"custom",check:"custom",fn:t,...o})}function bi(e,t,n){return new e({type:"custom",check:"custom",fn:t,...v(n)})}function yi(e){const t=wi(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(ze(o,n.value,t._zod.def));else{const s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=t),s.continue??(s.continue=!t._zod.def.abort),n.issues.push(ze(s))}},e(n.value,n)));return t}function wi(e,t){const n=new W({check:"custom",...v(t)});return n._zod.check=e,n}function An(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??Se,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 M(e,t,n={path:[],schemaPath:[]}){var o;const s=e._zod.def,r=t.seen.get(e);if(r)return r.count++,n.schemaPath.includes(e)&&(r.cycle=n.path),r.schema;const i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);const a=e._zod.toJSONSchema?.();if(a)i.schema=a;else{const m={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,m);else{const g=i.schema,_=t.processors[s.type];if(!_)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);_(e,t,g,m)}const f=e._zod.parent;f&&(i.ref||(i.ref=f),M(f,t,m),t.seen.get(f).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&Object.assign(i.schema,c),t.io==="input"&&F(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((o=i.schema).default??(o.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function Mn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const i of e.seen.entries()){const a=e.metadataRegistry.get(i[0])?.id;if(a){const c=o.get(a);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(a,i[0])}}const s=i=>{const a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const f=e.external.registry.get(i[0])?.id,g=e.external.uri??(E=>E);if(f)return{ref:g(f)};const _=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=_,{defId:_,ref:`${g("__shared")}#/${a}/${_}`}}if(i[1]===n)return{ref:"#"};const u=`#/${a}/`,m=i[1].schema.id??`__schema${e.counter++}`;return{defId:m,ref:u+m}},r=i=>{if(i[1].schema.$ref)return;const a=i[1],{ref:c,defId:u}=s(i);a.def={...a.schema},u&&(a.defId=u);const m=a.schema;for(const f in m)delete m[f];m.$ref=c};if(e.cycles==="throw")for(const i of e.seen.entries()){const a=i[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
44
44
 
45
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const r of e.seen.entries()){const a=r[1];if(t===r[0]){i(r);continue}if(e.external){const l=e.external.registry.get(r[0])?.id;if(t!==r[0]&&l){i(r);continue}}if(e.metadataRegistry.get(r[0])?.id){i(r);continue}if(a.cycle){i(r);continue}if(a.count>1&&e.reused==="ref"){i(r);continue}}}function jn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=r=>{const a=e.seen.get(r);if(a.ref===null)return;const c=a.def??a.schema,l={...c},m=a.ref;if(a.ref=null,m){o(m);const g=e.seen.get(m),_=g.schema;if(_.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(_)):Object.assign(c,_),Object.assign(c,l),r._zod.parent===m)for(const q in c)q==="$ref"||q==="allOf"||q in l||delete c[q];if(_.$ref&&g.def)for(const q in c)q==="$ref"||q==="allOf"||q in g.def&&JSON.stringify(c[q])===JSON.stringify(g.def[q])&&delete c[q]}const f=r._zod.parent;if(f&&f!==m){o(f);const g=e.seen.get(f);if(g?.schema.$ref&&(c.$ref=g.schema.$ref,g.def))for(const _ in c)_==="$ref"||_==="allOf"||_ in g.def&&JSON.stringify(c[_])===JSON.stringify(g.def[_])&&delete c[_]}e.override({zodSchema:r,jsonSchema:c,path:a.path??[]})};for(const r of[...e.seen.entries()].reverse())o(r[0]);const s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const r=e.external.registry.get(t)?.id;if(!r)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(r)}Object.assign(s,n.def??n.schema);const i=e.external?.defs??{};for(const r of e.seen.entries()){const a=r[1];a.def&&a.defId&&(i[a.defId]=a.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?s.$defs=i:s.definitions=i);try{const r=JSON.parse(JSON.stringify(s));return Object.defineProperty(r,"~standard",{value:{...t["~standard"],jsonSchema:{input:Fe(t,"input",e.processors),output:Fe(t,"output",e.processors)}},enumerable:!1,writable:!1}),r}catch{throw new Error("Error converting schema to JSON.")}}function H(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return H(o.element,n);if(o.type==="set")return H(o.valueType,n);if(o.type==="lazy")return H(o.getter(),n);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return H(o.innerType,n);if(o.type==="intersection")return H(o.left,n)||H(o.right,n);if(o.type==="record"||o.type==="map")return H(o.keyType,n)||H(o.valueType,n);if(o.type==="pipe")return H(o.in,n)||H(o.out,n);if(o.type==="object"){for(const s in o.shape)if(H(o.shape[s],n))return!0;return!1}if(o.type==="union"){for(const s of o.options)if(H(s,n))return!0;return!1}if(o.type==="tuple"){for(const s of o.items)if(H(s,n))return!0;return!!(o.rest&&H(o.rest,n))}return!1}const Si=(e,t={})=>n=>{const o=qn({...n,processors:t});return M(e,o),Mn(o,e),jn(o,e)},Fe=(e,t,n={})=>o=>{const{libraryOptions:s,target:i}=o??{},r=qn({...s??{},target:i,io:t,processors:n});return M(e,r),Mn(r,e),jn(r,e)},$i={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},zi=(e,t,n,o)=>{const s=n;s.type="string";const{minimum:i,maximum:r,format:a,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof i=="number"&&(s.minLength=i),typeof r=="number"&&(s.maxLength=r),a&&(s.format=$i[a]??a,s.format===""&&delete s.format,a==="time"&&delete s.format),l&&(s.contentEncoding=l),c&&c.size>0){const m=[...c];m.length===1?s.pattern=m[0].source:m.length>1&&(s.allOf=[...m.map(f=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))])}},Ti=(e,t,n,o)=>{const s=n,{minimum:i,maximum:r,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:m}=e._zod.bag;typeof a=="string"&&a.includes("int")?s.type="integer":s.type="number",typeof m=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.minimum=m,s.exclusiveMinimum=!0):s.exclusiveMinimum=m),typeof i=="number"&&(s.minimum=i,typeof m=="number"&&t.target!=="draft-04"&&(m>=i?delete s.minimum:delete s.exclusiveMinimum)),typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.maximum=l,s.exclusiveMaximum=!0):s.exclusiveMaximum=l),typeof r=="number"&&(s.maximum=r,typeof l=="number"&&t.target!=="draft-04"&&(l<=r?delete s.maximum:delete s.exclusiveMaximum)),typeof c=="number"&&(s.multipleOf=c)},Ri=(e,t,n,o)=>{n.type="boolean"},Ii=(e,t,n,o)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},Pi=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},xi=(e,t,n,o)=>{n.not={}},Ei=(e,t,n,o)=>{},Ci=(e,t,n,o)=>{const s=e._zod.def,i=fn(s.entries);i.every(r=>typeof r=="number")&&(n.type="number"),i.every(r=>typeof r=="string")&&(n.type="string"),n.enum=i},Zi=(e,t,n,o)=>{const s=e._zod.def,i=[];for(const r of s.values)if(r===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof r=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(r))}else i.push(r);if(i.length!==0)if(i.length===1){const r=i[0];n.type=r===null?"null":typeof r,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[r]:n.const=r}else i.every(r=>typeof r=="number")&&(n.type="number"),i.every(r=>typeof r=="string")&&(n.type="string"),i.every(r=>typeof r=="boolean")&&(n.type="boolean"),i.every(r=>r===null)&&(n.type="null"),n.enum=i},Oi=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Ni=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Ai=(e,t,n,o)=>{const s=n,i=e._zod.def,{minimum:r,maximum:a}=e._zod.bag;typeof r=="number"&&(s.minItems=r),typeof a=="number"&&(s.maxItems=a),s.type="array",s.items=M(i.element,t,{...o,path:[...o.path,"items"]})},qi=(e,t,n,o)=>{const s=n,i=e._zod.def;s.type="object",s.properties={};const r=i.shape;for(const l in r)s.properties[l]=M(r[l],t,{...o,path:[...o.path,"properties",l]});const a=new Set(Object.keys(r)),c=new Set([...a].filter(l=>{const m=i.shape[l]._zod;return t.io==="input"?m.optin===void 0:m.optout===void 0}));c.size>0&&(s.required=Array.from(c)),i.catchall?._zod.def.type==="never"?s.additionalProperties=!1:i.catchall?i.catchall&&(s.additionalProperties=M(i.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(s.additionalProperties=!1)},Mi=(e,t,n,o)=>{const s=e._zod.def,i=s.inclusive===!1,r=s.options.map((a,c)=>M(a,t,{...o,path:[...o.path,i?"oneOf":"anyOf",c]}));i?n.oneOf=r:n.anyOf=r},ji=(e,t,n,o)=>{const s=e._zod.def,i=M(s.left,t,{...o,path:[...o.path,"allOf",0]}),r=M(s.right,t,{...o,path:[...o.path,"allOf",1]}),a=l=>"allOf"in l&&Object.keys(l).length===1,c=[...a(i)?i.allOf:[i],...a(r)?r.allOf:[r]];n.allOf=c},Di=(e,t,n,o)=>{const s=n,i=e._zod.def;s.type="object";const r=i.keyType,c=r._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){const m=M(i.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});s.patternProperties={};for(const f of c)s.patternProperties[f.source]=m}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(s.propertyNames=M(i.keyType,t,{...o,path:[...o.path,"propertyNames"]})),s.additionalProperties=M(i.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const l=r._zod.values;if(l){const m=[...l].filter(f=>typeof f=="string"||typeof f=="number");m.length>0&&(s.required=m)}},Li=(e,t,n,o)=>{const s=e._zod.def,i=M(s.innerType,t,o),r=t.seen.get(e);t.target==="openapi-3.0"?(r.ref=s.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]},Ui=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const i=t.seen.get(e);i.ref=s.innerType},Fi=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const i=t.seen.get(e);i.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},Hi=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const i=t.seen.get(e);i.ref=s.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},Ji=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const i=t.seen.get(e);i.ref=s.innerType;let r;try{r=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=r},Vi=(e,t,n,o)=>{const s=e._zod.def,i=t.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;M(i,t,o);const r=t.seen.get(e);r.ref=i},Bi=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const i=t.seen.get(e);i.ref=s.innerType,n.readOnly=!0},Dn=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const i=t.seen.get(e);i.ref=s.innerType};function gt(e){return!!e._zod}function Ln(e,t){return gt(e)?wn(e,t):e.safeParse(t)}function Wi(e){if(!e)return;let t;if(gt(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Ki(e){if(gt(e)){const i=e._zod?.def;if(i){if(i.value!==void 0)return i.value;if(Array.isArray(i.values)&&i.values.length>0)return i.values[0]}}const n=e._def;if(n){if(n.value!==void 0)return n.value;if(Array.isArray(n.values)&&n.values.length>0)return n.values[0]}const o=e.value;if(o!==void 0)return o}const Gi=h("ZodISODateTime",(e,t)=>{Us.init(e,t),O.init(e,t)});function Un(e){return Gr(Gi,e)}const Qi=h("ZodISODate",(e,t)=>{Fs.init(e,t),O.init(e,t)});function Yi(e){return Qr(Qi,e)}const Xi=h("ZodISOTime",(e,t)=>{Hs.init(e,t),O.init(e,t)});function ea(e){return Yr(Xi,e)}const ta=h("ZodISODuration",(e,t)=>{Js.init(e,t),O.init(e,t)});function na(e){return Xr(ta,e)}const oa=(e,t)=>{bn.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Oo(e,n)},flatten:{value:n=>Zo(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,st,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,st,2)}},isEmpty:{get(){return e.issues.length===0}}})},Y=h("ZodError",oa,{Parent:Error}),sa=ht(Y),ra=mt(Y),ia=We(Y),aa=Ke(Y),ca=Ao(Y),ua=qo(Y),la=Mo(Y),da=jo(Y),pa=Do(Y),ha=Lo(Y),ma=Uo(Y),fa=Fo(Y),C=h("ZodType",(e,t)=>(E.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Fe(e,"input"),output:Fe(e,"output")}}),e.toJSONSchema=Si(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(re(t,{checks:[...t.checks??[],...n.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),e.with=e.check,e.clone=(n,o)=>ie(e,n,o),e.brand=()=>e,e.register=((n,o)=>(n.add(e,o),e)),e.parse=(n,o)=>sa(e,n,o,{callee:e.parse}),e.safeParse=(n,o)=>ia(e,n,o),e.parseAsync=async(n,o)=>ra(e,n,o,{callee:e.parseAsync}),e.safeParseAsync=async(n,o)=>aa(e,n,o),e.spa=e.safeParseAsync,e.encode=(n,o)=>ca(e,n,o),e.decode=(n,o)=>ua(e,n,o),e.encodeAsync=async(n,o)=>la(e,n,o),e.decodeAsync=async(n,o)=>da(e,n,o),e.safeEncode=(n,o)=>pa(e,n,o),e.safeDecode=(n,o)=>ha(e,n,o),e.safeEncodeAsync=async(n,o)=>ma(e,n,o),e.safeDecodeAsync=async(n,o)=>fa(e,n,o),e.refine=(n,o)=>e.check(ac(n,o)),e.superRefine=n=>e.check(cc(n)),e.overwrite=n=>e.check(be(n)),e.optional=()=>A(e),e.exactOptional=()=>Wa(e),e.nullable=()=>sn(e),e.nullish=()=>A(sn(e)),e.nonoptional=n=>ec(e,n),e.array=()=>b(e),e.or=n=>S([e,n]),e.and=n=>_t(e,n),e.transform=n=>ct(e,Kn(n)),e.default=n=>Qa(e,n),e.prefault=n=>Xa(e,n),e.catch=n=>nc(e,n),e.pipe=n=>ct(e,n),e.readonly=()=>rc(e),e.describe=n=>{const o=e.clone();return Se.add(o,{description:n}),o},Object.defineProperty(e,"description",{get(){return Se.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Se.get(e);const o=e.clone();return Se.add(o,n[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),Fn=h("_ZodString",(e,t)=>{ft.init(e,t),C.init(e,t),e._zod.processJSONSchema=(o,s,i)=>zi(e,o,s);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...o)=>e.check(ai(...o)),e.includes=(...o)=>e.check(li(...o)),e.startsWith=(...o)=>e.check(di(...o)),e.endsWith=(...o)=>e.check(pi(...o)),e.min=(...o)=>e.check(Ue(...o)),e.max=(...o)=>e.check(Nn(...o)),e.length=(...o)=>e.check(An(...o)),e.nonempty=(...o)=>e.check(Ue(1,...o)),e.lowercase=o=>e.check(ci(o)),e.uppercase=o=>e.check(ui(o)),e.trim=()=>e.check(mi()),e.normalize=(...o)=>e.check(hi(...o)),e.toLowerCase=()=>e.check(fi()),e.toUpperCase=()=>e.check(gi()),e.slugify=()=>e.check(_i())}),ga=h("ZodString",(e,t)=>{ft.init(e,t),Fn.init(e,t),e.email=n=>e.check(Pr(_a,n)),e.url=n=>e.check(Or(va,n)),e.jwt=n=>e.check(Kr(Za,n)),e.emoji=n=>e.check(Nr(ba,n)),e.guid=n=>e.check(Yt(nn,n)),e.uuid=n=>e.check(xr(je,n)),e.uuidv4=n=>e.check(Er(je,n)),e.uuidv6=n=>e.check(Cr(je,n)),e.uuidv7=n=>e.check(Zr(je,n)),e.nanoid=n=>e.check(Ar(ya,n)),e.guid=n=>e.check(Yt(nn,n)),e.cuid=n=>e.check(qr(wa,n)),e.cuid2=n=>e.check(Mr(ka,n)),e.ulid=n=>e.check(jr(Sa,n)),e.base64=n=>e.check(Vr(xa,n)),e.base64url=n=>e.check(Br(Ea,n)),e.xid=n=>e.check(Dr($a,n)),e.ksuid=n=>e.check(Lr(za,n)),e.ipv4=n=>e.check(Ur(Ta,n)),e.ipv6=n=>e.check(Fr(Ra,n)),e.cidrv4=n=>e.check(Hr(Ia,n)),e.cidrv6=n=>e.check(Jr(Pa,n)),e.e164=n=>e.check(Wr(Ca,n)),e.datetime=n=>e.check(Un(n)),e.date=n=>e.check(Yi(n)),e.time=n=>e.check(ea(n)),e.duration=n=>e.check(na(n))});function d(e){return Ir(ga,e)}const O=h("ZodStringFormat",(e,t)=>{Z.init(e,t),Fn.init(e,t)}),_a=h("ZodEmail",(e,t)=>{Zs.init(e,t),O.init(e,t)}),nn=h("ZodGUID",(e,t)=>{Es.init(e,t),O.init(e,t)}),je=h("ZodUUID",(e,t)=>{Cs.init(e,t),O.init(e,t)}),va=h("ZodURL",(e,t)=>{Os.init(e,t),O.init(e,t)}),ba=h("ZodEmoji",(e,t)=>{Ns.init(e,t),O.init(e,t)}),ya=h("ZodNanoID",(e,t)=>{As.init(e,t),O.init(e,t)}),wa=h("ZodCUID",(e,t)=>{qs.init(e,t),O.init(e,t)}),ka=h("ZodCUID2",(e,t)=>{Ms.init(e,t),O.init(e,t)}),Sa=h("ZodULID",(e,t)=>{js.init(e,t),O.init(e,t)}),$a=h("ZodXID",(e,t)=>{Ds.init(e,t),O.init(e,t)}),za=h("ZodKSUID",(e,t)=>{Ls.init(e,t),O.init(e,t)}),Ta=h("ZodIPv4",(e,t)=>{Vs.init(e,t),O.init(e,t)}),Ra=h("ZodIPv6",(e,t)=>{Bs.init(e,t),O.init(e,t)}),Ia=h("ZodCIDRv4",(e,t)=>{Ws.init(e,t),O.init(e,t)}),Pa=h("ZodCIDRv6",(e,t)=>{Ks.init(e,t),O.init(e,t)}),xa=h("ZodBase64",(e,t)=>{Gs.init(e,t),O.init(e,t)}),Ea=h("ZodBase64URL",(e,t)=>{Ys.init(e,t),O.init(e,t)}),Ca=h("ZodE164",(e,t)=>{Xs.init(e,t),O.init(e,t)}),Za=h("ZodJWT",(e,t)=>{tr.init(e,t),O.init(e,t)}),Hn=h("ZodNumber",(e,t)=>{xn.init(e,t),C.init(e,t),e._zod.processJSONSchema=(o,s,i)=>Ti(e,o,s),e.gt=(o,s)=>e.check(en(o,s)),e.gte=(o,s)=>e.check(ot(o,s)),e.min=(o,s)=>e.check(ot(o,s)),e.lt=(o,s)=>e.check(Xt(o,s)),e.lte=(o,s)=>e.check(nt(o,s)),e.max=(o,s)=>e.check(nt(o,s)),e.int=o=>e.check(on(o)),e.safe=o=>e.check(on(o)),e.positive=o=>e.check(en(0,o)),e.nonnegative=o=>e.check(ot(0,o)),e.negative=o=>e.check(Xt(0,o)),e.nonpositive=o=>e.check(nt(0,o)),e.multipleOf=(o,s)=>e.check(tn(o,s)),e.step=(o,s)=>e.check(tn(o,s)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function w(e){return ei(Hn,e)}const Oa=h("ZodNumberFormat",(e,t)=>{nr.init(e,t),Hn.init(e,t)});function on(e){return ti(Oa,e)}const Na=h("ZodBoolean",(e,t)=>{or.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ri(e,n,o)});function P(e){return ni(Na,e)}const Aa=h("ZodUndefined",(e,t)=>{sr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Pi(e,n)});function it(e){return oi(Aa,e)}const qa=h("ZodNull",(e,t)=>{rr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ii(e,n,o)});function Jn(e){return si(qa,e)}const Ma=h("ZodUnknown",(e,t)=>{ir.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ei()});function I(){return ri(Ma)}const ja=h("ZodNever",(e,t)=>{ar.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>xi(e,n,o)});function Da(e){return ii(ja,e)}const La=h("ZodArray",(e,t)=>{cr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ai(e,n,o,s),e.element=t.element,e.min=(n,o)=>e.check(Ue(n,o)),e.nonempty=n=>e.check(Ue(1,n)),e.max=(n,o)=>e.check(Nn(n,o)),e.length=(n,o)=>e.check(An(n,o)),e.unwrap=()=>e.element});function b(e,t){return vi(La,e,t)}const Vn=h("ZodObject",(e,t)=>{lr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>qi(e,n,o,s),z(e,"shape",()=>t.shape),e.keyof=()=>K(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:I()}),e.loose=()=>e.clone({...e._zod.def,catchall:I()}),e.strict=()=>e.clone({...e._zod.def,catchall:Da()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>Io(e,n),e.safeExtend=n=>Po(e,n),e.merge=n=>xo(e,n),e.pick=n=>To(e,n),e.omit=n=>Ro(e,n),e.partial=(...n)=>Eo(Gn,e,n[0]),e.required=(...n)=>Co(Qn,e,n[0])});function p(e,t){const n={type:"object",shape:e??{},...v(t)};return new Vn(n)}function V(e,t){return new Vn({type:"object",shape:e,catchall:I(),...v(t)})}const Bn=h("ZodUnion",(e,t)=>{Zn.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Mi(e,n,o,s),e.options=t.options});function S(e,t){return new Bn({type:"union",options:e,...v(t)})}const Ua=h("ZodDiscriminatedUnion",(e,t)=>{Bn.init(e,t),dr.init(e,t)});function Wn(e,t,n){return new Ua({type:"union",options:t,discriminator:e,...v(n)})}const Fa=h("ZodIntersection",(e,t)=>{pr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>ji(e,n,o,s)});function _t(e,t){return new Fa({type:"intersection",left:e,right:t})}const Ha=h("ZodRecord",(e,t)=>{hr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Di(e,n,o,s),e.keyType=t.keyType,e.valueType=t.valueType});function R(e,t,n){return new Ha({type:"record",keyType:e,valueType:t,...v(n)})}const at=h("ZodEnum",(e,t)=>{mr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(o,s,i)=>Ci(e,o,s),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(o,s)=>{const i={};for(const r of o)if(n.has(r))i[r]=t.entries[r];else throw new Error(`Key ${r} not found in enum`);return new at({...t,checks:[],...v(s),entries:i})},e.exclude=(o,s)=>{const i={...t.entries};for(const r of o)if(n.has(r))delete i[r];else throw new Error(`Key ${r} not found in enum`);return new at({...t,checks:[],...v(s),entries:i})}});function K(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new at({type:"enum",entries:n,...v(t)})}const Ja=h("ZodLiteral",(e,t)=>{fr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Zi(e,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function u(e,t){return new Ja({type:"literal",values:Array.isArray(e)?e:[e],...v(t)})}const Va=h("ZodTransform",(e,t)=>{gr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ni(e,n),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new hn(e.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(ze(i,n.value,t));else{const r=i;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=n.value),r.inst??(r.inst=e),n.issues.push(ze(r))}};const s=t.transform(n.value,n);return s instanceof Promise?s.then(i=>(n.value=i,n)):(n.value=s,n)}});function Kn(e){return new Va({type:"transform",transform:e})}const Gn=h("ZodOptional",(e,t)=>{On.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Dn(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function A(e){return new Gn({type:"optional",innerType:e})}const Ba=h("ZodExactOptional",(e,t)=>{_r.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Dn(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function Wa(e){return new Ba({type:"optional",innerType:e})}const Ka=h("ZodNullable",(e,t)=>{vr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Li(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function sn(e){return new Ka({type:"nullable",innerType:e})}const Ga=h("ZodDefault",(e,t)=>{br.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Fi(e,n,o,s),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Qa(e,t){return new Ga({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():_n(t)}})}const Ya=h("ZodPrefault",(e,t)=>{yr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Hi(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function Xa(e,t){return new Ya({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():_n(t)}})}const Qn=h("ZodNonOptional",(e,t)=>{wr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ui(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function ec(e,t){return new Qn({type:"nonoptional",innerType:e,...v(t)})}const tc=h("ZodCatch",(e,t)=>{kr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ji(e,n,o,s),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function nc(e,t){return new tc({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const oc=h("ZodPipe",(e,t)=>{Sr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Vi(e,n,o,s),e.in=t.in,e.out=t.out});function ct(e,t){return new oc({type:"pipe",in:e,out:t})}const sc=h("ZodReadonly",(e,t)=>{$r.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Bi(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function rc(e){return new sc({type:"readonly",innerType:e})}const Yn=h("ZodCustom",(e,t)=>{zr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Oi(e,n)});function ic(e,t){return bi(Yn,e??(()=>!0),t)}function ac(e,t={}){return yi(Yn,e,t)}function cc(e){return wi(e)}function Xn(e,t){return ct(Kn(e),t)}const ce="io.modelcontextprotocol/related-task",Qe="2.0",L=ic(e=>e!==null&&(typeof e=="object"||typeof e=="function")),eo=S([d(),w().int()]),to=d();V({ttl:S([w(),Jn()]).optional(),pollInterval:w().optional()});const uc=p({ttl:w().optional()}),lc=p({taskId:d()}),vt=V({progressToken:eo.optional(),[ce]:lc.optional()}),G=p({_meta:vt.optional()}),Ie=G.extend({task:uc.optional()}),dc=e=>Ie.safeParse(e).success,U=p({method:d(),params:G.loose().optional()}),X=p({_meta:vt.optional()}),ee=p({method:d(),params:X.loose().optional()}),F=V({_meta:vt.optional()}),Pe=S([d(),w().int()]),no=p({jsonrpc:u(Qe),id:Pe,...U.shape}).strict(),rn=e=>no.safeParse(e).success,oo=p({jsonrpc:u(Qe),...ee.shape}).strict(),pc=e=>oo.safeParse(e).success,bt=p({jsonrpc:u(Qe),id:Pe,result:F}).strict(),De=e=>bt.safeParse(e).success;var T;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(T||(T={}));const yt=p({jsonrpc:u(Qe),id:Pe.optional(),error:p({code:w().int(),message:d(),data:I().optional()})}).strict(),hc=e=>yt.safeParse(e).success,mc=S([no,oo,bt,yt]);S([bt,yt]);const wt=F.strict(),fc=X.extend({requestId:Pe.optional(),reason:d().optional()}),kt=ee.extend({method:u("notifications/cancelled"),params:fc}),gc=p({src:d(),mimeType:d().optional(),sizes:b(d()).optional(),theme:K(["light","dark"]).optional()}),xe=p({icons:b(gc).optional()}),ve=p({name:d(),title:d().optional()}),Ye=ve.extend({...ve.shape,...xe.shape,version:d(),websiteUrl:d().optional(),description:d().optional()}),_c=_t(p({applyDefaults:P().optional()}),R(d(),I())),vc=Xn(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,_t(p({form:_c.optional(),url:L.optional()}),R(d(),I()).optional())),bc=V({list:L.optional(),cancel:L.optional(),requests:V({sampling:V({createMessage:L.optional()}).optional(),elicitation:V({create:L.optional()}).optional()}).optional()}),yc=V({list:L.optional(),cancel:L.optional(),requests:V({tools:V({call:L.optional()}).optional()}).optional()}),wc=p({experimental:R(d(),L).optional(),sampling:p({context:L.optional(),tools:L.optional()}).optional(),elicitation:vc.optional(),roots:p({listChanged:P().optional()}).optional(),tasks:bc.optional()}),kc=G.extend({protocolVersion:d(),capabilities:wc,clientInfo:Ye}),Sc=U.extend({method:u("initialize"),params:kc}),$c=p({experimental:R(d(),L).optional(),logging:L.optional(),completions:L.optional(),prompts:p({listChanged:P().optional()}).optional(),resources:p({subscribe:P().optional(),listChanged:P().optional()}).optional(),tools:p({listChanged:P().optional()}).optional(),tasks:yc.optional()}),zc=F.extend({protocolVersion:d(),capabilities:$c,serverInfo:Ye,instructions:d().optional()}),Tc=ee.extend({method:u("notifications/initialized"),params:X.optional()}),Xe=U.extend({method:u("ping"),params:G.optional()}),Rc=p({progress:w(),total:A(w()),message:A(d())}),Ic=p({...X.shape,...Rc.shape,progressToken:eo}),St=ee.extend({method:u("notifications/progress"),params:Ic}),Pc=G.extend({cursor:to.optional()}),Ee=U.extend({params:Pc.optional()}),Ce=F.extend({nextCursor:to.optional()}),xc=K(["working","input_required","completed","failed","cancelled"]),Ze=p({taskId:d(),status:xc,ttl:S([w(),Jn()]),createdAt:d(),lastUpdatedAt:d(),pollInterval:A(w()),statusMessage:A(d())}),$t=F.extend({task:Ze}),Ec=X.merge(Ze),He=ee.extend({method:u("notifications/tasks/status"),params:Ec}),zt=U.extend({method:u("tasks/get"),params:G.extend({taskId:d()})}),Tt=F.merge(Ze),Rt=U.extend({method:u("tasks/result"),params:G.extend({taskId:d()})});F.loose();const It=Ee.extend({method:u("tasks/list")}),Pt=Ce.extend({tasks:b(Ze)}),xt=U.extend({method:u("tasks/cancel"),params:G.extend({taskId:d()})}),Cc=F.merge(Ze),so=p({uri:d(),mimeType:A(d()),_meta:R(d(),I()).optional()}),ro=so.extend({text:d()}),Et=d().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),io=so.extend({blob:Et}),Oe=K(["user","assistant"]),ye=p({audience:b(Oe).optional(),priority:w().min(0).max(1).optional(),lastModified:Un({offset:!0}).optional()}),ao=p({...ve.shape,...xe.shape,uri:d(),description:A(d()),mimeType:A(d()),annotations:ye.optional(),_meta:A(V({}))}),Zc=p({...ve.shape,...xe.shape,uriTemplate:d(),description:A(d()),mimeType:A(d()),annotations:ye.optional(),_meta:A(V({}))}),Oc=Ee.extend({method:u("resources/list")}),co=Ce.extend({resources:b(ao)}),Nc=Ee.extend({method:u("resources/templates/list")}),Ac=Ce.extend({resourceTemplates:b(Zc)}),Ct=G.extend({uri:d()}),qc=Ct,Mc=U.extend({method:u("resources/read"),params:qc}),uo=F.extend({contents:b(S([ro,io]))}),jc=ee.extend({method:u("notifications/resources/list_changed"),params:X.optional()}),Dc=Ct,Lc=U.extend({method:u("resources/subscribe"),params:Dc}),Uc=Ct,Fc=U.extend({method:u("resources/unsubscribe"),params:Uc}),Hc=X.extend({uri:d()}),Jc=ee.extend({method:u("notifications/resources/updated"),params:Hc}),Vc=p({name:d(),description:A(d()),required:A(P())}),Bc=p({...ve.shape,...xe.shape,description:A(d()),arguments:A(b(Vc)),_meta:A(V({}))}),Wc=Ee.extend({method:u("prompts/list")}),Kc=Ce.extend({prompts:b(Bc)}),Gc=G.extend({name:d(),arguments:R(d(),d()).optional()}),Qc=U.extend({method:u("prompts/get"),params:Gc}),Zt=p({type:u("text"),text:d(),annotations:ye.optional(),_meta:R(d(),I()).optional()}),Ot=p({type:u("image"),data:Et,mimeType:d(),annotations:ye.optional(),_meta:R(d(),I()).optional()}),Nt=p({type:u("audio"),data:Et,mimeType:d(),annotations:ye.optional(),_meta:R(d(),I()).optional()}),Yc=p({type:u("tool_use"),name:d(),id:d(),input:R(d(),I()),_meta:R(d(),I()).optional()}),lo=p({type:u("resource"),resource:S([ro,io]),annotations:ye.optional(),_meta:R(d(),I()).optional()}),po=ao.extend({type:u("resource_link")}),Ne=S([Zt,Ot,Nt,po,lo]),Xc=p({role:Oe,content:Ne}),eu=F.extend({description:d().optional(),messages:b(Xc)}),tu=ee.extend({method:u("notifications/prompts/list_changed"),params:X.optional()}),nu=p({title:d().optional(),readOnlyHint:P().optional(),destructiveHint:P().optional(),idempotentHint:P().optional(),openWorldHint:P().optional()}),ou=p({taskSupport:K(["required","optional","forbidden"]).optional()}),At=p({...ve.shape,...xe.shape,description:d().optional(),inputSchema:p({type:u("object"),properties:R(d(),L).optional(),required:b(d()).optional()}).catchall(I()),outputSchema:p({type:u("object"),properties:R(d(),L).optional(),required:b(d()).optional()}).catchall(I()).optional(),annotations:nu.optional(),execution:ou.optional(),_meta:R(d(),I()).optional()}),ho=Ee.extend({method:u("tools/list")}),su=Ce.extend({tools:b(At)}),et=F.extend({content:b(Ne).default([]),structuredContent:R(d(),I()).optional(),isError:P().optional()});et.or(F.extend({toolResult:I()}));const ru=Ie.extend({name:d(),arguments:R(d(),I()).optional()}),mo=U.extend({method:u("tools/call"),params:ru}),iu=ee.extend({method:u("notifications/tools/list_changed"),params:X.optional()});p({autoRefresh:P().default(!0),debounceMs:w().int().nonnegative().default(300)});const fo=K(["debug","info","notice","warning","error","critical","alert","emergency"]),au=G.extend({level:fo}),cu=U.extend({method:u("logging/setLevel"),params:au}),uu=X.extend({level:fo,logger:d().optional(),data:I()}),lu=ee.extend({method:u("notifications/message"),params:uu}),du=p({name:d().optional()}),pu=p({hints:b(du).optional(),costPriority:w().min(0).max(1).optional(),speedPriority:w().min(0).max(1).optional(),intelligencePriority:w().min(0).max(1).optional()}),hu=p({mode:K(["auto","required","none"]).optional()}),mu=p({type:u("tool_result"),toolUseId:d().describe("The unique identifier for the corresponding tool call."),content:b(Ne).default([]),structuredContent:p({}).loose().optional(),isError:P().optional(),_meta:R(d(),I()).optional()}),fu=Wn("type",[Zt,Ot,Nt]),Je=Wn("type",[Zt,Ot,Nt,Yc,mu]),gu=p({role:Oe,content:S([Je,b(Je)]),_meta:R(d(),I()).optional()}),_u=Ie.extend({messages:b(gu),modelPreferences:pu.optional(),systemPrompt:d().optional(),includeContext:K(["none","thisServer","allServers"]).optional(),temperature:w().optional(),maxTokens:w().int(),stopSequences:b(d()).optional(),metadata:L.optional(),tools:b(At).optional(),toolChoice:hu.optional()}),vu=U.extend({method:u("sampling/createMessage"),params:_u}),bu=F.extend({model:d(),stopReason:A(K(["endTurn","stopSequence","maxTokens"]).or(d())),role:Oe,content:fu}),yu=F.extend({model:d(),stopReason:A(K(["endTurn","stopSequence","maxTokens","toolUse"]).or(d())),role:Oe,content:S([Je,b(Je)])}),wu=p({type:u("boolean"),title:d().optional(),description:d().optional(),default:P().optional()}),ku=p({type:u("string"),title:d().optional(),description:d().optional(),minLength:w().optional(),maxLength:w().optional(),format:K(["email","uri","date","date-time"]).optional(),default:d().optional()}),Su=p({type:K(["number","integer"]),title:d().optional(),description:d().optional(),minimum:w().optional(),maximum:w().optional(),default:w().optional()}),$u=p({type:u("string"),title:d().optional(),description:d().optional(),enum:b(d()),default:d().optional()}),zu=p({type:u("string"),title:d().optional(),description:d().optional(),oneOf:b(p({const:d(),title:d()})),default:d().optional()}),Tu=p({type:u("string"),title:d().optional(),description:d().optional(),enum:b(d()),enumNames:b(d()).optional(),default:d().optional()}),Ru=S([$u,zu]),Iu=p({type:u("array"),title:d().optional(),description:d().optional(),minItems:w().optional(),maxItems:w().optional(),items:p({type:u("string"),enum:b(d())}),default:b(d()).optional()}),Pu=p({type:u("array"),title:d().optional(),description:d().optional(),minItems:w().optional(),maxItems:w().optional(),items:p({anyOf:b(p({const:d(),title:d()}))}),default:b(d()).optional()}),xu=S([Iu,Pu]),Eu=S([Tu,Ru,xu]),Cu=S([Eu,wu,ku,Su]),Zu=Ie.extend({mode:u("form").optional(),message:d(),requestedSchema:p({type:u("object"),properties:R(d(),Cu),required:b(d()).optional()})}),Ou=Ie.extend({mode:u("url"),message:d(),elicitationId:d(),url:d().url()}),Nu=S([Zu,Ou]),Au=U.extend({method:u("elicitation/create"),params:Nu}),qu=X.extend({elicitationId:d()}),Mu=ee.extend({method:u("notifications/elicitation/complete"),params:qu}),ju=F.extend({action:K(["accept","decline","cancel"]),content:Xn(e=>e===null?void 0:e,R(d(),S([d(),w(),P(),b(d())])).optional())}),Du=p({type:u("ref/resource"),uri:d()}),Lu=p({type:u("ref/prompt"),name:d()}),Uu=G.extend({ref:S([Lu,Du]),argument:p({name:d(),value:d()}),context:p({arguments:R(d(),d()).optional()}).optional()}),Fu=U.extend({method:u("completion/complete"),params:Uu}),Hu=F.extend({completion:V({values:b(d()).max(100),total:A(w().int()),hasMore:A(P())})}),Ju=p({uri:d().startsWith("file://"),name:d().optional(),_meta:R(d(),I()).optional()}),Vu=U.extend({method:u("roots/list"),params:G.optional()}),Bu=F.extend({roots:b(Ju)}),Wu=ee.extend({method:u("notifications/roots/list_changed"),params:X.optional()});S([Xe,Sc,Fu,cu,Qc,Wc,Oc,Nc,Mc,Lc,Fc,mo,ho,zt,Rt,It,xt]);S([kt,St,Tc,Wu,He]);S([wt,bu,yu,ju,Bu,Tt,Pt,$t]);S([Xe,vu,Au,Vu,zt,Rt,It,xt]);S([kt,St,lu,Jc,jc,iu,tu,He,Mu]);S([wt,zc,Hu,eu,Kc,co,Ac,uo,et,su,Tt,Pt,$t]);class $ extends Error{constructor(t,n,o){super(`MCP error ${t}: ${n}`),this.code=t,this.data=o,this.name="McpError"}static fromError(t,n,o){if(t===T.UrlElicitationRequired&&o){const s=o;if(s.elicitations)return new Ku(s.elicitations,n)}return new $(t,n,o)}}class Ku extends ${constructor(t,n=`URL elicitation${t.length>1?"s":""} required`){super(T.UrlElicitationRequired,n,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}}function ae(e){return e==="completed"||e==="failed"||e==="cancelled"}new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function an(e){const n=Wi(e)?.method;if(!n)throw new Error("Schema is missing a method literal");const o=Ki(n);if(typeof o!="string")throw new Error("Schema method literal must be a string");return o}function cn(e,t){const n=Ln(e,t);if(!n.success)throw n.error;return n.data}const Gu=6e4;class Qu{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(kt,n=>{this._oncancel(n)}),this.setNotificationHandler(St,n=>{this._onprogress(n)}),this.setRequestHandler(Xe,n=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(zt,async(n,o)=>{const s=await this._taskStore.getTask(n.params.taskId,o.sessionId);if(!s)throw new $(T.InvalidParams,"Failed to retrieve task: Task not found");return{...s}}),this.setRequestHandler(Rt,async(n,o)=>{const s=async()=>{const i=n.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(i,o.sessionId);){if(a.type==="response"||a.type==="error"){const c=a.message,l=c.id,m=this._requestResolvers.get(l);if(m)if(this._requestResolvers.delete(l),a.type==="response")m(c);else{const f=c,g=new $(f.error.code,f.error.message,f.error.data);m(g)}else{const f=a.type==="response"?"Response":"Error";this._onerror(new Error(`${f} handler missing for request ${l}`))}continue}await this._transport?.send(a.message,{relatedRequestId:o.requestId})}}const r=await this._taskStore.getTask(i,o.sessionId);if(!r)throw new $(T.InvalidParams,`Task not found: ${i}`);if(!ae(r.status))return await this._waitForTaskUpdate(i,o.signal),await s();if(ae(r.status)){const a=await this._taskStore.getTaskResult(i,o.sessionId);return this._clearTaskQueue(i),{...a,_meta:{...a._meta,[ce]:{taskId:i}}}}return await s()};return await s()}),this.setRequestHandler(It,async(n,o)=>{try{const{tasks:s,nextCursor:i}=await this._taskStore.listTasks(n.params?.cursor,o.sessionId);return{tasks:s,nextCursor:i,_meta:{}}}catch(s){throw new $(T.InvalidParams,`Failed to list tasks: ${s instanceof Error?s.message:String(s)}`)}}),this.setRequestHandler(xt,async(n,o)=>{try{const s=await this._taskStore.getTask(n.params.taskId,o.sessionId);if(!s)throw new $(T.InvalidParams,`Task not found: ${n.params.taskId}`);if(ae(s.status))throw new $(T.InvalidParams,`Cannot cancel task in terminal status: ${s.status}`);await this._taskStore.updateTaskStatus(n.params.taskId,"cancelled","Client cancelled task execution.",o.sessionId),this._clearTaskQueue(n.params.taskId);const i=await this._taskStore.getTask(n.params.taskId,o.sessionId);if(!i)throw new $(T.InvalidParams,`Task not found after cancellation: ${n.params.taskId}`);return{_meta:{},...i}}catch(s){throw s instanceof $?s:new $(T.InvalidRequest,`Failed to cancel task: ${s instanceof Error?s.message:String(s)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,n,o,s,i=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(s,n),startTime:Date.now(),timeout:n,maxTotalTimeout:o,resetTimeoutOnProgress:i,onTimeout:s})}_resetTimeout(t){const n=this._timeoutInfo.get(t);if(!n)return!1;const o=Date.now()-n.startTime;if(n.maxTotalTimeout&&o>=n.maxTotalTimeout)throw this._timeoutInfo.delete(t),$.fromError(T.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:n.maxTotalTimeout,totalElapsed:o});return clearTimeout(n.timeoutId),n.timeoutId=setTimeout(n.onTimeout,n.timeout),!0}_cleanupTimeout(t){const n=this._timeoutInfo.get(t);n&&(clearTimeout(n.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;const n=this.transport?.onclose;this._transport.onclose=()=>{n?.(),this._onclose()};const o=this.transport?.onerror;this._transport.onerror=i=>{o?.(i),this._onerror(i)};const s=this._transport?.onmessage;this._transport.onmessage=(i,r)=>{s?.(i,r),De(i)||hc(i)?this._onresponse(i):rn(i)?this._onrequest(i,r):pc(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`))},await this._transport.start()}_onclose(){const t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const o of this._requestHandlerAbortControllers.values())o.abort();this._requestHandlerAbortControllers.clear();const n=$.fromError(T.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(const o of t.values())o(n)}_onerror(t){this.onerror?.(t)}_onnotification(t){const n=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;n!==void 0&&Promise.resolve().then(()=>n(t)).catch(o=>this._onerror(new Error(`Uncaught error in notification handler: ${o}`)))}_onrequest(t,n){const o=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,s=this._transport,i=t.params?._meta?.[ce]?.taskId;if(o===void 0){const m={jsonrpc:"2.0",id:t.id,error:{code:T.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:"error",message:m,timestamp:Date.now()},s?.sessionId).catch(f=>this._onerror(new Error(`Failed to enqueue error response: ${f}`))):s?.send(m).catch(f=>this._onerror(new Error(`Failed to send an error response: ${f}`)));return}const r=new AbortController;this._requestHandlerAbortControllers.set(t.id,r);const a=dc(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,s?.sessionId):void 0,l={signal:r.signal,sessionId:s?.sessionId,_meta:t.params?._meta,sendNotification:async m=>{if(r.signal.aborted)return;const f={relatedRequestId:t.id};i&&(f.relatedTask={taskId:i}),await this.notification(m,f)},sendRequest:async(m,f,g)=>{if(r.signal.aborted)throw new $(T.ConnectionClosed,"Request was cancelled");const _={...g,relatedRequestId:t.id};i&&!_.relatedTask&&(_.relatedTask={taskId:i});const x=_.relatedTask?.taskId??i;return x&&c&&await c.updateTaskStatus(x,"input_required"),await this.request(m,f,_)},authInfo:n?.authInfo,requestId:t.id,requestInfo:n?.requestInfo,taskId:i,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:n?.closeSSEStream,closeStandaloneSSEStream:n?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>o(t,l)).then(async m=>{if(r.signal.aborted)return;const f={result:m,jsonrpc:"2.0",id:t.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:f,timestamp:Date.now()},s?.sessionId):await s?.send(f)},async m=>{if(r.signal.aborted)return;const f={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(m.code)?m.code:T.InternalError,message:m.message??"Internal error",...m.data!==void 0&&{data:m.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"error",message:f,timestamp:Date.now()},s?.sessionId):await s?.send(f)}).catch(m=>this._onerror(new Error(`Failed to send response: ${m}`))).finally(()=>{this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){const{progressToken:n,...o}=t.params,s=Number(n),i=this._progressHandlers.get(s);if(!i){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}const r=this._responseHandlers.get(s),a=this._timeoutInfo.get(s);if(a&&r&&a.resetTimeoutOnProgress)try{this._resetTimeout(s)}catch(c){this._responseHandlers.delete(s),this._progressHandlers.delete(s),this._cleanupTimeout(s),r(c);return}i(o)}_onresponse(t){const n=Number(t.id),o=this._requestResolvers.get(n);if(o){if(this._requestResolvers.delete(n),De(t))o(t);else{const r=new $(t.error.code,t.error.message,t.error.data);o(r)}return}const s=this._responseHandlers.get(n);if(s===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(n),this._cleanupTimeout(n);let i=!1;if(De(t)&&t.result&&typeof t.result=="object"){const r=t.result;if(r.task&&typeof r.task=="object"){const a=r.task;typeof a.taskId=="string"&&(i=!0,this._taskProgressTokens.set(a.taskId,n))}}if(i||this._progressHandlers.delete(n),De(t))s(t);else{const r=$.fromError(t.error.code,t.error.message,t.error.data);s(r)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,n,o){const{task:s}=o??{};if(!s){try{yield{type:"result",result:await this.request(t,n,o)}}catch(r){yield{type:"error",error:r instanceof $?r:new $(T.InternalError,String(r))}}return}let i;try{const r=await this.request(t,$t,o);if(r.task)i=r.task.taskId,yield{type:"taskCreated",task:r.task};else throw new $(T.InternalError,"Task creation did not return a task");for(;;){const a=await this.getTask({taskId:i},o);if(yield{type:"taskStatus",task:a},ae(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},n,o)}:a.status==="failed"?yield{type:"error",error:new $(T.InternalError,`Task ${i} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new $(T.InternalError,`Task ${i} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:i},n,o)};return}const c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(l=>setTimeout(l,c)),o?.signal?.throwIfAborted()}}catch(r){yield{type:"error",error:r instanceof $?r:new $(T.InternalError,String(r))}}}request(t,n,o){const{relatedRequestId:s,resumptionToken:i,onresumptiontoken:r,task:a,relatedTask:c}=o??{};return new Promise((l,m)=>{const f=D=>{m(D)};if(!this._transport){f(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(D){f(D);return}o?.signal?.throwIfAborted();const g=this._requestMessageId++,_={...t,jsonrpc:"2.0",id:g};o?.onprogress&&(this._progressHandlers.set(g,o.onprogress),_.params={...t.params,_meta:{...t.params?._meta||{},progressToken:g}}),a&&(_.params={..._.params,task:a}),c&&(_.params={..._.params,_meta:{..._.params?._meta||{},[ce]:c}});const x=D=>{this._responseHandlers.delete(g),this._progressHandlers.delete(g),this._cleanupTimeout(g),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:g,reason:String(D)}},{relatedRequestId:s,resumptionToken:i,onresumptiontoken:r}).catch(j=>this._onerror(new Error(`Failed to send cancellation: ${j}`)));const N=D instanceof $?D:new $(T.RequestTimeout,String(D));m(N)};this._responseHandlers.set(g,D=>{if(!o?.signal?.aborted){if(D instanceof Error)return m(D);try{const N=Ln(n,D.result);N.success?l(N.data):m(N.error)}catch(N){m(N)}}}),o?.signal?.addEventListener("abort",()=>{x(o?.signal?.reason)});const q=o?.timeout??Gu,le=()=>x($.fromError(T.RequestTimeout,"Request timed out",{timeout:q}));this._setupTimeout(g,q,o?.maxTotalTimeout,le,o?.resetTimeoutOnProgress??!1);const Ae=c?.taskId;if(Ae){const D=N=>{const j=this._responseHandlers.get(g);j?j(N):this._onerror(new Error(`Response handler missing for side-channeled request ${g}`))};this._requestResolvers.set(g,D),this._enqueueTaskMessage(Ae,{type:"request",message:_,timestamp:Date.now()}).catch(N=>{this._cleanupTimeout(g),m(N)})}else this._transport.send(_,{relatedRequestId:s,resumptionToken:i,onresumptiontoken:r}).catch(D=>{this._cleanupTimeout(g),m(D)})})}async getTask(t,n){return this.request({method:"tasks/get",params:t},Tt,n)}async getTaskResult(t,n,o){return this.request({method:"tasks/result",params:t},n,o)}async listTasks(t,n){return this.request({method:"tasks/list",params:t},Pt,n)}async cancelTask(t,n){return this.request({method:"tasks/cancel",params:t},Cc,n)}async notification(t,n){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);const o=n?.relatedTask?.taskId;if(o){const a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[ce]:n.relatedTask}}};await this._enqueueTaskMessage(o,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!n?.relatedRequestId&&!n?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};n?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[ce]:n.relatedTask}}}),this._transport?.send(a,n).catch(c=>this._onerror(c))});return}let r={...t,jsonrpc:"2.0"};n?.relatedTask&&(r={...r,params:{...r.params,_meta:{...r.params?._meta||{},[ce]:n.relatedTask}}}),await this._transport.send(r,n)}setRequestHandler(t,n){const o=an(t);this.assertRequestHandlerCapability(o),this._requestHandlers.set(o,(s,i)=>{const r=cn(t,s);return Promise.resolve(n(r,i))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,n){const o=an(t);this._notificationHandlers.set(o,s=>{const i=cn(t,s);return Promise.resolve(n(i))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){const n=this._taskProgressTokens.get(t);n!==void 0&&(this._progressHandlers.delete(n),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,n,o){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const s=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,n,o,s)}async _clearTaskQueue(t,n){if(this._taskMessageQueue){const o=await this._taskMessageQueue.dequeueAll(t,n);for(const s of o)if(s.type==="request"&&rn(s.message)){const i=s.message.id,r=this._requestResolvers.get(i);r?(r(new $(T.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,n){let o=this._options?.defaultTaskPollInterval??1e3;try{const s=await this._taskStore?.getTask(t);s?.pollInterval&&(o=s.pollInterval)}catch{}return new Promise((s,i)=>{if(n.aborted){i(new $(T.InvalidRequest,"Request cancelled"));return}const r=setTimeout(s,o);n.addEventListener("abort",()=>{clearTimeout(r),i(new $(T.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,n){const o=this._taskStore;if(!o)throw new Error("No task store configured");return{createTask:async s=>{if(!t)throw new Error("No request provided");return await o.createTask(s,t.id,{method:t.method,params:t.params},n)},getTask:async s=>{const i=await o.getTask(s,n);if(!i)throw new $(T.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(s,i,r)=>{await o.storeTaskResult(s,i,r,n);const a=await o.getTask(s,n);if(a){const c=He.parse({method:"notifications/tasks/status",params:a});await this.notification(c),ae(a.status)&&this._cleanupTaskProgressHandler(s)}},getTaskResult:s=>o.getTaskResult(s,n),updateTaskStatus:async(s,i,r)=>{const a=await o.getTask(s,n);if(!a)throw new $(T.InvalidParams,`Task "${s}" not found - it may have been cleaned up`);if(ae(a.status))throw new $(T.InvalidParams,`Cannot update task "${s}" from terminal status "${a.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await o.updateTaskStatus(s,i,r,n);const c=await o.getTask(s,n);if(c){const l=He.parse({method:"notifications/tasks/status",params:c});await this.notification(l),ae(c.status)&&this._cleanupTaskProgressHandler(s)}},listTasks:s=>o.listTasks(s,n)}}}var Yu="2026-01-26",Xu="ui/notifications/tool-input-partial";class el{eventTarget;eventSource;messageListener;constructor(t=window.parent,n){this.eventTarget=t,this.eventSource=n,this.messageListener=o=>{if(n&&o.source!==this.eventSource){console.debug("Ignoring message from unknown source",o);return}let s=mc.safeParse(o.data);s.success?(console.debug("Parsed message",s.data),this.onmessage?.(s.data)):o.data?.jsonrpc!=="2.0"?console.debug("Ignoring non-JSON-RPC message",s.error.message,o):(console.error("Failed to parse message",s.error.message,o),this.onerror?.(Error("Invalid JSON-RPC message received: "+s.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(t,n){t.method!==Xu&&console.debug("Sending message",t),this.eventTarget.postMessage(t,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}var tl=S([u("light"),u("dark")]).describe("Color theme preference for the host environment."),Te=S([u("inline"),u("fullscreen"),u("pip")]).describe("Display mode for UI presentation."),nl=S([u("--color-background-primary"),u("--color-background-secondary"),u("--color-background-tertiary"),u("--color-background-inverse"),u("--color-background-ghost"),u("--color-background-info"),u("--color-background-danger"),u("--color-background-success"),u("--color-background-warning"),u("--color-background-disabled"),u("--color-text-primary"),u("--color-text-secondary"),u("--color-text-tertiary"),u("--color-text-inverse"),u("--color-text-ghost"),u("--color-text-info"),u("--color-text-danger"),u("--color-text-success"),u("--color-text-warning"),u("--color-text-disabled"),u("--color-border-primary"),u("--color-border-secondary"),u("--color-border-tertiary"),u("--color-border-inverse"),u("--color-border-ghost"),u("--color-border-info"),u("--color-border-danger"),u("--color-border-success"),u("--color-border-warning"),u("--color-border-disabled"),u("--color-ring-primary"),u("--color-ring-secondary"),u("--color-ring-inverse"),u("--color-ring-info"),u("--color-ring-danger"),u("--color-ring-success"),u("--color-ring-warning"),u("--font-sans"),u("--font-mono"),u("--font-weight-normal"),u("--font-weight-medium"),u("--font-weight-semibold"),u("--font-weight-bold"),u("--font-text-xs-size"),u("--font-text-sm-size"),u("--font-text-md-size"),u("--font-text-lg-size"),u("--font-heading-xs-size"),u("--font-heading-sm-size"),u("--font-heading-md-size"),u("--font-heading-lg-size"),u("--font-heading-xl-size"),u("--font-heading-2xl-size"),u("--font-heading-3xl-size"),u("--font-text-xs-line-height"),u("--font-text-sm-line-height"),u("--font-text-md-line-height"),u("--font-text-lg-line-height"),u("--font-heading-xs-line-height"),u("--font-heading-sm-line-height"),u("--font-heading-md-line-height"),u("--font-heading-lg-line-height"),u("--font-heading-xl-line-height"),u("--font-heading-2xl-line-height"),u("--font-heading-3xl-line-height"),u("--border-radius-xs"),u("--border-radius-sm"),u("--border-radius-md"),u("--border-radius-lg"),u("--border-radius-xl"),u("--border-radius-full"),u("--border-width-regular"),u("--shadow-hairline"),u("--shadow-sm"),u("--shadow-md"),u("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),ol=R(nl.describe(`Style variables for theming MCP apps.
45
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const a=i[1];if(t===i[0]){r(i);continue}if(e.external){const u=e.external.registry.get(i[0])?.id;if(t!==i[0]&&u){r(i);continue}}if(e.metadataRegistry.get(i[0])?.id){r(i);continue}if(a.cycle){r(i);continue}if(a.count>1&&e.reused==="ref"){r(i);continue}}}function jn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=i=>{const a=e.seen.get(i);if(a.ref===null)return;const c=a.def??a.schema,u={...c},m=a.ref;if(a.ref=null,m){o(m);const g=e.seen.get(m),_=g.schema;if(_.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(_)):Object.assign(c,_),Object.assign(c,u),i._zod.parent===m)for(const A in c)A==="$ref"||A==="allOf"||A in u||delete c[A];if(_.$ref&&g.def)for(const A in c)A==="$ref"||A==="allOf"||A in g.def&&JSON.stringify(c[A])===JSON.stringify(g.def[A])&&delete c[A]}const f=i._zod.parent;if(f&&f!==m){o(f);const g=e.seen.get(f);if(g?.schema.$ref&&(c.$ref=g.schema.$ref,g.def))for(const _ in c)_==="$ref"||_==="allOf"||_ in g.def&&JSON.stringify(c[_])===JSON.stringify(g.def[_])&&delete c[_]}e.override({zodSchema:i,jsonSchema:c,path:a.path??[]})};for(const i of[...e.seen.entries()].reverse())o(i[0]);const s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(i)}Object.assign(s,n.def??n.schema);const r=e.external?.defs??{};for(const i of e.seen.entries()){const a=i[1];a.def&&a.defId&&(r[a.defId]=a.def)}e.external||Object.keys(r).length>0&&(e.target==="draft-2020-12"?s.$defs=r:s.definitions=r);try{const i=JSON.parse(JSON.stringify(s));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:Ue(t,"input",e.processors),output:Ue(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function F(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return F(o.element,n);if(o.type==="set")return F(o.valueType,n);if(o.type==="lazy")return F(o.getter(),n);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return F(o.innerType,n);if(o.type==="intersection")return F(o.left,n)||F(o.right,n);if(o.type==="record"||o.type==="map")return F(o.keyType,n)||F(o.valueType,n);if(o.type==="pipe")return F(o.in,n)||F(o.out,n);if(o.type==="object"){for(const s in o.shape)if(F(o.shape[s],n))return!0;return!1}if(o.type==="union"){for(const s of o.options)if(F(s,n))return!0;return!1}if(o.type==="tuple"){for(const s of o.items)if(F(s,n))return!0;return!!(o.rest&&F(o.rest,n))}return!1}const ki=(e,t={})=>n=>{const o=An({...n,processors:t});return M(e,o),Mn(o,e),jn(o,e)},Ue=(e,t,n={})=>o=>{const{libraryOptions:s,target:r}=o??{},i=An({...s??{},target:r,io:t,processors:n});return M(e,i),Mn(i,e),jn(i,e)},Si={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},$i=(e,t,n,o)=>{const s=n;s.type="string";const{minimum:r,maximum:i,format:a,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof r=="number"&&(s.minLength=r),typeof i=="number"&&(s.maxLength=i),a&&(s.format=Si[a]??a,s.format===""&&delete s.format,a==="time"&&delete s.format),u&&(s.contentEncoding=u),c&&c.size>0){const m=[...c];m.length===1?s.pattern=m[0].source:m.length>1&&(s.allOf=[...m.map(f=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))])}},zi=(e,t,n,o)=>{const s=n,{minimum:r,maximum:i,format:a,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:m}=e._zod.bag;typeof a=="string"&&a.includes("int")?s.type="integer":s.type="number",typeof m=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.minimum=m,s.exclusiveMinimum=!0):s.exclusiveMinimum=m),typeof r=="number"&&(s.minimum=r,typeof m=="number"&&t.target!=="draft-04"&&(m>=r?delete s.minimum:delete s.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.maximum=u,s.exclusiveMaximum=!0):s.exclusiveMaximum=u),typeof i=="number"&&(s.maximum=i,typeof u=="number"&&t.target!=="draft-04"&&(u<=i?delete s.maximum:delete s.exclusiveMaximum)),typeof c=="number"&&(s.multipleOf=c)},Ti=(e,t,n,o)=>{n.type="boolean"},Ri=(e,t,n,o)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},Ii=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},xi=(e,t,n,o)=>{n.not={}},Ei=(e,t,n,o)=>{},Pi=(e,t,n,o)=>{const s=e._zod.def,r=fn(s.entries);r.every(i=>typeof i=="number")&&(n.type="number"),r.every(i=>typeof i=="string")&&(n.type="string"),n.enum=r},Ci=(e,t,n,o)=>{const s=e._zod.def,r=[];for(const i of s.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");r.push(Number(i))}else r.push(i);if(r.length!==0)if(r.length===1){const i=r[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else r.every(i=>typeof i=="number")&&(n.type="number"),r.every(i=>typeof i=="string")&&(n.type="string"),r.every(i=>typeof i=="boolean")&&(n.type="boolean"),r.every(i=>i===null)&&(n.type="null"),n.enum=r},Zi=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Oi=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Ni=(e,t,n,o)=>{const s=n,r=e._zod.def,{minimum:i,maximum:a}=e._zod.bag;typeof i=="number"&&(s.minItems=i),typeof a=="number"&&(s.maxItems=a),s.type="array",s.items=M(r.element,t,{...o,path:[...o.path,"items"]})},qi=(e,t,n,o)=>{const s=n,r=e._zod.def;s.type="object",s.properties={};const i=r.shape;for(const u in i)s.properties[u]=M(i[u],t,{...o,path:[...o.path,"properties",u]});const a=new Set(Object.keys(i)),c=new Set([...a].filter(u=>{const m=r.shape[u]._zod;return t.io==="input"?m.optin===void 0:m.optout===void 0}));c.size>0&&(s.required=Array.from(c)),r.catchall?._zod.def.type==="never"?s.additionalProperties=!1:r.catchall?r.catchall&&(s.additionalProperties=M(r.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(s.additionalProperties=!1)},Ai=(e,t,n,o)=>{const s=e._zod.def,r=s.inclusive===!1,i=s.options.map((a,c)=>M(a,t,{...o,path:[...o.path,r?"oneOf":"anyOf",c]}));r?n.oneOf=i:n.anyOf=i},Mi=(e,t,n,o)=>{const s=e._zod.def,r=M(s.left,t,{...o,path:[...o.path,"allOf",0]}),i=M(s.right,t,{...o,path:[...o.path,"allOf",1]}),a=u=>"allOf"in u&&Object.keys(u).length===1,c=[...a(r)?r.allOf:[r],...a(i)?i.allOf:[i]];n.allOf=c},ji=(e,t,n,o)=>{const s=n,r=e._zod.def;s.type="object";const i=r.keyType,c=i._zod.bag?.patterns;if(r.mode==="loose"&&c&&c.size>0){const m=M(r.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});s.patternProperties={};for(const f of c)s.patternProperties[f.source]=m}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(s.propertyNames=M(r.keyType,t,{...o,path:[...o.path,"propertyNames"]})),s.additionalProperties=M(r.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const u=i._zod.values;if(u){const m=[...u].filter(f=>typeof f=="string"||typeof f=="number");m.length>0&&(s.required=m)}},Di=(e,t,n,o)=>{const s=e._zod.def,r=M(s.innerType,t,o),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=s.innerType,n.nullable=!0):n.anyOf=[r,{type:"null"}]},Li=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const r=t.seen.get(e);r.ref=s.innerType},Hi=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const r=t.seen.get(e);r.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},Ui=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const r=t.seen.get(e);r.ref=s.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},Fi=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const r=t.seen.get(e);r.ref=s.innerType;let i;try{i=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},Ji=(e,t,n,o)=>{const s=e._zod.def,r=t.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;M(r,t,o);const i=t.seen.get(e);i.ref=r},Vi=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const r=t.seen.get(e);r.ref=s.innerType,n.readOnly=!0},Dn=(e,t,n,o)=>{const s=e._zod.def;M(s.innerType,t,o);const r=t.seen.get(e);r.ref=s.innerType},Bi=h("ZodISODateTime",(e,t)=>{Ls.init(e,t),N.init(e,t)});function Ln(e){return Kr(Bi,e)}const Wi=h("ZodISODate",(e,t)=>{Hs.init(e,t),N.init(e,t)});function Ki(e){return Gr(Wi,e)}const Gi=h("ZodISOTime",(e,t)=>{Us.init(e,t),N.init(e,t)});function Qi(e){return Qr(Gi,e)}const Yi=h("ZodISODuration",(e,t)=>{Fs.init(e,t),N.init(e,t)});function Xi(e){return Yr(Yi,e)}const ea=(e,t)=>{bn.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Zo(e,n)},flatten:{value:n=>Co(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,st,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,st,2)}},isEmpty:{get(){return e.issues.length===0}}})},Y=h("ZodError",ea,{Parent:Error}),ta=ht(Y),na=mt(Y),oa=We(Y),sa=Ke(Y),ra=No(Y),ia=qo(Y),aa=Ao(Y),ca=Mo(Y),la=jo(Y),ua=Do(Y),da=Lo(Y),pa=Ho(Y),C=h("ZodType",(e,t)=>(P.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Ue(e,"input"),output:Ue(e,"output")}}),e.toJSONSchema=ki(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(re(t,{checks:[...t.checks??[],...n.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),e.with=e.check,e.clone=(n,o)=>ie(e,n,o),e.brand=()=>e,e.register=((n,o)=>(n.add(e,o),e)),e.parse=(n,o)=>ta(e,n,o,{callee:e.parse}),e.safeParse=(n,o)=>oa(e,n,o),e.parseAsync=async(n,o)=>na(e,n,o,{callee:e.parseAsync}),e.safeParseAsync=async(n,o)=>sa(e,n,o),e.spa=e.safeParseAsync,e.encode=(n,o)=>ra(e,n,o),e.decode=(n,o)=>ia(e,n,o),e.encodeAsync=async(n,o)=>aa(e,n,o),e.decodeAsync=async(n,o)=>ca(e,n,o),e.safeEncode=(n,o)=>la(e,n,o),e.safeDecode=(n,o)=>ua(e,n,o),e.safeEncodeAsync=async(n,o)=>da(e,n,o),e.safeDecodeAsync=async(n,o)=>pa(e,n,o),e.refine=(n,o)=>e.check(rc(n,o)),e.superRefine=n=>e.check(ic(n)),e.overwrite=n=>e.check(be(n)),e.optional=()=>O(e),e.exactOptional=()=>Va(e),e.nullable=()=>sn(e),e.nullish=()=>O(sn(e)),e.nonoptional=n=>Ya(e,n),e.array=()=>b(e),e.or=n=>S([e,n]),e.and=n=>gt(e,n),e.transform=n=>ct(e,Bn(n)),e.default=n=>Ka(e,n),e.prefault=n=>Qa(e,n),e.catch=n=>ec(e,n),e.pipe=n=>ct(e,n),e.readonly=()=>oc(e),e.describe=n=>{const o=e.clone();return Se.add(o,{description:n}),o},Object.defineProperty(e,"description",{get(){return Se.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Se.get(e);const o=e.clone();return Se.add(o,n[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),Hn=h("_ZodString",(e,t)=>{ft.init(e,t),C.init(e,t),e._zod.processJSONSchema=(o,s,r)=>$i(e,o,s);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...o)=>e.check(ii(...o)),e.includes=(...o)=>e.check(li(...o)),e.startsWith=(...o)=>e.check(ui(...o)),e.endsWith=(...o)=>e.check(di(...o)),e.min=(...o)=>e.check(He(...o)),e.max=(...o)=>e.check(Nn(...o)),e.length=(...o)=>e.check(qn(...o)),e.nonempty=(...o)=>e.check(He(1,...o)),e.lowercase=o=>e.check(ai(o)),e.uppercase=o=>e.check(ci(o)),e.trim=()=>e.check(hi()),e.normalize=(...o)=>e.check(pi(...o)),e.toLowerCase=()=>e.check(mi()),e.toUpperCase=()=>e.check(fi()),e.slugify=()=>e.check(gi())}),ha=h("ZodString",(e,t)=>{ft.init(e,t),Hn.init(e,t),e.email=n=>e.check(Ir(ma,n)),e.url=n=>e.check(Zr(fa,n)),e.jwt=n=>e.check(Wr(Ea,n)),e.emoji=n=>e.check(Or(ga,n)),e.guid=n=>e.check(Yt(nn,n)),e.uuid=n=>e.check(xr(je,n)),e.uuidv4=n=>e.check(Er(je,n)),e.uuidv6=n=>e.check(Pr(je,n)),e.uuidv7=n=>e.check(Cr(je,n)),e.nanoid=n=>e.check(Nr(_a,n)),e.guid=n=>e.check(Yt(nn,n)),e.cuid=n=>e.check(qr(va,n)),e.cuid2=n=>e.check(Ar(ba,n)),e.ulid=n=>e.check(Mr(ya,n)),e.base64=n=>e.check(Jr(Ra,n)),e.base64url=n=>e.check(Vr(Ia,n)),e.xid=n=>e.check(jr(wa,n)),e.ksuid=n=>e.check(Dr(ka,n)),e.ipv4=n=>e.check(Lr(Sa,n)),e.ipv6=n=>e.check(Hr($a,n)),e.cidrv4=n=>e.check(Ur(za,n)),e.cidrv6=n=>e.check(Fr(Ta,n)),e.e164=n=>e.check(Br(xa,n)),e.datetime=n=>e.check(Ln(n)),e.date=n=>e.check(Ki(n)),e.time=n=>e.check(Qi(n)),e.duration=n=>e.check(Xi(n))});function d(e){return Rr(ha,e)}const N=h("ZodStringFormat",(e,t)=>{Z.init(e,t),Hn.init(e,t)}),ma=h("ZodEmail",(e,t)=>{Cs.init(e,t),N.init(e,t)}),nn=h("ZodGUID",(e,t)=>{Es.init(e,t),N.init(e,t)}),je=h("ZodUUID",(e,t)=>{Ps.init(e,t),N.init(e,t)}),fa=h("ZodURL",(e,t)=>{Zs.init(e,t),N.init(e,t)}),ga=h("ZodEmoji",(e,t)=>{Os.init(e,t),N.init(e,t)}),_a=h("ZodNanoID",(e,t)=>{Ns.init(e,t),N.init(e,t)}),va=h("ZodCUID",(e,t)=>{qs.init(e,t),N.init(e,t)}),ba=h("ZodCUID2",(e,t)=>{As.init(e,t),N.init(e,t)}),ya=h("ZodULID",(e,t)=>{Ms.init(e,t),N.init(e,t)}),wa=h("ZodXID",(e,t)=>{js.init(e,t),N.init(e,t)}),ka=h("ZodKSUID",(e,t)=>{Ds.init(e,t),N.init(e,t)}),Sa=h("ZodIPv4",(e,t)=>{Js.init(e,t),N.init(e,t)}),$a=h("ZodIPv6",(e,t)=>{Vs.init(e,t),N.init(e,t)}),za=h("ZodCIDRv4",(e,t)=>{Bs.init(e,t),N.init(e,t)}),Ta=h("ZodCIDRv6",(e,t)=>{Ws.init(e,t),N.init(e,t)}),Ra=h("ZodBase64",(e,t)=>{Ks.init(e,t),N.init(e,t)}),Ia=h("ZodBase64URL",(e,t)=>{Qs.init(e,t),N.init(e,t)}),xa=h("ZodE164",(e,t)=>{Ys.init(e,t),N.init(e,t)}),Ea=h("ZodJWT",(e,t)=>{er.init(e,t),N.init(e,t)}),Un=h("ZodNumber",(e,t)=>{En.init(e,t),C.init(e,t),e._zod.processJSONSchema=(o,s,r)=>zi(e,o,s),e.gt=(o,s)=>e.check(en(o,s)),e.gte=(o,s)=>e.check(ot(o,s)),e.min=(o,s)=>e.check(ot(o,s)),e.lt=(o,s)=>e.check(Xt(o,s)),e.lte=(o,s)=>e.check(nt(o,s)),e.max=(o,s)=>e.check(nt(o,s)),e.int=o=>e.check(on(o)),e.safe=o=>e.check(on(o)),e.positive=o=>e.check(en(0,o)),e.nonnegative=o=>e.check(ot(0,o)),e.negative=o=>e.check(Xt(0,o)),e.nonpositive=o=>e.check(nt(0,o)),e.multipleOf=(o,s)=>e.check(tn(o,s)),e.step=(o,s)=>e.check(tn(o,s)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function w(e){return Xr(Un,e)}const Pa=h("ZodNumberFormat",(e,t)=>{tr.init(e,t),Un.init(e,t)});function on(e){return ei(Pa,e)}const Ca=h("ZodBoolean",(e,t)=>{nr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ti(e,n,o)});function x(e){return ti(Ca,e)}const Za=h("ZodUndefined",(e,t)=>{or.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ii(e,n)});function it(e){return ni(Za,e)}const Oa=h("ZodNull",(e,t)=>{sr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ri(e,n,o)});function Na(e){return oi(Oa,e)}const qa=h("ZodUnknown",(e,t)=>{rr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ei()});function I(){return si(qa)}const Aa=h("ZodNever",(e,t)=>{ir.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>xi(e,n,o)});function Ma(e){return ri(Aa,e)}const ja=h("ZodArray",(e,t)=>{ar.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ni(e,n,o,s),e.element=t.element,e.min=(n,o)=>e.check(He(n,o)),e.nonempty=n=>e.check(He(1,n)),e.max=(n,o)=>e.check(Nn(n,o)),e.length=(n,o)=>e.check(qn(n,o)),e.unwrap=()=>e.element});function b(e,t){return _i(ja,e,t)}const Fn=h("ZodObject",(e,t)=>{lr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>qi(e,n,o,s),z(e,"shape",()=>t.shape),e.keyof=()=>K(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:I()}),e.loose=()=>e.clone({...e._zod.def,catchall:I()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ma()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>Ro(e,n),e.safeExtend=n=>Io(e,n),e.merge=n=>xo(e,n),e.pick=n=>zo(e,n),e.omit=n=>To(e,n),e.partial=(...n)=>Eo(Wn,e,n[0]),e.required=(...n)=>Po(Kn,e,n[0])});function p(e,t){const n={type:"object",shape:e??{},...v(t)};return new Fn(n)}function V(e,t){return new Fn({type:"object",shape:e,catchall:I(),...v(t)})}const Jn=h("ZodUnion",(e,t)=>{Zn.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ai(e,n,o,s),e.options=t.options});function S(e,t){return new Jn({type:"union",options:e,...v(t)})}const Da=h("ZodDiscriminatedUnion",(e,t)=>{Jn.init(e,t),ur.init(e,t)});function Vn(e,t,n){return new Da({type:"union",options:t,discriminator:e,...v(n)})}const La=h("ZodIntersection",(e,t)=>{dr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Mi(e,n,o,s)});function gt(e,t){return new La({type:"intersection",left:e,right:t})}const Ha=h("ZodRecord",(e,t)=>{pr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>ji(e,n,o,s),e.keyType=t.keyType,e.valueType=t.valueType});function T(e,t,n){return new Ha({type:"record",keyType:e,valueType:t,...v(n)})}const at=h("ZodEnum",(e,t)=>{hr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(o,s,r)=>Pi(e,o,s),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(o,s)=>{const r={};for(const i of o)if(n.has(i))r[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new at({...t,checks:[],...v(s),entries:r})},e.exclude=(o,s)=>{const r={...t.entries};for(const i of o)if(n.has(i))delete r[i];else throw new Error(`Key ${i} not found in enum`);return new at({...t,checks:[],...v(s),entries:r})}});function K(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new at({type:"enum",entries:n,...v(t)})}const Ua=h("ZodLiteral",(e,t)=>{mr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ci(e,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function l(e,t){return new Ua({type:"literal",values:Array.isArray(e)?e:[e],...v(t)})}const Fa=h("ZodTransform",(e,t)=>{fr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Oi(e,n),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new hn(e.constructor.name);n.addIssue=r=>{if(typeof r=="string")n.issues.push(ze(r,n.value,t));else{const i=r;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(ze(i))}};const s=t.transform(n.value,n);return s instanceof Promise?s.then(r=>(n.value=r,n)):(n.value=s,n)}});function Bn(e){return new Fa({type:"transform",transform:e})}const Wn=h("ZodOptional",(e,t)=>{On.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Dn(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function O(e){return new Wn({type:"optional",innerType:e})}const Ja=h("ZodExactOptional",(e,t)=>{gr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Dn(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function Va(e){return new Ja({type:"optional",innerType:e})}const Ba=h("ZodNullable",(e,t)=>{_r.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Di(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function sn(e){return new Ba({type:"nullable",innerType:e})}const Wa=h("ZodDefault",(e,t)=>{vr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Hi(e,n,o,s),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ka(e,t){return new Wa({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():_n(t)}})}const Ga=h("ZodPrefault",(e,t)=>{br.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ui(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function Qa(e,t){return new Ga({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():_n(t)}})}const Kn=h("ZodNonOptional",(e,t)=>{yr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Li(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function Ya(e,t){return new Kn({type:"nonoptional",innerType:e,...v(t)})}const Xa=h("ZodCatch",(e,t)=>{wr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Fi(e,n,o,s),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ec(e,t){return new Xa({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const tc=h("ZodPipe",(e,t)=>{kr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ji(e,n,o,s),e.in=t.in,e.out=t.out});function ct(e,t){return new tc({type:"pipe",in:e,out:t})}const nc=h("ZodReadonly",(e,t)=>{Sr.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Vi(e,n,o,s),e.unwrap=()=>e._zod.def.innerType});function oc(e){return new nc({type:"readonly",innerType:e})}const Gn=h("ZodCustom",(e,t)=>{$r.init(e,t),C.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Zi(e,n)});function sc(e,t){return vi(Gn,e??(()=>!0),t)}function rc(e,t={}){return bi(Gn,e,t)}function ic(e){return yi(e)}function Qn(e,t){return ct(Bn(e),t)}const ce="io.modelcontextprotocol/related-task",Qe="2.0",D=sc(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Yn=S([d(),w().int()]),Xn=d();V({ttl:w().optional(),pollInterval:w().optional()});const ac=p({ttl:w().optional()}),cc=p({taskId:d()}),_t=V({progressToken:Yn.optional(),[ce]:cc.optional()}),G=p({_meta:_t.optional()}),Ie=G.extend({task:ac.optional()}),lc=e=>Ie.safeParse(e).success,H=p({method:d(),params:G.loose().optional()}),X=p({_meta:_t.optional()}),ee=p({method:d(),params:X.loose().optional()}),U=V({_meta:_t.optional()}),xe=S([d(),w().int()]),eo=p({jsonrpc:l(Qe),id:xe,...H.shape}).strict(),rn=e=>eo.safeParse(e).success,to=p({jsonrpc:l(Qe),...ee.shape}).strict(),uc=e=>to.safeParse(e).success,vt=p({jsonrpc:l(Qe),id:xe,result:U}).strict(),De=e=>vt.safeParse(e).success;var R;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(R||(R={}));const bt=p({jsonrpc:l(Qe),id:xe.optional(),error:p({code:w().int(),message:d(),data:I().optional()})}).strict(),dc=e=>bt.safeParse(e).success,pc=S([eo,to,vt,bt]);S([vt,bt]);const yt=U.strict(),hc=X.extend({requestId:xe.optional(),reason:d().optional()}),wt=ee.extend({method:l("notifications/cancelled"),params:hc}),mc=p({src:d(),mimeType:d().optional(),sizes:b(d()).optional(),theme:K(["light","dark"]).optional()}),Ee=p({icons:b(mc).optional()}),ve=p({name:d(),title:d().optional()}),Ye=ve.extend({...ve.shape,...Ee.shape,version:d(),websiteUrl:d().optional(),description:d().optional()}),fc=gt(p({applyDefaults:x().optional()}),T(d(),I())),gc=Qn(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,gt(p({form:fc.optional(),url:D.optional()}),T(d(),I()).optional())),_c=V({list:D.optional(),cancel:D.optional(),requests:V({sampling:V({createMessage:D.optional()}).optional(),elicitation:V({create:D.optional()}).optional()}).optional()}),vc=V({list:D.optional(),cancel:D.optional(),requests:V({tools:V({call:D.optional()}).optional()}).optional()}),bc=p({experimental:T(d(),D).optional(),sampling:p({context:D.optional(),tools:D.optional()}).optional(),elicitation:gc.optional(),roots:p({listChanged:x().optional()}).optional(),tasks:_c.optional(),extensions:T(d(),D).optional()}),yc=G.extend({protocolVersion:d(),capabilities:bc,clientInfo:Ye}),wc=H.extend({method:l("initialize"),params:yc}),kc=p({experimental:T(d(),D).optional(),logging:D.optional(),completions:D.optional(),prompts:p({listChanged:x().optional()}).optional(),resources:p({subscribe:x().optional(),listChanged:x().optional()}).optional(),tools:p({listChanged:x().optional()}).optional(),tasks:vc.optional(),extensions:T(d(),D).optional()}),Sc=U.extend({protocolVersion:d(),capabilities:kc,serverInfo:Ye,instructions:d().optional()}),$c=ee.extend({method:l("notifications/initialized"),params:X.optional()}),Xe=H.extend({method:l("ping"),params:G.optional()}),zc=p({progress:w(),total:O(w()),message:O(d())}),Tc=p({...X.shape,...zc.shape,progressToken:Yn}),kt=ee.extend({method:l("notifications/progress"),params:Tc}),Rc=G.extend({cursor:Xn.optional()}),Pe=H.extend({params:Rc.optional()}),Ce=U.extend({nextCursor:Xn.optional()}),Ic=K(["working","input_required","completed","failed","cancelled"]),Ze=p({taskId:d(),status:Ic,ttl:S([w(),Na()]),createdAt:d(),lastUpdatedAt:d(),pollInterval:O(w()),statusMessage:O(d())}),St=U.extend({task:Ze}),xc=X.merge(Ze),Fe=ee.extend({method:l("notifications/tasks/status"),params:xc}),$t=H.extend({method:l("tasks/get"),params:G.extend({taskId:d()})}),zt=U.merge(Ze),Tt=H.extend({method:l("tasks/result"),params:G.extend({taskId:d()})});U.loose();const Rt=Pe.extend({method:l("tasks/list")}),It=Ce.extend({tasks:b(Ze)}),xt=H.extend({method:l("tasks/cancel"),params:G.extend({taskId:d()})}),Ec=U.merge(Ze),no=p({uri:d(),mimeType:O(d()),_meta:T(d(),I()).optional()}),oo=no.extend({text:d()}),Et=d().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),so=no.extend({blob:Et}),Oe=K(["user","assistant"]),ye=p({audience:b(Oe).optional(),priority:w().min(0).max(1).optional(),lastModified:Ln({offset:!0}).optional()}),ro=p({...ve.shape,...Ee.shape,uri:d(),description:O(d()),mimeType:O(d()),size:O(w()),annotations:ye.optional(),_meta:O(V({}))}),Pc=p({...ve.shape,...Ee.shape,uriTemplate:d(),description:O(d()),mimeType:O(d()),annotations:ye.optional(),_meta:O(V({}))}),Cc=Pe.extend({method:l("resources/list")}),io=Ce.extend({resources:b(ro)}),Zc=Pe.extend({method:l("resources/templates/list")}),Oc=Ce.extend({resourceTemplates:b(Pc)}),Pt=G.extend({uri:d()}),Nc=Pt,qc=H.extend({method:l("resources/read"),params:Nc}),ao=U.extend({contents:b(S([oo,so]))}),Ac=ee.extend({method:l("notifications/resources/list_changed"),params:X.optional()}),Mc=Pt,jc=H.extend({method:l("resources/subscribe"),params:Mc}),Dc=Pt,Lc=H.extend({method:l("resources/unsubscribe"),params:Dc}),Hc=X.extend({uri:d()}),Uc=ee.extend({method:l("notifications/resources/updated"),params:Hc}),Fc=p({name:d(),description:O(d()),required:O(x())}),Jc=p({...ve.shape,...Ee.shape,description:O(d()),arguments:O(b(Fc)),_meta:O(V({}))}),Vc=Pe.extend({method:l("prompts/list")}),Bc=Ce.extend({prompts:b(Jc)}),Wc=G.extend({name:d(),arguments:T(d(),d()).optional()}),Kc=H.extend({method:l("prompts/get"),params:Wc}),Ct=p({type:l("text"),text:d(),annotations:ye.optional(),_meta:T(d(),I()).optional()}),Zt=p({type:l("image"),data:Et,mimeType:d(),annotations:ye.optional(),_meta:T(d(),I()).optional()}),Ot=p({type:l("audio"),data:Et,mimeType:d(),annotations:ye.optional(),_meta:T(d(),I()).optional()}),Gc=p({type:l("tool_use"),name:d(),id:d(),input:T(d(),I()),_meta:T(d(),I()).optional()}),co=p({type:l("resource"),resource:S([oo,so]),annotations:ye.optional(),_meta:T(d(),I()).optional()}),lo=ro.extend({type:l("resource_link")}),Ne=S([Ct,Zt,Ot,lo,co]),Qc=p({role:Oe,content:Ne}),Yc=U.extend({description:d().optional(),messages:b(Qc)}),Xc=ee.extend({method:l("notifications/prompts/list_changed"),params:X.optional()}),el=p({title:d().optional(),readOnlyHint:x().optional(),destructiveHint:x().optional(),idempotentHint:x().optional(),openWorldHint:x().optional()}),tl=p({taskSupport:K(["required","optional","forbidden"]).optional()}),Nt=p({...ve.shape,...Ee.shape,description:d().optional(),inputSchema:p({type:l("object"),properties:T(d(),D).optional(),required:b(d()).optional()}).catchall(I()),outputSchema:p({type:l("object"),properties:T(d(),D).optional(),required:b(d()).optional()}).catchall(I()).optional(),annotations:el.optional(),execution:tl.optional(),_meta:T(d(),I()).optional()}),uo=Pe.extend({method:l("tools/list")}),nl=Ce.extend({tools:b(Nt)}),et=U.extend({content:b(Ne).default([]),structuredContent:T(d(),I()).optional(),isError:x().optional()});et.or(U.extend({toolResult:I()}));const ol=Ie.extend({name:d(),arguments:T(d(),I()).optional()}),po=H.extend({method:l("tools/call"),params:ol}),sl=ee.extend({method:l("notifications/tools/list_changed"),params:X.optional()});p({autoRefresh:x().default(!0),debounceMs:w().int().nonnegative().default(300)});const ho=K(["debug","info","notice","warning","error","critical","alert","emergency"]),rl=G.extend({level:ho}),il=H.extend({method:l("logging/setLevel"),params:rl}),al=X.extend({level:ho,logger:d().optional(),data:I()}),cl=ee.extend({method:l("notifications/message"),params:al}),ll=p({name:d().optional()}),ul=p({hints:b(ll).optional(),costPriority:w().min(0).max(1).optional(),speedPriority:w().min(0).max(1).optional(),intelligencePriority:w().min(0).max(1).optional()}),dl=p({mode:K(["auto","required","none"]).optional()}),pl=p({type:l("tool_result"),toolUseId:d().describe("The unique identifier for the corresponding tool call."),content:b(Ne).default([]),structuredContent:p({}).loose().optional(),isError:x().optional(),_meta:T(d(),I()).optional()}),hl=Vn("type",[Ct,Zt,Ot]),Je=Vn("type",[Ct,Zt,Ot,Gc,pl]),ml=p({role:Oe,content:S([Je,b(Je)]),_meta:T(d(),I()).optional()}),fl=Ie.extend({messages:b(ml),modelPreferences:ul.optional(),systemPrompt:d().optional(),includeContext:K(["none","thisServer","allServers"]).optional(),temperature:w().optional(),maxTokens:w().int(),stopSequences:b(d()).optional(),metadata:D.optional(),tools:b(Nt).optional(),toolChoice:dl.optional()}),gl=H.extend({method:l("sampling/createMessage"),params:fl}),_l=U.extend({model:d(),stopReason:O(K(["endTurn","stopSequence","maxTokens"]).or(d())),role:Oe,content:hl}),vl=U.extend({model:d(),stopReason:O(K(["endTurn","stopSequence","maxTokens","toolUse"]).or(d())),role:Oe,content:S([Je,b(Je)])}),bl=p({type:l("boolean"),title:d().optional(),description:d().optional(),default:x().optional()}),yl=p({type:l("string"),title:d().optional(),description:d().optional(),minLength:w().optional(),maxLength:w().optional(),format:K(["email","uri","date","date-time"]).optional(),default:d().optional()}),wl=p({type:K(["number","integer"]),title:d().optional(),description:d().optional(),minimum:w().optional(),maximum:w().optional(),default:w().optional()}),kl=p({type:l("string"),title:d().optional(),description:d().optional(),enum:b(d()),default:d().optional()}),Sl=p({type:l("string"),title:d().optional(),description:d().optional(),oneOf:b(p({const:d(),title:d()})),default:d().optional()}),$l=p({type:l("string"),title:d().optional(),description:d().optional(),enum:b(d()),enumNames:b(d()).optional(),default:d().optional()}),zl=S([kl,Sl]),Tl=p({type:l("array"),title:d().optional(),description:d().optional(),minItems:w().optional(),maxItems:w().optional(),items:p({type:l("string"),enum:b(d())}),default:b(d()).optional()}),Rl=p({type:l("array"),title:d().optional(),description:d().optional(),minItems:w().optional(),maxItems:w().optional(),items:p({anyOf:b(p({const:d(),title:d()}))}),default:b(d()).optional()}),Il=S([Tl,Rl]),xl=S([$l,zl,Il]),El=S([xl,bl,yl,wl]),Pl=Ie.extend({mode:l("form").optional(),message:d(),requestedSchema:p({type:l("object"),properties:T(d(),El),required:b(d()).optional()})}),Cl=Ie.extend({mode:l("url"),message:d(),elicitationId:d(),url:d().url()}),Zl=S([Pl,Cl]),Ol=H.extend({method:l("elicitation/create"),params:Zl}),Nl=X.extend({elicitationId:d()}),ql=ee.extend({method:l("notifications/elicitation/complete"),params:Nl}),Al=U.extend({action:K(["accept","decline","cancel"]),content:Qn(e=>e===null?void 0:e,T(d(),S([d(),w(),x(),b(d())])).optional())}),Ml=p({type:l("ref/resource"),uri:d()}),jl=p({type:l("ref/prompt"),name:d()}),Dl=G.extend({ref:S([jl,Ml]),argument:p({name:d(),value:d()}),context:p({arguments:T(d(),d()).optional()}).optional()}),Ll=H.extend({method:l("completion/complete"),params:Dl}),Hl=U.extend({completion:V({values:b(d()).max(100),total:O(w().int()),hasMore:O(x())})}),Ul=p({uri:d().startsWith("file://"),name:d().optional(),_meta:T(d(),I()).optional()}),Fl=H.extend({method:l("roots/list"),params:G.optional()}),Jl=U.extend({roots:b(Ul)}),Vl=ee.extend({method:l("notifications/roots/list_changed"),params:X.optional()});S([Xe,wc,Ll,il,Kc,Vc,Cc,Zc,qc,jc,Lc,po,uo,$t,Tt,Rt,xt]);S([wt,kt,$c,Vl,Fe]);S([yt,_l,vl,Al,Jl,zt,It,St]);S([Xe,gl,Ol,Fl,$t,Tt,Rt,xt]);S([wt,kt,cl,Uc,Ac,sl,Xc,Fe,ql]);S([yt,Sc,Hl,Yc,Bc,io,Oc,ao,et,nl,zt,It,St]);class $ extends Error{constructor(t,n,o){super(`MCP error ${t}: ${n}`),this.code=t,this.data=o,this.name="McpError"}static fromError(t,n,o){if(t===R.UrlElicitationRequired&&o){const s=o;if(s.elicitations)return new Bl(s.elicitations,n)}return new $(t,n,o)}}class Bl extends ${constructor(t,n=`URL elicitation${t.length>1?"s":""} required`){super(R.UrlElicitationRequired,n,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}}function qt(e){return!!e._zod}function mo(e,t){return qt(e)?wn(e,t):e.safeParse(t)}function Wl(e){if(!e)return;let t;if(qt(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Kl(e){if(qt(e)){const r=e._zod?.def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}}const n=e._def;if(n){if(n.value!==void 0)return n.value;if(Array.isArray(n.values)&&n.values.length>0)return n.values[0]}const o=e.value;if(o!==void 0)return o}function ae(e){return e==="completed"||e==="failed"||e==="cancelled"}new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function an(e){const n=Wl(e)?.method;if(!n)throw new Error("Schema is missing a method literal");const o=Kl(n);if(typeof o!="string")throw new Error("Schema method literal must be a string");return o}function cn(e,t){const n=mo(e,t);if(!n.success)throw n.error;return n.data}const Gl=6e4;class Ql{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(wt,n=>{this._oncancel(n)}),this.setNotificationHandler(kt,n=>{this._onprogress(n)}),this.setRequestHandler(Xe,n=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler($t,async(n,o)=>{const s=await this._taskStore.getTask(n.params.taskId,o.sessionId);if(!s)throw new $(R.InvalidParams,"Failed to retrieve task: Task not found");return{...s}}),this.setRequestHandler(Tt,async(n,o)=>{const s=async()=>{const r=n.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(r,o.sessionId);){if(a.type==="response"||a.type==="error"){const c=a.message,u=c.id,m=this._requestResolvers.get(u);if(m)if(this._requestResolvers.delete(u),a.type==="response")m(c);else{const f=c,g=new $(f.error.code,f.error.message,f.error.data);m(g)}else{const f=a.type==="response"?"Response":"Error";this._onerror(new Error(`${f} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:o.requestId})}}const i=await this._taskStore.getTask(r,o.sessionId);if(!i)throw new $(R.InvalidParams,`Task not found: ${r}`);if(!ae(i.status))return await this._waitForTaskUpdate(r,o.signal),await s();if(ae(i.status)){const a=await this._taskStore.getTaskResult(r,o.sessionId);return this._clearTaskQueue(r),{...a,_meta:{...a._meta,[ce]:{taskId:r}}}}return await s()};return await s()}),this.setRequestHandler(Rt,async(n,o)=>{try{const{tasks:s,nextCursor:r}=await this._taskStore.listTasks(n.params?.cursor,o.sessionId);return{tasks:s,nextCursor:r,_meta:{}}}catch(s){throw new $(R.InvalidParams,`Failed to list tasks: ${s instanceof Error?s.message:String(s)}`)}}),this.setRequestHandler(xt,async(n,o)=>{try{const s=await this._taskStore.getTask(n.params.taskId,o.sessionId);if(!s)throw new $(R.InvalidParams,`Task not found: ${n.params.taskId}`);if(ae(s.status))throw new $(R.InvalidParams,`Cannot cancel task in terminal status: ${s.status}`);await this._taskStore.updateTaskStatus(n.params.taskId,"cancelled","Client cancelled task execution.",o.sessionId),this._clearTaskQueue(n.params.taskId);const r=await this._taskStore.getTask(n.params.taskId,o.sessionId);if(!r)throw new $(R.InvalidParams,`Task not found after cancellation: ${n.params.taskId}`);return{_meta:{},...r}}catch(s){throw s instanceof $?s:new $(R.InvalidRequest,`Failed to cancel task: ${s instanceof Error?s.message:String(s)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,n,o,s,r=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(s,n),startTime:Date.now(),timeout:n,maxTotalTimeout:o,resetTimeoutOnProgress:r,onTimeout:s})}_resetTimeout(t){const n=this._timeoutInfo.get(t);if(!n)return!1;const o=Date.now()-n.startTime;if(n.maxTotalTimeout&&o>=n.maxTotalTimeout)throw this._timeoutInfo.delete(t),$.fromError(R.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:n.maxTotalTimeout,totalElapsed:o});return clearTimeout(n.timeoutId),n.timeoutId=setTimeout(n.onTimeout,n.timeout),!0}_cleanupTimeout(t){const n=this._timeoutInfo.get(t);n&&(clearTimeout(n.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;const n=this.transport?.onclose;this._transport.onclose=()=>{n?.(),this._onclose()};const o=this.transport?.onerror;this._transport.onerror=r=>{o?.(r),this._onerror(r)};const s=this._transport?.onmessage;this._transport.onmessage=(r,i)=>{s?.(r,i),De(r)||dc(r)?this._onresponse(r):rn(r)?this._onrequest(r,i):uc(r)?this._onnotification(r):this._onerror(new Error(`Unknown message type: ${JSON.stringify(r)}`))},await this._transport.start()}_onclose(){const t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const o of this._timeoutInfo.values())clearTimeout(o.timeoutId);this._timeoutInfo.clear();for(const o of this._requestHandlerAbortControllers.values())o.abort();this._requestHandlerAbortControllers.clear();const n=$.fromError(R.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(const o of t.values())o(n)}_onerror(t){this.onerror?.(t)}_onnotification(t){const n=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;n!==void 0&&Promise.resolve().then(()=>n(t)).catch(o=>this._onerror(new Error(`Uncaught error in notification handler: ${o}`)))}_onrequest(t,n){const o=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,s=this._transport,r=t.params?._meta?.[ce]?.taskId;if(o===void 0){const m={jsonrpc:"2.0",id:t.id,error:{code:R.MethodNotFound,message:"Method not found"}};r&&this._taskMessageQueue?this._enqueueTaskMessage(r,{type:"error",message:m,timestamp:Date.now()},s?.sessionId).catch(f=>this._onerror(new Error(`Failed to enqueue error response: ${f}`))):s?.send(m).catch(f=>this._onerror(new Error(`Failed to send an error response: ${f}`)));return}const i=new AbortController;this._requestHandlerAbortControllers.set(t.id,i);const a=lc(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,s?.sessionId):void 0,u={signal:i.signal,sessionId:s?.sessionId,_meta:t.params?._meta,sendNotification:async m=>{if(i.signal.aborted)return;const f={relatedRequestId:t.id};r&&(f.relatedTask={taskId:r}),await this.notification(m,f)},sendRequest:async(m,f,g)=>{if(i.signal.aborted)throw new $(R.ConnectionClosed,"Request was cancelled");const _={...g,relatedRequestId:t.id};r&&!_.relatedTask&&(_.relatedTask={taskId:r});const E=_.relatedTask?.taskId??r;return E&&c&&await c.updateTaskStatus(E,"input_required"),await this.request(m,f,_)},authInfo:n?.authInfo,requestId:t.id,requestInfo:n?.requestInfo,taskId:r,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:n?.closeSSEStream,closeStandaloneSSEStream:n?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>o(t,u)).then(async m=>{if(i.signal.aborted)return;const f={result:m,jsonrpc:"2.0",id:t.id};r&&this._taskMessageQueue?await this._enqueueTaskMessage(r,{type:"response",message:f,timestamp:Date.now()},s?.sessionId):await s?.send(f)},async m=>{if(i.signal.aborted)return;const f={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(m.code)?m.code:R.InternalError,message:m.message??"Internal error",...m.data!==void 0&&{data:m.data}}};r&&this._taskMessageQueue?await this._enqueueTaskMessage(r,{type:"error",message:f,timestamp:Date.now()},s?.sessionId):await s?.send(f)}).catch(m=>this._onerror(new Error(`Failed to send response: ${m}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===i&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){const{progressToken:n,...o}=t.params,s=Number(n),r=this._progressHandlers.get(s);if(!r){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}const i=this._responseHandlers.get(s),a=this._timeoutInfo.get(s);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(s)}catch(c){this._responseHandlers.delete(s),this._progressHandlers.delete(s),this._cleanupTimeout(s),i(c);return}r(o)}_onresponse(t){const n=Number(t.id),o=this._requestResolvers.get(n);if(o){if(this._requestResolvers.delete(n),De(t))o(t);else{const i=new $(t.error.code,t.error.message,t.error.data);o(i)}return}const s=this._responseHandlers.get(n);if(s===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(n),this._cleanupTimeout(n);let r=!1;if(De(t)&&t.result&&typeof t.result=="object"){const i=t.result;if(i.task&&typeof i.task=="object"){const a=i.task;typeof a.taskId=="string"&&(r=!0,this._taskProgressTokens.set(a.taskId,n))}}if(r||this._progressHandlers.delete(n),De(t))s(t);else{const i=$.fromError(t.error.code,t.error.message,t.error.data);s(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,n,o){const{task:s}=o??{};if(!s){try{yield{type:"result",result:await this.request(t,n,o)}}catch(i){yield{type:"error",error:i instanceof $?i:new $(R.InternalError,String(i))}}return}let r;try{const i=await this.request(t,St,o);if(i.task)r=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new $(R.InternalError,"Task creation did not return a task");for(;;){const a=await this.getTask({taskId:r},o);if(yield{type:"taskStatus",task:a},ae(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:r},n,o)}:a.status==="failed"?yield{type:"error",error:new $(R.InternalError,`Task ${r} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new $(R.InternalError,`Task ${r} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:r},n,o)};return}const c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),o?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof $?i:new $(R.InternalError,String(i))}}}request(t,n,o){const{relatedRequestId:s,resumptionToken:r,onresumptiontoken:i,task:a,relatedTask:c}=o??{};return new Promise((u,m)=>{const f=L=>{m(L)};if(!this._transport){f(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(L){f(L);return}o?.signal?.throwIfAborted();const g=this._requestMessageId++,_={...t,jsonrpc:"2.0",id:g};o?.onprogress&&(this._progressHandlers.set(g,o.onprogress),_.params={...t.params,_meta:{...t.params?._meta||{},progressToken:g}}),a&&(_.params={..._.params,task:a}),c&&(_.params={..._.params,_meta:{..._.params?._meta||{},[ce]:c}});const E=L=>{this._responseHandlers.delete(g),this._progressHandlers.delete(g),this._cleanupTimeout(g),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:g,reason:String(L)}},{relatedRequestId:s,resumptionToken:r,onresumptiontoken:i}).catch(j=>this._onerror(new Error(`Failed to send cancellation: ${j}`)));const q=L instanceof $?L:new $(R.RequestTimeout,String(L));m(q)};this._responseHandlers.set(g,L=>{if(!o?.signal?.aborted){if(L instanceof Error)return m(L);try{const q=mo(n,L.result);q.success?u(q.data):m(q.error)}catch(q){m(q)}}}),o?.signal?.addEventListener("abort",()=>{E(o?.signal?.reason)});const A=o?.timeout??Gl,ue=()=>E($.fromError(R.RequestTimeout,"Request timed out",{timeout:A}));this._setupTimeout(g,A,o?.maxTotalTimeout,ue,o?.resetTimeoutOnProgress??!1);const qe=c?.taskId;if(qe){const L=q=>{const j=this._responseHandlers.get(g);j?j(q):this._onerror(new Error(`Response handler missing for side-channeled request ${g}`))};this._requestResolvers.set(g,L),this._enqueueTaskMessage(qe,{type:"request",message:_,timestamp:Date.now()}).catch(q=>{this._cleanupTimeout(g),m(q)})}else this._transport.send(_,{relatedRequestId:s,resumptionToken:r,onresumptiontoken:i}).catch(L=>{this._cleanupTimeout(g),m(L)})})}async getTask(t,n){return this.request({method:"tasks/get",params:t},zt,n)}async getTaskResult(t,n,o){return this.request({method:"tasks/result",params:t},n,o)}async listTasks(t,n){return this.request({method:"tasks/list",params:t},It,n)}async cancelTask(t,n){return this.request({method:"tasks/cancel",params:t},Ec,n)}async notification(t,n){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);const o=n?.relatedTask?.taskId;if(o){const a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[ce]:n.relatedTask}}};await this._enqueueTaskMessage(o,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!n?.relatedRequestId&&!n?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};n?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[ce]:n.relatedTask}}}),this._transport?.send(a,n).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};n?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[ce]:n.relatedTask}}}),await this._transport.send(i,n)}setRequestHandler(t,n){const o=an(t);this.assertRequestHandlerCapability(o),this._requestHandlers.set(o,(s,r)=>{const i=cn(t,s);return Promise.resolve(n(i,r))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,n){const o=an(t);this._notificationHandlers.set(o,s=>{const r=cn(t,s);return Promise.resolve(n(r))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){const n=this._taskProgressTokens.get(t);n!==void 0&&(this._progressHandlers.delete(n),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,n,o){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const s=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,n,o,s)}async _clearTaskQueue(t,n){if(this._taskMessageQueue){const o=await this._taskMessageQueue.dequeueAll(t,n);for(const s of o)if(s.type==="request"&&rn(s.message)){const r=s.message.id,i=this._requestResolvers.get(r);i?(i(new $(R.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(r)):this._onerror(new Error(`Resolver missing for request ${r} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,n){let o=this._options?.defaultTaskPollInterval??1e3;try{const s=await this._taskStore?.getTask(t);s?.pollInterval&&(o=s.pollInterval)}catch{}return new Promise((s,r)=>{if(n.aborted){r(new $(R.InvalidRequest,"Request cancelled"));return}const i=setTimeout(s,o);n.addEventListener("abort",()=>{clearTimeout(i),r(new $(R.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,n){const o=this._taskStore;if(!o)throw new Error("No task store configured");return{createTask:async s=>{if(!t)throw new Error("No request provided");return await o.createTask(s,t.id,{method:t.method,params:t.params},n)},getTask:async s=>{const r=await o.getTask(s,n);if(!r)throw new $(R.InvalidParams,"Failed to retrieve task: Task not found");return r},storeTaskResult:async(s,r,i)=>{await o.storeTaskResult(s,r,i,n);const a=await o.getTask(s,n);if(a){const c=Fe.parse({method:"notifications/tasks/status",params:a});await this.notification(c),ae(a.status)&&this._cleanupTaskProgressHandler(s)}},getTaskResult:s=>o.getTaskResult(s,n),updateTaskStatus:async(s,r,i)=>{const a=await o.getTask(s,n);if(!a)throw new $(R.InvalidParams,`Task "${s}" not found - it may have been cleaned up`);if(ae(a.status))throw new $(R.InvalidParams,`Cannot update task "${s}" from terminal status "${a.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await o.updateTaskStatus(s,r,i,n);const c=await o.getTask(s,n);if(c){const u=Fe.parse({method:"notifications/tasks/status",params:c});await this.notification(u),ae(c.status)&&this._cleanupTaskProgressHandler(s)}},listTasks:s=>o.listTasks(s,n)}}}class Yl extends Ql{_registeredMethods=new Set;_eventSlots=new Map;onEventDispatch(t,n){}_ensureEventSlot(t){let n=this._eventSlots.get(t);if(!n){let o=this.eventSchemas[t];if(!o)throw Error(`Unknown event: ${String(t)}`);n={listeners:[]},this._eventSlots.set(t,n);let s=o.shape.method.value;this._registeredMethods.add(s);let r=n;super.setNotificationHandler(o,i=>{let a=i.params;this.onEventDispatch(t,a),r.onHandler?.(a);for(let c of[...r.listeners])c(a)})}return n}setEventHandler(t,n){let o=this._ensureEventSlot(t);o.onHandler&&n&&console.warn(`[MCP Apps] on${String(t)} handler replaced. Use addEventListener("${String(t)}", …) to add multiple listeners without replacing.`),o.onHandler=n}getEventHandler(t){return this._eventSlots.get(t)?.onHandler}addEventListener(t,n){this._ensureEventSlot(t).listeners.push(n)}removeEventListener(t,n){let o=this._eventSlots.get(t);if(!o)return;let s=o.listeners.indexOf(n);s!==-1&&o.listeners.splice(s,1)}setRequestHandler=(t,n)=>{this._assertMethodNotRegistered(t,"setRequestHandler"),super.setRequestHandler(t,n)};setNotificationHandler=(t,n)=>{this._assertMethodNotRegistered(t,"setNotificationHandler"),super.setNotificationHandler(t,n)};warnIfRequestHandlerReplaced(t,n,o){n&&o&&console.warn(`[MCP Apps] ${t} handler replaced. Previous handler will no longer be called.`)}replaceRequestHandler=(t,n)=>{let o=t.shape.method.value;this._registeredMethods.add(o),super.setRequestHandler(t,n)};_assertMethodNotRegistered(t,n){let o=t.shape.method.value;if(this._registeredMethods.has(o))throw Error(`Handler for "${o}" already registered (via ${n}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._registeredMethods.add(o)}}var Xl="2026-01-26",eu="ui/notifications/tool-input-partial";class tu{eventTarget;eventSource;messageListener;constructor(t=window.parent,n){this.eventTarget=t,this.eventSource=n,this.messageListener=o=>{if(n&&o.source!==this.eventSource){console.debug("Ignoring message from unknown source",o);return}let s=pc.safeParse(o.data);s.success?(console.debug("Parsed message",s.data),this.onmessage?.(s.data)):o.data?.jsonrpc!=="2.0"?console.debug("Ignoring non-JSON-RPC message",s.error.message,o):(console.error("Failed to parse message",s.error.message,o),this.onerror?.(Error("Invalid JSON-RPC message received: "+s.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(t,n){t.method!==eu&&console.debug("Sending message",t),this.eventTarget.postMessage(t,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}var nu=S([l("light"),l("dark")]).describe("Color theme preference for the host environment."),Te=S([l("inline"),l("fullscreen"),l("pip")]).describe("Display mode for UI presentation."),ou=S([l("--color-background-primary"),l("--color-background-secondary"),l("--color-background-tertiary"),l("--color-background-inverse"),l("--color-background-ghost"),l("--color-background-info"),l("--color-background-danger"),l("--color-background-success"),l("--color-background-warning"),l("--color-background-disabled"),l("--color-text-primary"),l("--color-text-secondary"),l("--color-text-tertiary"),l("--color-text-inverse"),l("--color-text-ghost"),l("--color-text-info"),l("--color-text-danger"),l("--color-text-success"),l("--color-text-warning"),l("--color-text-disabled"),l("--color-border-primary"),l("--color-border-secondary"),l("--color-border-tertiary"),l("--color-border-inverse"),l("--color-border-ghost"),l("--color-border-info"),l("--color-border-danger"),l("--color-border-success"),l("--color-border-warning"),l("--color-border-disabled"),l("--color-ring-primary"),l("--color-ring-secondary"),l("--color-ring-inverse"),l("--color-ring-info"),l("--color-ring-danger"),l("--color-ring-success"),l("--color-ring-warning"),l("--font-sans"),l("--font-mono"),l("--font-weight-normal"),l("--font-weight-medium"),l("--font-weight-semibold"),l("--font-weight-bold"),l("--font-text-xs-size"),l("--font-text-sm-size"),l("--font-text-md-size"),l("--font-text-lg-size"),l("--font-heading-xs-size"),l("--font-heading-sm-size"),l("--font-heading-md-size"),l("--font-heading-lg-size"),l("--font-heading-xl-size"),l("--font-heading-2xl-size"),l("--font-heading-3xl-size"),l("--font-text-xs-line-height"),l("--font-text-sm-line-height"),l("--font-text-md-line-height"),l("--font-text-lg-line-height"),l("--font-heading-xs-line-height"),l("--font-heading-sm-line-height"),l("--font-heading-md-line-height"),l("--font-heading-lg-line-height"),l("--font-heading-xl-line-height"),l("--font-heading-2xl-line-height"),l("--font-heading-3xl-line-height"),l("--border-radius-xs"),l("--border-radius-sm"),l("--border-radius-md"),l("--border-radius-lg"),l("--border-radius-xl"),l("--border-radius-full"),l("--border-width-regular"),l("--shadow-hairline"),l("--shadow-sm"),l("--shadow-md"),l("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),su=T(ou.describe(`Style variables for theming MCP apps.
46
46
 
47
47
  Individual style keys are optional - hosts may provide any subset of these values.
48
48
  Values are strings containing CSS values (colors, sizes, font stacks, etc.).
@@ -60,10 +60,10 @@ Individual style keys are optional - hosts may provide any subset of these value
60
60
  Values are strings containing CSS values (colors, sizes, font stacks, etc.).
61
61
 
62
62
  Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
63
- for compatibility with Zod schema generation. Both are functionally equivalent for validation.`);p({method:u("ui/open-link"),params:p({url:d().describe("URL to open in the host's browser")})});var sl=p({isError:P().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough(),rl=p({isError:P().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough(),il=p({isError:P().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough();p({method:u("ui/notifications/sandbox-proxy-ready"),params:p({})});var qt=p({connectDomains:b(d()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket).
63
+ for compatibility with Zod schema generation. Both are functionally equivalent for validation.`);p({method:l("ui/open-link"),params:p({url:d().describe("URL to open in the host's browser")})});var ru=p({isError:x().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough(),iu=p({isError:x().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough(),au=p({isError:x().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough();p({method:l("ui/notifications/sandbox-proxy-ready"),params:p({})});var At=p({connectDomains:b(d()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket).
64
64
 
65
65
  - Maps to CSP \`connect-src\` directive
66
- - Empty or omitted → no network connections (secure default)`),resourceDomains:b(d()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:b(d()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:b(d()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),Mt=p({camera:p({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:p({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:p({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:p({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")});p({method:u("ui/notifications/size-changed"),params:p({width:w().optional().describe("New width in pixels."),height:w().optional().describe("New height in pixels.")})});var al=p({method:u("ui/notifications/tool-input"),params:p({arguments:R(d(),I().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})}),cl=p({method:u("ui/notifications/tool-input-partial"),params:p({arguments:R(d(),I().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})}),ul=p({method:u("ui/notifications/tool-cancelled"),params:p({reason:d().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})}),ll=p({fonts:d().optional()}),dl=p({variables:ol.optional().describe("CSS variables for theming the app."),css:ll.optional().describe("CSS blocks that apps can inject.")}),pl=p({method:u("ui/resource-teardown"),params:p({})});R(d(),I());var un=p({text:p({}).optional().describe("Host supports text content blocks."),image:p({}).optional().describe("Host supports image content blocks."),audio:p({}).optional().describe("Host supports audio content blocks."),resource:p({}).optional().describe("Host supports resource content blocks."),resourceLink:p({}).optional().describe("Host supports resource link content blocks."),structuredContent:p({}).optional().describe("Host supports structured content.")}),hl=p({experimental:p({}).optional().describe("Experimental features (structure TBD)."),openLinks:p({}).optional().describe("Host supports opening external URLs."),downloadFile:p({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:p({listChanged:P().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:p({listChanged:P().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:p({}).optional().describe("Host accepts log messages."),sandbox:p({permissions:Mt.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:qt.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:un.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:un.optional().describe("Host supports receiving content messages (ui/message) from the view.")}),ml=p({experimental:p({}).optional().describe("Experimental features (structure TBD)."),tools:p({listChanged:P().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:b(Te).optional().describe("Display modes the app supports.")});p({method:u("ui/notifications/initialized"),params:p({}).optional()});p({csp:qt.optional().describe("Content Security Policy configuration for UI resources."),permissions:Mt.optional().describe("Sandbox permissions requested by the UI resource."),domain:d().optional().describe(`Dedicated origin for view sandbox.
66
+ - Empty or omitted → no network connections (secure default)`),resourceDomains:b(d()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:b(d()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:b(d()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),Mt=p({camera:p({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:p({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:p({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:p({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")});p({method:l("ui/notifications/size-changed"),params:p({width:w().optional().describe("New width in pixels."),height:w().optional().describe("New height in pixels.")})});var cu=p({method:l("ui/notifications/tool-input"),params:p({arguments:T(d(),I().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})}),lu=p({method:l("ui/notifications/tool-input-partial"),params:p({arguments:T(d(),I().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})}),uu=p({method:l("ui/notifications/tool-cancelled"),params:p({reason:d().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})}),du=p({fonts:d().optional()}),pu=p({variables:su.optional().describe("CSS variables for theming the app."),css:du.optional().describe("CSS blocks that apps can inject.")}),hu=p({method:l("ui/resource-teardown"),params:p({})});T(d(),I());var ln=p({text:p({}).optional().describe("Host supports text content blocks."),image:p({}).optional().describe("Host supports image content blocks."),audio:p({}).optional().describe("Host supports audio content blocks."),resource:p({}).optional().describe("Host supports resource content blocks."),resourceLink:p({}).optional().describe("Host supports resource link content blocks."),structuredContent:p({}).optional().describe("Host supports structured content.")});p({method:l("ui/notifications/request-teardown"),params:p({}).optional()});var mu=p({experimental:p({}).optional().describe("Experimental features (structure TBD)."),openLinks:p({}).optional().describe("Host supports opening external URLs."),downloadFile:p({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:p({listChanged:x().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:p({listChanged:x().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:p({}).optional().describe("Host accepts log messages."),sandbox:p({permissions:Mt.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:At.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:ln.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:ln.optional().describe("Host supports receiving content messages (ui/message) from the view.")}),fu=p({experimental:p({}).optional().describe("Experimental features (structure TBD)."),tools:p({listChanged:x().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:b(Te).optional().describe("Display modes the app supports.")});p({method:l("ui/notifications/initialized"),params:p({}).optional()});p({csp:At.optional().describe("Content Security Policy configuration for UI resources."),permissions:Mt.optional().describe("Sandbox permissions requested by the UI resource."),domain:d().optional().describe(`Dedicated origin for view sandbox.
67
67
 
68
68
  Useful when views need stable, dedicated origins for OAuth callbacks, CORS policies, or API key allowlists.
69
69
 
@@ -71,24 +71,24 @@ Useful when views need stable, dedicated origins for OAuth callbacks, CORS polic
71
71
  - Hash-based subdomains (e.g., \`{hash}.claudemcpcontent.com\`)
72
72
  - URL-derived subdomains (e.g., \`www-example-com.oaiusercontent.com\`)
73
73
 
74
- If omitted, host uses default sandbox origin (typically per-conversation).`),prefersBorder:P().optional().describe(`Visual boundary preference - true if view prefers a visible border.
74
+ If omitted, host uses default sandbox origin (typically per-conversation).`),prefersBorder:x().optional().describe(`Visual boundary preference - true if view prefers a visible border.
75
75
 
76
76
  Boolean requesting whether a visible border and background is provided by the host. Specifying an explicit value for this is recommended because hosts' defaults may vary.
77
77
 
78
78
  - \`true\`: request visible border + background
79
79
  - \`false\`: request no visible border + background
80
- - omitted: host decides border`)});p({method:u("ui/request-display-mode"),params:p({mode:Te.describe("The display mode being requested.")})});var fl=p({mode:Te.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough(),gl=S([u("model"),u("app")]).describe("Tool visibility scope - who can access the tool.");p({resourceUri:d().optional(),visibility:b(gl).optional().describe(`Who can access this tool. Default: ["model", "app"]
80
+ - omitted: host decides border`)});p({method:l("ui/request-display-mode"),params:p({mode:Te.describe("The display mode being requested.")})});var gu=p({mode:Te.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough(),_u=S([l("model"),l("app")]).describe("Tool visibility scope - who can access the tool.");p({resourceUri:d().optional(),visibility:b(_u).optional().describe(`Who can access this tool. Default: ["model", "app"]
81
81
  - "model": Tool visible to and callable by the agent
82
- - "app": Tool callable by the app from this server only`)});p({mimeTypes:b(d()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});p({method:u("ui/download-file"),params:p({contents:b(S([lo,po])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})});p({method:u("ui/message"),params:p({role:u("user").describe('Message role, currently only "user" is supported.'),content:b(Ne).describe("Message content blocks (text, image, etc.).")})});p({method:u("ui/notifications/sandbox-resource-ready"),params:p({html:d().describe("HTML content to load into the inner iframe."),sandbox:d().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:qt.optional().describe("CSP configuration from resource metadata."),permissions:Mt.optional().describe("Sandbox permissions from resource metadata.")})});var _l=p({method:u("ui/notifications/tool-result"),params:et.describe("Standard MCP tool execution result.")}),go=p({toolInfo:p({id:Pe.optional().describe("JSON-RPC id of the tools/call request."),tool:At.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:tl.optional().describe("Current color theme preference."),styles:dl.optional().describe("Style configuration for theming the app."),displayMode:Te.optional().describe("How the UI is currently displayed."),availableDisplayModes:b(Te).optional().describe("Display modes the host supports."),containerDimensions:S([p({height:w().describe("Fixed container height in pixels.")}),p({maxHeight:S([w(),it()]).optional().describe("Maximum container height in pixels.")})]).and(S([p({width:w().describe("Fixed container width in pixels.")}),p({maxWidth:S([w(),it()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other
83
- container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:d().optional().describe("User's language and region preference in BCP 47 format."),timeZone:d().optional().describe("User's timezone in IANA format."),userAgent:d().optional().describe("Host application identifier."),platform:S([u("web"),u("desktop"),u("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:p({touch:P().optional().describe("Whether the device supports touch input."),hover:P().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:p({top:w().describe("Top safe area inset in pixels."),right:w().describe("Right safe area inset in pixels."),bottom:w().describe("Bottom safe area inset in pixels."),left:w().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough(),vl=p({method:u("ui/notifications/host-context-changed"),params:go.describe("Partial context update containing only changed fields.")});p({method:u("ui/update-model-context"),params:p({content:b(Ne).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:R(d(),I().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})});p({method:u("ui/initialize"),params:p({appInfo:Ye.describe("App identification (name and version)."),appCapabilities:ml.describe("Features and capabilities this app provides."),protocolVersion:d().describe("Protocol version this app supports.")})});var bl=p({protocolVersion:d().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:Ye.describe("Host application identification and version."),hostCapabilities:hl.describe("Features and capabilities provided by the host."),hostContext:go.describe("Rich context about the host environment.")}).passthrough();function yl(e){let t=document.documentElement;t.setAttribute("data-theme",e),t.style.colorScheme=e}function wl(e,t=document.documentElement){for(let[n,o]of Object.entries(e))o!==void 0&&t.style.setProperty(n,o)}class kl extends Qu{_appInfo;_capabilities;options;_hostCapabilities;_hostInfo;_hostContext;constructor(t,n={},o={autoResize:!0}){super(o),this._appInfo=t,this._capabilities=n,this.options=o,this.setRequestHandler(Xe,s=>(console.log("Received ping:",s.params),{})),this.onhostcontextchanged=()=>{}}getHostCapabilities(){return this._hostCapabilities}getHostVersion(){return this._hostInfo}getHostContext(){return this._hostContext}set ontoolinput(t){this.setNotificationHandler(al,n=>t(n.params))}set ontoolinputpartial(t){this.setNotificationHandler(cl,n=>t(n.params))}set ontoolresult(t){this.setNotificationHandler(_l,n=>t(n.params))}set ontoolcancelled(t){this.setNotificationHandler(ul,n=>t(n.params))}set onhostcontextchanged(t){this.setNotificationHandler(vl,n=>{this._hostContext={...this._hostContext,...n.params},t(n.params)})}set onteardown(t){this.setRequestHandler(pl,(n,o)=>t(n.params,o))}set oncalltool(t){this.setRequestHandler(mo,(n,o)=>t(n.params,o))}set onlisttools(t){this.setRequestHandler(ho,(n,o)=>t(n.params,o))}assertCapabilityForMethod(t){}assertRequestHandlerCapability(t){switch(t){case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Client does not support tool capability (required for ${t})`);return;case"ping":case"ui/resource-teardown":return;default:throw Error(`No handler for method ${t} registered`)}}assertNotificationCapability(t){}assertTaskCapability(t){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(t){throw Error("Task handlers are not supported in MCP Apps")}async callServerTool(t,n){if(typeof t=="string")throw Error(`callServerTool() expects an object as its first argument, but received a string ("${t}"). Did you mean: callServerTool({ name: "${t}", arguments: { ... } })?`);return await this.request({method:"tools/call",params:t},et,n)}async readServerResource(t,n){return await this.request({method:"resources/read",params:t},uo,n)}async listServerResources(t,n){return await this.request({method:"resources/list",params:t},co,n)}sendMessage(t,n){return this.request({method:"ui/message",params:t},il,n)}sendLog(t){return this.notification({method:"notifications/message",params:t})}updateModelContext(t,n){return this.request({method:"ui/update-model-context",params:t},wt,n)}openLink(t,n){return this.request({method:"ui/open-link",params:t},sl,n)}sendOpenLink=this.openLink;downloadFile(t,n){return this.request({method:"ui/download-file",params:t},rl,n)}requestDisplayMode(t,n){return this.request({method:"ui/request-display-mode",params:t},fl,n)}sendSizeChanged(t){return this.notification({method:"ui/notifications/size-changed",params:t})}setupSizeChangedNotifications(){let t=!1,n=0,o=0,s=()=>{t||(t=!0,requestAnimationFrame(()=>{t=!1;let r=document.documentElement,a=r.style.width,c=r.style.height;r.style.width="fit-content",r.style.height="max-content";let l=r.getBoundingClientRect();r.style.width=a,r.style.height=c;let m=window.innerWidth-r.clientWidth,f=Math.ceil(l.width+m),g=Math.ceil(l.height);(f!==n||g!==o)&&(n=f,o=g,this.sendSizeChanged({width:f,height:g}))}))};s();let i=new ResizeObserver(s);return i.observe(document.documentElement),i.observe(document.body),()=>i.disconnect()}async connect(t=new el(window.parent,window.parent),n){if(this.transport)throw Error("App is already connected. Call close() before connecting again.");await super.connect(t);try{let o=await this.request({method:"ui/initialize",params:{appCapabilities:this._capabilities,appInfo:this._appInfo,protocolVersion:Yu}},bl,n);if(o===void 0)throw Error(`Server sent invalid initialize result: ${o}`);this._hostCapabilities=o.hostCapabilities,this._hostInfo=o.hostInfo,this._hostContext=o.hostContext,await this.notification({method:"ui/notifications/initialized"}),this.options?.autoResize&&this.setupSizeChangedNotifications()}catch(o){throw this.close(),o}}}const k=e=>document.getElementById(e);function y(e){const t=document.createElement("span");return t.textContent=e,t.innerHTML}function tt(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}let Re=null,ut=null,Ve="all",ne=null;const Sl=["loading","error","dashboard","detail","person","people-map","report"];function Q(e){for(const t of Sl)k(t).style.display=t===e?"":"none";requestAnimationFrame(()=>{B.sendSizeChanged({height:document.documentElement.scrollHeight})})}function we(e){k("error-message").textContent=e,Q("error")}function $l(e){const t=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!t)return{frontmatter:{},body:e};const n=t[1],o=t[2],s={};let i=null,r=null;for(const a of n.split(`
84
- `)){const c=a.match(/^\s{2,4}- (\w+):\s*(.*)$/);if(c&&i!==null){r={[c[1]]:c[2].trim()},i.push(r);continue}const l=a.match(/^\s{4,}(\w+):\s*(.*)$/);if(l&&r!==null){r[l[1]]=l[2].trim();continue}const m=a.match(/^(\w[\w_]*):\s*\[(.+)\]$/);if(m){i=null,r=null,s[m[1]]=m[2].split(",").map(_=>_.trim().replace(/^["']|["']$/g,""));continue}const f=a.match(/^\s{2,4}-\s+(.+)$/);if(f&&i!==null){r=null,i.push(f[1].trim());continue}const g=a.match(/^(\w[\w_]*):\s*(.*)$/);if(g){r=null;const _=g[1],x=g[2].trim();x===""||x==="[]"?(i=[],s[_]=i):(i=null,s[_]=x.replace(/^["']|["']$/g,""));continue}}return{frontmatter:s,body:o}}function zl(e){let t=y(e);return t=t.replace(/^### (.+)$/gm,"<h3>$1</h3>"),t=t.replace(/^## (.+)$/gm,"<h2>$1</h2>"),t=t.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),t=t.replace(/\*(.+?)\*/g,"<em>$1</em>"),t=t.replace(/`([^`]+)`/g,"<code>$1</code>"),t=t.replace(/^&gt; (.+)$/gm,"<blockquote>$1</blockquote>"),t=t.replace(/^- (.+)$/gm,"<li>$1</li>"),t=t.replace(/(<li>[\s\S]*?<\/li>)/g,"<ul>$1</ul>"),t=t.replace(/<\/ul>\s*<ul>/g,""),t=t.replace(/^(?!<[hublop])((?!<).+)$/gm,"<p>$1</p>"),t=t.replace(/<p>\s*<\/p>/g,""),t}function J(e,t){e.innerHTML=t}const B=new kl({name:"Minutes Dashboard",version:"1.0.0"},{},{autoResize:!0});let fe=null;async function Tl(){try{const t=(await B.callServerTool({name:"get_status",arguments:{}})).content?.map(s=>"text"in s?s.text:"").join("")||"",n=t.includes("in progress")&&!t.includes("No recording"),o=k("recording-banner");n?(fe||(fe=Date.now()),o.style.display="flex",ln(),ne||(ne=setInterval(ln,1e3))):(o.style.display="none",fe=null,ne&&(clearInterval(ne),ne=null))}catch{k("recording-banner").style.display="none"}}function ln(){if(!fe)return;const e=Math.floor((Date.now()-fe)/1e3),t=Math.floor(e/60),n=e%60;k("rec-elapsed").textContent=`${t}:${String(n).padStart(2,"0")}`}document.addEventListener("click",async e=>{if(e.target.id==="rec-stop-btn"){const t=e.target;t.disabled=!0,t.textContent="Stopping...";try{await B.callServerTool({name:"stop_recording",arguments:{}}),k("recording-banner").style.display="none",fe=null,ne&&(clearInterval(ne),ne=null)}catch{t.disabled=!1,t.textContent="Stop"}}});function _o(){const e=k("filter-input").value.toLowerCase();document.querySelectorAll(".meeting-card").forEach(t=>{const n=t,o=n.querySelector(".meeting-title")?.textContent?.toLowerCase()||"",s=n.querySelector(".meeting-date")?.textContent?.toLowerCase()||"",i=n.querySelector(".badge")?.textContent?.toLowerCase()||"",r=!e||o.includes(e)||s.includes(e),a=Ve==="all"||i===Ve;n.style.display=r&&a?"":"none"})}k("filter-input").addEventListener("input",_o);document.querySelectorAll(".filter-btn").forEach(e=>{e.addEventListener("click",async()=>{const t=e.dataset.filter;if(t==="people"){document.querySelectorAll(".filter-btn").forEach(n=>n.classList.remove("active")),e.classList.add("active"),Q("loading"),k("loading-text").textContent="Loading people...";try{const n=await B.callServerTool({name:"relationship_map",arguments:{}});ke(n)}catch(n){we(n.message||"Failed to load people")}return}document.querySelectorAll(".filter-btn").forEach(n=>n.classList.remove("active")),e.classList.add("active"),Ve=t,_o()})});function Rl(){if(!ut)return;const{title:e,content:t}=ut,n=t.length>15e3?t.slice(0,15e3)+`
82
+ - "app": Tool callable by the app from this server only`)});p({mimeTypes:b(d()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});p({method:l("ui/download-file"),params:p({contents:b(S([co,lo])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})});p({method:l("ui/message"),params:p({role:l("user").describe('Message role, currently only "user" is supported.'),content:b(Ne).describe("Message content blocks (text, image, etc.).")})});p({method:l("ui/notifications/sandbox-resource-ready"),params:p({html:d().describe("HTML content to load into the inner iframe."),sandbox:d().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:At.optional().describe("CSP configuration from resource metadata."),permissions:Mt.optional().describe("Sandbox permissions from resource metadata.")})});var vu=p({method:l("ui/notifications/tool-result"),params:et.describe("Standard MCP tool execution result.")}),fo=p({toolInfo:p({id:xe.optional().describe("JSON-RPC id of the tools/call request."),tool:Nt.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:nu.optional().describe("Current color theme preference."),styles:pu.optional().describe("Style configuration for theming the app."),displayMode:Te.optional().describe("How the UI is currently displayed."),availableDisplayModes:b(Te).optional().describe("Display modes the host supports."),containerDimensions:S([p({height:w().describe("Fixed container height in pixels.")}),p({maxHeight:S([w(),it()]).optional().describe("Maximum container height in pixels.")})]).and(S([p({width:w().describe("Fixed container width in pixels.")}),p({maxWidth:S([w(),it()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other
83
+ container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:d().optional().describe("User's language and region preference in BCP 47 format."),timeZone:d().optional().describe("User's timezone in IANA format."),userAgent:d().optional().describe("Host application identifier."),platform:S([l("web"),l("desktop"),l("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:p({touch:x().optional().describe("Whether the device supports touch input."),hover:x().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:p({top:w().describe("Top safe area inset in pixels."),right:w().describe("Right safe area inset in pixels."),bottom:w().describe("Bottom safe area inset in pixels."),left:w().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough(),bu=p({method:l("ui/notifications/host-context-changed"),params:fo.describe("Partial context update containing only changed fields.")});p({method:l("ui/update-model-context"),params:p({content:b(Ne).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:T(d(),I().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})});p({method:l("ui/initialize"),params:p({appInfo:Ye.describe("App identification (name and version)."),appCapabilities:fu.describe("Features and capabilities this app provides."),protocolVersion:d().describe("Protocol version this app supports.")})});var yu=p({protocolVersion:d().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:Ye.describe("Host application identification and version."),hostCapabilities:mu.describe("Features and capabilities provided by the host."),hostContext:fo.describe("Rich context about the host environment.")}).passthrough();function wu(e){let t=document.documentElement;t.setAttribute("data-theme",e),t.style.colorScheme=e}function ku(e,t=document.documentElement){for(let[n,o]of Object.entries(e))o!==void 0&&t.style.setProperty(n,o)}class Su extends Yl{_appInfo;_capabilities;options;_hostCapabilities;_hostInfo;_hostContext;eventSchemas={toolinput:cu,toolinputpartial:lu,toolresult:vu,toolcancelled:uu,hostcontextchanged:bu};onEventDispatch(t,n){t==="hostcontextchanged"&&(this._hostContext={...this._hostContext,...n})}constructor(t,n={},o={autoResize:!0}){super(o),this._appInfo=t,this._capabilities=n,this.options=o,this.setRequestHandler(Xe,s=>(console.log("Received ping:",s.params),{})),this.setEventHandler("hostcontextchanged",void 0)}getHostCapabilities(){return this._hostCapabilities}getHostVersion(){return this._hostInfo}getHostContext(){return this._hostContext}get ontoolinput(){return this.getEventHandler("toolinput")}set ontoolinput(t){this.setEventHandler("toolinput",t)}get ontoolinputpartial(){return this.getEventHandler("toolinputpartial")}set ontoolinputpartial(t){this.setEventHandler("toolinputpartial",t)}get ontoolresult(){return this.getEventHandler("toolresult")}set ontoolresult(t){this.setEventHandler("toolresult",t)}get ontoolcancelled(){return this.getEventHandler("toolcancelled")}set ontoolcancelled(t){this.setEventHandler("toolcancelled",t)}get onhostcontextchanged(){return this.getEventHandler("hostcontextchanged")}set onhostcontextchanged(t){this.setEventHandler("hostcontextchanged",t)}_onteardown;get onteardown(){return this._onteardown}set onteardown(t){this.warnIfRequestHandlerReplaced("onteardown",this._onteardown,t),this._onteardown=t,this.replaceRequestHandler(hu,(n,o)=>{if(!this._onteardown)throw Error("No onteardown handler set");return this._onteardown(n.params,o)})}_oncalltool;get oncalltool(){return this._oncalltool}set oncalltool(t){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,t),this._oncalltool=t,this.replaceRequestHandler(po,(n,o)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(n.params,o)})}_onlisttools;get onlisttools(){return this._onlisttools}set onlisttools(t){this.warnIfRequestHandlerReplaced("onlisttools",this._onlisttools,t),this._onlisttools=t,this.replaceRequestHandler(uo,(n,o)=>{if(!this._onlisttools)throw Error("No onlisttools handler set");return this._onlisttools(n.params,o)})}assertCapabilityForMethod(t){}assertRequestHandlerCapability(t){switch(t){case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Client does not support tool capability (required for ${t})`);return;case"ping":case"ui/resource-teardown":return;default:throw Error(`No handler for method ${t} registered`)}}assertNotificationCapability(t){}assertTaskCapability(t){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(t){throw Error("Task handlers are not supported in MCP Apps")}async callServerTool(t,n){if(typeof t=="string")throw Error(`callServerTool() expects an object as its first argument, but received a string ("${t}"). Did you mean: callServerTool({ name: "${t}", arguments: { ... } })?`);return await this.request({method:"tools/call",params:t},et,n)}async readServerResource(t,n){return await this.request({method:"resources/read",params:t},ao,n)}async listServerResources(t,n){return await this.request({method:"resources/list",params:t},io,n)}sendMessage(t,n){return this.request({method:"ui/message",params:t},au,n)}sendLog(t){return this.notification({method:"notifications/message",params:t})}updateModelContext(t,n){return this.request({method:"ui/update-model-context",params:t},yt,n)}openLink(t,n){return this.request({method:"ui/open-link",params:t},ru,n)}sendOpenLink=this.openLink;downloadFile(t,n){return this.request({method:"ui/download-file",params:t},iu,n)}requestTeardown(t={}){return this.notification({method:"ui/notifications/request-teardown",params:t})}requestDisplayMode(t,n){return this.request({method:"ui/request-display-mode",params:t},gu,n)}sendSizeChanged(t){return this.notification({method:"ui/notifications/size-changed",params:t})}setupSizeChangedNotifications(){let t=!1,n=0,o=0,s=()=>{t||(t=!0,requestAnimationFrame(()=>{t=!1;let i=document.documentElement,a=i.style.height;i.style.height="max-content";let c=Math.ceil(i.getBoundingClientRect().height);i.style.height=a;let u=Math.ceil(window.innerWidth);(u!==n||c!==o)&&(n=u,o=c,this.sendSizeChanged({width:u,height:c}))}))};s();let r=new ResizeObserver(s);return r.observe(document.documentElement),r.observe(document.body),()=>r.disconnect()}async connect(t=new tu(window.parent,window.parent),n){if(this.transport)throw Error("App is already connected. Call close() before connecting again.");await super.connect(t);try{let o=await this.request({method:"ui/initialize",params:{appCapabilities:this._capabilities,appInfo:this._appInfo,protocolVersion:Xl}},yu,n);if(o===void 0)throw Error(`Server sent invalid initialize result: ${o}`);this._hostCapabilities=o.hostCapabilities,this._hostInfo=o.hostInfo,this._hostContext=o.hostContext,await this.notification({method:"ui/notifications/initialized"}),this.options?.autoResize&&this.setupSizeChangedNotifications()}catch(o){throw this.close(),o}}}const k=e=>document.getElementById(e);function y(e){const t=document.createElement("span");return t.textContent=e,t.innerHTML}function tt(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}let Re=null,lt=null,Ve="all",ne=null;const $u=["loading","error","dashboard","detail","person","people-map","report"];function Q(e){for(const t of $u)k(t).style.display=t===e?"":"none";requestAnimationFrame(()=>{B.sendSizeChanged({height:document.documentElement.scrollHeight})})}function we(e){k("error-message").textContent=e,Q("error")}function zu(e){const t=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!t)return{frontmatter:{},body:e};const n=t[1],o=t[2],s={};let r=null,i=null;for(const a of n.split(`
84
+ `)){const c=a.match(/^\s{2,4}- (\w+):\s*(.*)$/);if(c&&r!==null){i={[c[1]]:c[2].trim()},r.push(i);continue}const u=a.match(/^\s{4,}(\w+):\s*(.*)$/);if(u&&i!==null){i[u[1]]=u[2].trim();continue}const m=a.match(/^(\w[\w_]*):\s*\[(.+)\]$/);if(m){r=null,i=null,s[m[1]]=m[2].split(",").map(_=>_.trim().replace(/^["']|["']$/g,""));continue}const f=a.match(/^\s{2,4}-\s+(.+)$/);if(f&&r!==null){i=null,r.push(f[1].trim());continue}const g=a.match(/^(\w[\w_]*):\s*(.*)$/);if(g){i=null;const _=g[1],E=g[2].trim();E===""||E==="[]"?(r=[],s[_]=r):(r=null,s[_]=E.replace(/^["']|["']$/g,""));continue}}return{frontmatter:s,body:o}}function Tu(e){let t=y(e);return t=t.replace(/^### (.+)$/gm,"<h3>$1</h3>"),t=t.replace(/^## (.+)$/gm,"<h2>$1</h2>"),t=t.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),t=t.replace(/\*(.+?)\*/g,"<em>$1</em>"),t=t.replace(/`([^`]+)`/g,"<code>$1</code>"),t=t.replace(/^&gt; (.+)$/gm,"<blockquote>$1</blockquote>"),t=t.replace(/^- (.+)$/gm,"<li>$1</li>"),t=t.replace(/(<li>[\s\S]*?<\/li>)/g,"<ul>$1</ul>"),t=t.replace(/<\/ul>\s*<ul>/g,""),t=t.replace(/^(?!<[hublop])((?!<).+)$/gm,"<p>$1</p>"),t=t.replace(/<p>\s*<\/p>/g,""),t}function J(e,t){e.innerHTML=t}const B=new Su({name:"Minutes Dashboard",version:"1.0.0"},{},{autoResize:!0});let fe=null;async function Ru(){try{const t=(await B.callServerTool({name:"get_status",arguments:{}})).content?.map(s=>"text"in s?s.text:"").join("")||"",n=t.includes("in progress")&&!t.includes("No recording"),o=k("recording-banner");n?(fe||(fe=Date.now()),o.style.display="flex",un(),ne||(ne=setInterval(un,1e3))):(o.style.display="none",fe=null,ne&&(clearInterval(ne),ne=null))}catch{k("recording-banner").style.display="none"}}function un(){if(!fe)return;const e=Math.floor((Date.now()-fe)/1e3),t=Math.floor(e/60),n=e%60;k("rec-elapsed").textContent=`${t}:${String(n).padStart(2,"0")}`}document.addEventListener("click",async e=>{if(e.target.id==="rec-stop-btn"){const t=e.target;t.disabled=!0,t.textContent="Stopping...";try{await B.callServerTool({name:"stop_recording",arguments:{}}),k("recording-banner").style.display="none",fe=null,ne&&(clearInterval(ne),ne=null)}catch{t.disabled=!1,t.textContent="Stop"}}});function go(){const e=k("filter-input").value.toLowerCase();document.querySelectorAll(".meeting-card").forEach(t=>{const n=t,o=n.querySelector(".meeting-title")?.textContent?.toLowerCase()||"",s=n.querySelector(".meeting-date")?.textContent?.toLowerCase()||"",r=n.querySelector(".badge")?.textContent?.toLowerCase()||"",i=!e||o.includes(e)||s.includes(e),a=Ve==="all"||r===Ve;n.style.display=i&&a?"":"none"})}k("filter-input").addEventListener("input",go);document.querySelectorAll(".filter-btn").forEach(e=>{e.addEventListener("click",async()=>{const t=e.dataset.filter;if(t==="people"){document.querySelectorAll(".filter-btn").forEach(n=>n.classList.remove("active")),e.classList.add("active"),Q("loading"),k("loading-text").textContent="Loading people...";try{const n=await B.callServerTool({name:"relationship_map",arguments:{}});ke(n)}catch(n){we(n.message||"Failed to load people")}return}document.querySelectorAll(".filter-btn").forEach(n=>n.classList.remove("active")),e.classList.add("active"),Ve=t,go()})});function Iu(){if(!lt)return;const{title:e,content:t}=lt,n=t.length>15e3?t.slice(0,15e3)+`
85
85
 
86
86
  [truncated]`:t;B.updateModelContext({content:[{type:"text",text:`Meeting: ${e}
87
87
 
88
88
  ${n}`}]})}let he=!1;function dn(){he=!he,B.requestDisplayMode({mode:he?"fullscreen":"inline"});const e=k("fullscreen-btn");e&&(e.textContent=he?"Exit Fullscreen":"Fullscreen")}function jt(e){const t=e.meetings||[],n=e.actions||[];Re=e;const o=t.filter(a=>a.content_type==="memo").length,s=t.length-o;J(k("stats-bar"),`<div class="stat"><span class="stat-value">${t.length}</span><span class="stat-label">Total</span></div>
89
89
  <div class="stat"><span class="stat-value">${s}</span><span class="stat-label">Meetings</span></div>
90
90
  <div class="stat"><span class="stat-value">${o}</span><span class="stat-label">Memos</span></div>
91
- ${n.length?`<div class="stat"><span class="stat-value">${n.length}</span><span class="stat-label">Open Actions</span></div>`:""}`);const i=k("meetings-list");J(i,t.map(a=>`
91
+ ${n.length?`<div class="stat"><span class="stat-value">${n.length}</span><span class="stat-label">Open Actions</span></div>`:""}`);const r=k("meetings-list");J(r,t.map(a=>`
92
92
  <div class="meeting-card" data-path="${tt(a.path||"")}">
93
93
  <div class="meeting-date">${y(a.date||"")}</div>
94
94
  <div class="meeting-title">${y(a.title||"Untitled")}</div>
@@ -98,73 +98,73 @@ ${n}`}]})}let he=!1;function dn(){he=!he,B.requestDisplayMode({mode:he?"fullscre
98
98
  ${a.duration?`<span class="duration">${y(String(a.duration))}</span>`:""}
99
99
  </div>
100
100
  ${a.snippet?`<div class="meeting-snippet">${y(a.snippet)}</div>`:""}
101
- </div>`).join("")),i.querySelectorAll(".meeting-card").forEach(a=>{a.addEventListener("click",async()=>{const c=a.dataset.path;if(c){Q("loading"),k("loading-text").textContent="Loading meeting...";try{const l=await B.callServerTool({name:"get_meeting",arguments:{path:c}});ke(l)}catch(l){we(l.message||"Failed to load meeting")}}})});const r=k("actions-sidebar");n.length>0?J(r,'<div class="sidebar-title">Open Action Items</div>'+n.map(a=>`
101
+ </div>`).join("")),r.querySelectorAll(".meeting-card").forEach(a=>{a.addEventListener("click",async()=>{const c=a.dataset.path;if(c){Q("loading"),k("loading-text").textContent="Loading meeting...";try{const u=await B.callServerTool({name:"get_meeting",arguments:{path:c}});ke(u)}catch(u){we(u.message||"Failed to load meeting")}}})});const i=k("actions-sidebar");n.length>0?J(i,'<div class="sidebar-title">Open Action Items</div>'+n.map(a=>`
102
102
  <div class="intent-item action${a.by_date&&new Date(a.by_date)<new Date?" overdue":""}">
103
103
  <div class="intent-what">${y(a.what||"")}</div>
104
104
  ${a.who?`<div class="intent-who">@${y(a.who)}</div>`:""}
105
105
  ${a.by_date?`<div class="intent-date">by ${y(a.by_date)}</div>`:""}
106
106
  ${a.title?`<div class="intent-source">${y(a.title)}</div>`:""}
107
- </div>`).join("")):J(r,""),k("filter-input").value="",Ve="all",document.querySelectorAll(".filter-btn").forEach(a=>{a.classList.toggle("active",a.dataset.filter==="all")}),Q("dashboard"),Tl()}function pn(e){const t=e.content||"",n=e.path||"",{frontmatter:o,body:s}=$l(t),i=o.title||n.split("/").pop()?.replace(/\.md$/,"")||"Meeting";ut={content:t,path:n,title:i},J(k("detail-header"),`<h1>${y(i)}</h1>
107
+ </div>`).join("")):J(i,""),k("filter-input").value="",Ve="all",document.querySelectorAll(".filter-btn").forEach(a=>{a.classList.toggle("active",a.dataset.filter==="all")}),Q("dashboard"),Ru()}function pn(e){const t=e.content||"",n=e.path||"",{frontmatter:o,body:s}=zu(t),r=o.title||n.split("/").pop()?.replace(/\.md$/,"")||"Meeting";lt={content:t,path:n,title:r},J(k("detail-header"),`<h1>${y(r)}</h1>
108
108
  <div class="detail-meta">
109
109
  ${o.date?`<span class="meta-item">${y(o.date)}</span>`:""}
110
110
  ${o.duration?`<span class="meta-item">${y(o.duration)}</span>`:""}
111
111
  ${o.content_type?`<span class="badge badge-${o.content_type==="memo"?"memo":"meeting"}">${y(o.content_type)}</span>`:""}
112
112
  ${o.words?`<span class="meta-item">${y(String(o.words))} words</span>`:""}
113
113
  </div>
114
- ${Array.isArray(o.attendees)&&o.attendees.length?`<div class="attendees">Attendees: ${o.attendees.map(l=>`<span class="attendee clickable" data-person="${tt(l)}">${y(l)}</span>`).join(" ")}</div>`:""}
115
- ${Array.isArray(o.tags)&&o.tags.length?`<div class="tags">${o.tags.map(l=>`<span class="tag">${y(l)}</span>`).join("")}</div>`:""}`),k("detail-header").querySelectorAll(".attendee.clickable").forEach(l=>{l.addEventListener("click",async m=>{m.stopPropagation();const f=l.dataset.person;if(f){Q("loading"),k("loading-text").textContent=`Loading profile for ${f}...`;try{const g=await B.callServerTool({name:"get_person_profile",arguments:{name:f}});ke(g)}catch(g){we(g.message||"Failed to load profile")}}})}),J(k("detail-content"),zl(s));const r=[],a=o.action_items;Array.isArray(a)&&a.length>0&&r.push(`
114
+ ${Array.isArray(o.attendees)&&o.attendees.length?`<div class="attendees">Attendees: ${o.attendees.map(u=>`<span class="attendee clickable" data-person="${tt(u)}">${y(u)}</span>`).join(" ")}</div>`:""}
115
+ ${Array.isArray(o.tags)&&o.tags.length?`<div class="tags">${o.tags.map(u=>`<span class="tag">${y(u)}</span>`).join("")}</div>`:""}`),k("detail-header").querySelectorAll(".attendee.clickable").forEach(u=>{u.addEventListener("click",async m=>{m.stopPropagation();const f=u.dataset.person;if(f){Q("loading"),k("loading-text").textContent=`Loading profile for ${f}...`;try{const g=await B.callServerTool({name:"get_person_profile",arguments:{name:f}});ke(g)}catch(g){we(g.message||"Failed to load profile")}}})}),J(k("detail-content"),Tu(s));const i=[],a=o.action_items;Array.isArray(a)&&a.length>0&&i.push(`
116
116
  <div class="panel"><h3>Action Items</h3>
117
- ${a.map(l=>`
117
+ ${a.map(u=>`
118
118
  <div class="intent-item action">
119
- <div class="intent-what">${y(typeof l=="string"?l:l.what||"")}</div>
120
- ${l.who?`<div class="intent-who">@${y(l.who)}</div>`:""}
121
- ${l.by_date?`<div class="intent-date">by ${y(l.by_date)}</div>`:""}
119
+ <div class="intent-what">${y(typeof u=="string"?u:u.what||"")}</div>
120
+ ${u.who?`<div class="intent-who">@${y(u.who)}</div>`:""}
121
+ ${u.by_date?`<div class="intent-date">by ${y(u.by_date)}</div>`:""}
122
122
  </div>`).join("")}
123
- </div>`);const c=o.decisions;Array.isArray(c)&&c.length>0&&r.push(`
123
+ </div>`);const c=o.decisions;Array.isArray(c)&&c.length>0&&i.push(`
124
124
  <div class="panel"><h3>Decisions</h3>
125
- ${c.map(l=>`
125
+ ${c.map(u=>`
126
126
  <div class="intent-item decision">
127
- <div class="intent-what">${y(typeof l=="string"?l:l.what||"")}</div>
127
+ <div class="intent-what">${y(typeof u=="string"?u:u.what||"")}</div>
128
128
  </div>`).join("")}
129
- </div>`),J(k("detail-panels"),r.join("")),k("back-btn").onclick=()=>{he&&dn(),Re&&jt(Re)},k("context-btn").onclick=Rl,k("fullscreen-btn").onclick=dn,k("fullscreen-btn").textContent=he?"Exit Fullscreen":"Fullscreen",Q("detail")}function Il(e){const t=e.name||"Unknown",n=e.top_topics||[],o=e.open_intents||[],s=e.recent_meetings||[];J(k("person-header"),`<h1>${y(t)}</h1>
129
+ </div>`),J(k("detail-panels"),i.join("")),k("back-btn").onclick=()=>{he&&dn(),Re&&jt(Re)},k("context-btn").onclick=Iu,k("fullscreen-btn").onclick=dn,k("fullscreen-btn").textContent=he?"Exit Fullscreen":"Fullscreen",Q("detail")}function xu(e){const t=e.name||"Unknown",n=e.top_topics||[],o=e.open_intents||[],s=e.recent_meetings||[];J(k("person-header"),`<h1>${y(t)}</h1>
130
130
  <div class="person-stats">
131
131
  <div class="stat"><span class="stat-value">${s.length}</span><span class="stat-label">Meetings</span></div>
132
132
  <div class="stat"><span class="stat-value">${o.length}</span><span class="stat-label">Open Items</span></div>
133
133
  <div class="stat"><span class="stat-value">${n.length}</span><span class="stat-label">Topics</span></div>
134
- </div>`);const i=[];n.length>0&&i.push(`
134
+ </div>`);const r=[];n.length>0&&r.push(`
135
135
  <div class="person-section"><h3>Top Topics</h3>
136
- ${n.map(r=>`<div class="topic-item"><span class="topic-name">${y(r.topic||"")}</span><span class="topic-count">${r.count||0}</span></div>`).join("")}
137
- </div>`),o.length>0&&i.push(`
136
+ ${n.map(i=>`<div class="topic-item"><span class="topic-name">${y(i.topic||"")}</span><span class="topic-count">${i.count||0}</span></div>`).join("")}
137
+ </div>`),o.length>0&&r.push(`
138
138
  <div class="person-section"><h3>Open Commitments</h3>
139
- ${o.map(r=>`
139
+ ${o.map(i=>`
140
140
  <div class="intent-item action">
141
- <div class="intent-what">${y(r.what||"")}</div>
142
- ${r.kind?`<div class="intent-who">${y(r.kind)}</div>`:""}
143
- ${r.by_date?`<div class="intent-date">by ${y(r.by_date)}</div>`:""}
141
+ <div class="intent-what">${y(i.what||"")}</div>
142
+ ${i.kind?`<div class="intent-who">${y(i.kind)}</div>`:""}
143
+ ${i.by_date?`<div class="intent-date">by ${y(i.by_date)}</div>`:""}
144
144
  </div>`).join("")}
145
- </div>`),s.length>0&&i.push(`
145
+ </div>`),s.length>0&&r.push(`
146
146
  <div class="person-section"><h3>Recent Meetings</h3>
147
- ${s.map(r=>`
148
- <div class="person-meeting" data-path="${tt(r.path||"")}">
149
- <div class="person-meeting-date">${y(r.date||"")}</div>
150
- <div class="person-meeting-title">${y(r.title||"Untitled")}</div>
147
+ ${s.map(i=>`
148
+ <div class="person-meeting" data-path="${tt(i.path||"")}">
149
+ <div class="person-meeting-date">${y(i.date||"")}</div>
150
+ <div class="person-meeting-title">${y(i.title||"Untitled")}</div>
151
151
  </div>`).join("")}
152
- </div>`),J(k("person-body"),i.join("")),k("person-body").querySelectorAll(".person-meeting").forEach(r=>{r.addEventListener("click",async()=>{const a=r.dataset.path;if(a){Q("loading"),k("loading-text").textContent="Loading meeting...";try{const c=await B.callServerTool({name:"get_meeting",arguments:{path:a}});ke(c)}catch(c){we(c.message||"Failed to load meeting")}}})}),Q("person")}function Pl(e){const t=e.length,n=e.filter(i=>i.losing_touch).length,o=e.filter(i=>i.open_commitments>0).length;J(k("people-header"),`<h2>People</h2>
152
+ </div>`),J(k("person-body"),r.join("")),k("person-body").querySelectorAll(".person-meeting").forEach(i=>{i.addEventListener("click",async()=>{const a=i.dataset.path;if(a){Q("loading"),k("loading-text").textContent="Loading meeting...";try{const c=await B.callServerTool({name:"get_meeting",arguments:{path:a}});ke(c)}catch(c){we(c.message||"Failed to load meeting")}}})}),Q("person")}function Eu(e){const t=e.length,n=e.filter(r=>r.losing_touch).length,o=e.filter(r=>r.open_commitments>0).length;J(k("people-header"),`<h2>People</h2>
153
153
  <div class="stats-bar">
154
154
  <div class="stat"><span class="stat-value">${t}</span><span class="stat-label">Contacts</span></div>
155
155
  <div class="stat"><span class="stat-value">${o}</span><span class="stat-label">With Commitments</span></div>
156
156
  ${n>0?`<div class="stat stat-warn"><span class="stat-value">${n}</span><span class="stat-label">Losing Touch</span></div>`:""}
157
- </div>`);const s=e.map(i=>{const r=Math.round(i.days_since||0),a=r<1?"today":r<2?"yesterday":`${r}d ago`,c=(i.top_topics||[]).slice(0,3).join(", "),l=i.losing_touch?"losing-touch":i.open_commitments>0?"has-commitments":"clear",m=i.losing_touch?"⚠ losing touch":i.open_commitments>0?`${i.open_commitments} commitment${i.open_commitments!==1?"s":""}`:"✓ all clear";return`
158
- <div class="person-card ${l}" data-name="${tt(i.name||"")}">
159
- <div class="person-card-name">${y(i.name||"Unknown")}</div>
157
+ </div>`);const s=e.map(r=>{const i=Math.round(r.days_since||0),a=i<1?"today":i<2?"yesterday":`${i}d ago`,c=(r.top_topics||[]).slice(0,3).join(", "),u=r.losing_touch?"losing-touch":r.open_commitments>0?"has-commitments":"clear",m=r.losing_touch?"⚠ losing touch":r.open_commitments>0?`${r.open_commitments} commitment${r.open_commitments!==1?"s":""}`:"✓ all clear";return`
158
+ <div class="person-card ${u}" data-name="${tt(r.name||"")}">
159
+ <div class="person-card-name">${y(r.name||"Unknown")}</div>
160
160
  <div class="person-card-meta">
161
- <span>${i.meeting_count||0} meeting${(i.meeting_count||0)!==1?"s":""}</span>
161
+ <span>${r.meeting_count||0} meeting${(r.meeting_count||0)!==1?"s":""}</span>
162
162
  <span>last: ${y(a)}</span>
163
163
  </div>
164
164
  ${c?`<div class="person-card-topics">${y(c)}</div>`:""}
165
- <div class="person-card-status ${l}">${m}</div>
166
- <div class="person-card-score">score: ${(i.score||0).toFixed(1)}</div>
167
- </div>`});J(k("people-grid"),s.join("")),k("people-grid").querySelectorAll(".person-card").forEach(i=>{i.addEventListener("click",async()=>{const r=i.dataset.name;if(r){Q("loading"),k("loading-text").textContent=`Loading ${r}...`;try{const a=await B.callServerTool({name:"get_person_profile",arguments:{name:r}});ke(a)}catch(a){we(a.message||"Failed to load person")}}})}),e.length===0&&J(k("people-grid"),'<div class="empty-state">No people found. Record some meetings, then click People again.</div>'),k("people-back-btn").onclick=()=>{Re&&jt(Re)},Q("people-map")}function xl(e){const t=e.decision_conflicts||[],n=e.stale_commitments||[];if(J(k("report-header"),"<h1>Consistency Report</h1>"),t.length===0&&n.length===0){J(k("report-body"),'<div class="report-empty">No consistency issues found.</div>'),Q("report");return}const o=[];t.length>0&&o.push(`
165
+ <div class="person-card-status ${u}">${m}</div>
166
+ <div class="person-card-score">score: ${(r.score||0).toFixed(1)}</div>
167
+ </div>`});J(k("people-grid"),s.join("")),k("people-grid").querySelectorAll(".person-card").forEach(r=>{r.addEventListener("click",async()=>{const i=r.dataset.name;if(i){Q("loading"),k("loading-text").textContent=`Loading ${i}...`;try{const a=await B.callServerTool({name:"get_person_profile",arguments:{name:i}});ke(a)}catch(a){we(a.message||"Failed to load person")}}})}),e.length===0&&J(k("people-grid"),'<div class="empty-state">No people found. Record some meetings, then click People again.</div>'),k("people-back-btn").onclick=()=>{Re&&jt(Re)},Q("people-map")}function Pu(e){const t=e.decision_conflicts||[],n=e.stale_commitments||[];if(J(k("report-header"),"<h1>Consistency Report</h1>"),t.length===0&&n.length===0){J(k("report-body"),'<div class="report-empty">No consistency issues found.</div>'),Q("report");return}const o=[];t.length>0&&o.push(`
168
168
  <div class="report-section"><h3>Decision Conflicts</h3>
169
169
  ${t.map(s=>`
170
170
  <div class="intent-item conflict">
@@ -180,7 +180,7 @@ ${n}`}]})}let he=!1;function dn(){he=!he,B.requestDisplayMode({mode:he?"fullscre
180
180
  <div class="intent-reasons">${y(Array.isArray(s.reasons)?s.reasons.join(", "):`${s.age_days||"?"} days old`)}</div>
181
181
  ${s.latest_follow_up?`<div class="intent-source">Latest: ${y(s.latest_follow_up.title||"")}</div>`:""}
182
182
  </div>`).join("")}
183
- </div>`),J(k("report-body"),o.join("")),Q("report")}function ke(e){const t=e.structuredContent,n=e._meta,o=t?.view||n?.view,s=t?.view?t:n?.view?n:t||n||{};if(!o){const i=e.content?.map(r=>"text"in r?r.text:"").join("");i&&pn({content:i,path:""});return}if(o==="detail"&&!s.content){const i=e.content?.map(r=>"text"in r?r.text:"").join("");i&&(s.content=i)}switch(o){case"dashboard":jt(s);break;case"detail":pn(s);break;case"person":Il(s);break;case"relationship_map":case"commitments":Pl(s.people||[]);break;case"report":xl(s);break;default:we(`Unknown view: ${o}`)}}B.ontoolresult=async e=>{ke(e)};function vo(e){e.theme&&yl(e.theme),e.styles?.variables&&wl(e.styles.variables)}B.onhostcontextchanged=vo;B.connect().then(()=>{const e=B.getHostContext();e&&vo(e)});</script>
183
+ </div>`),J(k("report-body"),o.join("")),Q("report")}function ke(e){const t=e.structuredContent,n=e._meta,o=t?.view||n?.view,s=t?.view?t:n?.view?n:t||n||{};if(!o){const r=e.content?.map(i=>"text"in i?i.text:"").join("");r&&pn({content:r,path:""});return}if(o==="detail"&&!s.content){const r=e.content?.map(i=>"text"in i?i.text:"").join("");r&&(s.content=r)}switch(o){case"dashboard":jt(s);break;case"detail":pn(s);break;case"person":xu(s);break;case"relationship_map":case"commitments":Eu(s.people||[]);break;case"report":Pu(s);break;default:we(`Unknown view: ${o}`)}}B.ontoolresult=async e=>{ke(e)};function _o(e){e.theme&&wu(e.theme),e.styles?.variables&&ku(e.styles.variables)}B.onhostcontextchanged=_o;B.connect().then(()=>{const e=B.getHostContext();e&&_o(e)});</script>
184
184
  <style rel="stylesheet" crossorigin>*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #2e2e2e;--bg-hover: #363636;--text-primary: #e4e4e4;--text-secondary: #a0a0a0;--text-muted: #6b6b6b;--border-color: #333;--accent: #4da8d9;--accent-dim: #3890b8;--badge-meeting: #4da8d9;--badge-memo: #9b85c4;--action-color: #d4a03c;--action-overdue: #e5534b;--decision-color: #46c072;--conflict-color: #e5534b;--stale-color: #d4a03c;--commit-color: #8b7cf6;--clear-color: #46c072;--radius: 6px;--radius-lg: 10px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #ececec;--bg-hover: #e2e2e2;--text-primary: #1a1a1a;--text-secondary: #555;--text-muted: #999;--border-color: #ddd;--accent: #3a8bb8;--accent-dim: #2f7da8;--badge-meeting: #3a8bb8;--badge-memo: #7e6ba8;--action-color: #b88a28;--action-overdue: #d04440;--decision-color: #2ea35c;--conflict-color: #d04440;--stale-color: #b88a28;--commit-color: #5f4ec0;--clear-color: #2ea35c}html,body{height:100%;font-family:var(--font-sans);font-size:13px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased}.main{min-height:100%;display:flex;flex-direction:column}#loading{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--text-secondary)}.loading-content{display:flex;flex-direction:column;align-items:center;gap:12px}.spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;gap:8px;color:var(--conflict-color)}.error-icon{width:32px;height:32px;border-radius:50%;background:var(--conflict-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}#error-message{color:var(--text-secondary);text-align:center;max-width:400px}.stats-bar{display:flex;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.stat{display:flex;align-items:baseline;gap:6px}.stat-value{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.dashboard-body{display:flex;flex:1;overflow:hidden}.meetings-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.meeting-card{padding:10px 12px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.meeting-card:hover{background:var(--bg-hover);border-color:var(--border-color)}.meeting-date{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);margin-bottom:2px}.meeting-title{font-weight:500;color:var(--text-primary);margin-bottom:4px}.meeting-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary)}.meeting-snippet{font-size:12px;color:var(--text-muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-meeting{background:color-mix(in srgb,var(--badge-meeting) 20%,transparent);color:var(--badge-meeting)}.badge-memo{background:color-mix(in srgb,var(--badge-memo) 20%,transparent);color:var(--badge-memo)}.word-count,.duration{font-family:var(--font-mono);font-size:11px}.actions-sidebar{width:280px;border-left:1px solid var(--border-color);overflow-y:auto;padding:12px;background:var(--bg-secondary);flex-shrink:0}.actions-sidebar:empty{display:none}.sidebar-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:10px}.intent-item{padding:8px 10px;border-radius:var(--radius);background:var(--bg-tertiary);margin-bottom:6px;border-left:3px solid var(--border-color)}.intent-item.action{border-left-color:var(--action-color)}.intent-item.action.overdue{border-left-color:var(--action-overdue)}.intent-item.decision{border-left-color:var(--decision-color)}.intent-item.conflict{border-left-color:var(--conflict-color)}.intent-item.stale{border-left-color:var(--stale-color)}.intent-what{font-size:13px;color:var(--text-primary);margin-bottom:4px}.intent-who{font-size:11px;color:var(--accent);font-weight:500}.intent-date{font-size:11px;font-family:var(--font-mono);color:var(--text-muted)}.intent-source{font-size:11px;color:var(--text-muted);margin-top:2px}.intent-reasons{font-size:11px;color:var(--stale-color);margin-top:2px}.back-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;margin:12px 16px 0;font-size:12px;color:var(--accent);background:none;border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;font-family:inherit;transition:background .15s}.back-btn:hover{background:var(--bg-hover)}.detail-header{padding:16px;border-bottom:1px solid var(--border-color)}.detail-header h1{font-size:18px;font-weight:600;margin-bottom:8px}.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px}.meta-item{font-size:12px;color:var(--text-secondary)}.attendees{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.attendee{display:inline-block;padding:1px 6px;background:var(--bg-tertiary);border-radius:3px;margin:0 2px;color:var(--text-primary);font-weight:500}.tags{display:flex;gap:4px;flex-wrap:wrap}.tag{display:inline-block;padding:1px 8px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border-radius:10px;font-size:11px}.detail-body{display:flex;flex:1;overflow:hidden}.detail-content{flex:1;overflow-y:auto;padding:16px;line-height:1.7}.detail-content h2{font-size:15px;font-weight:600;margin:20px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.detail-content h2:first-child{margin-top:0}.detail-content h3{font-size:14px;font-weight:600;margin:16px 0 6px;color:var(--text-primary)}.detail-content p{margin-bottom:8px;color:var(--text-primary)}.detail-content ul,.detail-content ol{padding-left:20px;margin-bottom:8px}.detail-content li{margin-bottom:4px}.detail-content blockquote{border-left:3px solid var(--accent-dim);padding-left:12px;color:var(--text-secondary);margin:8px 0}.detail-content code{font-family:var(--font-mono);font-size:12px;padding:1px 4px;background:var(--bg-tertiary);border-radius:3px}.detail-content pre{background:var(--bg-tertiary);padding:12px;border-radius:var(--radius);overflow-x:auto;margin:8px 0}.detail-content pre code{padding:0;background:none}.detail-panels{width:260px;border-left:1px solid var(--border-color);overflow-y:auto;padding:12px;background:var(--bg-secondary);flex-shrink:0}.detail-panels:empty{display:none}.panel{margin-bottom:16px}.panel h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.person-header{padding:16px;border-bottom:1px solid var(--border-color)}.person-header h1{font-size:18px;font-weight:600}.person-header .person-stats{display:flex;gap:16px;margin-top:8px}.person-body{padding:16px;display:flex;flex-direction:column;gap:20px}.person-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.topic-item{display:flex;justify-content:space-between;padding:6px 10px;border-radius:var(--radius);background:var(--bg-secondary);margin-bottom:4px}.topic-name{color:var(--text-primary)}.topic-count{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.person-meeting{padding:6px 10px;border-radius:var(--radius);background:var(--bg-secondary);margin-bottom:4px;cursor:pointer;transition:background .15s}.person-meeting:hover{background:var(--bg-hover)}.person-meeting-date{font-size:11px;font-family:var(--font-mono);color:var(--text-muted)}.person-meeting-title{color:var(--text-primary)}.report-header{padding:16px;border-bottom:1px solid var(--border-color)}.report-header h1{font-size:18px;font-weight:600}.report-body{padding:16px;display:flex;flex-direction:column;gap:20px}.report-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.report-empty{padding:24px;text-align:center;color:var(--text-muted)}#recording-banner{display:flex;align-items:center;gap:10px;padding:8px 16px;background:color-mix(in srgb,var(--action-overdue) 12%,var(--bg-secondary));border-bottom:1px solid color-mix(in srgb,var(--action-overdue) 30%,var(--border-color))}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--action-overdue);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}#rec-label{font-weight:600;font-size:12px;color:var(--action-overdue);text-transform:uppercase;letter-spacing:.05em}.rec-elapsed{font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.rec-stop-btn{margin-left:auto;padding:4px 12px;font-size:11px;font-weight:600;font-family:inherit;color:#fff;background:var(--action-overdue);border:none;border-radius:var(--radius);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:opacity .15s}.rec-stop-btn:hover{opacity:.85}.filter-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color)}#filter-input{flex:1;padding:5px 10px;font-size:12px;font-family:inherit;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius);outline:none;transition:border-color .15s}#filter-input:focus{border-color:var(--accent)}#filter-input::placeholder{color:var(--text-muted)}.filter-toggles{display:flex;gap:2px}.filter-btn{padding:4px 10px;font-size:11px;font-family:inherit;color:var(--text-secondary);background:none;border:1px solid var(--border-color);cursor:pointer;transition:all .15s}.filter-btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.filter-btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.filter-btn:not(:first-child){border-left:none}.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-btn.active+.filter-btn{border-left-color:var(--accent)}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.detail-toolbar .back-btn{margin:0}.detail-toolbar-actions{display:flex;gap:6px}.toolbar-btn{padding:5px 12px;font-size:11px;font-family:inherit;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;transition:all .15s}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}#context-btn{color:var(--accent);border-color:var(--accent-dim)}#context-btn:hover{background:color-mix(in srgb,var(--accent) 15%,var(--bg-tertiary))}.attendee.clickable{cursor:pointer;transition:background .15s,color .15s}.attendee.clickable:hover{background:var(--accent);color:#fff}@media(max-width:600px){.dashboard-body{flex-direction:column}.actions-sidebar{width:100%;border-left:none;border-top:1px solid var(--border-color);max-height:200px}.detail-body{flex-direction:column}.detail-panels{width:100%;border-left:none;border-top:1px solid var(--border-color)}}.people-header{padding:16px 20px 8px}.people-header h2{margin:0 0 8px;font-size:18px;font-weight:600}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:8px 20px 20px}.person-card{border:1px solid var(--border-color);border-radius:8px;padding:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.person-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #00000014}.person-card.losing-touch{border-left:3px solid var(--stale-color)}.person-card.has-commitments{border-left:3px solid var(--commit-color)}.person-card-name{font-weight:600;font-size:14px;margin-bottom:4px}.person-card-meta{display:flex;gap:8px;font-size:12px;color:var(--text-muted);margin-bottom:6px}.person-card-topics{font-size:11px;color:var(--text-muted);margin-bottom:6px;font-style:italic}.person-card-status{font-size:12px;font-weight:500}.person-card-status.losing-touch{color:var(--stale-color)}.person-card-status.has-commitments{color:var(--commit-color)}.person-card-status.clear{color:var(--clear-color)}.person-card-score{font-size:11px;color:var(--text-muted);margin-top:4px}.stat-warn .stat-value{color:var(--stale-color)}</style>
185
185
  </head>
186
186
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minutes-mcp",
3
- "version": "0.10.2",
3
+ "version": "0.10.3",
4
4
  "description": "MCP server for minutes — conversation memory for AI assistants. Works with Claude Desktop, Mistral Vibe, Cursor, Windsurf, and any MCP client.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -38,18 +38,18 @@
38
38
  "dev": "tsx src/index.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@modelcontextprotocol/ext-apps": "^1.2.2",
42
- "@modelcontextprotocol/sdk": "^1.27.1",
43
- "minutes-sdk": "^0.10.2",
41
+ "@modelcontextprotocol/ext-apps": "^1.5.0",
42
+ "@modelcontextprotocol/sdk": "^1.29.0",
43
+ "minutes-sdk": "^0.10.3",
44
44
  "yaml": "^2.8.3",
45
45
  "zod": "^3.25 || ^4.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@types/node": "^22.0.0",
48
+ "@types/node": "^22.19.17",
49
49
  "tsx": "^4.0.0",
50
50
  "typescript": "^5.5.0",
51
- "vite": "^7.3.1",
51
+ "vite": "^7.3.2",
52
52
  "vite-plugin-singlefile": "^2.3.2",
53
- "vitest": "^4.1.0"
53
+ "vitest": "^4.1.2"
54
54
  }
55
55
  }