@pcircle/memesh 3.1.1 → 3.2.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.
@@ -7,7 +7,7 @@
7
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
9
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
10
- <script type="module" crossorigin>(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const c of r.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&a(c)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function a(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();var Q,k,xe,E,_e,Ce,Te,Z,D,B,Pe,oe,te,se,U={},q=[],De=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Y=Array.isArray;function T(e,t){for(var s in t)e[s]=t[s];return e}function ce(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Ke(e,t,s){var a,i,r,c={};for(r in t)r=="key"?a=t[r]:r=="ref"?i=t[r]:c[r]=t[r];if(arguments.length>2&&(c.children=arguments.length>3?Q.call(arguments,2):s),typeof e=="function"&&e.defaultProps!=null)for(r in e.defaultProps)c[r]===void 0&&(c[r]=e.defaultProps[r]);return K(e,c,a,i,null)}function K(e,t,s,a,i){var r={type:e,props:t,key:s,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:i??++xe,__i:-1,__u:0};return i==null&&k.vnode!=null&&k.vnode(r),r}function R(e){return e.children}function H(e,t){this.props=e,this.context=t}function F(e,t){if(t==null)return e.__?F(e.__,e.__i+1):null;for(var s;t<e.__k.length;t++)if((s=e.__k[t])!=null&&s.__e!=null)return s.__e;return typeof e.type=="function"?F(e):null}function He(e){if(e.__P&&e.__d){var t=e.__v,s=t.__e,a=[],i=[],r=T({},t);r.__v=t.__v+1,k.vnode&&k.vnode(r),le(e.__P,r,t,e.__n,e.__P.namespaceURI,32&t.__u?[s]:null,a,s??F(t),!!(32&t.__u),i),r.__v=t.__v,r.__.__k[r.__i]=r,Fe(a,r,i),t.__e=t.__=null,r.__e!=s&&Ee(r)}}function Ee(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),Ee(e)}function ue(e){(!e.__d&&(e.__d=!0)&&E.push(e)&&!G.__r++||_e!=k.debounceRendering)&&((_e=k.debounceRendering)||Ce)(G)}function G(){try{for(var e,t=1;E.length;)E.length>t&&E.sort(Te),e=E.shift(),t=E.length,He(e)}finally{E.length=G.__r=0}}function Re(e,t,s,a,i,r,c,d,_,l,m){var o,b,h,f,p,g,y,w=a&&a.__k||q,x=t.length;for(_=Oe(s,t,w,_,x),o=0;o<x;o++)(h=s.__k[o])!=null&&(b=h.__i!=-1&&w[h.__i]||U,h.__i=o,g=le(e,h,b,i,r,c,d,_,l,m),f=h.__e,h.ref&&b.ref!=h.ref&&(b.ref&&de(b.ref,null,h),m.push(h.ref,h.__c||f,h)),p==null&&f!=null&&(p=f),(y=!!(4&h.__u))||b.__k===h.__k?(_=Ie(h,_,e,y),y&&b.__e&&(b.__e=null)):typeof h.type=="function"&&g!==void 0?_=g:f&&(_=f.nextSibling),h.__u&=-7);return s.__e=p,_}function Oe(e,t,s,a,i){var r,c,d,_,l,m=s.length,o=m,b=0;for(e.__k=new Array(i),r=0;r<i;r++)(c=t[r])!=null&&typeof c!="boolean"&&typeof c!="function"?(typeof c=="string"||typeof c=="number"||typeof c=="bigint"||c.constructor==String?c=e.__k[r]=K(null,c,null,null,null):Y(c)?c=e.__k[r]=K(R,{children:c},null,null,null):c.constructor===void 0&&c.__b>0?c=e.__k[r]=K(c.type,c.props,c.key,c.ref?c.ref:null,c.__v):e.__k[r]=c,_=r+b,c.__=e,c.__b=e.__b+1,d=null,(l=c.__i=Ue(c,s,_,o))!=-1&&(o--,(d=s[l])&&(d.__u|=2)),d==null||d.__v==null?(l==-1&&(i>m?b--:i<m&&b++),typeof c.type!="function"&&(c.__u|=4)):l!=_&&(l==_-1?b--:l==_+1?b++:(l>_?b--:b++,c.__u|=4))):e.__k[r]=null;if(o)for(r=0;r<m;r++)(d=s[r])!=null&&(2&d.__u)==0&&(d.__e==a&&(a=F(d)),Ne(d,d));return a}function Ie(e,t,s,a){var i,r;if(typeof e.type=="function"){for(i=e.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=e,t=Ie(i[r],t,s,a));return t}e.__e!=t&&(a&&(t&&e.type&&!t.parentNode&&(t=F(e)),s.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function Ue(e,t,s,a){var i,r,c,d=e.key,_=e.type,l=t[s],m=l!=null&&(2&l.__u)==0;if(l===null&&d==null||m&&d==l.key&&_==l.type)return s;if(a>(m?1:0)){for(i=s-1,r=s+1;i>=0||r<t.length;)if((l=t[c=i>=0?i--:r++])!=null&&(2&l.__u)==0&&d==l.key&&_==l.type)return c}return-1}function ge(e,t,s){t[0]=="-"?e.setProperty(t,s??""):e[t]=s==null?"":typeof s!="number"||De.test(t)?s:s+"px"}function z(e,t,s,a,i){var r,c;e:if(t=="style")if(typeof s=="string")e.style.cssText=s;else{if(typeof a=="string"&&(e.style.cssText=a=""),a)for(t in a)s&&t in s||ge(e.style,t,"");if(s)for(t in s)a&&s[t]==a[t]||ge(e.style,t,s[t])}else if(t[0]=="o"&&t[1]=="n")r=t!=(t=t.replace(Pe,"$1")),c=t.toLowerCase(),t=c in e||t=="onFocusOut"||t=="onFocusIn"?c.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=s,s?a?s[B]=a[B]:(s[B]=oe,e.addEventListener(t,r?se:te,r)):e.removeEventListener(t,r?se:te,r);else{if(i=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=s??"";break e}catch{}typeof s=="function"||(s==null||s===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&s==1?"":s))}}function me(e){return function(t){if(this.l){var s=this.l[t.type+e];if(t[D]==null)t[D]=oe++;else if(t[D]<s[B])return;return s(k.event?k.event(t):t)}}}function le(e,t,s,a,i,r,c,d,_,l){var m,o,b,h,f,p,g,y,w,x,v,A,he,W,J,C=t.type;if(t.constructor!==void 0)return null;128&s.__u&&(_=!!(32&s.__u),r=[d=t.__e=s.__e]),(m=k.__b)&&m(t);e:if(typeof C=="function")try{if(y=t.props,w=C.prototype&&C.prototype.render,x=(m=C.contextType)&&a[m.__c],v=m?x?x.props.value:m.__:a,s.__c?g=(o=t.__c=s.__c).__=o.__E:(w?t.__c=o=new C(y,v):(t.__c=o=new H(y,v),o.constructor=C,o.render=Ge),x&&x.sub(o),o.state||(o.state={}),o.__n=a,b=o.__d=!0,o.__h=[],o._sb=[]),w&&o.__s==null&&(o.__s=o.state),w&&C.getDerivedStateFromProps!=null&&(o.__s==o.state&&(o.__s=T({},o.__s)),T(o.__s,C.getDerivedStateFromProps(y,o.__s))),h=o.props,f=o.state,o.__v=t,b)w&&C.getDerivedStateFromProps==null&&o.componentWillMount!=null&&o.componentWillMount(),w&&o.componentDidMount!=null&&o.__h.push(o.componentDidMount);else{if(w&&C.getDerivedStateFromProps==null&&y!==h&&o.componentWillReceiveProps!=null&&o.componentWillReceiveProps(y,v),t.__v==s.__v||!o.__e&&o.shouldComponentUpdate!=null&&o.shouldComponentUpdate(y,o.__s,v)===!1){t.__v!=s.__v&&(o.props=y,o.state=o.__s,o.__d=!1),t.__e=s.__e,t.__k=s.__k,t.__k.some(function(I){I&&(I.__=t)}),q.push.apply(o.__h,o._sb),o._sb=[],o.__h.length&&c.push(o);break e}o.componentWillUpdate!=null&&o.componentWillUpdate(y,o.__s,v),w&&o.componentDidUpdate!=null&&o.__h.push(function(){o.componentDidUpdate(h,f,p)})}if(o.context=v,o.props=y,o.__P=e,o.__e=!1,A=k.__r,he=0,w)o.state=o.__s,o.__d=!1,A&&A(t),m=o.render(o.props,o.state,o.context),q.push.apply(o.__h,o._sb),o._sb=[];else do o.__d=!1,A&&A(t),m=o.render(o.props,o.state,o.context),o.state=o.__s;while(o.__d&&++he<25);o.state=o.__s,o.getChildContext!=null&&(a=T(T({},a),o.getChildContext())),w&&!b&&o.getSnapshotBeforeUpdate!=null&&(p=o.getSnapshotBeforeUpdate(h,f)),W=m!=null&&m.type===R&&m.key==null?Be(m.props.children):m,d=Re(e,Y(W)?W:[W],t,s,a,i,r,c,d,_,l),o.base=t.__e,t.__u&=-161,o.__h.length&&c.push(o),g&&(o.__E=o.__=null)}catch(I){if(t.__v=null,_||r!=null)if(I.then){for(t.__u|=_?160:128;d&&d.nodeType==8&&d.nextSibling;)d=d.nextSibling;r[r.indexOf(d)]=null,t.__e=d}else{for(J=r.length;J--;)ce(r[J]);ne(t)}else t.__e=s.__e,t.__k=s.__k,I.then||ne(t);k.__e(I,t,s)}else r==null&&t.__v==s.__v?(t.__k=s.__k,t.__e=s.__e):d=t.__e=qe(s.__e,t,s,a,i,r,c,_,l);return(m=k.diffed)&&m(t),128&t.__u?void 0:d}function ne(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(ne))}function Fe(e,t,s){for(var a=0;a<s.length;a++)de(s[a],s[++a],s[++a]);k.__c&&k.__c(t,e),e.some(function(i){try{e=i.__h,i.__h=[],e.some(function(r){r.call(i)})}catch(r){k.__e(r,i.__v)}})}function Be(e){return typeof e!="object"||e==null||e.__b>0?e:Y(e)?e.map(Be):T({},e)}function qe(e,t,s,a,i,r,c,d,_){var l,m,o,b,h,f,p,g=s.props||U,y=t.props,w=t.type;if(w=="svg"?i="http://www.w3.org/2000/svg":w=="math"?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),r!=null){for(l=0;l<r.length;l++)if((h=r[l])&&"setAttribute"in h==!!w&&(w?h.localName==w:h.nodeType==3)){e=h,r[l]=null;break}}if(e==null){if(w==null)return document.createTextNode(y);e=document.createElementNS(i,w,y.is&&y),d&&(k.__m&&k.__m(t,r),d=!1),r=null}if(w==null)g===y||d&&e.data==y||(e.data=y);else{if(r=r&&Q.call(e.childNodes),!d&&r!=null)for(g={},l=0;l<e.attributes.length;l++)g[(h=e.attributes[l]).name]=h.value;for(l in g)h=g[l],l=="dangerouslySetInnerHTML"?o=h:l=="children"||l in y||l=="value"&&"defaultValue"in y||l=="checked"&&"defaultChecked"in y||z(e,l,null,h,i);for(l in y)h=y[l],l=="children"?b=h:l=="dangerouslySetInnerHTML"?m=h:l=="value"?f=h:l=="checked"?p=h:d&&typeof h!="function"||g[l]===h||z(e,l,h,g[l],i);if(m)d||o&&(m.__html==o.__html||m.__html==e.innerHTML)||(e.innerHTML=m.__html),t.__k=[];else if(o&&(e.innerHTML=""),Re(t.type=="template"?e.content:e,Y(b)?b:[b],t,s,a,w=="foreignObject"?"http://www.w3.org/1999/xhtml":i,r,c,r?r[0]:s.__k&&F(s,0),d,_),r!=null)for(l=r.length;l--;)ce(r[l]);d||(l="value",w=="progress"&&f==null?e.removeAttribute("value"):f!=null&&(f!==e[l]||w=="progress"&&!f||w=="option"&&f!=g[l])&&z(e,l,f,g[l],i),l="checked",p!=null&&p!=e[l]&&z(e,l,p,g[l],i))}return e}function de(e,t,s){try{if(typeof e=="function"){var a=typeof e.__u=="function";a&&e.__u(),a&&t==null||(e.__u=e(t))}else e.current=t}catch(i){k.__e(i,s)}}function Ne(e,t,s){var a,i;if(k.unmount&&k.unmount(e),(a=e.ref)&&(a.current&&a.current!=e.__e||de(a,null,t)),(a=e.__c)!=null){if(a.componentWillUnmount)try{a.componentWillUnmount()}catch(r){k.__e(r,t)}a.base=a.__P=null}if(a=e.__k)for(i=0;i<a.length;i++)a[i]&&Ne(a[i],t,s||typeof e.type!="function");s||ce(e.__e),e.__c=e.__=e.__e=void 0}function Ge(e,t,s){return this.constructor(e,s)}function je(e,t,s){var a,i,r,c;t==document&&(t=document.documentElement),k.__&&k.__(e,t),i=(a=!1)?null:t.__k,r=[],c=[],le(t,e=t.__k=Ke(R,null,[e]),i||U,U,t.namespaceURI,i?null:t.firstChild?Q.call(t.childNodes):null,r,i?i.__e:t.firstChild,a,c),Fe(r,e,c)}Q=q.slice,k={__e:function(e,t,s,a){for(var i,r,c;t=t.__;)if((i=t.__c)&&!i.__)try{if((r=i.constructor)&&r.getDerivedStateFromError!=null&&(i.setState(r.getDerivedStateFromError(e)),c=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,a||{}),c=i.__d),c)return i.__E=i}catch(d){e=d}throw e}},xe=0,H.prototype.setState=function(e,t){var s;s=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=T({},this.state),typeof e=="function"&&(e=e(T({},s),this.props)),e&&T(s,e),e!=null&&this.__v&&(t&&this._sb.push(t),ue(this))},H.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),ue(this))},H.prototype.render=R,E=[],Ce=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Te=function(e,t){return e.__v.__b-t.__v.__b},G.__r=0,Z=Math.random().toString(8),D="__d"+Z,B="__a"+Z,Pe=/(PointerCapture)$|Capture$/i,oe=0,te=me(!1),se=me(!0);var Ve=0;function n(e,t,s,a,i,r){t||(t={});var c,d,_=t;if("ref"in _)for(d in _={},t)d=="ref"?c=t[d]:_[d]=t[d];var l={type:e,props:_,key:s,ref:c,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Ve,__i:-1,__u:0,__source:i,__self:r};if(typeof e=="function"&&(c=e.defaultProps))for(d in c)_[d]===void 0&&(_[d]=c[d]);return k.vnode&&k.vnode(l),l}var j,L,X,be,re=0,$e=[],S=k,ve=S.__b,pe=S.__r,fe=S.diffed,ye=S.__c,we=S.unmount,ke=S.__;function We(e,t){S.__h&&S.__h(L,e,re||t),re=0;var s=L.__H||(L.__H={__:[],__h:[]});return e>=s.__.length&&s.__.push({}),s.__[e]}function M(e){return re=1,Qe(ze,e)}function Qe(e,t,s){var a=We(j++,2);if(a.t=e,!a.__c&&(a.__=[ze(void 0,t),function(d){var _=a.__N?a.__N[0]:a.__[0],l=a.t(_,d);_!==l&&(a.__N=[l,a.__[1]],a.__c.setState({}))}],a.__c=L,!L.__f)){var i=function(d,_,l){if(!a.__c.__H)return!0;var m=a.__c.__H.__.filter(function(b){return b.__c});if(m.every(function(b){return!b.__N}))return!r||r.call(this,d,_,l);var o=a.__c.props!==d;return m.some(function(b){if(b.__N){var h=b.__[0];b.__=b.__N,b.__N=void 0,h!==b.__[0]&&(o=!0)}}),r&&r.call(this,d,_,l)||o};L.__f=!0;var r=L.shouldComponentUpdate,c=L.componentWillUpdate;L.componentWillUpdate=function(d,_,l){if(this.__e){var m=r;r=void 0,i(d,_,l),r=m}c&&c.call(this,d,_,l)},L.shouldComponentUpdate=i}return a.__N||a.__}function N(e,t){var s=We(j++,3);!S.__s&&Ze(s.__H,t)&&(s.__=e,s.u=t,L.__H.__h.push(s))}function Ye(){for(var e;e=$e.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(O),t.__h.some(ae),t.__h=[]}catch(s){t.__h=[],S.__e(s,e.__v)}}}S.__b=function(e){L=null,ve&&ve(e)},S.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),ke&&ke(e,t)},S.__r=function(e){pe&&pe(e),j=0;var t=(L=e.__c).__H;t&&(X===L?(t.__h=[],L.__h=[],t.__.some(function(s){s.__N&&(s.__=s.__N),s.u=s.__N=void 0})):(t.__h.some(O),t.__h.some(ae),t.__h=[],j=0)),X=L},S.diffed=function(e){fe&&fe(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&($e.push(t)!==1&&be===S.requestAnimationFrame||((be=S.requestAnimationFrame)||Je)(Ye)),t.__H.__.some(function(s){s.u&&(s.__H=s.u),s.u=void 0})),X=L=null},S.__c=function(e,t){t.some(function(s){try{s.__h.some(O),s.__h=s.__h.filter(function(a){return!a.__||ae(a)})}catch(a){t.some(function(i){i.__h&&(i.__h=[])}),t=[],S.__e(a,s.__v)}}),ye&&ye(e,t)},S.unmount=function(e){we&&we(e);var t,s=e.__c;s&&s.__H&&(s.__H.__.some(function(a){try{O(a)}catch(i){t=i}}),s.__H=void 0,t&&S.__e(t,s.__v))};var Me=typeof requestAnimationFrame=="function";function Je(e){var t,s=function(){clearTimeout(a),Me&&cancelAnimationFrame(t),setTimeout(e)},a=setTimeout(s,35);Me&&(t=requestAnimationFrame(s))}function O(e){var t=L,s=e.__c;typeof s=="function"&&(e.__c=void 0,s()),L=t}function ae(e){var t=L;e.__c=e.__(),L=t}function Ze(e,t){return!e||e.length!==t.length||t.some(function(s,a){return s!==e[a]})}function ze(e,t){return typeof t=="function"?t(e):t}const V={en:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Connected","header.disconnected":"Disconnected","header.connecting":"Connecting…","header.memories":"memories","tab.search":"Search","tab.browse":"Browse","tab.analytics":"Analytics","tab.manage":"Manage","tab.settings":"Settings","search.title":"Search Memories","search.placeholder":'Search your memories… (e.g., "auth", "database", "bug fix")',"search.button":"Search","search.searching":"Searching…","search.results":"results","search.result":"result","search.noResults":"No results for","search.facts":"facts","browse.title":"All Memories","browse.manage":"Manage Memories","browse.active":"active","browse.archived":"archived","browse.filter":"Filter by content, type, or tag…","browse.refresh":"Refresh","browse.noMemories":"No memories yet","browse.noMatch":"No memories matching","browse.prev":"← Prev","browse.next":"Next →","browse.archive":"Archive","browse.restore":"Restore","browse.confirmArchive":"Archive this memory?","browse.moreArchived":"more archived memories","analytics.totalMemories":"Total Memories","analytics.knowledgeFacts":"Knowledge Facts","analytics.connections":"Connections","analytics.topics":"Topics","analytics.insights":"Insights","analytics.thisWeek":"This week","analytics.new":"new","analytics.stale":"Stale (30+ days unused)","analytics.archivedLabel":"Archived","analytics.mostRecalled":"Most Recalled","settings.capabilities":"Capabilities","settings.smartMode":"Smart Mode","settings.core":"Core","settings.embeddings":"Embeddings","settings.llmProvider":"LLM Provider","settings.apiKey":"API Key","settings.model":"Model (optional)","settings.save":"Save","settings.saving":"Saving…","settings.saved":"Saved! Restart server for LLM changes to take effect.","settings.language":"Language","feedback.button":"💬 Feedback","common.error":"Error","common.loading":"Loading…"},"zh-TW":{"brand.subtitle":"powered by pcircle.ai","header.connected":"已連線","header.disconnected":"已斷線","header.connecting":"連線中…","header.memories":"筆記憶","tab.search":"搜尋","tab.browse":"瀏覽","tab.analytics":"分析","tab.manage":"管理","tab.settings":"設定","search.title":"搜尋記憶","search.placeholder":"搜尋你的記憶…(例如:「auth」、「資料庫」、「bug 修復」)","search.button":"搜尋","search.searching":"搜尋中…","search.results":"個結果","search.result":"個結果","search.noResults":"找不到符合的結果:","search.facts":"筆事實","browse.title":"所有記憶","browse.manage":"管理記憶","browse.active":"使用中","browse.archived":"已封存","browse.filter":"依內容、類型或標籤篩選…","browse.refresh":"重新整理","browse.noMemories":"尚無記憶","browse.noMatch":"找不到符合的記憶:","browse.prev":"← 上一頁","browse.next":"下一頁 →","browse.archive":"封存","browse.restore":"還原","browse.confirmArchive":"確定要封存此記憶?","browse.moreArchived":"筆已封存的記憶","analytics.totalMemories":"記憶總數","analytics.knowledgeFacts":"知識事實","analytics.connections":"關聯","analytics.topics":"主題","analytics.insights":"洞察","analytics.thisWeek":"本週","analytics.new":"筆新增","analytics.stale":"閒置(30 天以上未使用)","analytics.archivedLabel":"已封存","analytics.mostRecalled":"最常查閱","settings.capabilities":"功能狀態","settings.smartMode":"智慧模式","settings.core":"基礎","settings.embeddings":"嵌入模型","settings.llmProvider":"LLM 提供者","settings.apiKey":"API 金鑰","settings.model":"模型(選填)","settings.save":"儲存","settings.saving":"儲存中…","settings.saved":"已儲存!重啟伺服器以套用 LLM 設定。","settings.language":"語言","feedback.button":"💬 意見回饋","common.error":"錯誤","common.loading":"載入中…"},"zh-CN":{"brand.subtitle":"powered by pcircle.ai","header.connected":"已连接","header.disconnected":"已断开","header.connecting":"连接中…","header.memories":"条记忆","tab.search":"搜索","tab.browse":"浏览","tab.analytics":"分析","tab.manage":"管理","tab.settings":"设置","search.title":"搜索记忆","search.placeholder":'搜索你的记忆…(例如:"auth"、"数据库"、"bug 修复")',"search.button":"搜索","search.searching":"搜索中…","search.results":"个结果","search.result":"个结果","search.noResults":"没有找到结果:","search.facts":"条事实","browse.title":"所有记忆","browse.manage":"管理记忆","browse.active":"活跃","browse.archived":"已归档","browse.filter":"按内容、类型或标签筛选…","browse.refresh":"刷新","browse.noMemories":"暂无记忆","browse.noMatch":"没有匹配的记忆:","browse.prev":"← 上一页","browse.next":"下一页 →","browse.archive":"归档","browse.restore":"恢复","browse.confirmArchive":"确定要归档此记忆?","browse.moreArchived":"条已归档记忆","analytics.totalMemories":"记忆总数","analytics.knowledgeFacts":"知识事实","analytics.connections":"关联","analytics.topics":"主题","analytics.insights":"洞察","analytics.thisWeek":"本周","analytics.new":"条新增","analytics.stale":"闲置(30 天以上未使用)","analytics.archivedLabel":"已归档","analytics.mostRecalled":"最常查阅","settings.capabilities":"功能状态","settings.smartMode":"智能模式","settings.core":"基础","settings.embeddings":"嵌入模型","settings.llmProvider":"LLM 提供商","settings.apiKey":"API 密钥","settings.model":"模型(选填)","settings.save":"保存","settings.saving":"保存中…","settings.saved":"已保存!重启服务器以应用 LLM 设置。","settings.language":"语言","feedback.button":"💬 反馈","common.error":"错误","common.loading":"加载中…"},ja:{"brand.subtitle":"powered by pcircle.ai","header.connected":"接続中","header.disconnected":"切断","header.connecting":"接続しています…","header.memories":"件のメモリ","tab.search":"検索","tab.browse":"一覧","tab.analytics":"分析","tab.manage":"管理","tab.settings":"設定","search.title":"メモリを検索","search.placeholder":"メモリを検索…(例:「auth」「データベース」「バグ修正」)","search.button":"検索","search.searching":"検索中…","search.results":"件の結果","search.result":"件の結果","search.noResults":"結果が見つかりません:","search.facts":"件の事実","browse.title":"すべてのメモリ","browse.manage":"メモリを管理","browse.active":"アクティブ","browse.archived":"アーカイブ済み","browse.filter":"内容、タイプ、タグで絞り込み…","browse.refresh":"更新","browse.noMemories":"メモリがありません","browse.noMatch":"一致するメモリがありません:","browse.prev":"← 前へ","browse.next":"次へ →","browse.archive":"アーカイブ","browse.restore":"復元","browse.confirmArchive":"このメモリをアーカイブしますか?","browse.moreArchived":"件のアーカイブ済みメモリ","analytics.totalMemories":"メモリ総数","analytics.knowledgeFacts":"知識ファクト","analytics.connections":"接続","analytics.topics":"トピック","analytics.insights":"インサイト","analytics.thisWeek":"今週","analytics.new":"件の新規","analytics.stale":"未使用(30日以上)","analytics.archivedLabel":"アーカイブ済み","analytics.mostRecalled":"よく参照される","settings.capabilities":"機能状態","settings.smartMode":"スマートモード","settings.core":"コア","settings.embeddings":"エンベディング","settings.llmProvider":"LLMプロバイダー","settings.apiKey":"APIキー","settings.model":"モデル(任意)","settings.save":"保存","settings.saving":"保存中…","settings.saved":"保存しました!LLM設定を反映するにはサーバーを再起動してください。","settings.language":"言語","feedback.button":"💬 フィードバック","common.error":"エラー","common.loading":"読み込み中…"},ko:{"brand.subtitle":"powered by pcircle.ai","header.connected":"연결됨","header.disconnected":"연결 끊김","header.connecting":"연결 중…","header.memories":"개의 기억","tab.search":"검색","tab.browse":"둘러보기","tab.analytics":"분석","tab.manage":"관리","tab.settings":"설정","search.title":"기억 검색","search.placeholder":'기억 검색… (예: "auth", "데이터베이스", "버그 수정")',"search.button":"검색","search.searching":"검색 중…","search.results":"개의 결과","search.result":"개의 결과","search.noResults":"결과를 찾을 수 없습니다:","search.facts":"개의 사실","browse.title":"모든 기억","browse.manage":"기억 관리","browse.active":"활성","browse.archived":"보관됨","browse.filter":"내용, 유형 또는 태그로 필터링…","browse.refresh":"새로고침","browse.noMemories":"기억이 없습니다","browse.noMatch":"일치하는 기억이 없습니다:","browse.prev":"← 이전","browse.next":"다음 →","browse.archive":"보관","browse.restore":"복원","browse.confirmArchive":"이 기억을 보관하시겠습니까?","browse.moreArchived":"개의 보관된 기억","analytics.totalMemories":"총 기억 수","analytics.knowledgeFacts":"지식 사실","analytics.connections":"연결","analytics.topics":"주제","analytics.insights":"인사이트","analytics.thisWeek":"이번 주","analytics.new":"개 신규","analytics.stale":"비활성 (30일 이상 미사용)","analytics.archivedLabel":"보관됨","analytics.mostRecalled":"가장 많이 조회됨","settings.capabilities":"기능 상태","settings.smartMode":"스마트 모드","settings.core":"기본","settings.embeddings":"임베딩","settings.llmProvider":"LLM 제공자","settings.apiKey":"API 키","settings.model":"모델 (선택)","settings.save":"저장","settings.saving":"저장 중…","settings.saved":"저장되었습니다! LLM 설정을 적용하려면 서버를 재시작하세요.","settings.language":"언어","feedback.button":"💬 피드백","common.error":"오류","common.loading":"로딩 중…"},pt:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Conectado","header.disconnected":"Desconectado","header.connecting":"Conectando…","header.memories":"memórias","tab.search":"Buscar","tab.browse":"Explorar","tab.analytics":"Análise","tab.manage":"Gerenciar","tab.settings":"Configurações","search.title":"Buscar Memórias","search.placeholder":'Buscar memórias… (ex.: "auth", "banco de dados", "bug fix")',"search.button":"Buscar","search.searching":"Buscando…","search.results":"resultados","search.result":"resultado","search.noResults":"Nenhum resultado para","search.facts":"fatos","browse.title":"Todas as Memórias","browse.manage":"Gerenciar Memórias","browse.active":"ativas","browse.archived":"arquivadas","browse.filter":"Filtrar por conteúdo, tipo ou tag…","browse.refresh":"Atualizar","browse.noMemories":"Sem memórias ainda","browse.noMatch":"Nenhuma memória corresponde a","browse.prev":"← Anterior","browse.next":"Próximo →","browse.archive":"Arquivar","browse.restore":"Restaurar","browse.confirmArchive":"Arquivar esta memória?","browse.moreArchived":"memórias arquivadas","analytics.totalMemories":"Total de Memórias","analytics.knowledgeFacts":"Fatos","analytics.connections":"Conexões","analytics.topics":"Tópicos","analytics.insights":"Insights","analytics.thisWeek":"Esta semana","analytics.new":"novas","analytics.stale":"Inativas (30+ dias sem uso)","analytics.archivedLabel":"Arquivadas","analytics.mostRecalled":"Mais Consultadas","settings.capabilities":"Capacidades","settings.smartMode":"Modo Inteligente","settings.core":"Base","settings.embeddings":"Embeddings","settings.llmProvider":"Provedor LLM","settings.apiKey":"Chave API","settings.model":"Modelo (opcional)","settings.save":"Salvar","settings.saving":"Salvando…","settings.saved":"Salvo! Reinicie o servidor para aplicar as configurações do LLM.","settings.language":"Idioma","feedback.button":"💬 Feedback","common.error":"Erro","common.loading":"Carregando…"},fr:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Connecté","header.disconnected":"Déconnecté","header.connecting":"Connexion…","header.memories":"mémoires","tab.search":"Recherche","tab.browse":"Parcourir","tab.analytics":"Analyse","tab.manage":"Gérer","tab.settings":"Paramètres","search.title":"Rechercher des mémoires","search.placeholder":"Rechercher vos mémoires… (ex. : « auth », « base de données », « bug fix »)","search.button":"Rechercher","search.searching":"Recherche…","search.results":"résultats","search.result":"résultat","search.noResults":"Aucun résultat pour","search.facts":"faits","browse.title":"Toutes les mémoires","browse.manage":"Gérer les mémoires","browse.active":"actives","browse.archived":"archivées","browse.filter":"Filtrer par contenu, type ou tag…","browse.refresh":"Actualiser","browse.noMemories":"Pas encore de mémoires","browse.noMatch":"Aucune mémoire correspondant à","browse.prev":"← Précédent","browse.next":"Suivant →","browse.archive":"Archiver","browse.restore":"Restaurer","browse.confirmArchive":"Archiver cette mémoire ?","browse.moreArchived":"mémoires archivées","analytics.totalMemories":"Total des mémoires","analytics.knowledgeFacts":"Faits de connaissance","analytics.connections":"Connexions","analytics.topics":"Sujets","analytics.insights":"Aperçus","analytics.thisWeek":"Cette semaine","analytics.new":"nouvelles","analytics.stale":"Inactives (30+ jours sans utilisation)","analytics.archivedLabel":"Archivées","analytics.mostRecalled":"Les plus consultées","settings.capabilities":"Capacités","settings.smartMode":"Mode intelligent","settings.core":"Base","settings.embeddings":"Embeddings","settings.llmProvider":"Fournisseur LLM","settings.apiKey":"Clé API","settings.model":"Modèle (optionnel)","settings.save":"Enregistrer","settings.saving":"Enregistrement…","settings.saved":"Enregistré ! Redémarrez le serveur pour appliquer les paramètres LLM.","settings.language":"Langue","feedback.button":"💬 Retour","common.error":"Erreur","common.loading":"Chargement…"},de:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Verbunden","header.disconnected":"Getrennt","header.connecting":"Verbinden…","header.memories":"Erinnerungen","tab.search":"Suche","tab.browse":"Durchsuchen","tab.analytics":"Analyse","tab.manage":"Verwalten","tab.settings":"Einstellungen","search.title":"Erinnerungen suchen","search.placeholder":'Erinnerungen suchen… (z.B. „auth", „Datenbank", „Bug Fix")',"search.button":"Suchen","search.searching":"Suche läuft…","search.results":"Ergebnisse","search.result":"Ergebnis","search.noResults":"Keine Ergebnisse für","search.facts":"Fakten","browse.title":"Alle Erinnerungen","browse.manage":"Erinnerungen verwalten","browse.active":"aktiv","browse.archived":"archiviert","browse.filter":"Nach Inhalt, Typ oder Tag filtern…","browse.refresh":"Aktualisieren","browse.noMemories":"Noch keine Erinnerungen","browse.noMatch":"Keine passenden Erinnerungen:","browse.prev":"← Zurück","browse.next":"Weiter →","browse.archive":"Archivieren","browse.restore":"Wiederherstellen","browse.confirmArchive":"Diese Erinnerung archivieren?","browse.moreArchived":"archivierte Erinnerungen","analytics.totalMemories":"Erinnerungen gesamt","analytics.knowledgeFacts":"Wissensfakten","analytics.connections":"Verbindungen","analytics.topics":"Themen","analytics.insights":"Einblicke","analytics.thisWeek":"Diese Woche","analytics.new":"neue","analytics.stale":"Inaktiv (30+ Tage ungenutzt)","analytics.archivedLabel":"Archiviert","analytics.mostRecalled":"Am häufigsten abgerufen","settings.capabilities":"Fähigkeiten","settings.smartMode":"Smart-Modus","settings.core":"Basis","settings.embeddings":"Embeddings","settings.llmProvider":"LLM-Anbieter","settings.apiKey":"API-Schlüssel","settings.model":"Modell (optional)","settings.save":"Speichern","settings.saving":"Speichern…","settings.saved":"Gespeichert! Server neu starten, um LLM-Einstellungen anzuwenden.","settings.language":"Sprache","feedback.button":"💬 Feedback","common.error":"Fehler","common.loading":"Laden…"},vi:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Đã kết nối","header.disconnected":"Mất kết nối","header.connecting":"Đang kết nối…","header.memories":"ký ức","tab.search":"Tìm kiếm","tab.browse":"Duyệt","tab.analytics":"Phân tích","tab.manage":"Quản lý","tab.settings":"Cài đặt","search.title":"Tìm kiếm ký ức","search.placeholder":'Tìm kiếm ký ức… (ví dụ: "auth", "cơ sở dữ liệu", "sửa lỗi")',"search.button":"Tìm kiếm","search.searching":"Đang tìm…","search.results":"kết quả","search.result":"kết quả","search.noResults":"Không tìm thấy kết quả cho","search.facts":"sự kiện","browse.title":"Tất cả ký ức","browse.manage":"Quản lý ký ức","browse.active":"hoạt động","browse.archived":"đã lưu trữ","browse.filter":"Lọc theo nội dung, loại hoặc thẻ…","browse.refresh":"Làm mới","browse.noMemories":"Chưa có ký ức","browse.noMatch":"Không có ký ức phù hợp:","browse.prev":"← Trước","browse.next":"Tiếp →","browse.archive":"Lưu trữ","browse.restore":"Khôi phục","browse.confirmArchive":"Lưu trữ ký ức này?","browse.moreArchived":"ký ức đã lưu trữ","analytics.totalMemories":"Tổng ký ức","analytics.knowledgeFacts":"Sự kiện tri thức","analytics.connections":"Kết nối","analytics.topics":"Chủ đề","analytics.insights":"Thông tin","analytics.thisWeek":"Tuần này","analytics.new":"mới","analytics.stale":"Không hoạt động (30+ ngày)","analytics.archivedLabel":"Đã lưu trữ","analytics.mostRecalled":"Được truy xuất nhiều nhất","settings.capabilities":"Khả năng","settings.smartMode":"Chế độ thông minh","settings.core":"Cơ bản","settings.embeddings":"Embeddings","settings.llmProvider":"Nhà cung cấp LLM","settings.apiKey":"Khóa API","settings.model":"Mô hình (tùy chọn)","settings.save":"Lưu","settings.saving":"Đang lưu…","settings.saved":"Đã lưu! Khởi động lại server để áp dụng cài đặt LLM.","settings.language":"Ngôn ngữ","feedback.button":"💬 Phản hồi","common.error":"Lỗi","common.loading":"Đang tải…"},es:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Conectado","header.disconnected":"Desconectado","header.connecting":"Conectando…","header.memories":"memorias","tab.search":"Buscar","tab.browse":"Explorar","tab.analytics":"Análisis","tab.manage":"Gestionar","tab.settings":"Configuración","search.title":"Buscar memorias","search.placeholder":'Buscar memorias… (ej.: "auth", "base de datos", "corrección")',"search.button":"Buscar","search.searching":"Buscando…","search.results":"resultados","search.result":"resultado","search.noResults":"Sin resultados para","search.facts":"hechos","browse.title":"Todas las memorias","browse.manage":"Gestionar memorias","browse.active":"activas","browse.archived":"archivadas","browse.filter":"Filtrar por contenido, tipo o etiqueta…","browse.refresh":"Actualizar","browse.noMemories":"Aún no hay memorias","browse.noMatch":"No hay memorias que coincidan con","browse.prev":"← Anterior","browse.next":"Siguiente →","browse.archive":"Archivar","browse.restore":"Restaurar","browse.confirmArchive":"¿Archivar esta memoria?","browse.moreArchived":"memorias archivadas","analytics.totalMemories":"Total de memorias","analytics.knowledgeFacts":"Hechos","analytics.connections":"Conexiones","analytics.topics":"Temas","analytics.insights":"Información","analytics.thisWeek":"Esta semana","analytics.new":"nuevas","analytics.stale":"Inactivas (30+ días sin uso)","analytics.archivedLabel":"Archivadas","analytics.mostRecalled":"Más consultadas","settings.capabilities":"Capacidades","settings.smartMode":"Modo inteligente","settings.core":"Base","settings.embeddings":"Embeddings","settings.llmProvider":"Proveedor LLM","settings.apiKey":"Clave API","settings.model":"Modelo (opcional)","settings.save":"Guardar","settings.saving":"Guardando…","settings.saved":"¡Guardado! Reinicie el servidor para aplicar la configuración LLM.","settings.language":"Idioma","feedback.button":"💬 Comentarios","common.error":"Error","common.loading":"Cargando…"},th:{"brand.subtitle":"powered by pcircle.ai","header.connected":"เชื่อมต่อแล้ว","header.disconnected":"ไม่ได้เชื่อมต่อ","header.connecting":"กำลังเชื่อมต่อ…","header.memories":"ความทรงจำ","tab.search":"ค้นหา","tab.browse":"เรียกดู","tab.analytics":"วิเคราะห์","tab.manage":"จัดการ","tab.settings":"ตั้งค่า","search.title":"ค้นหาความทรงจำ","search.placeholder":'ค้นหาความทรงจำ… (เช่น "auth", "ฐานข้อมูล", "แก้บั๊ก")',"search.button":"ค้นหา","search.searching":"กำลังค้นหา…","search.results":"ผลลัพธ์","search.result":"ผลลัพธ์","search.noResults":"ไม่พบผลลัพธ์สำหรับ","search.facts":"ข้อเท็จจริง","browse.title":"ความทรงจำทั้งหมด","browse.manage":"จัดการความทรงจำ","browse.active":"ใช้งานอยู่","browse.archived":"เก็บถาวร","browse.filter":"กรองตามเนื้อหา ประเภท หรือแท็ก…","browse.refresh":"รีเฟรช","browse.noMemories":"ยังไม่มีความทรงจำ","browse.noMatch":"ไม่พบความทรงจำที่ตรงกัน:","browse.prev":"← ก่อนหน้า","browse.next":"ถัดไป →","browse.archive":"เก็บถาวร","browse.restore":"กู้คืน","browse.confirmArchive":"เก็บถาวรความทรงจำนี้?","browse.moreArchived":"ความทรงจำที่เก็บถาวร","analytics.totalMemories":"ความทรงจำทั้งหมด","analytics.knowledgeFacts":"ข้อเท็จจริง","analytics.connections":"การเชื่อมต่อ","analytics.topics":"หัวข้อ","analytics.insights":"ข้อมูลเชิงลึก","analytics.thisWeek":"สัปดาห์นี้","analytics.new":"ใหม่","analytics.stale":"ไม่ได้ใช้งาน (30+ วัน)","analytics.archivedLabel":"เก็บถาวร","analytics.mostRecalled":"ถูกเรียกดูมากที่สุด","settings.capabilities":"ความสามารถ","settings.smartMode":"โหมดอัจฉริยะ","settings.core":"พื้นฐาน","settings.embeddings":"Embeddings","settings.llmProvider":"ผู้ให้บริการ LLM","settings.apiKey":"คีย์ API","settings.model":"โมเดล (ไม่บังคับ)","settings.save":"บันทึก","settings.saving":"กำลังบันทึก…","settings.saved":"บันทึกแล้ว! รีสตาร์ทเซิร์ฟเวอร์เพื่อใช้การตั้งค่า LLM","settings.language":"ภาษา","feedback.button":"💬 ความคิดเห็น","common.error":"ข้อผิดพลาด","common.loading":"กำลังโหลด…"}},Xe={en:"English","zh-TW":"繁體中文","zh-CN":"简体中文",ja:"日本語",ko:"한국어",pt:"Português",fr:"Français",de:"Deutsch",vi:"Tiếng Việt",es:"Español",th:"ภาษาไทย"};let $="en";function et(){const e=localStorage.getItem("memesh-locale");if(e&&V[e])return e;const t=navigator.language;if(t.startsWith("zh-TW")||t.startsWith("zh-Hant"))return"zh-TW";if(t.startsWith("zh"))return"zh-CN";const s=t.split("-")[0];return V[s]?s:"en"}function tt(){return $=et(),$}function st(e){$=e,localStorage.setItem("memesh-locale",e)}function u(e){return V[$]?.[e]||V.en[e]||e}function nt(){return $}function rt(){return Object.entries(Xe).map(([e,t])=>({code:e,name:t}))}function at({health:e,error:t}){return n("div",{class:"header",children:[n("div",{class:"header-brand",children:[n("h1",{children:"MeMesh LLM Memory"}),n("small",{children:u("brand.subtitle")})]}),n("div",{class:"header-right",children:n("div",{class:"header-meta",children:e?n(R,{children:[n("span",{children:[n("span",{class:"dot dot-ok"}),u("header.connected")]}),n("span",{class:"badge-version",children:["v",e.version," · ",e.entity_count.toLocaleString()," ",u("header.memories")]})]}):t?n("span",{children:[n("span",{class:"dot dot-err"}),u("header.disconnected")]}):n("span",{style:{color:"var(--text-3)"},children:u("header.connecting")})})})]})}function it({tabs:e,active:t,onSelect:s}){return n("nav",{class:"nav",children:e.map(({key:a,label:i})=>n("button",{class:`nav-btn ${a===t?"active":""}`,onClick:()=>s(a),children:i},a))})}const ot=1e4;async function P(e,t,s){const a=new AbortController,i=setTimeout(()=>a.abort(),ot);try{const r={method:e,headers:{"Content-Type":"application/json"},signal:a.signal};s&&(r.body=JSON.stringify(s));const c=await fetch(t,r);if(!c.ok)throw new Error(`HTTP ${c.status}`);const d=await c.json();if(!d.success)throw new Error(d.error||"Unknown error");return d.data}catch(r){throw r.name==="AbortError"?new Error("Request timed out"):r}finally{clearTimeout(i)}}function ct(e){try{const t=new Date(e);return{date:t.toLocaleDateString(void 0,{month:"short",day:"numeric"}),time:t.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}}catch{return{date:"—",time:""}}}function Le(e,t){return e.length>t?e.slice(0,t)+"…":e}function ie({entity:e,actions:t,highlight:s}){const a=ct(e.created_at),i=e.observations?.[0]||"(no content)",r=e.observations?.length||0,c=e.archived||e.status==="archived";return n("div",{class:"mem-row",style:c?{opacity:.45}:void 0,children:[n("div",{class:"mem-time",children:[n("div",{children:a.date}),n("div",{children:a.time})]}),n("div",{class:"mem-body",children:[n("div",{class:"mem-preview",children:s?n(lt,{text:Le(i,140),term:s}):Le(i,140)}),n("div",{class:"mem-meta",children:[n("span",{class:"badge badge-type",children:e.type}),c&&n("span",{class:"badge badge-archived",children:"archived"}),n("span",{children:e.name}),r>1&&n("span",{children:["· ",r," facts"]}),e.tags?.slice(0,3).map(d=>n("span",{class:"tag",children:d},d)),(e.tags?.length||0)>3&&n("span",{class:"tag",style:{opacity:.5},children:["+",e.tags.length-3]})]})]}),t&&n("div",{class:"mem-actions",children:t})]})}function lt({text:e,term:t}){if(!t)return n(R,{children:e});const s=[],a=e.toLowerCase(),i=t.toLowerCase();let r=0;for(;r<e.length;){const c=a.indexOf(i,r);if(c===-1){s.push(e.slice(r));break}c>r&&s.push(e.slice(r,c)),s.push(n("mark",{children:e.slice(c,c+i.length)})),r=c+i.length}return n(R,{children:s})}function dt(){const[e,t]=M(""),[s,a]=M(null),[i,r]=M(!1),[c,d]=M("");async function _(){if(e.trim()){r(!0),d("");try{const l=await P("POST","/v1/recall",{query:e.trim(),limit:30}),m=Array.isArray(l)?l:l.entities||[];a(m)}catch(l){d(l.message)}finally{r(!1)}}}return n("div",{children:n("div",{class:"card",children:[n("div",{class:"card-title",children:u("search.title")}),n("div",{class:"search-bar",children:[n("input",{type:"search",placeholder:u("search.placeholder"),value:e,onInput:l=>t(l.target.value),onKeyDown:l=>l.key==="Enter"&&_()}),n("button",{class:"btn btn-primary",onClick:_,disabled:i,children:u(i?"search.searching":"search.button")})]}),c&&n("div",{class:"error-box",children:c}),i&&n("div",{class:"empty",children:n("div",{class:"loading"})}),!i&&s!==null&&s.length===0&&n("div",{class:"empty",children:[n("span",{class:"empty-icon",children:"🔍"}),u("search.noResults"),' "',e,'"']}),!i&&s&&s.length>0&&n("div",{children:[n("div",{style:{fontSize:12,color:"var(--text-3)",marginBottom:12},children:[s.length," ",s.length!==1?u("search.results"):u("search.result")]}),s.map(l=>n("div",{class:"card",style:{padding:14},children:n(ie,{entity:l,highlight:e})},l.id))]})]})})}const ee=30;function Se({manage:e}){const[t,s]=M([]),[a,i]=M(""),[r,c]=M(!0),[d,_]=M(""),[l,m]=M(0);async function o(){c(!0),_("");try{const v=await P("GET","/v1/entities?limit=500&status=all");s(v||[]),m(0)}catch(v){_(v.message)}finally{c(!1)}}N(()=>{o()},[]),N(()=>{m(0)},[a]);const b=a.toLowerCase(),h=t.filter(v=>b?v.name.toLowerCase().includes(b)||v.type.toLowerCase().includes(b)||v.observations?.some(A=>A.toLowerCase().includes(b))||v.tags?.some(A=>A.toLowerCase().includes(b)):!0),f=h.filter(v=>!v.archived&&v.status!=="archived"),p=h.filter(v=>v.archived||v.status==="archived"),g=Math.ceil(f.length/ee),y=f.slice(l*ee,(l+1)*ee);async function w(v){if(confirm(u("browse.confirmArchive")))try{await P("POST","/v1/forget",{name:v}),o()}catch(A){_("Failed to archive: "+A.message)}}async function x(v){try{await P("POST","/v1/remember",{name:v,type:"restored"}),o()}catch(A){_("Failed to restore: "+A.message)}}return n("div",{children:n("div",{class:"card",children:[n("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:16},children:[n("div",{children:[n("div",{class:"card-title",style:{margin:0},children:u(e?"browse.manage":"browse.title")}),!r&&n("div",{style:{fontSize:12,color:"var(--text-3)",marginTop:2},children:[f.length.toLocaleString()," ",u("browse.active"),p.length>0?` · ${p.length} ${u("browse.archived")}`:""]})]}),n("div",{style:{display:"flex",gap:8},children:[n("input",{type:"search",placeholder:u("browse.filter"),value:a,onInput:v=>i(v.target.value),style:{width:260}}),n("button",{class:"btn btn-sm",onClick:o,title:u("browse.refresh"),children:"↻"})]})]}),d&&n("div",{class:"error-box",style:{marginBottom:12},children:d}),r&&n("div",{class:"empty",children:n("div",{class:"loading"})}),!r&&h.length===0&&n("div",{class:"empty",children:[n("span",{class:"empty-icon",children:"📭"}),a?`${u("browse.noMatch")} "${a}"`:u("browse.noMemories")]}),!r&&y.length>0&&n("div",{children:[y.map(v=>n("div",{style:{borderBottom:"1px solid var(--border-subtle)",padding:"14px 0"},children:n(ie,{entity:v,highlight:a,actions:e?n("button",{class:"btn btn-danger btn-sm",onClick:()=>w(v.name),children:u("browse.archive")}):void 0})},v.id)),g>1&&n("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:12,padding:"16px 0",fontSize:13},children:[n("button",{class:"btn btn-sm",disabled:l===0,onClick:()=>m(v=>v-1),children:u("browse.prev")}),n("span",{style:{color:"var(--text-3)",fontFamily:"var(--mono)",fontSize:12},children:[l+1," / ",g]}),n("button",{class:"btn btn-sm",disabled:l>=g-1,onClick:()=>m(v=>v+1),children:u("browse.next")})]})]}),!r&&p.length>0&&n("div",{style:{marginTop:20},children:[n("div",{style:{fontSize:11,color:"var(--text-3)",textTransform:"uppercase",letterSpacing:".06em",marginBottom:8,paddingBottom:8,borderBottom:"1px solid var(--border)"},children:[u("browse.archived")," (",p.length,")"]}),p.slice(0,10).map(v=>n("div",{style:{borderBottom:"1px solid var(--border-subtle)",padding:"14px 0"},children:n(ie,{entity:v,highlight:a,actions:e?n("button",{class:"btn btn-sm",onClick:()=>x(v.name),children:u("browse.restore")}):void 0})},v.id)),p.length>10&&n("div",{style:{fontSize:12,color:"var(--text-3)",padding:"12px 0",textAlign:"center"},children:["+",p.length-10," ",u("browse.moreArchived")]})]})]})})}function ht(){const[e,t]=M(null),[s,a]=M([]),[i,r]=M(!0);if(N(()=>{Promise.all([P("GET","/v1/stats"),P("GET","/v1/entities?limit=500&status=all")]).then(([h,f])=>{t(h),a(f||[])}).finally(()=>r(!1))},[]),i)return n("div",{class:"empty",children:n("div",{class:"loading"})});if(!e)return n("div",{class:"error-box",children:[u("common.error"),": Failed to load analytics"]});const c=Date.now(),d=10080*60*1e3,_=720*60*60*1e3,l=s.filter(h=>c-new Date(h.created_at).getTime()<d).length,m=s.filter(h=>h.archived||h.status==="archived"?!1:h.last_accessed_at?c-new Date(h.last_accessed_at).getTime()>_:!0).length,o=s.filter(h=>h.archived||h.status==="archived").length,b=s.filter(h=>(h.access_count||0)>0).sort((h,f)=>(f.access_count||0)-(h.access_count||0)).slice(0,5);return n("div",{children:[n("div",{class:"stats-row",children:[n("div",{class:"stat",children:[n("div",{class:"stat-val",children:e.totalEntities.toLocaleString()}),n("div",{class:"stat-lbl",children:u("analytics.totalMemories")})]}),n("div",{class:"stat",children:[n("div",{class:"stat-val",children:e.totalObservations.toLocaleString()}),n("div",{class:"stat-lbl",children:u("analytics.knowledgeFacts")})]}),n("div",{class:"stat",children:[n("div",{class:"stat-val",children:e.totalRelations.toLocaleString()}),n("div",{class:"stat-lbl",children:u("analytics.connections")})]}),n("div",{class:"stat",children:[n("div",{class:"stat-val",children:e.totalTags.toLocaleString()}),n("div",{class:"stat-lbl",children:u("analytics.topics")})]})]}),n("div",{class:"card",children:[n("div",{class:"card-title",children:u("analytics.insights")}),n("div",{class:"insight",children:[n("span",{class:"insight-icon",children:"📝"}),n("span",{class:"insight-text",children:u("analytics.thisWeek")}),n("span",{class:"insight-val",children:[l," ",u("analytics.new")]})]}),n("div",{class:"insight",children:[n("span",{class:"insight-icon",children:"💤"}),n("span",{class:"insight-text",children:u("analytics.stale")}),n("span",{class:"insight-val",children:m})]}),n("div",{class:"insight",children:[n("span",{class:"insight-icon",children:"📦"}),n("span",{class:"insight-text",children:u("analytics.archivedLabel")}),n("span",{class:"insight-val",children:o})]})]}),b.length>0&&n("div",{class:"card",children:[n("div",{class:"card-title",children:u("analytics.mostRecalled")}),b.map((h,f)=>{const p=["Commit:","[SESSION]","Branch:","Diff stats:","Details:","[WORK]","[FOCUS]","[SUMMARY]","Session edited","Total tool calls","Duration:"],g=(h.observations||[]).find(w=>!p.some(x=>w.startsWith(x))&&w.length>10)||h.observations?.[0]||h.name,y=g.length>80?g.slice(0,80)+"…":g;return n("div",{class:"insight",children:[n("span",{class:"insight-icon",style:{fontSize:14,color:"var(--text-3)"},children:["#",f+1]}),n("span",{class:"insight-text",style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:y}),n("span",{class:"insight-val",children:[h.access_count,"×"]})]},h.id)})]}),(()=>{const h=["auto_saved","auto-tracked","session_end","session:","source:","scope:","date:","urgency:"],f=e.tagDistribution.filter(p=>!h.some(g=>p.tag.startsWith(g))&&!/^\d{4}-\d{2}-\d{2}/.test(p.tag));return f.length>0?n("div",{class:"card",children:[n("div",{class:"card-title",children:u("analytics.topics")}),n("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:f.slice(0,30).map(p=>n("span",{class:"tag",style:{fontSize:Math.max(11,Math.min(15,10+Math.log2(p.count+1)))+"px"},children:[p.tag," ",n("span",{style:{opacity:.5},children:["(",p.count,")"]})]},p.tag))})]}):null})()]})}function Ae(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function _t(){const[e,t]=M(null),[s,a]=M(""),[i,r]=M(""),[c,d]=M(""),[_,l]=M(!1),[m,o]=M(""),[b,h]=M(!0);N(()=>{P("GET","/v1/config").then(g=>{t(g),a(g.config.llm?.provider||""),d(g.config.llm?.model||"")}).finally(()=>h(!1))},[]);async function f(){l(!0),o("");try{const g={provider:s};c&&(g.model=c),i&&(g.apiKey=i),await P("POST","/v1/config",{llm:g}),o(u("settings.saved")),r("")}catch(g){o(u("common.error")+": "+g.message)}finally{l(!1)}}if(b)return n("div",{class:"empty",children:n("div",{class:"loading"})});const p=e?.capabilities;return n("div",{children:[n("div",{class:"card",children:[n("div",{class:"card-title",children:u("settings.capabilities")}),n("div",{class:"stats-row",style:{marginBottom:0},children:[n("div",{class:"stat",children:[n("div",{class:"stat-val",style:{fontSize:18},children:["Level ",p?.searchLevel||0]}),n("div",{class:"stat-lbl",children:p?.searchLevel?u("settings.smartMode"):u("settings.core")})]}),n("div",{class:"stat",children:[n("div",{class:"stat-val",style:{fontSize:14},children:Ae(p?.embeddings||"—")}),n("div",{class:"stat-lbl",children:u("settings.embeddings")})]}),n("div",{class:"stat",children:[n("div",{class:"stat-val",style:{fontSize:14},children:Ae(p?.llm?.provider||"None")}),n("div",{class:"stat-lbl",children:u("settings.llmProvider")})]})]})]}),n("div",{class:"card",children:[n("div",{class:"card-title",children:u("settings.llmProvider")}),n("div",{style:{display:"flex",gap:16,marginBottom:14},children:[["anthropic","Anthropic (Claude)"],["openai","OpenAI"],["ollama","Ollama (Local)"]].map(([g,y])=>n("label",{style:{display:"flex",alignItems:"center",gap:5,cursor:"pointer",fontSize:13},children:[n("input",{type:"radio",name:"provider",value:g,checked:s===g,onChange:()=>a(g)}),y]},g))}),s&&s!=="ollama"&&n("div",{style:{marginBottom:12},children:[n("label",{style:{fontSize:12,color:"var(--text-2)",display:"block",marginBottom:4},children:u("settings.apiKey")}),n("input",{type:"password",placeholder:s==="anthropic"?"sk-ant-api03-…":"sk-…",value:i,onInput:g=>r(g.target.value)})]}),n("div",{style:{marginBottom:14},children:[n("label",{style:{fontSize:12,color:"var(--text-2)",display:"block",marginBottom:4},children:u("settings.model")}),n("input",{type:"text",placeholder:s==="anthropic"?"claude-haiku-4-5":s==="openai"?"gpt-4o-mini":"llama3.2",value:c,onInput:g=>d(g.target.value)})]}),n("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[n("button",{class:"btn btn-primary",onClick:f,disabled:!s||_,children:u(_?"settings.saving":"settings.save")}),m&&n("span",{style:{fontSize:12,color:m.startsWith(u("common.error"))?"var(--danger)":"var(--success)"},children:m})]})]}),n("div",{class:"card",children:[n("div",{class:"card-title",children:u("settings.language")}),n("select",{value:nt(),onChange:g=>{st(g.target.value),window.location.reload()},style:{fontSize:13,padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--surface)",color:"var(--text-1)",cursor:"pointer"},children:rt().map(g=>n("option",{value:g.code,children:g.name},g.code))})]})]})}tt();const ut=["Search","Browse","Analytics","Manage","Settings"],gt={Search:"tab.search",Browse:"tab.browse",Analytics:"tab.analytics",Manage:"tab.manage",Settings:"tab.settings"};function mt(){const[e,t]=M("Browse"),[s,a]=M(null),[i,r]=M("");N(()=>{P("GET","/v1/health").then(a).catch(d=>r(d.message))},[]);const c=ut.map(d=>({key:d,label:u(gt[d])}));return n("div",{class:"shell",children:[n(at,{health:s,error:i}),n(it,{tabs:c,active:e,onSelect:d=>t(d)}),n("div",{class:"main",children:[n("div",{class:`panel ${e==="Search"?"active":""}`,children:n(dt,{})}),n("div",{class:`panel ${e==="Browse"?"active":""}`,children:n(Se,{})}),n("div",{class:`panel ${e==="Analytics"?"active":""}`,children:n(ht,{})}),n("div",{class:`panel ${e==="Manage"?"active":""}`,children:e==="Manage"&&n(Se,{manage:!0})}),n("div",{class:`panel ${e==="Settings"?"active":""}`,children:e==="Settings"&&n(_t,{})})]}),n("button",{class:"fb-btn",onClick:()=>{const d="https://github.com/PCIRCLE-AI/memesh-llm-memory/issues/new?title="+encodeURIComponent("[Feedback] ")+"&labels=feedback,from-dashboard";window.open(d,"_blank")},children:u("feedback.button")})]})}je(n(mt,{}),document.getElementById("app"));</script>
10
+ <script type="module" crossorigin>(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function a(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();var he,C,je,H,Ee,qe,Ye,ge,ne,X,Ve,xe,pe,fe,oe={},ce=[],ht=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,ue=Array.isArray;function D(e,t){for(var n in t)e[n]=t[n];return e}function ke(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function ut(e,t,n){var a,i,r,o={};for(r in t)r=="key"?a=t[r]:r=="ref"?i=t[r]:o[r]=t[r];if(arguments.length>2&&(o.children=arguments.length>3?he.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(r in e.defaultProps)o[r]===void 0&&(o[r]=e.defaultProps[r]);return re(e,o,a,i,null)}function re(e,t,n,a,i){var r={type:e,props:t,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:i??++je,__i:-1,__u:0};return i==null&&C.vnode!=null&&C.vnode(r),r}function G(e){return e.children}function ie(e,t){this.props=e,this.context=t}function j(e,t){if(t==null)return e.__?j(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?j(e):null}function gt(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,a=[],i=[],r=D({},t);r.__v=t.__v+1,C.vnode&&C.vnode(r),Me(e.__P,r,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,a,n??j(t),!!(32&t.__u),i),r.__v=t.__v,r.__.__k[r.__i]=r,Ze(a,r,i),t.__e=t.__=null,r.__e!=n&&Qe(r)}}function Qe(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),Qe(e)}function Pe(e){(!e.__d&&(e.__d=!0)&&H.push(e)&&!le.__r++||Ee!=C.debounceRendering)&&((Ee=C.debounceRendering)||qe)(le)}function le(){try{for(var e,t=1;H.length;)H.length>t&&H.sort(Ye),e=H.shift(),t=H.length,gt(e)}finally{H.length=le.__r=0}}function Xe(e,t,n,a,i,r,o,d,_,l,m){var c,p,h,b,x,v,k,M=a&&a.__k||ce,y=t.length;for(_=_t(n,t,M,_,y),c=0;c<y;c++)(h=n.__k[c])!=null&&(p=h.__i!=-1&&M[h.__i]||oe,h.__i=c,v=Me(e,h,p,i,r,o,d,_,l,m),b=h.__e,h.ref&&p.ref!=h.ref&&(p.ref&&Le(p.ref,null,h),m.push(h.ref,h.__c||b,h)),x==null&&b!=null&&(x=b),(k=!!(4&h.__u))||p.__k===h.__k?(_=Je(h,_,e,k),k&&p.__e&&(p.__e=null)):typeof h.type=="function"&&v!==void 0?_=v:b&&(_=b.nextSibling),h.__u&=-7);return n.__e=x,_}function _t(e,t,n,a,i){var r,o,d,_,l,m=n.length,c=m,p=0;for(e.__k=new Array(i),r=0;r<i;r++)(o=t[r])!=null&&typeof o!="boolean"&&typeof o!="function"?(typeof o=="string"||typeof o=="number"||typeof o=="bigint"||o.constructor==String?o=e.__k[r]=re(null,o,null,null,null):ue(o)?o=e.__k[r]=re(G,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[r]=re(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[r]=o,_=r+p,o.__=e,o.__b=e.__b+1,d=null,(l=o.__i=mt(o,n,_,c))!=-1&&(c--,(d=n[l])&&(d.__u|=2)),d==null||d.__v==null?(l==-1&&(i>m?p--:i<m&&p++),typeof o.type!="function"&&(o.__u|=4)):l!=_&&(l==_-1?p--:l==_+1?p++:(l>_?p--:p++,o.__u|=4))):e.__k[r]=null;if(c)for(r=0;r<m;r++)(d=n[r])!=null&&(2&d.__u)==0&&(d.__e==a&&(a=j(d)),tt(d,d));return a}function Je(e,t,n,a){var i,r;if(typeof e.type=="function"){for(i=e.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=e,t=Je(i[r],t,n,a));return t}e.__e!=t&&(a&&(t&&e.type&&!t.parentNode&&(t=j(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function mt(e,t,n,a){var i,r,o,d=e.key,_=e.type,l=t[n],m=l!=null&&(2&l.__u)==0;if(l===null&&d==null||m&&d==l.key&&_==l.type)return n;if(a>(m?1:0)){for(i=n-1,r=n+1;i>=0||r<t.length;)if((l=t[o=i>=0?i--:r++])!=null&&(2&l.__u)==0&&d==l.key&&_==l.type)return o}return-1}function Re(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||ht.test(t)?n:n+"px"}function se(e,t,n,a,i){var r,o;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof a=="string"&&(e.style.cssText=a=""),a)for(t in a)n&&t in n||Re(e.style,t,"");if(n)for(t in n)a&&n[t]==a[t]||Re(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")r=t!=(t=t.replace(Ve,"$1")),o=t.toLowerCase(),t=o in e||t=="onFocusOut"||t=="onFocusIn"?o.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=n,n?a?n[X]=a[X]:(n[X]=xe,e.addEventListener(t,r?fe:pe,r)):e.removeEventListener(t,r?fe:pe,r);else{if(i=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Be(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t[ne]==null)t[ne]=xe++;else if(t[ne]<n[X])return;return n(C.event?C.event(t):t)}}}function Me(e,t,n,a,i,r,o,d,_,l){var m,c,p,h,b,x,v,k,M,y,g,w,B,N,A,I=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(_=!!(32&n.__u),r=[d=t.__e=n.__e]),(m=C.__b)&&m(t);e:if(typeof I=="function")try{if(k=t.props,M=I.prototype&&I.prototype.render,y=(m=I.contextType)&&a[m.__c],g=m?y?y.props.value:m.__:a,n.__c?v=(c=t.__c=n.__c).__=c.__E:(M?t.__c=c=new I(k,g):(t.__c=c=new ie(k,g),c.constructor=I,c.render=pt),y&&y.sub(c),c.state||(c.state={}),c.__n=a,p=c.__d=!0,c.__h=[],c._sb=[]),M&&c.__s==null&&(c.__s=c.state),M&&I.getDerivedStateFromProps!=null&&(c.__s==c.state&&(c.__s=D({},c.__s)),D(c.__s,I.getDerivedStateFromProps(k,c.__s))),h=c.props,b=c.state,c.__v=t,p)M&&I.getDerivedStateFromProps==null&&c.componentWillMount!=null&&c.componentWillMount(),M&&c.componentDidMount!=null&&c.__h.push(c.componentDidMount);else{if(M&&I.getDerivedStateFromProps==null&&k!==h&&c.componentWillReceiveProps!=null&&c.componentWillReceiveProps(k,g),t.__v==n.__v||!c.__e&&c.shouldComponentUpdate!=null&&c.shouldComponentUpdate(k,c.__s,g)===!1){t.__v!=n.__v&&(c.props=k,c.state=c.__s,c.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(z){z&&(z.__=t)}),ce.push.apply(c.__h,c._sb),c._sb=[],c.__h.length&&o.push(c);break e}c.componentWillUpdate!=null&&c.componentWillUpdate(k,c.__s,g),M&&c.componentDidUpdate!=null&&c.__h.push(function(){c.componentDidUpdate(h,b,x)})}if(c.context=g,c.props=k,c.__P=e,c.__e=!1,w=C.__r,B=0,M)c.state=c.__s,c.__d=!1,w&&w(t),m=c.render(c.props,c.state,c.context),ce.push.apply(c.__h,c._sb),c._sb=[];else do c.__d=!1,w&&w(t),m=c.render(c.props,c.state,c.context),c.state=c.__s;while(c.__d&&++B<25);c.state=c.__s,c.getChildContext!=null&&(a=D(D({},a),c.getChildContext())),M&&!p&&c.getSnapshotBeforeUpdate!=null&&(x=c.getSnapshotBeforeUpdate(h,b)),N=m!=null&&m.type===G&&m.key==null?et(m.props.children):m,d=Xe(e,ue(N)?N:[N],t,n,a,i,r,o,d,_,l),c.base=t.__e,t.__u&=-161,c.__h.length&&o.push(c),v&&(c.__E=c.__=null)}catch(z){if(t.__v=null,_||r!=null)if(z.then){for(t.__u|=_?160:128;d&&d.nodeType==8&&d.nextSibling;)d=d.nextSibling;r[r.indexOf(d)]=null,t.__e=d}else{for(A=r.length;A--;)ke(r[A]);be(t)}else t.__e=n.__e,t.__k=n.__k,z.then||be(t);C.__e(z,t,n)}else r==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):d=t.__e=vt(n.__e,t,n,a,i,r,o,_,l);return(m=C.diffed)&&m(t),128&t.__u?void 0:d}function be(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(be))}function Ze(e,t,n){for(var a=0;a<n.length;a++)Le(n[a],n[++a],n[++a]);C.__c&&C.__c(t,e),e.some(function(i){try{e=i.__h,i.__h=[],e.some(function(r){r.call(i)})}catch(r){C.__e(r,i.__v)}})}function et(e){return typeof e!="object"||e==null||e.__b>0?e:ue(e)?e.map(et):D({},e)}function vt(e,t,n,a,i,r,o,d,_){var l,m,c,p,h,b,x,v=n.props||oe,k=t.props,M=t.type;if(M=="svg"?i="http://www.w3.org/2000/svg":M=="math"?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),r!=null){for(l=0;l<r.length;l++)if((h=r[l])&&"setAttribute"in h==!!M&&(M?h.localName==M:h.nodeType==3)){e=h,r[l]=null;break}}if(e==null){if(M==null)return document.createTextNode(k);e=document.createElementNS(i,M,k.is&&k),d&&(C.__m&&C.__m(t,r),d=!1),r=null}if(M==null)v===k||d&&e.data==k||(e.data=k);else{if(r=r&&he.call(e.childNodes),!d&&r!=null)for(v={},l=0;l<e.attributes.length;l++)v[(h=e.attributes[l]).name]=h.value;for(l in v)h=v[l],l=="dangerouslySetInnerHTML"?c=h:l=="children"||l in k||l=="value"&&"defaultValue"in k||l=="checked"&&"defaultChecked"in k||se(e,l,null,h,i);for(l in k)h=k[l],l=="children"?p=h:l=="dangerouslySetInnerHTML"?m=h:l=="value"?b=h:l=="checked"?x=h:d&&typeof h!="function"||v[l]===h||se(e,l,h,v[l],i);if(m)d||c&&(m.__html==c.__html||m.__html==e.innerHTML)||(e.innerHTML=m.__html),t.__k=[];else if(c&&(e.innerHTML=""),Xe(t.type=="template"?e.content:e,ue(p)?p:[p],t,n,a,M=="foreignObject"?"http://www.w3.org/1999/xhtml":i,r,o,r?r[0]:n.__k&&j(n,0),d,_),r!=null)for(l=r.length;l--;)ke(r[l]);d||(l="value",M=="progress"&&b==null?e.removeAttribute("value"):b!=null&&(b!==e[l]||M=="progress"&&!b||M=="option"&&b!=v[l])&&se(e,l,b,v[l],i),l="checked",x!=null&&x!=e[l]&&se(e,l,x,v[l],i))}return e}function Le(e,t,n){try{if(typeof e=="function"){var a=typeof e.__u=="function";a&&e.__u(),a&&t==null||(e.__u=e(t))}else e.current=t}catch(i){C.__e(i,n)}}function tt(e,t,n){var a,i;if(C.unmount&&C.unmount(e),(a=e.ref)&&(a.current&&a.current!=e.__e||Le(a,null,t)),(a=e.__c)!=null){if(a.componentWillUnmount)try{a.componentWillUnmount()}catch(r){C.__e(r,t)}a.base=a.__P=null}if(a=e.__k)for(i=0;i<a.length;i++)a[i]&&tt(a[i],t,n||typeof e.type!="function");n||ke(e.__e),e.__c=e.__=e.__e=void 0}function pt(e,t,n){return this.constructor(e,n)}function ft(e,t,n){var a,i,r,o;t==document&&(t=document.documentElement),C.__&&C.__(e,t),i=(a=!1)?null:t.__k,r=[],o=[],Me(t,e=t.__k=ut(G,null,[e]),i||oe,oe,t.namespaceURI,i?null:t.firstChild?he.call(t.childNodes):null,r,i?i.__e:t.firstChild,a,o),Ze(r,e,o)}he=ce.slice,C={__e:function(e,t,n,a){for(var i,r,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((r=i.constructor)&&r.getDerivedStateFromError!=null&&(i.setState(r.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,a||{}),o=i.__d),o)return i.__E=i}catch(d){e=d}throw e}},je=0,ie.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=D({},this.state),typeof e=="function"&&(e=e(D({},n),this.props)),e&&D(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Pe(this))},ie.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Pe(this))},ie.prototype.render=G,H=[],qe=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Ye=function(e,t){return e.__v.__b-t.__v.__b},le.__r=0,ge=Math.random().toString(8),ne="__d"+ge,X="__a"+ge,Ve=/(PointerCapture)$|Capture$/i,xe=0,pe=Be(!1),fe=Be(!0);var bt=0;function s(e,t,n,a,i,r){t||(t={});var o,d,_=t;if("ref"in _)for(d in _={},t)d=="ref"?o=t[d]:_[d]=t[d];var l={type:e,props:_,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--bt,__i:-1,__u:0,__source:i,__self:r};if(typeof e=="function"&&(o=e.defaultProps))for(d in o)_[d]===void 0&&(_[d]=o[d]);return C.vnode&&C.vnode(l),l}var J,P,_e,Ie,Z=0,st=[],R=C,Fe=R.__b,We=R.__r,Ne=R.diffed,$e=R.__c,ze=R.unmount,De=R.__;function Se(e,t){R.__h&&R.__h(P,e,Z||t),Z=0;var n=P.__H||(P.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function S(e){return Z=1,yt(it,e)}function yt(e,t,n){var a=Se(J++,2);if(a.t=e,!a.__c&&(a.__=[it(void 0,t),function(d){var _=a.__N?a.__N[0]:a.__[0],l=a.t(_,d);_!==l&&(a.__N=[l,a.__[1]],a.__c.setState({}))}],a.__c=P,!P.__f)){var i=function(d,_,l){if(!a.__c.__H)return!0;var m=a.__c.__H.__.filter(function(p){return p.__c});if(m.every(function(p){return!p.__N}))return!r||r.call(this,d,_,l);var c=a.__c.props!==d;return m.some(function(p){if(p.__N){var h=p.__[0];p.__=p.__N,p.__N=void 0,h!==p.__[0]&&(c=!0)}}),r&&r.call(this,d,_,l)||c};P.__f=!0;var r=P.shouldComponentUpdate,o=P.componentWillUpdate;P.componentWillUpdate=function(d,_,l){if(this.__e){var m=r;r=void 0,i(d,_,l),r=m}o&&o.call(this,d,_,l)},P.shouldComponentUpdate=i}return a.__N||a.__}function K(e,t){var n=Se(J++,3);!R.__s&&rt(n.__H,t)&&(n.__=e,n.u=t,P.__H.__h.push(n))}function O(e){return Z=5,nt(function(){return{current:e}},[])}function nt(e,t){var n=Se(J++,7);return rt(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Q(e,t){return Z=8,nt(function(){return e},t)}function wt(){for(var e;e=st.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(ae),t.__h.some(ye),t.__h=[]}catch(n){t.__h=[],R.__e(n,e.__v)}}}R.__b=function(e){P=null,Fe&&Fe(e)},R.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),De&&De(e,t)},R.__r=function(e){We&&We(e),J=0;var t=(P=e.__c).__H;t&&(_e===P?(t.__h=[],P.__h=[],t.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.some(ae),t.__h.some(ye),t.__h=[],J=0)),_e=P},R.diffed=function(e){Ne&&Ne(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(st.push(t)!==1&&Ie===R.requestAnimationFrame||((Ie=R.requestAnimationFrame)||xt)(wt)),t.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0})),_e=P=null},R.__c=function(e,t){t.some(function(n){try{n.__h.some(ae),n.__h=n.__h.filter(function(a){return!a.__||ye(a)})}catch(a){t.some(function(i){i.__h&&(i.__h=[])}),t=[],R.__e(a,n.__v)}}),$e&&$e(e,t)},R.unmount=function(e){ze&&ze(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(a){try{ae(a)}catch(i){t=i}}),n.__H=void 0,t&&R.__e(t,n.__v))};var He=typeof requestAnimationFrame=="function";function xt(e){var t,n=function(){clearTimeout(a),He&&cancelAnimationFrame(t),setTimeout(e)},a=setTimeout(n,35);He&&(t=requestAnimationFrame(n))}function ae(e){var t=P,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),P=t}function ye(e){var t=P;e.__c=e.__(),P=t}function rt(e,t){return!e||e.length!==t.length||t.some(function(n,a){return n!==e[a]})}function it(e,t){return typeof t=="function"?t(e):t}const de={en:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Connected","header.disconnected":"Disconnected","header.connecting":"Connecting…","header.memories":"memories","tab.search":"Search","tab.browse":"Browse","tab.analytics":"Analytics","tab.manage":"Manage","tab.graph":"Graph","tab.lessons":"Lessons","tab.settings":"Settings","search.title":"Search Memories","search.placeholder":'Search your memories… (e.g., "auth", "database", "bug fix")',"search.button":"Search","search.searching":"Searching…","search.results":"results","search.result":"result","search.noResults":"No results for","search.facts":"facts","browse.title":"All Memories","browse.manage":"Manage Memories","browse.active":"active","browse.archived":"archived","browse.filter":"Filter by content, type, or tag…","browse.refresh":"Refresh","browse.noMemories":"No memories yet","browse.noMatch":"No memories matching","browse.prev":"← Prev","browse.next":"Next →","browse.archive":"Archive","browse.restore":"Restore","browse.confirmArchive":"Archive this memory?","browse.moreArchived":"more archived memories","analytics.totalMemories":"Total Memories","analytics.knowledgeFacts":"Knowledge Facts","analytics.connections":"Connections","analytics.topics":"Topics","analytics.insights":"Insights","analytics.thisWeek":"This week","analytics.new":"new","analytics.stale":"Stale (30+ days unused)","analytics.archivedLabel":"Archived","analytics.mostRecalled":"Most Recalled","settings.capabilities":"Capabilities","settings.smartMode":"Smart Mode","settings.core":"Core","settings.embeddings":"Embeddings","settings.llmProvider":"LLM Provider","settings.apiKey":"API Key","settings.model":"Model (optional)","settings.save":"Save","settings.saving":"Saving…","settings.saved":"Saved! Restart server for LLM changes to take effect.","settings.language":"Language","graph.entities":"Entities","graph.relations":"Relations","lessons.total":"Total Lessons","lessons.critical":"Critical","lessons.empty":"No lessons recorded yet. Use the learn tool or enable Smart Mode.","lessons.error":"Error","lessons.rootCause":"Root Cause","lessons.fix":"Fix","lessons.prevention":"Prevention","feedback.button":"💬 Feedback","common.error":"Error","common.loading":"Loading…"},"zh-TW":{"brand.subtitle":"powered by pcircle.ai","header.connected":"已連線","header.disconnected":"已斷線","header.connecting":"連線中…","header.memories":"筆記憶","tab.search":"搜尋","tab.browse":"瀏覽","tab.analytics":"分析","tab.manage":"管理","tab.graph":"關係圖","tab.lessons":"經驗教訓","tab.settings":"設定","search.title":"搜尋記憶","search.placeholder":"搜尋你的記憶…(例如:「auth」、「資料庫」、「bug 修復」)","search.button":"搜尋","search.searching":"搜尋中…","search.results":"個結果","search.result":"個結果","search.noResults":"找不到符合的結果:","search.facts":"筆事實","browse.title":"所有記憶","browse.manage":"管理記憶","browse.active":"使用中","browse.archived":"已封存","browse.filter":"依內容、類型或標籤篩選…","browse.refresh":"重新整理","browse.noMemories":"尚無記憶","browse.noMatch":"找不到符合的記憶:","browse.prev":"← 上一頁","browse.next":"下一頁 →","browse.archive":"封存","browse.restore":"還原","browse.confirmArchive":"確定要封存此記憶?","browse.moreArchived":"筆已封存的記憶","analytics.totalMemories":"記憶總數","analytics.knowledgeFacts":"知識事實","analytics.connections":"關聯","analytics.topics":"主題","analytics.insights":"洞察","analytics.thisWeek":"本週","analytics.new":"筆新增","analytics.stale":"閒置(30 天以上未使用)","analytics.archivedLabel":"已封存","analytics.mostRecalled":"最常查閱","settings.capabilities":"功能狀態","settings.smartMode":"智慧模式","settings.core":"基礎","settings.embeddings":"嵌入模型","settings.llmProvider":"LLM 提供者","settings.apiKey":"API 金鑰","settings.model":"模型(選填)","settings.save":"儲存","settings.saving":"儲存中…","settings.saved":"已儲存!重啟伺服器以套用 LLM 設定。","settings.language":"語言","graph.entities":"實體","graph.relations":"關聯","lessons.total":"教訓總數","lessons.critical":"嚴重","lessons.empty":"尚無教訓記錄。請使用 learn 工具或啟用智慧模式。","lessons.error":"錯誤","lessons.rootCause":"根本原因","lessons.fix":"修復方式","lessons.prevention":"預防措施","feedback.button":"💬 意見回饋","common.error":"錯誤","common.loading":"載入中…"},"zh-CN":{"brand.subtitle":"powered by pcircle.ai","header.connected":"已连接","header.disconnected":"已断开","header.connecting":"连接中…","header.memories":"条记忆","tab.search":"搜索","tab.browse":"浏览","tab.analytics":"分析","tab.manage":"管理","tab.graph":"关系图","tab.lessons":"经验教训","tab.settings":"设置","search.title":"搜索记忆","search.placeholder":'搜索你的记忆…(例如:"auth"、"数据库"、"bug 修复")',"search.button":"搜索","search.searching":"搜索中…","search.results":"个结果","search.result":"个结果","search.noResults":"没有找到结果:","search.facts":"条事实","browse.title":"所有记忆","browse.manage":"管理记忆","browse.active":"活跃","browse.archived":"已归档","browse.filter":"按内容、类型或标签筛选…","browse.refresh":"刷新","browse.noMemories":"暂无记忆","browse.noMatch":"没有匹配的记忆:","browse.prev":"← 上一页","browse.next":"下一页 →","browse.archive":"归档","browse.restore":"恢复","browse.confirmArchive":"确定要归档此记忆?","browse.moreArchived":"条已归档记忆","analytics.totalMemories":"记忆总数","analytics.knowledgeFacts":"知识事实","analytics.connections":"关联","analytics.topics":"主题","analytics.insights":"洞察","analytics.thisWeek":"本周","analytics.new":"条新增","analytics.stale":"闲置(30 天以上未使用)","analytics.archivedLabel":"已归档","analytics.mostRecalled":"最常查阅","settings.capabilities":"功能状态","settings.smartMode":"智能模式","settings.core":"基础","settings.embeddings":"嵌入模型","settings.llmProvider":"LLM 提供商","settings.apiKey":"API 密钥","settings.model":"模型(选填)","settings.save":"保存","settings.saving":"保存中…","settings.saved":"已保存!重启服务器以应用 LLM 设置。","settings.language":"语言","graph.entities":"实体","graph.relations":"关联","lessons.total":"教训总数","lessons.critical":"严重","lessons.empty":"尚无教训记录。请使用 learn 工具或启用智能模式。","lessons.error":"错误","lessons.rootCause":"根本原因","lessons.fix":"修复方式","lessons.prevention":"预防措施","feedback.button":"💬 反馈","common.error":"错误","common.loading":"加载中…"},ja:{"brand.subtitle":"powered by pcircle.ai","header.connected":"接続中","header.disconnected":"切断","header.connecting":"接続しています…","header.memories":"件のメモリ","tab.search":"検索","tab.browse":"一覧","tab.analytics":"分析","tab.manage":"管理","tab.graph":"グラフ","tab.lessons":"教訓","tab.settings":"設定","search.title":"メモリを検索","search.placeholder":"メモリを検索…(例:「auth」「データベース」「バグ修正」)","search.button":"検索","search.searching":"検索中…","search.results":"件の結果","search.result":"件の結果","search.noResults":"結果が見つかりません:","search.facts":"件の事実","browse.title":"すべてのメモリ","browse.manage":"メモリを管理","browse.active":"アクティブ","browse.archived":"アーカイブ済み","browse.filter":"内容、タイプ、タグで絞り込み…","browse.refresh":"更新","browse.noMemories":"メモリがありません","browse.noMatch":"一致するメモリがありません:","browse.prev":"← 前へ","browse.next":"次へ →","browse.archive":"アーカイブ","browse.restore":"復元","browse.confirmArchive":"このメモリをアーカイブしますか?","browse.moreArchived":"件のアーカイブ済みメモリ","analytics.totalMemories":"メモリ総数","analytics.knowledgeFacts":"知識ファクト","analytics.connections":"接続","analytics.topics":"トピック","analytics.insights":"インサイト","analytics.thisWeek":"今週","analytics.new":"件の新規","analytics.stale":"未使用(30日以上)","analytics.archivedLabel":"アーカイブ済み","analytics.mostRecalled":"よく参照される","settings.capabilities":"機能状態","settings.smartMode":"スマートモード","settings.core":"コア","settings.embeddings":"エンベディング","settings.llmProvider":"LLMプロバイダー","settings.apiKey":"APIキー","settings.model":"モデル(任意)","settings.save":"保存","settings.saving":"保存中…","settings.saved":"保存しました!LLM設定を反映するにはサーバーを再起動してください。","settings.language":"言語","graph.entities":"エンティティ","graph.relations":"リレーション","lessons.total":"教訓の総数","lessons.critical":"重大","lessons.empty":"まだ教訓が記録されていません。learnツールを使用するか、スマートモードを有効にしてください。","lessons.error":"エラー","lessons.rootCause":"根本原因","lessons.fix":"修正方法","lessons.prevention":"予防策","feedback.button":"💬 フィードバック","common.error":"エラー","common.loading":"読み込み中…"},ko:{"brand.subtitle":"powered by pcircle.ai","header.connected":"연결됨","header.disconnected":"연결 끊김","header.connecting":"연결 중…","header.memories":"개의 기억","tab.search":"검색","tab.browse":"둘러보기","tab.analytics":"분석","tab.manage":"관리","tab.graph":"그래프","tab.lessons":"교훈","tab.settings":"설정","search.title":"기억 검색","search.placeholder":'기억 검색… (예: "auth", "데이터베이스", "버그 수정")',"search.button":"검색","search.searching":"검색 중…","search.results":"개의 결과","search.result":"개의 결과","search.noResults":"결과를 찾을 수 없습니다:","search.facts":"개의 사실","browse.title":"모든 기억","browse.manage":"기억 관리","browse.active":"활성","browse.archived":"보관됨","browse.filter":"내용, 유형 또는 태그로 필터링…","browse.refresh":"새로고침","browse.noMemories":"기억이 없습니다","browse.noMatch":"일치하는 기억이 없습니다:","browse.prev":"← 이전","browse.next":"다음 →","browse.archive":"보관","browse.restore":"복원","browse.confirmArchive":"이 기억을 보관하시겠습니까?","browse.moreArchived":"개의 보관된 기억","analytics.totalMemories":"총 기억 수","analytics.knowledgeFacts":"지식 사실","analytics.connections":"연결","analytics.topics":"주제","analytics.insights":"인사이트","analytics.thisWeek":"이번 주","analytics.new":"개 신규","analytics.stale":"비활성 (30일 이상 미사용)","analytics.archivedLabel":"보관됨","analytics.mostRecalled":"가장 많이 조회됨","settings.capabilities":"기능 상태","settings.smartMode":"스마트 모드","settings.core":"기본","settings.embeddings":"임베딩","settings.llmProvider":"LLM 제공자","settings.apiKey":"API 키","settings.model":"모델 (선택)","settings.save":"저장","settings.saving":"저장 중…","settings.saved":"저장되었습니다! LLM 설정을 적용하려면 서버를 재시작하세요.","settings.language":"언어","graph.entities":"엔티티","graph.relations":"관계","lessons.total":"총 교훈","lessons.critical":"심각","lessons.empty":"아직 기록된 교훈이 없습니다. learn 도구를 사용하거나 스마트 모드를 활성화하세요.","lessons.error":"오류","lessons.rootCause":"근본 원인","lessons.fix":"수정 방법","lessons.prevention":"예방 조치","feedback.button":"💬 피드백","common.error":"오류","common.loading":"로딩 중…"},pt:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Conectado","header.disconnected":"Desconectado","header.connecting":"Conectando…","header.memories":"memórias","tab.search":"Buscar","tab.browse":"Explorar","tab.analytics":"Análise","tab.manage":"Gerenciar","tab.graph":"Grafo","tab.lessons":"Lições","tab.settings":"Configurações","search.title":"Buscar Memórias","search.placeholder":'Buscar memórias… (ex.: "auth", "banco de dados", "bug fix")',"search.button":"Buscar","search.searching":"Buscando…","search.results":"resultados","search.result":"resultado","search.noResults":"Nenhum resultado para","search.facts":"fatos","browse.title":"Todas as Memórias","browse.manage":"Gerenciar Memórias","browse.active":"ativas","browse.archived":"arquivadas","browse.filter":"Filtrar por conteúdo, tipo ou tag…","browse.refresh":"Atualizar","browse.noMemories":"Sem memórias ainda","browse.noMatch":"Nenhuma memória corresponde a","browse.prev":"← Anterior","browse.next":"Próximo →","browse.archive":"Arquivar","browse.restore":"Restaurar","browse.confirmArchive":"Arquivar esta memória?","browse.moreArchived":"memórias arquivadas","analytics.totalMemories":"Total de Memórias","analytics.knowledgeFacts":"Fatos","analytics.connections":"Conexões","analytics.topics":"Tópicos","analytics.insights":"Insights","analytics.thisWeek":"Esta semana","analytics.new":"novas","analytics.stale":"Inativas (30+ dias sem uso)","analytics.archivedLabel":"Arquivadas","analytics.mostRecalled":"Mais Consultadas","settings.capabilities":"Capacidades","settings.smartMode":"Modo Inteligente","settings.core":"Base","settings.embeddings":"Embeddings","settings.llmProvider":"Provedor LLM","settings.apiKey":"Chave API","settings.model":"Modelo (opcional)","settings.save":"Salvar","settings.saving":"Salvando…","settings.saved":"Salvo! Reinicie o servidor para aplicar as configurações do LLM.","settings.language":"Idioma","graph.entities":"Entidades","graph.relations":"Relações","lessons.total":"Total de Lições","lessons.critical":"Críticas","lessons.empty":"Nenhuma lição registrada. Use a ferramenta learn ou ative o Modo Inteligente.","lessons.error":"Erro","lessons.rootCause":"Causa Raiz","lessons.fix":"Correção","lessons.prevention":"Prevenção","feedback.button":"💬 Feedback","common.error":"Erro","common.loading":"Carregando…"},fr:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Connecté","header.disconnected":"Déconnecté","header.connecting":"Connexion…","header.memories":"mémoires","tab.search":"Recherche","tab.browse":"Parcourir","tab.analytics":"Analyse","tab.manage":"Gérer","tab.graph":"Graphe","tab.lessons":"Leçons","tab.settings":"Paramètres","search.title":"Rechercher des mémoires","search.placeholder":"Rechercher vos mémoires… (ex. : « auth », « base de données », « bug fix »)","search.button":"Rechercher","search.searching":"Recherche…","search.results":"résultats","search.result":"résultat","search.noResults":"Aucun résultat pour","search.facts":"faits","browse.title":"Toutes les mémoires","browse.manage":"Gérer les mémoires","browse.active":"actives","browse.archived":"archivées","browse.filter":"Filtrer par contenu, type ou tag…","browse.refresh":"Actualiser","browse.noMemories":"Pas encore de mémoires","browse.noMatch":"Aucune mémoire correspondant à","browse.prev":"← Précédent","browse.next":"Suivant →","browse.archive":"Archiver","browse.restore":"Restaurer","browse.confirmArchive":"Archiver cette mémoire ?","browse.moreArchived":"mémoires archivées","analytics.totalMemories":"Total des mémoires","analytics.knowledgeFacts":"Faits de connaissance","analytics.connections":"Connexions","analytics.topics":"Sujets","analytics.insights":"Aperçus","analytics.thisWeek":"Cette semaine","analytics.new":"nouvelles","analytics.stale":"Inactives (30+ jours sans utilisation)","analytics.archivedLabel":"Archivées","analytics.mostRecalled":"Les plus consultées","settings.capabilities":"Capacités","settings.smartMode":"Mode intelligent","settings.core":"Base","settings.embeddings":"Embeddings","settings.llmProvider":"Fournisseur LLM","settings.apiKey":"Clé API","settings.model":"Modèle (optionnel)","settings.save":"Enregistrer","settings.saving":"Enregistrement…","settings.saved":"Enregistré ! Redémarrez le serveur pour appliquer les paramètres LLM.","settings.language":"Langue","graph.entities":"Entités","graph.relations":"Relations","lessons.total":"Total des leçons","lessons.critical":"Critiques","lessons.empty":"Aucune leçon enregistrée. Utilisez l'outil learn ou activez le Mode intelligent.","lessons.error":"Erreur","lessons.rootCause":"Cause racine","lessons.fix":"Correction","lessons.prevention":"Prévention","feedback.button":"💬 Retour","common.error":"Erreur","common.loading":"Chargement…"},de:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Verbunden","header.disconnected":"Getrennt","header.connecting":"Verbinden…","header.memories":"Erinnerungen","tab.search":"Suche","tab.browse":"Durchsuchen","tab.analytics":"Analyse","tab.manage":"Verwalten","tab.graph":"Graph","tab.lessons":"Lektionen","tab.settings":"Einstellungen","search.title":"Erinnerungen suchen","search.placeholder":'Erinnerungen suchen… (z.B. „auth", „Datenbank", „Bug Fix")',"search.button":"Suchen","search.searching":"Suche läuft…","search.results":"Ergebnisse","search.result":"Ergebnis","search.noResults":"Keine Ergebnisse für","search.facts":"Fakten","browse.title":"Alle Erinnerungen","browse.manage":"Erinnerungen verwalten","browse.active":"aktiv","browse.archived":"archiviert","browse.filter":"Nach Inhalt, Typ oder Tag filtern…","browse.refresh":"Aktualisieren","browse.noMemories":"Noch keine Erinnerungen","browse.noMatch":"Keine passenden Erinnerungen:","browse.prev":"← Zurück","browse.next":"Weiter →","browse.archive":"Archivieren","browse.restore":"Wiederherstellen","browse.confirmArchive":"Diese Erinnerung archivieren?","browse.moreArchived":"archivierte Erinnerungen","analytics.totalMemories":"Erinnerungen gesamt","analytics.knowledgeFacts":"Wissensfakten","analytics.connections":"Verbindungen","analytics.topics":"Themen","analytics.insights":"Einblicke","analytics.thisWeek":"Diese Woche","analytics.new":"neue","analytics.stale":"Inaktiv (30+ Tage ungenutzt)","analytics.archivedLabel":"Archiviert","analytics.mostRecalled":"Am häufigsten abgerufen","settings.capabilities":"Fähigkeiten","settings.smartMode":"Smart-Modus","settings.core":"Basis","settings.embeddings":"Embeddings","settings.llmProvider":"LLM-Anbieter","settings.apiKey":"API-Schlüssel","settings.model":"Modell (optional)","settings.save":"Speichern","settings.saving":"Speichern…","settings.saved":"Gespeichert! Server neu starten, um LLM-Einstellungen anzuwenden.","settings.language":"Sprache","graph.entities":"Entitäten","graph.relations":"Beziehungen","lessons.total":"Lektionen gesamt","lessons.critical":"Kritisch","lessons.empty":"Noch keine Lektionen erfasst. Verwenden Sie das Learn-Tool oder aktivieren Sie den Smart-Modus.","lessons.error":"Fehler","lessons.rootCause":"Ursache","lessons.fix":"Lösung","lessons.prevention":"Prävention","feedback.button":"💬 Feedback","common.error":"Fehler","common.loading":"Laden…"},vi:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Đã kết nối","header.disconnected":"Mất kết nối","header.connecting":"Đang kết nối…","header.memories":"ký ức","tab.search":"Tìm kiếm","tab.browse":"Duyệt","tab.analytics":"Phân tích","tab.manage":"Quản lý","tab.graph":"Đồ thị","tab.lessons":"Bài học","tab.settings":"Cài đặt","search.title":"Tìm kiếm ký ức","search.placeholder":'Tìm kiếm ký ức… (ví dụ: "auth", "cơ sở dữ liệu", "sửa lỗi")',"search.button":"Tìm kiếm","search.searching":"Đang tìm…","search.results":"kết quả","search.result":"kết quả","search.noResults":"Không tìm thấy kết quả cho","search.facts":"sự kiện","browse.title":"Tất cả ký ức","browse.manage":"Quản lý ký ức","browse.active":"hoạt động","browse.archived":"đã lưu trữ","browse.filter":"Lọc theo nội dung, loại hoặc thẻ…","browse.refresh":"Làm mới","browse.noMemories":"Chưa có ký ức","browse.noMatch":"Không có ký ức phù hợp:","browse.prev":"← Trước","browse.next":"Tiếp →","browse.archive":"Lưu trữ","browse.restore":"Khôi phục","browse.confirmArchive":"Lưu trữ ký ức này?","browse.moreArchived":"ký ức đã lưu trữ","analytics.totalMemories":"Tổng ký ức","analytics.knowledgeFacts":"Sự kiện tri thức","analytics.connections":"Kết nối","analytics.topics":"Chủ đề","analytics.insights":"Thông tin","analytics.thisWeek":"Tuần này","analytics.new":"mới","analytics.stale":"Không hoạt động (30+ ngày)","analytics.archivedLabel":"Đã lưu trữ","analytics.mostRecalled":"Được truy xuất nhiều nhất","settings.capabilities":"Khả năng","settings.smartMode":"Chế độ thông minh","settings.core":"Cơ bản","settings.embeddings":"Embeddings","settings.llmProvider":"Nhà cung cấp LLM","settings.apiKey":"Khóa API","settings.model":"Mô hình (tùy chọn)","settings.save":"Lưu","settings.saving":"Đang lưu…","settings.saved":"Đã lưu! Khởi động lại server để áp dụng cài đặt LLM.","settings.language":"Ngôn ngữ","graph.entities":"Thực thể","graph.relations":"Quan hệ","lessons.total":"Tổng bài học","lessons.critical":"Nghiêm trọng","lessons.empty":"Chưa có bài học nào được ghi nhận. Sử dụng công cụ learn hoặc bật Chế độ thông minh.","lessons.error":"Lỗi","lessons.rootCause":"Nguyên nhân gốc","lessons.fix":"Cách sửa","lessons.prevention":"Phòng ngừa","feedback.button":"💬 Phản hồi","common.error":"Lỗi","common.loading":"Đang tải…"},es:{"brand.subtitle":"powered by pcircle.ai","header.connected":"Conectado","header.disconnected":"Desconectado","header.connecting":"Conectando…","header.memories":"memorias","tab.search":"Buscar","tab.browse":"Explorar","tab.analytics":"Análisis","tab.manage":"Gestionar","tab.graph":"Grafo","tab.lessons":"Lecciones","tab.settings":"Configuración","search.title":"Buscar memorias","search.placeholder":'Buscar memorias… (ej.: "auth", "base de datos", "corrección")',"search.button":"Buscar","search.searching":"Buscando…","search.results":"resultados","search.result":"resultado","search.noResults":"Sin resultados para","search.facts":"hechos","browse.title":"Todas las memorias","browse.manage":"Gestionar memorias","browse.active":"activas","browse.archived":"archivadas","browse.filter":"Filtrar por contenido, tipo o etiqueta…","browse.refresh":"Actualizar","browse.noMemories":"Aún no hay memorias","browse.noMatch":"No hay memorias que coincidan con","browse.prev":"← Anterior","browse.next":"Siguiente →","browse.archive":"Archivar","browse.restore":"Restaurar","browse.confirmArchive":"¿Archivar esta memoria?","browse.moreArchived":"memorias archivadas","analytics.totalMemories":"Total de memorias","analytics.knowledgeFacts":"Hechos","analytics.connections":"Conexiones","analytics.topics":"Temas","analytics.insights":"Información","analytics.thisWeek":"Esta semana","analytics.new":"nuevas","analytics.stale":"Inactivas (30+ días sin uso)","analytics.archivedLabel":"Archivadas","analytics.mostRecalled":"Más consultadas","settings.capabilities":"Capacidades","settings.smartMode":"Modo inteligente","settings.core":"Base","settings.embeddings":"Embeddings","settings.llmProvider":"Proveedor LLM","settings.apiKey":"Clave API","settings.model":"Modelo (opcional)","settings.save":"Guardar","settings.saving":"Guardando…","settings.saved":"¡Guardado! Reinicie el servidor para aplicar la configuración LLM.","settings.language":"Idioma","graph.entities":"Entidades","graph.relations":"Relaciones","lessons.total":"Total de lecciones","lessons.critical":"Críticas","lessons.empty":"No hay lecciones registradas. Usa la herramienta learn o activa el Modo inteligente.","lessons.error":"Error","lessons.rootCause":"Causa raíz","lessons.fix":"Corrección","lessons.prevention":"Prevención","feedback.button":"💬 Comentarios","common.error":"Error","common.loading":"Cargando…"},th:{"brand.subtitle":"powered by pcircle.ai","header.connected":"เชื่อมต่อแล้ว","header.disconnected":"ไม่ได้เชื่อมต่อ","header.connecting":"กำลังเชื่อมต่อ…","header.memories":"ความทรงจำ","tab.search":"ค้นหา","tab.browse":"เรียกดู","tab.analytics":"วิเคราะห์","tab.manage":"จัดการ","tab.graph":"กราฟ","tab.lessons":"บทเรียน","tab.settings":"ตั้งค่า","search.title":"ค้นหาความทรงจำ","search.placeholder":'ค้นหาความทรงจำ… (เช่น "auth", "ฐานข้อมูล", "แก้บั๊ก")',"search.button":"ค้นหา","search.searching":"กำลังค้นหา…","search.results":"ผลลัพธ์","search.result":"ผลลัพธ์","search.noResults":"ไม่พบผลลัพธ์สำหรับ","search.facts":"ข้อเท็จจริง","browse.title":"ความทรงจำทั้งหมด","browse.manage":"จัดการความทรงจำ","browse.active":"ใช้งานอยู่","browse.archived":"เก็บถาวร","browse.filter":"กรองตามเนื้อหา ประเภท หรือแท็ก…","browse.refresh":"รีเฟรช","browse.noMemories":"ยังไม่มีความทรงจำ","browse.noMatch":"ไม่พบความทรงจำที่ตรงกัน:","browse.prev":"← ก่อนหน้า","browse.next":"ถัดไป →","browse.archive":"เก็บถาวร","browse.restore":"กู้คืน","browse.confirmArchive":"เก็บถาวรความทรงจำนี้?","browse.moreArchived":"ความทรงจำที่เก็บถาวร","analytics.totalMemories":"ความทรงจำทั้งหมด","analytics.knowledgeFacts":"ข้อเท็จจริง","analytics.connections":"การเชื่อมต่อ","analytics.topics":"หัวข้อ","analytics.insights":"ข้อมูลเชิงลึก","analytics.thisWeek":"สัปดาห์นี้","analytics.new":"ใหม่","analytics.stale":"ไม่ได้ใช้งาน (30+ วัน)","analytics.archivedLabel":"เก็บถาวร","analytics.mostRecalled":"ถูกเรียกดูมากที่สุด","settings.capabilities":"ความสามารถ","settings.smartMode":"โหมดอัจฉริยะ","settings.core":"พื้นฐาน","settings.embeddings":"Embeddings","settings.llmProvider":"ผู้ให้บริการ LLM","settings.apiKey":"คีย์ API","settings.model":"โมเดล (ไม่บังคับ)","settings.save":"บันทึก","settings.saving":"กำลังบันทึก…","settings.saved":"บันทึกแล้ว! รีสตาร์ทเซิร์ฟเวอร์เพื่อใช้การตั้งค่า LLM","settings.language":"ภาษา","graph.entities":"เอนทิตี","graph.relations":"ความสัมพันธ์","lessons.total":"บทเรียนทั้งหมด","lessons.critical":"วิกฤต","lessons.empty":"ยังไม่มีบทเรียนที่บันทึกไว้ ใช้เครื่องมือ learn หรือเปิดใช้โหมดอัจฉริยะ","lessons.error":"ข้อผิดพลาด","lessons.rootCause":"สาเหตุหลัก","lessons.fix":"วิธีแก้ไข","lessons.prevention":"การป้องกัน","feedback.button":"💬 ความคิดเห็น","common.error":"ข้อผิดพลาด","common.loading":"กำลังโหลด…"}},kt={en:"English","zh-TW":"繁體中文","zh-CN":"简体中文",ja:"日本語",ko:"한국어",pt:"Português",fr:"Français",de:"Deutsch",vi:"Tiếng Việt",es:"Español",th:"ภาษาไทย"};let ee="en";function Mt(){const e=localStorage.getItem("memesh-locale");if(e&&de[e])return e;const t=navigator.language;if(t.startsWith("zh-TW")||t.startsWith("zh-Hant"))return"zh-TW";if(t.startsWith("zh"))return"zh-CN";const n=t.split("-")[0];return de[n]?n:"en"}function Lt(){return ee=Mt(),ee}function St(e){ee=e,localStorage.setItem("memesh-locale",e)}function u(e){return de[ee]?.[e]||de.en[e]||e}function Ct(){return ee}function At(){return Object.entries(kt).map(([e,t])=>({code:e,name:t}))}function Tt({health:e,error:t}){return s("div",{class:"header",children:[s("div",{class:"header-brand",children:[s("h1",{children:"MeMesh LLM Memory"}),s("small",{children:u("brand.subtitle")})]}),s("div",{class:"header-right",children:s("div",{class:"header-meta",children:e?s(G,{children:[s("span",{children:[s("span",{class:"dot dot-ok"}),u("header.connected")]}),s("span",{class:"badge-version",children:["v",e.version," · ",e.entity_count.toLocaleString()," ",u("header.memories")]})]}):t?s("span",{children:[s("span",{class:"dot dot-err"}),u("header.disconnected")]}):s("span",{style:{color:"var(--text-3)"},children:u("header.connecting")})})})]})}function Et({tabs:e,active:t,onSelect:n}){return s("nav",{class:"nav",children:e.map(({key:a,label:i})=>s("button",{class:`nav-btn ${a===t?"active":""}`,onClick:()=>n(a),children:i},a))})}const Pt=1e4;async function W(e,t,n){const a=new AbortController,i=setTimeout(()=>a.abort(),Pt);try{const r={method:e,headers:{"Content-Type":"application/json"},signal:a.signal};n&&(r.body=JSON.stringify(n));const o=await fetch(t,r);if(!o.ok)throw new Error(`HTTP ${o.status}`);const d=await o.json();if(!d.success)throw new Error(d.error||"Unknown error");return d.data}catch(r){throw r.name==="AbortError"?new Error("Request timed out"):r}finally{clearTimeout(i)}}async function Rt(){return W("GET","/v1/graph")}async function Bt(){const e=await W("POST","/v1/recall",{limit:100});return(Array.isArray(e)?e:e.entities||[]).filter(n=>n.type==="lesson_learned")}function It(e){try{const t=new Date(e);return{date:t.toLocaleDateString(void 0,{month:"short",day:"numeric"}),time:t.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}}catch{return{date:"—",time:""}}}function Ke(e,t){return e.length>t?e.slice(0,t)+"…":e}function we({entity:e,actions:t,highlight:n}){const a=It(e.created_at),i=e.observations?.[0]||"(no content)",r=e.observations?.length||0,o=e.archived||e.status==="archived";return s("div",{class:"mem-row",style:o?{opacity:.45}:void 0,children:[s("div",{class:"mem-time",children:[s("div",{children:a.date}),s("div",{children:a.time})]}),s("div",{class:"mem-body",children:[s("div",{class:"mem-preview",children:n?s(Ft,{text:Ke(i,140),term:n}):Ke(i,140)}),s("div",{class:"mem-meta",children:[s("span",{class:"badge badge-type",children:e.type}),o&&s("span",{class:"badge badge-archived",children:"archived"}),s("span",{children:e.name}),r>1&&s("span",{children:["· ",r," facts"]}),e.tags?.slice(0,3).map(d=>s("span",{class:"tag",children:d},d)),(e.tags?.length||0)>3&&s("span",{class:"tag",style:{opacity:.5},children:["+",e.tags.length-3]})]})]}),t&&s("div",{class:"mem-actions",children:t})]})}function Ft({text:e,term:t}){if(!t)return s(G,{children:e});const n=[],a=e.toLowerCase(),i=t.toLowerCase();let r=0;for(;r<e.length;){const o=a.indexOf(i,r);if(o===-1){n.push(e.slice(r));break}o>r&&n.push(e.slice(r,o)),n.push(s("mark",{children:e.slice(o,o+i.length)})),r=o+i.length}return s(G,{children:n})}function Wt(){const[e,t]=S(""),[n,a]=S(null),[i,r]=S(!1),[o,d]=S("");async function _(){if(e.trim()){r(!0),d("");try{const l=await W("POST","/v1/recall",{query:e.trim(),limit:30}),m=Array.isArray(l)?l:l.entities||[];a(m)}catch(l){d(l.message)}finally{r(!1)}}}return s("div",{children:s("div",{class:"card",children:[s("div",{class:"card-title",children:u("search.title")}),s("div",{class:"search-bar",children:[s("input",{type:"search",placeholder:u("search.placeholder"),value:e,onInput:l=>t(l.target.value),onKeyDown:l=>l.key==="Enter"&&_()}),s("button",{class:"btn btn-primary",onClick:_,disabled:i,children:u(i?"search.searching":"search.button")})]}),o&&s("div",{class:"error-box",children:o}),i&&s("div",{class:"empty",children:s("div",{class:"loading"})}),!i&&n!==null&&n.length===0&&s("div",{class:"empty",children:[s("span",{class:"empty-icon",children:"🔍"}),u("search.noResults"),' "',e,'"']}),!i&&n&&n.length>0&&s("div",{children:[s("div",{style:{fontSize:12,color:"var(--text-3)",marginBottom:12},children:[n.length," ",n.length!==1?u("search.results"):u("search.result")]}),n.map(l=>s("div",{class:"card",style:{padding:14},children:s(we,{entity:l,highlight:e})},l.id))]})]})})}const me=30;function Oe({manage:e}){const[t,n]=S([]),[a,i]=S(""),[r,o]=S(!0),[d,_]=S(""),[l,m]=S(0);async function c(){o(!0),_("");try{const g=await W("GET","/v1/entities?limit=500&status=all");n(g||[]),m(0)}catch(g){_(g.message)}finally{o(!1)}}K(()=>{c()},[]),K(()=>{m(0)},[a]);const p=a.toLowerCase(),h=t.filter(g=>p?g.name.toLowerCase().includes(p)||g.type.toLowerCase().includes(p)||g.observations?.some(w=>w.toLowerCase().includes(p))||g.tags?.some(w=>w.toLowerCase().includes(p)):!0),b=h.filter(g=>!g.archived&&g.status!=="archived"),x=h.filter(g=>g.archived||g.status==="archived"),v=Math.ceil(b.length/me),k=b.slice(l*me,(l+1)*me);async function M(g){if(confirm(u("browse.confirmArchive")))try{await W("POST","/v1/forget",{name:g}),c()}catch(w){_("Failed to archive: "+w.message)}}async function y(g){try{await W("POST","/v1/remember",{name:g,type:"restored"}),c()}catch(w){_("Failed to restore: "+w.message)}}return s("div",{children:s("div",{class:"card",children:[s("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:16},children:[s("div",{children:[s("div",{class:"card-title",style:{margin:0},children:u(e?"browse.manage":"browse.title")}),!r&&s("div",{style:{fontSize:12,color:"var(--text-3)",marginTop:2},children:[b.length.toLocaleString()," ",u("browse.active"),x.length>0?` · ${x.length} ${u("browse.archived")}`:""]})]}),s("div",{style:{display:"flex",gap:8},children:[s("input",{type:"search",placeholder:u("browse.filter"),value:a,onInput:g=>i(g.target.value),style:{width:260}}),s("button",{class:"btn btn-sm",onClick:c,title:u("browse.refresh"),children:"↻"})]})]}),d&&s("div",{class:"error-box",style:{marginBottom:12},children:d}),r&&s("div",{class:"empty",children:s("div",{class:"loading"})}),!r&&h.length===0&&s("div",{class:"empty",children:[s("span",{class:"empty-icon",children:"📭"}),a?`${u("browse.noMatch")} "${a}"`:u("browse.noMemories")]}),!r&&k.length>0&&s("div",{children:[k.map(g=>s("div",{style:{borderBottom:"1px solid var(--border-subtle)",padding:"14px 0"},children:s(we,{entity:g,highlight:a,actions:e?s("button",{class:"btn btn-danger btn-sm",onClick:()=>M(g.name),children:u("browse.archive")}):void 0})},g.id)),v>1&&s("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:12,padding:"16px 0",fontSize:13},children:[s("button",{class:"btn btn-sm",disabled:l===0,onClick:()=>m(g=>g-1),children:u("browse.prev")}),s("span",{style:{color:"var(--text-3)",fontFamily:"var(--mono)",fontSize:12},children:[l+1," / ",v]}),s("button",{class:"btn btn-sm",disabled:l>=v-1,onClick:()=>m(g=>g+1),children:u("browse.next")})]})]}),!r&&x.length>0&&s("div",{style:{marginTop:20},children:[s("div",{style:{fontSize:11,color:"var(--text-3)",textTransform:"uppercase",letterSpacing:".06em",marginBottom:8,paddingBottom:8,borderBottom:"1px solid var(--border)"},children:[u("browse.archived")," (",x.length,")"]}),x.slice(0,10).map(g=>s("div",{style:{borderBottom:"1px solid var(--border-subtle)",padding:"14px 0"},children:s(we,{entity:g,highlight:a,actions:e?s("button",{class:"btn btn-sm",onClick:()=>y(g.name),children:u("browse.restore")}):void 0})},g.id)),x.length>10&&s("div",{style:{fontSize:12,color:"var(--text-3)",padding:"12px 0",textAlign:"center"},children:["+",x.length-10," ",u("browse.moreArchived")]})]})]})})}function Nt(){const[e,t]=S(null),[n,a]=S([]),[i,r]=S(!0);if(K(()=>{Promise.all([W("GET","/v1/stats"),W("GET","/v1/entities?limit=500&status=all")]).then(([h,b])=>{t(h),a(b||[])}).finally(()=>r(!1))},[]),i)return s("div",{class:"empty",children:s("div",{class:"loading"})});if(!e)return s("div",{class:"error-box",children:[u("common.error"),": Failed to load analytics"]});const o=Date.now(),d=10080*60*1e3,_=720*60*60*1e3,l=n.filter(h=>o-new Date(h.created_at).getTime()<d).length,m=n.filter(h=>h.archived||h.status==="archived"?!1:h.last_accessed_at?o-new Date(h.last_accessed_at).getTime()>_:!0).length,c=n.filter(h=>h.archived||h.status==="archived").length,p=n.filter(h=>(h.access_count||0)>0).sort((h,b)=>(b.access_count||0)-(h.access_count||0)).slice(0,5);return s("div",{children:[s("div",{class:"stats-row",children:[s("div",{class:"stat",children:[s("div",{class:"stat-val",children:e.totalEntities.toLocaleString()}),s("div",{class:"stat-lbl",children:u("analytics.totalMemories")})]}),s("div",{class:"stat",children:[s("div",{class:"stat-val",children:e.totalObservations.toLocaleString()}),s("div",{class:"stat-lbl",children:u("analytics.knowledgeFacts")})]}),s("div",{class:"stat",children:[s("div",{class:"stat-val",children:e.totalRelations.toLocaleString()}),s("div",{class:"stat-lbl",children:u("analytics.connections")})]}),s("div",{class:"stat",children:[s("div",{class:"stat-val",children:e.totalTags.toLocaleString()}),s("div",{class:"stat-lbl",children:u("analytics.topics")})]})]}),s("div",{class:"card",children:[s("div",{class:"card-title",children:u("analytics.insights")}),s("div",{class:"insight",children:[s("span",{class:"insight-icon",children:"📝"}),s("span",{class:"insight-text",children:u("analytics.thisWeek")}),s("span",{class:"insight-val",children:[l," ",u("analytics.new")]})]}),s("div",{class:"insight",children:[s("span",{class:"insight-icon",children:"💤"}),s("span",{class:"insight-text",children:u("analytics.stale")}),s("span",{class:"insight-val",children:m})]}),s("div",{class:"insight",children:[s("span",{class:"insight-icon",children:"📦"}),s("span",{class:"insight-text",children:u("analytics.archivedLabel")}),s("span",{class:"insight-val",children:c})]})]}),p.length>0&&s("div",{class:"card",children:[s("div",{class:"card-title",children:u("analytics.mostRecalled")}),p.map((h,b)=>{const x=["Commit:","[SESSION]","Branch:","Diff stats:","Details:","[WORK]","[FOCUS]","[SUMMARY]","Session edited","Total tool calls","Duration:"],v=(h.observations||[]).find(M=>!x.some(y=>M.startsWith(y))&&M.length>10)||h.observations?.[0]||h.name,k=v.length>80?v.slice(0,80)+"…":v;return s("div",{class:"insight",children:[s("span",{class:"insight-icon",style:{fontSize:14,color:"var(--text-3)"},children:["#",b+1]}),s("span",{class:"insight-text",style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k}),s("span",{class:"insight-val",children:[h.access_count,"×"]})]},h.id)})]}),(()=>{const h=["auto_saved","auto-tracked","session_end","session:","source:","scope:","date:","urgency:"],b=e.tagDistribution.filter(x=>!h.some(v=>x.tag.startsWith(v))&&!/^\d{4}-\d{2}-\d{2}/.test(x.tag));return b.length>0?s("div",{class:"card",children:[s("div",{class:"card-title",children:u("analytics.topics")}),s("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:b.slice(0,30).map(x=>s("span",{class:"tag",style:{fontSize:Math.max(11,Math.min(15,10+Math.log2(x.count+1)))+"px"},children:[x.tag," ",s("span",{style:{opacity:.5},children:["(",x.count,")"]})]},x.tag))})]}):null})()]})}function Ge(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function $t(){const[e,t]=S(null),[n,a]=S(""),[i,r]=S(""),[o,d]=S(""),[_,l]=S(!1),[m,c]=S(""),[p,h]=S(!0);K(()=>{W("GET","/v1/config").then(v=>{t(v),a(v.config.llm?.provider||""),d(v.config.llm?.model||"")}).finally(()=>h(!1))},[]);async function b(){l(!0),c("");try{const v={provider:n};o&&(v.model=o),i&&(v.apiKey=i),await W("POST","/v1/config",{llm:v}),c(u("settings.saved")),r("")}catch(v){c(u("common.error")+": "+v.message)}finally{l(!1)}}if(p)return s("div",{class:"empty",children:s("div",{class:"loading"})});const x=e?.capabilities;return s("div",{children:[s("div",{class:"card",children:[s("div",{class:"card-title",children:u("settings.capabilities")}),s("div",{class:"stats-row",style:{marginBottom:0},children:[s("div",{class:"stat",children:[s("div",{class:"stat-val",style:{fontSize:18},children:["Level ",x?.searchLevel||0]}),s("div",{class:"stat-lbl",children:x?.searchLevel?u("settings.smartMode"):u("settings.core")})]}),s("div",{class:"stat",children:[s("div",{class:"stat-val",style:{fontSize:14},children:Ge(x?.embeddings||"—")}),s("div",{class:"stat-lbl",children:u("settings.embeddings")})]}),s("div",{class:"stat",children:[s("div",{class:"stat-val",style:{fontSize:14},children:Ge(x?.llm?.provider||"None")}),s("div",{class:"stat-lbl",children:u("settings.llmProvider")})]})]})]}),s("div",{class:"card",children:[s("div",{class:"card-title",children:u("settings.llmProvider")}),s("div",{style:{display:"flex",gap:16,marginBottom:14},children:[["anthropic","Anthropic (Claude)"],["openai","OpenAI"],["ollama","Ollama (Local)"]].map(([v,k])=>s("label",{style:{display:"flex",alignItems:"center",gap:5,cursor:"pointer",fontSize:13},children:[s("input",{type:"radio",name:"provider",value:v,checked:n===v,onChange:()=>a(v)}),k]},v))}),n&&n!=="ollama"&&s("div",{style:{marginBottom:12},children:[s("label",{style:{fontSize:12,color:"var(--text-2)",display:"block",marginBottom:4},children:u("settings.apiKey")}),s("input",{type:"password",placeholder:n==="anthropic"?"sk-ant-api03-…":"sk-…",value:i,onInput:v=>r(v.target.value)})]}),s("div",{style:{marginBottom:14},children:[s("label",{style:{fontSize:12,color:"var(--text-2)",display:"block",marginBottom:4},children:u("settings.model")}),s("input",{type:"text",placeholder:n==="anthropic"?"claude-haiku-4-5":n==="openai"?"gpt-4o-mini":"llama3.2",value:o,onInput:v=>d(v.target.value)})]}),s("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[s("button",{class:"btn btn-primary",onClick:b,disabled:!n||_,children:u(_?"settings.saving":"settings.save")}),m&&s("span",{style:{fontSize:12,color:m.startsWith(u("common.error"))?"var(--danger)":"var(--success)"},children:m})]})]}),s("div",{class:"card",children:[s("div",{class:"card-title",children:u("settings.language")}),s("select",{value:Ct(),onChange:v=>{St(v.target.value),window.location.reload()},style:{fontSize:13,padding:"6px 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--surface)",color:"var(--text-1)",cursor:"pointer"},children:At().map(v=>s("option",{value:v.code,children:v.name},v.code))})]})]})}const zt={decision:"#3b82f6",pattern:"#22c55e",lesson_learned:"#f97316",commit:"#8b5cf6","session-insight":"#6b7280"},Dt="#94a3b8";function Ue(e){return zt[e]||Dt}function Ht(){const[e,t]=S(null),[n,a]=S(!0),[i,r]=S(""),o=O(null),d=O([]),_=O([]),l=O(0),m=O({node:null,offsetX:0,offsetY:0}),c=O(null),p=O({x:0,y:0,node:null});K(()=>{Rt().then(t).catch(y=>r(y.message)).finally(()=>a(!1))},[]),K(()=>{if(!e)return;const y=o.current;if(!y)return;const g=y.parentElement?.clientWidth||800,w=500;y.width=g*window.devicePixelRatio,y.height=w*window.devicePixelRatio,y.style.width=g+"px",y.style.height=w+"px";const B=new Map;e.entities.forEach(A=>{B.set(A.name,{id:A.name,type:A.type,x:Math.random()*g*.8+g*.1,y:Math.random()*w*.8+w*.1,vx:0,vy:0,radius:6})}),d.current=Array.from(B.values()),_.current=e.relations.filter(A=>B.has(A.from)&&B.has(A.to));const N=()=>{const A=d.current,I=_.current,z=window.devicePixelRatio,L=y.getContext("2d");if(!L)return;const Ce=.85,at=2e3,ot=80,ct=.02,Ae=.005;for(let f=0;f<A.length;f++)for(let T=f+1;T<A.length;T++){const E=A[T].x-A[f].x,F=A[T].y-A[f].y,$=Math.sqrt(E*E+F*F)||1,U=at/($*$),Y=E/$*U,V=F/$*U;A[f].vx-=Y,A[f].vy-=V,A[T].vx+=Y,A[T].vy+=V}const te=new Map(A.map(f=>[f.id,f]));for(const f of I){const T=te.get(f.from),E=te.get(f.to);if(!T||!E)continue;const F=E.x-T.x,$=E.y-T.y,U=Math.sqrt(F*F+$*$)||1,Y=(U-ot)*ct,V=F/U*Y,Te=$/U*Y;T.vx+=V,T.vy+=Te,E.vx-=V,E.vy-=Te}const lt=g/2,dt=w/2;for(const f of A)f.vx+=(lt-f.x)*Ae,f.vy+=(dt-f.y)*Ae;for(const f of A)m.current.node!==f&&(f.vx*=Ce,f.vy*=Ce,f.x+=f.vx,f.y+=f.vy,f.x=Math.max(20,Math.min(g-20,f.x)),f.y=Math.max(20,Math.min(w-20,f.y)));L.setTransform(z,0,0,z,0,0),L.clearRect(0,0,g,w),L.lineWidth=1,L.strokeStyle="rgba(113, 113, 122, 0.3)",L.font="9px system-ui, sans-serif",L.fillStyle="rgba(113, 113, 122, 0.5)";for(const f of I){const T=te.get(f.from),E=te.get(f.to);if(!T||!E)continue;L.beginPath(),L.moveTo(T.x,T.y),L.lineTo(E.x,E.y),L.stroke();const F=(T.x+E.x)/2,$=(T.y+E.y)/2;L.fillText(f.type,F+2,$-2)}for(const f of A){const T=c.current===f,E=T?9:f.radius;L.beginPath(),L.arc(f.x,f.y,E,0,Math.PI*2),L.fillStyle=Ue(f.type),L.fill(),T&&(L.strokeStyle="#fff",L.lineWidth=2,L.stroke()),L.fillStyle="#d4d4d8",L.font="10px system-ui, sans-serif";const F=f.id.length>20?f.id.slice(0,18)+"...":f.id;L.fillText(F,f.x+E+4,f.y+3)}const q=p.current;if(q.node){const f=q.x+12,T=q.y-10,E=`${q.node.id} (${q.node.type})`,F=L.measureText(E).width;L.fillStyle="rgba(15, 15, 18, 0.92)",L.strokeStyle="rgba(59, 130, 246, 0.3)",L.lineWidth=1,L.beginPath(),L.roundRect(f-4,T-12,F+8,18,4),L.fill(),L.stroke(),L.fillStyle="#fafafa",L.font="11px system-ui, sans-serif",L.fillText(E,f,T)}l.current=requestAnimationFrame(N)};return l.current=requestAnimationFrame(N),()=>cancelAnimationFrame(l.current)},[e]);const h=Q((y,g)=>{for(const w of d.current){const B=w.x-y,N=w.y-g;if(B*B+N*N<144)return w}return null},[]),b=Q(y=>{const g=o.current;if(!g)return{x:0,y:0};const w=g.getBoundingClientRect();return{x:y.clientX-w.left,y:y.clientY-w.top}},[]),x=Q(y=>{const g=b(y),w=h(g.x,g.y);w&&(m.current={node:w,offsetX:g.x-w.x,offsetY:g.y-w.y})},[h,b]),v=Q(y=>{const g=b(y);m.current.node&&(m.current.node.x=g.x-m.current.offsetX,m.current.node.y=g.y-m.current.offsetY,m.current.node.vx=0,m.current.node.vy=0);const w=h(g.x,g.y);c.current=w,p.current=w?{x:g.x,y:g.y,node:w}:{x:0,y:0,node:null};const B=o.current;B&&(B.style.cursor=w?"grab":"default")},[h,b]),k=Q(()=>{m.current={node:null,offsetX:0,offsetY:0}},[]);if(n)return s("div",{class:"empty",children:s("div",{class:"loading"})});if(i)return s("div",{class:"error-box",children:[u("common.error"),": ",i]});if(!e)return s("div",{class:"error-box",children:[u("common.error"),": No data"]});const M=new Map;return e.entities.forEach(y=>M.set(y.type,(M.get(y.type)||0)+1)),s("div",{children:[s("div",{class:"stats-row",children:[s("div",{class:"stat",children:[s("div",{class:"stat-val",children:e.entities.length.toLocaleString()}),s("div",{class:"stat-lbl",children:u("graph.entities")})]}),s("div",{class:"stat",children:[s("div",{class:"stat-val",children:e.relations.length.toLocaleString()}),s("div",{class:"stat-lbl",children:u("graph.relations")})]})]}),s("div",{class:"card",style:{padding:12},children:[s("div",{style:{display:"flex",alignItems:"center",gap:16,marginBottom:8,flexWrap:"wrap"},children:[s("span",{class:"card-title",style:{margin:0},children:u("tab.graph")}),Array.from(M.entries()).map(([y,g])=>s("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:11,color:"var(--text-2)"},children:[s("span",{style:{width:8,height:8,borderRadius:"50%",background:Ue(y),display:"inline-block"}}),y," (",g,")"]},y))]}),s("canvas",{ref:o,style:{width:"100%",height:500,borderRadius:"var(--radius-sm)",background:"var(--bg-0)"},onMouseDown:x,onMouseMove:v,onMouseUp:k,onMouseLeave:k})]})]})}function Kt(e){const t=e.observations||[],n=d=>{const _=t.find(l=>l.startsWith(d));return _?_.slice(d.length).trim():""},a=e.tags||[];let i=null;a.includes("severity:critical")?i="critical":a.includes("severity:major")?i="major":a.includes("severity:minor")&&(i="minor");const r=a.find(d=>d.startsWith("project:")),o=r?r.slice(8):"";return{entity:e,error:n("Error:"),rootCause:n("Root cause:"),fix:n("Fix:"),prevention:n("Prevention:"),severity:i,project:o,confidence:e.confidence??1}}const ve={critical:"#ef4444",major:"#f97316",minor:"#3b82f6"};function Ot(){const[e,t]=S([]),[n,a]=S(!0),[i,r]=S("");return K(()=>{Bt().then(o=>t(o.map(Kt))).catch(o=>r(o.message)).finally(()=>a(!1))},[]),n?s("div",{class:"empty",children:s("div",{class:"loading"})}):i?s("div",{class:"error-box",children:[u("common.error"),": ",i]}):e.length===0?s("div",{class:"empty",children:[s("span",{class:"empty-icon",children:"📝"}),u("lessons.empty")]}):s("div",{children:[s("div",{class:"stats-row",children:[s("div",{class:"stat",children:[s("div",{class:"stat-val",children:e.length}),s("div",{class:"stat-lbl",children:u("lessons.total")})]}),s("div",{class:"stat",children:[s("div",{class:"stat-val",children:e.filter(o=>o.severity==="critical").length}),s("div",{class:"stat-lbl",children:u("lessons.critical")})]})]}),e.map(o=>{const d=o.severity?ve[o.severity]:"var(--border)";return s("div",{class:"card",style:{borderLeft:`3px solid ${d}`},children:[s("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:10},children:[s("div",{class:"card-title",style:{margin:0,flex:1,minWidth:0},children:o.entity.name}),s("div",{style:{display:"flex",gap:6,flexShrink:0},children:[o.project&&s("span",{class:"tag",children:o.project}),o.severity&&s("span",{class:"badge",style:{background:`${ve[o.severity]}18`,color:ve[o.severity]},children:o.severity}),s("span",{class:"badge",style:{background:"var(--accent-soft)",color:"var(--accent-hover)"},children:[Math.round(o.confidence*100),"%"]})]})]}),o.error&&s("div",{style:{marginBottom:8},children:[s("div",{style:{fontSize:11,fontWeight:600,color:"#ef4444",marginBottom:2},children:u("lessons.error")}),s("div",{style:{fontSize:13,color:"var(--text-1)",lineHeight:1.5},children:o.error})]}),o.rootCause&&s("div",{style:{marginBottom:8},children:[s("div",{style:{fontSize:11,fontWeight:600,color:"#f59e0b",marginBottom:2},children:u("lessons.rootCause")}),s("div",{style:{fontSize:13,color:"var(--text-1)",lineHeight:1.5},children:o.rootCause})]}),o.fix&&s("div",{style:{marginBottom:8},children:[s("div",{style:{fontSize:11,fontWeight:600,color:"#22c55e",marginBottom:2},children:u("lessons.fix")}),s("div",{style:{fontSize:13,color:"var(--text-1)",lineHeight:1.5},children:o.fix})]}),o.prevention&&s("div",{style:{marginBottom:8},children:[s("div",{style:{fontSize:11,fontWeight:600,color:"#3b82f6",marginBottom:2},children:u("lessons.prevention")}),s("div",{style:{fontSize:13,color:"var(--text-1)",lineHeight:1.5},children:o.prevention})]})]},o.entity.id)})]})}Lt();const Gt=["Search","Browse","Analytics","Graph","Lessons","Manage","Settings"],Ut={Search:"tab.search",Browse:"tab.browse",Analytics:"tab.analytics",Graph:"tab.graph",Lessons:"tab.lessons",Manage:"tab.manage",Settings:"tab.settings"};function jt(){const[e,t]=S("Browse"),[n,a]=S(null),[i,r]=S("");K(()=>{W("GET","/v1/health").then(a).catch(d=>r(d.message))},[]);const o=Gt.map(d=>({key:d,label:u(Ut[d])}));return s("div",{class:"shell",children:[s(Tt,{health:n,error:i}),s(Et,{tabs:o,active:e,onSelect:d=>t(d)}),s("div",{class:"main",children:[s("div",{class:`panel ${e==="Search"?"active":""}`,children:s(Wt,{})}),s("div",{class:`panel ${e==="Browse"?"active":""}`,children:s(Oe,{})}),s("div",{class:`panel ${e==="Analytics"?"active":""}`,children:s(Nt,{})}),s("div",{class:`panel ${e==="Graph"?"active":""}`,children:e==="Graph"&&s(Ht,{})}),s("div",{class:`panel ${e==="Lessons"?"active":""}`,children:e==="Lessons"&&s(Ot,{})}),s("div",{class:`panel ${e==="Manage"?"active":""}`,children:e==="Manage"&&s(Oe,{manage:!0})}),s("div",{class:`panel ${e==="Settings"?"active":""}`,children:e==="Settings"&&s($t,{})})]}),s("button",{class:"fb-btn",onClick:()=>{const d="https://github.com/PCIRCLE-AI/memesh-llm-memory/issues/new?title="+encodeURIComponent("[Feedback] ")+"&labels=feedback,from-dashboard";window.open(d,"_blank")},children:u("feedback.button")})]})}ft(s(jt,{}),document.getElementById("app"));</script>
11
11
  <style rel="stylesheet" crossorigin>:root{--bg-0: #09090b;--bg-1: #0f0f12;--bg-2: #18181b;--bg-card: rgba(24, 24, 27, .7);--bg-hover: rgba(39, 39, 42, .4);--bg-input: #0f0f12;--border: rgba(39, 39, 42, .7);--border-subtle: rgba(39, 39, 42, .35);--border-focus: #3b82f6;--text-0: #fafafa;--text-1: #d4d4d8;--text-2: #a1a1aa;--text-3: #71717a;--accent: #3b82f6;--accent-soft: rgba(59, 130, 246, .12);--accent-hover: #60a5fa;--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .1);--success: #22c55e;--success-soft: rgba(34, 197, 94, .1);--warning: #f59e0b;--radius: 10px;--radius-sm: 7px;--font: "Inter", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px}body{font-family:var(--font);background:var(--bg-0);color:var(--text-1);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.shell{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--bg-1);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;backdrop-filter:blur(16px) saturate(180%)}.header-brand h1{font-size:15px;font-weight:700;color:var(--text-0);letter-spacing:-.02em;line-height:1.2}.header-brand small{font-size:10px;color:var(--text-3);letter-spacing:.04em}.header-right{display:flex;align-items:center;gap:10px}.header-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-2)}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:5px}.dot-ok{background:var(--success);box-shadow:0 0 6px #22c55e66}.dot-err{background:var(--danger)}.badge-version{font-family:var(--mono);font-size:11px;color:var(--text-3);background:var(--bg-hover);padding:2px 8px;border-radius:4px}.theme-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 9px;cursor:pointer;color:var(--text-2);font-size:13px;transition:border-color .15s}.theme-btn:hover{border-color:var(--text-3)}.nav{display:flex;background:var(--bg-1);border-bottom:1px solid var(--border);padding:0 24px;gap:1px;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-btn{padding:11px 16px;border:none;background:none;cursor:pointer;font:500 13px/1 var(--font);color:var(--text-3);border-bottom:2px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap}.nav-btn:hover{color:var(--text-2)}.nav-btn.active{color:var(--text-0);border-bottom-color:var(--accent)}.main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:24px}.panel{display:none}.panel.active{display:block}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:14px;backdrop-filter:blur(8px);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:#3b82f626}.card-title{font-size:13px;font-weight:600;color:var(--text-0);margin-bottom:14px;letter-spacing:-.01em}input[type=text],input[type=password],input[type=search],textarea{width:100%;padding:9px 13px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-0);font:13px/1.4 var(--font);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--text-3)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2);color:var(--text-1);font:500 13px/1 var(--font);cursor:pointer;transition:all .12s;white-space:nowrap}.btn:hover{border-color:var(--text-3);background:var(--bg-hover)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{color:var(--danger);border-color:#ef44444d;background:transparent}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{padding:4px 10px;font-size:12px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse}th{text-align:left;padding:9px 14px;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-2);border-bottom:1px solid var(--border);white-space:nowrap}td{padding:10px 14px;border-bottom:1px solid var(--border-subtle);font-size:13px;color:var(--text-1)}tbody tr{transition:background .12s}tbody tr:hover{background:var(--bg-hover)}tbody tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.01em}.badge-active{background:var(--success-soft);color:#4ade80}.badge-archived{background:var(--danger-soft);color:#f87171}.badge-type{background:var(--accent-soft);color:var(--accent-hover)}.tag{display:inline-block;padding:1px 7px;margin:1px 2px;border-radius:999px;font:400 11px var(--mono);background:var(--bg-hover);color:var(--text-2);border:1px solid var(--border-subtle)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:20px}.stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center;backdrop-filter:blur(6px)}.stat-val{font:700 28px/1.1 var(--mono);color:var(--accent)}.stat-lbl{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.search-bar{display:flex;gap:8px;margin-bottom:18px}.search-bar input{flex:1}.mem-row{display:flex;gap:14px;align-items:flex-start}.mem-time{flex-shrink:0;width:72px;font:400 11px var(--mono);color:var(--text-3);padding-top:2px;line-height:1.4}.mem-body{flex:1;min-width:0}.mem-preview{font-size:13px;line-height:1.5;color:var(--text-1);word-break:break-word}.mem-meta{margin-top:3px;font:400 11px var(--mono);color:var(--text-3);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mem-actions{flex-shrink:0;display:flex;gap:6px}.insight{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.insight:last-child{border-bottom:none}.insight-icon{font-size:18px;flex-shrink:0}.insight-text{font-size:13px;color:var(--text-1)}.insight-val{font:600 13px var(--mono);color:var(--accent)}.empty{text-align:center;padding:48px 20px;color:var(--text-3);font-size:13px}.empty-icon{font-size:28px;margin-bottom:8px;display:block}.loading{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:var(--danger-soft);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);padding:10px 14px;color:#f87171;font-size:13px}.fb-btn{position:fixed;bottom:20px;right:20px;background:var(--accent);color:#fff;border:none;padding:9px 16px;border-radius:999px;cursor:pointer;font:500 13px var(--font);box-shadow:0 4px 14px #3b82f64d;transition:transform .15s,box-shadow .15s;z-index:50}.fb-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}mark{background:#3b82f62e;color:inherit;padding:1px 2px;border-radius:3px}.overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(4px)}.modal{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px #00000080}.modal h3{font-size:15px;font-weight:600;color:var(--text-0);margin-bottom:14px}@media(max-width:768px){.main{padding:14px}.nav-btn{padding:10px 11px;font-size:12px}.header-brand h1{font-size:14px}.search-bar{flex-direction:column}.stats-row{grid-template-columns:1fr 1fr}.mem-time{width:60px;font-size:10px}}@media(max-width:480px){.nav-btn{flex:1;font-size:11px;padding:9px 5px;text-align:center}.stats-row{grid-template-columns:1fr}.mem-row{flex-direction:column;gap:4px}.mem-time{width:auto}}</style>
12
12
  </head>
13
13
  <body>
@@ -0,0 +1,9 @@
1
+ export declare function isEmbeddingAvailable(): boolean;
2
+ export declare function resetEmbeddingState(): void;
3
+ export declare function embedText(text: string): Promise<Float32Array | null>;
4
+ export declare function embedAndStore(entityId: number, text: string): Promise<void>;
5
+ export declare function vectorSearch(queryEmbedding: Float32Array, limit?: number): Array<{
6
+ id: number;
7
+ distance: number;
8
+ }>;
9
+ //# sourceMappingURL=embedder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedder.d.ts","sourceRoot":"","sources":["../../src/core/embedder.ts"],"names":[],"mappings":"AAoBA,wBAAgB,oBAAoB,IAAI,OAAO,CAY9C;AAKD,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAiCD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAS1E;AAMD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAYf;AAMD,wBAAgB,YAAY,CAC1B,cAAc,EAAE,YAAY,EAC5B,KAAK,GAAE,MAAW,GACjB,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAczC"}
@@ -0,0 +1,81 @@
1
+ import { createRequire } from 'node:module';
2
+ import { getDatabase } from '../db.js';
3
+ import { homedir } from 'os';
4
+ import { join } from 'path';
5
+ let pipelineInstance = null;
6
+ let pipelineLoading = null;
7
+ let availableChecked = false;
8
+ let availableResult = false;
9
+ export function isEmbeddingAvailable() {
10
+ if (availableChecked)
11
+ return availableResult;
12
+ availableChecked = true;
13
+ try {
14
+ const require = createRequire(import.meta.url);
15
+ require.resolve('@xenova/transformers');
16
+ availableResult = true;
17
+ }
18
+ catch {
19
+ availableResult = false;
20
+ }
21
+ return availableResult;
22
+ }
23
+ export function resetEmbeddingState() {
24
+ availableChecked = false;
25
+ availableResult = false;
26
+ pipelineInstance = null;
27
+ pipelineLoading = null;
28
+ }
29
+ async function getPipeline() {
30
+ if (pipelineInstance)
31
+ return pipelineInstance;
32
+ if (pipelineLoading)
33
+ return pipelineLoading;
34
+ pipelineLoading = (async () => {
35
+ const mod = await import('@xenova/transformers');
36
+ const createPipeline = mod.pipeline;
37
+ const env = mod.env;
38
+ if (env) {
39
+ env.cacheDir = join(homedir(), '.memesh', 'models');
40
+ env.allowLocalModels = true;
41
+ }
42
+ pipelineInstance = await createPipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2');
43
+ return pipelineInstance;
44
+ })();
45
+ return pipelineLoading;
46
+ }
47
+ export async function embedText(text) {
48
+ if (!isEmbeddingAvailable())
49
+ return null;
50
+ try {
51
+ const pipe = await getPipeline();
52
+ const output = await pipe(text, { pooling: 'mean', normalize: true });
53
+ return new Float32Array(output.data);
54
+ }
55
+ catch {
56
+ return null;
57
+ }
58
+ }
59
+ export async function embedAndStore(entityId, text) {
60
+ const embedding = await embedText(text);
61
+ if (!embedding)
62
+ return;
63
+ try {
64
+ const db = getDatabase();
65
+ db.prepare('INSERT OR REPLACE INTO entities_vec (rowid, embedding) VALUES (?, ?)').run(entityId, Buffer.from(embedding.buffer));
66
+ }
67
+ catch {
68
+ }
69
+ }
70
+ export function vectorSearch(queryEmbedding, limit = 20) {
71
+ try {
72
+ const db = getDatabase();
73
+ return db
74
+ .prepare('SELECT rowid AS id, distance FROM entities_vec WHERE embedding MATCH ? ORDER BY distance LIMIT ?')
75
+ .all(Buffer.from(queryEmbedding.buffer), limit);
76
+ }
77
+ catch {
78
+ return [];
79
+ }
80
+ }
81
+ //# sourceMappingURL=embedder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedder.js","sourceRoot":"","sources":["../../src/core/embedder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,MAAM,EACP,MAAM,YAAY,CAAC;AAOpB,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc,CAiD5D;AAQD,wBAAgB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,EAAE,CAmBlD;AASD,wBAAsB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwDzE;AAGD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOjE,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAmBnD;AAMD,wBAAgB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAuBtD"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,MAAM,EACP,MAAM,YAAY,CAAC;AAOpB,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc,CAuD5D;AAQD,wBAAgB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,EAAE,CAmBlD;AASD,wBAAsB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgHzE;AAGD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOjE,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAmBnD;AAMD,wBAAgB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAuBtD"}
@@ -3,6 +3,7 @@ import { KnowledgeGraph } from '../knowledge-graph.js';
3
3
  import { expandQuery, isExpansionAvailable } from './query-expander.js';
4
4
  import { rankEntities } from './scoring.js';
5
5
  import { createExplicitLesson } from './lesson-engine.js';
6
+ import { embedAndStore, isEmbeddingAvailable, embedText, vectorSearch } from './embedder.js';
6
7
  import path from 'path';
7
8
  export function remember(args) {
8
9
  const db = getDatabase();
@@ -36,6 +37,10 @@ export function remember(args) {
36
37
  }
37
38
  }
38
39
  }
40
+ if (isEmbeddingAvailable() && args.observations?.length) {
41
+ const text = `${args.name} ${args.observations.join(' ')}`;
42
+ embedAndStore(entityId, text).catch(() => { });
43
+ }
39
44
  return {
40
45
  stored: true,
41
46
  entityId,
@@ -89,7 +94,31 @@ export async function recallEnhanced(args) {
89
94
  }
90
95
  }
91
96
  }
92
- const merged = [...allResults.values()];
97
+ let merged = [...allResults.values()];
98
+ if (isEmbeddingAvailable()) {
99
+ try {
100
+ const queryEmb = await embedText(args.query);
101
+ if (queryEmb) {
102
+ const vectorHits = vectorSearch(queryEmb, args.limit ?? 20);
103
+ if (vectorHits.length > 0) {
104
+ const kg2 = new KnowledgeGraph(db);
105
+ const hitIds = vectorHits.map(h => h.id);
106
+ const hitEntities = kg2.getEntitiesByIds(hitIds);
107
+ for (let i = 0; i < hitEntities.length; i++) {
108
+ const entity = hitEntities[i];
109
+ if (!allResults.has(entity.name)) {
110
+ merged.push(entity);
111
+ const dist = vectorHits.find(h => h.id === entity.id)?.distance ?? 1;
112
+ const similarity = Math.max(0, 1 - dist);
113
+ relevanceMap.set(entity.name, similarity);
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
119
+ catch {
120
+ }
121
+ }
93
122
  return rankEntities(merged, relevanceMap).slice(0, args.limit ?? 20);
94
123
  }
95
124
  catch {
@@ -105,7 +134,32 @@ export async function recallEnhanced(args) {
105
134
  for (const e of entities) {
106
135
  relevanceMap.set(e.name, args.query ? 1.0 : 0.5);
107
136
  }
108
- return rankEntities(entities, relevanceMap).slice(0, args.limit ?? 20);
137
+ let mergedEntities = [...entities];
138
+ if (args.query && isEmbeddingAvailable()) {
139
+ try {
140
+ const queryEmb = await embedText(args.query);
141
+ if (queryEmb) {
142
+ const vectorHits = vectorSearch(queryEmb, args.limit ?? 20);
143
+ if (vectorHits.length > 0) {
144
+ const kg2 = new KnowledgeGraph(db);
145
+ const hitIds = vectorHits.map(h => h.id);
146
+ const hitEntities = kg2.getEntitiesByIds(hitIds);
147
+ for (let i = 0; i < hitEntities.length; i++) {
148
+ const entity = hitEntities[i];
149
+ if (!relevanceMap.has(entity.name)) {
150
+ mergedEntities.push(entity);
151
+ const dist = vectorHits.find(h => h.id === entity.id)?.distance ?? 1;
152
+ const similarity = Math.max(0, 1 - dist);
153
+ relevanceMap.set(entity.name, similarity);
154
+ }
155
+ }
156
+ }
157
+ }
158
+ }
159
+ catch {
160
+ }
161
+ }
162
+ return rankEntities(mergedEntities, relevanceMap).slice(0, args.limit ?? 20);
109
163
  }
110
164
  export { consolidate } from './consolidator.js';
111
165
  export { exportMemories, importMemories } from './serializer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/core/serializer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAMvF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CA4B9D;AASD,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAsD9D"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/core/serializer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAMvF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAwB9D;AASD,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAsD9D"}
@@ -3,14 +3,12 @@ import { KnowledgeGraph } from '../knowledge-graph.js';
3
3
  export function exportMemories(args) {
4
4
  const db = getDatabase();
5
5
  const kg = new KnowledgeGraph(db);
6
- let entities = kg.search(undefined, {
6
+ const entities = kg.search(undefined, {
7
7
  tag: args.tag,
8
8
  limit: args.limit || 1000,
9
9
  includeArchived: false,
10
+ namespace: args.namespace,
10
11
  });
11
- if (args.namespace) {
12
- entities = entities.filter((e) => (e.namespace ?? 'personal') === args.namespace);
13
- }
14
12
  return {
15
13
  version: '3.0.0',
16
14
  exported_at: new Date().toISOString(),
@@ -50,7 +48,7 @@ export function importMemories(args) {
50
48
  appended++;
51
49
  continue;
52
50
  }
53
- kg.archiveEntity(entity.name);
51
+ kg.clearEntityData(entity.name);
54
52
  }
55
53
  kg.createEntity(entity.name, entity.type, {
56
54
  observations: entity.observations,
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/core/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/core/serializer.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export declare class KnowledgeGraph {
20
20
  findConflicts(entityNames: string[]): string[];
21
21
  listRecent(limit?: number, includeArchived?: boolean, namespace?: string): Entity[];
22
22
  private listRecentByTag;
23
+ clearEntityData(name: string): void;
23
24
  archiveEntity(name: string): {
24
25
  archived: boolean;
25
26
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAa,MAAM,iBAAiB,CAAC;AAErG,qBAAa,cAAc;IACb,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAEzC,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACtF,MAAM;IA6DT,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAcxD,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,GAAG,GACb,IAAI;IA2BP,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAwCtC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAoGzC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAmB5C,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,MAAM,EAAE;IAyGtD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAkBtC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAuB9C,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAmBnF,OAAO,CAAC,eAAe;IA4BvB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;IA+B1F,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,GACzB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAA;KAAE;IA8BtD,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,UAAU;CAsBnB"}
1
+ {"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAa,MAAM,iBAAiB,CAAC;AAErG,qBAAa,cAAc;IACb,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAEzC,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACtF,MAAM;IA6DT,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAcxD,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,GAAG,GACb,IAAI;IA2BP,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAwCtC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAoGzC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAmB5C,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,MAAM,EAAE;IAyGtD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAkBtC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAuB9C,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAmBnF,OAAO,CAAC,eAAe;IAgCvB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAoBnC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;IA+B1F,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,GACzB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAA;KAAE;IA8BtD,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,UAAU;CAsBnB"}
@@ -355,6 +355,22 @@ export class KnowledgeGraph {
355
355
  this.trackAccess(entityIds);
356
356
  return results;
357
357
  }
358
+ clearEntityData(name) {
359
+ const row = this.db
360
+ .prepare('SELECT id FROM entities WHERE name = ?')
361
+ .get(name);
362
+ if (!row)
363
+ return;
364
+ const prevObs = this.db
365
+ .prepare('SELECT content FROM observations WHERE entity_id = ?')
366
+ .all(row.id);
367
+ const prevObsText = prevObs.length > 0
368
+ ? prevObs.map((o) => o.content).join(' ')
369
+ : undefined;
370
+ this.db.prepare('DELETE FROM observations WHERE entity_id = ?').run(row.id);
371
+ this.db.prepare('DELETE FROM tags WHERE entity_id = ?').run(row.id);
372
+ this.rebuildFts(row.id, name, prevObsText);
373
+ }
358
374
  archiveEntity(name) {
359
375
  const row = this.db
360
376
  .prepare('SELECT id, status FROM entities WHERE name = ?')
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/transports/mcp/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/transports/mcp/handlers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pcircle/memesh",
3
- "version": "3.1.1",
3
+ "version": "3.2.0",
4
4
  "description": "MeMesh — The lightest universal AI memory layer. One SQLite file, any LLM, zero cloud.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -48,6 +48,7 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@modelcontextprotocol/sdk": "^1.29.0",
51
+ "@xenova/transformers": "^2.17.2",
51
52
  "better-sqlite3": "^12.9.0",
52
53
  "commander": "^14.0.3",
53
54
  "express": "^5.2.1",
package/plugin.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "PCIRCLE AI"
6
6
  },
7
- "version": "3.1.1",
7
+ "version": "3.2.0",
8
8
  "homepage": "https://github.com/PCIRCLE-AI/memesh-llm-memory",
9
9
  "repository": "https://github.com/PCIRCLE-AI/memesh-llm-memory",
10
10
  "license": "MIT",