usage-board 2.1.0 → 2.1.1

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 (32) hide show
  1. package/dist/index.mjs +796 -0
  2. package/dist/public/_nuxt/4bxbFgue.js +260 -0
  3. package/dist/public/_nuxt/BFuazmgM.js +1 -0
  4. package/dist/public/_nuxt/BT5lZ84X.js +1 -0
  5. package/dist/public/_nuxt/BWrHX8SV.js +21 -0
  6. package/dist/public/_nuxt/Bhg6RTpr.js +25 -0
  7. package/dist/public/_nuxt/CBNzCW3N.js +9 -0
  8. package/dist/public/_nuxt/CJwUiTrM.js +1 -0
  9. package/dist/public/_nuxt/DJtZPkAh.js +1 -0
  10. package/dist/public/_nuxt/DhnbCV8M.js +1 -0
  11. package/dist/public/_nuxt/Rw8uLrAX.js +105 -0
  12. package/dist/public/_nuxt/builds/latest.json +1 -0
  13. package/dist/public/_nuxt/builds/meta/8e0230d2-a165-4dfa-b759-5387bcb88e4e.json +1 -0
  14. package/dist/public/_nuxt/entry.r-q4oQC0.css +1 -0
  15. package/dist/public/_nuxt/error-404.B0EXnOcv.css +1 -0
  16. package/dist/public/_nuxt/error-500.CnSNZoEG.css +1 -0
  17. package/dist/public/_nuxt/uC637M1z.js +119 -0
  18. package/dist/public/favicon.ico +0 -0
  19. package/dist/public/logo.svg +4 -0
  20. package/dist/public/robots.txt +2 -0
  21. package/dist/server/chunks/_/error-500.mjs +32 -0
  22. package/dist/server/chunks/_/index.min.mjs +348 -0
  23. package/dist/server/chunks/_/prompt.mjs +279 -0
  24. package/dist/server/chunks/_/shared.cjs.prod.mjs +609 -0
  25. package/dist/server/chunks/build/client.precomputed.mjs +3 -0
  26. package/dist/server/chunks/nitro/nitro.mjs +7981 -0
  27. package/dist/server/chunks/routes/api/payload.json.mjs +642 -0
  28. package/dist/server/chunks/routes/renderer.mjs +39567 -0
  29. package/dist/server/chunks/routes/ws.mjs +1063 -0
  30. package/dist/server/chunks/virtual/_virtual_spa-template.mjs +3 -0
  31. package/dist/server/index.mjs +14 -0
  32. package/package.json +2 -2
