@agimon-ai/doompi-config 0.0.1-alpha.78 → 0.0.1-alpha.79

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/README.md CHANGED
@@ -128,6 +128,29 @@ The package publishes `src/prompts/doompi-author-config`, links it from `llms.tx
128
128
  `doompi-author-config` with the `doom/help` Cordis service. The guidance is visible to the AI only
129
129
  while the parent Help minor mode is active.
130
130
 
131
+ ## Remote session app
132
+
133
+ The remote-only `show_session` tool returns a read-only summary and links it to an MCP App.
134
+ Compatible hosts render the repository name, session identity, revision, profile, domains, layers,
135
+ and modes. Text-only clients receive the same information as readable text. `load_context` remains
136
+ separate and does not open a widget.
137
+
138
+ The component refreshes through the host's `tools/call` bridge. It receives no access token, does
139
+ not contact localhost or an external asset server, and does not include instructions, persona text,
140
+ or absolute repository paths. Conversation-routed connections still require host-supplied
141
+ conversation metadata on every tool call, including refresh. A host that cannot preserve that
142
+ metadata must use a dedicated-session connection; there is no fallback to a shared session.
143
+
144
+ `build:mcp` first runs `build:app`. The browser SDK and HTML are bundled into
145
+ `generated/mcp-apps/session.ts`, then embedded in the published MCP facet. The `ui://` resource URI
146
+ contains a hash of the complete HTML. Do not edit generated assets or reuse an old URI for changed
147
+ content. Resource reads are authorized static prefetches and never create a child session.
148
+
149
+ Connect an MCP Apps host to the existing session MCP URL. After rebuilding and restarting the
150
+ server, refresh the host's tool catalog and invoke `show_session`. ChatGPT developer-mode
151
+ connections use the same endpoint. Public app submission, a stable production widget origin, and
152
+ upstream third-party widget forwarding are separate deployment work.
153
+
131
154
  ## Development
132
155
 
133
156
  ```bash
@@ -135,8 +158,14 @@ pnpm build
135
158
  pnpm typecheck
136
159
  pnpm test
137
160
  pnpm lint
161
+ pnpm test:app
138
162
  ```
139
163
 
