usage-board 2.1.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/index.mjs +10 -4
  2. package/dist/public/_nuxt/{chy2QJx0.js → 7Dy4NLP8.js} +32 -32
  3. package/dist/public/_nuxt/B-VlGWDb.js +21 -0
  4. package/dist/public/_nuxt/{BeEwECnn.js → Be3rizqy.js} +1 -1
  5. package/dist/public/_nuxt/{15CW3D68.js → C0azgqnZ.js} +1 -1
  6. package/dist/public/_nuxt/{B6G-s9D-.js → CMNdiQCa.js} +1 -1
  7. package/dist/public/_nuxt/CPuXQJE_.js +1 -0
  8. package/dist/public/_nuxt/DenksPSi.js +119 -0
  9. package/dist/public/_nuxt/Dkya5WaL.js +9 -0
  10. package/dist/public/_nuxt/HN9OZyaQ.js +25 -0
  11. package/dist/public/_nuxt/{Bu4SpN_a.js → JtK-nXxy.js} +1 -1
  12. package/dist/public/_nuxt/builds/latest.json +1 -1
  13. package/dist/public/_nuxt/builds/meta/37e8bb21-a086-45bf-93dc-47eeeada7299.json +1 -0
  14. package/dist/public/_nuxt/{BeygfM9p.js → y3weNNd-.js} +2 -2
  15. package/dist/server/chunks/_/error-500.mjs +8 -4
  16. package/dist/server/chunks/_/shared.cjs.prod.mjs +1 -1
  17. package/dist/server/chunks/build/client.precomputed.mjs +1 -1
  18. package/dist/server/chunks/nitro/nitro.mjs +8218 -2844
  19. package/dist/server/chunks/routes/api/payload.json.mjs +11 -626
  20. package/dist/server/chunks/routes/api/projects/_project/modules.get.mjs +36 -0
  21. package/dist/server/chunks/routes/api/projects/catalog.get.mjs +26 -0
  22. package/dist/server/chunks/routes/renderer.mjs +9 -5
  23. package/dist/server/chunks/routes/ws.mjs +29 -971
  24. package/dist/server/index.mjs +9 -5
  25. package/package.json +7 -6
  26. package/dist/public/_nuxt/C6ydMk2z.js +0 -25
  27. package/dist/public/_nuxt/Dn8cXZx3.js +0 -9
  28. package/dist/public/_nuxt/DysUC14A.js +0 -119
  29. package/dist/public/_nuxt/KLhV325n.js +0 -1
  30. package/dist/public/_nuxt/builds/meta/ac4b25d6-d6eb-44bb-8c5b-b1d6f651c196.json +0 -1
  31. package/dist/public/_nuxt/pmnAmEjb.js +0 -21
  32. package/dist/server/chunks/_/index.min.mjs +0 -348