@@ -0,0 +1,119 @@
1
+ import{K as fe,L as ve,M as At,N as Z,O as be,Q as Ht,R as lt,U as N,W,X as Nt,Y as z,Z as _t,$ as pt,a0 as $t,a1 as Yt,a2 as V,a3 as ye,a4 as Kt,a5 as _e,a6 as ke,a7 as xe,a8 as Qt,a9 as X,aa as Jt,ab as Se,ac as Te,ad as it,ae as Dt,af as Ae,ag as Mt,ah as $e,ai as Xt,aj as xt,ak as De,al as Ce,am as we,an as te,ao as Re,ap as Me,aq as Le,ar as Ue,as as Oe,at as Et,au as Pt,av as Ee,aw as Pe,ax as ee,I as jt,S as je,f as qt,z as ae,_ as ne,n as tt,g as Y,o as rt,q as Ve,ay as Ie,k as Zt,az as Fe,aA as Lt,p as We,aB as ze,s as Be,t as Ge,v as He,w as Ne,x as Ye,y as Ke,B as Xe,m as Q,H as qe,G as Ze,F as Qe}from"./4bxbFgue.js";import{_ as Je,a as ta,b as ea}from"./Bhg6RTpr.js";import{z as et,G as aa,p as na,i as mt,v as Vt,o as F,c as K,C as sa,E as oa,r as It,ai as Ct,ag as wt,ad as se,Q as oe,n as le,h as $,B as ht,w as M,a as U,t as j,b as S,D as C,K as St,J as Tt,S as Ft,Y as la,a9 as ia,d as I,a3 as ra,I as ca,a4 as ua}from"./CBNzCW3N.js";const da=Object.assign(Object.assign({},fe),{tooltip:void 0,annotations:void 0});class ga extends ve{constructor(e,t,n){var l;super(e),this._defaultConfig=da,this.config=this._defaultConfig,t&&(this.updateContainer(t,!0),this.component=t.component),n&&this.setData(n,!0),!((l=this.component)===null||l===void 0)&&l.datamodel.data&&this.render()}setData(e,t){var n;const{config:l}=this;this.component&&this.component.setData(e),t||this.render(),(n=l.tooltip)===null||n===void 0||n.hide()}updateContainer(e,t){super.updateContainer(e),this._removeAllChildren(),this.component=e.component,e.sizing&&(this.component.sizing=e.sizing),this.element.appendChild(this.component.element);const n=e.tooltip;n&&(n.hasContainer()||n.setContainer(this._container),n.setComponents([this.component]));const l=e.annotations;l&&this.element.appendChild(l.element),this.element.appendChild(this._svgDefs.node()),this.element.appendChild(this._svgDefsExternal.node()),t||this.render()}updateComponent(e,t){this.component.setConfig(e),t||this.render()}update(e,t,n){e&&this.updateContainer(e,!0),t&&this.updateComponent(t,!0),n&&this.setData(n,!0),this.render()}getFitWidthScale(){const{config:e,component:t}=this,n=t;if(!n.getWidth)return 1;const l=n.getWidth()+e.margin.left+e.margin.right;return this.width/l}_preRender(){var e,t;super._preRender(),this.component.setSize(this.width,this.height,this.containerWidth,this.containerHeight),this.component.setContainerMargin(this.config.margin),(e=this.config.annotations)===null||e===void 0||e.setSize(this.width,this.height,this.containerWidth,this.containerHeight),(t=this.config.annotations)===null||t===void 0||t.setContainerMargin(this.config.margin)}_render(e){var t,n;const{config:l,component:r}=this;super._render(e),r.g.attr("transform",`translate(${l.margin.left},${l.margin.top})`),r.render(e),(t=l.annotations)===null||t===void 0||t.render(e),l.tooltip&&l.tooltip.update(),(n=l.onRenderComplete)===null||n===void 0||n.call(l,this.svg.node(),l.margin,this.containerWidth,this.containerHeight,this.width,this.height)}render(e=this.config.duration){const{config:t,component:n}=this;if(t.sizing===At.Extend||t.sizing===At.FitWidth){const l=t.sizing===At.FitWidth,r=n,s=r.getWidth()+t.margin.left+t.margin.right,a=r.getHeight()+t.margin.top+t.margin.bottom,g=l?this.getFitWidthScale():1,i=this.svg.attr("width"),o=this.svg.attr("height"),h=s*g,m=a*g,b=i||o;Z(this.svg,b?e:0).attr("width",h).attr("height",m).attr("viewBox",`0 0 ${s} ${l?m:a}`).attr("preserveAspectRatio","xMinYMin")}else this.svg.attr("width",this.config.width||this.containerWidth).attr("height",this.config.height||this.containerHeight);this._resizeObserver||this._setUpResizeObserver(),cancelAnimationFrame(this._renderAnimationFrameId),this._renderAnimationFrameId=requestAnimationFrame(()=>{this._preRender(),this._render(e)})}_onResize(){var e;const{config:t}=this;super._onResize(),(e=t.tooltip)===null||e===void 0||e.hide()}destroy(){var e,t;const{component:n,config:l}=this;super.destroy(),n?.destroy(),(e=l.tooltip)===null||e===void 0||e.destroy(),(t=l.annotations)===null||t===void 0||t.destroy()}}function pa(p){return p.innerRadius}function ha(p){return p.outerRadius}function ma(p){return p.startAngle}function fa(p){return p.endAngle}function va(p){return p&&p.padAngle}function ba(p,e,t,n,l,r,s,a){var g=t-p,i=n-e,o=s-l,h=a-r,m=h*g-o*i;if(!(m*m<z))return m=(o*(e-r)-h*(p-l))/m,[p+m*g,e+m*i]}function bt(p,e,t,n,l,r,s){var a=p-t,g=e-n,i=(s?r:-r)/pt(a*a+g*g),o=i*g,h=-i*a,m=p+o,b=e+h,d=t+o,v=n+h,u=(m+d)/2,k=(b+v)/2,w=d-m,R=v-b,L=w*w+R*R,y=l-r,c=m*v-d*b,f=(R<0?-1:1)*pt(ye(0,y*y*L-c*c)),A=(c*R-w*f)/L,E=(-c*w-R*f)/L,P=(c*R+w*f)/L,T=(-c*w+R*f)/L,O=A-u,_=E-k,D=P-u,H=T-k;return O*O+_*_>D*D+H*H&&(A=P,E=T),{cx:A,cy:E,x01:-o,y01:-h,x11:A*(l/y-1),y11:E*(l/y-1)}}function ya(){var p=pa,e=ha,t=W(0),n=null,l=ma,r=fa,s=va,a=null,g=be(i);function i(){var o,h,m=+p.apply(this,arguments),b=+e.apply(this,arguments),d=l.apply(this,arguments)-Nt,v=r.apply(this,arguments)-Nt,u=Yt(v-d),k=v>d;if(a||(a=o=g()),b<m&&(h=b,b=m,m=h),!(b>z))a.moveTo(0,0);else if(u>_t-z)a.moveTo(b*lt(d),b*N(d)),a.arc(0,0,b,d,v,!k),m>z&&(a.moveTo(m*lt(v),m*N(v)),a.arc(0,0,m,v,d,k));else{var w=d,R=v,L=d,y=v,c=u,f=u,A=s.apply(this,arguments)/2,E=A>z&&(n?+n.apply(this,arguments):pt(m*m+b*b)),P=$t(Yt(b-m)/2,+t.apply(this,arguments)),T=P,O=P,_,D;if(E>z){var H=Kt(E/m*N(A)),at=Kt(E/b*N(A));(c-=H*2)>z?(H*=k?1:-1,L+=H,y-=H):(c=0,L=y=(d+v)/2),(f-=at*2)>z?(at*=k?1:-1,w+=at,R-=at):(f=0,w=R=(d+v)/2)}var q=b*lt(w),nt=b*N(w),ct=m*lt(y),J=m*N(y);if(P>z){var ut=b*lt(R),st=b*N(R),dt=m*lt(L),ft=m*N(L),G;if(u<Ht)if(G=ba(q,nt,dt,ft,ut,st,ct,J)){var gt=q-G[0],x=nt-G[1],B=ut-G[0],ot=st-G[1],Bt=1/N(_e((gt*B+x*ot)/(pt(gt*gt+x*x)*pt(B*B+ot*ot)))/2),Gt=pt(G[0]*G[0]+G[1]*G[1]);T=$t(P,(m-Gt)/(Bt-1)),O=$t(P,(b-Gt)/(Bt+1))}else T=O=0}f>z?O>z?(_=bt(dt,ft,q,nt,b,O,k),D=bt(ut,st,ct,J,b,O,k),a.moveTo(_.cx+_.x01,_.cy+_.y01),O<P?a.arc(_.cx,_.cy,O,V(_.y01,_.x01),V(D.y01,D.x01),!k):(a.arc(_.cx,_.cy,O,V(_.y01,_.x01),V(_.y11,_.x11),!k),a.arc(0,0,b,V(_.cy+_.y11,_.cx+_.x11),V(D.cy+D.y11,D.cx+D.x11),!k),a.arc(D.cx,D.cy,O,V(D.y11,D.x11),V(D.y01,D.x01),!k))):(a.moveTo(q,nt),a.arc(0,0,b,w,R,!k)):a.moveTo(q,nt),!(m>z)||!(c>z)?a.lineTo(ct,J):T>z?(_=bt(ct,J,ut,st,m,-T,k),D=bt(q,nt,dt,ft,m,-T,k),a.lineTo(_.cx+_.x01,_.cy+_.y01),T<P?a.arc(_.cx,_.cy,T,V(_.y01,_.x01),V(D.y01,D.x01),!k):(a.arc(_.cx,_.cy,T,V(_.y01,_.x01),V(_.y11,_.x11),!k),a.arc(0,0,m,V(_.cy+_.y11,_.cx+_.x11),V(D.cy+D.y11,D.cx+D.x11),k),a.arc(D.cx,D.cy,T,V(D.y11,D.x11),V(D.y01,D.x01),!k))):a.arc(0,0,m,y,L,k)}if(a.closePath(),o)return a=null,o+""||null}return i.centroid=function(){var o=(+p.apply(this,arguments)+ +e.apply(this,arguments))/2,h=(+l.apply(this,arguments)+ +r.apply(this,arguments))/2-Ht/2;return[lt(h)*o,N(h)*o]},i.innerRadius=function(o){return arguments.length?(p=typeof o=="function"?o:W(+o),i):p},i.outerRadius=function(o){return arguments.length?(e=typeof o=="function"?o:W(+o),i):e},i.cornerRadius=function(o){return arguments.length?(t=typeof o=="function"?o:W(+o),i):t},i.padRadius=function(o){return arguments.length?(n=o==null?null:typeof o=="function"?o:W(+o),i):n},i.startAngle=function(o){return arguments.length?(l=typeof o=="function"?o:W(+o),i):l},i.endAngle=function(o){return arguments.length?(r=typeof o=="function"?o:W(+o),i):r},i.padAngle=function(o){return arguments.length?(s=typeof o=="function"?o:W(+o),i):s},i.context=function(o){return arguments.length?(a=o??null,i):a},i}function _a(p,e){return e<p?-1:e>p?1:e>=p?0:NaN}function ka(p){return p}function xa(){var p=ka,e=_a,t=null,n=W(0),l=W(_t),r=W(0);function s(a){var g,i=(a=ke(a)).length,o,h,m=0,b=new Array(i),d=new Array(i),v=+n.apply(this,arguments),u=Math.min(_t,Math.max(-_t,l.apply(this,arguments)-v)),k,w=Math.min(Math.abs(u)/i,r.apply(this,arguments)),R=w*(u<0?-1:1),L;for(g=0;g<i;++g)(L=d[b[g]=g]=+p(a[g],g,a))>0&&(m+=L);for(e!=null?b.sort(function(y,c){return e(d[y],d[c])}):t!=null&&b.sort(function(y,c){return t(a[y],a[c])}),g=0,h=m?(u-i*R)/m:0;g<i;++g,v=k)o=b[g],L=d[o],k=v+(L>0?L*h:0)+R,d[o]={data:a[o],index:g,value:L,startAngle:v,endAngle:k,padAngle:w};return d}return s.value=function(a){return arguments.length?(p=typeof a=="function"?a:W(+a),s):p},s.sortValues=function(a){return arguments.length?(e=a,t=null,s):e},s.sort=function(a){return arguments.length?(t=a,e=null,s):t},s.startAngle=function(a){return arguments.length?(n=typeof a=="function"?a:W(+a),s):n},s.endAngle=function(a){return arguments.length?(l=typeof a=="function"?a:W(+a),s):l},s.padAngle=function(a){return arguments.length?(r=typeof a=="function"?a:W(+a),s):r},s}function Sa({x:p,y:e,w:t,h:n,tl:l=!1,tr:r=!1,bl:s=!1,br:a=!1,r:g=0}){let i;i=`M${p+g},${e}h${t-2*g}`;let o=r?g:0,h=r?0:g;return i+=`a${o},${o} 0 0 1 ${o},${o}`,i+=`h${h}v${h}`,i+=`v${n-2*g}`,o=a?g:0,h=a?0:g,i+=`a${o},${o} 0 0 1 ${-o},${o}`,i+=`v${h}h${-h}`,i+=`h${2*g-t}`,o=s?g:0,h=s?0:g,i+=`a${o},${o} 0 0 1 ${-o},${-o}`,i+=`h${-h}v${-h}`,i+=`v${2*g-n}`,o=l?g:0,h=l?0:g,i+=`a${o},${o} 0 0 1 ${o},${-o}`,i+=`v${-h}h${h}`,i+="z",i}const Ta=Object.assign(Object.assign({},xe),{color:void 0,barMaxWidth:void 0,barWidth:void 0,dataStep:void 0,barPadding:0,roundedCorners:2,cursor:null,barMinHeight1Px:!1,barMinHeightZeroValue:null,orientation:Qt.Vertical}),ie=X`
2
+ label: stacked-bar-component;
3
+ `,Aa=Jt`
4
+ :root {
5
+ --vis-stacked-bar-cursor: default;
6
+ --vis-stacked-bar-fill-color: var(--vis-color-main);
7
+ --vis-stacked-bar-stroke-color: none;
8
+ --vis-stacked-bar-stroke-width: 0px;
9
+ --vis-stacked-bar-hover-stroke-width: none;
10
+ --vis-stacked-bar-hover-stroke-color: none;
11
+
12
+ /* Dark Theme */
13
+ --vis-dark-stacked-bar-stroke-color: none;
14
+ }
15
+
16
+ body.theme-dark ${`.${ie}`} {
17
+ --vis-stacked-bar-stroke-color: var(--vis-dark-stacked-bar-stroke-color);
18
+ }
19
+ `,kt=X`
20
+ label: bar;
21
+ fill: var(--vis-stacked-bar-fill-color);
22
+ stroke: var(--vis-stacked-bar-stroke-color);
23
+ stroke-width: var(--vis-stacked-bar-stroke-width);
24
+ cursor: var(--vis-stacked-bar-cursor);
25
+
26
+ &:hover {
27
+ stroke-width: var(--vis-stacked-bar-hover-stroke-width);
28
+ stroke: var(--vis-stacked-bar-hover-stroke-color);
29
+ }
30
+ `,Ut=X`
31
+ label: barGroup;
32
+ `,re=X`
33
+ label: barGroupExit;
34
+ `,$a=Object.freeze(Object.defineProperty({__proto__:null,bar:kt,barGroup:Ut,barGroupExit:re,globalStyles:Aa,root:ie},Symbol.toStringTag,{value:"Module"}));class Wt extends Se{constructor(e){super(),this._defaultConfig=Ta,this.config=this._defaultConfig,this.getAccessors=()=>Te(this.config.y)?this.config.y:[this.config.y],this.stacked=!0,this.events={},this._barData=[],e&&this.setConfig(e)}get bleed(){if(this._barData=this._getVisibleData(),this._barData.length===0)return{top:0,bottom:0,left:0,right:0};const e=!this.isVertical()&&this.dataScale.range()[0]>this.dataScale.range()[1],t=this.dataScale.domain(),n=this._getBarWidth()/2,l=this._barData.map((b,d)=>it(b,this.config.x,d)),r=Dt(l),s=Ae(l),a=this.dataScale(r),g=this.dataScale(s),i=this.dataScale.invert(a+(e?n:-n)),o=this.dataScale.invert(g+(e?-n:n)),h=i<=t[0]?this.dataScale(t[0])-this.dataScale(i):0,m=o>t[1]?this.dataScale(o)-this.dataScale(t[1]):0;return{top:this.isVertical()?0:e?-m:h,bottom:this.isVertical()?0:e?-h:m,left:this.isVertical()?h:0,right:this.isVertical()?m:0}}get dataScale(){return this.isVertical()?this.xScale:this.yScale}get valueScale(){return this.isVertical()?this.yScale:this.xScale}isVertical(){return this.config.orientation===Qt.Vertical}_render(e){const{config:t}=this,n=Mt(e)?e:t.duration,l=this.getAccessors(),r=$e(this._barData,0,l,this._prevNegative);this._prevNegative=r.map(d=>!!d.isMostlyNegative);const s=this.g.selectAll(`.${Ut}`).data(this._barData,(d,v)=>{var u;return`${(u=Xt(d,t.id,v))!==null&&u!==void 0?u:v}`}),a=(d,v)=>{const u=this.dataScale(it(d,t.x,v)),k=this.isVertical()?u:0,w=this.isVertical()?0:u;return`translate(${k},${w})`},i=s.enter().append("g").attr("class",Ut).attr("transform",a).style("opacity",1).merge(s);Z(i,n).attr("transform",a).style("opacity",1);const o=s.exit().attr("class",re);Z(o,n).style("opacity",0).remove(),Z(o.selectAll(`.${kt}`),n).attr("transform",this.isVertical()?`translate(0,${this._height/3})`:`translate(${this._width/6},0)`);const h=i.selectAll(`.${kt}`).data((d,v)=>r.map((u,k)=>({datum:d,index:v,stacked:u[v],stackIndex:k,isEnding:k===r.length-1||k<=r.length-1&&r[k+1][v][0]!==u[v][1]})).filter(u=>u.stacked[0]!==u.stacked[1]),d=>d.stackIndex),b=h.enter().append("path").attr("class",kt).attr("d",d=>this._getBarPath(d,!0)).style("fill",d=>xt(d.datum,t.color,d.stackIndex)).merge(h);Z(b,n).attr("d",d=>this._getBarPath(d)).style("fill",d=>xt(d.datum,t.color,d.stackIndex)).style("cursor",d=>Xt(d.datum,t.cursor,d.stackIndex)),Z(h.exit(),n).style("opacity",0).remove()}_getBarWidth(){const{config:e,datamodel:{data:t}}=this;if(De(t))return 0;if(e.barWidth)return Dt([e.barWidth,e.barMaxWidth]);const n=this.dataScale.bandwidth,l=this.dataScale.domain?this.dataScale.domain():[];let s=1+(n?l.length:l[1]-l[0])/e.dataStep||!n&&t.filter((i,o)=>{const h=it(i,e.x,o);return h>=l[0]&&h<=l[1]}).length||t.length;!n&&s>=2&&(s+=1);const g=(s<2?1:1-e.barPadding)*(this.isVertical()?this._width:this._height)/s;return Dt([g,e.barMaxWidth])}_getVisibleData(){const{config:e,datamodel:{data:t}}=this,n=this._getBarWidth(),l=t.length<2?0:n/2,r=this.dataScale,s=Math.abs(r.invert(l)-r.invert(0));return t?.filter((g,i)=>{const o=it(g,e.x,i),h=r.domain(),m=+h[0],b=+h[1];return o>=m-s&&o<=b+s})}_getBarPath(e,t=!1){const{config:n}=this,l=this.getAccessors(),r=this._getBarWidth(),s=e.stacked[1]<0,a=e.isEnding,g=it(e.datum,l[e.stackIndex],e.index),i=t?0:Math.abs(this.valueScale(e.stacked[0])-this.valueScale(e.stacked[1])),o=!t&&n.barMinHeight1Px&&i<1&&isFinite(g)&&g!==n.barMinHeightZeroValue?1:i,h=t?this.valueScale(0):this.valueScale(s?e.stacked[0]:e.stacked[1])-(i<1&&n.barMinHeight1Px?1:0),m=-r/2,b=r,d=n.roundedCorners?Mt(n.roundedCorners)?+n.roundedCorners:b/2:0,v=te(d,0,Math.min(i,b)/2),u=this.yScale.range()[0]>this.yScale.range()[1];return Sa({x:this.isVertical()?m:h-o,y:this.isVertical()?h+(u?0:-o):m,w:this.isVertical()?b:o,h:this.isVertical()?o:b,tl:a&&(this.isVertical()?!s&&u||s&&!u:s),tr:a&&(this.isVertical()?!s&&u||s&&!u:!s),br:a&&(this.isVertical()?s&&u||!s&&!u:!s),bl:a&&(this.isVertical()?s&&u||!s&&!u:s),r:v})}getValueScaleExtent(e){const{datamodel:t}=this,n=this.getAccessors(),l=e?this._getVisibleData():t.data;return Ce(l,...n)}getDataScaleExtent(){const{config:e,datamodel:t}=this;return we(t.data,e.x)}getYDataExtent(e){return this.isVertical()?this.getValueScaleExtent(e):this.getDataScaleExtent()}getXDataExtent(){return this.isVertical()?this.getDataScaleExtent():this.getValueScaleExtent(!1)}}Wt.selectors=$a;const Da=Object.assign(Object.assign({},Re),{id:(p,e)=>{var t;return(t=p.id)!==null&&t!==void 0?t:e},value:void 0,angleRange:[0,2*Math.PI],padAngle:0,sortFunction:void 0,cornerRadius:0,color:void 0,radius:void 0,arcWidth:20,centralLabel:void 0,centralSubLabel:void 0,centralSubLabelWrap:!0,showEmptySegments:!1,emptySegmentAngle:.5*Math.PI/180,showBackground:!0,backgroundAngleRange:void 0,centralLabelOffsetX:void 0,centralLabelOffsetY:void 0});function Ca(p,e){p.style("fill",t=>xt(t.data,e.color,t.index)).style("opacity",0).each((t,n,l)=>{const r=l[n],s=(t.startAngle+t.endAngle)/2,a=(t.endAngle-t.startAngle)/2;r._animState={startAngle:s-a,endAngle:s+a,innerRadius:t.innerRadius,outerRadius:t.outerRadius,padAngle:t.padAngle}})}function wa(p,e,t,n){p.style("transition",`fill ${n}ms`).style("fill",r=>xt(r.data,e.color,r.index));const l=r=>e.showEmptySegments||r.value?1:0;n?Z(p,n).style("opacity",l).attrTween("d",(s,a,g)=>{const i=g[a],o={startAngle:s.startAngle,endAngle:s.endAngle,innerRadius:s.innerRadius,outerRadius:s.outerRadius,padAngle:s.padAngle},h=Me(i._animState,o);return m=>(i._animState=h(m),t(i._animState))}):p.attr("d",t).style("opacity",l)}function Ra(p,e){Z(p,e).style("opacity",0).remove()}const ce=Array.from({length:4},(p,e)=>{const t=-Math.PI/2+e*Math.PI/2;return[t,t+Math.PI]}),[xn,Sn,Tn,An]=ce,ue=X`
35
+ label: donut-component;
36
+ `,Ma=Jt`
37
+ :root {
38
+ --vis-donut-central-label-font-size: 16px;
39
+ --vis-donut-central-label-text-color: #5b5f6d;
40
+ // Undefined by default to allow proper fallback to var(--vis-font-family)
41
+ /* --vis-donut-central-label-font-family: */
42
+ --vis-donut-central-label-font-weight: 600;
43
+
44
+ --vis-donut-central-sub-label-font-size: 12px;
45
+ --vis-donut-central-sub-label-text-color: #5b5f6d;
46
+ // Undefined by default to allow proper fallback to var(--vis-font-family)
47
+ /* --vis-donut-central-sub-label-font-family: */
48
+ --vis-donut-central-sub-label-font-weight: 500;
49
+
50
+ --vis-donut-background-color: #E7E9F3;
51
+ --vis-donut-segment-stroke-width: 0;
52
+ // The line segment color variable is not defined by default
53
+ // to allow it to fallback to the donut background color
54
+ /* --vis-donut-segment-stroke-color: none; */
55
+
56
+ --vis-dark-donut-central-label-text-color: #C2BECE;
57
+ --vis-dark-donut-central-sub-label-text-color: #C2BECE;
58
+ --vis-dark-donut-background-color: #18160C;
59
+ }
60
+
61
+ body.theme-dark ${`.${ue}`} {
62
+ --vis-donut-central-label-text-color: var(--vis-dark-donut-central-label-text-color);
63
+ --vis-donut-central-sub-label-text-color: var(--vis-dark-donut-central-sub-label-text-color);
64
+ --vis-donut-background-color: var(--vis-dark-donut-background-color);
65
+ }
66
+ `,de=X`
67
+ label: background;
68
+ fill: var(--vis-donut-background-color);
69
+ `,Ot=X`
70
+ label: segment;
71
+ stroke-width: var(--vis-donut-segment-stroke-width);
72
+ stroke: var(--vis-donut-segment-stroke-color, var(--vis-donut-background-color));
73
+ `,ge=X`
74
+ label: segment-exit;
75
+ `,pe=X`
76
+ label: central-label;
77
+ text-anchor: middle;
78
+ dominant-baseline: middle;
79
+ font-size: var(--vis-donut-central-label-font-size);
80
+ font-family: var(--vis-donut-central-label-font-family, var(--vis-font-family));
81
+ font-weight: var(--vis-donut-central-label-font-weight);
82
+ fill: var(--vis-donut-central-label-text-color);
83
+ `,he=X`
84
+ label: central-label;
85
+ text-anchor: middle;
86
+ dominant-baseline: middle;
87
+ font-size: var(--vis-donut-central-sub-label-font-size);
88
+ font-family: var(--vis-donut-central-sub-label-font-family, var(--vis-font-family));
89
+ font-weight: var(--vis-donut-central-sub-label-font-weight);
90
+ fill: var(--vis-donut-central-sub-label-text-color);
91
+ `,La=Object.freeze(Object.defineProperty({__proto__:null,background:de,centralLabel:pe,centralSubLabel:he,root:ue,segment:Ot,segmentExit:ge,variables:Ma},Symbol.toStringTag,{value:"Module"}));class zt extends Le{constructor(e){super(),this._defaultConfig=Da,this.config=this._defaultConfig,this.datamodel=new Ue,this.arcGen=ya(),this.events={},e&&this.setConfig(e),this.arcBackground=this.g.append("path"),this.arcGroup=this.g.append("g"),this.centralLabel=this.g.append("text").attr("class",pe),this.centralSubLabel=this.g.append("text").attr("class",he)}get bleed(){return{top:0,bottom:0,left:0,right:0}}_render(e){var t,n,l,r,s,a,g,i,o,h,m,b,d,v;const{config:u,datamodel:k,bleed:w}=this,R=k.data.map((x,B)=>({index:B,datum:x})).filter(x=>u.showEmptySegments||it(x.datum,u.value,x.index)),L=Mt(e)?e:u.duration,[y,c,f,A]=ce.map(x=>u.angleRange&&u.angleRange[0]===x[0]&&u.angleRange[1]===x[1]),E=y||f,P=c||A,T=this._width*(P?2:1),O=this._height*(E?2:1),_=u.radius||Math.min(T-w.left-w.right,O-w.top-w.bottom)/2,D=u.arcWidth===0?0:te(_-u.arcWidth,0,_-1),H=this._height/2+(y?_/2:f?-_/2:0),at=this._width/2+(A?_/2:c?-_/2:0),q=`translate(${at},${H})`;this.arcGroup.attr("transform",q),this.arcGen.startAngle(x=>x.startAngle).endAngle(x=>x.endAngle).innerRadius(x=>x.innerRadius).outerRadius(x=>x.outerRadius).padAngle(x=>x.padAngle).cornerRadius(u.cornerRadius);const ct=xa().startAngle((n=(t=u.angleRange)===null||t===void 0?void 0:t[0])!==null&&n!==void 0?n:0).endAngle((r=(l=u.angleRange)===null||l===void 0?void 0:l[1])!==null&&r!==void 0?r:2*Math.PI).padAngle(u.padAngle).value(x=>it(x.datum,u.value,x.index)||0).sort((x,B)=>{var ot;return(ot=u.sortFunction)===null||ot===void 0?void 0:ot.call(u,x.datum,B.datum)})(R).map(x=>{const B=Object.assign(Object.assign({},x),{data:x.data.datum,index:x.data.index,innerRadius:D,outerRadius:_});return u.showEmptySegments&&x.endAngle-x.startAngle-x.padAngle<=Number.EPSILON&&(B.endAngle=x.startAngle+Math.max(u.emptySegmentAngle,u.padAngle),B.padAngle=x.padAngle/2),B}),J=this.arcGroup.selectAll(`.${Ot}`).data(ct,x=>u.id(x.data,x.index)),ut=J.enter().append("path").attr("class",Ot).call(Ca,u),st=J.merge(ut);st.call(wa,u,this.arcGen,L),st.sort((x,B)=>B.value-x.value),J.exit().attr("class",ge).call(Ra,L);const dt=c?"start":A?"end":"middle";this.centralLabel.attr("dy",u.centralSubLabel?"-0.55em":null).style("text-anchor",dt).text((s=u.centralLabel)!==null&&s!==void 0?s:null),this.centralSubLabel.attr("dy",u.centralLabel?"0.55em":null).style("text-anchor",dt).text((a=u.centralSubLabel)!==null&&a!==void 0?a:null),u.centralSubLabelWrap&&Oe(this.centralSubLabel,D*1.9);const ft=(u.centralLabelOffsetX||0)+at;let G=(u.centralLabelOffsetY||0)+H;E&&u.centralLabelOffsetX===void 0&&u.centralLabelOffsetY===void 0&&(G=(y?-this.centralSubLabel.node().getBoundingClientRect().height:f?this.centralLabel.node().getBoundingClientRect().height:0)+H);const gt=`translate(${ft},${G})`;this.centralLabel.attr("transform",gt),this.centralSubLabel.attr("transform",gt),this.arcBackground.attr("class",de).attr("visibility",u.showBackground?null:"hidden").attr("transform",q),Z(this.arcBackground,L).attr("d",this.arcGen({startAngle:(h=(i=(g=u.backgroundAngleRange)===null||g===void 0?void 0:g[0])!==null&&i!==void 0?i:(o=u.angleRange)===null||o===void 0?void 0:o[0])!==null&&h!==void 0?h:0,endAngle:(v=(b=(m=u.backgroundAngleRange)===null||m===void 0?void 0:m[1])!==null&&b!==void 0?b:(d=u.angleRange)===null||d===void 0?void 0:d[1])!==null&&v!==void 0?v:2*Math.PI,innerRadius:D,outerRadius:_}))}}zt.selectors=La;const Ua=et({__name:"index",props:{component:{},tooltip:{},annotations:{},duration:{},margin:{},padding:{},sizing:{},width:{},height:{},svgDefs:{},ariaLabel:{},data:{}},setup(p,{expose:e}){const t=p,{data:n}=aa(t),l=Et(t);let r;const s=oa({component:void 0,tooltip:void 0,annotations:void 0}),a=It(),g=()=>{r||a.value&&s.component&&(r=new ga(a.value,{...Ct(s)},n.value))};return na(()=>{var i;g(),(i=s.component)==null||i.config,r?.updateContainer({...Ct(l.value),...Ct(s)})}),mt(n,()=>{r?r.setData(n.value,!0):g()}),Vt(()=>r?.destroy()),wt(Pt,{data:n,update:i=>s.component=i,destroy:()=>s.component=void 0}),wt(Ee,{data:n,update:i=>s.tooltip=i,destroy:()=>{s.tooltip=void 0}}),wt(Pe,{data:n,update:i=>s.annotations=i,destroy:()=>{s.annotations=void 0}}),e({component:r}),(i,o)=>(F(),K("div",{"data-vis-single-container":"",ref_key:"elRef",ref:a,class:"unovis-single-container"},[sa(i.$slots,"default")],512))}}),Oa={"data-vis-component":""},Ea=Wt.selectors,Pa=et({__name:"index",props:{color:{type:[Function,String,Array,null]},barWidth:{},barMaxWidth:{},dataStep:{},barPadding:{},roundedCorners:{type:[Number,Boolean]},cursor:{type:[Function,String,null]},barMinHeight1Px:{type:Boolean},barMinHeightZeroValue:{},orientation:{},x:{type:[Function,Number,null]},y:{type:[Function,Number,null,Array]},id:{type:Function},xScale:{type:[Object,Function]},yScale:{type:[Object,Function]},excludeFromDomainCalculation:{type:Boolean},duration:{},events:{},attributes:{},data:{}},setup(p,{expose:e}){const t=se(Pt),n=p,l=$(()=>t.data.value??n.data),r=Et(n),s=It();return oe(()=>{le(()=>{var a;s.value=new Wt(r.value),(a=s.value)==null||a.setData(l.value),t.update(s.value)})}),Vt(()=>{var a;(a=s.value)==null||a.destroy(),t.destroy()}),mt(r,(a,g)=>{var i;ee(a,g)||(i=s.value)==null||i.setConfig(r.value)}),mt(l,()=>{var a;(a=s.value)==null||a.setData(l.value)}),e({component:s}),(a,g)=>(F(),K("div",Oa))}}),ja={"data-vis-component":""},Va=zt.selectors,Ia=et({__name:"index",props:{id:{type:Function},value:{type:[Function,Number,null]},angleRange:{},padAngle:{},sortFunction:{type:Function},cornerRadius:{},color:{type:[Function,String,Array,null]},radius:{},arcWidth:{},centralLabel:{},centralSubLabel:{},centralSubLabelWrap:{type:Boolean},showEmptySegments:{type:Boolean},emptySegmentAngle:{},showBackground:{type:Boolean},backgroundAngleRange:{},centralLabelOffsetX:{},centralLabelOffsetY:{},duration:{},events:{},attributes:{},data:{}},setup(p,{expose:e}){const t=se(Pt),n=p,l=$(()=>t.data.value??n.data),r=Et(n),s=It();return oe(()=>{le(()=>{var a;s.value=new zt(r.value),(a=s.value)==null||a.setData(l.value),t.update(s.value)})}),Vt(()=>{var a;(a=s.value)==null||a.destroy(),t.destroy()}),mt(r,(a,g)=>{var i;ee(a,g)||(i=s.value)==null||i.setConfig(r.value)}),mt(l,()=>{var a;(a=s.value)==null||a.setData(l.value)}),e({component:s}),(a,g)=>(F(),K("div",ja))}}),Fa={class:"mb-4 grid grid-cols-2 gap-3"},Wa={class:"rounded-md border px-3 py-2"},za={class:"mt-1 text-xl font-semibold tabular-nums"},Ba={class:"rounded-md border px-3 py-2"},Ga={class:"mt-1 text-xl font-semibold tabular-nums"},Ha={class:"mt-4 flex flex-wrap justify-center items-center gap-3 text-xs text-muted-foreground"},Na=et({name:"StatisticalAnalysisSessionAnalysisPanel",__name:"SessionAnalysisPanel",props:{items:{},totalSessions:{}},setup(p){const e=p,t=[{color:"#2563eb",key:"tokens",label:"Token Usage"},{color:"#b6d72f",key:"duration",label:"Duration"},{color:"#f97316",key:"cost",label:"Cost"}],n={cost:{color:t[2].color,label:t[2].label},duration:{color:t[1].color,label:t[1].label},tokens:{color:t[0].color,label:t[0].label}},l={bottom:32,left:120,right:12,top:8},r=$(()=>{const c=e.items.reduce((f,A)=>f+A.costUSD,0)/e.items.length;return tt(c)}),s=$(()=>{const c=new Map;for(const T of e.items){const O=c.get(T.project)??{costUSD:0,durationMinutes:0,sessionCount:0,tokenTotal:0};O.costUSD+=T.costUSD,O.durationMinutes+=i(T.duration),O.sessionCount+=1,O.tokenTotal+=T.tokenTotal,c.set(T.project,O)}const f=Array.from(c.entries()).map(([T,O])=>({project:T,...O})).sort((T,O)=>O.costUSD-T.costUSD),A=Math.max(...f.map(T=>T.tokenTotal),0),E=Math.max(...f.map(T=>T.durationMinutes),0),P=Math.max(...f.map(T=>T.costUSD),0);return f.map((T,O)=>({...T,costLabel:tt(T.costUSD),costScore:h(T.costUSD,P),durationLabel:o(T.durationMinutes),durationScore:h(T.durationMinutes,E),index:O,tokenLabel:Y(T.tokenTotal),tokenScore:h(T.tokenTotal,A)}))}),a=$(()=>s.value.map(c=>c.index)),g=$(()=>({[Ea.bar]:k}));function i(c){const f=c.match(/(\d+)h/)?.[1],A=c.match(/(\d+)m/)?.[1];return Number(f??0)*60+Number(A??0)}function o(c){const f=Math.floor(c/60),A=c%60;return f===0?`${A}m`:A===0?`${f}h`:`${f}h ${A}m`}function h(c,f){return f>0?c/f*100:0}function m(c){return c.index}function b(c){return c.tokenScore}function d(c){return c.durationScore}function v(c){return c.costScore}function u(c,f){return t[f]?.color??t[0].color}function k(c){const f=c.datum,A=t[c.stackIndex]??t[0],E=w(f,c.stackIndex);return`
92
+ <div class="grid min-w-44 gap-2 rounded-md border bg-background px-3 py-2 text-xs shadow-lg">
93
+ <div class="font-medium text-foreground">${y(f.project)}</div>
94
+ <div class="flex items-center justify-between gap-4">
95
+ <span class="flex items-center gap-2 text-muted-foreground">
96
+ <span class="size-2 rounded-sm" style="background-color: ${A.color}"></span>
97
+ ${A.label}
98
+ </span>
99
+ <span class="font-mono font-semibold text-foreground">${E}</span>
100
+ </div>
101
+ <div class="grid gap-1 border-t pt-2 text-muted-foreground">
102
+ <div class="flex justify-between gap-4"><span>Tokens</span><span>${f.tokenLabel}</span></div>
103
+ <div class="flex justify-between gap-4"><span>Duration</span><span>${f.durationLabel}</span></div>
104
+ <div class="flex justify-between gap-4"><span>Cost</span><span>${f.costLabel}</span></div>
105
+ <div class="flex justify-between gap-4"><span>Sessions</span><span>${f.sessionCount}</span></div>
106
+ </div>
107
+ </div>
108
+ `}function w(c,f){return f===0?`${c.tokenLabel} tokens`:f===1?c.durationLabel:c.costLabel}function R(c){return c instanceof Date?"":s.value.find(f=>f.index===c)?.project??""}function L(c){return c instanceof Date?"":`${Math.round(c)}%`}function y(c){return c.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}return(c,f)=>{const A=ne,E=jt;return F(),ht(E,{description:"Token, duration, and cost grouped by project",icon:"lucide:messages-square",title:"Session Analysis"},{default:M(()=>[U("div",Fa,[U("div",Wa,[f[0]||(f[0]=U("p",{class:"text-xs text-muted-foreground"}," Total Sessions ",-1)),U("p",za,j(p.totalSessions),1)]),U("div",Ba,[f[1]||(f[1]=U("p",{class:"text-xs text-muted-foreground"}," Top Session Avg ",-1)),U("p",Ga,j(r.value),1)])]),S(A,{class:"h-80 w-full",config:n},{default:M(()=>[S(C(je),{"auto-margin":!1,data:s.value,height:320,margin:l,"y-direction":"south"},{default:M(()=>[S(C(Pa),{"bar-max-width":28,"bar-padding":.28,color:u,cursor:"pointer",orientation:"horizontal","rounded-corners":3,x:m,y:[b,d,v]},null,8,["y"]),S(C(qt),{"grid-line":!1,"tick-format":R,"tick-text-width":104,"tick-values":a.value,type:"y"},null,8,["tick-values"]),S(C(qt),{"num-ticks":4,"tick-format":L,type:"x"}),S(C(ae),{triggers:g.value},null,8,["triggers"])]),_:1},8,["data"])]),_:1}),U("div",Ha,[(F(),K(Tt,null,St(t,P=>U("div",{key:P.key,class:"flex items-center gap-2"},[U("span",{class:"size-2.5 rounded-sm",style:Ft({backgroundColor:P.color})},null,4),U("span",null,j(P.label),1)])),64))])]),_:1})}}}),Ya=Object.assign(Na,{__name:"StatisticalAnalysisSessionAnalysisPanel"}),Ka={class:"space-y-4"},Xa={class:"flex items-start justify-between gap-3"},qa={class:"min-w-0"},Za={class:"truncate text-sm font-medium"},Qa={class:"truncate text-xs text-muted-foreground"},Ja={class:"shrink-0 text-sm font-semibold tabular-nums"},tn={class:"h-2 overflow-hidden rounded-full bg-secondary"},en=et({name:"StatisticalAnalysisUsageBarList",__name:"UsageBarList",props:{items:{}},setup(p){function e(n){switch(n){case"green":return"bg-emerald-500";case"amber":return"bg-amber-500";case"sky":return"bg-sky-500";case"rose":return"bg-rose-500";default:return"bg-primary"}}function t(n){return`${Math.max(n.percent,n.percent>0?3:0)}%`}return(n,l)=>(F(),K("div",Ka,[(F(!0),K(Tt,null,St(p.items,r=>(F(),K("div",{key:r.label,class:"space-y-2"},[U("div",Xa,[U("div",qa,[U("p",Za,j(r.label),1),U("p",Qa,j(r.detail),1)]),U("span",Ja,j(r.value),1)]),U("div",tn,[U("div",{class:la(["h-full rounded-full transition-[width]",e(r.tone)]),style:Ft({width:t(r)})},null,6)])]))),128))]))}}),an=Object.assign(en,{__name:"StatisticalAnalysisUsageBarList"}),nn={class:"grid gap-6 lg:grid-cols-[220px_1fr] lg:items-center"},sn={class:"flex items-center justify-center"},on={class:"space-y-3"},ln={class:"flex min-w-0 items-center gap-2"},rn={class:"truncate text-sm text-muted-foreground"},cn={class:"text-sm font-semibold tabular-nums"},un={class:"w-12 text-right text-xs text-muted-foreground tabular-nums"},dn={class:"mt-5 border-t pt-4"},gn=et({name:"StatisticalAnalysisEfficiencyCachePanel",__name:"EfficiencyCachePanel",props:{dailyItems:{},items:{}},setup(p){const e=p,t=$(()=>e.dailyItems.reduce((d,v)=>d+v.inputTokens,0)),n=$(()=>e.dailyItems.reduce((d,v)=>d+v.cachedInputTokens,0)),l=$(()=>Math.max(t.value-n.value,0)),r=$(()=>t.value>0?n.value/t.value:0),s=$(()=>rt(r.value)),a=$(()=>[{color:"#059669",key:"cached",label:"Cached Input",shareLabel:rt(r.value),value:n.value,valueLabel:Y(n.value)},{color:"#0ea5e9",key:"fresh",label:"Fresh Input",shareLabel:rt(t.value>0?l.value/t.value:0),value:l.value,valueLabel:Y(l.value)}]),g=$(()=>Object.fromEntries(a.value.map(d=>[d.key,{color:d.color,label:d.label}]))),i=$(()=>({[Va.segment]:m}));function o(d){return d.value}function h(d){return d.color}function m(d){const v=d.data;return`
109
+ <div class="grid min-w-40 gap-2 rounded-md border bg-background px-3 py-2 text-xs shadow-lg">
110
+ <div class="flex items-center gap-2 font-medium text-foreground">
111
+ <span class="size-2 rounded-sm" style="background-color: ${v.color}"></span>
112
+ ${b(v.label)}
113
+ </div>
114
+ <div class="grid gap-1 text-muted-foreground">
115
+ <div class="flex justify-between gap-4"><span>Tokens</span><span class="font-mono font-medium text-foreground">${v.valueLabel}</span></div>
116
+ <div class="flex justify-between gap-4"><span>Share</span><span class="font-mono font-medium text-foreground">${v.shareLabel}</span></div>
117
+ </div>
118
+ </div>
119
+ `}function b(d){return d.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}return(d,v)=>{const u=ne,k=an,w=jt;return F(),ht(w,{description:"Cached input ratio across total input tokens",icon:"lucide:gauge",title:"Efficiency / Cache"},{default:M(()=>[U("div",nn,[U("div",sn,[S(u,{class:"h-52 w-full max-w-56",config:C(g)},{default:M(()=>[S(C(Ua),{data:C(a),height:208},{default:M(()=>[S(C(Ia),{"arc-width":26,"central-label":C(s),"central-sub-label":"Hit Rate",color:h,"corner-radius":4,"pad-angle":.04,value:o},null,8,["central-label"]),S(C(ae),{triggers:C(i)},null,8,["triggers"])]),_:1},8,["data"])]),_:1},8,["config"])]),U("div",on,[(F(!0),K(Tt,null,St(C(a),R=>(F(),K("div",{key:R.key,class:"grid grid-cols-[minmax(0,1fr)_auto_auto] items-center gap-3"},[U("div",ln,[U("span",{class:"size-2.5 shrink-0 rounded-full",style:Ft({backgroundColor:R.color})},null,4),U("span",rn,j(R.label),1)]),U("span",cn,j(R.valueLabel),1),U("span",un,j(R.shareLabel),1)]))),128))])]),U("div",dn,[S(k,{items:p.items},null,8,["items"])])]),_:1})}}}),pn=Object.assign(gn,{__name:"StatisticalAnalysisEfficiencyCachePanel"}),Rt=["claudeCode","codex","gemini"];function me(){const{payload:p}=ia(),e=$(()=>p.value?Rt.map(y=>p.value[y]):[]),t=$(()=>e.value.flatMap((y,c)=>y.sessionUsage.map(f=>({...f,id:`${Rt[c]}:${f.id}`,sessionId:`${Rt[c]}:${f.sessionId}`}))).sort((y,c)=>Date.parse(c.startedAt)-Date.parse(y.startedAt))),n=$(()=>hn(e.value.flatMap(y=>y.dailyTokenUsage))),l=$(()=>mn(e.value.flatMap(y=>y.monthlyModelUsage))),r=$(()=>Fe(t.value)),s=$(()=>n.value.reduce((y,c)=>y+c.costUSD,0)),a=$(()=>n.value.reduce((y,c)=>y+c.totalTokens,0)),g=$(()=>n.value.reduce((y,c)=>y+c.inputTokens,0)),i=$(()=>n.value.reduce((y,c)=>y+c.cachedInputTokens,0)),o=$(()=>n.value.reduce((y,c)=>y+c.outputTokens,0)),h=$(()=>n.value.reduce((y,c)=>y+c.reasoningOutputTokens,0)),m=$(()=>t.value.length),b=Ve(new Date),d=Ie(b),v=$(()=>n.value.find(y=>Lt(y.date)===b)),u=$(()=>n.value.find(y=>Lt(y.date)===d)),k=$(()=>Zt(v.value?.costUSD??0,u.value?.costUSD??0,tt)),w=$(()=>Zt(v.value?.totalTokens??0,u.value?.totalTokens??0,Y)),R=$(()=>{const y=new Map;for(const c of n.value)for(const[f,A]of Object.entries(c.models)){const E=y.get(f)??{activeDays:new Set,costUSD:0,inputTokens:0,outputTokens:0,totalTokens:0},P=c.totalTokens>0?A.totalTokens/c.totalTokens:0;E.activeDays.add(c.date),E.costUSD+=c.costUSD*P,E.inputTokens+=A.inputTokens,E.outputTokens+=A.outputTokens,E.totalTokens+=A.totalTokens,y.set(f,E)}return Array.from(y.entries()).map(([c,f],A)=>({label:c,value:tt(f.costUSD),detail:`${Y(f.totalTokens)} tokens / ${f.activeDays.size} active days`,percent:yt(f.costUSD,s.value)*100,tone:A===0?"sky":"green"})).sort((c,f)=>f.percent-c.percent)}),L=$(()=>{const y=yt(i.value,g.value),c=yt(h.value,a.value),f=yt(o.value,a.value);return[{label:"Cache Hit Rate",value:rt(y),detail:`${Y(i.value)} cached input tokens`,percent:y*100,tone:"green"},{label:"Reasoning Token Share",value:rt(c),detail:`${Y(h.value)} reasoning output tokens`,percent:c*100,tone:"amber"},{label:"Output Token Share",value:rt(f),detail:`${Y(o.value)} output tokens`,percent:f*100,tone:"sky"}]});return{cachedInputTokens:i,costGrowthTrend:k,dailyTokenUsage:n,efficiencyMetrics:L,inputTokens:g,modelUsage:R,monthlyModelUsage:l,outputTokens:o,projectUsage:r,reasoningOutputTokens:h,sessionUsage:t,totalCost:s,totalSessions:m,totalTokens:a,tokenGrowthTrend:w}}function hn(p){const e=new Map;for(const t of p){const n=Lt(t.date),l=e.get(n)??{cachedInputTokens:0,costUSD:0,date:We(n,t.date),inputTokens:0,models:new Map,outputTokens:0,reasoningOutputTokens:0,totalTokens:0};l.cachedInputTokens+=t.cachedInputTokens,l.costUSD+=t.costUSD,l.inputTokens+=t.inputTokens,l.outputTokens+=t.outputTokens,l.reasoningOutputTokens+=t.reasoningOutputTokens,l.totalTokens+=t.totalTokens;for(const[r,s]of Object.entries(t.models)){const a=l.models.get(r)??fn();a.cachedInputTokens+=s.cachedInputTokens,a.inputTokens+=s.inputTokens,a.isFallback=a.isFallback||s.isFallback,a.outputTokens+=s.outputTokens,a.reasoningOutputTokens+=s.reasoningOutputTokens,a.totalTokens+=s.totalTokens,l.models.set(r,a)}e.set(n,l)}return Array.from(e.entries()).sort((t,n)=>n[0].localeCompare(t[0])).map(([,t])=>({cachedInputTokens:t.cachedInputTokens,costUSD:ze(t.costUSD),date:t.date,inputTokens:t.inputTokens,models:Object.fromEntries(t.models.entries()),outputTokens:t.outputTokens,reasoningOutputTokens:t.reasoningOutputTokens,totalTokens:t.totalTokens}))}function mn(p){const e=new Map;for(const t of p){const n=`${t.month}__${t.model}`,l=e.get(n)??{model:t.model,month:t.month,tokenTotal:0};l.tokenTotal+=t.tokenTotal,e.set(n,l)}return Array.from(e.values()).sort((t,n)=>t.month.localeCompare(n.month)||t.model.localeCompare(n.model))}function fn(){return{cachedInputTokens:0,inputTokens:0,isFallback:!1,outputTokens:0,reasoningOutputTokens:0,totalTokens:0}}function yt(p,e){return e>0?p/e:0}const vt=10,vn=et({name:"StatisticalAnalysisTokensUsagePanel",__name:"TokensUsagePanel",setup(p){const{dailyTokenUsage:e}=me(),t=ua(1),n=$(()=>Math.max(1,Math.ceil(e.value.length/vt))),l=$(()=>{const s=(Math.min(t.value,n.value)-1)*vt;return e.value.slice(s,s+vt)});return mt(e,()=>{t.value=1}),(r,s)=>{const a=He,g=Ge,i=Be,o=Xe,h=Ne,m=Ye,b=Ke,d=jt;return F(),ht(d,{description:"Daily model activity by token type, cache reads, total usage, and cost",icon:"lucide:calendar-days",title:"Daily Token Usage"},{default:M(()=>[S(m,null,{default:M(()=>[S(i,null,{default:M(()=>[S(g,null,{default:M(()=>[S(a,null,{default:M(()=>[...s[1]||(s[1]=[I("Date",-1)])]),_:1}),S(a,null,{default:M(()=>[...s[2]||(s[2]=[I("Models",-1)])]),_:1}),S(a,{class:"text-right"},{default:M(()=>[...s[3]||(s[3]=[I(" Input ",-1)])]),_:1}),S(a,{class:"text-right"},{default:M(()=>[...s[4]||(s[4]=[I(" Output ",-1)])]),_:1}),S(a,{class:"text-right"},{default:M(()=>[...s[5]||(s[5]=[I(" Reasoning ",-1)])]),_:1}),S(a,{class:"text-right"},{default:M(()=>[...s[6]||(s[6]=[I(" Cache Read ",-1)])]),_:1}),S(a,{class:"text-right"},{default:M(()=>[...s[7]||(s[7]=[I(" Total Tokens ",-1)])]),_:1}),S(a,{class:"text-right"},{default:M(()=>[...s[8]||(s[8]=[I(" Cost (USD) ",-1)])]),_:1})]),_:1})]),_:1}),S(h,null,{default:M(()=>[(F(!0),K(Tt,null,St(C(l),v=>(F(),ht(g,{key:v.date},{default:M(()=>[S(o,{class:"font-medium"},{default:M(()=>[I(j(v.date),1)]),_:2},1024),S(o,null,{default:M(()=>[I(j(Object.keys(v.models).join(", ")),1)]),_:2},1024),S(o,{class:"text-right"},{default:M(()=>[I(j(C(Q)(v.inputTokens)),1)]),_:2},1024),S(o,{class:"text-right"},{default:M(()=>[I(j(C(Q)(v.outputTokens)),1)]),_:2},1024),S(o,{class:"text-right"},{default:M(()=>[I(j(C(Q)(v.reasoningOutputTokens)),1)]),_:2},1024),S(o,{class:"text-right"},{default:M(()=>[I(j(C(Q)(v.cachedInputTokens)),1)]),_:2},1024),S(o,{class:"text-right"},{default:M(()=>[I(j(C(Q)(v.totalTokens)),1)]),_:2},1024),S(o,{class:"text-right"},{default:M(()=>[I(j(v.costUSD.toFixed(2)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1}),C(e).length>vt?(F(),ht(b,{key:0,page:C(t),"onUpdate:page":s[0]||(s[0]=v=>ra(t)?t.value=v:null),"page-count":C(n),"page-size":vt,total:C(e).length},null,8,["page","page-count","total"])):ca("",!0)]),_:1})}}}),bn=Object.assign(vn,{__name:"StatisticalAnalysisTokensUsagePanel"}),$n=et({__name:"index",setup(p){const{cachedInputTokens:e,costGrowthTrend:t,dailyTokenUsage:n,efficiencyMetrics:l,inputTokens:r,monthlyModelUsage:s,projectUsage:a,sessionUsage:g,totalCost:i,totalSessions:o,totalTokens:h,tokenGrowthTrend:m}=me(),b=$(()=>[{detail:`${tt(i.value)} total spend across all tools`,icon:"lucide:wallet",name:"Total Spend",trend:t.value.trend,trendTone:t.value.trendTone,value:tt(i.value)},{detail:`${Q(h.value)} total tokens across all tools`,icon:"solar:cpu-line-duotone",name:"Token Usage",trend:m.value.trend,trendTone:m.value.trendTone,value:Y(h.value)},{detail:`${Q(e.value)} of ${Q(r.value)} input tokens were served from cache`,icon:"lucide:database-zap",name:"Cache Hit Rate",trend:`${Y(e.value)} cached`,trendTone:"neutral",value:rt(r.value>0?e.value/r.value:0)},{detail:`${tt(i.value)} across ${Q(o.value)} sessions`,icon:"lucide:receipt-text",name:"Avg Session Cost",trend:"across all tools",trendTone:"neutral",value:tt(o.value>0?i.value/o.value:0)}]);return(d,v)=>{const u=qe,k=Je,w=ta,R=ea,L=Ya,y=pn,c=bn,f=Ze,A=Qe;return F(),ht(A,null,{default:M(()=>[S(u,{cards:C(b)},null,8,["cards"]),S(f,null,{default:M(()=>[S(k,{"monthly-items":C(s),class:"md:col-span-8"},null,8,["monthly-items"]),S(w,{items:C(a),class:"md:col-span-4"},null,8,["items"]),S(R,{items:C(n),class:"md:col-span-12","heat-metric":"cost",title:"Usage Trend"},null,8,["items"]),S(L,{items:C(g),"total-sessions":C(o),class:"md:col-span-6"},null,8,["items","total-sessions"]),S(y,{"daily-items":C(n),items:C(l),class:"md:col-span-6"},null,8,["daily-items","items"]),S(c,{class:"md:col-span-12"})]),_:1})]),_:1})}}});export{$n as default};
Binary file
@@ -0,0 +1,4 @@
1
+ <svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" >
2
+ <path d="M512 4.096C231.424 4.096 3.584 231.424 3.584 512.512s227.84 507.904 508.416 507.904 508.416-227.328 508.416-508.416S793.088 4.096 512 4.096z m0 941.056c-239.616 0-433.664-194.048-433.664-433.664 0-239.616 194.048-433.664 433.664-433.664s433.664 194.048 433.664 433.664-194.048 433.664-433.664 433.664z" fill="#F4DCCB" />
3
+ <path d="M842.24 581.632c-0.512-2.56-0.512-5.12-1.536-7.68l-1.536-4.608c-0.512-1.536-1.024-3.072-2.048-4.608-0.512-0.512-0.512-1.536-1.024-2.048-1.024-1.536-1.536-3.072-2.56-4.096-1.536-2.048-3.072-4.096-4.608-5.632l-1.536-1.536c-1.024-1.024-2.56-2.048-3.584-3.072-2.56-2.048-5.12-4.096-8.192-5.632-2.048-1.024-4.608-2.048-6.656-3.072-1.024-0.512-1.536-0.512-2.56-1.024-1.536-0.512-3.072-1.024-5.12-1.024-3.584-0.512-6.656-1.024-10.24-1.024s-7.168 0.512-10.24 1.024c-1.536 0.512-3.072 0.512-5.12 1.024-1.024 0-1.536 0.512-2.56 1.024-0.512 0-1.024 0.512-1.024 0.512L653.312 435.2c2.56-6.144 4.096-12.8 4.096-19.456 0-1.536 0-3.584-0.512-5.12-0.512-2.56-0.512-5.12-1.536-7.68l-1.536-4.608c-0.512-1.536-1.024-3.072-2.048-4.608-0.512-0.512-0.512-1.536-1.024-2.048-1.024-1.536-1.536-3.072-2.56-4.096-1.536-2.048-3.072-4.096-4.608-5.632l-1.536-1.536c-1.024-1.024-2.56-2.048-3.584-3.072-2.56-2.048-5.12-4.096-8.192-5.632-2.048-1.024-4.608-2.048-6.656-3.072-1.024-0.512-1.536-0.512-2.56-1.024-1.536-0.512-3.072-1.024-5.12-1.024-3.584-0.512-6.656-1.024-10.24-1.024-1.536 0-3.584 0-5.12 0.512-2.048 0-3.584 0.512-5.632 1.024-1.536 0.512-3.072 0.512-4.608 1.024-1.024 0-1.536 0.512-2.56 1.024-2.56 1.024-4.608 2.048-6.656 3.072-1.536 1.024-3.072 1.536-4.096 2.56-1.536 1.024-3.072 2.56-4.608 3.584-1.024 1.024-2.048 1.536-2.56 2.56-1.024 1.024-1.536 2.048-2.56 2.56-1.536 1.536-2.56 3.072-3.584 4.608-1.024 1.536-1.536 2.56-2.56 4.096-1.024 2.048-2.048 4.608-3.072 6.656-0.512 1.024-0.512 1.536-1.024 2.56-0.512 1.536-1.024 3.072-1.024 4.608-0.512 2.048-0.512 3.584-1.024 5.632 0 1.536-0.512 3.584-0.512 5.12 0 3.584 0.512 7.168 1.024 10.24 0.512 1.536 0.512 3.072 1.024 5.12 0 1.024 0.512 1.536 1.024 2.56s1.024 2.56 1.536 3.584l-128 128c-1.024-0.512-1.536-1.024-2.56-1.024-3.072-1.536-6.144-2.56-9.728-3.072-1.024 0-1.536-0.512-2.56-0.512-2.56-0.512-5.12-0.512-7.68-0.512s-5.12 0-7.68 0.512c-1.024 0-1.536 0.512-2.56 0.512-3.072 0.512-6.656 1.536-9.728 3.072-0.512 0.512-1.536 0.512-2.048 1.024L280.576 450.048c2.56-6.144 4.096-13.312 4.096-19.968 0-1.536 0-3.584-0.512-5.12-0.512-2.56-0.512-5.12-1.536-7.68l-1.536-4.608c-0.512-1.536-1.024-3.072-2.048-4.608-0.512-0.512-0.512-1.536-1.024-2.048-1.024-1.536-1.536-3.072-2.56-4.096-1.536-2.048-3.072-4.096-4.608-5.632l-1.536-1.536c-1.024-1.024-2.56-2.048-3.584-3.072-2.56-2.048-5.12-4.096-8.192-5.632-2.048-1.024-4.608-2.048-6.656-3.072-1.024-0.512-1.536-0.512-2.56-1.024-1.536-0.512-3.072-1.024-5.12-1.024-3.584-0.512-6.656-1.024-10.24-1.024s-7.168 0.512-10.24 1.024c-1.536 0.512-3.072 0.512-5.12 1.024-1.024 0-1.536 0.512-2.56 1.024-2.56 1.024-4.608 2.048-6.656 3.072-3.072 1.536-5.632 3.584-8.192 5.632-1.024 1.024-2.56 2.048-3.584 3.072l-1.536 1.536c-1.536 2.048-3.072 3.584-4.608 5.632-1.024 1.536-1.536 2.56-2.56 4.096-0.512 0.512-1.024 1.536-1.024 2.048-0.512 1.536-1.536 3.072-2.048 4.608l-1.536 4.608-1.536 7.68c0 1.536-0.512 3.584-0.512 5.12 0 28.16 23.04 51.2 51.2 51.2 6.656 0 13.312-1.024 18.944-3.584l108.032 115.2c-0.512 1.536-1.024 2.56-1.536 4.096-0.512 2.048-1.024 4.096-1.024 6.144-0.512 2.048-0.512 4.608-0.512 6.656s0 4.608 0.512 6.656 0.512 4.096 1.024 6.144c0.512 2.56 1.536 4.608 2.56 7.168 0.512 0.512 0.512 1.536 1.024 2.048 2.048 4.608 5.12 8.704 8.192 12.288 1.536 2.048 3.584 3.584 5.12 5.12 0.512 0.512 1.536 1.024 2.048 1.536 1.536 1.024 2.56 2.048 4.096 2.56 2.048 1.536 4.096 2.56 6.656 3.584 3.072 1.536 6.144 2.56 9.728 3.072 1.024 0 1.536 0.512 2.56 0.512 2.56 0.512 5.12 0.512 7.68 0.512s5.12 0 7.68-0.512c1.024 0 1.536-0.512 2.56-0.512 3.072-0.512 6.656-1.536 9.728-3.072 2.048-1.024 4.608-2.048 6.656-3.584 1.536-1.024 2.56-1.536 4.096-2.56 0.512-0.512 1.536-1.024 2.048-1.536 2.048-1.536 3.584-3.072 5.12-5.12 3.584-3.584 6.144-7.68 8.192-12.288 0.512-0.512 0.512-1.536 1.024-2.048 1.024-2.56 2.048-4.608 2.56-7.168 0.512-2.048 1.024-4.096 1.024-6.144 0.512-2.048 0.512-4.608 0.512-6.656s0-4.608-0.512-6.656-0.512-4.096-1.024-6.144c-0.512-1.024-0.512-2.56-1.024-3.584l130.56-130.56 4.608 1.536 7.68 1.536c1.536 0 3.584 0.512 5.12 0.512 6.656 0 13.312-1.536 19.456-4.096l118.272 104.448c-0.512 1.024-1.024 2.048-1.024 2.56l-1.536 4.608-1.536 7.68c0 1.536-0.512 3.584-0.512 5.12s0 3.584 0.512 5.12c0.512 2.56 0.512 5.12 1.536 7.68l1.536 4.608c0.512 1.536 1.024 3.072 2.048 4.608 0.512 0.512 0.512 1.536 1.024 2.048 1.024 1.536 1.536 3.072 2.56 4.096 1.536 2.048 3.072 4.096 4.608 5.632l1.536 1.536c1.024 1.024 2.56 2.048 3.584 3.072 2.56 2.048 5.12 4.096 8.192 5.632 2.048 1.024 4.608 2.048 6.656 3.072 1.024 0.512 1.536 0.512 2.56 1.024 1.536 0.512 3.072 1.024 5.12 1.024 3.584 0.512 6.656 1.024 10.24 1.024s7.168-0.512 10.24-1.024c1.536-0.512 3.072-0.512 5.12-1.024 1.024 0 1.536-0.512 2.56-1.024 2.56-1.024 4.608-2.048 6.656-3.072 3.072-1.536 5.632-3.584 8.192-5.632 1.024-1.024 2.56-2.048 3.584-3.072l1.536-1.536c1.536-2.048 3.072-3.584 4.608-5.632 1.024-1.536 1.536-2.56 2.56-4.096 0.512-0.512 1.024-1.536 1.024-2.048 0.512-1.536 1.536-3.072 2.048-4.608l1.536-4.608 1.536-7.68c0-1.536 0.512-3.584 0.512-5.12s1.536-3.584 1.536-5.12z" fill="#FF9D4D" />
4
+ </svg>
@@ -0,0 +1,2 @@
1
+ User-Agent: *
2
+ Disallow:
@@ -0,0 +1,32 @@
1
+ import { e as escapeHtml_1 } from './shared.cjs.prod.mjs';
2
+ import '../nitro/nitro.mjs';
3
+ import 'node:os';
4
+ import 'node:path';
5
+ import 'node:fs';
6
+ import 'node:fs/promises';
7
+ import 'node:http';
8
+ import 'node:https';
9
+ import 'node:events';
10
+ import 'node:buffer';
11
+ import 'node:crypto';
12
+ import 'node:url';
13
+ import 'node:util';
14
+ import 'node:process';
15
+ import 'node:tty';
16
+
17
+ const _messages = {
18
+ "appName": "Nuxt",
19
+ "status": 500,
20
+ "statusText": "Internal server error",
21
+ "description": "This page is temporarily unavailable.",
22
+ "refresh": "Refresh this page"
23
+ };
24
+ const template = (messages) => {
25
+ messages = {
26
+ ..._messages,
27
+ ...messages
28
+ };
29
+ return "<!DOCTYPE html><html lang=\"en\"><head><title>" + escapeHtml_1(messages.status) + " - " + escapeHtml_1(messages.statusText) + " | " + escapeHtml_1(messages.appName) + "</title><meta charset=\"utf-8\"><meta content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0\" name=\"viewport\"><script>!function(){const e=document.createElement(\"link\").relList;if(!(e&&e.supports&&e.supports(\"modulepreload\"))){for(const e of document.querySelectorAll('link[rel=\"modulepreload\"]'))r(e);new MutationObserver(e=>{for(const o of e)if(\"childList\"===o.type)for(const e of o.addedNodes)\"LINK\"===e.tagName&&\"modulepreload\"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),\"use-credentials\"===e.crossOrigin?r.credentials=\"include\":\"anonymous\"===e.crossOrigin?r.credentials=\"omit\":r.credentials=\"same-origin\",r}(e);fetch(e.href,r)}}();<\/script><style>*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:\"\"}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.grid{display:grid}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.max-w-520px{max-width:520px}.min-h-screen{min-height:100vh}.place-content-center{place-content:center}.overflow-hidden{overflow:hidden}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2{padding-left:.5rem;padding-right:.5rem}.text-center{text-align:center}.text-\\[80px\\]{font-size:80px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[\\#020420\\]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\\[\\#64748B\\]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\\:bg-\\[\\#020420\\]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\\:text-\\[110px\\]{font-size:110px}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem}}</style></head><body class=\"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide\"><div class=\"max-w-520px text-center\"><h1 class=\"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]\">" + escapeHtml_1(messages.status) + "</h1><h2 class=\"font-semibold mb-2 sm:text-3xl text-2xl\">" + escapeHtml_1(messages.statusText) + "</h2><p class=\"mb-4 px-2 text-[#64748B] text-md\">" + escapeHtml_1(messages.description) + "</p></div></body></html>";
30
+ };
31
+
32
+ export { template };