claude-session-dashboard 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. package/dist/client/assets/{_dashboard-Oaur6UHf.js → _dashboard-CYwTENkn.js} +1 -1
  2. package/dist/client/assets/{_sessionId-CWavmGnC.js → _sessionId-Bwfhm_El.js} +1 -1
  3. package/dist/client/assets/app-DhZyFob1.css +1 -0
  4. package/dist/client/assets/{createServerFn-Bmn60lX_.js → createServerFn-Le0d8Pjz.js} +1 -1
  5. package/dist/client/assets/{index-CN4cqOcf.js → index-DXhX1hdS.js} +1 -1
  6. package/dist/client/assets/{main-Bssrw_E_.js → main-CzD8HjLq.js} +4 -4
  7. package/dist/client/assets/{settings-Buc0ndXk.js → settings-BSPc79zZ.js} +1 -1
  8. package/dist/client/assets/{settings.types-4U9-Yxq3.js → settings.types-B4841OLF.js} +1 -1
  9. package/dist/client/assets/{stats-BEUCPbcP.js → stats-CDIvpOt9.js} +1 -1
  10. package/dist/client/assets/{useSessionCost-C7ox6YwA.js → useSessionCost-9NP6uhla.js} +1 -1
  11. package/dist/server/assets/{_dashboard-CG6ub7j3.js → _dashboard--ukhquwO.js} +1 -1
  12. package/dist/server/assets/{_sessionId-CcWGJarz.js → _sessionId-BwZK4Ezz.js} +1 -1
  13. package/dist/server/assets/{_tanstack-start-manifest_v-DidrnaMJ.js → _tanstack-start-manifest_v-gtQY7f-T.js} +1 -1
  14. package/dist/server/assets/{claude-path-on7ZBAjl.js → claude-path-CkuljM34.js} +2 -2
  15. package/dist/server/assets/{index-DjrI63_C.js → index-D4VWrt2z.js} +1 -1
  16. package/dist/server/assets/{router-ByIey__S.js → router-xTSe9UH_.js} +5 -4
  17. package/dist/server/assets/{session-detail.server-ClCRw8BG.js → session-detail.server-azkRfON2.js} +1 -1
  18. package/dist/server/assets/{sessions.server-Cl8Ao_-2.js → sessions.server-B8zbmvSM.js} +1 -1
  19. package/dist/server/assets/{stats.server-BBNHZZ4h.js → stats.server-BZWxV-mC.js} +1 -1
  20. package/dist/server/server.js +10 -10
  21. package/package.json +1 -1