@@ -0,0 +1,25 @@
1
+ import{K as ae,S as fe,C as ve,f as re,z as ye,A as be,_ as he,j as T,g as ue,k as ke,p as z}from"./7Dy4NLP8.js";import{z as ne,a1 as xe,a2 as _e,o as d,B as K,w as q,a as n,b as Y,D as l,I as E,c as b,S as R,t as m,K as A,J as N,h as a,a7 as ce,ab as we,Y as te,al as Te}from"./Dkya5WaL.js";const $e={key:0,class:"pointer-events-none absolute inset-0 z-10"},Me={class:"mt-4 flex flex-wrap items-center justify-center gap-3 text-xs text-muted-foreground"},Ce={class:"font-medium text-foreground tabular-nums"},De=288,Se=ne({name:"StatisticalAnalysisModelUsagePanel",__name:"ModelUsagePanel",props:{monthlyItems:{},year:{}},setup(P){const p=P,f=["#2563eb","#f97316","#0891b2","#8b5cf6","#059669","#f43f5e"],_={bottom:32,left:56,right:12,top:8},H=[0,void 0],U=xe("chartRoot"),{width:j}=_e(U),$=ce(null),i=ce(null),M=a(()=>p.year??ge(p.monthlyItems)??new Date().getFullYear()),v=a(()=>Array.from({length:12},(e,r)=>{const u=`${r+1}`.padStart(2,"0");return`${M.value}-${u}`})),I=a(()=>[0,Math.max(v.value.length-1,0)]),g=a(()=>v.value.map((e,r)=>r)),F=a(()=>p.monthlyItems.filter(e=>e.month.startsWith(`${M.value}-`))),J=a(()=>Array.from(new Set(F.value.map(e=>e.model)))),B=a(()=>v.value.map((e,r)=>{const u=Object.fromEntries(J.value.map(c=>[c,F.value.find(y=>y.month===e&&y.model===c)?.tokenTotal??0]));return{month:e,monthIndex:r,tokensByModel:u,totalTokens:Object.values(u).reduce((c,y)=>c+y,0)}})),w=a(()=>J.value.map((e,r)=>{const u=ee(r),c=B.value.reduce((y,X)=>y+(X.tokensByModel[e]??0),0);return{color:u,model:e,totalLabel:T(c),totalTokens:c}}).sort((e,r)=>r.totalTokens-e.totalTokens)),G=a(()=>w.value.map(e=>r=>r.tokensByModel[e.model]??0)),Q=a(()=>Object.fromEntries(w.value.map(e=>[e.model,{color:e.color,label:e.model}]))),Z=a(()=>w.value.map(e=>`
2
+ <linearGradient id="${le(e.model)}" x1="0" y1="0" x2="0" y2="1">
3
+ <stop offset="0%" stop-color="${e.color}" stop-opacity="0.45" />
4
+ <stop offset="100%" stop-color="${e.color}" stop-opacity="0.08" />
5
+ </linearGradient>
6
+ `).join("")),O=a(()=>B.value.length>0&&w.value.length>0),L=a(()=>_.left),C=a(()=>_.top),D=a(()=>Math.max(j.value-_.left-_.right,0)),S=a(()=>Math.max(De-_.top-_.bottom,0)),V=a(()=>C.value+S.value),t=a(()=>Math.max(...B.value.map(e=>e.totalTokens),0)),s=a(()=>{if($.value===null||i.value===null)return null;const e=B.value[$.value];if(!e||D.value<=0||S.value<=0)return null;const r=v.value.length<=1?0:$.value/(v.value.length-1),u=L.value+r*D.value,c=ue(i.value,C.value,V.value),X=(S.value<=0?0:1-(c-C.value)/S.value)*t.value;return{x:u,xLabel:me(e.month),y:c,yLabel:T(X)}});function h(e){return e.monthIndex}function o(e,r){const u=w.value[r];return u?`url(#${le(u.model)})`:ee(0)}function W(e,r){return w.value[r]?.color??ee(0)}function k(e,r){return w.value[r]?.color??ee(0)}function x(e){const r=w.value.map(u=>({...u,tokenTotal:e.tokensByModel[u.model]??0})).sort((u,c)=>c.tokenTotal-u.tokenTotal);return`
7
+ <div class="grid min-w-48 gap-2 rounded-md border bg-background px-3 py-2 text-xs shadow-lg">
8
+ <div class="font-medium text-foreground">${oe(e.month)} ${e.month.slice(0,4)}</div>
9
+ <div class="grid gap-1 text-muted-foreground">
10
+ ${r.map(u=>`
11
+ <div class="flex items-center justify-between gap-4">
12
+ <span class="flex items-center gap-2">
13
+ <span class="size-2 rounded-sm" style="background-color: ${u.color}"></span>
14
+ ${ke(u.model)}
15
+ </span>
16
+ <span class="font-mono font-medium text-foreground">${T(u.tokenTotal)}</span>
17
+ </div>
18
+ `).join("")}
19
+ </div>
20
+ <div class="flex justify-between gap-4 border-t pt-2 text-muted-foreground">
21
+ <span>Total</span>
22
+ <span class="font-mono font-semibold text-foreground">${T(e.totalTokens)}</span>
23
+ </div>
24
+ </div>
25
+ `}function de(e){if(e instanceof Date)return"";const r=v.value[e];return r?oe(r):""}function ie(e){return e instanceof Date?"":T(e)}function oe(e){const[r,u]=e.split("-"),c=new Date(Number(r),Number(u)-1,1);return new Intl.DateTimeFormat("en-US",{month:"short"}).format(c)}function me(e){return`${oe(e)} ${e.slice(0,4)}`}function pe(e){const r=U.value?.getBoundingClientRect();if(!r)return;const u=e.clientX-r.left,c=e.clientY-r.top,y=L.value+D.value;if(u<L.value||u>y||c<C.value||c>V.value||D.value<=0||!O.value||v.value.length===0){se();return}const X=ue((u-L.value)/Math.max(D.value,1),0,1);$.value=v.value.length<=1?0:Math.round(X*(v.value.length-1)),i.value=c}function se(){$.value=null,i.value=null}function ge(e){const u=[...e].sort((c,y)=>y.month.localeCompare(c.month))[0]?.month?.split("-")[0];return u?Number(u):null}function le(e){return`model-usage-${e.replace(/[^a-z0-9]+/gi,"-").toLowerCase()}`}function ee(e){return f[e%f.length]??"#2563eb"}return(e,r)=>{const u=he,c=ae;return d(),K(c,{description:"Monthly token trends by model",icon:"solar:cpu-line-duotone",title:"Model Usage"},{default:q(()=>[n("div",{ref_key:"chartRoot",ref:U,class:"relative",onPointerleave:se,onPointermove:pe},[Y(u,{class:"h-72 w-full",config:l(Q)},{default:q(()=>[Y(l(fe),{"auto-margin":!1,data:l(B),height:288,margin:_,"svg-defs":l(Z),"x-domain":l(I),"y-domain":H},{default:q(()=>[Y(l(ve),{color:o,line:!0,"line-color":W,"line-width":2.5,opacity:.82,x:h,y:l(G)},null,8,["y"]),Y(l(re),{"grid-line":!1,"tick-format":de,"tick-values":l(g),type:"x"},null,8,["tick-values"]),Y(l(re),{"num-ticks":4,"tick-format":ie,type:"y"}),l(O)?(d(),K(l(ye),{key:0})):E("",!0),l(O)?(d(),K(l(be),{key:1,color:k,template:x,x:h,"y-stacked":l(G)},null,8,["y-stacked"])):E("",!0)]),_:1},8,["data","svg-defs","x-domain"])]),_:1},8,["config"]),l(s)?(d(),b("div",$e,[n("div",{class:"absolute border-l border-dashed border-border/80",style:R({height:`${l(S)}px`,left:`${l(s).x}px`,top:`${l(C)}px`})},null,4),n("div",{class:"absolute border-t border-dashed border-border/80",style:R({left:`${l(L)}px`,top:`${l(s).y}px`,width:`${l(D)}px`})},null,4),n("div",{class:"absolute rounded-sm bg-foreground px-2 py-1 text-[11px] font-medium text-background shadow-sm",style:R({left:`${l(s).x}px`,top:`${l(V)+6}px`,transform:"translateX(-50%)"})},m(l(s).xLabel),5),n("div",{class:"absolute rounded-sm bg-foreground px-2 py-1 text-[11px] font-medium text-background shadow-sm",style:R({left:`${Math.max(l(L)-8,0)}px`,top:`${l(s).y}px`,transform:"translate(-100%, -50%)"})},m(l(s).yLabel),5)])):E("",!0)],544),n("div",Me,[(d(!0),b(N,null,A(l(w),y=>(d(),b("div",{key:y.model,class:"flex items-center gap-2"},[n("span",{class:"size-2.5 rounded-sm",style:R({backgroundColor:y.color})},null,4),n("span",null,m(y.model),1),n("span",Ce,m(y.totalLabel),1)]))),128))])]),_:1})}}}),dt=Object.assign(Se,{__name:"StatisticalAnalysisModelUsagePanel"}),Ue={class:"space-y-3"},Le={class:"flex flex-col flex-1"},Re={class:"truncate text-sm font-medium tracking-tight"},Pe={class:"mt-1 truncate text-xs text-muted-foreground"},je={class:"text-right"},Be={class:"text-xs font-medium tracking-tight tabular-nums"},Ae={class:"mt-1 flex items-center justify-end gap-1"},Ne=ne({name:"StatisticalAnalysisProjectUsagePanel",__name:"ProjectUsagePanel",props:{items:{}},setup(P){const p=P,f=[{trend:"+12.4%",trendTone:"up"},{trend:"-8.2%",trendTone:"down"},{trend:"+22.1%",trendTone:"up"},{trend:"+15.8%",trendTone:"up"},{trend:"-3.4%",trendTone:"down"},{trend:"+9.6%",trendTone:"up"},{trend:"-5.1%",trendTone:"down"},{trend:"+4.7%",trendTone:"up"}],_=a(()=>p.items.slice(0,6).map((i,M)=>{const v=f[M]??{trend:"+0.0%",trendTone:"up"};return{...i,shortName:$(i.label),trend:v.trend,trendTone:v.trendTone}}));function H(i){return i==="down"?"lucide:trending-down":"lucide:trending-up"}function U(i){return i==="down"?"size-3 text-red-500":"size-3 text-emerald-600 dark:text-emerald-400"}function j(i){return i==="down"?"text-sm font-medium text-red-500 tabular-nums":"text-sm font-medium text-emerald-600 dark:text-emerald-400 tabular-nums"}function $(i){return i.split(/[-_\s]+/).filter(Boolean).slice(0,2).map(M=>M[0]?.toUpperCase()??"").join("")}return(i,M)=>{const v=we,I=ae;return d(),K(I,{description:"Best performers by spend",icon:"lucide:folder-git-2",title:"Top Projects"},{default:q(()=>[n("div",Ue,[(d(!0),b(N,null,A(l(_),g=>(d(),b("div",{key:g.repository,class:"flex justify-between items-center gap-3 rounded-md transition-colors"},[n("div",Le,[n("p",Re,m(g.label),1),n("p",Pe,m(g.detail),1)]),n("div",je,[n("p",Be,m(g.value),1),n("div",Ae,[Y(v,{class:te(U(g.trendTone)),mode:"svg",name:H(g.trendTone)},null,8,["class","name"]),n("span",{class:te(j(g.trendTone))},m(g.trend),3)])])]))),128))])]),_:1})}}}),it=Object.assign(Ne,{__name:"StatisticalAnalysisProjectUsagePanel"}),Ie={class:"mb-4 grid grid-cols-1 gap-3 sm:grid-cols-3"},ze={class:"text-xs text-muted-foreground"},Ye={class:"mt-1 text-lg font-semibold tabular-nums"},Ee={class:"border-b pb-4"},He=["aria-label","tabindex"],Fe={class:"sr-only"},Ge={key:0,class:"pointer-events-none absolute bottom-full left-1/2 z-30 mb-2 hidden min-w-40 -translate-x-1/2 gap-1 rounded-md border bg-popover px-2.5 py-1.5 text-xs text-popover-foreground shadow-md group-hover:grid group-focus-visible:grid",role:"tooltip"},Oe={class:"font-medium"},Ve={key:0,class:"flex items-center justify-between gap-4 text-muted-foreground"},We={class:"font-mono font-medium text-foreground"},Xe={class:"flex items-center justify-between gap-4 text-muted-foreground"},Ke={class:"font-mono font-medium text-foreground"},qe={key:1,class:"flex items-center justify-between gap-4 text-muted-foreground"},Je={class:"font-mono font-medium text-foreground"},Qe={class:"mt-4 flex items-center justify-between gap-4"},Ze={class:"text-xs text-muted-foreground"},et={class:"flex items-center gap-1 text-xs text-muted-foreground"},tt={class:"mt-4 grid grid-cols-1 gap-3 sm:grid-cols-3"},ot={class:"text-xs text-muted-foreground"},at={class:"mt-1 flex items-center justify-between gap-2"},nt={class:"text-sm font-semibold"},st={class:"text-xs text-muted-foreground"},lt=ne({name:"UsageHeatmapPanel",__name:"UsageHeatmapPanel",props:{heatMetric:{default:"tokens"},items:{},title:{}},setup(P){const p=P,f=["bg-zinc-100 dark:bg-zinc-800/80","bg-emerald-50 dark:bg-emerald-950/70","bg-emerald-100 dark:bg-emerald-900/70","bg-teal-100 dark:bg-teal-900/75","bg-teal-200 dark:bg-teal-800/80","bg-cyan-200 dark:bg-cyan-800/85","bg-cyan-300 dark:bg-cyan-700/90","bg-sky-300 dark:bg-sky-600/90","bg-sky-400 dark:bg-sky-500/95","bg-blue-500 dark:bg-blue-400"],_=[...f],H=[{key:"sun",label:"S",row:"1"},{key:"mon",label:"M",row:"2"},{key:"tue",label:"T",row:"3"},{key:"wed",label:"W",row:"4"},{key:"thu",label:"T",row:"5"},{key:"fri",label:"F",row:"6"},{key:"sat",label:"S",row:"7"}],U=a(()=>C(new Date)),j=a(()=>{const t=C(U.value);return t.setDate(t.getDate()-364),t}),$=a(()=>`${S(j.value)} - ${S(U.value)}`),i=a(()=>p.heatMetric==="cost"?"spend":"tokens"),M=a(()=>`${$.value} ${i.value} heatmap. Darker cells mean higher daily ${i.value}.`),v=a(()=>`Colored by daily ${i.value}`),I=a(()=>{const t=new Map(p.items.map(s=>[D(L(s.date)),s]));return Array.from({length:365},(s,h)=>{const o=C(j.value);return o.setDate(o.getDate()+h),{date:o,usage:t.get(D(o))}})}),g=a(()=>{const t=Math.max(...I.value.map(s=>p.heatMetric==="cost"?s.usage?.costUSD??0:s.usage?.totalTokens??0));return I.value.map(s=>{const h=s.usage?.costUSD??0,o=s.usage?.totalTokens??0,W=p.heatMetric==="cost"?h:o;return{colorClass:f[V(W,t)],costLabel:z(h),costUSD:h,date:S(s.date),hasUsage:!!s.usage,tokenLabel:T(o),totalTokens:o}})}),F=a(()=>{const t=j.value.getDay(),s=(7-(t+g.value.length)%7)%7,h=Array.from({length:t},(k,x)=>({column:String(Math.floor(x/7)+2),colorClass:"bg-transparent",costLabel:"",date:"",isBlank:!0,key:`blank-${x}`,row:String(x%7+1),title:"No date",tokenLabel:""})),o=g.value.map((k,x)=>({...k,column:String(Math.floor((t+x)/7)+2),isBlank:!1,key:k.date,row:String((t+x)%7+1),title:p.heatMetric==="cost"?`${k.date}: ${z(k.costUSD)} / ${T(k.totalTokens)} tokens`:`${k.date}: ${T(k.totalTokens)} tokens / ${z(k.costUSD)}`})),W=Array.from({length:s},(k,x)=>({column:String(Math.floor((t+g.value.length+x)/7)+2),colorClass:"bg-transparent",costLabel:"",date:"",isBlank:!0,key:`trailing-blank-${x}`,row:String((t+g.value.length+x)%7+1),title:"No date",tokenLabel:""}));return[...h,...o,...W]}),J=a(()=>Math.ceil(F.value.length/7)),B=a(()=>({gridTemplateColumns:`max-content repeat(${J.value}, minmax(0, 1fr))`,gridTemplateRows:"repeat(7, minmax(0, 1fr))"})),w=a(()=>g.value.filter(t=>t.hasUsage).slice(-3)),G=a(()=>g.value.filter(t=>t.hasUsage).length),Q=a(()=>z(g.value.reduce((t,s)=>t+s.costUSD,0))),Z=a(()=>T(g.value.reduce((t,s)=>t+s.totalTokens,0))),O=a(()=>p.heatMetric==="cost"?[{key:"year-cost",label:"Year Spend",value:Q.value},{key:"year-tokens",label:"Year Tokens",value:Z.value},{key:"active-days",label:"Active Days",value:String(G.value)}]:[{key:"year-tokens",label:"Year Tokens",value:Z.value},{key:"year-cost",label:"Year Spend",value:Q.value},{key:"active-days",label:"Active Days",value:String(G.value)}]);function L(t){return new Date(t)}function C(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate())}function D(t){const s=t.getFullYear(),h=`${t.getMonth()+1}`.padStart(2,"0"),o=`${t.getDate()}`.padStart(2,"0");return`${s}-${h}-${o}`}function S(t){return new Intl.DateTimeFormat("en-US",{day:"2-digit",month:"short",year:"numeric"}).format(t)}function V(t,s){return t<=0||s<=0?0:Math.min(9,Math.max(1,Math.ceil(t/s*9)))}return(t,s)=>{const h=ae;return d(),K(h,{description:M.value,icon:"lucide:calendar-days",title:p.title},{default:q(()=>[n("div",Ie,[(d(!0),b(N,null,A(O.value,o=>(d(),b("div",{key:o.key,class:"rounded-md border px-3 py-2"},[n("p",ze,m(o.label),1),n("p",Ye,m(o.value),1)]))),128))]),n("div",Ee,[n("div",{class:"grid w-full gap-1",style:R(B.value)},[(d(),b(N,null,A(H,o=>n("span",{key:o.key,class:"flex items-center justify-end pr-1 text-[10px] text-muted-foreground",style:R({gridColumn:"1",gridRow:o.row})},m(o.label),5)),64)),(d(!0),b(N,null,A(F.value,o=>(d(),b("div",{key:o.key,class:te(["group relative aspect-square w-full max-w-3 justify-self-center rounded-sm border border-black/5 outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring/50 dark:border-white/10",[o.colorClass,{"border-transparent opacity-0":o.isBlank}]]),"aria-label":o.title,style:R({gridColumn:o.column,gridRow:o.row}),tabindex:o.isBlank?-1:0},[n("span",Fe,m(o.title),1),o.isBlank?E("",!0):(d(),b("div",Ge,[n("span",Oe,m(o.date),1),p.heatMetric==="tokens"?(d(),b("span",Ve,[s[0]||(s[0]=n("span",null,"Tokens",-1)),n("span",We,m(o.tokenLabel),1)])):E("",!0),n("span",Xe,[s[1]||(s[1]=n("span",null,"Cost",-1)),n("span",Ke,m(o.costLabel),1)]),p.heatMetric==="cost"?(d(),b("span",qe,[s[2]||(s[2]=n("span",null,"Tokens",-1)),n("span",Je,m(o.tokenLabel),1)])):E("",!0),s[3]||(s[3]=n("span",{class:"absolute top-full left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rotate-45 border-r border-b border-border bg-popover"},null,-1))]))],14,He))),128))],4),n("div",Qe,[n("p",Ze,m(v.value),1),n("div",et,[s[4]||(s[4]=n("span",null,"Less",-1)),(d(),b(N,null,A(_,o=>n("span",{key:o,class:te(["size-3 rounded-[2px] border border-black/5 dark:border-white/10",o])},null,2)),64)),s[5]||(s[5]=n("span",null,"More",-1))])])]),n("div",tt,[(d(!0),b(N,null,A(w.value,o=>(d(),b("div",{key:o.date,class:"rounded-md border px-3 py-2"},[n("p",ot,m(o.date),1),n("div",at,[n("span",nt,m(p.heatMetric==="cost"?("formatCurrency"in t?t.formatCurrency:l(z))(o.costUSD):("formatCompactNumber"in t?t.formatCompactNumber:l(T))(o.totalTokens)),1),n("span",st,m(p.heatMetric==="cost"?("formatCompactNumber"in t?t.formatCompactNumber:l(T))(o.totalTokens):("formatCurrency"in t?t.formatCurrency:l(z))(o.costUSD)),1)])]))),128))])]),_:1},8,["description","title"])}}}),mt=Object.assign(lt,{__name:"UsageHeatmapPanel"}),rt={dailyRows:[],dailyTokenUsage:[],monthlyModelUsage:[],monthlyRows:[],overviewCards:[],projectUsage:[],sessionRows:[],sessionUsage:[],todayTopModel:null,todayTopProject:null,todayTotalCost:0,todayTotalTokens:0,weeklyRows:[]};function pt(P){const{payload:p}=Te(),f=a(()=>p.value?.[P]??rt);return{dailyRows:a(()=>f.value.dailyRows),dailyTokenUsage:a(()=>f.value.dailyTokenUsage),monthlyModelUsage:a(()=>f.value.monthlyModelUsage),monthlyRows:a(()=>f.value.monthlyRows),overviewCards:a(()=>f.value.overviewCards),projectUsage:a(()=>f.value.projectUsage),sessionRows:a(()=>f.value.sessionRows),sessionUsage:a(()=>f.value.sessionUsage),weeklyRows:a(()=>f.value.weeklyRows)}}export{rt as E,dt as _,it as a,mt as b,pt as u};
@@ -1 +1 @@
1
- import{d as ee,c as fe,b as pe,u as me,t as te,B as ae,I as ve,x as ge,s as _e,v as be,w as ye,m as q,n as he,y as Te}from"./chy2QJx0.js";import{M as G,r as B,h as w,s as Ie,ad as we,z as S,p as Ce,ae as Se,$ as Y,af as J,i as xe,ag as ke,G as H,H as se,o as T,B as C,w as n,b as d,D as a,P as $,C as A,Q as oe,v as Ae,n as Re,A as N,a4 as ne,W as Be,S as Ee,I as le,ah as Me,N as Fe,X as P,L as V,Z as O,T as $e,U as qe,a as Pe,c as K,K as z,J as L,a3 as Ve,d as g,t as x,E as Oe}from"./Dn8cXZx3.js";function Q(){let t=document.activeElement;if(t==null)return null;for(;t!=null&&t.shadowRoot!=null&&t.shadowRoot.activeElement!=null;)t=t.shadowRoot.activeElement;return t}const[Ne]=G("ConfigProvider");function re(t){const e=Ne({dir:B("ltr")});return w(()=>t?.value||e.dir?.value||"ltr")}function X(){const t=B(),e=w(()=>["#text","#comment"].includes(t.value?.$el.nodeName)?t.value?.$el.nextElementSibling:Ie(t));return{primitiveElement:t,currentElement:e}}const Z="data-reka-collection-item";function ue(t={}){const{key:e="",isProvider:l=!1}=t,o=`${e}CollectionProvider`;let i;if(l){const s=B(new Map);i={collectionRef:B(),itemMap:s},ke(o,i)}else i=we(o);const _=(s=!1)=>{const u=i.collectionRef.value;if(!u)return[];const m=Array.from(u.querySelectorAll(`[${Z}]`)),I=Array.from(i.itemMap.value.values()).sort((R,y)=>m.indexOf(R.ref)-m.indexOf(y.ref));return s?I:I.filter(R=>R.ref.dataset.disabled!=="")},c=S({name:"CollectionSlot",inheritAttrs:!1,setup(s,{slots:u,attrs:m}){const{primitiveElement:b,currentElement:I}=X();return xe(I,()=>{i.collectionRef.value=I.value}),()=>Y(J,{ref:b,...m},u)}}),f=S({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(s,{slots:u,attrs:m}){const{primitiveElement:b,currentElement:I}=X();return Ce(R=>{if(I.value){const y=Se(I.value);i.itemMap.value.set(y,{ref:I.value,value:s.value}),R(()=>i.itemMap.value.delete(y))}}),()=>Y(J,{...m,[Z]:"",ref:b},u)}}),p=w(()=>Array.from(i.itemMap.value.values())),r=w(()=>i.itemMap.value.size);return{getItems:_,reactiveItems:p,itemMapSize:r,CollectionSlot:c,CollectionItem:f}}const Ue="rovingFocusGroup.onEntryFocus",De={bubbles:!1,cancelable:!0},je={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ke(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function ze(t,e,l){const o=Ke(t.key,l);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return je[o]}function ie(t,e=!1){const l=Q();for(const o of t)if(o===l||(o.focus({preventScroll:e}),Q()!==l))return}function Le(t,e){return t.map((l,o)=>t[(e+o)%t.length])}const[Ge,He]=G("RovingFocusGroup");var We=S({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(t,{expose:e,emit:l}){const o=t,i=l,{loop:_,orientation:c,dir:f}=H(o),p=re(f),r=se(o,"currentTabStopId",i,{defaultValue:o.defaultCurrentTabStopId,passive:o.currentTabStopId===void 0}),s=B(!1),u=B(!1),m=B(0),{getItems:b,CollectionSlot:I}=ue({isProvider:!0});function R(k){const E=!u.value;if(k.currentTarget&&k.target===k.currentTarget&&E&&!s.value){const M=new CustomEvent(Ue,De);if(k.currentTarget.dispatchEvent(M),i("entryFocus",M),!M.defaultPrevented){const F=b().map(v=>v.ref).filter(v=>v.dataset.disabled!==""),U=F.find(v=>v.getAttribute("data-active")===""),D=F.find(v=>v.getAttribute("data-highlighted")===""),j=F.find(v=>v.id===r.value),h=[U,D,j,...F].filter(Boolean);ie(h,o.preventScrollOnEntryFocus)}}u.value=!1}function y(){setTimeout(()=>{u.value=!1},1)}return e({getItems:b}),He({loop:_,dir:p,orientation:c,currentTabStopId:r,onItemFocus:k=>{r.value=k},onItemShiftTab:()=>{s.value=!0},onFocusableItemAdd:()=>{m.value++},onFocusableItemRemove:()=>{m.value--}}),(k,E)=>(T(),C(a(I),null,{default:n(()=>[d(a($),{tabindex:s.value||m.value===0?-1:0,"data-orientation":a(c),as:k.as,"as-child":k.asChild,dir:a(p),style:{outline:"none"},onMousedown:E[0]||(E[0]=M=>u.value=!0),onMouseup:y,onFocus:R,onBlur:E[1]||(E[1]=M=>s.value=!1)},{default:n(()=>[A(k.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),Ye=We,Je=S({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const e=t,l=Ge(),o=ee(),i=w(()=>e.tabStopId||o),_=w(()=>l.currentTabStopId.value===i.value),{getItems:c,CollectionItem:f}=ue();oe(()=>{e.focusable&&l.onFocusableItemAdd()}),Ae(()=>{e.focusable&&l.onFocusableItemRemove()});function p(r){if(r.key==="Tab"&&r.shiftKey){l.onItemShiftTab();return}if(r.target!==r.currentTarget)return;const s=ze(r,l.orientation.value,l.dir.value);if(s!==void 0){if(r.metaKey||r.ctrlKey||r.altKey||!e.allowShiftKey&&r.shiftKey)return;r.preventDefault();let u=[...c().map(m=>m.ref).filter(m=>m.dataset.disabled!=="")];if(s==="last")u.reverse();else if(s==="prev"||s==="next"){s==="prev"&&u.reverse();const m=u.indexOf(r.currentTarget);u=l.loop.value?Le(u,m+1):u.slice(m+1)}Re(()=>ie(u))}}return(r,s)=>(T(),C(a(f),null,{default:n(()=>[d(a($),{tabindex:_.value?0:-1,"data-orientation":a(l).orientation.value,"data-active":r.active?"":void 0,"data-disabled":r.focusable?void 0:"",as:r.as,"as-child":r.asChild,onMousedown:s[0]||(s[0]=u=>{r.focusable?a(l).onItemFocus(i.value):u.preventDefault()}),onFocus:s[1]||(s[1]=u=>a(l).onItemFocus(i.value)),onKeydown:p},{default:n(()=>[A(r.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),Qe=Je;const[W,Xe]=G("TabsRoot");var Ze=S({__name:"TabsRoot",props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:"automatic"},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const l=t,o=e,{orientation:i,unmountOnHide:_,dir:c}=H(l),f=re(c);N();const p=se(l,"modelValue",o,{defaultValue:l.defaultValue,passive:l.modelValue===void 0}),r=B(),s=ne(new Set);return Xe({modelValue:p,changeModelValue:u=>{p.value=u},orientation:i,dir:f,unmountOnHide:_,activationMode:l.activationMode,baseId:ee(void 0,"reka-tabs"),tabsList:r,contentIds:s,registerContent:u=>{s.value=new Set([...s.value,u])},unregisterContent:u=>{const m=new Set(s.value);m.delete(u),s.value=m}}),(u,m)=>(T(),C(a($),{dir:a(f),"data-orientation":a(i),"as-child":u.asChild,as:u.as},{default:n(()=>[A(u.$slots,"default",{modelValue:a(p)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),et=Ze;function de(t,e){return`${t}-trigger-${e}`}function ce(t,e){return`${t}-content-${e}`}var tt=S({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const e=t,{forwardRef:l}=N(),o=W(),i=w(()=>de(o.baseId,e.value)),_=w(()=>ce(o.baseId,e.value)),c=w(()=>e.value===o.modelValue.value),f=B(c.value);return oe(()=>{o.registerContent(e.value),requestAnimationFrame(()=>{f.value=!1})}),Be(()=>{o.unregisterContent(e.value)}),(p,r)=>(T(),C(a(fe),{present:p.forceMount||c.value,"force-mount":""},{default:n(({present:s})=>[d(a($),{id:_.value,ref:a(l),"as-child":p.asChild,as:p.as,role:"tabpanel","data-state":c.value?"active":"inactive","data-orientation":a(o).orientation.value,"aria-labelledby":i.value,hidden:!s,tabindex:"0",style:Ee({animationDuration:f.value?"0s":void 0})},{default:n(()=>[!a(o).unmountOnHide.value||s?A(p.$slots,"default",{key:0}):le("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),at=tt,st=S({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const e=t,{loop:l}=H(e),{forwardRef:o,currentElement:i}=N(),_=W();return _.tabsList=i,(c,f)=>(T(),C(a(Ye),{"as-child":"",orientation:a(_).orientation.value,dir:a(_).dir.value,loop:a(l)},{default:n(()=>[d(a($),{ref:a(o),role:"tablist","as-child":c.asChild,as:c.as,"aria-orientation":a(_).orientation.value},{default:n(()=>[A(c.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),ot=st,nt=S({__name:"TabsTrigger",props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const e=t,{forwardRef:l}=N(),o=W(),i=w(()=>de(o.baseId,e.value)),_=w(()=>o.contentIds.value.has(e.value)?ce(o.baseId,e.value):void 0),c=w(()=>e.value===o.modelValue.value);return(f,p)=>(T(),C(a(Qe),{"as-child":"",focusable:!f.disabled,active:c.value},{default:n(()=>[d(a($),{id:i.value,ref:a(l),role:"tab",type:f.as==="button"?"button":void 0,as:f.as,"as-child":f.asChild,"aria-selected":c.value?"true":"false","aria-controls":_.value,"data-state":c.value?"active":"inactive",disabled:f.disabled,"data-disabled":f.disabled?"":void 0,"data-orientation":a(o).orientation.value,onMousedown:p[0]||(p[0]=Fe(r=>{!f.disabled&&r.ctrlKey===!1?a(o).changeModelValue(f.value):r.preventDefault()},["left"])),onKeydown:p[1]||(p[1]=Me(r=>a(o).changeModelValue(f.value),["enter","space"])),onFocus:p[2]||(p[2]=()=>{const r=a(o).activationMode!=="manual";!c.value&&!f.disabled&&r&&a(o).changeModelValue(f.value)})},{default:n(()=>[A(f.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),lt=nt;const rt=S({__name:"Tabs",props:{defaultValue:{},orientation:{},dir:{},activationMode:{},modelValue:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["update:modelValue"],setup(t,{emit:e}){const l=t,o=e,i=P(l,"class"),_=pe(i,o);return(c,f)=>(T(),C(a(et),V({"data-slot":"tabs"},a(_),{class:a(O)("flex flex-col gap-2",l.class)}),{default:n(p=>[A(c.$slots,"default",$e(qe(p)))]),_:3},16,["class"]))}}),ut=S({__name:"TabsContent",props:{value:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){const e=t,l=P(e,"class");return(o,i)=>(T(),C(a(at),V({"data-slot":"tabs-content",class:a(O)("flex-1 outline-none",e.class)},a(l)),{default:n(()=>[A(o.$slots,"default")]),_:3},16,["class"]))}}),it=S({__name:"TabsList",props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){const e=t,l=P(e,"class");return(o,i)=>(T(),C(a(ot),V({"data-slot":"tabs-list"},a(l),{class:a(O)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e.class)}),{default:n(()=>[A(o.$slots,"default")]),_:3},16,["class"]))}}),dt=S({__name:"TabsTrigger",props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){const e=t,l=P(e,"class"),o=me(l);return(i,_)=>(T(),C(a(lt),V({"data-slot":"tabs-trigger",class:a(O)("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class)},a(o)),{default:n(()=>[A(i.$slots,"default")]),_:3},16,["class"]))}}),ct={class:"flex items-center justify-center py-10"},ft=S({__name:"TableEmpty",props:{class:{type:[Boolean,null,String,Object,Array]},colspan:{default:1}},setup(t){const e=t,l=P(e,"class");return(o,i)=>(T(),C(te,null,{default:n(()=>[d(ae,V({class:a(O)("p-4 whitespace-nowrap align-middle text-sm text-foreground",e.class)},a(l)),{default:n(()=>[Pe("div",ct,[A(o.$slots,"default")])]),_:3},16,["class"])]),_:3}))}}),pt=S({name:"UsageAnalyticsTokenUsageTabsPanel",__name:"TokenUsageTabsPanel",props:{dailyItems:{},weeklyItems:{},monthlyItems:{},sessionItems:{},pageSize:{default:10},productName:{default:"Product"}},setup(t){const e=t,l=ne("day"),o=Oe({day:1,month:1,session:1,week:1}),i=[{heading:"Date",label:"Day",value:"day"},{heading:"Week",label:"Week",value:"week"},{heading:"Month",label:"Month",value:"month"},{heading:"Session ID",label:"Session",value:"session"}],_=w(()=>({day:e.dailyItems,month:e.monthlyItems,session:e.sessionItems,week:e.weeklyItems})),c=w(()=>Object.fromEntries(i.map(r=>{const s=_.value[r.value],u=Math.max(1,Math.ceil(s.length/e.pageSize)),m=Math.min(o[r.value],u),b=(m-1)*e.pageSize;return[r.value,{items:s,page:m,pageCount:u,paginatedItems:s.slice(b,b+e.pageSize)}]})));function f(r,s){const u=c.value[r].pageCount;o[r]=Math.min(u,Math.max(1,s))}function p(r){return r.length>0?r.join(", "):"None"}return(r,s)=>{const u=dt,m=it,b=be,I=te,R=_e,y=ae,k=ft,E=ye,M=ge,F=Te,U=ut,D=rt,j=ve;return T(),C(j,{description:`Browse ${t.productName} token consumption by day, week, month, or session.`,icon:"lucide:table-2",title:`${t.productName} Token Usage`},{default:n(()=>[d(D,{modelValue:a(l),"onUpdate:modelValue":s[0]||(s[0]=h=>Ve(l)?l.value=h:null)},{default:n(()=>[d(m,{class:"grid w-full grid-cols-4 sm:w-fit"},{default:n(()=>[(T(),K(L,null,z(i,h=>d(u,{key:h.value,value:h.value},{default:n(()=>[g(x(h.label),1)]),_:2},1032,["value"])),64))]),_:1}),(T(),K(L,null,z(i,h=>d(U,{key:h.value,class:"mt-4",value:h.value},{default:n(()=>[d(M,null,{default:n(()=>[d(R,null,{default:n(()=>[d(I,null,{default:n(()=>[d(b,null,{default:n(()=>[g(x(h.heading),1)]),_:2},1024),d(b,null,{default:n(()=>[...s[1]||(s[1]=[g("Models",-1)])]),_:1}),d(b,null,{default:n(()=>[...s[2]||(s[2]=[g("Projects",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[3]||(s[3]=[g(" Sessions ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[4]||(s[4]=[g(" Input ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[5]||(s[5]=[g(" Output ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[6]||(s[6]=[g(" Reasoning ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[7]||(s[7]=[g(" Cache Read ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[8]||(s[8]=[g(" Total Tokens ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[9]||(s[9]=[g(" Cost ",-1)])]),_:1})]),_:2},1024)]),_:2},1024),d(E,null,{default:n(()=>[(T(!0),K(L,null,z(a(c)[h.value].paginatedItems,v=>(T(),C(I,{key:v.id},{default:n(()=>[d(y,{class:"max-w-72 truncate font-medium"},{default:n(()=>[g(x(v.label),1)]),_:2},1024),d(y,null,{default:n(()=>[g(x(p(v.models)),1)]),_:2},1024),d(y,{class:"max-w-56 truncate"},{default:n(()=>[g(x(p(v.projects)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(v.sessionCount),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.inputTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.outputTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.reasoningOutputTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.cachedInputTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.totalTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(("formatCurrency"in r?r.formatCurrency:a(he))(v.costUSD)),1)]),_:2},1024)]),_:2},1024))),128)),a(c)[h.value].items.length===0?(T(),C(k,{key:0,colspan:10},{default:n(()=>[g(" No "+x(t.productName)+" token usage found. ",1)]),_:1})):le("",!0)]),_:2},1024)]),_:2},1024),d(F,{page:a(c)[h.value].page,"page-count":a(c)[h.value].pageCount,"page-size":t.pageSize,total:a(c)[h.value].items.length,"onUpdate:page":v=>f(h.value,v)},null,8,["page","page-count","page-size","total","onUpdate:page"])]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1},8,["description","title"])}}}),gt=Object.assign(pt,{__name:"UsageAnalyticsTokenUsageTabsPanel"});export{ft as _,re as a,it as b,dt as c,ut as d,gt as e,rt as f,Q as g,Ne as i,ue as u};
1
+ import{d as ee,c as fe,b as pe,u as me,w as te,F as ae,K as ve,B as ge,v as _e,x as be,y as ye,o as q,p as he,E as Te}from"./7Dy4NLP8.js";import{M as G,r as B,h as I,s as we,af as Ie,z as S,p as Ce,ag as Se,$ as Y,ah as J,i as xe,ai as ke,G as H,H as se,o as T,B as C,w as n,b as d,D as a,P as $,C as A,Q as oe,v as Ae,n as Re,A as N,a7 as ne,W as Be,S as Ee,I as le,aj as Fe,N as Me,X as P,L as V,Z as O,T as $e,U as qe,a as Pe,c as K,K as z,J as L,a6 as Ve,d as g,t as x,E as Oe}from"./Dkya5WaL.js";function Q(){let t=document.activeElement;if(t==null)return null;for(;t!=null&&t.shadowRoot!=null&&t.shadowRoot.activeElement!=null;)t=t.shadowRoot.activeElement;return t}const[Ne]=G("ConfigProvider");function re(t){const e=Ne({dir:B("ltr")});return I(()=>t?.value||e.dir?.value||"ltr")}function X(){const t=B(),e=I(()=>["#text","#comment"].includes(t.value?.$el.nodeName)?t.value?.$el.nextElementSibling:we(t));return{primitiveElement:t,currentElement:e}}const Z="data-reka-collection-item";function ue(t={}){const{key:e="",isProvider:l=!1}=t,o=`${e}CollectionProvider`;let i;if(l){const s=B(new Map);i={collectionRef:B(),itemMap:s},ke(o,i)}else i=Ie(o);const _=(s=!1)=>{const u=i.collectionRef.value;if(!u)return[];const m=Array.from(u.querySelectorAll(`[${Z}]`)),w=Array.from(i.itemMap.value.values()).sort((R,y)=>m.indexOf(R.ref)-m.indexOf(y.ref));return s?w:w.filter(R=>R.ref.dataset.disabled!=="")},c=S({name:"CollectionSlot",inheritAttrs:!1,setup(s,{slots:u,attrs:m}){const{primitiveElement:b,currentElement:w}=X();return xe(w,()=>{i.collectionRef.value=w.value}),()=>Y(J,{ref:b,...m},u)}}),f=S({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(s,{slots:u,attrs:m}){const{primitiveElement:b,currentElement:w}=X();return Ce(R=>{if(w.value){const y=Se(w.value);i.itemMap.value.set(y,{ref:w.value,value:s.value}),R(()=>i.itemMap.value.delete(y))}}),()=>Y(J,{...m,[Z]:"",ref:b},u)}}),p=I(()=>Array.from(i.itemMap.value.values())),r=I(()=>i.itemMap.value.size);return{getItems:_,reactiveItems:p,itemMapSize:r,CollectionSlot:c,CollectionItem:f}}const Ue="rovingFocusGroup.onEntryFocus",je={bubbles:!1,cancelable:!0},De={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ke(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function ze(t,e,l){const o=Ke(t.key,l);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return De[o]}function ie(t,e=!1){const l=Q();for(const o of t)if(o===l||(o.focus({preventScroll:e}),Q()!==l))return}function Le(t,e){return t.map((l,o)=>t[(e+o)%t.length])}const[Ge,He]=G("RovingFocusGroup");var We=S({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(t,{expose:e,emit:l}){const o=t,i=l,{loop:_,orientation:c,dir:f}=H(o),p=re(f),r=se(o,"currentTabStopId",i,{defaultValue:o.defaultCurrentTabStopId,passive:o.currentTabStopId===void 0}),s=B(!1),u=B(!1),m=B(0),{getItems:b,CollectionSlot:w}=ue({isProvider:!0});function R(k){const E=!u.value;if(k.currentTarget&&k.target===k.currentTarget&&E&&!s.value){const F=new CustomEvent(Ue,je);if(k.currentTarget.dispatchEvent(F),i("entryFocus",F),!F.defaultPrevented){const M=b().map(v=>v.ref).filter(v=>v.dataset.disabled!==""),U=M.find(v=>v.getAttribute("data-active")===""),j=M.find(v=>v.getAttribute("data-highlighted")===""),D=M.find(v=>v.id===r.value),h=[U,j,D,...M].filter(Boolean);ie(h,o.preventScrollOnEntryFocus)}}u.value=!1}function y(){setTimeout(()=>{u.value=!1},1)}return e({getItems:b}),He({loop:_,dir:p,orientation:c,currentTabStopId:r,onItemFocus:k=>{r.value=k},onItemShiftTab:()=>{s.value=!0},onFocusableItemAdd:()=>{m.value++},onFocusableItemRemove:()=>{m.value--}}),(k,E)=>(T(),C(a(w),null,{default:n(()=>[d(a($),{tabindex:s.value||m.value===0?-1:0,"data-orientation":a(c),as:k.as,"as-child":k.asChild,dir:a(p),style:{outline:"none"},onMousedown:E[0]||(E[0]=F=>u.value=!0),onMouseup:y,onFocus:R,onBlur:E[1]||(E[1]=F=>s.value=!1)},{default:n(()=>[A(k.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),Ye=We,Je=S({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const e=t,l=Ge(),o=ee(),i=I(()=>e.tabStopId||o),_=I(()=>l.currentTabStopId.value===i.value),{getItems:c,CollectionItem:f}=ue();oe(()=>{e.focusable&&l.onFocusableItemAdd()}),Ae(()=>{e.focusable&&l.onFocusableItemRemove()});function p(r){if(r.key==="Tab"&&r.shiftKey){l.onItemShiftTab();return}if(r.target!==r.currentTarget)return;const s=ze(r,l.orientation.value,l.dir.value);if(s!==void 0){if(r.metaKey||r.ctrlKey||r.altKey||!e.allowShiftKey&&r.shiftKey)return;r.preventDefault();let u=[...c().map(m=>m.ref).filter(m=>m.dataset.disabled!=="")];if(s==="last")u.reverse();else if(s==="prev"||s==="next"){s==="prev"&&u.reverse();const m=u.indexOf(r.currentTarget);u=l.loop.value?Le(u,m+1):u.slice(m+1)}Re(()=>ie(u))}}return(r,s)=>(T(),C(a(f),null,{default:n(()=>[d(a($),{tabindex:_.value?0:-1,"data-orientation":a(l).orientation.value,"data-active":r.active?"":void 0,"data-disabled":r.focusable?void 0:"",as:r.as,"as-child":r.asChild,onMousedown:s[0]||(s[0]=u=>{r.focusable?a(l).onItemFocus(i.value):u.preventDefault()}),onFocus:s[1]||(s[1]=u=>a(l).onItemFocus(i.value)),onKeydown:p},{default:n(()=>[A(r.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),Qe=Je;const[W,Xe]=G("TabsRoot");var Ze=S({__name:"TabsRoot",props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:"automatic"},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const l=t,o=e,{orientation:i,unmountOnHide:_,dir:c}=H(l),f=re(c);N();const p=se(l,"modelValue",o,{defaultValue:l.defaultValue,passive:l.modelValue===void 0}),r=B(),s=ne(new Set);return Xe({modelValue:p,changeModelValue:u=>{p.value=u},orientation:i,dir:f,unmountOnHide:_,activationMode:l.activationMode,baseId:ee(void 0,"reka-tabs"),tabsList:r,contentIds:s,registerContent:u=>{s.value=new Set([...s.value,u])},unregisterContent:u=>{const m=new Set(s.value);m.delete(u),s.value=m}}),(u,m)=>(T(),C(a($),{dir:a(f),"data-orientation":a(i),"as-child":u.asChild,as:u.as},{default:n(()=>[A(u.$slots,"default",{modelValue:a(p)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),et=Ze;function de(t,e){return`${t}-trigger-${e}`}function ce(t,e){return`${t}-content-${e}`}var tt=S({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const e=t,{forwardRef:l}=N(),o=W(),i=I(()=>de(o.baseId,e.value)),_=I(()=>ce(o.baseId,e.value)),c=I(()=>e.value===o.modelValue.value),f=B(c.value);return oe(()=>{o.registerContent(e.value),requestAnimationFrame(()=>{f.value=!1})}),Be(()=>{o.unregisterContent(e.value)}),(p,r)=>(T(),C(a(fe),{present:p.forceMount||c.value,"force-mount":""},{default:n(({present:s})=>[d(a($),{id:_.value,ref:a(l),"as-child":p.asChild,as:p.as,role:"tabpanel","data-state":c.value?"active":"inactive","data-orientation":a(o).orientation.value,"aria-labelledby":i.value,hidden:!s,tabindex:"0",style:Ee({animationDuration:f.value?"0s":void 0})},{default:n(()=>[!a(o).unmountOnHide.value||s?A(p.$slots,"default",{key:0}):le("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),at=tt,st=S({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const e=t,{loop:l}=H(e),{forwardRef:o,currentElement:i}=N(),_=W();return _.tabsList=i,(c,f)=>(T(),C(a(Ye),{"as-child":"",orientation:a(_).orientation.value,dir:a(_).dir.value,loop:a(l)},{default:n(()=>[d(a($),{ref:a(o),role:"tablist","as-child":c.asChild,as:c.as,"aria-orientation":a(_).orientation.value},{default:n(()=>[A(c.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),ot=st,nt=S({__name:"TabsTrigger",props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const e=t,{forwardRef:l}=N(),o=W(),i=I(()=>de(o.baseId,e.value)),_=I(()=>o.contentIds.value.has(e.value)?ce(o.baseId,e.value):void 0),c=I(()=>e.value===o.modelValue.value);return(f,p)=>(T(),C(a(Qe),{"as-child":"",focusable:!f.disabled,active:c.value},{default:n(()=>[d(a($),{id:i.value,ref:a(l),role:"tab",type:f.as==="button"?"button":void 0,as:f.as,"as-child":f.asChild,"aria-selected":c.value?"true":"false","aria-controls":_.value,"data-state":c.value?"active":"inactive",disabled:f.disabled,"data-disabled":f.disabled?"":void 0,"data-orientation":a(o).orientation.value,onMousedown:p[0]||(p[0]=Me(r=>{!f.disabled&&r.ctrlKey===!1?a(o).changeModelValue(f.value):r.preventDefault()},["left"])),onKeydown:p[1]||(p[1]=Fe(r=>a(o).changeModelValue(f.value),["enter","space"])),onFocus:p[2]||(p[2]=()=>{const r=a(o).activationMode!=="manual";!c.value&&!f.disabled&&r&&a(o).changeModelValue(f.value)})},{default:n(()=>[A(f.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),lt=nt;const rt=S({__name:"Tabs",props:{defaultValue:{},orientation:{},dir:{},activationMode:{},modelValue:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["update:modelValue"],setup(t,{emit:e}){const l=t,o=e,i=P(l,"class"),_=pe(i,o);return(c,f)=>(T(),C(a(et),V({"data-slot":"tabs"},a(_),{class:a(O)("flex flex-col gap-2",l.class)}),{default:n(p=>[A(c.$slots,"default",$e(qe(p)))]),_:3},16,["class"]))}}),ut=S({__name:"TabsContent",props:{value:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){const e=t,l=P(e,"class");return(o,i)=>(T(),C(a(at),V({"data-slot":"tabs-content",class:a(O)("flex-1 outline-none",e.class)},a(l)),{default:n(()=>[A(o.$slots,"default")]),_:3},16,["class"]))}}),it=S({__name:"TabsList",props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){const e=t,l=P(e,"class");return(o,i)=>(T(),C(a(ot),V({"data-slot":"tabs-list"},a(l),{class:a(O)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e.class)}),{default:n(()=>[A(o.$slots,"default")]),_:3},16,["class"]))}}),dt=S({__name:"TabsTrigger",props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){const e=t,l=P(e,"class"),o=me(l);return(i,_)=>(T(),C(a(lt),V({"data-slot":"tabs-trigger",class:a(O)("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class)},a(o)),{default:n(()=>[A(i.$slots,"default")]),_:3},16,["class"]))}}),ct={class:"flex items-center justify-center py-10"},ft=S({__name:"TableEmpty",props:{class:{type:[Boolean,null,String,Object,Array]},colspan:{default:1}},setup(t){const e=t,l=P(e,"class");return(o,i)=>(T(),C(te,null,{default:n(()=>[d(ae,V({class:a(O)("p-4 whitespace-nowrap align-middle text-sm text-foreground",e.class)},a(l)),{default:n(()=>[Pe("div",ct,[A(o.$slots,"default")])]),_:3},16,["class"])]),_:3}))}}),pt=S({name:"UsageAnalyticsTokenUsageTabsPanel",__name:"TokenUsageTabsPanel",props:{dailyItems:{},weeklyItems:{},monthlyItems:{},sessionItems:{},pageSize:{default:10},productName:{default:"Product"}},setup(t){const e=t,l=ne("day"),o=Oe({day:1,month:1,session:1,week:1}),i=[{heading:"Date",label:"Day",value:"day"},{heading:"Week",label:"Week",value:"week"},{heading:"Month",label:"Month",value:"month"},{heading:"Session ID",label:"Session",value:"session"}],_=I(()=>({day:e.dailyItems,month:e.monthlyItems,session:e.sessionItems,week:e.weeklyItems})),c=I(()=>Object.fromEntries(i.map(r=>{const s=_.value[r.value],u=Math.max(1,Math.ceil(s.length/e.pageSize)),m=Math.min(o[r.value],u),b=(m-1)*e.pageSize;return[r.value,{items:s,page:m,pageCount:u,paginatedItems:s.slice(b,b+e.pageSize)}]})));function f(r,s){const u=c.value[r].pageCount;o[r]=Math.min(u,Math.max(1,s))}function p(r){return r.length>0?r.join(", "):"None"}return(r,s)=>{const u=dt,m=it,b=be,w=te,R=_e,y=ae,k=ft,E=ye,F=ge,M=Te,U=ut,j=rt,D=ve;return T(),C(D,{description:`Browse ${t.productName} token consumption by day, week, month, or session.`,icon:"lucide:table-2",title:`${t.productName} Token Usage`},{default:n(()=>[d(j,{modelValue:a(l),"onUpdate:modelValue":s[0]||(s[0]=h=>Ve(l)?l.value=h:null)},{default:n(()=>[d(m,{class:"grid w-full grid-cols-4 sm:w-fit"},{default:n(()=>[(T(),K(L,null,z(i,h=>d(u,{key:h.value,value:h.value},{default:n(()=>[g(x(h.label),1)]),_:2},1032,["value"])),64))]),_:1}),(T(),K(L,null,z(i,h=>d(U,{key:h.value,class:"mt-4",value:h.value},{default:n(()=>[d(F,null,{default:n(()=>[d(R,null,{default:n(()=>[d(w,null,{default:n(()=>[d(b,null,{default:n(()=>[g(x(h.heading),1)]),_:2},1024),d(b,null,{default:n(()=>[...s[1]||(s[1]=[g("Models",-1)])]),_:1}),d(b,null,{default:n(()=>[...s[2]||(s[2]=[g("Projects",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[3]||(s[3]=[g(" Sessions ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[4]||(s[4]=[g(" Input ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[5]||(s[5]=[g(" Output ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[6]||(s[6]=[g(" Reasoning ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[7]||(s[7]=[g(" Cache Read ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[8]||(s[8]=[g(" Total Tokens ",-1)])]),_:1}),d(b,{class:"text-right"},{default:n(()=>[...s[9]||(s[9]=[g(" Cost ",-1)])]),_:1})]),_:2},1024)]),_:2},1024),d(E,null,{default:n(()=>[(T(!0),K(L,null,z(a(c)[h.value].paginatedItems,v=>(T(),C(w,{key:v.id},{default:n(()=>[d(y,{class:"max-w-72 truncate font-medium"},{default:n(()=>[g(x(v.label),1)]),_:2},1024),d(y,null,{default:n(()=>[g(x(p(v.models)),1)]),_:2},1024),d(y,{class:"max-w-56 truncate"},{default:n(()=>[g(x(p(v.projects)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(v.sessionCount),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.inputTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.outputTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.reasoningOutputTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.cachedInputTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(a(q)(v.totalTokens)),1)]),_:2},1024),d(y,{class:"text-right tabular-nums"},{default:n(()=>[g(x(("formatCurrency"in r?r.formatCurrency:a(he))(v.costUSD)),1)]),_:2},1024)]),_:2},1024))),128)),a(c)[h.value].items.length===0?(T(),C(k,{key:0,colspan:10},{default:n(()=>[g(" No "+x(t.productName)+" token usage found. ",1)]),_:1})):le("",!0)]),_:2},1024)]),_:2},1024),d(M,{page:a(c)[h.value].page,"page-count":a(c)[h.value].pageCount,"page-size":t.pageSize,total:a(c)[h.value].items.length,"onUpdate:page":v=>f(h.value,v)},null,8,["page","page-count","page-size","total","onUpdate:page"])]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1},8,["description","title"])}}}),gt=Object.assign(pt,{__name:"UsageAnalyticsTokenUsageTabsPanel"});export{ft as _,re as a,it as b,dt as c,ut as d,gt as e,rt as f,Q as g,Ne as i,ue as u};
@@ -1 +1 @@
1
- {"id":"ac4b25d6-d6eb-44bb-8c5b-b1d6f651c196","timestamp":1777010971439}
1
+ {"id":"37e8bb21-a086-45bf-93dc-47eeeada7299","timestamp":1779372467738}
@@ -0,0 +1 @@
1
+ {"id":"37e8bb21-a086-45bf-93dc-47eeeada7299","timestamp":1779372467738,"prerendered":[]}
@@ -1,4 +1,4 @@
1
- import{z as t,$ as i,h as n,o as r,c as o,Y as a,D as s,Z as f}from"./Dn8cXZx3.js";const c={claude_code:'<svg fill="#D97757" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Claude</title><path d="m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"/></svg>',codex:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" fill-rule="evenodd">
1
+ import{z as t,$ as i,h as n,o as r,c as o,Y as a,D as s,Z as f}from"./Dkya5WaL.js";const c={claude_code:'<svg fill="#D97757" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Claude</title><path d="m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"/></svg>',codebuff:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><title>Codebuff</title><rect width="24" height="24" rx="6" fill="#14B8A6"/><path d="M8 7.5h5.25a3.75 3.75 0 1 1 0 7.5H8z" fill="#fff"/><path d="M9.75 11.25h4.25a1.75 1.75 0 0 1 0 3.5H9.75z" fill="#14B8A6"/></svg>',codex:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" fill-rule="evenodd">
2
2
  <title>Codex (OpenAI)</title>
3
3
  <path clip-rule="evenodd"
4
4
  d="M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z" />
@@ -102,4 +102,4 @@ import{z as t,$ as i,h as n,o as r,c as o,Y as a,D as s,Z as f}from"./Dn8cXZx3.j
102
102
  `,open_code:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" fill-rule="evenodd">
103
103
  <title>opencode</title>
104
104
  <path d="M16 6H8v12h8V6zm4 16H4V2h16v20z" />
105
- </svg>`,copilot:'<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub Copilot</title><path d="M23.922 16.997C23.061 18.492 18.063 22.02 12 22.02 5.937 22.02.939 18.492.078 16.997A.641.641 0 0 1 0 16.741v-2.869a.883.883 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.098 10.098 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952C7.255 2.937 9.248 1.98 11.978 1.98c2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.841.841 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256Zm-11.75-5.992h-.344a4.359 4.359 0 0 1-.355.508c-.77.947-1.918 1.492-3.508 1.492-1.725 0-2.989-.359-3.782-1.259a2.137 2.137 0 0 1-.085-.104L4 11.746v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.359 4.359 0 0 1-.355-.508Zm2.328 3.25c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm-5 0c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm3.313-6.185c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"/></svg>',gemini:'<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="#3186FF"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-0-_R_0_)"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-1-_R_0_)"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-2-_R_0_)"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-0-_R_0_" x1="7" x2="11" y1="15.5" y2="12"><stop stop-color="#08B962"></stop><stop offset="1" stop-color="#08B962" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-1-_R_0_" x1="8" x2="11.5" y1="5.5" y2="11"><stop stop-color="#F94543"></stop><stop offset="1" stop-color="#F94543" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-2-_R_0_" x1="3.5" x2="17.5" y1="13.5" y2="12"><stop stop-color="#FABC12"></stop><stop offset=".46" stop-color="#FABC12" stop-opacity="0"></stop></linearGradient></defs></svg>',qwen_code:'<svg xmlns="http://www.w3.org/2000/svg" width="518.08" height="512" viewBox="0 0 256 253"><path fill="#623ae7" d="M129.263 0a6.75 6.75 0 0 1 5.88 3.374l15.256 26.424l65.258-.482a6.75 6.75 0 0 1 5.892 3.373l16.843 29.172a6.75 6.75 0 0 1-.038 6.811l-15.569 26.29a6.7 6.7 0 0 1-.887 1.182l33.195 56.28a6.75 6.75 0 0 1 .021 6.72l-16.94 29.706a6.75 6.75 0 0 1-5.86 3.405h-30.513l-32.21 56.756a6.75 6.75 0 0 1-5.868 3.417h-33.686a6.75 6.75 0 0 1-5.88-3.438l-15.022-26.7l-67.31.06a6.75 6.75 0 0 1-5.831-3.343l-17.256-29.523a6.75 6.75 0 0 1-.018-6.777l15.256-26.425L.929 100.008a6.75 6.75 0 0 1-.025-6.79l16.843-29.172a6.75 6.75 0 0 1 5.917-3.374l30.553.339a6.7 6.7 0 0 1 1.789.262L89.258 3.562a6.75 6.75 0 0 1 5.81-3.379z" stroke-width="6.5" stroke="#623ae7" /><path fill="#fff" d="m180.679 97.445l36.108.025l33.198 58.74h-34.51l-17.266-30.239l-68.54 119.948l-17.218-29.263zM57.85 66.893l69.028 118.902l-17.872 30.86l-67.905-.622l17.255-29.887l34.82.166L23.567 66.981zm37.24-60.8l17.256 29.887l-17.554 30.07l138.147-.616l-17.064 29.733l-137.896.33L59.917 66.05z" stroke-width="6.5" stroke="#fff" /></svg>',kimi_code:'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M503 114.333v280c0 60.711-49.29 110-110 110H113c-60.711 0-110-49.289-110-110v-280c0-60.71 49.289-110 110-110h280c60.71 0 110 49.29 110 110z"/><path d="M342.065 189.759c1.886-2.42 3.541-4.63 5.289-6.77.81-1.007.74-1.771-.046-2.824-7.58-9.965-8.298-21.028-3.935-32.254 3.275-8.448 10.52-12.406 19.373-13.25 5.52-.521 10.936.046 15.959 2.73 6.596 3.53 10.438 8.912 11.688 16.341.995 5.926.81 11.712-.868 17.452-2.974 10.161-10.277 15.427-20.287 16.758-8.31 1.11-16.734 1.25-25.113 1.817-.648.046-1.308 0-2.06 0z" fill="#027aff"/><path d="M321.512 144.254h-50.064l-39.637 90.384h-56.036v-89.99H131v232.868h44.787v-98.103h78.973c13.598 0 26.015-7.927 31.744-20.252v118.355h44.787v-98.103c0-23.342-18.239-42.97-41.523-44.671v-.116h-24.593a45.577 45.577 0 0026.884-24.534l29.453-65.838z" fill="#fff"/></svg>',amp:'<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Amp</title><path d="M15.087 23.18L12.03 24l-2.097-7.823-5.738 5.738-2.251-2.251 5.718-5.719-7.769-2.082.82-3.057 11.294 3.08 3.08 11.295z" fill="#F34E3F"></path><path d="M19.505 18.762l-3.057.82-2.564-9.573-9.572-2.564.819-3.057 11.295 3.079 3.08 11.295z" fill="#F34E3F"></path><path d="M23.893 14.374l-3.057.82-2.565-9.572L8.7 3.057 9.52 0l11.295 3.08 3.079 11.294z" fill="#F34E3F"></path></svg>'},g=t({name:"IconAi",props:{name:{type:String,required:!0}},setup(e){const l=n(()=>c[e.name]||"");return()=>i("span",{class:"size-5",innerHTML:l.value})}}),h=t({__name:"Skeleton",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const l=e;return(d,u)=>(r(),o("div",{"data-slot":"skeleton",class:a(s(f)("animate-pulse rounded-md bg-primary/10",l.class))},null,2))}});export{g as _,h as a};
105
+ </svg>`,copilot:'<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub Copilot</title><path d="M23.922 16.997C23.061 18.492 18.063 22.02 12 22.02 5.937 22.02.939 18.492.078 16.997A.641.641 0 0 1 0 16.741v-2.869a.883.883 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.098 10.098 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952C7.255 2.937 9.248 1.98 11.978 1.98c2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.841.841 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256Zm-11.75-5.992h-.344a4.359 4.359 0 0 1-.355.508c-.77.947-1.918 1.492-3.508 1.492-1.725 0-2.989-.359-3.782-1.259a2.137 2.137 0 0 1-.085-.104L4 11.746v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.359 4.359 0 0 1-.355-.508Zm2.328 3.25c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm-5 0c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm3.313-6.185c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"/></svg>',droid:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><title>Droid</title><rect width="24" height="24" rx="6" fill="#06B6D4"/><path d="M8.5 9.5h7a2.5 2.5 0 0 1 2.5 2.5v3.5h-12V12a2.5 2.5 0 0 1 2.5-2.5Z" fill="#fff"/><path d="M9 7.5l1-1.5M15 7.5l-1-1.5" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/><circle cx="10" cy="12.5" r="0.8" fill="#06B6D4"/><circle cx="14" cy="12.5" r="0.8" fill="#06B6D4"/></svg>',gemini:'<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="#3186FF"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-0-_R_0_)"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-1-_R_0_)"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-2-_R_0_)"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-0-_R_0_" x1="7" x2="11" y1="15.5" y2="12"><stop stop-color="#08B962"></stop><stop offset="1" stop-color="#08B962" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-1-_R_0_" x1="8" x2="11.5" y1="5.5" y2="11"><stop stop-color="#F94543"></stop><stop offset="1" stop-color="#F94543" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-2-_R_0_" x1="3.5" x2="17.5" y1="13.5" y2="12"><stop stop-color="#FABC12"></stop><stop offset=".46" stop-color="#FABC12" stop-opacity="0"></stop></linearGradient></defs></svg>',goose:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><title>Goose</title><rect width="24" height="24" rx="6" fill="#22C55E"/><path d="M7.5 13.25c0-3.452 2.25-5.75 5-5.75 1.867 0 4 1.262 4 3.25 0 1.326-.84 2.139-2 2.75l-2.75 1.5c-.69.376-1.111.88-1.25 1.5H8.75c.167-1.47.95-2.604 2.25-3.33l2.62-1.46c.77-.431 1.13-.79 1.13-1.46 0-.78-.83-1.33-1.87-1.33-1.72 0-3.13 1.41-3.13 4.33Z" fill="#fff"/></svg>',hermes:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><title>Hermes</title><rect width="24" height="24" rx="6" fill="#8B5CF6"/><path d="M8 7h2v4h4V7h2v10h-2v-4h-4v4H8z" fill="#fff"/></svg>',qwen_code:'<svg xmlns="http://www.w3.org/2000/svg" width="518.08" height="512" viewBox="0 0 256 253"><path fill="#623ae7" d="M129.263 0a6.75 6.75 0 0 1 5.88 3.374l15.256 26.424l65.258-.482a6.75 6.75 0 0 1 5.892 3.373l16.843 29.172a6.75 6.75 0 0 1-.038 6.811l-15.569 26.29a6.7 6.7 0 0 1-.887 1.182l33.195 56.28a6.75 6.75 0 0 1 .021 6.72l-16.94 29.706a6.75 6.75 0 0 1-5.86 3.405h-30.513l-32.21 56.756a6.75 6.75 0 0 1-5.868 3.417h-33.686a6.75 6.75 0 0 1-5.88-3.438l-15.022-26.7l-67.31.06a6.75 6.75 0 0 1-5.831-3.343l-17.256-29.523a6.75 6.75 0 0 1-.018-6.777l15.256-26.425L.929 100.008a6.75 6.75 0 0 1-.025-6.79l16.843-29.172a6.75 6.75 0 0 1 5.917-3.374l30.553.339a6.7 6.7 0 0 1 1.789.262L89.258 3.562a6.75 6.75 0 0 1 5.81-3.379z" stroke-width="6.5" stroke="#623ae7" /><path fill="#fff" d="m180.679 97.445l36.108.025l33.198 58.74h-34.51l-17.266-30.239l-68.54 119.948l-17.218-29.263zM57.85 66.893l69.028 118.902l-17.872 30.86l-67.905-.622l17.255-29.887l34.82.166L23.567 66.981zm37.24-60.8l17.256 29.887l-17.554 30.07l138.147-.616l-17.064 29.733l-137.896.33L59.917 66.05z" stroke-width="6.5" stroke="#fff" /></svg>',kimi_code:'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M503 114.333v280c0 60.711-49.29 110-110 110H113c-60.711 0-110-49.289-110-110v-280c0-60.71 49.289-110 110-110h280c60.71 0 110 49.29 110 110z"/><path d="M342.065 189.759c1.886-2.42 3.541-4.63 5.289-6.77.81-1.007.74-1.771-.046-2.824-7.58-9.965-8.298-21.028-3.935-32.254 3.275-8.448 10.52-12.406 19.373-13.25 5.52-.521 10.936.046 15.959 2.73 6.596 3.53 10.438 8.912 11.688 16.341.995 5.926.81 11.712-.868 17.452-2.974 10.161-10.277 15.427-20.287 16.758-8.31 1.11-16.734 1.25-25.113 1.817-.648.046-1.308 0-2.06 0z" fill="#027aff"/><path d="M321.512 144.254h-50.064l-39.637 90.384h-56.036v-89.99H131v232.868h44.787v-98.103h78.973c13.598 0 26.015-7.927 31.744-20.252v118.355h44.787v-98.103c0-23.342-18.239-42.97-41.523-44.671v-.116h-24.593a45.577 45.577 0 0026.884-24.534l29.453-65.838z" fill="#fff"/></svg>',kilo:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><title>Kilo</title><rect width="24" height="24" rx="6" fill="#F97316"/><path d="M8 7h2v4.15L13.75 7H16l-4.2 4.65L16.25 17h-2.5L10 12.45V17H8z" fill="#fff"/></svg>',openclaw:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><title>OpenClaw</title><rect width="24" height="24" rx="6" fill="#EC4899"/><path d="M8.75 8.5c0-1.1.9-2 2-2 .93 0 1.72.64 1.94 1.5h.62a2 2 0 1 1 1.94 2.5H14.5V17h-2v-6H11a2.25 2.25 0 0 1-2.25-2.25V8.5Z" fill="#fff"/></svg>',amp:'<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Amp</title><path d="M15.087 23.18L12.03 24l-2.097-7.823-5.738 5.738-2.251-2.251 5.718-5.719-7.769-2.082.82-3.057 11.294 3.08 3.08 11.295z" fill="#F34E3F"></path><path d="M19.505 18.762l-3.057.82-2.564-9.573-9.572-2.564.819-3.057 11.295 3.079 3.08 11.295z" fill="#F34E3F"></path><path d="M23.893 14.374l-3.057.82-2.565-9.572L8.7 3.057 9.52 0l11.295 3.08 3.079 11.294z" fill="#F34E3F"></path></svg>',pi:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><title>Pi</title><rect width="24" height="24" rx="6" fill="#A855F7"/><path d="M8.5 7h7v2h-2v8h-2V9h-3z" fill="#fff"/></svg>'},p=t({name:"IconAi",props:{name:{type:String,required:!0}},setup(e){const l=n(()=>c[e.name]||"");return()=>i("span",{class:"size-5",innerHTML:l.value})}}),u=t({__name:"Skeleton",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const l=e;return(d,h)=>(r(),o("div",{"data-slot":"skeleton",class:a(s(f)("animate-pulse rounded-md bg-primary/10",l.class))},null,2))}});export{p as _,u as a};
@@ -1,15 +1,19 @@
1
1
  import { e as escapeHtml_1 } from './shared.cjs.prod.mjs';
2
2
  import '../nitro/nitro.mjs';
3
- import 'node:os';
4
- import 'node:path';
5
- import 'node:fs';
6
- import 'node:fs/promises';
7
3
  import 'node:http';
8
4
  import 'node:https';
9
5
  import 'node:events';
10
6
  import 'node:buffer';
7
+ import 'node:fs';
8
+ import 'node:path';
11
9
  import 'node:crypto';
10
+ import 'node:sqlite';
12
11
  import 'node:url';
12
+ import 'fs';
13
+ import 'node:fs/promises';
14
+ import 'node:stream';
15
+ import 'node:string_decoder';
16
+ import 'node:os';
13
17
  import 'node:util';
14
18
  import 'node:process';
15
19
  import 'node:tty';
@@ -1,4 +1,4 @@
1
- import { X as commonjsGlobal } from '../nitro/nitro.mjs';
1
+ import { s as commonjsGlobal } from '../nitro/nitro.mjs';
2
2
 
3
3
  var shared_cjs_prod = {};
4
4
 
@@ -1,3 +1,3 @@
1
- const client_precomputed = ((h,j,k,m,o,q,u,x)=>({dependencies:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":{scripts:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h={resourceType:"script",module:true,prefetch:true,preload:true,file:"Dn8cXZx3.js",name:"entry",src:"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js",isEntry:true,dynamicImports:["layouts/default.vue","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue"],css:["entry.r-q4oQC0.css"]}},styles:{"entry.r-q4oQC0.css":j={file:"entry.r-q4oQC0.css",resourceType:"style",prefetch:true,preload:true}},preload:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue":{scripts:{},styles:{"error-404.B0EXnOcv.css":k={file:"error-404.B0EXnOcv.css",resourceType:"style",prefetch:true,preload:true},"entry.r-q4oQC0.css":j},preload:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"B6G-s9D-.js",name:"error-404",src:"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:true,imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"],css:["error-404.B0EXnOcv.css"]},"error-404.B0EXnOcv.css":k,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"error-404.B0EXnOcv.css":k,"entry.r-q4oQC0.css":j}},"error-404.B0EXnOcv.css":{scripts:{},styles:{},preload:{"error-404.B0EXnOcv.css":k},prefetch:{}},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue":{scripts:{},styles:{"error-500.CnSNZoEG.css":m={file:"error-500.CnSNZoEG.css",resourceType:"style",prefetch:true,preload:true},"entry.r-q4oQC0.css":j},preload:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"BeEwECnn.js",name:"error-500",src:"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:true,imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"],css:["error-500.CnSNZoEG.css"]},"error-500.CnSNZoEG.css":m,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"error-500.CnSNZoEG.css":m,"entry.r-q4oQC0.css":j}},"error-500.CnSNZoEG.css":{scripts:{},styles:{},preload:{"error-500.CnSNZoEG.css":m},prefetch:{}},"entry.r-q4oQC0.css":{scripts:{},styles:{},preload:{"entry.r-q4oQC0.css":j},prefetch:{}},"_BeygfM9p.js":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"_BeygfM9p.js":o={resourceType:"script",module:true,prefetch:true,preload:true,file:"BeygfM9p.js",name:"Skeleton.vue",imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"_chy2QJx0.js":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"_chy2QJx0.js":q={resourceType:"script",module:true,prefetch:true,preload:true,file:"chy2QJx0.js",name:"Page",imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"_Bu4SpN_a.js":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"_Bu4SpN_a.js":u={resourceType:"script",module:true,prefetch:true,preload:true,file:"Bu4SpN_a.js",name:"TokenUsageTabsPanel",imports:["_chy2QJx0.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"_chy2QJx0.js":q,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"_C6ydMk2z.js":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"_C6ydMk2z.js":x={resourceType:"script",module:true,prefetch:true,preload:true,file:"C6ydMk2z.js",name:"UsageHeatmapPanel",imports:["_chy2QJx0.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"_chy2QJx0.js":q,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"layouts/default.vue":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"layouts/default.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"15CW3D68.js",name:"default",src:"layouts/default.vue",isDynamicEntry:true,imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js","_BeygfM9p.js"]},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j,"_BeygfM9p.js":o},prefetch:{"entry.r-q4oQC0.css":j}},"pages/[product].vue":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"pages/[product].vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"KLhV325n.js",name:"_product_",src:"pages/[product].vue",isDynamicEntry:true,imports:["_chy2QJx0.js","_C6ydMk2z.js","_Bu4SpN_a.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"_chy2QJx0.js":q,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j,"_C6ydMk2z.js":x,"_Bu4SpN_a.js":u},prefetch:{"entry.r-q4oQC0.css":j}},"pages/index.vue":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"pages/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"DysUC14A.js",name:"index",src:"pages/index.vue",isDynamicEntry:true,imports:["_chy2QJx0.js","_C6ydMk2z.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"_chy2QJx0.js":q,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j,"_C6ydMk2z.js":x},prefetch:{"entry.r-q4oQC0.css":j}},"pages/project.vue":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"pages/project.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"pmnAmEjb.js",name:"project",src:"pages/project.vue",isDynamicEntry:true,imports:["_chy2QJx0.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js","_Bu4SpN_a.js","_BeygfM9p.js"]},"_chy2QJx0.js":q,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j,"_Bu4SpN_a.js":u,"_BeygfM9p.js":o},prefetch:{"entry.r-q4oQC0.css":j}}},entrypoints:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"],modules:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue":{file:"B6G-s9D-.js",resourceType:"script",mimeType:void 0,module:true},"error-404.B0EXnOcv.css":{file:"error-404.B0EXnOcv.css",resourceType:"style",mimeType:void 0,module:void 0},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue":{file:"BeEwECnn.js",resourceType:"script",mimeType:void 0,module:true},"error-500.CnSNZoEG.css":{file:"error-500.CnSNZoEG.css",resourceType:"style",mimeType:void 0,module:void 0},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":{file:"Dn8cXZx3.js",resourceType:"script",mimeType:void 0,module:true},"entry.r-q4oQC0.css":{file:"entry.r-q4oQC0.css",resourceType:"style",mimeType:void 0,module:void 0},"_BeygfM9p.js":{file:"BeygfM9p.js",resourceType:"script",mimeType:void 0,module:true},"_Bu4SpN_a.js":{file:"Bu4SpN_a.js",resourceType:"script",mimeType:void 0,module:true},"_C6ydMk2z.js":{file:"C6ydMk2z.js",resourceType:"script",mimeType:void 0,module:true},"_chy2QJx0.js":{file:"chy2QJx0.js",resourceType:"script",mimeType:void 0,module:true},"layouts/default.vue":{file:"15CW3D68.js",resourceType:"script",mimeType:void 0,module:true},"pages/[product].vue":{file:"KLhV325n.js",resourceType:"script",mimeType:void 0,module:true},"pages/index.vue":{file:"DysUC14A.js",resourceType:"script",mimeType:void 0,module:true},"pages/project.vue":{file:"pmnAmEjb.js",resourceType:"script",mimeType:void 0,module:true}}}))();
1
+ const client_precomputed = ((h,j,k,m,o,q,u,x)=>({dependencies:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":{scripts:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h={resourceType:"script",module:true,prefetch:true,preload:true,file:"Dkya5WaL.js",name:"entry",src:"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js",isEntry:true,dynamicImports:["layouts/default.vue","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue"],css:["entry.r-q4oQC0.css"]}},styles:{"entry.r-q4oQC0.css":j={file:"entry.r-q4oQC0.css",resourceType:"style",prefetch:true,preload:true}},preload:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue":{scripts:{},styles:{"error-404.B0EXnOcv.css":k={file:"error-404.B0EXnOcv.css",resourceType:"style",prefetch:true,preload:true},"entry.r-q4oQC0.css":j},preload:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"CMNdiQCa.js",name:"error-404",src:"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:true,imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"],css:["error-404.B0EXnOcv.css"]},"error-404.B0EXnOcv.css":k,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"error-404.B0EXnOcv.css":k,"entry.r-q4oQC0.css":j}},"error-404.B0EXnOcv.css":{scripts:{},styles:{},preload:{"error-404.B0EXnOcv.css":k},prefetch:{}},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue":{scripts:{},styles:{"error-500.CnSNZoEG.css":m={file:"error-500.CnSNZoEG.css",resourceType:"style",prefetch:true,preload:true},"entry.r-q4oQC0.css":j},preload:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"Be3rizqy.js",name:"error-500",src:"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:true,imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"],css:["error-500.CnSNZoEG.css"]},"error-500.CnSNZoEG.css":m,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"error-500.CnSNZoEG.css":m,"entry.r-q4oQC0.css":j}},"error-500.CnSNZoEG.css":{scripts:{},styles:{},preload:{"error-500.CnSNZoEG.css":m},prefetch:{}},"entry.r-q4oQC0.css":{scripts:{},styles:{},preload:{"entry.r-q4oQC0.css":j},prefetch:{}},"_7Dy4NLP8.js":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"_7Dy4NLP8.js":o={resourceType:"script",module:true,prefetch:true,preload:true,file:"7Dy4NLP8.js",name:"Page",imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"_HN9OZyaQ.js":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"_HN9OZyaQ.js":q={resourceType:"script",module:true,prefetch:true,preload:true,file:"HN9OZyaQ.js",name:"usePayloadDashboard",imports:["_7Dy4NLP8.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"_7Dy4NLP8.js":o,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"_JtK-nXxy.js":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"_JtK-nXxy.js":u={resourceType:"script",module:true,prefetch:true,preload:true,file:"JtK-nXxy.js",name:"TokenUsageTabsPanel",imports:["_7Dy4NLP8.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"_7Dy4NLP8.js":o,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"_y3weNNd-.js":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"_y3weNNd-.js":x={resourceType:"script",module:true,prefetch:true,preload:true,file:"y3weNNd-.js",name:"Skeleton.vue",imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j},prefetch:{"entry.r-q4oQC0.css":j}},"layouts/default.vue":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"layouts/default.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"C0azgqnZ.js",name:"default",src:"layouts/default.vue",isDynamicEntry:true,imports:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js","_y3weNNd-.js"]},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j,"_y3weNNd-.js":x},prefetch:{"entry.r-q4oQC0.css":j}},"pages/[product].vue":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"pages/[product].vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"CPuXQJE_.js",name:"_product_",src:"pages/[product].vue",isDynamicEntry:true,imports:["_7Dy4NLP8.js","_HN9OZyaQ.js","_JtK-nXxy.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"_7Dy4NLP8.js":o,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j,"_HN9OZyaQ.js":q,"_JtK-nXxy.js":u},prefetch:{"entry.r-q4oQC0.css":j}},"pages/index.vue":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"pages/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"DenksPSi.js",name:"index",src:"pages/index.vue",isDynamicEntry:true,imports:["_7Dy4NLP8.js","_HN9OZyaQ.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"]},"_7Dy4NLP8.js":o,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j,"_HN9OZyaQ.js":q},prefetch:{"entry.r-q4oQC0.css":j}},"pages/project.vue":{scripts:{},styles:{"entry.r-q4oQC0.css":j},preload:{"pages/project.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"B-VlGWDb.js",name:"project",src:"pages/project.vue",isDynamicEntry:true,imports:["_7Dy4NLP8.js","../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js","_JtK-nXxy.js","_y3weNNd-.js"]},"_7Dy4NLP8.js":o,"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":h,"entry.r-q4oQC0.css":j,"_JtK-nXxy.js":u,"_y3weNNd-.js":x},prefetch:{"entry.r-q4oQC0.css":j}}},entrypoints:["../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js"],modules:{"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-404.vue":{file:"CMNdiQCa.js",resourceType:"script",mimeType:void 0,module:true},"error-404.B0EXnOcv.css":{file:"error-404.B0EXnOcv.css",resourceType:"style",mimeType:void 0,module:void 0},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/components/error-500.vue":{file:"Be3rizqy.js",resourceType:"script",mimeType:void 0,module:true},"error-500.CnSNZoEG.css":{file:"error-500.CnSNZoEG.css",resourceType:"style",mimeType:void 0,module:void 0},"../node_modules/.pnpm/nuxt@4.4.2_@babel+core@7.29.0_@babel+plugin-syntax-jsx@7.28.6_@babel+core@7.29.0__@emna_8a7a22b02193a79666d46692c90ea931/node_modules/nuxt/dist/app/entry.js":{file:"Dkya5WaL.js",resourceType:"script",mimeType:void 0,module:true},"entry.r-q4oQC0.css":{file:"entry.r-q4oQC0.css",resourceType:"style",mimeType:void 0,module:void 0},"_7Dy4NLP8.js":{file:"7Dy4NLP8.js",resourceType:"script",mimeType:void 0,module:true},"_HN9OZyaQ.js":{file:"HN9OZyaQ.js",resourceType:"script",mimeType:void 0,module:true},"_JtK-nXxy.js":{file:"JtK-nXxy.js",resourceType:"script",mimeType:void 0,module:true},"_y3weNNd-.js":{file:"y3weNNd-.js",resourceType:"script",mimeType:void 0,module:true},"layouts/default.vue":{file:"C0azgqnZ.js",resourceType:"script",mimeType:void 0,module:true},"pages/[product].vue":{file:"CPuXQJE_.js",resourceType:"script",mimeType:void 0,module:true},"pages/index.vue":{file:"DenksPSi.js",resourceType:"script",mimeType:void 0,module:true},"pages/project.vue":{file:"B-VlGWDb.js",resourceType:"script",mimeType:void 0,module:true}}}))();
2
2
 
3
3
  export { client_precomputed as default };