MCPcopy
hub / github.com/thedotmack/claude-mem / optional

Function optional

plugin/scripts/mcp-server.cjs:80–80  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

78 `)}f.write("payload.value = newResult;"),f.write("return payload;");let E=f.compile();return(v,$)=>E(p,v,$)},s,i=qt,a=!or.jitless,u=a&&ii.value,l=e.catchall,d;t._zod.parse=(p,f)=>{d??(d=n.value);let m=p.value;return i(m)?a&&u&&f?.async===!1&&f.jitless!==!0?(s||(s=o(e.shape)),p=s(p,f),l?Dd([],m,p,f,d,t):p):r(p,f):(p.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),p)}});function Xl(t,e,r,n){for(let s of t)if(s.issues.length===0)return e.value=s.value,e;let o=t.filter(s=>!$t(s));return o.length===1?(e.value=o[0].value,o[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(s=>s.issues.map(i=>je(i,n,Ae())))}),e)}var vi=g("$ZodUnion",(t,e)=>{J.init(t,e),H(t._zod,"optin",()=>e.options.some(n=>n._zod.optin==="optional")?"optional":void 0),H(t._zod,"optout",()=>e.options.some(n=>n._zod.optout==="optional")?"optional":void 0),H(t._zod,"values",()=>{if(e.options.every(n=>n._zod.values))return new Set(e.options.flatMap(n=>Array.from(n._zod.values)))}),H(t._zod,"pattern",()=>{if(e.options.every(n=>n._zod.pattern)){let n=e.options.map(o=>o._zod.pattern);return new RegExp(`^(${n.map(o=>Hr(o.source)).join("|")})$`)}});let r=e.options.length===1?e.options[0]._zod.run:null;t._zod.parse=(n,o)=>{if(r)return r(n,o);let s=!1,i=[];for(let a of e.options){let c=a._zod.run({value:n.value,issues:[]},o);if(c instanceof Promise)i.push(c),s=!0;else{if(c.issues.length===0)return c;i.push(c)}}return s?Promise.all(i).then(a=>Xl(a,n,t,o)):Xl(i,n,t,o)}});var jd=g("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,vi.init(t,e);let r=t._zod.parse;H(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=ir(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues?.[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(o,s)=>{let i=o.value;if(!qt(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback||s.direction==="backward"?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,options:Array.from(n.value.keys()),input:i,path:[e.discriminator],inst:t}),o)}}),Ld=g("$ZodIntersection",(t,e)=>{J.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Ql(r,c,u)):Ql(r,s,i)}});function yi(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(xt(t)&&xt(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=yi(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=yi(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Ql(t,e,r){let n=new Map,o;for(let a of e.issues)if(a.code==="unrecognized_keys"){o??(o=a);for(let c of a.keys)n.has(c)||n.set(c,{}),n.get(c).l=!0}else t.issues.push(a);for(let a of r.issues)if(a.code==="unrecognized_keys")for(let c of a.keys)n.has(c)||n.set(c,{}),n.get(c).r=!0;else t.issues.push(a);let s=[...n].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(s.length&&o&&t.issues.push({...o,keys:s}),$t(t))return t;let i=yi(e.value,r.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return t.value=i.data,t}var Ud=g("$ZodRecord",(t,e)=>{J.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!xt(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[],i=e.keyType._zod.values;if(i){r.value={};let a=new Set;for(let u of i)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){a.add(typeof u=="number"?u.toString():u);let l=e.keyType._zod.run({value:u,issues:[]},n);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(l.issues.length){r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(f=>je(f,n,Ae())),input:u,path:[u],inst:t});continue}let d=l.value,p=e.valueType._zod.run({value:o[u],issues:[]},n);p instanceof Promise?s.push(p.then(f=>{f.issues.length&&r.issues.push(...ft(u,f.issues)),r.value[d]=f.value})):(p.issues.length&&r.issues.push(...ft(u,p.issues)),r.value[d]=p.value)}let c;for(let u in o)a.has(u)||(c=c??[],c.push(u));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:c})}else{r.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__"||!Object.prototype.propertyIsEnumerable.call(o,a))continue;let c=e.keyType._zod.run({value:a,issues:[]},n);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&hi.test(a)&&c.issues.length){let d=e.keyType._zod.run({value:Number(a),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(c=d)}if(c.issues.length){e.mode==="loose"?r.value[a]=o[a]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(d=>je(d,n,Ae())),input:a,path:[a],inst:t});continue}let l=e.valueType._zod.run({value:o[a],issues:[]},n);l instanceof Promise?s.push(l.then(d=>{d.issues.length&&r.issues.push(...ft(a,d.issues)),r.value[c.value]=d.value})):(l.issues.length&&r.issues.push(...ft(a,l.issues)),r.value[c.value]=l.value)}}return s.length?Promise.all(s).then(()=>r):r}});var qd=g("$ZodEnum",(t,e)=>{J.init(t,e);let r=Zr(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(o=>ai.has(typeof o)).map(o=>typeof o=="string"?pt(o):o.toString()).join("|")})$`),t._zod.parse=(o,s)=>{let i=o.value;return n.has(i)||o.issues.push({code:"invalid_value",values:r,input:i,inst:t}),o}}),Zd=g("$ZodLiteral",(t,e)=>{if(J.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?pt(n):n?pt(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return r.has(s)||n.issues.push({code:"invalid_value",values:e.values,input:s,inst:t}),n}});var Fd=g("$ZodTransform",(t,e)=>{J.init(t,e),t._zod.optin="optional",t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new nr(t.constructor.name);let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r.fallback=!0,r));if(o instanceof Promise)throw new rt;return r.value=o,r.fallback=!0,r}});function ed(t,e){return e===void 0&&(t.issues.length||t.fallback)?{issues:[],value:void 0}:t}var bi=g("$ZodOptional",(t,e)=>{J.init(t,e),t._zod.optin="optional",t._zod.optout="optional",H(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),H(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Hr(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let o=r.value,s=e.innerType._zod.run(r,n);return s instanceof Promise?s.then(i=>ed(i,o)):ed(s,o)}return r.value===void 0?r:e.innerType._zod.run(r,n)}}),Hd=g("$ZodExactOptional",(t,e)=>{bi.init(t,e),H(t._zod,"values",()=>e.innerType._zod.values),H(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,n)=>e.innerType._zod.run(r,n)}),Wd=g("$ZodNullable",(t,e)=>{J.init(t,e),H(t._zod,"optin",()=>e.innerType._zod.optin),H(t._zod,"optout",()=>e.innerType._zod.optout),H(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Hr(r.source)}|null)$`):void 0}),H(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Vd=g("$ZodDefault",(t,e)=>{J.init(t,e),t._zod.optin="optional",H(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>td(s,e)):td(o,e)}});function td(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Kd=g("$ZodPrefault",(t,e)=>{J.init(t,e),t._zod.optin="optional",H(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Gd=g("$ZodNonOptional",(t,e)=>{J.init(t,e),H(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>rd(s,t)):rd(o,t)}});function rd(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Jd=g("$ZodCatch",(t,e)=>{J.init(t,e),t._zod.optin="optional",H(t._zod,"optout",()=>e.innerType._zod.optout),H(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>je(i,n,Ae()))},input:r.value}),r.issues=[],r.fallback=!0),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>je(s,n,Ae()))},input:r.value}),r.issues=[],r.fallback=!0),r)}});var Ei=g("$ZodPipe",(t,e)=>{J.init(t,e),H(t._zod,"values",()=>e.in._zod.values),H(t._zod,"optin",()=>e.in._zod.optin),H(t._zod,"optout",()=>e.out._zod.optout),H(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let s=e.out._zod.run(r,n);return s instanceof Promise?s.then(i=>_o(i,e.in,n)):_o(s,e.in,n)}let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>_o(s,e.out,n)):_o(o,e.out,n)}});function _o(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues,fallback:t.fallback},r)}var Yd=g("$ZodPreprocess",(t,e)=>{Ei.init(t,e)}),Bd=g("$ZodReadonly",(t,e)=>{J.init(t,e),H(t._zod,"propValues",()=>e.innerType._zod.propValues),H(t._zod,"values",()=>e.innerType._zod.values),H(t._zod,"optin",()=>e.innerType?._zod?.optin),H(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(nd):nd(o)}});function nd(t){return t.value=Object.freeze(t.value),t}var Xd=g("$ZodCustom",(t,e)=>{pe.init(t,e),J.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>od(s,r,n,t));od(o,r,n,t)}});function od(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(ar(o))}}var Xy=()=>{let t={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 e(o){return t[o]??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",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};return o=>{switch(o.code){case"invalid_type":{let s=n[o.expected]??o.expected,i=di(o.input),a=n[i]??i;return`Invalid input: expected ${s}, received ${a}`}case"invalid_value":return o.values.length===1?`Invalid input: expected ${uo(o.values[0])}`:`Invalid option: expected one of ${io(o.values,"|")}`;case"too_big":{let s=o.inclusive?"<=":"<",i=e(o.origin);return i?`Too big: expected ${o.origin??"value"} to have ${s}${o.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${o.origin??"value"} to be ${s}${o.maximum.toString()}`}case"too_small":{let s=o.inclusive?">=":">",i=e(o.origin);return i?`Too small: expected ${o.origin} to have ${s}${o.minimum.toString()} ${i.unit}`:`Too small: expected ${o.origin} to be ${s}${o.minimum.toString()}`}case"invalid_format":{let s=o;return s.format==="starts_with"?`Invalid string: must start with "${s.prefix}"`:s.format==="ends_with"?`Invalid string: must end with "${s.suffix}"`:s.format==="includes"?`Invalid string: must include "${s.includes}"`:s.format==="regex"?`Invalid string: must match pattern ${s.pattern}`:`Invalid ${r[s.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${io(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return o.options&&Array.isArray(o.options)&&o.options.length>0?`Invalid discriminator value. Expected ${o.options.map(i=>`'${i}'`).join(" | ")}`:"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};function Qd(){return{localeError:Xy()}}var ep;var wi=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let o={...n,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Qy(){return new wi}(ep=globalThis).__zod_globalRegistry??(ep.__zod_globalRegistry=Qy());var Zt=globalThis.__zod_globalRegistry;function tp(t,e){return new t({type:"string",...z(e)})}function rp(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...z(e)})}function ki(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...z(e)})}function np(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...z(e)})}function op(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...z(e)})}function sp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...z(e)})}function ip(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...z(e)})}function ap(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...z(e)})}function cp(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...z(e)})}function up(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...z(e)})}function lp(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...z(e)})}function dp(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...z(e)})}function pp(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...z(e)})}function fp(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...z(e)})}function mp(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...z(e)})}function hp(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...z(e)})}function gp(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...z(e)})}function _p(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...z(e)})}function yp(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...z(e)})}function Sp(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...z(e)})}function vp(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...z(e)})}function bp(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...z(e)})}function Ep(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...z(e)})}function wp(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...z(e)})}function kp(t,e){return new t({type:"string",format:"date",check:"string_format",...z(e)})}function xp(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...z(e)})}function $p(t,e){return new t({type:"string",format:"duration",check:"string_format",...z(e)})}function Pp(t,e){return new t({type:"number",checks:[],...z(e)})}function Tp(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...z(e)})}function zp(t,e){return new t({type:"boolean",...z(e)})}function Rp(t,e){return new t({type:"null",...z(e)})}function Ip(t){return new t({type:"unknown"})}function Op(t,e){return new t({type:"never",...z(e)})}function vo(t,e){return new gi({check:"less_than",...z(e),value:t,inclusive:!1})}function Yr(t,e){return new gi({check:"less_than",...z(e),value:t,inclusive:!0})}function bo(t,e){return new _i({check:"greater_than",...z(e),value:t,inclusive:!1})}function Br(t,e){return new _i({check:"greater_than",...z(e),value:t,inclusive:!0})}function Eo(t,e){return new Nl({check:"multiple_of",...z(e),value:t})}function wo(t,e){return new Ll({check:"max_length",...z(e),maximum:t})}function cr(t,e){return new Ul({check:"min_length",...z(e),minimum:t})}function ko(t,e){return new ql({check:"length_equals",...z(e),length:t})}function xi(t,e){return new Zl({check:"string_format",format:"regex",...z(e),pattern:t})}function $i(t){return new Fl({check:"string_format",format:"lowercase",...z(t)})}function Pi(t){return new Hl({check:"string_format",format:"uppercase",...z(t)})}function Ti(t,e){return new Wl({check:"string_format",format:"includes",...z(e),includes:t})}function zi(t,e){return new Vl({check:"string_format",format:"starts_with",...z(e),prefix:t})}function Ri(t,e){return new Kl({check:"string_format",format:"ends_with",...z(e),suffix:t})}function Pt(t){return new Gl({check:"overwrite",tx:t})}function Ii(t){return Pt(e=>e.normalize(t))}function Oi(){return Pt(t=>t.trim())}function Ai(){return Pt(t=>t.toLowerCase())}function Mi(){return Pt(t=>t.toUpperCase())}function Ci(){return Pt(t=>si(t))}function Ap(t,e,r){return new t({type:"array",element:e,...z(r)})}function Mp(t,e,r){let n=z(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Cp(t,e,r){return new t({type:"custom",check:"custom",fn:e,...z(r)})}function Dp(t,e){let r=eS(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(ar(o,n.value,r._zod.def));else{let s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),n.issues.push(ar(s))}},t(n.value,n)),e);return r}function eS(t,e){let r=new pe({check:"custom",...z(e)});return r._zod.check=t,r}function Di(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??Zt,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function se(t,e,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,s=e.seen.get(t);if(s)return s.count++,r.schemaPath.includes(t)&&(s.cycle=r.path),s.schema;let i={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,i);let a=t._zod.toJSONSchema?.();if(a)i.schema=a;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,i.schema,l);else{let p=i.schema,f=e.processors[o.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);f(t,e,p,l)}let d=t._zod.parent;d&&(i.ref||(i.ref=d),se(d,e,l),e.seen.get(d).isParent=!0)}let c=e.metadataRegistry.get(t);return c&&Object.assign(i.schema,c),e.io==="input"&&ke(t)&&(delete i.schema.examples,delete i.schema.default),e.io==="input"&&"_prefault"in i.schema&&((n=i.schema).default??(n.default=i.schema._prefault)),delete i.schema._prefault,e.seen.get(t).schema}function Ni(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let i of t.seen.entries()){let a=t.metadataRegistry.get(i[0])?.id;if(a){let c=n.get(a);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(a,i[0])}}let o=i=>{let a=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){let d=t.external.registry.get(i[0])?.id,p=t.external.uri??(m=>m);if(d)return{ref:p(d)};let f=i[1].defId??i[1].schema.id??`schema${t.counter++}`;return i[1].defId=f,{defId:f,ref:`${p("__shared")}#/${a}/${f}`}}if(i[1]===r)return{ref:"#"};let u=`#/${a}/`,l=i[1].schema.id??`__schema${t.counter++}`;return{defId:l,ref:u+l}},s=i=>{if(i[1].schema.$ref)return;let a=i[1],{ref:c,defId:u}=o(i);a.def={...a.schema},u&&(a.defId=u);let l=a.schema;for(let d in l)delete l[d];l.$ref=c};if(t.cycles==="throw")for(let i of t.seen.entries()){let a=i[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
79
80Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of t.seen.entries()){let a=i[1];if(e===i[0]){s(i);continue}if(t.external){let u=t.external.registry.get(i[0])?.id;if(e!==i[0]&&u){s(i);continue}}if(t.metadataRegistry.get(i[0])?.id){s(i);continue}if(a.cycle){s(i);continue}if(a.count>1&&t.reused==="ref"){s(i);continue}}}function ji(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=a=>{let c=t.seen.get(a);if(c.ref===null)return;let u=c.def??c.schema,l={...u},d=c.ref;if(c.ref=null,d){n(d);let f=t.seen.get(d),m=f.schema;if(m.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(m)):Object.assign(u,m),Object.assign(u,l),a._zod.parent===d)for(let S in u)S==="$ref"||S==="allOf"||S in l||delete u[S];if(m.$ref&&f.def)for(let S in u)S==="$ref"||S==="allOf"||S in f.def&&JSON.stringify(u[S])===JSON.stringify(f.def[S])&&delete u[S]}let p=a._zod.parent;if(p&&p!==d){n(p);let f=t.seen.get(p);if(f?.schema.$ref&&(u.$ref=f.schema.$ref,f.def))for(let m in u)m==="$ref"||m==="allOf"||m in f.def&&JSON.stringify(u[m])===JSON.stringify(f.def[m])&&delete u[m]}t.override({zodSchema:a,jsonSchema:u,path:c.path??[]})};for(let a of[...t.seen.entries()].reverse())n(a[0]);let o={};if(t.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){let a=t.external.registry.get(e)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=t.external.uri(a)}Object.assign(o,r.def??r.schema);let s=t.metadataRegistry.get(e)?.id;s!==void 0&&o.id===s&&delete o.id;let i=t.external?.defs??{};for(let a of t.seen.entries()){let c=a[1];c.def&&c.defId&&(c.def.id===c.defId&&delete c.def.id,i[c.defId]=c.def)}t.external||Object.keys(i).length>0&&(t.target==="draft-2020-12"?o.$defs=i:o.definitions=i);try{let a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...e["~standard"],jsonSchema:{input:Xr(e,"input",t.processors),output:Xr(e,"output",t.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function ke(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return ke(n.element,r);if(n.type==="set")return ke(n.valueType,r);if(n.type==="lazy")return ke(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return ke(n.innerType,r);if(n.type==="intersection")return ke(n.left,r)||ke(n.right,r);if(n.type==="record"||n.type==="map")return ke(n.keyType,r)||ke(n.valueType,r);if(n.type==="pipe")return t._zod.traits.has("$ZodCodec")?!0:ke(n.in,r)||ke(n.out,r);if(n.type==="object"){for(let o in n.shape)if(ke(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(ke(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(ke(o,r))return!0;return!!(n.rest&&ke(n.rest,r))}return!1}var Np=(t,e={})=>r=>{let n=Di({...r,processors:e});return se(t,n),Ni(n,t),ji(n,t)},Xr=(t,e,r={})=>n=>{let{libraryOptions:o,target:s}=n??{},i=Di({...o??{},target:s,io:e,processors:r});return se(t,i),Ni(i,t),ji(i,t)};var tS={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},jp=(t,e,r,n)=>{let o=r;o.type="string";let{minimum:s,maximum:i,format:a,patterns:c,contentEncoding:u}=t._zod.bag;if(typeof s=="number"&&(o.minLength=s),typeof i=="number"&&(o.maxLength=i),a&&(o.format=tS[a]??a,o.format===""&&delete o.format,a==="time"&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?o.pattern=l[0].source:l.length>1&&(o.allOf=[...l.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Lp=(t,e,r,n)=>{let o=r,{minimum:s,maximum:i,format:a,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=t._zod.bag;typeof a=="string"&&a.includes("int")?o.type="integer":o.type="number";let d=typeof l=="number"&&l>=(s??Number.NEGATIVE_INFINITY),p=typeof u=="number"&&u<=(i??Number.POSITIVE_INFINITY),f=e.target==="draft-04"||e.target==="openapi-3.0";d?f?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l:typeof s=="number"&&(o.minimum=s),p?f?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u:typeof i=="number"&&(o.maximum=i),typeof c=="number"&&(o.multipleOf=c)},Up=(t,e,r,n)=>{r.type="boolean"};var qp=(t,e,r,n)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"};var Zp=(t,e,r,n)=>{r.not={}};var Fp=(t,e,r,n)=>{};var Hp=(t,e,r,n)=>{let o=t._zod.def,s=Zr(o.entries);s.every(i=>typeof i=="number")&&(r.type="number"),s.every(i=>typeof i=="string")&&(r.type="string"),r.enum=s},Wp=(t,e,r,n)=>{let o=t._zod.def,s=[];for(let i of o.values)if(i===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(i))}else s.push(i);if(s.length!==0)if(s.length===1){let i=s[0];r.type=i===null?"null":typeof i,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[i]:r.const=i}else s.every(i=>typeof i=="number")&&(r.type="number"),s.every(i=>typeof i=="string")&&(r.type="string"),s.every(i=>typeof i=="boolean")&&(r.type="boolean"),s.every(i=>i===null)&&(r.type="null"),r.enum=s};var Vp=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")};var Kp=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")};var Gp=(t,e,r,n)=>{let o=r,s=t._zod.def,{minimum:i,maximum:a}=t._zod.bag;typeof i=="number"&&(o.minItems=i),typeof a=="number"&&(o.maxItems=a),o.type="array",o.items=se(s.element,e,{...n,path:[...n.path,"items"]})},Jp=(t,e,r,n)=>{let o=r,s=t._zod.def;o.type="object",o.properties={};let i=s.shape;for(let u in i)o.properties[u]=se(i[u],e,{...n,path:[...n.path,"properties",u]});let a=new Set(Object.keys(i)),c=new Set([...a].filter(u=>{let l=s.shape[u]._zod;return e.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(o.required=Array.from(c)),s.catchall?._zod.def.type==="never"?o.additionalProperties=!1:s.catchall?s.catchall&&(o.additionalProperties=se(s.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(o.additionalProperties=!1)},Yp=(t,e,r,n)=>{let o=t._zod.def,s=o.inclusive===!1,i=o.options.map((a,c)=>se(a,e,{...n,path:[...n.path,s?"oneOf":"anyOf",c]}));s?r.oneOf=i:r.anyOf=i},Bp=(t,e,r,n)=>{let o=t._zod.def,s=se(o.left,e,{...n,path:[...n.path,"allOf",0]}),i=se(o.right,e,{...n,path:[...n.path,"allOf",1]}),a=u=>"allOf"in u&&Object.keys(u).length===1,c=[...a(s)?s.allOf:[s],...a(i)?i.allOf:[i]];r.allOf=c};var Xp=(t,e,r,n)=>{let o=r,s=t._zod.def;o.type="object";let i=s.keyType,c=i._zod.bag?.patterns;if(s.mode==="loose"&&c&&c.size>0){let l=se(s.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let d of c)o.patternProperties[d.source]=l}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(o.propertyNames=se(s.keyType,e,{...n,path:[...n.path,"propertyNames"]})),o.additionalProperties=se(s.valueType,e,{...n,path:[...n.path,"additionalProperties"]});let u=i._zod.values;if(u){let l=[...u].filter(d=>typeof d=="string"||typeof d=="number");l.length>0&&(o.required=l)}},Qp=(t,e,r,n)=>{let o=t._zod.def,s=se(o.innerType,e,n),i=e.seen.get(t);e.target==="openapi-3.0"?(i.ref=o.innerType,r.nullable=!0):r.anyOf=[s,{type:"null"}]},ef=(t,e,r,n)=>{let o=t._zod.def;se(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType},tf=(t,e,r,n)=>{let o=t._zod.def;se(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType,r.default=JSON.parse(JSON.stringify(o.defaultValue))},rf=(t,e,r,n)=>{let o=t._zod.def;se(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},nf=(t,e,r,n)=>{let o=t._zod.def;se(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=i},of=(t,e,r,n)=>{let o=t._zod.def,s=o.in._zod.traits.has("$ZodTransform"),i=e.io==="input"?s?o.out:o.in:o.out;se(i,e,n);let a=e.seen.get(t);a.ref=i},sf=(t,e,r,n)=>{let o=t._zod.def;se(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType,r.readOnly=!0};var Li=(t,e,r,n)=>{let o=t._zod.def;se(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType};function ur(t){return!!t._zod}function Tt(t,e){return ur(t)?Kr(t,e):t.safeParse(e)}function xo(t){if(!t)return;let e;if(ur(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function af(t){if(ur(t)){let s=t._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var en={};ju(en,{ZodISODate:()=>uf,ZodISODateTime:()=>cf,ZodISODuration:()=>df,ZodISOTime:()=>lf,date:()=>qi,datetime:()=>Ui,duration:()=>Fi,time:()=>Zi});var cf=g("ZodISODateTime",(t,e)=>{gd.init(t,e),te.init(t,e)});function Ui(t){return wp(cf,t)}var uf=g("ZodISODate",(t,e)=>{_d.init(t,e),te.init(t,e)});function qi(t){return kp(uf,t)}var lf=g("ZodISOTime",(t,e)=>{yd.init(t,e),te.init(t,e)});function Zi(t){return xp(lf,t)}var df=g("ZodISODuration",(t,e)=>{Sd.init(t,e),te.init(t,e)});function Fi(t){return $p(df,t)}var lS=(t,e)=>{lo.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Qu(t,r)},flatten:{value:r=>Xu(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,sr,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,sr,2)}},isEmpty:{get(){return t.issues.length===0}}})};var Me=g("ZodError",lS,{Parent:Error});var pf=po(Me),ff=fo(Me),mf=Vr(Me),hf=Gr(Me),gf=el(Me),_f=tl(Me),yf=rl(Me),Sf=nl(Me),vf=ol(Me),bf=sl(Me),Ef=il(Me),wf=al(Me);var kf=new WeakMap;function tn(t,e,r){let n=Object.getPrototypeOf(t),o=kf.get(n);if(o||(o=new Set,kf.set(n,o)),!o.has(e)){o.add(e);for(let s in r){let i=r[s];Object.defineProperty(n,s,{configurable:!0,enumerable:!1,get(){let a=i.bind(this);return Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a}),a},set(a){Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a})}})}}}var oe=g("ZodType",(t,e)=>(J.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:Xr(t,"input"),output:Xr(t,"output")}}),t.toJSONSchema=Np(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.parse=(r,n)=>pf(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>mf(t,r,n),t.parseAsync=async(r,n)=>ff(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>hf(t,r,n),t.spa=t.safeParseAsync,t.encode=(r,n)=>gf(t,r,n),t.decode=(r,n)=>_f(t,r,n),t.encodeAsync=async(r,n)=>yf(t,r,n),t.decodeAsync=async(r,n)=>Sf(t,r,n),t.safeEncode=(r,n)=>vf(t,r,n),t.safeDecode=(r,n)=>bf(t,r,n),t.safeEncodeAsync=async(r,n)=>Ef(t,r,n),t.safeDecodeAsync=async(r,n)=>wf(t,r,n),tn(t,"ZodType",{check(...r){let n=this.def;return this.clone(U.mergeDefs(n,{checks:[...n.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0})},with(...r){return this.check(...r)},clone(r,n){return Je(this,r,n)},brand(){return this},register(r,n){return r.add(this,n),this},refine(r,n){return this.check(ev(r,n))},superRefine(r,n){return this.check(tv(r,n))},overwrite(r){return this.check(Pt(r))},optional(){return ne(this)},exactOptional(){return ZS(this)},nullable(){return Tf(this)},nullish(){return ne(Tf(this))},nonoptional(r){return GS(this,r)},array(){return N(this)},or(r){return B([this,r])},and(r){return Po(this,r)},transform(r){return zf(this,Cf(r))},default(r){return WS(this,r)},prefault(r){return KS(this,r)},catch(r){return YS(this,r)},pipe(r){return zf(this,r)},readonly(){return QS(this)},describe(r){let n=this.clone();return Zt.add(n,{description:r}),n},meta(...r){if(r.length===0)return Zt.get(this);let n=this.clone();return Zt.add(n,r[0]),n},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(t,"description",{get(){return Zt.get(t)?.description},configurable:!0}),t)),Rf=g("_ZodString",(t,e)=>{So.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(n,o,s)=>jp(t,n,o,s);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,tn(t,"_ZodString",{regex(...n){return this.check(xi(...n))},includes(...n){return this.check(Ti(...n))},startsWith(...n){return this.check(zi(...n))},endsWith(...n){return this.check(Ri(...n))},min(...n){return this.check(cr(...n))},max(...n){return this.check(wo(...n))},length(...n){return this.check(ko(...n))},nonempty(...n){return this.check(cr(1,...n))},lowercase(n){return this.check($i(n))},uppercase(n){return this.check(Pi(n))},trim(){return this.check(Oi())},normalize(...n){return this.check(Ii(...n))},toLowerCase(){return this.check(Ai())},toUpperCase(){return this.check(Mi())},slugify(){return this.check(Ci())}})}),pS=g("ZodString",(t,e)=>{So.init(t,e),Rf.init(t,e),t.email=r=>t.check(rp(fS,r)),t.url=r=>t.check(ap(mS,r)),t.jwt=r=>t.check(Ep(zS,r)),t.emoji=r=>t.check(cp(hS,r)),t.guid=r=>t.check(ki(xf,r)),t.uuid=r=>t.check(np($o,r)),t.uuidv4=r=>t.check(op($o,r)),t.uuidv6=r=>t.check(sp($o,r)),t.uuidv7=r=>t.check(ip($o,r)),t.nanoid=r=>t.check(up(gS,r)),t.guid=r=>t.check(ki(xf,r)),t.cuid=r=>t.check(lp(_S,r)),t.cuid2=r=>t.check(dp(yS,r)),t.ulid=r=>t.check(pp(SS,r)),t.base64=r=>t.check(Sp($S,r)),t.base64url=r=>t.check(vp(PS,r)),t.xid=r=>t.check(fp(vS,r)),t.ksuid=r=>t.check(mp(bS,r)),t.ipv4=r=>t.check(hp(ES,r)),t.ipv6=r=>t.check(gp(wS,r)),t.cidrv4=r=>t.check(_p(kS,r)),t.cidrv6=r=>t.check(yp(xS,r)),t.e164=r=>t.check(bp(TS,r)),t.datetime=r=>t.check(Ui(r)),t.date=r=>t.check(qi(r)),t.time=r=>t.check(Zi(r)),t.duration=r=>t.check(Fi(r))});function h(t){return tp(pS,t)}var te=g("ZodStringFormat",(t,e)=>{Y.init(t,e),Rf.init(t,e)}),fS=g("ZodEmail",(t,e)=>{ad.init(t,e),te.init(t,e)});var xf=g("ZodGUID",(t,e)=>{sd.init(t,e),te.init(t,e)});var $o=g("ZodUUID",(t,e)=>{id.init(t,e),te.init(t,e)});var mS=g("ZodURL",(t,e)=>{cd.init(t,e),te.init(t,e)});var hS=g("ZodEmoji",(t,e)=>{ud.init(t,e),te.init(t,e)});var gS=g("ZodNanoID",(t,e)=>{ld.init(t,e),te.init(t,e)});var _S=g("ZodCUID",(t,e)=>{dd.init(t,e),te.init(t,e)});var yS=g("ZodCUID2",(t,e)=>{pd.init(t,e),te.init(t,e)});var SS=g("ZodULID",(t,e)=>{fd.init(t,e),te.init(t,e)});var vS=g("ZodXID",(t,e)=>{md.init(t,e),te.init(t,e)});var bS=g("ZodKSUID",(t,e)=>{hd.init(t,e),te.init(t,e)});var ES=g("ZodIPv4",(t,e)=>{vd.init(t,e),te.init(t,e)});var wS=g("ZodIPv6",(t,e)=>{bd.init(t,e),te.init(t,e)});var kS=g("ZodCIDRv4",(t,e)=>{Ed.init(t,e),te.init(t,e)});var xS=g("ZodCIDRv6",(t,e)=>{wd.init(t,e),te.init(t,e)});var $S=g("ZodBase64",(t,e)=>{xd.init(t,e),te.init(t,e)});var PS=g("ZodBase64URL",(t,e)=>{$d.init(t,e),te.init(t,e)});var TS=g("ZodE164",(t,e)=>{Pd.init(t,e),te.init(t,e)});var zS=g("ZodJWT",(t,e)=>{Td.init(t,e),te.init(t,e)});var If=g("ZodNumber",(t,e)=>{Si.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(n,o,s)=>Lp(t,n,o,s),tn(t,"ZodNumber",{gt(n,o){return this.check(bo(n,o))},gte(n,o){return this.check(Br(n,o))},min(n,o){return this.check(Br(n,o))},lt(n,o){return this.check(vo(n,o))},lte(n,o){return this.check(Yr(n,o))},max(n,o){return this.check(Yr(n,o))},int(n){return this.check($f(n))},safe(n){return this.check($f(n))},positive(n){return this.check(bo(0,n))},nonnegative(n){return this.check(Br(0,n))},negative(n){return this.check(vo(0,n))},nonpositive(n){return this.check(Yr(0,n))},multipleOf(n,o){return this.check(Eo(n,o))},step(n,o){return this.check(Eo(n,o))},finite(){return this}});let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function W(t){return Pp(If,t)}var RS=g("ZodNumberFormat",(t,e)=>{zd.init(t,e),If.init(t,e)});function $f(t){return Tp(RS,t)}var IS=g("ZodBoolean",(t,e)=>{Rd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Up(t,r,n,o)});function de(t){return zp(IS,t)}var OS=g("ZodNull",(t,e)=>{Id.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>qp(t,r,n,o)});function Of(t){return Rp(OS,t)}var AS=g("ZodUnknown",(t,e)=>{Od.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Fp(t,r,n,o)});function re(){return Ip(AS)}var MS=g("ZodNever",(t,e)=>{Ad.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Zp(t,r,n,o)});function CS(t){return Op(MS,t)}var DS=g("ZodArray",(t,e)=>{Md.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Gp(t,r,n,o),t.element=e.element,tn(t,"ZodArray",{min(r,n){return this.check(cr(r,n))},nonempty(r){return this.check(cr(1,r))},max(r,n){return this.check(wo(r,n))},length(r,n){return this.check(ko(r,n))},unwrap(){return this.element}})});function N(t,e){return Ap(DS,t,e)}var Af=g("ZodObject",(t,e)=>{Nd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Jp(t,r,n,o),U.defineLazy(t,"shape",()=>e.shape),tn(t,"ZodObject",{keyof(){return Te(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:re()})},loose(){return this.clone({...this._zod.def,catchall:re()})},strict(){return this.clone({...this._zod.def,catchall:CS()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return U.extend(this,r)},safeExtend(r){return U.safeExtend(this,r)},merge(r){return U.merge(this,r)},pick(r){return U.pick(this,r)},omit(r){return U.omit(this,r)},partial(...r){return U.partial(Df,this,r[0])},required(...r){return U.required(Nf,this,r[0])}})});function k(t,e){let r={type:"object",shape:t??{},...U.normalizeParams(e)};return new Af(r)}function xe(t,e){return new Af({type:"object",shape:t,catchall:re(),...U.normalizeParams(e)})}var Mf=g("ZodUnion",(t,e)=>{vi.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Yp(t,r,n,o),t.options=e.options});function B(t,e){return new Mf({type:"union",options:t,...U.normalizeParams(e)})}var NS=g("ZodDiscriminatedUnion",(t,e)=>{Mf.init(t,e),jd.init(t,e)});function Wi(t,e,r){return new NS({type:"union",options:e,discriminator:t,...U.normalizeParams(r)})}var jS=g("ZodIntersection",(t,e)=>{Ld.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Bp(t,r,n,o)});function Po(t,e){return new jS({type:"intersection",left:t,right:e})}var Pf=g("ZodRecord",(t,e)=>{Ud.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Xp(t,r,n,o),t.keyType=e.keyType,t.valueType=e.valueType});function G(t,e,r){return!e||!e._zod?new Pf({type:"record",keyType:h(),valueType:t,...U.normalizeParams(e)}):new Pf({type:"record",keyType:t,valueType:e,...U.normalizeParams(r)})}var Hi=g("ZodEnum",(t,e)=>{qd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(n,o,s)=>Hp(t,n,o,s),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Hi({...e,checks:[],...U.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Hi({...e,checks:[],...U.normalizeParams(o),entries:s})}});function Te(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Hi({type:"enum",entries:r,...U.normalizeParams(e)})}var LS=g("ZodLiteral",(t,e)=>{Zd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Wp(t,r,n,o),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function P(t,e){return new LS({type:"literal",values:Array.isArray(t)?t:[t],...U.normalizeParams(e)})}var US=g("ZodTransform",(t,e)=>{Fd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Kp(t,r,n,o),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new nr(t.constructor.name);r.addIssue=s=>{if(typeof s=="string")r.issues.push(U.issue(s,r.value,e));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),r.issues.push(U.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r.fallback=!0,r)):(r.value=o,r.fallback=!0,r)}});function Cf(t){return new US({type:"transform",transform:t})}var Df=g("ZodOptional",(t,e)=>{bi.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Li(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function ne(t){return new Df({type:"optional",innerType:t})}var qS=g("ZodExactOptional",(t,e)=>{Hd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Li(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function ZS(t){return new qS({type:"optional",innerType:t})}var FS=g("ZodNullable",(t,e)=>{Wd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Qp(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function Tf(t){return new FS({type:"nullable",innerType:t})}var HS=g("ZodDefault",(t,e)=>{Vd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>tf(t,r,n,o),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function WS(t,e){return new HS({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():U.shallowClone(e)}})}var VS=g("ZodPrefault",(t,e)=>{Kd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>rf(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function KS(t,e){return new VS({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():U.shallowClone(e)}})}var Nf=g("ZodNonOptional",(t,e)=>{Gd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ef(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function GS(t,e){return new Nf({type:"nonoptional",innerType:t,...U.normalizeParams(e)})}var JS=g("ZodCatch",(t,e)=>{Jd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>nf(t,r,n,o),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function YS(t,e){return new JS({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var jf=g("ZodPipe",(t,e)=>{Ei.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>of(t,r,n,o),t.in=e.in,t.out=e.out});function zf(t,e){return new jf({type:"pipe",in:t,out:e})}var BS=g("ZodPreprocess",(t,e)=>{jf.init(t,e),Yd.init(t,e)}),XS=g("ZodReadonly",(t,e)=>{Bd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>sf(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function QS(t){return new XS({type:"readonly",innerType:t})}var Lf=g("ZodCustom",(t,e)=>{Xd.init(t,e),oe.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Vp(t,r,n,o)});function Uf(t,e){return Mp(Lf,t??(()=>!0),e)}function ev(t,e={}){return Cp(Lf,t,e)}function tv(t,e){return Dp(t,e)}function Vi(t,e){return new BS({type:"pipe",in:Cf(t),out:e})}Ae(Qd());var Gi="2025-11-25";var qf=[Gi,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],zt="io.modelcontextprotocol/related-task",zo="2.0",le=Uf(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Zf=B([h(),W().int()]),Ff=h(),jR=xe({ttl:W().optional(),pollInterval:W().optional()}),rv=k({ttl:W().optional()}),nv=k({taskId:h()}),Ji=xe({progressToken:Zf.optional(),[zt]:nv.optional()}),Ce=k({_meta:Ji.optional()}),rn=Ce.extend({task:rv.optional()}),Hf=t=>rn.safeParse(t).success,fe=k({method:h(),params:Ce.loose().optional()}),Le=k({_meta:Ji.optional()}),Ue=k({method:h(),params:Le.loose().optional()}),me=xe({_meta:Ji.optional()}),Ro=B([h(),W().int()]),Wf=k({jsonrpc:P(zo),id:Ro,...fe.shape}).strict(),Yi=t=>Wf.safeParse(t).success,Vf=k({jsonrpc:P(zo),...Ue.shape}).strict(),Kf=t=>Vf.safeParse(t).success,Bi=k({jsonrpc:P(zo),id:Ro,result:me}).strict(),nn=t=>Bi.safeParse(t).success;var D;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(D||(D={}));var Xi=k({jsonrpc:P(zo),id:Ro.optional(),error:k({code:W().int(),message:h(),data:re().optional()})}).strict();var Gf=t=>Xi.safeParse(t).success;var Jf=B([Wf,Vf,Bi,Xi]),LR=B([Bi,Xi]),Io=me.strict(),ov=Le.extend({requestId:Ro.optional(),reason:h().optional()}),Oo=Ue.extend({method:P("notifications/cancelled"),params:ov}),sv=k({src:h(),mimeType:h().optional(),sizes:N(h()).optional(),theme:Te(["light","dark"]).optional()}),on=k({icons:N(sv).optional()}),lr=k({name:h(),title:h().optional()}),Yf=lr.extend({...lr.shape,...on.shape,version:h(),websiteUrl:h().optional(),description:h().optional()}),iv=Po(k({applyDefaults:de().optional()}),G(h(),re())),av=Vi(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Po(k({form:iv.optional(),url:le.optional()}),G(h(),re()).optional())),cv=xe({list:le.optional(),cancel:le.optional(),requests:xe({sampling:xe({createMessage:le.optional()}).optional(),elicitation:xe({create:le.optional()}).optional()}).optional()}),uv=xe({list:le.optional(),cancel:le.optional(),requests:xe({tools:xe({call:le.optional()}).optional()}).optional()}),lv=k({experimental:G(h(),le).optional(),sampling:k({context:le.optional(),tools:le.optional()}).optional(),elicitation:av.optional(),roots:k({listChanged:de().optional()}).optional(),tasks:cv.optional(),extensions:G(h(),le).optional()}),dv=Ce.extend({protocolVersion:h(),capabilities:lv,clientInfo:Yf}),Qi=fe.extend({method:P("initialize"),params:dv});var pv=k({experimental:G(h(),le).optional(),logging:le.optional(),completions:le.optional(),prompts:k({listChanged:de().optional()}).optional(),resources:k({subscribe:de().optional(),listChanged:de().optional()}).optional(),tools:k({listChanged:de().optional()}).optional(),tasks:uv.optional(),extensions:G(h(),le).optional()}),fv=me.extend({protocolVersion:h(),capabilities:pv,serverInfo:Yf,instructions:h().optional()}),ea=Ue.extend({method:P("notifications/initialized"),params:Le.optional()});var Ao=fe.extend({method:P("ping"),params:Ce.optional()}),mv=k({progress:W(),total:ne(W()),message:ne(h())}),hv=k({...Le.shape,...mv.shape,progressToken:Zf}),Mo=Ue.extend({method:P("notifications/progress"),params:hv}),gv=Ce.extend({cursor:Ff.optional()}),sn=fe.extend({params:gv.optional()}),an=me.extend({nextCursor:Ff.optional()}),_v=Te(["working","input_required","completed","failed","cancelled"]),cn=k({taskId:h(),status:_v,ttl:B([W(),Of()]),createdAt:h(),lastUpdatedAt:h(),pollInterval:ne(W()),statusMessage:ne(h())}),dr=me.extend({task:cn}),yv=Le.merge(cn),un=Ue.extend({method:P("notifications/tasks/status"),params:yv}),Co=fe.extend({method:P("tasks/get"),params:Ce.extend({taskId:h()})}),Do=me.merge(cn),No=fe.extend({method:P("tasks/result"),params:Ce.extend({taskId:h()})}),UR=me.loose(),jo=sn.extend({method:P("tasks/list")}),Lo=an.extend({tasks:N(cn)}),Uo=fe.extend({method:P("tasks/cancel"),params:Ce.extend({taskId:h()})}),Bf=me.merge(cn),Xf=k({uri:h(),mimeType:ne(h()),_meta:G(h(),re()).optional()}),Qf=Xf.extend({text:h()}),ta=h().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),em=Xf.extend({blob:ta}),ln=Te(["user","assistant"]),pr=k({audience:N(ln).optional(),priority:W().min(0).max(1).optional(),lastModified:en.datetime({offset:!0}).optional()}),tm=k({...lr.shape,...on.shape,uri:h(),description:ne(h()),mimeType:ne(h()),size:ne(W()),annotations:pr.optional(),_meta:ne(xe({}))}),Sv=k({...lr.shape,...on.shape,uriTemplate:h(),description:ne(h()),mimeType:ne(h()),annotations:pr.optional(),_meta:ne(xe({}))}),vv=sn.extend({method:P("resources/list")}),bv=an.extend({resources:N(tm)}),Ev=sn.extend({method:P("resources/templates/list")}),wv=an.extend({resourceTemplates:N(Sv)}),ra=Ce.extend({uri:h()}),kv=ra,xv=fe.extend({method:P("resources/read"),params:kv}),$v=me.extend({contents:N(B([Qf,em]))}),Pv=Ue.extend({method:P("notifications/resources/list_changed"),params:Le.optional()}),Tv=ra,zv=fe.extend({method:P("resources/subscribe"),params:Tv}),Rv=ra,Iv=fe.extend({method:P("resources/unsubscribe"),params:Rv}),Ov=Le.extend({uri:h()}),Av=Ue.extend({method:P("notifications/resources/updated"),params:Ov}),Mv=k({name:h(),description:ne(h()),required:ne(de())}),Cv=k({...lr.shape,...on.shape,description:ne(h()),arguments:ne(N(Mv)),_meta:ne(xe({}))}),Dv=sn.extend({method:P("prompts/list")}),Nv=an.extend({prompts:N(Cv)}),jv=Ce.extend({name:h(),arguments:G(h(),h()).optional()}),Lv=fe.extend({method:P("prompts/get"),params:jv}),na=k({type:P("text"),text:h(),annotations:pr.optional(),_meta:G(h(),re()).optional()}),oa=k({type:P("image"),data:ta,mimeType:h(),annotations:pr.optional(),_meta:G(h(),re()).optional()}),sa=k({type:P("audio"),data:ta,mimeType:h(),annotations:pr.optional(),_meta:G(h(),re()).optional()}),Uv=k({type:P("tool_use"),name:h(),id:h(),input:G(h(),re()),_meta:G(h(),re()).optional()}),qv=k({type:P("resource"),resource:B([Qf,em]),annotations:pr.optional(),_meta:G(h(),re()).optional()}),Zv=tm.extend({type:P("resource_link")}),ia=B([na,oa,sa,Zv,qv]),Fv=k({role:ln,content:ia}),Hv=me.extend({description:h().optional(),messages:N(Fv)}),Wv=Ue.extend({method:P("notifications/prompts/list_changed"),params:Le.optional()}),Vv=k({title:h().optional(),readOnlyHint:de().optional(),destructiveHint:de().optional(),idempotentHint:de().optional(),openWorldHint:de().optional()}),Kv=k({taskSupport:Te(["required","optional","forbidden"]).optional()}),rm=k({...lr.shape,...on.shape,description:h().optional(),inputSchema:k({type:P("object"),properties:G(h(),le).optional(),required:N(h()).optional()}).catchall(re()),outputSchema:k({type:P("object"),properties:G(h(),le).optional(),required:N(h()).optional()}).catchall(re()).optional(),annotations:Vv.optional(),execution:Kv.optional(),_meta:G(h(),re()).optional()}),aa=sn.extend({method:P("tools/list")}),Gv=an.extend({tools:N(rm)}),qo=me.extend({content:N(ia).default([]),structuredContent:G(h(),re()).optional(),isError:de().optional()}),qR=qo.or(me.extend({toolResult:re()})),Jv=rn.extend({name:h(),arguments:G(h(),re()).optional()}),dn=fe.extend({method:P("tools/call"),params:Jv}),Yv=Ue.extend({method:P("notifications/tools/list_changed"),params:Le.optional()}),ZR=k({autoRefresh:de().default(!0),debounceMs:W().int().nonnegative().default(300)}),pn=Te(["debug","info","notice","warning","error","critical","alert","emergency"]),Bv=Ce.extend({level:pn}),ca=fe.extend({method:P("logging/setLevel"),params:Bv}),Xv=Le.extend({level:pn,logger:h().optional(),data:re()}),Qv=Ue.extend({method:P("notifications/message"),params:Xv}),eb=k({name:h().optional()}),tb=k({hints:N(eb).optional(),costPriority:W().min(0).max(1).optional(),speedPriority:W().min(0).max(1).optional(),intelligencePriority:W().min(0).max(1).optional()}),rb=k({mode:Te(["auto","required","none"]).optional()}),nb=k({type:P("tool_result"),toolUseId:h().describe("The unique identifier for the corresponding tool call."),content:N(ia).default([]),structuredContent:k({}).loose().optional(),isError:de().optional(),_meta:G(h(),re()).optional()}),ob=Wi("type",[na,oa,sa]),To=Wi("type",[na,oa,sa,Uv,nb]),sb=k({role:ln,content:B([To,N(To)]),_meta:G(h(),re()).optional()}),ib=rn.extend({messages:N(sb),modelPreferences:tb.optional(),systemPrompt:h().optional(),includeContext:Te(["none","thisServer","allServers"]).optional(),temperature:W().optional(),maxTokens:W().int(),stopSequences:N(h()).optional(),metadata:le.optional(),tools:N(rm).optional(),toolChoice:rb.optional()}),ab=fe.extend({method:P("sampling/createMessage"),params:ib}),fn=me.extend({model:h(),stopReason:ne(Te(["endTurn","stopSequence","maxTokens"]).or(h())),role:ln,content:ob}),ua=me.extend({model:h(),stopReason:ne(Te(["endTurn","stopSequence","maxTokens","toolUse"]).or(h())),role:ln,content:B([To,N(To)])}),cb=k({type:P("boolean"),title:h().optional(),description:h().optional(),default:de().optional()}),ub=k({type:P("string"),title:h().optional(),description:h().optional(),minLength:W().optional(),maxLength:W().optional(),format:Te(["email","uri","date","date-time"]).optional(),default:h().optional()}),lb=k({type:Te(["number","integer"]),title:h().optional(),description:h().optional(),minimum:W().optional(),maximum:W().optional(),default:W().optional()}),db=k({type:P("string"),title:h().optional(),description:h().optional(),enum:N(h()),default:h().optional()}),pb=k({type:P("string"),title:h().optional(),description:h().optional(),oneOf:N(k({const:h(),title:h()})),default:h().optional()}),fb=k({type:P("string"),title:h().optional(),description:h().optional(),enum:N(h()),enumNames:N(h()).optional(),default:h().optional()}),mb=B([db,pb]),hb=k({type:P("array"),title:h().optional(),description:h().optional(),minItems:W().optional(),maxItems:W().optional(),items:k({type:P("string"),enum:N(h())}),default:N(h()).optional()}),gb=k({type:P("array"),title:h().optional(),description:h().optional(),minItems:W().optional(),maxItems:W().optional(),items:k({anyOf:N(k({const:h(),title:h()}))}),default:N(h()).optional()}),_b=B([hb,gb]),yb=B([fb,mb,_b]),Sb=B([yb,cb,ub,lb]),vb=rn.extend({mode:P("form").optional(),message:h(),requestedSchema:k({type:P("object"),properties:G(h(),Sb),required:N(h()).optional()})}),bb=rn.extend({mode:P("url"),message:h(),elicitationId:h(),url:h().url()}),Eb=B([vb,bb]),wb=fe.extend({method:P("elicitation/create"),params:Eb}),kb=Le.extend({elicitationId:h()}),xb=Ue.extend({method:P("notifications/elicitation/complete"),params:kb}),fr=me.extend({action:Te(["accept","decline","cancel"]),content:Vi(t=>t===null?void 0:t,G(h(),B([h(),W(),de(),N(h())])).optional())}),$b=k({type:P("ref/resource"),uri:h()});var Pb=k({type:P("ref/prompt"),name:h()}),Tb=Ce.extend({ref:B([Pb,$b]),argument:k({name:h(),value:h()}),context:k({arguments:G(h(),h()).optional()}).optional()}),zb=fe.extend({method:P("completion/complete"),params:Tb});var Rb=me.extend({completion:xe({values:N(h()).max(100),total:ne(W().int()),hasMore:ne(de())})}),Ib=k({uri:h().startsWith("file://"),name:h().optional(),_meta:G(h(),re()).optional()}),Ob=fe.extend({method:P("roots/list"),params:Ce.optional()}),la=me.extend({roots:N(Ib)}),Ab=Ue.extend({method:P("notifications/roots/list_changed"),params:Le.optional()}),FR=B([Ao,Qi,zb,ca,Lv,Dv,vv,Ev,xv,zv,Iv,dn,aa,Co,No,jo,Uo]),HR=B([Oo,Mo,ea,Ab,un]),WR=B([Io,fn,ua,fr,la,Do,Lo,dr]),VR=B([Ao,ab,wb,Ob,Co,No,jo,Uo]),KR=B([Oo,Mo,Qv,Av,Pv,Yv,Wv,un,xb]),GR=B([Io,fv,Rb,Hv,Nv,bv,wv,$v,qo,Gv,Do,Lo,dr]),I=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===D.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Ki(o.elicitations,r)}return new t(e,r,n)}},Ki=class extends I{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(D.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Rt(t){return t==="completed"||t==="failed"||t==="cancelled"}var PI=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function da(t){let r=xo(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=af(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function pa(t,e){let r=Tt(t,e);if(!r.success)throw r.error;return r.data}var Lb=6e4,Zo=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Oo,r=>{this._oncancel(r)}),this.setNotificationHandler(Mo,r=>{this._onprogress(r)}),this.setRequestHandler(Ao,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Co,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new I(D.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(No,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,p=new I(d.error.code,d.error.message,d.error.data);l(p)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new I(D.InvalidParams,`Task not found: ${s}`);if(!Rt(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Rt(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[zt]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(jo,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new I(D.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Uo,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new I(D.InvalidParams,`Task not found: ${r.params.taskId}`);if(Rt(o.status))throw new I(D.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new I(D.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof I?o:new I(D.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),I.fromError(D.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),nn(s)||Gf(s)?this._onresponse(s):Yi(s)?this._onrequest(s,i):Kf(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=I.fromError(D.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[zt]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:D.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=Hf(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,p)=>{if(i.signal.aborted)throw new I(D.ConnectionClosed,"Request was cancelled");let f={...p,relatedRequestId:e.id};s&&!f.relatedTask&&(f.relatedTask={taskId:s});let m=f.relatedTask?.taskId??s;return m&&c&&await c.updateTaskStatus(m,"input_required"),await this.request(l,d,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:D.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),nn(e))n(e);else{let i=new I(e.error.code,e.error.message,e.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(nn(e)&&e.result&&typeof e.result=="object"){let i=e.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),nn(e))o(e);else{let i=I.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof I?i:new I(D.InternalError,String(i))}}return}let s;try{let i=await this.request(e,dr,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new I(D.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Rt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new I(D.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new I(D.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof I?i:new I(D.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=E=>{l(E)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(E){d(E);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[zt]:c}});let m=E=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(E)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch($=>this._onerror(new Error(`Failed to send cancellation: ${$}`)));let v=E instanceof I?E:new I(D.RequestTimeout,String(E));l(v)};this._responseHandlers.set(p,E=>{if(!n?.signal?.aborted){if(E instanceof Error)return l(E);try{let v=Tt(r,E.result);v.success?u(v.data):l(v.error)}catch(v){l(v)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let _=n?.timeout??Lb,S=()=>m(I.fromError(D.RequestTimeout,"Request timed out",{timeout:_}));this._setupTimeout(p,_,n?.maxTotalTimeout,S,n?.resetTimeoutOnProgress??!1);let b=c?.taskId;if(b){let E=v=>{let $=this._responseHandlers.get(p);$?$(v):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,E),this._enqueueTaskMessage(b,{type:"request",message:f,timestamp:Date.now()}).catch(v=>{this._cleanupTimeout(p),l(v)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(E=>{this._cleanupTimeout(p),l(E)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Do,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},Lo,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Bf,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[zt]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.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 a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[zt]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[zt]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=da(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=pa(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=da(e);this._notificationHandlers.set(n,o=>{let s=pa(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&Yi(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new I(D.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new I(D.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new I(D.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new I(D.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=un.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Rt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new I(D.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Rt(a.status))throw new I(D.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=un.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Rt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function nm(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function om(t,e){let r={...t};for(let n in e){let o=n,s=e[o];if(s===void 0)continue;let i=r[o];nm(i)&&nm(s)?r[o]={...i,...s}:r[o]=s}return r}var Jg=wt(Xc(),1),Yg=wt(Gg(),1);function Z$(){let t=new Jg.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Yg.default)(t),t}var ws=class{constructor(e){this._ajv=e??Z$()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var ks=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(p=>p.type==="tool_use").map(p=>p.id)),d=new Set(s.filter(p=>p.type==="tool_result").map(p=>p.toolUseId));if(l.size!==d.size||![...l].every(p=>d.has(p)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},fn,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},fr,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function Bg(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function Xg(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var xs=class extends Zo{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(pn.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new ws,this.setRequestHandler(Qi,n=>this._oninitialize(n)),this.setNotificationHandler(ea,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(ca,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=pn.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new ks(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=om(this._capabilities,e)}setRequestHandler(e,r){let o=xo(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(ur(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let l=Tt(dn,c);if(!l.success){let m=l.error instanceof Error?l.error.message:String(l.error);throw new I(D.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let m=Tt(dr,p);if(!m.success){let _=m.error instanceof Error?m.error.message:String(m.error);throw new I(D.InvalidParams,`Invalid task creation result: ${_}`)}return m.data}let f=Tt(qo,p);if(!f.success){let m=f.error instanceof Error?f.error.message:String(f.error);throw new I(D.InvalidParams,`Invalid tools/call result: ${m}`)}return f.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){Xg(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&Bg(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:qf.includes(r)?r:Gi,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},Io)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},ua,r):this.request({method:"sampling/createMessage",params:e},fn,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},fr,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},fr,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new I(D.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof I?i:new I(D.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},la,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var iu=wt(require("node:process"),1);var $s=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
81`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),F$(r)}clear(){this._buffer=void 0}};function F$(t){return Jf.parse(JSON.parse(t))}function Qg(t){return JSON.stringify(t)+`
82`}var Ps=class{constructor(e=iu.default.stdin,r=iu.default.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new $s,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=Qg(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};var Us=wt(require("path"),1),Mr=require("fs");var e_=require("node:child_process");function Ts(t,e,r){return(0,e_.spawn)(t,e??[],{windowsHide:!0,...r})}var ce={DEFAULT:3e5,HEALTH_CHECK:3e3,API_REQUEST:3e4,HOOK_READINESS_WAIT:1e4,POST_SPAWN_WAIT:15e3,READINESS_WAIT:3e4,PORT_IN_USE_WAIT:3e3,WORKER_STARTUP_WAIT:1e3,PRE_RESTART_SETTLE_DELAY:2e3,POWERSHELL_COMMAND:1e4,WINDOWS_MULTIPLIER:1.5};function St(t){return process.platform==="win32"?Math.round(t*ce.WINDOWS_MULTIPLIER):t}var ct=require("fs"),Hn=require("path"),au=require("os");var vt=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-haiku-4-5-20251001",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:String(37700+(process.getuid?.()??77)%100),CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_API_TIMEOUT_MS:String(St(ce.API_REQUEST)),CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_CLAUDE_AUTH_METHOD:"subscription",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_BASE_URL:"",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_DATA_DIR:(0,Hn.join)((0,au.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"false",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"false",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"false",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_FULL_COUNT:"0",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false",CLAUDE_MEM_CONTEXT_SHOW_TERMINAL_OUTPUT:"true",CLAUDE_MEM_WELCOME_HINT_ENABLED:"true",CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED:"false",CLAUDE_MEM_FOLDER_USE_LOCAL_MD:"false",CLAUDE_MEM_TRANSCRIPTS_ENABLED:"true",CLAUDE_MEM_TRANSCRIPTS_CONFIG_PATH:(0,Hn.join)((0,au.homedir)(),".claude-mem","transcript-watch.json"),CLAUDE_MEM_CODEX_TRANSCRIPT_INGESTION:"false",CLAUDE_MEM_MAX_CONCURRENT_AGENTS:"2",CLAUDE_MEM_HOOK_FAIL_LOUD_THRESHOLD:"3",CLAUDE_MEM_EXCLUDED_PROJECTS:"",CLAUDE_MEM_FOLDER_MD_EXCLUDE:"[]",CLAUDE_MEM_FOLDER_MD_SKELETON_DENYLIST:"[]",CLAUDE_MEM_SEMANTIC_INJECT:"false",CLAUDE_MEM_SEMANTIC_INJECT_LIMIT:"5",CLAUDE_MEM_TIER_ROUTING_ENABLED:"true",CLAUDE_MEM_TIER_SIMPLE_MODEL:"haiku",CLAUDE_MEM_TIER_SUMMARY_MODEL:"",CLAUDE_MEM_TIER_FAST_MODEL:"haiku",CLAUDE_MEM_TIER_SMART_MODEL:"sonnet",CLAUDE_MEM_CHROMA_ENABLED:"true",CLAUDE_MEM_CHROMA_MODE:"local",CLAUDE_MEM_CHROMA_HOST:"127.0.0.1",CLAUDE_MEM_CHROMA_PORT:"8000",CLAUDE_MEM_CHROMA_SSL:"false",CLAUDE_MEM_CHROMA_API_KEY:"",CLAUDE_MEM_CHROMA_TENANT:"default_tenant",CLAUDE_MEM_CHROMA_DATABASE:"default_database",CLAUDE_MEM_CHROMA_PREWARM_TIMEOUT_MS:"120000",CLAUDE_MEM_TELEGRAM_ENABLED:"true",CLAUDE_MEM_TELEGRAM_BOT_TOKEN:"",CLAUDE_MEM_TELEGRAM_CHAT_ID:"",CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES:"security_alert",CLAUDE_MEM_TELEGRAM_TRIGGER_CONCEPTS:"",CLAUDE_MEM_QUEUE_ENGINE:"sqlite",CLAUDE_MEM_REDIS_URL:"",CLAUDE_MEM_REDIS_HOST:"127.0.0.1",CLAUDE_MEM_REDIS_PORT:"6379",CLAUDE_MEM_REDIS_MODE:"external",CLAUDE_MEM_QUEUE_REDIS_PREFIX:`claude_mem_${process.env.CLAUDE_MEM_WORKER_PORT??String(37700+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_AUTH_MODE:"api-key",CLAUDE_MEM_RUNTIME:"worker",CLAUDE_MEM_SERVER_URL:`http://127.0.0.1:${process.env.CLAUDE_MEM_SERVER_PORT??String(37877+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_SERVER_API_KEY:"",CLAUDE_MEM_SERVER_PROJECT_ID:"",CLAUDE_MEM_SERVER_BETA_URL:`http://127.0.0.1:${process.env.CLAUDE_MEM_SERVER_PORT??String(37877+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_SERVER_BETA_API_KEY:"",CLAUDE_MEM_SERVER_BETA_PROJECT_ID:""};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return process.env[e]??this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){let r=this.get(e);return r==="true"||r===!0}static applyEnvOverrides(e){let r={...e};for(let n of Object.keys(this.DEFAULTS))process.env[n]!==void 0&&(r[n]=process.env[n]);return r}static loadFromFile(e,r=!0){try{if(!(0,ct.existsSync)(e)){let a=this.getAllDefaults();try{let c=(0,Hn.dirname)(e);(0,ct.existsSync)(c)||(0,ct.mkdirSync)(c,{recursive:!0}),(0,ct.writeFileSync)(e,JSON.stringify(a,null,2),"utf-8"),console.warn("[SETTINGS] Created settings file with defaults:",e)}catch(c){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",e,c instanceof Error?c.message:String(c))}return r?this.applyEnvOverrides(a):a}let n=(0,ct.readFileSync)(e,"utf-8"),o=JSON.parse(n.replace(/^\uFEFF/,"")),s=o;if(o.env&&typeof o.env=="object"){s=o.env;try{(0,ct.writeFileSync)(e,JSON.stringify(s,null,2),"utf-8"),console.warn("[SETTINGS] Migrated settings file from nested to flat schema:",e)}catch(a){console.warn("[SETTINGS] Failed to auto-migrate settings file:",e,a instanceof Error?a.message:String(a))}}let i={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))s[a]!==void 0&&(i[a]=s[a]);return r?this.applyEnvOverrides(i):i}catch(n){console.warn("[SETTINGS] Failed to load settings, using defaults:",e,n instanceof Error?n.message:String(n));let o=this.getAllDefaults();return r?this.applyEnvOverrides(o):o}}};var zs=null;function Rs(){return zs!==null||(zs=vt.loadFromFile(Uu)),zs}var er=require("fs");var pu=require("child_process");var ut=require("fs"),lu=wt(require("path"),1);var H$=["CLAUDECODE_","CLAUDE_CODE_"],W$=new Set(["CLAUDECODE","CLAUDE_CODE_SESSION","CLAUDE_CODE_ENTRYPOINT","MCP_SESSION_ID","HTTP_PROXY","HTTPS_PROXY","ALL_PROXY","NO_PROXY","http_proxy","https_proxy","all_proxy","no_proxy","npm_config_proxy","npm_config_https_proxy"]),V$=new Set(["CLAUDE_CODE_OAUTH_TOKEN","CLAUDE_CODE_GIT_BASH_PATH","CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_VERTEX","ANTHROPIC_BEDROCK_BASE_URL","AWS_REGION","AWS_PROFILE","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","ANTHROPIC_VERTEX_PROJECT_ID","CLOUD_ML_REGION","GOOGLE_APPLICATION_CREDENTIALS"]);function Wn(t=process.env){let e={};for(let[r,n]of Object.entries(t))if(n!==void 0){if(V$.has(r)){e[r]=n;continue}W$.has(r)||H$.some(o=>r.startsWith(o))||(e[r]=n)}return e}var K$=5e3,G$=1e3,J$=Ne.supervisorRegistry();function bt(t){if(!Number.isInteger(t)||t<0||t===0)return!1;try{return process.kill(t,0),!0}catch(e){if(e instanceof Error){let r=e.code;return r==="EPERM"?!0:(y.debug("SYSTEM","PID check failed",{pid:t,code:r}),!1)}return y.warn("SYSTEM","PID check threw non-Error",{pid:t,error:String(e)}),!1}}async function Is(t,e){let r=Date.now()+e;for(;Date.now()<r;){if(t.every(n=>!bt(n.pid)))return;await new Promise(n=>setTimeout(n,100))}}var Y$=5e3,t_=new Map;function B$(t){let e=t_.get(t);if(e&&Date.now()-e.capturedAtMs<Y$)return e.token;let r=null;try{let n=(0,pu.spawnSync)("powershell.exe",["-NoProfile","-NonInteractive","-Command",`(Get-CimInstance Win32_Process -Filter "ProcessId=${t}").CreationDate.ToString('yyyyMMddHHmmss.ffffff')`],{encoding:"utf-8",timeout:5e3,windowsHide:!0,env:{...Wn(process.env),LC_ALL:"C",LANG:"C"}});if(n.status===0){let o=n.stdout.trim();r=o.length>0?o:null}}catch(n){y.debug("SYSTEM","captureProcessStartToken: powershell CIM lookup failed",{pid:t,error:n instanceof Error?n.message:String(n)}),r=null}return t_.set(t,{token:r,capturedAtMs:Date.now()}),r}function r_(t){if(!Number.isInteger(t)||t<=0)return null;if(process.platform==="linux")try{let e=(0,ut.readFileSync)(`/proc/${t}/stat`,"utf-8"),r=e.lastIndexOf(") ");if(r<0)return null;let o=e.slice(r+2).split(" ")[19];return o&&/^\d+$/.test(o)?o:null}catch(e){return y.debug("SYSTEM","captureProcessStartToken: /proc read failed",{pid:t,error:e instanceof Error?e.message:String(e)}),null}if(process.platform==="win32")return B$(t);try{let e=(0,pu.spawnSync)("ps",["-p",String(t),"-o","lstart="],{encoding:"utf-8",timeout:2e3,env:{...Wn(process.env),LC_ALL:"C",LANG:"C"}});if(e.status!==0)return null;let r=e.stdout.trim();return r.length>0?r:null}catch(e){return y.debug("SYSTEM","captureProcessStartToken: ps exec failed",{pid:t,error:e instanceof Error?e.message:String(e)}),null}}function fu(t){if(!t||!bt(t.pid))return!1;if(!t.startToken)return!0;let e=r_(t.pid);if(e===null)return!0;let r=e===t.startToken;return r||y.debug("SYSTEM","verifyPidFileOwnership: start-token mismatch (PID reused)",{pid:t.pid,stored:t.startToken,current:e}),r}var du=class{registryPath;entries=new Map;runtimeProcesses=new Map;initialized=!1;constructor(e=J$){this.registryPath=e}initialize(){if(this.initialized)return;if(this.initialized=!0,(0,ut.mkdirSync)(lu.default.dirname(this.registryPath),{recursive:!0}),!(0,ut.existsSync)(this.registryPath)){this.persist();return}try{let n=JSON.parse((0,ut.readFileSync)(this.registryPath,"utf-8")).processes??{};for(let[o,s]of Object.entries(n))this.entries.set(o,s)}catch(r){r instanceof Error?y.warn("SYSTEM","Failed to parse supervisor registry, rebuilding",{path:this.registryPath},r):y.warn("SYSTEM","Failed to parse supervisor registry, rebuilding",{path:this.registryPath,error:String(r)}),this.entries.clear()}let e=this.pruneDeadEntries();e>0&&y.info("SYSTEM","Removed dead processes from supervisor registry",{removed:e}),this.persist()}register(e,r,n){this.initialize(),this.entries.set(e,r),n&&this.runtimeProcesses.set(e,n),this.persist()}unregister(e){this.initialize();let r=this.entries.get(e);this.entries.delete(e),this.runtimeProcesses.delete(e),this.persist(),r?.type==="sdk"&&uu()}clear(){this.entries.clear(),this.runtimeProcesses.clear(),this.persist()}getAll(){return this.initialize(),Array.from(this.entries.entries()).map(([e,r])=>({id:e,...r})).sort((e,r)=>{let n=Date.parse(e.startedAt),o=Date.parse(r.startedAt);return(Number.isNaN(n)?0:n)-(Number.isNaN(o)?0:o)})}getBySession(e){let r=String(e);return this.getAll().filter(n=>n.sessionId!==void 0&&String(n.sessionId)===r)}getRuntimeProcess(e){return this.runtimeProcesses.get(e)}getByPid(e){return this.getAll().filter(r=>r.pid===e)}pruneDeadEntries(){this.initialize();let e=0,r=0;for(let[n,o]of this.entries)bt(o.pid)||(this.entries.delete(n),this.runtimeProcesses.delete(n),e+=1,o.type==="sdk"&&(r+=1));e>0&&this.persist();for(let n=0;n<r;n+=1)uu();return e}async reapSession(e){this.initialize();let r=this.getBySession(e);if(r.length===0)return 0;let n=typeof e=="number"?e:Number(e)||void 0;y.info("SYSTEM",`Reaping ${r.length} process(es) for session ${e}`,{sessionId:n,pids:r.map(i=>i.pid)});let o=r.filter(i=>bt(i.pid));for(let i of o)try{typeof i.pgid=="number"&&process.platform!=="win32"?process.kill(-i.pgid,"SIGTERM"):process.kill(i.pid,"SIGTERM")}catch(a){a instanceof Error?a.code!=="ESRCH"&&y.debug("SYSTEM",`Failed to SIGTERM session process PID ${i.pid}`,{pid:i.pid,pgid:i.pgid},a):y.warn("SYSTEM",`Failed to SIGTERM session process PID ${i.pid} (non-Error)`,{pid:i.pid,pgid:i.pgid,error:String(a)})}await Is(o,K$);let s=o.filter(i=>bt(i.pid));for(let i of s){y.warn("SYSTEM",`Session process PID ${i.pid} did not exit after SIGTERM, sending SIGKILL`,{pid:i.pid,pgid:i.pgid,sessionId:n});try{typeof i.pgid=="number"&&process.platform!=="win32"?process.kill(-i.pgid,"SIGKILL"):process.kill(i.pid,"SIGKILL")}catch(a){a instanceof Error?a.code!=="ESRCH"&&y.debug("SYSTEM",`Failed to SIGKILL session process PID ${i.pid}`,{pid:i.pid,pgid:i.pgid},a):y.warn("SYSTEM",`Failed to SIGKILL session process PID ${i.pid} (non-Error)`,{pid:i.pid,pgid:i.pgid,error:String(a)})}}if(s.length>0){let i=Date.now()+G$;for(;Date.now()<i&&s.filter(c=>bt(c.pid)).length!==0;)await new Promise(c=>setTimeout(c,100))}for(let i of r)this.entries.delete(i.id),this.runtimeProcesses.delete(i.id);this.persist();for(let i of r)i.type==="sdk"&&uu();return y.info("SYSTEM",`Reaped ${r.length} process(es) for session ${e}`,{sessionId:n,reaped:r.length}),r.length}persist(){let e={processes:Object.fromEntries(this.entries.entries())};(0,ut.mkdirSync)(lu.default.dirname(this.registryPath),{recursive:!0}),(0,ut.writeFileSync)(this.registryPath,JSON.stringify(e,null,2))}},cu=null;function Os(){return cu||(cu=new du),cu}var X$=[];function uu(){let t=X$.shift();t&&t()}var o_=require("child_process"),Or=require("fs"),s_=require("util");var Q$=(0,s_.promisify)(o_.execFile),eP=Ne.workerPid();async function i_(t){let e=t.currentPid??process.pid,r=t.pidFilePath??eP,n=t.registry.getAll(),o=[...n].filter(i=>i.pid!==e).sort((i,a)=>Date.parse(a.startedAt)-Date.parse(i.startedAt));for(let i of o){if(!bt(i.pid)){t.registry.unregister(i.id);continue}try{await n_(i,"SIGTERM")}catch(a){a instanceof Error?y.debug("SYSTEM","Failed to send SIGTERM to child process",{pid:i.pid,pgid:i.pgid,type:i.type},a):y.warn("SYSTEM","Failed to send SIGTERM to child process (non-Error)",{pid:i.pid,pgid:i.pgid,type:i.type,error:String(a)})}}await Is(o,5e3);let s=o.filter(i=>bt(i.pid));for(let i of s)try{await n_(i,"SIGKILL")}catch(a){a instanceof Error?y.debug("SYSTEM","Failed to force kill child process",{pid:i.pid,pgid:i.pgid,type:i.type},a):y.warn("SYSTEM","Failed to force kill child process (non-Error)",{pid:i.pid,pgid:i.pgid,type:i.type,error:String(a)})}await Is(s,1e3);for(let i of o)t.registry.unregister(i.id);for(let i of n.filter(a=>a.pid===e))t.registry.unregister(i.id);tP(r,e),t.registry.pruneDeadEntries()}function tP(t,e){if(!(0,Or.existsSync)(t))return;let r=null;try{let n=JSON.parse((0,Or.readFileSync)(t,"utf-8"));r=typeof n.pid=="number"?n.pid:null}catch(n){y.debug("SYSTEM","PID file unreadable during shutdown \u2014 leaving it (cannot prove ownership)",{pidFilePath:t,error:n instanceof Error?n.message:String(n)});return}if(r!==e){y.debug("SYSTEM","PID file not owned by this process \u2014 leaving it for its owner (restart successor?)",{pidFilePath:t,recordedPid:r,currentPid:e});return}try{(0,Or.rmSync)(t,{force:!0})}catch(n){n instanceof Error?y.debug("SYSTEM","Failed to remove PID file during shutdown",{pidFilePath:t},n):y.warn("SYSTEM","Failed to remove PID file during shutdown (non-Error)",{pidFilePath:t,error:String(n)})}}async function n_(t,e){let{pid:r,pgid:n}=t;if(process.platform!=="win32"){if(typeof n=="number")try{process.kill(-n,e);return}catch(i){if((i instanceof Error?i.code:void 0)!=="ESRCH")throw i}try{process.kill(r,e)}catch(i){if((i instanceof Error?i.code:void 0)!=="ESRCH")throw i}return}if(e==="SIGTERM"){try{process.kill(r,e)}catch(i){if(i instanceof Error&&i.code==="ESRCH")return;throw i}return}let o=await rP();if(o){await new Promise((i,a)=>{o(r,e,c=>{if(!c){i();return}if(c.code==="ESRCH"){i();return}a(c)})});return}let s=["/PID",String(r),"/T"];e==="SIGKILL"&&s.push("/F"),await Q$("taskkill",s,{timeout:ce.POWERSHELL_COMMAND,windowsHide:!0})}async function rP(){let t="tree-kill";try{let e=await import(t);return e.default??e}catch(e){return y.debug("SYSTEM","tree-kill module not available, using fallback",{},e instanceof Error?e:void 0),null}}var a_=3e4,Ar=null;function nP(){let e=Os().pruneDeadEntries();e>0&&y.info("SYSTEM",`Health check: pruned ${e} dead process(es) from registry`)}function c_(){Ar===null&&(Ar=setInterval(nP,a_),Ar.unref(),y.debug("SYSTEM","Health checker started",{intervalMs:a_}))}function u_(){Ar!==null&&(clearInterval(Ar),Ar=null,y.debug("SYSTEM","Health checker stopped"))}var oP=Ne.workerPid(),mu=class{registry;started=!1;stopPromise=null;signalHandlersRegistered=!1;shutdownInitiated=!1;shutdownHandler=null;constructor(e){this.registry=e}async start(){if(this.started)return;if(this.registry.initialize(),As({logAlive:!1})==="alive")throw new Error("Worker already running");this.started=!0,c_()}configureSignalHandlers(e){if(this.shutdownHandler=e,this.signalHandlersRegistered)return;this.signalHandlersRegistered=!0;let r=async n=>{if(this.shutdownInitiated){y.warn("SYSTEM",`Received ${n} but shutdown already in progress`);return}this.shutdownInitiated=!0,y.info("SYSTEM",`Received ${n}, shutting down...`);try{this.shutdownHandler?await this.shutdownHandler():await this.stop()}catch(o){o instanceof Error?y.error("SYSTEM","Error during shutdown",{},o):y.error("SYSTEM","Error during shutdown (non-Error)",{error:String(o)});try{await this.stop()}catch(s){s instanceof Error?y.debug("SYSTEM","Supervisor shutdown fallback failed",{},s):y.debug("SYSTEM","Supervisor shutdown fallback failed",{error:String(s)})}}process.exit(0)};process.on("SIGTERM",()=>{r("SIGTERM")}),process.on("SIGINT",()=>{r("SIGINT")}),process.platform!=="win32"&&(process.argv.includes("--daemon")?process.on("SIGHUP",()=>{y.debug("SYSTEM","Ignoring SIGHUP in daemon mode")}):process.on("SIGHUP",()=>{r("SIGHUP")}))}async stop(){if(this.stopPromise){await this.stopPromise;return}u_(),this.stopPromise=i_({registry:this.registry,currentPid:process.pid}).finally(()=>{this.started=!1,this.stopPromise=null}),await this.stopPromise}assertCanSpawn(e){if(this.stopPromise!==null)throw new Error(`Supervisor is shutting down, refusing to spawn ${e}`)}registerProcess(e,r,n){this.registry.register(e,r,n)}unregisterProcess(e){this.registry.unregister(e)}getRegistry(){return this.registry}},sP=new mu(Os());function hu(){return sP}function As(t={}){let e=t.pidFilePath??oP;if(!(0,er.existsSync)(e))return"missing";let r=null;try{r=JSON.parse((0,er.readFileSync)(e,"utf-8"))}catch(o){return o instanceof Error?y.warn("SYSTEM","Failed to parse worker PID file, removing it",{path:e},o):y.warn("SYSTEM","Failed to parse worker PID file, removing it",{path:e,error:String(o)}),(0,er.rmSync)(e,{force:!0}),"invalid"}return fu(r)&&r?((t.logAlive??!0)&&y.info("SYSTEM","Worker already running (PID alive)",{existingPid:r.pid,existingPort:r.port,startedAt:r.startedAt}),"alive"):(y.info("SYSTEM","Removing stale PID file (worker process is dead or PID has been reused)",{pid:r?.pid,port:r?.port,startedAt:r?.startedAt}),(0,er.rmSync)(e,{force:!0}),"stale")}var tr=wt(require("path"),1),f_=require("os"),De=require("fs"),Ms=require("child_process");function l_(t){return t instanceof Error?t:new Error(String(t))}var rN=Ne.dataDir(),d_=Ne.workerPid();function p_(t){return t?/(^|[\\/])bun(\.exe)?$/i.test(t.trim()):!1}function iP(t,e){let r=e==="win32"?`where ${t}`:`which ${t}`,n;try{n=(0,Ms.execSync)(r,{stdio:["ignore","pipe","ignore"],encoding:"utf-8",windowsHide:!0})}catch(s){return s instanceof Error?y.debug("SYSTEM",`Binary lookup failed for ${t}`,{command:r},s):y.debug("SYSTEM",`Binary lookup failed for ${t}`,{command:r},new Error(String(s))),null}return n.split(/\r?\n/).map(s=>s.trim()).find(s=>s.length>0)||null}var gu;function m_(t={}){let e=Object.keys(t).length===0;if(e&&gu!==void 0)return gu;let r=aP(t);return e&&r!==null&&(gu=r),r}function aP(t){let e=t.platform??process.platform,r=t.execPath??process.execPath;if(p_(r))return r;let n=t.env??process.env,o=t.homeDirectory??(0,f_.homedir)(),s=t.pathExists??De.existsSync,i=t.lookupInPath??iP,a=e==="win32"?[n.BUN,n.BUN_PATH,tr.default.join(o,".bun","bin","bun.exe"),tr.default.join(o,".bun","bin","bun"),n.USERPROFILE?tr.default.join(n.USERPROFILE,".bun","bin","bun.exe"):void 0,n.LOCALAPPDATA?tr.default.join(n.LOCALAPPDATA,"bun","bun.exe"):void 0,n.LOCALAPPDATA?tr.default.join(n.LOCALAPPDATA,"bun","bin","bun.exe"):void 0]:[n.BUN,n.BUN_PATH,tr.default.join(o,".bun","bin","bun"),"/usr/local/bin/bun","/opt/homebrew/bin/bun","/home/linuxbrew/.linuxbrew/bin/bun","/usr/bin/bun","/snap/bin/bun"];for(let c of a){let u=c?.trim();if(u&&(p_(u)&&s(u)||u.toLowerCase()==="bun"))return u}return i("bun",e)}function Lt(t){return process.platform==="win32"?Math.round(t*2):t}function h_(t,e,r={}){hu().assertCanSpawn("worker daemon");let n=Wn({...process.env,CLAUDE_MEM_WORKER_PORT:String(e),...r}),o=m_();if(!o){y.error("SYSTEM","Bun runtime not found \u2014 install from https://bun.sh and ensure it is on PATH or set BUN env var. The worker daemon requires Bun because it uses bun:sqlite.");return}if(process.platform==="win32"){let l=`Start-Process -FilePath '${o.replace(/'/g,"''")}' -ArgumentList @('${t.replace(/'/g,"''")}','--daemon') -WindowStyle Hidden`,d=Buffer.from(l,"utf16le").toString("base64");try{return(0,Ms.execSync)(`powershell -NoProfile -EncodedCommand ${d}`,{stdio:"ignore",windowsHide:!0,env:n}),0}catch(p){y.error("SYSTEM","Failed to spawn worker daemon on Windows",{runtimePath:o},l_(p));return}}let s="/usr/bin/setsid",i=(0,De.existsSync)(s),u=Ts(i?s:o,i?[o,t,"--daemon"]:[t,"--daemon"],{detached:!0,stdio:"ignore",env:n});if(u.pid!==void 0)return u.unref(),u.pid}function g_(){try{if(!(0,De.existsSync)(d_))return;let t=new Date;(0,De.utimesSync)(d_,t,t)}catch{}}function __(){return As({logAlive:!1})}var y_=wt(require("net"),1);async function cP(t,e,r="GET"){let n=await fetch(`http://127.0.0.1:${t}${e}`,{method:r}),o="";try{o=await n.text()}catch{}return{ok:n.ok,statusCode:n.status,body:o}}async function S_(t){if(process.platform==="win32")try{return(await fetch(`http://127.0.0.1:${t}/api/health`)).ok}catch(e){return e instanceof Error?y.debug("SYSTEM","Windows health check failed (port not in use)",{},e):y.debug("SYSTEM","Windows health check failed (port not in use)",{error:String(e)}),!1}return new Promise(e=>{let r=y_.default.createServer();r.once("error",n=>{n.code==="EADDRINUSE"?e(!0):e(!1)}),r.once("listening",()=>{r.close(()=>e(!1))}),r.listen(t,"127.0.0.1")})}async function v_(t,e,r,n){let o=Date.now();for(;Date.now()-o<r;){try{if((await cP(t,e)).ok)return!0}catch(s){s instanceof Error?y.debug("SYSTEM",n,{},s):y.debug("SYSTEM",n,{error:String(s)})}await new Promise(s=>setTimeout(s,500))}return!1}function Vn(t,e=3e4){return v_(t,"/api/health",e,"Service not ready yet, will retry")}function Kn(t,e=3e4){return v_(t,"/api/readiness",e,"Worker not ready yet, will retry")}var Cs=require("path"),We=require("fs");var uP=6e4;function b_(){return(0,Cs.join)(oo(),"spawn.lock")}function _u(){let t=b_(),e=JSON.stringify({pid:process.pid,startedAt:new Date().toISOString()});for(let r=0;r<2;r++)try{return(0,We.mkdirSync)((0,Cs.dirname)(t),{recursive:!0}),(0,We.writeFileSync)(t,e,{flag:"wx"}),!0}catch(n){if(n?.code!=="EEXIST")return!0;if(r>0)return!1;let s;try{s=(0,We.statSync)(t).mtimeMs}catch{continue}if(Date.now()-s<=uP)return!1;let i;try{i=(0,We.statSync)(t).mtimeMs}catch{continue}if(i!==s)return!1;try{(0,We.unlinkSync)(t)}catch{return!1}}return!1}function yu(){let t=b_();try{if(JSON.parse((0,We.readFileSync)(t,"utf-8")).pid!==process.pid)return;(0,We.unlinkSync)(t)}catch{}}function Su(t,e,r){let n=process.env[t];if(n){let o=parseInt(n,10);if(Number.isFinite(o)&&o>=r.min&&o<=r.max)return o;y.warn("SYSTEM",`Invalid ${t}, using default`,{value:n,min:r.min,max:r.max})}return e}var ON=Su("CLAUDE_MEM_HEALTH_TIMEOUT_MS",St(ce.HEALTH_CHECK),{min:500,max:3e5}),AN=Su("CLAUDE_MEM_API_TIMEOUT_MS",St(ce.API_REQUEST),{min:500,max:3e5}),MN=Su("CLAUDE_MEM_HOOK_READINESS_TIMEOUT_MS",St(ce.HOOK_READINESS_WAIT),{min:0,max:3e5}),lP={min:500,max:3e5};async function vu(t,e={},r){try{return await fetch(t,{...e,signal:AbortSignal.timeout(r)})}catch(n){throw n instanceof DOMException&&n.name==="TimeoutError"?new Error(`Request timed out after ${r}ms`):n}}var Ds=null,Ns=null,js=null,Ls=null;function dP(){return Us.default.join(vt.get("CLAUDE_MEM_DATA_DIR"),"settings.json")}function bu(){return js!==null||(js=vt.loadFromFile(dP())),js}function E_(t,e){if(!t)return null;let r=parseInt(t,10);return Number.isFinite(r)&&r>=e.min&&r<=e.max?r:null}function pP(t,e,r){let n=process.env[t];if(n!==void 0){let i=E_(n,r);return i!==null?i:(y.warn("SYSTEM",`Invalid ${t}, using default`,{value:n,min:r.min,max:r.max}),e)}let o=bu()[t],s=E_(o,r);return s!==null?s:(y.warn("SYSTEM",`Invalid ${t} in settings.json, using default`,{value:o,min:r.min,max:r.max}),e)}function Eu(){if(Ds!==null)return Ds;let t=bu();return Ds=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),Ds}function fP(){return Ns!==null||(Ns=bu().CLAUDE_MEM_WORKER_HOST),Ns}function mP(){return Ls!==null||(Ls=pP("CLAUDE_MEM_API_TIMEOUT_MS",St(ce.API_REQUEST),lP)),Ls}function hP(t){return`http://${fP()}:${Eu()}${t}`}function Gn(t,e={}){let r=e.method??"GET",n=e.timeoutMs??mP(),o=hP(t),s={method:r};return e.headers&&(s.headers=e.headers),e.body&&(s.body=e.body),n>0?vu(o,s,n):fetch(o,s)}function w_(){let t=[Us.default.join(Bs,"plugin","scripts","worker-service.cjs"),Us.default.join(process.cwd(),"plugin","scripts","worker-service.cjs")];for(let e of t)if((0,Mr.existsSync)(e))return e;return null}var wu=wt(require("path"),1),Ve=require("fs");var gP=120*1e3;function ku(){return wu.default.join(vt.get("CLAUDE_MEM_DATA_DIR"),".worker-start-attempted")}function _P(){if(process.platform!=="win32")return!1;let t=ku();if(!(0,Ve.existsSync)(t))return!1;try{let e=(0,Ve.statSync)(t).mtimeMs;return Date.now()-e<gP}catch(e){return e instanceof Error?y.debug("SYSTEM","Could not stat worker spawn lock file",{},e):y.debug("SYSTEM","Could not stat worker spawn lock file",{error:String(e)}),!1}}function yP(){if(process.platform==="win32")try{let t=ku();(0,Ve.mkdirSync)(wu.default.dirname(t),{recursive:!0}),(0,Ve.writeFileSync)(t,"","utf-8")}catch{}}function qs(){if(process.platform==="win32")try{let t=ku();(0,Ve.existsSync)(t)&&(0,Ve.unlinkSync)(t)}catch{}}async function k_(t,e){if(!e)return y.error("SYSTEM","ensureWorkerStarted called with empty workerScriptPath \u2014 caller bug"),"dead";if(!(0,Ve.existsSync)(e))return y.error("SYSTEM","ensureWorkerStarted: worker script not found at expected path \u2014 likely a partial install or build artifact missing",{workerScriptPath:e}),"dead";if(__()==="alive"){if(y.info("SYSTEM","Worker PID file points to a live process, skipping duplicate spawn"),await Vn(t,Lt(ce.PORT_IN_USE_WAIT))){qs();let a=await Kn(t,Lt(ce.READINESS_WAIT));return y.info("SYSTEM","Worker became healthy while waiting on live PID"),a?"ready":"warming"}return y.warn("SYSTEM","Live PID detected but worker did not become healthy before timeout \u2014 likely still starting"),"warming"}if(await Vn(t,1e3)){qs();let i=await Kn(t,Lt(ce.READINESS_WAIT));return i||y.warn("SYSTEM","Worker is alive but readiness timed out \u2014 proceeding anyway"),y.info("SYSTEM","Worker already running and healthy"),i?"ready":"warming"}if(await S_(t)){if(y.info("SYSTEM","Port in use, waiting for worker to become healthy"),await Vn(t,Lt(ce.PORT_IN_USE_WAIT))){qs();let a=await Kn(t,Lt(ce.READINESS_WAIT));return y.info("SYSTEM","Worker is now healthy"),a?"ready":"warming"}return y.error("SYSTEM","Port in use but worker not responding to health checks"),"dead"}if(_P())return y.warn("SYSTEM","Worker unavailable on Windows \u2014 skipping spawn (recent attempt failed within cooldown)"),"dead";let o=_u();try{if(o){if(y.info("SYSTEM","Starting worker daemon",{workerScriptPath:e}),yP(),h_(e,t)===void 0)return y.error("SYSTEM","Failed to spawn worker daemon"),"dead"}else y.info("SYSTEM","Another launcher holds the spawn lock \u2014 skipping duplicate spawn and waiting for its worker");if(!await Vn(t,Lt(ce.POST_SPAWN_WAIT)))return y.warn("SYSTEM",o?"Worker spawned but health endpoint not responding within window \u2014 likely still starting in background":"Spawn-lock holder's worker not healthy within window \u2014 likely still starting in background"),"warming"}finally{o&&yu()}let s=await Kn(t,Lt(ce.READINESS_WAIT));return s||y.warn("SYSTEM","Worker is alive but readiness timed out \u2014 proceeding anyway"),qs(),g_(),y.info("SYSTEM",o?"Worker started successfully":"Worker is up (started by another launcher)"),s?"ready":"warming"}var Nr=require("node:fs/promises"),Xn=require("node:path");var P_=require("node:child_process"),ye=require("node:fs"),ue=require("node:path"),Ru=require("node:os"),Pu=require("node:module");var OP={},Tu=typeof __filename<"u"?(0,Pu.createRequire)(__filename):(0,Pu.createRequire)(OP.url),zu={".js":"javascript",".mjs":"javascript",".cjs":"javascript",".jsx":"tsx",".ts":"typescript",".tsx":"tsx",".py":"python",".pyw":"python",".go":"go",".rs":"rust",".rb":"ruby",".java":"java",".c":"c",".h":"c",".cpp":"cpp",".cc":"cpp",".cxx":"cpp",".hpp":"cpp",".hh":"cpp",".kt":"kotlin",".kts":"kotlin",".swift":"swift",".php":"php",".ex":"elixir",".exs":"elixir",".lua":"lua",".scala":"scala",".sc":"scala",".sh":"bash",".bash":"bash",".zsh":"bash",".hs":"haskell",".zig":"zig",".css":"css",".scss":"scss",".toml":"toml",".yml":"yaml",".yaml":"yaml",".sql":"sql",".md":"markdown",".mdx":"markdown"};function T_(t,e){let r=t.slice(t.lastIndexOf("."));return zu[r]?zu[r]:e.extensionToLanguage[r]?e.extensionToLanguage[r]:"unknown"}function z_(t,e){return e.languageToQueryKey[t]?e.languageToQueryKey[t]:bP(t)}var Jn=new Map,Cr={grammars:{},extensionToLanguage:{},languageToQueryKey:{}};function Bn(t){if(Jn.has(t))return Jn.get(t);let e=(0,ue.join)(t,".claude-mem.json"),r;try{let s=(0,ye.readFileSync)(e,"utf-8");r=JSON.parse(s)}catch{return Jn.set(t,Cr),Cr}let n=r.grammars;if(!n||typeof n!="object"||Array.isArray(n))return Jn.set(t,Cr),Cr;let o={grammars:{},extensionToLanguage:{},languageToQueryKey:{}};for(let[s,i]of Object.entries(n)){if(R_[s]||!i||typeof i!="object"||Array.isArray(i))continue;let a=i,c=a.package,u=a.extensions,l=a.query;if(!(typeof c!="string"||!Array.isArray(u))&&u.every(d=>typeof d=="string")){o.grammars[s]={package:c,extensions:u,query:typeof l=="string"?l:void 0};for(let d of u)zu[d]||(o.extensionToLanguage[d]=s);if(typeof l=="string"){let d=(0,ue.join)(t,l);try{let p=(0,ye.readFileSync)(d,"utf-8"),f=`user_${s}`;O_[f]=p,o.languageToQueryKey[s]=f}catch{y.warn("PARSER","Custom query file not found, falling back to generic",{fullQueryPath:d}),o.languageToQueryKey[s]="generic"}}else o.languageToQueryKey[s]="generic"}}return Jn.set(t,o),o}var R_={javascript:"tree-sitter-javascript",typescript:"tree-sitter-typescript/typescript",tsx:"tree-sitter-typescript/tsx",python:"tree-sitter-python",go:"tree-sitter-go",rust:"tree-sitter-rust",ruby:"tree-sitter-ruby",java:"tree-sitter-java",c:"tree-sitter-c",cpp:"tree-sitter-cpp",kotlin:"tree-sitter-kotlin",swift:"tree-sitter-swift",php:"tree-sitter-php/php",elixir:"tree-sitter-elixir",lua:"@tree-sitter-grammars/tree-sitter-lua",scala:"tree-sitter-scala",bash:"tree-sitter-bash",haskell:"tree-sitter-haskell",zig:"@tree-sitter-grammars/tree-sitter-zig",css:"tree-sitter-css",scss:"tree-sitter-scss",toml:"@tree-sitter-grammars/tree-sitter-toml",yaml:"@tree-sitter-grammars/tree-sitter-yaml",sql:"@derekstride/tree-sitter-sql",markdown:"@tree-sitter-grammars/tree-sitter-markdown"},SP={markdown:"tree-sitter-markdown"};function vP(t){let e=R_[t];if(!e)return null;let r=SP[t];if(r){try{let n=Tu.resolve(e+"/package.json"),o=(0,ue.join)((0,ue.dirname)(n),r);if((0,ye.existsSync)((0,ue.join)(o,"src")))return o}catch{}return null}try{let n=Tu.resolve(e+"/package.json");return(0,ue.dirname)(n)}catch{return null}}function I_(t,e){let r=vP(t);if(r)return r;if(!e)return null;let o=Bn(e).grammars[t];if(!o)return null;try{let s=(0,ue.join)(e,"node_modules",o.package,"package.json");if((0,ye.existsSync)(s)){let i=(0,ue.dirname)(s);if((0,ye.existsSync)((0,ue.join)(i,"src")))return i}}catch{}return y.warn("PARSER","Grammar package not found",{language:t,package:o.package}),null}var O_={jsts:`
83(function_declaration name: (identifier) @name) @func

Callers

nothing calls this directly

Calls 1

neFunction · 0.70

Tested by

no test coverage detected