diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 90111e90..03138212 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,7 +6,7 @@ "plugins": [ { "name": "claude-mem", - "source": "./claude-mem", + "source": "./plugin", "description": "Persistent memory system for Claude Code" } ] diff --git a/README.md b/README.md index 2e57c3a0..e69de29b 100644 --- a/README.md +++ b/README.md @@ -1,473 +0,0 @@ -
-
-
- - Memory compression and persistence system for Claude Code conversations -
- - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`+e+`+ + +`}qf.exports=Lw;function Lw(t,e,r){var a=r||{},i=a.env||process.env.NODE_ENV||"development",s=a.onerror;return function(n){var o,l,c;if(!n&&jf(e)){qo("cannot 404 after headers sent");return}if(n?(c=Bw(n),c===void 0?c=Zw(e):o=zw(n),l=Uw(n,c,i)):(c=404,l="Cannot "+t.method+" "+Ow(Hw(t))),qo("default %s",c),n&&s&&Nw(s,n,t,e),jf(e)){qo("cannot %d after headers sent",c),t.socket&&t.socket.destroy();return}Vw(t,e,c,o,l)}}function zw(t){if(!(!t.headers||typeof t.headers!="object")){for(var e=Object.create(null),r=Object.keys(t.headers),a=0;a
`+e+`+ + +`}function RE(t,e){return e?e instanceof Error?Go(t,e,{expose:!1}):Go(t,e):Go(t)}function CE(t){try{return decodeURIComponent(t)}catch{return-1}}function AE(t){return typeof t.getHeaderNames!="function"?Object.keys(t._headers||{}):t.getHeaderNames()}function Bm(t,e){var r=typeof t.listenerCount!="function"?t.listeners(e).length:t.listenerCount(e);return r>0}function OE(t){return typeof t.headersSent!="boolean"?!!t._header:t.headersSent}function Ko(t,e){for(var r=[].concat(t||[]),a=0;a
=0&&p<=128))return d=[this.parse(u[1]),p],Object.defineProperty(d,"toString",{value:function(){return this.join("/")}}),d;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},e.isValid=function(c){return e.IPv6.isValid(c)||e.IPv4.isValid(c)},e.parse=function(c){if(e.IPv6.isValid(c))return e.IPv6.parse(c);if(e.IPv4.isValid(c))return e.IPv4.parse(c);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},e.parseCIDR=function(c){var p;try{return e.IPv6.parseCIDR(c)}catch(u){p=u;try{return e.IPv4.parseCIDR(c)}catch(d){throw p=d,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},e.fromByteArray=function(c){var p;if(p=c.length,p===4)return new e.IPv4(c);if(p===16)return new e.IPv6(c);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},e.process=function(c){var p;return p=this.parse(c),p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p}}).call(Vm)});var Yo=j((yT,Bi)=>{"use strict";Bi.exports=BE;Bi.exports.all=Km;Bi.exports.compile=Jm;var NE=Zm(),Qm=Gm(),FE=/^[0-9]+$/,zi=Qm.isValid,Ui=Qm.parse,Wm={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function Km(t,e){var r=NE(t);if(!e)return r;typeof e!="function"&&(e=Jm(e));for(var a=0;a "+Gi.message[i]+". Redirecting to "+s+" =0&&p<=128))return d=[this.parse(u[1]),p],Object.defineProperty(d,"toString",{value:function(){return this.join("/")}}),d;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},e.isValid=function(c){return e.IPv6.isValid(c)||e.IPv4.isValid(c)},e.parse=function(c){if(e.IPv6.isValid(c))return e.IPv6.parse(c);if(e.IPv4.isValid(c))return e.IPv4.parse(c);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},e.parseCIDR=function(c){var p;try{return e.IPv6.parseCIDR(c)}catch(u){p=u;try{return e.IPv4.parseCIDR(c)}catch(d){throw p=d,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},e.fromByteArray=function(c){var p;if(p=c.length,p===4)return new e.IPv4(c);if(p===16)return new e.IPv6(c);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},e.process=function(c){var p;return p=this.parse(c),p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p}}).call(Vm)});var Yo=j((yT,Bi)=>{"use strict";Bi.exports=BE;Bi.exports.all=Km;Bi.exports.compile=Jm;var NE=Zm(),Qm=Gm(),FE=/^[0-9]+$/,zi=Qm.isValid,Ui=Qm.parse,Wm={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function Km(r,e){var t=NE(r);if(!e)return t;typeof e!="function"&&(e=Jm(e));for(var a=0;a`+e+`
+
+
+`}function $S(){return function(){this.error(404)}}function NS(){return function(e){if(this.hasTrailingSlash()){this.error(404);return}var r=dc.original(this.req);r.path=null,r.pathname=DS(r.pathname+"/");var a=CS(jS.format(r)),i=qS("Redirecting","Redirecting to "+AS(a));e.statusCode=301,e.setHeader("Content-Type","text/html; charset=UTF-8"),e.setHeader("Content-Length",Buffer.byteLength(i)),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Location",a),e.end(i)}}});var av=j((ia,ev)=>{"use strict";var Wi=_f(),FS=require("events").EventEmitter,Kh=Sf(),Jh=nh(),MS=No(),LS=Mo(),Xh=Ah(),Yh=Gh();ia=ev.exports=zS;function zS(){var t=function(e,r,a){t.handle(e,r,a)};return Kh(t,FS.prototype,!1),Kh(t,Jh,!1),t.request=Object.create(Xh,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.response=Object.create(Yh,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.init(),t}ia.application=Jh;ia.request=Xh;ia.response=Yh;ia.Route=MS;ia.Router=LS;ia.json=Wi.json;ia.query=Lo();ia.raw=Wi.raw;ia.static=Qh();ia.text=Wi.text;ia.urlencoded=Wi.urlencoded;var US=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];US.forEach(function(t){Object.defineProperty(ia,t,{get:function(){throw new Error("Most middleware (like "+t+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var rv=j((IT,tv)=>{"use strict";tv.exports=av()});var X9={};Hg(X9,{WorkerService:()=>ls});module.exports=Zg(X9);var zc=Bn(rv(),1);var gc=require("path"),_v=require("url"),Ev=require("events"),kv=require("child_process"),Pv=require("readline"),re=Bn(require("fs"),1),Tv=require("fs/promises"),Iv=require("path"),Dv=require("os"),jt=require("path"),wc=require("process"),qv=require("crypto"),W9={},BS=Object.create,HS=Object.getPrototypeOf,vc=Object.defineProperty,ZS=Object.getOwnPropertyNames,VS=Object.prototype.hasOwnProperty,GS=(t,e,r)=>{r=t!=null?BS(HS(t)):{};let a=e||!t||!t.__esModule?vc(r,"default",{value:t,enumerable:!0}):r;for(let i of ZS(t))VS.call(a,i)||vc(a,i,{get:()=>t[i],enumerable:!0});return a},ie=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),WS=(t,e)=>{for(var r in e)vc(t,r,{get:e[r],enumerable:!0,configurable:!0,set:a=>e[r]=()=>a})},QS=ie((t,e)=>{(function(r,a){typeof t=="object"&&typeof e<"u"?a(t):typeof define=="function"&&define.amd?define(["exports"],a):a(r.URI=r.URI||{})})(t,function(r){function a(){for(var _=arguments.length,x=Array(_),S=0;S<_;S++)x[S]=arguments[S];if(x.length>1){x[0]=x[0].slice(0,-1);for(var D=x.length-1,$=1;$=55296&&o<=56319&&n{e.exports={copy:r,checkDataType:a,checkDataTypes:i,coerceToTypes:n,toHash:o,getProperty:p,escapeQuotes:u,equal:Rc(),ucs2length:KS(),varOccurences:d,varReplace:h,schemaHasRules:v,schemaHasRulesExcept:f,schemaUnknownRules:g,toQuotedString:b,getPathExpr:y,getPath:w,getData:E,unescapeFragment:I,unescapeJsonPointer:T,escapeFragment:q,escapeJsonPointer:F};function r(k,R){R=R||{};for(var N in k)R[N]=k[N];return R}function a(k,R,N,M){var B=M?" !== ":" === ",Z=M?" || ":" && ",X=M?"!":"",K=M?"":"!";switch(k){case"null":return R+B+"null";case"array":return X+"Array.isArray("+R+")";case"object":return"("+X+R+Z+"typeof "+R+B+'"object"'+Z+K+"Array.isArray("+R+"))";case"integer":return"(typeof "+R+B+'"number"'+Z+K+"("+R+" % 1)"+Z+R+B+R+(N?Z+X+"isFinite("+R+")":"")+")";case"number":return"(typeof "+R+B+'"'+k+'"'+(N?Z+X+"isFinite("+R+")":"")+")";default:return"typeof "+R+B+'"'+k+'"'}}function i(k,R,N){switch(k.length){case 1:return a(k[0],R,N,!0);default:var M="",B=o(k);B.array&&B.object&&(M=B.null?"(":"(!"+R+" || ",M+="typeof "+R+' !== "object")',delete B.null,delete B.array,delete B.object),B.number&&delete B.integer;for(var Z in B)M+=(M?" && ":"")+a(Z,R,N,!0);return M}}var s=o(["string","number","integer","boolean","null"]);function n(k,R){if(Array.isArray(R)){for(var N=[],M=0;M{e.exports=function(a,i,s){var n=" ",o=a.schema[i],l=a.errSchemaPath+"/"+i,c=!a.opts.allErrors,p=a.util.toQuotedString(o);return a.opts.$comment===!0?n+=" console.log("+p+");":typeof a.opts.$comment=="function"&&(n+=" self._opts.$comment("+p+", "+a.util.toQuotedString(l)+", validate.root.schema);"),n}}),i8=ie((t,e)=>{e.exports=function(a,i,s){var n=" ",o=a.level,l=a.dataLevel,c=a.schema[i],p=a.schemaPath+a.util.getProperty(i),u=a.errSchemaPath+"/"+i,d=!a.opts.allErrors,h="data"+(l||""),v="valid"+o,f=a.opts.$data&&c&&c.$data,g;f?(n+=" var schema"+o+" = "+a.util.getData(c.$data,l,a.dataPathArr)+"; ",g="schema"+o):g=c,f||(n+=" var schema"+o+" = validate.schema"+p+";"),n+="var "+v+" = equal("+h+", schema"+o+"); if (!"+v+") { ";var b=b||[];b.push(n),n="",a.createErrors!==!1?(n+=" { keyword: 'const' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(u)+" , params: { allowedValue: schema"+o+" } ",a.opts.messages!==!1&&(n+=" , message: 'should be equal to constant' "),a.opts.verbose&&(n+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+h+" "),n+=" } "):n+=" {} ";var y=n;return n=b.pop(),!a.compositeRule&&d?a.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",d&&(n+=" else { "),n}}),s8=ie((t,e)=>{e.exports=function(a,i,s){var n=" ",o=a.level,l=a.dataLevel,c=a.schema[i],p=a.schemaPath+a.util.getProperty(i),u=a.errSchemaPath+"/"+i,d=!a.opts.allErrors,h="data"+(l||""),v="valid"+o,f="errs__"+o,g=a.util.copy(a),b="";g.level++;var y="valid"+g.level,w="i"+o,O=g.dataLevel=a.dataLevel+1,A="data"+O,E=a.baseId,P=a.opts.strictKeywords?typeof c=="object"&&Object.keys(c).length>0||c===!1:a.util.schemaHasRules(c,a.RULES.all);if(n+="var "+f+" = errors;var "+v+";",P){var I=a.compositeRule;a.compositeRule=g.compositeRule=!0,g.schema=c,g.schemaPath=p,g.errSchemaPath=u,n+=" var "+y+" = false; for (var "+w+" = 0; "+w+" < "+h+".length; "+w+"++) { ",g.errorPath=a.util.getPathExpr(a.errorPath,w,a.opts.jsonPointers,!0);var q=h+"["+w+"]";g.dataPathArr[O]=w;var F=a.validate(g);g.baseId=E,a.util.varOccurences(F,A)<2?n+=" "+a.util.varReplace(F,A,q)+" ":n+=" var "+A+" = "+q+"; "+F+" ",n+=" if ("+y+") break; } ",a.compositeRule=g.compositeRule=I,n+=" "+b+" if (!"+y+") {"}else n+=" if ("+h+".length == 0) {";var T=T||[];T.push(n),n="",a.createErrors!==!1?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(u)+" , params: {} ",a.opts.messages!==!1&&(n+=" , message: 'should contain a valid item' "),a.opts.verbose&&(n+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+h+" "),n+=" } "):n+=" {} ";var k=n;return n=T.pop(),!a.compositeRule&&d?a.async?n+=" throw new ValidationError(["+k+"]); ":n+=" validate.errors = ["+k+"]; return false; ":n+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",P&&(n+=" errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } "),a.opts.allErrors&&(n+=" } "),n}}),o8=ie((t,e)=>{e.exports=function(a,i,s){var n=" ",o=a.level,l=a.dataLevel,c=a.schema[i],p=a.schemaPath+a.util.getProperty(i),u=a.errSchemaPath+"/"+i,d=!a.opts.allErrors,h="data"+(l||""),v="errs__"+o,f=a.util.copy(a),g="";f.level++;var b="valid"+f.level,y={},w={},O=a.opts.ownProperties;for(I in c)if(I!="__proto__"){var A=c[I],E=Array.isArray(A)?w:y;E[I]=A}n+="var "+v+" = errors;";var P=a.errorPath;n+="var missing"+o+";";for(var I in w)if(E=w[I],E.length){if(n+=" if ( "+h+a.util.getProperty(I)+" !== undefined ",O&&(n+=" && Object.prototype.hasOwnProperty.call("+h+", '"+a.util.escapeQuotes(I)+"') "),d){n+=" && ( ";var q=E;if(q)for(var F,T=-1,k=q.length-1;T
a?t="utf-16be":i{"use strict";var Da=yr().Buffer;ai.utf7=Yn;ai.unicode11utf7="utf7";function Yn(r,e){this.iconv=e}Yn.prototype.encoder=zs;Yn.prototype.decoder=Us;Yn.prototype.bomAware=!0;var dy=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function zs(r,e){this.iconv=e.iconv}zs.prototype.write=function(r){return Da.from(r.replace(dy,function(e){return"+"+(e==="+"?"":this.iconv.encode(e,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))};zs.prototype.end=function(){};function Us(r,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=""}var fy=/[A-Za-z0-9\/+]/,Bs=[];for(nn=0;nn<256;nn++)Bs[nn]=fy.test(String.fromCharCode(nn));var nn,my=43,br=45,Ls=38;Us.prototype.write=function(r){for(var e="",t=0,a=this.inBase64,i=this.base64Accum,s=0;s
").replace(qw," ");return`
+
+
+
+`+e+`
+
+
+`}qf.exports=Lw;function Lw(r,e,t){var a=t||{},i=a.env||process.env.NODE_ENV||"development",s=a.onerror;return function(n){var o,l,c;if(!n&&jf(e)){qo("cannot 404 after headers sent");return}if(n?(c=Bw(n),c===void 0?c=Zw(e):o=zw(n),l=Uw(n,c,i)):(c=404,l="Cannot "+r.method+" "+Ow(Hw(r))),qo("default %s",c),n&&s&&Nw(s,n,r,e),jf(e)){qo("cannot %d after headers sent",c),r.socket&&r.socket.destroy();return}Vw(r,e,c,o,l)}}function zw(r){if(!(!r.headers||typeof r.headers!="object")){for(var e=Object.create(null),t=Object.keys(r.headers),a=0;a`+e+`
+
+
+`}function RE(r,e){return e?e instanceof Error?Go(r,e,{expose:!1}):Go(r,e):Go(r)}function CE(r){try{return decodeURIComponent(r)}catch{return-1}}function AE(r){return typeof r.getHeaderNames!="function"?Object.keys(r._headers||{}):r.getHeaderNames()}function Bm(r,e){var t=typeof r.listenerCount!="function"?r.listeners(e).length:r.listenerCount(e);return t>0}function OE(r){return typeof r.headersSent!="boolean"?!!r._header:r.headersSent}function Ko(r,e){for(var t=[].concat(r||[]),a=0;a