hippo-memory 1.27.0 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +4 -2
  2. package/dist/api.d.ts +25 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +103 -4
  5. package/dist/api.js.map +1 -1
  6. package/dist/capture.d.ts +49 -2
  7. package/dist/capture.d.ts.map +1 -1
  8. package/dist/capture.js +464 -1
  9. package/dist/capture.js.map +1 -1
  10. package/dist/cli.d.ts +5 -0
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +266 -21
  13. package/dist/cli.js.map +1 -1
  14. package/dist/dag.d.ts.map +1 -1
  15. package/dist/dag.js +10 -1
  16. package/dist/dag.js.map +1 -1
  17. package/dist/db.d.ts.map +1 -1
  18. package/dist/db.js +75 -1
  19. package/dist/db.js.map +1 -1
  20. package/dist/embedding-provider.d.ts +1 -1
  21. package/dist/embedding-provider.js +1 -1
  22. package/dist/embeddings.d.ts +2 -2
  23. package/dist/embeddings.d.ts.map +1 -1
  24. package/dist/embeddings.js +38 -37
  25. package/dist/embeddings.js.map +1 -1
  26. package/dist/hooks.d.ts +24 -0
  27. package/dist/hooks.d.ts.map +1 -1
  28. package/dist/hooks.js +85 -1
  29. package/dist/hooks.js.map +1 -1
  30. package/dist/invalidation.d.ts +20 -2
  31. package/dist/invalidation.d.ts.map +1 -1
  32. package/dist/invalidation.js +50 -18
  33. package/dist/invalidation.js.map +1 -1
  34. package/dist/mcp/server.d.ts.map +1 -1
  35. package/dist/mcp/server.js +17 -4
  36. package/dist/mcp/server.js.map +1 -1
  37. package/dist/postinstall.js +35 -2
  38. package/dist/postinstall.js.map +1 -1
  39. package/dist/recall-trace.d.ts +117 -0
  40. package/dist/recall-trace.d.ts.map +1 -0
  41. package/dist/recall-trace.js +179 -0
  42. package/dist/recall-trace.js.map +1 -0
  43. package/dist/rerankers/cross-encoder.d.ts +1 -1
  44. package/dist/rerankers/cross-encoder.d.ts.map +1 -1
  45. package/dist/rerankers/cross-encoder.js +38 -10
  46. package/dist/rerankers/cross-encoder.js.map +1 -1
  47. package/dist/secret-detect.d.ts +8 -0
  48. package/dist/secret-detect.d.ts.map +1 -1
  49. package/dist/secret-detect.js +25 -0
  50. package/dist/secret-detect.js.map +1 -1
  51. package/dist/server.js +1 -1
  52. package/dist/server.js.map +1 -1
  53. package/dist/src/api.js +103 -4
  54. package/dist/src/api.js.map +1 -1
  55. package/dist/src/capture.js +464 -1
  56. package/dist/src/capture.js.map +1 -1
  57. package/dist/src/cli.js +266 -21
  58. package/dist/src/cli.js.map +1 -1
  59. package/dist/src/dag.js +10 -1
  60. package/dist/src/dag.js.map +1 -1
  61. package/dist/src/db.js +75 -1
  62. package/dist/src/db.js.map +1 -1
  63. package/dist/src/embedding-provider.js +1 -1
  64. package/dist/src/embeddings.js +38 -37
  65. package/dist/src/embeddings.js.map +1 -1
  66. package/dist/src/hooks.js +85 -1
  67. package/dist/src/hooks.js.map +1 -1
  68. package/dist/src/invalidation.js +50 -18
  69. package/dist/src/invalidation.js.map +1 -1
  70. package/dist/src/mcp/server.js +17 -4
  71. package/dist/src/mcp/server.js.map +1 -1
  72. package/dist/src/postinstall.js +35 -2
  73. package/dist/src/postinstall.js.map +1 -1
  74. package/dist/src/recall-trace.js +179 -0
  75. package/dist/src/recall-trace.js.map +1 -0
  76. package/dist/src/rerankers/cross-encoder.js +38 -10
  77. package/dist/src/rerankers/cross-encoder.js.map +1 -1
  78. package/dist/src/secret-detect.js +25 -0
  79. package/dist/src/secret-detect.js.map +1 -1
  80. package/dist/src/server.js +1 -1
  81. package/dist/src/server.js.map +1 -1
  82. package/dist/src/store.js +55 -4
  83. package/dist/src/store.js.map +1 -1
  84. package/dist/src/version.js +7 -6
  85. package/dist/src/version.js.map +1 -1
  86. package/dist/store.d.ts +15 -0
  87. package/dist/store.d.ts.map +1 -1
  88. package/dist/store.js +55 -4
  89. package/dist/store.js.map +1 -1
  90. package/dist/version.d.ts +1 -1
  91. package/dist/version.js +7 -6
  92. package/dist/version.js.map +1 -1
  93. package/dist-ui/assets/{index-DbMxaBZ3.js → index-Cxa4RcAh.js} +2 -2
  94. package/dist-ui/assets/{react-DS1lvn1H.js → react-CEUiQZj-.js} +2 -2
  95. package/dist-ui/index.html +2 -2
  96. package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
  97. package/extensions/openclaw-plugin/package.json +1 -1
  98. package/openclaw.plugin.json +1 -1
  99. package/package.json +8 -5