@@ -1 +1 @@
1
- import{u as n,j as e,a as c,L as r,O as i}from"./main-Bssrw_E_.js";function x(){const{privacyMode:s,togglePrivacyMode:a}=n();return e.jsxs("button",{type:"button",onClick:a,title:s?"Privacy mode on":"Privacy mode off",className:`flex items-center gap-2 rounded-lg px-3 py-1.5 text-xs transition-colors ${s?"bg-blue-600 text-white":"bg-gray-800 text-gray-400 hover:text-gray-200"}`,children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-3.5 w-3.5",children:[s?e.jsx("path",{fillRule:"evenodd",d:"M3.28 2.22a.75.75 0 00-1.06 1.06l14.5 14.5a.75.75 0 101.06-1.06l-1.745-1.745a10.029 10.029 0 003.3-4.38 1.651 1.651 0 000-1.185A10.004 10.004 0 009.999 3a9.956 9.956 0 00-4.744 1.194L3.28 2.22zM7.752 6.69l1.092 1.092a2.5 2.5 0 013.374 3.373l1.092 1.092a4 4 0 00-5.558-5.558z",clipRule:"evenodd"}):e.jsx("path",{d:"M10 12.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"}),s?e.jsx("path",{d:"M10.748 13.93l2.523 2.523a9.987 9.987 0 01-3.27.547c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 010-1.186A10.007 10.007 0 012.839 6.02L6.07 9.252a4 4 0 004.678 4.678z"}):e.jsx("path",{fillRule:"evenodd",d:"M.458 10a9.996 9.996 0 019.542-6c4.258 0 7.894 2.66 9.337 6.41a1.651 1.651 0 010 1.186A10.004 10.004 0 0110 17.5c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 010-1.186L.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z",clipRule:"evenodd"})]}),"Privacy"]})}const d=[{to:"/sessions",label:"Sessions",icon:">"},{to:"/stats",label:"Stats",icon:"#"},{to:"/settings",label:"Settings",icon:"*"}];function h({children:s}){const a=c(),l=a[a.length-1]?.pathname??"";return e.jsxs("div",{className:"flex min-h-screen",children:[e.jsxs("aside",{className:"flex w-56 shrink-0 flex-col border-r border-gray-800 bg-gray-950",children:[e.jsx("div",{className:"flex h-14 items-center border-b border-gray-800 px-4",children:e.jsxs(r,{to:"/sessions",className:"text-sm font-bold text-white",children:[e.jsx("span",{className:"text-blue-400",children:"Claude"})," Dashboard"]})}),e.jsx("nav",{className:"flex-1 p-3",children:d.map(t=>{const o=l.startsWith(t.to);return e.jsxs(r,{to:t.to,className:`flex items-center gap-2.5 rounded-lg px-3 py-2 text-sm transition-colors ${o?"bg-gray-800 text-white":"text-gray-400 hover:bg-gray-800/50 hover:text-gray-200"}`,children:[e.jsx("span",{className:"font-mono text-xs text-gray-500",children:t.icon}),t.label]},t.to)})}),e.jsxs("div",{className:"border-t border-gray-800 p-3",children:[e.jsx(x,{}),e.jsx("p",{className:"mt-2 text-xs text-gray-600",children:"Read-only observer"})]})]}),e.jsx("main",{className:"flex-1 overflow-auto",children:e.jsx("div",{className:"mx-auto max-w-5xl px-6 py-6",children:s})})]})}function m(){return e.jsx(h,{children:e.jsx(i,{})})}export{m as component};
1
+ import{u as n,j as e,a as c,L as r,O as i}from"./main-CzD8HjLq.js";function x(){const{privacyMode:s,togglePrivacyMode:a}=n();return e.jsxs("button",{type:"button",onClick:a,title:s?"Privacy mode on":"Privacy mode off",className:`flex items-center gap-2 rounded-lg px-3 py-1.5 text-xs transition-colors ${s?"bg-blue-600 text-white":"bg-gray-800 text-gray-400 hover:text-gray-200"}`,children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-3.5 w-3.5",children:[s?e.jsx("path",{fillRule:"evenodd",d:"M3.28 2.22a.75.75 0 00-1.06 1.06l14.5 14.5a.75.75 0 101.06-1.06l-1.745-1.745a10.029 10.029 0 003.3-4.38 1.651 1.651 0 000-1.185A10.004 10.004 0 009.999 3a9.956 9.956 0 00-4.744 1.194L3.28 2.22zM7.752 6.69l1.092 1.092a2.5 2.5 0 013.374 3.373l1.092 1.092a4 4 0 00-5.558-5.558z",clipRule:"evenodd"}):e.jsx("path",{d:"M10 12.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"}),s?e.jsx("path",{d:"M10.748 13.93l2.523 2.523a9.987 9.987 0 01-3.27.547c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 010-1.186A10.007 10.007 0 012.839 6.02L6.07 9.252a4 4 0 004.678 4.678z"}):e.jsx("path",{fillRule:"evenodd",d:"M.458 10a9.996 9.996 0 019.542-6c4.258 0 7.894 2.66 9.337 6.41a1.651 1.651 0 010 1.186A10.004 10.004 0 0110 17.5c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 010-1.186L.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z",clipRule:"evenodd"})]}),"Privacy"]})}const d=[{to:"/sessions",label:"Sessions",icon:">"},{to:"/stats",label:"Stats",icon:"#"},{to:"/settings",label:"Settings",icon:"*"}];function h({children:s}){const a=c(),l=a[a.length-1]?.pathname??"";return e.jsxs("div",{className:"flex min-h-screen",children:[e.jsxs("aside",{className:"flex w-56 shrink-0 flex-col border-r border-gray-800 bg-gray-950",children:[e.jsx("div",{className:"flex h-14 items-center border-b border-gray-800 px-4",children:e.jsxs(r,{to:"/sessions",className:"text-sm font-bold text-white",children:[e.jsx("span",{className:"text-blue-400",children:"Claude"})," Dashboard"]})}),e.jsx("nav",{className:"flex-1 p-3",children:d.map(t=>{const o=l.startsWith(t.to);return e.jsxs(r,{to:t.to,className:`flex items-center gap-2.5 rounded-lg px-3 py-2 text-sm transition-colors ${o?"bg-gray-800 text-white":"text-gray-400 hover:bg-gray-800/50 hover:text-gray-200"}`,children:[e.jsx("span",{className:"font-mono text-xs text-gray-500",children:t.icon}),t.label]},t.to)})}),e.jsxs("div",{className:"border-t border-gray-800 p-3",children:[e.jsx(x,{}),e.jsx("p",{className:"mt-2 text-xs text-gray-600",children:"Read-only observer"})]})]}),e.jsx("main",{className:"flex-1 overflow-auto",children:e.jsx("div",{className:"mx-auto max-w-5xl px-6 py-6",children:s})})]})}function m(){return e.jsx(h,{children:e.jsx(i,{})})}export{m as component};
@@ -1,4 +1,4 @@
1
- import{R as w,r as S,c as Se,j as e,L as se,f as de,u as De}from"./main-Bssrw_E_.js";import{c as Pe,q as Oe,u as be}from"./createServerFn-Bmn60lX_.js";import{f as I,c as re,a as C,g as ve,b as H}from"./format-Bf-cSf6L.js";import{f as U,L as q,Z as Q,o as X,C as ee,A as Ie,m as W,j as xe,_ as Ee,n as me,c as je,$ as Le,q as Re,u as $e,i as ae,G as _e,k as ue,a0 as pe,D as Ue,N as We,X as Be,Y as Ne,P as Fe,R as Xe,U as ze,a1 as he,a2 as He,a3 as Ge,W as ke}from"./useSessionCost-C7ox6YwA.js";import{s as Ve}from"./settings.types-4U9-Yxq3.js";var Ye=["layout","type","stroke","connectNulls","isRange","ref"],qe=["key"],we;function G(t){"@babel/helpers - typeof";return G=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},G(t)}function Te(t,s){if(t==null)return{};var r=Ke(t,s),a,n;if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);for(n=0;n<c.length;n++)a=c[n],!(s.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}function Ke(t,s){if(t==null)return{};var r={};for(var a in t)if(Object.prototype.hasOwnProperty.call(t,a)){if(s.indexOf(a)>=0)continue;r[a]=t[a]}return r}function _(){return _=Object.assign?Object.assign.bind():function(t){for(var s=1;s<arguments.length;s++){var r=arguments[s];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a])}return t},_.apply(this,arguments)}function fe(t,s){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);s&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,a)}return r}function R(t){for(var s=1;s<arguments.length;s++){var r=arguments[s]!=null?arguments[s]:{};s%2?fe(Object(r),!0).forEach(function(a){D(t,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):fe(Object(r)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(r,a))})}return t}function Qe(t,s){if(!(t instanceof s))throw new TypeError("Cannot call a class as a function")}function ge(t,s){for(var r=0;r<s.length;r++){var a=s[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,Me(a.key),a)}}function Ze(t,s,r){return s&&ge(t.prototype,s),r&&ge(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function Je(t,s,r){return s=J(s),et(t,Ae()?Reflect.construct(s,r||[],J(t).constructor):s.apply(t,r))}function et(t,s){if(s&&(G(s)==="object"||typeof s=="function"))return s;if(s!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return tt(t)}function tt(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Ae(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Ae=function(){return!!t})()}function J(t){return J=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},J(t)}function st(t,s){if(typeof s!="function"&&s!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(s&&s.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),s&&ne(t,s)}function ne(t,s){return ne=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},ne(t,s)}function D(t,s,r){return s=Me(s),s in t?Object.defineProperty(t,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[s]=r,t}function Me(t){var s=at(t,"string");return G(s)=="symbol"?s:s+""}function at(t,s){if(G(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var a=r.call(t,s);if(G(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}var $=(function(t){function s(){var r;Qe(this,s);for(var a=arguments.length,n=new Array(a),c=0;c<a;c++)n[c]=arguments[c];return r=Je(this,s,[].concat(n)),D(r,"state",{isAnimationFinished:!0}),D(r,"id",$e("recharts-area-")),D(r,"handleAnimationEnd",function(){var x=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),ae(x)&&x()}),D(r,"handleAnimationStart",function(){var x=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),ae(x)&&x()}),r}return st(s,t),Ze(s,[{key:"renderDots",value:function(a,n,c){var x=this.props.isAnimationActive,d=this.state.isAnimationFinished;if(x&&!d)return null;var o=this.props,p=o.dot,i=o.points,l=o.dataKey,f=U(this.props,!1),j=U(p,!0),N=i.map(function(h,u){var v=R(R(R({key:"dot-".concat(u),r:3},f),j),{},{index:u,cx:h.x,cy:h.y,dataKey:l,value:h.value,payload:h.payload,points:i});return s.renderDotItem(p,v)}),m={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(c,")"):null};return w.createElement(q,_({className:"recharts-area-dots"},m),N)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,c=n.baseLine,x=n.points,d=n.strokeWidth,o=x[0].x,p=x[x.length-1].x,i=a*Math.abs(o-p),l=Q(x.map(function(f){return f.y||0}));return X(c)&&typeof c=="number"?l=Math.max(c,l):c&&Array.isArray(c)&&c.length&&(l=Math.max(Q(c.map(function(f){return f.y||0})),l)),X(l)?w.createElement("rect",{x:o<p?o:o-i,y:0,width:i,height:Math.floor(l+(d?parseInt("".concat(d),10):1))}):null}},{key:"renderVerticalRect",value:function(a){var n=this.props,c=n.baseLine,x=n.points,d=n.strokeWidth,o=x[0].y,p=x[x.length-1].y,i=a*Math.abs(o-p),l=Q(x.map(function(f){return f.x||0}));return X(c)&&typeof c=="number"?l=Math.max(c,l):c&&Array.isArray(c)&&c.length&&(l=Math.max(Q(c.map(function(f){return f.x||0})),l)),X(l)?w.createElement("rect",{x:0,y:o<p?o:o-i,width:l+(d?parseInt("".concat(d),10):1),height:Math.floor(i)}):null}},{key:"renderClipRect",value:function(a){var n=this.props.layout;return n==="vertical"?this.renderVerticalRect(a):this.renderHorizontalRect(a)}},{key:"renderAreaStatically",value:function(a,n,c,x){var d=this.props,o=d.layout,p=d.type,i=d.stroke,l=d.connectNulls,f=d.isRange;d.ref;var j=Te(d,Ye);return w.createElement(q,{clipPath:c?"url(#clipPath-".concat(x,")"):null},w.createElement(ee,_({},U(j,!0),{points:a,connectNulls:l,type:p,baseLine:n,layout:o,stroke:"none",className:"recharts-area-area"})),i!=="none"&&w.createElement(ee,_({},U(this.props,!1),{className:"recharts-area-curve",layout:o,type:p,connectNulls:l,fill:"none",points:a})),i!=="none"&&f&&w.createElement(ee,_({},U(this.props,!1),{className:"recharts-area-curve",layout:o,type:p,connectNulls:l,fill:"none",points:n})))}},{key:"renderAreaWithAnimation",value:function(a,n){var c=this,x=this.props,d=x.points,o=x.baseLine,p=x.isAnimationActive,i=x.animationBegin,l=x.animationDuration,f=x.animationEasing,j=x.animationId,N=this.state,m=N.prevPoints,h=N.prevBaseLine;return w.createElement(Ie,{begin:i,duration:l,isActive:p,easing:f,from:{t:0},to:{t:1},key:"area-".concat(j),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(u){var v=u.t;if(m){var g=m.length/d.length,b=d.map(function(M,E){var P=Math.floor(E*g);if(m[P]){var L=m[P],V=W(L.x,M.x),Y=W(L.y,M.y);return R(R({},M),{},{x:V(v),y:Y(v)})}return M}),y;if(X(o)&&typeof o=="number"){var k=W(h,o);y=k(v)}else if(xe(o)||Ee(o)){var A=W(h,0);y=A(v)}else y=o.map(function(M,E){var P=Math.floor(E*g);if(h[P]){var L=h[P],V=W(L.x,M.x),Y=W(L.y,M.y);return R(R({},M),{},{x:V(v),y:Y(v)})}return M});return c.renderAreaStatically(b,y,a,n)}return w.createElement(q,null,w.createElement("defs",null,w.createElement("clipPath",{id:"animationClipPath-".concat(n)},c.renderClipRect(v))),w.createElement(q,{clipPath:"url(#animationClipPath-".concat(n,")")},c.renderAreaStatically(d,o,a,n)))})}},{key:"renderArea",value:function(a,n){var c=this.props,x=c.points,d=c.baseLine,o=c.isAnimationActive,p=this.state,i=p.prevPoints,l=p.prevBaseLine,f=p.totalLength;return o&&x&&x.length&&(!i&&f>0||!me(i,x)||!me(l,d))?this.renderAreaWithAnimation(a,n):this.renderAreaStatically(x,d,a,n)}},{key:"render",value:function(){var a,n=this.props,c=n.hide,x=n.dot,d=n.points,o=n.className,p=n.top,i=n.left,l=n.xAxis,f=n.yAxis,j=n.width,N=n.height,m=n.isAnimationActive,h=n.id;if(c||!d||!d.length)return null;var u=this.state.isAnimationFinished,v=d.length===1,g=je("recharts-area",o),b=l&&l.allowDataOverflow,y=f&&f.allowDataOverflow,k=b||y,A=xe(h)?this.id:h,M=(a=U(x,!1))!==null&&a!==void 0?a:{r:3,strokeWidth:2},E=M.r,P=E===void 0?3:E,L=M.strokeWidth,V=L===void 0?2:L,Y=Le(x)?x:{},oe=Y.clipDot,ce=oe===void 0?!0:oe,K=P*2+V;return w.createElement(q,{className:g},b||y?w.createElement("defs",null,w.createElement("clipPath",{id:"clipPath-".concat(A)},w.createElement("rect",{x:b?i:i-j/2,y:y?p:p-N/2,width:b?j:j*2,height:y?N:N*2})),!ce&&w.createElement("clipPath",{id:"clipPath-dots-".concat(A)},w.createElement("rect",{x:i-K/2,y:p-K/2,width:j+K,height:N+K}))):null,v?null:this.renderArea(k,A),(x||v)&&this.renderDots(k,ce,A),(!m||u)&&Re.renderCallByParent(this.props,d))}}],[{key:"getDerivedStateFromProps",value:function(a,n){return a.animationId!==n.prevAnimationId?{prevAnimationId:a.animationId,curPoints:a.points,curBaseLine:a.baseLine,prevPoints:n.curPoints,prevBaseLine:n.curBaseLine}:a.points!==n.curPoints||a.baseLine!==n.curBaseLine?{curPoints:a.points,curBaseLine:a.baseLine}:null}}])})(S.PureComponent);we=$;D($,"displayName","Area");D($,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!_e.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});D($,"getBaseValue",function(t,s,r,a){var n=t.layout,c=t.baseValue,x=s.props.baseValue,d=x??c;if(X(d)&&typeof d=="number")return d;var o=n==="horizontal"?a:r,p=o.scale.domain();if(o.type==="number"){var i=Math.max(p[0],p[1]),l=Math.min(p[0],p[1]);return d==="dataMin"?l:d==="dataMax"||i<0?i:Math.max(Math.min(p[0],p[1]),0)}return d==="dataMin"?p[0]:d==="dataMax"?p[1]:p[0]});D($,"getComposedData",function(t){var s=t.props,r=t.item,a=t.xAxis,n=t.yAxis,c=t.xAxisTicks,x=t.yAxisTicks,d=t.bandSize,o=t.dataKey,p=t.stackedData,i=t.dataStartIndex,l=t.displayedData,f=t.offset,j=s.layout,N=p&&p.length,m=we.getBaseValue(s,r,a,n),h=j==="horizontal",u=!1,v=l.map(function(b,y){var k;N?k=p[i+y]:(k=ue(b,o),Array.isArray(k)?u=!0:k=[m,k]);var A=k[1]==null||N&&ue(b,o)==null;return h?{x:pe({axis:a,ticks:c,bandSize:d,entry:b,index:y}),y:A?null:n.scale(k[1]),value:k,payload:b}:{x:A?null:a.scale(k[1]),y:pe({axis:n,ticks:x,bandSize:d,entry:b,index:y}),value:k,payload:b}}),g;return N||u?g=v.map(function(b){var y=Array.isArray(b.value)?b.value[0]:null;return h?{x:b.x,y:y!=null&&b.y!=null?n.scale(y):null}:{x:y!=null?a.scale(y):null,y:b.y}}):g=h?n.scale(m):a.scale(m),R({points:v,baseLine:g,layout:j,isRange:u},f)});D($,"renderDotItem",function(t,s){var r;if(w.isValidElement(t))r=w.cloneElement(t,s);else if(ae(t))r=t(s);else{var a=je("recharts-area-dot",typeof t!="boolean"?t.className:""),n=s.key,c=Te(s,qe);r=w.createElement(Ue,_({},c,{key:n,className:a}))}return r});var nt=We({chartName:"AreaChart",GraphicalChild:$,axisComponents:[{axisType:"xAxis",AxisComp:Be},{axisType:"yAxis",AxisComp:Ne}],formatAxisMap:Fe});const rt=Pe({method:"GET"}).handler(Se("ff8a3161afdfa175e9c519e4146a56ab5bce6e80745e99cfc2191ebbb7a859bb"));function it(t,s){return Oe({queryKey:["session","detail",t],queryFn:()=>rt({data:{sessionId:t,projectPath:s}}),staleTime:3e4})}function lt(t,s,r,a){const n=[];for(const m of t)if(m.timestamp){const h=new Date(m.timestamp).getTime();isNaN(h)||n.push(h)}for(const m of s)if(m.timestamp){const h=new Date(m.timestamp).getTime();isNaN(h)||n.push(h)}for(const m of r)if(m.timestamp){const h=new Date(m.timestamp).getTime();isNaN(h)||n.push(h)}if(n.length===0)return{startMs:0,endMs:0,durationMs:0,mainLane:[],agentLanes:[],skillMarkers:[],errorMarkers:[]};const c=Math.min(...n),x=Math.max(...n),d=Math.max(x-c,1);function o(m){return(m-c)/d}const p=new Set(s.map(m=>m.toolUseId)),i=new Set(r.map(m=>m.toolUseId)),l=[];for(const m of t){if(m.type!=="assistant"||m.toolCalls.length===0)continue;const h=new Date(m.timestamp).getTime();if(!isNaN(h))for(const u of m.toolCalls)p.has(u.toolUseId)||i.has(u.toolUseId)||l.push({timestampMs:h,toolName:u.toolName,toolUseId:u.toolUseId,relativeX:o(h)})}const f=s.map(m=>{const h=new Date(m.timestamp).getTime(),u=m.durationMs?h+m.durationMs:h+d*.02,v=[];if(m.toolCalls){const g=Object.entries(m.toolCalls).sort(([,k],[,A])=>A-k),b=g.reduce((k,[,A])=>k+A,0);let y=0;for(const[k,A]of g)for(let M=0;M<A;M++){const E=b>1?y/(b-1):.5,P=h+(u-h)*E;v.push({toolName:k,count:1,relativeX:o(P)}),y++}}return{subagentType:m.subagentType,description:m.description,startMs:h,endMs:u,startX:o(h),endX:o(u),durationMs:m.durationMs??null,totalTokens:m.totalTokens??null,totalToolUseCount:m.totalToolUseCount??null,toolDots:v}}),j=r.map(m=>{const h=new Date(m.timestamp).getTime();return isNaN(h)?null:{skill:m.skill,args:m.args,timestampMs:h,relativeX:o(h)}}).filter(m=>m!==null),N=a.map(m=>{const h=new Date(m.timestamp).getTime();return isNaN(h)?null:{message:m.message,type:m.type,timestampMs:h,relativeX:o(h)}}).filter(m=>m!==null);return{startMs:c,endMs:x,durationMs:d,mainLane:l,agentLanes:f,skillMarkers:j,errorMarkers:N}}function ie(t){const s=t.match(/^mcp__[^_]+_[^_]+_[^_]+__(.+)$/);return s?s[1]:t}const ot={Read:"#60a5fa",Grep:"#60a5fa",Glob:"#60a5fa",Write:"#34d399",Edit:"#34d399",NotebookEdit:"#34d399",Bash:"#fbbf24",Task:"#818cf8",TaskCreate:"#c084fc",TaskUpdate:"#c084fc",TaskList:"#c084fc",TaskGet:"#c084fc",Skill:"#fcd34d",WebSearch:"#22d3ee",WebFetch:"#22d3ee",EnterPlanMode:"#f472b6",ExitPlanMode:"#f472b6",AskUserQuestion:"#a78bfa"},ct="#9ca3af";function le(t){return ot[t]??ct}const O=90,z=16,B=24,T=32,te=8,Ce=4;function dt(t,s,r){const a=s-t;if(a<=0)return[];const n=Math.max(3,Math.round(r/120)),c=a/n,x=[5e3,1e4,15e3,3e4,6e4,2*6e4,5*6e4,10*6e4,15*6e4,30*6e4,60*6e4,120*6e4],d=x.find(f=>f>=c)??x[x.length-1],p=a<5*6e4?"HH:mm:ss":"HH:mm",i=Math.ceil(t/d)*d,l=[];for(let f=i;f<=s;f+=d){const j=(f-t)/a;l.push({ms:f,label:I(new Date(f),p),x:O+j*(r-O-z)})}return l}function xt({data:t,width:s,onHover:r}){const a=S.useRef(null),n=s,c=n-O-z,x=t.skillMarkers.length>0,d=t.errorMarkers.length>0;let o=B;const p=o;o+=T;const i=[];for(let u=0;u<t.agentLanes.length;u++)o+=te,i.push(o),o+=T;let l=0;x&&(o+=te,l=o,o+=T);let f=0;d&&(o+=te,f=o,o+=T);const j=Math.max(o+8,80);function N(u){return O+u*c}const m=S.useCallback(u=>{if(!a.current)return{x:0,y:0};const v=a.current.getBoundingClientRect();return{x:u.clientX-v.left,y:u.clientY-v.top}},[]),h=dt(t.startMs,t.endMs,n);return e.jsxs("svg",{ref:a,width:n,height:j,className:"select-none",role:"img","aria-label":"Session timeline showing tool calls, agent runs, and skill invocations",onMouseLeave:()=>r(null,{x:0,y:0}),children:[e.jsx("line",{x1:O,y1:B-4,x2:n-z,y2:B-4,stroke:"#374151",strokeWidth:1}),h.map(u=>e.jsxs("g",{children:[e.jsx("line",{x1:u.x,y1:B-8,x2:u.x,y2:B-4,stroke:"#4b5563",strokeWidth:1}),e.jsx("text",{x:u.x,y:B-12,textAnchor:"middle",className:"fill-gray-500 text-[10px]",children:u.label})]},u.ms)),e.jsx("text",{x:4,y:p+T/2+4,className:"fill-gray-500 text-[11px] font-medium",children:"Main"}),e.jsx("line",{x1:O,y1:p+T/2,x2:n-z,y2:p+T/2,stroke:"#1f2937",strokeWidth:1,strokeDasharray:"2,4"}),t.mainLane.map(u=>e.jsx("circle",{cx:N(u.relativeX),cy:p+T/2,r:Ce,fill:le(u.toolName),opacity:.85,className:"cursor-pointer transition-transform hover:opacity-100",onMouseEnter:v=>r({kind:"tool",toolName:u.toolName,timestamp:new Date(u.timestampMs).toISOString(),toolUseId:u.toolUseId},m(v)),onMouseLeave:()=>r(null,{x:0,y:0}),children:e.jsx("title",{children:u.toolName})},u.toolUseId)),t.agentLanes.map((u,v)=>e.jsx(mt,{lane:u,y:i[v],toX:N,laneHeight:T,leftMargin:O,onHover:r,getPosition:m},`${u.subagentType}-${v}`)),x&&e.jsxs(e.Fragment,{children:[e.jsx("text",{x:4,y:l+T/2+4,className:"fill-amber-400/70 text-[11px] font-medium",children:"Skills"}),e.jsx("line",{x1:O,y1:l+T/2,x2:n-z,y2:l+T/2,stroke:"#1f2937",strokeWidth:1,strokeDasharray:"2,4"}),t.skillMarkers.map((u,v)=>{const g=N(u.relativeX),b=l+T/2,y=5;return e.jsx("polygon",{points:`${g},${b-y} ${g+y},${b} ${g},${b+y} ${g-y},${b}`,fill:"#fbbf24",opacity:.85,className:"cursor-pointer hover:opacity-100",onMouseEnter:k=>r({kind:"skill",skill:u.skill,args:u.args,timestamp:new Date(u.timestampMs).toISOString()},m(k)),onMouseLeave:()=>r(null,{x:0,y:0}),children:e.jsxs("title",{children:["/",u.skill]})},`${u.skill}-${v}`)})]}),d&&e.jsxs(e.Fragment,{children:[e.jsx("text",{x:4,y:f+T/2+4,className:"fill-red-400/70 text-[11px] font-medium",children:"Errors"}),e.jsx("line",{x1:O,y1:f+T/2,x2:n-z,y2:f+T/2,stroke:"#1f2937",strokeWidth:1,strokeDasharray:"2,4"}),t.errorMarkers.map((u,v)=>{const g=N(u.relativeX),b=f+T/2,y=5;return e.jsxs("g",{className:"cursor-pointer hover:opacity-100",opacity:.85,onMouseEnter:k=>r({kind:"error",message:u.message,type:u.type,timestamp:new Date(u.timestampMs).toISOString()},m(k)),onMouseLeave:()=>r(null,{x:0,y:0}),children:[e.jsx("line",{x1:g-y,y1:b-y,x2:g+y,y2:b+y,stroke:"#f87171",strokeWidth:2,strokeLinecap:"round"}),e.jsx("line",{x1:g+y,y1:b-y,x2:g-y,y2:b+y,stroke:"#f87171",strokeWidth:2,strokeLinecap:"round"}),e.jsxs("title",{children:[u.type,": ",u.message]})]},`err-${v}`)})]})]})}function mt({lane:t,y:s,toX:r,laneHeight:a,leftMargin:n,onHover:c,getPosition:x}){const d=r(t.startX),o=Math.max(r(t.endX)-d,8),p=s+a/2,i=t.subagentType.length>10?t.subagentType.slice(0,10)+"...":t.subagentType;return e.jsxs("g",{children:[e.jsx("text",{x:4,y:p+4,className:"fill-indigo-400/70 text-[11px] font-medium",children:i}),e.jsx("rect",{x:d,y:s+2,width:o,height:a-4,rx:6,fill:"rgba(99, 102, 241, 0.08)",stroke:"rgba(99, 102, 241, 0.2)",strokeWidth:1,className:"cursor-pointer hover:fill-indigo-500/15",onMouseEnter:l=>c({kind:"agent",agent:t},x(l)),onMouseLeave:()=>c(null,{x:0,y:0}),children:e.jsxs("title",{children:[t.subagentType,": ",t.description]})}),e.jsx("line",{x1:d+4,y1:p,x2:d+o-4,y2:p,stroke:"rgba(99, 102, 241, 0.15)",strokeWidth:1}),t.toolDots.map((l,f)=>e.jsx("circle",{cx:r(l.relativeX),cy:p,r:Ce-.5,fill:le(l.toolName),opacity:.75,className:"cursor-pointer hover:opacity-100",onMouseEnter:j=>c({kind:"tool",toolName:l.toolName,timestamp:new Date(t.startMs+(l.relativeX-t.startX)/(t.endX-t.startX)*(t.endMs-t.startMs)).toISOString(),toolUseId:`${t.subagentType}-${l.toolName}-${f}`},x(j)),onMouseLeave:()=>c(null,{x:0,y:0}),children:e.jsxs("title",{children:[l.toolName," (",t.subagentType,")"]})},`${l.toolName}-${f}`))]})}function ut({item:t,position:s}){return e.jsxs("div",{className:"pointer-events-none absolute z-50 rounded-lg border border-gray-700 bg-gray-900 px-3 py-2 text-xs shadow-xl",style:{left:s.x,top:s.y,transform:"translate(-50%, -100%) translateY(-8px)"},children:[t.kind==="tool"&&e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold text-gray-100",children:ie(t.toolName)}),e.jsx("div",{className:"text-gray-400",children:I(new Date(t.timestamp),"HH:mm:ss")}),e.jsxs("div",{className:"font-mono text-[10px] text-gray-600",children:[t.toolUseId.slice(0,16),"..."]})]}),t.kind==="agent"&&e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold text-indigo-300",children:t.agent.subagentType}),e.jsx("div",{className:"max-w-48 truncate text-gray-400",children:t.agent.description}),e.jsx("div",{className:"mt-1 flex items-center gap-2 text-gray-500",children:t.agent.durationMs!=null&&e.jsxs("span",{children:[I(new Date(t.agent.startMs),"HH:mm")," -"," ",I(new Date(t.agent.endMs),"HH:mm")," (",re(t.agent.durationMs),")"]})}),e.jsxs("div",{className:"flex items-center gap-2 text-gray-500",children:[t.agent.totalTokens!=null&&e.jsxs("span",{children:[C(t.agent.totalTokens)," tokens"]}),t.agent.totalToolUseCount!=null&&e.jsxs("span",{children:[t.agent.totalToolUseCount," tools"]})]})]}),t.kind==="skill"&&e.jsxs("div",{children:[e.jsxs("div",{className:"font-semibold text-amber-300",children:["/",t.skill]}),t.args&&e.jsx("div",{className:"text-gray-400",children:t.args}),e.jsx("div",{className:"text-gray-500",children:I(new Date(t.timestamp),"HH:mm:ss")})]}),t.kind==="error"&&e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold text-red-400",children:t.type}),e.jsx("div",{className:"max-w-48 truncate text-gray-400",children:t.message}),e.jsx("div",{className:"text-gray-500",children:I(new Date(t.timestamp),"HH:mm:ss")})]})]})}function pt({toolNames:t}){const s=[...new Set(t)].slice(0,12);return s.length===0?null:e.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 px-1 text-[10px] text-gray-500",children:[s.map(r=>e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rounded-full",style:{backgroundColor:le(r)}}),e.jsx("span",{children:ie(r)})]},r)),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rotate-45 bg-amber-400"}),e.jsx("span",{children:"Skill"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"text-red-400 font-bold leading-none",children:"×"}),e.jsx("span",{children:"Error"})]})]})}function ht({turns:t,agents:s,skills:r,errors:a}){const n=S.useRef(null),[c,x]=S.useState(0),[d,o]=S.useState(1),[p,i]=S.useState(null);S.useEffect(()=>{if(!n.current)return;const g=new ResizeObserver(b=>{const y=b[0];y&&x(y.contentRect.width)});return g.observe(n.current),()=>g.disconnect()},[]);const l=S.useMemo(()=>lt(t,s,r,a),[t,s,r,a]),f=S.useMemo(()=>{const g=l.mainLane.map(y=>y.toolName);for(const y of l.agentLanes)for(const k of y.toolDots)g.push(k.toolName);const b={};for(const y of g)b[y]=(b[y]??0)+1;return Object.entries(b).sort(([,y],[,k])=>k-y).map(([y])=>y)},[l]),j=(g,b)=>{i(g?{item:g,position:b}:null)};if(t.length===0)return e.jsx("div",{className:"py-8 text-center text-sm text-gray-500",children:"No timeline data available"});const N=new Set(s.map(g=>g.toolUseId)),m=new Set(r.map(g=>g.toolUseId));let h=0,u=0,v=0;for(const g of t)if(g.type==="user"&&g.message?.trim()&&h++,g.type==="assistant"){u++;for(const b of g.toolCalls)!N.has(b.toolUseId)&&!m.has(b.toolUseId)&&v++}return e.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[e.jsxs("div",{className:"mb-3 flex flex-wrap items-center gap-4",children:[e.jsx(F,{label:"User commands",value:h,color:"blue"}),e.jsx(F,{label:"AI responses",value:u,color:"purple"}),v>0&&e.jsx(F,{label:"Tool calls",value:v,color:"gray"}),s.length>0&&e.jsx(F,{label:"Agents",value:s.length,color:"indigo"}),r.length>0&&e.jsx(F,{label:"Skills",value:r.length,color:"amber"}),a.length>0&&e.jsx(F,{label:"Errors",value:a.length,color:"red"})]}),e.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2",children:[e.jsx("div",{className:"flex-1",children:f.length>0&&e.jsx(pt,{toolNames:f})}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[e.jsx("button",{type:"button",onClick:()=>o(g=>Math.max(1,g-.5)),disabled:d<=1,className:"rounded bg-gray-800 px-2 py-0.5 text-xs text-gray-300 transition-colors hover:bg-gray-700 disabled:opacity-30",title:"Zoom out",children:"−"}),e.jsx("span",{className:"min-w-[3rem] text-center text-[10px] tabular-nums text-gray-500",children:d===1?"Fit":`${d.toFixed(1)}x`}),e.jsx("button",{type:"button",onClick:()=>o(g=>Math.min(8,g+.5)),disabled:d>=8,className:"rounded bg-gray-800 px-2 py-0.5 text-xs text-gray-300 transition-colors hover:bg-gray-700 disabled:opacity-30",title:"Zoom in",children:"+"}),d>1&&e.jsx("button",{type:"button",onClick:()=>o(1),className:"ml-1 rounded bg-gray-800 px-2 py-0.5 text-[10px] text-gray-400 transition-colors hover:bg-gray-700",title:"Reset zoom",children:"Reset"})]})]}),e.jsx("div",{ref:n,className:"relative overflow-x-auto",children:c>0&&e.jsxs(e.Fragment,{children:[e.jsx(xt,{data:l,width:Math.max(c*d,400),onHover:j}),p&&e.jsx(ut,{item:p.item,position:p.position})]})})]})}function F({label:t,value:s,color:r}){const a={blue:"bg-blue-500/15 text-blue-400",purple:"bg-purple-500/15 text-purple-400",gray:"bg-gray-800 text-gray-300",indigo:"bg-indigo-500/15 text-indigo-400",amber:"bg-amber-500/15 text-amber-400",red:"bg-red-500/15 text-red-400"};return e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:`rounded-md px-2 py-1 text-sm font-bold tabular-nums ${a[r]}`,children:s}),e.jsx("span",{className:"text-[11px] text-gray-500",children:t})]})}function ft({contextWindow:t,tokens:s}){const[r,a]=S.useState(!1);if(!t)return e.jsx(yt,{tokens:s});const{contextLimit:n,modelName:c,systemOverhead:x,currentContextSize:d,messagesEstimate:o,freeSpace:p,autocompactBuffer:i,usagePercent:l,snapshots:f}=t,j=x/n*100,N=o/n*100,m=i/n*100,h=Math.max(0,100-j-N),u=c.replace(/^claude-/,"").split("-202")[0],v=f.map(g=>({turn:g.turnIndex,context:g.contextSize}));return e.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-300",children:"Context Window"}),e.jsx("span",{className:"rounded bg-gray-800 px-1.5 py-0.5 text-[10px] font-mono text-gray-400",children:u})]}),e.jsxs("div",{className:"mt-1 flex items-baseline gap-1",children:[e.jsx("span",{className:"text-2xl font-bold text-white",children:C(d)}),e.jsxs("span",{className:"text-sm text-gray-500",children:["/ ",C(n)]}),e.jsxs("span",{className:"text-sm text-gray-400",children:["(",l,"%)"]})]}),e.jsx("p",{className:"text-[10px] text-gray-500",children:"~estimated from token usage"}),e.jsxs("div",{className:"mt-3 flex h-3 overflow-hidden rounded-full bg-gray-800",children:[e.jsx("div",{className:"bg-purple-500",style:{width:`${j}%`},title:`System: ~${C(x)}`}),e.jsx("div",{className:"bg-blue-500",style:{width:`${N}%`},title:`Messages: ~${C(o)}`}),h>0&&e.jsx(e.Fragment,{children:h>m?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"bg-gray-700",style:{width:`${h-m}%`}}),e.jsx("div",{className:"autocompact-stripe",style:{width:`${Math.min(m,h)}%`}})]}):e.jsx("div",{className:"autocompact-stripe",style:{width:`${h}%`}})})]}),e.jsxs("div",{className:"mt-1 flex gap-3 text-[10px] text-gray-500",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-purple-500"}),"system"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-blue-500"}),"messages"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-gray-700"}),"free"]})]}),e.jsxs("div",{className:"mt-3 space-y-1.5",children:[e.jsx(Z,{label:"System overhead",value:x,total:n,color:"bg-purple-500",prefix:"~"}),e.jsx(Z,{label:"Messages",value:o,total:n,color:"bg-blue-500",prefix:"~"}),e.jsx(Z,{label:"Autocompact buffer",value:i,total:n,color:"bg-amber-500"}),e.jsx(Z,{label:"Free space",value:p,total:n,color:"bg-gray-600"})]}),v.length>1&&e.jsxs("div",{className:"mt-3",children:[e.jsx("p",{className:"mb-1 text-[10px] text-gray-500",children:"Context growth"}),e.jsx(Xe,{width:"100%",height:96,children:e.jsxs(nt,{data:v,children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:"contextGrad",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#3b82f6",stopOpacity:.3}),e.jsx("stop",{offset:"100%",stopColor:"#3b82f6",stopOpacity:.05})]})}),e.jsx(Ne,{domain:[0,n],hide:!0}),e.jsx(ze,{contentStyle:{background:"#1f2937",border:"1px solid #374151",borderRadius:"8px",fontSize:"11px"},labelFormatter:g=>`Turn ${g}`,formatter:g=>[C(g),"Context"]}),e.jsx(he,{y:n,stroke:"#ef4444",strokeDasharray:"4 4",strokeOpacity:.5}),e.jsx(he,{y:n-i,stroke:"#f59e0b",strokeDasharray:"2 4",strokeOpacity:.3}),e.jsx($,{type:"stepAfter",dataKey:"context",stroke:"#3b82f6",fill:"url(#contextGrad)",strokeWidth:1.5,dot:!1})]})})]}),e.jsxs("button",{onClick:()=>a(!r),className:"mt-3 flex w-full items-center gap-1 text-xs text-gray-400 hover:text-gray-300 transition-colors",children:[e.jsx("span",{className:"text-[10px]",children:r?"▾":"▸"}),"Token Details"]}),r&&e.jsx(gt,{tokens:s}),e.jsx("style",{children:`
1
+ import{R as w,r as S,c as Se,j as e,L as se,f as de,u as De}from"./main-CzD8HjLq.js";import{c as Pe,q as Oe,u as be}from"./createServerFn-Le0d8Pjz.js";import{f as I,c as re,a as C,g as ve,b as H}from"./format-Bf-cSf6L.js";import{f as U,L as q,Z as Q,o as X,C as ee,A as Ie,m as W,j as xe,_ as Ee,n as me,c as je,$ as Le,q as Re,u as $e,i as ae,G as _e,k as ue,a0 as pe,D as Ue,N as We,X as Be,Y as Ne,P as Fe,R as Xe,U as ze,a1 as he,a2 as He,a3 as Ge,W as ke}from"./useSessionCost-9NP6uhla.js";import{s as Ve}from"./settings.types-B4841OLF.js";var Ye=["layout","type","stroke","connectNulls","isRange","ref"],qe=["key"],we;function G(t){"@babel/helpers - typeof";return G=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},G(t)}function Te(t,s){if(t==null)return{};var r=Ke(t,s),a,n;if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);for(n=0;n<c.length;n++)a=c[n],!(s.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}function Ke(t,s){if(t==null)return{};var r={};for(var a in t)if(Object.prototype.hasOwnProperty.call(t,a)){if(s.indexOf(a)>=0)continue;r[a]=t[a]}return r}function _(){return _=Object.assign?Object.assign.bind():function(t){for(var s=1;s<arguments.length;s++){var r=arguments[s];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a])}return t},_.apply(this,arguments)}function fe(t,s){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);s&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,a)}return r}function R(t){for(var s=1;s<arguments.length;s++){var r=arguments[s]!=null?arguments[s]:{};s%2?fe(Object(r),!0).forEach(function(a){D(t,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):fe(Object(r)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(r,a))})}return t}function Qe(t,s){if(!(t instanceof s))throw new TypeError("Cannot call a class as a function")}function ge(t,s){for(var r=0;r<s.length;r++){var a=s[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,Me(a.key),a)}}function Ze(t,s,r){return s&&ge(t.prototype,s),r&&ge(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function Je(t,s,r){return s=J(s),et(t,Ae()?Reflect.construct(s,r||[],J(t).constructor):s.apply(t,r))}function et(t,s){if(s&&(G(s)==="object"||typeof s=="function"))return s;if(s!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return tt(t)}function tt(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Ae(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Ae=function(){return!!t})()}function J(t){return J=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},J(t)}function st(t,s){if(typeof s!="function"&&s!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(s&&s.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),s&&ne(t,s)}function ne(t,s){return ne=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},ne(t,s)}function D(t,s,r){return s=Me(s),s in t?Object.defineProperty(t,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[s]=r,t}function Me(t){var s=at(t,"string");return G(s)=="symbol"?s:s+""}function at(t,s){if(G(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var a=r.call(t,s);if(G(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}var $=(function(t){function s(){var r;Qe(this,s);for(var a=arguments.length,n=new Array(a),c=0;c<a;c++)n[c]=arguments[c];return r=Je(this,s,[].concat(n)),D(r,"state",{isAnimationFinished:!0}),D(r,"id",$e("recharts-area-")),D(r,"handleAnimationEnd",function(){var x=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),ae(x)&&x()}),D(r,"handleAnimationStart",function(){var x=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),ae(x)&&x()}),r}return st(s,t),Ze(s,[{key:"renderDots",value:function(a,n,c){var x=this.props.isAnimationActive,d=this.state.isAnimationFinished;if(x&&!d)return null;var o=this.props,p=o.dot,i=o.points,l=o.dataKey,f=U(this.props,!1),j=U(p,!0),N=i.map(function(h,u){var v=R(R(R({key:"dot-".concat(u),r:3},f),j),{},{index:u,cx:h.x,cy:h.y,dataKey:l,value:h.value,payload:h.payload,points:i});return s.renderDotItem(p,v)}),m={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(c,")"):null};return w.createElement(q,_({className:"recharts-area-dots"},m),N)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,c=n.baseLine,x=n.points,d=n.strokeWidth,o=x[0].x,p=x[x.length-1].x,i=a*Math.abs(o-p),l=Q(x.map(function(f){return f.y||0}));return X(c)&&typeof c=="number"?l=Math.max(c,l):c&&Array.isArray(c)&&c.length&&(l=Math.max(Q(c.map(function(f){return f.y||0})),l)),X(l)?w.createElement("rect",{x:o<p?o:o-i,y:0,width:i,height:Math.floor(l+(d?parseInt("".concat(d),10):1))}):null}},{key:"renderVerticalRect",value:function(a){var n=this.props,c=n.baseLine,x=n.points,d=n.strokeWidth,o=x[0].y,p=x[x.length-1].y,i=a*Math.abs(o-p),l=Q(x.map(function(f){return f.x||0}));return X(c)&&typeof c=="number"?l=Math.max(c,l):c&&Array.isArray(c)&&c.length&&(l=Math.max(Q(c.map(function(f){return f.x||0})),l)),X(l)?w.createElement("rect",{x:0,y:o<p?o:o-i,width:l+(d?parseInt("".concat(d),10):1),height:Math.floor(i)}):null}},{key:"renderClipRect",value:function(a){var n=this.props.layout;return n==="vertical"?this.renderVerticalRect(a):this.renderHorizontalRect(a)}},{key:"renderAreaStatically",value:function(a,n,c,x){var d=this.props,o=d.layout,p=d.type,i=d.stroke,l=d.connectNulls,f=d.isRange;d.ref;var j=Te(d,Ye);return w.createElement(q,{clipPath:c?"url(#clipPath-".concat(x,")"):null},w.createElement(ee,_({},U(j,!0),{points:a,connectNulls:l,type:p,baseLine:n,layout:o,stroke:"none",className:"recharts-area-area"})),i!=="none"&&w.createElement(ee,_({},U(this.props,!1),{className:"recharts-area-curve",layout:o,type:p,connectNulls:l,fill:"none",points:a})),i!=="none"&&f&&w.createElement(ee,_({},U(this.props,!1),{className:"recharts-area-curve",layout:o,type:p,connectNulls:l,fill:"none",points:n})))}},{key:"renderAreaWithAnimation",value:function(a,n){var c=this,x=this.props,d=x.points,o=x.baseLine,p=x.isAnimationActive,i=x.animationBegin,l=x.animationDuration,f=x.animationEasing,j=x.animationId,N=this.state,m=N.prevPoints,h=N.prevBaseLine;return w.createElement(Ie,{begin:i,duration:l,isActive:p,easing:f,from:{t:0},to:{t:1},key:"area-".concat(j),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(u){var v=u.t;if(m){var g=m.length/d.length,b=d.map(function(M,E){var P=Math.floor(E*g);if(m[P]){var L=m[P],V=W(L.x,M.x),Y=W(L.y,M.y);return R(R({},M),{},{x:V(v),y:Y(v)})}return M}),y;if(X(o)&&typeof o=="number"){var k=W(h,o);y=k(v)}else if(xe(o)||Ee(o)){var A=W(h,0);y=A(v)}else y=o.map(function(M,E){var P=Math.floor(E*g);if(h[P]){var L=h[P],V=W(L.x,M.x),Y=W(L.y,M.y);return R(R({},M),{},{x:V(v),y:Y(v)})}return M});return c.renderAreaStatically(b,y,a,n)}return w.createElement(q,null,w.createElement("defs",null,w.createElement("clipPath",{id:"animationClipPath-".concat(n)},c.renderClipRect(v))),w.createElement(q,{clipPath:"url(#animationClipPath-".concat(n,")")},c.renderAreaStatically(d,o,a,n)))})}},{key:"renderArea",value:function(a,n){var c=this.props,x=c.points,d=c.baseLine,o=c.isAnimationActive,p=this.state,i=p.prevPoints,l=p.prevBaseLine,f=p.totalLength;return o&&x&&x.length&&(!i&&f>0||!me(i,x)||!me(l,d))?this.renderAreaWithAnimation(a,n):this.renderAreaStatically(x,d,a,n)}},{key:"render",value:function(){var a,n=this.props,c=n.hide,x=n.dot,d=n.points,o=n.className,p=n.top,i=n.left,l=n.xAxis,f=n.yAxis,j=n.width,N=n.height,m=n.isAnimationActive,h=n.id;if(c||!d||!d.length)return null;var u=this.state.isAnimationFinished,v=d.length===1,g=je("recharts-area",o),b=l&&l.allowDataOverflow,y=f&&f.allowDataOverflow,k=b||y,A=xe(h)?this.id:h,M=(a=U(x,!1))!==null&&a!==void 0?a:{r:3,strokeWidth:2},E=M.r,P=E===void 0?3:E,L=M.strokeWidth,V=L===void 0?2:L,Y=Le(x)?x:{},oe=Y.clipDot,ce=oe===void 0?!0:oe,K=P*2+V;return w.createElement(q,{className:g},b||y?w.createElement("defs",null,w.createElement("clipPath",{id:"clipPath-".concat(A)},w.createElement("rect",{x:b?i:i-j/2,y:y?p:p-N/2,width:b?j:j*2,height:y?N:N*2})),!ce&&w.createElement("clipPath",{id:"clipPath-dots-".concat(A)},w.createElement("rect",{x:i-K/2,y:p-K/2,width:j+K,height:N+K}))):null,v?null:this.renderArea(k,A),(x||v)&&this.renderDots(k,ce,A),(!m||u)&&Re.renderCallByParent(this.props,d))}}],[{key:"getDerivedStateFromProps",value:function(a,n){return a.animationId!==n.prevAnimationId?{prevAnimationId:a.animationId,curPoints:a.points,curBaseLine:a.baseLine,prevPoints:n.curPoints,prevBaseLine:n.curBaseLine}:a.points!==n.curPoints||a.baseLine!==n.curBaseLine?{curPoints:a.points,curBaseLine:a.baseLine}:null}}])})(S.PureComponent);we=$;D($,"displayName","Area");D($,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!_e.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});D($,"getBaseValue",function(t,s,r,a){var n=t.layout,c=t.baseValue,x=s.props.baseValue,d=x??c;if(X(d)&&typeof d=="number")return d;var o=n==="horizontal"?a:r,p=o.scale.domain();if(o.type==="number"){var i=Math.max(p[0],p[1]),l=Math.min(p[0],p[1]);return d==="dataMin"?l:d==="dataMax"||i<0?i:Math.max(Math.min(p[0],p[1]),0)}return d==="dataMin"?p[0]:d==="dataMax"?p[1]:p[0]});D($,"getComposedData",function(t){var s=t.props,r=t.item,a=t.xAxis,n=t.yAxis,c=t.xAxisTicks,x=t.yAxisTicks,d=t.bandSize,o=t.dataKey,p=t.stackedData,i=t.dataStartIndex,l=t.displayedData,f=t.offset,j=s.layout,N=p&&p.length,m=we.getBaseValue(s,r,a,n),h=j==="horizontal",u=!1,v=l.map(function(b,y){var k;N?k=p[i+y]:(k=ue(b,o),Array.isArray(k)?u=!0:k=[m,k]);var A=k[1]==null||N&&ue(b,o)==null;return h?{x:pe({axis:a,ticks:c,bandSize:d,entry:b,index:y}),y:A?null:n.scale(k[1]),value:k,payload:b}:{x:A?null:a.scale(k[1]),y:pe({axis:n,ticks:x,bandSize:d,entry:b,index:y}),value:k,payload:b}}),g;return N||u?g=v.map(function(b){var y=Array.isArray(b.value)?b.value[0]:null;return h?{x:b.x,y:y!=null&&b.y!=null?n.scale(y):null}:{x:y!=null?a.scale(y):null,y:b.y}}):g=h?n.scale(m):a.scale(m),R({points:v,baseLine:g,layout:j,isRange:u},f)});D($,"renderDotItem",function(t,s){var r;if(w.isValidElement(t))r=w.cloneElement(t,s);else if(ae(t))r=t(s);else{var a=je("recharts-area-dot",typeof t!="boolean"?t.className:""),n=s.key,c=Te(s,qe);r=w.createElement(Ue,_({},c,{key:n,className:a}))}return r});var nt=We({chartName:"AreaChart",GraphicalChild:$,axisComponents:[{axisType:"xAxis",AxisComp:Be},{axisType:"yAxis",AxisComp:Ne}],formatAxisMap:Fe});const rt=Pe({method:"GET"}).handler(Se("ff8a3161afdfa175e9c519e4146a56ab5bce6e80745e99cfc2191ebbb7a859bb"));function it(t,s){return Oe({queryKey:["session","detail",t],queryFn:()=>rt({data:{sessionId:t,projectPath:s}}),staleTime:3e4})}function lt(t,s,r,a){const n=[];for(const m of t)if(m.timestamp){const h=new Date(m.timestamp).getTime();isNaN(h)||n.push(h)}for(const m of s)if(m.timestamp){const h=new Date(m.timestamp).getTime();isNaN(h)||n.push(h)}for(const m of r)if(m.timestamp){const h=new Date(m.timestamp).getTime();isNaN(h)||n.push(h)}if(n.length===0)return{startMs:0,endMs:0,durationMs:0,mainLane:[],agentLanes:[],skillMarkers:[],errorMarkers:[]};const c=Math.min(...n),x=Math.max(...n),d=Math.max(x-c,1);function o(m){return(m-c)/d}const p=new Set(s.map(m=>m.toolUseId)),i=new Set(r.map(m=>m.toolUseId)),l=[];for(const m of t){if(m.type!=="assistant"||m.toolCalls.length===0)continue;const h=new Date(m.timestamp).getTime();if(!isNaN(h))for(const u of m.toolCalls)p.has(u.toolUseId)||i.has(u.toolUseId)||l.push({timestampMs:h,toolName:u.toolName,toolUseId:u.toolUseId,relativeX:o(h)})}const f=s.map(m=>{const h=new Date(m.timestamp).getTime(),u=m.durationMs?h+m.durationMs:h+d*.02,v=[];if(m.toolCalls){const g=Object.entries(m.toolCalls).sort(([,k],[,A])=>A-k),b=g.reduce((k,[,A])=>k+A,0);let y=0;for(const[k,A]of g)for(let M=0;M<A;M++){const E=b>1?y/(b-1):.5,P=h+(u-h)*E;v.push({toolName:k,count:1,relativeX:o(P)}),y++}}return{subagentType:m.subagentType,description:m.description,startMs:h,endMs:u,startX:o(h),endX:o(u),durationMs:m.durationMs??null,totalTokens:m.totalTokens??null,totalToolUseCount:m.totalToolUseCount??null,toolDots:v}}),j=r.map(m=>{const h=new Date(m.timestamp).getTime();return isNaN(h)?null:{skill:m.skill,args:m.args,timestampMs:h,relativeX:o(h)}}).filter(m=>m!==null),N=a.map(m=>{const h=new Date(m.timestamp).getTime();return isNaN(h)?null:{message:m.message,type:m.type,timestampMs:h,relativeX:o(h)}}).filter(m=>m!==null);return{startMs:c,endMs:x,durationMs:d,mainLane:l,agentLanes:f,skillMarkers:j,errorMarkers:N}}function ie(t){const s=t.match(/^mcp__[^_]+_[^_]+_[^_]+__(.+)$/);return s?s[1]:t}const ot={Read:"#60a5fa",Grep:"#60a5fa",Glob:"#60a5fa",Write:"#34d399",Edit:"#34d399",NotebookEdit:"#34d399",Bash:"#fbbf24",Task:"#818cf8",TaskCreate:"#c084fc",TaskUpdate:"#c084fc",TaskList:"#c084fc",TaskGet:"#c084fc",Skill:"#fcd34d",WebSearch:"#22d3ee",WebFetch:"#22d3ee",EnterPlanMode:"#f472b6",ExitPlanMode:"#f472b6",AskUserQuestion:"#a78bfa"},ct="#9ca3af";function le(t){return ot[t]??ct}const O=90,z=16,B=24,T=32,te=8,Ce=4;function dt(t,s,r){const a=s-t;if(a<=0)return[];const n=Math.max(3,Math.round(r/120)),c=a/n,x=[5e3,1e4,15e3,3e4,6e4,2*6e4,5*6e4,10*6e4,15*6e4,30*6e4,60*6e4,120*6e4],d=x.find(f=>f>=c)??x[x.length-1],p=a<5*6e4?"HH:mm:ss":"HH:mm",i=Math.ceil(t/d)*d,l=[];for(let f=i;f<=s;f+=d){const j=(f-t)/a;l.push({ms:f,label:I(new Date(f),p),x:O+j*(r-O-z)})}return l}function xt({data:t,width:s,onHover:r}){const a=S.useRef(null),n=s,c=n-O-z,x=t.skillMarkers.length>0,d=t.errorMarkers.length>0;let o=B;const p=o;o+=T;const i=[];for(let u=0;u<t.agentLanes.length;u++)o+=te,i.push(o),o+=T;let l=0;x&&(o+=te,l=o,o+=T);let f=0;d&&(o+=te,f=o,o+=T);const j=Math.max(o+8,80);function N(u){return O+u*c}const m=S.useCallback(u=>{if(!a.current)return{x:0,y:0};const v=a.current.getBoundingClientRect();return{x:u.clientX-v.left,y:u.clientY-v.top}},[]),h=dt(t.startMs,t.endMs,n);return e.jsxs("svg",{ref:a,width:n,height:j,className:"select-none",role:"img","aria-label":"Session timeline showing tool calls, agent runs, and skill invocations",onMouseLeave:()=>r(null,{x:0,y:0}),children:[e.jsx("line",{x1:O,y1:B-4,x2:n-z,y2:B-4,stroke:"#374151",strokeWidth:1}),h.map(u=>e.jsxs("g",{children:[e.jsx("line",{x1:u.x,y1:B-8,x2:u.x,y2:B-4,stroke:"#4b5563",strokeWidth:1}),e.jsx("text",{x:u.x,y:B-12,textAnchor:"middle",className:"fill-gray-500 text-[10px]",children:u.label})]},u.ms)),e.jsx("text",{x:4,y:p+T/2+4,className:"fill-gray-500 text-[11px] font-medium",children:"Main"}),e.jsx("line",{x1:O,y1:p+T/2,x2:n-z,y2:p+T/2,stroke:"#1f2937",strokeWidth:1,strokeDasharray:"2,4"}),t.mainLane.map(u=>e.jsx("circle",{cx:N(u.relativeX),cy:p+T/2,r:Ce,fill:le(u.toolName),opacity:.85,className:"cursor-pointer transition-transform hover:opacity-100",onMouseEnter:v=>r({kind:"tool",toolName:u.toolName,timestamp:new Date(u.timestampMs).toISOString(),toolUseId:u.toolUseId},m(v)),onMouseLeave:()=>r(null,{x:0,y:0}),children:e.jsx("title",{children:u.toolName})},u.toolUseId)),t.agentLanes.map((u,v)=>e.jsx(mt,{lane:u,y:i[v],toX:N,laneHeight:T,leftMargin:O,onHover:r,getPosition:m},`${u.subagentType}-${v}`)),x&&e.jsxs(e.Fragment,{children:[e.jsx("text",{x:4,y:l+T/2+4,className:"fill-amber-400/70 text-[11px] font-medium",children:"Skills"}),e.jsx("line",{x1:O,y1:l+T/2,x2:n-z,y2:l+T/2,stroke:"#1f2937",strokeWidth:1,strokeDasharray:"2,4"}),t.skillMarkers.map((u,v)=>{const g=N(u.relativeX),b=l+T/2,y=5;return e.jsx("polygon",{points:`${g},${b-y} ${g+y},${b} ${g},${b+y} ${g-y},${b}`,fill:"#fbbf24",opacity:.85,className:"cursor-pointer hover:opacity-100",onMouseEnter:k=>r({kind:"skill",skill:u.skill,args:u.args,timestamp:new Date(u.timestampMs).toISOString()},m(k)),onMouseLeave:()=>r(null,{x:0,y:0}),children:e.jsxs("title",{children:["/",u.skill]})},`${u.skill}-${v}`)})]}),d&&e.jsxs(e.Fragment,{children:[e.jsx("text",{x:4,y:f+T/2+4,className:"fill-red-400/70 text-[11px] font-medium",children:"Errors"}),e.jsx("line",{x1:O,y1:f+T/2,x2:n-z,y2:f+T/2,stroke:"#1f2937",strokeWidth:1,strokeDasharray:"2,4"}),t.errorMarkers.map((u,v)=>{const g=N(u.relativeX),b=f+T/2,y=5;return e.jsxs("g",{className:"cursor-pointer hover:opacity-100",opacity:.85,onMouseEnter:k=>r({kind:"error",message:u.message,type:u.type,timestamp:new Date(u.timestampMs).toISOString()},m(k)),onMouseLeave:()=>r(null,{x:0,y:0}),children:[e.jsx("line",{x1:g-y,y1:b-y,x2:g+y,y2:b+y,stroke:"#f87171",strokeWidth:2,strokeLinecap:"round"}),e.jsx("line",{x1:g+y,y1:b-y,x2:g-y,y2:b+y,stroke:"#f87171",strokeWidth:2,strokeLinecap:"round"}),e.jsxs("title",{children:[u.type,": ",u.message]})]},`err-${v}`)})]})]})}function mt({lane:t,y:s,toX:r,laneHeight:a,leftMargin:n,onHover:c,getPosition:x}){const d=r(t.startX),o=Math.max(r(t.endX)-d,8),p=s+a/2,i=t.subagentType.length>10?t.subagentType.slice(0,10)+"...":t.subagentType;return e.jsxs("g",{children:[e.jsx("text",{x:4,y:p+4,className:"fill-indigo-400/70 text-[11px] font-medium",children:i}),e.jsx("rect",{x:d,y:s+2,width:o,height:a-4,rx:6,fill:"rgba(99, 102, 241, 0.08)",stroke:"rgba(99, 102, 241, 0.2)",strokeWidth:1,className:"cursor-pointer hover:fill-indigo-500/15",onMouseEnter:l=>c({kind:"agent",agent:t},x(l)),onMouseLeave:()=>c(null,{x:0,y:0}),children:e.jsxs("title",{children:[t.subagentType,": ",t.description]})}),e.jsx("line",{x1:d+4,y1:p,x2:d+o-4,y2:p,stroke:"rgba(99, 102, 241, 0.15)",strokeWidth:1}),t.toolDots.map((l,f)=>e.jsx("circle",{cx:r(l.relativeX),cy:p,r:Ce-.5,fill:le(l.toolName),opacity:.75,className:"cursor-pointer hover:opacity-100",onMouseEnter:j=>c({kind:"tool",toolName:l.toolName,timestamp:new Date(t.startMs+(l.relativeX-t.startX)/(t.endX-t.startX)*(t.endMs-t.startMs)).toISOString(),toolUseId:`${t.subagentType}-${l.toolName}-${f}`},x(j)),onMouseLeave:()=>c(null,{x:0,y:0}),children:e.jsxs("title",{children:[l.toolName," (",t.subagentType,")"]})},`${l.toolName}-${f}`))]})}function ut({item:t,position:s}){return e.jsxs("div",{className:"pointer-events-none absolute z-50 rounded-lg border border-gray-700 bg-gray-900 px-3 py-2 text-xs shadow-xl",style:{left:s.x,top:s.y,transform:"translate(-50%, -100%) translateY(-8px)"},children:[t.kind==="tool"&&e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold text-gray-100",children:ie(t.toolName)}),e.jsx("div",{className:"text-gray-400",children:I(new Date(t.timestamp),"HH:mm:ss")}),e.jsxs("div",{className:"font-mono text-[10px] text-gray-600",children:[t.toolUseId.slice(0,16),"..."]})]}),t.kind==="agent"&&e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold text-indigo-300",children:t.agent.subagentType}),e.jsx("div",{className:"max-w-48 truncate text-gray-400",children:t.agent.description}),e.jsx("div",{className:"mt-1 flex items-center gap-2 text-gray-500",children:t.agent.durationMs!=null&&e.jsxs("span",{children:[I(new Date(t.agent.startMs),"HH:mm")," -"," ",I(new Date(t.agent.endMs),"HH:mm")," (",re(t.agent.durationMs),")"]})}),e.jsxs("div",{className:"flex items-center gap-2 text-gray-500",children:[t.agent.totalTokens!=null&&e.jsxs("span",{children:[C(t.agent.totalTokens)," tokens"]}),t.agent.totalToolUseCount!=null&&e.jsxs("span",{children:[t.agent.totalToolUseCount," tools"]})]})]}),t.kind==="skill"&&e.jsxs("div",{children:[e.jsxs("div",{className:"font-semibold text-amber-300",children:["/",t.skill]}),t.args&&e.jsx("div",{className:"text-gray-400",children:t.args}),e.jsx("div",{className:"text-gray-500",children:I(new Date(t.timestamp),"HH:mm:ss")})]}),t.kind==="error"&&e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold text-red-400",children:t.type}),e.jsx("div",{className:"max-w-48 truncate text-gray-400",children:t.message}),e.jsx("div",{className:"text-gray-500",children:I(new Date(t.timestamp),"HH:mm:ss")})]})]})}function pt({toolNames:t}){const s=[...new Set(t)].slice(0,12);return s.length===0?null:e.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 px-1 text-[10px] text-gray-500",children:[s.map(r=>e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rounded-full",style:{backgroundColor:le(r)}}),e.jsx("span",{children:ie(r)})]},r)),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rotate-45 bg-amber-400"}),e.jsx("span",{children:"Skill"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"text-red-400 font-bold leading-none",children:"×"}),e.jsx("span",{children:"Error"})]})]})}function ht({turns:t,agents:s,skills:r,errors:a}){const n=S.useRef(null),[c,x]=S.useState(0),[d,o]=S.useState(1),[p,i]=S.useState(null);S.useEffect(()=>{if(!n.current)return;const g=new ResizeObserver(b=>{const y=b[0];y&&x(y.contentRect.width)});return g.observe(n.current),()=>g.disconnect()},[]);const l=S.useMemo(()=>lt(t,s,r,a),[t,s,r,a]),f=S.useMemo(()=>{const g=l.mainLane.map(y=>y.toolName);for(const y of l.agentLanes)for(const k of y.toolDots)g.push(k.toolName);const b={};for(const y of g)b[y]=(b[y]??0)+1;return Object.entries(b).sort(([,y],[,k])=>k-y).map(([y])=>y)},[l]),j=(g,b)=>{i(g?{item:g,position:b}:null)};if(t.length===0)return e.jsx("div",{className:"py-8 text-center text-sm text-gray-500",children:"No timeline data available"});const N=new Set(s.map(g=>g.toolUseId)),m=new Set(r.map(g=>g.toolUseId));let h=0,u=0,v=0;for(const g of t)if(g.type==="user"&&g.message?.trim()&&h++,g.type==="assistant"){u++;for(const b of g.toolCalls)!N.has(b.toolUseId)&&!m.has(b.toolUseId)&&v++}return e.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[e.jsxs("div",{className:"mb-3 flex flex-wrap items-center gap-4",children:[e.jsx(F,{label:"User commands",value:h,color:"blue"}),e.jsx(F,{label:"AI responses",value:u,color:"purple"}),v>0&&e.jsx(F,{label:"Tool calls",value:v,color:"gray"}),s.length>0&&e.jsx(F,{label:"Agents",value:s.length,color:"indigo"}),r.length>0&&e.jsx(F,{label:"Skills",value:r.length,color:"amber"}),a.length>0&&e.jsx(F,{label:"Errors",value:a.length,color:"red"})]}),e.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2",children:[e.jsx("div",{className:"flex-1",children:f.length>0&&e.jsx(pt,{toolNames:f})}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[e.jsx("button",{type:"button",onClick:()=>o(g=>Math.max(1,g-.5)),disabled:d<=1,className:"rounded bg-gray-800 px-2 py-0.5 text-xs text-gray-300 transition-colors hover:bg-gray-700 disabled:opacity-30",title:"Zoom out",children:"−"}),e.jsx("span",{className:"min-w-[3rem] text-center text-[10px] tabular-nums text-gray-500",children:d===1?"Fit":`${d.toFixed(1)}x`}),e.jsx("button",{type:"button",onClick:()=>o(g=>Math.min(8,g+.5)),disabled:d>=8,className:"rounded bg-gray-800 px-2 py-0.5 text-xs text-gray-300 transition-colors hover:bg-gray-700 disabled:opacity-30",title:"Zoom in",children:"+"}),d>1&&e.jsx("button",{type:"button",onClick:()=>o(1),className:"ml-1 rounded bg-gray-800 px-2 py-0.5 text-[10px] text-gray-400 transition-colors hover:bg-gray-700",title:"Reset zoom",children:"Reset"})]})]}),e.jsx("div",{ref:n,className:"relative overflow-x-auto",children:c>0&&e.jsxs(e.Fragment,{children:[e.jsx(xt,{data:l,width:Math.max(c*d,400),onHover:j}),p&&e.jsx(ut,{item:p.item,position:p.position})]})})]})}function F({label:t,value:s,color:r}){const a={blue:"bg-blue-500/15 text-blue-400",purple:"bg-purple-500/15 text-purple-400",gray:"bg-gray-800 text-gray-300",indigo:"bg-indigo-500/15 text-indigo-400",amber:"bg-amber-500/15 text-amber-400",red:"bg-red-500/15 text-red-400"};return e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:`rounded-md px-2 py-1 text-sm font-bold tabular-nums ${a[r]}`,children:s}),e.jsx("span",{className:"text-[11px] text-gray-500",children:t})]})}function ft({contextWindow:t,tokens:s}){const[r,a]=S.useState(!1);if(!t)return e.jsx(yt,{tokens:s});const{contextLimit:n,modelName:c,systemOverhead:x,currentContextSize:d,messagesEstimate:o,freeSpace:p,autocompactBuffer:i,usagePercent:l,snapshots:f}=t,j=x/n*100,N=o/n*100,m=i/n*100,h=Math.max(0,100-j-N),u=c.replace(/^claude-/,"").split("-202")[0],v=f.map(g=>({turn:g.turnIndex,context:g.contextSize}));return e.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-300",children:"Context Window"}),e.jsx("span",{className:"rounded bg-gray-800 px-1.5 py-0.5 text-[10px] font-mono text-gray-400",children:u})]}),e.jsxs("div",{className:"mt-1 flex items-baseline gap-1",children:[e.jsx("span",{className:"text-2xl font-bold text-white",children:C(d)}),e.jsxs("span",{className:"text-sm text-gray-500",children:["/ ",C(n)]}),e.jsxs("span",{className:"text-sm text-gray-400",children:["(",l,"%)"]})]}),e.jsx("p",{className:"text-[10px] text-gray-500",children:"~estimated from token usage"}),e.jsxs("div",{className:"mt-3 flex h-3 overflow-hidden rounded-full bg-gray-800",children:[e.jsx("div",{className:"bg-purple-500",style:{width:`${j}%`},title:`System: ~${C(x)}`}),e.jsx("div",{className:"bg-blue-500",style:{width:`${N}%`},title:`Messages: ~${C(o)}`}),h>0&&e.jsx(e.Fragment,{children:h>m?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"bg-gray-700",style:{width:`${h-m}%`}}),e.jsx("div",{className:"autocompact-stripe",style:{width:`${Math.min(m,h)}%`}})]}):e.jsx("div",{className:"autocompact-stripe",style:{width:`${h}%`}})})]}),e.jsxs("div",{className:"mt-1 flex gap-3 text-[10px] text-gray-500",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-purple-500"}),"system"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-blue-500"}),"messages"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-gray-700"}),"free"]})]}),e.jsxs("div",{className:"mt-3 space-y-1.5",children:[e.jsx(Z,{label:"System overhead",value:x,total:n,color:"bg-purple-500",prefix:"~"}),e.jsx(Z,{label:"Messages",value:o,total:n,color:"bg-blue-500",prefix:"~"}),e.jsx(Z,{label:"Autocompact buffer",value:i,total:n,color:"bg-amber-500"}),e.jsx(Z,{label:"Free space",value:p,total:n,color:"bg-gray-600"})]}),v.length>1&&e.jsxs("div",{className:"mt-3",children:[e.jsx("p",{className:"mb-1 text-[10px] text-gray-500",children:"Context growth"}),e.jsx(Xe,{width:"100%",height:96,children:e.jsxs(nt,{data:v,children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:"contextGrad",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#3b82f6",stopOpacity:.3}),e.jsx("stop",{offset:"100%",stopColor:"#3b82f6",stopOpacity:.05})]})}),e.jsx(Ne,{domain:[0,n],hide:!0}),e.jsx(ze,{contentStyle:{background:"#1f2937",border:"1px solid #374151",borderRadius:"8px",fontSize:"11px"},labelFormatter:g=>`Turn ${g}`,formatter:g=>[C(g),"Context"]}),e.jsx(he,{y:n,stroke:"#ef4444",strokeDasharray:"4 4",strokeOpacity:.5}),e.jsx(he,{y:n-i,stroke:"#f59e0b",strokeDasharray:"2 4",strokeOpacity:.3}),e.jsx($,{type:"stepAfter",dataKey:"context",stroke:"#3b82f6",fill:"url(#contextGrad)",strokeWidth:1.5,dot:!1})]})})]}),e.jsxs("button",{onClick:()=>a(!r),className:"mt-3 flex w-full items-center gap-1 text-xs text-gray-400 hover:text-gray-300 transition-colors",children:[e.jsx("span",{className:"text-[10px]",children:r?"▾":"▸"}),"Token Details"]}),r&&e.jsx(gt,{tokens:s}),e.jsx("style",{children:`
2
2
  .autocompact-stripe {
3
3
  background: repeating-linear-gradient(
4
4
  -45deg,
@@ -0,0 +1 @@
1
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-violet-400:oklch(70.2% .183 293.541);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-pink-400:oklch(71.8% .202 349.761);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-white:#fff;--spacing:.25rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.static{position:static}.-top-8{top:calc(var(--spacing)*-8)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-14{height:calc(var(--spacing)*14)}.h-28{height:calc(var(--spacing)*28)}.h-64{height:calc(var(--spacing)*64)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-full{width:100%}.max-w-5xl{max-width:var(--container-5xl)}.max-w-48{max-width:calc(var(--spacing)*48)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[2rem\]{min-width:2rem}.min-w-\[3rem\]{min-width:3rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\/50{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/50{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-gray-800\/50{border-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.border-gray-800\/50{border-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.border-indigo-500\/10{border-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/10{border-color:color-mix(in oklab,var(--color-indigo-500)10%,transparent)}}.border-indigo-500\/20{border-color:#625fff33}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/20{border-color:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.border-red-900\/50{border-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.border-red-900\/50{border-color:color-mix(in oklab,var(--color-red-900)50%,transparent)}}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500)15%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-500\/15{background-color:#3080ff26}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/15{background-color:color-mix(in oklab,var(--color-blue-500)15%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500)15%,transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-500\/15{background-color:#6a728226}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/15{background-color:color-mix(in oklab,var(--color-gray-500)15%,transparent)}}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-900\/50{background-color:#10182880}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/50{background-color:color-mix(in oklab,var(--color-gray-900)50%,transparent)}}.bg-gray-950{background-color:var(--color-gray-950)}.bg-gray-950\/40{background-color:#03071266}@supports (color:color-mix(in lab,red,red)){.bg-gray-950\/40{background-color:color-mix(in oklab,var(--color-gray-950)40%,transparent)}}.bg-indigo-500\/15{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/15{background-color:color-mix(in oklab,var(--color-indigo-500)15%,transparent)}}.bg-indigo-500\/20{background-color:#625fff33}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/20{background-color:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.bg-indigo-900\/30{background-color:#312c854d}@supports (color:color-mix(in lab,red,red)){.bg-indigo-900\/30{background-color:color-mix(in oklab,var(--color-indigo-900)30%,transparent)}}.bg-indigo-950\/15{background-color:#1e1a4d26}@supports (color:color-mix(in lab,red,red)){.bg-indigo-950\/15{background-color:color-mix(in oklab,var(--color-indigo-950)15%,transparent)}}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/15{background-color:color-mix(in oklab,var(--color-purple-500)15%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-950\/20{background-color:#46080933}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/20{background-color:color-mix(in oklab,var(--color-red-950)20%,transparent)}}.bg-red-950\/30{background-color:#4608094d}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/30{background-color:color-mix(in oklab,var(--color-red-950)30%,transparent)}}.fill-amber-400\/70{fill:#fcbb00b3}@supports (color:color-mix(in lab,red,red)){.fill-amber-400\/70{fill:color-mix(in oklab,var(--color-amber-400)70%,transparent)}}.fill-gray-500{fill:var(--color-gray-500)}.fill-indigo-400\/70{fill:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.fill-indigo-400\/70{fill:color-mix(in oklab,var(--color-indigo-400)70%,transparent)}}.fill-red-400\/70{fill:#ff6568b3}@supports (color:color-mix(in lab,red,red)){.fill-red-400\/70{fill:color-mix(in oklab,var(--color-red-400)70%,transparent)}}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/60{color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/60{color:color-mix(in oklab,var(--color-amber-400)60%,transparent)}}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/80{color:#00d294cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/80{color:color-mix(in oklab,var(--color-emerald-400)80%,transparent)}}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-300\/70{color:#a4b3ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-300\/70{color:color-mix(in oklab,var(--color-indigo-300)70%,transparent)}}.text-indigo-400{color:var(--color-indigo-400)}.text-indigo-400\/50{color:#7d87ff80}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/50{color:color-mix(in oklab,var(--color-indigo-400)50%,transparent)}}.text-indigo-400\/60{color:#7d87ff99}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/60{color:color-mix(in oklab,var(--color-indigo-400)60%,transparent)}}.text-indigo-400\/80{color:#7d87ffcc}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/80{color:color-mix(in oklab,var(--color-indigo-400)80%,transparent)}}.text-pink-400{color:var(--color-pink-400)}.text-purple-400{color:var(--color-purple-400)}.text-red-200\/80{color:#ffcacacc}@supports (color:color-mix(in lab,red,red)){.text-red-200\/80{color:color-mix(in oklab,var(--color-red-200)80%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}.hover\:border-gray-600:hover{border-color:var(--color-gray-600)}.hover\:border-gray-700:hover{border-color:var(--color-gray-700)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-gray-800\/50:hover{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-800\/50:hover{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.hover\:bg-indigo-950\/30:hover{background-color:#1e1a4d4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-indigo-950\/30:hover{background-color:color-mix(in oklab,var(--color-indigo-950)30%,transparent)}}.hover\:fill-indigo-500\/15:hover{fill:#625fff26}@supports (color:color-mix(in lab,red,red)){.hover\:fill-indigo-500\/15:hover{fill:color-mix(in oklab,var(--color-indigo-500)15%,transparent)}}.hover\:text-gray-200:hover{color:var(--color-gray-200)}.hover\:text-gray-300:hover{color:var(--color-gray-300)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}@media(hover:hover){.disabled\:hover\:bg-gray-800:disabled:hover{background-color:var(--color-gray-800)}.disabled\:hover\:text-gray-400:disabled:hover{color:var(--color-gray-400)}}@media(min-width:40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-between{justify-content:space-between}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
@@ -1 +1 @@
1
- import{S as te,z as L,A as v,l as _,B as m,v as F,C as Q,D as V,E as se,F as E,G as re,H as ne,I as k,q as J,r as y,w as Y,t as ie,J as ae,T as B,K as oe,M as ce}from"./main-Bssrw_E_.js";function $(e){if(Array.isArray(e))return e.flatMap(a=>$(a));if(typeof e!="string")return[];const t=[];let s=0,n,i,c,r,o;const d=()=>{for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length},h=()=>(i=e.charAt(s),i!=="="&&i!==";"&&i!==",");for(;s<e.length;){for(n=s,o=!1;d();)if(i=e.charAt(s),i===","){for(c=s,s+=1,d(),r=s;s<e.length&&h();)s+=1;s<e.length&&e.charAt(s)==="="?(o=!0,s=r,t.push(e.slice(n,c)),n=s):s=c+1}else s+=1;(!o||s>=e.length)&&t.push(e.slice(n))}return t}function he(e){return e instanceof Headers?e:Array.isArray(e)?new Headers(e):typeof e=="object"?new Headers(e):null}function le(...e){return e.reduce((t,s)=>{const n=he(s);if(!n)return t;for(const[i,c]of n.entries())i==="set-cookie"?$(c).forEach(o=>t.append("set-cookie",o)):t.set(i,c);return t},new Headers)}var ue=class extends te{constructor(e,t){super(),this.options=t,this.#s=e,this.#n=null,this.#r=L(),this.bindMethods(),this.setOptions(t)}#s;#e=void 0;#p=void 0;#t=void 0;#a;#l;#r;#n;#v;#u;#d;#o;#c;#i;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),W(this.#e,this.options)?this.#h():this.updateResult(),this.#R())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return P(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return P(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#m(),this.#O(),this.#e.removeObserver(this)}setOptions(e){const t=this.options,s=this.#e;if(this.options=this.#s.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof v(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#g(),this.#e.setOptions(this.options),t._defaulted&&!_(this.options,t)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const n=this.hasListeners();n&&z(this.#e,s,this.options,t)&&this.#h(),this.updateResult(),n&&(this.#e!==s||v(this.options.enabled,this.#e)!==v(t.enabled,this.#e)||m(this.options.staleTime,this.#e)!==m(t.staleTime,this.#e))&&this.#w();const i=this.#y();n&&(this.#e!==s||v(this.options.enabled,this.#e)!==v(t.enabled,this.#e)||i!==this.#i)&&this.#b(i)}getOptimisticResult(e){const t=this.#s.getQueryCache().build(this.#s,e),s=this.createResult(t,e);return fe(this,s)&&(this.#t=s,this.#l=this.options,this.#a=this.#e.state),s}getCurrentResult(){return this.#t}trackResult(e,t){return new Proxy(e,{get:(s,n)=>(this.trackProp(n),t?.(n),n==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#r.status==="pending"&&this.#r.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,n))})}trackProp(e){this.#f.add(e)}getCurrentQuery(){return this.#e}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#s.defaultQueryOptions(e),s=this.#s.getQueryCache().build(this.#s,t);return s.fetch().then(()=>this.createResult(s,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#t))}#h(e){this.#g();let t=this.#e.fetch(this.options,e);return e?.throwOnError||(t=t.catch(F)),t}#w(){this.#m();const e=m(this.options.staleTime,this.#e);if(Q||this.#t.isStale||!V(e))return;const s=se(this.#t.dataUpdatedAt,e)+1;this.#o=E.setTimeout(()=>{this.#t.isStale||this.updateResult()},s)}#y(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#b(e){this.#O(),this.#i=e,!(Q||v(this.options.enabled,this.#e)===!1||!V(this.#i)||this.#i===0)&&(this.#c=E.setInterval(()=>{(this.options.refetchIntervalInBackground||re.isFocused())&&this.#h()},this.#i))}#R(){this.#w(),this.#b(this.#y())}#m(){this.#o&&(E.clearTimeout(this.#o),this.#o=void 0)}#O(){this.#c&&(E.clearInterval(this.#c),this.#c=void 0)}createResult(e,t){const s=this.#e,n=this.options,i=this.#t,c=this.#a,r=this.#l,d=e!==s?e.state:this.#p,{state:h}=e;let a={...h},l=!1,u;if(t._optimisticResults){const f=this.hasListeners(),R=!f&&W(e,t),O=f&&z(e,s,t,n);(R||O)&&(a={...a,...ne(h.data,e.options)}),t._optimisticResults==="isRestoring"&&(a.fetchStatus="idle")}let{error:w,errorUpdatedAt:C,status:p}=a;u=a.data;let D=!1;if(t.placeholderData!==void 0&&u===void 0&&p==="pending"){let f;i?.isPlaceholderData&&t.placeholderData===r?.placeholderData?(f=i.data,D=!0):f=typeof t.placeholderData=="function"?t.placeholderData(this.#d?.state.data,this.#d):t.placeholderData,f!==void 0&&(p="success",u=k(i?.data,f,t),l=!0)}if(t.select&&u!==void 0&&!D)if(i&&u===c?.data&&t.select===this.#v)u=this.#u;else try{this.#v=t.select,u=t.select(u),u=k(i?.data,u,t),this.#u=u,this.#n=null}catch(f){this.#n=f}this.#n&&(w=this.#n,u=this.#u,C=Date.now(),p="error");const M=a.fetchStatus==="fetching",I=p==="pending",x=p==="error",N=I&&M,j=u!==void 0,b={status:p,fetchStatus:a.fetchStatus,isPending:I,isSuccess:p==="success",isError:x,isInitialLoading:N,isLoading:N,data:u,dataUpdatedAt:a.dataUpdatedAt,error:w,errorUpdatedAt:C,failureCount:a.fetchFailureCount,failureReason:a.fetchFailureReason,errorUpdateCount:a.errorUpdateCount,isFetched:a.dataUpdateCount>0||a.errorUpdateCount>0,isFetchedAfterMount:a.dataUpdateCount>d.dataUpdateCount||a.errorUpdateCount>d.errorUpdateCount,isFetching:M,isRefetching:M&&!I,isLoadingError:x&&!j,isPaused:a.fetchStatus==="paused",isPlaceholderData:l,isRefetchError:x&&j,isStale:A(e,t),refetch:this.refetch,promise:this.#r,isEnabled:v(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const f=b.data!==void 0,R=b.status==="error"&&!f,O=S=>{R?S.reject(b.error):f&&S.resolve(b.data)},H=()=>{const S=this.#r=b.promise=L();O(S)},g=this.#r;switch(g.status){case"pending":e.queryHash===s.queryHash&&O(g);break;case"fulfilled":(R||b.data!==g.value)&&H();break;case"rejected":(!R||b.error!==g.reason)&&H();break}}return b}updateResult(){const e=this.#t,t=this.createResult(this.#e,this.options);if(this.#a=this.#e.state,this.#l=this.options,this.#a.data!==void 0&&(this.#d=this.#e),_(t,e))return;this.#t=t;const s=()=>{if(!e)return!0;const{notifyOnChangeProps:n}=this.options,i=typeof n=="function"?n():n;if(i==="all"||!i&&!this.#f.size)return!0;const c=new Set(i??this.#f);return this.options.throwOnError&&c.add("error"),Object.keys(this.#t).some(r=>{const o=r;return this.#t[o]!==e[o]&&c.has(o)})};this.#S({listeners:s()})}#g(){const e=this.#s.getQueryCache().build(this.#s,this.options);if(e===this.#e)return;const t=this.#e;this.#e=e,this.#p=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#R()}#S(e){J.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#t)}),this.#s.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function de(e,t){return v(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function W(e,t){return de(e,t)||e.state.data!==void 0&&P(e,t,t.refetchOnMount)}function P(e,t,s){if(v(t.enabled,e)!==!1&&m(t.staleTime,e)!=="static"){const n=typeof s=="function"?s(e):s;return n==="always"||n!==!1&&A(e,t)}return!1}function z(e,t,s,n){return(e!==t||v(n.enabled,e)===!1)&&(!s.suspense||e.state.status!=="error")&&A(e,s)}function A(e,t){return v(t.enabled,e)!==!1&&e.isStaleByTime(m(t.staleTime,e))}function fe(e,t){return!_(e.getCurrentResult(),t)}var X=y.createContext(!1),pe=()=>y.useContext(X);X.Provider;function ve(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var we=y.createContext(ve()),ye=()=>y.useContext(we),be=(e,t,s)=>{const n=s?.state.error&&typeof e.throwOnError=="function"?Y(e.throwOnError,[s.state.error,s]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||n)&&(t.isReset()||(e.retryOnMount=!1))},Re=e=>{y.useEffect(()=>{e.clearReset()},[e])},me=({result:e,errorResetBoundary:t,throwOnError:s,query:n,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(i&&e.data===void 0||Y(s,[e.error,n])),Oe=e=>{if(e.suspense){const s=i=>i==="static"?i:Math.max(i??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...i)=>s(n(...i)):s(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},ge=(e,t)=>e.isLoading&&e.isFetching&&!t,Se=(e,t)=>e?.suspense&&t.isPending,G=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function Ee(e,t,s){const n=pe(),i=ye(),c=ie(),r=c.defaultQueryOptions(e);c.getDefaultOptions().queries?._experimental_beforeQuery?.(r);const o=c.getQueryCache().get(r.queryHash);r._optimisticResults=n?"isRestoring":"optimistic",Oe(r),be(r,i,o),Re(i);const d=!c.getQueryCache().get(r.queryHash),[h]=y.useState(()=>new t(c,r)),a=h.getOptimisticResult(r),l=!n&&e.subscribed!==!1;if(y.useSyncExternalStore(y.useCallback(u=>{const w=l?h.subscribe(J.batchCalls(u)):F;return h.updateResult(),w},[h,l]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),y.useEffect(()=>{h.setOptions(r)},[r,h]),Se(r,a))throw G(r,h,i);if(me({result:a,errorResetBoundary:i,throwOnError:r.throwOnError,query:o,suspense:r.suspense}))throw a.error;return c.getDefaultOptions().queries?._experimental_afterQuery?.(r,a),r.experimental_prefetchInRender&&!Q&&ge(a,n)&&(d?G(r,h,i):o?.promise)?.catch(F).finally(()=>{h.updateResult()}),r.notifyOnChangeProps?a:h.trackResult(a)}function _e(e,t){return Ee(e,ue)}function Fe(e){return e}const Z=()=>{throw new Error("createServerOnlyFn() functions can only be called on the server!")};function K(e){return e!=="__proto__"&&e!=="constructor"&&e!=="prototype"}function U(e,t){const s=Object.create(null);if(e)for(const n of Object.keys(e))K(n)&&(s[n]=e[n]);if(t&&typeof t=="object")for(const n of Object.keys(t))K(n)&&(s[n]=t[n]);return s}function ee(e){return Object.create(null)}const T=(e,t)=>{const s=t||e||{};return typeof s.method>"u"&&(s.method="GET"),Object.assign(c=>{const r={...s,...c};return T(void 0,r)},{options:s,middleware:c=>{const r=[...s.middleware||[]];c.map(h=>{B in h?h.options.middleware&&r.push(...h.options.middleware):r.push(h)});const o={...s,middleware:r},d=T(void 0,o);return d[B]=!0,d},inputValidator:c=>{const r={...s,inputValidator:c};return T(void 0,r)},handler:(...c)=>{const[r,o]=c,d={...s,extractedFn:r,serverFn:o},h=[...d.middleware||[],Ie(d)];return Object.assign(async a=>{const l=await q(h,"client",{...r,...d,data:a?.data,headers:a?.headers,signal:a?.signal,fetch:a?.fetch,context:ee()}),u=ae(l.error);if(u)throw u;if(l.error)throw l.error;return l.result},{...r,__executeServer:async a=>{const l=Z(),u=l.contextAfterGlobalMiddlewares,w={...r,...a,serverFnMeta:r.serverFnMeta,context:U(u,a.context),request:l.request};return await q(h,"server",w).then(p=>({result:p.result,error:p.error,context:p.sendContext}))}})}})};async function q(e,t,s){const n=oe()?.functionMiddleware||[];let i=Ce([...n,...e]);if(t==="server"){const r=Z();r?.executedRequestMiddlewares&&(i=i.filter(o=>!r.executedRequestMiddlewares.has(o)))}const c=async r=>{const o=i.shift();if(!o)return r;try{"inputValidator"in o.options&&o.options.inputValidator&&t==="server"&&(r.data=await Me(o.options.inputValidator,r.data));let d;if(t==="client"?"client"in o.options&&(d=o.options.client):"server"in o.options&&(d=o.options.server),d){const a=await d({...r,next:async(l={})=>{const u={...r,...l,context:U(r.context,l.context),sendContext:U(r.sendContext,l.sendContext),headers:le(r.headers,l.headers),_callSiteFetch:r._callSiteFetch,fetch:r._callSiteFetch??l.fetch??r.fetch,result:l.result!==void 0?l.result:l instanceof Response?l:r.result,error:l.error??r.error},w=await c(u);if(w.error)throw w.error;return w}});if(ce(a))return{...r,error:a};if(a instanceof Response)return{...r,result:a};if(!a)throw new Error("User middleware returned undefined. You must call next() or return a result in your middlewares.");return a}return c(r)}catch(d){return{...r,error:d}}};return c({...s,headers:s.headers||{},sendContext:s.sendContext||{},context:s.context||ee(),_callSiteFetch:s.fetch})}function Ce(e,t=100){const s=new Set,n=[],i=(c,r)=>{if(r>t)throw new Error(`Middleware nesting depth exceeded maximum of ${t}. Check for circular references.`);c.forEach(o=>{o.options.middleware&&i(o.options.middleware,r+1),s.has(o)||(s.add(o),n.push(o))})};return i(e,0),n}async function Me(e,t){if(e==null)return{};if("~standard"in e){const s=await e["~standard"].validate(t);if(s.issues)throw new Error(JSON.stringify(s.issues,void 0,2));return s.value}if("parse"in e)return e.parse(t);if(typeof e=="function")return e(t);throw new Error("Invalid validator type!")}function Ie(e){return{"~types":void 0,options:{inputValidator:e.inputValidator,client:async({next:t,sendContext:s,fetch:n,...i})=>{const c={...i,context:s,fetch:n},r=await e.extractedFn?.(c);return t(r)},server:async({next:t,...s})=>{const n=await e.serverFn?.(s);return t({...s,result:n})}}}}export{T as c,Fe as q,_e as u};
1
+ import{S as te,z as L,A as v,l as _,B as m,v as F,C as Q,D as V,E as se,F as E,G as re,H as ne,I as k,q as J,r as y,w as Y,t as ie,J as ae,T as B,K as oe,M as ce}from"./main-CzD8HjLq.js";function $(e){if(Array.isArray(e))return e.flatMap(a=>$(a));if(typeof e!="string")return[];const t=[];let s=0,n,i,c,r,o;const d=()=>{for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length},h=()=>(i=e.charAt(s),i!=="="&&i!==";"&&i!==",");for(;s<e.length;){for(n=s,o=!1;d();)if(i=e.charAt(s),i===","){for(c=s,s+=1,d(),r=s;s<e.length&&h();)s+=1;s<e.length&&e.charAt(s)==="="?(o=!0,s=r,t.push(e.slice(n,c)),n=s):s=c+1}else s+=1;(!o||s>=e.length)&&t.push(e.slice(n))}return t}function he(e){return e instanceof Headers?e:Array.isArray(e)?new Headers(e):typeof e=="object"?new Headers(e):null}function le(...e){return e.reduce((t,s)=>{const n=he(s);if(!n)return t;for(const[i,c]of n.entries())i==="set-cookie"?$(c).forEach(o=>t.append("set-cookie",o)):t.set(i,c);return t},new Headers)}var ue=class extends te{constructor(e,t){super(),this.options=t,this.#s=e,this.#n=null,this.#r=L(),this.bindMethods(),this.setOptions(t)}#s;#e=void 0;#p=void 0;#t=void 0;#a;#l;#r;#n;#v;#u;#d;#o;#c;#i;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),W(this.#e,this.options)?this.#h():this.updateResult(),this.#R())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return P(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return P(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#m(),this.#O(),this.#e.removeObserver(this)}setOptions(e){const t=this.options,s=this.#e;if(this.options=this.#s.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof v(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#g(),this.#e.setOptions(this.options),t._defaulted&&!_(this.options,t)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const n=this.hasListeners();n&&z(this.#e,s,this.options,t)&&this.#h(),this.updateResult(),n&&(this.#e!==s||v(this.options.enabled,this.#e)!==v(t.enabled,this.#e)||m(this.options.staleTime,this.#e)!==m(t.staleTime,this.#e))&&this.#w();const i=this.#y();n&&(this.#e!==s||v(this.options.enabled,this.#e)!==v(t.enabled,this.#e)||i!==this.#i)&&this.#b(i)}getOptimisticResult(e){const t=this.#s.getQueryCache().build(this.#s,e),s=this.createResult(t,e);return fe(this,s)&&(this.#t=s,this.#l=this.options,this.#a=this.#e.state),s}getCurrentResult(){return this.#t}trackResult(e,t){return new Proxy(e,{get:(s,n)=>(this.trackProp(n),t?.(n),n==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#r.status==="pending"&&this.#r.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,n))})}trackProp(e){this.#f.add(e)}getCurrentQuery(){return this.#e}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#s.defaultQueryOptions(e),s=this.#s.getQueryCache().build(this.#s,t);return s.fetch().then(()=>this.createResult(s,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#t))}#h(e){this.#g();let t=this.#e.fetch(this.options,e);return e?.throwOnError||(t=t.catch(F)),t}#w(){this.#m();const e=m(this.options.staleTime,this.#e);if(Q||this.#t.isStale||!V(e))return;const s=se(this.#t.dataUpdatedAt,e)+1;this.#o=E.setTimeout(()=>{this.#t.isStale||this.updateResult()},s)}#y(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#b(e){this.#O(),this.#i=e,!(Q||v(this.options.enabled,this.#e)===!1||!V(this.#i)||this.#i===0)&&(this.#c=E.setInterval(()=>{(this.options.refetchIntervalInBackground||re.isFocused())&&this.#h()},this.#i))}#R(){this.#w(),this.#b(this.#y())}#m(){this.#o&&(E.clearTimeout(this.#o),this.#o=void 0)}#O(){this.#c&&(E.clearInterval(this.#c),this.#c=void 0)}createResult(e,t){const s=this.#e,n=this.options,i=this.#t,c=this.#a,r=this.#l,d=e!==s?e.state:this.#p,{state:h}=e;let a={...h},l=!1,u;if(t._optimisticResults){const f=this.hasListeners(),R=!f&&W(e,t),O=f&&z(e,s,t,n);(R||O)&&(a={...a,...ne(h.data,e.options)}),t._optimisticResults==="isRestoring"&&(a.fetchStatus="idle")}let{error:w,errorUpdatedAt:C,status:p}=a;u=a.data;let D=!1;if(t.placeholderData!==void 0&&u===void 0&&p==="pending"){let f;i?.isPlaceholderData&&t.placeholderData===r?.placeholderData?(f=i.data,D=!0):f=typeof t.placeholderData=="function"?t.placeholderData(this.#d?.state.data,this.#d):t.placeholderData,f!==void 0&&(p="success",u=k(i?.data,f,t),l=!0)}if(t.select&&u!==void 0&&!D)if(i&&u===c?.data&&t.select===this.#v)u=this.#u;else try{this.#v=t.select,u=t.select(u),u=k(i?.data,u,t),this.#u=u,this.#n=null}catch(f){this.#n=f}this.#n&&(w=this.#n,u=this.#u,C=Date.now(),p="error");const M=a.fetchStatus==="fetching",I=p==="pending",x=p==="error",N=I&&M,j=u!==void 0,b={status:p,fetchStatus:a.fetchStatus,isPending:I,isSuccess:p==="success",isError:x,isInitialLoading:N,isLoading:N,data:u,dataUpdatedAt:a.dataUpdatedAt,error:w,errorUpdatedAt:C,failureCount:a.fetchFailureCount,failureReason:a.fetchFailureReason,errorUpdateCount:a.errorUpdateCount,isFetched:a.dataUpdateCount>0||a.errorUpdateCount>0,isFetchedAfterMount:a.dataUpdateCount>d.dataUpdateCount||a.errorUpdateCount>d.errorUpdateCount,isFetching:M,isRefetching:M&&!I,isLoadingError:x&&!j,isPaused:a.fetchStatus==="paused",isPlaceholderData:l,isRefetchError:x&&j,isStale:A(e,t),refetch:this.refetch,promise:this.#r,isEnabled:v(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const f=b.data!==void 0,R=b.status==="error"&&!f,O=S=>{R?S.reject(b.error):f&&S.resolve(b.data)},H=()=>{const S=this.#r=b.promise=L();O(S)},g=this.#r;switch(g.status){case"pending":e.queryHash===s.queryHash&&O(g);break;case"fulfilled":(R||b.data!==g.value)&&H();break;case"rejected":(!R||b.error!==g.reason)&&H();break}}return b}updateResult(){const e=this.#t,t=this.createResult(this.#e,this.options);if(this.#a=this.#e.state,this.#l=this.options,this.#a.data!==void 0&&(this.#d=this.#e),_(t,e))return;this.#t=t;const s=()=>{if(!e)return!0;const{notifyOnChangeProps:n}=this.options,i=typeof n=="function"?n():n;if(i==="all"||!i&&!this.#f.size)return!0;const c=new Set(i??this.#f);return this.options.throwOnError&&c.add("error"),Object.keys(this.#t).some(r=>{const o=r;return this.#t[o]!==e[o]&&c.has(o)})};this.#S({listeners:s()})}#g(){const e=this.#s.getQueryCache().build(this.#s,this.options);if(e===this.#e)return;const t=this.#e;this.#e=e,this.#p=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#R()}#S(e){J.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#t)}),this.#s.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function de(e,t){return v(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function W(e,t){return de(e,t)||e.state.data!==void 0&&P(e,t,t.refetchOnMount)}function P(e,t,s){if(v(t.enabled,e)!==!1&&m(t.staleTime,e)!=="static"){const n=typeof s=="function"?s(e):s;return n==="always"||n!==!1&&A(e,t)}return!1}function z(e,t,s,n){return(e!==t||v(n.enabled,e)===!1)&&(!s.suspense||e.state.status!=="error")&&A(e,s)}function A(e,t){return v(t.enabled,e)!==!1&&e.isStaleByTime(m(t.staleTime,e))}function fe(e,t){return!_(e.getCurrentResult(),t)}var X=y.createContext(!1),pe=()=>y.useContext(X);X.Provider;function ve(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var we=y.createContext(ve()),ye=()=>y.useContext(we),be=(e,t,s)=>{const n=s?.state.error&&typeof e.throwOnError=="function"?Y(e.throwOnError,[s.state.error,s]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||n)&&(t.isReset()||(e.retryOnMount=!1))},Re=e=>{y.useEffect(()=>{e.clearReset()},[e])},me=({result:e,errorResetBoundary:t,throwOnError:s,query:n,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(i&&e.data===void 0||Y(s,[e.error,n])),Oe=e=>{if(e.suspense){const s=i=>i==="static"?i:Math.max(i??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...i)=>s(n(...i)):s(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},ge=(e,t)=>e.isLoading&&e.isFetching&&!t,Se=(e,t)=>e?.suspense&&t.isPending,G=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function Ee(e,t,s){const n=pe(),i=ye(),c=ie(),r=c.defaultQueryOptions(e);c.getDefaultOptions().queries?._experimental_beforeQuery?.(r);const o=c.getQueryCache().get(r.queryHash);r._optimisticResults=n?"isRestoring":"optimistic",Oe(r),be(r,i,o),Re(i);const d=!c.getQueryCache().get(r.queryHash),[h]=y.useState(()=>new t(c,r)),a=h.getOptimisticResult(r),l=!n&&e.subscribed!==!1;if(y.useSyncExternalStore(y.useCallback(u=>{const w=l?h.subscribe(J.batchCalls(u)):F;return h.updateResult(),w},[h,l]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),y.useEffect(()=>{h.setOptions(r)},[r,h]),Se(r,a))throw G(r,h,i);if(me({result:a,errorResetBoundary:i,throwOnError:r.throwOnError,query:o,suspense:r.suspense}))throw a.error;return c.getDefaultOptions().queries?._experimental_afterQuery?.(r,a),r.experimental_prefetchInRender&&!Q&&ge(a,n)&&(d?G(r,h,i):o?.promise)?.catch(F).finally(()=>{h.updateResult()}),r.notifyOnChangeProps?a:h.trackResult(a)}function _e(e,t){return Ee(e,ue)}function Fe(e){return e}const Z=()=>{throw new Error("createServerOnlyFn() functions can only be called on the server!")};function K(e){return e!=="__proto__"&&e!=="constructor"&&e!=="prototype"}function U(e,t){const s=Object.create(null);if(e)for(const n of Object.keys(e))K(n)&&(s[n]=e[n]);if(t&&typeof t=="object")for(const n of Object.keys(t))K(n)&&(s[n]=t[n]);return s}function ee(e){return Object.create(null)}const T=(e,t)=>{const s=t||e||{};return typeof s.method>"u"&&(s.method="GET"),Object.assign(c=>{const r={...s,...c};return T(void 0,r)},{options:s,middleware:c=>{const r=[...s.middleware||[]];c.map(h=>{B in h?h.options.middleware&&r.push(...h.options.middleware):r.push(h)});const o={...s,middleware:r},d=T(void 0,o);return d[B]=!0,d},inputValidator:c=>{const r={...s,inputValidator:c};return T(void 0,r)},handler:(...c)=>{const[r,o]=c,d={...s,extractedFn:r,serverFn:o},h=[...d.middleware||[],Ie(d)];return Object.assign(async a=>{const l=await q(h,"client",{...r,...d,data:a?.data,headers:a?.headers,signal:a?.signal,fetch:a?.fetch,context:ee()}),u=ae(l.error);if(u)throw u;if(l.error)throw l.error;return l.result},{...r,__executeServer:async a=>{const l=Z(),u=l.contextAfterGlobalMiddlewares,w={...r,...a,serverFnMeta:r.serverFnMeta,context:U(u,a.context),request:l.request};return await q(h,"server",w).then(p=>({result:p.result,error:p.error,context:p.sendContext}))}})}})};async function q(e,t,s){const n=oe()?.functionMiddleware||[];let i=Ce([...n,...e]);if(t==="server"){const r=Z();r?.executedRequestMiddlewares&&(i=i.filter(o=>!r.executedRequestMiddlewares.has(o)))}const c=async r=>{const o=i.shift();if(!o)return r;try{"inputValidator"in o.options&&o.options.inputValidator&&t==="server"&&(r.data=await Me(o.options.inputValidator,r.data));let d;if(t==="client"?"client"in o.options&&(d=o.options.client):"server"in o.options&&(d=o.options.server),d){const a=await d({...r,next:async(l={})=>{const u={...r,...l,context:U(r.context,l.context),sendContext:U(r.sendContext,l.sendContext),headers:le(r.headers,l.headers),_callSiteFetch:r._callSiteFetch,fetch:r._callSiteFetch??l.fetch??r.fetch,result:l.result!==void 0?l.result:l instanceof Response?l:r.result,error:l.error??r.error},w=await c(u);if(w.error)throw w.error;return w}});if(ce(a))return{...r,error:a};if(a instanceof Response)return{...r,result:a};if(!a)throw new Error("User middleware returned undefined. You must call next() or return a result in your middlewares.");return a}return c(r)}catch(d){return{...r,error:d}}};return c({...s,headers:s.headers||{},sendContext:s.sendContext||{},context:s.context||ee(),_callSiteFetch:s.fetch})}function Ce(e,t=100){const s=new Set,n=[],i=(c,r)=>{if(r>t)throw new Error(`Middleware nesting depth exceeded maximum of ${t}. Check for circular references.`);c.forEach(o=>{o.options.middleware&&i(o.options.middleware,r+1),s.has(o)||(s.add(o),n.push(o))})};return i(e,0),n}async function Me(e,t){if(e==null)return{};if("~standard"in e){const s=await e["~standard"].validate(t);if(s.issues)throw new Error(JSON.stringify(s.issues,void 0,2));return s.value}if("parse"in e)return e.parse(t);if(typeof e=="function")return e(t);throw new Error("Invalid validator type!")}function Ie(e){return{"~types":void 0,options:{inputValidator:e.inputValidator,client:async({next:t,sendContext:s,fetch:n,...i})=>{const c={...i,context:s,fetch:n},r=await e.extractedFn?.(c);return t(r)},server:async({next:t,...s})=>{const n=await e.serverFn?.(s);return t({...s,result:n})}}}}export{T as c,Fe as q,_e as u};
@@ -1 +1 @@
1
- import{c as j,o as M,s as N,e as q,n as S,k as $,j as e,r as x,u as A,L as F,b as T,d as I}from"./main-Bssrw_E_.js";import{c as v,q as E,u as w}from"./createServerFn-Bmn60lX_.js";import{c as z,d as G,e as _}from"./format-Bf-cSf6L.js";v({method:"GET"}).handler(j("bf8e4a7901f1843bdc9c46be1ad5ad59c615b8bbe611b73eb3ff28f20e43ee0d"));const B=v({method:"GET"}).handler(j("839d29fe93dfa2a6d506af7b48ca25197190a5ff4c796e970ddfdc6e8c98827f"));M({page:S().int().min(1),pageSize:S().int().min(5).max(100),search:N(),status:q(["all","active","completed"]),project:N()});const K=v({method:"GET"}).handler(j("a3f42f9012fd83586787da8f7cb90649da739dd947d867eb67572f68735ff495")),Q=E({queryKey:["sessions","active"],queryFn:()=>B(),refetchInterval:3e3});function O(t){return E({queryKey:["sessions","paginated",t],queryFn:()=>K({data:t}),placeholderData:$,refetchInterval:3e4})}function V({isActive:t}){return t?e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-emerald-500/15 px-2.5 py-0.5 text-xs font-medium text-emerald-400",children:[e.jsxs("span",{className:"relative flex h-2 w-2",children:[e.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"}),e.jsx("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-emerald-500"})]}),"Active"]}):e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-gray-500/15 px-2.5 py-0.5 text-xs font-medium text-gray-400",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-gray-500"}),"Completed"]})}function Y({startedAt:t}){const[l,n]=x.useState(()=>Date.now()-new Date(t).getTime());return x.useEffect(()=>{const s=setInterval(()=>{n(Date.now()-new Date(t).getTime())},1e3);return()=>clearInterval(s)},[t]),e.jsx("span",{className:"text-emerald-400",children:z(l)})}function Z({session:t}){const{privacyMode:l,anonymizePath:n,anonymizeProjectName:s}=A(),c=l?s(t.projectName):t.projectName,a=t.cwd?l?n(t.cwd):t.cwd:null;return e.jsxs(F,{to:"/sessions/$sessionId",params:{sessionId:t.sessionId},search:{project:t.projectPath},className:"group block rounded-xl border border-gray-800 bg-gray-900/50 p-4 transition-all hover:border-gray-700 hover:bg-gray-900",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"truncate text-sm font-semibold text-white",children:c}),e.jsx(V,{isActive:t.isActive})]}),t.branch&&e.jsx("p",{className:"mt-1 truncate text-xs text-gray-500",children:e.jsx("span",{className:"font-mono",children:t.branch})})]}),e.jsx("span",{className:"shrink-0 text-xs text-gray-500",children:G(t.lastActiveAt)})]}),e.jsxs("div",{className:"mt-3 flex items-center gap-4 text-xs text-gray-400",children:[e.jsx("span",{title:"Duration",children:t.isActive?e.jsx(Y,{startedAt:t.startedAt}):z(t.durationMs)}),e.jsxs("span",{title:"Messages",children:[t.messageCount," msgs"]}),t.model&&e.jsx("span",{title:"Model",className:"truncate font-mono text-gray-500",children:t.model.replace(/^claude-/,"").split("-202")[0]}),e.jsx("span",{title:"File size",className:"text-gray-500",children:_(t.fileSizeBytes)})]}),a&&e.jsx("p",{className:"mt-2 truncate text-xs font-mono text-gray-600",children:a})]})}function H({projects:t,activeCount:l}){const n=T(),{search:s,status:c,project:a}=I.useSearch(),{privacyMode:i,anonymizeProjectName:f}=A(),[h,d]=x.useState(s),o=x.useRef(null);x.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]),x.useEffect(()=>{d(s)},[s]);function p(r){d(r),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{n({to:"/sessions",search:m=>({...m,search:r,page:1})})},300)}function y(r){n({to:"/sessions",search:m=>({...m,status:r,page:1})})}function b(r){n({to:"/sessions",search:m=>({...m,project:r,page:1})})}return e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("input",{type:"text",placeholder:"Search sessions...",value:h,onChange:r=>p(r.target.value),className:"rounded-lg border border-gray-700 bg-gray-800/50 px-3 py-1.5 text-sm text-gray-200 placeholder-gray-500 outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500"}),e.jsx("div",{className:"flex rounded-lg border border-gray-700 text-xs",children:["all","active","completed"].map(r=>e.jsxs("button",{onClick:()=>y(r),className:`px-3 py-1.5 capitalize transition-colors ${c===r?"bg-gray-700 text-white":"text-gray-400 hover:text-gray-200"} ${r==="all"?"rounded-l-lg":""} ${r==="completed"?"rounded-r-lg":""}`,children:[r,r==="active"&&l>0&&e.jsxs("span",{className:"ml-1 text-emerald-400",children:["(",l,")"]})]},r))}),t.length>1&&e.jsxs("select",{value:a,onChange:r=>b(r.target.value),className:"rounded-lg border border-gray-700 bg-gray-800/50 px-3 py-1.5 text-sm text-gray-200 outline-none focus:border-blue-500",children:[e.jsx("option",{value:"",children:"All projects"}),t.map(r=>e.jsx("option",{value:r,children:i?f(r):r},r))]})]})}const P="claude-dashboard:page-size",k=[5,10,25,50];function C(t){return k.includes(t)}function J(){const[t,l]=x.useState(null);x.useEffect(()=>{try{const s=localStorage.getItem(P);if(s!==null){const c=Number(s);C(c)&&l(c)}}catch{}},[]);const n=x.useCallback(s=>{if(C(s))try{localStorage.setItem(P,String(s)),l(s)}catch{}},[]);return{storedPageSize:t,setPageSize:n}}function U({page:t,totalPages:l,totalCount:n,pageSize:s,onPageChange:c,onPageSizeChange:a}){if(n===0)return null;const i=(t-1)*s+1,f=Math.min(t*s,n),h=l>1,d=h?W(t,l):[];return e.jsxs("div",{className:"flex flex-col items-center gap-3 sm:flex-row sm:justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("select",{value:s,onChange:o=>a(Number(o.target.value)),className:"rounded-lg border border-gray-700 bg-gray-800/50 px-2 py-1 text-xs text-gray-200 outline-none focus:border-blue-500",children:k.map(o=>e.jsxs("option",{value:o,children:[o," / page"]},o))}),e.jsxs("p",{className:"text-xs text-gray-400",children:["Showing"," ",e.jsxs("span",{className:"font-mono text-gray-300",children:[i,"-",f]})," ","of"," ",e.jsx("span",{className:"font-mono text-gray-300",children:n})," sessions"]})]}),h&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("button",{onClick:()=>c(t-1),disabled:t<=1,className:"rounded-lg border border-gray-700 bg-gray-800 px-2.5 py-1.5 text-xs text-gray-400 transition-colors hover:bg-gray-700 hover:text-gray-200 disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-gray-800 disabled:hover:text-gray-400",children:"Previous"}),d.map((o,p)=>o==="ellipsis"?e.jsx("span",{className:"px-1.5 text-xs text-gray-500",children:"..."},`ellipsis-${p}`):e.jsx("button",{onClick:()=>c(o),className:`min-w-[2rem] rounded-lg px-2 py-1.5 text-xs font-mono transition-colors ${o===t?"bg-blue-600 text-white":"border border-gray-700 bg-gray-800 text-gray-400 hover:bg-gray-700 hover:text-gray-200"}`,children:o},o)),e.jsx("button",{onClick:()=>c(t+1),disabled:t>=l,className:"rounded-lg border border-gray-700 bg-gray-800 px-2.5 py-1.5 text-xs text-gray-400 transition-colors hover:bg-gray-700 hover:text-gray-200 disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-gray-800 disabled:hover:text-gray-400",children:"Next"})]})]})}function W(t,l){if(l<=7)return Array.from({length:l},(a,i)=>i+1);const n=new Set;n.add(1),n.add(l);for(let a=t-2;a<=t+2;a++)a>=1&&a<=l&&n.add(a);const s=Array.from(n).sort((a,i)=>a-i),c=[];for(let a=0;a<s.length;a++)a>0&&s[a]-s[a-1]>1&&c.push("ellipsis"),c.push(s[a]);return c}function X(){const t=T(),{page:l,pageSize:n,search:s,status:c,project:a}=I.useSearch(),{storedPageSize:i,setPageSize:f}=J(),h=x.useRef(!1);x.useEffect(()=>{i!==null&&!h.current&&i!==n&&(h.current=!0,t({to:"/sessions",search:u=>({...u,pageSize:i,page:1}),replace:!0}))},[i,n,t]);const{data:d,isLoading:o}=w(O({page:l,pageSize:n,search:s,status:c,project:a})),{data:p=[]}=w(Q),y=x.useMemo(()=>{if(!d)return[];const u=new Set(p.map(g=>g.sessionId));return d.sessions.map(g=>({...g,isActive:u.has(g.sessionId)||g.isActive}))},[d,p]);function b(u){t({to:"/sessions",search:g=>({...g,page:u})})}function r(u){f(u),t({to:"/sessions",search:g=>({...g,pageSize:u,page:1})})}if(o)return e.jsx("div",{className:"space-y-3",children:Array.from({length:n}).map((u,g)=>e.jsx("div",{className:"h-28 animate-pulse rounded-xl border border-gray-800 bg-gray-900/50"},g))});const m=d?.totalCount??0,D=d?.totalPages??1,R=d?.projects??[],L=p.length;return e.jsxs("div",{children:[e.jsx(H,{projects:R,activeCount:L}),e.jsx("div",{className:"mt-4 space-y-2",children:y.length===0?e.jsx("div",{className:"py-12 text-center text-sm text-gray-500",children:m===0&&!s&&c==="all"&&!a?"No sessions found in ~/.claude":"No sessions match your filters"}):y.map(u=>e.jsx(Z,{session:u},u.sessionId))}),e.jsx("div",{className:"mt-4",children:e.jsx(U,{page:d?.page??l,totalPages:D,totalCount:m,pageSize:n,onPageChange:b,onPageSizeChange:r})})]})}function ae(){return e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-white",children:"Sessions"}),e.jsx("p",{className:"mt-1 text-sm text-gray-400",children:"All Claude Code sessions from ~/.claude"}),e.jsx("div",{className:"mt-6",children:e.jsx(X,{})})]})}export{ae as component};
1
+ import{c as j,o as M,s as N,e as q,n as S,k as $,j as e,r as x,u as A,L as F,b as T,d as I}from"./main-CzD8HjLq.js";import{c as v,q as E,u as w}from"./createServerFn-Le0d8Pjz.js";import{c as z,d as G,e as _}from"./format-Bf-cSf6L.js";v({method:"GET"}).handler(j("bf8e4a7901f1843bdc9c46be1ad5ad59c615b8bbe611b73eb3ff28f20e43ee0d"));const B=v({method:"GET"}).handler(j("839d29fe93dfa2a6d506af7b48ca25197190a5ff4c796e970ddfdc6e8c98827f"));M({page:S().int().min(1),pageSize:S().int().min(5).max(100),search:N(),status:q(["all","active","completed"]),project:N()});const K=v({method:"GET"}).handler(j("a3f42f9012fd83586787da8f7cb90649da739dd947d867eb67572f68735ff495")),Q=E({queryKey:["sessions","active"],queryFn:()=>B(),refetchInterval:3e3});function O(t){return E({queryKey:["sessions","paginated",t],queryFn:()=>K({data:t}),placeholderData:$,refetchInterval:3e4})}function V({isActive:t}){return t?e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-emerald-500/15 px-2.5 py-0.5 text-xs font-medium text-emerald-400",children:[e.jsxs("span",{className:"relative flex h-2 w-2",children:[e.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"}),e.jsx("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-emerald-500"})]}),"Active"]}):e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-gray-500/15 px-2.5 py-0.5 text-xs font-medium text-gray-400",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-gray-500"}),"Completed"]})}function Y({startedAt:t}){const[l,n]=x.useState(()=>Date.now()-new Date(t).getTime());return x.useEffect(()=>{const s=setInterval(()=>{n(Date.now()-new Date(t).getTime())},1e3);return()=>clearInterval(s)},[t]),e.jsx("span",{className:"text-emerald-400",children:z(l)})}function Z({session:t}){const{privacyMode:l,anonymizePath:n,anonymizeProjectName:s}=A(),c=l?s(t.projectName):t.projectName,a=t.cwd?l?n(t.cwd):t.cwd:null;return e.jsxs(F,{to:"/sessions/$sessionId",params:{sessionId:t.sessionId},search:{project:t.projectPath},className:"group block rounded-xl border border-gray-800 bg-gray-900/50 p-4 transition-all hover:border-gray-700 hover:bg-gray-900",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"truncate text-sm font-semibold text-white",children:c}),e.jsx(V,{isActive:t.isActive})]}),t.branch&&e.jsx("p",{className:"mt-1 truncate text-xs text-gray-500",children:e.jsx("span",{className:"font-mono",children:t.branch})})]}),e.jsx("span",{className:"shrink-0 text-xs text-gray-500",children:G(t.lastActiveAt)})]}),e.jsxs("div",{className:"mt-3 flex items-center gap-4 text-xs text-gray-400",children:[e.jsx("span",{title:"Duration",children:t.isActive?e.jsx(Y,{startedAt:t.startedAt}):z(t.durationMs)}),e.jsxs("span",{title:"Messages",children:[t.messageCount," msgs"]}),t.model&&e.jsx("span",{title:"Model",className:"truncate font-mono text-gray-500",children:t.model.replace(/^claude-/,"").split("-202")[0]}),e.jsx("span",{title:"File size",className:"text-gray-500",children:_(t.fileSizeBytes)})]}),a&&e.jsx("p",{className:"mt-2 truncate text-xs font-mono text-gray-600",children:a})]})}function H({projects:t,activeCount:l}){const n=T(),{search:s,status:c,project:a}=I.useSearch(),{privacyMode:i,anonymizeProjectName:f}=A(),[h,d]=x.useState(s),o=x.useRef(null);x.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]),x.useEffect(()=>{d(s)},[s]);function p(r){d(r),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{n({to:"/sessions",search:m=>({...m,search:r,page:1})})},300)}function y(r){n({to:"/sessions",search:m=>({...m,status:r,page:1})})}function b(r){n({to:"/sessions",search:m=>({...m,project:r,page:1})})}return e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("input",{type:"text",placeholder:"Search sessions...",value:h,onChange:r=>p(r.target.value),className:"rounded-lg border border-gray-700 bg-gray-800/50 px-3 py-1.5 text-sm text-gray-200 placeholder-gray-500 outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500"}),e.jsx("div",{className:"flex rounded-lg border border-gray-700 text-xs",children:["all","active","completed"].map(r=>e.jsxs("button",{onClick:()=>y(r),className:`px-3 py-1.5 capitalize transition-colors ${c===r?"bg-gray-700 text-white":"text-gray-400 hover:text-gray-200"} ${r==="all"?"rounded-l-lg":""} ${r==="completed"?"rounded-r-lg":""}`,children:[r,r==="active"&&l>0&&e.jsxs("span",{className:"ml-1 text-emerald-400",children:["(",l,")"]})]},r))}),t.length>1&&e.jsxs("select",{value:a,onChange:r=>b(r.target.value),className:"rounded-lg border border-gray-700 bg-gray-800/50 px-3 py-1.5 text-sm text-gray-200 outline-none focus:border-blue-500",children:[e.jsx("option",{value:"",children:"All projects"}),t.map(r=>e.jsx("option",{value:r,children:i?f(r):r},r))]})]})}const P="claude-dashboard:page-size",k=[5,10,25,50];function C(t){return k.includes(t)}function J(){const[t,l]=x.useState(null);x.useEffect(()=>{try{const s=localStorage.getItem(P);if(s!==null){const c=Number(s);C(c)&&l(c)}}catch{}},[]);const n=x.useCallback(s=>{if(C(s))try{localStorage.setItem(P,String(s)),l(s)}catch{}},[]);return{storedPageSize:t,setPageSize:n}}function U({page:t,totalPages:l,totalCount:n,pageSize:s,onPageChange:c,onPageSizeChange:a}){if(n===0)return null;const i=(t-1)*s+1,f=Math.min(t*s,n),h=l>1,d=h?W(t,l):[];return e.jsxs("div",{className:"flex flex-col items-center gap-3 sm:flex-row sm:justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("select",{value:s,onChange:o=>a(Number(o.target.value)),className:"rounded-lg border border-gray-700 bg-gray-800/50 px-2 py-1 text-xs text-gray-200 outline-none focus:border-blue-500",children:k.map(o=>e.jsxs("option",{value:o,children:[o," / page"]},o))}),e.jsxs("p",{className:"text-xs text-gray-400",children:["Showing"," ",e.jsxs("span",{className:"font-mono text-gray-300",children:[i,"-",f]})," ","of"," ",e.jsx("span",{className:"font-mono text-gray-300",children:n})," sessions"]})]}),h&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("button",{onClick:()=>c(t-1),disabled:t<=1,className:"rounded-lg border border-gray-700 bg-gray-800 px-2.5 py-1.5 text-xs text-gray-400 transition-colors hover:bg-gray-700 hover:text-gray-200 disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-gray-800 disabled:hover:text-gray-400",children:"Previous"}),d.map((o,p)=>o==="ellipsis"?e.jsx("span",{className:"px-1.5 text-xs text-gray-500",children:"..."},`ellipsis-${p}`):e.jsx("button",{onClick:()=>c(o),className:`min-w-[2rem] rounded-lg px-2 py-1.5 text-xs font-mono transition-colors ${o===t?"bg-blue-600 text-white":"border border-gray-700 bg-gray-800 text-gray-400 hover:bg-gray-700 hover:text-gray-200"}`,children:o},o)),e.jsx("button",{onClick:()=>c(t+1),disabled:t>=l,className:"rounded-lg border border-gray-700 bg-gray-800 px-2.5 py-1.5 text-xs text-gray-400 transition-colors hover:bg-gray-700 hover:text-gray-200 disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-gray-800 disabled:hover:text-gray-400",children:"Next"})]})]})}function W(t,l){if(l<=7)return Array.from({length:l},(a,i)=>i+1);const n=new Set;n.add(1),n.add(l);for(let a=t-2;a<=t+2;a++)a>=1&&a<=l&&n.add(a);const s=Array.from(n).sort((a,i)=>a-i),c=[];for(let a=0;a<s.length;a++)a>0&&s[a]-s[a-1]>1&&c.push("ellipsis"),c.push(s[a]);return c}function X(){const t=T(),{page:l,pageSize:n,search:s,status:c,project:a}=I.useSearch(),{storedPageSize:i,setPageSize:f}=J(),h=x.useRef(!1);x.useEffect(()=>{i!==null&&!h.current&&i!==n&&(h.current=!0,t({to:"/sessions",search:u=>({...u,pageSize:i,page:1}),replace:!0}))},[i,n,t]);const{data:d,isLoading:o}=w(O({page:l,pageSize:n,search:s,status:c,project:a})),{data:p=[]}=w(Q),y=x.useMemo(()=>{if(!d)return[];const u=new Set(p.map(g=>g.sessionId));return d.sessions.map(g=>({...g,isActive:u.has(g.sessionId)||g.isActive}))},[d,p]);function b(u){t({to:"/sessions",search:g=>({...g,page:u})})}function r(u){f(u),t({to:"/sessions",search:g=>({...g,pageSize:u,page:1})})}if(o)return e.jsx("div",{className:"space-y-3",children:Array.from({length:n}).map((u,g)=>e.jsx("div",{className:"h-28 animate-pulse rounded-xl border border-gray-800 bg-gray-900/50"},g))});const m=d?.totalCount??0,D=d?.totalPages??1,R=d?.projects??[],L=p.length;return e.jsxs("div",{children:[e.jsx(H,{projects:R,activeCount:L}),e.jsx("div",{className:"mt-4 space-y-2",children:y.length===0?e.jsx("div",{className:"py-12 text-center text-sm text-gray-500",children:m===0&&!s&&c==="all"&&!a?"No sessions found in ~/.claude":"No sessions match your filters"}):y.map(u=>e.jsx(Z,{session:u},u.sessionId))}),e.jsx("div",{className:"mt-4",children:e.jsx(U,{page:d?.page??l,totalPages:D,totalCount:m,pageSize:n,onPageChange:b,onPageSizeChange:r})})]})}function ae(){return e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-white",children:"Sessions"}),e.jsx("p",{className:"mt-1 text-sm text-gray-400",children:"All Claude Code sessions from ~/.claude"}),e.jsx("div",{className:"mt-6",children:e.jsx(X,{})})]})}export{ae as component};