diff --git a/plugin/scripts/worker-service.cjs b/plugin/scripts/worker-service.cjs index 1d2b75f3..301fae31 100755 --- a/plugin/scripts/worker-service.cjs +++ b/plugin/scripts/worker-service.cjs @@ -745,7 +745,7 @@ No previous sessions found for this project yet.`;let g=d.slice(0,r.sessionCount FROM user_prompts up JOIN sdk_sessions s ON up.claude_session_id = s.claude_session_id WHERE s.project = ? - `).get(this.project);U.info("CHROMA_SYNC","Backfilling user prompts",{project:this.project,missing:b.length,existing:e.prompts.size,total:p.count});let h=[];for(let y of b)h.push(this.formatUserPromptDoc(y));for(let y=0;y{U.error("DB","Chroma backfill failed (non-fatal)",{},e)}),U.info("DB","Database initialized")}async close(){this.chromaSync&&(await this.chromaSync.close(),this.chromaSync=null),this.sessionStore&&(this.sessionStore.close(),this.sessionStore=null),this.sessionSearch&&(this.sessionSearch.close(),this.sessionSearch=null),U.info("DB","Database closed")}getSessionStore(){if(!this.sessionStore)throw new Error("Database not initialized");return this.sessionStore}getSessionSearch(){if(!this.sessionSearch)throw new Error("Database not initialized");return this.sessionSearch}getChromaSync(){if(!this.chromaSync)throw new Error("ChromaSync not initialized");return this.chromaSync}getSessionById(e){let r=this.getSessionStore().getSessionById(e);if(!r)throw new Error(`Session ${e} not found`);return r}markSessionComplete(e){this.getSessionStore().markSessionCompleted(e)}};var n1=require("events");mt();var Mu=class{db;maxRetries;constructor(e,r=3){this.db=e,this.maxRetries=r}enqueue(e,r,n){let a=Date.now();return this.db.prepare(` INSERT INTO pending_messages ( session_db_id, claude_session_id, message_type, tool_name, tool_input, tool_response, cwd, @@ -1029,8 +1029,10 @@ ${n.prompts.header_memory_continued}`}Dr();dr();La();var tm=require("path"),aT=r path: iss.path ? [${Fs(y)}, ...iss.path] : [${Fs(y)}] })));`),f.write(`newResult[${Fs(y)}] = ${v}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let h=f.compile();return(y,v)=>h(d,y,v)},a,s=Ro,i=!fm.jitless,c=i&&OT.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let g=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)a||(a=n(e.shape)),d=a(d,f);else{d.value={};let v=l.shape;for(let _ of l.keys){let S=v[_],x=S._zod.run({value:m[_],issues:[]},f),E=S._zod.optin==="optional"&&S._zod.optout==="optional";x instanceof Promise?g.push(x.then(T=>E?$1(T,d,_,m):Hu(T,d,_))):E?$1(x,d,_,m):Hu(x,d,_)}}if(!u)return g.length?Promise.all(g).then(()=>d):d;let b=[],p=l.keySet,h=u._zod,y=h.def.type;for(let v of Object.keys(m)){if(p.has(v))continue;if(y==="never"){b.push(v);continue}let _=h.run({value:m[v],issues:[]},f);_ instanceof Promise?g.push(_.then(S=>Hu(S,d,v))):Hu(_,d,v)}return b.length&&d.issues.push({code:"unrecognized_keys",keys:b,input:m,inst:t}),g.length?Promise.all(g).then(()=>d):d}});function R1(t,e,r,n){for(let a of t)if(a.issues.length===0)return e.value=a.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(s=>ba(s,n,_a())))}),e}var WT=ae("$ZodUnion",(t,e)=>{dt.init(t,e),lt(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),lt(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),lt(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),lt(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>hl(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let a=!1,s=[];for(let i of e.options){let o=i._zod.run({value:r.value,issues:[]},n);if(o instanceof Promise)s.push(o),a=!0;else{if(o.issues.length===0)return o;s.push(o)}}return a?Promise.all(s).then(i=>R1(i,r,t,n)):R1(s,r,t,n)}}),RU=ae("$ZodDiscriminatedUnion",(t,e)=>{WT.init(t,e);let r=t._zod.parse;lt(t._zod,"propValues",()=>{let a={};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[o,c]of Object.entries(i)){a[o]||(a[o]=new Set);for(let u of c)a[o].add(u)}}return a});let n=fl(()=>{let a=e.options,s=new Map;for(let i of a){let o=i._zod.propValues[e.discriminator];if(!o||o.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of o){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(a,s)=>{let i=a.value;if(!Ro(i))return a.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),a;let o=n.value.get(i?.[e.discriminator]);return o?o._zod.run(a,s):e.unionFallback?r(a,s):(a.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),a)}}),PU=ae("$ZodIntersection",(t,e)=>{dt.init(t,e),t._zod.parse=(r,n)=>{let a=r.value,s=e.left._zod.run({value:a,issues:[]},n),i=e.right._zod.run({value:a,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>P1(r,c,u)):P1(r,s,i)}});function gm(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(Po(t)&&Po(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),a={...t,...e};for(let s of n){let i=gm(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};a[s]=i.data}return{valid:!0,data:a}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n{dt.init(t,e),t._zod.parse=(r,n)=>{let a=r.value;if(!Po(a))return r.issues.push({expected:"record",code:"invalid_type",input:a,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:a[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Ua(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Ua(c,u.issues)),r.value[c]=u.value)}let o;for(let c in a)i.has(c)||(o=o??[],o.push(c));o&&o.length>0&&r.issues.push({code:"unrecognized_keys",input:a,inst:t,keys:o})}else{r.value={};for(let i of Reflect.ownKeys(a)){if(i==="__proto__")continue;let o=e.keyType._zod.run({value:i,issues:[]},n);if(o instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(o.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:o.issues.map(u=>ba(u,n,_a())),input:i,path:[i],inst:t}),r.value[o.value]=o.value;continue}let c=e.valueType._zod.run({value:a[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...Ua(i,u.issues)),r.value[o.value]=u.value})):(c.issues.length&&r.issues.push(...Ua(i,c.issues)),r.value[o.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}}),CU=ae("$ZodEnum",(t,e)=>{dt.init(t,e);let r=$T(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>CT.has(typeof n)).map(n=>typeof n=="string"?ii(n):n.toString()).join("|")})$`),t._zod.parse=(n,a)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),IU=ae("$ZodLiteral",(t,e)=>{dt.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?ii(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let a=r.value;return t._zod.values.has(a)||r.issues.push({code:"invalid_value",values:e.values,input:a,inst:t}),r}}),AU=ae("$ZodTransform",(t,e)=>{dt.init(t,e),t._zod.parse=(r,n)=>{let a=e.transform(r.value,r);if(n.async)return(a instanceof Promise?a:Promise.resolve(a)).then(i=>(r.value=i,r));if(a instanceof Promise)throw new Dn;return r.value=a,r}}),NU=ae("$ZodOptional",(t,e)=>{dt.init(t,e),t._zod.optin="optional",t._zod.optout="optional",lt(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),lt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${hl(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),jU=ae("$ZodNullable",(t,e)=>{dt.init(t,e),lt(t._zod,"optin",()=>e.innerType._zod.optin),lt(t._zod,"optout",()=>e.innerType._zod.optout),lt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${hl(r.source)}|null)$`):void 0}),lt(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)}),MU=ae("$ZodDefault",(t,e)=>{dt.init(t,e),t._zod.optin="optional",lt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let a=e.innerType._zod.run(r,n);return a instanceof Promise?a.then(s=>O1(s,e)):O1(a,e)}});function O1(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var DU=ae("$ZodPrefault",(t,e)=>{dt.init(t,e),t._zod.optin="optional",lt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),qU=ae("$ZodNonOptional",(t,e)=>{dt.init(t,e),lt(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 a=e.innerType._zod.run(r,n);return a instanceof Promise?a.then(s=>C1(s,t)):C1(a,t)}});function C1(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 LU=ae("$ZodCatch",(t,e)=>{dt.init(t,e),t._zod.optin="optional",lt(t._zod,"optout",()=>e.innerType._zod.optout),lt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let a=e.innerType._zod.run(r,n);return a instanceof Promise?a.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>ba(i,n,_a()))},input:r.value}),r.issues=[]),r)):(r.value=a.value,a.issues.length&&(r.value=e.catchValue({...r,error:{issues:a.issues.map(s=>ba(s,n,_a()))},input:r.value}),r.issues=[]),r)}}),FU=ae("$ZodPipe",(t,e)=>{dt.init(t,e),lt(t._zod,"values",()=>e.in._zod.values),lt(t._zod,"optin",()=>e.in._zod.optin),lt(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let a=e.in._zod.run(r,n);return a instanceof Promise?a.then(s=>I1(s,e,n)):I1(a,e,n)}});function I1(t,e,r){return zs(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var zU=ae("$ZodReadonly",(t,e)=>{dt.init(t,e),lt(t._zod,"propValues",()=>e.innerType._zod.propValues),lt(t._zod,"values",()=>e.innerType._zod.values),lt(t._zod,"optin",()=>e.innerType._zod.optin),lt(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let a=e.innerType._zod.run(r,n);return a instanceof Promise?a.then(A1):A1(a)}});function A1(t){return t.value=Object.freeze(t.value),t}var UU=ae("$ZodCustom",(t,e)=>{ir.init(t,e),dt.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,a=e.fn(n);if(a instanceof Promise)return a.then(s=>N1(s,r,n,t));N1(a,r,n,t)}});function N1(t,e,r,n){if(!t){let a={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(a.params=n._zod.def.params),e.issues.push(NT(a))}}var HU=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},BU=()=>{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"}};function e(n){return t[n]??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",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"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${HU(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Cm(n.values[0])}`:`Invalid option: expected one of ${mm(n.values,"|")}`;case"too_big":{let a=n.inclusive?"<=":"<",s=e(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${a}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${a}${n.maximum.toString()}`}case"too_small":{let a=n.inclusive?">=":">",s=e(n.origin);return s?`Too small: expected ${n.origin} to have ${a}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${a}${n.minimum.toString()}`}case"invalid_format":{let a=n;return a.format==="starts_with"?`Invalid string: must start with "${a.prefix}"`:a.format==="ends_with"?`Invalid string: must end with "${a.suffix}"`:a.format==="includes"?`Invalid string: must include "${a.includes}"`:a.format==="regex"?`Invalid string: must match pattern ${a.pattern}`:`Invalid ${r[a.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${mm(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function VU(){return{localeError:BU()}}var oJ=Symbol("ZodOutput"),cJ=Symbol("ZodInput"),ym=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}remove(e){return this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function ZU(){return new ym}var Bu=ZU();function GU(t,e){return new t({type:"string",...Re(e)})}function WU(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...Re(e)})}function j1(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...Re(e)})}function KU(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...Re(e)})}function XU(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Re(e)})}function JU(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Re(e)})}function YU(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Re(e)})}function QU(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...Re(e)})}function e3(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...Re(e)})}function t3(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...Re(e)})}function r3(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...Re(e)})}function a3(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...Re(e)})}function n3(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...Re(e)})}function s3(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...Re(e)})}function i3(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...Re(e)})}function o3(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...Re(e)})}function c3(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...Re(e)})}function u3(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Re(e)})}function l3(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Re(e)})}function d3(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...Re(e)})}function p3(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...Re(e)})}function f3(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...Re(e)})}function m3(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...Re(e)})}function h3(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Re(e)})}function v3(t,e){return new t({type:"string",format:"date",check:"string_format",...Re(e)})}function g3(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...Re(e)})}function y3(t,e){return new t({type:"string",format:"duration",check:"string_format",...Re(e)})}function _3(t,e){return new t({type:"number",checks:[],...Re(e)})}function b3(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...Re(e)})}function x3(t,e){return new t({type:"boolean",...Re(e)})}function w3(t,e){return new t({type:"null",...Re(e)})}function S3(t){return new t({type:"unknown"})}function E3(t,e){return new t({type:"never",...Re(e)})}function M1(t,e){return new BT({check:"less_than",...Re(e),value:t,inclusive:!1})}function Yf(t,e){return new BT({check:"less_than",...Re(e),value:t,inclusive:!0})}function D1(t,e){return new VT({check:"greater_than",...Re(e),value:t,inclusive:!1})}function Qf(t,e){return new VT({check:"greater_than",...Re(e),value:t,inclusive:!0})}function q1(t,e){return new Dz({check:"multiple_of",...Re(e),value:t})}function KT(t,e){return new Lz({check:"max_length",...Re(e),maximum:t})}function el(t,e){return new Fz({check:"min_length",...Re(e),minimum:t})}function XT(t,e){return new zz({check:"length_equals",...Re(e),length:t})}function T3(t,e){return new Uz({check:"string_format",format:"regex",...Re(e),pattern:t})}function k3(t){return new Hz({check:"string_format",format:"lowercase",...Re(t)})}function $3(t){return new Bz({check:"string_format",format:"uppercase",...Re(t)})}function R3(t,e){return new Vz({check:"string_format",format:"includes",...Re(e),includes:t})}function P3(t,e){return new Zz({check:"string_format",format:"starts_with",...Re(e),prefix:t})}function O3(t,e){return new Gz({check:"string_format",format:"ends_with",...Re(e),suffix:t})}function Co(t){return new Wz({check:"overwrite",tx:t})}function C3(t){return Co(e=>e.normalize(t))}function I3(){return Co(t=>t.trim())}function A3(){return Co(t=>t.toLowerCase())}function N3(){return Co(t=>t.toUpperCase())}function j3(t,e,r){return new t({type:"array",element:e,...Re(r)})}function M3(t,e,r){let n=Re(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function D3(t,e,r){return new t({type:"custom",check:"custom",fn:e,...Re(r)})}var JT={};V1(JT,{time:()=>ak,duration:()=>sk,datetime:()=>QT,date:()=>tk,ZodISOTime:()=>rk,ZodISODuration:()=>nk,ZodISODateTime:()=>YT,ZodISODate:()=>ek});var YT=ae("ZodISODateTime",(t,e)=>{oU.init(t,e),xt.init(t,e)});function QT(t){return h3(YT,t)}var ek=ae("ZodISODate",(t,e)=>{cU.init(t,e),xt.init(t,e)});function tk(t){return v3(ek,t)}var rk=ae("ZodISOTime",(t,e)=>{uU.init(t,e),xt.init(t,e)});function ak(t){return g3(rk,t)}var nk=ae("ZodISODuration",(t,e)=>{lU.init(t,e),xt.init(t,e)});function sk(t){return y3(nk,t)}var ik=(t,e)=>{MT.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>nz(t,r)},flatten:{value:r=>az(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},uJ=ae("ZodError",ik),yl=ae("ZodError",ik,{Parent:Error}),q3=sz(yl),L3=iz(yl),F3=qT(yl),z3=LT(yl),bt=ae("ZodType",(t,e)=>(dt.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>Ga(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>q3(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>F3(t,r,n),t.parseAsync=async(r,n)=>L3(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>z3(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(CH(r,n)),t.superRefine=r=>t.check(IH(r)),t.overwrite=r=>t.check(Co(r)),t.optional=()=>we(t),t.nullable=()=>z1(t),t.nullish=()=>we(z1(t)),t.nonoptional=r=>SH(t,r),t.array=()=>Ze(t),t.or=r=>vt([t,r]),t.and=r=>Am(t,r),t.transform=r=>bm(t,fk(r)),t.default=r=>bH(t,r),t.prefault=r=>wH(t,r),t.catch=r=>TH(t,r),t.pipe=r=>bm(t,r),t.readonly=()=>RH(t),t.describe=r=>{let n=t.clone();return Bu.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return Bu.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return Bu.get(t);let n=t.clone();return Bu.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),ok=ae("_ZodString",(t,e)=>{Im.init(t,e),bt.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(T3(...n)),t.includes=(...n)=>t.check(R3(...n)),t.startsWith=(...n)=>t.check(P3(...n)),t.endsWith=(...n)=>t.check(O3(...n)),t.min=(...n)=>t.check(el(...n)),t.max=(...n)=>t.check(KT(...n)),t.length=(...n)=>t.check(XT(...n)),t.nonempty=(...n)=>t.check(el(1,...n)),t.lowercase=n=>t.check(k3(n)),t.uppercase=n=>t.check($3(n)),t.trim=()=>t.check(I3()),t.normalize=(...n)=>t.check(C3(...n)),t.toLowerCase=()=>t.check(A3()),t.toUpperCase=()=>t.check(N3())}),U3=ae("ZodString",(t,e)=>{Im.init(t,e),ok.init(t,e),t.email=r=>t.check(WU(H3,r)),t.url=r=>t.check(QU(B3,r)),t.jwt=r=>t.check(m3(sH,r)),t.emoji=r=>t.check(e3(V3,r)),t.guid=r=>t.check(j1(L1,r)),t.uuid=r=>t.check(KU(Vu,r)),t.uuidv4=r=>t.check(XU(Vu,r)),t.uuidv6=r=>t.check(JU(Vu,r)),t.uuidv7=r=>t.check(YU(Vu,r)),t.nanoid=r=>t.check(t3(Z3,r)),t.guid=r=>t.check(j1(L1,r)),t.cuid=r=>t.check(r3(G3,r)),t.cuid2=r=>t.check(a3(W3,r)),t.ulid=r=>t.check(n3(K3,r)),t.base64=r=>t.check(d3(rH,r)),t.base64url=r=>t.check(p3(aH,r)),t.xid=r=>t.check(s3(X3,r)),t.ksuid=r=>t.check(i3(J3,r)),t.ipv4=r=>t.check(o3(Y3,r)),t.ipv6=r=>t.check(c3(Q3,r)),t.cidrv4=r=>t.check(u3(eH,r)),t.cidrv6=r=>t.check(l3(tH,r)),t.e164=r=>t.check(f3(nH,r)),t.datetime=r=>t.check(QT(r)),t.date=r=>t.check(tk(r)),t.time=r=>t.check(ak(r)),t.duration=r=>t.check(sk(r))});function te(t){return GU(U3,t)}var xt=ae("ZodStringFormat",(t,e)=>{ht.init(t,e),ok.init(t,e)}),H3=ae("ZodEmail",(t,e)=>{Yz.init(t,e),xt.init(t,e)}),L1=ae("ZodGUID",(t,e)=>{Xz.init(t,e),xt.init(t,e)}),Vu=ae("ZodUUID",(t,e)=>{Jz.init(t,e),xt.init(t,e)}),B3=ae("ZodURL",(t,e)=>{Qz.init(t,e),xt.init(t,e)}),V3=ae("ZodEmoji",(t,e)=>{eU.init(t,e),xt.init(t,e)}),Z3=ae("ZodNanoID",(t,e)=>{tU.init(t,e),xt.init(t,e)}),G3=ae("ZodCUID",(t,e)=>{rU.init(t,e),xt.init(t,e)}),W3=ae("ZodCUID2",(t,e)=>{aU.init(t,e),xt.init(t,e)}),K3=ae("ZodULID",(t,e)=>{nU.init(t,e),xt.init(t,e)}),X3=ae("ZodXID",(t,e)=>{sU.init(t,e),xt.init(t,e)}),J3=ae("ZodKSUID",(t,e)=>{iU.init(t,e),xt.init(t,e)}),Y3=ae("ZodIPv4",(t,e)=>{dU.init(t,e),xt.init(t,e)}),Q3=ae("ZodIPv6",(t,e)=>{pU.init(t,e),xt.init(t,e)}),eH=ae("ZodCIDRv4",(t,e)=>{fU.init(t,e),xt.init(t,e)}),tH=ae("ZodCIDRv6",(t,e)=>{mU.init(t,e),xt.init(t,e)}),rH=ae("ZodBase64",(t,e)=>{hU.init(t,e),xt.init(t,e)}),aH=ae("ZodBase64URL",(t,e)=>{gU.init(t,e),xt.init(t,e)}),nH=ae("ZodE164",(t,e)=>{yU.init(t,e),xt.init(t,e)}),sH=ae("ZodJWT",(t,e)=>{bU.init(t,e),xt.init(t,e)}),ck=ae("ZodNumber",(t,e)=>{GT.init(t,e),bt.init(t,e),t.gt=(n,a)=>t.check(D1(n,a)),t.gte=(n,a)=>t.check(Qf(n,a)),t.min=(n,a)=>t.check(Qf(n,a)),t.lt=(n,a)=>t.check(M1(n,a)),t.lte=(n,a)=>t.check(Yf(n,a)),t.max=(n,a)=>t.check(Yf(n,a)),t.int=n=>t.check(F1(n)),t.safe=n=>t.check(F1(n)),t.positive=n=>t.check(D1(0,n)),t.nonnegative=n=>t.check(Qf(0,n)),t.negative=n=>t.check(M1(0,n)),t.nonpositive=n=>t.check(Yf(0,n)),t.multipleOf=(n,a)=>t.check(q1(n,a)),t.step=(n,a)=>t.check(q1(n,a)),t.finite=()=>t;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 ot(t){return _3(ck,t)}var iH=ae("ZodNumberFormat",(t,e)=>{xU.init(t,e),ck.init(t,e)});function F1(t){return b3(iH,t)}var oH=ae("ZodBoolean",(t,e)=>{wU.init(t,e),bt.init(t,e)});function Ht(t){return x3(oH,t)}var cH=ae("ZodNull",(t,e)=>{SU.init(t,e),bt.init(t,e)});function uk(t){return w3(cH,t)}var uH=ae("ZodUnknown",(t,e)=>{EU.init(t,e),bt.init(t,e)});function Nt(){return S3(uH)}var lH=ae("ZodNever",(t,e)=>{TU.init(t,e),bt.init(t,e)});function dH(t){return E3(lH,t)}var pH=ae("ZodArray",(t,e)=>{kU.init(t,e),bt.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(el(r,n)),t.nonempty=r=>t.check(el(1,r)),t.max=(r,n)=>t.check(KT(r,n)),t.length=(r,n)=>t.check(XT(r,n)),t.unwrap=()=>t.element});function Ze(t,e){return j3(pH,t,e)}var lk=ae("ZodObject",(t,e)=>{$U.init(t,e),bt.init(t,e),ut.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Bt(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:Nt()}),t.loose=()=>t.clone({...t._zod.def,catchall:Nt()}),t.strict=()=>t.clone({...t._zod.def,catchall:dH()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>ut.extend(t,r),t.merge=r=>ut.merge(t,r),t.pick=r=>ut.pick(t,r),t.omit=r=>ut.omit(t,r),t.partial=(...r)=>ut.partial(mk,t,r[0]),t.required=(...r)=>ut.required(hk,t,r[0])});function le(t,e){let r={type:"object",get shape(){return ut.assignProp(this,"shape",{...t}),this.shape},...ut.normalizeParams(e)};return new lk(r)}function Fr(t,e){return new lk({type:"object",get shape(){return ut.assignProp(this,"shape",{...t}),this.shape},catchall:Nt(),...ut.normalizeParams(e)})}var dk=ae("ZodUnion",(t,e)=>{WT.init(t,e),bt.init(t,e),t.options=e.options});function vt(t,e){return new dk({type:"union",options:t,...ut.normalizeParams(e)})}var fH=ae("ZodDiscriminatedUnion",(t,e)=>{dk.init(t,e),RU.init(t,e)});function pk(t,e,r){return new fH({type:"union",options:e,discriminator:t,...ut.normalizeParams(r)})}var mH=ae("ZodIntersection",(t,e)=>{PU.init(t,e),bt.init(t,e)});function Am(t,e){return new mH({type:"intersection",left:t,right:e})}var hH=ae("ZodRecord",(t,e)=>{OU.init(t,e),bt.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function jt(t,e,r){return new hH({type:"record",keyType:t,valueType:e,...ut.normalizeParams(r)})}var _m=ae("ZodEnum",(t,e)=>{CU.init(t,e),bt.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,a)=>{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 _m({...e,checks:[],...ut.normalizeParams(a),entries:s})},t.exclude=(n,a)=>{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 _m({...e,checks:[],...ut.normalizeParams(a),entries:s})}});function Bt(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new _m({type:"enum",entries:r,...ut.normalizeParams(e)})}var vH=ae("ZodLiteral",(t,e)=>{IU.init(t,e),bt.init(t,e),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 Se(t,e){return new vH({type:"literal",values:Array.isArray(t)?t:[t],...ut.normalizeParams(e)})}var gH=ae("ZodTransform",(t,e)=>{AU.init(t,e),bt.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(ut.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),i.continue??(i.continue=!0),r.issues.push(ut.issue(i))}};let a=e.transform(r.value,r);return a instanceof Promise?a.then(s=>(r.value=s,r)):(r.value=a,r)}});function fk(t){return new gH({type:"transform",transform:t})}var mk=ae("ZodOptional",(t,e)=>{NU.init(t,e),bt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function we(t){return new mk({type:"optional",innerType:t})}var yH=ae("ZodNullable",(t,e)=>{jU.init(t,e),bt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function z1(t){return new yH({type:"nullable",innerType:t})}var _H=ae("ZodDefault",(t,e)=>{MU.init(t,e),bt.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function bH(t,e){return new _H({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var xH=ae("ZodPrefault",(t,e)=>{DU.init(t,e),bt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function wH(t,e){return new xH({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var hk=ae("ZodNonOptional",(t,e)=>{qU.init(t,e),bt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function SH(t,e){return new hk({type:"nonoptional",innerType:t,...ut.normalizeParams(e)})}var EH=ae("ZodCatch",(t,e)=>{LU.init(t,e),bt.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function TH(t,e){return new EH({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var kH=ae("ZodPipe",(t,e)=>{FU.init(t,e),bt.init(t,e),t.in=e.in,t.out=e.out});function bm(t,e){return new kH({type:"pipe",in:t,out:e})}var $H=ae("ZodReadonly",(t,e)=>{zU.init(t,e),bt.init(t,e)});function RH(t){return new $H({type:"readonly",innerType:t})}var vk=ae("ZodCustom",(t,e)=>{UU.init(t,e),bt.init(t,e)});function PH(t,e){let r=new ir({check:"custom",...ut.normalizeParams(e)});return r._zod.check=t,r}function OH(t,e){return M3(vk,t??(()=>!0),e)}function CH(t,e={}){return D3(vk,t,e)}function IH(t,e){let r=PH(n=>(n.addIssue=a=>{if(typeof a=="string")n.issues.push(ut.issue(a,n.value,r._zod.def));else{let s=a;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(ut.issue(s))}},t(n.value,n)),e);return r}function gk(t,e){return bm(fk(t),e)}_a(VU());var Nm="io.modelcontextprotocol/related-task",_l="2.0",aa=OH(t=>t!==null&&(typeof t=="object"||typeof t=="function")),yk=vt([te(),ot().int()]),_k=te(),AH=Fr({ttl:vt([ot(),uk()]).optional(),pollInterval:ot().optional()}),jm=Fr({taskId:te()}),NH=Fr({progressToken:yk.optional(),[Nm]:jm.optional()}),or=Fr({task:AH.optional(),_meta:NH.optional()}),Ft=le({method:te(),params:or.optional()}),qn=Fr({_meta:le({[Nm]:we(jm)}).passthrough().optional()}),Pr=le({method:te(),params:qn.optional()}),Vt=Fr({_meta:Fr({[Nm]:jm.optional()}).optional()}),bl=vt([te(),ot().int()]),jH=le({jsonrpc:Se(_l),id:bl,...Ft.shape}).strict();var MH=le({jsonrpc:Se(_l),...Pr.shape}).strict();var DH=le({jsonrpc:Se(_l),id:bl,result:Vt}).strict();var U1;(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"})(U1||(U1={}));var qH=le({jsonrpc:Se(_l),id:bl,error:le({code:ot().int(),message:te(),data:we(Nt())})}).strict();var lJ=vt([jH,MH,DH,qH]),bk=Vt.strict(),LH=qn.extend({requestId:bl,reason:te().optional()}),xk=Pr.extend({method:Se("notifications/cancelled"),params:LH}),FH=le({src:te(),mimeType:te().optional(),sizes:Ze(te()).optional()}),Io=le({icons:Ze(FH).optional()}),ti=le({name:te(),title:te().optional()}),wk=ti.extend({...ti.shape,...Io.shape,version:te(),websiteUrl:te().optional()}),zH=Am(le({applyDefaults:Ht().optional()}),jt(te(),Nt())),UH=gk(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Am(le({form:zH.optional(),url:aa.optional()}),jt(te(),Nt()).optional())),HH=le({list:we(le({}).passthrough()),cancel:we(le({}).passthrough()),requests:we(le({sampling:we(le({createMessage:we(le({}).passthrough())}).passthrough()),elicitation:we(le({create:we(le({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),BH=le({list:we(le({}).passthrough()),cancel:we(le({}).passthrough()),requests:we(le({tools:we(le({call:we(le({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),VH=le({experimental:jt(te(),aa).optional(),sampling:le({context:aa.optional(),tools:aa.optional()}).optional(),elicitation:UH.optional(),roots:le({listChanged:Ht().optional()}).optional(),tasks:we(HH)}),ZH=or.extend({protocolVersion:te(),capabilities:VH,clientInfo:wk}),GH=Ft.extend({method:Se("initialize"),params:ZH}),WH=le({experimental:jt(te(),aa).optional(),logging:aa.optional(),completions:aa.optional(),prompts:we(le({listChanged:we(Ht())})),resources:le({subscribe:Ht().optional(),listChanged:Ht().optional()}).optional(),tools:le({listChanged:Ht().optional()}).optional(),tasks:we(BH)}).passthrough(),KH=Vt.extend({protocolVersion:te(),capabilities:WH,serverInfo:wk,instructions:te().optional()}),XH=Pr.extend({method:Se("notifications/initialized")}),Sk=Ft.extend({method:Se("ping")}),JH=le({progress:ot(),total:we(ot()),message:we(te())}),YH=le({...qn.shape,...JH.shape,progressToken:yk}),Ek=Pr.extend({method:Se("notifications/progress"),params:YH}),QH=or.extend({cursor:_k.optional()}),Ao=Ft.extend({params:QH.optional()}),No=Vt.extend({nextCursor:we(_k)}),jo=le({taskId:te(),status:Bt(["working","input_required","completed","failed","cancelled"]),ttl:vt([ot(),uk()]),createdAt:te(),lastUpdatedAt:te(),pollInterval:we(ot()),statusMessage:we(te())}),Tk=Vt.extend({task:jo}),eB=qn.merge(jo),kk=Pr.extend({method:Se("notifications/tasks/status"),params:eB}),$k=Ft.extend({method:Se("tasks/get"),params:or.extend({taskId:te()})}),Rk=Vt.merge(jo),Pk=Ft.extend({method:Se("tasks/result"),params:or.extend({taskId:te()})}),Ok=Ao.extend({method:Se("tasks/list")}),Ck=No.extend({tasks:Ze(jo)}),dJ=Ft.extend({method:Se("tasks/cancel"),params:or.extend({taskId:te()})}),pJ=Vt.merge(jo),Ik=le({uri:te(),mimeType:we(te()),_meta:jt(te(),Nt()).optional()}),Ak=Ik.extend({text:te()}),Mm=te().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Nk=Ik.extend({blob:Mm}),oi=le({audience:Ze(Bt(["user","assistant"])).optional(),priority:ot().min(0).max(1).optional(),lastModified:JT.datetime({offset:!0}).optional()}),jk=le({...ti.shape,...Io.shape,uri:te(),description:we(te()),mimeType:we(te()),annotations:oi.optional(),_meta:we(Fr({}))}),tB=le({...ti.shape,...Io.shape,uriTemplate:te(),description:we(te()),mimeType:we(te()),annotations:oi.optional(),_meta:we(Fr({}))}),rB=Ao.extend({method:Se("resources/list")}),aB=No.extend({resources:Ze(jk)}),nB=Ao.extend({method:Se("resources/templates/list")}),sB=No.extend({resourceTemplates:Ze(tB)}),Dm=or.extend({uri:te()}),iB=Dm,oB=Ft.extend({method:Se("resources/read"),params:iB}),cB=Vt.extend({contents:Ze(vt([Ak,Nk]))}),uB=Pr.extend({method:Se("notifications/resources/list_changed")}),lB=Dm,dB=Ft.extend({method:Se("resources/subscribe"),params:lB}),pB=Dm,fB=Ft.extend({method:Se("resources/unsubscribe"),params:pB}),mB=qn.extend({uri:te()}),hB=Pr.extend({method:Se("notifications/resources/updated"),params:mB}),vB=le({name:te(),description:we(te()),required:we(Ht())}),gB=le({...ti.shape,...Io.shape,description:we(te()),arguments:we(Ze(vB)),_meta:we(Fr({}))}),yB=Ao.extend({method:Se("prompts/list")}),_B=No.extend({prompts:Ze(gB)}),bB=or.extend({name:te(),arguments:jt(te(),te()).optional()}),xB=Ft.extend({method:Se("prompts/get"),params:bB}),qm=le({type:Se("text"),text:te(),annotations:oi.optional(),_meta:jt(te(),Nt()).optional()}),Lm=le({type:Se("image"),data:Mm,mimeType:te(),annotations:oi.optional(),_meta:jt(te(),Nt()).optional()}),Fm=le({type:Se("audio"),data:Mm,mimeType:te(),annotations:oi.optional(),_meta:jt(te(),Nt()).optional()}),wB=le({type:Se("tool_use"),name:te(),id:te(),input:le({}).passthrough(),_meta:we(le({}).passthrough())}).passthrough(),SB=le({type:Se("resource"),resource:vt([Ak,Nk]),annotations:oi.optional(),_meta:jt(te(),Nt()).optional()}),EB=jk.extend({type:Se("resource_link")}),zm=vt([qm,Lm,Fm,EB,SB]),TB=le({role:Bt(["user","assistant"]),content:zm}),kB=Vt.extend({description:we(te()),messages:Ze(TB)}),$B=Pr.extend({method:Se("notifications/prompts/list_changed")}),RB=le({title:te().optional(),readOnlyHint:Ht().optional(),destructiveHint:Ht().optional(),idempotentHint:Ht().optional(),openWorldHint:Ht().optional()}),PB=le({taskSupport:Bt(["required","optional","forbidden"]).optional()}),Mk=le({...ti.shape,...Io.shape,description:te().optional(),inputSchema:le({type:Se("object"),properties:jt(te(),aa).optional(),required:Ze(te()).optional()}).catchall(Nt()),outputSchema:le({type:Se("object"),properties:jt(te(),aa).optional(),required:Ze(te()).optional()}).catchall(Nt()).optional(),annotations:we(RB),execution:we(PB),_meta:jt(te(),Nt()).optional()}),OB=Ao.extend({method:Se("tools/list")}),CB=No.extend({tools:Ze(Mk)}),Dk=Vt.extend({content:Ze(zm).default([]),structuredContent:jt(te(),Nt()).optional(),isError:we(Ht())}),fJ=Dk.or(Vt.extend({toolResult:Nt()})),IB=or.extend({name:te(),arguments:we(jt(te(),Nt()))}),AB=Ft.extend({method:Se("tools/call"),params:IB}),NB=Pr.extend({method:Se("notifications/tools/list_changed")}),qk=Bt(["debug","info","notice","warning","error","critical","alert","emergency"]),jB=or.extend({level:qk}),MB=Ft.extend({method:Se("logging/setLevel"),params:jB}),DB=qn.extend({level:qk,logger:te().optional(),data:Nt()}),qB=Pr.extend({method:Se("notifications/message"),params:DB}),LB=le({name:te().optional()}),FB=le({hints:we(Ze(LB)),costPriority:we(ot().min(0).max(1)),speedPriority:we(ot().min(0).max(1)),intelligencePriority:we(ot().min(0).max(1))}),zB=le({mode:we(Bt(["auto","required","none"]))}),UB=le({type:Se("tool_result"),toolUseId:te().describe("The unique identifier for the corresponding tool call."),content:Ze(zm).default([]),structuredContent:le({}).passthrough().optional(),isError:we(Ht()),_meta:we(le({}).passthrough())}).passthrough(),HB=pk("type",[qm,Lm,Fm]),tl=pk("type",[qm,Lm,Fm,wB,UB]),BB=le({role:Bt(["user","assistant"]),content:vt([tl,Ze(tl)]),_meta:we(le({}).passthrough())}).passthrough(),VB=or.extend({messages:Ze(BB),modelPreferences:FB.optional(),systemPrompt:te().optional(),includeContext:Bt(["none","thisServer","allServers"]).optional(),temperature:ot().optional(),maxTokens:ot().int(),stopSequences:Ze(te()).optional(),metadata:aa.optional(),tools:we(Ze(Mk)),toolChoice:we(zB)}),ZB=Ft.extend({method:Se("sampling/createMessage"),params:VB}),GB=Vt.extend({model:te(),stopReason:we(Bt(["endTurn","stopSequence","maxTokens"]).or(te())),role:Bt(["user","assistant"]),content:HB}),WB=Vt.extend({model:te(),stopReason:we(Bt(["endTurn","stopSequence","maxTokens","toolUse"]).or(te())),role:Bt(["user","assistant"]),content:vt([tl,Ze(tl)])}),KB=le({type:Se("boolean"),title:te().optional(),description:te().optional(),default:Ht().optional()}),XB=le({type:Se("string"),title:te().optional(),description:te().optional(),minLength:ot().optional(),maxLength:ot().optional(),format:Bt(["email","uri","date","date-time"]).optional(),default:te().optional()}),JB=le({type:Bt(["number","integer"]),title:te().optional(),description:te().optional(),minimum:ot().optional(),maximum:ot().optional(),default:ot().optional()}),YB=le({type:Se("string"),title:te().optional(),description:te().optional(),enum:Ze(te()),default:te().optional()}),QB=le({type:Se("string"),title:te().optional(),description:te().optional(),oneOf:Ze(le({const:te(),title:te()})),default:te().optional()}),e7=le({type:Se("string"),title:te().optional(),description:te().optional(),enum:Ze(te()),enumNames:Ze(te()).optional(),default:te().optional()}),t7=vt([YB,QB]),r7=le({type:Se("array"),title:te().optional(),description:te().optional(),minItems:ot().optional(),maxItems:ot().optional(),items:le({type:Se("string"),enum:Ze(te())}),default:Ze(te()).optional()}),a7=le({type:Se("array"),title:te().optional(),description:te().optional(),minItems:ot().optional(),maxItems:ot().optional(),items:le({anyOf:Ze(le({const:te(),title:te()}))}),default:Ze(te()).optional()}),n7=vt([r7,a7]),s7=vt([e7,t7,n7]),i7=vt([s7,KB,XB,JB]),o7=or.extend({mode:Se("form").optional(),message:te(),requestedSchema:le({type:Se("object"),properties:jt(te(),i7),required:Ze(te()).optional()})}),c7=or.extend({mode:Se("url"),message:te(),elicitationId:te(),url:te().url()}),u7=vt([o7,c7]),l7=Ft.extend({method:Se("elicitation/create"),params:u7}),d7=qn.extend({elicitationId:te()}),p7=Pr.extend({method:Se("notifications/elicitation/complete"),params:d7}),f7=Vt.extend({action:Bt(["accept","decline","cancel"]),content:gk(t=>t===null?void 0:t,jt(te(),vt([te(),ot(),Ht(),Ze(te())])).optional())}),m7=le({type:Se("ref/resource"),uri:te()}),h7=le({type:Se("ref/prompt"),name:te()}),v7=or.extend({ref:vt([h7,m7]),argument:le({name:te(),value:te()}),context:le({arguments:jt(te(),te()).optional()}).optional()}),g7=Ft.extend({method:Se("completion/complete"),params:v7});var y7=Vt.extend({completion:Fr({values:Ze(te()).max(100),total:we(ot().int()),hasMore:we(Ht())})}),_7=le({uri:te().startsWith("file://"),name:te().optional(),_meta:jt(te(),Nt()).optional()}),b7=Ft.extend({method:Se("roots/list")}),x7=Vt.extend({roots:Ze(_7)}),w7=Pr.extend({method:Se("notifications/roots/list_changed")}),mJ=vt([Sk,GH,g7,MB,xB,yB,rB,nB,oB,dB,fB,AB,OB,$k,Pk,Ok]),hJ=vt([xk,Ek,XH,w7,kk]),vJ=vt([bk,GB,WB,f7,x7,Rk,Ck,Tk]),gJ=vt([Sk,ZB,l7,b7,$k,Pk,Ok]),yJ=vt([xk,Ek,qB,hB,uB,NB,$B,kk,p7]),_J=vt([bk,KH,y7,kB,_B,aB,sB,cB,Dk,CB,Rk,Ck,Tk]);var bJ=Symbol("Let zodToJsonSchema decide on which parser to use");var xJ=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var wJ=B1(cL(),1),SJ=B1(r6(),1);var EJ=Symbol.for("mcp.completable");var H1;(function(t){t.Completable="McpCompletable"})(H1||(H1={}));function Lk({prompt:t,options:e}){let{systemPrompt:r,settingSources:n,sandbox:a,...s}=e??{},i,o;r===void 0?i="":typeof r=="string"?i=r:r.type==="preset"&&(o=r.append);let c=s.pathToClaudeCodeExecutable;if(!c){let G=(0,aT.fileURLToPath)(S7.url),ee=(0,tm.join)(G,"..");c=(0,tm.join)(ee,"cli.js")}process.env.CLAUDE_AGENT_SDK_VERSION="0.1.75";let{abortController:u=sT(),additionalDirectories:l=[],agents:d,allowedTools:f=[],betas:m,canUseTool:g,continue:b,cwd:p,disallowedTools:h=[],tools:y,env:v,executable:_=xT()?"bun":"node",executableArgs:S=[],extraArgs:x={},fallbackModel:E,enableFileCheckpointing:T,forkSession:$,hooks:N,includePartialMessages:j,persistSession:q,maxThinkingTokens:H,maxTurns:A,maxBudgetUsd:W,mcpServers:oe,model:he,outputFormat:ne,permissionMode:re="default",allowDangerouslySkipPermissions:F=!1,permissionPromptToolName:R,plugins:z,resume:I,resumeSessionAt:w,stderr:k,strictMcpConfig:M}=s,K=ne?.type==="json_schema"?ne.schema:void 0,J=v;if(J||(J={...process.env}),J.CLAUDE_CODE_ENTRYPOINT||(J.CLAUDE_CODE_ENTRYPOINT="sdk-ts"),T&&(J.CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING="true"),!c)throw new Error("pathToClaudeCodeExecutable is required");let de={},se=new Map;if(oe)for(let[G,ee]of Object.entries(oe))ee.type==="sdk"&&"instance"in ee?(se.set(G,ee.instance),de[G]={type:"sdk",name:G}):de[G]=ee;let me=typeof t=="string",O=new am({abortController:u,additionalDirectories:l,betas:m,cwd:p,executable:_,executableArgs:S,extraArgs:x,pathToClaudeCodeExecutable:c,env:J,forkSession:$,stderr:k,maxThinkingTokens:H,maxTurns:A,maxBudgetUsd:W,model:he,fallbackModel:E,jsonSchema:K,permissionMode:re,allowDangerouslySkipPermissions:F,permissionPromptToolName:R,continueConversation:b,resume:I,resumeSessionAt:w,settingSources:n??[],allowedTools:f,disallowedTools:h,tools:y,mcpServers:de,strictMcpConfig:M,canUseTool:!!g,hooks:!!N,includePartialMessages:j,persistSession:q,plugins:z,sandbox:a,spawnClaudeCodeProcess:s.spawnClaudeCodeProcess}),C={systemPrompt:i,appendSystemPrompt:o,agents:d},L=new im(O,me,g,N,u,se,K,C);return typeof t=="string"?O.write(JSON.stringify({type:"user",session_id:"",message:{role:"user",content:[{type:"text",text:t}]},parent_tool_use_id:null})+` `):L.streamInput(t),L}var xl=class{dbManager;sessionManager;constructor(e,r){this.dbManager=e,this.sessionManager=r}async startSession(e,r){try{let n=this.findClaudeExecutable(),a=this.getModelId(),s=["Bash","Read","Write","Edit","Grep","Glob","WebFetch","WebSearch","Task","NotebookEdit","AskUserQuestion","TodoWrite"],i=this.createMessageGenerator(e),o=Lk({prompt:i,options:{model:a,disallowedTools:s,abortController:e.abortController,pathToClaudeCodeExecutable:n}});for await(let u of o){if(u.type==="assistant"){let l=u.message.content,d=Array.isArray(l)?l.filter(p=>p.type==="text").map(p=>p.text).join(` -`):typeof l=="string"?l:"",f=d.length,m=e.cumulativeInputTokens+e.cumulativeOutputTokens,g=u.message.usage;g&&(e.cumulativeInputTokens+=g.input_tokens||0,e.cumulativeOutputTokens+=g.output_tokens||0,g.cache_creation_input_tokens&&(e.cumulativeInputTokens+=g.cache_creation_input_tokens),U.debug("SDK","Token usage captured",{sessionId:e.sessionDbId,inputTokens:g.input_tokens,outputTokens:g.output_tokens,cacheCreation:g.cache_creation_input_tokens||0,cacheRead:g.cache_read_input_tokens||0,cumulativeInput:e.cumulativeInputTokens,cumulativeOutput:e.cumulativeOutputTokens}));let b=e.cumulativeInputTokens+e.cumulativeOutputTokens-m;if(f>0){let p=f>100?d.substring(0,100)+"...":d;U.dataOut("SDK",`Response received (${f} chars)`,{sessionId:e.sessionDbId,promptNumber:e.lastPromptNumber},p),await this.processSDKResponse(e,d,r,b)}else await this.markMessagesProcessed(e,r)}u.type==="result"&&u.subtype}let c=Date.now()-e.startTime;U.success("SDK","Agent completed",{sessionId:e.sessionDbId,duration:`${(c/1e3).toFixed(1)}s`}),this.dbManager.getSessionStore().markSessionCompleted(e.sessionDbId)}catch(n){throw n.name==="AbortError"?U.warn("SDK","Agent aborted",{sessionId:e.sessionDbId}):U.failure("SDK","Agent error",{sessionDbId:e.sessionDbId},n),n}finally{this.sessionManager.deleteSession(e.sessionDbId).catch(()=>{})}}async*createMessageGenerator(e){let r=$t.getInstance().getActiveMode();yield{type:"user",message:{role:"user",content:e.lastPromptNumber===1?c1(e.project,e.claudeSessionId,e.userPrompt,r):d1(e.userPrompt,e.lastPromptNumber,e.claudeSessionId,r)},session_id:e.claudeSessionId,parent_tool_use_id:null,isSynthetic:!0};for await(let n of this.sessionManager.getMessageIterator(e.sessionDbId))n.type==="observation"?(n.prompt_number!==void 0&&(e.lastPromptNumber=n.prompt_number),yield{type:"user",message:{role:"user",content:u1({id:0,tool_name:n.tool_name,tool_input:JSON.stringify(n.tool_input),tool_output:JSON.stringify(n.tool_response),created_at_epoch:Date.now(),cwd:n.cwd})},session_id:e.claudeSessionId,parent_tool_use_id:null,isSynthetic:!0}):n.type==="summarize"&&(yield{type:"user",message:{role:"user",content:l1({id:e.sessionDbId,sdk_session_id:e.sdkSessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:n.last_user_message||"",last_assistant_message:n.last_assistant_message||""},r)},session_id:e.claudeSessionId,parent_tool_use_id:null,isSynthetic:!0})}async processSDKResponse(e,r,n,a){let s=i1(r,e.claudeSessionId);for(let o of s){let{id:c,createdAtEpoch:u}=this.dbManager.getSessionStore().storeObservation(e.claudeSessionId,e.project,o,e.lastPromptNumber,a);U.info("SDK","Observation saved",{sessionId:e.sessionDbId,obsId:c,type:o.type,title:o.title||"(untitled)",filesRead:o.files_read?.length??0,filesModified:o.files_modified?.length??0,concepts:o.concepts?.length??0});let l=Date.now(),d=o.type,f=o.title||"(untitled)";this.dbManager.getChromaSync().syncObservation(c,e.claudeSessionId,e.project,o,e.lastPromptNumber,u,a).then(()=>{let m=Date.now()-l;U.debug("CHROMA","Observation synced",{obsId:c,duration:`${m}ms`,type:d,title:f})}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_observation",observation:{id:c,sdk_session_id:e.sdkSessionId,session_id:e.claudeSessionId,type:o.type,title:o.title,subtitle:o.subtitle,text:o.text||null,narrative:o.narrative||null,facts:JSON.stringify(o.facts||[]),concepts:JSON.stringify(o.concepts||[]),files_read:JSON.stringify(o.files||[]),files_modified:JSON.stringify([]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:u}})}let i=o1(r,e.sessionDbId);if(i){let{id:o,createdAtEpoch:c}=this.dbManager.getSessionStore().storeSummary(e.claudeSessionId,e.project,i,e.lastPromptNumber,a);U.info("SDK","Summary saved",{sessionId:e.sessionDbId,summaryId:o,request:i.request||"(no request)",hasCompleted:!!i.completed,hasNextSteps:!!i.next_steps});let u=Date.now(),l=i.request||"(no request)";this.dbManager.getChromaSync().syncSummary(o,e.claudeSessionId,e.project,i,e.lastPromptNumber,c,a).then(()=>{let d=Date.now()-u;U.debug("CHROMA","Summary synced",{summaryId:o,duration:`${d}ms`,request:l})}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_summary",summary:{id:o,session_id:e.claudeSessionId,request:i.request,investigated:i.investigated,learned:i.learned,completed:i.completed,next_steps:i.next_steps,notes:i.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:c}})}await this.markMessagesProcessed(e,n)}async markMessagesProcessed(e,r){let n=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)n.markProcessed(s);U.debug("SDK","Messages marked as processed",{sessionId:e.sessionDbId,messageIds:Array.from(e.pendingProcessingIds),count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear();let a=n.cleanupProcessed(100);a>0&&U.debug("SDK","Cleaned up old processed messages",{deletedCount:a})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}findClaudeExecutable(){let r=ct.loadFromFile(In).CLAUDE_CODE_PATH||(0,Fk.execSync)(process.platform==="win32"?"where claude":"which claude",{encoding:"utf8",windowsHide:!0}).trim().split(` -`)[0].trim();if(!r)throw new Error("Claude executable not found in PATH");return r}getModelId(){let e=Uk.default.join((0,zk.homedir)(),".claude-mem","settings.json");return ct.loadFromFile(e).CLAUDE_MEM_MODEL}};var wl=class{dbManager;constructor(e){this.dbManager=e}stripProjectPath(e,r){let n=`/${r}/`,a=e.indexOf(n);return a!==-1?e.substring(a+n.length):e}stripProjectPaths(e,r){if(!e)return e;try{let a=JSON.parse(e).map(s=>this.stripProjectPath(s,r));return JSON.stringify(a)}catch{return e}}sanitizeObservation(e){return{...e,files_read:this.stripProjectPaths(e.files_read,e.project),files_modified:this.stripProjectPaths(e.files_modified,e.project)}}getObservations(e,r,n){let a=this.paginate("observations","id, sdk_session_id, project, type, title, subtitle, narrative, text, facts, concepts, files_read, files_modified, prompt_number, created_at, created_at_epoch",e,r,n);return{...a,items:a.items.map(s=>this.sanitizeObservation(s))}}getSummaries(e,r,n){let a=this.dbManager.getSessionStore().db,s=` +`):typeof l=="string"?l:"",f=d.length,m=e.cumulativeInputTokens+e.cumulativeOutputTokens,g=u.message.usage;g&&(e.cumulativeInputTokens+=g.input_tokens||0,e.cumulativeOutputTokens+=g.output_tokens||0,g.cache_creation_input_tokens&&(e.cumulativeInputTokens+=g.cache_creation_input_tokens),U.debug("SDK","Token usage captured",{sessionId:e.sessionDbId,inputTokens:g.input_tokens,outputTokens:g.output_tokens,cacheCreation:g.cache_creation_input_tokens||0,cacheRead:g.cache_read_input_tokens||0,cumulativeInput:e.cumulativeInputTokens,cumulativeOutput:e.cumulativeOutputTokens}));let b=e.cumulativeInputTokens+e.cumulativeOutputTokens-m;if(f>0){let p=f>100?d.substring(0,100)+"...":d;U.dataOut("SDK",`Response received (${f} chars)`,{sessionId:e.sessionDbId,promptNumber:e.lastPromptNumber},p),await this.processSDKResponse(e,d,r,b)}else await this.markMessagesProcessed(e,r)}u.type==="result"&&u.subtype}let c=Date.now()-e.startTime;U.success("SDK","Agent completed",{sessionId:e.sessionDbId,duration:`${(c/1e3).toFixed(1)}s`}),this.dbManager.getSessionStore().markSessionCompleted(e.sessionDbId)}catch(n){throw n.name==="AbortError"?U.warn("SDK","Agent aborted",{sessionId:e.sessionDbId}):U.failure("SDK","Agent error",{sessionDbId:e.sessionDbId},n),n}finally{this.sessionManager.deleteSession(e.sessionDbId).catch(()=>{})}}async*createMessageGenerator(e){let r=$t.getInstance().getActiveMode();yield{type:"user",message:{role:"user",content:e.lastPromptNumber===1?c1(e.project,e.claudeSessionId,e.userPrompt,r):d1(e.userPrompt,e.lastPromptNumber,e.claudeSessionId,r)},session_id:e.claudeSessionId,parent_tool_use_id:null,isSynthetic:!0};for await(let n of this.sessionManager.getMessageIterator(e.sessionDbId))n.type==="observation"?(n.prompt_number!==void 0&&(e.lastPromptNumber=n.prompt_number),yield{type:"user",message:{role:"user",content:u1({id:0,tool_name:n.tool_name,tool_input:JSON.stringify(n.tool_input),tool_output:JSON.stringify(n.tool_response),created_at_epoch:Date.now(),cwd:n.cwd})},session_id:e.claudeSessionId,parent_tool_use_id:null,isSynthetic:!0}):n.type==="summarize"&&(yield{type:"user",message:{role:"user",content:l1({id:e.sessionDbId,sdk_session_id:e.sdkSessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:n.last_user_message||"",last_assistant_message:n.last_assistant_message||""},r)},session_id:e.claudeSessionId,parent_tool_use_id:null,isSynthetic:!0})}async processSDKResponse(e,r,n,a){let s=i1(r,e.claudeSessionId);for(let o of s){let{id:c,createdAtEpoch:u}=this.dbManager.getSessionStore().storeObservation(e.claudeSessionId,e.project,o,e.lastPromptNumber,a);U.info("SDK","Observation saved",{sessionId:e.sessionDbId,obsId:c,type:o.type,title:o.title||"(untitled)",filesRead:o.files_read?.length??0,filesModified:o.files_modified?.length??0,concepts:o.concepts?.length??0});let l=Date.now(),d=o.type,f=o.title||"(untitled)";this.dbManager.getChromaSync().syncObservation(c,e.claudeSessionId,e.project,o,e.lastPromptNumber,u,a).then(()=>{let m=Date.now()-l;U.debug("CHROMA","Observation synced",{obsId:c,duration:`${m}ms`,type:d,title:f})}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_observation",observation:{id:c,sdk_session_id:e.sdkSessionId,session_id:e.claudeSessionId,type:o.type,title:o.title,subtitle:o.subtitle,text:o.text||null,narrative:o.narrative||null,facts:JSON.stringify(o.facts||[]),concepts:JSON.stringify(o.concepts||[]),files_read:JSON.stringify(o.files||[]),files_modified:JSON.stringify([]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:u}})}let i=o1(r,e.sessionDbId);if(i){let{id:o,createdAtEpoch:c}=this.dbManager.getSessionStore().storeSummary(e.claudeSessionId,e.project,i,e.lastPromptNumber,a);U.info("SDK","Summary saved",{sessionId:e.sessionDbId,summaryId:o,request:i.request||"(no request)",hasCompleted:!!i.completed,hasNextSteps:!!i.next_steps});let u=Date.now(),l=i.request||"(no request)";this.dbManager.getChromaSync().syncSummary(o,e.claudeSessionId,e.project,i,e.lastPromptNumber,c,a).then(()=>{let d=Date.now()-u;U.debug("CHROMA","Summary synced",{summaryId:o,duration:`${d}ms`,request:l})}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_summary",summary:{id:o,session_id:e.claudeSessionId,request:i.request,investigated:i.investigated,learned:i.learned,completed:i.completed,next_steps:i.next_steps,notes:i.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:c}})}await this.markMessagesProcessed(e,n)}async markMessagesProcessed(e,r){let n=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)n.markProcessed(s);U.debug("SDK","Messages marked as processed",{sessionId:e.sessionDbId,messageIds:Array.from(e.pendingProcessingIds),count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear();let a=n.cleanupProcessed(100);a>0&&U.debug("SDK","Cleaned up old processed messages",{deletedCount:a})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}findClaudeExecutable(){let e=ct.loadFromFile(In);if(e.CLAUDE_CODE_PATH){let{existsSync:r}=require("fs");if(!r(e.CLAUDE_CODE_PATH))throw new Error(`CLAUDE_CODE_PATH is set to "${e.CLAUDE_CODE_PATH}" but the file does not exist.`);return e.CLAUDE_CODE_PATH}try{let r=(0,Fk.execSync)(process.platform==="win32"?"where claude":"which claude",{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).trim().split(` +`)[0].trim();if(r)return r}catch(r){U.debug("SDK","Claude executable auto-detection failed",r)}throw new Error(`Claude executable not found. Please either: +1. Add "claude" to your system PATH, or +2. Set CLAUDE_CODE_PATH in ~/.claude-mem/settings.json`)}getModelId(){let e=Uk.default.join((0,zk.homedir)(),".claude-mem","settings.json");return ct.loadFromFile(e).CLAUDE_MEM_MODEL}};var wl=class{dbManager;constructor(e){this.dbManager=e}stripProjectPath(e,r){let n=`/${r}/`,a=e.indexOf(n);return a!==-1?e.substring(a+n.length):e}stripProjectPaths(e,r){if(!e)return e;try{let a=JSON.parse(e).map(s=>this.stripProjectPath(s,r));return JSON.stringify(a)}catch{return e}}sanitizeObservation(e){return{...e,files_read:this.stripProjectPaths(e.files_read,e.project),files_modified:this.stripProjectPaths(e.files_modified,e.project)}}getObservations(e,r,n){let a=this.paginate("observations","id, sdk_session_id, project, type, title, subtitle, narrative, text, facts, concepts, files_read, files_modified, prompt_number, created_at, created_at_epoch",e,r,n);return{...a,items:a.items.map(s=>this.sanitizeObservation(s))}}getSummaries(e,r,n){let a=this.dbManager.getSessionStore().db,s=` SELECT ss.id, s.claude_session_id as session_id, diff --git a/plugin/skills/mem-search.zip b/plugin/skills/mem-search.zip index 70b56b62..6084d59a 100644 Binary files a/plugin/skills/mem-search.zip and b/plugin/skills/mem-search.zip differ