164
+ The browser tests require Playwright Chromium (`pnpm exec playwright install chromium`). They
165
+ exercise the packaged HTML in a sandboxed iframe using the standard SDK's `AppBridge`, including
166
+ refresh, theme changes, errors, text safety, and teardown. They do not substitute for testing the
167
+ connection inside ChatGPT itself.
168
+
140
169
  Maintained by [Agimon](https://agimon.ai/about).
141
170
 
142
171
  ## License
@@ -5,6 +5,33 @@ Object.defineProperties(exports, {
5
5
  let _agimon_ai_doompi_core_mcp_facet = require("@agimon-ai/doompi-core/mcp-facet");
6
6
  let _agimon_ai_doompi_core_server_facet = require("@agimon-ai/doompi-core/server-facet");
7
7
  let typebox = require("typebox");
8
+ //#region generated/mcp-apps/session.ts
9
+ const sessionAppUri = "ui://doompi/session/006f52f71c3736229f03f835/index.html";
10
+ const sessionAppHtml = "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <title>Doompi session</title>\n <style>\n :root {\n color-scheme: light dark;\n font-family: var(--font-sans, system-ui, sans-serif);\n font-size: 13px;\n line-height: 1.5;\n color: var(--color-text-primary, CanvasText);\n background: var(--color-background-primary, Canvas);\n }\n * {\n box-sizing: border-box;\n }\n body {\n margin: 0;\n }\n main {\n padding: 1rem;\n }\n header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n }\n h1 {\n margin: 0;\n font-size: 15px;\n }\n button {\n font: inherit;\n color: inherit;\n background: var(--color-background-secondary, ButtonFace);\n border: 1px solid var(--color-border-primary, GrayText);\n border-radius: 5px;\n padding: 0.5rem 0.75rem;\n cursor: pointer;\n }\n button:disabled {\n opacity: 0.6;\n cursor: default;\n }\n button:focus-visible {\n outline: 2px solid var(--color-border-info, Highlight);\n outline-offset: 2px;\n }\n #status {\n color: var(--color-text-secondary, GrayText);\n margin: 0.75rem 0;\n }\n #status[data-error='true'] {\n color: var(--color-text-danger, CanvasText);\n }\n dl {\n display: grid;\n gap: 0.75rem;\n margin: 0;\n }\n dl[hidden] {\n display: none;\n }\n dl > div {\n display: grid;\n grid-template-columns: 7rem minmax(0, 1fr);\n gap: 0.75rem;\n }\n dt {\n color: var(--color-text-secondary, GrayText);\n }\n dd {\n margin: 0;\n overflow-wrap: anywhere;\n }\n </style>\n </head>\n <body>\n <main aria-labelledby=\"heading\">\n <header>\n <h1 id=\"heading\">Doompi session</h1>\n <button id=\"refresh\" type=\"button\" disabled aria-describedby=\"status\">Refresh</button>\n </header>\n <p id=\"status\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">Connecting to host...</p>\n <dl id=\"summary\" hidden>\n <div>\n <dt>Repository</dt>\n <dd id=\"repositoryName\"></dd>\n </div>\n <div>\n <dt>Session</dt>\n <dd id=\"sessionId\"></dd>\n </div>\n <div>\n <dt>Revision</dt>\n <dd id=\"revision\"></dd>\n </div>\n <div>\n <dt>Profile</dt>\n <dd id=\"profile\"></dd>\n </div>\n <div>\n <dt>Major mode</dt>\n <dd id=\"majorMode\"></dd>\n </div>\n <div>\n <dt>Domains</dt>\n <dd id=\"domains\"></dd>\n </div>\n <div>\n <dt>Layers</dt>\n <dd id=\"layers\"></dd>\n </div>\n <div>\n <dt>Minor modes</dt>\n <dd id=\"minorModes\"></dd>\n </div>\n </dl>\n </main>\n <script>(function(){function e(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function t(e,t=`|`){return e.map(e=>le(e)).join(t)}function n(e,t){return typeof t==`bigint`?t.toString():t}var r=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function i(e){return new r(e)}function a(e){return e==null}function o(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function s(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function c(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function l(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function u(e){return l(e._zod.def)??e._zod.def.shape}function d(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return c(this,t,e),e},enumerable:!0,configurable:!0})}function f(e,t,n){t in e?c(e,t,n):e[t]=n}function p(e,t,n,r){let i=u(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?d(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):f(e,a,r?r(n.value,a):n.value))}}function m(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?d(e,n,()=>t[n]):f(e,n,r.value))}}function h(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function ee(e){return JSON.stringify(e)}function te(e){return e.toLowerCase().trim().replace(/[^\\w\\s-]/g,``).replace(/[\\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}let ne=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function re(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}let ie=/* @__PURE__*/ i(()=>{if(S.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function ae(e){if(re(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return re(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function oe(e){return ae(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}let se=/* @__PURE__*/ new Set([`string`,`number`,`symbol`]);function ce(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function g(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function _(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw 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 le(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`\"${e}\"`:`${e}`}function ue(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}let de={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},fe={int64:[/* @__PURE__*/ BigInt(`-9223372036854775808`),/* @__PURE__*/ BigInt(`9223372036854775807`)],uint64:[/* @__PURE__*/ BigInt(0),/* @__PURE__*/ BigInt(`18446744073709551615`)]};function pe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return p(i,e,me(e,t)),g(e,h(n,{shape:i,checks:[]}))}function me(e,t){let n=u(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: \"${String(e)}\"`);t[e]&&r.push(e)}return r}function he(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(me(e,t)),a={};return p(a,e,Reflect.ownKeys(u(e)).filter(e=>!i.has(e))),g(e,h(n,{shape:a,checks:[]}))}function ge(e,t){if(!ae(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=u(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error(\"Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.\")}return g(e,h(e._zod.def,{shape:_e(e,t)}))}function _e(e,t){let n={};return p(n,e,Reflect.ownKeys(u(e))),m(n,t),n}function ve(e,t){if(!ae(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return g(e,h(e._zod.def,{shape:_e(e,t)}))}function ye(e,t){if(!t?._zod?.def)throw Error(\"Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.\");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return p(n,e,Reflect.ownKeys(u(e))),p(n,t,Reflect.ownKeys(u(t))),g(e,h(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function be(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(me(t,n)):void 0,o={};return p(o,t,Reflect.ownKeys(u(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),g(t,h(t._zod.def,{shape:o,checks:[]}))}function xe(e,t,n){let r=n?new Set(me(t,n)):void 0,i={};return p(i,t,Reflect.ownKeys(u(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),g(t,h(t._zod.def,{shape:i}))}function v(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 Se(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Ce(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function we(e){return typeof e==`string`?e:e?.message}function Te(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function y(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:we(e.inst?._zod.def?.error?.(e))??we(a?.(e))??we(t?.error?.(e))??we(n.customError?.(e))??we(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}let Ee=/[\\uD800-\\uDBFF]/;function De(e){let t=e.length;if(!Ee.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function Oe(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function ke(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function Ae(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function je(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Fe(e,n,r.value)}}function Me(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Ne(e,t,n){return Me(e,t,n,!1)}function Pe(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return Me(this,n,r(this))},set(e){Me(this,n,e)}})}return t}function Fe(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:Me(this,t,n.bind(this))},set(e){Me(this,t,e)}})}function Ie(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let Le,Re=!1,ze={configurable:!0,get(){Re=!0}};function b(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Le!==e._zod){Le=void 0;return}Le=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,ze);let e=Re;Re=!1;try{let r=n(this);return Re?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Re||=e,r}catch(n){throw delete this[t],Re||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function Be(e,t,n,r){let i=Ie(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}function Ve(e){let t=()=>e;return t[`~constantCatch`]=!0,t}var He;let Ue={value:void 0,enumerable:!1},We=`captureStackTrace`in Error?Error:null;function Ge(e){let t=We;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return We=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function x(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=/* @__PURE__ */ new Set}a.prototype=i;let o=n,s=o&&/* @__PURE__ */ new WeakSet;function c(n,r){if(!n._zod){Ue.value=new a(r);try{Object.defineProperty(n,\"_zod\",Ue)}finally{Ue.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),je(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,\"name\",{value:e});function d(e){let t=r?.Parent?Ge(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,\"init\",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,\"name\",{value:e}),d}var Ke=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},qe=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(He=globalThis).__zod_globalConfig??(He.__zod_globalConfig={});let S=globalThis.__zod_globalConfig;function C(e){return e&&Object.assign(S,e),S}function Je(){let e=this._zod;return e.message??=JSON.stringify(e.def,n,2),e.message}function Ye(e){this._zod.message=e}let Xe={get:Je,set:Ye,enumerable:!0,configurable:!0},Ze={value:void 0,enumerable:!1},Qe=/* @__PURE__ */ new WeakSet([Object.prototype,Error.prototype]),$e=(e,t)=>{e.name=`$ZodError`,Ze.value=t,Object.defineProperty(e,\"issues\",Ze),Ze.value=void 0,Object.defineProperty(e,\"message\",Xe);let n=Object.getPrototypeOf(e);Qe.has(n)||(Qe.add(n),Object.defineProperty(n,\"toString\",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,\"toString\",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,\"toString\",{value:e,configurable:!0,writable:!0})}}))},et=x(`$ZodError`,$e),tt=x(`$ZodError`,$e,void 0,{Parent:Error});function nt(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function rt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?nt(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function it(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function at(e,t){return{callee:t?.callee??e,Err:t?.Err}}let ot=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Ke;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>y(e,o,C())));throw ne(n,a?.callee??t),n}return s.value};return t},st=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>y(e,o,C())));throw ne(n,a?.callee??t),n}return s.value};return t},ct=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Ke;return a.issues.length?ut(e,a.issues,i):{success:!0,data:a.value}},lt=/* @__PURE__*/ ct(tt);function ut(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>y(e,n,C()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}let dt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?ut(e,a.issues,i):{success:!0,data:a.value}},ft=/* @__PURE__ */ Symbol.for(`zod.compile.invalid`),pt=/* @__PURE__ */ Symbol.for(`zod.compile.fallback`),mt=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==ft)return!0;if(r.definite===!0&&n===void 0)return!1}return ht(e,t,n)});function ht(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[pt]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new Ke;return a.issues.length===0}let gt=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},_t=e=>{let t=ot(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,at(n,a))};return n},vt=e=>{let t=ot(e),n=(e,r,i,a)=>t(e,r,i,at(n,a));return n},yt=e=>{let t=st(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,at(n,a))};return n},bt=e=>{let t=st(e),n=async(e,r,i,a)=>await t(e,r,i,at(n,a));return n},xt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ct(e)(t,n,i)},St=e=>(t,n,r)=>ct(e)(t,n,r),Ct=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return dt(e)(t,n,i)},wt=e=>async(t,n,r)=>dt(e)(t,n,r),Tt=/^[cC][0-9a-z]{6,}$/,Et=/^[0-9a-z]+$/,Dt=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Ot=/^[0-9a-vA-V]{20}$/,kt=/^[A-Za-z0-9]{27}$/,At=/^[a-zA-Z0-9_-]{21}$/;function jt(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}let Mt=/^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/,Nt=/^([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})$/,Pt=e=>e?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)$/,Ft=/^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;function It(){return/* @__PURE__ */ RegExp(`^(?=[\\\\s\\\\S]*[\\\\p{Extended_Pictographic}\\\\p{Regional_Indicator}\\\\u20E3])[\\\\p{Extended_Pictographic}\\\\p{Emoji_Component}]+$`,`u`)}let Lt=/^(?:(?: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])$/,Rt=/^(([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}|:))$/,zt=/^((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])$/,Bt=/^(([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}|:))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Vt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ht=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Ut=/^https?$/,Wt=/^\\+[1-9]\\d{6,14}$/,Gt=`(?:(?:\\\\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])))`;function Kt(e){return RegExp(`^${e}$`)}let qt=/*@__PURE__*/ Kt(Gt);function Jt(e){let 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}}`:e.seconds?`${t}:[0-5]\\\\d(?:\\\\.\\\\d+)?`:`${t}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`}function Yt(e){return RegExp(`^${Jt(e)}$`)}function Xt(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);let n=`${Jt({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${Jt({precision:e.precision})}`:n;return RegExp(`^${Gt}T(?:${r})$`)}let Zt=/^[\\s\\S]{0,}$/,Qt=/^-?\\d+$/,$t=/^-?\\d+(?:\\.\\d+)?$/,en=/^(?:true|false)$/i,tn=/^null$/i,nn=/^undefined$/i,rn=/^[^A-Z]*$/,an=/^[^a-z]*$/,w=/*@__PURE__*/ x(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),on=e=>{let t=e.value;return!a(t)&&t.length!==void 0},sn={number:`number`,bigint:`bigint`,object:`date`},cn=/*@__PURE__*/ x(`$ZodCheckLessThan`,(e,t)=>{w.init(e,t);let n=sn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:sn[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ln=/*@__PURE__*/ x(`$ZodCheckGreaterThan`,(e,t)=>{w.init(e,t);let n=sn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:sn[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),un=/*@__PURE__*/ x(`$ZodCheckMultipleOf`,(e,t)=>{w.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):s(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})}}),dn=/*@__PURE__*/ x(`$ZodCheckNumberFormat`,(e,t)=>{w.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=de[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),fn=/*@__PURE__*/ x(`$ZodCheckMaxLength`,(e,t)=>{var n;w.init(e,t),(n=e._zod.def).when??(n.when=on),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?De(r):i)<=t.maximum)return;let a=Oe(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),pn=/*@__PURE__*/ x(`$ZodCheckMinLength`,(e,t)=>{var n;w.init(e,t),(n=e._zod.def).when??(n.when=on),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?De(r):i)>=t.minimum)return;let a=Oe(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),mn=/*@__PURE__*/ x(`$ZodCheckLengthEquals`,(e,t)=>{var n;w.init(e,t),(n=e._zod.def).when??(n.when=on),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?De(r):i;if(a===t.length)return;let o=Oe(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),hn=/*@__PURE__*/ x(`$ZodCheckStringFormat`,(e,t)=>{var n,r;w.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),gn=/*@__PURE__*/ x(`$ZodCheckRegex`,(e,t)=>{hn.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})}}),_n=/*@__PURE__*/ x(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=rn,hn.init(e,t)}),vn=/*@__PURE__*/ x(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=an,hn.init(e,t)}),yn=/*@__PURE__*/ x(`$ZodCheckIncludes`,(e,t)=>{w.init(e,t);let n=ce(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),bn=/*@__PURE__*/ x(`$ZodCheckStartsWith`,(e,t)=>{w.init(e,t);let n=RegExp(`^${ce(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),xn=/*@__PURE__*/ x(`$ZodCheckEndsWith`,(e,t)=>{w.init(e,t);let n=RegExp(`.*${ce(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Sn=/*@__PURE__*/ x(`$ZodCheckOverwrite`,(e,t)=>{w.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var Cn=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`\n`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\\n${t.join(`\n`)}\\n};`)(...Object.values(this.closed))}};let wn={major:4,minor:6,patch:5},T=/*@__PURE__*/ x(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=wn;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=v(t),a;for(let o of n){if(o._zod.def.when){if(Se(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new Ke;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(Te(t.issues,n,e),i||=v(t,n))});else{if(t.issues.length===n)continue;Te(t.issues,n,e),i||=v(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(v(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new Ke;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new Ke;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get\"~standard\"(){return Ne(this,`~standard`,Dn(this))},set\"~standard\"(e){Me(this,`~standard`,e)}}),Tn=(e,t)=>e.issues.length?{issues:e.issues.map(e=>y(e,t,C()))}:{value:e.value};async function En(e,t){let n={async:!0};return Tn(await e._zod.run({value:t,issues:[]},n),n)}function Dn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return Tn(r,n)}catch{}return En(e,t)},vendor:`zod`,version:1}}let On=/*@__PURE__*/ x(`$ZodString`,(e,t)=>{T.init(e,t),e._zod.pattern=t.pattern??Zt,e._zod.parse=(n,r)=>{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}}),E=/*@__PURE__*/ x(`$ZodStringFormat`,(e,t)=>{hn.init(e,t),On.init(e,t)}),kn=/*@__PURE__*/ x(`$ZodGUID`,(e,t)=>{t.pattern??=Nt,E.init(e,t)}),An=/*@__PURE__*/ x(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: \"${t.version}\"`);t.pattern??=Pt(e)}else t.pattern??=Pt();E.init(e,t)}),jn=/*@__PURE__*/ x(`$ZodEmail`,(e,t)=>{t.pattern??=Ft,E.init(e,t)});function Mn(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function Nn(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?Mn(e)||2:Pn(e,t)}function Pn(e,t){if(!t.normalize&&t.protocol?.source===Ut.source&&!/^https?:\\/\\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}let Fn=/[\\t\\n\\r]/g;function In(e){return e.replace(Fn,``)}function Ln(e,t){return t.lastIndex=0,t.test(e.hostname)}function Rn(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}let zn=/*@__PURE__*/ x(`$ZodURL`,(e,t)=>{E.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=Nn(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=In(r);return}t.hostname&&!Ln(i,t.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&&!Rn(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:In(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Bn=/*@__PURE__*/ x(`$ZodEmoji`,(e,t)=>{t.pattern??=It(),E.init(e,t)}),Vn=/*@__PURE__*/ x(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?At:jt(t.length),E.init(e,t)}),Hn=/*@__PURE__*/ x(`$ZodCUID`,(e,t)=>{t.pattern??=Tt,E.init(e,t)}),Un=/*@__PURE__*/ x(`$ZodCUID2`,(e,t)=>{t.pattern??=Et,E.init(e,t)}),Wn=/*@__PURE__*/ x(`$ZodULID`,(e,t)=>{t.pattern??=Dt,E.init(e,t)}),Gn=/*@__PURE__*/ x(`$ZodXID`,(e,t)=>{t.pattern??=Ot,E.init(e,t)}),Kn=/*@__PURE__*/ x(`$ZodKSUID`,(e,t)=>{t.pattern??=kt,E.init(e,t)}),qn=/*@__PURE__*/ x(`$ZodISODateTime`,(e,t)=>{t.pattern??=Xt(t),E.init(e,t)}),Jn=/*@__PURE__*/ x(`$ZodISODate`,(e,t)=>{t.pattern??=qt,E.init(e,t)}),Yn=/*@__PURE__*/ x(`$ZodISOTime`,(e,t)=>{t.pattern??=Yt(t),E.init(e,t)}),Xn=/*@__PURE__*/ x(`$ZodISODuration`,(e,t)=>{t.pattern??=Mt,E.init(e,t)}),Zn=/*@__PURE__*/ x(`$ZodIPv4`,(e,t)=>{t.pattern??=Lt,E.init(e,t)}),Qn=/^[0-9a-fA-F:.]+$/;function $n(e){return Qn.test(e)?Mn(`http://[${e}]`):!1}let er=/*@__PURE__*/ x(`$ZodIPv6`,(e,t)=>{t.pattern??=Rt,E.init(e,t),e._zod.check=n=>{$n(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),tr=/*@__PURE__*/ x(`$ZodCIDRv4`,(e,t)=>{t.pattern??=zt,E.init(e,t)});function nr(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:$n(n)}let rr=/*@__PURE__*/ x(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Bt,E.init(e,t),e._zod.check=n=>{nr(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function ir(e){if(e===``)return!0;if(/\\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}let ar=/^[0-9a-zA-Z+/]*={0,2}$/,or=/*@__PURE__*/ x(`$ZodBase64`,(e,t)=>{t.pattern??=ar,E.init(e,t),e._zod.check=n=>{ir(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),sr=/^[A-Za-z0-9_-]*$/;function cr(e){if(!sr.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return ir(t.padEnd(Math.ceil(t.length/4)*4,`=`))}let lr=/*@__PURE__*/ x(`$ZodBase64URL`,(e,t)=>{t.pattern??=sr,E.init(e,t),e._zod.check=n=>{cr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),ur=/*@__PURE__*/ x(`$ZodE164`,(e,t)=>{t.pattern??=Wt,E.init(e,t)});function dr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}let fr=/*@__PURE__*/ x(`$ZodJWT`,(e,t)=>{E.init(e,t),e._zod.check=n=>{dr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),pr=/*@__PURE__*/ x(`$ZodNumber`,(e,t)=>{T.init(e,t),e._zod.pattern=$t,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),mr=/*@__PURE__*/ x(`$ZodNumberFormat`,(e,t)=>{dn.init(e,t),pr.init(e,t)}),hr=/*@__PURE__*/ x(`$ZodBoolean`,(e,t)=>{T.init(e,t),e._zod.pattern=en,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),gr=/*@__PURE__*/ x(`$ZodUndefined`,(e,t)=>{T.init(e,t),e._zod.pattern=nn,e._zod.values=/* @__PURE__ */ new Set([void 0]),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`undefined`,code:`invalid_type`,input:r,inst:e}),t}}),_r=/*@__PURE__*/ x(`$ZodNull`,(e,t)=>{T.init(e,t),e._zod.pattern=tn,e._zod.values=/* @__PURE__ */ new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),vr=/*@__PURE__*/ x(`$ZodUnknown`,(e,t)=>{T.init(e,t),e._zod.parse=e=>e}),yr=/*@__PURE__*/ x(`$ZodNever`,(e,t)=>{T.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function br(e,t,n){e.issues.length&&t.issues.push(...Ce(n,e.issues)),t.value[n]=e.value}let xr=/*@__PURE__*/ x(`$ZodArray`,(e,t)=>{T.init(e,t);let n=S.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>br(t,r,e)));else if(br(c,r,e),s&&c.issues.length!==0&&v(c))break}return o.length?Promise.all(o).then(()=>r):r}});function Sr(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...Ce(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}let Cr=[];function wr(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:Cr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${String(t)}\": expected a Zod schema`);let a=ue(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Tr(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(v(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Sr(e,n,i,t,d,f))):Sr(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}let Er=/*@__PURE__*/ x(`$ZodObject`,(e,t)=>{T.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,\"shape\",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,\"shape\",{get:e})}let a=i(()=>wr(t));b(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||c(n,e,/* @__PURE__ */ new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let o=re,s=t.catchall,l,u=S.memoizer;u?.attach(e),e._zod.parse=(t,n)=>{l??=a.value;let r=t.value;if(!o(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=u?u.alloc(e,t,{},n):{};let i=[],c=l.shape,d=n?.abortEarly,f=t.issues.length;for(let e of l.allKeys){if(d&&t.issues.length!==f){if(v(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let a=c[e],o=a._zod.optin,s=a._zod.optout,l=a._zod.run({value:r[e],issues:[]},n);l instanceof Promise?i.push(l.then(n=>Sr(n,t,e,r,o,s))):Sr(l,t,e,r,o,s)}return s?Tr(i,r,t,n,a.value,e,d===!0):i.length?Promise.all(i).then(()=>t):t}}),Dr=/*@__PURE__*/ x(`$ZodObjectJIT`,(e,t)=>{Er.init(e,t);let n=e._zod.parse,r=i(()=>wr(t)),a=S.memoizer,o=t=>{let n=r.value,i=n.symbolKeys,o=new Cn([`payload`,`ctx`],{shape:t,inst:e,memo:a,syms:i}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`\n let ${e}_ab = false;\n for (let i = 0; i < ${e}.issues.length; i++) {\n const iss = ${e}.issues[i];\n iss.path = iss.path ? [${t}, ...iss.path] : [${t}];\n payload.issues.push(iss);\n if (iss.continue !== true) ${e}_ab = true;\n }\n if (${e}_ab && ctx && ctx.abortEarly) {\n payload.value = newResult;\n return payload;\n }`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(a?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${i.indexOf(e)}]`:ee(e),a=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`\n const ${n}_present = ${a};\n if (!${n}.issues.length || ${n}_present) {\n if (${n}.issues.length) {${c(n,r)}\n }\n\n if (${e}) {\n newResult[${r}] = ${n}.value;\n }\n }\n\n `)}else f?(o.write(`\n if (${n}.issues.length) {${c(n,r)}\n }\n `),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`\n if (${n}.value !== undefined || ${a}) {\n newResult[${r}] = ${n}.value;\n }\n `)):o.write(`\n const ${n}_present = ${a};\n if (${n}.issues.length) {${c(n,r)}\n }\n if (!${n}_present && !${n}.issues.length) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: undefined,\n path: [${r}]\n });\n if (ctx && ctx.abortEarly) {\n payload.value = newResult;\n return payload;\n }\n }\n\n if (${n}_present) {\n newResult[${r}] = ${n}.value;\n }\n\n `)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},s,c=re,l=!S.jitless,u=l&&ie.value,d=t.catchall,f;e._zod.parse=(i,a)=>{f??=r.value;let p=i.value;return c(p)?l&&u&&a?.async===!1&&a.jitless!==!0?(s||=o(t.shape),i=s(i,a),d?Tr([],p,i,a,f,e,a?.abortEarly===!0):i):n(i,a):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function Or(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!v(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>y(e,r,C())))}),t)}let kr=/*@__PURE__*/ x(`$ZodUnion`,(e,t)=>{T.init(e,t),b(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),b(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),b(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),b(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>o(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Or(t,r,e,i)):Or(o,r,e,i)}});function Ar(e){let t=/* @__PURE__ */ new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index \"${e.options.indexOf(n)}\"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value \"${String(e)}\"`);t.set(e,null)}else t.set(e,n)}return t}let jr=/*@__PURE__*/ x(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,kr.init(e,t);let n=e._zod.parse;b(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index \"${e.def.options.indexOf(r)}\"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||c(t,e,/* @__PURE__ */ new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=l(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index \"${n}\"`)});let r=i(()=>Ar(t));e._zod.parse=(i,a)=>{let o=i.value;if(!re(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),Mr=/*@__PURE__*/ x(`$ZodIntersection`,(e,t)=>{T.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Pr(e,t,n)):Pr(e,i,a)}});function Nr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ae(e)&&ae(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=Nr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Nr(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Pr(e,t,n){let r=/* @__PURE__ */ new Map,i,a=/* @__PURE__ */ new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=Nr(t.value,n.value);if(!c.valid){if(v(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}let Fr=/*@__PURE__*/ x(`$ZodRecord`,(e,t)=>{T.init(e,t);let n=S.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!ae(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=/* @__PURE__ */ new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>y(e,i,C())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Ce(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Ce(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&$t.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>y(e,i,C())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Ce(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Ce(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),Ir=/*@__PURE__*/ x(`$ZodEnum`,(t,n)=>{T.init(t,n);let r=e(n.entries),i=new Set(r);t._zod.values=i,b(t,`pattern`,t=>{let n=e(t.def.entries).filter(e=>se.has(typeof e));return RegExp(n.length?`^(${n.map(e=>ce(e.toString())).join(`|`)})$`:`^[^\\\\s\\\\S]$`)}),t._zod.parse=(e,n)=>{let a=e.value;return i.has(a)||e.issues.push({code:`invalid_value`,values:r,input:a,inst:t}),e}}),Lr=/*@__PURE__*/ x(`$ZodLiteral`,(e,t)=>{T.init(e,t);let n=new Set(t.values);e._zod.values=n,b(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?ce(e):e?ce(e.toString()):String(e)).join(`|`)})$`:`^[^\\\\s\\\\S]$`)}),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),Rr=/*@__PURE__*/ x(`$ZodTransform`,(e,t)=>{T.init(e,t),e._zod.optin=`optional`,S.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new qe(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new Ke;return n.value=i,n}});function zr(e,t){return e.value=t.issues.length?void 0:t.value,e}let Br=/*@__PURE__*/ x(`$ZodOptional`,(e,t)=>{T.init(e,t),b(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,b(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?/* @__PURE__ */ new Set([...t,void 0]):void 0}),b(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${o(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>zr(e,t)):zr(e,r)}return t.innerType._zod.run(e,n)}}),Vr=/*@__PURE__*/ x(`$ZodExactOptional`,(e,t)=>{Br.init(e,t),b(e,`values`,e=>e.def.innerType._zod.values),b(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Hr=/*@__PURE__*/ x(`$ZodNullable`,(e,t)=>{T.init(e,t),b(e,`optin`,e=>e.def.innerType._zod.optin),b(e,`optout`,e=>e.def.innerType._zod.optout),b(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${o(t.source)}|null)$`):void 0}),b(e,`values`,e=>e.def.innerType._zod.values?/* @__PURE__ */ new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Ur=/*@__PURE__*/ x(`$ZodDefault`,(e,t)=>{T.init(e,t),e._zod.optin=`defaulted`,b(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Wr(e,t)):Wr(r,t)}});function Wr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}let Gr=/*@__PURE__*/ x(`$ZodPrefault`,(e,t)=>{T.init(e,t),e._zod.optin=`defaulted`,b(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Kr=/*@__PURE__*/ x(`$ZodNonOptional`,(e,t)=>{T.init(e,t),b(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>qr(t,e)):qr(i,e)}});function qr(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function Jr(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>y(e,r,C()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}let Yr=/*@__PURE__*/ x(`$ZodCatch`,(e,t)=>{T.init(e,t),b(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),b(e,`optout`,e=>e.def.innerType._zod.optout),b(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>Jr(e,r,t,n)):Jr(e,r,t,n)}}),Xr=/*@__PURE__*/ x(`$ZodPipe`,(e,t)=>{T.init(e,t),b(e,`values`,e=>e.def.in._zod.values),b(e,`optin`,e=>e.def.in._zod.optin),b(e,`optout`,e=>e.def.out._zod.optout),b(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Zr(e,t.in,n)):Zr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Zr(e,t.out,n)):Zr(r,t.out,n)}});function Zr(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}let Qr=/*@__PURE__*/ x(`$ZodPreprocess`,(e,t)=>{Xr.init(e,t)}),$r=/*@__PURE__*/ x(`$ZodReadonly`,(e,t)=>{T.init(e,t),b(e,`propValues`,e=>e.def.innerType._zod.propValues),b(e,`values`,e=>e.def.innerType._zod.values),b(e,`optin`,e=>e.def.innerType?._zod?.optin),b(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(ei):ei(r)}});function ei(e){return e.memo||(e.value=Object.freeze(e.value)),e}let ti=/*@__PURE__*/ x(`$ZodCustom`,(e,t)=>{w.init(e,t),T.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>ni(t,n,r,e));ni(i,n,r,e)}});function ni(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Ae(e))}}var ri=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}};let ii=`~memo`,ai=[];function oi(e){return typeof e==`object`&&!!e}function si(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}let ci=/*@__PURE__*/ new WeakMap;function li(e,t,n){let r=ci.get(e);if(r!==void 0)return r?2:0;if(t.has(e))return 2;t.add(e);let i=0,a=e=>{if(i!==2&&e?._zod){let r=li(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=0;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?1:o.value?._zod?li(o.value,t,n):0;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=l(c);s(e?o(e,!0):1),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?li(r,t,!1):1);break}case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),ui(e,i)}function ui(e,t){return t!==1&&ci.set(e,t===2),t}function di(e,t){let n=e.buckets.get(t);return n||(n=/* @__PURE__ */ new WeakMap,e.buckets.set(t,n)),n}let fi,pi=[],mi={alloc(e,t,n){let r=fi;if(!r)return n;fi=void 0;let i={value:n,issues:null};return r.set(t.value,i),pi.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&gi(n,e.value))throw new ri;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=li(e,/* @__PURE__ */ new Set,!1);if(i===0)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===2||r?n=!0:r=!0}let l=s.value;if(!oi(l))return t(s,c);let u=c[ii];u||(u={buckets:/* @__PURE__ */ new WeakMap,backEdges:void 0},c[ii]=u);let d;i===c?d=a:(d=di(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...si(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=/* @__PURE__ */ new WeakSet),u.backEdges.add(f.value)),s;fi=d;let p=pi.length,m=t(s,c);fi=void 0;let h=pi.length>p?pi.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?si(e.issues):ai),e)):(h&&(h.issues=m.issues.length?si(m.issues):ai),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function hi(){return mi}function gi(e,t){let n=e[ii]?.backEdges;return n!==void 0&&oi(t)&&n.has(t)}let _i=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function n(t){return e[t]??null}let r={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},i={nan:`NaN`};function a(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):i[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${a(e.expected)}, received ${a(ke(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${le(e.values[0])}`:`Invalid option: expected one of ${t(e.values,`|`)}`;case`too_big`:{let t=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=n(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${t}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${t}${e.maximum.toString()}`}case`too_small`:{let t=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=n(e.origin);return r?`Too small: expected ${e.origin} to have ${t}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${t}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with \"${t.prefix}\"`:t.format===`ends_with`?`Invalid string: must end with \"${t.suffix}\"`:t.format===`includes`?`Invalid string: must include \"${t.includes}\"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${r[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${t(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function vi(){return{localeError:_i()}}var yi,bi=class{constructor(){this._map=/* @__PURE__ */ new WeakMap,this._idmap=/* @__PURE__ */ new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=/* @__PURE__ */ new WeakMap,this._idmap=/* @__PURE__ */ new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function xi(){return new bi}(yi=globalThis).__zod_globalRegistry??(yi.__zod_globalRegistry=xi());let Si=globalThis.__zod_globalRegistry;function Ci(e){return e.checks&&=[...e.checks],e}// @__NO_SIDE_EFFECTS__\nfunction wi(e,t){return new e(Ci({type:`string`,..._(t)}))}// @__NO_SIDE_EFFECTS__\nfunction Ti(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Ei(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Di(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Oi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction ki(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Ai(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction ji(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Mi(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Ni(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Pi(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Fi(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Ii(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Li(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Ri(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction zi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Bi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Vi(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Hi(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Ui(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Wi(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Gi(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Ki(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction qi(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Ji(e,t){return new e({type:`string`,format:`date`,check:`string_format`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Yi(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Xi(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction Zi(e,t){return new e(Ci({type:`number`,checks:[],..._(t)}))}// @__NO_SIDE_EFFECTS__\nfunction Qi(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction $i(e,t){return new e({type:`boolean`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction ea(e,t){return new e({type:`undefined`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction ta(e,t){return new e({type:`null`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction na(e){return new e({type:`unknown`})}// @__NO_SIDE_EFFECTS__\nfunction ra(e,t){return new e({type:`never`,..._(t)})}// @__NO_SIDE_EFFECTS__\nfunction ia(e,t){return new cn({check:`less_than`,..._(t),value:e,inclusive:!1})}// @__NO_SIDE_EFFECTS__\nfunction aa(e,t){return new cn({check:`less_than`,..._(t),value:e,inclusive:!0})}// @__NO_SIDE_EFFECTS__\nfunction oa(e,t){return new ln({check:`greater_than`,..._(t),value:e,inclusive:!1})}// @__NO_SIDE_EFFECTS__\nfunction sa(e,t){return new ln({check:`greater_than`,..._(t),value:e,inclusive:!0})}// @__NO_SIDE_EFFECTS__\nfunction ca(e,t){return new un({check:`multiple_of`,..._(t),value:e})}// @__NO_SIDE_EFFECTS__\nfunction la(e,t){return new fn({check:`max_length`,..._(t),maximum:e})}// @__NO_SIDE_EFFECTS__\nfunction ua(e,t){return new pn({check:`min_length`,..._(t),minimum:e})}// @__NO_SIDE_EFFECTS__\nfunction da(e,t){return new mn({check:`length_equals`,..._(t),length:e})}// @__NO_SIDE_EFFECTS__\nfunction fa(e,t){return new gn({check:`string_format`,format:`regex`,..._(t),pattern:e})}// @__NO_SIDE_EFFECTS__\nfunction pa(e){return new _n({check:`string_format`,format:`lowercase`,..._(e)})}// @__NO_SIDE_EFFECTS__\nfunction ma(e){return new vn({check:`string_format`,format:`uppercase`,..._(e)})}// @__NO_SIDE_EFFECTS__\nfunction ha(e,t){return new yn({check:`string_format`,format:`includes`,..._(t),includes:e})}// @__NO_SIDE_EFFECTS__\nfunction ga(e,t){return new bn({check:`string_format`,format:`starts_with`,..._(t),prefix:e})}// @__NO_SIDE_EFFECTS__\nfunction _a(e,t){return new xn({check:`string_format`,format:`ends_with`,..._(t),suffix:e})}// @__NO_SIDE_EFFECTS__\nfunction va(e){return new Sn({check:`overwrite`,tx:e})}// @__NO_SIDE_EFFECTS__\nfunction ya(e){return/* @__PURE__ */ va(t=>t.normalize(e))}// @__NO_SIDE_EFFECTS__\nfunction ba(){return/* @__PURE__ */ va(e=>e.trim())}// @__NO_SIDE_EFFECTS__\nfunction xa(){return/* @__PURE__ */ va(e=>e.toLowerCase())}// @__NO_SIDE_EFFECTS__\nfunction Sa(){return/* @__PURE__ */ va(e=>e.toUpperCase())}// @__NO_SIDE_EFFECTS__\nfunction Ca(){return/* @__PURE__ */ va(e=>te(e))}// @__NO_SIDE_EFFECTS__\nfunction wa(e,t,n){return new e({type:`array`,element:t,..._(n)})}// @__NO_SIDE_EFFECTS__\nfunction Ta(e,t,n){let r=_(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}// @__NO_SIDE_EFFECTS__\nfunction Ea(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,..._(n)})}// @__NO_SIDE_EFFECTS__\nfunction Da(e,t){let n=/* @__PURE__ */ Oa(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Ae(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(Ae(r))}},e(t.value,t)),t);return n}// @__NO_SIDE_EFFECTS__\nfunction Oa(e,t){let n=new w({check:`custom`,..._(t)});return n._zod.check=e,n}function ka(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&c(e,t,n[t]);return e}function Aa(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??Si,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:/* @__PURE__ */ new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function D(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function O(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,O(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&ka(o.schema,c),t.io===`input`&&k(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function ja(e){return e.replace(/~/g,`~0`).replace(/\\//g,`~1`)}function Ma(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=/* @__PURE__ */ new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id \"${n}\" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${ja(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+ja(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>\n\nSet the \\`cycles\\` parameter to \\`\"ref\"\\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Na(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Na(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}let Pa=/* @__PURE__ */ new Set([`type`,`properties`,`required`,`additionalProperties`]),Fa=[`oneOf`,`anyOf`];function Ia(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function La(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Pa.has(e))return null;t.push(n)}let n={},r=/* @__PURE__ */ new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??Ia(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}c(n,r,e.length===1?e[0]:La(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Ia(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function Ra(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Pa)if(t in e)return;let n=t.filter(e=>Fa.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=La(t);else{let e=n[0],i=Fa.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>La([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,ka(e,r))}function za(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):ka(i,s),ka(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Na(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=/* @__PURE__ */ new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])Ra(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error(\"Schema is missing an `id` property\");i.$id=e.external.uri(n)}ka(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,c(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,\"~standard\",{value:{...t[`~standard`],jsonSchema:{input:Va(t,`input`,e.processors),output:Va(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function k(e,t){let n=t??{seen:/* @__PURE__ */ new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return k(r.element,n);if(r.type===`set`)return k(r.valueType,n);if(r.type===`lazy`)return k(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===\"default\"||r.type===`prefault`||r.type===`catch`)return k(r.innerType,n);if(r.type===`intersection`)return k(r.left,n)||k(r.right,n);if(r.type===`record`||r.type===`map`)return k(r.keyType,n)||k(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:k(r.in,n)||k(r.out,n);if(r.type===`object`){for(let e in r.shape)if(k(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(k(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(k(e,n))return!0;return!!(r.rest&&k(r.rest,n))}return!1}let Ba=(e,t={})=>n=>{let r=Aa({...n,processors:t});return O(e,r),Ma(r,e),za(r,e)},Va=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Aa({...i??{},target:a,io:t,processors:n});return O(e,o),Ma(o,e),za(o,e)},Ha=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},Ua=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Wa=(e,t)=>{Ha(e,`minimum`,t),Ua(e,`maximum`,t)},Ga=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Ka=(e,t)=>{e.patterns??=/* @__PURE__ */ new Set,e.patterns.add(t)},qa=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Ja=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Ya=(e,t)=>Ha(e,`minimum`,t.minimum),Xa=(e,t)=>Ua(e,`maximum`,t.maximum),Za=e=>(t,n)=>{Ja(t,n.format);let[r,i]=e[n.format];Ha(t,`minimum`,r),Ua(t,`maximum`,i)},Qa={greater_than:(e,t)=>Ha(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>Ua(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Ga(e,t.value),number_format:Za(de),bigint_format:Za(fe),min_length:Ya,max_length:Xa,length_equals:(e,t)=>Wa(e,t.length),min_size:Ya,max_size:Xa,size_equals:(e,t)=>Wa(e,t.size),string_format:(e,t)=>{Ja(e,t.format),t.pattern&&Ka(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>qa(e,t.mime)};function A(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Qa[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Ha(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Ha(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&Ua(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&Ua(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Ga(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&qa(t,i.mime);for(let e of i.patterns??[])Ka(t,e);return t}let $a={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},eo=/* @__PURE__ */ new Map([[ar,Vt],[sr,Ht]]),to=e=>eo.get(e)??e,no=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=A(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=$a[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(to);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},ro=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=A(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=/* @__PURE__ */ new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):D(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},io=(e,t,n,r)=>{n.type=`boolean`},ao=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},oo=(e,t,n,r)=>{D(e,t,n,r,`Undefined cannot be represented in JSON Schema`)},so=(e,t,n,r)=>{n.not={}},co=(t,n,r,i)=>{let a=t._zod.def,o=e(a.entries);if(o.length===0){r.not={};return}o.every(e=>typeof e==`number`)&&(r.type=`number`),o.every(e=>typeof e==`string`)&&(r.type=`string`),r.enum=o},lo=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(D(e,t,n,r,\"Literal `undefined` cannot be represented in JSON Schema\"))return}else if(typeof o==`bigint`){if(D(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},uo=(e,t,n,r)=>{D(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},fo=(e,t,n,r)=>{D(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},po=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=A(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=O(a.element,t,{...r,path:[...r.path,`items`]})};function mo(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?mo(t.out):t.type===`catch`?mo(t.innerType):e._zod.optin}let ho=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&D(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)c(i.properties,e,O(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?mo(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=O(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},go=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>O(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},_o=(e,t,n,r)=>{let i=e._zod.def,a=O(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=O(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)};function vo(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=vo(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>vo(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?$t:Qt).source),p):p}let yo=/* @__PURE__ */ new WeakMap;function bo(e){let t=/* @__PURE__ */ new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=/* @__PURE__ */ new Map;for(let r of yo.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=vo(t,a,/* @__PURE__ */ new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}let xo=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=A(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=O(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)c(i.patternProperties,to(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=O(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=yo.get(t);n||(n=[],yo.set(t,n),t.deferred.push(()=>bo(t))),n.push(e)}i.additionalProperties=O(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let l=o._zod.values,u=t.io===`input`&&mo(a.valueType)!==void 0;if(l&&!a.partial&&!u){let e=[...l].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},So=(e,t,n,r)=>{let i=e._zod.def,a=O(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Co=(e,t,n,r)=>{let i=e._zod.def;O(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},wo=Symbol();function To(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(D(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),wo):JSON.parse(o)}let Eo=(e,t,n,r)=>{let i=e._zod.def;O(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=To(i.defaultValue,e,t,n,r);o!==wo&&(n.default=o)},Do=(e,t,n,r)=>{let i=e._zod.def;O(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=To(i.defaultValue,e,t,n,r);o!==wo&&(n._prefault=o)},Oo=(e,t,n,r)=>{let i=e._zod.def;O(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{D(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},ko=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;O(o,t,r);let s=t.seen.get(e);s.ref=o},Ao=(e,t,n,r)=>{let i=e._zod.def;O(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},jo=(e,t,n,r)=>{let i=e._zod.def;O(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Mo=/* @__PURE__ */ new WeakSet([Object.prototype,Error.prototype]);function No(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}let j=/*@__PURE__*/ x(`ZodError`,(e,t)=>{et.init(e,t),e.name=`ZodError`;let r=Object.getPrototypeOf(e);Mo.has(r)||(Mo.add(r),No(r,`format`,e=>t=>it(e,t)),No(r,`flatten`,e=>t=>rt(e,t)),No(r,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,n,2)}),No(r,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,n,2)}),Object.defineProperty(r,\"isEmpty\",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Po=/* @__PURE__ */ ot(j),Fo=/* @__PURE__ */ st(j),Io=/* @__PURE__ */ ct(j),Lo=/* @__PURE__ */ dt(j),Ro=/* @__PURE__ */ _t(j),zo=/* @__PURE__ */ vt(j),Bo=/* @__PURE__ */ yt(j),Vo=/* @__PURE__ */ bt(j),Ho=/* @__PURE__ */ xt(j),Uo=/* @__PURE__ */ St(j),Wo=/* @__PURE__ */ Ct(j),Go=/* @__PURE__ */ wt(j);function Ko(){S.localeError||C(vi())}function qo(){S.memoizer||C({memoizer:hi()})}let M=/*@__PURE__*/ x(`ZodType`,(e,t)=>(Ko(),T.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(h(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return g(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(cc(e,t))},superRefine(e,t){return this.check(lc(e,t))},overwrite(e){return this.check(/* @__PURE__ */ va(e))},optional(){return G(this)},exactOptional(){return Ws(this)},nullable(){return Ks(this)},nullish(){return G(Ks(this))},nonoptional(e){return Qs(this,e)},array(){return R(this)},or(e){return V([this,e])},and(e){return Is(this,e)},transform(e){return nc(this,Vs(e))},default(e){return Js(this,e)},prefault(e){return Xs(this,e)},catch(e){return ec(this,e)},pipe(e){return nc(this,e)},readonly(){return ac(this)},describe(e){let t=this.clone();return Si.add(t,{description:e}),t},meta(...e){if(e.length===0)return Si.get(this);let t=this.clone();return Si.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get\"~standard\"(){return Ne(this,`~standard`,{...Dn(this),jsonSchema:{input:Va(this,`input`),output:Va(this,`output`)}})},set\"~standard\"(e){Me(this,`~standard`,e)},parse:function e(t,n){return Po(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Fo(this,t,n,{callee:e})},safeParse(e,t){return Io(this,e,t)},async safeParseAsync(e,t){return Lo(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){Me(this,`spa`,e)},validate(e,t){return mt(this,e,t)},validateAsync(e,t){return gt(this,e,t)},encode:function e(t,n){return Ro(this,t,n,{callee:e})},decode:function e(t,n){return zo(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Bo(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Vo(this,t,n,{callee:e})},safeEncode(e,t){return Ho(this,e,t)},safeDecode(e,t){return Uo(this,e,t)},async safeEncodeAsync(e,t){return Wo(this,e,t)},async safeDecodeAsync(e,t){return Go(this,e,t)},toJSONSchema(e){return Ba(this,{})(e)},get description(){return Si.get(this)?.description},get _def(){return this._zod.def}}),Jo=/*@__PURE__*/ x(`_ZodString`,(e,t)=>{On.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>no(e,t,n,r)},/*@__PURE__*/ Pe({format:e=>A(e).format??null,minLength:e=>A(e).minimum??null,maxLength:e=>A(e).maximum??null},{regex(...e){return this.check(/* @__PURE__ */ fa(...e))},includes(...e){return this.check(/* @__PURE__ */ ha(...e))},startsWith(...e){return this.check(/* @__PURE__ */ ga(...e))},endsWith(...e){return this.check(/* @__PURE__ */ _a(...e))},min(...e){return this.check(/* @__PURE__ */ ua(...e))},max(...e){return this.check(/* @__PURE__ */ la(...e))},length(...e){return this.check(/* @__PURE__ */ da(...e))},nonempty(...e){return this.check(/* @__PURE__ */ ua(1,...e))},lowercase(e){return this.check(/* @__PURE__ */ pa(e))},uppercase(e){return this.check(/* @__PURE__ */ ma(e))},trim(){return this.check(/* @__PURE__ */ ba())},normalize(...e){return this.check(/* @__PURE__ */ ya(...e))},toLowerCase(){return this.check(/* @__PURE__ */ xa())},toUpperCase(){return this.check(/* @__PURE__ */ Sa())},slugify(){return this.check(/* @__PURE__ */ Ca())}})),Yo=/*@__PURE__*/ x(`ZodString`,(e,t)=>{On.init(e,t),Jo.init(e,t)},{email(e){return this.check(/* @__PURE__ */ Ti(es,e))},url(e){return this.check(/* @__PURE__ */ ji(rs,e))},jwt(e){return this.check(/* @__PURE__ */ Ki(vs,e))},emoji(e){return this.check(/* @__PURE__ */ Mi(is,e))},guid(e){return this.check(/* @__PURE__ */ Ei(ts,e))},uuid(e){return this.check(/* @__PURE__ */ Di(ns,e))},uuidv4(e){return this.check(/* @__PURE__ */ Oi(ns,e))},uuidv6(e){return this.check(/* @__PURE__ */ ki(ns,e))},uuidv7(e){return this.check(/* @__PURE__ */ Ai(ns,e))},nanoid(e){return this.check(/* @__PURE__ */ Ni(as,e))},cuid(e){return this.check(/* @__PURE__ */ Pi(os,e))},cuid2(e){return this.check(/* @__PURE__ */ Fi(ss,e))},ulid(e){return this.check(/* @__PURE__ */ Ii(cs,e))},base64(e){return this.check(/* @__PURE__ */ Ui(hs,e))},base64url(e){return this.check(/* @__PURE__ */ Wi(gs,e))},xid(e){return this.check(/* @__PURE__ */ Li(ls,e))},ksuid(e){return this.check(/* @__PURE__ */ Ri(us,e))},ipv4(e){return this.check(/* @__PURE__ */ zi(ds,e))},ipv6(e){return this.check(/* @__PURE__ */ Bi(fs,e))},cidrv4(e){return this.check(/* @__PURE__ */ Vi(ps,e))},cidrv6(e){return this.check(/* @__PURE__ */ Hi(ms,e))},e164(e){return this.check(/* @__PURE__ */ Gi(_s,e))},datetime(e){return this.check(/* @__PURE__ */ qi(Xo,e))},date(e){return this.check(/* @__PURE__ */ Ji(Zo,e))},time(e){return this.check(/* @__PURE__ */ Yi(Qo,e))},duration(e){return this.check(/* @__PURE__ */ Xi($o,e))}});function N(e){return/* @__PURE__ */ wi(Yo,e)}let P=/*@__PURE__*/ x(`ZodStringFormat`,(e,t)=>{E.init(e,t),Jo.init(e,t)}),Xo=/*@__PURE__*/ x(`ZodISODateTime`,(e,t)=>{qn.init(e,t),P.init(e,t)}),Zo=/*@__PURE__*/ x(`ZodISODate`,(e,t)=>{Jn.init(e,t),P.init(e,t)}),Qo=/*@__PURE__*/ x(`ZodISOTime`,(e,t)=>{Yn.init(e,t),P.init(e,t)}),$o=/*@__PURE__*/ x(`ZodISODuration`,(e,t)=>{Xn.init(e,t),P.init(e,t)}),es=/*@__PURE__*/ x(`ZodEmail`,(e,t)=>{jn.init(e,t),P.init(e,t)}),ts=/*@__PURE__*/ x(`ZodGUID`,(e,t)=>{kn.init(e,t),P.init(e,t)}),ns=/*@__PURE__*/ x(`ZodUUID`,(e,t)=>{An.init(e,t),P.init(e,t)}),rs=/*@__PURE__*/ x(`ZodURL`,(e,t)=>{zn.init(e,t),P.init(e,t)}),is=/*@__PURE__*/ x(`ZodEmoji`,(e,t)=>{Bn.init(e,t),P.init(e,t)}),as=/*@__PURE__*/ x(`ZodNanoID`,(e,t)=>{Vn.init(e,t),P.init(e,t)}),os=/*@__PURE__*/ x(`ZodCUID`,(e,t)=>{Hn.init(e,t),P.init(e,t)}),ss=/*@__PURE__*/ x(`ZodCUID2`,(e,t)=>{Un.init(e,t),P.init(e,t)}),cs=/*@__PURE__*/ x(`ZodULID`,(e,t)=>{Wn.init(e,t),P.init(e,t)}),ls=/*@__PURE__*/ x(`ZodXID`,(e,t)=>{Gn.init(e,t),P.init(e,t)}),us=/*@__PURE__*/ x(`ZodKSUID`,(e,t)=>{Kn.init(e,t),P.init(e,t)}),ds=/*@__PURE__*/ x(`ZodIPv4`,(e,t)=>{Zn.init(e,t),P.init(e,t)}),fs=/*@__PURE__*/ x(`ZodIPv6`,(e,t)=>{er.init(e,t),P.init(e,t)}),ps=/*@__PURE__*/ x(`ZodCIDRv4`,(e,t)=>{tr.init(e,t),P.init(e,t)}),ms=/*@__PURE__*/ x(`ZodCIDRv6`,(e,t)=>{rr.init(e,t),P.init(e,t)}),hs=/*@__PURE__*/ x(`ZodBase64`,(e,t)=>{or.init(e,t),P.init(e,t)}),gs=/*@__PURE__*/ x(`ZodBase64URL`,(e,t)=>{lr.init(e,t),P.init(e,t)}),_s=/*@__PURE__*/ x(`ZodE164`,(e,t)=>{ur.init(e,t),P.init(e,t)}),vs=/*@__PURE__*/ x(`ZodJWT`,(e,t)=>{fr.init(e,t),P.init(e,t)}),ys=/*@__PURE__*/ x(`ZodNumber`,(e,t)=>{pr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ro(e,t,n,r),e.isFinite=!0},/*@__PURE__*/ Pe({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=A(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=A(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=A(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>A(e).format??null},{gt(e,t){return this.check(/* @__PURE__ */ oa(e,t))},gte(e,t){return this.check(/* @__PURE__ */ sa(e,t))},min(e,t){return this.check(/* @__PURE__ */ sa(e,t))},lt(e,t){return this.check(/* @__PURE__ */ ia(e,t))},lte(e,t){return this.check(/* @__PURE__ */ aa(e,t))},max(e,t){return this.check(/* @__PURE__ */ aa(e,t))},int(e){return this.check(xs(e))},safe(e){return this.check(xs(e))},positive(e){return this.check(/* @__PURE__ */ oa(0,e))},nonnegative(e){return this.check(/* @__PURE__ */ sa(0,e))},negative(e){return this.check(/* @__PURE__ */ ia(0,e))},nonpositive(e){return this.check(/* @__PURE__ */ aa(0,e))},multipleOf(e,t){return this.check(/* @__PURE__ */ ca(e,t))},step(e,t){return this.check(/* @__PURE__ */ ca(e,t))},finite(){return this}}));function F(e){return/* @__PURE__ */ Zi(ys,e)}let bs=/*@__PURE__*/ x(`ZodNumberFormat`,(e,t)=>{mr.init(e,t),ys.init(e,t)});function xs(e){return/* @__PURE__ */ Qi(bs,e)}let Ss=/*@__PURE__*/ x(`ZodBoolean`,(e,t)=>{hr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>io(e,t,n,r)});function I(e){return/* @__PURE__ */ $i(Ss,e)}let Cs=/*@__PURE__*/ x(`ZodUndefined`,(e,t)=>{gr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oo(e,t,n,r)});function ws(e){return/* @__PURE__ */ ea(Cs,e)}let Ts=/*@__PURE__*/ x(`ZodNull`,(e,t)=>{_r.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ao(e,t,n,r)});function Es(e){return/* @__PURE__ */ ta(Ts,e)}let Ds=/*@__PURE__*/ x(`ZodUnknown`,(e,t)=>{vr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function L(){return/* @__PURE__ */ na(Ds)}let Os=/*@__PURE__*/ x(`ZodNever`,(e,t)=>{yr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>so(e,t,n,r)});function ks(e){return/* @__PURE__ */ ra(Os,e)}let As=/*@__PURE__*/ x(`ZodArray`,(e,t)=>{qo(),xr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>po(e,t,n,r),e.element=t.element},{min(e,t){return this.check(/* @__PURE__ */ ua(e,t))},nonempty(e){return this.check(/* @__PURE__ */ ua(1,e))},max(e,t){return this.check(/* @__PURE__ */ la(e,t))},length(e,t){return this.check(/* @__PURE__ */ da(e,t))},unwrap(){return this.element}});function R(e,t){return/* @__PURE__ */ wa(As,e,t)}let js=/*@__PURE__*/ x(`ZodObject`,(e,t)=>{qo(),Dr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ho(e,t,n,r),Be(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return U(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(h(this._zod.def,{catchall:e}))},passthrough(){return this.clone(h(this._zod.def,{catchall:L()}))},loose(){return this.clone(h(this._zod.def,{catchall:L()}))},strict(){return this.clone(h(this._zod.def,{catchall:ks()}))},strip(){return this.clone(h(this._zod.def,{catchall:void 0}))},extend(e){return ge(this,e)},safeExtend(e){return ve(this,e)},merge(e){return ye(this,e)},pick(e){return pe(this,e)},omit(e){return he(this,e)},partial(...e){return be(Hs,this,e[0])},exactPartial(...e){return be(Us,this,e[0],`exactPartial`)},required(...e){return xe(Zs,this,e[0])}});function z(e,t){let n={type:`object`,shape:e??{},..._(t)};return new js(n)}function B(e,t){return new js({type:`object`,shape:e,catchall:L(),..._(t)})}let Ms=/*@__PURE__*/ x(`ZodUnion`,(e,t)=>{kr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>go(e,t,n,r),e.options=t.options});function V(e,t){return new Ms({type:`union`,options:e,..._(t)})}let Ns=/*@__PURE__*/ x(`ZodDiscriminatedUnion`,(e,t)=>{Ms.init(e,t),jr.init(e,t)});function Ps(e,t,n){return new Ns({type:`union`,options:t,discriminator:e,..._(n)})}let Fs=/*@__PURE__*/ x(`ZodIntersection`,(e,t)=>{Mr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_o(e,t,n,r)});function Is(e,t){return new Fs({type:`intersection`,left:e,right:t})}let Ls=/*@__PURE__*/ x(`ZodRecord`,(e,t)=>{qo(),Fr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xo(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function H(e,t,n){return!t||!t._zod?new Ls({type:`record`,keyType:N(),valueType:e,..._(t)}):new Ls({type:`record`,keyType:e,valueType:t,..._(n)})}let Rs=/*@__PURE__*/ x(`ZodEnum`,(e,t)=>{Ir.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>co(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Rs({...t,checks:[],..._(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Rs({...t,checks:[],..._(r),entries:i})}});function U(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Rs({type:`enum`,entries:n,..._(t)})}let zs=/*@__PURE__*/ x(`ZodLiteral`,(e,t)=>{Lr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lo(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,\"value\",{get(){if(t.values.length>1)throw Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");return t.values[0]}})});function W(e,t){return new zs({type:`literal`,values:Array.isArray(e)?e:[e],..._(t)})}let Bs=/*@__PURE__*/ x(`ZodTransform`,(e,t)=>{qo(),Rr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fo(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new qe(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ae(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(Ae(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Vs(e){return new Bs({type:`transform`,transform:e})}let Hs=/*@__PURE__*/ x(`ZodOptional`,(e,t)=>{Br.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function G(e){return new Hs({type:`optional`,innerType:e})}let Us=/*@__PURE__*/ x(`ZodExactOptional`,(e,t)=>{Vr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ws(e){return new Us({type:`optional`,innerType:e})}let Gs=/*@__PURE__*/ x(`ZodNullable`,(e,t)=>{Hr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>So(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ks(e){return new Gs({type:`nullable`,innerType:e})}let qs=/*@__PURE__*/ x(`ZodDefault`,(e,t)=>{Ur.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Eo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Js(e,t){return new qs({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():oe(t)}})}let Ys=/*@__PURE__*/ x(`ZodPrefault`,(e,t)=>{Gr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Do(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Xs(e,t){return new Ys({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():oe(t)}})}let Zs=/*@__PURE__*/ x(`ZodNonOptional`,(e,t)=>{Kr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Co(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qs(e,t){return new Zs({type:`nonoptional`,innerType:e,..._(t)})}let $s=/*@__PURE__*/ x(`ZodCatch`,(e,t)=>{Yr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ec(e,t){return new $s({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Ve(t)})}let tc=/*@__PURE__*/ x(`ZodPipe`,(e,t)=>{Xr.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ko(e,t,n,r),e.in=t.in,e.out=t.out});function nc(e,t){return new tc({type:`pipe`,in:e,out:t})}let rc=/*@__PURE__*/ x(`ZodPreprocess`,(e,t)=>{tc.init(e,t),Qr.init(e,t)}),ic=/*@__PURE__*/ x(`ZodReadonly`,(e,t)=>{$r.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ao(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ac(e){return new ic({type:`readonly`,innerType:e})}let oc=/*@__PURE__*/ x(`ZodCustom`,(e,t)=>{ti.init(e,t),M.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uo(e,t,n,r)});function sc(e,t){return/* @__PURE__ */ Ta(oc,e??(()=>!0),t)}function cc(e,t={}){return/* @__PURE__ */ Ea(oc,e,t)}function lc(e,t){return/* @__PURE__ */ Da(e,t)}function uc(e,t){return new rc({type:`pipe`,in:Vs(e),out:t})}function dc(e){return/* @__PURE__ */ qi(Xo,e)}let fc=`io.modelcontextprotocol/related-task`,K=sc(e=>e!==null&&(typeof e==`object`||typeof e==`function`)),pc=V([N(),F().int()]),mc=N();B({ttl:F().optional(),pollInterval:F().optional()});let hc=z({ttl:F().optional()}),gc=z({taskId:N()}),_c=B({progressToken:pc.optional(),[fc]:gc.optional()}),q=z({_meta:_c.optional()}),vc=q.extend({task:hc.optional()}),yc=e=>vc.safeParse(e).success,J=z({method:N(),params:q.loose().optional()}),Y=z({_meta:_c.optional()}),X=z({method:N(),params:Y.loose().optional()}),Z=B({_meta:_c.optional()}),bc=V([N(),F().int()]),xc=z({jsonrpc:W(`2.0`),id:bc,...J.shape}).strict(),Sc=e=>xc.safeParse(e).success,Cc=z({jsonrpc:W(`2.0`),...X.shape}).strict(),wc=e=>Cc.safeParse(e).success,Tc=z({jsonrpc:W(`2.0`),id:bc,result:Z}).strict(),Ec=e=>Tc.safeParse(e).success;var Q;(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`})(Q||={});let Dc=z({jsonrpc:W(`2.0`),id:bc.optional(),error:z({code:F().int(),message:N(),data:L().optional()})}).strict(),Oc=e=>Dc.safeParse(e).success,kc=V([xc,Cc,Tc,Dc]);V([Tc,Dc]);let Ac=Z.strict(),jc=Y.extend({requestId:bc.optional(),reason:N().optional()}),Mc=X.extend({method:W(`notifications/cancelled`),params:jc}),Nc=z({icons:R(z({src:N(),mimeType:N().optional(),sizes:R(N()).optional(),theme:U([`light`,`dark`]).optional()})).optional()}),Pc=z({name:N(),title:N().optional()}),Fc=Pc.extend({...Pc.shape,...Nc.shape,version:N(),websiteUrl:N().optional(),description:N().optional()}),Ic=uc(e=>e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Is(z({form:Is(z({applyDefaults:I().optional()}),H(N(),L())).optional(),url:K.optional()}),H(N(),L()).optional())),Lc=B({list:K.optional(),cancel:K.optional(),requests:B({sampling:B({createMessage:K.optional()}).optional(),elicitation:B({create:K.optional()}).optional()}).optional()}),Rc=B({list:K.optional(),cancel:K.optional(),requests:B({tools:B({call:K.optional()}).optional()}).optional()}),zc=z({experimental:H(N(),K).optional(),sampling:z({context:K.optional(),tools:K.optional()}).optional(),elicitation:Ic.optional(),roots:z({listChanged:I().optional()}).optional(),tasks:Lc.optional(),extensions:H(N(),K).optional()}),Bc=q.extend({protocolVersion:N(),capabilities:zc,clientInfo:Fc}),Vc=J.extend({method:W(`initialize`),params:Bc}),Hc=z({experimental:H(N(),K).optional(),logging:K.optional(),completions:K.optional(),prompts:z({listChanged:I().optional()}).optional(),resources:z({subscribe:I().optional(),listChanged:I().optional()}).optional(),tools:z({listChanged:I().optional()}).optional(),tasks:Rc.optional(),extensions:H(N(),K).optional()}),Uc=Z.extend({protocolVersion:N(),capabilities:Hc,serverInfo:Fc,instructions:N().optional()}),Wc=X.extend({method:W(`notifications/initialized`),params:Y.optional()}),Gc=J.extend({method:W(`ping`),params:q.optional()}),Kc=z({progress:F(),total:G(F()),message:G(N())}),qc=z({...Y.shape,...Kc.shape,progressToken:pc}),Jc=X.extend({method:W(`notifications/progress`),params:qc}),Yc=q.extend({cursor:mc.optional()}),Xc=J.extend({params:Yc.optional()}),Zc=Z.extend({nextCursor:mc.optional()}),Qc=U([`working`,`input_required`,`completed`,`failed`,`cancelled`]),$c=z({taskId:N(),status:Qc,ttl:V([F(),Es()]),createdAt:N(),lastUpdatedAt:N(),pollInterval:G(F()),statusMessage:G(N())}),el=Z.extend({task:$c}),tl=Y.merge($c),nl=X.extend({method:W(`notifications/tasks/status`),params:tl}),rl=J.extend({method:W(`tasks/get`),params:q.extend({taskId:N()})}),il=Z.merge($c),al=J.extend({method:W(`tasks/result`),params:q.extend({taskId:N()})});Z.loose();let ol=Xc.extend({method:W(`tasks/list`)}),sl=Zc.extend({tasks:R($c)}),cl=J.extend({method:W(`tasks/cancel`),params:q.extend({taskId:N()})}),ll=Z.merge($c),ul=z({uri:N(),mimeType:G(N()),_meta:H(N(),L()).optional()}),dl=ul.extend({text:N()}),fl=N().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:`Invalid Base64 string`}),pl=ul.extend({blob:fl}),ml=U([`user`,`assistant`]),hl=z({audience:R(ml).optional(),priority:F().min(0).max(1).optional(),lastModified:dc({offset:!0}).optional()}),gl=z({...Pc.shape,...Nc.shape,uri:N(),description:G(N()),mimeType:G(N()),size:G(F()),annotations:hl.optional(),_meta:G(B({}))}),_l=z({...Pc.shape,...Nc.shape,uriTemplate:N(),description:G(N()),mimeType:G(N()),annotations:hl.optional(),_meta:G(B({}))}),vl=Xc.extend({method:W(`resources/list`)}),yl=Zc.extend({resources:R(gl)}),bl=Xc.extend({method:W(`resources/templates/list`)}),xl=Zc.extend({resourceTemplates:R(_l)}),Sl=q.extend({uri:N()}),Cl=Sl,wl=J.extend({method:W(`resources/read`),params:Cl}),Tl=Z.extend({contents:R(V([dl,pl]))}),El=X.extend({method:W(`notifications/resources/list_changed`),params:Y.optional()}),Dl=Sl,Ol=J.extend({method:W(`resources/subscribe`),params:Dl}),kl=Sl,Al=J.extend({method:W(`resources/unsubscribe`),params:kl}),jl=Y.extend({uri:N()}),Ml=X.extend({method:W(`notifications/resources/updated`),params:jl}),Nl=z({name:N(),description:G(N()),required:G(I())}),Pl=z({...Pc.shape,...Nc.shape,description:G(N()),arguments:G(R(Nl)),_meta:G(B({}))}),Fl=Xc.extend({method:W(`prompts/list`)}),Il=Zc.extend({prompts:R(Pl)}),Ll=q.extend({name:N(),arguments:H(N(),N()).optional()}),Rl=J.extend({method:W(`prompts/get`),params:Ll}),zl=z({type:W(`text`),text:N(),annotations:hl.optional(),_meta:H(N(),L()).optional()}),Bl=z({type:W(`image`),data:fl,mimeType:N(),annotations:hl.optional(),_meta:H(N(),L()).optional()}),Vl=z({type:W(`audio`),data:fl,mimeType:N(),annotations:hl.optional(),_meta:H(N(),L()).optional()}),Hl=z({type:W(`tool_use`),name:N(),id:N(),input:H(N(),L()),_meta:H(N(),L()).optional()}),Ul=z({type:W(`resource`),resource:V([dl,pl]),annotations:hl.optional(),_meta:H(N(),L()).optional()}),Wl=gl.extend({type:W(`resource_link`)}),Gl=V([zl,Bl,Vl,Wl,Ul]),Kl=z({role:ml,content:Gl}),ql=Z.extend({description:N().optional(),messages:R(Kl)}),Jl=X.extend({method:W(`notifications/prompts/list_changed`),params:Y.optional()}),Yl=z({title:N().optional(),readOnlyHint:I().optional(),destructiveHint:I().optional(),idempotentHint:I().optional(),openWorldHint:I().optional()}),Xl=z({taskSupport:U([`required`,`optional`,`forbidden`]).optional()}),Zl=z({...Pc.shape,...Nc.shape,description:N().optional(),inputSchema:z({type:W(`object`),properties:H(N(),K).optional(),required:R(N()).optional()}).catchall(L()),outputSchema:z({type:W(`object`),properties:H(N(),K).optional(),required:R(N()).optional()}).catchall(L()).optional(),annotations:Yl.optional(),execution:Xl.optional(),_meta:H(N(),L()).optional()}),Ql=Xc.extend({method:W(`tools/list`)}),$l=Zc.extend({tools:R(Zl)}),eu=Z.extend({content:R(Gl).default([]),structuredContent:H(N(),L()).optional(),isError:I().optional()});eu.or(Z.extend({toolResult:L()}));let tu=vc.extend({name:N(),arguments:H(N(),L()).optional()}),nu=J.extend({method:W(`tools/call`),params:tu}),ru=X.extend({method:W(`notifications/tools/list_changed`),params:Y.optional()});z({autoRefresh:I().default(!0),debounceMs:F().int().nonnegative().default(300)});let iu=U([`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency`]),au=q.extend({level:iu}),ou=J.extend({method:W(`logging/setLevel`),params:au}),su=Y.extend({level:iu,logger:N().optional(),data:L()}),cu=X.extend({method:W(`notifications/message`),params:su}),lu=z({hints:R(z({name:N().optional()})).optional(),costPriority:F().min(0).max(1).optional(),speedPriority:F().min(0).max(1).optional(),intelligencePriority:F().min(0).max(1).optional()}),uu=z({mode:U([`auto`,`required`,`none`]).optional()}),du=z({type:W(`tool_result`),toolUseId:N().describe(`The unique identifier for the corresponding tool call.`),content:R(Gl).default([]),structuredContent:z({}).loose().optional(),isError:I().optional(),_meta:H(N(),L()).optional()}),fu=Ps(`type`,[zl,Bl,Vl]),pu=Ps(`type`,[zl,Bl,Vl,Hl,du]),mu=z({role:ml,content:V([pu,R(pu)]),_meta:H(N(),L()).optional()}),hu=vc.extend({messages:R(mu),modelPreferences:lu.optional(),systemPrompt:N().optional(),includeContext:U([`none`,`thisServer`,`allServers`]).optional(),temperature:F().optional(),maxTokens:F().int(),stopSequences:R(N()).optional(),metadata:K.optional(),tools:R(Zl).optional(),toolChoice:uu.optional()}),gu=J.extend({method:W(`sampling/createMessage`),params:hu}),_u=Z.extend({model:N(),stopReason:G(U([`endTurn`,`stopSequence`,`maxTokens`]).or(N())),role:ml,content:fu}),vu=Z.extend({model:N(),stopReason:G(U([`endTurn`,`stopSequence`,`maxTokens`,`toolUse`]).or(N())),role:ml,content:V([pu,R(pu)])}),yu=z({type:W(`boolean`),title:N().optional(),description:N().optional(),default:I().optional()}),bu=z({type:W(`string`),title:N().optional(),description:N().optional(),minLength:F().optional(),maxLength:F().optional(),format:U([`email`,`uri`,`date`,`date-time`]).optional(),default:N().optional()}),xu=z({type:U([`number`,`integer`]),title:N().optional(),description:N().optional(),minimum:F().optional(),maximum:F().optional(),default:F().optional()}),Su=z({type:W(`string`),title:N().optional(),description:N().optional(),enum:R(N()),default:N().optional()}),Cu=z({type:W(`string`),title:N().optional(),description:N().optional(),oneOf:R(z({const:N(),title:N()})),default:N().optional()}),wu=V([V([z({type:W(`string`),title:N().optional(),description:N().optional(),enum:R(N()),enumNames:R(N()).optional(),default:N().optional()}),V([Su,Cu]),V([z({type:W(`array`),title:N().optional(),description:N().optional(),minItems:F().optional(),maxItems:F().optional(),items:z({type:W(`string`),enum:R(N())}),default:R(N()).optional()}),z({type:W(`array`),title:N().optional(),description:N().optional(),minItems:F().optional(),maxItems:F().optional(),items:z({anyOf:R(z({const:N(),title:N()}))}),default:R(N()).optional()})])]),yu,bu,xu]),Tu=V([vc.extend({mode:W(`form`).optional(),message:N(),requestedSchema:z({type:W(`object`),properties:H(N(),wu),required:R(N()).optional()})}),vc.extend({mode:W(`url`),message:N(),elicitationId:N(),url:N().url()})]),Eu=J.extend({method:W(`elicitation/create`),params:Tu}),Du=Y.extend({elicitationId:N()}),Ou=X.extend({method:W(`notifications/elicitation/complete`),params:Du}),ku=Z.extend({action:U([`accept`,`decline`,`cancel`]),content:uc(e=>e===null?void 0:e,H(N(),V([N(),F(),I(),R(N())])).optional())}),Au=z({type:W(`ref/resource`),uri:N()}),ju=z({type:W(`ref/prompt`),name:N()}),Mu=q.extend({ref:V([ju,Au]),argument:z({name:N(),value:N()}),context:z({arguments:H(N(),N()).optional()}).optional()}),Nu=J.extend({method:W(`completion/complete`),params:Mu}),Pu=Z.extend({completion:B({values:R(N()).max(100),total:G(F().int()),hasMore:G(I())})}),Fu=z({uri:N().startsWith(`file://`),name:N().optional(),_meta:H(N(),L()).optional()}),Iu=J.extend({method:W(`roots/list`),params:q.optional()}),Lu=Z.extend({roots:R(Fu)}),Ru=X.extend({method:W(`notifications/roots/list_changed`),params:Y.optional()});V([Gc,Vc,Nu,ou,Rl,Fl,vl,bl,wl,Ol,Al,nu,Ql,rl,al,ol,cl]),V([Mc,Jc,Wc,Ru,nl]),V([Ac,_u,vu,ku,Lu,il,sl,el]),V([Gc,gu,Eu,Iu,rl,al,ol,cl]),V([Mc,Jc,cu,Ml,El,ru,Jl,nl,Ou]),V([Ac,Uc,Pu,ql,Il,yl,xl,Tl,eu,$l,il,sl,el]);var $=class e extends Error{constructor(e,t,n){super(`MCP error ${e}: ${t}`),this.code=e,this.data=n,this.name=`McpError`}static fromError(t,n,r){if(t===Q.UrlElicitationRequired&&r){let e=r;if(e.elicitations)return new zu(e.elicitations,n)}return new e(t,n,r)}},zu=class extends ${constructor(e,t=`URL elicitation${e.length>1?`s`:``} required`){super(Q.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Bu(e){return!!e._zod}function Vu(e,t){return Bu(e)?lt(e,t):e.safeParse(t)}function Hu(e){if(!e)return;let t;if(t=Bu(e)?e._zod?.def?.shape:e.shape,t){if(typeof t==`function`)try{return t()}catch{return}return t}}function Uu(e){if(Bu(e)){let t=e._zod?.def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}}let t=e._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}let n=e.value;if(n!==void 0)return n}function Wu(e){return e===`completed`||e===`failed`||e===`cancelled`}function Gu(e){let t=Hu(e)?.method;if(!t)throw Error(`Schema is missing a method literal`);let n=Uu(t);if(typeof n!=`string`)throw Error(`Schema method literal must be a string`);return n}function Ku(e,t){let n=Vu(e,t);if(!n.success)throw n.error;return n.data}var qu=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=/* @__PURE__ */ new Map,this._requestHandlerAbortControllers=/* @__PURE__ */ new Map,this._notificationHandlers=/* @__PURE__ */ new Map,this._responseHandlers=/* @__PURE__ */ new Map,this._progressHandlers=/* @__PURE__ */ new Map,this._timeoutInfo=/* @__PURE__ */ new Map,this._pendingDebouncedNotifications=/* @__PURE__ */ new Set,this._taskProgressTokens=/* @__PURE__ */ new Map,this._requestResolvers=/* @__PURE__ */ new Map,this.setNotificationHandler(Mc,e=>{this._oncancel(e)}),this.setNotificationHandler(Jc,e=>{this._onprogress(e)}),this.setRequestHandler(Gc,e=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(rl,async(e,t)=>{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new $(Q.InvalidParams,`Failed to retrieve task: Task not found`);return{...n}}),this.setRequestHandler(al,async(e,t)=>{let n=async()=>{let r=e.params.taskId;if(this._taskMessageQueue){let e;for(;e=await this._taskMessageQueue.dequeue(r,t.sessionId);){if(e.type===`response`||e.type===`error`){let t=e.message,n=t.id,r=this._requestResolvers.get(n);if(r){if(this._requestResolvers.delete(n),e.type===`response`)r(t);else{let e=t;r(new $(e.error.code,e.error.message,e.error.data))}}else{let t=e.type===`response`?`Response`:`Error`;this._onerror(/* @__PURE__ */ Error(`${t} handler missing for request ${n}`))}continue}await this._transport?.send(e.message,{relatedRequestId:t.requestId})}}let i=await this._taskStore.getTask(r,t.sessionId);if(!i)throw new $(Q.InvalidParams,`Task not found: ${r}`);if(!Wu(i.status))return await this._waitForTaskUpdate(r,t.signal),await n();if(Wu(i.status)){let e=await this._taskStore.getTaskResult(r,t.sessionId);return this._clearTaskQueue(r),{...e,_meta:{...e._meta,[fc]:{taskId:r}}}}return await n()};return await n()}),this.setRequestHandler(ol,async(e,t)=>{try{let{tasks:n,nextCursor:r}=await this._taskStore.listTasks(e.params?.cursor,t.sessionId);return{tasks:n,nextCursor:r,_meta:{}}}catch(e){throw new $(Q.InvalidParams,`Failed to list tasks: ${e instanceof Error?e.message:String(e)}`)}}),this.setRequestHandler(cl,async(e,t)=>{try{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new $(Q.InvalidParams,`Task not found: ${e.params.taskId}`);if(Wu(n.status))throw new $(Q.InvalidParams,`Cannot cancel task in terminal status: ${n.status}`);await this._taskStore.updateTaskStatus(e.params.taskId,`cancelled`,`Client cancelled task execution.`,t.sessionId),this._clearTaskQueue(e.params.taskId);let r=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!r)throw new $(Q.InvalidParams,`Task not found after cancellation: ${e.params.taskId}`);return{_meta:{},...r}}catch(e){throw e instanceof $?e:new $(Q.InvalidRequest,`Failed to cancel task: ${e instanceof Error?e.message:String(e)}`)}}))}async _oncancel(e){e.params.requestId&&this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,n,r,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:r})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let n=Date.now()-t.startTime;if(t.maxTotalTimeout&&n>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),$.fromError(Q.RequestTimeout,`Maximum total timeout exceeded`,{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:n});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw Error(`Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.`);this._transport=e;let t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=e=>{n?.(e),this._onerror(e)};let r=this._transport?.onmessage;this._transport.onmessage=(e,t)=>{r?.(e,t),Ec(e)||Oc(e)?this._onresponse(e):Sc(e)?this._onrequest(e,t):wc(e)?this._onnotification(e):this._onerror(/* @__PURE__ */ Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=/* @__PURE__ */ new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let e of this._timeoutInfo.values())clearTimeout(e.timeoutId);this._timeoutInfo.clear();for(let e of this._requestHandlerAbortControllers.values())e.abort();this._requestHandlerAbortControllers.clear();let t=$.fromError(Q.ConnectionClosed,`Connection closed`);this._transport=void 0,this.onclose?.();for(let n of e.values())n(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){let t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(e=>this._onerror(/* @__PURE__ */ Error(`Uncaught error in notification handler: ${e}`)))}_onrequest(e,t){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,r=this._transport,i=e.params?._meta?.[fc]?.taskId;if(n===void 0){let t={jsonrpc:`2.0`,id:e.id,error:{code:Q.MethodNotFound,message:`Method not found`}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:`error`,message:t,timestamp:Date.now()},r?.sessionId).catch(e=>this._onerror(/* @__PURE__ */ Error(`Failed to enqueue error response: ${e}`))):r?.send(t).catch(e=>this._onerror(/* @__PURE__ */ Error(`Failed to send an error response: ${e}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(e.id,a);let o=yc(e.params)?e.params.task:void 0,s=this._taskStore?this.requestTaskStore(e,r?.sessionId):void 0,c={signal:a.signal,sessionId:r?.sessionId,_meta:e.params?._meta,sendNotification:async t=>{if(a.signal.aborted)return;let n={relatedRequestId:e.id};i&&(n.relatedTask={taskId:i}),await this.notification(t,n)},sendRequest:async(t,n,r)=>{if(a.signal.aborted)throw new $(Q.ConnectionClosed,`Request was cancelled`);let o={...r,relatedRequestId:e.id};i&&!o.relatedTask&&(o.relatedTask={taskId:i});let c=o.relatedTask?.taskId??i;return c&&s&&await s.updateTaskStatus(c,`input_required`),await this.request(t,n,o)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:i,taskStore:s,taskRequestedTtl:o?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};Promise.resolve().then(()=>{o&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,c)).then(async t=>{if(a.signal.aborted)return;let n={result:t,jsonrpc:`2.0`,id:e.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`response`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)},async t=>{if(a.signal.aborted)return;let n={jsonrpc:`2.0`,id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:Q.InternalError,message:t.message??`Internal error`,...t.data!==void 0&&{data:t.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`error`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)}).catch(e=>this._onerror(/* @__PURE__ */ Error(`Failed to send response: ${e}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===a&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...n}=e.params,r=Number(t),i=this._progressHandlers.get(r);if(!i){this._onerror(/* @__PURE__ */ Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let a=this._responseHandlers.get(r),o=this._timeoutInfo.get(r);if(o&&a&&o.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(e){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),a(e);return}i(n)}_onresponse(e){let t=Number(e.id),n=this._requestResolvers.get(t);if(n){this._requestResolvers.delete(t),Ec(e)?n(e):n(new $(e.error.code,e.error.message,e.error.data));return}let r=this._responseHandlers.get(t);if(r===void 0){this._onerror(/* @__PURE__ */ Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let i=!1;if(Ec(e)&&e.result&&typeof e.result==`object`){let n=e.result;if(n.task&&typeof n.task==`object`){let e=n.task;typeof e.taskId==`string`&&(i=!0,this._taskProgressTokens.set(e.taskId,t))}}i||this._progressHandlers.delete(t),Ec(e)?r(e):r($.fromError(e.error.code,e.error.message,e.error.data))}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,n){let{task:r}=n??{};if(!r){try{yield{type:`result`,result:await this.request(e,t,n)}}catch(e){yield{type:`error`,error:e instanceof $?e:new $(Q.InternalError,String(e))}}return}let i;try{let r=await this.request(e,el,n);if(r.task)i=r.task.taskId,yield{type:`taskCreated`,task:r.task};else throw new $(Q.InternalError,`Task creation did not return a task`);for(;;){let e=await this.getTask({taskId:i},n);if(yield{type:`taskStatus`,task:e},Wu(e.status)){e.status===`completed`?yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)}:e.status===`failed`?yield{type:`error`,error:new $(Q.InternalError,`Task ${i} failed`)}:e.status===`cancelled`&&(yield{type:`error`,error:new $(Q.InternalError,`Task ${i} was cancelled`)});return}if(e.status===`input_required`){yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)};return}let r=e.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(e=>setTimeout(e,r)),n?.signal?.throwIfAborted()}}catch(e){yield{type:`error`,error:e instanceof $?e:new $(Q.InternalError,String(e))}}}request(e,t,n){let{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a,task:o,relatedTask:s}=n??{};return new Promise((c,l)=>{let u=e=>{l(e)};if(!this._transport){u(/* @__PURE__ */ Error(`Not connected`));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),o&&this.assertTaskCapability(e.method)}catch(e){u(e);return}n?.signal?.throwIfAborted();let d=this._requestMessageId++,f={...e,jsonrpc:`2.0`,id:d};n?.onprogress&&(this._progressHandlers.set(d,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:d}}),o&&(f.params={...f.params,task:o}),s&&(f.params={...f.params,_meta:{...f.params?._meta||{},[fc]:s}});let p=e=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:`2.0`,method:`notifications/cancelled`,params:{requestId:d,reason:String(e)}},{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>this._onerror(/* @__PURE__ */ Error(`Failed to send cancellation: ${e}`))),l(e instanceof $?e:new $(Q.RequestTimeout,String(e)))};this._responseHandlers.set(d,e=>{if(!n?.signal?.aborted){if(e instanceof Error)return l(e);try{let n=Vu(t,e.result);n.success?c(n.data):l(n.error)}catch(e){l(e)}}}),n?.signal?.addEventListener(`abort`,()=>{p(n?.signal?.reason)});let m=n?.timeout??6e4;this._setupTimeout(d,m,n?.maxTotalTimeout,()=>p($.fromError(Q.RequestTimeout,`Request timed out`,{timeout:m})),n?.resetTimeoutOnProgress??!1);let h=s?.taskId;h?(this._requestResolvers.set(d,e=>{let t=this._responseHandlers.get(d);t?t(e):this._onerror(/* @__PURE__ */ Error(`Response handler missing for side-channeled request ${d}`))}),this._enqueueTaskMessage(h,{type:`request`,message:f,timestamp:Date.now()}).catch(e=>{this._cleanupTimeout(d),l(e)})):this._transport.send(f,{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>{this._cleanupTimeout(d),l(e)})})}async getTask(e,t){return this.request({method:`tasks/get`,params:e},il,t)}async getTaskResult(e,t,n){return this.request({method:`tasks/result`,params:e},t,n)}async listTasks(e,t){return this.request({method:`tasks/list`,params:e},sl,t)}async cancelTask(e,t){return this.request({method:`tasks/cancel`,params:e},ll,t)}async notification(e,t){if(!this._transport)throw Error(`Not connected`);this.assertNotificationCapability(e.method);let n=t?.relatedTask?.taskId;if(n){let r={...e,jsonrpc:`2.0`,params:{...e.params,_meta:{...e.params?._meta||{},[fc]:t.relatedTask}}};await this._enqueueTaskMessage(n,{type:`notification`,message:r,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let n={...e,jsonrpc:`2.0`};t?.relatedTask&&(n={...n,params:{...n.params,_meta:{...n.params?._meta||{},[fc]:t.relatedTask}}}),this._transport?.send(n,t).catch(e=>this._onerror(e))});return}let r={...e,jsonrpc:`2.0`};t?.relatedTask&&(r={...r,params:{...r.params,_meta:{...r.params?._meta||{},[fc]:t.relatedTask}}}),await this._transport.send(r,t)}setRequestHandler(e,t){let n=Gu(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(n,r)=>{let i=Ku(e,n);return Promise.resolve(t(i,r))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){let n=Gu(e);this._notificationHandlers.set(n,n=>{let r=Ku(e,n);return Promise.resolve(t(r))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,n){if(!this._taskStore||!this._taskMessageQueue)throw Error(`Cannot enqueue task message: taskStore and taskMessageQueue are not configured`);let r=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,n,r)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,t);for(let t of n)if(t.type===`request`&&Sc(t.message)){let n=t.message.id,r=this._requestResolvers.get(n);r?(r(new $(Q.InternalError,`Task cancelled or completed`)),this._requestResolvers.delete(n)):this._onerror(/* @__PURE__ */ Error(`Resolver missing for request ${n} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){let n=this._options?.defaultTaskPollInterval??1e3;try{let t=await this._taskStore?.getTask(e);t?.pollInterval&&(n=t.pollInterval)}catch{}return new Promise((e,r)=>{if(t.aborted){r(new $(Q.InvalidRequest,`Request cancelled`));return}let i=setTimeout(e,n);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new $(Q.InvalidRequest,`Request cancelled`))},{once:!0})})}requestTaskStore(e,t){let n=this._taskStore;if(!n)throw Error(`No task store configured`);return{createTask:async r=>{if(!e)throw Error(`No request provided`);return await n.createTask(r,e.id,{method:e.method,params:e.params},t)},getTask:async e=>{let r=await n.getTask(e,t);if(!r)throw new $(Q.InvalidParams,`Failed to retrieve task: Task not found`);return r},storeTaskResult:async(e,r,i)=>{await n.storeTaskResult(e,r,i,t);let a=await n.getTask(e,t);if(a){let t=nl.parse({method:`notifications/tasks/status`,params:a});await this.notification(t),Wu(a.status)&&this._cleanupTaskProgressHandler(e)}},getTaskResult:e=>n.getTaskResult(e,t),updateTaskStatus:async(e,r,i)=>{let a=await n.getTask(e,t);if(!a)throw new $(Q.InvalidParams,`Task \"${e}\" not found - it may have been cleaned up`);if(Wu(a.status))throw new $(Q.InvalidParams,`Cannot update task \"${e}\" from terminal status \"${a.status}\" to \"${r}\". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(e,r,i,t);let o=await n.getTask(e,t);if(o){let t=nl.parse({method:`notifications/tasks/status`,params:o});await this.notification(t),Wu(o.status)&&this._cleanupTaskProgressHandler(e)}},listTasks:e=>n.listTasks(e,t)}}},Ju=class extends qu{_registeredMethods=/* @__PURE__ */ new Set;_eventSlots=/* @__PURE__ */ new Map;onEventDispatch(e,t){}_ensureEventSlot(e){let t=this._eventSlots.get(e);if(!t){let n=this.eventSchemas[e];if(!n)throw Error(`Unknown event: ${String(e)}`);t={listeners:[]},this._eventSlots.set(e,t);let r=n.shape.method.value;this._registeredMethods.add(r);let i=t;super.setNotificationHandler(n,t=>{let n=t.params;this.onEventDispatch(e,n),i.onHandler?.(n);for(let e of[...i.listeners])e(n)})}return t}setEventHandler(e,t){let n=this._ensureEventSlot(e);n.onHandler&&t&&console.warn(`[MCP Apps] on${String(e)} handler replaced. Use addEventListener(\"${String(e)}\", …) to add multiple listeners without replacing.`),n.onHandler=t}getEventHandler(e){return this._eventSlots.get(e)?.onHandler}addEventListener(e,t){this._ensureEventSlot(e).listeners.push(t)}removeEventListener(e,t){let n=this._eventSlots.get(e);if(!n)return;let r=n.listeners.indexOf(t);r!==-1&&n.listeners.splice(r,1)}setRequestHandler=(e,t)=>{this._assertMethodNotRegistered(e,`setRequestHandler`),super.setRequestHandler(e,t)};setNotificationHandler=(e,t)=>{this._assertMethodNotRegistered(e,`setNotificationHandler`),super.setNotificationHandler(e,t)};warnIfRequestHandlerReplaced(e,t,n){t&&n&&console.warn(`[MCP Apps] ${e} handler replaced. Previous handler will no longer be called.`)}replaceRequestHandler=(e,t)=>{let n=e.shape.method.value;this._registeredMethods.add(n),super.setRequestHandler(e,t)};_assertMethodNotRegistered(e,t){let n=e.shape.method.value;if(this._registeredMethods.has(n))throw Error(`Handler for \"${n}\" already registered (via ${t}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._registeredMethods.add(n)}},Yu=`2026-01-26`,Xu=class{eventTarget;eventSource;messageListener;constructor(e=window.parent,t){this.eventTarget=e,this.eventSource=t,this.messageListener=e=>{if(t&&e.source!==this.eventSource){console.debug(`Ignoring message from unknown source`,e);return}let n=kc.safeParse(e.data);n.success?(console.debug(`Parsed message`,n.data),this.onmessage?.(n.data)):e.data?.jsonrpc===`2.0`?(console.error(`Failed to parse message`,n.error.message,e),this.onerror?.(Error(`Invalid JSON-RPC message received: `+n.error.message))):console.debug(`Ignoring non-JSON-RPC message`,n.error.message,e)}}async start(){window.addEventListener(`message`,this.messageListener)}async send(e,t){e.method!==`ui/notifications/tool-input-partial`&&console.debug(`Sending message`,e),this.eventTarget.postMessage(e,`*`)}async close(){window.removeEventListener(`message`,this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion},Zu=V([W(`light`),W(`dark`)]).describe(`Color theme preference for the host environment.`),Qu=V([W(`inline`),W(`fullscreen`),W(`pip`)]).describe(`Display mode for UI presentation.`),$u=H(V([W(`--color-background-primary`),W(`--color-background-secondary`),W(`--color-background-tertiary`),W(`--color-background-inverse`),W(`--color-background-ghost`),W(`--color-background-info`),W(`--color-background-danger`),W(`--color-background-success`),W(`--color-background-warning`),W(`--color-background-disabled`),W(`--color-text-primary`),W(`--color-text-secondary`),W(`--color-text-tertiary`),W(`--color-text-inverse`),W(`--color-text-ghost`),W(`--color-text-info`),W(`--color-text-danger`),W(`--color-text-success`),W(`--color-text-warning`),W(`--color-text-disabled`),W(`--color-border-primary`),W(`--color-border-secondary`),W(`--color-border-tertiary`),W(`--color-border-inverse`),W(`--color-border-ghost`),W(`--color-border-info`),W(`--color-border-danger`),W(`--color-border-success`),W(`--color-border-warning`),W(`--color-border-disabled`),W(`--color-ring-primary`),W(`--color-ring-secondary`),W(`--color-ring-inverse`),W(`--color-ring-info`),W(`--color-ring-danger`),W(`--color-ring-success`),W(`--color-ring-warning`),W(`--font-sans`),W(`--font-mono`),W(`--font-weight-normal`),W(`--font-weight-medium`),W(`--font-weight-semibold`),W(`--font-weight-bold`),W(`--font-text-xs-size`),W(`--font-text-sm-size`),W(`--font-text-md-size`),W(`--font-text-lg-size`),W(`--font-heading-xs-size`),W(`--font-heading-sm-size`),W(`--font-heading-md-size`),W(`--font-heading-lg-size`),W(`--font-heading-xl-size`),W(`--font-heading-2xl-size`),W(`--font-heading-3xl-size`),W(`--font-text-xs-line-height`),W(`--font-text-sm-line-height`),W(`--font-text-md-line-height`),W(`--font-text-lg-line-height`),W(`--font-heading-xs-line-height`),W(`--font-heading-sm-line-height`),W(`--font-heading-md-line-height`),W(`--font-heading-lg-line-height`),W(`--font-heading-xl-line-height`),W(`--font-heading-2xl-line-height`),W(`--font-heading-3xl-line-height`),W(`--border-radius-xs`),W(`--border-radius-sm`),W(`--border-radius-md`),W(`--border-radius-lg`),W(`--border-radius-xl`),W(`--border-radius-full`),W(`--border-width-regular`),W(`--shadow-hairline`),W(`--shadow-sm`),W(`--shadow-md`),W(`--shadow-lg`)]).describe(`CSS variable keys available to MCP apps for theming.`).describe(`Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses \\`Record<K, string | undefined>\\` rather than \\`Partial<Record<K, string>>\\`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.`),V([N(),ws()]).describe(`Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses \\`Record<K, string | undefined>\\` rather than \\`Partial<Record<K, string>>\\`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.`)).describe(`Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses \\`Record<K, string | undefined>\\` rather than \\`Partial<Record<K, string>>\\`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.`);z({method:W(`ui/open-link`),params:z({url:N().describe(`URL to open in the host's browser`)})});var ed=z({isError:I().optional().describe(`True if the host failed to open the URL (e.g., due to security policy).`)}).passthrough(),td=z({isError:I().optional().describe(`True if the download failed (e.g., user cancelled or host denied).`)}).passthrough(),nd=z({isError:I().optional().describe(`True if the host rejected or failed to deliver the message.`)}).passthrough();z({method:W(`ui/notifications/sandbox-proxy-ready`),params:z({})});var rd=z({connectDomains:R(N()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket).\n\n- Maps to CSP \\`connect-src\\` directive\n- Empty or omitted → no network connections (secure default)`),resourceDomains:R(N()).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:R(N()).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:R(N()).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'`)\")}),id=z({camera:z({}).optional().describe(`Request camera access.\n\nMaps to Permission Policy \\`camera\\` feature.`),microphone:z({}).optional().describe(`Request microphone access.\n\nMaps to Permission Policy \\`microphone\\` feature.`),geolocation:z({}).optional().describe(`Request geolocation access.\n\nMaps to Permission Policy \\`geolocation\\` feature.`),clipboardWrite:z({}).optional().describe(`Request clipboard write access.\n\nMaps to Permission Policy \\`clipboard-write\\` feature.`)});z({method:W(`ui/notifications/size-changed`),params:z({width:F().optional().describe(`New width in pixels.`),height:F().optional().describe(`New height in pixels.`)})});var ad=z({method:W(`ui/notifications/tool-input`),params:z({arguments:H(N(),L().describe(`Complete tool call arguments as key-value pairs.`)).optional().describe(`Complete tool call arguments as key-value pairs.`)})}),od=z({method:W(`ui/notifications/tool-input-partial`),params:z({arguments:H(N(),L().describe(`Partial tool call arguments (incomplete, may change).`)).optional().describe(`Partial tool call arguments (incomplete, may change).`)})}),sd=z({method:W(`ui/notifications/tool-cancelled`),params:z({reason:N().optional().describe(`Optional reason for the cancellation (e.g., \"user action\", \"timeout\").`)})}),cd=z({fonts:N().optional()}),ld=z({variables:$u.optional().describe(`CSS variables for theming the app.`),css:cd.optional().describe(`CSS blocks that apps can inject.`)}),ud=z({method:W(`ui/resource-teardown`),params:z({})});H(N(),L());var dd=z({text:z({}).optional().describe(`Host supports text content blocks.`),image:z({}).optional().describe(`Host supports image content blocks.`),audio:z({}).optional().describe(`Host supports audio content blocks.`),resource:z({}).optional().describe(`Host supports resource content blocks.`),resourceLink:z({}).optional().describe(`Host supports resource link content blocks.`),structuredContent:z({}).optional().describe(`Host supports structured content.`)});z({method:W(`ui/notifications/request-teardown`),params:z({}).optional()});var fd=z({experimental:z({}).optional().describe(`Experimental features (structure TBD).`),openLinks:z({}).optional().describe(`Host supports opening external URLs.`),downloadFile:z({}).optional().describe(`Host supports file downloads via ui/download-file.`),serverTools:z({listChanged:I().optional().describe(`Host supports tools/list_changed notifications.`)}).optional().describe(`Host can proxy tool calls to the MCP server.`),serverResources:z({listChanged:I().optional().describe(`Host supports resources/list_changed notifications.`)}).optional().describe(`Host can proxy resource reads to the MCP server.`),logging:z({}).optional().describe(`Host accepts log messages.`),sandbox:z({permissions:id.optional().describe(`Permissions granted by the host (camera, microphone, geolocation).`),csp:rd.optional().describe(`CSP domains approved by the host.`)}).optional().describe(`Sandbox configuration applied by the host.`),updateModelContext:dd.optional().describe(`Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns.`),message:dd.optional().describe(`Host supports receiving content messages (ui/message) from the view.`)}),pd=z({experimental:z({}).optional().describe(`Experimental features (structure TBD).`),tools:z({listChanged:I().optional().describe(`App supports tools/list_changed notifications.`)}).optional().describe(`App exposes MCP-style tools that the host can call.`),availableDisplayModes:R(Qu).optional().describe(`Display modes the app supports.`)});z({method:W(`ui/notifications/initialized`),params:z({}).optional()}),z({csp:rd.optional().describe(`Content Security Policy configuration for UI resources.`),permissions:id.optional().describe(`Sandbox permissions requested by the UI resource.`),domain:N().optional().describe(`Dedicated origin for view sandbox.\n\nUseful when views need stable, dedicated origins for OAuth callbacks, CORS policies, or API key allowlists.\n\n**Host-dependent:** The format and validation rules for this field are determined by each host. Servers MUST consult host-specific documentation for the expected domain format. Common patterns include:\n- Hash-based subdomains (e.g., \\`{hash}.claudemcpcontent.com\\`)\n- URL-derived subdomains (e.g., \\`www-example-com.oaiusercontent.com\\`)\n\nIf omitted, host uses default sandbox origin (typically per-conversation).`),prefersBorder:I().optional().describe(`Visual boundary preference - true if view prefers a visible border.\n\nBoolean 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.\n\n- \\`true\\`: request visible border + background\n- \\`false\\`: request no visible border + background\n- omitted: host decides border`)}),z({method:W(`ui/request-display-mode`),params:z({mode:Qu.describe(`The display mode being requested.`)})});var md=z({mode:Qu.describe(`The display mode that was actually set. May differ from requested if not supported.`)}).passthrough(),hd=V([W(`model`),W(`app`)]).describe(`Tool visibility scope - who can access the tool.`);z({resourceUri:N().optional(),visibility:R(hd).optional().describe(`Who can access this tool. Default: [\"model\", \"app\"]\n- \"model\": Tool visible to and callable by the agent\n- \"app\": Tool callable by the app from this server only`)}),z({mimeTypes:R(N()).optional().describe('Array of supported MIME types for UI resources.\\nMust include `\"text/html;profile=mcp-app\"` for MCP Apps support.')}),z({method:W(`ui/download-file`),params:z({contents:R(V([Ul,Wl])).describe(`Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.`)})}),z({method:W(`ui/message`),params:z({role:W(`user`).describe(`Message role, currently only \"user\" is supported.`),content:R(Gl).describe(`Message content blocks (text, image, etc.).`)})}),z({method:W(`ui/notifications/sandbox-resource-ready`),params:z({html:N().describe(`HTML content to load into the inner iframe.`),sandbox:N().optional().describe(`Optional override for the inner iframe's sandbox attribute.`),csp:rd.optional().describe(`CSP configuration from resource metadata.`),permissions:id.optional().describe(`Sandbox permissions from resource metadata.`)})});var gd=z({method:W(`ui/notifications/tool-result`),params:eu.describe(`Standard MCP tool execution result.`)}),_d=z({toolInfo:z({id:bc.optional().describe(`JSON-RPC id of the tools/call request.`),tool:Zl.describe(`Tool definition including name, inputSchema, etc.`)}).optional().describe(`Metadata of the tool call that instantiated this App.`),theme:Zu.optional().describe(`Current color theme preference.`),styles:ld.optional().describe(`Style configuration for theming the app.`),displayMode:Qu.optional().describe(`How the UI is currently displayed.`),availableDisplayModes:R(Qu).optional().describe(`Display modes the host supports.`),containerDimensions:V([z({height:F().describe(`Fixed container height in pixels.`)}),z({maxHeight:V([F(),ws()]).optional().describe(`Maximum container height in pixels.`)})]).and(V([z({width:F().describe(`Fixed container width in pixels.`)}),z({maxWidth:V([F(),ws()]).optional().describe(`Maximum container width in pixels.`)})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other\ncontainer holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:N().optional().describe(`User's language and region preference in BCP 47 format.`),timeZone:N().optional().describe(`User's timezone in IANA format.`),userAgent:N().optional().describe(`Host application identifier.`),platform:V([W(`web`),W(`desktop`),W(`mobile`)]).optional().describe(`Platform type for responsive design decisions.`),deviceCapabilities:z({touch:I().optional().describe(`Whether the device supports touch input.`),hover:I().optional().describe(`Whether the device supports hover interactions.`)}).optional().describe(`Device input capabilities.`),safeAreaInsets:z({top:F().describe(`Top safe area inset in pixels.`),right:F().describe(`Right safe area inset in pixels.`),bottom:F().describe(`Bottom safe area inset in pixels.`),left:F().describe(`Left safe area inset in pixels.`)}).optional().describe(`Mobile safe area boundaries in pixels.`)}).passthrough(),vd=z({method:W(`ui/notifications/host-context-changed`),params:_d.describe(`Partial context update containing only changed fields.`)});z({method:W(`ui/update-model-context`),params:z({content:R(Gl).optional().describe(`Context content blocks (text, image, etc.).`),structuredContent:H(N(),L().describe(`Structured content for machine-readable context data.`)).optional().describe(`Structured content for machine-readable context data.`)})}),z({method:W(`ui/initialize`),params:z({appInfo:Fc.describe(`App identification (name and version).`),appCapabilities:pd.describe(`Features and capabilities this app provides.`),protocolVersion:N().describe(`Protocol version this app supports.`)})});var yd=z({protocolVersion:N().describe(`Negotiated protocol version string (e.g., \"2025-11-21\").`),hostInfo:Fc.describe(`Host application identification and version.`),hostCapabilities:fd.describe(`Features and capabilities provided by the host.`),hostContext:_d.describe(`Rich context about the host environment.`)}).passthrough();function bd(e){let t=document.documentElement;t.setAttribute(`data-theme`,e),t.style.colorScheme=e}function xd(e,t=document.documentElement){for(let[n,r]of Object.entries(e))r!==void 0&&t.style.setProperty(n,r)}var Sd=class extends Ju{_appInfo;_capabilities;options;_hostCapabilities;_hostInfo;_hostContext;eventSchemas={toolinput:ad,toolinputpartial:od,toolresult:gd,toolcancelled:sd,hostcontextchanged:vd};onEventDispatch(e,t){e===`hostcontextchanged`&&(this._hostContext={...this._hostContext,...t})}constructor(e,t={},n={autoResize:!0}){super(n),this._appInfo=e,this._capabilities=t,this.options=n,this.setRequestHandler(Gc,e=>(console.log(`Received ping:`,e.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(e){this.setEventHandler(`toolinput`,e)}get ontoolinputpartial(){return this.getEventHandler(`toolinputpartial`)}set ontoolinputpartial(e){this.setEventHandler(`toolinputpartial`,e)}get ontoolresult(){return this.getEventHandler(`toolresult`)}set ontoolresult(e){this.setEventHandler(`toolresult`,e)}get ontoolcancelled(){return this.getEventHandler(`toolcancelled`)}set ontoolcancelled(e){this.setEventHandler(`toolcancelled`,e)}get onhostcontextchanged(){return this.getEventHandler(`hostcontextchanged`)}set onhostcontextchanged(e){this.setEventHandler(`hostcontextchanged`,e)}_onteardown;get onteardown(){return this._onteardown}set onteardown(e){this.warnIfRequestHandlerReplaced(`onteardown`,this._onteardown,e),this._onteardown=e,this.replaceRequestHandler(ud,(e,t)=>{if(!this._onteardown)throw Error(`No onteardown handler set`);return this._onteardown(e.params,t)})}_oncalltool;get oncalltool(){return this._oncalltool}set oncalltool(e){this.warnIfRequestHandlerReplaced(`oncalltool`,this._oncalltool,e),this._oncalltool=e,this.replaceRequestHandler(nu,(e,t)=>{if(!this._oncalltool)throw Error(`No oncalltool handler set`);return this._oncalltool(e.params,t)})}_onlisttools;get onlisttools(){return this._onlisttools}set onlisttools(e){this.warnIfRequestHandlerReplaced(`onlisttools`,this._onlisttools,e),this._onlisttools=e,this.replaceRequestHandler(Ql,(e,t)=>{if(!this._onlisttools)throw Error(`No onlisttools handler set`);return this._onlisttools(e.params,t)})}assertCapabilityForMethod(e){}assertRequestHandlerCapability(e){switch(e){case`tools/call`:case`tools/list`:if(!this._capabilities.tools)throw Error(`Client does not support tool capability (required for ${e})`);return;case`ping`:case`ui/resource-teardown`:return;default:throw Error(`No handler for method ${e} registered`)}}assertNotificationCapability(e){}assertTaskCapability(e){throw Error(`Tasks are not supported in MCP Apps`)}assertTaskHandlerCapability(e){throw Error(`Task handlers are not supported in MCP Apps`)}async callServerTool(e,t){if(typeof e==`string`)throw Error(`callServerTool() expects an object as its first argument, but received a string (\"${e}\"). Did you mean: callServerTool({ name: \"${e}\", arguments: { ... } })?`);return await this.request({method:`tools/call`,params:e},eu,t)}async readServerResource(e,t){return await this.request({method:`resources/read`,params:e},Tl,t)}async listServerResources(e,t){return await this.request({method:`resources/list`,params:e},yl,t)}sendMessage(e,t){return this.request({method:`ui/message`,params:e},nd,t)}sendLog(e){return this.notification({method:`notifications/message`,params:e})}updateModelContext(e,t){return this.request({method:`ui/update-model-context`,params:e},Ac,t)}openLink(e,t){return this.request({method:`ui/open-link`,params:e},ed,t)}sendOpenLink=this.openLink;downloadFile(e,t){return this.request({method:`ui/download-file`,params:e},td,t)}requestTeardown(e={}){return this.notification({method:`ui/notifications/request-teardown`,params:e})}requestDisplayMode(e,t){return this.request({method:`ui/request-display-mode`,params:e},md,t)}sendSizeChanged(e){return this.notification({method:`ui/notifications/size-changed`,params:e})}setupSizeChangedNotifications(){let e=!1,t=0,n=0,r=()=>{e||(e=!0,requestAnimationFrame(()=>{e=!1;let r=document.documentElement,i=r.style.height;r.style.height=`max-content`;let a=Math.ceil(r.getBoundingClientRect().height);r.style.height=i;let o=Math.ceil(window.innerWidth);(o!==t||a!==n)&&(t=o,n=a,this.sendSizeChanged({width:o,height:a}))}))};r();let i=new ResizeObserver(r);return i.observe(document.documentElement),i.observe(document.body),()=>i.disconnect()}async connect(e=new Xu(window.parent,window.parent),t){if(this.transport)throw Error(`App is already connected. Call close() before connecting again.`);await super.connect(e);try{let e=await this.request({method:`ui/initialize`,params:{appCapabilities:this._capabilities,appInfo:this._appInfo,protocolVersion:Yu}},yd,t);if(e===void 0)throw Error(`Server sent invalid initialize result: ${e}`);this._hostCapabilities=e.hostCapabilities,this._hostInfo=e.hostInfo,this._hostContext=e.hostContext,await this.notification({method:`ui/notifications/initialized`}),this.options?.autoResize&&this.setupSizeChangedNotifications()}catch(e){throw this.close(),e}}};function Cd(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.sessionId==`string`&&t.sessionId.length>0&&typeof t.repositoryName==`string`&&typeof t.majorMode==`string`&&Number.isSafeInteger(t.revision)&&t.revision>=0&&(t.profile===null||typeof t.profile==`string`)&&[`domains`,`layers`,`minorModes`].every(e=>Array.isArray(t[e])&&t[e].every(e=>typeof e==`string`))}async function wd(){let e=document.querySelector(`#refresh`),t=document.querySelector(`#summary`),n=document.querySelector(`#status`),r=new Sd({name:`doompi-session`,version:`1.0.0`},{},{autoResize:!0}),i=!1,a=!1,o=!1,s=!1,c,l=()=>{e.disabled=i||!a||!o||s||!r.getHostCapabilities()?.serverTools},u=e=>{i||(t.hidden=!0,n.dataset.error=`true`,n.textContent=e)},d=e=>{if(i)return;if(o=!0,l(),e.isError){u(`Session could not be loaded. Check the Doompi connection and session setup, then refresh.`);return}let r=e.structuredContent;if(!Cd(r)){u(`The host returned an invalid session summary. Refresh the connection before trying again.`);return}if(c!==void 0&&c!==r.sessionId){u(`The session changed. Reopen the session widget from this conversation.`);return}c=r.sessionId;for(let e of[`sessionId`,`revision`,`repositoryName`,`profile`,`majorMode`,`domains`,`layers`,`minorModes`]){let n=r[e],i=document.getElementById(e);i!==null&&t.contains(i)&&(i.textContent=Array.isArray(n)?n.join(`, `)||`None`:String(n??`Default`))}t.hidden=!1,n.dataset.error=`false`,n.textContent=`Read-only session summary.`},f=e=>{i||e===void 0||(e.theme&&bd(e.theme),e.styles?.variables&&xd(e.styles.variables))},p=async()=>{if(!e.disabled){s=!0,l(),n.dataset.error=`false`,n.textContent=`Refreshing session...`;try{d(await r.callServerTool({name:`show_session`,arguments:{}}))}catch{u(`Refresh failed. Check the Doompi connection, then try again.`)}finally{s=!1,l()}}},m=()=>{p()},h=()=>{i||(i=!0,e.removeEventListener(`click`,m),window.removeEventListener(`pagehide`,h),l(),t.hidden=!0,n.textContent=`Session view closed.`,setTimeout(()=>{r.close().catch(()=>{})},0))};r.ontoolresult=d,r.onhostcontextchanged=f,r.ontoolcancelled=()=>{o=!0,u(`Session request was cancelled.`),l()},r.onteardown=()=>(h(),{}),e.addEventListener(`click`,m),window.addEventListener(`pagehide`,h,{once:!0});try{if(await r.connect(),i)return;a=!0,f(r.getHostContext()),o||(n.textContent=`Waiting for session data...`),l()}catch{u(`Could not connect to the app host. Reopen this widget in an MCP Apps-compatible client.`)}}wd()})();<\/script>\n </body>\n</html>\n";
11
+ //#endregion
12
+ //#region src/extensions/workspaces/sessions/(backend)/resource/session-view.mcp.ts
13
+ var session_view_mcp_default = (0, _agimon_ai_doompi_core_mcp_facet.defineMcpUiResource)({
14
+ uri: sessionAppUri,
15
+ name: "doompi-session-view",
16
+ description: "Read-only Doompi session summary with an explicit refresh action.",
17
+ mimeType: "text/html;profile=mcp-app",
18
+ _meta: {
19
+ ui: {
20
+ csp: {
21
+ connectDomains: [],
22
+ resourceDomains: []
23
+ },
24
+ prefersBorder: true
25
+ },
26
+ "openai/widgetPrefersBorder": true,
27
+ "openai/widgetCSP": {
28
+ connect_domains: [],
29
+ resource_domains: []
30
+ }
31
+ },
32
+ read: () => sessionAppHtml
33
+ });
34
+ //#endregion
8
35
  //#region src/extensions/workspaces/sessions/(backend)/skill/doompi-author-config.mcp.ts
9
36
  var doompi_author_config_mcp_default = (0, _agimon_ai_doompi_core_mcp_facet.defineMcpSkill)({
10
37
  name: "doompi-author-config",
@@ -15,6 +42,18 @@ var doompi_author_config_mcp_default = (0, _agimon_ai_doompi_core_mcp_facet.defi
15
42
  //#region src/schemas/mcpContextTools.ts
16
43
  const loadContextParameters = typebox.Type.Object({}, { additionalProperties: false });
17
44
  //#endregion
45
+ //#region src/schemas/mcpSessionView.ts
46
+ const sessionViewSchema = typebox.Type.Object({
47
+ sessionId: typebox.Type.String(),
48
+ revision: typebox.Type.Integer({ minimum: 0 }),
49
+ repositoryName: typebox.Type.String(),
50
+ profile: typebox.Type.Union([typebox.Type.String(), typebox.Type.Null()]),
51
+ majorMode: typebox.Type.String(),
52
+ domains: typebox.Type.Array(typebox.Type.String()),
53
+ layers: typebox.Type.Array(typebox.Type.String()),
54
+ minorModes: typebox.Type.Array(typebox.Type.String())
55
+ }, { additionalProperties: false });
56
+ //#endregion
18
57
  //#region src/services/mcpContextTools/index.ts
19
58
  function createLoadContextTool(context) {
20
59
  return {
@@ -39,10 +78,65 @@ function createLoadContextTool(context) {
39
78
  }
40
79
  };
41
80
  }
81
+ function createShowSessionTool(context, resourceUri) {
82
+ return {
83
+ name: "show_session",
84
+ label: "Show session",
85
+ description: "Show or refresh a read-only summary of the current Doompi session. Does not load repository instructions.",
86
+ parameters: loadContextParameters,
87
+ outputSchema: { ...sessionViewSchema },
88
+ annotations: {
89
+ readOnlyHint: true,
90
+ destructiveHint: false,
91
+ openWorldHint: false
92
+ },
93
+ _meta: {
94
+ ui: {
95
+ resourceUri,
96
+ visibility: ["model", "app"]
97
+ },
98
+ "openai/outputTemplate": resourceUri,
99
+ "openai/toolInvocation/invoking": "Loading session",
100
+ "openai/toolInvocation/invoked": "Session ready"
101
+ },
102
+ async execute() {
103
+ const snapshot = context.loadContext();
104
+ const view = {
105
+ sessionId: snapshot.session.id,
106
+ revision: snapshot.session.revision,
107
+ repositoryName: snapshot.repository.root.replaceAll("\\", "/").split("/").filter(Boolean).at(-1) ?? "Repository",
108
+ profile: snapshot.selection.profile,
109
+ majorMode: snapshot.selection.majorMode,
110
+ domains: [...snapshot.selection.domains],
111
+ layers: [...snapshot.selection.activeLayers],
112
+ minorModes: [...snapshot.selection.minorModes ?? []]
113
+ };
114
+ return {
115
+ content: [{
116
+ type: "text",
117
+ text: [
118
+ `Doompi session: ${view.sessionId} (revision ${view.revision})`,
119
+ `Repository: ${view.repositoryName}`,
120
+ `Profile: ${view.profile ?? "Default"}`,
121
+ `Major mode: ${view.majorMode}`,
122
+ `Domains: ${view.domains.join(", ") || "None"}`,
123
+ `Layers: ${view.layers.join(", ") || "None"}`,
124
+ `Minor modes: ${view.minorModes.join(", ") || "None"}`
125
+ ].join("\n")
126
+ }],
127
+ structuredContent: { ...view },
128
+ _meta: { widgetType: "session" }
129
+ };
130
+ }
131
+ };
132
+ }
42
133
  //#endregion
43
134
  //#region src/extensions/workspaces/sessions/(backend)/tool/load_context.mcp.ts
44
135
  var load_context_mcp_default = (0, _agimon_ai_doompi_core_mcp_facet.defineMcpTool)((context) => createLoadContextTool(context));
45
136
  //#endregion
137
+ //#region src/extensions/workspaces/sessions/(backend)/tool/show_session.mcp.ts
138
+ var show_session_mcp_default = (0, _agimon_ai_doompi_core_mcp_facet.defineMcpTool)((context) => createShowSessionTool(context, sessionAppUri));
139
+ //#endregion
46
140
  //#region generated/mcp.ts
47
141
  const at = (value, context) => typeof value === "function" ? value(context) : value;
48
142
  const via = (identity, value) => ({
@@ -56,7 +150,10 @@ const mcp = (0, _agimon_ai_doompi_core_mcp_facet.defineMcpPlugin)({
56
150
  return [at(doompi_author_config_mcp_default, context)];
57
151
  },
58
152
  get tools() {
59
- return [via({ name: "load_context" }, at(load_context_mcp_default, context))];
153
+ return [via({ name: "load_context" }, at(load_context_mcp_default, context)), via({ name: "show_session" }, at(show_session_mcp_default, context))];
154
+ },
155
+ get uiResources() {
156
+ return [at(session_view_mcp_default, context)];
60
157
  }
61
158
  })
62
159
  });