duclaw-cli 1.8.7 → 1.8.8

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.
@@ -52,7 +52,7 @@ Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}
52
52
 
53
53
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
54
54
 
55
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return S.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},mu=`DialogDescriptionWarning`,hu=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${fu(mu).contentName}}.`;return S.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},gu=Hl,_u=ql,vu=Yl,yu=$l,bu=iu,xu=ou,Su=cu;function Cu(e){let t=S.useRef({value:e,previous:e});return S.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function wu(e){let[t,n]=S.useState(void 0);return us(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Tu=[`top`,`right`,`bottom`,`left`],Eu=Math.min,Du=Math.max,Ou=Math.round,ku=Math.floor,Au=e=>({x:e,y:e}),ju={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Mu(e,t,n){return Du(e,Eu(t,n))}function Nu(e,t){return typeof e==`function`?e(t):e}function Pu(e){return e.split(`-`)[0]}function Fu(e){return e.split(`-`)[1]}function Iu(e){return e===`x`?`y`:`x`}function Lu(e){return e===`y`?`height`:`width`}function Ru(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function zu(e){return Iu(Ru(e))}function Bu(e,t,n){n===void 0&&(n=!1);let r=Fu(e),i=zu(e),a=Lu(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Yu(o)),[o,Yu(o)]}function Vu(e){let t=Yu(e);return[Hu(e),t,Hu(t)]}function Hu(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Uu=[`left`,`right`],Wu=[`right`,`left`],Gu=[`top`,`bottom`],Ku=[`bottom`,`top`];function qu(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Wu:Uu:t?Uu:Wu;case`left`:case`right`:return t?Gu:Ku;default:return[]}}function Ju(e,t,n,r){let i=Fu(e),a=qu(Pu(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Hu)))),a}function Yu(e){let t=Pu(e);return ju[t]+e.slice(t.length)}function Xu(e){return{top:0,right:0,bottom:0,left:0,...e}}function Zu(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Xu(e)}function Qu(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function $u(e,t,n){let{reference:r,floating:i}=e,a=Ru(t),o=zu(t),s=Lu(o),c=Pu(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Fu(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ed(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Nu(t,e),p=Zu(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Qu(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Qu(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var td=50,nd=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ed},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=$u(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<td&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=$u(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},rd=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Nu(e,t)||{};if(l==null)return{};let d=Zu(u),f={x:n,y:r},p=zu(i),m=Lu(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Eu(d[_],T),D=Eu(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Mu(O,A,k),M=!c.arrow&&Fu(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),id=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Nu(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Pu(r),_=Ru(o),v=Pu(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Yu(o)]:Vu(o)),x=p!==`none`;!d&&x&&b.push(...Ju(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Bu(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Ru(t))||T.every(e=>Ru(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Ru(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function ad(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function od(e){return Tu.some(t=>e[t]>=0)}var sd=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Nu(e,t);switch(i){case`referenceHidden`:{let e=ad(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:od(e)}}}case`escaped`:{let e=ad(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:od(e)}}}default:return{}}}}},cd=new Set([`left`,`top`]);async function ld(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Pu(n),s=Fu(n),c=Ru(n)===`y`,l=cd.has(o)?-1:1,u=a&&c?-1:1,d=Nu(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ud=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await ld(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},dd=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Nu(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Ru(Pu(i)),p=Iu(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Mu(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Mu(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},fd=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Nu(e,t),u={x:n,y:r},d=Ru(i),f=Iu(d),p=u[f],m=u[d],h=Nu(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=cd.has(Pu(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},pd=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Nu(e,t),u=await o.detectOverflow(t,l),d=Pu(i),f=Fu(i),p=Ru(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Eu(h-u[g],v),x=Eu(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Du(u.left,0),t=Du(u.right,0),n=Du(u.top,0),r=Du(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:Du(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Du(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function md(){return typeof window<`u`}function hd(e){return vd(e)?(e.nodeName||``).toLowerCase():`#document`}function gd(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function _d(e){return((vd(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function vd(e){return md()?e instanceof Node||e instanceof gd(e).Node:!1}function yd(e){return md()?e instanceof Element||e instanceof gd(e).Element:!1}function bd(e){return md()?e instanceof HTMLElement||e instanceof gd(e).HTMLElement:!1}function xd(e){return!md()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof gd(e).ShadowRoot}function Sd(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Md(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Cd(e){return/^(table|td|th)$/.test(hd(e))}function wd(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Td=/transform|translate|scale|rotate|perspective|filter/,Ed=/paint|layout|strict|content/,G=e=>!!e&&e!==`none`,Dd;function Od(e){let t=yd(e)?Md(e):e;return G(t.transform)||G(t.translate)||G(t.scale)||G(t.rotate)||G(t.perspective)||!Ad()&&(G(t.backdropFilter)||G(t.filter))||Td.test(t.willChange||``)||Ed.test(t.contain||``)}function kd(e){let t=Pd(e);for(;bd(t)&&!jd(t);){if(Od(t))return t;if(wd(t))return null;t=Pd(t)}return null}function Ad(){return Dd??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Dd}function jd(e){return/^(html|body|#document)$/.test(hd(e))}function Md(e){return gd(e).getComputedStyle(e)}function Nd(e){return yd(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Pd(e){if(hd(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||xd(e)&&e.host||_d(e);return xd(t)?t.host:t}function Fd(e){let t=Pd(e);return jd(t)?e.ownerDocument?e.ownerDocument.body:e.body:bd(t)&&Sd(t)?t:Fd(t)}function Id(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Fd(e),i=r===e.ownerDocument?.body,a=gd(r);if(i){let e=Ld(a);return t.concat(a,a.visualViewport||[],Sd(r)?r:[],e&&n?Id(e):[])}else return t.concat(r,Id(r,[],n))}function Ld(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Rd(e){let t=Md(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=bd(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ou(n)!==a||Ou(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function zd(e){return yd(e)?e:e.contextElement}function Bd(e){let t=zd(e);if(!bd(t))return Au(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Rd(t),o=(a?Ou(n.width):n.width)/r,s=(a?Ou(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Vd=Au(0);function Hd(e){let t=gd(e);return!Ad()||!t.visualViewport?Vd:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ud(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==gd(e)?!1:t}function Wd(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=zd(e),o=Au(1);t&&(r?yd(r)&&(o=Bd(r)):o=Bd(e));let s=Ud(a,n,r)?Hd(a):Au(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=gd(a),t=r&&yd(r)?gd(r):r,n=e,i=Ld(n);for(;i&&r&&t!==n;){let e=Bd(i),t=i.getBoundingClientRect(),r=Md(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=gd(i),i=Ld(n)}}return Qu({width:u,height:d,x:c,y:l})}function Gd(e,t){let n=Nd(e).scrollLeft;return t?t.left+n:Wd(_d(e)).left+n}function Kd(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Gd(e,n),y:n.top+t.scrollTop}}function qd(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=_d(r),s=t?wd(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Au(1),u=Au(0),d=bd(r);if((d||!d&&!a)&&((hd(r)!==`body`||Sd(o))&&(c=Nd(r)),d)){let e=Wd(r);l=Bd(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Kd(o,c):Au(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Jd(e){return Array.from(e.getClientRects())}function Yd(e){let t=_d(e),n=Nd(e),r=e.ownerDocument.body,i=Du(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Du(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Gd(e),s=-n.scrollTop;return Md(r).direction===`rtl`&&(o+=Du(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Xd=25;function Zd(e,t){let n=gd(e),r=_d(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ad();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Gd(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Xd&&(a-=o)}else l<=Xd&&(a+=l);return{width:a,height:o,x:s,y:c}}function Qd(e,t){let n=Wd(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=bd(e)?Bd(e):Au(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function $d(e,t,n){let r;if(t===`viewport`)r=Zd(e,n);else if(t===`document`)r=Yd(_d(e));else if(yd(t))r=Qd(t,n);else{let n=Hd(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Qu(r)}function ef(e,t){let n=Pd(e);return n===t||!yd(n)||jd(n)?!1:Md(n).position===`fixed`||ef(n,t)}function tf(e,t){let n=t.get(e);if(n)return n;let r=Id(e,[],!1).filter(e=>yd(e)&&hd(e)!==`body`),i=null,a=Md(e).position===`fixed`,o=a?Pd(e):e;for(;yd(o)&&!jd(o);){let t=Md(o),n=Od(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Sd(o)&&!n&&ef(e,o))?r=r.filter(e=>e!==o):i=t,o=Pd(o)}return t.set(e,r),r}function nf(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?wd(t)?[]:tf(t,this._c):[].concat(n),r],o=$d(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=$d(t,a[e],i);s=Du(n.top,s),c=Eu(n.right,c),l=Eu(n.bottom,l),u=Du(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function rf(e){let{width:t,height:n}=Rd(e);return{width:t,height:n}}function af(e,t,n){let r=bd(t),i=_d(t),a=n===`fixed`,o=Wd(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Au(0);function l(){c.x=Gd(i)}if(r||!r&&!a)if((hd(t)!==`body`||Sd(i))&&(s=Nd(t)),r){let e=Wd(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Kd(i,s):Au(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function of(e){return Md(e).position===`static`}function sf(e,t){if(!bd(e)||Md(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return _d(e)===n&&(n=n.ownerDocument.body),n}function cf(e,t){let n=gd(e);if(wd(e))return n;if(!bd(e)){let t=Pd(e);for(;t&&!jd(t);){if(yd(t)&&!of(t))return t;t=Pd(t)}return n}let r=sf(e,t);for(;r&&Cd(r)&&of(r);)r=sf(r,t);return r&&jd(r)&&of(r)&&!Od(r)?n:r||kd(e)||n}var lf=async function(e){let t=this.getOffsetParent||cf,n=this.getDimensions,r=await n(e.floating);return{reference:af(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function uf(e){return Md(e).direction===`rtl`}var df={convertOffsetParentRelativeRectToViewportRelativeRect:qd,getDocumentElement:_d,getClippingRect:nf,getOffsetParent:cf,getElementRects:lf,getClientRects:Jd,getDimensions:rf,getScale:Bd,isElement:yd,isRTL:uf};function ff(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function pf(e,t){let n=null,r,i=_d(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=ku(d),h=ku(i.clientWidth-(u+f)),g=ku(i.clientHeight-(d+p)),_=ku(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Du(0,Eu(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!ff(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function mf(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=zd(e),u=i||a?[...l?Id(l):[],...t?Id(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?pf(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Wd(e):null;c&&g();function g(){let t=Wd(e);h&&!ff(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var hf=ud,gf=dd,_f=id,vf=pd,yf=sd,bf=rd,xf=fd,Sf=(e,t,n)=>{let r=new Map,i={platform:df,...n},a={...i.platform,_c:r};return nd(e,t,{...i,platform:a})},Cf=typeof document<`u`?S.useLayoutEffect:function(){};function wf(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!wf(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!wf(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Tf(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ef(e,t){let n=Tf(e);return Math.round(t*n)/n}function Df(e){let t=S.useRef(e);return Cf(()=>{t.current=e}),t}function Of(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=S.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=S.useState(r);wf(f,r)||p(r);let[m,h]=S.useState(null),[g,_]=S.useState(null),v=S.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),y=S.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),b=a||m,x=o||g,C=S.useRef(null),w=S.useRef(null),T=S.useRef(u),E=c!=null,D=Df(c),O=Df(i),k=Df(l),A=S.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),Sf(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!wf(T.current,t)&&(T.current=t,Li.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);Cf(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=S.useRef(!1);Cf(()=>(j.current=!0,()=>{j.current=!1}),[]),Cf(()=>{if(b&&(C.current=b),x&&(w.current=x),b&&x){if(D.current)return D.current(b,x,A);A()}},[b,x,A,D,E]);let M=S.useMemo(()=>({reference:C,floating:w,setReference:v,setFloating:y}),[v,y]),N=S.useMemo(()=>({reference:b,floating:x}),[b,x]),ee=S.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=Ef(N.floating,u.x),r=Ef(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Tf(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return S.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:ee}),[u,A,M,N,ee])}var kf=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:bf({element:r.current,padding:i}).fn(n):r?bf({element:r,padding:i}).fn(n):{}}}},Af=(e,t)=>{let n=hf(e);return{name:n.name,fn:n.fn,options:[e,t]}},jf=(e,t)=>{let n=gf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Mf=(e,t)=>({fn:xf(e).fn,options:[e,t]}),Nf=(e,t)=>{let n=_f(e);return{name:n.name,fn:n.fn,options:[e,t]}},Pf=(e,t)=>{let n=vf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ff=(e,t)=>{let n=yf(e);return{name:n.name,fn:n.fn,options:[e,t]}},If=(e,t)=>{let n=kf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Lf=`Arrow`,Rf=S.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,z.jsx)(es.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,z.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Rf.displayName=Lf;var zf=Rf,Bf=`Popper`,[Vf,Hf]=ss(Bf),[Uf,Wf]=Vf(Bf),Gf=e=>{let{__scopePopper:t,children:n}=e,[r,i]=S.useState(null);return(0,z.jsx)(Uf,{scope:t,anchor:r,onAnchorChange:i,children:n})};Gf.displayName=Bf;var Kf=`PopperAnchor`,qf=S.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Wf(Kf,n),o=S.useRef(null),s=Go(t,o),c=S.useRef(null);return S.useEffect(()=>{let e=c.current;c.current=r?.current||o.current,e!==c.current&&a.onAnchorChange(c.current)}),r?null:(0,z.jsx)(es.div,{...i,ref:s})});qf.displayName=Kf;var Jf=`PopperContent`,[Yf,Xf]=Vf(Jf),Zf=S.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=Wf(Jf,n),[_,v]=S.useState(null),y=Go(t,e=>v(e)),[b,x]=S.useState(null),C=wu(b),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},O=Array.isArray(l)?l:[l],k=O.length>0,A={padding:D,boundary:O.filter(tp),altBoundary:k},{refs:j,floatingStyles:M,placement:N,isPositioned:ee,middlewareData:te}=Of({strategy:`fixed`,placement:E,whileElementsMounted:(...e)=>mf(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[Af({mainAxis:i+T,alignmentAxis:o}),c&&jf({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Mf():void 0,...A}),c&&Nf({...A}),Pf({...A,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),b&&If({element:b,padding:s}),np({arrowWidth:w,arrowHeight:T}),f&&Ff({strategy:`referenceHidden`,...A})]}),[P,F]=rp(N),ne=Rs(m);us(()=>{ee&&ne?.()},[ee,ne]);let re=te.arrow?.x,ie=te.arrow?.y,I=te.arrow?.centerOffset!==0,[L,R]=S.useState();return us(()=>{_&&R(window.getComputedStyle(_).zIndex)},[_]),(0,z.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...M,transform:ee?M.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:L,"--radix-popper-transform-origin":[te.transformOrigin?.x,te.transformOrigin?.y].join(` `),...te.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,z.jsx)(Yf,{scope:n,placedSide:P,onArrowChange:x,arrowX:re,arrowY:ie,shouldHideArrow:I,children:(0,z.jsx)(es.div,{"data-side":P,"data-align":F,...h,ref:y,style:{...h.style,animation:ee?void 0:`none`}})})})});Zf.displayName=Jf;var Qf=`PopperArrow`,$f={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ep=S.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Xf(Qf,n),a=$f[i.placedSide];return(0,z.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,z.jsx)(zf,{...r,ref:t,style:{...r.style,display:`block`}})})});ep.displayName=Qf;function tp(e){return e!==null}var np=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=rp(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function rp(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var ip=Gf,ap=qf,op=Zf,sp=ep,cp=`rovingFocusGroup.onEntryFocus`,lp={bubbles:!1,cancelable:!0},up=`RovingFocusGroup`,[dp,fp,pp]=ls(up),[mp,hp]=ss(up,[pp]),[gp,_p]=mp(up),vp=S.forwardRef((e,t)=>(0,z.jsx)(dp.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,z.jsx)(dp.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,z.jsx)(yp,{...e,ref:t})})}));vp.displayName=up;var yp=S.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=S.useRef(null),p=Go(t,f),m=Ls(a),[h,g]=fs({prop:o,defaultProp:s??null,onChange:c,caller:up}),[_,v]=S.useState(!1),y=Rs(l),b=fp(n),x=S.useRef(!1),[C,w]=S.useState(0);return S.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(cp,y),()=>e.removeEventListener(cp,y)},[y]),(0,z.jsx)(gp,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:S.useCallback(e=>g(e),[g]),onItemShiftTab:S.useCallback(()=>v(!0),[]),onFocusableItemAdd:S.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:S.useCallback(()=>w(e=>e-1),[]),children:(0,z.jsx)(es.div,{tabIndex:_||C===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:H(e.onMouseDown,()=>{x.current=!0}),onFocus:H(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(cp,lp);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);Tp([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:H(e.onBlur,()=>v(!1))})})}),bp=`RovingFocusGroupItem`,xp=S.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Ss(),l=a||c,u=_p(bp,n),d=u.currentTabStopId===l,f=fp(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return S.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,z.jsx)(dp.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,z.jsx)(es.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:H(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:H(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:H(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=wp(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?Ep(n,r+1):n.slice(r+1)}setTimeout(()=>Tp(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});xp.displayName=bp;var Sp={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Cp(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function wp(e,t,n){let r=Cp(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Sp[r]}function Tp(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function Ep(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Dp=vp,Op=xp;function kp(e,[t,n]){return Math.min(n,Math.max(t,e))}var Ap=`Popover`,[jp,Mp]=ss(Ap,[Hf]),Np=Hf(),[Pp,Fp]=jp(Ap),Ip=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=Np(t),c=S.useRef(null),[l,u]=S.useState(!1),[d,f]=fs({prop:r,defaultProp:i??!1,onChange:a,caller:Ap});return(0,z.jsx)(ip,{...s,children:(0,z.jsx)(Pp,{scope:t,contentId:Ss(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:S.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:S.useCallback(()=>u(!0),[]),onCustomAnchorRemove:S.useCallback(()=>u(!1),[]),modal:o,children:n})})};Ip.displayName=Ap;var Lp=`PopoverAnchor`,Rp=S.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Fp(Lp,n),a=Np(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return S.useEffect(()=>(o(),()=>s()),[o,s]),(0,z.jsx)(ap,{...a,...r,ref:t})});Rp.displayName=Lp;var zp=`PopoverTrigger`,Bp=S.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Fp(zp,n),a=Np(n),o=Go(t,i.triggerRef),s=(0,z.jsx)(es.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":tm(i.open),...r,ref:o,onClick:H(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,z.jsx)(ap,{asChild:!0,...a,children:s})});Bp.displayName=zp;var Vp=`PopoverPortal`,[Hp,Up]=jp(Vp,{forceMount:void 0}),Wp=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=Fp(Vp,t);return(0,z.jsx)(Hp,{scope:t,forceMount:n,children:(0,z.jsx)(gs,{present:n||a.open,children:(0,z.jsx)(gc,{asChild:!0,container:i,children:r})})})};Wp.displayName=Vp;var Gp=`PopoverContent`,Kp=S.forwardRef((e,t)=>{let n=Up(Gp,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=Fp(Gp,e.__scopePopover);return(0,z.jsx)(gs,{present:r||a.open,children:a.modal?(0,z.jsx)(Jp,{...i,ref:t}):(0,z.jsx)(Yp,{...i,ref:t})})});Kp.displayName=Gp;var qp=Ko(`PopoverContent.RemoveScroll`),Jp=S.forwardRef((e,t)=>{let n=Fp(Gp,e.__scopePopover),r=S.useRef(null),i=Go(t,r),a=S.useRef(!1);return S.useEffect(()=>{let e=r.current;if(e)return Ll(e)},[]),(0,z.jsx)(Ol,{as:qp,allowPinchZoom:!0,children:(0,z.jsx)(Xp,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:H(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:H(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:H(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),Yp=S.forwardRef((e,t)=>{let n=Fp(Gp,e.__scopePopover),r=S.useRef(!1),i=S.useRef(!1);return(0,z.jsx)(Xp,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Xp=S.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=Fp(Gp,n),p=Np(n);return vc(),(0,z.jsx)(rc,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,z.jsx)(Ks,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),children:(0,z.jsx)(op,{"data-state":tm(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),Zp=`PopoverClose`,Qp=S.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Fp(Zp,n);return(0,z.jsx)(es.button,{type:`button`,...r,ref:t,onClick:H(e.onClick,()=>i.onOpenChange(!1))})});Qp.displayName=Zp;var $p=`PopoverArrow`,em=S.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Np(n);return(0,z.jsx)(sp,{...i,...r,ref:t})});em.displayName=$p;function tm(e){return e?`open`:`closed`}var nm=Ip,rm=Bp,im=Wp,am=Kp;function om(e,t){return S.useReducer((e,n)=>t[e][n]??e,e)}var sm=`ScrollArea`,[cm,lm]=ss(sm),[um,dm]=cm(sm),fm=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=S.useState(null),[l,u]=S.useState(null),[d,f]=S.useState(null),[p,m]=S.useState(null),[h,g]=S.useState(null),[_,v]=S.useState(0),[y,b]=S.useState(0),[x,C]=S.useState(!1),[w,T]=S.useState(!1),E=Go(t,e=>c(e)),D=Ls(i);return(0,z.jsx)(um,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:x,onScrollbarXEnabledChange:C,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,z.jsx)(es.div,{dir:D,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})});fm.displayName=sm;var pm=`ScrollAreaViewport`,mm=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=dm(pm,n),s=Go(t,S.useRef(null),o.onViewportChange);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,z.jsx)(es.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,z.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});mm.displayName=pm;var hm=`ScrollAreaScrollbar`,gm=S.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=dm(hm,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return S.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,z.jsx)(_m,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,z.jsx)(vm,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,z.jsx)(ym,{...r,ref:t,forceMount:n}):i.type===`always`?(0,z.jsx)(bm,{...r,ref:t}):null});gm.displayName=hm;var _m=S.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=dm(hm,e.__scopeScrollArea),[a,o]=S.useState(!1);return S.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,z.jsx)(gs,{present:n||a,children:(0,z.jsx)(ym,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),vm=S.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=dm(hm,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Bm(()=>c(`SCROLL_END`),100),[s,c]=om(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return S.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),S.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,z.jsx)(gs,{present:n||s!==`hidden`,children:(0,z.jsx)(bm,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:H(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:H(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),ym=S.forwardRef((e,t)=>{let n=dm(hm,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=S.useState(!1),s=e.orientation===`horizontal`,c=Bm(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Vm(n.viewport,c),Vm(n.content,c),(0,z.jsx)(gs,{present:r||a,children:(0,z.jsx)(bm,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),bm=S.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=dm(hm,e.__scopeScrollArea),a=S.useRef(null),o=S.useRef(0),[s,c]=S.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Nm(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Fm(e,o.current,s,t)}return n===`horizontal`?(0,z.jsx)(xm,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Im(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,z.jsx)(Sm,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Im(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),xm=S.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=dm(hm,e.__scopeScrollArea),[o,s]=S.useState(),c=S.useRef(null),l=Go(t,c,a.onScrollbarXChange);return S.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,z.jsx)(Tm,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Pm(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Rm(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:Mm(o.paddingLeft),paddingEnd:Mm(o.paddingRight)}})}})}),Sm=S.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=dm(hm,e.__scopeScrollArea),[o,s]=S.useState(),c=S.useRef(null),l=Go(t,c,a.onScrollbarYChange);return S.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,z.jsx)(Tm,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Pm(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Rm(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:Mm(o.paddingTop),paddingEnd:Mm(o.paddingBottom)}})}})}),[Cm,wm]=cm(hm),Tm=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=dm(hm,n),[m,h]=S.useState(null),g=Go(t,e=>h(e)),_=S.useRef(null),v=S.useRef(``),y=p.viewport,b=r.content-r.viewport,x=Rs(u),C=Rs(c),w=Bm(d,10);function T(e){_.current&&l({x:e.clientX-_.current.left,y:e.clientY-_.current.top})}return S.useEffect(()=>{let e=e=>{let t=e.target;m?.contains(t)&&x(e,b)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),S.useEffect(C,[r,C]),Vm(m,w),Vm(p.content,w),(0,z.jsx)(Cm,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:Rs(a),onThumbPointerUp:Rs(o),onThumbPositionChange:C,onThumbPointerDown:Rs(s),children:(0,z.jsx)(es.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:H(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),T(e))}),onPointerMove:H(e.onPointerMove,T),onPointerUp:H(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})}),Em=`ScrollAreaThumb`,Dm=S.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=wm(Em,e.__scopeScrollArea);return(0,z.jsx)(gs,{present:n||i.hasThumb,children:(0,z.jsx)(Om,{ref:t,...r})})}),Om=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=dm(Em,n),o=wm(Em,n),{onThumbPositionChange:s}=o,c=Go(t,e=>o.onThumbChange(e)),l=S.useRef(void 0),u=Bm(()=>{l.current&&=(l.current(),void 0)},100);return S.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{u(),l.current||(l.current=zm(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,z.jsx)(es.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:H(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:H(e.onPointerUp,o.onThumbPointerUp)})});Dm.displayName=Em;var km=`ScrollAreaCorner`,Am=S.forwardRef((e,t)=>{let n=dm(km,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,z.jsx)(jm,{...e,ref:t}):null});Am.displayName=km;var jm=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=dm(km,n),[a,o]=S.useState(0),[s,c]=S.useState(0),l=!!(a&&s);return Vm(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Vm(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,z.jsx)(es.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function Mm(e){return e?parseInt(e,10):0}function Nm(e,t){let n=e/t;return isNaN(n)?0:n}function Pm(e){let t=Nm(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Fm(e,t,n,r=`ltr`){let i=Pm(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Lm([c,l],d)(e)}function Im(e,t,n=`ltr`){let r=Pm(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=kp(e,n===`ltr`?[0,o]:[o*-1,0]);return Lm([0,o],[0,s])(c)}function Lm(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Rm(e,t){return e>0&&e<t}var zm=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function Bm(e,t){let n=Rs(e),r=S.useRef(0);return S.useEffect(()=>()=>window.clearTimeout(r.current),[]),S.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Vm(e,t){let n=Rs(t);us(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Hm=fm,Um=mm,Wm=Am,Gm=`Separator`,Km=`horizontal`,qm=[`horizontal`,`vertical`],Jm=S.forwardRef((e,t)=>{let{decorative:n,orientation:r=Km,...i}=e,a=Ym(r)?r:Km,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,z.jsx)(es.div,{"data-orientation":a,...o,...i,ref:t})});Jm.displayName=Gm;function Ym(e){return qm.includes(e)}var Xm=Jm,Zm=`Switch`,[Qm,$m]=ss(Zm),[eh,th]=Qm(Zm),nh=S.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c=`on`,onCheckedChange:l,form:u,...d}=e,[f,p]=S.useState(null),m=Go(t,e=>p(e)),h=S.useRef(!1),g=f?u||!!f.closest(`form`):!0,[_,v]=fs({prop:i,defaultProp:a??!1,onChange:l,caller:Zm});return(0,z.jsxs)(eh,{scope:n,checked:_,disabled:s,children:[(0,z.jsx)(es.button,{type:`button`,role:`switch`,"aria-checked":_,"aria-required":o,"data-state":sh(_),"data-disabled":s?``:void 0,disabled:s,value:c,...d,ref:m,onClick:H(e.onClick,e=>{v(e=>!e),g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})}),g&&(0,z.jsx)(oh,{control:f,bubbles:!h.current,name:r,value:c,checked:_,required:o,disabled:s,form:u,style:{transform:`translateX(-100%)`}})]})});nh.displayName=Zm;var rh=`SwitchThumb`,ih=S.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=th(rh,n);return(0,z.jsx)(es.span,{"data-state":sh(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});ih.displayName=rh;var ah=`SwitchBubbleInput`,oh=S.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let o=S.useRef(null),s=Go(o,a),c=Cu(n),l=wu(t);return S.useEffect(()=>{let e=o.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(c!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[c,n,r]),(0,z.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:s,style:{...i.style,...l,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});oh.displayName=ah;function sh(e){return e?`checked`:`unchecked`}var ch=nh,lh=ih,uh=`Tabs`,[dh,fh]=ss(uh,[hp]),ph=hp(),[mh,hh]=dh(uh),gh=S.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=Ls(s),[d,f]=fs({prop:r,onChange:i,defaultProp:a??``,caller:uh});return(0,z.jsx)(mh,{scope:n,baseId:Ss(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,z.jsx)(es.div,{dir:u,"data-orientation":o,...l,ref:t})})});gh.displayName=uh;var _h=`TabsList`,vh=S.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=hh(_h,n),o=ph(n);return(0,z.jsx)(Dp,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,z.jsx)(es.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});vh.displayName=_h;var yh=`TabsTrigger`,bh=S.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=hh(yh,n),s=ph(n),c=Ch(o.baseId,r),l=wh(o.baseId,r),u=r===o.value;return(0,z.jsx)(Op,{asChild:!0,...s,focusable:!i,active:u,children:(0,z.jsx)(es.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:H(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:H(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:H(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});bh.displayName=yh;var xh=`TabsContent`,Sh=S.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=hh(xh,n),c=Ch(s.baseId,r),l=wh(s.baseId,r),u=r===s.value,d=S.useRef(u);return S.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,z.jsx)(gs,{present:i||u,children:({present:n})=>(0,z.jsx)(es.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});Sh.displayName=xh;function Ch(e,t){return`${e}-trigger-${t}`}function wh(e,t){return`${e}-content-${t}`}var Th=gh,Eh=vh,Dh=bh,Oh=Sh,[kh,Ah]=ss(`Tooltip`,[Hf]),jh=Hf(),Mh=`TooltipProvider`,Nh=700,Ph=`tooltip.open`,[Fh,Ih]=kh(Mh),Lh=e=>{let{__scopeTooltip:t,delayDuration:n=Nh,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=S.useRef(!0),s=S.useRef(!1),c=S.useRef(0);return S.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,z.jsx)(Fh,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:S.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:S.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:S.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Lh.displayName=Mh;var Rh=`Tooltip`,[zh,Bh]=kh(Rh),Vh=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Ih(Rh,e.__scopeTooltip),l=jh(t),[u,d]=S.useState(null),f=Ss(),p=S.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=S.useRef(!1),[_,v]=fs({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Ph))):c.onClose(),a?.(e)},caller:Rh}),y=S.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=S.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=S.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),C=S.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return S.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,z.jsx)(ip,{...l,children:(0,z.jsx)(zh,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:S.useCallback(()=>{c.isOpenDelayedRef.current?C():b()},[c.isOpenDelayedRef,C,b]),onTriggerLeave:S.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};Vh.displayName=Rh;var Hh=`TooltipTrigger`,Uh=S.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Bh(Hh,n),a=Ih(Hh,n),o=jh(n),s=Go(t,S.useRef(null),i.onTriggerChange),c=S.useRef(!1),l=S.useRef(!1),u=S.useCallback(()=>c.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,z.jsx)(ap,{asChild:!0,...o,children:(0,z.jsx)(es.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:H(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:H(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:H(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:H(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:H(e.onBlur,i.onClose),onClick:H(e.onClick,i.onClose)})})});Uh.displayName=Hh;var Wh=`TooltipPortal`,[Gh,Kh]=kh(Wh,{forceMount:void 0}),qh=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Bh(Wh,t);return(0,z.jsx)(Gh,{scope:t,forceMount:n,children:(0,z.jsx)(gs,{present:n||a.open,children:(0,z.jsx)(gc,{asChild:!0,container:i,children:r})})})};qh.displayName=Wh;var Jh=`TooltipContent`,Yh=S.forwardRef((e,t)=>{let n=Kh(Jh,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Bh(Jh,e.__scopeTooltip);return(0,z.jsx)(gs,{present:r||o.open,children:o.disableHoverableContent?(0,z.jsx)(eg,{side:i,...a,ref:t}):(0,z.jsx)(Xh,{side:i,...a,ref:t})})}),Xh=S.forwardRef((e,t)=>{let n=Bh(Jh,e.__scopeTooltip),r=Ih(Jh,e.__scopeTooltip),i=S.useRef(null),a=Go(t,i),[o,s]=S.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=S.useCallback(()=>{s(null),d(!1)},[d]),p=S.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=ig(r,rg(r,n.getBoundingClientRect())),a=ag(t.getBoundingClientRect());s(sg([...i,...a])),d(!0)},[d]);return S.useEffect(()=>()=>f(),[f]),S.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),S.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!og(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,z.jsx)(eg,{...e,ref:a})}),[Zh,Qh]=kh(Rh,{isInside:!1}),$h=Xo(`TooltipContent`),eg=S.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=Bh(Jh,n),l=jh(n),{onClose:u}=c;return S.useEffect(()=>(document.addEventListener(Ph,u),()=>document.removeEventListener(Ph,u)),[u]),S.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,z.jsx)(Ks,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,z.jsxs)(op,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,z.jsx)($h,{children:r}),(0,z.jsx)(Zh,{scope:n,isInside:!0,children:(0,z.jsx)(as,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Yh.displayName=Jh;var tg=`TooltipArrow`,ng=S.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=jh(n);return Qh(tg,n).isInside?null:(0,z.jsx)(sp,{...i,...r,ref:t})});ng.displayName=tg;function rg(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ig(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ag(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function og(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function sg(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),cg(t)}function cg(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var lg=Lh;function ug(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=ug(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function dg(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=ug(e))&&(r&&(r+=` `),r+=t);return r}var fg=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},pg=(e,t)=>({classGroupId:e,validator:t}),mg=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),hg=`-`,gg=[],_g=`arbitrary..`,vg=e=>{let t=xg(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return bg(e);let n=e.split(hg);return yg(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?fg(i,t):t:i||gg}return n[e]||gg}}},yg=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=yg(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(hg):e.slice(t).join(hg),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},bg=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?_g+r:void 0})(),xg=e=>{let{theme:t,classGroups:n}=e;return Sg(n,t)},Sg=(e,t)=>{let n=mg();for(let r in e){let i=e[r];Cg(i,n,r,t)}return n},Cg=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];wg(i,t,n,r)}},wg=(e,t,n,r)=>{if(typeof e==`string`){Tg(e,t,n);return}if(typeof e==`function`){Eg(e,t,n,r);return}Dg(e,t,n,r)},Tg=(e,t,n)=>{let r=e===``?t:Og(t,e);r.classGroupId=n},Eg=(e,t,n,r)=>{if(kg(e)){Cg(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(pg(n,e))},Dg=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Cg(o,Og(t,a),n,r)}},Og=(e,t)=>{let n=e,r=t.split(hg),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=mg(),n.nextPart.set(t,i)),n=i}return n},kg=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Ag=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},jg=`!`,Mg=`:`,Ng=[],Pg=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Fg=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Mg){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(jg)?(c=s.slice(0,-1),l=!0):s.startsWith(jg)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Pg(t,l,c,u)};if(t){let e=t+Mg,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Pg(Ng,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Ig=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Lg=e=>({cache:Ag(e.cacheSize),parseClassName:Fg(e),sortModifiers:Ig(e),...vg(e)}),Rg=/\s+/,zg=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(Rg),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+jg:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},Bg=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Vg(n))&&(i&&(i+=` `),i+=r);return i},Vg=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Vg(e[r]))&&(n&&(n+=` `),n+=t);return n},Hg=(e,...t)=>{let n,r,i,a,o=o=>(n=Lg(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=zg(e,n);return i(e,a),a};return a=o,(...e)=>a(Bg(...e))},Ug=[],Wg=e=>{let t=t=>t[e]||Ug;return t.isThemeGetter=!0,t},Gg=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Kg=/^\((?:(\w[\w-]*):)?(.+)\)$/i,qg=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Jg=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Yg=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Xg=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Zg=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Qg=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$g=e=>qg.test(e),e_=e=>!!e&&!Number.isNaN(Number(e)),t_=e=>!!e&&Number.isInteger(Number(e)),n_=e=>e.endsWith(`%`)&&e_(e.slice(0,-1)),r_=e=>Jg.test(e),i_=()=>!0,a_=e=>Yg.test(e)&&!Xg.test(e),o_=()=>!1,s_=e=>Zg.test(e),c_=e=>Qg.test(e),l_=e=>!K(e)&&!q(e),u_=e=>T_(e,k_,o_),K=e=>Gg.test(e),d_=e=>T_(e,A_,a_),f_=e=>T_(e,j_,e_),p_=e=>T_(e,N_,i_),m_=e=>T_(e,M_,o_),h_=e=>T_(e,D_,o_),g_=e=>T_(e,O_,c_),__=e=>T_(e,P_,s_),q=e=>Kg.test(e),v_=e=>E_(e,A_),y_=e=>E_(e,M_),b_=e=>E_(e,D_),x_=e=>E_(e,k_),S_=e=>E_(e,O_),C_=e=>E_(e,P_,!0),w_=e=>E_(e,N_,!0),T_=(e,t,n)=>{let r=Gg.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},E_=(e,t,n=!1)=>{let r=Kg.exec(e);return r?r[1]?t(r[1]):n:!1},D_=e=>e===`position`||e===`percentage`,O_=e=>e===`image`||e===`url`,k_=e=>e===`length`||e===`size`||e===`bg-size`,A_=e=>e===`length`,j_=e=>e===`number`,M_=e=>e===`family-name`,N_=e=>e===`number`||e===`weight`,P_=e=>e===`shadow`,F_=Hg(()=>{let e=Wg(`color`),t=Wg(`font`),n=Wg(`text`),r=Wg(`font-weight`),i=Wg(`tracking`),a=Wg(`leading`),o=Wg(`breakpoint`),s=Wg(`container`),c=Wg(`spacing`),l=Wg(`radius`),u=Wg(`shadow`),d=Wg(`inset-shadow`),f=Wg(`text-shadow`),p=Wg(`drop-shadow`),m=Wg(`blur`),h=Wg(`perspective`),g=Wg(`aspect`),_=Wg(`ease`),v=Wg(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),q,K],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[q,K,c],T=()=>[$g,`full`,`auto`,...w()],E=()=>[t_,`none`,`subgrid`,q,K],D=()=>[`auto`,{span:[`full`,t_,q,K]},t_,q,K],O=()=>[t_,`auto`,q,K],k=()=>[`auto`,`min`,`max`,`fr`,q,K],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[$g,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ee=()=>[$g,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],te=()=>[$g,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,q,K],F=()=>[...b(),b_,h_,{position:[q,K]}],ne=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],re=()=>[`auto`,`cover`,`contain`,x_,u_,{size:[q,K]}],ie=()=>[n_,v_,d_],I=()=>[``,`none`,`full`,l,q,K],L=()=>[``,e_,v_,d_],R=()=>[`solid`,`dashed`,`dotted`,`double`],ae=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],oe=()=>[e_,n_,b_,h_],se=()=>[``,`none`,m,q,K],ce=()=>[`none`,e_,q,K],le=()=>[`none`,e_,q,K],ue=()=>[e_,q,K],de=()=>[$g,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[r_],breakpoint:[r_],color:[i_],container:[r_],"drop-shadow":[r_],ease:[`in`,`out`,`in-out`],font:[l_],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[r_],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[r_],shadow:[r_],spacing:[`px`,e_],text:[r_],"text-shadow":[r_],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,$g,K,q,g]}],container:[`container`],columns:[{columns:[e_,K,q,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[t_,`auto`,q,K]}],basis:[{basis:[$g,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[e_,$g,`auto`,`initial`,`none`,K]}],grow:[{grow:[``,e_,q,K]}],shrink:[{shrink:[``,e_,q,K]}],order:[{order:[t_,`first`,`last`,`none`,q,K]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...ee()]}],"min-inline-size":[{"min-inline":[`auto`,...ee()]}],"max-inline-size":[{"max-inline":[`none`,...ee()]}],"block-size":[{block:[`auto`,...te()]}],"min-block-size":[{"min-block":[`auto`,...te()]}],"max-block-size":[{"max-block":[`none`,...te()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,v_,d_]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,w_,p_]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,n_,K]}],"font-family":[{font:[y_,m_,t]}],"font-features":[{"font-features":[K]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,q,K]}],"line-clamp":[{"line-clamp":[e_,`none`,q,f_]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,q,K]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,q,K]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...R(),`wavy`]}],"text-decoration-thickness":[{decoration:[e_,`from-font`,`auto`,q,d_]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[e_,`auto`,q,K]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,q,K]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,q,K]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:F()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:re()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},t_,q,K],radial:[``,q,K],conic:[t_,q,K]},S_,g_]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:L()}],"border-w-x":[{"border-x":L()}],"border-w-y":[{"border-y":L()}],"border-w-s":[{"border-s":L()}],"border-w-e":[{"border-e":L()}],"border-w-bs":[{"border-bs":L()}],"border-w-be":[{"border-be":L()}],"border-w-t":[{"border-t":L()}],"border-w-r":[{"border-r":L()}],"border-w-b":[{"border-b":L()}],"border-w-l":[{"border-l":L()}],"divide-x":[{"divide-x":L()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":L()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...R(),`hidden`,`none`]}],"divide-style":[{divide:[...R(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...R(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[e_,q,K]}],"outline-w":[{outline:[``,e_,v_,d_]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,C_,__]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,C_,__]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:L()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[e_,d_]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":L()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,C_,__]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[e_,q,K]}],"mix-blend":[{"mix-blend":[...ae(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ae()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[e_]}],"mask-image-linear-from-pos":[{"mask-linear-from":oe()}],"mask-image-linear-to-pos":[{"mask-linear-to":oe()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":oe()}],"mask-image-t-to-pos":[{"mask-t-to":oe()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":oe()}],"mask-image-r-to-pos":[{"mask-r-to":oe()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":oe()}],"mask-image-b-to-pos":[{"mask-b-to":oe()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":oe()}],"mask-image-l-to-pos":[{"mask-l-to":oe()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":oe()}],"mask-image-x-to-pos":[{"mask-x-to":oe()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":oe()}],"mask-image-y-to-pos":[{"mask-y-to":oe()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[q,K]}],"mask-image-radial-from-pos":[{"mask-radial-from":oe()}],"mask-image-radial-to-pos":[{"mask-radial-to":oe()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[e_]}],"mask-image-conic-from-pos":[{"mask-conic-from":oe()}],"mask-image-conic-to-pos":[{"mask-conic-to":oe()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:F()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:re()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,q,K]}],filter:[{filter:[``,`none`,q,K]}],blur:[{blur:se()}],brightness:[{brightness:[e_,q,K]}],contrast:[{contrast:[e_,q,K]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,C_,__]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,e_,q,K]}],"hue-rotate":[{"hue-rotate":[e_,q,K]}],invert:[{invert:[``,e_,q,K]}],saturate:[{saturate:[e_,q,K]}],sepia:[{sepia:[``,e_,q,K]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,q,K]}],"backdrop-blur":[{"backdrop-blur":se()}],"backdrop-brightness":[{"backdrop-brightness":[e_,q,K]}],"backdrop-contrast":[{"backdrop-contrast":[e_,q,K]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,e_,q,K]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[e_,q,K]}],"backdrop-invert":[{"backdrop-invert":[``,e_,q,K]}],"backdrop-opacity":[{"backdrop-opacity":[e_,q,K]}],"backdrop-saturate":[{"backdrop-saturate":[e_,q,K]}],"backdrop-sepia":[{"backdrop-sepia":[``,e_,q,K]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,q,K]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[e_,`initial`,q,K]}],ease:[{ease:[`linear`,`initial`,_,q,K]}],delay:[{delay:[e_,q,K]}],animate:[{animate:[`none`,v,q,K]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,q,K]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ce()}],"rotate-x":[{"rotate-x":ce()}],"rotate-y":[{"rotate-y":ce()}],"rotate-z":[{"rotate-z":ce()}],scale:[{scale:le()}],"scale-x":[{"scale-x":le()}],"scale-y":[{"scale-y":le()}],"scale-z":[{"scale-z":le()}],"scale-3d":[`scale-3d`],skew:[{skew:ue()}],"skew-x":[{"skew-x":ue()}],"skew-y":[{"skew-y":ue()}],transform:[{transform:[q,K,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,q,K]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,q,K]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[e_,v_,d_,f_]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function J(...e){return F_(dg(e))}function I_({className:e,children:t,...n}){return(0,z.jsxs)(Hm,{"data-slot":`scroll-area`,className:J(`relative`,e),...n,children:[(0,z.jsx)(Um,{"data-slot":`scroll-area-viewport`,className:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`,children:t}),(0,z.jsx)(L_,{}),(0,z.jsx)(Wm,{})]})}function L_({className:e,orientation:t=`vertical`,...n}){return(0,z.jsx)(gm,{"data-slot":`scroll-area-scrollbar`,"data-orientation":t,orientation:t,className:J(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,e),...n,children:(0,z.jsx)(Dm,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}function R_({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,z.jsx)(Xm,{"data-slot":`separator`,decorative:n,orientation:t,className:J(`shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,e),...r})}var z_=[{path:`/dashboard`,label:`仪表盘`,icon:eo},{path:`/kanban`,label:`看板`,icon:$a},{path:`/departments`,label:`部门`,icon:Ro},{path:`/memory`,label:`记忆`,icon:Oa},{path:`/cron`,label:`定时任务`,icon:Ra},{path:`/skills`,label:`技能`,icon:Oo},{path:`/settings`,label:`设置`,icon:To}];function B_(){return(0,z.jsxs)(`aside`,{className:`flex w-60 flex-col border-r border-border bg-card`,children:[(0,z.jsx)(I_,{className:`flex-1 px-3 py-4`,children:(0,z.jsx)(`nav`,{className:`flex flex-col gap-1`,children:z_.map(e=>{let t=e.icon;return(0,z.jsxs)(Dn,{to:e.path,end:e.path===`/kanban`,className:({isActive:e})=>J(`flex items-center gap-3 rounded-md px-3 py-2 text-sm font-medium transition-colors`,e?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent hover:text-accent-foreground`),children:[(0,z.jsx)(t,{className:`h-4 w-4`}),e.label]},e.path)})})}),(0,z.jsx)(R_,{}),(0,z.jsx)(`div`,{className:`px-3 py-3 text-xs text-muted-foreground`,children:`DuClaw Agent Manager`})]})}var V_=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,H_=dg,U_=(e,t)=>n=>{if(t?.variants==null)return H_(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=V_(t)||V_(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return H_(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},W_=U_(`group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50`,destructive:`bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xs:`h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,icon:`size-8`,"icon-xs":`size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function Y({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){return(0,z.jsx)(r?qo:`button`,{"data-slot":`button`,"data-variant":t,"data-size":n,className:J(W_({variant:t,size:n,className:e})),...i})}function G_({className:e}){let{resolvedTheme:t,setTheme:n}=Oi(),[r,i]=(0,S.useState)(!1);if((0,S.useEffect)(()=>{i(!0)},[]),!r)return(0,z.jsx)(Y,{variant:`outline`,size:`sm`,className:J(`min-w-18 opacity-0`,e),"aria-hidden":!0,tabIndex:-1,children:`占位`});let a=t===`dark`?`light`:`dark`,o=a===`light`?`日间`:`夜间`;return(0,z.jsxs)(Y,{type:`button`,variant:`outline`,size:`sm`,className:J(`min-w-18`,e),onClick:()=>n(a),"aria-label":`切换到${o}模式`,title:`切换到${o}模式`,children:[a===`light`?(0,z.jsx)(ko,{className:`size-3.5`}):(0,z.jsx)(fo,{className:`size-3.5`}),o]})}function K_(){return(0,z.jsxs)(`header`,{className:`flex h-14 items-center gap-3 border-b border-border bg-card px-6`,children:[(0,z.jsx)(eo,{className:`h-5 w-5 text-primary`}),(0,z.jsx)(`h1`,{className:`text-base font-semibold text-foreground`,children:`DuClaw Agent Manager`}),(0,z.jsxs)(`div`,{className:`ml-auto flex items-center gap-3`,children:[(0,z.jsx)(G_,{}),(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`v1.0`})]})]})}function q_(){return(0,z.jsxs)(`div`,{className:`flex h-dvh min-h-0 flex-col bg-background text-foreground`,children:[(0,z.jsx)(K_,{}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,z.jsx)(B_,{}),(0,z.jsx)(`main`,{className:`min-h-0 flex-1 overflow-auto overscroll-contain bg-background`,children:(0,z.jsx)(Mt,{})})]})]})}var J_=class extends Error{status;constructor(e,t){super(t),this.name=`ApiClientError`,this.status=e}};async function Y_(e){if(!e.ok){let t=`Request failed: ${e.status} ${e.statusText}`;try{let n=await e.json();n?.error?t=n.error:n?.message&&(t=n.message)}catch{try{let n=await e.text();n&&(t=n)}catch{}}throw new J_(e.status,t)}if(e.headers.get(`content-type`)?.includes(`application/json`))return e.json()}async function X_(e,t){let n=xi(e);if(t){let e=new URLSearchParams;for(let[n,r]of Object.entries(t))r!==void 0&&r!==``&&e.set(n,String(r));let r=e.toString();r&&(n+=`?${r}`)}return Y_(await fetch(n))}async function Z_(e,t){return Y_(await fetch(xi(e),{method:`POST`,headers:{"Content-Type":`application/json`},body:t?JSON.stringify(t):void 0}))}async function Q_(e,t){return Y_(await fetch(xi(e),{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}))}async function $_(e,t){return Y_(await fetch(xi(e),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}))}async function ev(e){return Y_(await fetch(xi(e),{method:`DELETE`}))}var tv=()=>X_(`/api/cron-jobs`),nv=e=>Z_(`/api/cron-jobs`,e),rv=(e,t)=>Q_(`/api/cron-jobs/${e}`,t),iv=e=>ev(`/api/cron-jobs/${e}`),av=(e,t)=>Q_(`/api/cron-jobs/${e}/toggle`,{enabled:t}),ov=e=>Z_(`/api/cron-jobs/${e}/trigger`),sv=e=>X_(`/api/cron-jobs/${e}/history`),cv={all:[`cronJobs`],detail:e=>[`cronJobs`,e],history:e=>[`cronJobs`,e,`history`]};function lv(){return gi({queryKey:cv.all,queryFn:tv})}function uv(e){return gi({queryKey:cv.history(e),queryFn:()=>sv(e),enabled:!!e})}function dv(){let e=ti();return _i({mutationFn:nv,onSuccess:()=>e.invalidateQueries({queryKey:cv.all})})}function fv(){let e=ti();return _i({mutationFn:iv,onSuccess:()=>e.invalidateQueries({queryKey:cv.all})})}var pv=()=>X_(`/api/goals`),mv=e=>Z_(`/api/goals`,e),hv=(e,t)=>Q_(`/api/goals/${e}`,t),gv=e=>ev(`/api/goals/${e}`),_v=5e3;function vv(){let[e,t]=(0,S.useState)([]),[n,r]=(0,S.useState)(!0),i=(0,S.useCallback)(async e=>{let n=e?.silent??!1;n||r(!0);try{t(await pv())}catch(e){console.error(`Failed to fetch goals:`,e)}finally{n||r(!1)}},[]);return(0,S.useEffect)(()=>{i()},[i]),(0,S.useEffect)(()=>{let e=()=>{typeof document<`u`&&document.visibilityState!==`visible`||i({silent:!0})},t=window.setInterval(e,_v);return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,e),()=>{window.clearInterval(t),window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,e)}},[i]),{goals:e,loading:n,reload:i,add:async e=>{let n=await mv(e);return t(e=>[...e,n]),n},update:async(e,n)=>{let r=await hv(e,n);return t(t=>t.map(t=>t.id===e?r:t)),r},remove:async e=>{await gv(e),t(t=>t.filter(t=>t.id!==e))}}}var yv=()=>X_(`/api/memory/users`),bv=e=>X_(`/api/memory`,{userId:e}),xv=e=>Z_(`/api/memory`,e),Sv=(e,t)=>$_(`/api/memory/${encodeURIComponent(e)}`,t),Cv=(e,t)=>ev(`/api/memory/${encodeURIComponent(e)}?userId=${encodeURIComponent(t)}`),wv=e=>X_(`/api/memory/dream`,{userId:e}),Tv=e=>X_(`/api/memory/context`,{userId:e}),Ev=()=>X_(`/api/memory/context-sources`),Dv=e=>X_(`/api/memory/compact`,{userId:e}),Ov=(e,t)=>X_(`/api/memory/recall`,{userId:e,query:t}),kv={all:[`memory`],users:[`memory`,`users`],list:e=>[`memory`,`list`,e],dream:e=>[`memory`,`dream`,e],context:e=>[`memory`,`context`,e],contextSources:[`memory`,`context-sources`],compact:e=>[`memory`,`compact`,e],recall:(e,t)=>[`memory`,`recall`,e,t]};function Av(){return gi({queryKey:kv.users,queryFn:yv})}function jv(e){return gi({queryKey:kv.list(e??``),queryFn:()=>bv(e),enabled:!!e})}function Mv(e){return gi({queryKey:kv.dream(e??``),queryFn:()=>wv(e),enabled:!!e})}function Nv(e){return gi({queryKey:kv.context(e??``),queryFn:()=>Tv(e),enabled:!!e})}function Pv(){return gi({queryKey:kv.contextSources,queryFn:Ev})}function Fv(e){return gi({queryKey:kv.compact(e??``),queryFn:()=>Dv(e),enabled:!!e})}function Iv(e,t=``){return gi({queryKey:kv.recall(e??``,t),queryFn:()=>Ov(e,t),enabled:!!e})}function Lv(){let e=ti();return _i({mutationFn:xv,onSuccess:t=>{e.invalidateQueries({queryKey:kv.users}),e.invalidateQueries({queryKey:kv.list(t.userId)}),e.invalidateQueries({queryKey:kv.context(t.userId)}),e.invalidateQueries({queryKey:kv.recall(t.userId,``)})}})}function Rv(){let e=ti();return _i({mutationFn:({id:e,data:t})=>Sv(e,t),onSuccess:t=>{e.invalidateQueries({queryKey:kv.users}),e.invalidateQueries({queryKey:kv.list(t.userId)}),e.invalidateQueries({queryKey:kv.context(t.userId)}),e.invalidateQueries({queryKey:kv.recall(t.userId,``)})}})}function zv(){let e=ti();return _i({mutationFn:({id:e,userId:t})=>Cv(e,t),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:kv.users}),e.invalidateQueries({queryKey:kv.list(n.userId)}),e.invalidateQueries({queryKey:kv.context(n.userId)}),e.invalidateQueries({queryKey:kv.recall(n.userId,``)})}})}var Bv=()=>X_(`/api/tools`),Vv=()=>X_(`/api/skills`),Hv=e=>ev(`/api/skills/${encodeURIComponent(e)}`),Uv={all:[`tools`]},Wv={all:[`skills`],detail:e=>[`skills`,e]};function Gv(){return gi({queryKey:Uv.all,queryFn:Bv})}function Kv(){return gi({queryKey:Wv.all,queryFn:Vv})}function qv(){let e=ti();return _i({mutationFn:e=>Hv(e),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:Wv.all}),e.invalidateQueries({queryKey:Wv.detail(n)})}})}var Jv=()=>X_(`/api/departments`),Yv=e=>X_(`/api/departments/${e}`),Xv=e=>Z_(`/api/departments`,{id:e.id??crypto.randomUUID().slice(0,8),departmentMembers:[],...e}),Zv=e=>ev(`/api/departments/${e}`),Qv=(e,t)=>Z_(`/api/departments/${e}/members`,{id:t.id??crypto.randomUUID().slice(0,8),role:t.role??`executor`,...t}),$v=(e,t)=>ev(`/api/departments/${e}/members/${t}`),ey=e=>X_(`/api/departments/${e}/activity`),ty=(e,t)=>X_(`/api/departments/${e}/members/${t}/context`),ny={all:[`departments`],detail:e=>[`departments`,e],activity:e=>[`departments`,e,`activity`],memberContext:(e,t)=>[`departments`,e,`members`,t,`context`]};function ry(){return gi({queryKey:ny.all,queryFn:Jv})}function iy(e){return gi({queryKey:ny.detail(e),queryFn:()=>Yv(e),enabled:!!e})}function ay(){let e=ti();return _i({mutationFn:Xv,onSuccess:()=>e.invalidateQueries({queryKey:ny.all})})}function oy(){let e=ti();return _i({mutationFn:Zv,onSuccess:()=>e.invalidateQueries({queryKey:ny.all})})}function sy(e){let t=ti();return _i({mutationFn:t=>Qv(e,t),onSuccess:()=>t.invalidateQueries({queryKey:ny.detail(e)})})}function cy(e){let t=ti();return _i({mutationFn:t=>$v(e,t),onSuccess:()=>t.invalidateQueries({queryKey:ny.detail(e)})})}function ly(e){return gi({queryKey:ny.activity(e),queryFn:()=>ey(e),enabled:!!e,refetchInterval:5e3})}function uy(e,t){return gi({queryKey:ny.memberContext(e,t??``),queryFn:()=>ty(e,t),enabled:!!e&&!!t})}function dy({children:e,className:t}){return(0,z.jsx)(`div`,{className:J(`p-6`,t),children:e})}var fy=U_(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function X({className:e,variant:t=`default`,asChild:n=!1,...r}){return(0,z.jsx)(n?qo:`span`,{"data-slot":`badge`,"data-variant":t,className:J(fy({variant:t}),e),...r})}function py({className:e,size:t=`default`,...n}){return(0,z.jsx)(`div`,{"data-slot":`card`,"data-size":t,className:J(`group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl`,e),...n})}function my({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-header`,className:J(`group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3`,e),...t})}function hy({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-title`,className:J(`font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm`,e),...t})}function gy({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-description`,className:J(`text-sm text-muted-foreground`,e),...t})}function _y({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-content`,className:J(`px-4 group-data-[size=sm]/card:px-3`,e),...t})}function vy({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`skeleton`,className:J(`animate-pulse rounded-md bg-muted`,e),...t})}var yy=2880*60*1e3,by=[{key:`task`,label:`任务管理`,keywords:[`task`,`goal`,`kanban`,`任务`,`目标`]},{key:`department`,label:`部门协作`,keywords:[`department`,`member`,`mailbox`,`communicate`,`部门`,`成员`,`邮箱`]},{key:`automation`,label:`自动化`,keywords:[`cron`,`schedule`,`timer`,`定时`,`自动`]},{key:`integration`,label:`集成工具`,keywords:[`lark`,`feishu`,`api`,`deploy`,`browser`,`飞书`,`部署`]},{key:`document`,label:`文档处理`,keywords:[`doc`,`sheet`,`presentation`,`markdown`,`文档`,`表格`,`幻灯片`]}];function xy(e){let t=[...e].sort(Oy)[0]??null,n=t?Ay(t.tasks):null,r=t?.tasks.filter(e=>e.status===`completed`).length??0,i=t?.tasks.length??0,a=t?.tasks.filter(e=>e.status!==`completed`&&e.blockedBy.length>0).map(e=>`${e.subject} 依赖 ${e.blockedBy.length} 项`)??[];return{goal:t,task:n,progress:i>0?Math.round(r/i*100):0,blockers:[...t?.blockers??[],...a]}}function Sy(e,t=Date.now()){let n=e.flatMap(e=>e.tasks),r=n.filter(e=>e.status===`completed`).sort(jy).slice(0,3);return{pending:n.filter(e=>e.status===`pending`).length,inProgress:n.filter(e=>e.status===`in_progress`).length,blocked:n.filter(e=>e.status!==`completed`&&e.blockedBy.length>0).length,completed:n.filter(e=>e.status===`completed`).length,ready:n.filter(e=>e.status===`pending`&&e.blockedBy.length===0).length,stale:n.filter(e=>e.status!==`completed`&&My(e.updatedAt,t,yy)).length,recentCompleted:r,total:n.length}}function Cy(e,t){let n=e??[],r=n[0]??null,i=n.reduce((e,t)=>e+t.departmentMembers.length,0),a=n.reduce((e,t)=>{let n=wy(t);return e+Math.max(0,t.departmentMembers.length-+!!n)},0),o=wy(r)?.name??`未配置 Department Head`,s=[...t??[]].sort((e,t)=>t.sendTime-e.sendTime),c=new Set(s.flatMap(e=>[e.fromMailboxId,e.toMailboxId]));return{totalDepartments:n.length,totalMembers:i,totalExecutors:a,activeDepartment:r,departmentHeadName:o,waitingReplies:s.filter(e=>e.status===`pending`||e.status===`processing`).length,latestActivity:s[0]?{content:s[0].content,status:s[0].status,sendTime:s[0].sendTime,fromMailboxId:s[0].fromMailboxId,toMailboxId:s[0].toMailboxId}:null,activeMembers:r?r.departmentMembers.filter(e=>c.has(e.mailBoxId)).length:0}}function wy(e){return e?e.departmentMembers.find(t=>t.id===e.headMemberId)??e.departmentMembers.find(e=>e.role===`department_head`)??null:null}function Ty(e){let t=e??[],n=t.filter(e=>e.enabled),r=t.filter(e=>!!e.schedule.lastRunTime).sort((e,t)=>Ny(t.schedule.lastRunTime)-Ny(e.schedule.lastRunTime));return{total:t.length,enabled:n.length,nextJob:n[0]??null,lastRunJob:r[0]??null,failed:0}}function Ey(e,t,n,r,i=Date.now()){let a=e??[],o=t??[],s=a[0]??null,c=n?.dreamContent.trim()?n.dreamContent.trim().replace(/\s+/g,` `).slice(0,72):null;return{userCount:a.length,totalMemories:s?.memoryCount??o.length,activeUser:s,latestMemories:[...o].sort((e,t)=>t.updatedAt-e.updatedAt).slice(0,3),weeklyAdded:o.length?o.filter(e=>i-e.createdAt<=6048e5).length:null,hasDream:!!((s?.hasDream??!1)||c),dreamContentPreview:c,lastDreamAt:n?.state?.lastDreamAt??s?.lastDreamAt??null,lastActivityAt:n?.state?.lastActivityAt??s?.lastActivityAt??null,hasMemoryContext:!!r?.memoryContextBlock.trim(),hasDreamContext:!!r?.dreamContextBlock.trim()}}function Dy(e){let t=e??[],n=new Map;by.forEach(e=>n.set(e.key,0)),n.set(`other`,0),t.forEach(e=>{let t=Py(e);n.set(t,(n.get(t)??0)+1)});let r=[...by.map(e=>({key:e.key,label:e.label,count:n.get(e.key)??0})),{key:`other`,label:`其他`,count:n.get(`other`)??0}];return{total:t.length,categories:r,recommended:r.filter(e=>e.count>0).sort((e,t)=>t.count-e.count).slice(0,3)}}function Oy(e,t){return ky(t)-ky(e)||Ny(t.createdAt)-Ny(e.createdAt)}function ky(e){let t=e.tasks.some(e=>e.status===`in_progress`),n=e.tasks.some(e=>e.status===`pending`);return e.status===`in_progress`&&t?4:e.status===`in_progress`?3:n?2:1}function Ay(e){return e.find(e=>e.status===`in_progress`)??e.find(e=>e.status===`pending`&&e.blockedBy.length===0)??[...e].filter(e=>e.status===`pending`).sort(jy)[0]??e[0]??null}function jy(e,t){return Ny(t.updatedAt)-Ny(e.updatedAt)}function My(e,t,n){let r=Ny(e);return r>0&&t-r>n}function Ny(e){if(!e)return 0;let t=new Date(e).getTime();return Number.isFinite(t)?t:0}function Py(e){let t=`${e.name} ${e.description}`.toLowerCase();return by.find(e=>e.keywords.some(e=>t.includes(e.toLowerCase())))?.key??`other`}function Fy(){let{goals:e,loading:t}=vv(),{data:n,isLoading:r,isError:i}=ry(),{data:a,isLoading:o,isError:s}=ly(n?.[0]?.name??``),{data:c,isLoading:l,isError:u}=lv(),{data:d,isLoading:f,isError:p}=Av(),m=d?.[0]?.userId??null,{data:h,isLoading:g,isError:_}=jv(m),{data:v,isLoading:y,isError:b}=Mv(m),{data:x,isLoading:C,isError:w}=Nv(m),{data:T,isLoading:E,isError:D}=Kv(),O=(0,S.useMemo)(()=>xy(e),[e]),k=(0,S.useMemo)(()=>Sy(e),[e]),A=(0,S.useMemo)(()=>Cy(n,a?.messages),[n,a]),j=(0,S.useMemo)(()=>Ty(c),[c]),M=(0,S.useMemo)(()=>Ey(d,h,v,x),[d,h,v,x]),N=(0,S.useMemo)(()=>Dy(T),[T]);return(0,z.jsx)(dy,{children:(0,z.jsxs)(`div`,{className:`mx-auto max-w-7xl space-y-4 pb-6`,children:[(0,z.jsx)(Iy,{}),(0,z.jsx)(Ly,{focus:O,loading:t}),(0,z.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1.15fr)_minmax(360px,0.85fr)]`,children:[(0,z.jsx)(Ry,{loading:t,summary:k}),(0,z.jsx)(zy,{loading:r,activityLoading:o,hasError:i,activityError:s,summary:A})]}),(0,z.jsxs)(`div`,{className:`grid items-start gap-4 xl:grid-cols-[minmax(0,0.92fr)_minmax(0,0.98fr)_minmax(520px,1.18fr)]`,children:[(0,z.jsx)(By,{loading:l,hasError:u,summary:j}),(0,z.jsx)(Vy,{loading:f||g||y||C,hasError:p||_||b||w,summary:M}),(0,z.jsx)(Hy,{loading:E,hasError:D,summary:N})]}),(0,z.jsx)(Uy,{states:[{label:`运行模式`,value:`本地模式`,state:`ok`},{label:`消息队列`,value:i?`未检测`:`正常`,state:i?`warn`:`ok`},{label:`最近同步`,value:`刚刚`,state:`ok`},{label:`API 配置`,value:`进入设置查看`,state:`idle`},{label:`LLM 配置`,value:`进入设置查看`,state:`idle`},{label:`错误日志`,value:i||u||p||D?`有模块异常`:`无最近错误`,state:i||u||p||D?`warn`:`ok`}]})]})})}function Iy(){return(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:[eb(),`,DuClaw`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`你的 Agent 正在为你努力工作中`})]}),(0,z.jsxs)(Y,{variant:`outline`,onClick:()=>Qi.info(`定制仪表盘将在后续阶段支持`),children:[(0,z.jsx)(Ja,{className:`h-4 w-4`}),`定制仪表盘`]})]})}function Ly({focus:e,loading:t}){let n=e.goal,r=e.task,i=n?`/kanban/${n.id}`:`/kanban`;return(0,z.jsxs)(py,{className:`shadow-sm`,children:[(0,z.jsx)(my,{className:`pb-1`,children:(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(jo,{className:`h-4 w-4 text-primary`}),`今日焦点 / 当前主线`]})}),(0,z.jsx)(_y,{children:t?(0,z.jsx)(`div`,{className:`grid gap-4 lg:grid-cols-5`,children:Array.from({length:5}).map((e,t)=>(0,z.jsx)(vy,{className:`h-28 w-full`},t))}):n?(0,z.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-[1.2fr_1fr_1.05fr_1fr_0.9fr]`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 border-b border-border pb-4 lg:border-r lg:border-b-0 lg:pr-4 lg:pb-0`,children:[(0,z.jsx)($y,{children:`当前最重要的 Goal`}),(0,z.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(0,z.jsx)(`h2`,{className:`truncate text-base font-semibold`,children:n.subject}),(0,z.jsx)(X,{variant:`secondary`,children:tb(n.status)})]}),(0,z.jsx)(`p`,{className:`mt-2 line-clamp-2 text-sm text-muted-foreground`,children:n.summary||n.description||`暂无需求描述`}),(0,z.jsxs)(`div`,{className:`mt-4`,children:[(0,z.jsxs)(`div`,{className:`mb-1 flex items-center justify-between text-xs`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`进度`}),(0,z.jsxs)(`span`,{className:`font-medium`,children:[e.progress,`%`]})]}),(0,z.jsx)(`div`,{className:`h-2 overflow-hidden rounded-full bg-muted`,children:(0,z.jsx)(`div`,{className:`h-full rounded-full bg-emerald-500`,style:{width:`${e.progress}%`}})})]})]}),(0,z.jsxs)(`div`,{className:`min-w-0 border-b border-border pb-4 lg:border-r lg:border-b-0 lg:pr-4 lg:pb-0`,children:[(0,z.jsx)($y,{children:`当前执行的 Task`}),(0,z.jsx)(`h3`,{className:`mt-2 line-clamp-2 font-semibold`,children:r?.subject??`暂无待处理任务`}),(0,z.jsx)(`p`,{className:`mt-2 line-clamp-3 text-sm text-muted-foreground`,children:r?.description||`这个 Goal 暂时没有可展示的任务描述。`}),(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(Da,{className:`h-3.5 w-3.5`}),`负责人 `,r?`DuClaw`:`待分配`]})]}),(0,z.jsxs)(`div`,{className:`min-w-0 border-b border-border pb-4 lg:border-r lg:border-b-0 lg:pr-4 lg:pb-0`,children:[(0,z.jsx)($y,{children:`下一步行动 nextAction`}),(0,z.jsx)(`h3`,{className:`mt-2 line-clamp-2 font-semibold`,children:n.nextAction||`进入看板继续拆解下一步`}),(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(La,{className:`h-3.5 w-3.5`}),`预计 2 小时`]}),(0,z.jsx)(Y,{className:`mt-4`,size:`sm`,asChild:!0,children:(0,z.jsx)(En,{to:i,children:`继续处理`})})]}),(0,z.jsxs)(`div`,{className:`min-w-0 border-b border-border pb-4 lg:border-r lg:border-b-0 lg:pr-4 lg:pb-0`,children:[(0,z.jsx)($y,{children:`阻塞项 blockers`}),(0,z.jsx)(`div`,{className:`mt-2 flex items-center gap-2`,children:(0,z.jsxs)(X,{variant:e.blockers.length?`destructive`:`secondary`,children:[e.blockers.length,` 个阻塞项`]})}),(0,z.jsx)(`ul`,{className:`mt-3 space-y-1 text-sm text-muted-foreground`,children:(e.blockers.length?e.blockers.slice(0,2):[`暂无阻塞,适合继续推进`]).map(e=>(0,z.jsxs)(`li`,{className:`line-clamp-1`,children:[`• `,e]},e))}),(0,z.jsx)(Y,{className:`mt-3 px-0`,variant:`link`,size:`sm`,asChild:!0,children:(0,z.jsx)(En,{to:i,children:`查看详情`})})]}),(0,z.jsxs)(`div`,{className:`flex min-h-32 flex-col items-center justify-center rounded-lg border border-primary/20 bg-primary/5 p-4 text-center`,children:[(0,z.jsx)(Ja,{className:`mb-3 h-8 w-8 rounded-lg bg-primary/10 p-1.5 text-primary`}),(0,z.jsx)(Y,{variant:`link`,asChild:!0,children:(0,z.jsx)(En,{to:i,children:`进入看板`})}),(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`查看完整任务流和依赖关系`})]})]}):(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-4 rounded-lg border border-dashed border-border bg-muted/30 p-6`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`font-medium`,children:`还没有主线任务`}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`先创建一个 Goal,Dashboard 会自动把下一步和阻塞项整理出来。`})]}),(0,z.jsx)(Y,{asChild:!0,children:(0,z.jsxs)(En,{to:`/kanban`,children:[`进入看板`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})]})})]})}function Ry({loading:e,summary:t}){let n=[{label:`待处理`,value:t.pending,className:`bg-blue-500`},{label:`进行中`,value:t.inProgress,className:`bg-indigo-500`},{label:`阻塞`,value:t.blocked,className:`bg-rose-500`},{label:`已完成`,value:t.completed,className:`bg-emerald-500`}];return(0,z.jsxs)(py,{className:`shadow-sm`,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(no,{className:`h-4 w-4 text-primary`}),`任务流健康度`]})}),(0,z.jsx)(_y,{children:e?(0,z.jsx)(vy,{className:`h-36 w-full`}):(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsx)(`div`,{className:`flex h-2 overflow-hidden rounded-full bg-muted`,children:n.map(e=>(0,z.jsx)(`div`,{className:e.className,style:{width:`${t.total?Math.max(e.value/t.total*100,e.value?8:0):0}%`}},e.label))}),(0,z.jsx)(`div`,{className:`grid grid-cols-2 gap-2 sm:grid-cols-4`,children:n.map(e=>(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,z.jsx)(`div`,{className:`mt-1 text-xl font-semibold`,children:e.value})]},e.label))}),(0,z.jsxs)(`div`,{className:`grid gap-3 lg:grid-cols-[0.85fr_1fr]`,children:[(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,z.jsx)(Gy,{label:`可立即执行`,value:t.ready}),(0,z.jsx)(Gy,{label:`超时未动`,value:t.stale})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`mb-2 text-xs font-medium text-muted-foreground`,children:`最近完成的任务`}),(0,z.jsx)(`div`,{className:`space-y-2`,children:t.recentCompleted.length?t.recentCompleted.map(e=>(0,z.jsx)(qy,{task:e},e.id)):(0,z.jsx)(`div`,{className:`rounded-lg border border-dashed border-border p-3 text-sm text-muted-foreground`,children:`暂无已完成任务`})})]})]})]})})]})}function zy({loading:e,activityLoading:t,hasError:n,activityError:r,summary:i}){return(0,z.jsxs)(py,{className:`shadow-sm`,children:[(0,z.jsxs)(my,{className:`flex-row items-center justify-between`,children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Ro,{className:`h-4 w-4 text-primary`}),`Agent 队伍工作台`]}),(0,z.jsxs)(X,{variant:`secondary`,children:[`部门总数 `,i.totalDepartments]})]}),(0,z.jsx)(_y,{children:e?(0,z.jsx)(vy,{className:`h-32 w-full`}):n?(0,z.jsx)(Qy,{text:`部门状态暂时读不到,可以稍后刷新。`}):(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)($y,{children:`当前 Department Head`}),(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-3`,children:[(0,z.jsx)(Yy,{label:i.departmentHeadName}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`truncate text-sm font-medium`,children:i.departmentHeadName}),(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`负责部门统筹与汇总`})]})]})]}),(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)($y,{children:`组织层级`}),(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`text-2xl font-semibold`,children:i.totalExecutors}),(0,z.jsx)(X,{variant:`secondary`,children:`executor`})]}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:`Department Head 对CEO可见,executor 由负责人管理`})]}),(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)($y,{children:`最近邮箱事件`}),t?(0,z.jsx)(vy,{className:`mt-3 h-10 w-full`}):(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-3`,children:[(0,z.jsx)(lo,{className:`h-8 w-8 rounded-lg bg-background p-2 text-muted-foreground`}),(0,z.jsxs)(`div`,{className:`min-w-0 text-sm`,children:[(0,z.jsx)(`div`,{className:`truncate`,children:i.latestActivity?.content??i.activeDepartment?.name??`暂无部门`}),(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:i.latestActivity?`${nb(i.latestActivity.status)} · ${ib(i.latestActivity.sendTime)}`:r?`部门活动暂时读不到`:i.activeDepartment?`暂无部门活动`:`创建部门后显示协作状态`})]})]})]})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 rounded-lg border border-border bg-muted/25 px-3 py-2 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{children:[`待处理邮箱 `,i.waitingReplies]}),(0,z.jsxs)(`span`,{children:[`活跃成员 `,i.activeMembers]}),(0,z.jsxs)(`span`,{children:[`总成员 `,i.totalMembers]})]}),(0,z.jsx)(`div`,{className:`text-center`,children:(0,z.jsx)(Y,{variant:`link`,asChild:!0,children:(0,z.jsxs)(En,{to:i.activeDepartment?`/departments/${i.activeDepartment.name}`:`/departments`,children:[`查看部门详情`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})})]})})]})}function By({loading:e,hasError:t,summary:n}){return(0,z.jsx)(Wy,{icon:ka,title:`自动化时间线`,children:e?(0,z.jsx)(vy,{className:`h-32 w-full`}):t?(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsx)(Qy,{text:`定时任务状态暂时读不到。`}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,z.jsx)(Ky,{label:`下次执行`,value:`待同步`}),(0,z.jsx)(Ky,{label:`运行记录`,value:`待同步`})]}),(0,z.jsx)(Y,{className:`px-0`,variant:`link`,asChild:!0,children:(0,z.jsxs)(En,{to:`/cron`,children:[`管理定时任务`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})]}):(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsx)(Jy,{icon:ka,label:`下一次将执行`,title:n.nextJob?.title??`暂无启用任务`,description:n.nextJob?n.nextJob.schedule.syntax:`创建自动化后会显示在这里`}),(0,z.jsx)(Jy,{icon:Fa,label:`最近一次执行`,title:n.lastRunJob?.title??`暂无执行记录`,description:n.lastRunJob?.schedule.lastRunTime?rb(n.lastRunJob.schedule.lastRunTime):`运行后会记录最近时间`}),(0,z.jsx)(Jy,{icon:Pa,label:`失败的定时任务`,title:n.failed?`${n.failed} 个失败任务`:`无失败任务`,description:`${n.enabled} / ${n.total} 已启用`}),(0,z.jsx)(Y,{className:`px-0`,variant:`link`,asChild:!0,children:(0,z.jsxs)(En,{to:`/cron`,children:[`管理定时任务`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})]})})}function Vy({loading:e,hasError:t,summary:n}){return(0,z.jsx)(Wy,{icon:Oa,title:`记忆与上下文状态`,children:e?(0,z.jsx)(vy,{className:`h-32 w-full`}):t?(0,z.jsx)(Qy,{text:`记忆状态暂时读不到,可以稍后刷新。`}):(0,z.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-[148px_1fr] xl:grid-cols-1 2xl:grid-cols-[148px_1fr]`,children:[(0,z.jsxs)(`div`,{className:`rounded-lg border border-border bg-muted/20 p-3`,children:[(0,z.jsx)($y,{children:`长期记忆`}),(0,z.jsx)(`div`,{className:`mt-1 text-3xl font-semibold leading-none`,children:n.totalMemories}),(0,z.jsx)(`div`,{className:`mt-2 text-xs text-muted-foreground`,children:`当前用户记忆数量`}),n.weeklyAdded!==null&&(0,z.jsxs)(X,{className:`mt-2`,variant:`secondary`,children:[`+`,n.weeklyAdded,` 本周`]})]}),(0,z.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)($y,{children:`最近更新的记忆`}),(0,z.jsx)(`div`,{className:`mt-2 space-y-1.5`,children:n.latestMemories.length?n.latestMemories.slice(0,3).map(e=>(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-sm`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:e.title}),(0,z.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:ib(e.updatedAt)})]},e.id)):(0,z.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`暂无长期记忆`})})]}),(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-2.5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:n.hasDream?`default`:`secondary`,children:n.hasDream?`已有梦境摘要`:`暂无梦境摘要`}),(0,z.jsxs)(X,{variant:`outline`,children:[n.userCount,` 个用户`]}),(0,z.jsx)(X,{variant:n.hasMemoryContext?`secondary`:`outline`,children:n.hasMemoryContext?`记忆已注入`:`无记忆注入`}),(0,z.jsx)(X,{variant:n.hasDreamContext?`secondary`:`outline`,children:n.hasDreamContext?`梦境已注入`:`无梦境注入`})]}),(0,z.jsx)(`div`,{className:`mt-2 line-clamp-2 text-xs text-muted-foreground`,children:n.dreamContentPreview?n.dreamContentPreview:n.lastActivityAt?`最近活动 ${ib(n.lastActivityAt)}`:`暂无可注入的上下文摘要`})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,z.jsx)(Y,{variant:`outline`,size:`sm`,asChild:!0,children:(0,z.jsx)(En,{to:`/memory`,children:`查看记忆库`})}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,asChild:!0,children:(0,z.jsx)(En,{to:`/memory`,children:`上下文预览`})})]})]})]})})}function Hy({loading:e,hasError:t,summary:n}){return(0,z.jsx)(Wy,{icon:Oo,title:`技能雷达`,children:e?(0,z.jsx)(vy,{className:`h-32 w-full`}):t?(0,z.jsx)(Qy,{text:`技能列表暂时读不到。`}):(0,z.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-[150px_1fr]`,children:[(0,z.jsxs)(`div`,{className:`rounded-lg bg-primary/5 p-3`,children:[(0,z.jsx)($y,{children:`已安装技能`}),(0,z.jsx)(`div`,{className:`mt-1 text-3xl font-semibold leading-none`,children:n.total}),(0,z.jsx)(`div`,{className:`mt-3`,children:(0,z.jsx)(Xy,{categories:n.categories})})]}),(0,z.jsxs)(`div`,{className:`min-w-0 space-y-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)($y,{children:`技能类别分布`}),(0,z.jsx)(`div`,{className:`mt-2 grid grid-cols-2 gap-x-4 gap-y-1.5`,children:n.categories.map(e=>(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-sm`,children:[(0,z.jsx)(`span`,{className:`truncate text-muted-foreground`,children:e.label}),(0,z.jsx)(`span`,{className:`font-medium`,children:e.count})]},e.key))})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)($y,{children:`推荐常用`}),(0,z.jsx)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-3`,children:(n.recommended.length?n.recommended:n.categories.slice(0,3)).map(e=>(0,z.jsx)(Zy,{category:e},e.key))})]}),(0,z.jsx)(Y,{className:`px-0`,variant:`link`,asChild:!0,children:(0,z.jsxs)(En,{to:`/skills`,children:[`查看技能库`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})]})]})})}function Uy({states:e}){return(0,z.jsx)(py,{className:`shadow-sm`,children:(0,z.jsxs)(_y,{className:`py-4`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 font-medium`,children:[(0,z.jsx)(Ga,{className:`h-4 w-4 text-muted-foreground`}),`系统运行状态`]}),(0,z.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-6`,children:e.map(e=>(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`span`,{className:e.state===`ok`?`h-2.5 w-2.5 rounded-full bg-emerald-500`:e.state===`warn`?`h-2.5 w-2.5 rounded-full bg-amber-500`:`h-2.5 w-2.5 rounded-full bg-muted-foreground/50`}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,z.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.value})]})]},e.label))})]})})}function Wy({icon:e,title:t,children:n}){return(0,z.jsxs)(py,{size:`sm`,className:`shadow-sm`,children:[(0,z.jsx)(my,{className:`pb-0`,children:(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(e,{className:`h-4 w-4 text-primary`}),t]})}),(0,z.jsx)(_y,{children:n})]})}function Gy({label:e,value:t}){return(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e}),(0,z.jsx)(`div`,{className:`mt-1 text-xl font-semibold`,children:t})]})}function Ky({label:e,value:t}){return(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 px-3 py-2`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e}),(0,z.jsx)(`div`,{className:`mt-1 truncate text-sm font-medium`,children:t})]})}function qy({task:e}){return(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-sm`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(Fa,{className:`h-4 w-4 shrink-0 text-emerald-500`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.subject})]}),(0,z.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:rb(e.updatedAt)})]})}function Jy({icon:e,label:t,title:n,description:r}){return(0,z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,z.jsx)(e,{className:`mt-0.5 h-4 w-4 shrink-0 text-primary`}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)($y,{children:t}),(0,z.jsx)(`div`,{className:`mt-1 truncate text-sm font-medium`,children:n}),(0,z.jsx)(`div`,{className:`mt-1 line-clamp-2 text-xs text-muted-foreground`,children:r})]})]})}function Yy({label:e}){return(0,z.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-primary/10 text-sm font-semibold text-primary`,children:e.slice(0,1).toUpperCase()})}function Xy({categories:e}){let t=Math.max(...e.map(e=>e.count),1);return(0,z.jsxs)(`div`,{className:`grid h-24 w-24 place-items-center rounded-full border border-primary/20 bg-background/80`,children:[(0,z.jsx)(`div`,{className:`grid h-16 w-16 place-items-center rounded-full border border-primary/25 bg-primary/10`,children:(0,z.jsx)(`div`,{className:`grid h-10 w-10 place-items-center rounded-full border border-primary/30 bg-primary/15`,children:(0,z.jsx)(_o,{className:`h-4 w-4 text-primary`})})}),(0,z.jsx)(`div`,{className:`sr-only`,children:e.map(e=>`${e.label}: ${Math.round(e.count/t*100)}%`).join(`, `)})]})}function Zy({category:e}){return(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-lg bg-muted/40 px-2.5 py-2 text-sm leading-tight`,children:[(0,z.jsx)(Eo,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`truncate font-medium`,children:e.label}),(0,z.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:{task:`推进目标和任务`,department:`组织部门协作`,automation:`自动生成报告`,document:`处理文档材料`,integration:`连接外部工具`,other:`扩展更多能力`}[e.key]})]}),(0,z.jsx)(Na,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]})}function Qy({text:e}){return(0,z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 p-3 text-sm text-amber-700 dark:text-amber-300`,children:[(0,z.jsx)(vo,{className:`h-4 w-4`}),e]})}function $y({children:e}){return(0,z.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:e})}function eb(){let e=new Date().getHours();return e<12?`早上好`:e<18?`下午好`:`晚上好`}function tb(e){return{pending:`待处理`,in_progress:`进行中`,completed:`已完成`,failed:`失败`}[e]??e}function nb(e){return{pending:`等待处理`,processing:`处理中`,done:`已完成`,failed:`失败`,cancelled:`已取消`,read:`已读`}[e]??e}function rb(e){let t=new Date(e).getTime();if(!Number.isFinite(t))return`未知`;let n=Date.now()-t,r=3600*1e3;return n<r?`刚刚`:n<24*r?`${Math.max(1,Math.round(n/r))} 小时前`:new Date(e).toLocaleDateString()}function ib(e){if(!e)return`未知`;let t=Date.now()-e,n=3600*1e3;return t<n?`刚刚`:t<24*n?`${Math.max(1,Math.round(t/n))} 小时前`:new Date(e).toLocaleDateString()}var ab=e=>X_(`/api/goals/${e}/tasks`),ob=(e,t,n)=>Z_(`/api/goals/${e}/tasks`,{subject:t,description:n}),sb=(e,t,n)=>Q_(`/api/goals/${e}/tasks/${t}`,n),cb=(e,t)=>ev(`/api/goals/${e}/tasks/${t}`),lb=5e3;function ub(e){let[t,n]=(0,S.useState)([]),[r,i]=(0,S.useState)(!1),a=(0,S.useCallback)(async t=>{if(!e){n([]);return}let r=t?.silent??!1;r||i(!0);try{n(await ab(e))}catch(e){console.error(`Failed to fetch tasks:`,e)}finally{r||i(!1)}},[e]);return(0,S.useEffect)(()=>{a()},[a]),(0,S.useEffect)(()=>{if(!e)return;let t=()=>{typeof document<`u`&&document.visibilityState!==`visible`||a({silent:!0})},n=window.setInterval(t,lb);return window.addEventListener(`focus`,t),document.addEventListener(`visibilitychange`,t),()=>{window.clearInterval(n),window.removeEventListener(`focus`,t),document.removeEventListener(`visibilitychange`,t)}},[e,a]),{tasks:t,loading:r,reload:a,add:async(t,r)=>{if(!e)return;let i=await ob(e,t,r);return n(e=>[...e,i]),i},updateStatus:async(t,r)=>{if(!e)return;let i=await sb(e,t,{status:r});n(e=>e.map(e=>e.id===t?i:e))},update:async(t,r)=>{if(!e)return;let i=await sb(e,t,r);n(e=>e.map(e=>e.id===t?i:e))},remove:async t=>{e&&(await cb(e,t),n(e=>e.filter(e=>e.id!==t)))}}}var db=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function fb(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function pb(e){return`nodeType`in e}function mb(e){return e?fb(e)?e:pb(e)?e.ownerDocument?.defaultView??window:window:window}function hb(e){let{Document:t}=mb(e);return e instanceof t}function gb(e){return fb(e)?!1:e instanceof mb(e).HTMLElement}function _b(e){return e instanceof mb(e).SVGElement}function vb(e){return e?fb(e)?e.document:pb(e)?hb(e)?e:gb(e)||_b(e)?e.ownerDocument:document:document:document}var yb=db?S.useLayoutEffect:S.useEffect;function bb(e){let t=(0,S.useRef)(e);return yb(()=>{t.current=e}),(0,S.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function xb(){let e=(0,S.useRef)(null);return[(0,S.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,S.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Sb(e,t){t===void 0&&(t=[e]);let n=(0,S.useRef)(e);return yb(()=>{n.current!==e&&(n.current=e)},t),n}function Cb(e,t){let n=(0,S.useRef)();return(0,S.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function wb(e){let t=bb(e),n=(0,S.useRef)(null);return[n,(0,S.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Tb(e){let t=(0,S.useRef)();return(0,S.useEffect)(()=>{t.current=e},[e]),t.current}var Eb={};function Db(e,t){return(0,S.useMemo)(()=>{if(t)return t;let n=Eb[e]==null?0:Eb[e]+1;return Eb[e]=n,e+`-`+n},[e,t])}function Ob(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var kb=Ob(1),Ab=Ob(-1);function jb(e){return`clientX`in e&&`clientY`in e}function Mb(e){if(!e)return!1;let{KeyboardEvent:t}=mb(e.target);return t&&e instanceof t}function Nb(e){if(!e)return!1;let{TouchEvent:t}=mb(e.target);return t&&e instanceof t}function Pb(e){if(Nb(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return jb(e)?{x:e.clientX,y:e.clientY}:null}var Fb=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[Fb.Translate.toString(e),Fb.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Ib=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Lb(e){return e.matches(Ib)?e:e.querySelector(Ib)}var Rb={display:`none`};function zb(e){let{id:t,value:n}=e;return S.createElement(`div`,{id:t,style:Rb},n)}function Bb(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return S.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Vb(){let[e,t]=(0,S.useState)(``);return{announce:(0,S.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Hb=(0,S.createContext)(null);function Ub(e){let t=(0,S.useContext)(Hb);(0,S.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Wb(){let[e]=(0,S.useState)(()=>new Set),t=(0,S.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,S.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Gb={draggable:`
55
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return S.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},mu=`DialogDescriptionWarning`,hu=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${fu(mu).contentName}}.`;return S.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},gu=Hl,_u=ql,vu=Yl,yu=$l,bu=iu,xu=ou,Su=cu;function Cu(e){let t=S.useRef({value:e,previous:e});return S.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function wu(e){let[t,n]=S.useState(void 0);return us(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Tu=[`top`,`right`,`bottom`,`left`],Eu=Math.min,Du=Math.max,Ou=Math.round,ku=Math.floor,Au=e=>({x:e,y:e}),ju={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Mu(e,t,n){return Du(e,Eu(t,n))}function Nu(e,t){return typeof e==`function`?e(t):e}function Pu(e){return e.split(`-`)[0]}function Fu(e){return e.split(`-`)[1]}function Iu(e){return e===`x`?`y`:`x`}function Lu(e){return e===`y`?`height`:`width`}function Ru(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function zu(e){return Iu(Ru(e))}function Bu(e,t,n){n===void 0&&(n=!1);let r=Fu(e),i=zu(e),a=Lu(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Yu(o)),[o,Yu(o)]}function Vu(e){let t=Yu(e);return[Hu(e),t,Hu(t)]}function Hu(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Uu=[`left`,`right`],Wu=[`right`,`left`],Gu=[`top`,`bottom`],Ku=[`bottom`,`top`];function qu(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Wu:Uu:t?Uu:Wu;case`left`:case`right`:return t?Gu:Ku;default:return[]}}function Ju(e,t,n,r){let i=Fu(e),a=qu(Pu(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Hu)))),a}function Yu(e){let t=Pu(e);return ju[t]+e.slice(t.length)}function Xu(e){return{top:0,right:0,bottom:0,left:0,...e}}function Zu(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Xu(e)}function Qu(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function $u(e,t,n){let{reference:r,floating:i}=e,a=Ru(t),o=zu(t),s=Lu(o),c=Pu(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Fu(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ed(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Nu(t,e),p=Zu(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Qu(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Qu(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var td=50,nd=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ed},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=$u(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<td&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=$u(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},rd=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Nu(e,t)||{};if(l==null)return{};let d=Zu(u),f={x:n,y:r},p=zu(i),m=Lu(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Eu(d[_],T),D=Eu(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Mu(O,A,k),M=!c.arrow&&Fu(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),id=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Nu(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Pu(r),_=Ru(o),v=Pu(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Yu(o)]:Vu(o)),x=p!==`none`;!d&&x&&b.push(...Ju(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Bu(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Ru(t))||T.every(e=>Ru(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Ru(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function ad(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function od(e){return Tu.some(t=>e[t]>=0)}var sd=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Nu(e,t);switch(i){case`referenceHidden`:{let e=ad(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:od(e)}}}case`escaped`:{let e=ad(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:od(e)}}}default:return{}}}}},cd=new Set([`left`,`top`]);async function ld(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Pu(n),s=Fu(n),c=Ru(n)===`y`,l=cd.has(o)?-1:1,u=a&&c?-1:1,d=Nu(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ud=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await ld(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},dd=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Nu(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Ru(Pu(i)),p=Iu(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Mu(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Mu(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},fd=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Nu(e,t),u={x:n,y:r},d=Ru(i),f=Iu(d),p=u[f],m=u[d],h=Nu(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=cd.has(Pu(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},pd=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Nu(e,t),u=await o.detectOverflow(t,l),d=Pu(i),f=Fu(i),p=Ru(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Eu(h-u[g],v),x=Eu(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Du(u.left,0),t=Du(u.right,0),n=Du(u.top,0),r=Du(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:Du(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Du(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function md(){return typeof window<`u`}function hd(e){return vd(e)?(e.nodeName||``).toLowerCase():`#document`}function gd(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function _d(e){return((vd(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function vd(e){return md()?e instanceof Node||e instanceof gd(e).Node:!1}function yd(e){return md()?e instanceof Element||e instanceof gd(e).Element:!1}function bd(e){return md()?e instanceof HTMLElement||e instanceof gd(e).HTMLElement:!1}function xd(e){return!md()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof gd(e).ShadowRoot}function Sd(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Md(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Cd(e){return/^(table|td|th)$/.test(hd(e))}function wd(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Td=/transform|translate|scale|rotate|perspective|filter/,Ed=/paint|layout|strict|content/,G=e=>!!e&&e!==`none`,Dd;function Od(e){let t=yd(e)?Md(e):e;return G(t.transform)||G(t.translate)||G(t.scale)||G(t.rotate)||G(t.perspective)||!Ad()&&(G(t.backdropFilter)||G(t.filter))||Td.test(t.willChange||``)||Ed.test(t.contain||``)}function kd(e){let t=Pd(e);for(;bd(t)&&!jd(t);){if(Od(t))return t;if(wd(t))return null;t=Pd(t)}return null}function Ad(){return Dd??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Dd}function jd(e){return/^(html|body|#document)$/.test(hd(e))}function Md(e){return gd(e).getComputedStyle(e)}function Nd(e){return yd(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Pd(e){if(hd(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||xd(e)&&e.host||_d(e);return xd(t)?t.host:t}function Fd(e){let t=Pd(e);return jd(t)?e.ownerDocument?e.ownerDocument.body:e.body:bd(t)&&Sd(t)?t:Fd(t)}function Id(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Fd(e),i=r===e.ownerDocument?.body,a=gd(r);if(i){let e=Ld(a);return t.concat(a,a.visualViewport||[],Sd(r)?r:[],e&&n?Id(e):[])}else return t.concat(r,Id(r,[],n))}function Ld(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Rd(e){let t=Md(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=bd(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ou(n)!==a||Ou(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function zd(e){return yd(e)?e:e.contextElement}function Bd(e){let t=zd(e);if(!bd(t))return Au(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Rd(t),o=(a?Ou(n.width):n.width)/r,s=(a?Ou(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Vd=Au(0);function Hd(e){let t=gd(e);return!Ad()||!t.visualViewport?Vd:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ud(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==gd(e)?!1:t}function Wd(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=zd(e),o=Au(1);t&&(r?yd(r)&&(o=Bd(r)):o=Bd(e));let s=Ud(a,n,r)?Hd(a):Au(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=gd(a),t=r&&yd(r)?gd(r):r,n=e,i=Ld(n);for(;i&&r&&t!==n;){let e=Bd(i),t=i.getBoundingClientRect(),r=Md(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=gd(i),i=Ld(n)}}return Qu({width:u,height:d,x:c,y:l})}function Gd(e,t){let n=Nd(e).scrollLeft;return t?t.left+n:Wd(_d(e)).left+n}function Kd(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Gd(e,n),y:n.top+t.scrollTop}}function qd(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=_d(r),s=t?wd(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Au(1),u=Au(0),d=bd(r);if((d||!d&&!a)&&((hd(r)!==`body`||Sd(o))&&(c=Nd(r)),d)){let e=Wd(r);l=Bd(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Kd(o,c):Au(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Jd(e){return Array.from(e.getClientRects())}function Yd(e){let t=_d(e),n=Nd(e),r=e.ownerDocument.body,i=Du(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Du(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Gd(e),s=-n.scrollTop;return Md(r).direction===`rtl`&&(o+=Du(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Xd=25;function Zd(e,t){let n=gd(e),r=_d(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ad();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Gd(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Xd&&(a-=o)}else l<=Xd&&(a+=l);return{width:a,height:o,x:s,y:c}}function Qd(e,t){let n=Wd(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=bd(e)?Bd(e):Au(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function $d(e,t,n){let r;if(t===`viewport`)r=Zd(e,n);else if(t===`document`)r=Yd(_d(e));else if(yd(t))r=Qd(t,n);else{let n=Hd(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Qu(r)}function ef(e,t){let n=Pd(e);return n===t||!yd(n)||jd(n)?!1:Md(n).position===`fixed`||ef(n,t)}function tf(e,t){let n=t.get(e);if(n)return n;let r=Id(e,[],!1).filter(e=>yd(e)&&hd(e)!==`body`),i=null,a=Md(e).position===`fixed`,o=a?Pd(e):e;for(;yd(o)&&!jd(o);){let t=Md(o),n=Od(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Sd(o)&&!n&&ef(e,o))?r=r.filter(e=>e!==o):i=t,o=Pd(o)}return t.set(e,r),r}function nf(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?wd(t)?[]:tf(t,this._c):[].concat(n),r],o=$d(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=$d(t,a[e],i);s=Du(n.top,s),c=Eu(n.right,c),l=Eu(n.bottom,l),u=Du(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function rf(e){let{width:t,height:n}=Rd(e);return{width:t,height:n}}function af(e,t,n){let r=bd(t),i=_d(t),a=n===`fixed`,o=Wd(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Au(0);function l(){c.x=Gd(i)}if(r||!r&&!a)if((hd(t)!==`body`||Sd(i))&&(s=Nd(t)),r){let e=Wd(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Kd(i,s):Au(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function of(e){return Md(e).position===`static`}function sf(e,t){if(!bd(e)||Md(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return _d(e)===n&&(n=n.ownerDocument.body),n}function cf(e,t){let n=gd(e);if(wd(e))return n;if(!bd(e)){let t=Pd(e);for(;t&&!jd(t);){if(yd(t)&&!of(t))return t;t=Pd(t)}return n}let r=sf(e,t);for(;r&&Cd(r)&&of(r);)r=sf(r,t);return r&&jd(r)&&of(r)&&!Od(r)?n:r||kd(e)||n}var lf=async function(e){let t=this.getOffsetParent||cf,n=this.getDimensions,r=await n(e.floating);return{reference:af(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function uf(e){return Md(e).direction===`rtl`}var df={convertOffsetParentRelativeRectToViewportRelativeRect:qd,getDocumentElement:_d,getClippingRect:nf,getOffsetParent:cf,getElementRects:lf,getClientRects:Jd,getDimensions:rf,getScale:Bd,isElement:yd,isRTL:uf};function ff(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function pf(e,t){let n=null,r,i=_d(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=ku(d),h=ku(i.clientWidth-(u+f)),g=ku(i.clientHeight-(d+p)),_=ku(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Du(0,Eu(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!ff(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function mf(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=zd(e),u=i||a?[...l?Id(l):[],...t?Id(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?pf(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Wd(e):null;c&&g();function g(){let t=Wd(e);h&&!ff(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var hf=ud,gf=dd,_f=id,vf=pd,yf=sd,bf=rd,xf=fd,Sf=(e,t,n)=>{let r=new Map,i={platform:df,...n},a={...i.platform,_c:r};return nd(e,t,{...i,platform:a})},Cf=typeof document<`u`?S.useLayoutEffect:function(){};function wf(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!wf(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!wf(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Tf(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ef(e,t){let n=Tf(e);return Math.round(t*n)/n}function Df(e){let t=S.useRef(e);return Cf(()=>{t.current=e}),t}function Of(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=S.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=S.useState(r);wf(f,r)||p(r);let[m,h]=S.useState(null),[g,_]=S.useState(null),v=S.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),y=S.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),b=a||m,x=o||g,C=S.useRef(null),w=S.useRef(null),T=S.useRef(u),E=c!=null,D=Df(c),O=Df(i),k=Df(l),A=S.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),Sf(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!wf(T.current,t)&&(T.current=t,Li.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);Cf(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=S.useRef(!1);Cf(()=>(j.current=!0,()=>{j.current=!1}),[]),Cf(()=>{if(b&&(C.current=b),x&&(w.current=x),b&&x){if(D.current)return D.current(b,x,A);A()}},[b,x,A,D,E]);let M=S.useMemo(()=>({reference:C,floating:w,setReference:v,setFloating:y}),[v,y]),N=S.useMemo(()=>({reference:b,floating:x}),[b,x]),ee=S.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=Ef(N.floating,u.x),r=Ef(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Tf(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return S.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:ee}),[u,A,M,N,ee])}var kf=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:bf({element:r.current,padding:i}).fn(n):r?bf({element:r,padding:i}).fn(n):{}}}},Af=(e,t)=>{let n=hf(e);return{name:n.name,fn:n.fn,options:[e,t]}},jf=(e,t)=>{let n=gf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Mf=(e,t)=>({fn:xf(e).fn,options:[e,t]}),Nf=(e,t)=>{let n=_f(e);return{name:n.name,fn:n.fn,options:[e,t]}},Pf=(e,t)=>{let n=vf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ff=(e,t)=>{let n=yf(e);return{name:n.name,fn:n.fn,options:[e,t]}},If=(e,t)=>{let n=kf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Lf=`Arrow`,Rf=S.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,z.jsx)(es.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,z.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Rf.displayName=Lf;var zf=Rf,Bf=`Popper`,[Vf,Hf]=ss(Bf),[Uf,Wf]=Vf(Bf),Gf=e=>{let{__scopePopper:t,children:n}=e,[r,i]=S.useState(null);return(0,z.jsx)(Uf,{scope:t,anchor:r,onAnchorChange:i,children:n})};Gf.displayName=Bf;var Kf=`PopperAnchor`,qf=S.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Wf(Kf,n),o=S.useRef(null),s=Go(t,o),c=S.useRef(null);return S.useEffect(()=>{let e=c.current;c.current=r?.current||o.current,e!==c.current&&a.onAnchorChange(c.current)}),r?null:(0,z.jsx)(es.div,{...i,ref:s})});qf.displayName=Kf;var Jf=`PopperContent`,[Yf,Xf]=Vf(Jf),Zf=S.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=Wf(Jf,n),[_,v]=S.useState(null),y=Go(t,e=>v(e)),[b,x]=S.useState(null),C=wu(b),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},O=Array.isArray(l)?l:[l],k=O.length>0,A={padding:D,boundary:O.filter(tp),altBoundary:k},{refs:j,floatingStyles:M,placement:N,isPositioned:ee,middlewareData:te}=Of({strategy:`fixed`,placement:E,whileElementsMounted:(...e)=>mf(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[Af({mainAxis:i+T,alignmentAxis:o}),c&&jf({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Mf():void 0,...A}),c&&Nf({...A}),Pf({...A,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),b&&If({element:b,padding:s}),np({arrowWidth:w,arrowHeight:T}),f&&Ff({strategy:`referenceHidden`,...A})]}),[P,F]=rp(N),ne=Rs(m);us(()=>{ee&&ne?.()},[ee,ne]);let re=te.arrow?.x,ie=te.arrow?.y,I=te.arrow?.centerOffset!==0,[L,R]=S.useState();return us(()=>{_&&R(window.getComputedStyle(_).zIndex)},[_]),(0,z.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...M,transform:ee?M.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:L,"--radix-popper-transform-origin":[te.transformOrigin?.x,te.transformOrigin?.y].join(` `),...te.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,z.jsx)(Yf,{scope:n,placedSide:P,onArrowChange:x,arrowX:re,arrowY:ie,shouldHideArrow:I,children:(0,z.jsx)(es.div,{"data-side":P,"data-align":F,...h,ref:y,style:{...h.style,animation:ee?void 0:`none`}})})})});Zf.displayName=Jf;var Qf=`PopperArrow`,$f={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ep=S.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Xf(Qf,n),a=$f[i.placedSide];return(0,z.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,z.jsx)(zf,{...r,ref:t,style:{...r.style,display:`block`}})})});ep.displayName=Qf;function tp(e){return e!==null}var np=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=rp(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function rp(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var ip=Gf,ap=qf,op=Zf,sp=ep,cp=`rovingFocusGroup.onEntryFocus`,lp={bubbles:!1,cancelable:!0},up=`RovingFocusGroup`,[dp,fp,pp]=ls(up),[mp,hp]=ss(up,[pp]),[gp,_p]=mp(up),vp=S.forwardRef((e,t)=>(0,z.jsx)(dp.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,z.jsx)(dp.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,z.jsx)(yp,{...e,ref:t})})}));vp.displayName=up;var yp=S.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=S.useRef(null),p=Go(t,f),m=Ls(a),[h,g]=fs({prop:o,defaultProp:s??null,onChange:c,caller:up}),[_,v]=S.useState(!1),y=Rs(l),b=fp(n),x=S.useRef(!1),[C,w]=S.useState(0);return S.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(cp,y),()=>e.removeEventListener(cp,y)},[y]),(0,z.jsx)(gp,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:S.useCallback(e=>g(e),[g]),onItemShiftTab:S.useCallback(()=>v(!0),[]),onFocusableItemAdd:S.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:S.useCallback(()=>w(e=>e-1),[]),children:(0,z.jsx)(es.div,{tabIndex:_||C===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:H(e.onMouseDown,()=>{x.current=!0}),onFocus:H(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(cp,lp);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);Tp([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:H(e.onBlur,()=>v(!1))})})}),bp=`RovingFocusGroupItem`,xp=S.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Ss(),l=a||c,u=_p(bp,n),d=u.currentTabStopId===l,f=fp(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return S.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,z.jsx)(dp.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,z.jsx)(es.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:H(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:H(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:H(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=wp(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?Ep(n,r+1):n.slice(r+1)}setTimeout(()=>Tp(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});xp.displayName=bp;var Sp={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Cp(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function wp(e,t,n){let r=Cp(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Sp[r]}function Tp(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function Ep(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Dp=vp,Op=xp;function kp(e,[t,n]){return Math.min(n,Math.max(t,e))}var Ap=`Popover`,[jp,Mp]=ss(Ap,[Hf]),Np=Hf(),[Pp,Fp]=jp(Ap),Ip=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=Np(t),c=S.useRef(null),[l,u]=S.useState(!1),[d,f]=fs({prop:r,defaultProp:i??!1,onChange:a,caller:Ap});return(0,z.jsx)(ip,{...s,children:(0,z.jsx)(Pp,{scope:t,contentId:Ss(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:S.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:S.useCallback(()=>u(!0),[]),onCustomAnchorRemove:S.useCallback(()=>u(!1),[]),modal:o,children:n})})};Ip.displayName=Ap;var Lp=`PopoverAnchor`,Rp=S.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Fp(Lp,n),a=Np(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return S.useEffect(()=>(o(),()=>s()),[o,s]),(0,z.jsx)(ap,{...a,...r,ref:t})});Rp.displayName=Lp;var zp=`PopoverTrigger`,Bp=S.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Fp(zp,n),a=Np(n),o=Go(t,i.triggerRef),s=(0,z.jsx)(es.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":tm(i.open),...r,ref:o,onClick:H(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,z.jsx)(ap,{asChild:!0,...a,children:s})});Bp.displayName=zp;var Vp=`PopoverPortal`,[Hp,Up]=jp(Vp,{forceMount:void 0}),Wp=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=Fp(Vp,t);return(0,z.jsx)(Hp,{scope:t,forceMount:n,children:(0,z.jsx)(gs,{present:n||a.open,children:(0,z.jsx)(gc,{asChild:!0,container:i,children:r})})})};Wp.displayName=Vp;var Gp=`PopoverContent`,Kp=S.forwardRef((e,t)=>{let n=Up(Gp,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=Fp(Gp,e.__scopePopover);return(0,z.jsx)(gs,{present:r||a.open,children:a.modal?(0,z.jsx)(Jp,{...i,ref:t}):(0,z.jsx)(Yp,{...i,ref:t})})});Kp.displayName=Gp;var qp=Ko(`PopoverContent.RemoveScroll`),Jp=S.forwardRef((e,t)=>{let n=Fp(Gp,e.__scopePopover),r=S.useRef(null),i=Go(t,r),a=S.useRef(!1);return S.useEffect(()=>{let e=r.current;if(e)return Ll(e)},[]),(0,z.jsx)(Ol,{as:qp,allowPinchZoom:!0,children:(0,z.jsx)(Xp,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:H(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:H(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:H(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),Yp=S.forwardRef((e,t)=>{let n=Fp(Gp,e.__scopePopover),r=S.useRef(!1),i=S.useRef(!1);return(0,z.jsx)(Xp,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Xp=S.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=Fp(Gp,n),p=Np(n);return vc(),(0,z.jsx)(rc,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,z.jsx)(Ks,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),children:(0,z.jsx)(op,{"data-state":tm(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),Zp=`PopoverClose`,Qp=S.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Fp(Zp,n);return(0,z.jsx)(es.button,{type:`button`,...r,ref:t,onClick:H(e.onClick,()=>i.onOpenChange(!1))})});Qp.displayName=Zp;var $p=`PopoverArrow`,em=S.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Np(n);return(0,z.jsx)(sp,{...i,...r,ref:t})});em.displayName=$p;function tm(e){return e?`open`:`closed`}var nm=Ip,rm=Bp,im=Wp,am=Kp;function om(e,t){return S.useReducer((e,n)=>t[e][n]??e,e)}var sm=`ScrollArea`,[cm,lm]=ss(sm),[um,dm]=cm(sm),fm=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=S.useState(null),[l,u]=S.useState(null),[d,f]=S.useState(null),[p,m]=S.useState(null),[h,g]=S.useState(null),[_,v]=S.useState(0),[y,b]=S.useState(0),[x,C]=S.useState(!1),[w,T]=S.useState(!1),E=Go(t,e=>c(e)),D=Ls(i);return(0,z.jsx)(um,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:x,onScrollbarXEnabledChange:C,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,z.jsx)(es.div,{dir:D,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})});fm.displayName=sm;var pm=`ScrollAreaViewport`,mm=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=dm(pm,n),s=Go(t,S.useRef(null),o.onViewportChange);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,z.jsx)(es.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,z.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});mm.displayName=pm;var hm=`ScrollAreaScrollbar`,gm=S.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=dm(hm,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return S.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,z.jsx)(_m,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,z.jsx)(vm,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,z.jsx)(ym,{...r,ref:t,forceMount:n}):i.type===`always`?(0,z.jsx)(bm,{...r,ref:t}):null});gm.displayName=hm;var _m=S.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=dm(hm,e.__scopeScrollArea),[a,o]=S.useState(!1);return S.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,z.jsx)(gs,{present:n||a,children:(0,z.jsx)(ym,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),vm=S.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=dm(hm,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Bm(()=>c(`SCROLL_END`),100),[s,c]=om(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return S.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),S.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,z.jsx)(gs,{present:n||s!==`hidden`,children:(0,z.jsx)(bm,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:H(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:H(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),ym=S.forwardRef((e,t)=>{let n=dm(hm,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=S.useState(!1),s=e.orientation===`horizontal`,c=Bm(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Vm(n.viewport,c),Vm(n.content,c),(0,z.jsx)(gs,{present:r||a,children:(0,z.jsx)(bm,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),bm=S.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=dm(hm,e.__scopeScrollArea),a=S.useRef(null),o=S.useRef(0),[s,c]=S.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Nm(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Fm(e,o.current,s,t)}return n===`horizontal`?(0,z.jsx)(xm,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Im(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,z.jsx)(Sm,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Im(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),xm=S.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=dm(hm,e.__scopeScrollArea),[o,s]=S.useState(),c=S.useRef(null),l=Go(t,c,a.onScrollbarXChange);return S.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,z.jsx)(Tm,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Pm(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Rm(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:Mm(o.paddingLeft),paddingEnd:Mm(o.paddingRight)}})}})}),Sm=S.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=dm(hm,e.__scopeScrollArea),[o,s]=S.useState(),c=S.useRef(null),l=Go(t,c,a.onScrollbarYChange);return S.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,z.jsx)(Tm,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Pm(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Rm(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:Mm(o.paddingTop),paddingEnd:Mm(o.paddingBottom)}})}})}),[Cm,wm]=cm(hm),Tm=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=dm(hm,n),[m,h]=S.useState(null),g=Go(t,e=>h(e)),_=S.useRef(null),v=S.useRef(``),y=p.viewport,b=r.content-r.viewport,x=Rs(u),C=Rs(c),w=Bm(d,10);function T(e){_.current&&l({x:e.clientX-_.current.left,y:e.clientY-_.current.top})}return S.useEffect(()=>{let e=e=>{let t=e.target;m?.contains(t)&&x(e,b)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),S.useEffect(C,[r,C]),Vm(m,w),Vm(p.content,w),(0,z.jsx)(Cm,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:Rs(a),onThumbPointerUp:Rs(o),onThumbPositionChange:C,onThumbPointerDown:Rs(s),children:(0,z.jsx)(es.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:H(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),T(e))}),onPointerMove:H(e.onPointerMove,T),onPointerUp:H(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})}),Em=`ScrollAreaThumb`,Dm=S.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=wm(Em,e.__scopeScrollArea);return(0,z.jsx)(gs,{present:n||i.hasThumb,children:(0,z.jsx)(Om,{ref:t,...r})})}),Om=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=dm(Em,n),o=wm(Em,n),{onThumbPositionChange:s}=o,c=Go(t,e=>o.onThumbChange(e)),l=S.useRef(void 0),u=Bm(()=>{l.current&&=(l.current(),void 0)},100);return S.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{u(),l.current||(l.current=zm(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,z.jsx)(es.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:H(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:H(e.onPointerUp,o.onThumbPointerUp)})});Dm.displayName=Em;var km=`ScrollAreaCorner`,Am=S.forwardRef((e,t)=>{let n=dm(km,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,z.jsx)(jm,{...e,ref:t}):null});Am.displayName=km;var jm=S.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=dm(km,n),[a,o]=S.useState(0),[s,c]=S.useState(0),l=!!(a&&s);return Vm(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Vm(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,z.jsx)(es.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function Mm(e){return e?parseInt(e,10):0}function Nm(e,t){let n=e/t;return isNaN(n)?0:n}function Pm(e){let t=Nm(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Fm(e,t,n,r=`ltr`){let i=Pm(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Lm([c,l],d)(e)}function Im(e,t,n=`ltr`){let r=Pm(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=kp(e,n===`ltr`?[0,o]:[o*-1,0]);return Lm([0,o],[0,s])(c)}function Lm(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Rm(e,t){return e>0&&e<t}var zm=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function Bm(e,t){let n=Rs(e),r=S.useRef(0);return S.useEffect(()=>()=>window.clearTimeout(r.current),[]),S.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Vm(e,t){let n=Rs(t);us(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Hm=fm,Um=mm,Wm=Am,Gm=`Separator`,Km=`horizontal`,qm=[`horizontal`,`vertical`],Jm=S.forwardRef((e,t)=>{let{decorative:n,orientation:r=Km,...i}=e,a=Ym(r)?r:Km,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,z.jsx)(es.div,{"data-orientation":a,...o,...i,ref:t})});Jm.displayName=Gm;function Ym(e){return qm.includes(e)}var Xm=Jm,Zm=`Switch`,[Qm,$m]=ss(Zm),[eh,th]=Qm(Zm),nh=S.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c=`on`,onCheckedChange:l,form:u,...d}=e,[f,p]=S.useState(null),m=Go(t,e=>p(e)),h=S.useRef(!1),g=f?u||!!f.closest(`form`):!0,[_,v]=fs({prop:i,defaultProp:a??!1,onChange:l,caller:Zm});return(0,z.jsxs)(eh,{scope:n,checked:_,disabled:s,children:[(0,z.jsx)(es.button,{type:`button`,role:`switch`,"aria-checked":_,"aria-required":o,"data-state":sh(_),"data-disabled":s?``:void 0,disabled:s,value:c,...d,ref:m,onClick:H(e.onClick,e=>{v(e=>!e),g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})}),g&&(0,z.jsx)(oh,{control:f,bubbles:!h.current,name:r,value:c,checked:_,required:o,disabled:s,form:u,style:{transform:`translateX(-100%)`}})]})});nh.displayName=Zm;var rh=`SwitchThumb`,ih=S.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=th(rh,n);return(0,z.jsx)(es.span,{"data-state":sh(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});ih.displayName=rh;var ah=`SwitchBubbleInput`,oh=S.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let o=S.useRef(null),s=Go(o,a),c=Cu(n),l=wu(t);return S.useEffect(()=>{let e=o.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(c!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[c,n,r]),(0,z.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:s,style:{...i.style,...l,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});oh.displayName=ah;function sh(e){return e?`checked`:`unchecked`}var ch=nh,lh=ih,uh=`Tabs`,[dh,fh]=ss(uh,[hp]),ph=hp(),[mh,hh]=dh(uh),gh=S.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=Ls(s),[d,f]=fs({prop:r,onChange:i,defaultProp:a??``,caller:uh});return(0,z.jsx)(mh,{scope:n,baseId:Ss(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,z.jsx)(es.div,{dir:u,"data-orientation":o,...l,ref:t})})});gh.displayName=uh;var _h=`TabsList`,vh=S.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=hh(_h,n),o=ph(n);return(0,z.jsx)(Dp,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,z.jsx)(es.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});vh.displayName=_h;var yh=`TabsTrigger`,bh=S.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=hh(yh,n),s=ph(n),c=Ch(o.baseId,r),l=wh(o.baseId,r),u=r===o.value;return(0,z.jsx)(Op,{asChild:!0,...s,focusable:!i,active:u,children:(0,z.jsx)(es.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:H(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:H(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:H(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});bh.displayName=yh;var xh=`TabsContent`,Sh=S.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=hh(xh,n),c=Ch(s.baseId,r),l=wh(s.baseId,r),u=r===s.value,d=S.useRef(u);return S.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,z.jsx)(gs,{present:i||u,children:({present:n})=>(0,z.jsx)(es.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});Sh.displayName=xh;function Ch(e,t){return`${e}-trigger-${t}`}function wh(e,t){return`${e}-content-${t}`}var Th=gh,Eh=vh,Dh=bh,Oh=Sh,[kh,Ah]=ss(`Tooltip`,[Hf]),jh=Hf(),Mh=`TooltipProvider`,Nh=700,Ph=`tooltip.open`,[Fh,Ih]=kh(Mh),Lh=e=>{let{__scopeTooltip:t,delayDuration:n=Nh,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=S.useRef(!0),s=S.useRef(!1),c=S.useRef(0);return S.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,z.jsx)(Fh,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:S.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:S.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:S.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Lh.displayName=Mh;var Rh=`Tooltip`,[zh,Bh]=kh(Rh),Vh=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Ih(Rh,e.__scopeTooltip),l=jh(t),[u,d]=S.useState(null),f=Ss(),p=S.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=S.useRef(!1),[_,v]=fs({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Ph))):c.onClose(),a?.(e)},caller:Rh}),y=S.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=S.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=S.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),C=S.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return S.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,z.jsx)(ip,{...l,children:(0,z.jsx)(zh,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:S.useCallback(()=>{c.isOpenDelayedRef.current?C():b()},[c.isOpenDelayedRef,C,b]),onTriggerLeave:S.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};Vh.displayName=Rh;var Hh=`TooltipTrigger`,Uh=S.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Bh(Hh,n),a=Ih(Hh,n),o=jh(n),s=Go(t,S.useRef(null),i.onTriggerChange),c=S.useRef(!1),l=S.useRef(!1),u=S.useCallback(()=>c.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,z.jsx)(ap,{asChild:!0,...o,children:(0,z.jsx)(es.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:H(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:H(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:H(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:H(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:H(e.onBlur,i.onClose),onClick:H(e.onClick,i.onClose)})})});Uh.displayName=Hh;var Wh=`TooltipPortal`,[Gh,Kh]=kh(Wh,{forceMount:void 0}),qh=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Bh(Wh,t);return(0,z.jsx)(Gh,{scope:t,forceMount:n,children:(0,z.jsx)(gs,{present:n||a.open,children:(0,z.jsx)(gc,{asChild:!0,container:i,children:r})})})};qh.displayName=Wh;var Jh=`TooltipContent`,Yh=S.forwardRef((e,t)=>{let n=Kh(Jh,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Bh(Jh,e.__scopeTooltip);return(0,z.jsx)(gs,{present:r||o.open,children:o.disableHoverableContent?(0,z.jsx)(eg,{side:i,...a,ref:t}):(0,z.jsx)(Xh,{side:i,...a,ref:t})})}),Xh=S.forwardRef((e,t)=>{let n=Bh(Jh,e.__scopeTooltip),r=Ih(Jh,e.__scopeTooltip),i=S.useRef(null),a=Go(t,i),[o,s]=S.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=S.useCallback(()=>{s(null),d(!1)},[d]),p=S.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=ig(r,rg(r,n.getBoundingClientRect())),a=ag(t.getBoundingClientRect());s(sg([...i,...a])),d(!0)},[d]);return S.useEffect(()=>()=>f(),[f]),S.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),S.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!og(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,z.jsx)(eg,{...e,ref:a})}),[Zh,Qh]=kh(Rh,{isInside:!1}),$h=Xo(`TooltipContent`),eg=S.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=Bh(Jh,n),l=jh(n),{onClose:u}=c;return S.useEffect(()=>(document.addEventListener(Ph,u),()=>document.removeEventListener(Ph,u)),[u]),S.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,z.jsx)(Ks,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,z.jsxs)(op,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,z.jsx)($h,{children:r}),(0,z.jsx)(Zh,{scope:n,isInside:!0,children:(0,z.jsx)(as,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Yh.displayName=Jh;var tg=`TooltipArrow`,ng=S.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=jh(n);return Qh(tg,n).isInside?null:(0,z.jsx)(sp,{...i,...r,ref:t})});ng.displayName=tg;function rg(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ig(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ag(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function og(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function sg(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),cg(t)}function cg(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var lg=Lh;function ug(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=ug(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function dg(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=ug(e))&&(r&&(r+=` `),r+=t);return r}var fg=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},pg=(e,t)=>({classGroupId:e,validator:t}),mg=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),hg=`-`,gg=[],_g=`arbitrary..`,vg=e=>{let t=xg(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return bg(e);let n=e.split(hg);return yg(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?fg(i,t):t:i||gg}return n[e]||gg}}},yg=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=yg(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(hg):e.slice(t).join(hg),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},bg=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?_g+r:void 0})(),xg=e=>{let{theme:t,classGroups:n}=e;return Sg(n,t)},Sg=(e,t)=>{let n=mg();for(let r in e){let i=e[r];Cg(i,n,r,t)}return n},Cg=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];wg(i,t,n,r)}},wg=(e,t,n,r)=>{if(typeof e==`string`){Tg(e,t,n);return}if(typeof e==`function`){Eg(e,t,n,r);return}Dg(e,t,n,r)},Tg=(e,t,n)=>{let r=e===``?t:Og(t,e);r.classGroupId=n},Eg=(e,t,n,r)=>{if(kg(e)){Cg(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(pg(n,e))},Dg=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Cg(o,Og(t,a),n,r)}},Og=(e,t)=>{let n=e,r=t.split(hg),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=mg(),n.nextPart.set(t,i)),n=i}return n},kg=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Ag=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},jg=`!`,Mg=`:`,Ng=[],Pg=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Fg=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Mg){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(jg)?(c=s.slice(0,-1),l=!0):s.startsWith(jg)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Pg(t,l,c,u)};if(t){let e=t+Mg,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Pg(Ng,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Ig=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Lg=e=>({cache:Ag(e.cacheSize),parseClassName:Fg(e),sortModifiers:Ig(e),...vg(e)}),Rg=/\s+/,zg=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(Rg),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+jg:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},Bg=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Vg(n))&&(i&&(i+=` `),i+=r);return i},Vg=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Vg(e[r]))&&(n&&(n+=` `),n+=t);return n},Hg=(e,...t)=>{let n,r,i,a,o=o=>(n=Lg(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=zg(e,n);return i(e,a),a};return a=o,(...e)=>a(Bg(...e))},Ug=[],Wg=e=>{let t=t=>t[e]||Ug;return t.isThemeGetter=!0,t},Gg=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Kg=/^\((?:(\w[\w-]*):)?(.+)\)$/i,qg=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Jg=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Yg=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Xg=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Zg=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Qg=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$g=e=>qg.test(e),e_=e=>!!e&&!Number.isNaN(Number(e)),t_=e=>!!e&&Number.isInteger(Number(e)),n_=e=>e.endsWith(`%`)&&e_(e.slice(0,-1)),r_=e=>Jg.test(e),i_=()=>!0,a_=e=>Yg.test(e)&&!Xg.test(e),o_=()=>!1,s_=e=>Zg.test(e),c_=e=>Qg.test(e),l_=e=>!K(e)&&!q(e),u_=e=>T_(e,k_,o_),K=e=>Gg.test(e),d_=e=>T_(e,A_,a_),f_=e=>T_(e,j_,e_),p_=e=>T_(e,N_,i_),m_=e=>T_(e,M_,o_),h_=e=>T_(e,D_,o_),g_=e=>T_(e,O_,c_),__=e=>T_(e,P_,s_),q=e=>Kg.test(e),v_=e=>E_(e,A_),y_=e=>E_(e,M_),b_=e=>E_(e,D_),x_=e=>E_(e,k_),S_=e=>E_(e,O_),C_=e=>E_(e,P_,!0),w_=e=>E_(e,N_,!0),T_=(e,t,n)=>{let r=Gg.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},E_=(e,t,n=!1)=>{let r=Kg.exec(e);return r?r[1]?t(r[1]):n:!1},D_=e=>e===`position`||e===`percentage`,O_=e=>e===`image`||e===`url`,k_=e=>e===`length`||e===`size`||e===`bg-size`,A_=e=>e===`length`,j_=e=>e===`number`,M_=e=>e===`family-name`,N_=e=>e===`number`||e===`weight`,P_=e=>e===`shadow`,F_=Hg(()=>{let e=Wg(`color`),t=Wg(`font`),n=Wg(`text`),r=Wg(`font-weight`),i=Wg(`tracking`),a=Wg(`leading`),o=Wg(`breakpoint`),s=Wg(`container`),c=Wg(`spacing`),l=Wg(`radius`),u=Wg(`shadow`),d=Wg(`inset-shadow`),f=Wg(`text-shadow`),p=Wg(`drop-shadow`),m=Wg(`blur`),h=Wg(`perspective`),g=Wg(`aspect`),_=Wg(`ease`),v=Wg(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),q,K],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[q,K,c],T=()=>[$g,`full`,`auto`,...w()],E=()=>[t_,`none`,`subgrid`,q,K],D=()=>[`auto`,{span:[`full`,t_,q,K]},t_,q,K],O=()=>[t_,`auto`,q,K],k=()=>[`auto`,`min`,`max`,`fr`,q,K],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[$g,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ee=()=>[$g,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],te=()=>[$g,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,q,K],F=()=>[...b(),b_,h_,{position:[q,K]}],ne=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],re=()=>[`auto`,`cover`,`contain`,x_,u_,{size:[q,K]}],ie=()=>[n_,v_,d_],I=()=>[``,`none`,`full`,l,q,K],L=()=>[``,e_,v_,d_],R=()=>[`solid`,`dashed`,`dotted`,`double`],ae=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],oe=()=>[e_,n_,b_,h_],se=()=>[``,`none`,m,q,K],ce=()=>[`none`,e_,q,K],le=()=>[`none`,e_,q,K],ue=()=>[e_,q,K],de=()=>[$g,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[r_],breakpoint:[r_],color:[i_],container:[r_],"drop-shadow":[r_],ease:[`in`,`out`,`in-out`],font:[l_],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[r_],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[r_],shadow:[r_],spacing:[`px`,e_],text:[r_],"text-shadow":[r_],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,$g,K,q,g]}],container:[`container`],columns:[{columns:[e_,K,q,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[t_,`auto`,q,K]}],basis:[{basis:[$g,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[e_,$g,`auto`,`initial`,`none`,K]}],grow:[{grow:[``,e_,q,K]}],shrink:[{shrink:[``,e_,q,K]}],order:[{order:[t_,`first`,`last`,`none`,q,K]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...ee()]}],"min-inline-size":[{"min-inline":[`auto`,...ee()]}],"max-inline-size":[{"max-inline":[`none`,...ee()]}],"block-size":[{block:[`auto`,...te()]}],"min-block-size":[{"min-block":[`auto`,...te()]}],"max-block-size":[{"max-block":[`none`,...te()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,v_,d_]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,w_,p_]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,n_,K]}],"font-family":[{font:[y_,m_,t]}],"font-features":[{"font-features":[K]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,q,K]}],"line-clamp":[{"line-clamp":[e_,`none`,q,f_]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,q,K]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,q,K]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...R(),`wavy`]}],"text-decoration-thickness":[{decoration:[e_,`from-font`,`auto`,q,d_]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[e_,`auto`,q,K]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,q,K]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,q,K]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:F()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:re()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},t_,q,K],radial:[``,q,K],conic:[t_,q,K]},S_,g_]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:L()}],"border-w-x":[{"border-x":L()}],"border-w-y":[{"border-y":L()}],"border-w-s":[{"border-s":L()}],"border-w-e":[{"border-e":L()}],"border-w-bs":[{"border-bs":L()}],"border-w-be":[{"border-be":L()}],"border-w-t":[{"border-t":L()}],"border-w-r":[{"border-r":L()}],"border-w-b":[{"border-b":L()}],"border-w-l":[{"border-l":L()}],"divide-x":[{"divide-x":L()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":L()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...R(),`hidden`,`none`]}],"divide-style":[{divide:[...R(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...R(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[e_,q,K]}],"outline-w":[{outline:[``,e_,v_,d_]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,C_,__]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,C_,__]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:L()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[e_,d_]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":L()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,C_,__]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[e_,q,K]}],"mix-blend":[{"mix-blend":[...ae(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ae()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[e_]}],"mask-image-linear-from-pos":[{"mask-linear-from":oe()}],"mask-image-linear-to-pos":[{"mask-linear-to":oe()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":oe()}],"mask-image-t-to-pos":[{"mask-t-to":oe()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":oe()}],"mask-image-r-to-pos":[{"mask-r-to":oe()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":oe()}],"mask-image-b-to-pos":[{"mask-b-to":oe()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":oe()}],"mask-image-l-to-pos":[{"mask-l-to":oe()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":oe()}],"mask-image-x-to-pos":[{"mask-x-to":oe()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":oe()}],"mask-image-y-to-pos":[{"mask-y-to":oe()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[q,K]}],"mask-image-radial-from-pos":[{"mask-radial-from":oe()}],"mask-image-radial-to-pos":[{"mask-radial-to":oe()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[e_]}],"mask-image-conic-from-pos":[{"mask-conic-from":oe()}],"mask-image-conic-to-pos":[{"mask-conic-to":oe()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:F()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:re()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,q,K]}],filter:[{filter:[``,`none`,q,K]}],blur:[{blur:se()}],brightness:[{brightness:[e_,q,K]}],contrast:[{contrast:[e_,q,K]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,C_,__]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,e_,q,K]}],"hue-rotate":[{"hue-rotate":[e_,q,K]}],invert:[{invert:[``,e_,q,K]}],saturate:[{saturate:[e_,q,K]}],sepia:[{sepia:[``,e_,q,K]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,q,K]}],"backdrop-blur":[{"backdrop-blur":se()}],"backdrop-brightness":[{"backdrop-brightness":[e_,q,K]}],"backdrop-contrast":[{"backdrop-contrast":[e_,q,K]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,e_,q,K]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[e_,q,K]}],"backdrop-invert":[{"backdrop-invert":[``,e_,q,K]}],"backdrop-opacity":[{"backdrop-opacity":[e_,q,K]}],"backdrop-saturate":[{"backdrop-saturate":[e_,q,K]}],"backdrop-sepia":[{"backdrop-sepia":[``,e_,q,K]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,q,K]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[e_,`initial`,q,K]}],ease:[{ease:[`linear`,`initial`,_,q,K]}],delay:[{delay:[e_,q,K]}],animate:[{animate:[`none`,v,q,K]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,q,K]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ce()}],"rotate-x":[{"rotate-x":ce()}],"rotate-y":[{"rotate-y":ce()}],"rotate-z":[{"rotate-z":ce()}],scale:[{scale:le()}],"scale-x":[{"scale-x":le()}],"scale-y":[{"scale-y":le()}],"scale-z":[{"scale-z":le()}],"scale-3d":[`scale-3d`],skew:[{skew:ue()}],"skew-x":[{"skew-x":ue()}],"skew-y":[{"skew-y":ue()}],transform:[{transform:[q,K,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,q,K]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,q,K]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[e_,v_,d_,f_]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function J(...e){return F_(dg(e))}function I_({className:e,children:t,...n}){return(0,z.jsxs)(Hm,{"data-slot":`scroll-area`,className:J(`relative`,e),...n,children:[(0,z.jsx)(Um,{"data-slot":`scroll-area-viewport`,className:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`,children:t}),(0,z.jsx)(L_,{}),(0,z.jsx)(Wm,{})]})}function L_({className:e,orientation:t=`vertical`,...n}){return(0,z.jsx)(gm,{"data-slot":`scroll-area-scrollbar`,"data-orientation":t,orientation:t,className:J(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,e),...n,children:(0,z.jsx)(Dm,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}function R_({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,z.jsx)(Xm,{"data-slot":`separator`,decorative:n,orientation:t,className:J(`shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,e),...r})}var z_=[{path:`/dashboard`,label:`仪表盘`,icon:eo},{path:`/kanban`,label:`看板`,icon:$a},{path:`/departments`,label:`部门`,icon:Ro},{path:`/memory`,label:`记忆`,icon:Oa},{path:`/cron`,label:`定时任务`,icon:Ra},{path:`/skills`,label:`技能`,icon:Oo},{path:`/settings`,label:`设置`,icon:To}];function B_(){return(0,z.jsxs)(`aside`,{className:`flex w-60 flex-col border-r border-border bg-card`,children:[(0,z.jsx)(I_,{className:`flex-1 px-3 py-4`,children:(0,z.jsx)(`nav`,{className:`flex flex-col gap-1`,children:z_.map(e=>{let t=e.icon;return(0,z.jsxs)(Dn,{to:e.path,end:e.path===`/kanban`,className:({isActive:e})=>J(`flex items-center gap-3 rounded-md px-3 py-2 text-sm font-medium transition-colors`,e?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent hover:text-accent-foreground`),children:[(0,z.jsx)(t,{className:`h-4 w-4`}),e.label]},e.path)})})}),(0,z.jsx)(R_,{}),(0,z.jsx)(`div`,{className:`px-3 py-3 text-xs text-muted-foreground`,children:`DuClaw Agent Manager`})]})}var V_=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,H_=dg,U_=(e,t)=>n=>{if(t?.variants==null)return H_(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=V_(t)||V_(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return H_(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},W_=U_(`group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50`,destructive:`bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xs:`h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,icon:`size-8`,"icon-xs":`size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function Y({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){return(0,z.jsx)(r?qo:`button`,{"data-slot":`button`,"data-variant":t,"data-size":n,className:J(W_({variant:t,size:n,className:e})),...i})}function G_({className:e}){let{resolvedTheme:t,setTheme:n}=Oi(),[r,i]=(0,S.useState)(!1);if((0,S.useEffect)(()=>{i(!0)},[]),!r)return(0,z.jsx)(Y,{variant:`outline`,size:`sm`,className:J(`min-w-18 opacity-0`,e),"aria-hidden":!0,tabIndex:-1,children:`占位`});let a=t===`dark`?`light`:`dark`,o=a===`light`?`日间`:`夜间`;return(0,z.jsxs)(Y,{type:`button`,variant:`outline`,size:`sm`,className:J(`min-w-18`,e),onClick:()=>n(a),"aria-label":`切换到${o}模式`,title:`切换到${o}模式`,children:[a===`light`?(0,z.jsx)(ko,{className:`size-3.5`}):(0,z.jsx)(fo,{className:`size-3.5`}),o]})}function K_(){return(0,z.jsxs)(`header`,{className:`flex h-14 items-center gap-3 border-b border-border bg-card px-6`,children:[(0,z.jsx)(eo,{className:`h-5 w-5 text-primary`}),(0,z.jsx)(`h1`,{className:`text-base font-semibold text-foreground`,children:`DuClaw Agent Manager`}),(0,z.jsxs)(`div`,{className:`ml-auto flex items-center gap-3`,children:[(0,z.jsx)(G_,{}),(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`v1.0`})]})]})}function q_(){return(0,z.jsxs)(`div`,{className:`flex h-dvh min-h-0 flex-col bg-background text-foreground`,children:[(0,z.jsx)(K_,{}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,z.jsx)(B_,{}),(0,z.jsx)(`main`,{className:`min-h-0 flex-1 overflow-auto overscroll-contain bg-background`,children:(0,z.jsx)(Mt,{})})]})]})}var J_=class extends Error{status;constructor(e,t){super(t),this.name=`ApiClientError`,this.status=e}};async function Y_(e){if(!e.ok){let t=`Request failed: ${e.status} ${e.statusText}`;try{let n=await e.json();n?.error?t=n.error:n?.message&&(t=n.message)}catch{try{let n=await e.text();n&&(t=n)}catch{}}throw new J_(e.status,t)}if(e.headers.get(`content-type`)?.includes(`application/json`))return e.json()}async function X_(e,t){let n=xi(e);if(t){let e=new URLSearchParams;for(let[n,r]of Object.entries(t))r!==void 0&&r!==``&&e.set(n,String(r));let r=e.toString();r&&(n+=`?${r}`)}return Y_(await fetch(n))}async function Z_(e,t){return Y_(await fetch(xi(e),{method:`POST`,headers:{"Content-Type":`application/json`},body:t?JSON.stringify(t):void 0}))}async function Q_(e,t){return Y_(await fetch(xi(e),{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}))}async function $_(e,t){return Y_(await fetch(xi(e),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}))}async function ev(e){return Y_(await fetch(xi(e),{method:`DELETE`}))}var tv=()=>X_(`/api/cron-jobs`),nv=e=>Z_(`/api/cron-jobs`,e),rv=(e,t)=>Q_(`/api/cron-jobs/${e}`,t),iv=e=>ev(`/api/cron-jobs/${e}`),av=(e,t)=>Q_(`/api/cron-jobs/${e}/toggle`,{enabled:t}),ov=e=>Z_(`/api/cron-jobs/${e}/trigger`),sv=e=>X_(`/api/cron-jobs/${e}/history`),cv={all:[`cronJobs`],detail:e=>[`cronJobs`,e],history:e=>[`cronJobs`,e,`history`]};function lv(){return gi({queryKey:cv.all,queryFn:tv})}function uv(e){return gi({queryKey:cv.history(e),queryFn:()=>sv(e),enabled:!!e})}function dv(){let e=ti();return _i({mutationFn:nv,onSuccess:()=>e.invalidateQueries({queryKey:cv.all})})}function fv(){let e=ti();return _i({mutationFn:iv,onSuccess:()=>e.invalidateQueries({queryKey:cv.all})})}var pv=()=>X_(`/api/goals`),mv=e=>Z_(`/api/goals`,e),hv=(e,t)=>Q_(`/api/goals/${e}`,t),gv=e=>ev(`/api/goals/${e}`),_v=5e3;function vv(){let[e,t]=(0,S.useState)([]),[n,r]=(0,S.useState)(!0),i=(0,S.useCallback)(async e=>{let n=e?.silent??!1;n||r(!0);try{t(await pv())}catch(e){console.error(`Failed to fetch goals:`,e)}finally{n||r(!1)}},[]);return(0,S.useEffect)(()=>{i()},[i]),(0,S.useEffect)(()=>{let e=()=>{typeof document<`u`&&document.visibilityState!==`visible`||i({silent:!0})},t=window.setInterval(e,_v);return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,e),()=>{window.clearInterval(t),window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,e)}},[i]),{goals:e,loading:n,reload:i,add:async e=>{let n=await mv(e);return t(e=>[...e,n]),n},update:async(e,n)=>{let r=await hv(e,n);return t(t=>t.map(t=>t.id===e?r:t)),r},remove:async e=>{await gv(e),t(t=>t.filter(t=>t.id!==e))}}}var yv=()=>X_(`/api/memory/users`),bv=e=>X_(`/api/memory`,{userId:e}),xv=e=>Z_(`/api/memory`,e),Sv=(e,t)=>$_(`/api/memory/${encodeURIComponent(e)}`,t),Cv=(e,t)=>ev(`/api/memory/${encodeURIComponent(e)}?userId=${encodeURIComponent(t)}`),wv=e=>X_(`/api/memory/dream`,{userId:e}),Tv=e=>X_(`/api/memory/context`,{userId:e}),Ev=()=>X_(`/api/memory/context-sources`),Dv=e=>X_(`/api/memory/compact`,{userId:e}),Ov=(e,t)=>X_(`/api/memory/recall`,{userId:e,query:t}),kv={all:[`memory`],users:[`memory`,`users`],list:e=>[`memory`,`list`,e],dream:e=>[`memory`,`dream`,e],context:e=>[`memory`,`context`,e],contextSources:[`memory`,`context-sources`],compact:e=>[`memory`,`compact`,e],recall:(e,t)=>[`memory`,`recall`,e,t]};function Av(){return gi({queryKey:kv.users,queryFn:yv})}function jv(e){return gi({queryKey:kv.list(e??``),queryFn:()=>bv(e),enabled:!!e})}function Mv(e){return gi({queryKey:kv.dream(e??``),queryFn:()=>wv(e),enabled:!!e})}function Nv(e){return gi({queryKey:kv.context(e??``),queryFn:()=>Tv(e),enabled:!!e})}function Pv(e={}){return gi({queryKey:kv.contextSources,queryFn:Ev,enabled:e.enabled??!0,refetchInterval:e.refetchInterval??!1,refetchIntervalInBackground:!1})}function Fv(e){return gi({queryKey:kv.compact(e??``),queryFn:()=>Dv(e),enabled:!!e})}function Iv(e,t=``){return gi({queryKey:kv.recall(e??``,t),queryFn:()=>Ov(e,t),enabled:!!e})}function Lv(){let e=ti();return _i({mutationFn:xv,onSuccess:t=>{e.invalidateQueries({queryKey:kv.users}),e.invalidateQueries({queryKey:kv.list(t.userId)}),e.invalidateQueries({queryKey:kv.context(t.userId)}),e.invalidateQueries({queryKey:kv.recall(t.userId,``)})}})}function Rv(){let e=ti();return _i({mutationFn:({id:e,data:t})=>Sv(e,t),onSuccess:t=>{e.invalidateQueries({queryKey:kv.users}),e.invalidateQueries({queryKey:kv.list(t.userId)}),e.invalidateQueries({queryKey:kv.context(t.userId)}),e.invalidateQueries({queryKey:kv.recall(t.userId,``)})}})}function zv(){let e=ti();return _i({mutationFn:({id:e,userId:t})=>Cv(e,t),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:kv.users}),e.invalidateQueries({queryKey:kv.list(n.userId)}),e.invalidateQueries({queryKey:kv.context(n.userId)}),e.invalidateQueries({queryKey:kv.recall(n.userId,``)})}})}var Bv=()=>X_(`/api/tools`),Vv=()=>X_(`/api/skills`),Hv=e=>ev(`/api/skills/${encodeURIComponent(e)}`),Uv={all:[`tools`]},Wv={all:[`skills`],detail:e=>[`skills`,e]};function Gv(){return gi({queryKey:Uv.all,queryFn:Bv})}function Kv(){return gi({queryKey:Wv.all,queryFn:Vv})}function qv(){let e=ti();return _i({mutationFn:e=>Hv(e),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:Wv.all}),e.invalidateQueries({queryKey:Wv.detail(n)})}})}var Jv=()=>X_(`/api/departments`),Yv=e=>X_(`/api/departments/${e}`),Xv=e=>Z_(`/api/departments`,{id:e.id??crypto.randomUUID().slice(0,8),departmentMembers:[],...e}),Zv=e=>ev(`/api/departments/${e}`),Qv=(e,t)=>Z_(`/api/departments/${e}/members`,{id:t.id??crypto.randomUUID().slice(0,8),role:t.role??`executor`,...t}),$v=(e,t)=>ev(`/api/departments/${e}/members/${t}`),ey=e=>X_(`/api/departments/${e}/activity`),ty=(e,t)=>X_(`/api/departments/${e}/members/${t}/context`),ny={all:[`departments`],detail:e=>[`departments`,e],activity:e=>[`departments`,e,`activity`],memberContext:(e,t)=>[`departments`,e,`members`,t,`context`]};function ry(){return gi({queryKey:ny.all,queryFn:Jv})}function iy(e){return gi({queryKey:ny.detail(e),queryFn:()=>Yv(e),enabled:!!e})}function ay(){let e=ti();return _i({mutationFn:Xv,onSuccess:()=>e.invalidateQueries({queryKey:ny.all})})}function oy(){let e=ti();return _i({mutationFn:Zv,onSuccess:()=>e.invalidateQueries({queryKey:ny.all})})}function sy(e){let t=ti();return _i({mutationFn:t=>Qv(e,t),onSuccess:()=>t.invalidateQueries({queryKey:ny.detail(e)})})}function cy(e){let t=ti();return _i({mutationFn:t=>$v(e,t),onSuccess:()=>t.invalidateQueries({queryKey:ny.detail(e)})})}function ly(e){return gi({queryKey:ny.activity(e),queryFn:()=>ey(e),enabled:!!e,refetchInterval:5e3})}function uy(e,t){return gi({queryKey:ny.memberContext(e,t??``),queryFn:()=>ty(e,t),enabled:!!e&&!!t})}function dy({children:e,className:t}){return(0,z.jsx)(`div`,{className:J(`p-6`,t),children:e})}var fy=U_(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function X({className:e,variant:t=`default`,asChild:n=!1,...r}){return(0,z.jsx)(n?qo:`span`,{"data-slot":`badge`,"data-variant":t,className:J(fy({variant:t}),e),...r})}function py({className:e,size:t=`default`,...n}){return(0,z.jsx)(`div`,{"data-slot":`card`,"data-size":t,className:J(`group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl`,e),...n})}function my({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-header`,className:J(`group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3`,e),...t})}function hy({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-title`,className:J(`font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm`,e),...t})}function gy({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-description`,className:J(`text-sm text-muted-foreground`,e),...t})}function _y({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-content`,className:J(`px-4 group-data-[size=sm]/card:px-3`,e),...t})}function vy({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`skeleton`,className:J(`animate-pulse rounded-md bg-muted`,e),...t})}var yy=2880*60*1e3,by=[{key:`task`,label:`任务管理`,keywords:[`task`,`goal`,`kanban`,`任务`,`目标`]},{key:`department`,label:`部门协作`,keywords:[`department`,`member`,`mailbox`,`communicate`,`部门`,`成员`,`邮箱`]},{key:`automation`,label:`自动化`,keywords:[`cron`,`schedule`,`timer`,`定时`,`自动`]},{key:`integration`,label:`集成工具`,keywords:[`lark`,`feishu`,`api`,`deploy`,`browser`,`飞书`,`部署`]},{key:`document`,label:`文档处理`,keywords:[`doc`,`sheet`,`presentation`,`markdown`,`文档`,`表格`,`幻灯片`]}];function xy(e){let t=[...e].sort(Oy)[0]??null,n=t?Ay(t.tasks):null,r=t?.tasks.filter(e=>e.status===`completed`).length??0,i=t?.tasks.length??0,a=t?.tasks.filter(e=>e.status!==`completed`&&e.blockedBy.length>0).map(e=>`${e.subject} 依赖 ${e.blockedBy.length} 项`)??[];return{goal:t,task:n,progress:i>0?Math.round(r/i*100):0,blockers:[...t?.blockers??[],...a]}}function Sy(e,t=Date.now()){let n=e.flatMap(e=>e.tasks),r=n.filter(e=>e.status===`completed`).sort(jy).slice(0,3);return{pending:n.filter(e=>e.status===`pending`).length,inProgress:n.filter(e=>e.status===`in_progress`).length,blocked:n.filter(e=>e.status!==`completed`&&e.blockedBy.length>0).length,completed:n.filter(e=>e.status===`completed`).length,ready:n.filter(e=>e.status===`pending`&&e.blockedBy.length===0).length,stale:n.filter(e=>e.status!==`completed`&&My(e.updatedAt,t,yy)).length,recentCompleted:r,total:n.length}}function Cy(e,t){let n=e??[],r=n[0]??null,i=n.reduce((e,t)=>e+t.departmentMembers.length,0),a=n.reduce((e,t)=>{let n=wy(t);return e+Math.max(0,t.departmentMembers.length-+!!n)},0),o=wy(r)?.name??`未配置 Department Head`,s=[...t??[]].sort((e,t)=>t.sendTime-e.sendTime),c=new Set(s.flatMap(e=>[e.fromMailboxId,e.toMailboxId]));return{totalDepartments:n.length,totalMembers:i,totalExecutors:a,activeDepartment:r,departmentHeadName:o,waitingReplies:s.filter(e=>e.status===`pending`||e.status===`processing`).length,latestActivity:s[0]?{content:s[0].content,status:s[0].status,sendTime:s[0].sendTime,fromMailboxId:s[0].fromMailboxId,toMailboxId:s[0].toMailboxId}:null,activeMembers:r?r.departmentMembers.filter(e=>c.has(e.mailBoxId)).length:0}}function wy(e){return e?e.departmentMembers.find(t=>t.id===e.headMemberId)??e.departmentMembers.find(e=>e.role===`department_head`)??null:null}function Ty(e){let t=e??[],n=t.filter(e=>e.enabled),r=t.filter(e=>!!e.schedule.lastRunTime).sort((e,t)=>Ny(t.schedule.lastRunTime)-Ny(e.schedule.lastRunTime));return{total:t.length,enabled:n.length,nextJob:n[0]??null,lastRunJob:r[0]??null,failed:0}}function Ey(e,t,n,r,i=Date.now()){let a=e??[],o=t??[],s=a[0]??null,c=n?.dreamContent.trim()?n.dreamContent.trim().replace(/\s+/g,` `).slice(0,72):null;return{userCount:a.length,totalMemories:s?.memoryCount??o.length,activeUser:s,latestMemories:[...o].sort((e,t)=>t.updatedAt-e.updatedAt).slice(0,3),weeklyAdded:o.length?o.filter(e=>i-e.createdAt<=6048e5).length:null,hasDream:!!((s?.hasDream??!1)||c),dreamContentPreview:c,lastDreamAt:n?.state?.lastDreamAt??s?.lastDreamAt??null,lastActivityAt:n?.state?.lastActivityAt??s?.lastActivityAt??null,hasMemoryContext:!!r?.memoryContextBlock.trim(),hasDreamContext:!!r?.dreamContextBlock.trim()}}function Dy(e){let t=e??[],n=new Map;by.forEach(e=>n.set(e.key,0)),n.set(`other`,0),t.forEach(e=>{let t=Py(e);n.set(t,(n.get(t)??0)+1)});let r=[...by.map(e=>({key:e.key,label:e.label,count:n.get(e.key)??0})),{key:`other`,label:`其他`,count:n.get(`other`)??0}];return{total:t.length,categories:r,recommended:r.filter(e=>e.count>0).sort((e,t)=>t.count-e.count).slice(0,3)}}function Oy(e,t){return ky(t)-ky(e)||Ny(t.createdAt)-Ny(e.createdAt)}function ky(e){let t=e.tasks.some(e=>e.status===`in_progress`),n=e.tasks.some(e=>e.status===`pending`);return e.status===`in_progress`&&t?4:e.status===`in_progress`?3:n?2:1}function Ay(e){return e.find(e=>e.status===`in_progress`)??e.find(e=>e.status===`pending`&&e.blockedBy.length===0)??[...e].filter(e=>e.status===`pending`).sort(jy)[0]??e[0]??null}function jy(e,t){return Ny(t.updatedAt)-Ny(e.updatedAt)}function My(e,t,n){let r=Ny(e);return r>0&&t-r>n}function Ny(e){if(!e)return 0;let t=new Date(e).getTime();return Number.isFinite(t)?t:0}function Py(e){let t=`${e.name} ${e.description}`.toLowerCase();return by.find(e=>e.keywords.some(e=>t.includes(e.toLowerCase())))?.key??`other`}function Fy(){let{goals:e,loading:t}=vv(),{data:n,isLoading:r,isError:i}=ry(),{data:a,isLoading:o,isError:s}=ly(n?.[0]?.name??``),{data:c,isLoading:l,isError:u}=lv(),{data:d,isLoading:f,isError:p}=Av(),m=d?.[0]?.userId??null,{data:h,isLoading:g,isError:_}=jv(m),{data:v,isLoading:y,isError:b}=Mv(m),{data:x,isLoading:C,isError:w}=Nv(m),{data:T,isLoading:E,isError:D}=Kv(),O=(0,S.useMemo)(()=>xy(e),[e]),k=(0,S.useMemo)(()=>Sy(e),[e]),A=(0,S.useMemo)(()=>Cy(n,a?.messages),[n,a]),j=(0,S.useMemo)(()=>Ty(c),[c]),M=(0,S.useMemo)(()=>Ey(d,h,v,x),[d,h,v,x]),N=(0,S.useMemo)(()=>Dy(T),[T]);return(0,z.jsx)(dy,{children:(0,z.jsxs)(`div`,{className:`mx-auto max-w-7xl space-y-4 pb-6`,children:[(0,z.jsx)(Iy,{}),(0,z.jsx)(Ly,{focus:O,loading:t}),(0,z.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1.15fr)_minmax(360px,0.85fr)]`,children:[(0,z.jsx)(Ry,{loading:t,summary:k}),(0,z.jsx)(zy,{loading:r,activityLoading:o,hasError:i,activityError:s,summary:A})]}),(0,z.jsxs)(`div`,{className:`grid items-start gap-4 xl:grid-cols-[minmax(0,0.92fr)_minmax(0,0.98fr)_minmax(520px,1.18fr)]`,children:[(0,z.jsx)(By,{loading:l,hasError:u,summary:j}),(0,z.jsx)(Vy,{loading:f||g||y||C,hasError:p||_||b||w,summary:M}),(0,z.jsx)(Hy,{loading:E,hasError:D,summary:N})]}),(0,z.jsx)(Uy,{states:[{label:`运行模式`,value:`本地模式`,state:`ok`},{label:`消息队列`,value:i?`未检测`:`正常`,state:i?`warn`:`ok`},{label:`最近同步`,value:`刚刚`,state:`ok`},{label:`API 配置`,value:`进入设置查看`,state:`idle`},{label:`LLM 配置`,value:`进入设置查看`,state:`idle`},{label:`错误日志`,value:i||u||p||D?`有模块异常`:`无最近错误`,state:i||u||p||D?`warn`:`ok`}]})]})})}function Iy(){return(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:[eb(),`,DuClaw`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`你的 Agent 正在为你努力工作中`})]}),(0,z.jsxs)(Y,{variant:`outline`,onClick:()=>Qi.info(`定制仪表盘将在后续阶段支持`),children:[(0,z.jsx)(Ja,{className:`h-4 w-4`}),`定制仪表盘`]})]})}function Ly({focus:e,loading:t}){let n=e.goal,r=e.task,i=n?`/kanban/${n.id}`:`/kanban`;return(0,z.jsxs)(py,{className:`shadow-sm`,children:[(0,z.jsx)(my,{className:`pb-1`,children:(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(jo,{className:`h-4 w-4 text-primary`}),`今日焦点 / 当前主线`]})}),(0,z.jsx)(_y,{children:t?(0,z.jsx)(`div`,{className:`grid gap-4 lg:grid-cols-5`,children:Array.from({length:5}).map((e,t)=>(0,z.jsx)(vy,{className:`h-28 w-full`},t))}):n?(0,z.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-[1.2fr_1fr_1.05fr_1fr_0.9fr]`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 border-b border-border pb-4 lg:border-r lg:border-b-0 lg:pr-4 lg:pb-0`,children:[(0,z.jsx)($y,{children:`当前最重要的 Goal`}),(0,z.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(0,z.jsx)(`h2`,{className:`truncate text-base font-semibold`,children:n.subject}),(0,z.jsx)(X,{variant:`secondary`,children:tb(n.status)})]}),(0,z.jsx)(`p`,{className:`mt-2 line-clamp-2 text-sm text-muted-foreground`,children:n.summary||n.description||`暂无需求描述`}),(0,z.jsxs)(`div`,{className:`mt-4`,children:[(0,z.jsxs)(`div`,{className:`mb-1 flex items-center justify-between text-xs`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`进度`}),(0,z.jsxs)(`span`,{className:`font-medium`,children:[e.progress,`%`]})]}),(0,z.jsx)(`div`,{className:`h-2 overflow-hidden rounded-full bg-muted`,children:(0,z.jsx)(`div`,{className:`h-full rounded-full bg-emerald-500`,style:{width:`${e.progress}%`}})})]})]}),(0,z.jsxs)(`div`,{className:`min-w-0 border-b border-border pb-4 lg:border-r lg:border-b-0 lg:pr-4 lg:pb-0`,children:[(0,z.jsx)($y,{children:`当前执行的 Task`}),(0,z.jsx)(`h3`,{className:`mt-2 line-clamp-2 font-semibold`,children:r?.subject??`暂无待处理任务`}),(0,z.jsx)(`p`,{className:`mt-2 line-clamp-3 text-sm text-muted-foreground`,children:r?.description||`这个 Goal 暂时没有可展示的任务描述。`}),(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(Da,{className:`h-3.5 w-3.5`}),`负责人 `,r?`DuClaw`:`待分配`]})]}),(0,z.jsxs)(`div`,{className:`min-w-0 border-b border-border pb-4 lg:border-r lg:border-b-0 lg:pr-4 lg:pb-0`,children:[(0,z.jsx)($y,{children:`下一步行动 nextAction`}),(0,z.jsx)(`h3`,{className:`mt-2 line-clamp-2 font-semibold`,children:n.nextAction||`进入看板继续拆解下一步`}),(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(La,{className:`h-3.5 w-3.5`}),`预计 2 小时`]}),(0,z.jsx)(Y,{className:`mt-4`,size:`sm`,asChild:!0,children:(0,z.jsx)(En,{to:i,children:`继续处理`})})]}),(0,z.jsxs)(`div`,{className:`min-w-0 border-b border-border pb-4 lg:border-r lg:border-b-0 lg:pr-4 lg:pb-0`,children:[(0,z.jsx)($y,{children:`阻塞项 blockers`}),(0,z.jsx)(`div`,{className:`mt-2 flex items-center gap-2`,children:(0,z.jsxs)(X,{variant:e.blockers.length?`destructive`:`secondary`,children:[e.blockers.length,` 个阻塞项`]})}),(0,z.jsx)(`ul`,{className:`mt-3 space-y-1 text-sm text-muted-foreground`,children:(e.blockers.length?e.blockers.slice(0,2):[`暂无阻塞,适合继续推进`]).map(e=>(0,z.jsxs)(`li`,{className:`line-clamp-1`,children:[`• `,e]},e))}),(0,z.jsx)(Y,{className:`mt-3 px-0`,variant:`link`,size:`sm`,asChild:!0,children:(0,z.jsx)(En,{to:i,children:`查看详情`})})]}),(0,z.jsxs)(`div`,{className:`flex min-h-32 flex-col items-center justify-center rounded-lg border border-primary/20 bg-primary/5 p-4 text-center`,children:[(0,z.jsx)(Ja,{className:`mb-3 h-8 w-8 rounded-lg bg-primary/10 p-1.5 text-primary`}),(0,z.jsx)(Y,{variant:`link`,asChild:!0,children:(0,z.jsx)(En,{to:i,children:`进入看板`})}),(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`查看完整任务流和依赖关系`})]})]}):(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-4 rounded-lg border border-dashed border-border bg-muted/30 p-6`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`font-medium`,children:`还没有主线任务`}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`先创建一个 Goal,Dashboard 会自动把下一步和阻塞项整理出来。`})]}),(0,z.jsx)(Y,{asChild:!0,children:(0,z.jsxs)(En,{to:`/kanban`,children:[`进入看板`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})]})})]})}function Ry({loading:e,summary:t}){let n=[{label:`待处理`,value:t.pending,className:`bg-blue-500`},{label:`进行中`,value:t.inProgress,className:`bg-indigo-500`},{label:`阻塞`,value:t.blocked,className:`bg-rose-500`},{label:`已完成`,value:t.completed,className:`bg-emerald-500`}];return(0,z.jsxs)(py,{className:`shadow-sm`,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(no,{className:`h-4 w-4 text-primary`}),`任务流健康度`]})}),(0,z.jsx)(_y,{children:e?(0,z.jsx)(vy,{className:`h-36 w-full`}):(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsx)(`div`,{className:`flex h-2 overflow-hidden rounded-full bg-muted`,children:n.map(e=>(0,z.jsx)(`div`,{className:e.className,style:{width:`${t.total?Math.max(e.value/t.total*100,e.value?8:0):0}%`}},e.label))}),(0,z.jsx)(`div`,{className:`grid grid-cols-2 gap-2 sm:grid-cols-4`,children:n.map(e=>(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,z.jsx)(`div`,{className:`mt-1 text-xl font-semibold`,children:e.value})]},e.label))}),(0,z.jsxs)(`div`,{className:`grid gap-3 lg:grid-cols-[0.85fr_1fr]`,children:[(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,z.jsx)(Gy,{label:`可立即执行`,value:t.ready}),(0,z.jsx)(Gy,{label:`超时未动`,value:t.stale})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`mb-2 text-xs font-medium text-muted-foreground`,children:`最近完成的任务`}),(0,z.jsx)(`div`,{className:`space-y-2`,children:t.recentCompleted.length?t.recentCompleted.map(e=>(0,z.jsx)(qy,{task:e},e.id)):(0,z.jsx)(`div`,{className:`rounded-lg border border-dashed border-border p-3 text-sm text-muted-foreground`,children:`暂无已完成任务`})})]})]})]})})]})}function zy({loading:e,activityLoading:t,hasError:n,activityError:r,summary:i}){return(0,z.jsxs)(py,{className:`shadow-sm`,children:[(0,z.jsxs)(my,{className:`flex-row items-center justify-between`,children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Ro,{className:`h-4 w-4 text-primary`}),`Agent 队伍工作台`]}),(0,z.jsxs)(X,{variant:`secondary`,children:[`部门总数 `,i.totalDepartments]})]}),(0,z.jsx)(_y,{children:e?(0,z.jsx)(vy,{className:`h-32 w-full`}):n?(0,z.jsx)(Qy,{text:`部门状态暂时读不到,可以稍后刷新。`}):(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)($y,{children:`当前 Department Head`}),(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-3`,children:[(0,z.jsx)(Yy,{label:i.departmentHeadName}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`truncate text-sm font-medium`,children:i.departmentHeadName}),(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`负责部门统筹与汇总`})]})]})]}),(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)($y,{children:`组织层级`}),(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`text-2xl font-semibold`,children:i.totalExecutors}),(0,z.jsx)(X,{variant:`secondary`,children:`executor`})]}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:`Department Head 对CEO可见,executor 由负责人管理`})]}),(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)($y,{children:`最近邮箱事件`}),t?(0,z.jsx)(vy,{className:`mt-3 h-10 w-full`}):(0,z.jsxs)(`div`,{className:`mt-3 flex items-center gap-3`,children:[(0,z.jsx)(lo,{className:`h-8 w-8 rounded-lg bg-background p-2 text-muted-foreground`}),(0,z.jsxs)(`div`,{className:`min-w-0 text-sm`,children:[(0,z.jsx)(`div`,{className:`truncate`,children:i.latestActivity?.content??i.activeDepartment?.name??`暂无部门`}),(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:i.latestActivity?`${nb(i.latestActivity.status)} · ${ib(i.latestActivity.sendTime)}`:r?`部门活动暂时读不到`:i.activeDepartment?`暂无部门活动`:`创建部门后显示协作状态`})]})]})]})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 rounded-lg border border-border bg-muted/25 px-3 py-2 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{children:[`待处理邮箱 `,i.waitingReplies]}),(0,z.jsxs)(`span`,{children:[`活跃成员 `,i.activeMembers]}),(0,z.jsxs)(`span`,{children:[`总成员 `,i.totalMembers]})]}),(0,z.jsx)(`div`,{className:`text-center`,children:(0,z.jsx)(Y,{variant:`link`,asChild:!0,children:(0,z.jsxs)(En,{to:i.activeDepartment?`/departments/${i.activeDepartment.name}`:`/departments`,children:[`查看部门详情`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})})]})})]})}function By({loading:e,hasError:t,summary:n}){return(0,z.jsx)(Wy,{icon:ka,title:`自动化时间线`,children:e?(0,z.jsx)(vy,{className:`h-32 w-full`}):t?(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsx)(Qy,{text:`定时任务状态暂时读不到。`}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,z.jsx)(Ky,{label:`下次执行`,value:`待同步`}),(0,z.jsx)(Ky,{label:`运行记录`,value:`待同步`})]}),(0,z.jsx)(Y,{className:`px-0`,variant:`link`,asChild:!0,children:(0,z.jsxs)(En,{to:`/cron`,children:[`管理定时任务`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})]}):(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsx)(Jy,{icon:ka,label:`下一次将执行`,title:n.nextJob?.title??`暂无启用任务`,description:n.nextJob?n.nextJob.schedule.syntax:`创建自动化后会显示在这里`}),(0,z.jsx)(Jy,{icon:Fa,label:`最近一次执行`,title:n.lastRunJob?.title??`暂无执行记录`,description:n.lastRunJob?.schedule.lastRunTime?rb(n.lastRunJob.schedule.lastRunTime):`运行后会记录最近时间`}),(0,z.jsx)(Jy,{icon:Pa,label:`失败的定时任务`,title:n.failed?`${n.failed} 个失败任务`:`无失败任务`,description:`${n.enabled} / ${n.total} 已启用`}),(0,z.jsx)(Y,{className:`px-0`,variant:`link`,asChild:!0,children:(0,z.jsxs)(En,{to:`/cron`,children:[`管理定时任务`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})]})})}function Vy({loading:e,hasError:t,summary:n}){return(0,z.jsx)(Wy,{icon:Oa,title:`记忆与上下文状态`,children:e?(0,z.jsx)(vy,{className:`h-32 w-full`}):t?(0,z.jsx)(Qy,{text:`记忆状态暂时读不到,可以稍后刷新。`}):(0,z.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-[148px_1fr] xl:grid-cols-1 2xl:grid-cols-[148px_1fr]`,children:[(0,z.jsxs)(`div`,{className:`rounded-lg border border-border bg-muted/20 p-3`,children:[(0,z.jsx)($y,{children:`长期记忆`}),(0,z.jsx)(`div`,{className:`mt-1 text-3xl font-semibold leading-none`,children:n.totalMemories}),(0,z.jsx)(`div`,{className:`mt-2 text-xs text-muted-foreground`,children:`当前用户记忆数量`}),n.weeklyAdded!==null&&(0,z.jsxs)(X,{className:`mt-2`,variant:`secondary`,children:[`+`,n.weeklyAdded,` 本周`]})]}),(0,z.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)($y,{children:`最近更新的记忆`}),(0,z.jsx)(`div`,{className:`mt-2 space-y-1.5`,children:n.latestMemories.length?n.latestMemories.slice(0,3).map(e=>(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-sm`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:e.title}),(0,z.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:ib(e.updatedAt)})]},e.id)):(0,z.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`暂无长期记忆`})})]}),(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-2.5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:n.hasDream?`default`:`secondary`,children:n.hasDream?`已有梦境摘要`:`暂无梦境摘要`}),(0,z.jsxs)(X,{variant:`outline`,children:[n.userCount,` 个用户`]}),(0,z.jsx)(X,{variant:n.hasMemoryContext?`secondary`:`outline`,children:n.hasMemoryContext?`记忆已注入`:`无记忆注入`}),(0,z.jsx)(X,{variant:n.hasDreamContext?`secondary`:`outline`,children:n.hasDreamContext?`梦境已注入`:`无梦境注入`})]}),(0,z.jsx)(`div`,{className:`mt-2 line-clamp-2 text-xs text-muted-foreground`,children:n.dreamContentPreview?n.dreamContentPreview:n.lastActivityAt?`最近活动 ${ib(n.lastActivityAt)}`:`暂无可注入的上下文摘要`})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,z.jsx)(Y,{variant:`outline`,size:`sm`,asChild:!0,children:(0,z.jsx)(En,{to:`/memory`,children:`查看记忆库`})}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,asChild:!0,children:(0,z.jsx)(En,{to:`/memory`,children:`上下文预览`})})]})]})]})})}function Hy({loading:e,hasError:t,summary:n}){return(0,z.jsx)(Wy,{icon:Oo,title:`技能雷达`,children:e?(0,z.jsx)(vy,{className:`h-32 w-full`}):t?(0,z.jsx)(Qy,{text:`技能列表暂时读不到。`}):(0,z.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-[150px_1fr]`,children:[(0,z.jsxs)(`div`,{className:`rounded-lg bg-primary/5 p-3`,children:[(0,z.jsx)($y,{children:`已安装技能`}),(0,z.jsx)(`div`,{className:`mt-1 text-3xl font-semibold leading-none`,children:n.total}),(0,z.jsx)(`div`,{className:`mt-3`,children:(0,z.jsx)(Xy,{categories:n.categories})})]}),(0,z.jsxs)(`div`,{className:`min-w-0 space-y-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)($y,{children:`技能类别分布`}),(0,z.jsx)(`div`,{className:`mt-2 grid grid-cols-2 gap-x-4 gap-y-1.5`,children:n.categories.map(e=>(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-sm`,children:[(0,z.jsx)(`span`,{className:`truncate text-muted-foreground`,children:e.label}),(0,z.jsx)(`span`,{className:`font-medium`,children:e.count})]},e.key))})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)($y,{children:`推荐常用`}),(0,z.jsx)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-3`,children:(n.recommended.length?n.recommended:n.categories.slice(0,3)).map(e=>(0,z.jsx)(Zy,{category:e},e.key))})]}),(0,z.jsx)(Y,{className:`px-0`,variant:`link`,asChild:!0,children:(0,z.jsxs)(En,{to:`/skills`,children:[`查看技能库`,(0,z.jsx)(Ta,{className:`h-4 w-4`})]})})]})]})})}function Uy({states:e}){return(0,z.jsx)(py,{className:`shadow-sm`,children:(0,z.jsxs)(_y,{className:`py-4`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 font-medium`,children:[(0,z.jsx)(Ga,{className:`h-4 w-4 text-muted-foreground`}),`系统运行状态`]}),(0,z.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-6`,children:e.map(e=>(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`span`,{className:e.state===`ok`?`h-2.5 w-2.5 rounded-full bg-emerald-500`:e.state===`warn`?`h-2.5 w-2.5 rounded-full bg-amber-500`:`h-2.5 w-2.5 rounded-full bg-muted-foreground/50`}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,z.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.value})]})]},e.label))})]})})}function Wy({icon:e,title:t,children:n}){return(0,z.jsxs)(py,{size:`sm`,className:`shadow-sm`,children:[(0,z.jsx)(my,{className:`pb-0`,children:(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(e,{className:`h-4 w-4 text-primary`}),t]})}),(0,z.jsx)(_y,{children:n})]})}function Gy({label:e,value:t}){return(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 p-3`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e}),(0,z.jsx)(`div`,{className:`mt-1 text-xl font-semibold`,children:t})]})}function Ky({label:e,value:t}){return(0,z.jsxs)(`div`,{className:`rounded-lg bg-muted/40 px-3 py-2`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e}),(0,z.jsx)(`div`,{className:`mt-1 truncate text-sm font-medium`,children:t})]})}function qy({task:e}){return(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-sm`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(Fa,{className:`h-4 w-4 shrink-0 text-emerald-500`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.subject})]}),(0,z.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:rb(e.updatedAt)})]})}function Jy({icon:e,label:t,title:n,description:r}){return(0,z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,z.jsx)(e,{className:`mt-0.5 h-4 w-4 shrink-0 text-primary`}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)($y,{children:t}),(0,z.jsx)(`div`,{className:`mt-1 truncate text-sm font-medium`,children:n}),(0,z.jsx)(`div`,{className:`mt-1 line-clamp-2 text-xs text-muted-foreground`,children:r})]})]})}function Yy({label:e}){return(0,z.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-primary/10 text-sm font-semibold text-primary`,children:e.slice(0,1).toUpperCase()})}function Xy({categories:e}){let t=Math.max(...e.map(e=>e.count),1);return(0,z.jsxs)(`div`,{className:`grid h-24 w-24 place-items-center rounded-full border border-primary/20 bg-background/80`,children:[(0,z.jsx)(`div`,{className:`grid h-16 w-16 place-items-center rounded-full border border-primary/25 bg-primary/10`,children:(0,z.jsx)(`div`,{className:`grid h-10 w-10 place-items-center rounded-full border border-primary/30 bg-primary/15`,children:(0,z.jsx)(_o,{className:`h-4 w-4 text-primary`})})}),(0,z.jsx)(`div`,{className:`sr-only`,children:e.map(e=>`${e.label}: ${Math.round(e.count/t*100)}%`).join(`, `)})]})}function Zy({category:e}){return(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-lg bg-muted/40 px-2.5 py-2 text-sm leading-tight`,children:[(0,z.jsx)(Eo,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`truncate font-medium`,children:e.label}),(0,z.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:{task:`推进目标和任务`,department:`组织部门协作`,automation:`自动生成报告`,document:`处理文档材料`,integration:`连接外部工具`,other:`扩展更多能力`}[e.key]})]}),(0,z.jsx)(Na,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]})}function Qy({text:e}){return(0,z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 p-3 text-sm text-amber-700 dark:text-amber-300`,children:[(0,z.jsx)(vo,{className:`h-4 w-4`}),e]})}function $y({children:e}){return(0,z.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:e})}function eb(){let e=new Date().getHours();return e<12?`早上好`:e<18?`下午好`:`晚上好`}function tb(e){return{pending:`待处理`,in_progress:`进行中`,completed:`已完成`,failed:`失败`}[e]??e}function nb(e){return{pending:`等待处理`,processing:`处理中`,done:`已完成`,failed:`失败`,cancelled:`已取消`,read:`已读`}[e]??e}function rb(e){let t=new Date(e).getTime();if(!Number.isFinite(t))return`未知`;let n=Date.now()-t,r=3600*1e3;return n<r?`刚刚`:n<24*r?`${Math.max(1,Math.round(n/r))} 小时前`:new Date(e).toLocaleDateString()}function ib(e){if(!e)return`未知`;let t=Date.now()-e,n=3600*1e3;return t<n?`刚刚`:t<24*n?`${Math.max(1,Math.round(t/n))} 小时前`:new Date(e).toLocaleDateString()}var ab=e=>X_(`/api/goals/${e}/tasks`),ob=(e,t,n)=>Z_(`/api/goals/${e}/tasks`,{subject:t,description:n}),sb=(e,t,n)=>Q_(`/api/goals/${e}/tasks/${t}`,n),cb=(e,t)=>ev(`/api/goals/${e}/tasks/${t}`),lb=5e3;function ub(e){let[t,n]=(0,S.useState)([]),[r,i]=(0,S.useState)(!1),a=(0,S.useCallback)(async t=>{if(!e){n([]);return}let r=t?.silent??!1;r||i(!0);try{n(await ab(e))}catch(e){console.error(`Failed to fetch tasks:`,e)}finally{r||i(!1)}},[e]);return(0,S.useEffect)(()=>{a()},[a]),(0,S.useEffect)(()=>{if(!e)return;let t=()=>{typeof document<`u`&&document.visibilityState!==`visible`||a({silent:!0})},n=window.setInterval(t,lb);return window.addEventListener(`focus`,t),document.addEventListener(`visibilitychange`,t),()=>{window.clearInterval(n),window.removeEventListener(`focus`,t),document.removeEventListener(`visibilitychange`,t)}},[e,a]),{tasks:t,loading:r,reload:a,add:async(t,r)=>{if(!e)return;let i=await ob(e,t,r);return n(e=>[...e,i]),i},updateStatus:async(t,r)=>{if(!e)return;let i=await sb(e,t,{status:r});n(e=>e.map(e=>e.id===t?i:e))},update:async(t,r)=>{if(!e)return;let i=await sb(e,t,r);n(e=>e.map(e=>e.id===t?i:e))},remove:async t=>{e&&(await cb(e,t),n(e=>e.filter(e=>e.id!==t)))}}}var db=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function fb(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function pb(e){return`nodeType`in e}function mb(e){return e?fb(e)?e:pb(e)?e.ownerDocument?.defaultView??window:window:window}function hb(e){let{Document:t}=mb(e);return e instanceof t}function gb(e){return fb(e)?!1:e instanceof mb(e).HTMLElement}function _b(e){return e instanceof mb(e).SVGElement}function vb(e){return e?fb(e)?e.document:pb(e)?hb(e)?e:gb(e)||_b(e)?e.ownerDocument:document:document:document}var yb=db?S.useLayoutEffect:S.useEffect;function bb(e){let t=(0,S.useRef)(e);return yb(()=>{t.current=e}),(0,S.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function xb(){let e=(0,S.useRef)(null);return[(0,S.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,S.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Sb(e,t){t===void 0&&(t=[e]);let n=(0,S.useRef)(e);return yb(()=>{n.current!==e&&(n.current=e)},t),n}function Cb(e,t){let n=(0,S.useRef)();return(0,S.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function wb(e){let t=bb(e),n=(0,S.useRef)(null);return[n,(0,S.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Tb(e){let t=(0,S.useRef)();return(0,S.useEffect)(()=>{t.current=e},[e]),t.current}var Eb={};function Db(e,t){return(0,S.useMemo)(()=>{if(t)return t;let n=Eb[e]==null?0:Eb[e]+1;return Eb[e]=n,e+`-`+n},[e,t])}function Ob(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var kb=Ob(1),Ab=Ob(-1);function jb(e){return`clientX`in e&&`clientY`in e}function Mb(e){if(!e)return!1;let{KeyboardEvent:t}=mb(e.target);return t&&e instanceof t}function Nb(e){if(!e)return!1;let{TouchEvent:t}=mb(e.target);return t&&e instanceof t}function Pb(e){if(Nb(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return jb(e)?{x:e.clientX,y:e.clientY}:null}var Fb=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[Fb.Translate.toString(e),Fb.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Ib=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Lb(e){return e.matches(Ib)?e:e.querySelector(Ib)}var Rb={display:`none`};function zb(e){let{id:t,value:n}=e;return S.createElement(`div`,{id:t,style:Rb},n)}function Bb(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return S.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Vb(){let[e,t]=(0,S.useState)(``);return{announce:(0,S.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Hb=(0,S.createContext)(null);function Ub(e){let t=(0,S.useContext)(Hb);(0,S.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Wb(){let[e]=(0,S.useState)(()=>new Set),t=(0,S.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,S.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Gb={draggable:`
56
56
  To pick up a draggable item, press the space bar.
57
57
  While dragging, use the arrow keys to move the item.
58
58
  Press space again to drop the item in its new position, or press escape to cancel.
@@ -89,7 +89,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
89
89
  `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return bj(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=_M.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function DM(){return{exit:{taskListCheckValueChecked:kM,taskListCheckValueUnchecked:kM,paragraph:AM}}}function OM(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:jM}}}function kM(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function AM(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function jM(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=_M.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function MM(){return[RA(),cj(),pj(),vM(),DM()]}function NM(e){return{extensions:[zA(),lj(e),mj(),EM(e),OM()]}}var PM={tokenize:JM,partial:!0},FM={tokenize:YM,partial:!0},IM={tokenize:XM,partial:!0},LM={tokenize:ZM,partial:!0},RM={tokenize:QM,partial:!0},zM={name:`wwwAutolink`,tokenize:KM,previous:$M},BM={name:`protocolAutolink`,tokenize:qM,previous:eN},VM={name:`emailAutolink`,tokenize:GM,previous:tN},HM={};function UM(){return{text:HM}}for(var WM=48;WM<123;)HM[WM]=VM,WM++,WM===58?WM=65:WM===91&&(WM=97);HM[43]=VM,HM[45]=VM,HM[46]=VM,HM[95]=VM,HM[72]=[VM,BM],HM[104]=[VM,BM],HM[87]=[VM,zM],HM[119]=[VM,zM];function GM(e,t,n){let r=this,i,a;return o;function o(t){return!nN(t)||!tN.call(r,r.previous)||rN(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return nN(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(RM,u,l)(t):t===45||t===95||zT(t)?(a=!0,e.consume(t),c):u(t)}function l(t){return e.consume(t),i=!0,c}function u(o){return a&&i&&RT(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function KM(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!$M.call(r,r.previous)||rN(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(PM,e.attempt(FM,e.attempt(IM,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function qM(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&eN.call(r,r.previous)&&!rN(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(RT(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),s;if(t===58){let n=i.toLowerCase();if(n===`http`||n===`https`)return e.consume(t),c}return n(t)}function c(t){return t===47?(e.consume(t),a?l:(a=!0,c)):n(t)}function l(t){return t===null||VT(t)||GT(t)||JT(t)||qT(t)?n(t):e.attempt(FM,e.attempt(IM,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function JM(e,t,n){let r=0;return i;function i(t){return(t===87||t===119)&&r<3?(r++,e.consume(t),i):t===46&&r===3?(e.consume(t),a):n(t)}function a(e){return e===null?n(e):t(e)}}function YM(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(LM,c,s)(t):t===null||GT(t)||JT(t)||t!==45&&qT(t)?c(t):(a=!0,e.consume(t),o)}function s(t){return t===95?r=!0:(i=r,r=void 0),e.consume(t),o}function c(e){return i||r||!a?n(e):t(e)}}function XM(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(LM,t,a)(o):o===null||GT(o)||JT(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function ZM(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||GT(o)||JT(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||GT(e)||JT(e)?t(e):r(e)}function a(e){return RT(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):RT(t)?(e.consume(t),o):n(t)}}function QM(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return zT(e)?n(e):t(e)}}function $M(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||GT(e)}function eN(e){return!RT(e)}function tN(e){return!(e===47||nN(e))}function nN(e){return e===43||e===45||e===46||e===95||zT(e)}function rN(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type===`labelLink`||r.type===`labelImage`)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var iN={tokenize:fN,partial:!0};function aN(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:lN,continuation:{tokenize:uN},exit:dN}},text:{91:{name:`gfmFootnoteCall`,tokenize:cN},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:oN,resolveTo:sN}}}}function oN(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=LT(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function sN(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function cN(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||GT(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(LT(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return GT(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function lN(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||GT(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=LT(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return GT(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),ZT(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function uN(e,t,n){return e.check(fE,t,e.attempt(iN,t,n))}function dN(e){e.exit(`gfmFootnoteDefinition`)}function fN(e,t,n){let r=this;return ZT(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function pN(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&AT(o,o.length,0,aE(s,e.slice(r+1,n),t)),AT(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),AT(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=iE(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=iE(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var mN=class{constructor(){this.map=[]}add(e,t,n){hN(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function hN(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function gN(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function _N(){return{flow:{null:{name:`table`,tokenize:vN,resolveAll:yN}}}}function vN(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):$(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):KT(t)?ZT(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||GT(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,KT(t)?ZT(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return KT(t)?ZT(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||$(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return KT(t)?ZT(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||$(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||$(n)?(e.exit(`tableRow`),t(n)):KT(n)?ZT(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||GT(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function yN(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new mN;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(xN(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=bN(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=bN(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=bN(f,t,o,i,n,d)):(o[0]=o[1],d=bN(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&xN(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=gN(t.events,n))}return e}function bN(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},SN(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=SN(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=SN(t.events,n[2]),a=SN(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},SN(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function xN(e,t,n,r,i){let a=[],o=SN(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function SN(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var CN={name:`tasklistCheck`,tokenize:TN};function wN(){return{text:{91:CN}}}function TN(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return GT(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return $(r)?t(r):KT(r)?e.check({tokenize:EN},t,n)(r):n(r)}}function EN(e,t,n){return ZT(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function DN(e){return NT([UM(),aN(),pN(e),_N(),wN()])}var ON={};function kN(e){let t=this,n=e||ON,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(DN(n)),a.push(MM()),o.push(NM(n))}var AN={h1:({className:e,...t})=>(0,z.jsx)(`h1`,{className:J(`text-lg font-semibold tracking-tight`,e),...t}),h2:({className:e,...t})=>(0,z.jsx)(`h2`,{className:J(`text-base font-semibold tracking-tight`,e),...t}),h3:({className:e,...t})=>(0,z.jsx)(`h3`,{className:J(`text-sm font-semibold tracking-tight`,e),...t}),p:({className:e,...t})=>(0,z.jsx)(`p`,{className:J(`my-0`,e),...t}),ul:({className:e,...t})=>(0,z.jsx)(`ul`,{className:J(`my-0 ml-5 list-disc space-y-1.5`,e),...t}),ol:({className:e,...t})=>(0,z.jsx)(`ol`,{className:J(`my-0 ml-5 list-decimal space-y-1.5`,e),...t}),li:({className:e,...t})=>(0,z.jsx)(`li`,{className:J(`pl-1`,e),...t}),blockquote:({className:e,...t})=>(0,z.jsx)(`blockquote`,{className:J(`my-0 border-l-2 border-border/80 pl-4 text-muted-foreground italic dark:border-white/10`,e),...t}),a:({className:e,...t})=>(0,z.jsx)(`a`,{className:J(`font-medium text-primary underline underline-offset-4`,e),target:`_blank`,rel:`noreferrer`,...t}),code:({className:e,...t})=>(0,z.jsx)(`code`,{className:J(`rounded-md bg-black/5 px-1.5 py-0.5 font-mono text-[0.85em] dark:bg-white/10`,e),...t}),pre:({className:e,...t})=>(0,z.jsx)(`pre`,{className:J(`my-0 overflow-x-auto rounded-2xl border border-border/70 bg-black/5 p-3 text-[0.85em] leading-6 dark:border-white/10 dark:bg-white/6`,e),...t}),hr:({className:e,...t})=>(0,z.jsx)(`hr`,{className:J(`border-border/70 dark:border-white/10`,e),...t}),table:({className:e,...t})=>(0,z.jsx)(`div`,{className:`overflow-x-auto`,children:(0,z.jsx)(`table`,{className:J(`w-full border-collapse text-left text-sm`,e),...t})}),th:({className:e,...t})=>(0,z.jsx)(`th`,{className:J(`border-b border-border/70 px-3 py-2 font-semibold dark:border-white/10`,e),...t}),td:({className:e,...t})=>(0,z.jsx)(`td`,{className:J(`border-b border-border/50 px-3 py-2 align-top dark:border-white/5`,e),...t})};function jN({content:e,className:t,compact:n=!1}){return(0,z.jsx)(`div`,{className:J(`space-y-4 break-words text-sm leading-7 [&>*+*]:mt-4`,n&&`text-[0.95rem] leading-6 [&>*+*]:mt-3`,t),children:(0,z.jsx)(TA,{remarkPlugins:[kN],components:AN,children:e})})}var MN=e=>e?.mailboxId?X_(`/api/mailbox/${encodeURIComponent(e.mailboxId)}/messages`,{status:e.status}):Promise.resolve([]),NN=e=>e?.mailboxId?X_(`/api/mailbox/${encodeURIComponent(e.mailboxId)}/events`,{limit:e.limit}):Promise.resolve([]),PN={all:[`mailbox`],summaries:[`mailbox`,`summaries`],messages:e=>[`mailbox`,`messages`,e],events:e=>[`mailbox`,`events`,e]};function FN(e){return gi({queryKey:PN.messages(e),queryFn:()=>MN(e),enabled:!!e?.mailboxId})}function IN(e){return gi({queryKey:PN.events(e),queryFn:()=>NN(e),enabled:!!e?.mailboxId})}var LN={pending:{label:`待处理`,variant:`outline`,chipClass:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/15 dark:text-amber-200`},processing:{label:`执行中`,variant:`default`,chipClass:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`},done:{label:`已完成`,variant:`secondary`,chipClass:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`},failed:{label:`失败`,variant:`destructive`,chipClass:`border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-500/30 dark:bg-rose-500/15 dark:text-rose-200`},cancelled:{label:`已取消`,variant:`secondary`,chipClass:`border-slate-200 bg-slate-100 text-slate-600 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`},read:{label:`已读`,variant:`secondary`,chipClass:`border-slate-200 bg-slate-100 text-slate-600 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`}},RN={standby:{label:`待命`,badge:`border-slate-200 bg-slate-100 text-slate-700 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`,card:`border-slate-200/80 bg-gradient-to-br from-white via-slate-50 to-slate-100/70 dark:border-slate-700/70 dark:from-slate-900 dark:via-slate-900/95 dark:to-slate-800/75`,halo:`bg-slate-500/10 text-slate-600 dark:bg-slate-400/15 dark:text-slate-200`,bar:`bg-slate-500`},queued:{label:`待响应`,badge:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/15 dark:text-amber-200`,card:`border-amber-200/80 bg-gradient-to-br from-amber-50 via-white to-orange-50 dark:border-amber-500/25 dark:from-amber-950/45 dark:via-slate-900 dark:to-orange-950/35`,halo:`bg-amber-500/10 text-amber-700 dark:bg-amber-400/15 dark:text-amber-200`,bar:`bg-amber-500`},running:{label:`执行中`,badge:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`,card:`border-sky-200/80 bg-gradient-to-br from-sky-50 via-white to-blue-50 dark:border-sky-500/25 dark:from-sky-950/45 dark:via-slate-900 dark:to-blue-950/35`,halo:`bg-sky-500/10 text-sky-700 dark:bg-sky-400/15 dark:text-sky-200`,bar:`bg-sky-500`},active:{label:`协作中`,badge:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-500/30 dark:bg-violet-500/15 dark:text-violet-200`,card:`border-violet-200/80 bg-gradient-to-br from-violet-50 via-white to-indigo-50 dark:border-violet-500/25 dark:from-violet-950/45 dark:via-slate-900 dark:to-indigo-950/35`,halo:`bg-violet-500/10 text-violet-700 dark:bg-violet-400/15 dark:text-violet-200`,bar:`bg-violet-500`},completed:{label:`回合完成`,badge:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`,card:`border-emerald-200/80 bg-gradient-to-br from-emerald-50 via-white to-teal-50 dark:border-emerald-500/25 dark:from-emerald-950/45 dark:via-slate-900 dark:to-teal-950/35`,halo:`bg-emerald-500/10 text-emerald-700 dark:bg-emerald-400/15 dark:text-emerald-200`,bar:`bg-emerald-500`},support:{label:`需要支援`,badge:`border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-500/30 dark:bg-rose-500/15 dark:text-rose-200`,card:`border-rose-200/80 bg-gradient-to-br from-rose-50 via-white to-orange-50 dark:border-rose-500/25 dark:from-rose-950/45 dark:via-slate-900 dark:to-orange-950/35`,halo:`bg-rose-500/10 text-rose-700 dark:bg-rose-400/15 dark:text-rose-200`,bar:`bg-rose-500`}},zN={message_sent:{label:`已投递`,chipClass:`border-indigo-200 bg-indigo-50 text-indigo-700 dark:border-indigo-500/30 dark:bg-indigo-500/15 dark:text-indigo-200`,icon:Co},message_status_changed:{label:`状态变更`,chipClass:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`,icon:io},mailbox_listed:{label:`查看邮箱`,chipClass:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/15 dark:text-amber-200`,icon:Va},message_opened:{label:`选中邮件`,chipClass:`border-fuchsia-200 bg-fuchsia-50 text-fuchsia-700 dark:border-fuchsia-500/30 dark:bg-fuchsia-500/15 dark:text-fuchsia-200`,icon:V},message_replied:{label:`提交回信`,chipClass:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`,icon:yo},message_followed_up:{label:`线程跟进`,chipClass:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-500/30 dark:bg-violet-500/15 dark:text-violet-200`,icon:za}},BN=`border-border/70 bg-card/90 shadow-sm backdrop-blur-sm dark:border-border/80 dark:bg-card/80`,VN=`bg-muted/60 text-foreground dark:bg-muted/35`,HN=`rounded-2xl border border-border/60 bg-muted/55 dark:border-border/70 dark:bg-muted/30`,UN=`rounded-2xl border border-dashed border-border/60 bg-muted/35 dark:border-border/70 dark:bg-muted/20`,WN=`rounded-2xl border border-border/60 bg-background/75 dark:border-white/10 dark:bg-slate-950/35`,GN=`relative overflow-hidden border border-sky-100/80 bg-gradient-to-br from-[#f7fbff] via-white to-[#eef6ff] text-slate-950 shadow-[0_24px_60px_-40px_rgba(59,130,246,0.35)] dark:border-white/8 dark:from-slate-950 dark:via-slate-900 dark:to-slate-950 dark:text-slate-50 dark:shadow-[0_30px_80px_-40px_rgba(15,23,42,0.9)]`,KN=`border-border/50 bg-background/80 text-foreground hover:bg-background dark:border-white/10 dark:bg-white/5 dark:text-white dark:hover:bg-white/10`,qN=`bg-slate-950 text-white hover:bg-slate-800 dark:bg-white dark:text-slate-900 dark:hover:bg-slate-100`,JN=`inline-flex items-center gap-2 rounded-full border border-border/50 bg-background/72 px-3 py-1.5 text-foreground/85 dark:border-white/10 dark:bg-white/5 dark:text-slate-200/85`,YN=`rounded-2xl border border-border/60 bg-background/78 p-4 backdrop-blur-sm dark:border-white/10 dark:bg-white/5`;function XN(){let{departmentName:e}=st();return e?(0,z.jsx)(ZN,{departmentName:e}):(0,z.jsx)(dy,{children:(0,z.jsx)(`p`,{children:`Invalid department name`})})}function ZN({departmentName:e}){let t=rt(),{data:n,isLoading:r,refetch:i}=iy(e),{data:a,refetch:o}=ly(e),s=sy(e),c=cy(e),[l,u]=(0,S.useState)(!1),[d,f]=(0,S.useState)(null),[p,m]=(0,S.useState)(null),[h,g]=(0,S.useState)(null),[_,v]=(0,S.useState)({name:``,focusOn:``}),y=async()=>{let e=_.name.trim();e&&(await s.mutateAsync({name:e,focusOn:_.focusOn||void 0}),m(e),u(!1),v({name:``,focusOn:``}))},b=async()=>{d&&(await c.mutateAsync(d),p===d&&m(null),h===d&&g(null),f(null))},x=async()=>{await Promise.all([i(),o()])},C=[...a?.messages??[]].sort((e,t)=>t.sendTime-e.sendTime),w=new Map;if(n?.departmentMembers)for(let e of n.departmentMembers)w.set(e.mailBoxId,e.name);let T=n?wP(n):[],E=n?CP(n)?.mailBoxId:void 0,D=n?T.map(e=>xP(e,C,E)):[],O=D.reduce((e,t)=>Math.max(e,t.totalMessages),1),k=D.map(e=>({...e,activityPercent:e.totalMessages===0?12:Math.max(22,Math.round(e.totalMessages/O*100))})),A=k.find(e=>e.member.name===p)??k[0]??null,j=SP(n,k,C);return(0,z.jsx)(dy,{children:(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(QN,{department:n,departmentName:e,summary:j,onBack:()=>t(`/departments`),onRefresh:x,onAddMember:()=>u(!0)}),r?(0,z.jsx)(pP,{}):n?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(320px,0.92fr)_minmax(0,1.08fr)]`,children:[(0,z.jsx)(eP,{memberStats:k,selectedMemberName:A?.member.name??null,onSelectMember:m,onDeleteMember:f,onAddMember:()=>u(!0)}),(0,z.jsx)(rP,{departmentName:e,stats:A,memberNameMap:w,onOpenContext:e=>g(e)})]}),(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(0,1.15fr)_minmax(300px,0.85fr)]`,children:[(0,z.jsx)(uP,{messages:C,memberNameMap:w}),(0,z.jsx)(dP,{department:n,summary:j,onAddMember:()=>u(!0)})]})]}):(0,z.jsx)(py,{children:(0,z.jsxs)(_y,{className:`py-16 text-center text-muted-foreground`,children:[`部门 `,e,` 不存在`]})}),(0,z.jsx)(FC,{open:l,onOpenChange:u,children:(0,z.jsxs)(RC,{className:`sm:max-w-sm`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`添加成员`}),(0,z.jsxs)(HC,{children:[`向部门 `,e,` 添加新成员`]})]}),(0,z.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`成员名称`}),(0,z.jsx)(NC,{value:_.name,onChange:e=>v(t=>({...t,name:e.target.value})),placeholder:`例如:TechEval`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`职责描述`}),(0,z.jsx)(NC,{value:_.focusOn,onChange:e=>v(t=>({...t,focusOn:e.target.value})),placeholder:`例如:技术评估 / 产品拆解 / 前端推进`})]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>u(!1),children:`取消`}),(0,z.jsxs)(Y,{onClick:y,disabled:s.isPending||!_.name.trim(),children:[s.isPending&&(0,z.jsx)(io,{className:`mr-1 h-4 w-4 animate-spin`}),`添加`]})]})]})}),(0,z.jsx)(FC,{open:!!d,onOpenChange:()=>f(null),children:(0,z.jsxs)(RC,{className:`sm:max-w-sm`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`确认移除`}),(0,z.jsxs)(HC,{children:[`确定要移除成员 `,d,` 吗?`]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>f(null),children:`取消`}),(0,z.jsxs)(Y,{variant:`destructive`,onClick:b,disabled:c.isPending,children:[c.isPending&&(0,z.jsx)(io,{className:`mr-1 h-4 w-4 animate-spin`}),`移除`]})]})]})}),(0,z.jsx)(mP,{departmentName:e,memberName:h,onClose:()=>g(null)})]})})}function QN({department:e,departmentName:t,summary:n,onBack:r,onRefresh:i,onAddMember:a}){return(0,z.jsxs)(py,{className:GN,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_top_left,rgba(59,130,246,0.18),transparent_36%)] dark:bg-[radial-gradient(circle_at_top_left,rgba(59,130,246,0.35),transparent_36%)]`}),(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.14),transparent_32%)] dark:bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.22),transparent_32%)]`}),(0,z.jsx)(_y,{className:`relative px-6 py-6 sm:px-8 sm:py-8`,children:(0,z.jsxs)(`div`,{className:`flex flex-col gap-8 xl:flex-row xl:items-start xl:justify-between`,children:[(0,z.jsxs)(`div`,{className:`max-w-3xl space-y-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:r,className:KN,children:(0,z.jsx)(wa,{className:`h-4 w-4`})}),(0,z.jsx)(X,{variant:`outline`,className:J(KN,n.stageTone),children:n.stageLabel}),n.lastPulseAt&&(0,z.jsxs)(`span`,{className:`text-xs text-muted-foreground dark:text-slate-300/80`,children:[`最近动作 `,BP(n.lastPulseAt)]})]}),(0,z.jsx)(`div`,{className:`space-y-2`,children:(0,z.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight sm:text-4xl`,children:e?.name??t})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs`,children:[(0,z.jsxs)(`div`,{className:JN,children:[(0,z.jsx)(jo,{className:`h-3.5 w-3.5`}),(0,z.jsx)(`span`,{className:`font-medium`,children:`目标`}),(0,z.jsx)(`span`,{className:`text-muted-foreground dark:text-slate-300`,children:e?.sourceGoalId??`-`})]}),(0,z.jsxs)(`div`,{className:JN,children:[(0,z.jsx)(Fo,{className:`h-3.5 w-3.5`}),(0,z.jsx)(`span`,{className:`font-medium`,children:`Department Head`}),(0,z.jsx)(`span`,{className:`max-w-40 truncate text-muted-foreground dark:text-slate-300`,children:n.headName})]}),e?.workpath&&(0,z.jsxs)(`div`,{className:J(JN,`max-w-full`),children:[(0,z.jsx)(Ua,{className:`h-3.5 w-3.5 shrink-0`}),(0,z.jsx)(`span`,{className:`font-medium shrink-0`,children:`工作目录`}),(0,z.jsx)(`span`,{className:`truncate text-muted-foreground dark:text-slate-300`,children:e.workpath})]})]}),(0,z.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[{index:`01`,title:`先点成员卡`,description:`左侧卡牌决定你当前聚焦的角色。`},{index:`02`,title:`再看任务流`,description:`右侧只保留这名成员最近一轮的关键往返。`},{index:`03`,title:`最后追上下文`,description:`需要深挖时,再打开完整执行记录。`}].map(e=>(0,z.jsxs)(`div`,{className:YN,children:[(0,z.jsx)(`div`,{className:`text-[11px] font-semibold tracking-[0.18em] text-slate-500 dark:text-slate-400`,children:e.index}),(0,z.jsx)(`div`,{className:`mt-2 text-sm font-semibold text-foreground dark:text-white`,children:e.title}),(0,z.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground dark:text-slate-300`,children:e.description})]},e.index))})]}),(0,z.jsxs)(`div`,{className:`w-full xl:max-w-[390px]`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex flex-wrap justify-end gap-2`,children:[(0,z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:i,className:KN,children:[(0,z.jsx)(vo,{className:`h-4 w-4`}),`刷新`]}),(0,z.jsxs)(Y,{size:`sm`,onClick:a,className:qN,children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`添加成员`]})]}),(0,z.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,z.jsx)($N,{icon:Ro,label:`执行层 executor`,value:n.executorCount,description:`由 Department Head 管理`}),(0,z.jsx)($N,{icon:Oo,label:`有动作成员`,value:n.activeMembers,description:`这一轮参与协作`}),(0,z.jsx)($N,{icon:Ca,label:`处理中消息`,value:n.inFlightCount,description:`仍在推进的回合`}),(0,z.jsx)($N,{icon:Fa,label:`已完成回合`,value:n.completedCount,description:`${n.totalMessages} 条战报`})]}),n.riskCount>0&&(0,z.jsxs)(`div`,{className:`mt-3 rounded-2xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-700 dark:border-rose-400/20 dark:bg-rose-400/10 dark:text-rose-50`,children:[`有 `,n.riskCount,` 条失败消息,建议让 Department Head 先定位阻塞来源。`]})]})]})})]})}function $N({icon:e,label:t,value:n,description:r}){return(0,z.jsxs)(`div`,{className:`rounded-2xl border border-border/60 bg-background/80 p-4 backdrop-blur-sm dark:border-white/10 dark:bg-white/5`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-xl bg-primary/10 text-primary dark:bg-white/10 dark:text-white`,children:(0,z.jsx)(e,{className:`h-4 w-4`})}),(0,z.jsx)(`span`,{children:t})]}),(0,z.jsx)(`div`,{className:`mt-4 text-3xl font-semibold text-foreground dark:text-white`,children:n}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground dark:text-slate-400`,children:r})]})}function eP({memberStats:e,selectedMemberName:t,onSelectMember:n,onDeleteMember:r,onAddMember:i}){return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsxs)(my,{className:`space-y-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Do,{className:`h-5 w-5 text-primary`}),`部门成员目录`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Department Head 在最前,executor 是执行层;先选中成员,再查看最近任务流。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[e.length,` 位成员`]})]}),(0,z.jsx)(`div`,{className:J(HN,`border-dashed text-sm leading-6 text-muted-foreground`),children:`CEO 视角只需要关注 Department Head;详情页保留成员目录,方便排查部门内部协作。`})]}),(0,z.jsx)(_y,{children:e.length===0?(0,z.jsxs)(`div`,{className:J(UN,`rounded-3xl px-6 py-12 text-center`),children:[(0,z.jsx)(Ro,{className:`mx-auto h-10 w-10 text-muted-foreground/45`}),(0,z.jsx)(`div`,{className:`mt-4 text-base font-medium text-foreground`,children:`部门还没有成员`}),(0,z.jsx)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`先添加 1 到 3 个职责明确的角色,再开始分派任务。`}),(0,z.jsxs)(Y,{className:`mt-4`,onClick:i,children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`添加第一个成员`]})]}):(0,z.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-1 2xl:grid-cols-2`,children:e.map(e=>(0,z.jsx)(tP,{stats:e,selected:t===e.member.name,onSelect:()=>n(e.member.name),onDelete:()=>r(e.member.name)},e.member.id))})})]})}function tP({stats:e,selected:t,onSelect:n,onDelete:r}){let i=RN[e.state],a=e.member.role===`department_head`;return(0,z.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:n,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:J(`group relative flex w-full flex-col gap-4 overflow-hidden rounded-3xl border p-4 text-left transition-all duration-200 hover:-translate-y-0.5 hover:shadow-xl`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25`,i.card,t&&`ring-2 ring-primary/25 shadow-xl`),children:[(0,z.jsx)(`div`,{className:`absolute -right-5 -top-5 h-20 w-20 rounded-full bg-white/70 blur-2xl dark:bg-white/10`}),(0,z.jsxs)(`div`,{className:`relative flex items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,z.jsx)(`div`,{className:J(`flex h-12 w-12 shrink-0 items-center justify-center rounded-2xl`,i.halo),children:a?(0,z.jsx)(Fo,{className:`h-5 w-5`}):(0,z.jsx)(Lo,{className:`h-5 w-5`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`truncate text-base font-semibold text-foreground dark:text-slate-50`,children:e.member.name}),a&&(0,z.jsx)(X,{variant:`secondary`,children:`Department Head`})]}),(0,z.jsx)(`div`,{className:`truncate text-sm text-muted-foreground dark:text-slate-300`,children:e.member.focusOn||`尚未设置职责`})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:i.badge,children:i.label}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,className:`opacity-0 transition-opacity group-hover:opacity-100`,onClick:e=>{e.stopPropagation(),r()},title:`移除成员`,children:(0,z.jsx)(No,{className:`h-4 w-4 text-muted-foreground`})})]})]}),(0,z.jsxs)(`div`,{className:`relative space-y-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(`span`,{children:`活跃度`}),(0,z.jsxs)(`span`,{children:[e.totalMessages,` 条动作`]})]}),(0,z.jsx)(`div`,{className:`h-2 rounded-full bg-background/80 dark:bg-slate-950/35`,children:(0,z.jsx)(`div`,{className:J(`h-2 rounded-full transition-all`,i.bar),style:{width:`${e.activityPercent}%`}})})]}),(0,z.jsxs)(`div`,{className:`relative grid grid-cols-3 gap-2`,children:[(0,z.jsx)(nP,{label:`收到`,value:e.receivedMessages.length,accent:`text-sky-600`}),(0,z.jsx)(nP,{label:`发出`,value:e.sentMessages.length,accent:`text-emerald-600`}),(0,z.jsx)(nP,{label:e.failedCount>0?`风险`:`完成`,value:e.failedCount>0?e.failedCount:e.doneCount,accent:e.failedCount>0?`text-rose-600`:`text-violet-600`})]}),(0,z.jsxs)(`div`,{className:J(WN,`relative p-3 text-sm leading-6 text-muted-foreground dark:text-slate-300`),children:[(0,z.jsx)(`span`,{className:`font-medium text-foreground dark:text-slate-50`,children:`下一步:`}),FP(e.nextAction,62)]}),(0,z.jsxs)(`div`,{className:`relative flex items-center justify-between text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(`span`,{children:e.lastActiveAt?`最近动作 ${BP(e.lastActiveAt)}`:`尚未进入任务循环`}),(0,z.jsx)(`span`,{className:`font-medium text-foreground/85 dark:text-slate-200`,children:t?`当前聚焦`:`点击查看`})]})]})}function nP({label:e,value:t,accent:n}){return(0,z.jsxs)(`div`,{className:J(WN,`px-3 py-2`),children:[(0,z.jsx)(`div`,{className:`text-[11px] text-muted-foreground dark:text-slate-300`,children:e}),(0,z.jsx)(`div`,{className:J(`mt-1 text-lg font-semibold`,n),children:t})]})}function rP({departmentName:e,stats:t,memberNameMap:n,onOpenContext:r}){if(!t)return(0,z.jsx)(py,{className:J(BN,`border-dashed`),children:(0,z.jsxs)(_y,{className:`flex min-h-[420px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,z.jsx)(Lo,{className:`h-12 w-12 text-muted-foreground/45`}),(0,z.jsx)(`div`,{className:`mt-4 text-lg font-medium text-foreground`,children:`先选一个成员`}),(0,z.jsx)(`div`,{className:`mt-2 max-w-md text-sm leading-6 text-muted-foreground`,children:`右侧会固定展示这名成员的任务流、原始收件箱和执行上下文,不再需要来回切 tab。`})]})});let i=RN[t.state];return(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsxs)(py,{className:GN,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_top_left,rgba(99,102,241,0.16),transparent_34%)] dark:bg-[radial-gradient(circle_at_top_left,rgba(99,102,241,0.32),transparent_34%)]`}),(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.12),transparent_28%)] dark:bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.22),transparent_28%)]`}),(0,z.jsx)(_y,{className:`relative px-6 py-6 sm:px-7`,children:(0,z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,z.jsx)(`div`,{className:J(`flex h-14 w-14 shrink-0 items-center justify-center rounded-3xl border border-border/50 dark:border-white/10`,i.halo),children:(0,z.jsx)(Lo,{className:`h-6 w-6`})}),(0,z.jsx)(`div`,{className:`min-w-0`,children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`h2`,{className:`truncate text-2xl font-semibold`,children:t.member.name}),(0,z.jsx)(X,{variant:`outline`,className:i.badge,children:i.label})]})})]}),(0,z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:()=>r(t.member.name),className:KN,children:[(0,z.jsx)(Mo,{className:`h-4 w-4`}),`查看完整上下文`]})]}),(0,z.jsxs)(`div`,{className:`rounded-3xl border border-border/60 bg-background/80 p-4 dark:border-white/10 dark:bg-white/6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-foreground dark:text-white`,children:[(0,z.jsx)(Lo,{className:`h-4 w-4 text-primary`}),`角色设定`]}),t.member.focusOn?.trim()?(0,z.jsx)(`div`,{className:`mt-3 text-slate-700 dark:text-slate-200`,children:(0,z.jsx)(jN,{content:t.member.focusOn,compact:!0,className:`[&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_pre]:text-xs [&_pre]:leading-5`})}):(0,z.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-muted-foreground`,children:`暂未设置职责,建议补充角色定位。`})]}),(0,z.jsxs)(`div`,{className:`rounded-3xl border border-border/60 bg-background/80 p-4 dark:border-white/10 dark:bg-white/6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-foreground dark:text-white`,children:[(0,z.jsx)(Oo,{className:`h-4 w-4 text-amber-500 dark:text-amber-300`}),`当前建议动作`]}),(0,z.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-slate-700 dark:text-slate-300`,children:t.nextAction})]}),(0,z.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,z.jsx)(iP,{icon:Za,label:`收到消息`,value:t.receivedMessages.length,note:t.pendingCount>0?`${t.pendingCount} 条待响应`:`收件箱稳定`}),(0,z.jsx)(iP,{icon:Co,label:`发出消息`,value:t.sentMessages.length,note:t.doneCount>0?`${t.doneCount} 条已完成`:`还没有回报`}),(0,z.jsx)(iP,{icon:La,label:`最近动作`,value:t.lastActiveAt?zP(t.lastActiveAt):`--`,note:t.lastActiveAt?BP(t.lastActiveAt):`尚未开始`})]})]})})]}),(0,z.jsx)(aP,{stats:t,memberNameMap:n}),(0,z.jsxs)(`div`,{className:`grid gap-6 2xl:grid-cols-2`,children:[(0,z.jsx)(sP,{stats:t,memberNameMap:n}),(0,z.jsx)(lP,{departmentName:e,memberName:t.member.name,onOpenContext:()=>r(t.member.name)})]})]})}function iP({icon:e,label:t,value:n,note:r}){return(0,z.jsxs)(`div`,{className:`rounded-2xl border border-border/60 bg-background/80 p-4 dark:border-white/10 dark:bg-white/6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(e,{className:`h-3.5 w-3.5`}),(0,z.jsx)(`span`,{children:t})]}),(0,z.jsx)(`div`,{className:`mt-3 text-2xl font-semibold text-foreground dark:text-white`,children:n}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground dark:text-slate-400`,children:r})]})}function aP({stats:e,memberNameMap:t}){return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Ca,{className:`h-5 w-5 text-primary`}),`任务流`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`只保留当前成员最近一轮最关键的往返消息,按时间倒序展示。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[e.combinedMessages.length,` 条动作`]})]})}),(0,z.jsx)(_y,{children:e.combinedMessages.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-5 py-10 text-center text-sm text-muted-foreground`),children:`这名成员还没有进入协作回合,先给他一个明确任务会更直观。`}):(0,z.jsx)(`div`,{className:`space-y-3`,children:e.combinedMessages.slice(0,6).map(n=>(0,z.jsx)(oP,{message:n,direction:n.fromMailboxId===e.member.mailBoxId?`sent`:`received`,counterpartName:n.fromMailboxId===e.member.mailBoxId?t.get(n.toMailboxId):t.get(n.fromMailboxId)},n.id))})})]})}function oP({message:e,direction:t,counterpartName:n}){let[r,i]=(0,S.useState)(!1),a=e.content.length>180,o=LN[e.status]??LN.pending,s=e.threadId??e.id,c=t===`received`?{container:`border-sky-100 bg-sky-50/70 dark:border-sky-500/20 dark:bg-sky-500/10`,chip:`border-sky-200 bg-sky-100 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`,label:`收到任务`,icon:Za}:{container:`border-emerald-100 bg-emerald-50/70 dark:border-emerald-500/20 dark:bg-emerald-500/10`,chip:`border-emerald-200 bg-emerald-100 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`,label:`发出回报`,icon:Co},l=e.parentMessageId?t===`received`?`线程追问`:`线程续报`:c.label,u=c.icon;return(0,z.jsxs)(`div`,{className:J(`rounded-2xl border p-4 transition-colors`,c.container,a&&`cursor-pointer hover:border-primary/25`),onClick:()=>{a&&i(e=>!e)},children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(X,{variant:`outline`,className:c.chip,children:[(0,z.jsx)(u,{className:`h-3 w-3`}),l]}),(0,z.jsx)(X,{variant:`outline`,className:o.chipClass,children:o.label}),(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(Ka,{className:`h-3 w-3`}),PP(s)]}),e.parentMessageId&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(za,{className:`h-3 w-3`}),PP(e.parentMessageId)]}),(0,z.jsxs)(`span`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:[t===`received`?`来自`:`发给`,` `,n??`系统`]}),(0,z.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground dark:text-slate-300`,children:RP(e.sendTime)})]}),(0,z.jsx)(`div`,{className:`mt-3 text-sm leading-6 text-foreground dark:text-slate-100`,children:r||!a?(0,z.jsx)(jN,{content:e.content,compact:!0}):(0,z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:LP(e.content,180)})}),a&&(0,z.jsxs)(`div`,{className:`mt-2 inline-flex items-center gap-1 text-xs text-muted-foreground dark:text-slate-300`,children:[r?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`}),r?`收起全文`:`展开全文`]})]})}function sP({stats:e,memberNameMap:t}){let{data:n}=FN({mailboxId:e.member.mailBoxId}),{data:r,isLoading:i}=IN({mailboxId:e.member.mailBoxId,limit:40}),a=[...r??[]].sort((e,t)=>e.createdAt-t.createdAt).slice(-8);return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(oo,{className:`h-4 w-4 text-primary`}),`信箱投递过程`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`这里记录的是 mailbox 本身的动作轨迹:谁投递、谁查看、看完选中了哪封、何时回信。`})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[n?.length??0,` 封消息`]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[r?.length??0,` 条轨迹`]})]})]})}),(0,z.jsx)(_y,{children:i?(0,z.jsx)(`div`,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-24 w-full`},e))}):a.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-4 py-10 text-center text-sm text-muted-foreground`),children:`暂无 mailbox 过程事件。新版本开始处理后,这里会持续记录浏览和决策轨迹。`}):(0,z.jsx)(I_,{className:`h-[360px] pr-4`,children:(0,z.jsx)(`div`,{children:a.map((e,n)=>(0,z.jsx)(cP,{event:e,index:n,isLast:n===a.length-1,memberNameMap:t},e.id))})})})]})}function cP({event:e,index:t,isLast:n,memberNameMap:r}){let i=AP(e),a=i.icon,o=jP(e,r),s=e.eventType===`message_status_changed`?String(e.detail?.nextStatus??``):e.message?.status,c=s?LN[s]??null:null,l=e.message?.threadId||(typeof e.detail?.threadId==`string`?e.detail.threadId:void 0)||e.messageId,u=e.eventType===`message_followed_up`&&typeof e.detail?.preview==`string`?e.detail.preview:e.message?.content;return(0,z.jsxs)(`div`,{className:`grid grid-cols-[2rem_minmax(0,1fr)] gap-3`,children:[(0,z.jsxs)(`div`,{className:`relative flex justify-center`,children:[!n&&(0,z.jsx)(`div`,{className:`absolute top-8 bottom-0 w-px bg-border dark:bg-slate-700`}),(0,z.jsx)(`div`,{className:J(`relative z-10 flex h-7 w-7 items-center justify-center rounded-full border text-xs font-semibold`,i.nodeClass),children:t+1})]}),(0,z.jsxs)(`div`,{className:J(`mb-3 rounded-lg border p-3`,i.rowClass),children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(X,{variant:`outline`,className:i.chipClass,children:[(0,z.jsx)(a,{className:`h-3 w-3`}),i.label]}),c&&(0,z.jsx)(X,{variant:`outline`,className:c.chipClass,children:c.label}),(0,z.jsx)(`span`,{className:`ml-auto font-mono text-xs text-muted-foreground dark:text-slate-300`,children:zP(e.createdAt)})]}),(0,z.jsxs)(`div`,{className:`mt-3 flex min-w-0 items-center gap-2 text-xs font-medium`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:o.from}),(0,z.jsx)(Ta,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground dark:text-slate-400`}),(0,z.jsx)(`span`,{className:`truncate`,children:o.to}),l&&(0,z.jsx)(`span`,{className:`ml-auto shrink-0 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-slate-950/50 dark:text-slate-300`,children:PP(l)})]}),(0,z.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-foreground dark:text-slate-100`,children:kP(e,r)}),u&&(0,z.jsxs)(`div`,{className:J(WN,`mt-3 p-3`),children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:`消息摘要`}),(0,z.jsx)(`p`,{className:`mt-2 whitespace-pre-wrap text-sm leading-6 text-foreground dark:text-slate-100`,children:LP(u,160)})]})]})]})}function lP({departmentName:e,memberName:t,onOpenContext:n}){let{data:r,isLoading:i}=uy(e,t),a=r?[...r.agentLogs].slice(-3).reverse():[];return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(Mo,{className:`h-4 w-4 text-primary`}),`脑内上下文`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`不再直接堆完整日志,只先给你最近几段关键上下文。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[r?.agentLogs.length??0,` 条记录`]})]})}),(0,z.jsxs)(_y,{className:`space-y-4`,children:[i?(0,z.jsx)(`div`,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-20 w-full`},e))}):a.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-4 py-10 text-center text-sm text-muted-foreground`),children:`该成员还没有执行记录。`}):(0,z.jsx)(`div`,{className:`space-y-3`,children:a.map(e=>(0,z.jsxs)(`div`,{className:J(HN,`p-4`),children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,e.index]}),(0,z.jsx)(X,{variant:e.role===`user`?`default`:`secondary`,children:e.role===`user`?`User`:`Assistant`})]}),(0,z.jsx)(`div`,{className:`mt-3 text-sm leading-6 text-foreground dark:text-slate-100`,children:(0,z.jsx)(DP,{log:e})})]},e.index))}),(0,z.jsxs)(Y,{variant:`outline`,className:`w-full`,onClick:n,children:[(0,z.jsx)(Mo,{className:`h-4 w-4`}),`查看完整执行上下文`]})]})]})}function uP({messages:e,memberNameMap:t}){let[n,r]=(0,S.useState)(null);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Ca,{className:`h-5 w-5 text-primary`}),`部门主线战报`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`从全队视角看最近的协作主线,方便你快速判断当前整体推进节奏。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[e.length,` 条`]})]})}),(0,z.jsx)(_y,{children:e.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-5 py-12 text-center text-sm text-muted-foreground`),children:`全队还没有产生协作消息。`}):(0,z.jsx)(I_,{className:`max-h-[520px] pr-4`,children:(0,z.jsx)(`div`,{className:`space-y-3`,children:e.slice(0,12).map(e=>{let n=LN[e.status]??LN.pending,i=t.get(e.fromMailboxId)??NP(e.fromMailboxId),a=t.get(e.toMailboxId)??NP(e.toMailboxId),o=IP(e.content),s=o.length>260;return(0,z.jsxs)(`div`,{role:`button`,tabIndex:0,className:J(HN,`cursor-pointer p-4 transition-colors hover:border-primary/30`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25`),onClick:()=>r(e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),r(e))},children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:n.chipClass,children:n.label}),(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(Ka,{className:`h-3 w-3`}),PP(e.threadId??e.id)]}),e.parentMessageId&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(za,{className:`h-3 w-3`}),PP(e.parentMessageId)]}),(0,z.jsx)(`span`,{className:`text-sm font-medium text-foreground dark:text-slate-50`,children:i}),(0,z.jsx)(Co,{className:`h-3.5 w-3.5 text-muted-foreground dark:text-slate-400`}),(0,z.jsx)(`span`,{className:`text-sm font-medium text-foreground dark:text-slate-50`,children:a}),(0,z.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground dark:text-slate-300`,children:RP(e.sendTime)})]}),s?(0,z.jsx)(`div`,{className:`mt-3`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:(0,z.jsx)(`div`,{className:`max-h-40 overflow-y-auto rounded-2xl border border-border/60 bg-background/80 p-4 pr-5 dark:border-white/10 dark:bg-white/5`,children:(0,z.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-6 text-foreground dark:text-slate-100`,children:o})})}):(0,z.jsx)(`p`,{className:`mt-3 whitespace-pre-wrap text-sm leading-6 text-foreground dark:text-slate-100`,children:o}),s&&(0,z.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-3`,children:[(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:`预览区域支持上下滚动`}),(0,z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:t=>{t.stopPropagation(),r(e)},children:[(0,z.jsx)(Ha,{className:`h-4 w-4`}),`查看全文`]})]})]},e.id)})})})})]}),(0,z.jsx)(FC,{open:!!n,onOpenChange:e=>!e&&r(null),children:(0,z.jsx)(RC,{className:`sm:max-w-4xl max-h-[85vh] overflow-hidden grid-rows-[auto_minmax(0,1fr)]`,children:n?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(zC,{children:[(0,z.jsxs)(VC,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(Ca,{className:`h-4 w-4`}),`部门主线战报详情`]}),(0,z.jsxs)(HC,{children:[t.get(n.fromMailboxId)??NP(n.fromMailboxId),` -> `,t.get(n.toMailboxId)??NP(n.toMailboxId),` · `,RP(n.sendTime)]})]}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-col space-y-4 overflow-hidden`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:(LN[n.status]??LN.pending).chipClass,children:(LN[n.status]??LN.pending).label}),(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-muted px-2 py-1 font-mono text-xs text-muted-foreground`,children:[(0,z.jsx)(Ka,{className:`h-3 w-3`}),PP(n.threadId??n.id)]}),n.parentMessageId&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-muted px-2 py-1 font-mono text-xs text-muted-foreground`,children:[(0,z.jsx)(za,{className:`h-3 w-3`}),PP(n.parentMessageId)]}),(0,z.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:"点击外部区域或按 `Esc` 可关闭"})]}),(0,z.jsx)(I_,{className:`min-h-0 flex-1 pr-4`,children:(0,z.jsx)(`div`,{className:J(HN,`p-5 text-foreground dark:text-slate-100`),children:(0,z.jsx)(jN,{content:n.content,className:`[&_h1]:text-xl [&_h2]:text-lg [&_h3]:text-base [&_pre]:text-xs [&_pre]:leading-6`})})})]})]}):null})})]})}function dP({department:e,summary:t,onAddMember:n}){return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsxs)(my,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Do,{className:`h-5 w-5 text-primary`}),`操作说明`]}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`详情页展示部门内部结构;CEO视角仍以 Department Head 为唯一入口。`})]}),(0,z.jsxs)(_y,{className:`space-y-5`,children:[(0,z.jsx)(`div`,{className:`space-y-3`,children:[`先看 Department Head 是否已经接住任务,再决定是否进入 executor 细节。`,`右侧优先读“当前建议动作”和“任务流”,大多数判断不需要翻完整日志。`,`只有当消息不够解释行为时,再点开完整上下文去看内部推理和工具调用。`].map((e,t)=>(0,z.jsxs)(`div`,{className:J(HN,`flex items-start gap-3 px-4 py-3`),children:[(0,z.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-sm font-semibold text-primary`,children:t+1}),(0,z.jsx)(`p`,{className:`text-sm leading-6 text-foreground dark:text-slate-100`,children:e})]},e))}),(0,z.jsxs)(`div`,{className:J(HN,`rounded-3xl p-4`),children:[(0,z.jsx)(`div`,{className:`text-xs font-semibold tracking-[0.18em] text-muted-foreground dark:text-slate-300`,children:`部门参数`}),(0,z.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[(0,z.jsx)(fP,{icon:jo,label:`目标 ID`,value:e.sourceGoalId??`未关联`,mono:!!e.sourceGoalId}),(0,z.jsx)(fP,{icon:Fo,label:`Department Head`,value:t.headName}),(0,z.jsx)(fP,{icon:Ro,label:`执行层 executor`,value:`${t.executorCount} 人`}),(0,z.jsx)(fP,{icon:Ua,label:`工作目录`,value:e.workpath??`未设置`,mono:!!e.workpath}),(0,z.jsx)(fP,{icon:vo,label:`刷新策略`,value:`自动 5 秒同步 + 手动刷新`})]})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`状态图例`}),(0,z.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:Object.values(RN).map(e=>(0,z.jsx)(X,{variant:`outline`,className:e.badge,children:e.label},e.label))})]}),(0,z.jsxs)(Y,{className:`w-full`,onClick:n,children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`添加新成员`]})]})]})}function fP({icon:e,label:t,value:n,mono:r=!1}){return(0,z.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,z.jsx)(`div`,{className:`mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-xl bg-background text-muted-foreground ring-1 ring-border dark:bg-slate-950/35 dark:text-slate-200 dark:ring-white/10`,children:(0,z.jsx)(e,{className:`h-4 w-4`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:t}),(0,z.jsx)(`div`,{className:J(`mt-1 break-all text-sm text-foreground dark:text-slate-100`,r&&`font-mono text-xs`),children:n})]})]})}function pP(){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(320px,0.92fr)_minmax(0,1.08fr)]`,children:[(0,z.jsxs)(py,{children:[(0,z.jsxs)(my,{children:[(0,z.jsx)(vy,{className:`h-7 w-32`}),(0,z.jsx)(vy,{className:`h-4 w-64`})]}),(0,z.jsx)(_y,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-40 w-full`},e))})]}),(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(vy,{className:`h-52 w-full rounded-3xl`}),(0,z.jsx)(vy,{className:`h-72 w-full rounded-3xl`}),(0,z.jsxs)(`div`,{className:`grid gap-6 2xl:grid-cols-2`,children:[(0,z.jsx)(vy,{className:`h-80 w-full rounded-3xl`}),(0,z.jsx)(vy,{className:`h-80 w-full rounded-3xl`})]})]})]}),(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(0,1.15fr)_minmax(300px,0.85fr)]`,children:[(0,z.jsx)(vy,{className:`h-[420px] w-full rounded-3xl`}),(0,z.jsx)(vy,{className:`h-[420px] w-full rounded-3xl`})]})]})}function mP({departmentName:e,memberName:t,onClose:n}){let{data:r,isLoading:i}=uy(e,t);return(0,z.jsx)(FC,{open:!!t,onOpenChange:e=>!e&&n(),children:(0,z.jsxs)(RC,{className:`sm:max-w-4xl max-h-[85vh]`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsxs)(VC,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Lo,{className:`h-4 w-4`}),t??`成员`,` 的完整上下文`]}),(0,z.jsx)(HC,{children:r?r.mailBoxId:`加载中...`})]}),i?(0,z.jsxs)(`div`,{className:`space-y-4 py-4`,children:[(0,z.jsx)(vy,{className:`h-5 w-32`}),[1,2,3,4].map(e=>(0,z.jsx)(vy,{className:`h-16 w-full`},e))]}):r?(0,z.jsx)(`div`,{className:`max-h-[65vh] overflow-y-auto rounded-md border p-3`,children:(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,z.jsx)(Mo,{className:`h-4 w-4 text-emerald-500`}),(0,z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`对话上下文`}),(0,z.jsxs)(X,{variant:`outline`,className:`text-xs`,children:[r.agentLogs.length,` 条`]})]}),r.agentLogs.length===0?(0,z.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground/60`,children:`该成员暂无执行记录`}):(0,z.jsx)(`div`,{className:`space-y-4 pl-1`,children:r.agentLogs.map(e=>(0,z.jsx)(hP,{log:e},e.index))})]})}):(0,z.jsx)(`div`,{className:`py-12 text-center text-muted-foreground`,children:`无法加载成员上下文`})]})})}function hP({log:e}){let t=e.role===`user`;return(0,z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,z.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-xs text-muted-foreground/60`,children:[(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,e.index]}),(0,z.jsx)(X,{variant:t?`default`:`secondary`,className:`text-[10px] px-1.5 py-0 h-4`,children:t?`User`:`Assistant`})]}),(0,z.jsx)(`div`,{className:`space-y-2 pl-2`,children:e.blocks.map((e,n)=>e.type===`text`?(0,z.jsx)(gP,{text:String(e.text??``),isUser:t},n):e.type===`tool_use`?(0,z.jsx)(_P,{name:String(e.name??`unknown`),input:e.input},n):e.type===`tool_result`?(0,z.jsx)(vP,{toolUseId:String(e.toolUseId??``),content:e.content},n):(0,z.jsxs)(`div`,{className:`rounded-md bg-muted px-3 py-2 text-sm text-muted-foreground`,children:[`[unknown block: `,e.type,`]`]},n))})]})}function gP({text:e,isUser:t}){let[n,r]=(0,S.useState)(!1),i=e.length>300;return(0,z.jsxs)(`div`,{className:J(`cursor-pointer rounded-md border px-3 py-2 text-sm whitespace-pre-wrap break-words`,t?`border-emerald-500/10 bg-emerald-500/5 text-foreground`:`border-sky-500/10 bg-sky-500/5 text-foreground`),onClick:()=>{i&&r(e=>!e)},children:[n||!i?(0,z.jsx)(jN,{content:e,compact:!0,className:J(`[&_a]:text-primary [&_blockquote]:text-inherit [&_code]:bg-black/6 dark:[&_code]:bg-white/10 [&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_pre]:text-xs [&_pre]:leading-5`,t?`[&_blockquote]:border-emerald-500/20`:`[&_blockquote]:border-sky-500/20`)}):LP(e,300),i&&(0,z.jsxs)(`span`,{className:`ml-1 inline-flex text-muted-foreground/40`,children:[n?(0,z.jsx)(Ma,{className:`inline h-3 w-3`}):(0,z.jsx)(Na,{className:`inline h-3 w-3`}),(0,z.jsx)(`span`,{className:`ml-0.5 text-xs`,children:n?`收起`:`展开`})]})]})}function _P({name:e,input:t}){let[n,r]=(0,S.useState)(!1),i=JSON.stringify(t,null,2);return(0,z.jsxs)(`div`,{className:`rounded-md border border-primary/20 bg-primary/5 px-3 py-2`,children:[(0,z.jsxs)(`div`,{className:`flex cursor-pointer items-center gap-2`,onClick:()=>r(e=>!e),children:[(0,z.jsx)(Bo,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,z.jsx)(`span`,{className:`text-sm font-semibold text-primary`,children:e}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground/40`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`mt-2 overflow-x-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:i})]})}function vP({toolUseId:e,content:t}){let[n,r]=(0,S.useState)(!1),i=typeof t==`string`?t:JSON.stringify(t,null,2);return(0,z.jsxs)(`div`,{className:`rounded-md border border-border bg-muted/40 px-3 py-2`,children:[e&&(0,z.jsxs)(`div`,{className:`mb-1 truncate font-mono text-[10px] text-muted-foreground/50`,children:[`toolUseId: `,e]}),(0,z.jsxs)(`div`,{className:`mb-1 flex cursor-pointer items-center gap-2`,onClick:()=>r(e=>!e),children:[(0,z.jsx)(Ha,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`执行结果`}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground/40`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:i})]})}var yP=`manager`;function bP(e,t,n){return e.fromMailboxId===t&&(e.toMailboxId===yP||e.toMailboxId===n)}function xP(e,t,n){let r=t.filter(t=>t.toMailboxId===e.mailBoxId),i=t.filter(t=>t.fromMailboxId===e.mailBoxId),a=[...r,...i].sort((e,t)=>t.sendTime-e.sendTime),o=a.filter(t=>!bP(t,e.mailBoxId,n)),s=o.filter(e=>e.status===`pending`).length,c=o.filter(e=>e.status===`processing`).length,l=r.filter(e=>e.status===`done`).length,u=o.filter(e=>e.status===`failed`).length,d=i.some(t=>bP(t,e.mailBoxId,n)),f=`standby`;return f=u>0?`support`:c>0?`running`:s>0?`queued`:a.length===0?`standby`:l>0||d?`completed`:`active`,{member:e,receivedMessages:r,sentMessages:i,combinedMessages:a,totalMessages:a.length,pendingCount:s,processingCount:c,doneCount:l,failedCount:u,lastActiveAt:a[0]?.sendTime??null,state:f,nextAction:TP({state:f,totalMessages:a.length,pendingCount:s,processingCount:c,failedCount:u,focusOn:e.focusOn}),activityPercent:0}}function SP(e,t,n){let r=e?.departmentMembers.length??0,i=CP(e),a=Math.max(0,r-+!!i),o=i?.name??`未配置`,s=t.filter(e=>e.totalMessages>0).length,c=n.filter(e=>e.status===`pending`||e.status===`processing`).length,l=n.filter(e=>e.status===`done`).length,u=n.filter(e=>e.status===`failed`).length,d=n[0]?.sendTime??null;return r===0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`等待招募`,stageHint:`这个部门还没有成员。先招募角色,再开始派发任务。`,stageTone:`border-slate-300 bg-slate-100 text-slate-700 dark:border-slate-300/20 dark:bg-slate-300/10 dark:text-slate-100`}:u>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`需要人工支援`,stageHint:`有成员产生了失败结果,建议从红色成员卡开始排查本轮阻塞。`,stageTone:`border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-300/20 dark:bg-rose-400/10 dark:text-rose-100`}:c>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`任务推进中`,stageHint:`当前有消息正在流转。先点一个角色卡,看他最近一轮的任务流。`,stageTone:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-300/20 dark:bg-sky-400/10 dark:text-sky-100`}:l>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`本轮已收官`,stageHint:`最近一轮基本已经闭环,可以继续派发下一步任务。`,stageTone:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-300/20 dark:bg-emerald-400/10 dark:text-emerald-100`}:s>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`协作已启动`,stageHint:`成员之间已经开始协作,但还没有形成完整回合,可以先看谁最活跃。`,stageTone:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-300/20 dark:bg-violet-400/10 dark:text-violet-100`}:{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`等待首个任务`,stageHint:`部门已经存在,但还没有消息流转。先给每个角色一个明确分工。`,stageTone:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-300/20 dark:bg-amber-400/10 dark:text-amber-100`}}function CP(e){return e?e.departmentMembers.find(t=>t.id===e.headMemberId)??e.departmentMembers.find(e=>e.role===`department_head`)??null:null}function wP(e){let t=CP(e),n=e.departmentMembers.filter(e=>e.id!==t?.id);return t?[t,...n]:n}function TP({state:e,totalMessages:t,pendingCount:n,processingCount:r,failedCount:i,focusOn:a}){return e===`support`?`该成员有 ${i} 条失败结果,建议先人工查看原因,再决定是否继续推进。`:e===`running`?`该成员正在执行中,先观察结果回报;如果长时间无响应,再补充 ${a||`任务`} 上下文。`:e===`queued`?`收件箱里还有 ${n} 条待处理消息,优先确认这轮任务是否足够明确。`:e===`completed`?`上一轮已经交付,可以继续给他下发下一步,或者切到其他角色看看是否需要衔接。`:e===`active`?`这名成员已经进入协作流,建议查看最近往返消息,判断是否需要追问或补充边界。`:t===0?`这名成员还没有开始行动,先给他一个清晰的小目标${a?`,最好贴合 ${a}`:``}。`:r>0?`任务仍在推进,先观察这一轮结果。`:`可以继续观察最近战报,确认是否需要新的输入。`}function EP(e){for(let t of e.blocks){if(t.type===`text`&&typeof t.text==`string`&&t.text.trim())return FP(t.text.trim(),180);if(t.type===`tool_use`)return`调用工具 ${String(t.name??`unknown`)},参数已写入执行上下文。`;if(t.type===`tool_result`)return typeof t.content==`string`&&t.content.trim()?FP(t.content.trim(),180):`收到一次工具执行结果。`}return`该记录没有可预览的文本内容。`}function DP({log:e}){let t=OP(e);return t?t.type===`markdown`?(0,z.jsx)(`div`,{className:`max-h-44 overflow-hidden`,children:(0,z.jsx)(jN,{content:t.content,compact:!0,className:`[&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_pre]:text-xs [&_pre]:leading-5`})}):(0,z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:t.content}):(0,z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:EP(e)})}function OP(e){for(let t of e.blocks){if(t.type===`text`&&typeof t.text==`string`&&t.text.trim())return{type:`markdown`,content:t.text.trim()};if(t.type===`tool_result`&&typeof t.content==`string`&&t.content.trim())return{type:`markdown`,content:t.content.trim()};if(t.type===`tool_use`)return{type:`text`,content:`调用工具 ${String(t.name??`unknown`)},参数已写入执行上下文。`}}return null}function kP(e,t){let n=MP(e.actorMailboxId,t),r=MP(e.mailboxId,t),i=MP(e.counterpartMailboxId??e.message?.fromMailboxId,t),a=typeof e.detail?.visibleCount==`number`?e.detail.visibleCount:null,o=typeof e.detail?.previousStatus==`string`?e.detail.previousStatus:null,s=typeof e.detail?.nextStatus==`string`?e.detail.nextStatus:null;if(e.eventType===`message_sent`)return`${MP(e.message?.fromMailboxId,t)??n} 向 ${MP(e.message?.toMailboxId,t)??r} 投递了一封邮件。`;if(e.eventType===`mailbox_listed`)return`${n??r??`成员`} 查看了邮箱,当前看到了 ${a??0} 封候选邮件。`;if(e.eventType===`message_opened`)return`${n??r??`成员`} 已选中一封邮件开始阅读,来源是 ${i??`上游成员`}。`;if(e.eventType===`message_replied`)return`${n??r??`成员`} 已完成处理,并把结果回给了 ${i??`上游成员`}。`;if(e.eventType===`message_followed_up`){let t=typeof e.detail?.kind==`string`?e.detail.kind:`progress`,a=t===`question`?`追问`:t===`partial_result`?`部分结果`:t===`nudge`?`催办`:`进展`,o=e.message?.threadId||(typeof e.detail?.threadId==`string`?e.detail.threadId:void 0)||e.messageId;return`${n??r??`成员`} 在线程 ${PP(o??`unknown`)} 中追加了一条${a},发送给 ${i??`上游成员`}。`}return e.eventType===`message_status_changed`?`${r??`该邮箱`} 中的一封邮件状态从 ${o??`unknown`} 变成了 ${s??`unknown`}。`:`发生了一条 mailbox 过程事件。`}function AP(e){let t=zN[e.eventType],n=e.eventType===`message_status_changed`&&typeof e.detail?.nextStatus==`string`?e.detail.nextStatus:e.message?.status,r=typeof e.detail?.kind==`string`?e.detail.kind:``;return n===`failed`||n===`cancelled`||r===`question`||r===`nudge`?{...t,nodeClass:`border-rose-300 bg-rose-50 text-rose-700 dark:border-rose-500/40 dark:bg-rose-500/15 dark:text-rose-200`,rowClass:`border-rose-200 bg-rose-50/45 dark:border-rose-500/30 dark:bg-rose-500/10`}:e.eventType===`message_replied`?{...t,nodeClass:`border-emerald-300 bg-emerald-50 text-emerald-700 dark:border-emerald-500/40 dark:bg-emerald-500/15 dark:text-emerald-200`,rowClass:`border-emerald-200 bg-emerald-50/40 dark:border-emerald-500/25 dark:bg-emerald-500/10`}:e.eventType===`message_followed_up`?{...t,nodeClass:`border-violet-300 bg-violet-50 text-violet-700 dark:border-violet-500/40 dark:bg-violet-500/15 dark:text-violet-200`,rowClass:`border-violet-200 bg-violet-50/35 dark:border-violet-500/25 dark:bg-violet-500/10`}:{...t,nodeClass:`border-primary/30 bg-primary/10 text-primary dark:border-primary/40 dark:bg-primary/15`,rowClass:`border-border/70 bg-muted/20 dark:border-slate-700/70 dark:bg-slate-900/40`}}function jP(e,t){return e.eventType===`mailbox_listed`?{from:MP(e.actorMailboxId||e.mailboxId,t)??`成员`,to:`收件箱`}:e.eventType===`message_opened`?{from:MP(e.counterpartMailboxId,t)??MP(e.message?.fromMailboxId,t)??`上游成员`,to:MP(e.mailboxId,t)??`邮箱`}:{from:MP(e.message?.fromMailboxId,t)??MP(e.actorMailboxId,t)??MP(e.counterpartMailboxId,t)??MP(e.mailboxId,t)??`unknown`,to:MP(e.message?.toMailboxId,t)??MP(e.counterpartMailboxId,t)??MP(e.mailboxId,t)??MP(e.actorMailboxId,t)??`unknown`}}function MP(e,t){return e?t.get(e)??NP(e):null}function NP(e){return e.length<=12?e:`${e.slice(0,8)}...`}function PP(e){return e.length<=10?e:`${e.slice(0,8)}...`}function FP(e,t){return e.length<=t?e:`${e.slice(0,t)}...`}function IP(e){return e.replace(/\r\n?/g,`
90
90
  `).replace(/```[\s\S]*?```/g,e=>e.replace(/```[\w-]*\n?/g,``).trim()).replace(/^#{1,6}\s+/gm,``).replace(/^\s*>\s?/gm,``).replace(/^\s*[-*+]\s+/gm,``).replace(/^\s*\d+\.\s+/gm,``).replace(/\[([^\]]+)\]\(([^)]+)\)/g,`$1`).replace(/[*_~`]/g,``).replace(/\n{3,}/g,`
91
91
 
92
- `).trim()}function LP(e,t){return FP(IP(e),t)}function RP(e){try{return new Date(e).toLocaleString(`zh-CN`)}catch{return String(e)}}function zP(e){try{return new Date(e).toLocaleTimeString(`zh-CN`,{hour:`2-digit`,minute:`2-digit`})}catch{return String(e)}}function BP(e){try{let t=Date.now()-e;return t<6e4?`刚刚`:t<36e5?`${Math.max(1,Math.floor(t/6e4))} 分钟前`:t<864e5?`${Math.max(1,Math.floor(t/36e5))} 小时前`:new Date(e).toLocaleString(`zh-CN`,{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return String(e)}}function VP({className:e,size:t=`default`,...n}){return(0,z.jsx)(ch,{"data-slot":`switch`,"data-size":t,className:J(`peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50`,e),...n,children:(0,z.jsx)(lh,{"data-slot":`switch-thumb`,className:`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground`})})}var HP={title:``,description:``,syntax:`0 * * * *`,channel:`default`,to:``};function UP(){let{data:e,isLoading:t,refetch:n}=lv(),r=dv(),i=fv(),a=ti(),[o,s]=(0,S.useState)(!1),[c,l]=(0,S.useState)(null),[u,d]=(0,S.useState)(HP),[f,p]=(0,S.useState)(null),[m,h]=(0,S.useState)(null),[g,_]=(0,S.useState)(!1),v=()=>{d(HP),s(!0)},y=e=>{d({title:e.title,description:e.description,syntax:e.schedule.syntax,channel:e.delivery.channel,to:e.delivery.to}),l(e)},b=async()=>{!u.title.trim()||!u.syntax.trim()||(await r.mutateAsync({title:u.title,description:u.description,schedule:{syntax:u.syntax},delivery:{channel:u.channel,to:u.to}}),s(!1),d(HP))},x=async()=>{if(!(!c||!u.title.trim()||!u.syntax.trim())){_(!0);try{await rv(c.id,{title:u.title,description:u.description,schedule:{syntax:u.syntax,createTime:c.schedule.createTime,lastRunTime:c.schedule.lastRunTime},delivery:{channel:u.channel,to:u.to}}),await a.invalidateQueries({queryKey:cv.all}),l(null),d(HP)}finally{_(!1)}}},C=async e=>{await av(e.id,!e.enabled),await a.invalidateQueries({queryKey:cv.all})},w=async e=>{await ov(e.id),await a.invalidateQueries({queryKey:cv.all})},T=async()=>{f&&(await i.mutateAsync(f),p(null))},E=e=>{if(!e)return`—`;try{return new Date(e).toLocaleString(`zh-CN`)}catch{return e}};return(0,z.jsx)(dy,{children:(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Cron Jobs`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`管理定时任务调度`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>n(),children:(0,z.jsx)(vo,{className:`h-4 w-4`})}),(0,z.jsxs)(Y,{size:`sm`,onClick:v,children:[(0,z.jsx)(go,{className:`h-4 w-4 mr-1`}),`新建任务`]})]})]}),t?(0,z.jsx)(`div`,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`p-4`,children:(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(vy,{className:`h-5 w-48`}),(0,z.jsx)(vy,{className:`h-4 w-32`})]}),(0,z.jsx)(vy,{className:`h-6 w-12`})]})})},e))}):!e||e.length===0?(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`py-12`,children:(0,z.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,z.jsx)(Ra,{className:`h-10 w-10 text-muted-foreground mb-3`}),(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`暂无定时任务`}),(0,z.jsxs)(Y,{variant:`outline`,className:`mt-3`,size:`sm`,onClick:v,children:[(0,z.jsx)(go,{className:`h-4 w-4 mr-1`}),`创建第一个任务`]})]})})}):(0,z.jsx)(`div`,{className:`space-y-3`,children:e.map(e=>(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`p-4`,children:(0,z.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 mb-1`,children:[(0,z.jsx)(`h3`,{className:`font-medium truncate`,children:e.title}),(0,z.jsx)(X,{variant:e.enabled?`default`:`secondary`,children:e.enabled?`启用`:`禁用`})]}),e.description&&(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground line-clamp-1 mb-2`,children:e.description}),(0,z.jsxs)(`div`,{className:`flex items-center gap-4 text-xs text-muted-foreground`,children:[(0,z.jsx)(`span`,{className:`font-mono bg-muted px-1.5 py-0.5 rounded`,children:e.schedule.syntax}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(Ra,{className:`h-3 w-3 inline mr-1`}),E(e.schedule.lastRunTime)]}),(0,z.jsxs)(`span`,{children:[e.delivery.channel,` → `,e.delivery.to]})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,z.jsx)(VP,{checked:e.enabled,onCheckedChange:()=>C(e)}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>w(e),disabled:!e.enabled,title:`手动触发`,children:(0,z.jsx)(ho,{className:`h-4 w-4`})}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>h(e.id),title:`执行历史`,children:(0,z.jsx)(Ra,{className:`h-4 w-4`})}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>y(e),title:`编辑`,children:(0,z.jsx)(Pa,{className:`h-4 w-4`})}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>p(e.id),title:`删除`,children:(0,z.jsx)(No,{className:`h-4 w-4`})})]})]})})},e.id))}),(0,z.jsx)(FC,{open:o,onOpenChange:s,children:(0,z.jsxs)(RC,{className:`sm:max-w-md`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`新建定时任务`}),(0,z.jsx)(HC,{children:`配置 cron 表达式和投递方式`})]}),(0,z.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`标题`}),(0,z.jsx)(NC,{value:u.title,onChange:e=>d(t=>({...t,title:e.target.value})),placeholder:`任务标题`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`描述`}),(0,z.jsx)(PC,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:`任务描述(可选)`,rows:2})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`Cron 表达式`}),(0,z.jsx)(NC,{value:u.syntax,onChange:e=>d(t=>({...t,syntax:e.target.value})),placeholder:`0 * * * *`,className:`font-mono`}),(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`格式: 分 时 日 月 周(如 0 */2 * * * 表示每2小时)`})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递通道`}),(0,z.jsx)(NC,{value:u.channel,onChange:e=>d(t=>({...t,channel:e.target.value})),placeholder:`channel`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递目标`}),(0,z.jsx)(NC,{value:u.to,onChange:e=>d(t=>({...t,to:e.target.value})),placeholder:`to`})]})]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>s(!1),children:`取消`}),(0,z.jsxs)(Y,{onClick:b,disabled:r.isPending||!u.title.trim(),children:[r.isPending&&(0,z.jsx)(io,{className:`h-4 w-4 mr-1 animate-spin`}),`创建`]})]})]})}),(0,z.jsx)(FC,{open:!!c,onOpenChange:()=>l(null),children:(0,z.jsxs)(RC,{className:`sm:max-w-md`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`编辑定时任务`}),(0,z.jsx)(HC,{children:`修改任务配置`})]}),(0,z.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`标题`}),(0,z.jsx)(NC,{value:u.title,onChange:e=>d(t=>({...t,title:e.target.value})),placeholder:`任务标题`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`描述`}),(0,z.jsx)(PC,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:`任务描述(可选)`,rows:2})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`Cron 表达式`}),(0,z.jsx)(NC,{value:u.syntax,onChange:e=>d(t=>({...t,syntax:e.target.value})),placeholder:`0 * * * *`,className:`font-mono`})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递通道`}),(0,z.jsx)(NC,{value:u.channel,onChange:e=>d(t=>({...t,channel:e.target.value})),placeholder:`channel`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递目标`}),(0,z.jsx)(NC,{value:u.to,onChange:e=>d(t=>({...t,to:e.target.value})),placeholder:`to`})]})]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>l(null),children:`取消`}),(0,z.jsxs)(Y,{onClick:x,disabled:g||!u.title.trim(),children:[g&&(0,z.jsx)(io,{className:`h-4 w-4 mr-1 animate-spin`}),`保存`]})]})]})}),(0,z.jsx)(FC,{open:!!f,onOpenChange:()=>p(null),children:(0,z.jsxs)(RC,{className:`sm:max-w-sm`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`确认删除`}),(0,z.jsx)(HC,{children:`删除后不可恢复,确定要删除此定时任务吗?`})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>p(null),children:`取消`}),(0,z.jsxs)(Y,{variant:`destructive`,onClick:T,disabled:i.isPending,children:[i.isPending&&(0,z.jsx)(io,{className:`h-4 w-4 mr-1 animate-spin`}),`删除`]})]})]})}),(0,z.jsx)(WP,{jobId:m,onClose:()=>h(null)})]})})}function WP({jobId:e,onClose:t}){let{data:n,isLoading:r}=uv(e??``);return(0,z.jsx)(FC,{open:!!e,onOpenChange:()=>t(),children:(0,z.jsxs)(RC,{className:`sm:max-w-lg`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`执行历史`}),(0,z.jsx)(HC,{children:`查看该定时任务的执行记录`})]}),(0,z.jsx)(I_,{className:`max-h-[400px]`,children:r?(0,z.jsx)(`div`,{className:`space-y-2 py-4`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-12 w-full`},e))}):!n||n.length===0?(0,z.jsx)(`div`,{className:`py-8 text-center text-muted-foreground text-sm`,children:`暂无执行记录`}):(0,z.jsx)(`div`,{className:`space-y-2`,children:n.map((e,t)=>(0,z.jsxs)(`div`,{className:`flex items-center justify-between p-3 rounded-lg border text-sm`,children:[(0,z.jsx)(`div`,{children:(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:GP(e.timestamp)})}),(0,z.jsx)(X,{variant:e.result===`success`?`default`:`destructive`,children:e.result})]},t))})})]})})}function GP(e){try{return new Date(e).toLocaleString(`zh-CN`)}catch{return e}}function KP({...e}){return(0,z.jsx)(Fs,{"data-slot":`collapsible`,...e})}function qP({...e}){return(0,z.jsx)(As,{"data-slot":`collapsible-trigger`,...e})}function JP({...e}){return(0,z.jsx)(Ms,{"data-slot":`collapsible-content`,...e})}var YP={file:{label:`文件操作`,icon:Ha},web:{label:`网络`,icon:qa},system:{label:`系统`,icon:wo},task:{label:`任务管理`,icon:ro},department:{label:`部门管理`,icon:Ro},cron:{label:`定时任务`,icon:Ra}},XP={label:`其他`,icon:_o};function ZP(e){let t=e.toLowerCase();return t.includes(`file`)||t.includes(`read`)||t.includes(`write`)||t.includes(`edit`)||t.includes(`glob`)||t.includes(`grep`)||t.includes(`bash`)||t.includes(`mkdir`)?`file`:t.includes(`web`)||t.includes(`search`)||t.includes(`fetch`)||t.includes(`http`)||t.includes(`url`)?`web`:t.includes(`system`)||t.includes(`process`)||t.includes(`env`)||t.includes(`config`)||t.includes(`memory`)?`system`:t.includes(`task`)||t.includes(`goal`)?`task`:t.includes(`department`)||t.includes(`member`)||t.includes(`communicat`)?`department`:t.includes(`cron`)||t.includes(`schedule`)||t.includes(`timer`)?`cron`:`other`}function QP({schema:e}){return e?.properties?(0,z.jsx)(`div`,{className:`space-y-2`,children:Object.entries(e.properties).map(([t,n])=>(0,z.jsxs)(`div`,{className:`rounded-md border bg-muted/30 px-3 py-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`code`,{className:`text-sm font-medium`,children:t}),(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:n.type}),e.required?.includes(t)&&(0,z.jsx)(X,{variant:`destructive`,className:`text-xs`,children:`必填`})]}),n.description&&(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:n.description}),n.enum&&(0,z.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-1`,children:n.enum.map(e=>(0,z.jsx)(X,{variant:`secondary`,className:`text-xs`,children:String(e)},String(e)))})]},t))}):null}function $P(){let[e,t]=(0,S.useState)(``),[n,r]=(0,S.useState)(new Set),{data:i,isLoading:a}=Gv(),o=(0,S.useMemo)(()=>{let t={};return(i??[]).filter(t=>t.name.toLowerCase().includes(e.toLowerCase())||t.description.toLowerCase().includes(e.toLowerCase())).forEach(e=>{let n=ZP(e.name);t[n]||(t[n]=[]),t[n].push(e)}),t},[i,e]),s=i?.length??0,c=e=>{r(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Tools`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`查看所有已注册的工具及其参数`})]}),(0,z.jsxs)(X,{variant:`secondary`,className:`gap-1`,children:[(0,z.jsx)(Bo,{className:`h-3 w-3`}),a?`...`:`${s} 个工具`]})]}),(0,z.jsxs)(`div`,{className:`relative mb-6`,children:[(0,z.jsx)(So,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,z.jsx)(NC,{placeholder:`搜索工具...`,className:`pl-9`,value:e,onChange:e=>t(e.target.value)})]}),a?(0,z.jsx)(`div`,{className:`space-y-6`,children:Array.from({length:3}).map((e,t)=>(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsx)(vy,{className:`h-6 w-32`}),(0,z.jsx)(vy,{className:`h-24 w-full`})]},t))}):Object.keys(o).length===0?(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 text-muted-foreground`,children:[(0,z.jsx)(Bo,{className:`mb-3 h-10 w-10`}),(0,z.jsx)(`p`,{className:`text-sm`,children:e?`未找到匹配的工具`:`暂无工具`})]}):(0,z.jsx)(`div`,{className:`space-y-8`,children:Object.entries(o).map(([e,t])=>{let r=YP[e]??XP,i=r.icon;return(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,z.jsx)(i,{className:`h-4 w-4 text-muted-foreground`}),(0,z.jsx)(`h2`,{className:`text-sm font-semibold text-muted-foreground`,children:r.label}),(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:t.length})]}),(0,z.jsx)(`div`,{className:`space-y-3`,children:t.map(e=>{let t=n.has(e.name);return(0,z.jsx)(py,{size:`sm`,children:(0,z.jsxs)(KP,{open:t,onOpenChange:()=>c(e.name),children:[(0,z.jsx)(qP,{className:`w-full`,children:(0,z.jsx)(my,{className:`cursor-pointer`,children:(0,z.jsxs)(hy,{className:`flex items-center justify-between`,children:[(0,z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Bo,{className:`h-3.5 w-3.5 text-primary`}),(0,z.jsx)(`code`,{className:`text-sm`,children:e.name})]}),(0,z.jsx)(Ma,{className:`h-4 w-4 text-muted-foreground transition-transform ${t?`rotate-180`:``}`})]})})}),(0,z.jsx)(JP,{children:(0,z.jsxs)(_y,{className:`space-y-4`,children:[(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h4`,{className:`mb-2 text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`参数 Schema`}),(0,z.jsx)(QP,{schema:e.inputSchema})]})]})})]})},e.name)})})]},e)})})]})}var eF=U_(`group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function tF({className:e,variant:t,...n}){return(0,z.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:J(eF({variant:t}),e),...n})}function nF({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-title`,className:J(`font-heading font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,e),...t})}function rF({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-description`,className:J(`text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,e),...t})}var iF=e=>e.replace(/[`*_#]/g,``).replace(/\s+/g,` `).trim(),aF=(e,t)=>e.toLowerCase().replace(/[^a-z0-9\u4e00-\u9fff]+/g,`-`).replace(/^-+|-+$/g,``)||t,oF=e=>{if(typeof e==`string`||typeof e==`number`)return String(e);if(Array.isArray(e))return e.map(oF).join(``);if(e&&typeof e==`object`&&`props`in e){let t=e.props;return oF(t?.children)}return``},sF=e=>{let t=e??``,n=t.match(/^Base directory for this skill:\s*(.+)$/m),r=t.replace(/^Base directory for this skill:\s*.+\n{0,2}/,``).trim(),i=new Map,a=Array.from(r.matchAll(/^(#{1,4})\s+(.+)$/gm)).map((e,t)=>{let n=iF(e[2]),r=aF(n,`section-${t+1}`),a=i.get(r)??0;return i.set(r,a+1),{level:e[1].length,text:n,id:a===0?r:`${r}-${a+1}`}}),o=Array.from(r.matchAll(/```(\w+)?\n([\s\S]*?)```/g)).map(e=>({lang:e[1]||`text`,code:e[2].trim()})),s=a.map(e=>e.text.toLowerCase()).join(` `);return{baseDir:n?.[1]?.trim()??null,content:r,headings:a,codeBlocks:o,sections:{installation:/install|安装/.test(s),quickStart:/quick start|quickstart|快速开始|入门/.test(s),commands:/command|命令/.test(s),configuration:/config|配置|setting|设置/.test(s)}}},cF=e=>(e??``).split(/[\s-_]+/).filter(Boolean).slice(0,2).map(e=>e[0]?.toUpperCase()).join(``)||`SK`;function lF(){let[e,t]=(0,S.useState)(``),[n,r]=(0,S.useState)(null),[i,a]=(0,S.useState)(null),[o,s]=(0,S.useState)(null),c=(0,S.useRef)(null),{data:l,isLoading:u}=Kv(),d=qv(),{data:f,isLoading:p}=gi({queryKey:Wv.detail(n),queryFn:async()=>{let e=await fetch(xi(`/api/skills/${encodeURIComponent(n)}`));if(!e.ok)throw Error(`Failed to fetch skill detail`);return e.json()},enabled:!!n}),m=(0,S.useMemo)(()=>sF(f?.detail),[f?.detail]),h=m.headings.some(e=>e.id===o)?o:m.headings[0]?.id,g=new Map,_=e=>{let t=aF(iF(oF(e)),`section`),n=g.get(t)??0;return g.set(t,n+1),n===0?t:`${t}-${n+1}`},v=e=>{s(e);let t=document.getElementById(e),n=c.current;if(!t||!n){t?.scrollIntoView({block:`start`,behavior:`smooth`});return}let r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),a=n.scrollTop+r.top-i.top-72;n.scrollTo({top:Math.max(0,a),behavior:`smooth`})},y=()=>{let e=c.current;if(!e)return;let t=m.headings.map(e=>document.getElementById(e.id)).filter(e=>!!e);if(t.length===0)return;let n=e.getBoundingClientRect().top;s(t.reduce((e,t)=>t.getBoundingClientRect().top-n<=80?t:e,t[0]).id)},b=(l??[]).filter(t=>t.name.toLowerCase().includes(e.toLowerCase())||t.description.toLowerCase().includes(e.toLowerCase()));return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Skills`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`查看所有已注册的技能`})]}),(0,z.jsxs)(X,{variant:`secondary`,className:`gap-1`,children:[(0,z.jsx)(Oo,{className:`h-3 w-3`}),u?`...`:`${l?.length??0} 个技能`]})]}),(0,z.jsxs)(`div`,{className:`relative mb-6`,children:[(0,z.jsx)(So,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,z.jsx)(NC,{placeholder:`搜索技能...`,className:`pl-9`,value:e,onChange:e=>t(e.target.value)})]}),u?(0,z.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:Array.from({length:6}).map((e,t)=>(0,z.jsxs)(py,{children:[(0,z.jsxs)(my,{children:[(0,z.jsx)(vy,{className:`h-5 w-32`}),(0,z.jsx)(vy,{className:`h-4 w-48`})]}),(0,z.jsx)(_y,{children:(0,z.jsx)(vy,{className:`h-4 w-full`})})]},t))}):b.length===0?(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 text-muted-foreground`,children:[(0,z.jsx)(Oo,{className:`mb-3 h-10 w-10`}),(0,z.jsx)(`p`,{className:`text-sm`,children:e?`未找到匹配的技能`:`暂无技能`})]}):(0,z.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:b.map(e=>(0,z.jsx)(py,{className:`relative cursor-pointer transition-shadow hover:shadow-md`,onClick:()=>r(e.name),children:(0,z.jsxs)(my,{className:e.deletable?`pr-12`:void 0,children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Oo,{className:`h-4 w-4 text-primary`}),e.name]}),e.deletable&&(0,z.jsx)(`div`,{className:`absolute top-3 right-3`,children:(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,disabled:d.isPending,onClick:t=>{t.stopPropagation(),a(e.name)},title:`删除技能`,children:(0,z.jsx)(No,{className:`h-4 w-4 text-destructive`})})}),(0,z.jsx)(gy,{children:e.description})]})},e.name))}),(0,z.jsx)(FC,{open:!!n,onOpenChange:e=>!e&&r(null),children:(0,z.jsxs)(RC,{className:`grid h-[88vh] max-h-[88vh] grid-rows-[auto_minmax(0,1fr)] overflow-hidden p-0 sm:max-w-[960px]`,children:[(0,z.jsx)(zC,{className:`border-b px-6 py-5`,children:(0,z.jsxs)(`div`,{className:`flex items-start gap-4 pr-8`,children:[(0,z.jsx)(`div`,{className:`flex size-14 shrink-0 items-center justify-center rounded-lg border bg-primary/8 text-primary`,children:(0,z.jsx)(`span`,{className:`text-base font-semibold`,children:cF(f?.name??n)})}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(VC,{className:`flex flex-wrap items-center gap-2 text-xl leading-tight`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:f?.name??n}),(0,z.jsx)(X,{variant:`secondary`,className:`shrink-0`,children:f?.deletable?`项目 Skill`:`系统 Skill`})]}),(0,z.jsx)(HC,{className:`mt-2 max-w-2xl leading-relaxed`,children:f?.description??`加载中...`}),(0,z.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,z.jsx)(Ao,{className:`size-3.5`}),`ID: `,n]}),m.baseDir&&(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[(0,z.jsx)(Wa,{className:`size-3.5 shrink-0`}),(0,z.jsx)(`span`,{className:`truncate`,children:m.baseDir})]})]})]})]})}),(0,z.jsxs)(`div`,{className:`grid min-h-0 grid-cols-1 overflow-hidden lg:grid-cols-[1fr_260px]`,children:[p?(0,z.jsxs)(`div`,{className:`space-y-3 p-6`,children:[(0,z.jsx)(vy,{className:`h-8 w-52`}),(0,z.jsx)(vy,{className:`h-28 w-full`}),(0,z.jsx)(vy,{className:`h-28 w-full`})]}):m.content?(0,z.jsxs)(`div`,{ref:c,className:`h-full min-h-0 overflow-y-auto overscroll-contain scroll-smooth`,onScroll:y,children:[(0,z.jsx)(`div`,{className:`sticky top-0 z-10 flex h-14 items-center border-b bg-popover/95 px-6 backdrop-blur`,children:(0,z.jsxs)(`div`,{className:`inline-flex h-full items-center gap-2 border-b-2 border-foreground px-1 text-sm font-medium`,children:[(0,z.jsx)(Ea,{className:`size-4`}),`使用指南`]})}),(0,z.jsx)(`div`,{className:`px-6 py-6`,children:(0,z.jsx)(`div`,{className:`skill-detail-markdown`,children:(0,z.jsx)(TA,{remarkPlugins:[kN],components:{h1:({children:e,...t})=>(0,z.jsx)(`h1`,{id:_(e),...t,children:e}),h2:({children:e,...t})=>(0,z.jsx)(`h2`,{id:_(e),...t,children:e}),h3:({children:e,...t})=>(0,z.jsx)(`h3`,{id:_(e),...t,children:e}),h4:({children:e,...t})=>(0,z.jsx)(`h4`,{id:_(e),...t,children:e}),a:({...e})=>(0,z.jsx)(`a`,{...e,className:`font-medium text-primary underline-offset-4 hover:underline`,target:`_blank`,rel:`noreferrer`}),code:({className:e,children:t,...n})=>e?.startsWith(`language-`)?(0,z.jsx)(`code`,{...n,className:e,children:t}):(0,z.jsx)(`code`,{...n,className:`rounded bg-muted px-1.5 py-0.5 text-[0.9em]`,children:t})},children:m.content})})})]}):(0,z.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:`无详细内容`}),(0,z.jsx)(`aside`,{className:`hidden min-h-0 border-l bg-muted/20 p-5 lg:block`,children:(0,z.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:m.headings.length>0&&(0,z.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,z.jsx)(`h3`,{className:`mb-3 text-sm font-medium`,children:`章节导航`}),(0,z.jsx)(`nav`,{className:`min-h-0 flex-1 space-y-0.5 overflow-y-auto pr-1`,children:m.headings.map(e=>(0,z.jsx)(`button`,{type:`button`,className:[`block w-full truncate rounded-md py-1.5 pr-2 text-left text-sm transition-colors`,h===e.id?`bg-primary/8 font-medium text-primary`:`text-muted-foreground hover:bg-background hover:text-foreground`].join(` `),style:{paddingLeft:`${Math.max(0,e.level-1)*16+8}px`},onClick:()=>v(e.id),children:e.text},e.id))})]})})})]})]})}),(0,z.jsx)(FC,{open:!!i,onOpenChange:e=>{!e&&!d.isPending&&a(null)},children:(0,z.jsxs)(RC,{className:`sm:max-w-md`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsxs)(VC,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Po,{className:`size-5 text-destructive`}),`确认删除 Skill?`]}),(0,z.jsxs)(HC,{children:[`你正在删除 `,(0,z.jsx)(`span`,{className:`font-medium text-foreground`,children:i}),`。`]})]}),(0,z.jsxs)(tF,{variant:`destructive`,children:[(0,z.jsx)(Po,{className:`size-4`}),(0,z.jsx)(nF,{children:`删除后不可恢复`}),(0,z.jsx)(rF,{children:`该 Skill 的文件会被永久移除,后续无法从管理台恢复。请确认不再需要后再继续。`})]}),(0,z.jsxs)(BC,{className:`-mx-4 -mb-4`,children:[(0,z.jsx)(Y,{variant:`outline`,disabled:d.isPending,onClick:()=>a(null),children:`取消`}),(0,z.jsx)(Y,{variant:`destructive`,disabled:d.isPending||!i,onClick:()=>{if(!i)return;let e=i;d.mutate(e,{onSuccess:()=>{n===e&&r(null),a(null)}})},children:d.isPending?`删除中...`:`确认删除`})]})]})})]})}var uF=1,dF=.9,fF=.8,pF=.17,mF=.1,hF=.999,gF=.9999,_F=.99,vF=/[\\\/_+.#"@\[\(\{&]/,yF=/[\\\/_+.#"@\[\(\{&]/g,bF=/[\s-]/,xF=/[\s-]/g;function SF(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?uF:_F;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=SF(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=uF:vF.test(e.charAt(l-1))?(d*=fF,p=e.slice(i,l-1).match(yF),p&&i>0&&(d*=hF**+p.length)):bF.test(e.charAt(l-1))?(d*=dF,m=e.slice(i,l-1).match(xF),m&&i>0&&(d*=hF**+m.length)):(d*=pF,i>0&&(d*=hF**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=gF)),(d<mF&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=SF(e,t,n,r,l+1,a+2,o),f*mF>d&&(d=f*mF)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function CF(e){return e.toLowerCase().replace(xF,` `)}function wF(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,SF(e,t,CF(e),CF(t),0,0,{})}var TF=Symbol.for(`react.lazy`),EF=S.use;function DF(e){return typeof e==`object`&&!!e&&`then`in e}function OF(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===TF&&`_payload`in e&&DF(e._payload)}function kF(e){let t=AF(e),n=S.forwardRef((e,n)=>{let{children:r,...i}=e;OF(r)&&typeof EF==`function`&&(r=EF(r._payload));let a=S.Children.toArray(r),o=a.find(MF);if(o){let e=o.props.children,r=a.map(t=>t===o?S.Children.count(e)>1?S.Children.only(null):S.isValidElement(e)?e.props.children:null:t);return(0,z.jsx)(t,{...i,ref:n,children:S.isValidElement(e)?S.cloneElement(e,void 0,r):null})}return(0,z.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function AF(e){let t=S.forwardRef((e,t)=>{let{children:n,...r}=e;if(OF(n)&&typeof EF==`function`&&(n=EF(n._payload)),S.isValidElement(n)){let e=PF(n),i=NF(r,n.props);return n.type!==S.Fragment&&(i.ref=t?Wo(t,e):e),S.cloneElement(n,i)}return S.Children.count(n)>1?S.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var jF=Symbol(`radix.slottable`);function MF(e){return S.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===jF}function NF(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function PF(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var FF=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=kF(`Primitive.${t}`),r=S.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,z.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),IF=`[cmdk-group=""]`,LF=`[cmdk-group-items=""]`,RF=`[cmdk-group-heading=""]`,zF=`[cmdk-item=""]`,BF=`${zF}:not([aria-disabled="true"])`,VF=`cmdk-item-select`,HF=`data-value`,UF=(e,t,n)=>wF(e,t,n),WF=S.createContext(void 0),GF=()=>S.useContext(WF),KF=S.createContext(void 0),qF=()=>S.useContext(KF),JF=S.createContext(void 0),YF=S.forwardRef((e,t)=>{let n=lI(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=lI(()=>new Set),i=lI(()=>new Map),a=lI(()=>new Map),o=lI(()=>new Set),s=sI(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=Ss(),y=Ss(),b=Ss(),x=S.useRef(null),C=fI();cI(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,w.emit()}},[u]),cI(()=>{C(6,A)},[]);let w=S.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(b);e?e.focus():(i=document.getElementById(v))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=j()?.id,w.emit()}),r||C(5,A),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=S.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=j();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:v,inputId:b,labelId:y,listInnerRef:x}),[]);function E(e,t){let r=s.current?.filter??UF;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=x.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(LF);t?t.appendChild(e.parentElement===t?e:e.closest(`${LF} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${LF} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${IF}[${HF}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(HF);w.setState(`value`,e||void 0)}function k(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=E(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function A(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(IF)?.querySelector(RF))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return x.current?.querySelector(`${zF}[aria-selected="true"]`)}function M(){return Array.from(x.current?.querySelectorAll(BF)||[])}function N(e){let t=M()[e];t&&w.setState(`value`,t.getAttribute(HF))}function ee(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(HF))}function te(e){let t=j()?.closest(IF),n;for(;t&&!n;)t=e>0?aI(t,IF):oI(t,IF),n=t?.querySelector(BF);n?w.setState(`value`,n.getAttribute(HF)):ee(e)}let P=()=>N(M().length-1),F=e=>{e.preventDefault(),e.metaKey?P():e.altKey?te(1):ee(1)},ne=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?te(-1):ee(-1)};return S.createElement(FF.div,{ref:t,tabIndex:-1,..._,"cmdk-root":``,onKeyDown:e=>{var t;(t=_.onKeyDown)==null||t.call(_,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&F(e);break;case`ArrowDown`:F(e);break;case`p`:case`k`:g&&e.ctrlKey&&ne(e);break;case`ArrowUp`:ne(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),P();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(VF);t.dispatchEvent(e)}}}}},S.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:hI},c),mI(e,e=>S.createElement(KF.Provider,{value:w},S.createElement(WF.Provider,{value:T},e))))}),XF=S.forwardRef((e,t)=>{let n=Ss(),r=S.useRef(null),i=S.useContext(JF),a=GF(),o=sI(e),s=o.current?.forceMount??i?.forceMount;cI(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=dI(n,r,[e.value,e.children,r],e.keywords),l=qF(),u=uI(e=>e.value&&e.value===c.current),d=uI(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);S.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(VF,f),()=>t.removeEventListener(VF,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:_,keywords:v,...y}=e;return S.createElement(FF.div,{ref:Wo(r,t),...y,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),ZF=S.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=Ss(),s=S.useRef(null),c=S.useRef(null),l=Ss(),u=GF(),d=uI(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);cI(()=>u.group(o),[]),dI(o,s,[e.value,e.heading,c]);let f=S.useMemo(()=>({id:o,forceMount:i}),[i]);return S.createElement(FF.div,{ref:Wo(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:d?void 0:!0},n&&S.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),mI(e,e=>S.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},S.createElement(JF.Provider,{value:f},e))))}),QF=S.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=S.useRef(null),a=uI(e=>!e.search);return!n&&!a?null:S.createElement(FF.div,{ref:Wo(i,t),...r,"cmdk-separator":``,role:`separator`})}),$F=S.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=qF(),o=uI(e=>e.search),s=uI(e=>e.selectedItemId),c=GF();return S.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),S.createElement(FF.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":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),eI=S.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=S.useRef(null),o=S.useRef(null),s=uI(e=>e.selectedItemId),c=GF();return S.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),S.createElement(FF.div,{ref:Wo(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},mI(e,e=>S.createElement(`div`,{ref:Wo(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),tI=S.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return S.createElement(gu,{open:n,onOpenChange:r},S.createElement(_u,{container:o},S.createElement(vu,{"cmdk-overlay":``,className:i}),S.createElement(yu,{"aria-label":e.label,"cmdk-dialog":``,className:a},S.createElement(YF,{ref:t,...s}))))}),nI=S.forwardRef((e,t)=>uI(e=>e.filtered.count===0)?S.createElement(FF.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),rI=S.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return S.createElement(FF.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},mI(e,e=>S.createElement(`div`,{"aria-hidden":!0},e)))}),iI=Object.assign(YF,{List:eI,Item:XF,Input:$F,Group:ZF,Separator:QF,Dialog:tI,Empty:nI,Loading:rI});function aI(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function oI(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function sI(e){let t=S.useRef(e);return cI(()=>{t.current=e}),t}var cI=typeof window>`u`?S.useEffect:S.useLayoutEffect;function lI(e){let t=S.useRef();return t.current===void 0&&(t.current=e()),t}function uI(e){let t=qF(),n=()=>e(t.snapshot());return S.useSyncExternalStore(t.subscribe,n,n)}function dI(e,t,n,r=[]){let i=S.useRef(),a=GF();return cI(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(HF,s),i.current=s}),i}var fI=()=>{let[e,t]=S.useState(),n=lI(()=>new Map);return cI(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function pI(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function mI({asChild:e,children:t},n){return e&&S.isValidElement(t)?S.cloneElement(pI(t),{ref:t.ref},n(t.props.children)):n(t)}var hI={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function gI({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`input-group`,role:`group`,className:J(`group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5`,e),...t})}var _I=U_(`flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]`,"inline-end":`order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]`,"block-start":`order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2`,"block-end":`order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2`}},defaultVariants:{align:`inline-start`}});function vI({className:e,align:t=`inline-start`,...n}){return(0,z.jsx)(`div`,{role:`group`,"data-slot":`input-group-addon`,"data-align":t,className:J(_I({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n})}function yI({className:e,...t}){return(0,z.jsx)(iI,{"data-slot":`command`,className:J(`flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground`,e),...t})}function bI({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`command-input-wrapper`,className:`p-1 pb-0`,children:(0,z.jsxs)(gI,{className:`h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!`,children:[(0,z.jsx)(iI.Input,{"data-slot":`command-input`,className:J(`w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50`,e),...t}),(0,z.jsx)(vI,{children:(0,z.jsx)(So,{className:`size-4 shrink-0 opacity-50`})})]})})}function xI({className:e,...t}){return(0,z.jsx)(iI.List,{"data-slot":`command-list`,className:J(`no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none`,e),...t})}function SI({className:e,...t}){return(0,z.jsx)(iI.Empty,{"data-slot":`command-empty`,className:J(`py-6 text-center text-sm`,e),...t})}function CI({className:e,...t}){return(0,z.jsx)(iI.Group,{"data-slot":`command-group`,className:J(`overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground`,e),...t})}function wI({className:e,children:t,...n}){return(0,z.jsxs)(iI.Item,{"data-slot":`command-item`,className:J(`group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground`,e),...n,children:[t,(0,z.jsx)(ja,{className:`ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100`})]})}function TI({...e}){return(0,z.jsx)(nm,{"data-slot":`popover`,...e})}function EI({...e}){return(0,z.jsx)(rm,{"data-slot":`popover-trigger`,...e})}function DI({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,z.jsx)(im,{children:(0,z.jsx)(am,{"data-slot":`popover-content`,align:t,sideOffset:n,className:J(`z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r})})}function OI({className:e,orientation:t=`horizontal`,...n}){return(0,z.jsx)(Th,{"data-slot":`tabs`,"data-orientation":t,className:J(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var kI=U_(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function AI({className:e,variant:t=`default`,...n}){return(0,z.jsx)(Eh,{"data-slot":`tabs-list`,"data-variant":t,className:J(kI({variant:t}),e),...n})}function jI({className:e,...t}){return(0,z.jsx)(Dh,{"data-slot":`tabs-trigger`,className:J(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function MI({className:e,...t}){return(0,z.jsx)(Oh,{"data-slot":`tabs-content`,className:J(`flex-1 text-sm outline-none`,e),...t})}function NI(){let{data:e,refetch:t}=Av(),n=Lv(),r=Rv(),i=zv(),[a,o]=(0,S.useState)(!1),[s,c]=(0,S.useState)(null),[l,u]=(0,S.useState)(``),[d,f]=(0,S.useState)(null),[p,m]=(0,S.useState)(``),[h,g]=(0,S.useState)(``),[_,v]=(0,S.useState)(``),[y,b]=(0,S.useState)(null);(0,S.useEffect)(()=>{!s&&e?.[0]?.userId&&(c(e[0].userId),u(e[0].userId))},[s,e]);let x=s?.trim()||null,C=(0,S.useMemo)(()=>qI(e??[]),[e]),{data:w,isLoading:T}=jv(x),{data:E,isLoading:D}=Mv(x),{data:O,isLoading:k}=Nv(x),{data:A,isLoading:j}=Pv(),{data:M,isLoading:N}=Fv(x),{data:ee,isLoading:te}=Iv(x,_.trim()),P=M?.summaries??[],F=ee?.entries??[],ne=E?.dreamHistory??[],re=w?.find(e=>e.id===d)??null,ie=e?.find(e=>e.userId===x)??null,I=P[0]??null,L=A?.sources??[];(0,S.useEffect)(()=>{if(!x)return;if(!w||w.length===0){f(null);return}let e=w.some(e=>e.id===d);(!d||!e)&&f(w[0].id)},[x,w,d]),(0,S.useEffect)(()=>{if(re){m(re.title),g(re.content);return}m(``),g(``)},[re]);let R=()=>{let e=l.trim();e&&(c(e),f(null))},ae=e=>{c(e),u(e),f(null),o(!1)};return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`space-y-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`上下文与记忆`}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`观测用户长期记忆、梦境、会话压缩和统一召回索引;Memory 可编辑,Compact 与 Dream 只做审计。`})]}),(0,z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:()=>t(),children:[(0,z.jsx)(vo,{className:`h-4 w-4`}),`刷新`]})]}),(0,z.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1fr)_360px]`,children:[(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 text-sm font-medium`,children:[(0,z.jsx)(Io,{className:`h-4 w-4 text-primary`}),`用户 / 线程`]}),(0,z.jsxs)(`div`,{className:`grid gap-3 lg:grid-cols-[minmax(0,1fr)_220px]`,children:[(0,z.jsxs)(TI,{open:a,onOpenChange:o,children:[(0,z.jsx)(EI,{asChild:!0,children:(0,z.jsxs)(Y,{variant:`outline`,className:`h-14 min-w-0 justify-between px-4 text-left`,children:[(0,z.jsx)(`div`,{className:`min-w-0`,children:x?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:XI(x,ie??void 0)}),(0,z.jsx)(X,{variant:`outline`,children:YI(x)})]}),(0,z.jsx)(`div`,{className:`truncate font-mono text-xs text-muted-foreground`,children:x})]}):(0,z.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`选择一个用户或线程`})}),(0,z.jsx)(Ma,{className:`ml-3 h-4 w-4 shrink-0 text-muted-foreground`})]})}),(0,z.jsx)(DI,{align:`start`,className:`w-[min(760px,calc(100vw-3rem))] p-0`,children:(0,z.jsxs)(yI,{children:[(0,z.jsx)(bI,{placeholder:`搜索 userId、部门成员、kanban 线程`}),(0,z.jsxs)(xI,{className:`max-h-[420px]`,children:[(0,z.jsx)(SI,{children:`没有匹配到已发现的用户,可用右侧手动输入。`}),C.map(e=>(0,z.jsx)(CI,{heading:e.label,children:e.users.map(e=>(0,z.jsxs)(wI,{value:JI(e),onSelect:()=>ae(e.userId),className:`items-start gap-3 py-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:XI(e.userId,e)}),e.hasMemory&&(0,z.jsxs)(X,{variant:`secondary`,children:[e.memoryCount,` 条记忆`]}),e.hasDream&&(0,z.jsx)(X,{variant:`outline`,children:`有梦境`})]}),(0,z.jsx)(`div`,{className:`mt-1 truncate font-mono text-xs text-muted-foreground`,children:e.userId}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e.lastActivityAt?`最近活跃 ${QI(e.lastActivityAt)}`:`暂无活跃时间`})]}),e.userId===x&&(0,z.jsx)(Fa,{className:`mt-0.5 h-4 w-4 shrink-0 text-primary`})]},e.userId))},e.kind))]})]})})]}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,z.jsx)(NC,{value:l,onChange:e=>u(e.target.value),placeholder:`手动 userId`,className:`h-14 min-w-0 font-mono text-xs`}),(0,z.jsx)(Y,{className:`h-14 shrink-0`,onClick:R,disabled:!l.trim(),children:`应用`})]})]})]}),(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsx)(`div`,{className:`text-sm font-medium`,children:`当前对象`}),x?(0,z.jsxs)(`div`,{className:`mt-3 space-y-2`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,children:YI(x)}),ie?.hasConversation&&(0,z.jsx)(X,{variant:`secondary`,children:`有对话索引`}),ie?.hasDream&&(0,z.jsx)(X,{variant:`secondary`,children:`有梦境`}),(ie?.relatedUserIds?.length??0)>0&&(0,z.jsxs)(X,{variant:`secondary`,children:[ie?.relatedUserIds?.length,` 个上下文源`]})]}),(0,z.jsx)(`div`,{className:`break-all font-mono text-xs leading-5 text-muted-foreground`,children:x}),(ie?.relatedUserIds?.length??0)>0&&(0,z.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:`已合并 Main Manager 主线与部门 mailbox 上下文。`})]}):(0,z.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:`尚未选择用户。`})]})]}),x?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2 xl:grid-cols-5`,children:[(0,z.jsx)(PI,{icon:Oa,label:`Memory`,value:`${w?.length??0}`,note:`可编辑长期记忆`,loading:T}),(0,z.jsx)(PI,{icon:Oo,label:`Dream`,value:E?.dreamContent?`有`:`无`,note:`${ne.length} 条历史`,loading:D}),(0,z.jsx)(PI,{icon:Ba,label:`Compact`,value:`${P.length}`,note:I?`最近 ${QI(I.createdAt)}`:`暂无压缩`,loading:N}),(0,z.jsx)(PI,{icon:So,label:`Recall`,value:`${ee?.total??0}`,note:_.trim()?`查询结果`:`索引总数`,loading:te}),(0,z.jsx)(PI,{icon:La,label:`活跃`,value:ie?.lastActivityAt?ZI(ie.lastActivityAt):`--`,note:ie?.lastActivityAt?QI(ie.lastActivityAt):`暂无记录`})]}),(0,z.jsxs)(OI,{defaultValue:`memory`,className:`space-y-4`,children:[(0,z.jsxs)(AI,{className:`h-auto flex-wrap justify-start`,children:[(0,z.jsx)(jI,{value:`memory`,children:`长期记忆`}),(0,z.jsx)(jI,{value:`dream`,children:`梦境`}),(0,z.jsx)(jI,{value:`compact`,children:`会话压缩`}),(0,z.jsx)(jI,{value:`recall`,children:`召回索引`}),(0,z.jsx)(jI,{value:`all-context`,children:`所有上下文`}),(0,z.jsx)(jI,{value:`context`,children:`注入预览`})]}),(0,z.jsx)(MI,{value:`memory`,children:(0,z.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-[380px_minmax(0,1fr)]`,children:[(0,z.jsxs)(py,{children:[(0,z.jsxs)(my,{className:`flex-row items-center justify-between`,children:[(0,z.jsx)(hy,{className:`text-base`,children:`Memory 列表`}),(0,z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:()=>{f(null),m(``),g(``)},children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`新建`]})]}),(0,z.jsx)(_y,{children:T?(0,z.jsx)(GI,{rows:4}):w?.length?(0,z.jsx)(I_,{className:`max-h-[590px]`,children:(0,z.jsx)(`div`,{className:`space-y-2 pr-3`,children:w.map(e=>(0,z.jsxs)(`button`,{type:`button`,onClick:()=>f(e.id),className:`w-full rounded-lg border p-3 text-left hover:bg-muted/40 ${d===e.id?`border-primary bg-primary/5`:``}`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:`max-w-28 overflow-hidden text-ellipsis font-mono text-[10px]`,children:e.id}),e.userId!==x&&(0,z.jsx)(X,{variant:`secondary`,className:`max-w-36 overflow-hidden text-ellipsis font-mono text-[10px]`,children:e.userId}),(0,z.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:QI(e.updatedAt)})]}),(0,z.jsx)(`div`,{className:`mt-2 break-words text-sm font-semibold`,children:e.title}),(0,z.jsx)(`p`,{className:`mt-1 break-words text-xs leading-5 text-muted-foreground [overflow-wrap:anywhere]`,children:$I(eL(e.content),120)})]},e.id))})}):(0,z.jsx)(KI,{text:`这个 userId 还没有长期记忆。`})})]}),(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsx)(hy,{className:`text-base`,children:re?`编辑长期记忆`:`新建长期记忆`})}),(0,z.jsxs)(_y,{className:`space-y-4`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`标题`}),(0,z.jsx)(NC,{value:p,onChange:e=>m(e.target.value),placeholder:`例如:偏好-包管理器`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`内容`}),(0,z.jsx)(PC,{value:h,onChange:e=>g(e.target.value),className:`min-h-44`,placeholder:`稳定事实、偏好或长期约束。`})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,z.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:re?.id??`new memory`}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[re&&(0,z.jsxs)(Y,{variant:`destructive`,onClick:async()=>{!x||!re||(await i.mutateAsync({id:re.id,userId:re.userId||x}),f(null))},disabled:i.isPending,children:[(0,z.jsx)(No,{className:`h-4 w-4`}),`删除`]}),(0,z.jsxs)(Y,{onClick:async()=>{if(!(!x||!p.trim()||!h.trim())){if(re){await r.mutateAsync({id:re.id,data:{userId:re.userId||x,title:p.trim(),content:h.trim()}});return}f((await n.mutateAsync({userId:x,title:p.trim(),content:h.trim()})).id)}},disabled:!p.trim()||!h.trim()||n.isPending||r.isPending,children:[(0,z.jsx)(xo,{className:`h-4 w-4`}),re?`保存`:`创建`]})]})]})]})]})]})}),(0,z.jsx)(MI,{value:`dream`,children:(0,z.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-[minmax(0,1fr)_420px]`,children:[(0,z.jsx)(FI,{title:`最新梦境`,icon:Oo,loading:D,empty:`还没有 dream。系统会在长时间不活跃后生成长期记忆沉淀。`,content:E?.dreamContent}),(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(Xa,{className:`h-4 w-4 text-primary`}),`Dream History`]})}),(0,z.jsx)(_y,{children:D?(0,z.jsx)(GI,{rows:4}):ne.length===0?(0,z.jsx)(KI,{text:`暂无梦境历史。`}):(0,z.jsx)(I_,{className:`max-h-[520px]`,children:(0,z.jsx)(`div`,{className:`space-y-3 pr-3`,children:ne.map(e=>(0,z.jsx)(UI,{title:QI(e.createdAt),meta:`${e.sourceMessageCount} 条来源消息`,content:e.content},e.id))})})})]})]})}),(0,z.jsx)(MI,{value:`compact`,children:(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(Ba,{className:`h-4 w-4 text-primary`}),`Compact Summaries`]})}),(0,z.jsx)(_y,{children:N?(0,z.jsx)(GI,{rows:5}):P.length===0?(0,z.jsx)(KI,{text:`暂无会话压缩摘要。长上下文触发 compact 后会出现在这里。`}):(0,z.jsx)(`div`,{className:`grid gap-3 xl:grid-cols-2`,children:P.map(e=>(0,z.jsx)(VI,{summary:e},e.id))})})]})}),(0,z.jsx)(MI,{value:`recall`,children:(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(So,{className:`h-4 w-4 text-primary`}),`Recall 测试`]})}),(0,z.jsxs)(_y,{className:`space-y-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,z.jsx)(NC,{value:_,onChange:e=>v(e.target.value),placeholder:`输入关键词,例如:蓝兔支付 / 准生产 / ENOENT`,className:`h-10`}),(0,z.jsx)(Y,{variant:`outline`,onClick:()=>v(``),disabled:!_,children:`清空`})]}),te?(0,z.jsx)(GI,{rows:5}):F.length===0?(0,z.jsx)(KI,{text:_.trim()?`没有匹配的召回结果。`:`暂无 recall index 条目。`}):(0,z.jsx)(`div`,{className:`grid gap-3 xl:grid-cols-2`,children:F.map(e=>(0,z.jsx)(HI,{entry:e},`${e.type}:${e.id}`))})]})]})}),(0,z.jsx)(MI,{value:`context`,children:(0,z.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-2`,children:[(0,z.jsx)(FI,{title:`Memory Context`,icon:Ha,loading:k,content:O?.memoryContextBlock,empty:`没有长期记忆注入块。`}),(0,z.jsx)(FI,{title:`Dream Context`,icon:co,loading:k,content:O?.dreamContextBlock,empty:`没有梦境注入块。`})]})}),(0,z.jsx)(MI,{value:`all-context`,children:(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(co,{className:`h-4 w-4 text-primary`}),`Main Manager 可见上下文`]})}),(0,z.jsx)(_y,{children:j?(0,z.jsx)(GI,{rows:5}):L.length===0?(0,z.jsx)(KI,{text:`暂无可查看的对话上下文。`}):(0,z.jsx)(`div`,{className:`space-y-4`,children:L.map(e=>(0,z.jsx)(II,{source:e,onOpen:()=>b(e)},e.userId))})})]})})]})]}):(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`py-16 text-center text-muted-foreground`,children:`先选择一个 userId,再查看上下文、记忆和召回索引。`})})]}),(0,z.jsx)(LI,{source:y,onClose:()=>b(null)})]})}function PI({icon:e,label:t,value:n,note:r,loading:i}){return(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{className:`pb-2`,children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-sm font-medium text-muted-foreground`,children:[(0,z.jsx)(e,{className:`h-4 w-4`}),t]})}),(0,z.jsxs)(_y,{children:[i?(0,z.jsx)(vy,{className:`h-7 w-20`}):(0,z.jsx)(`div`,{className:`text-2xl font-semibold`,children:n}),(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:r})]})]})}function FI({title:e,icon:t,content:n,empty:r,loading:i}){return(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(t,{className:`h-4 w-4 text-primary`}),e]})}),(0,z.jsx)(_y,{children:i?(0,z.jsx)(GI,{rows:4}):n?.trim()?(0,z.jsx)(`div`,{className:`max-h-[560px] overflow-auto rounded-lg border bg-muted/25 p-4`,children:(0,z.jsx)(`pre`,{className:`whitespace-pre-wrap break-words text-sm leading-6 [overflow-wrap:anywhere]`,children:n})}):(0,z.jsx)(KI,{text:r})})]})}function II({source:e,onOpen:t}){let n=e.agentLogs.slice(-2);return(0,z.jsxs)(`article`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:XI(e.userId)}),(0,z.jsx)(X,{variant:`outline`,children:YI(e.userId)}),(0,z.jsxs)(X,{variant:`secondary`,children:[e.messageCount,` 条上下文`]})]}),(0,z.jsx)(`div`,{className:`mt-1 break-all font-mono text-xs text-muted-foreground`,children:e.userId})]}),(0,z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:t,children:[(0,z.jsx)(Va,{className:`h-4 w-4`}),`查看`]})]}),(0,z.jsxs)(`div`,{className:`mt-4 space-y-2 rounded-md border bg-muted/20 p-3`,children:[(0,z.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`最近上下文预览`}),n.map(t=>(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(X,{variant:t.role===`user`?`default`:`secondary`,className:`h-4 px-1.5 py-0 text-[10px]`,children:t.role===`user`?`User`:`Assistant`}),(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,t.index]}),(0,z.jsx)(`span`,{className:`truncate`,children:zI(t)})]},`${e.userId}:${t.index}`)),n.length===0&&(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`暂无预览。`})]})]})}function LI({source:e,onClose:t}){let[n,r]=(0,S.useState)(1);if((0,S.useEffect)(()=>{r(1)},[e?.userId]),!e)return null;let i=Math.max(1,Math.ceil(e.agentLogs.length/12)),a=Math.min(n,i),o=(a-1)*12,s=e.agentLogs.slice(o,o+12);return(0,z.jsx)(FC,{open:!!e,onOpenChange:e=>!e&&t(),children:(0,z.jsxs)(RC,{className:`grid max-h-[88vh] grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden p-0 sm:max-w-5xl`,children:[(0,z.jsxs)(zC,{className:`border-b px-6 py-5`,children:[(0,z.jsxs)(VC,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(co,{className:`h-4 w-4 text-primary`}),XI(e.userId),(0,z.jsx)(X,{variant:`outline`,children:YI(e.userId)})]}),(0,z.jsxs)(HC,{className:`break-all font-mono text-xs`,children:[e.userId,` · 共 `,e.messageCount,` 条上下文`]})]}),(0,z.jsx)(I_,{className:`min-h-0 px-6 py-4`,children:(0,z.jsx)(`div`,{className:`space-y-4 pr-3`,children:s.map(t=>(0,z.jsx)(RI,{log:t},`${e.userId}:${t.index}`))})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t px-6 py-4 text-sm`,children:[(0,z.jsxs)(`div`,{className:`text-muted-foreground`,children:[`第 `,a,` / `,i,` 页 · 当前 `,s.length,` 条`]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(1),disabled:a<=1,children:`首页`}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(e=>Math.max(1,e-1)),disabled:a<=1,children:`上一页`}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(e=>Math.min(i,e+1)),disabled:a>=i,children:`下一页`}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(i),disabled:a>=i,children:`末页`})]})]})]})})}function RI({log:e}){let t=e.role===`user`;return(0,z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,e.index]}),(0,z.jsx)(X,{variant:t?`default`:`secondary`,className:`h-4 px-1.5 py-0 text-[10px]`,children:t?`User`:`Assistant`})]}),(0,z.jsx)(`div`,{className:`space-y-2 pl-2`,children:e.blocks.map((e,n)=>(0,z.jsx)(BI,{block:e,isUser:t},n))})]})}function zI(e){let t=e.blocks.find(e=>e.type===`text`&&typeof e.text==`string`);if(t&&typeof t.text==`string`&&t.text.trim())return $I(t.text.replace(/\s+/g,` `).trim(),120);let n=e.blocks.find(e=>e.type===`tool_use`);if(n)return`tool_use: ${String(n.name??`unknown`)}`;let r=e.blocks.find(e=>e.type===`tool_result`);return r?`tool_result: ${String(r.toolUseId??``)}`:`无文本内容`}function BI({block:e,isUser:t}){let[n,r]=(0,S.useState)(!1),i=String(e.type??`unknown`);if(i===`text`){let i=String(e.text??``),a=i.length>360;return(0,z.jsxs)(`div`,{className:`rounded-md border px-3 py-2 text-sm whitespace-pre-wrap break-words [overflow-wrap:anywhere] ${t?`border-emerald-500/10 bg-emerald-500/5`:`border-sky-500/10 bg-sky-500/5`}`,children:[n||!a?i:$I(i,360),a&&(0,z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`ml-1 h-6 px-1 text-xs`,onClick:()=>r(e=>!e),children:n?`收起`:`展开`})]})}if(i===`tool_use`)return(0,z.jsxs)(`div`,{className:`rounded-md border border-primary/20 bg-primary/5 px-3 py-2`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 text-left`,onClick:()=>r(e=>!e),children:[(0,z.jsx)(Bo,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,z.jsx)(`span`,{className:`text-sm font-semibold text-primary`,children:String(e.name??`unknown`)}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`mt-2 overflow-x-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:JSON.stringify(e.input??{},null,2)})]});if(i===`tool_result`){let t=typeof e.content==`string`?e.content:JSON.stringify(e.content,null,2);return(0,z.jsxs)(`div`,{className:`rounded-md border border-amber-500/20 bg-amber-500/5 px-3 py-2`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 text-left`,onClick:()=>r(e=>!e),children:[(0,z.jsxs)(`span`,{className:`font-mono text-xs text-amber-700 dark:text-amber-300`,children:[`tool_result `,String(e.toolUseId??``)]}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`mt-2 max-h-80 overflow-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:t})]})}return(0,z.jsxs)(`div`,{className:`rounded-md bg-muted px-3 py-2 text-sm text-muted-foreground`,children:[`[unknown block: `,i,`]`]})}function VI({summary:e}){return(0,z.jsxs)(`article`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,children:e.date}),e.cronTitle&&(0,z.jsx)(X,{variant:`secondary`,children:e.cronTitle}),(0,z.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:QI(e.createdAt)})]}),(0,z.jsxs)(`div`,{className:`mt-3 grid grid-cols-3 gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(WI,{label:`before`,value:tL(e.contextTokensBefore)}),(0,z.jsx)(WI,{label:`after`,value:tL(e.contextTokensAfter)}),(0,z.jsx)(WI,{label:`hot tail`,value:String(e.hotTailCount)})]}),(0,z.jsx)(`pre`,{className:`mt-3 max-h-56 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-muted/25 p-3 text-xs leading-5 [overflow-wrap:anywhere]`,children:e.summary})]})}function HI({entry:e}){return(0,z.jsxs)(`article`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:e.type===`memory`?`secondary`:`outline`,children:e.type}),(0,z.jsx)(X,{variant:`outline`,children:e.date}),e.score!==void 0&&(0,z.jsxs)(X,{variant:`outline`,children:[`score `,e.score]})]}),(0,z.jsx)(`h3`,{className:`mt-3 break-words text-sm font-semibold`,children:e.title}),(0,z.jsx)(`p`,{className:`mt-2 break-words text-sm leading-6 text-muted-foreground [overflow-wrap:anywhere]`,children:$I(e.summary,360)}),e.keywords.length>0&&(0,z.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-1`,children:e.keywords.slice(0,8).map(e=>(0,z.jsx)(X,{variant:`outline`,className:`text-[10px]`,children:e},e))})]})}function UI({title:e,meta:t,content:n}){return(0,z.jsxs)(`article`,{className:`rounded-lg border p-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-xs text-muted-foreground`,children:[(0,z.jsx)(`span`,{children:e}),(0,z.jsx)(`span`,{children:t})]}),(0,z.jsx)(`p`,{className:`mt-2 max-h-36 overflow-auto whitespace-pre-wrap break-words text-xs leading-5 [overflow-wrap:anywhere]`,children:n})]})}function WI({label:e,value:t}){return(0,z.jsxs)(`div`,{className:`rounded-md border bg-muted/20 px-2 py-1`,children:[(0,z.jsx)(`div`,{children:e}),(0,z.jsx)(`div`,{className:`font-mono text-foreground`,children:t})]})}function GI({rows:e}){return(0,z.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:e}).map((e,t)=>(0,z.jsx)(vy,{className:`h-20 w-full`},t))})}function KI({text:e}){return(0,z.jsx)(`div`,{className:`rounded-lg border border-dashed px-4 py-10 text-center text-sm text-muted-foreground`,children:e})}function qI(e){let t=[`Chat`,`Department`,`Kanban`,`User`],n=new Map;for(let t of e){let e=YI(t.userId),r=n.get(e)??[];r.push(t),n.set(e,r)}return t.map(e=>({kind:e,label:e,users:(n.get(e)??[]).sort((e,t)=>(t.lastActivityAt??0)-(e.lastActivityAt??0)||(t.memoryCount??0)-(e.memoryCount??0)||e.userId.localeCompare(t.userId))})).filter(e=>e.users.length>0)}function JI(e){return[e.userId,XI(e.userId,e),YI(e.userId),e.hasMemory?`has-memory`:``,e.hasDream?`has-dream`:``].filter(Boolean).join(` `)}function YI(e){return e.startsWith(`kanban:`)?`Kanban`:e.includes(`::`)?`Department`:e.startsWith(`oc_`)||e.startsWith(`chat_`)?`Chat`:`User`}function XI(e,t){return t?.displayName?t.displayName:e.startsWith(`kanban:`)?e.split(`:`).at(-1)||e:e.includes(`::`)&&e.split(`::`).at(-1)||e}function ZI(e){try{return new Date(e).toLocaleString(`zh-CN`,{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return String(e)}}function QI(e){try{let t=Date.now()-e;return t<6e4?`刚刚`:t<36e5?`${Math.max(1,Math.floor(t/6e4))} 分钟前`:t<864e5?`${Math.max(1,Math.floor(t/36e5))} 小时前`:ZI(e)}catch{return String(e)}}function $I(e,t){return e.length<=t?e:`${e.slice(0,t)}...`}function eL(e){return e.replace(/\r\n?/g,`
92
+ `).trim()}function LP(e,t){return FP(IP(e),t)}function RP(e){try{return new Date(e).toLocaleString(`zh-CN`)}catch{return String(e)}}function zP(e){try{return new Date(e).toLocaleTimeString(`zh-CN`,{hour:`2-digit`,minute:`2-digit`})}catch{return String(e)}}function BP(e){try{let t=Date.now()-e;return t<6e4?`刚刚`:t<36e5?`${Math.max(1,Math.floor(t/6e4))} 分钟前`:t<864e5?`${Math.max(1,Math.floor(t/36e5))} 小时前`:new Date(e).toLocaleString(`zh-CN`,{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return String(e)}}function VP({className:e,size:t=`default`,...n}){return(0,z.jsx)(ch,{"data-slot":`switch`,"data-size":t,className:J(`peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50`,e),...n,children:(0,z.jsx)(lh,{"data-slot":`switch-thumb`,className:`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground`})})}var HP={title:``,description:``,syntax:`0 * * * *`,channel:`default`,to:``};function UP(){let{data:e,isLoading:t,refetch:n}=lv(),r=dv(),i=fv(),a=ti(),[o,s]=(0,S.useState)(!1),[c,l]=(0,S.useState)(null),[u,d]=(0,S.useState)(HP),[f,p]=(0,S.useState)(null),[m,h]=(0,S.useState)(null),[g,_]=(0,S.useState)(!1),v=()=>{d(HP),s(!0)},y=e=>{d({title:e.title,description:e.description,syntax:e.schedule.syntax,channel:e.delivery.channel,to:e.delivery.to}),l(e)},b=async()=>{!u.title.trim()||!u.syntax.trim()||(await r.mutateAsync({title:u.title,description:u.description,schedule:{syntax:u.syntax},delivery:{channel:u.channel,to:u.to}}),s(!1),d(HP))},x=async()=>{if(!(!c||!u.title.trim()||!u.syntax.trim())){_(!0);try{await rv(c.id,{title:u.title,description:u.description,schedule:{syntax:u.syntax,createTime:c.schedule.createTime,lastRunTime:c.schedule.lastRunTime},delivery:{channel:u.channel,to:u.to}}),await a.invalidateQueries({queryKey:cv.all}),l(null),d(HP)}finally{_(!1)}}},C=async e=>{await av(e.id,!e.enabled),await a.invalidateQueries({queryKey:cv.all})},w=async e=>{await ov(e.id),await a.invalidateQueries({queryKey:cv.all})},T=async()=>{f&&(await i.mutateAsync(f),p(null))},E=e=>{if(!e)return`—`;try{return new Date(e).toLocaleString(`zh-CN`)}catch{return e}};return(0,z.jsx)(dy,{children:(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Cron Jobs`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`管理定时任务调度`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>n(),children:(0,z.jsx)(vo,{className:`h-4 w-4`})}),(0,z.jsxs)(Y,{size:`sm`,onClick:v,children:[(0,z.jsx)(go,{className:`h-4 w-4 mr-1`}),`新建任务`]})]})]}),t?(0,z.jsx)(`div`,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`p-4`,children:(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(vy,{className:`h-5 w-48`}),(0,z.jsx)(vy,{className:`h-4 w-32`})]}),(0,z.jsx)(vy,{className:`h-6 w-12`})]})})},e))}):!e||e.length===0?(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`py-12`,children:(0,z.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,z.jsx)(Ra,{className:`h-10 w-10 text-muted-foreground mb-3`}),(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`暂无定时任务`}),(0,z.jsxs)(Y,{variant:`outline`,className:`mt-3`,size:`sm`,onClick:v,children:[(0,z.jsx)(go,{className:`h-4 w-4 mr-1`}),`创建第一个任务`]})]})})}):(0,z.jsx)(`div`,{className:`space-y-3`,children:e.map(e=>(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`p-4`,children:(0,z.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 mb-1`,children:[(0,z.jsx)(`h3`,{className:`font-medium truncate`,children:e.title}),(0,z.jsx)(X,{variant:e.enabled?`default`:`secondary`,children:e.enabled?`启用`:`禁用`})]}),e.description&&(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground line-clamp-1 mb-2`,children:e.description}),(0,z.jsxs)(`div`,{className:`flex items-center gap-4 text-xs text-muted-foreground`,children:[(0,z.jsx)(`span`,{className:`font-mono bg-muted px-1.5 py-0.5 rounded`,children:e.schedule.syntax}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(Ra,{className:`h-3 w-3 inline mr-1`}),E(e.schedule.lastRunTime)]}),(0,z.jsxs)(`span`,{children:[e.delivery.channel,` → `,e.delivery.to]})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,z.jsx)(VP,{checked:e.enabled,onCheckedChange:()=>C(e)}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>w(e),disabled:!e.enabled,title:`手动触发`,children:(0,z.jsx)(ho,{className:`h-4 w-4`})}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>h(e.id),title:`执行历史`,children:(0,z.jsx)(Ra,{className:`h-4 w-4`})}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>y(e),title:`编辑`,children:(0,z.jsx)(Pa,{className:`h-4 w-4`})}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>p(e.id),title:`删除`,children:(0,z.jsx)(No,{className:`h-4 w-4`})})]})]})})},e.id))}),(0,z.jsx)(FC,{open:o,onOpenChange:s,children:(0,z.jsxs)(RC,{className:`sm:max-w-md`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`新建定时任务`}),(0,z.jsx)(HC,{children:`配置 cron 表达式和投递方式`})]}),(0,z.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`标题`}),(0,z.jsx)(NC,{value:u.title,onChange:e=>d(t=>({...t,title:e.target.value})),placeholder:`任务标题`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`描述`}),(0,z.jsx)(PC,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:`任务描述(可选)`,rows:2})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`Cron 表达式`}),(0,z.jsx)(NC,{value:u.syntax,onChange:e=>d(t=>({...t,syntax:e.target.value})),placeholder:`0 * * * *`,className:`font-mono`}),(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`格式: 分 时 日 月 周(如 0 */2 * * * 表示每2小时)`})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递通道`}),(0,z.jsx)(NC,{value:u.channel,onChange:e=>d(t=>({...t,channel:e.target.value})),placeholder:`channel`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递目标`}),(0,z.jsx)(NC,{value:u.to,onChange:e=>d(t=>({...t,to:e.target.value})),placeholder:`to`})]})]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>s(!1),children:`取消`}),(0,z.jsxs)(Y,{onClick:b,disabled:r.isPending||!u.title.trim(),children:[r.isPending&&(0,z.jsx)(io,{className:`h-4 w-4 mr-1 animate-spin`}),`创建`]})]})]})}),(0,z.jsx)(FC,{open:!!c,onOpenChange:()=>l(null),children:(0,z.jsxs)(RC,{className:`sm:max-w-md`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`编辑定时任务`}),(0,z.jsx)(HC,{children:`修改任务配置`})]}),(0,z.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`标题`}),(0,z.jsx)(NC,{value:u.title,onChange:e=>d(t=>({...t,title:e.target.value})),placeholder:`任务标题`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`描述`}),(0,z.jsx)(PC,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:`任务描述(可选)`,rows:2})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`Cron 表达式`}),(0,z.jsx)(NC,{value:u.syntax,onChange:e=>d(t=>({...t,syntax:e.target.value})),placeholder:`0 * * * *`,className:`font-mono`})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递通道`}),(0,z.jsx)(NC,{value:u.channel,onChange:e=>d(t=>({...t,channel:e.target.value})),placeholder:`channel`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递目标`}),(0,z.jsx)(NC,{value:u.to,onChange:e=>d(t=>({...t,to:e.target.value})),placeholder:`to`})]})]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>l(null),children:`取消`}),(0,z.jsxs)(Y,{onClick:x,disabled:g||!u.title.trim(),children:[g&&(0,z.jsx)(io,{className:`h-4 w-4 mr-1 animate-spin`}),`保存`]})]})]})}),(0,z.jsx)(FC,{open:!!f,onOpenChange:()=>p(null),children:(0,z.jsxs)(RC,{className:`sm:max-w-sm`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`确认删除`}),(0,z.jsx)(HC,{children:`删除后不可恢复,确定要删除此定时任务吗?`})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>p(null),children:`取消`}),(0,z.jsxs)(Y,{variant:`destructive`,onClick:T,disabled:i.isPending,children:[i.isPending&&(0,z.jsx)(io,{className:`h-4 w-4 mr-1 animate-spin`}),`删除`]})]})]})}),(0,z.jsx)(WP,{jobId:m,onClose:()=>h(null)})]})})}function WP({jobId:e,onClose:t}){let{data:n,isLoading:r}=uv(e??``);return(0,z.jsx)(FC,{open:!!e,onOpenChange:()=>t(),children:(0,z.jsxs)(RC,{className:`sm:max-w-lg`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`执行历史`}),(0,z.jsx)(HC,{children:`查看该定时任务的执行记录`})]}),(0,z.jsx)(I_,{className:`max-h-[400px]`,children:r?(0,z.jsx)(`div`,{className:`space-y-2 py-4`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-12 w-full`},e))}):!n||n.length===0?(0,z.jsx)(`div`,{className:`py-8 text-center text-muted-foreground text-sm`,children:`暂无执行记录`}):(0,z.jsx)(`div`,{className:`space-y-2`,children:n.map((e,t)=>(0,z.jsxs)(`div`,{className:`flex items-center justify-between p-3 rounded-lg border text-sm`,children:[(0,z.jsx)(`div`,{children:(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:GP(e.timestamp)})}),(0,z.jsx)(X,{variant:e.result===`success`?`default`:`destructive`,children:e.result})]},t))})})]})})}function GP(e){try{return new Date(e).toLocaleString(`zh-CN`)}catch{return e}}function KP({...e}){return(0,z.jsx)(Fs,{"data-slot":`collapsible`,...e})}function qP({...e}){return(0,z.jsx)(As,{"data-slot":`collapsible-trigger`,...e})}function JP({...e}){return(0,z.jsx)(Ms,{"data-slot":`collapsible-content`,...e})}var YP={file:{label:`文件操作`,icon:Ha},web:{label:`网络`,icon:qa},system:{label:`系统`,icon:wo},task:{label:`任务管理`,icon:ro},department:{label:`部门管理`,icon:Ro},cron:{label:`定时任务`,icon:Ra}},XP={label:`其他`,icon:_o};function ZP(e){let t=e.toLowerCase();return t.includes(`file`)||t.includes(`read`)||t.includes(`write`)||t.includes(`edit`)||t.includes(`glob`)||t.includes(`grep`)||t.includes(`bash`)||t.includes(`mkdir`)?`file`:t.includes(`web`)||t.includes(`search`)||t.includes(`fetch`)||t.includes(`http`)||t.includes(`url`)?`web`:t.includes(`system`)||t.includes(`process`)||t.includes(`env`)||t.includes(`config`)||t.includes(`memory`)?`system`:t.includes(`task`)||t.includes(`goal`)?`task`:t.includes(`department`)||t.includes(`member`)||t.includes(`communicat`)?`department`:t.includes(`cron`)||t.includes(`schedule`)||t.includes(`timer`)?`cron`:`other`}function QP({schema:e}){return e?.properties?(0,z.jsx)(`div`,{className:`space-y-2`,children:Object.entries(e.properties).map(([t,n])=>(0,z.jsxs)(`div`,{className:`rounded-md border bg-muted/30 px-3 py-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`code`,{className:`text-sm font-medium`,children:t}),(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:n.type}),e.required?.includes(t)&&(0,z.jsx)(X,{variant:`destructive`,className:`text-xs`,children:`必填`})]}),n.description&&(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:n.description}),n.enum&&(0,z.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-1`,children:n.enum.map(e=>(0,z.jsx)(X,{variant:`secondary`,className:`text-xs`,children:String(e)},String(e)))})]},t))}):null}function $P(){let[e,t]=(0,S.useState)(``),[n,r]=(0,S.useState)(new Set),{data:i,isLoading:a}=Gv(),o=(0,S.useMemo)(()=>{let t={};return(i??[]).filter(t=>t.name.toLowerCase().includes(e.toLowerCase())||t.description.toLowerCase().includes(e.toLowerCase())).forEach(e=>{let n=ZP(e.name);t[n]||(t[n]=[]),t[n].push(e)}),t},[i,e]),s=i?.length??0,c=e=>{r(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Tools`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`查看所有已注册的工具及其参数`})]}),(0,z.jsxs)(X,{variant:`secondary`,className:`gap-1`,children:[(0,z.jsx)(Bo,{className:`h-3 w-3`}),a?`...`:`${s} 个工具`]})]}),(0,z.jsxs)(`div`,{className:`relative mb-6`,children:[(0,z.jsx)(So,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,z.jsx)(NC,{placeholder:`搜索工具...`,className:`pl-9`,value:e,onChange:e=>t(e.target.value)})]}),a?(0,z.jsx)(`div`,{className:`space-y-6`,children:Array.from({length:3}).map((e,t)=>(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsx)(vy,{className:`h-6 w-32`}),(0,z.jsx)(vy,{className:`h-24 w-full`})]},t))}):Object.keys(o).length===0?(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 text-muted-foreground`,children:[(0,z.jsx)(Bo,{className:`mb-3 h-10 w-10`}),(0,z.jsx)(`p`,{className:`text-sm`,children:e?`未找到匹配的工具`:`暂无工具`})]}):(0,z.jsx)(`div`,{className:`space-y-8`,children:Object.entries(o).map(([e,t])=>{let r=YP[e]??XP,i=r.icon;return(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,z.jsx)(i,{className:`h-4 w-4 text-muted-foreground`}),(0,z.jsx)(`h2`,{className:`text-sm font-semibold text-muted-foreground`,children:r.label}),(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:t.length})]}),(0,z.jsx)(`div`,{className:`space-y-3`,children:t.map(e=>{let t=n.has(e.name);return(0,z.jsx)(py,{size:`sm`,children:(0,z.jsxs)(KP,{open:t,onOpenChange:()=>c(e.name),children:[(0,z.jsx)(qP,{className:`w-full`,children:(0,z.jsx)(my,{className:`cursor-pointer`,children:(0,z.jsxs)(hy,{className:`flex items-center justify-between`,children:[(0,z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Bo,{className:`h-3.5 w-3.5 text-primary`}),(0,z.jsx)(`code`,{className:`text-sm`,children:e.name})]}),(0,z.jsx)(Ma,{className:`h-4 w-4 text-muted-foreground transition-transform ${t?`rotate-180`:``}`})]})})}),(0,z.jsx)(JP,{children:(0,z.jsxs)(_y,{className:`space-y-4`,children:[(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h4`,{className:`mb-2 text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`参数 Schema`}),(0,z.jsx)(QP,{schema:e.inputSchema})]})]})})]})},e.name)})})]},e)})})]})}var eF=U_(`group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function tF({className:e,variant:t,...n}){return(0,z.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:J(eF({variant:t}),e),...n})}function nF({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-title`,className:J(`font-heading font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,e),...t})}function rF({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-description`,className:J(`text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,e),...t})}var iF=e=>e.replace(/[`*_#]/g,``).replace(/\s+/g,` `).trim(),aF=(e,t)=>e.toLowerCase().replace(/[^a-z0-9\u4e00-\u9fff]+/g,`-`).replace(/^-+|-+$/g,``)||t,oF=e=>{if(typeof e==`string`||typeof e==`number`)return String(e);if(Array.isArray(e))return e.map(oF).join(``);if(e&&typeof e==`object`&&`props`in e){let t=e.props;return oF(t?.children)}return``},sF=e=>{let t=e??``,n=t.match(/^Base directory for this skill:\s*(.+)$/m),r=t.replace(/^Base directory for this skill:\s*.+\n{0,2}/,``).trim(),i=new Map,a=Array.from(r.matchAll(/^(#{1,4})\s+(.+)$/gm)).map((e,t)=>{let n=iF(e[2]),r=aF(n,`section-${t+1}`),a=i.get(r)??0;return i.set(r,a+1),{level:e[1].length,text:n,id:a===0?r:`${r}-${a+1}`}}),o=Array.from(r.matchAll(/```(\w+)?\n([\s\S]*?)```/g)).map(e=>({lang:e[1]||`text`,code:e[2].trim()})),s=a.map(e=>e.text.toLowerCase()).join(` `);return{baseDir:n?.[1]?.trim()??null,content:r,headings:a,codeBlocks:o,sections:{installation:/install|安装/.test(s),quickStart:/quick start|quickstart|快速开始|入门/.test(s),commands:/command|命令/.test(s),configuration:/config|配置|setting|设置/.test(s)}}},cF=e=>(e??``).split(/[\s-_]+/).filter(Boolean).slice(0,2).map(e=>e[0]?.toUpperCase()).join(``)||`SK`;function lF(){let[e,t]=(0,S.useState)(``),[n,r]=(0,S.useState)(null),[i,a]=(0,S.useState)(null),[o,s]=(0,S.useState)(null),c=(0,S.useRef)(null),{data:l,isLoading:u}=Kv(),d=qv(),{data:f,isLoading:p}=gi({queryKey:Wv.detail(n),queryFn:async()=>{let e=await fetch(xi(`/api/skills/${encodeURIComponent(n)}`));if(!e.ok)throw Error(`Failed to fetch skill detail`);return e.json()},enabled:!!n}),m=(0,S.useMemo)(()=>sF(f?.detail),[f?.detail]),h=m.headings.some(e=>e.id===o)?o:m.headings[0]?.id,g=new Map,_=e=>{let t=aF(iF(oF(e)),`section`),n=g.get(t)??0;return g.set(t,n+1),n===0?t:`${t}-${n+1}`},v=e=>{s(e);let t=document.getElementById(e),n=c.current;if(!t||!n){t?.scrollIntoView({block:`start`,behavior:`smooth`});return}let r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),a=n.scrollTop+r.top-i.top-72;n.scrollTo({top:Math.max(0,a),behavior:`smooth`})},y=()=>{let e=c.current;if(!e)return;let t=m.headings.map(e=>document.getElementById(e.id)).filter(e=>!!e);if(t.length===0)return;let n=e.getBoundingClientRect().top;s(t.reduce((e,t)=>t.getBoundingClientRect().top-n<=80?t:e,t[0]).id)},b=(l??[]).filter(t=>t.name.toLowerCase().includes(e.toLowerCase())||t.description.toLowerCase().includes(e.toLowerCase()));return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Skills`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`查看所有已注册的技能`})]}),(0,z.jsxs)(X,{variant:`secondary`,className:`gap-1`,children:[(0,z.jsx)(Oo,{className:`h-3 w-3`}),u?`...`:`${l?.length??0} 个技能`]})]}),(0,z.jsxs)(`div`,{className:`relative mb-6`,children:[(0,z.jsx)(So,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,z.jsx)(NC,{placeholder:`搜索技能...`,className:`pl-9`,value:e,onChange:e=>t(e.target.value)})]}),u?(0,z.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:Array.from({length:6}).map((e,t)=>(0,z.jsxs)(py,{children:[(0,z.jsxs)(my,{children:[(0,z.jsx)(vy,{className:`h-5 w-32`}),(0,z.jsx)(vy,{className:`h-4 w-48`})]}),(0,z.jsx)(_y,{children:(0,z.jsx)(vy,{className:`h-4 w-full`})})]},t))}):b.length===0?(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 text-muted-foreground`,children:[(0,z.jsx)(Oo,{className:`mb-3 h-10 w-10`}),(0,z.jsx)(`p`,{className:`text-sm`,children:e?`未找到匹配的技能`:`暂无技能`})]}):(0,z.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:b.map(e=>(0,z.jsx)(py,{className:`relative cursor-pointer transition-shadow hover:shadow-md`,onClick:()=>r(e.name),children:(0,z.jsxs)(my,{className:e.deletable?`pr-12`:void 0,children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Oo,{className:`h-4 w-4 text-primary`}),e.name]}),e.deletable&&(0,z.jsx)(`div`,{className:`absolute top-3 right-3`,children:(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,disabled:d.isPending,onClick:t=>{t.stopPropagation(),a(e.name)},title:`删除技能`,children:(0,z.jsx)(No,{className:`h-4 w-4 text-destructive`})})}),(0,z.jsx)(gy,{children:e.description})]})},e.name))}),(0,z.jsx)(FC,{open:!!n,onOpenChange:e=>!e&&r(null),children:(0,z.jsxs)(RC,{className:`grid h-[88vh] max-h-[88vh] grid-rows-[auto_minmax(0,1fr)] overflow-hidden p-0 sm:max-w-[960px]`,children:[(0,z.jsx)(zC,{className:`border-b px-6 py-5`,children:(0,z.jsxs)(`div`,{className:`flex items-start gap-4 pr-8`,children:[(0,z.jsx)(`div`,{className:`flex size-14 shrink-0 items-center justify-center rounded-lg border bg-primary/8 text-primary`,children:(0,z.jsx)(`span`,{className:`text-base font-semibold`,children:cF(f?.name??n)})}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(VC,{className:`flex flex-wrap items-center gap-2 text-xl leading-tight`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:f?.name??n}),(0,z.jsx)(X,{variant:`secondary`,className:`shrink-0`,children:f?.deletable?`项目 Skill`:`系统 Skill`})]}),(0,z.jsx)(HC,{className:`mt-2 max-w-2xl leading-relaxed`,children:f?.description??`加载中...`}),(0,z.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,z.jsx)(Ao,{className:`size-3.5`}),`ID: `,n]}),m.baseDir&&(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[(0,z.jsx)(Wa,{className:`size-3.5 shrink-0`}),(0,z.jsx)(`span`,{className:`truncate`,children:m.baseDir})]})]})]})]})}),(0,z.jsxs)(`div`,{className:`grid min-h-0 grid-cols-1 overflow-hidden lg:grid-cols-[1fr_260px]`,children:[p?(0,z.jsxs)(`div`,{className:`space-y-3 p-6`,children:[(0,z.jsx)(vy,{className:`h-8 w-52`}),(0,z.jsx)(vy,{className:`h-28 w-full`}),(0,z.jsx)(vy,{className:`h-28 w-full`})]}):m.content?(0,z.jsxs)(`div`,{ref:c,className:`h-full min-h-0 overflow-y-auto overscroll-contain scroll-smooth`,onScroll:y,children:[(0,z.jsx)(`div`,{className:`sticky top-0 z-10 flex h-14 items-center border-b bg-popover/95 px-6 backdrop-blur`,children:(0,z.jsxs)(`div`,{className:`inline-flex h-full items-center gap-2 border-b-2 border-foreground px-1 text-sm font-medium`,children:[(0,z.jsx)(Ea,{className:`size-4`}),`使用指南`]})}),(0,z.jsx)(`div`,{className:`px-6 py-6`,children:(0,z.jsx)(`div`,{className:`skill-detail-markdown`,children:(0,z.jsx)(TA,{remarkPlugins:[kN],components:{h1:({children:e,...t})=>(0,z.jsx)(`h1`,{id:_(e),...t,children:e}),h2:({children:e,...t})=>(0,z.jsx)(`h2`,{id:_(e),...t,children:e}),h3:({children:e,...t})=>(0,z.jsx)(`h3`,{id:_(e),...t,children:e}),h4:({children:e,...t})=>(0,z.jsx)(`h4`,{id:_(e),...t,children:e}),a:({...e})=>(0,z.jsx)(`a`,{...e,className:`font-medium text-primary underline-offset-4 hover:underline`,target:`_blank`,rel:`noreferrer`}),code:({className:e,children:t,...n})=>e?.startsWith(`language-`)?(0,z.jsx)(`code`,{...n,className:e,children:t}):(0,z.jsx)(`code`,{...n,className:`rounded bg-muted px-1.5 py-0.5 text-[0.9em]`,children:t})},children:m.content})})})]}):(0,z.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:`无详细内容`}),(0,z.jsx)(`aside`,{className:`hidden min-h-0 border-l bg-muted/20 p-5 lg:block`,children:(0,z.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:m.headings.length>0&&(0,z.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,z.jsx)(`h3`,{className:`mb-3 text-sm font-medium`,children:`章节导航`}),(0,z.jsx)(`nav`,{className:`min-h-0 flex-1 space-y-0.5 overflow-y-auto pr-1`,children:m.headings.map(e=>(0,z.jsx)(`button`,{type:`button`,className:[`block w-full truncate rounded-md py-1.5 pr-2 text-left text-sm transition-colors`,h===e.id?`bg-primary/8 font-medium text-primary`:`text-muted-foreground hover:bg-background hover:text-foreground`].join(` `),style:{paddingLeft:`${Math.max(0,e.level-1)*16+8}px`},onClick:()=>v(e.id),children:e.text},e.id))})]})})})]})]})}),(0,z.jsx)(FC,{open:!!i,onOpenChange:e=>{!e&&!d.isPending&&a(null)},children:(0,z.jsxs)(RC,{className:`sm:max-w-md`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsxs)(VC,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Po,{className:`size-5 text-destructive`}),`确认删除 Skill?`]}),(0,z.jsxs)(HC,{children:[`你正在删除 `,(0,z.jsx)(`span`,{className:`font-medium text-foreground`,children:i}),`。`]})]}),(0,z.jsxs)(tF,{variant:`destructive`,children:[(0,z.jsx)(Po,{className:`size-4`}),(0,z.jsx)(nF,{children:`删除后不可恢复`}),(0,z.jsx)(rF,{children:`该 Skill 的文件会被永久移除,后续无法从管理台恢复。请确认不再需要后再继续。`})]}),(0,z.jsxs)(BC,{className:`-mx-4 -mb-4`,children:[(0,z.jsx)(Y,{variant:`outline`,disabled:d.isPending,onClick:()=>a(null),children:`取消`}),(0,z.jsx)(Y,{variant:`destructive`,disabled:d.isPending||!i,onClick:()=>{if(!i)return;let e=i;d.mutate(e,{onSuccess:()=>{n===e&&r(null),a(null)}})},children:d.isPending?`删除中...`:`确认删除`})]})]})})]})}var uF=1,dF=.9,fF=.8,pF=.17,mF=.1,hF=.999,gF=.9999,_F=.99,vF=/[\\\/_+.#"@\[\(\{&]/,yF=/[\\\/_+.#"@\[\(\{&]/g,bF=/[\s-]/,xF=/[\s-]/g;function SF(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?uF:_F;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=SF(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=uF:vF.test(e.charAt(l-1))?(d*=fF,p=e.slice(i,l-1).match(yF),p&&i>0&&(d*=hF**+p.length)):bF.test(e.charAt(l-1))?(d*=dF,m=e.slice(i,l-1).match(xF),m&&i>0&&(d*=hF**+m.length)):(d*=pF,i>0&&(d*=hF**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=gF)),(d<mF&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=SF(e,t,n,r,l+1,a+2,o),f*mF>d&&(d=f*mF)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function CF(e){return e.toLowerCase().replace(xF,` `)}function wF(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,SF(e,t,CF(e),CF(t),0,0,{})}var TF=Symbol.for(`react.lazy`),EF=S.use;function DF(e){return typeof e==`object`&&!!e&&`then`in e}function OF(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===TF&&`_payload`in e&&DF(e._payload)}function kF(e){let t=AF(e),n=S.forwardRef((e,n)=>{let{children:r,...i}=e;OF(r)&&typeof EF==`function`&&(r=EF(r._payload));let a=S.Children.toArray(r),o=a.find(MF);if(o){let e=o.props.children,r=a.map(t=>t===o?S.Children.count(e)>1?S.Children.only(null):S.isValidElement(e)?e.props.children:null:t);return(0,z.jsx)(t,{...i,ref:n,children:S.isValidElement(e)?S.cloneElement(e,void 0,r):null})}return(0,z.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function AF(e){let t=S.forwardRef((e,t)=>{let{children:n,...r}=e;if(OF(n)&&typeof EF==`function`&&(n=EF(n._payload)),S.isValidElement(n)){let e=PF(n),i=NF(r,n.props);return n.type!==S.Fragment&&(i.ref=t?Wo(t,e):e),S.cloneElement(n,i)}return S.Children.count(n)>1?S.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var jF=Symbol(`radix.slottable`);function MF(e){return S.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===jF}function NF(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function PF(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var FF=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=kF(`Primitive.${t}`),r=S.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,z.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),IF=`[cmdk-group=""]`,LF=`[cmdk-group-items=""]`,RF=`[cmdk-group-heading=""]`,zF=`[cmdk-item=""]`,BF=`${zF}:not([aria-disabled="true"])`,VF=`cmdk-item-select`,HF=`data-value`,UF=(e,t,n)=>wF(e,t,n),WF=S.createContext(void 0),GF=()=>S.useContext(WF),KF=S.createContext(void 0),qF=()=>S.useContext(KF),JF=S.createContext(void 0),YF=S.forwardRef((e,t)=>{let n=lI(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=lI(()=>new Set),i=lI(()=>new Map),a=lI(()=>new Map),o=lI(()=>new Set),s=sI(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=Ss(),y=Ss(),b=Ss(),x=S.useRef(null),C=fI();cI(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,w.emit()}},[u]),cI(()=>{C(6,A)},[]);let w=S.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(b);e?e.focus():(i=document.getElementById(v))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=j()?.id,w.emit()}),r||C(5,A),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=S.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=j();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:v,inputId:b,labelId:y,listInnerRef:x}),[]);function E(e,t){let r=s.current?.filter??UF;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=x.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(LF);t?t.appendChild(e.parentElement===t?e:e.closest(`${LF} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${LF} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${IF}[${HF}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(HF);w.setState(`value`,e||void 0)}function k(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=E(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function A(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(IF)?.querySelector(RF))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return x.current?.querySelector(`${zF}[aria-selected="true"]`)}function M(){return Array.from(x.current?.querySelectorAll(BF)||[])}function N(e){let t=M()[e];t&&w.setState(`value`,t.getAttribute(HF))}function ee(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(HF))}function te(e){let t=j()?.closest(IF),n;for(;t&&!n;)t=e>0?aI(t,IF):oI(t,IF),n=t?.querySelector(BF);n?w.setState(`value`,n.getAttribute(HF)):ee(e)}let P=()=>N(M().length-1),F=e=>{e.preventDefault(),e.metaKey?P():e.altKey?te(1):ee(1)},ne=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?te(-1):ee(-1)};return S.createElement(FF.div,{ref:t,tabIndex:-1,..._,"cmdk-root":``,onKeyDown:e=>{var t;(t=_.onKeyDown)==null||t.call(_,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&F(e);break;case`ArrowDown`:F(e);break;case`p`:case`k`:g&&e.ctrlKey&&ne(e);break;case`ArrowUp`:ne(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),P();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(VF);t.dispatchEvent(e)}}}}},S.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:hI},c),mI(e,e=>S.createElement(KF.Provider,{value:w},S.createElement(WF.Provider,{value:T},e))))}),XF=S.forwardRef((e,t)=>{let n=Ss(),r=S.useRef(null),i=S.useContext(JF),a=GF(),o=sI(e),s=o.current?.forceMount??i?.forceMount;cI(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=dI(n,r,[e.value,e.children,r],e.keywords),l=qF(),u=uI(e=>e.value&&e.value===c.current),d=uI(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);S.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(VF,f),()=>t.removeEventListener(VF,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:_,keywords:v,...y}=e;return S.createElement(FF.div,{ref:Wo(r,t),...y,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),ZF=S.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=Ss(),s=S.useRef(null),c=S.useRef(null),l=Ss(),u=GF(),d=uI(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);cI(()=>u.group(o),[]),dI(o,s,[e.value,e.heading,c]);let f=S.useMemo(()=>({id:o,forceMount:i}),[i]);return S.createElement(FF.div,{ref:Wo(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:d?void 0:!0},n&&S.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),mI(e,e=>S.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},S.createElement(JF.Provider,{value:f},e))))}),QF=S.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=S.useRef(null),a=uI(e=>!e.search);return!n&&!a?null:S.createElement(FF.div,{ref:Wo(i,t),...r,"cmdk-separator":``,role:`separator`})}),$F=S.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=qF(),o=uI(e=>e.search),s=uI(e=>e.selectedItemId),c=GF();return S.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),S.createElement(FF.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":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),eI=S.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=S.useRef(null),o=S.useRef(null),s=uI(e=>e.selectedItemId),c=GF();return S.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),S.createElement(FF.div,{ref:Wo(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},mI(e,e=>S.createElement(`div`,{ref:Wo(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),tI=S.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return S.createElement(gu,{open:n,onOpenChange:r},S.createElement(_u,{container:o},S.createElement(vu,{"cmdk-overlay":``,className:i}),S.createElement(yu,{"aria-label":e.label,"cmdk-dialog":``,className:a},S.createElement(YF,{ref:t,...s}))))}),nI=S.forwardRef((e,t)=>uI(e=>e.filtered.count===0)?S.createElement(FF.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),rI=S.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return S.createElement(FF.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},mI(e,e=>S.createElement(`div`,{"aria-hidden":!0},e)))}),iI=Object.assign(YF,{List:eI,Item:XF,Input:$F,Group:ZF,Separator:QF,Dialog:tI,Empty:nI,Loading:rI});function aI(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function oI(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function sI(e){let t=S.useRef(e);return cI(()=>{t.current=e}),t}var cI=typeof window>`u`?S.useEffect:S.useLayoutEffect;function lI(e){let t=S.useRef();return t.current===void 0&&(t.current=e()),t}function uI(e){let t=qF(),n=()=>e(t.snapshot());return S.useSyncExternalStore(t.subscribe,n,n)}function dI(e,t,n,r=[]){let i=S.useRef(),a=GF();return cI(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(HF,s),i.current=s}),i}var fI=()=>{let[e,t]=S.useState(),n=lI(()=>new Map);return cI(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function pI(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function mI({asChild:e,children:t},n){return e&&S.isValidElement(t)?S.cloneElement(pI(t),{ref:t.ref},n(t.props.children)):n(t)}var hI={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function gI({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`input-group`,role:`group`,className:J(`group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5`,e),...t})}var _I=U_(`flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]`,"inline-end":`order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]`,"block-start":`order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2`,"block-end":`order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2`}},defaultVariants:{align:`inline-start`}});function vI({className:e,align:t=`inline-start`,...n}){return(0,z.jsx)(`div`,{role:`group`,"data-slot":`input-group-addon`,"data-align":t,className:J(_I({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n})}function yI({className:e,...t}){return(0,z.jsx)(iI,{"data-slot":`command`,className:J(`flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground`,e),...t})}function bI({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`command-input-wrapper`,className:`p-1 pb-0`,children:(0,z.jsxs)(gI,{className:`h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!`,children:[(0,z.jsx)(iI.Input,{"data-slot":`command-input`,className:J(`w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50`,e),...t}),(0,z.jsx)(vI,{children:(0,z.jsx)(So,{className:`size-4 shrink-0 opacity-50`})})]})})}function xI({className:e,...t}){return(0,z.jsx)(iI.List,{"data-slot":`command-list`,className:J(`no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none`,e),...t})}function SI({className:e,...t}){return(0,z.jsx)(iI.Empty,{"data-slot":`command-empty`,className:J(`py-6 text-center text-sm`,e),...t})}function CI({className:e,...t}){return(0,z.jsx)(iI.Group,{"data-slot":`command-group`,className:J(`overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground`,e),...t})}function wI({className:e,children:t,...n}){return(0,z.jsxs)(iI.Item,{"data-slot":`command-item`,className:J(`group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground`,e),...n,children:[t,(0,z.jsx)(ja,{className:`ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100`})]})}function TI({...e}){return(0,z.jsx)(nm,{"data-slot":`popover`,...e})}function EI({...e}){return(0,z.jsx)(rm,{"data-slot":`popover-trigger`,...e})}function DI({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,z.jsx)(im,{children:(0,z.jsx)(am,{"data-slot":`popover-content`,align:t,sideOffset:n,className:J(`z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r})})}function OI({className:e,orientation:t=`horizontal`,...n}){return(0,z.jsx)(Th,{"data-slot":`tabs`,"data-orientation":t,className:J(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var kI=U_(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function AI({className:e,variant:t=`default`,...n}){return(0,z.jsx)(Eh,{"data-slot":`tabs-list`,"data-variant":t,className:J(kI({variant:t}),e),...n})}function jI({className:e,...t}){return(0,z.jsx)(Dh,{"data-slot":`tabs-trigger`,className:J(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function MI({className:e,...t}){return(0,z.jsx)(Oh,{"data-slot":`tabs-content`,className:J(`flex-1 text-sm outline-none`,e),...t})}function NI(){let{data:e,refetch:t}=Av(),n=Lv(),r=Rv(),i=zv(),[a,o]=(0,S.useState)(!1),[s,c]=(0,S.useState)(null),[l,u]=(0,S.useState)(``),[d,f]=(0,S.useState)(null),[p,m]=(0,S.useState)(``),[h,g]=(0,S.useState)(``),[_,v]=(0,S.useState)(``),[y,b]=(0,S.useState)(`memory`),[x,C]=(0,S.useState)(null);(0,S.useEffect)(()=>{!s&&e?.[0]?.userId&&(c(e[0].userId),u(e[0].userId))},[s,e]);let w=s?.trim()||null,T=(0,S.useMemo)(()=>qI(e??[]),[e]),{data:E,isLoading:D}=jv(w),{data:O,isLoading:k}=Mv(w),{data:A,isLoading:j}=Nv(w),M=y===`all-context`||!!x,{data:N,isLoading:ee,refetch:te}=Pv({enabled:M,refetchInterval:M?5e3:!1}),{data:P,isLoading:F}=Fv(w),{data:ne,isLoading:re}=Iv(w,_.trim()),ie=P?.summaries??[],I=ne?.entries??[],L=O?.dreamHistory??[],R=E?.find(e=>e.id===d)??null,ae=e?.find(e=>e.userId===w)??null,oe=ie[0]??null,se=N?.sources??[],ce=x?se.find(e=>e.userId===x)??null:null;(0,S.useEffect)(()=>{if(!w)return;if(!E||E.length===0){f(null);return}let e=E.some(e=>e.id===d);(!d||!e)&&f(E[0].id)},[w,E,d]),(0,S.useEffect)(()=>{if(R){m(R.title),g(R.content);return}m(``),g(``)},[R]),(0,S.useEffect)(()=>{!x||!N||se.some(e=>e.userId===x)||C(null)},[se,N,x]);let le=()=>{let e=l.trim();e&&(c(e),f(null))},ue=e=>{c(e),u(e),f(null),o(!1)};return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`space-y-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`上下文与记忆`}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`观测用户长期记忆、梦境、会话压缩和统一召回索引;Memory 可编辑,Compact 与 Dream 只做审计。`})]}),(0,z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:()=>{t(),te()},children:[(0,z.jsx)(vo,{className:`h-4 w-4`}),`刷新`]})]}),(0,z.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1fr)_360px]`,children:[(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 text-sm font-medium`,children:[(0,z.jsx)(Io,{className:`h-4 w-4 text-primary`}),`用户 / 线程`]}),(0,z.jsxs)(`div`,{className:`grid gap-3 lg:grid-cols-[minmax(0,1fr)_220px]`,children:[(0,z.jsxs)(TI,{open:a,onOpenChange:o,children:[(0,z.jsx)(EI,{asChild:!0,children:(0,z.jsxs)(Y,{variant:`outline`,className:`h-14 min-w-0 justify-between px-4 text-left`,children:[(0,z.jsx)(`div`,{className:`min-w-0`,children:w?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:XI(w,ae??void 0)}),(0,z.jsx)(X,{variant:`outline`,children:YI(w)})]}),(0,z.jsx)(`div`,{className:`truncate font-mono text-xs text-muted-foreground`,children:w})]}):(0,z.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`选择一个用户或线程`})}),(0,z.jsx)(Ma,{className:`ml-3 h-4 w-4 shrink-0 text-muted-foreground`})]})}),(0,z.jsx)(DI,{align:`start`,className:`w-[min(760px,calc(100vw-3rem))] p-0`,children:(0,z.jsxs)(yI,{children:[(0,z.jsx)(bI,{placeholder:`搜索 userId、部门成员、kanban 线程`}),(0,z.jsxs)(xI,{className:`max-h-[420px]`,children:[(0,z.jsx)(SI,{children:`没有匹配到已发现的用户,可用右侧手动输入。`}),T.map(e=>(0,z.jsx)(CI,{heading:e.label,children:e.users.map(e=>(0,z.jsxs)(wI,{value:JI(e),onSelect:()=>ue(e.userId),className:`items-start gap-3 py-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:XI(e.userId,e)}),e.hasMemory&&(0,z.jsxs)(X,{variant:`secondary`,children:[e.memoryCount,` 条记忆`]}),e.hasDream&&(0,z.jsx)(X,{variant:`outline`,children:`有梦境`})]}),(0,z.jsx)(`div`,{className:`mt-1 truncate font-mono text-xs text-muted-foreground`,children:e.userId}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e.lastActivityAt?`最近活跃 ${QI(e.lastActivityAt)}`:`暂无活跃时间`})]}),e.userId===w&&(0,z.jsx)(Fa,{className:`mt-0.5 h-4 w-4 shrink-0 text-primary`})]},e.userId))},e.kind))]})]})})]}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,z.jsx)(NC,{value:l,onChange:e=>u(e.target.value),placeholder:`手动 userId`,className:`h-14 min-w-0 font-mono text-xs`}),(0,z.jsx)(Y,{className:`h-14 shrink-0`,onClick:le,disabled:!l.trim(),children:`应用`})]})]})]}),(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsx)(`div`,{className:`text-sm font-medium`,children:`当前对象`}),w?(0,z.jsxs)(`div`,{className:`mt-3 space-y-2`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,children:YI(w)}),ae?.hasConversation&&(0,z.jsx)(X,{variant:`secondary`,children:`有对话索引`}),ae?.hasDream&&(0,z.jsx)(X,{variant:`secondary`,children:`有梦境`}),(ae?.relatedUserIds?.length??0)>0&&(0,z.jsxs)(X,{variant:`secondary`,children:[ae?.relatedUserIds?.length,` 个上下文源`]})]}),(0,z.jsx)(`div`,{className:`break-all font-mono text-xs leading-5 text-muted-foreground`,children:w}),(ae?.relatedUserIds?.length??0)>0&&(0,z.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:`已合并 Main Manager 主线与部门 mailbox 上下文。`})]}):(0,z.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:`尚未选择用户。`})]})]}),w?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2 xl:grid-cols-5`,children:[(0,z.jsx)(PI,{icon:Oa,label:`Memory`,value:`${E?.length??0}`,note:`可编辑长期记忆`,loading:D}),(0,z.jsx)(PI,{icon:Oo,label:`Dream`,value:O?.dreamContent?`有`:`无`,note:`${L.length} 条历史`,loading:k}),(0,z.jsx)(PI,{icon:Ba,label:`Compact`,value:`${ie.length}`,note:oe?`最近 ${QI(oe.createdAt)}`:`暂无压缩`,loading:F}),(0,z.jsx)(PI,{icon:So,label:`Recall`,value:`${ne?.total??0}`,note:_.trim()?`查询结果`:`索引总数`,loading:re}),(0,z.jsx)(PI,{icon:La,label:`活跃`,value:ae?.lastActivityAt?ZI(ae.lastActivityAt):`--`,note:ae?.lastActivityAt?QI(ae.lastActivityAt):`暂无记录`})]}),(0,z.jsxs)(OI,{value:y,onValueChange:b,className:`space-y-4`,children:[(0,z.jsxs)(AI,{className:`h-auto flex-wrap justify-start`,children:[(0,z.jsx)(jI,{value:`memory`,children:`长期记忆`}),(0,z.jsx)(jI,{value:`dream`,children:`梦境`}),(0,z.jsx)(jI,{value:`compact`,children:`会话压缩`}),(0,z.jsx)(jI,{value:`recall`,children:`召回索引`}),(0,z.jsx)(jI,{value:`all-context`,children:`所有上下文`}),(0,z.jsx)(jI,{value:`context`,children:`注入预览`})]}),(0,z.jsx)(MI,{value:`memory`,children:(0,z.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-[380px_minmax(0,1fr)]`,children:[(0,z.jsxs)(py,{children:[(0,z.jsxs)(my,{className:`flex-row items-center justify-between`,children:[(0,z.jsx)(hy,{className:`text-base`,children:`Memory 列表`}),(0,z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:()=>{f(null),m(``),g(``)},children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`新建`]})]}),(0,z.jsx)(_y,{children:D?(0,z.jsx)(GI,{rows:4}):E?.length?(0,z.jsx)(I_,{className:`max-h-[590px]`,children:(0,z.jsx)(`div`,{className:`space-y-2 pr-3`,children:E.map(e=>(0,z.jsxs)(`button`,{type:`button`,onClick:()=>f(e.id),className:`w-full rounded-lg border p-3 text-left hover:bg-muted/40 ${d===e.id?`border-primary bg-primary/5`:``}`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:`max-w-28 overflow-hidden text-ellipsis font-mono text-[10px]`,children:e.id}),e.userId!==w&&(0,z.jsx)(X,{variant:`secondary`,className:`max-w-36 overflow-hidden text-ellipsis font-mono text-[10px]`,children:e.userId}),(0,z.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:QI(e.updatedAt)})]}),(0,z.jsx)(`div`,{className:`mt-2 break-words text-sm font-semibold`,children:e.title}),(0,z.jsx)(`p`,{className:`mt-1 break-words text-xs leading-5 text-muted-foreground [overflow-wrap:anywhere]`,children:$I(eL(e.content),120)})]},e.id))})}):(0,z.jsx)(KI,{text:`这个 userId 还没有长期记忆。`})})]}),(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsx)(hy,{className:`text-base`,children:R?`编辑长期记忆`:`新建长期记忆`})}),(0,z.jsxs)(_y,{className:`space-y-4`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`标题`}),(0,z.jsx)(NC,{value:p,onChange:e=>m(e.target.value),placeholder:`例如:偏好-包管理器`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`内容`}),(0,z.jsx)(PC,{value:h,onChange:e=>g(e.target.value),className:`min-h-44`,placeholder:`稳定事实、偏好或长期约束。`})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,z.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:R?.id??`new memory`}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[R&&(0,z.jsxs)(Y,{variant:`destructive`,onClick:async()=>{!w||!R||(await i.mutateAsync({id:R.id,userId:R.userId||w}),f(null))},disabled:i.isPending,children:[(0,z.jsx)(No,{className:`h-4 w-4`}),`删除`]}),(0,z.jsxs)(Y,{onClick:async()=>{if(!(!w||!p.trim()||!h.trim())){if(R){await r.mutateAsync({id:R.id,data:{userId:R.userId||w,title:p.trim(),content:h.trim()}});return}f((await n.mutateAsync({userId:w,title:p.trim(),content:h.trim()})).id)}},disabled:!p.trim()||!h.trim()||n.isPending||r.isPending,children:[(0,z.jsx)(xo,{className:`h-4 w-4`}),R?`保存`:`创建`]})]})]})]})]})]})}),(0,z.jsx)(MI,{value:`dream`,children:(0,z.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-[minmax(0,1fr)_420px]`,children:[(0,z.jsx)(FI,{title:`最新梦境`,icon:Oo,loading:k,empty:`还没有 dream。系统会在长时间不活跃后生成长期记忆沉淀。`,content:O?.dreamContent}),(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(Xa,{className:`h-4 w-4 text-primary`}),`Dream History`]})}),(0,z.jsx)(_y,{children:k?(0,z.jsx)(GI,{rows:4}):L.length===0?(0,z.jsx)(KI,{text:`暂无梦境历史。`}):(0,z.jsx)(I_,{className:`max-h-[520px]`,children:(0,z.jsx)(`div`,{className:`space-y-3 pr-3`,children:L.map(e=>(0,z.jsx)(UI,{title:QI(e.createdAt),meta:`${e.sourceMessageCount} 条来源消息`,content:e.content},e.id))})})})]})]})}),(0,z.jsx)(MI,{value:`compact`,children:(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(Ba,{className:`h-4 w-4 text-primary`}),`Compact Summaries`]})}),(0,z.jsx)(_y,{children:F?(0,z.jsx)(GI,{rows:5}):ie.length===0?(0,z.jsx)(KI,{text:`暂无会话压缩摘要。长上下文触发 compact 后会出现在这里。`}):(0,z.jsx)(`div`,{className:`grid gap-3 xl:grid-cols-2`,children:ie.map(e=>(0,z.jsx)(VI,{summary:e},e.id))})})]})}),(0,z.jsx)(MI,{value:`recall`,children:(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(So,{className:`h-4 w-4 text-primary`}),`Recall 测试`]})}),(0,z.jsxs)(_y,{className:`space-y-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,z.jsx)(NC,{value:_,onChange:e=>v(e.target.value),placeholder:`输入关键词,例如:蓝兔支付 / 准生产 / ENOENT`,className:`h-10`}),(0,z.jsx)(Y,{variant:`outline`,onClick:()=>v(``),disabled:!_,children:`清空`})]}),re?(0,z.jsx)(GI,{rows:5}):I.length===0?(0,z.jsx)(KI,{text:_.trim()?`没有匹配的召回结果。`:`暂无 recall index 条目。`}):(0,z.jsx)(`div`,{className:`grid gap-3 xl:grid-cols-2`,children:I.map(e=>(0,z.jsx)(HI,{entry:e},`${e.type}:${e.id}`))})]})]})}),(0,z.jsx)(MI,{value:`context`,children:(0,z.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-2`,children:[(0,z.jsx)(FI,{title:`Memory Context`,icon:Ha,loading:j,content:A?.memoryContextBlock,empty:`没有长期记忆注入块。`}),(0,z.jsx)(FI,{title:`Dream Context`,icon:co,loading:j,content:A?.dreamContextBlock,empty:`没有梦境注入块。`})]})}),(0,z.jsx)(MI,{value:`all-context`,children:(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(co,{className:`h-4 w-4 text-primary`}),`Main Manager 可见上下文`]})}),(0,z.jsx)(_y,{children:ee?(0,z.jsx)(GI,{rows:5}):se.length===0?(0,z.jsx)(KI,{text:`暂无可查看的对话上下文。`}):(0,z.jsx)(`div`,{className:`space-y-4`,children:se.map(e=>(0,z.jsx)(II,{source:e,onOpen:()=>C(e.userId)},e.userId))})})]})})]})]}):(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`py-16 text-center text-muted-foreground`,children:`先选择一个 userId,再查看上下文、记忆和召回索引。`})})]}),(0,z.jsx)(LI,{source:ce,onClose:()=>C(null)})]})}function PI({icon:e,label:t,value:n,note:r,loading:i}){return(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{className:`pb-2`,children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-sm font-medium text-muted-foreground`,children:[(0,z.jsx)(e,{className:`h-4 w-4`}),t]})}),(0,z.jsxs)(_y,{children:[i?(0,z.jsx)(vy,{className:`h-7 w-20`}):(0,z.jsx)(`div`,{className:`text-2xl font-semibold`,children:n}),(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:r})]})]})}function FI({title:e,icon:t,content:n,empty:r,loading:i}){return(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(t,{className:`h-4 w-4 text-primary`}),e]})}),(0,z.jsx)(_y,{children:i?(0,z.jsx)(GI,{rows:4}):n?.trim()?(0,z.jsx)(`div`,{className:`max-h-[560px] overflow-auto rounded-lg border bg-muted/25 p-4`,children:(0,z.jsx)(`pre`,{className:`whitespace-pre-wrap break-words text-sm leading-6 [overflow-wrap:anywhere]`,children:n})}):(0,z.jsx)(KI,{text:r})})]})}function II({source:e,onOpen:t}){let n=e.agentLogs.slice(-2);return(0,z.jsxs)(`article`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:XI(e.userId)}),(0,z.jsx)(X,{variant:`outline`,children:YI(e.userId)}),(0,z.jsxs)(X,{variant:`secondary`,children:[e.messageCount,` 条上下文`]})]}),(0,z.jsx)(`div`,{className:`mt-1 break-all font-mono text-xs text-muted-foreground`,children:e.userId})]}),(0,z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:t,children:[(0,z.jsx)(Va,{className:`h-4 w-4`}),`查看`]})]}),(0,z.jsxs)(`div`,{className:`mt-4 space-y-2 rounded-md border bg-muted/20 p-3`,children:[(0,z.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`最近上下文预览`}),n.map(t=>(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(X,{variant:t.role===`user`?`default`:`secondary`,className:`h-4 px-1.5 py-0 text-[10px]`,children:t.role===`user`?`User`:`Assistant`}),(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,t.index]}),(0,z.jsx)(`span`,{className:`truncate`,children:zI(t)})]},`${e.userId}:${t.index}`)),n.length===0&&(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`暂无预览。`})]})]})}function LI({source:e,onClose:t}){let[n,r]=(0,S.useState)(1);if((0,S.useEffect)(()=>{r(1)},[e?.userId]),!e)return null;let i=Math.max(1,Math.ceil(e.agentLogs.length/12)),a=Math.min(n,i),o=(a-1)*12,s=e.agentLogs.slice(o,o+12);return(0,z.jsx)(FC,{open:!!e,onOpenChange:e=>!e&&t(),children:(0,z.jsxs)(RC,{className:`grid max-h-[88vh] grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden p-0 sm:max-w-5xl`,children:[(0,z.jsxs)(zC,{className:`border-b px-6 py-5`,children:[(0,z.jsxs)(VC,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(co,{className:`h-4 w-4 text-primary`}),XI(e.userId),(0,z.jsx)(X,{variant:`outline`,children:YI(e.userId)})]}),(0,z.jsxs)(HC,{className:`break-all font-mono text-xs`,children:[e.userId,` · 共 `,e.messageCount,` 条上下文`]})]}),(0,z.jsx)(I_,{className:`min-h-0 px-6 py-4`,children:(0,z.jsx)(`div`,{className:`space-y-4 pr-3`,children:s.map(t=>(0,z.jsx)(RI,{log:t},`${e.userId}:${t.index}`))})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t px-6 py-4 text-sm`,children:[(0,z.jsxs)(`div`,{className:`text-muted-foreground`,children:[`第 `,a,` / `,i,` 页 · 当前 `,s.length,` 条`]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(1),disabled:a<=1,children:`首页`}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(e=>Math.max(1,e-1)),disabled:a<=1,children:`上一页`}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(e=>Math.min(i,e+1)),disabled:a>=i,children:`下一页`}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(i),disabled:a>=i,children:`末页`})]})]})]})})}function RI({log:e}){let t=e.role===`user`;return(0,z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,e.index]}),(0,z.jsx)(X,{variant:t?`default`:`secondary`,className:`h-4 px-1.5 py-0 text-[10px]`,children:t?`User`:`Assistant`})]}),(0,z.jsx)(`div`,{className:`space-y-2 pl-2`,children:e.blocks.map((e,n)=>(0,z.jsx)(BI,{block:e,isUser:t},n))})]})}function zI(e){let t=e.blocks.find(e=>e.type===`text`&&typeof e.text==`string`);if(t&&typeof t.text==`string`&&t.text.trim())return $I(t.text.replace(/\s+/g,` `).trim(),120);let n=e.blocks.find(e=>e.type===`tool_use`);if(n)return`tool_use: ${String(n.name??`unknown`)}`;let r=e.blocks.find(e=>e.type===`tool_result`);return r?`tool_result: ${String(r.toolUseId??``)}`:`无文本内容`}function BI({block:e,isUser:t}){let[n,r]=(0,S.useState)(!1),i=String(e.type??`unknown`);if(i===`text`){let i=String(e.text??``),a=i.length>360;return(0,z.jsxs)(`div`,{className:`rounded-md border px-3 py-2 text-sm whitespace-pre-wrap break-words [overflow-wrap:anywhere] ${t?`border-emerald-500/10 bg-emerald-500/5`:`border-sky-500/10 bg-sky-500/5`}`,children:[n||!a?i:$I(i,360),a&&(0,z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`ml-1 h-6 px-1 text-xs`,onClick:()=>r(e=>!e),children:n?`收起`:`展开`})]})}if(i===`tool_use`)return(0,z.jsxs)(`div`,{className:`rounded-md border border-primary/20 bg-primary/5 px-3 py-2`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 text-left`,onClick:()=>r(e=>!e),children:[(0,z.jsx)(Bo,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,z.jsx)(`span`,{className:`text-sm font-semibold text-primary`,children:String(e.name??`unknown`)}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`mt-2 overflow-x-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:JSON.stringify(e.input??{},null,2)})]});if(i===`tool_result`){let t=typeof e.content==`string`?e.content:JSON.stringify(e.content,null,2);return(0,z.jsxs)(`div`,{className:`rounded-md border border-amber-500/20 bg-amber-500/5 px-3 py-2`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 text-left`,onClick:()=>r(e=>!e),children:[(0,z.jsxs)(`span`,{className:`font-mono text-xs text-amber-700 dark:text-amber-300`,children:[`tool_result `,String(e.toolUseId??``)]}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`mt-2 max-h-80 overflow-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:t})]})}return(0,z.jsxs)(`div`,{className:`rounded-md bg-muted px-3 py-2 text-sm text-muted-foreground`,children:[`[unknown block: `,i,`]`]})}function VI({summary:e}){return(0,z.jsxs)(`article`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,children:e.date}),e.cronTitle&&(0,z.jsx)(X,{variant:`secondary`,children:e.cronTitle}),(0,z.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:QI(e.createdAt)})]}),(0,z.jsxs)(`div`,{className:`mt-3 grid grid-cols-3 gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(WI,{label:`before`,value:tL(e.contextTokensBefore)}),(0,z.jsx)(WI,{label:`after`,value:tL(e.contextTokensAfter)}),(0,z.jsx)(WI,{label:`hot tail`,value:String(e.hotTailCount)})]}),(0,z.jsx)(`pre`,{className:`mt-3 max-h-56 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-muted/25 p-3 text-xs leading-5 [overflow-wrap:anywhere]`,children:e.summary})]})}function HI({entry:e}){return(0,z.jsxs)(`article`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:e.type===`memory`?`secondary`:`outline`,children:e.type}),(0,z.jsx)(X,{variant:`outline`,children:e.date}),e.score!==void 0&&(0,z.jsxs)(X,{variant:`outline`,children:[`score `,e.score]})]}),(0,z.jsx)(`h3`,{className:`mt-3 break-words text-sm font-semibold`,children:e.title}),(0,z.jsx)(`p`,{className:`mt-2 break-words text-sm leading-6 text-muted-foreground [overflow-wrap:anywhere]`,children:$I(e.summary,360)}),e.keywords.length>0&&(0,z.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-1`,children:e.keywords.slice(0,8).map(e=>(0,z.jsx)(X,{variant:`outline`,className:`text-[10px]`,children:e},e))})]})}function UI({title:e,meta:t,content:n}){return(0,z.jsxs)(`article`,{className:`rounded-lg border p-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-xs text-muted-foreground`,children:[(0,z.jsx)(`span`,{children:e}),(0,z.jsx)(`span`,{children:t})]}),(0,z.jsx)(`p`,{className:`mt-2 max-h-36 overflow-auto whitespace-pre-wrap break-words text-xs leading-5 [overflow-wrap:anywhere]`,children:n})]})}function WI({label:e,value:t}){return(0,z.jsxs)(`div`,{className:`rounded-md border bg-muted/20 px-2 py-1`,children:[(0,z.jsx)(`div`,{children:e}),(0,z.jsx)(`div`,{className:`font-mono text-foreground`,children:t})]})}function GI({rows:e}){return(0,z.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:e}).map((e,t)=>(0,z.jsx)(vy,{className:`h-20 w-full`},t))})}function KI({text:e}){return(0,z.jsx)(`div`,{className:`rounded-lg border border-dashed px-4 py-10 text-center text-sm text-muted-foreground`,children:e})}function qI(e){let t=[`Chat`,`Department`,`Kanban`,`User`],n=new Map;for(let t of e){let e=YI(t.userId),r=n.get(e)??[];r.push(t),n.set(e,r)}return t.map(e=>({kind:e,label:e,users:(n.get(e)??[]).sort((e,t)=>(t.lastActivityAt??0)-(e.lastActivityAt??0)||(t.memoryCount??0)-(e.memoryCount??0)||e.userId.localeCompare(t.userId))})).filter(e=>e.users.length>0)}function JI(e){return[e.userId,XI(e.userId,e),YI(e.userId),e.hasMemory?`has-memory`:``,e.hasDream?`has-dream`:``].filter(Boolean).join(` `)}function YI(e){return e.startsWith(`kanban:`)?`Kanban`:e.includes(`::`)?`Department`:e.startsWith(`oc_`)||e.startsWith(`chat_`)?`Chat`:`User`}function XI(e,t){return t?.displayName?t.displayName:e.startsWith(`kanban:`)?e.split(`:`).at(-1)||e:e.includes(`::`)&&e.split(`::`).at(-1)||e}function ZI(e){try{return new Date(e).toLocaleString(`zh-CN`,{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return String(e)}}function QI(e){try{let t=Date.now()-e;return t<6e4?`刚刚`:t<36e5?`${Math.max(1,Math.floor(t/6e4))} 分钟前`:t<864e5?`${Math.max(1,Math.floor(t/36e5))} 小时前`:ZI(e)}catch{return String(e)}}function $I(e,t){return e.length<=t?e:`${e.slice(0,t)}...`}function eL(e){return e.replace(/\r\n?/g,`
93
93
  `).replace(/```[\s\S]*?```/g,e=>e.replace(/```[\w-]*\n?/g,``).trim()).replace(/^#{1,6}\s+/gm,``).replace(/\[([^\]]+)\]\(([^)]+)\)/g,`$1`).replace(/[*_~`]/g,``).replace(/\n{3,}/g,`
94
94
 
95
95
  `).trim()}function tL(e){return new Intl.NumberFormat(`zh-CN`).format(e)}var nL=()=>X_(`/api/system/info`),rL={info:[`system`,`info`]};function iL(){return gi({queryKey:rL.info,queryFn:nL,refetchInterval:3e4})}function aL(e){let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=e%60,a=[];return t>0&&a.push(`${t} 天`),n>0&&a.push(`${n} 小时`),r>0&&a.push(`${r} 分钟`),(i>0||a.length===0)&&a.push(`${i} 秒`),a.join(` `)}function oL(){let{data:e,isLoading:t}=iL();return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`mb-6`,children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Settings`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`系统配置与状态信息`})]}),(0,z.jsxs)(py,{className:`mb-6`,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Ca,{className:`h-4 w-4`}),`系统状态`]})}),(0,z.jsx)(_y,{children:t?(0,z.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:4}).map((e,t)=>(0,z.jsx)(vy,{className:`h-5 w-full`},t))}):e?(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsxs)(`div`,{className:`grid grid-cols-[120px_1fr] items-center gap-3 text-sm`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`版本`}),(0,z.jsx)(X,{variant:`secondary`,children:e.version})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-[120px_1fr] items-center gap-3 text-sm`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`运行时间`}),(0,z.jsx)(`span`,{children:aL(e.uptime)})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-[120px_1fr] items-center gap-3 text-sm`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`环境`}),(0,z.jsx)(X,{variant:e.env===`production`?`default`:`secondary`,children:e.env})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-[120px_1fr] items-center gap-3 text-sm`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`Node.js`}),(0,z.jsx)(`code`,{className:`rounded bg-muted px-2 py-0.5 text-xs`,children:e.nodeVersion})]})]}):(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`无法获取系统信息`})})]}),(0,z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Qa,{className:`h-4 w-4`}),`关于`]})}),(0,z.jsx)(_y,{children:(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`DuClaw Agent Manager 是一个多 Agent 协作管理平台, 提供 Kanban 看板、部门管理、定时任务、技能/工具管理等功能。`})})]}),(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(wo,{className:`h-4 w-4`}),`API 端点`]})}),(0,z.jsx)(_y,{children:(0,z.jsxs)(`div`,{className:`space-y-2 text-sm`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:`GET`}),(0,z.jsx)(`code`,{className:`text-xs`,children:`/api/goals`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:`GET`}),(0,z.jsx)(`code`,{className:`text-xs`,children:`/api/departments`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:`GET`}),(0,z.jsx)(`code`,{className:`text-xs`,children:`/api/tools`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:`GET`}),(0,z.jsx)(`code`,{className:`text-xs`,children:`/api/skills`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:`GET`}),(0,z.jsx)(`code`,{className:`text-xs`,children:`/api/cron/jobs`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:`GET`}),(0,z.jsx)(`code`,{className:`text-xs`,children:`/api/system/info`})]})]})})]})]})]})}function sL(){return(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center text-muted-foreground`,children:(0,z.jsxs)(`div`,{className:`text-center`,children:[(0,z.jsx)(`h1`,{className:`text-4xl font-bold text-foreground`,children:`404`}),(0,z.jsx)(`p`,{className:`mt-2`,children:`页面不存在`})]})})}function cL({delayDuration:e=0,...t}){return(0,z.jsx)(lg,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function lL(){return(0,z.jsx)(cL,{children:(0,z.jsx)(Ft,{children:(0,z.jsxs)(Nt,{element:(0,z.jsx)(q_,{}),children:[(0,z.jsx)(Nt,{index:!0,element:(0,z.jsx)(jt,{to:`/dashboard`,replace:!0})}),(0,z.jsx)(Nt,{path:`dashboard`,element:(0,z.jsx)(Fy,{})}),(0,z.jsx)(Nt,{path:`kanban`,element:(0,z.jsx)(OC,{})}),(0,z.jsx)(Nt,{path:`kanban/:goalId`,element:(0,z.jsx)(OC,{})}),(0,z.jsx)(Nt,{path:`departments`,element:(0,z.jsx)(UC,{})}),(0,z.jsx)(Nt,{path:`departments/:departmentName`,element:(0,z.jsx)(XN,{})}),(0,z.jsx)(Nt,{path:`memory`,element:(0,z.jsx)(NI,{})}),(0,z.jsx)(Nt,{path:`cron`,element:(0,z.jsx)(UP,{})}),(0,z.jsx)(Nt,{path:`tools`,element:(0,z.jsx)($P,{})}),(0,z.jsx)(Nt,{path:`skills`,element:(0,z.jsx)(lF,{})}),(0,z.jsx)(Nt,{path:`settings`,element:(0,z.jsx)(oL,{})}),(0,z.jsx)(Nt,{path:`mailbox`,element:(0,z.jsx)(jt,{to:`/departments`,replace:!0})}),(0,z.jsx)(Nt,{path:`*`,element:(0,z.jsx)(sL,{})})]})})})}(0,vi.createRoot)(document.getElementById(`root`)).render((0,z.jsx)(S.StrictMode,{children:(0,z.jsx)(Ii,{children:(0,z.jsx)(ni,{client:yi,children:(0,z.jsxs)(Cn,{basename:bi(),children:[(0,z.jsx)(lL,{}),(0,z.jsx)(Ho,{position:`top-right`,richColors:!0})]})})})}));