@@ -6,7 +6,7 @@ var I={exports:{}},n={};/**
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var K;function te(){if(K)return n;K=1;var d=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),y=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),m=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),i=Symbol.for("react.suspense"),t=Symbol.for("react.memo"),c=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),C=Symbol.iterator;function A(e){return e===null||typeof e!="object"?null:(e=C&&e[C]||e["@@iterator"],typeof e=="function"?e:null)}var U={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Y=Object.assign,k={};function S(e,r,o){this.props=e,this.context=r,this.refs=k,this.updater=o||U}S.prototype.isReactComponent={},S.prototype.setState=function(e,r){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,r,"setState")},S.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function x(){}x.prototype=S.prototype;function N(e,r,o){this.props=e,this.context=r,this.refs=k,this.updater=o||U}var w=N.prototype=new x;w.constructor=N,Y(w,S.prototype),w.isPureReactComponent=!0;var q=Array.isArray;function D(){}var a={H:null,A:null,T:null,S:null},b=Object.prototype.hasOwnProperty;function L(e,r,o){var u=o.ref;return{$$typeof:d,type:e,key:r,ref:u!==void 0?u:null,props:o}}function Q(e,r){return L(e.type,r,e.props)}function j(e){return typeof e=="object"&&e!==null&&e.$$typeof===d}function Z(e){var r={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(o){return r[o]})}var G=/\/+/g;function M(e,r){return typeof e=="object"&&e!==null&&e.key!=null?Z(""+e.key):r.toString(36)}function J(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(D,D):(e.status="pending",e.then(function(r){e.status==="pending"&&(e.status="fulfilled",e.value=r)},function(r){e.status==="pending"&&(e.status="rejected",e.reason=r)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function O(e,r,o,u,s){var f=typeof e;(f==="undefined"||f==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(f){case"bigint":case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case d:case R:l=!0;break;case c:return l=e._init,O(l(e._payload),r,o,u,s)}}if(l)return s=s(e),l=u===""?"."+M(e,0):u,q(s)?(o="",l!=null&&(o=l.replace(G,"$&/")+"/"),O(s,r,o,"",function(ee){return ee})):s!=null&&(j(s)&&(s=Q(s,o+(s.key==null||e&&e.key===s.key?"":(""+s.key).replace(G,"$&/")+"/")+l)),r.push(s)),1;l=0;var g=u===""?".":u+":";if(q(e))for(var p=0;p<e.length;p++)u=e[p],f=g+M(u,p),l+=O(u,r,o,f,s);else if(p=A(e),typeof p=="function")for(e=p.call(e),p=0;!(u=e.next()).done;)u=u.value,f=g+M(u,p++),l+=O(u,r,o,f,s);else if(f==="object"){if(typeof e.then=="function")return O(J(e),r,o,u,s);throw r=String(e),Error("Objects are not valid as a React child (found: "+(r==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return l}function h(e,r,o){if(e==null)return e;var u=[],s=0;return O(e,u,"","",function(f){return r.call(o,f,s++)}),u}function V(e){if(e._status===-1){var r=e._result;r=r(),r.then(function(o){(e._status===0||e._status===-1)&&(e._status=1,e._result=o)},function(o){(e._status===0||e._status===-1)&&(e._status=2,e._result=o)}),e._status===-1&&(e._status=0,e._result=r)}if(e._status===1)return e._result.default;throw e._result}var z=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var r=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(r))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},F={map:h,forEach:function(e,r,o){h(e,function(){r.apply(this,arguments)},o)},count:function(e){var r=0;return h(e,function(){r++}),r},toArray:function(e){return h(e,function(r){return r})||[]},only:function(e){if(!j(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};return n.Activity=v,n.Children=F,n.Component=S,n.Fragment=E,n.Profiler=P,n.PureComponent=N,n.StrictMode=y,n.Suspense=i,n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,n.__COMPILER_RUNTIME={__proto__:null,c:function(e){return a.H.useMemoCache(e)}},n.cache=function(e){return function(){return e.apply(null,arguments)}},n.cacheSignal=function(){return null},n.cloneElement=function(e,r,o){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var u=Y({},e.props),s=e.key;if(r!=null)for(f in r.key!==void 0&&(s=""+r.key),r)!b.call(r,f)||f==="key"||f==="__self"||f==="__source"||f==="ref"&&r.ref===void 0||(u[f]=r[f]);var f=arguments.length-2;if(f===1)u.children=o;else if(1<f){for(var l=Array(f),g=0;g<f;g++)l[g]=arguments[g+2];u.children=l}return L(e.type,s,u)},n.createContext=function(e){return e={$$typeof:m,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:H,_context:e},e},n.createElement=function(e,r,o){var u,s={},f=null;if(r!=null)for(u in r.key!==void 0&&(f=""+r.key),r)b.call(r,u)&&u!=="key"&&u!=="__self"&&u!=="__source"&&(s[u]=r[u]);var l=arguments.length-2;if(l===1)s.children=o;else if(1<l){for(var g=Array(l),p=0;p<l;p++)g[p]=arguments[p+2];s.children=g}if(e&&e.defaultProps)for(u in l=e.defaultProps,l)s[u]===void 0&&(s[u]=l[u]);return L(e,f,s)},n.createRef=function(){return{current:null}},n.forwardRef=function(e){return{$$typeof:T,render:e}},n.isValidElement=j,n.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:V}},n.memo=function(e,r){return{$$typeof:t,type:e,compare:r===void 0?null:r}},n.startTransition=function(e){var r=a.T,o={};a.T=o;try{var u=e(),s=a.S;s!==null&&s(o,u),typeof u=="object"&&u!==null&&typeof u.then=="function"&&u.then(D,z)}catch(f){z(f)}finally{r!==null&&o.types!==null&&(r.types=o.types),a.T=r}},n.unstable_useCacheRefresh=function(){return a.H.useCacheRefresh()},n.use=function(e){return a.H.use(e)},n.useActionState=function(e,r,o){return a.H.useActionState(e,r,o)},n.useCallback=function(e,r){return a.H.useCallback(e,r)},n.useContext=function(e){return a.H.useContext(e)},n.useDebugValue=function(){},n.useDeferredValue=function(e,r){return a.H.useDeferredValue(e,r)},n.useEffect=function(e,r){return a.H.useEffect(e,r)},n.useEffectEvent=function(e){return a.H.useEffectEvent(e)},n.useId=function(){return a.H.useId()},n.useImperativeHandle=function(e,r,o){return a.H.useImperativeHandle(e,r,o)},n.useInsertionEffect=function(e,r){return a.H.useInsertionEffect(e,r)},n.useLayoutEffect=function(e,r){return a.H.useLayoutEffect(e,r)},n.useMemo=function(e,r){return a.H.useMemo(e,r)},n.useOptimistic=function(e,r){return a.H.useOptimistic(e,r)},n.useReducer=function(e,r,o){return a.H.useReducer(e,r,o)},n.useRef=function(e){return a.H.useRef(e)},n.useState=function(e){return a.H.useState(e)},n.useSyncExternalStore=function(e,r,o){return a.H.useSyncExternalStore(e,r,o)},n.useTransition=function(){return a.H.useTransition()},n.version="19.2.5",n}var B;function re(){return B||(B=1,I.exports=te()),I.exports}var $={exports:{}},_={};/**
9
+ */var K;function te(){if(K)return n;K=1;var d=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),y=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),m=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),i=Symbol.for("react.suspense"),t=Symbol.for("react.memo"),c=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),C=Symbol.iterator;function A(e){return e===null||typeof e!="object"?null:(e=C&&e[C]||e["@@iterator"],typeof e=="function"?e:null)}var U={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Y=Object.assign,k={};function S(e,r,o){this.props=e,this.context=r,this.refs=k,this.updater=o||U}S.prototype.isReactComponent={},S.prototype.setState=function(e,r){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,r,"setState")},S.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function x(){}x.prototype=S.prototype;function N(e,r,o){this.props=e,this.context=r,this.refs=k,this.updater=o||U}var w=N.prototype=new x;w.constructor=N,Y(w,S.prototype),w.isPureReactComponent=!0;var q=Array.isArray;function D(){}var a={H:null,A:null,T:null,S:null},b=Object.prototype.hasOwnProperty;function L(e,r,o){var u=o.ref;return{$$typeof:d,type:e,key:r,ref:u!==void 0?u:null,props:o}}function Q(e,r){return L(e.type,r,e.props)}function j(e){return typeof e=="object"&&e!==null&&e.$$typeof===d}function Z(e){var r={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(o){return r[o]})}var G=/\/+/g;function M(e,r){return typeof e=="object"&&e!==null&&e.key!=null?Z(""+e.key):r.toString(36)}function J(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(D,D):(e.status="pending",e.then(function(r){e.status==="pending"&&(e.status="fulfilled",e.value=r)},function(r){e.status==="pending"&&(e.status="rejected",e.reason=r)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function O(e,r,o,u,s){var f=typeof e;(f==="undefined"||f==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(f){case"bigint":case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case d:case R:l=!0;break;case c:return l=e._init,O(l(e._payload),r,o,u,s)}}if(l)return s=s(e),l=u===""?"."+M(e,0):u,q(s)?(o="",l!=null&&(o=l.replace(G,"$&/")+"/"),O(s,r,o,"",function(ee){return ee})):s!=null&&(j(s)&&(s=Q(s,o+(s.key==null||e&&e.key===s.key?"":(""+s.key).replace(G,"$&/")+"/")+l)),r.push(s)),1;l=0;var g=u===""?".":u+":";if(q(e))for(var p=0;p<e.length;p++)u=e[p],f=g+M(u,p),l+=O(u,r,o,f,s);else if(p=A(e),typeof p=="function")for(e=p.call(e),p=0;!(u=e.next()).done;)u=u.value,f=g+M(u,p++),l+=O(u,r,o,f,s);else if(f==="object"){if(typeof e.then=="function")return O(J(e),r,o,u,s);throw r=String(e),Error("Objects are not valid as a React child (found: "+(r==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return l}function h(e,r,o){if(e==null)return e;var u=[],s=0;return O(e,u,"","",function(f){return r.call(o,f,s++)}),u}function V(e){if(e._status===-1){var r=e._result;r=r(),r.then(function(o){(e._status===0||e._status===-1)&&(e._status=1,e._result=o)},function(o){(e._status===0||e._status===-1)&&(e._status=2,e._result=o)}),e._status===-1&&(e._status=0,e._result=r)}if(e._status===1)return e._result.default;throw e._result}var z=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var r=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(r))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},F={map:h,forEach:function(e,r,o){h(e,function(){r.apply(this,arguments)},o)},count:function(e){var r=0;return h(e,function(){r++}),r},toArray:function(e){return h(e,function(r){return r})||[]},only:function(e){if(!j(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};return n.Activity=v,n.Children=F,n.Component=S,n.Fragment=E,n.Profiler=P,n.PureComponent=N,n.StrictMode=y,n.Suspense=i,n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,n.__COMPILER_RUNTIME={__proto__:null,c:function(e){return a.H.useMemoCache(e)}},n.cache=function(e){return function(){return e.apply(null,arguments)}},n.cacheSignal=function(){return null},n.cloneElement=function(e,r,o){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var u=Y({},e.props),s=e.key;if(r!=null)for(f in r.key!==void 0&&(s=""+r.key),r)!b.call(r,f)||f==="key"||f==="__self"||f==="__source"||f==="ref"&&r.ref===void 0||(u[f]=r[f]);var f=arguments.length-2;if(f===1)u.children=o;else if(1<f){for(var l=Array(f),g=0;g<f;g++)l[g]=arguments[g+2];u.children=l}return L(e.type,s,u)},n.createContext=function(e){return e={$$typeof:m,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:H,_context:e},e},n.createElement=function(e,r,o){var u,s={},f=null;if(r!=null)for(u in r.key!==void 0&&(f=""+r.key),r)b.call(r,u)&&u!=="key"&&u!=="__self"&&u!=="__source"&&(s[u]=r[u]);var l=arguments.length-2;if(l===1)s.children=o;else if(1<l){for(var g=Array(l),p=0;p<l;p++)g[p]=arguments[p+2];s.children=g}if(e&&e.defaultProps)for(u in l=e.defaultProps,l)s[u]===void 0&&(s[u]=l[u]);return L(e,f,s)},n.createRef=function(){return{current:null}},n.forwardRef=function(e){return{$$typeof:T,render:e}},n.isValidElement=j,n.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:V}},n.memo=function(e,r){return{$$typeof:t,type:e,compare:r===void 0?null:r}},n.startTransition=function(e){var r=a.T,o={};a.T=o;try{var u=e(),s=a.S;s!==null&&s(o,u),typeof u=="object"&&u!==null&&typeof u.then=="function"&&u.then(D,z)}catch(f){z(f)}finally{r!==null&&o.types!==null&&(r.types=o.types),a.T=r}},n.unstable_useCacheRefresh=function(){return a.H.useCacheRefresh()},n.use=function(e){return a.H.use(e)},n.useActionState=function(e,r,o){return a.H.useActionState(e,r,o)},n.useCallback=function(e,r){return a.H.useCallback(e,r)},n.useContext=function(e){return a.H.useContext(e)},n.useDebugValue=function(){},n.useDeferredValue=function(e,r){return a.H.useDeferredValue(e,r)},n.useEffect=function(e,r){return a.H.useEffect(e,r)},n.useEffectEvent=function(e){return a.H.useEffectEvent(e)},n.useId=function(){return a.H.useId()},n.useImperativeHandle=function(e,r,o){return a.H.useImperativeHandle(e,r,o)},n.useInsertionEffect=function(e,r){return a.H.useInsertionEffect(e,r)},n.useLayoutEffect=function(e,r){return a.H.useLayoutEffect(e,r)},n.useMemo=function(e,r){return a.H.useMemo(e,r)},n.useOptimistic=function(e,r){return a.H.useOptimistic(e,r)},n.useReducer=function(e,r,o){return a.H.useReducer(e,r,o)},n.useRef=function(e){return a.H.useRef(e)},n.useState=function(e){return a.H.useState(e)},n.useSyncExternalStore=function(e,r,o){return a.H.useSyncExternalStore(e,r,o)},n.useTransition=function(){return a.H.useTransition()},n.version="19.2.7",n}var B;function re(){return B||(B=1,I.exports=te()),I.exports}var $={exports:{}},_={};/**
10
10
  * @license React
11
11
  * react-dom.production.js
12
12
  *
@@ -14,4 +14,4 @@ var I={exports:{}},n={};/**
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var W;function ne(){if(W)return _;W=1;var d=re();function R(i){var t="https://react.dev/errors/"+i;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var c=2;c<arguments.length;c++)t+="&args[]="+encodeURIComponent(arguments[c])}return"Minified React error #"+i+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function E(){}var y={d:{f:E,r:function(){throw Error(R(522))},D:E,C:E,L:E,m:E,X:E,S:E,M:E},p:0,findDOMNode:null},P=Symbol.for("react.portal");function H(i,t,c){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:P,key:v==null?null:""+v,children:i,containerInfo:t,implementation:c}}var m=d.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function T(i,t){if(i==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}return _.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=y,_.createPortal=function(i,t){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(R(299));return H(i,t,null,c)},_.flushSync=function(i){var t=m.T,c=y.p;try{if(m.T=null,y.p=2,i)return i()}finally{m.T=t,y.p=c,y.d.f()}},_.preconnect=function(i,t){typeof i=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,y.d.C(i,t))},_.prefetchDNS=function(i){typeof i=="string"&&y.d.D(i)},_.preinit=function(i,t){if(typeof i=="string"&&t&&typeof t.as=="string"){var c=t.as,v=T(c,t.crossOrigin),C=typeof t.integrity=="string"?t.integrity:void 0,A=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;c==="style"?y.d.S(i,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:v,integrity:C,fetchPriority:A}):c==="script"&&y.d.X(i,{crossOrigin:v,integrity:C,fetchPriority:A,nonce:typeof t.nonce=="string"?t.nonce:void 0})}},_.preinitModule=function(i,t){if(typeof i=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var c=T(t.as,t.crossOrigin);y.d.M(i,{crossOrigin:c,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&y.d.M(i)},_.preload=function(i,t){if(typeof i=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var c=t.as,v=T(c,t.crossOrigin);y.d.L(i,c,{crossOrigin:v,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}},_.preloadModule=function(i,t){if(typeof i=="string")if(t){var c=T(t.as,t.crossOrigin);y.d.m(i,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:c,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else y.d.m(i)},_.requestFormReset=function(i){y.d.r(i)},_.unstable_batchedUpdates=function(i,t){return i(t)},_.useFormState=function(i,t,c){return m.H.useFormState(i,t,c)},_.useFormStatus=function(){return m.H.useHostTransitionStatus()},_.version="19.2.5",_}var X;function ue(){if(X)return $.exports;X=1;function d(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(d)}catch(R){console.error(R)}}return d(),$.exports=ne(),$.exports}export{ue as a,re as r};
17
+ */var W;function ne(){if(W)return _;W=1;var d=re();function R(i){var t="https://react.dev/errors/"+i;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var c=2;c<arguments.length;c++)t+="&args[]="+encodeURIComponent(arguments[c])}return"Minified React error #"+i+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function E(){}var y={d:{f:E,r:function(){throw Error(R(522))},D:E,C:E,L:E,m:E,X:E,S:E,M:E},p:0,findDOMNode:null},P=Symbol.for("react.portal");function H(i,t,c){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:P,key:v==null?null:""+v,children:i,containerInfo:t,implementation:c}}var m=d.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function T(i,t){if(i==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}return _.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=y,_.createPortal=function(i,t){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(R(299));return H(i,t,null,c)},_.flushSync=function(i){var t=m.T,c=y.p;try{if(m.T=null,y.p=2,i)return i()}finally{m.T=t,y.p=c,y.d.f()}},_.preconnect=function(i,t){typeof i=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,y.d.C(i,t))},_.prefetchDNS=function(i){typeof i=="string"&&y.d.D(i)},_.preinit=function(i,t){if(typeof i=="string"&&t&&typeof t.as=="string"){var c=t.as,v=T(c,t.crossOrigin),C=typeof t.integrity=="string"?t.integrity:void 0,A=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;c==="style"?y.d.S(i,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:v,integrity:C,fetchPriority:A}):c==="script"&&y.d.X(i,{crossOrigin:v,integrity:C,fetchPriority:A,nonce:typeof t.nonce=="string"?t.nonce:void 0})}},_.preinitModule=function(i,t){if(typeof i=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var c=T(t.as,t.crossOrigin);y.d.M(i,{crossOrigin:c,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&y.d.M(i)},_.preload=function(i,t){if(typeof i=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var c=t.as,v=T(c,t.crossOrigin);y.d.L(i,c,{crossOrigin:v,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}},_.preloadModule=function(i,t){if(typeof i=="string")if(t){var c=T(t.as,t.crossOrigin);y.d.m(i,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:c,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else y.d.m(i)},_.requestFormReset=function(i){y.d.r(i)},_.unstable_batchedUpdates=function(i,t){return i(t)},_.useFormState=function(i,t,c){return m.H.useFormState(i,t,c)},_.useFormStatus=function(){return m.H.useHostTransitionStatus()},_.version="19.2.7",_}var X;function ue(){if(X)return $.exports;X=1;function d(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(d)}catch(R){console.error(R)}}return d(),$.exports=ne(),$.exports}export{ue as a,re as r};
@@ -24,8 +24,8 @@
24
24
  height: 100vh;
25
25
  }
26
26
  </style>
27
- <script type="module" crossorigin src="/assets/index-DbMxaBZ3.js"></script>
28
- <link rel="modulepreload" crossorigin href="/assets/react-DS1lvn1H.js">
27
+ <script type="module" crossorigin src="/assets/index-Cxa4RcAh.js"></script>
28
+ <link rel="modulepreload" crossorigin href="/assets/react-CEUiQZj-.js">
29
29
  <link rel="modulepreload" crossorigin href="/assets/three-BDgTxR1l.js">
30
30
  <link rel="modulepreload" crossorigin href="/assets/d3-BiWEKnn4.js">
31
31
  <link rel="stylesheet" crossorigin href="/assets/index-Bvp8ClXc.css">
@@ -2,7 +2,7 @@
2
2
  "id": "hippo-memory",
3
3
  "name": "Hippo Memory",
4
4
  "description": "Biologically-inspired memory for AI agents. Decay by default, retrieval strengthening, sleep consolidation.",
5
- "version": "1.27.0",
5
+ "version": "1.29.0",
6
6
 
7
7
  "configSchema": {
8
8
  "type": "object",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hippo-memory",
3
- "version": "1.27.0",
3
+ "version": "1.29.0",
4
4
  "description": "Hippo Memory plugin for OpenClaw - biologically-inspired agent memory",
5
5
  "main": "index.ts",
6
6
  "openclaw": {
@@ -2,7 +2,7 @@
2
2
  "id": "hippo-memory",
3
3
  "name": "Hippo Memory",
4
4
  "description": "Biologically-inspired memory for AI agents. Decay by default, retrieval strengthening, sleep consolidation.",
5
- "version": "1.27.0",
5
+ "version": "1.29.0",
6
6
  "configSchema": {
7
7
  "type": "object",
8
8
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hippo-memory",
3
- "version": "1.27.0",
3
+ "version": "1.29.0",
4
4
  "description": "Biologically-inspired memory system for AI agents. Decay by default, strength through use.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -30,6 +30,7 @@
30
30
  "pretest": "npm run build",
31
31
  "test": "vitest run",
32
32
  "test:watch": "vitest",
33
+ "audit:security": "npm audit --audit-level=high && npm --prefix ui audit --audit-level=high",
33
34
  "postinstall": "node scripts/postinstall.cjs",
34
35
  "smoke:pack": "node scripts/smoke-pack.mjs",
35
36
  "smoke:openclaw-install": "node scripts/smoke-openclaw-install.mjs",
@@ -63,15 +64,17 @@
63
64
  "devDependencies": {
64
65
  "@types/node": "^20.11.0",
65
66
  "typescript": "^5.4.0",
66
- "vitest": "^1.4.0"
67
+ "vitest": "^3.2.6"
67
68
  },
68
69
  "peerDependenciesMeta": {
69
70
  "@xenova/transformers": {
70
71
  "optional": true
72
+ },
73
+ "@huggingface/transformers": {
74
+ "optional": true
71
75
  }
72
76
  },
73
- "optionalDependencies": {
74
- "@huggingface/transformers": "^4.2.0",
75
- "@xenova/transformers": "^2.17.2"
77
+ "overrides": {
78
+ "protobufjs": "7.6.4"
76
79
  }
77
80
  }