diff --git a/lightrag/api/webui/assets/index-BCtjO3U7.js b/lightrag/api/webui/assets/index-D45TbtOl.js similarity index 97% rename from lightrag/api/webui/assets/index-BCtjO3U7.js rename to lightrag/api/webui/assets/index-D45TbtOl.js index 65ce8717..f8d72643 100644 --- a/lightrag/api/webui/assets/index-BCtjO3U7.js +++ b/lightrag/api/webui/assets/index-D45TbtOl.js @@ -1038,7 +1038,7 @@ void main() { * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var aN;function uJ(){if(aN)return am;aN=1;var e=nf();function t(g,b){return g===b&&(g!==0||1/g===1/b)||g!==g&&b!==b}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,a=e.useEffect,i=e.useLayoutEffect,l=e.useDebugValue;function u(g,b){var m=b(),S=r({inst:{value:m,getSnapshot:b}}),v=S[0].inst,A=S[1];return i(function(){v.value=m,v.getSnapshot=b,c(v)&&A({inst:v})},[g,m,b]),a(function(){return c(v)&&A({inst:v}),g(function(){c(v)&&A({inst:v})})},[g]),l(m),m}function c(g){var b=g.getSnapshot;g=g.value;try{var m=b();return!n(g,m)}catch{return!0}}function f(g,b){return b()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return am.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,am}var oN;function cJ(){return oN||(oN=1,rm.exports=uJ()),rm.exports}var dJ=cJ(),Hs='[cmdk-group=""]',om='[cmdk-group-items=""]',fJ='[cmdk-group-heading=""]',w0='[cmdk-item=""]',iN=`${w0}:not([aria-disabled="true"])`,$x="cmdk-item-select",Qo="data-value",pJ=(e,t,n)=>sJ(e,t,n),O3=k.createContext(void 0),ku=()=>k.useContext(O3),D3=k.createContext(void 0),x0=()=>k.useContext(D3),I3=k.createContext(void 0),L3=k.forwardRef((e,t)=>{let n=ol(()=>{var U,L;return{search:"",value:(L=(U=e.value)!=null?U:e.defaultValue)!=null?L:"",filtered:{count:0,items:new Map,groups:new Set}}}),r=ol(()=>new Set),a=ol(()=>new Map),i=ol(()=>new Map),l=ol(()=>new Set),u=M3(e),{label:c,children:f,value:p,onValueChange:g,filter:b,shouldFilter:m,loop:S,disablePointerSelection:v=!1,vimBindings:A=!0,...R}=e,x=En(),T=En(),C=En(),N=k.useRef(null),_=kJ();ii(()=>{if(p!==void 0){let U=p.trim();n.current.value=U,O.emit()}},[p]),ii(()=>{_(6,P)},[]);let O=k.useMemo(()=>({subscribe:U=>(l.current.add(U),()=>l.current.delete(U)),snapshot:()=>n.current,setState:(U,L,Y)=>{var Q,se,re;if(!Object.is(n.current[U],L)){if(n.current[U]=L,U==="search")q(),M(),_(1,H);else if(U==="value"&&(Y||_(5,P),((Q=u.current)==null?void 0:Q.value)!==void 0)){let le=L??"";(re=(se=u.current).onValueChange)==null||re.call(se,le);return}O.emit()}},emit:()=>{l.current.forEach(U=>U())}}),[]),z=k.useMemo(()=>({value:(U,L,Y)=>{var Q;L!==((Q=i.current.get(U))==null?void 0:Q.value)&&(i.current.set(U,{value:L,keywords:Y}),n.current.filtered.items.set(U,I(L,Y)),_(2,()=>{M(),O.emit()}))},item:(U,L)=>(r.current.add(U),L&&(a.current.has(L)?a.current.get(L).add(U):a.current.set(L,new Set([U]))),_(3,()=>{q(),M(),n.current.value||H(),O.emit()}),()=>{i.current.delete(U),r.current.delete(U),n.current.filtered.items.delete(U);let Y=W();_(4,()=>{q(),(Y==null?void 0:Y.getAttribute("id"))===U&&H(),O.emit()})}),group:U=>(a.current.has(U)||a.current.set(U,new Set),()=>{i.current.delete(U),a.current.delete(U)}),filter:()=>u.current.shouldFilter,label:c||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:x,inputId:C,labelId:T,listInnerRef:N}),[]);function I(U,L){var Y,Q;let se=(Q=(Y=u.current)==null?void 0:Y.filter)!=null?Q:pJ;return U?se(U,n.current.search,L):0}function M(){if(!n.current.search||u.current.shouldFilter===!1)return;let U=n.current.filtered.items,L=[];n.current.filtered.groups.forEach(Q=>{let se=a.current.get(Q),re=0;se.forEach(le=>{let Ae=U.get(le);re=Math.max(Ae,re)}),L.push([Q,re])});let Y=N.current;Z().sort((Q,se)=>{var re,le;let Ae=Q.getAttribute("id"),ae=se.getAttribute("id");return((re=U.get(ae))!=null?re:0)-((le=U.get(Ae))!=null?le:0)}).forEach(Q=>{let se=Q.closest(om);se?se.appendChild(Q.parentElement===se?Q:Q.closest(`${om} > *`)):Y.appendChild(Q.parentElement===Y?Q:Q.closest(`${om} > *`))}),L.sort((Q,se)=>se[1]-Q[1]).forEach(Q=>{var se;let re=(se=N.current)==null?void 0:se.querySelector(`${Hs}[${Qo}="${encodeURIComponent(Q[0])}"]`);re==null||re.parentElement.appendChild(re)})}function H(){let U=Z().find(Y=>Y.getAttribute("aria-disabled")!=="true"),L=U==null?void 0:U.getAttribute(Qo);O.setState("value",L||void 0)}function q(){var U,L,Y,Q;if(!n.current.search||u.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let se=0;for(let re of r.current){let le=(L=(U=i.current.get(re))==null?void 0:U.value)!=null?L:"",Ae=(Q=(Y=i.current.get(re))==null?void 0:Y.keywords)!=null?Q:[],ae=I(le,Ae);n.current.filtered.items.set(re,ae),ae>0&&se++}for(let[re,le]of a.current)for(let Ae of le)if(n.current.filtered.items.get(Ae)>0){n.current.filtered.groups.add(re);break}n.current.filtered.count=se}function P(){var U,L,Y;let Q=W();Q&&(((U=Q.parentElement)==null?void 0:U.firstChild)===Q&&((Y=(L=Q.closest(Hs))==null?void 0:L.querySelector(fJ))==null||Y.scrollIntoView({block:"nearest"})),Q.scrollIntoView({block:"nearest"}))}function W(){var U;return(U=N.current)==null?void 0:U.querySelector(`${w0}[aria-selected="true"]`)}function Z(){var U;return Array.from(((U=N.current)==null?void 0:U.querySelectorAll(iN))||[])}function j(U){let L=Z()[U];L&&O.setState("value",L.getAttribute(Qo))}function G(U){var L;let Y=W(),Q=Z(),se=Q.findIndex(le=>le===Y),re=Q[se+U];(L=u.current)!=null&&L.loop&&(re=se+U<0?Q[Q.length-1]:se+U===Q.length?Q[0]:Q[se+U]),re&&O.setState("value",re.getAttribute(Qo))}function B(U){let L=W(),Y=L==null?void 0:L.closest(Hs),Q;for(;Y&&!Q;)Y=U>0?wJ(Y,Hs):xJ(Y,Hs),Q=Y==null?void 0:Y.querySelector(iN);Q?O.setState("value",Q.getAttribute(Qo)):G(U)}let X=()=>j(Z().length-1),D=U=>{U.preventDefault(),U.metaKey?X():U.altKey?B(1):G(1)},V=U=>{U.preventDefault(),U.metaKey?j(0):U.altKey?B(-1):G(-1)};return k.createElement(Xe.div,{ref:t,tabIndex:-1,...R,"cmdk-root":"",onKeyDown:U=>{var L;if((L=R.onKeyDown)==null||L.call(R,U),!U.defaultPrevented)switch(U.key){case"n":case"j":{A&&U.ctrlKey&&D(U);break}case"ArrowDown":{D(U);break}case"p":case"k":{A&&U.ctrlKey&&V(U);break}case"ArrowUp":{V(U);break}case"Home":{U.preventDefault(),j(0);break}case"End":{U.preventDefault(),X();break}case"Enter":if(!U.nativeEvent.isComposing&&U.keyCode!==229){U.preventDefault();let Y=W();if(Y){let Q=new Event($x);Y.dispatchEvent(Q)}}}}},k.createElement("label",{"cmdk-label":"",htmlFor:z.inputId,id:z.labelId,style:TJ},c),Nf(e,U=>k.createElement(D3.Provider,{value:O},k.createElement(O3.Provider,{value:z},U))))}),gJ=k.forwardRef((e,t)=>{var n,r;let a=En(),i=k.useRef(null),l=k.useContext(I3),u=ku(),c=M3(e),f=(r=(n=c.current)==null?void 0:n.forceMount)!=null?r:l==null?void 0:l.forceMount;ii(()=>{if(!f)return u.item(a,l==null?void 0:l.id)},[f]);let p=F3(a,i,[e.value,e.children,i],e.keywords),g=x0(),b=li(_=>_.value&&_.value===p.current),m=li(_=>f||u.filter()===!1?!0:_.search?_.filtered.items.get(a)>0:!0);k.useEffect(()=>{let _=i.current;if(!(!_||e.disabled))return _.addEventListener($x,S),()=>_.removeEventListener($x,S)},[m,e.onSelect,e.disabled]);function S(){var _,O;v(),(O=(_=c.current).onSelect)==null||O.call(_,p.current)}function v(){g.setState("value",p.current,!0)}if(!m)return null;let{disabled:A,value:R,onSelect:x,forceMount:T,keywords:C,...N}=e;return k.createElement(Xe.div,{ref:ru([i,t]),...N,id:a,"cmdk-item":"",role:"option","aria-disabled":!!A,"aria-selected":!!b,"data-disabled":!!A,"data-selected":!!b,onPointerMove:A||u.getDisablePointerSelection()?void 0:v,onClick:A?void 0:S},e.children)}),hJ=k.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:a,...i}=e,l=En(),u=k.useRef(null),c=k.useRef(null),f=En(),p=ku(),g=li(m=>a||p.filter()===!1?!0:m.search?m.filtered.groups.has(l):!0);ii(()=>p.group(l),[]),F3(l,u,[e.value,e.heading,c]);let b=k.useMemo(()=>({id:l,forceMount:a}),[a]);return k.createElement(Xe.div,{ref:ru([u,t]),...i,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},n&&k.createElement("div",{ref:c,"cmdk-group-heading":"","aria-hidden":!0,id:f},n),Nf(e,m=>k.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?f:void 0},k.createElement(I3.Provider,{value:b},m))))}),mJ=k.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,a=k.useRef(null),i=li(l=>!l.search);return!n&&!i?null:k.createElement(Xe.div,{ref:ru([a,t]),...r,"cmdk-separator":"",role:"separator"})}),bJ=k.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,a=e.value!=null,i=x0(),l=li(p=>p.search),u=li(p=>p.value),c=ku(),f=k.useMemo(()=>{var p;let g=(p=c.listInnerRef.current)==null?void 0:p.querySelector(`${w0}[${Qo}="${encodeURIComponent(u)}"]`);return g==null?void 0:g.getAttribute("id")},[]);return k.useEffect(()=>{e.value!=null&&i.setState("search",e.value)},[e.value]),k.createElement(Xe.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":f,id:c.inputId,type:"text",value:a?e.value:l,onChange:p=>{a||i.setState("search",p.target.value),n==null||n(p.target.value)}})}),yJ=k.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...a}=e,i=k.useRef(null),l=k.useRef(null),u=ku();return k.useEffect(()=>{if(l.current&&i.current){let c=l.current,f=i.current,p,g=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let b=c.offsetHeight;f.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return g.observe(c),()=>{cancelAnimationFrame(p),g.unobserve(c)}}},[]),k.createElement(Xe.div,{ref:ru([i,t]),...a,"cmdk-list":"",role:"listbox","aria-label":r,id:u.listId},Nf(e,c=>k.createElement("div",{ref:ru([l,u.listInnerRef]),"cmdk-list-sizer":""},c)))}),vJ=k.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:a,contentClassName:i,container:l,...u}=e;return k.createElement(Bk,{open:n,onOpenChange:r},k.createElement(Uk,{container:l},k.createElement(gf,{"cmdk-overlay":"",className:a}),k.createElement(hf,{"aria-label":e.label,"cmdk-dialog":"",className:i},k.createElement(L3,{ref:t,...u}))))}),SJ=k.forwardRef((e,t)=>li(n=>n.filtered.count===0)?k.createElement(Xe.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),EJ=k.forwardRef((e,t)=>{let{progress:n,children:r,label:a="Loading...",...i}=e;return k.createElement(Xe.div,{ref:t,...i,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Nf(e,l=>k.createElement("div",{"aria-hidden":!0},l)))}),jn=Object.assign(L3,{List:yJ,Item:gJ,Input:bJ,Group:hJ,Separator:mJ,Dialog:vJ,Empty:SJ,Loading:EJ});function wJ(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function xJ(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function M3(e){let t=k.useRef(e);return ii(()=>{t.current=e}),t}var ii=typeof window>"u"?k.useEffect:k.useLayoutEffect;function ol(e){let t=k.useRef();return t.current===void 0&&(t.current=e()),t}function ru(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}function li(e){let t=x0(),n=()=>e(t.snapshot());return dJ.useSyncExternalStore(t.subscribe,n,n)}function F3(e,t,n,r=[]){let a=k.useRef(),i=ku();return ii(()=>{var l;let u=(()=>{var f;for(let p of n){if(typeof p=="string")return p.trim();if(typeof p=="object"&&"current"in p)return p.current?(f=p.current.textContent)==null?void 0:f.trim():a.current}})(),c=r.map(f=>f.trim());i.value(e,u,c),(l=t.current)==null||l.setAttribute(Qo,u),a.current=u}),a}var kJ=()=>{let[e,t]=k.useState(),n=ol(()=>new Map);return ii(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,a)=>{n.current.set(r,a),t({})}};function AJ(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Nf({asChild:e,children:t},n){return e&&k.isValidElement(t)?k.cloneElement(AJ(t),{ref:t.ref},n(t.props.children)):n(t)}var TJ={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const z3=Bk,P3=GP,_J=Uk,B3=k.forwardRef(({className:e,...t},n)=>w.jsx(gf,{ref:n,className:Me("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e),...t}));B3.displayName=gf.displayName;const k0=k.forwardRef(({className:e,children:t,...n},r)=>w.jsxs(_J,{children:[w.jsx(B3,{}),w.jsxs(hf,{ref:r,className:Me("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",e),...n,children:[t,w.jsxs(Hk,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[w.jsx(dP,{className:"h-4 w-4"}),w.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));k0.displayName=hf.displayName;const A0=({className:e,...t})=>w.jsx("div",{className:Me("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});A0.displayName="DialogHeader";const T0=k.forwardRef(({className:e,...t},n)=>w.jsx(jk,{ref:n,className:Me("text-lg leading-none font-semibold tracking-tight",e),...t}));T0.displayName=jk.displayName;const _0=k.forwardRef(({className:e,...t},n)=>w.jsx(Gk,{ref:n,className:Me("text-muted-foreground text-sm",e),...t}));_0.displayName=Gk.displayName;const Of=k.forwardRef(({className:e,...t},n)=>w.jsx(jn,{ref:n,className:Me("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));Of.displayName=jn.displayName;const R0=k.forwardRef(({className:e,...t},n)=>w.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[w.jsx(r8,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),w.jsx(jn.Input,{ref:n,className:Me("placeholder:text-muted-foreground flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));R0.displayName=jn.Input.displayName;const Df=k.forwardRef(({className:e,...t},n)=>w.jsx(jn.List,{ref:n,className:Me("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));Df.displayName=jn.List.displayName;const C0=k.forwardRef((e,t)=>w.jsx(jn.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));C0.displayName=jn.Empty.displayName;const Ml=k.forwardRef(({className:e,...t},n)=>w.jsx(jn.Group,{ref:n,className:Me("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t}));Ml.displayName=jn.Group.displayName;const RJ=k.forwardRef(({className:e,...t},n)=>w.jsx(jn.Separator,{ref:n,className:Me("bg-border -mx-1 h-px",e),...t}));RJ.displayName=jn.Separator.displayName;const Fl=k.forwardRef(({className:e,...t},n)=>w.jsx(jn.Item,{ref:n,className:Me("data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));Fl.displayName=jn.Item.displayName;const CJ=({layout:e,autoRunFor:t})=>{const n=br(),{stop:r,start:a,isRunning:i}=e;return k.useEffect(()=>{if(!n)return;let l=null;return t!==void 0&&t>-1&&n.getGraph().order>0&&(a(),l=t>0?window.setTimeout(()=>{r()},t):null),()=>{r(),l&&clearTimeout(l)}},[t,a,r,n]),w.jsx(Lt,{size:"icon",onClick:()=>i?r():a(),tooltip:i?"Stop the layout animation":"Start the layout animation",variant:Yr,children:i?w.jsx(Zq,{}):w.jsx(Jq,{})})},NJ=()=>{const e=br(),[t,n]=k.useState("Circular"),[r,a]=k.useState(!1),i=We.use.graphLayoutMaxIterations(),l=wQ(),u=yQ(),c=JQ(),f=YQ({settings:{margin:1}}),p=CQ({maxIterations:i}),g=_3({iterations:i}),b=KQ(),m=NQ(),S=BQ(),v=k.useMemo(()=>({Circular:{layout:l},Circlepack:{layout:u},Random:{layout:c},Noverlaps:{layout:f,worker:b},"Force Directed":{layout:p,worker:m},"Force Atlas":{layout:g,worker:S}}),[u,l,p,g,f,c,m,b,S]),A=k.useCallback(R=>{console.debug(R);const{positions:x}=v[R].layout;zX(e.getGraph(),x(),{duration:500}),n(R)},[v,e]);return w.jsxs(w.Fragment,{children:[w.jsx("div",{children:v[t]&&"worker"in v[t]&&w.jsx(CJ,{layout:v[t].worker})}),w.jsx("div",{children:w.jsxs(kf,{open:r,onOpenChange:a,children:[w.jsx(Af,{asChild:!0,children:w.jsx(Lt,{size:"icon",variant:Yr,onClick:()=>a(R=>!R),tooltip:"Layout Graph",children:w.jsx(Uq,{})})}),w.jsx(yu,{side:"right",align:"center",className:"p-1",children:w.jsx(Of,{children:w.jsx(Df,{children:w.jsx(Ml,{children:Object.keys(v).map(R=>w.jsx(Fl,{onSelect:()=>{A(R)},className:"cursor-pointer text-xs",children:R},R))})})})})]})})]})};var Sd={exports:{}},OJ=Sd.exports,lN;function DJ(){return lN||(lN=1,function(e){(function(t,n,r){function a(c){var f=this,p=u();f.next=function(){var g=2091639*f.s0+f.c*23283064365386963e-26;return f.s0=f.s1,f.s1=f.s2,f.s2=g-(f.c=g|0)},f.c=1,f.s0=p(" "),f.s1=p(" "),f.s2=p(" "),f.s0-=p(c),f.s0<0&&(f.s0+=1),f.s1-=p(c),f.s1<0&&(f.s1+=1),f.s2-=p(c),f.s2<0&&(f.s2+=1),p=null}function i(c,f){return f.c=c.c,f.s0=c.s0,f.s1=c.s1,f.s2=c.s2,f}function l(c,f){var p=new a(c),g=f&&f.state,b=p.next;return b.int32=function(){return p.next()*4294967296|0},b.double=function(){return b()+(b()*2097152|0)*11102230246251565e-32},b.quick=b,g&&(typeof g=="object"&&i(g,p),b.state=function(){return i(p,{})}),b}function u(){var c=4022871197,f=function(p){p=String(p);for(var g=0;g