@agent-spaces/server 0.3.6 → 0.3.62

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 (165) hide show
  1. package/dist/adapters/claude-code-runtime/index.js +19 -0
  2. package/dist/adapters/claude-code-runtime/sdk-config.js +34 -10
  3. package/dist/adapters/git.js +29 -13
  4. package/dist/agents/agent-message-parts.js +27 -3
  5. package/dist/package.json +1 -1
  6. package/dist/routes/channel.js +21 -4
  7. package/dist/routes/file.js +87 -1
  8. package/dist/routes/skill.js +26 -3
  9. package/dist/services/agent.js +45 -16
  10. package/dist/services/persistent-agent-context.js +37 -4
  11. package/dist/services/skill.js +163 -41
  12. package/dist/web/404.html +1 -1
  13. package/dist/web/__next.__PAGE__.txt +4 -4
  14. package/dist/web/__next._full.txt +23 -22
  15. package/dist/web/__next._head.txt +4 -4
  16. package/dist/web/__next._index.txt +13 -13
  17. package/dist/web/__next._tree.txt +2 -2
  18. package/dist/web/_next/static/chunks/{0_-c.y2qq4ax4.js → 0-81wi7xr2nd-.js} +56 -56
  19. package/dist/web/_next/static/chunks/00lca9lsasdm7.js +1 -0
  20. package/dist/web/_next/static/chunks/{0sz8_nijfiz0p.js → 02shswpmybici.js} +1 -1
  21. package/dist/web/_next/static/chunks/05f8cnmzqd5wb.js +1 -0
  22. package/dist/web/_next/static/chunks/05tx6hzdtkgi9.js +2 -0
  23. package/dist/web/_next/static/chunks/{0w1iudd1d46sw.js → 07a0rktf_nr5h.js} +1 -1
  24. package/dist/web/_next/static/chunks/{0_g3irbniww6d.js → 07nbyndvzftr1.js} +1 -1
  25. package/dist/web/_next/static/chunks/08kfx8on9oty~.js +1 -0
  26. package/dist/web/_next/static/chunks/{13ess~4pdmxma.js → 0bn~onkv~9xza.js} +1 -1
  27. package/dist/web/_next/static/chunks/0i51q.5s_-.vh.css +1 -0
  28. package/dist/web/_next/static/chunks/0k.8qdk7oi_os.js +1 -0
  29. package/dist/web/_next/static/chunks/0qf163pbrwy4z.js +1 -0
  30. package/dist/web/_next/static/chunks/{05iy4.c-1cfhd.js → 0rke_patcovgr.js} +1 -1
  31. package/dist/web/_next/static/chunks/0rnt-f3pjxb-d.js +5 -0
  32. package/dist/web/_next/static/chunks/0tgbcgsca9mrg.js +1 -0
  33. package/dist/web/_next/static/chunks/0tyhv6.y7~yxd.js +1 -0
  34. package/dist/web/_next/static/chunks/0vuvql8rloda5.js +1 -0
  35. package/dist/web/_next/static/chunks/0xmmk3vebw8xs.js +1 -0
  36. package/dist/web/_next/static/chunks/0yo22_w53mo~5.js +1 -0
  37. package/dist/web/_next/static/chunks/12c0jp0qvlr1t.js +1 -0
  38. package/dist/web/_next/static/chunks/12pg1nn3v~~5k.js +1 -0
  39. package/dist/web/_next/static/chunks/16cyr8ilpx1nn.js +1 -0
  40. package/dist/web/_not-found/__next._full.txt +19 -19
  41. package/dist/web/_not-found/__next._head.txt +4 -4
  42. package/dist/web/_not-found/__next._index.txt +13 -13
  43. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +2 -2
  44. package/dist/web/_not-found/__next._not-found.txt +3 -3
  45. package/dist/web/_not-found/__next._tree.txt +2 -2
  46. package/dist/web/_not-found.html +1 -1
  47. package/dist/web/_not-found.txt +19 -19
  48. package/dist/web/icons/file_type_audio.svg +3 -1
  49. package/dist/web/icons/file_type_video.svg +10 -1
  50. package/dist/web/index.html +1 -1
  51. package/dist/web/index.txt +23 -22
  52. package/dist/web/login/__next._full.txt +24 -22
  53. package/dist/web/login/__next._head.txt +4 -4
  54. package/dist/web/login/__next._index.txt +13 -13
  55. package/dist/web/login/__next._tree.txt +2 -2
  56. package/dist/web/login/__next.login.__PAGE__.txt +4 -4
  57. package/dist/web/login/__next.login.txt +3 -3
  58. package/dist/web/login.html +1 -1
  59. package/dist/web/login.txt +24 -22
  60. package/dist/web/settings/__next._full.txt +30 -29
  61. package/dist/web/settings/__next._head.txt +4 -4
  62. package/dist/web/settings/__next._index.txt +13 -13
  63. package/dist/web/settings/__next._tree.txt +2 -2
  64. package/dist/web/settings/__next.settings.__PAGE__.txt +4 -4
  65. package/dist/web/settings/__next.settings.txt +5 -5
  66. package/dist/web/settings/agents/__next._full.txt +35 -34
  67. package/dist/web/settings/agents/__next._head.txt +4 -4
  68. package/dist/web/settings/agents/__next._index.txt +13 -13
  69. package/dist/web/settings/agents/__next._tree.txt +2 -2
  70. package/dist/web/settings/agents/__next.settings.agents.__PAGE__.txt +4 -4
  71. package/dist/web/settings/agents/__next.settings.agents.txt +3 -3
  72. package/dist/web/settings/agents/__next.settings.txt +5 -5
  73. package/dist/web/settings/agents.html +1 -1
  74. package/dist/web/settings/agents.txt +35 -34
  75. package/dist/web/settings/mcps/__next._full.txt +35 -34
  76. package/dist/web/settings/mcps/__next._head.txt +4 -4
  77. package/dist/web/settings/mcps/__next._index.txt +13 -13
  78. package/dist/web/settings/mcps/__next._tree.txt +2 -2
  79. package/dist/web/settings/mcps/__next.settings.mcps.__PAGE__.txt +4 -4
  80. package/dist/web/settings/mcps/__next.settings.mcps.txt +3 -3
  81. package/dist/web/settings/mcps/__next.settings.txt +5 -5
  82. package/dist/web/settings/mcps.html +1 -1
  83. package/dist/web/settings/mcps.txt +35 -34
  84. package/dist/web/settings/models/__next._full.txt +35 -34
  85. package/dist/web/settings/models/__next._head.txt +4 -4
  86. package/dist/web/settings/models/__next._index.txt +13 -13
  87. package/dist/web/settings/models/__next._tree.txt +2 -2
  88. package/dist/web/settings/models/__next.settings.models.__PAGE__.txt +4 -4
  89. package/dist/web/settings/models/__next.settings.models.txt +3 -3
  90. package/dist/web/settings/models/__next.settings.txt +5 -5
  91. package/dist/web/settings/models.html +1 -1
  92. package/dist/web/settings/models.txt +35 -34
  93. package/dist/web/settings/prompts/__next._full.txt +35 -34
  94. package/dist/web/settings/prompts/__next._head.txt +4 -4
  95. package/dist/web/settings/prompts/__next._index.txt +13 -13
  96. package/dist/web/settings/prompts/__next._tree.txt +2 -2
  97. package/dist/web/settings/prompts/__next.settings.prompts.__PAGE__.txt +4 -4
  98. package/dist/web/settings/prompts/__next.settings.prompts.txt +3 -3
  99. package/dist/web/settings/prompts/__next.settings.txt +5 -5
  100. package/dist/web/settings/prompts.html +1 -1
  101. package/dist/web/settings/prompts.txt +35 -34
  102. package/dist/web/settings/providers/__next._full.txt +35 -34
  103. package/dist/web/settings/providers/__next._head.txt +4 -4
  104. package/dist/web/settings/providers/__next._index.txt +13 -13
  105. package/dist/web/settings/providers/__next._tree.txt +2 -2
  106. package/dist/web/settings/providers/__next.settings.providers.__PAGE__.txt +4 -4
  107. package/dist/web/settings/providers/__next.settings.providers.txt +3 -3
  108. package/dist/web/settings/providers/__next.settings.txt +5 -5
  109. package/dist/web/settings/providers.html +1 -1
  110. package/dist/web/settings/providers.txt +35 -34
  111. package/dist/web/settings/skills/__next._full.txt +35 -34
  112. package/dist/web/settings/skills/__next._head.txt +4 -4
  113. package/dist/web/settings/skills/__next._index.txt +13 -13
  114. package/dist/web/settings/skills/__next._tree.txt +2 -2
  115. package/dist/web/settings/skills/__next.settings.skills.__PAGE__.txt +4 -4
  116. package/dist/web/settings/skills/__next.settings.skills.txt +3 -3
  117. package/dist/web/settings/skills/__next.settings.txt +5 -5
  118. package/dist/web/settings/skills.html +1 -1
  119. package/dist/web/settings/skills.txt +35 -34
  120. package/dist/web/settings.html +1 -1
  121. package/dist/web/settings.txt +30 -29
  122. package/dist/web/workflows/__next._full.txt +31 -30
  123. package/dist/web/workflows/__next._head.txt +4 -4
  124. package/dist/web/workflows/__next._index.txt +13 -13
  125. package/dist/web/workflows/__next._tree.txt +2 -2
  126. package/dist/web/workflows/__next.workflows.__PAGE__.txt +4 -4
  127. package/dist/web/workflows/__next.workflows.txt +3 -3
  128. package/dist/web/workflows.html +1 -1
  129. package/dist/web/workflows.txt +31 -30
  130. package/dist/web/workspace/_/__next._full.txt +56 -55
  131. package/dist/web/workspace/_/__next._head.txt +4 -4
  132. package/dist/web/workspace/_/__next._index.txt +13 -13
  133. package/dist/web/workspace/_/__next._tree.txt +2 -2
  134. package/dist/web/workspace/_/__next.workspace.$d$id.__PAGE__.txt +3 -3
  135. package/dist/web/workspace/_/__next.workspace.$d$id.txt +3 -3
  136. package/dist/web/workspace/_/__next.workspace.txt +3 -3
  137. package/dist/web/workspace/_.html +1 -1
  138. package/dist/web/workspace/_.txt +56 -55
  139. package/dist/web/workspaces/__next._full.txt +30 -27
  140. package/dist/web/workspaces/__next._head.txt +4 -4
  141. package/dist/web/workspaces/__next._index.txt +13 -13
  142. package/dist/web/workspaces/__next._tree.txt +2 -2
  143. package/dist/web/workspaces/__next.workspaces.__PAGE__.txt +4 -4
  144. package/dist/web/workspaces/__next.workspaces.txt +3 -3
  145. package/dist/web/workspaces.html +1 -1
  146. package/dist/web/workspaces.txt +30 -27
  147. package/dist/ws/agent-runner.js +51 -31
  148. package/dist/ws/message-parts.js +61 -2
  149. package/package.json +10 -11
  150. package/dist/web/_next/static/chunks/0-1pn22sg~67u.js +0 -2
  151. package/dist/web/_next/static/chunks/03me5_ir..2ix.js +0 -1
  152. package/dist/web/_next/static/chunks/05eu2fdixf7c9.js +0 -1
  153. package/dist/web/_next/static/chunks/0cs830n97dgjy.js +0 -1
  154. package/dist/web/_next/static/chunks/0ju52ko_nh7gi.js +0 -1
  155. package/dist/web/_next/static/chunks/0mny8i81aenx3.js +0 -1
  156. package/dist/web/_next/static/chunks/0nsu~f3voe~0i.js +0 -5
  157. package/dist/web/_next/static/chunks/0w3o.7vi.dlm6.js +0 -1
  158. package/dist/web/_next/static/chunks/0x4b-a2ixww6m.js +0 -1
  159. package/dist/web/_next/static/chunks/0~w6ugk9s5p-h.css +0 -1
  160. package/dist/web/_next/static/chunks/125nunjfj2fj0.js +0 -1
  161. package/dist/web/_next/static/chunks/1285yqy_oirb-.js +0 -1
  162. package/dist/web/_next/static/chunks/14n8i2xz4_y-e.js +0 -1
  163. /package/dist/web/_next/static/{HUlYEknPhyW7dRmJ5mFdG → GS3b40oeaeLxm7i9-ibaj}/_buildManifest.js +0 -0
  164. /package/dist/web/_next/static/{HUlYEknPhyW7dRmJ5mFdG → GS3b40oeaeLxm7i9-ibaj}/_clientMiddlewareManifest.js +0 -0
  165. /package/dist/web/_next/static/{HUlYEknPhyW7dRmJ5mFdG → GS3b40oeaeLxm7i9-ibaj}/_ssgManifest.js +0 -0
@@ -5,4 +5,4 @@
5
5
  ${n} [data-chart=${e}] {
6
6
  ${r.map(([e,r])=>{let n=r.theme?.[t]??r.color;return n?` --color-${e}: ${n};`:null}).join("\n")}
7
7
  }
8
- `).join("\n")}}):null},wq=function(e){var t,r,n,i,o,a,l,s,u,c,d=tP(e,wC),{active:f,allowEscapeViewBox:p,animationDuration:h,animationEasing:g,content:m,filterNull:v,isAnimationActive:y,offset:b,payloadUniqBy:x,position:w,reverseDirection:O,useTranslate3d:S,wrapperStyle:j,cursor:M,shared:C,trigger:P,defaultIndex:_,portal:k,axisId:E}=d,D=tX(),N="number"==typeof _?String(_):_;(0,q.useEffect)(()=>{D(hn({shared:C,trigger:P,axisId:E,active:f,defaultIndex:N}))},[D,C,P,E,f,N]);var A=i7(),T=v8(),I=t1(e=>hv(e,C)),{activeIndex:R,isActive:F}=null!=(u=t1(e=>mA(e,I,P,N)))?u:{},z=t1(e=>mN(e,I,P,N)),L=t1(e=>mD(e,I,P,N)),B=t1(e=>mE(e,I,P,N)),W=(0,q.useContext)(yv),V=null!=(c=null!=f?f:F)&&c,[H,U]=ws([z,V]),$="axis"===I?L:void 0;t=t1(e=>((e,t,r)=>{if(null!=t){var n=hC(e);return"axis"===t?"hover"===r?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:"hover"===r?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}})(e,I,P)),r=t1(gu),n=t1(a$),i=t1(aH),o=t1(aU),l=null==(a=t1(yp))?void 0:a.active,s=i7(),(0,q.useEffect)(()=>{if(!l&&null!=i&&null!=n){var e=hc({active:V,coordinate:B,dataKey:t,index:R,label:"number"==typeof $?String($):$,sourceViewBox:s,graphicalItemId:r});yc.emit(yd,i,e,n)}},[l,B,t,r,R,$,n,i,o,V,s]);var Y=null!=k?k:W;if(null==Y||null==A||null==I)return null;var G=null!=z?z:wM;V||(G=wM),v&&G.length&&(G=wl(G.filter(e=>null!=e.value&&(!0!==e.hide||d.includeHidden)),x,wj));var K=G.length>0,Z=wS(wS({},d),{},{payload:G,label:$,active:V,activeIndex:R,coordinate:B,accessibilityLayer:T}),X=q.createElement(wo,{allowEscapeViewBox:p,animationDuration:h,animationEasing:g,isAnimationActive:y,active:V,coordinate:B,hasPayload:K,offset:b,position:w,reverseDirection:O,useTranslate3d:S,viewBox:A,wrapperStyle:j,lastBoundingBox:H,innerRef:U,hasPortalFromProps:!!k},q.isValidElement(m)?q.cloneElement(m,Z):"function"==typeof m?q.createElement(m,Z):q.createElement(x9,Z));return q.createElement(q.Fragment,null,(0,ox.createPortal)(X,Y),V&&q.createElement(ww,{cursor:M,tooltipEventType:I,coordinate:B,payload:G,index:R}))};function wK({active:e,payload:t,className:r,indicator:n="dot",hideLabel:i=!1,hideIndicator:o=!1,label:a,labelFormatter:l,labelClassName:s,formatter:u,color:c,nameKey:d,labelKey:f}){let{config:p}=function(){let e=q.useContext(w$);if(!e)throw Error("useChart must be used within a <ChartContainer />");return e}(),h=q.useMemo(()=>{if(i||!t?.length)return null;let[e]=t,r=`${f??e?.dataKey??e?.name??"value"}`,n=wZ(p,e,r),o=f||"string"!=typeof a?n?.label:p[a]?.label??a;return l?(0,G.jsx)("div",{className:(0,xX.cn)("font-medium",s),children:l(o,t)}):o?(0,G.jsx)("div",{className:(0,xX.cn)("font-medium",s),children:o}):null},[a,l,t,i,s,p,f]);if(!e||!t?.length)return null;let g=1===t.length&&"dot"!==n;return(0,G.jsxs)("div",{className:(0,xX.cn)("grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",r),children:[g?null:h,(0,G.jsx)("div",{className:"grid gap-1.5",children:t.filter(e=>"none"!==e.type).map((e,t)=>{let r=`${d??e.name??e.dataKey??"value"}`,i=wZ(p,e,r),a=c??e.payload?.fill??e.color;return(0,G.jsx)("div",{className:(0,xX.cn)("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground","dot"===n&&"items-center"),children:u&&e?.value!==void 0&&e.name?u(e.value,e.name,e,t,e.payload):(0,G.jsxs)(G.Fragment,{children:[i?.icon?(0,G.jsx)(i.icon,{}):!o&&(0,G.jsx)("div",{className:(0,xX.cn)("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",{"h-2.5 w-2.5":"dot"===n,"w-1":"line"===n,"w-0 border-[1.5px] border-dashed bg-transparent":"dashed"===n,"my-0.5":g&&"dashed"===n}),style:{"--color-bg":a,"--color-border":a}}),(0,G.jsxs)("div",{className:(0,xX.cn)("flex flex-1 justify-between leading-none",g?"items-end":"items-center"),children:[(0,G.jsxs)("div",{className:"grid gap-1.5",children:[g?h:null,(0,G.jsx)("span",{className:"text-muted-foreground",children:i?.label??e.name})]}),null!=e.value&&(0,G.jsx)("span",{className:"font-mono font-medium text-foreground tabular-nums",children:"number"==typeof e.value?e.value.toLocaleString():String(e.value)})]})]})},t)})})]})}function wZ(e,t,r){if("object"!=typeof t||null===t)return;let n="payload"in t&&"object"==typeof t.payload&&null!==t.payload?t.payload:void 0,i=r;return r in t&&"string"==typeof t[r]?i=t[r]:n&&r in n&&"string"==typeof n[r]&&(i=n[r]),i in e?e[i]:e[r]}var wX=e.i(226651),wX=wX;function wQ({className:e,...t}){return(0,G.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,xX.cn)("mx-auto flex w-full justify-center",e),...t})}function wJ({className:e,...t}){return(0,G.jsx)("ul",{"data-slot":"pagination-content",className:(0,xX.cn)("flex items-center gap-0.5",e),...t})}function w0({...e}){return(0,G.jsx)("li",{"data-slot":"pagination-item",...e})}function w1({className:e,...t}){return(0,G.jsxs)("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:(0,xX.cn)("flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4",e),...t,children:[(0,G.jsx)(wX.default,{}),(0,G.jsx)("span",{className:"sr-only",children:"More pages"})]})}var w2=e.i(996652),w3=e.i(613087);function w6({className:e,...t}){return(0,G.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,G.jsx)("table",{"data-slot":"table",className:(0,xX.cn)("w-full caption-bottom text-sm",e),...t})})}function w5({className:e,...t}){return(0,G.jsx)("thead",{"data-slot":"table-header",className:(0,xX.cn)("[&_tr]:border-b",e),...t})}function w4({className:e,...t}){return(0,G.jsx)("tbody",{"data-slot":"table-body",className:(0,xX.cn)("[&_tr:last-child]:border-0",e),...t})}function w7({className:e,...t}){return(0,G.jsx)("tr",{"data-slot":"table-row",className:(0,xX.cn)("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...t})}function w8({className:e,...t}){return(0,G.jsx)("th",{"data-slot":"table-head",className:(0,xX.cn)("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",e),...t})}function w9({className:e,...t}){return(0,G.jsx)("td",{"data-slot":"table-cell",className:(0,xX.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}var Oe=e.i(638322),Ot=e.i(962562),Or=e.i(601039),On=e.i(953700),Oi=e.i(137340),Oo=e.i(209988),Oa=e.i(681622),Ol=e.i(817854);let Os=[{value:"zhipu",label:"智谱 (ZhiPu)",authMode:"headers"},{value:"minimax",label:"MiniMax",authMode:"cookie"},{value:"aicode",label:"AI Code",authMode:"cookie"}],Ou={zhipu:[{key:"Authorization",value:""}]},Oc=1;function Od(e){return Ou[e]?.map(e=>({...e,id:Oc++}))??[]}function Of(e){return Os.find(t=>t.value===e)?.authMode??"headers"}function Op(e){var t;return{id:e.id,provider:e.provider,label:e.label,cookie:e.cookie??"",headers:(t=e.headers)&&0!==Object.keys(t).length?Object.entries(t).map(([e,t])=>({id:Oc++,key:e,value:t})):[]}}function Oh({onChange:e,editConfig:t,onEditClear:r}){let n=(0,Z.useTranslations)("home"),[i,o]=(0,q.useState)(!1),[a,l]=(0,q.useState)([]),[s,u]=(0,q.useState)(null),c=(0,q.useCallback)(async()=>{let e=await fetch("/api/subscriptions");e.ok&&l(await e.json())},[]);(0,q.useEffect)(()=>{t&&(u(Op(t)),o(!0))},[t]),(0,q.useEffect)(()=>{i&&c()},[i,c]);let d=async()=>{if(!s)return;let t=Of(s.provider),r={provider:s.provider,label:s.label||s.provider};if("cookie"===t)r.cookie=s.cookie;else{let e;r.headers=(e=s.headers.filter(e=>e.key.trim()).map(e=>[e.key.trim(),e.value])).length>0?Object.fromEntries(e):void 0}let n=s.id?`/api/subscriptions/${s.id}`:"/api/subscriptions",i=s.id?"PUT":"POST";(await fetch(n,{method:i,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})).ok&&(u(null),await c(),e?.())},f=async t=>{await fetch(`/api/subscriptions/${t}`,{method:"DELETE"}),await c(),e?.()},p=(e,t,r)=>{s&&u({...s,headers:s.headers.map(n=>n.id===e?{...n,[t]:r}:n)})},h=s?Of(s.provider):null,g=s&&("cookie"===h?!!s.cookie.trim():s.headers.some(e=>e.key.trim()&&e.value.trim()));return(0,G.jsxs)(Oo.Dialog,{open:i,onOpenChange:e=>{o(e),e||(u(null),r?.())},children:[(0,G.jsx)(Oo.DialogTrigger,{nativeButton:!0,render:(0,G.jsxs)(y1.Button,{variant:"outline",size:"sm",className:"h-7 gap-1.5 text-xs",children:[(0,G.jsx)(On.Plus,{className:"size-3.5"}),n("subscription.addPlatform")]})}),(0,G.jsxs)(Oo.DialogContent,{className:"sm:max-w-lg",children:[(0,G.jsx)(Oo.DialogHeader,{children:(0,G.jsx)(Oo.DialogTitle,{className:"text-sm",children:n(s?.id?"subscription.editTitle":"subscription.title")})}),(0,G.jsxs)("div",{className:"space-y-3",children:[!s&&a.map(e=>(0,G.jsxs)("div",{className:"flex items-center justify-between rounded-md border px-3 py-2",children:[(0,G.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,G.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,G.jsxs)("span",{className:"text-[10px] text-muted-foreground capitalize",children:["(",e.provider,")"]})]}),(0,G.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>u(Op(e)),children:(0,G.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"size-3 text-muted-foreground",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,G.jsx)("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"}),(0,G.jsx)("path",{d:"m15 5 4 4"})]})}),(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>f(e.id),children:(0,G.jsx)(Oi.Trash2,{className:"size-3 text-muted-foreground"})})]})]},e.id)),!s&&0===a.length&&(0,G.jsx)("p",{className:"text-center text-xs text-muted-foreground py-2",children:n("subscription.empty")}),s&&h&&(0,G.jsxs)("div",{className:"space-y-3 rounded-md border p-3",children:[(0,G.jsxs)("div",{className:"space-y-1.5",children:[(0,G.jsx)(Ol.Label,{className:"text-xs",children:n("subscription.platform")}),(0,G.jsx)("div",{className:"flex gap-1.5",children:Os.map(e=>(0,G.jsx)(y1.Button,{size:"sm",variant:s.provider===e.value?"default":"secondary",className:"h-7 text-xs",onClick:()=>{var t;return t=e.value,void(s&&u({...s,provider:t,cookie:"",headers:Od(t)}))},children:e.label},e.value))})]}),(0,G.jsxs)("div",{className:"space-y-1.5",children:[(0,G.jsx)(Ol.Label,{className:"text-xs",children:n("subscription.label")}),(0,G.jsx)(Oa.Input,{className:"h-8 text-xs",value:s.label,onChange:e=>u({...s,label:e.target.value}),placeholder:n("subscription.labelPlaceholder")})]}),"cookie"===h&&(0,G.jsxs)("div",{className:"space-y-1.5",children:[(0,G.jsx)(Ol.Label,{className:"text-xs",children:"Cookie"}),(0,G.jsx)(Oa.Input,{className:"h-8 text-xs font-mono",value:s.cookie,onChange:e=>u({...s,cookie:e.target.value}),placeholder:n("subscription.cookiePlaceholder")})]}),"headers"===h&&(0,G.jsxs)("div",{className:"space-y-1.5",children:[(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)(Ol.Label,{className:"text-xs",children:n("subscription.headers")}),(0,G.jsxs)(y1.Button,{variant:"ghost",size:"sm",className:"h-5 text-[10px] gap-0.5 px-1",onClick:()=>{s&&u({...s,headers:[...s.headers,{id:Oc++,key:"",value:""}]})},children:[(0,G.jsx)(On.Plus,{className:"size-2.5"})," ",n("subscription.addHeader")]})]}),(0,G.jsxs)("div",{className:"space-y-1.5",children:[s.headers.map(e=>(0,G.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,G.jsx)(Oa.Input,{className:"h-7 flex-[2] text-xs font-mono",value:e.key,onChange:t=>p(e.id,"key",t.target.value),placeholder:"Header-Key"}),(0,G.jsx)(Oa.Input,{className:"h-7 flex-[3] text-xs font-mono",value:e.value,onChange:t=>p(e.id,"value",t.target.value),placeholder:"value"}),(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-6 shrink-0",onClick:()=>{var t;return t=e.id,void(s&&u({...s,headers:s.headers.filter(e=>e.id!==t)}))},children:(0,G.jsx)(Oi.Trash2,{className:"size-3 text-muted-foreground"})})]},e.id)),0===s.headers.length&&(0,G.jsx)("p",{className:"text-[10px] text-muted-foreground text-center py-1",children:n("subscription.noHeaders")})]})]}),(0,G.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,G.jsx)(y1.Button,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>u(null),children:n("subscription.cancel")}),(0,G.jsx)(y1.Button,{size:"sm",className:"h-7 text-xs",onClick:d,disabled:!g,children:n("subscription.save")})]})]}),!s&&(0,G.jsxs)(y1.Button,{size:"sm",variant:"outline",className:"w-full h-7 text-xs gap-1",onClick:()=>((e="zhipu")=>{u({provider:e,label:"",cookie:"",headers:Od(e)})})(),children:[(0,G.jsx)(On.Plus,{className:"size-3"}),n("subscription.add")]})]})]})]})}let Og={TIME_LIMIT:"时间额度",TOKENS_LIMIT:"Token 额度","MiniMax-M*":"MiniMax-M*","coding-plan-vlm":"Coding Plan VLM","coding-plan-search":"Coding Plan Search",balance:"余额",bonusBalance:"赠送余额"};function Om(){let e=(0,Z.useTranslations)("home"),[t,r]=(0,q.useState)([]),[n,i]=(0,q.useState)(new Map),[o,a]=(0,q.useState)(!1),[l,s]=(0,q.useState)(0),[u,c]=(0,q.useState)(null),d=(0,q.useCallback)(async()=>{let e=await fetch("/api/subscriptions");e.ok&&r(await e.json())},[]),f=(0,q.useCallback)(async e=>{a(!0);let t=new Map;await Promise.allSettled(e.map(async e=>{try{let r=await fetch(`/api/subscriptions/${e.id}/quota`);if(r.ok)t.set(e.id,{data:await r.json()});else{let n=await r.json().catch(()=>({}));t.set(e.id,{error:n.error??`${r.status} ${r.statusText}`})}}catch(r){t.set(e.id,{error:r.message??"Network error"})}})),i(t),a(!1)},[]);(0,q.useEffect)(()=>{d()},[d,l]),(0,q.useEffect)(()=>{t.length>0&&f(t)},[t,f]);let p=()=>s(e=>e+1),h=e=>(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsxs)("div",{className:"flex items-center gap-2",children:[(0,G.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,G.jsxs)("span",{className:"text-[10px] text-muted-foreground capitalize",children:["(",e.provider,")"]})]}),(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-5",onClick:()=>c(e),children:(0,G.jsx)(Ot.Pencil,{className:"size-3 text-muted-foreground"})})]});return 0===t.length?(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("subscription.planTitle")}),(0,G.jsx)(Oh,{onChange:p})]}):(0,G.jsxs)("div",{className:"space-y-3",children:[(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("subscription.planTitle")}),(0,G.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>f(t),disabled:o,children:(0,G.jsx)(Or.RefreshCw,{className:`size-3 text-muted-foreground ${o?"animate-spin":""}`})}),(0,G.jsx)(Oh,{onChange:p,editConfig:u,onEditClear:()=>c(null)})]})]}),t.map(t=>{let r=n.get(t.id);if(!r)return(0,G.jsxs)("div",{className:"rounded-md border px-3 py-2 space-y-2",children:[h(t),(0,G.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,G.jsxs)("div",{className:"rounded-md bg-muted/30 px-3 py-2 space-y-1",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-12"}),(0,G.jsx)(w3.Skeleton,{className:"h-5 w-16"})]}),(0,G.jsxs)("div",{className:"rounded-md bg-muted/30 px-3 py-2 space-y-1",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-12"}),(0,G.jsx)(w3.Skeleton,{className:"h-5 w-16"})]})]})]},t.id);if("error"in r)return(0,G.jsxs)("div",{className:"rounded-md border border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950/30 px-3 py-2",children:[h(t),(0,G.jsx)("p",{className:"mt-1 text-[11px] text-red-600 dark:text-red-400",children:r.error})]},t.id);let i=r.data,o=i.limits.some(e=>"balance"===e.type||"bonusBalance"===e.type);return(0,G.jsxs)("div",{className:"space-y-2 rounded-md border px-3 py-2.5",children:[h(t),o?(0,G.jsx)("div",{className:"grid grid-cols-2 gap-2",children:i.limits.map((e,t)=>(0,G.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2",children:[(0,G.jsx)("div",{className:"text-[10px] text-muted-foreground",children:Og[e.type]||e.type}),(0,G.jsx)("div",{className:"mt-0.5 font-semibold text-sm tabular-nums",children:e.currentValue?.toFixed(2)??"—"})]},t))}):i.limits.map((t,r)=>{let n=function(e){if("TIME_LIMIT"===e.type){if(void 0!==e.currentValue&&void 0!==e.usage)return`${e.currentValue} / ${e.usage}`;if(void 0!==e.percentage)return`${e.percentage}%`}if(void 0!==e.remaining&&void 0!==e.usage){let t=e.remaining+e.usage;return`${e.remaining} / ${t}`}return null}(t),i=t.percentage;return(0,G.jsxs)("div",{className:"space-y-1",children:[(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)("span",{className:"text-[11px] text-muted-foreground",children:Og[t.type]||t.type}),n&&(0,G.jsx)("span",{className:"font-mono text-[11px] tabular-nums",children:n})]}),void 0!==i&&(0,G.jsx)("div",{className:"h-1 overflow-hidden rounded-full bg-muted",children:(0,G.jsx)("div",{className:"h-full rounded-full bg-primary transition-all",style:{width:`${Math.min(100,i)}%`}})}),t.usageDetails&&t.usageDetails.length>0&&(0,G.jsx)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5 pl-2",children:t.usageDetails.map(e=>(0,G.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[e.modelCode,": ",e.usage]},e.modelCode))}),t.nextResetTime&&(0,G.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[e("subscription.resetAt")," ",new Date(t.nextResetTime).toLocaleString()]})]},r)})]},t.id)})]})}let Ov=[[/claude/i,"anthropic"],[/gpt|o1-|o3-|o4-|chatgpt/i,"openai"],[/gemini/i,"gemini"],[/deepseek/i,"deepseek"],[/qwen/i,"alibaba"],[/glm|chatglm/i,"zhipu"],[/moonshot|kimi/i,"kimi"],[/doubao/i,"doubao"],[/llama/i,"meta"],[/mistral/i,"mistral"],[/codestral/i,"mistral"]];function Oy(e){if(!e)return"";for(let[t,r]of Ov)if(t.test(e))return(0,yJ.resolveServerAssetUrl)(`/static/provider-icons/${r}.svg`);return""}let Ob=[{key:"today",days:1},{key:"7d",days:7},{key:"30d",days:30},{key:"1y",days:365}];function Ox(){let e=(0,Z.useTranslations)("home"),[t,r]=(0,q.useState)("30d"),[n,i]=(0,q.useState)(),[o,a]=(0,q.useState)(null),l=(0,q.useCallback)(t=>{let r=Date.now()-new Date(t).getTime();if(!Number.isFinite(r)||r<0)return e("time.justNow");let n=Math.floor(r/6e4);if(n<1)return e("time.justNow");if(n<60)return e("time.minutesAgo",{n:n});let i=Math.floor(n/60);return i<24?e("time.hoursAgo",{n:i}):e("time.daysAgo",{n:Math.floor(i/24)})},[e]),s=[{accessorKey:"role",header:e("table.agent"),cell:({row:e})=>{let{role:t,runtime:r}=e.original;return(0,G.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,G.jsx)("span",{className:"font-medium text-xs capitalize",children:t}),r&&(0,G.jsx)("span",{className:"text-muted-foreground text-[10px]",children:r})]})}},{accessorKey:"model",header:e("table.model"),cell:({row:t})=>{let r=t.original.model,n=Oy(r);return(0,G.jsxs)("div",{className:"flex items-center gap-2",children:[n?(0,G.jsx)("img",{src:n,alt:"",className:"size-4 shrink-0 rounded-sm"}):(0,G.jsx)("span",{className:(0,xX.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm text-[9px] font-semibold",(0,xX.textColorClass)(r??"?")),children:r?.charAt(0).toUpperCase()??"?"}),(0,G.jsx)("span",{className:"truncate text-xs max-w-40",children:r||e("table.modelUnknown")})]})}},{accessorKey:"summary",header:e("table.summary"),cell:({row:e})=>(0,G.jsx)("span",{className:"line-clamp-2 text-xs text-muted-foreground max-w-64",children:e.original.summary||"—"})},{accessorKey:"totalCostUsd",header:e("table.cost"),cell:({row:t})=>{let{inputCostUsd:r,outputCostUsd:n,totalCostUsd:i}=t.original;return(0,G.jsxs)("div",{className:"flex flex-col gap-0.5 font-mono text-xs tabular-nums",children:[(0,G.jsx)("span",{children:Ok(i)}),(0,G.jsxs)(Oe.Tooltip,{children:[(0,G.jsxs)(Oe.TooltipTrigger,{render:(0,G.jsx)("span",{className:"text-muted-foreground text-[10px] cursor-default"}),children:[O_(t.original.inputTokens)," ",e("table.tokensIn")," / ",O_(t.original.outputTokens)," ",e("table.tokensOut")]}),(0,G.jsxs)(Oe.TooltipContent,{side:"bottom",className:"text-xs",children:[e("table.total")," ",O_(t.original.totalTokens)," · ",e("table.cacheHit")," ",t.original.inputTokens>0?Math.round(t.original.cachedInputTokens/t.original.inputTokens*100):0,"%"]})]})]})}},{accessorKey:"status",header:e("table.status"),cell:({row:e})=>{let t=e.original.status;return(0,G.jsx)(y0.Badge,{className:(0,xX.cn)("rounded-sm px-1.5 text-[10px] capitalize",{completed:"bg-emerald-500/10 text-emerald-600",active:"bg-blue-500/10 text-blue-600",idle:"bg-muted text-muted-foreground",blocked:"bg-amber-500/10 text-amber-600",crashed:"bg-red-500/10 text-red-600"}[t]??"bg-muted text-muted-foreground"),children:t})}},{accessorKey:"durationMs",header:e("table.duration"),cell:({row:e})=>{let{startedAt:t,completedAt:r}=e.original,n=new Date(r).getTime()-new Date(t).getTime();return(0,G.jsx)("span",{className:"font-mono text-xs tabular-nums",children:OE(Number.isFinite(n)&&n>0?n:0)})}},{accessorKey:"completedAt",header:e("table.time"),cell:({row:e})=>(0,G.jsx)("span",{className:"text-muted-foreground text-xs",children:l(e.original.completedAt)})}],u=(0,q.useCallback)(()=>"custom"===t&&n?function(e,t){let[r,n]=(0,yU.normalizeDates)(void 0,e,t),i=yZ(r,n),o=Math.abs(yK(r,n));r.setDate(r.getDate()-i*o);let a=Number(yZ(r,n)===-i),l=i*(o-a);return 0===l?0:l}(n.to,n.from)+1:Ob.find(e=>e.key===t)?.days??30,[t,n]);if((0,q.useEffect)(()=>{let e=new AbortController,t=u();return fetch(`/api/agents/usage/dashboard?days=${t}`,{signal:e.signal}).then(e=>e.ok?e.json():null).then(e=>a(e)).catch(()=>a(null)),()=>e.abort()},[u]),null===o)return(0,G.jsxs)(x1.Card,{className:"col-span-full gap-0 overflow-hidden rounded-lg py-0",children:[(0,G.jsxs)("div",{className:"flex items-center gap-3 border-b px-4 py-3",children:[(0,G.jsx)(w3.Skeleton,{className:"h-5 w-32"}),(0,G.jsx)("div",{className:"flex items-center gap-1",children:Ob.map(e=>(0,G.jsx)(w3.Skeleton,{className:"h-5 w-8 rounded-full"},e.key))})]}),(0,G.jsx)("div",{className:"grid grid-cols-2 border-b sm:grid-cols-4",children:Array.from({length:4},(e,t)=>(0,G.jsxs)("div",{className:"px-4 py-3 space-y-2",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-16"}),(0,G.jsx)(w3.Skeleton,{className:"h-6 w-20"}),(0,G.jsx)(w3.Skeleton,{className:"h-3 w-12"})]},t))}),(0,G.jsxs)("div",{className:"grid border-b lg:grid-cols-3",children:[(0,G.jsxs)("div",{className:"border-b p-4 lg:col-span-2 lg:border-r lg:border-b-0",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-24 mb-3"}),(0,G.jsx)("div",{className:"flex h-[132px] items-end gap-2",children:Array.from({length:14},(e,t)=>(0,G.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-center gap-1",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-8"}),(0,G.jsx)(w3.Skeleton,{className:"h-16 w-full rounded-sm"})]},t))})]}),(0,G.jsxs)("div",{className:"p-4",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-20 mb-3"}),(0,G.jsx)("div",{className:"space-y-2.5",children:Array.from({length:4},(e,t)=>(0,G.jsxs)("div",{className:"flex items-center gap-2",children:[(0,G.jsx)(w3.Skeleton,{className:"size-4 rounded-full"}),(0,G.jsx)(w3.Skeleton,{className:"h-3 flex-1"}),(0,G.jsx)(w3.Skeleton,{className:"h-3 w-12"})]},t))})]})]})]});let c=o.totals??{requests:0,inputTokens:0,outputTokens:0,totalTokens:0,totalCostUsd:0,avgDurationMs:0},d=o.daily??[],f=o.byModel??[],p=o.recent??[],h=Math.max(1,...d.map(e=>e.totalTokens)),g=Math.max(1,...f.map(e=>e.costUsd));return(0,G.jsxs)(x1.Card,{className:"col-span-full gap-0 overflow-hidden rounded-lg py-0",children:[(0,G.jsxs)("div",{className:"flex items-center gap-3 border-b px-4 py-3",children:[(0,G.jsx)("span",{className:"font-medium text-sm",children:e("title")}),(0,G.jsxs)("div",{className:"flex items-center gap-1",children:[Ob.map(n=>(0,G.jsx)(y0.Badge,{variant:t===n.key?"default":"secondary",className:"h-5 cursor-pointer rounded-full font-normal text-[10px] transition-colors",onClick:()=>{r(n.key),i(void 0)},children:e(`period.${"7d"===n.key?"7d":"30d"===n.key?"30d":"1y"===n.key?"1y":n.key}`)},n.key)),(0,G.jsxs)(w2.Popover,{children:[(0,G.jsx)(w2.PopoverTrigger,{nativeButton:!1,render:(0,G.jsx)(y0.Badge,{variant:"custom"===t?"default":"secondary",className:"h-5 cursor-pointer rounded-full font-normal text-[10px] transition-colors",children:e("period.custom")})}),(0,G.jsx)(w2.PopoverContent,{className:"w-auto p-0",align:"start",children:(0,G.jsx)(xJ,{mode:"range",defaultMonth:n?.from??yQ(new Date,-30,void 0),selected:n?{from:n.from,to:n.to}:void 0,onSelect:e=>{e?.from&&e?.to&&(i({from:e.from,to:e.to}),r("custom"))},numberOfMonths:2})})]})]})]}),(0,G.jsxs)("div",{className:"grid grid-cols-2 border-b sm:grid-cols-4",children:[(0,G.jsx)(OO,{label:e("metric.agentRuns"),value:OP(c.requests),helper:e("metric.agentRunsHelper"),icon:eo,totalCostLabel:e("metric.totalCost")}),(0,G.jsx)(OO,{label:e("metric.tokensUsed"),value:O_(c.totalTokens),helper:`${O_(c.inputTokens)} ${e("metric.tokensIn")}`,icon:en.Cpu,totalCostLabel:e("metric.totalCost")}),(0,G.jsx)(OO,{label:e("metric.totalCost"),value:Ok(c.totalCostUsd),helper:e("metric.totalCostHelper"),icon:ei,totalCostLabel:e("metric.totalCost")}),(0,G.jsx)(OO,{label:e("metric.avgDuration"),value:OE(c.avgDurationMs),helper:e("metric.avgDurationHelper"),icon:er,last:!0,totalCostLabel:e("metric.totalCost")})]}),(0,G.jsxs)("div",{className:"grid border-b lg:grid-cols-3",children:[(0,G.jsxs)("div",{className:"border-b p-4 lg:col-span-2 lg:border-r lg:border-b-0",children:[(0,G.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("chart.dailyTokenUsage")}),(0,G.jsxs)("div",{className:"flex items-center gap-3",children:[(0,G.jsx)(OS,{className:"bg-foreground",label:e("chart.input")}),(0,G.jsx)(OS,{className:"bg-foreground/40",label:e("chart.output")})]})]}),(0,G.jsxs)("div",{className:"flex h-[132px] items-end gap-2 sm:gap-3",children:[d.slice(-14).map(e=>{let t=Math.max(3,e.inputTokens/h*100),r=Math.max(3,(e.inputTokens+e.outputTokens)/h*100);return(0,G.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-center gap-1",children:[(0,G.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground tabular-nums",children:O_(e.totalTokens)}),(0,G.jsxs)("div",{className:"relative h-20 w-full",children:[(0,G.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-full rounded-sm bg-muted/40"}),(0,G.jsx)("div",{className:"absolute inset-x-0 bottom-0 rounded-t-sm bg-foreground/40",style:{height:`${r}%`}}),(0,G.jsx)("div",{className:"absolute inset-x-0 bottom-0 rounded-t-sm bg-foreground",style:{height:`${t}%`}})]}),(0,G.jsx)("span",{className:"text-[10px] text-muted-foreground",children:e.label})]},e.date)}),0===d.length?(0,G.jsx)(OC,{label:e("chart.noTokenData")}):null]})]}),(0,G.jsxs)("div",{className:"p-4",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("chart.costByModel")}),(0,G.jsx)("div",{className:"mt-3 space-y-2.5",children:0===f.length?(0,G.jsx)("p",{className:"text-muted-foreground text-xs",children:e("chart.noUsageRecords")}):f.map((e,t)=>{let r;return(0,G.jsxs)("div",{className:"rounded-md px-2 py-1.5 transition-colors hover:bg-muted/50",children:[(0,G.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,G.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(r=Oy(e.model))?(0,G.jsx)("img",{src:r,alt:"",className:"size-4 shrink-0 rounded-sm"}):(0,G.jsx)("span",{className:(0,xX.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm text-[9px] font-semibold",(0,xX.textColorClass)(e.model??"?")),children:e.model?.charAt(0).toUpperCase()??"?"}),(0,G.jsx)("span",{className:"truncate text-xs",children:e.model})]}),(0,G.jsx)("span",{className:"font-mono text-xs font-semibold tabular-nums",children:Ok(e.costUsd)})]}),(0,G.jsx)("div",{className:"mt-1 h-1 overflow-hidden rounded-full bg-muted",children:(0,G.jsx)("div",{className:(0,xX.cn)("h-full rounded-full",0===t?"bg-foreground":"bg-foreground/60"),style:{width:`${Math.max(4,e.costUsd/g*100)}%`}})})]},e.model)})})]})]}),(0,G.jsxs)("div",{className:"grid border-b lg:grid-cols-2",children:[(0,G.jsxs)("div",{className:"border-b p-4 lg:border-r lg:border-b-0",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("chart.tokenDistribution")}),(0,G.jsx)(Oj,{inputTokens:c.inputTokens,outputTokens:c.outputTokens})]}),(0,G.jsxs)("div",{className:"p-4",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("chart.costDistribution")}),(0,G.jsx)(OM,{byModel:f,totalCost:c.totalCostUsd})]})]}),(0,G.jsx)("div",{className:"p-4",children:(0,G.jsx)(Om,{})}),(0,G.jsx)(Ow,{data:p,columns:s,formatRelative:l})]})}function Ow({data:e,columns:t,formatRelative:r}){let n=(0,Z.useTranslations)("home"),[i,o]=(0,q.useState)({pageIndex:0,pageSize:5}),a=function(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=q.useState(()=>({current:function(e){var t,r;let n=[...e$,...null!=(t=e._features)?t:[]],i={_features:n},o=i._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultOptions?void 0:t.getDefaultOptions(i)),{}),a={...null!=(r=e.initialState)?r:{}};i._features.forEach(e=>{var t;a=null!=(t=null==e.getInitialState?void 0:e.getInitialState(a))?t:a});let l=[],s=!1,u={_features:n,options:{...o,...e},initialState:a,_queue:e=>{l.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;l.length;)l.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{i.setState(i.initialState)},setOptions:e=>{var t;t=ea(e,i.options),i.options=i.options.mergeOptions?i.options.mergeOptions(o,t):{...o,...t}},getState:()=>i.options.state,setState:e=>{null==i.options.onStateChange||i.options.onStateChange(e)},_getRowId:(e,t,r)=>{var n;return null!=(n=null==i.options.getRowId?void 0:i.options.getRowId(e,t,r))?n:`${r?[r.id,t].join("."):t}`},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?i.getPrePaginationRowModel():i.getRowModel()).rowsById[e];if(!r&&!(r=i.getCoreRowModel().rowsById[e]))throw Error();return r},_getDefaultColumnDef:eu(()=>[i.options.defaultColumn],e=>{var t;return e=null!=(t=e)?t:{},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t,r;return null!=(t=null==(r=e.renderValue())||null==r.toString?void 0:r.toString())?t:null},...i._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultColumnDef?void 0:t.getDefaultColumnDef()),{}),...e}},ec(e,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>i.options.columns,getAllColumns:eu(()=>[i._getColumnDefs()],e=>{let t=function(e,r,n){return void 0===n&&(n=0),e.map(e=>{let o=function(e,t,r,n){var i,o;let a,l={...e._getDefaultColumnDef(),...t},s=l.accessorKey,u=null!=(i=null!=(o=l.id)?o:s?"function"==typeof String.prototype.replaceAll?s.replaceAll(".","_"):s.replace(/\./g,"_"):void 0)?i:"string"==typeof l.header?l.header:void 0;if(l.accessorFn?a=l.accessorFn:s&&(a=s.includes(".")?e=>{let t=e;for(let e of s.split(".")){var r;t=null==(r=t)?void 0:r[e]}return t}:e=>e[l.accessorKey]),!u)throw Error();let c={id:`${String(u)}`,accessorFn:a,parent:n,depth:r,columnDef:l,columns:[],getFlatColumns:eu(()=>[!0],()=>{var e;return[c,...null==(e=c.columns)?void 0:e.flatMap(e=>e.getFlatColumns())]},ec(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:eu(()=>[e._getOrderColumnsFn()],e=>{var t;return null!=(t=c.columns)&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},ec(e.options,"debugColumns","column.getLeafColumns"))};for(let t of e._features)null==t.createColumn||t.createColumn(c,e);return c}(i,e,n,r);return o.columns=e.columns?t(e.columns,o,n+1):[],o})};return t(e)},ec(e,"debugColumns","getAllColumns")),getAllFlatColumns:eu(()=>[i.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),ec(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:eu(()=>[i.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),ec(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:eu(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),ec(e,"debugColumns","getAllLeafColumns")),getColumn:e=>i._getAllFlatColumnsById()[e]};Object.assign(i,u);for(let e=0;e<i._features.length;e++){let t=i._features[e];null==t||null==t.createTable||t.createTable(i)}return i}(t)})),[n,i]=q.useState(()=>r.current.initialState);return r.current.setOptions(t=>({...t,...e,state:{...n,...e.state},onStateChange:t=>{i(t),null==e.onStateChange||e.onStateChange(t)}})),r.current}({data:e,columns:t,getCoreRowModel:e=>eu(()=>[e.options.data],t=>{let r={rows:[],flatRows:[],rowsById:{}},n=function(t,i,o){void 0===i&&(i=0);let a=[];for(let s=0;s<t.length;s++){let u=eh(e,e._getRowId(t[s],s,o),t[s],s,i,void 0,null==o?void 0:o.id);if(r.flatRows.push(u),r.rowsById[u.id]=u,a.push(u),e.options.getSubRows){var l;u.originalSubRows=e.options.getSubRows(t[s],s),null!=(l=u.originalSubRows)&&l.length&&(u.subRows=n(u.originalSubRows,i+1,u))}}return a};return r.rows=n(t),r},ec(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex())),getPaginationRowModel:e=>eu(()=>[e.getState().pagination,e.getPrePaginationRowModel(),e.options.paginateExpandedRows?void 0:e.getState().expanded],(t,r)=>{let n;if(!r.rows.length)return r;let{pageSize:i,pageIndex:o}=t,{rows:a,flatRows:l,rowsById:s}=r,u=i*o;if(a=a.slice(u,u+i),e.options.paginateExpandedRows)n={rows:a,flatRows:l,rowsById:s};else{var c;let e,t;c={rows:a,flatRows:l,rowsById:s},e=[],t=r=>{var n;e.push(r),null!=(n=r.subRows)&&n.length&&r.getIsExpanded()&&r.subRows.forEach(t)},c.rows.forEach(t),n={rows:e,flatRows:c.flatRows,rowsById:c.rowsById}}n.flatRows=[];let d=e=>{n.flatRows.push(e),e.subRows.length&&e.subRows.forEach(d)};return n.rows.forEach(d),n},ec(e.options,"debugTable","getPaginationRowModel")),getSortedRowModel:e=>eu(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,r)=>{if(!r.rows.length||!(null!=t&&t.length))return r;let n=e.getState().sorting,i=[],o=n.filter(t=>{var r;return null==(r=e.getColumn(t.id))?void 0:r.getCanSort()}),a={};o.forEach(t=>{let r=e.getColumn(t.id);r&&(a[t.id]={sortUndefined:r.columnDef.sortUndefined,invertSorting:r.columnDef.invertSorting,sortingFn:r.getSortingFn()})});let l=e=>{let t=e.map(e=>({...e}));return t.sort((e,t)=>{for(let n=0;n<o.length;n+=1){var r;let i=o[n],l=a[i.id],s=l.sortUndefined,u=null!=(r=null==i?void 0:i.desc)&&r,c=0;if(s){let r=e.getValue(i.id),n=t.getValue(i.id),o=void 0===r,a=void 0===n;if(o||a){if("first"===s)return o?-1:1;if("last"===s)return o?1:-1;c=o&&a?0:o?s:-s}}if(0===c&&(c=l.sortingFn(e,t,i.id)),0!==c)return u&&(c*=-1),l.invertSorting&&(c*=-1),c}return e.index-t.index}),t.forEach(e=>{var t;i.push(e),null!=(t=e.subRows)&&t.length&&(e.subRows=l(e.subRows))}),t};return{rows:l(r.rows),flatRows:i,rowsById:r.rowsById}},ec(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex())),getFilteredRowModel:e=>eu(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,r,n)=>{var i,o,a,l,s,u,c,d,f,p;let h,g,m,v,y,b,x,w,O,S;if(!t.rows.length||!(null!=r&&r.length)&&!n){for(let e=0;e<t.flatRows.length;e++)t.flatRows[e].columnFilters={},t.flatRows[e].columnFiltersMeta={};return t}let j=[],M=[];(null!=r?r:[]).forEach(t=>{var r;let n=e.getColumn(t.id);if(!n)return;let i=n.getFilterFn();i&&j.push({id:t.id,filterFn:i,resolvedValue:null!=(r=null==i.resolveFilterValue?void 0:i.resolveFilterValue(t.value))?r:t.value})});let C=(null!=r?r:[]).map(e=>e.id),P=e.getGlobalFilterFn(),_=e.getAllLeafColumns().filter(e=>e.getCanGlobalFilter());n&&P&&_.length&&(C.push("__global__"),_.forEach(e=>{var t;M.push({id:e.id,filterFn:P,resolvedValue:null!=(t=null==P.resolveFilterValue?void 0:P.resolveFilterValue(n))?t:n})}));for(let e=0;e<t.flatRows.length;e++){let r=t.flatRows[e];if(r.columnFilters={},j.length)for(let e=0;e<j.length;e++){let t=(h=j[e]).id;r.columnFilters[t]=h.filterFn(r,t,h.resolvedValue,e=>{r.columnFiltersMeta[t]=e})}if(M.length){for(let e=0;e<M.length;e++){let t=(g=M[e]).id;if(g.filterFn(r,t,g.resolvedValue,e=>{r.columnFiltersMeta[t]=e})){r.columnFilters.__global__=!0;break}}!0!==r.columnFilters.__global__&&(r.columnFilters.__global__=!1)}}return i=t.rows,o=e=>{for(let t=0;t<C.length;t++)if(!1===e.columnFilters[C[t]])return!1;return!0},e.options.filterFromLeafRows?(a=i,l=o,m=[],v={},y=null!=(u=(s=e).options.maxLeafRowFilterDepth)?u:100,{rows:(b=function(e,t){void 0===t&&(t=0);let r=[];for(let i=0;i<e.length;i++){var n;let o=e[i],a=eh(s,o.id,o.original,o.index,o.depth,void 0,o.parentId);if(a.columnFilters=o.columnFilters,null!=(n=o.subRows)&&n.length&&t<y){if(a.subRows=b(o.subRows,t+1),l(o=a)&&!a.subRows.length||l(o)||a.subRows.length){r.push(o),v[o.id]=o,m.push(o);continue}}else l(o=a)&&(r.push(o),v[o.id]=o,m.push(o))}return r})(a),flatRows:m,rowsById:v}):(c=i,d=o,x=[],w={},O=null!=(p=(f=e).options.maxLeafRowFilterDepth)?p:100,{rows:(S=function(e,t){void 0===t&&(t=0);let r=[];for(let i=0;i<e.length;i++){let o=e[i];if(d(o)){var n;if(null!=(n=o.subRows)&&n.length&&t<O){let e=eh(f,o.id,o.original,o.index,o.depth,void 0,o.parentId);e.subRows=S(o.subRows,t+1),o=e}r.push(o),x.push(o),w[o.id]=o}}return r})(c),flatRows:x,rowsById:w})},ec(e.options,"debugTable","getFilteredRowModel",()=>e._autoResetPageIndex())),onPaginationChange:o,state:{pagination:i}}),{pages:l,showLeftEllipsis:s,showRightEllipsis:u}=function({currentPage:e,totalPages:t,paginationItemsToDisplay:r}){let n=function(){if(t<=r)return Array.from({length:t},(e,t)=>t+1);let n=Math.floor(r/2),i={start:e-n,end:e+n},o={start:Math.max(1,i.start),end:Math.min(t,i.end)};return 1===o.start&&(o.end=Math.min(r,t)),o.end===t&&(o.start=Math.max(1,t-r+1)),Array.from({length:o.end-o.start+1},(e,t)=>o.start+t)}(),i=n.length>0&&n[0]>1&&n[0]>2,o=n.length>0&&n[n.length-1]<t&&n[n.length-1]<t-1;return{pages:n,showLeftEllipsis:i,showRightEllipsis:o}}({currentPage:a.getState().pagination.pageIndex+1,totalPages:a.getPageCount(),paginationItemsToDisplay:2});return 0===e.length?(0,G.jsx)("div",{className:"p-6 text-center text-xs text-muted-foreground",children:n("table.emptyMessage")}):(0,G.jsxs)("div",{className:"w-full",children:[(0,G.jsx)("div",{className:"border-b",children:(0,G.jsxs)(w6,{children:[(0,G.jsx)(w5,{children:a.getHeaderGroups().map(e=>(0,G.jsx)(w7,{children:e.headers.map(e=>(0,G.jsx)(w8,{className:"text-muted-foreground h-10 first:pl-4",children:e.isPlaceholder?null:eY(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,G.jsx)(w4,{children:a.getRowModel().rows?.length?a.getRowModel().rows.map(e=>(0,G.jsx)(w7,{children:e.getVisibleCells().map(e=>(0,G.jsx)(w9,{className:"first:pl-4 py-2.5",children:eY(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,G.jsx)(w7,{children:(0,G.jsx)(w9,{colSpan:t.length,className:"h-24 text-center",children:n("table.noResults")})})})]})}),(0,G.jsxs)("div",{className:"flex items-center justify-between gap-3 px-6 py-3 max-sm:flex-col md:max-lg:flex-col",children:[(0,G.jsxs)("p",{className:"text-muted-foreground text-sm whitespace-nowrap","aria-live":"polite",children:[n("pagination.showing")," ",(0,G.jsxs)("span",{children:[5*a.getState().pagination.pageIndex+1," ",n("pagination.to")," ",Math.min((a.getState().pagination.pageIndex+1)*5,a.getRowCount())]})," ",n("pagination.of")," ",(0,G.jsx)("span",{children:a.getRowCount()})," ",n("pagination.entries")]}),(0,G.jsx)(wQ,{className:"mx-0 ml-auto w-auto justify-end",children:(0,G.jsxs)(wJ,{children:[(0,G.jsx)(w0,{children:(0,G.jsxs)(y1.Button,{className:"disabled:pointer-events-none disabled:opacity-50",variant:"ghost",onClick:()=>a.previousPage(),disabled:!a.getCanPreviousPage(),"aria-label":n("pagination.prevAriaLabel"),children:[(0,G.jsx)(ee,{"aria-hidden":"true"}),n("pagination.previous")]})}),s&&(0,G.jsx)(w0,{children:(0,G.jsx)(w1,{})}),l.map(e=>{let t=e===a.getState().pagination.pageIndex+1;return(0,G.jsx)(w0,{children:(0,G.jsx)(y1.Button,{size:"icon",className:(0,xX.cn)(!t&&"bg-primary/10 text-primary hover:bg-primary/20"),onClick:()=>a.setPageIndex(e-1),"aria-current":t?"page":void 0,children:e})},e)}),u&&(0,G.jsx)(w0,{children:(0,G.jsx)(w1,{})}),(0,G.jsx)(w0,{children:(0,G.jsxs)(y1.Button,{className:"disabled:pointer-events-none disabled:opacity-50",variant:"ghost",onClick:()=>a.nextPage(),disabled:!a.getCanNextPage(),"aria-label":n("pagination.nextAriaLabel"),children:[n("pagination.next"),(0,G.jsx)(et.ChevronRightIcon,{"aria-hidden":"true"})]})})]})})]})]})}function OO({label:e,value:t,helper:r,icon:n,last:i,totalCostLabel:o}){return(0,G.jsxs)("div",{className:(0,xX.cn)("px-4 py-3",!i&&"border-r"),children:[(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)("span",{className:"text-muted-foreground text-xs",children:e}),(0,G.jsx)(n,{className:"size-3.5 text-muted-foreground"})]}),(0,G.jsx)("div",{className:"mt-1 font-semibold text-2xl tabular-nums",children:t}),(0,G.jsxs)("div",{className:"mt-1 flex items-center gap-1",children:[e===o?(0,G.jsx)(X.ArrowDown,{className:"size-3 text-emerald-500"}):(0,G.jsx)(Q.ArrowUp,{className:"size-3 text-emerald-500"}),(0,G.jsx)("span",{className:"text-muted-foreground text-[10px]",children:r})]})]})}function OS({className:e,label:t}){return(0,G.jsxs)("span",{className:"flex items-center gap-1.5 text-[10px] text-muted-foreground",children:[(0,G.jsx)("span",{className:(0,xX.cn)("size-2 rounded-sm",e)}),t]})}function Oj({inputTokens:e,outputTokens:t}){let r=(0,Z.useTranslations)("home"),n=e+t,i={input:{label:r("chart.input"),color:"var(--primary)"},output:{label:r("chart.output"),color:"color-mix(in oklab, var(--primary) 40%, transparent)"}};return(0,G.jsxs)("div",{className:"mt-2",children:[(0,G.jsx)(wY,{config:i,className:"mx-auto h-40 w-full",children:(0,G.jsxs)(yH,{margin:{top:0,bottom:0,left:0,right:0},children:[(0,G.jsx)(wq,{cursor:!1,content:(0,G.jsx)(wK,{hideLabel:!0})}),(0,G.jsx)(g8,{data:[{key:"input",value:e,fill:"var(--color-input)"},{key:"output",value:t,fill:"var(--color-output)"}],dataKey:"value",nameKey:"key",startAngle:90,endAngle:450,innerRadius:48,outerRadius:68,paddingAngle:2,children:(0,G.jsx)(aS,{content:({viewBox:e})=>{if(e&&"cx"in e&&"cy"in e)return(0,G.jsxs)("text",{x:e.cx,y:e.cy,textAnchor:"middle",dominantBaseline:"middle",children:[(0,G.jsx)("tspan",{x:e.cx,y:(e.cy||0)-8,className:"fill-card-foreground text-sm font-medium",children:O_(n)}),(0,G.jsx)("tspan",{x:e.cx,y:(e.cy||0)+10,className:"fill-muted-foreground text-[10px]",children:r("chart.tokens")})]})}})})]})}),(0,G.jsxs)("div",{className:"flex items-center justify-center gap-4",children:[(0,G.jsx)(OS,{className:"bg-primary",label:`${r("chart.input")} ${n?Math.round(e/n*100):0}%`}),(0,G.jsx)(OS,{className:"bg-primary/40",label:`${r("chart.output")} ${n?Math.round(t/n*100):0}%`})]})]})}function OM({byModel:e,totalCost:t}){let r=(0,Z.useTranslations)("home");if(0===e.length)return(0,G.jsx)("p",{className:"mt-4 text-center text-xs text-muted-foreground",children:r("chart.noCostData")});let n=e.slice(0,5),i=n.map(e=>({key:e.model,value:e.costUsd,fill:(0,xX.textToColor)(e.model)})),o=Object.fromEntries(n.map(e=>[e.model,{label:e.model,color:(0,xX.textToColor)(e.model)}]));return(0,G.jsxs)("div",{className:"mt-2",children:[(0,G.jsx)(wY,{config:o,className:"mx-auto h-40 w-full",children:(0,G.jsxs)(yH,{margin:{top:0,bottom:0,left:0,right:0},children:[(0,G.jsx)(wq,{cursor:!1,content:(0,G.jsx)(wK,{hideLabel:!0})}),(0,G.jsx)(g8,{data:i,dataKey:"value",nameKey:"key",startAngle:90,endAngle:450,innerRadius:48,outerRadius:68,paddingAngle:2,children:(0,G.jsx)(aS,{content:({viewBox:e})=>{if(e&&"cx"in e&&"cy"in e)return(0,G.jsxs)("text",{x:e.cx,y:e.cy,textAnchor:"middle",dominantBaseline:"middle",children:[(0,G.jsx)("tspan",{x:e.cx,y:(e.cy||0)-8,className:"fill-card-foreground text-sm font-medium",children:Ok(t)}),(0,G.jsx)("tspan",{x:e.cx,y:(e.cy||0)+10,className:"fill-muted-foreground text-[10px]",children:r("chart.totalCost")})]})}})})]})}),(0,G.jsx)("div",{className:"mt-1 space-y-0.5",children:n.map(e=>(0,G.jsxs)("div",{className:"flex items-center justify-between px-1",children:[(0,G.jsx)("span",{className:"truncate text-[10px]",children:e.model}),(0,G.jsx)("span",{className:"font-mono text-[10px] tabular-nums",children:Ok(e.costUsd)})]},e.model))})]})}function OC({label:e}){return(0,G.jsx)("div",{className:"flex flex-1 items-center justify-center rounded-md border border-dashed text-xs text-muted-foreground",children:e})}function OP(e){return new Intl.NumberFormat("en-US").format(e)}function O_(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:OP(e)}function Ok(e){return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:4}).format(e)}function OE(e){return e?e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.round(e/6e4)}m`:"0ms"}var OD=e.i(524),ON=e.i(361031);function OA({initialWorkspaces:e}){let t=(0,ON.useWorkspaceStore)(e=>e.setWorkspaces),r=(0,ON.useWorkspaceStore)(e=>e.upsertWorkspace),[n,i]=(0,q.useState)(!1);(0,q.useEffect)(()=>{t(e)},[e,t]);let o=async e=>{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});r(await t.json())};return(0,G.jsxs)("div",{className:"flex h-full w-full flex-col overflow-auto",children:[(0,G.jsx)("main",{className:"w-full flex-1 px-4 py-6 sm:px-6",children:(0,G.jsx)(Ox,{})}),(0,G.jsx)(OD.WorkspaceDialog,{open:n,onOpenChange:i,onSubmit:o})]})}var OT=e.i(437122),OI=e.i(233297);e.s(["default",0,function(){let[e,t]=(0,q.useState)([]),r=(0,K.useRouter)();return(0,q.useEffect)(()=>{fetch("/api/workspaces",{headers:(0,OT.authHeaders)()}).then(e=>e.ok?e.json():[]).then(e=>{if(t(e),"true"===localStorage.getItem("autoActivateWorkspace")){let t=localStorage.getItem("lastWorkspaceId");t&&e.some(e=>e.id===t)&&(0,OI.tauriNavigate)(r,`/workspace/${t}`)}})},[r]),(0,G.jsx)(OA,{initialWorkspaces:e})}],330997)}]);
8
+ `).join("\n")}}):null},wq=function(e){var t,r,n,i,o,a,l,s,u,c,d=tP(e,wC),{active:f,allowEscapeViewBox:p,animationDuration:h,animationEasing:g,content:m,filterNull:v,isAnimationActive:y,offset:b,payloadUniqBy:x,position:w,reverseDirection:O,useTranslate3d:S,wrapperStyle:j,cursor:M,shared:C,trigger:P,defaultIndex:_,portal:k,axisId:E}=d,D=tX(),N="number"==typeof _?String(_):_;(0,q.useEffect)(()=>{D(hn({shared:C,trigger:P,axisId:E,active:f,defaultIndex:N}))},[D,C,P,E,f,N]);var A=i7(),T=v8(),I=t1(e=>hv(e,C)),{activeIndex:R,isActive:F}=null!=(u=t1(e=>mA(e,I,P,N)))?u:{},z=t1(e=>mN(e,I,P,N)),L=t1(e=>mD(e,I,P,N)),B=t1(e=>mE(e,I,P,N)),W=(0,q.useContext)(yv),V=null!=(c=null!=f?f:F)&&c,[H,U]=ws([z,V]),$="axis"===I?L:void 0;t=t1(e=>((e,t,r)=>{if(null!=t){var n=hC(e);return"axis"===t?"hover"===r?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:"hover"===r?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}})(e,I,P)),r=t1(gu),n=t1(a$),i=t1(aH),o=t1(aU),l=null==(a=t1(yp))?void 0:a.active,s=i7(),(0,q.useEffect)(()=>{if(!l&&null!=i&&null!=n){var e=hc({active:V,coordinate:B,dataKey:t,index:R,label:"number"==typeof $?String($):$,sourceViewBox:s,graphicalItemId:r});yc.emit(yd,i,e,n)}},[l,B,t,r,R,$,n,i,o,V,s]);var Y=null!=k?k:W;if(null==Y||null==A||null==I)return null;var G=null!=z?z:wM;V||(G=wM),v&&G.length&&(G=wl(G.filter(e=>null!=e.value&&(!0!==e.hide||d.includeHidden)),x,wj));var K=G.length>0,Z=wS(wS({},d),{},{payload:G,label:$,active:V,activeIndex:R,coordinate:B,accessibilityLayer:T}),X=q.createElement(wo,{allowEscapeViewBox:p,animationDuration:h,animationEasing:g,isAnimationActive:y,active:V,coordinate:B,hasPayload:K,offset:b,position:w,reverseDirection:O,useTranslate3d:S,viewBox:A,wrapperStyle:j,lastBoundingBox:H,innerRef:U,hasPortalFromProps:!!k},q.isValidElement(m)?q.cloneElement(m,Z):"function"==typeof m?q.createElement(m,Z):q.createElement(x9,Z));return q.createElement(q.Fragment,null,(0,ox.createPortal)(X,Y),V&&q.createElement(ww,{cursor:M,tooltipEventType:I,coordinate:B,payload:G,index:R}))};function wK({active:e,payload:t,className:r,indicator:n="dot",hideLabel:i=!1,hideIndicator:o=!1,label:a,labelFormatter:l,labelClassName:s,formatter:u,color:c,nameKey:d,labelKey:f}){let{config:p}=function(){let e=q.useContext(w$);if(!e)throw Error("useChart must be used within a <ChartContainer />");return e}(),h=q.useMemo(()=>{if(i||!t?.length)return null;let[e]=t,r=`${f??e?.dataKey??e?.name??"value"}`,n=wZ(p,e,r),o=f||"string"!=typeof a?n?.label:p[a]?.label??a;return l?(0,G.jsx)("div",{className:(0,xX.cn)("font-medium",s),children:l(o,t)}):o?(0,G.jsx)("div",{className:(0,xX.cn)("font-medium",s),children:o}):null},[a,l,t,i,s,p,f]);if(!e||!t?.length)return null;let g=1===t.length&&"dot"!==n;return(0,G.jsxs)("div",{className:(0,xX.cn)("grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",r),children:[g?null:h,(0,G.jsx)("div",{className:"grid gap-1.5",children:t.filter(e=>"none"!==e.type).map((e,t)=>{let r=`${d??e.name??e.dataKey??"value"}`,i=wZ(p,e,r),a=c??e.payload?.fill??e.color;return(0,G.jsx)("div",{className:(0,xX.cn)("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground","dot"===n&&"items-center"),children:u&&e?.value!==void 0&&e.name?u(e.value,e.name,e,t,e.payload):(0,G.jsxs)(G.Fragment,{children:[i?.icon?(0,G.jsx)(i.icon,{}):!o&&(0,G.jsx)("div",{className:(0,xX.cn)("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",{"h-2.5 w-2.5":"dot"===n,"w-1":"line"===n,"w-0 border-[1.5px] border-dashed bg-transparent":"dashed"===n,"my-0.5":g&&"dashed"===n}),style:{"--color-bg":a,"--color-border":a}}),(0,G.jsxs)("div",{className:(0,xX.cn)("flex flex-1 justify-between leading-none",g?"items-end":"items-center"),children:[(0,G.jsxs)("div",{className:"grid gap-1.5",children:[g?h:null,(0,G.jsx)("span",{className:"text-muted-foreground",children:i?.label??e.name})]}),null!=e.value&&(0,G.jsx)("span",{className:"font-mono font-medium text-foreground tabular-nums",children:"number"==typeof e.value?e.value.toLocaleString():String(e.value)})]})]})},t)})})]})}function wZ(e,t,r){if("object"!=typeof t||null===t)return;let n="payload"in t&&"object"==typeof t.payload&&null!==t.payload?t.payload:void 0,i=r;return r in t&&"string"==typeof t[r]?i=t[r]:n&&r in n&&"string"==typeof n[r]&&(i=n[r]),i in e?e[i]:e[r]}var wX=e.i(226651),wX=wX;function wQ({className:e,...t}){return(0,G.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,xX.cn)("mx-auto flex w-full justify-center",e),...t})}function wJ({className:e,...t}){return(0,G.jsx)("ul",{"data-slot":"pagination-content",className:(0,xX.cn)("flex items-center gap-0.5",e),...t})}function w0({...e}){return(0,G.jsx)("li",{"data-slot":"pagination-item",...e})}function w1({className:e,...t}){return(0,G.jsxs)("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:(0,xX.cn)("flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4",e),...t,children:[(0,G.jsx)(wX.default,{}),(0,G.jsx)("span",{className:"sr-only",children:"More pages"})]})}var w2=e.i(996652),w3=e.i(613087);function w6({className:e,...t}){return(0,G.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,G.jsx)("table",{"data-slot":"table",className:(0,xX.cn)("w-full caption-bottom text-sm",e),...t})})}function w5({className:e,...t}){return(0,G.jsx)("thead",{"data-slot":"table-header",className:(0,xX.cn)("[&_tr]:border-b",e),...t})}function w4({className:e,...t}){return(0,G.jsx)("tbody",{"data-slot":"table-body",className:(0,xX.cn)("[&_tr:last-child]:border-0",e),...t})}function w7({className:e,...t}){return(0,G.jsx)("tr",{"data-slot":"table-row",className:(0,xX.cn)("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...t})}function w8({className:e,...t}){return(0,G.jsx)("th",{"data-slot":"table-head",className:(0,xX.cn)("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",e),...t})}function w9({className:e,...t}){return(0,G.jsx)("td",{"data-slot":"table-cell",className:(0,xX.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}var Oe=e.i(638322),Ot=e.i(962562),Or=e.i(601039),On=e.i(953700),Oi=e.i(137340),Oo=e.i(209988),Oa=e.i(681622),Ol=e.i(817854);let Os=[{value:"zhipu",label:"智谱 (ZhiPu)",authMode:"headers"},{value:"minimax",label:"MiniMax",authMode:"cookie"},{value:"aicode",label:"AI Code",authMode:"cookie"}],Ou={zhipu:[{key:"Authorization",value:""}]},Oc=1;function Od(e){return Ou[e]?.map(e=>({...e,id:Oc++}))??[]}function Of(e){return Os.find(t=>t.value===e)?.authMode??"headers"}function Op(e){var t;return{id:e.id,provider:e.provider,label:e.label,cookie:e.cookie??"",headers:(t=e.headers)&&0!==Object.keys(t).length?Object.entries(t).map(([e,t])=>({id:Oc++,key:e,value:t})):[]}}function Oh({onChange:e,editConfig:t,onEditClear:r}){let n=(0,Z.useTranslations)("home"),[i,o]=(0,q.useState)(!1),[a,l]=(0,q.useState)([]),[s,u]=(0,q.useState)(null),c=(0,q.useCallback)(async()=>{let e=await fetch("/api/subscriptions");e.ok&&l(await e.json())},[]);(0,q.useEffect)(()=>{t&&(u(Op(t)),o(!0))},[t]),(0,q.useEffect)(()=>{i&&c()},[i,c]);let d=async()=>{if(!s)return;let t=Of(s.provider),r={provider:s.provider,label:s.label||s.provider};if("cookie"===t)r.cookie=s.cookie;else{let e;r.headers=(e=s.headers.filter(e=>e.key.trim()).map(e=>[e.key.trim(),e.value])).length>0?Object.fromEntries(e):void 0}let n=s.id?`/api/subscriptions/${s.id}`:"/api/subscriptions",i=s.id?"PUT":"POST";(await fetch(n,{method:i,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})).ok&&(u(null),await c(),e?.())},f=async t=>{await fetch(`/api/subscriptions/${t}`,{method:"DELETE"}),await c(),e?.()},p=(e,t,r)=>{s&&u({...s,headers:s.headers.map(n=>n.id===e?{...n,[t]:r}:n)})},h=s?Of(s.provider):null,g=s&&("cookie"===h?!!s.cookie.trim():s.headers.some(e=>e.key.trim()&&e.value.trim()));return(0,G.jsxs)(Oo.Dialog,{open:i,onOpenChange:e=>{o(e),e||(u(null),r?.())},children:[(0,G.jsx)(Oo.DialogTrigger,{nativeButton:!0,render:(0,G.jsxs)(y1.Button,{variant:"outline",size:"sm",className:"h-7 gap-1.5 text-xs",children:[(0,G.jsx)(On.Plus,{className:"size-3.5"}),n("subscription.addPlatform")]})}),(0,G.jsxs)(Oo.DialogContent,{className:"sm:max-w-lg",children:[(0,G.jsx)(Oo.DialogHeader,{children:(0,G.jsx)(Oo.DialogTitle,{className:"text-sm",children:n(s?.id?"subscription.editTitle":"subscription.title")})}),(0,G.jsxs)("div",{className:"space-y-3",children:[!s&&a.map(e=>(0,G.jsxs)("div",{className:"flex items-center justify-between rounded-md border px-3 py-2",children:[(0,G.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,G.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,G.jsxs)("span",{className:"text-[10px] text-muted-foreground capitalize",children:["(",e.provider,")"]})]}),(0,G.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>u(Op(e)),children:(0,G.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"size-3 text-muted-foreground",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,G.jsx)("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"}),(0,G.jsx)("path",{d:"m15 5 4 4"})]})}),(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>f(e.id),children:(0,G.jsx)(Oi.Trash2,{className:"size-3 text-muted-foreground"})})]})]},e.id)),!s&&0===a.length&&(0,G.jsx)("p",{className:"text-center text-xs text-muted-foreground py-2",children:n("subscription.empty")}),s&&h&&(0,G.jsxs)("div",{className:"space-y-3 rounded-md border p-3",children:[(0,G.jsxs)("div",{className:"space-y-1.5",children:[(0,G.jsx)(Ol.Label,{className:"text-xs",children:n("subscription.platform")}),(0,G.jsx)("div",{className:"flex gap-1.5",children:Os.map(e=>(0,G.jsx)(y1.Button,{size:"sm",variant:s.provider===e.value?"default":"secondary",className:"h-7 text-xs",onClick:()=>{var t;return t=e.value,void(s&&u({...s,provider:t,cookie:"",headers:Od(t)}))},children:e.label},e.value))})]}),(0,G.jsxs)("div",{className:"space-y-1.5",children:[(0,G.jsx)(Ol.Label,{className:"text-xs",children:n("subscription.label")}),(0,G.jsx)(Oa.Input,{className:"h-8 text-xs",value:s.label,onChange:e=>u({...s,label:e.target.value}),placeholder:n("subscription.labelPlaceholder")})]}),"cookie"===h&&(0,G.jsxs)("div",{className:"space-y-1.5",children:[(0,G.jsx)(Ol.Label,{className:"text-xs",children:"Cookie"}),(0,G.jsx)(Oa.Input,{className:"h-8 text-xs font-mono",value:s.cookie,onChange:e=>u({...s,cookie:e.target.value}),placeholder:n("subscription.cookiePlaceholder")})]}),"headers"===h&&(0,G.jsxs)("div",{className:"space-y-1.5",children:[(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)(Ol.Label,{className:"text-xs",children:n("subscription.headers")}),(0,G.jsxs)(y1.Button,{variant:"ghost",size:"sm",className:"h-5 text-[10px] gap-0.5 px-1",onClick:()=>{s&&u({...s,headers:[...s.headers,{id:Oc++,key:"",value:""}]})},children:[(0,G.jsx)(On.Plus,{className:"size-2.5"})," ",n("subscription.addHeader")]})]}),(0,G.jsxs)("div",{className:"space-y-1.5",children:[s.headers.map(e=>(0,G.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,G.jsx)(Oa.Input,{className:"h-7 flex-[2] text-xs font-mono",value:e.key,onChange:t=>p(e.id,"key",t.target.value),placeholder:"Header-Key"}),(0,G.jsx)(Oa.Input,{className:"h-7 flex-[3] text-xs font-mono",value:e.value,onChange:t=>p(e.id,"value",t.target.value),placeholder:"value"}),(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-6 shrink-0",onClick:()=>{var t;return t=e.id,void(s&&u({...s,headers:s.headers.filter(e=>e.id!==t)}))},children:(0,G.jsx)(Oi.Trash2,{className:"size-3 text-muted-foreground"})})]},e.id)),0===s.headers.length&&(0,G.jsx)("p",{className:"text-[10px] text-muted-foreground text-center py-1",children:n("subscription.noHeaders")})]})]}),(0,G.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,G.jsx)(y1.Button,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>u(null),children:n("subscription.cancel")}),(0,G.jsx)(y1.Button,{size:"sm",className:"h-7 text-xs",onClick:d,disabled:!g,children:n("subscription.save")})]})]}),!s&&(0,G.jsxs)(y1.Button,{size:"sm",variant:"outline",className:"w-full h-7 text-xs gap-1",onClick:()=>((e="zhipu")=>{u({provider:e,label:"",cookie:"",headers:Od(e)})})(),children:[(0,G.jsx)(On.Plus,{className:"size-3"}),n("subscription.add")]})]})]})]})}let Og={TIME_LIMIT:"时间额度",TOKENS_LIMIT:"Token 额度","MiniMax-M*":"MiniMax-M*","coding-plan-vlm":"Coding Plan VLM","coding-plan-search":"Coding Plan Search",balance:"余额",bonusBalance:"赠送余额"};function Om(){let e=(0,Z.useTranslations)("home"),[t,r]=(0,q.useState)([]),[n,i]=(0,q.useState)(new Map),[o,a]=(0,q.useState)(!1),[l,s]=(0,q.useState)(0),[u,c]=(0,q.useState)(null),d=(0,q.useCallback)(async()=>{let e=await fetch("/api/subscriptions");e.ok&&r(await e.json())},[]),f=(0,q.useCallback)(async e=>{a(!0);let t=new Map;await Promise.allSettled(e.map(async e=>{try{let r=await fetch(`/api/subscriptions/${e.id}/quota`);if(r.ok)t.set(e.id,{data:await r.json()});else{let n=await r.json().catch(()=>({}));t.set(e.id,{error:n.error??`${r.status} ${r.statusText}`})}}catch(r){t.set(e.id,{error:r.message??"Network error"})}})),i(t),a(!1)},[]);(0,q.useEffect)(()=>{d()},[d,l]),(0,q.useEffect)(()=>{t.length>0&&f(t)},[t,f]);let p=()=>s(e=>e+1),h=e=>(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsxs)("div",{className:"flex items-center gap-2",children:[(0,G.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,G.jsxs)("span",{className:"text-[10px] text-muted-foreground capitalize",children:["(",e.provider,")"]})]}),(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-5",onClick:()=>c(e),children:(0,G.jsx)(Ot.Pencil,{className:"size-3 text-muted-foreground"})})]});return 0===t.length?(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("subscription.planTitle")}),(0,G.jsx)(Oh,{onChange:p})]}):(0,G.jsxs)("div",{className:"space-y-3",children:[(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("subscription.planTitle")}),(0,G.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,G.jsx)(y1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>f(t),disabled:o,children:(0,G.jsx)(Or.RefreshCw,{className:`size-3 text-muted-foreground ${o?"animate-spin":""}`})}),(0,G.jsx)(Oh,{onChange:p,editConfig:u,onEditClear:()=>c(null)})]})]}),t.map(t=>{let r=n.get(t.id);if(!r)return(0,G.jsxs)("div",{className:"rounded-md border px-3 py-2 space-y-2",children:[h(t),(0,G.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,G.jsxs)("div",{className:"rounded-md bg-muted/30 px-3 py-2 space-y-1",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-12"}),(0,G.jsx)(w3.Skeleton,{className:"h-5 w-16"})]}),(0,G.jsxs)("div",{className:"rounded-md bg-muted/30 px-3 py-2 space-y-1",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-12"}),(0,G.jsx)(w3.Skeleton,{className:"h-5 w-16"})]})]})]},t.id);if("error"in r)return(0,G.jsxs)("div",{className:"rounded-md border border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950/30 px-3 py-2",children:[h(t),(0,G.jsx)("p",{className:"mt-1 text-[11px] text-red-600 dark:text-red-400",children:r.error})]},t.id);let i=r.data,o=i.limits.some(e=>"balance"===e.type||"bonusBalance"===e.type);return(0,G.jsxs)("div",{className:"space-y-2 rounded-md border px-3 py-2.5",children:[h(t),o?(0,G.jsx)("div",{className:"grid grid-cols-2 gap-2",children:i.limits.map((e,t)=>(0,G.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2",children:[(0,G.jsx)("div",{className:"text-[10px] text-muted-foreground",children:Og[e.type]||e.type}),(0,G.jsx)("div",{className:"mt-0.5 font-semibold text-sm tabular-nums",children:e.currentValue?.toFixed(2)??"—"})]},t))}):i.limits.map((t,r)=>{let n=function(e){if("TIME_LIMIT"===e.type){if(void 0!==e.currentValue&&void 0!==e.usage)return`${e.currentValue} / ${e.usage}`;if(void 0!==e.percentage)return`${e.percentage}%`}if(void 0!==e.remaining&&void 0!==e.usage){let t=e.remaining+e.usage;return`${e.remaining} / ${t}`}return null}(t),i=t.percentage;return(0,G.jsxs)("div",{className:"space-y-1",children:[(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)("span",{className:"text-[11px] text-muted-foreground",children:Og[t.type]||t.type}),n&&(0,G.jsx)("span",{className:"font-mono text-[11px] tabular-nums",children:n})]}),void 0!==i&&(0,G.jsx)("div",{className:"h-1 overflow-hidden rounded-full bg-muted",children:(0,G.jsx)("div",{className:"h-full rounded-full bg-primary transition-all",style:{width:`${Math.min(100,i)}%`}})}),t.usageDetails&&t.usageDetails.length>0&&(0,G.jsx)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5 pl-2",children:t.usageDetails.map(e=>(0,G.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[e.modelCode,": ",e.usage]},e.modelCode))}),t.nextResetTime&&(0,G.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[e("subscription.resetAt")," ",new Date(t.nextResetTime).toLocaleString()]})]},r)})]},t.id)})]})}let Ov=[[/claude/i,"anthropic"],[/gpt|o1-|o3-|o4-|chatgpt/i,"openai"],[/gemini/i,"gemini"],[/deepseek/i,"deepseek"],[/qwen/i,"alibaba"],[/glm|chatglm/i,"zhipu"],[/moonshot|kimi/i,"kimi"],[/doubao/i,"doubao"],[/llama/i,"meta"],[/mistral/i,"mistral"],[/codestral/i,"mistral"]];function Oy(e){if(!e)return"";for(let[t,r]of Ov)if(t.test(e))return(0,yJ.resolveServerAssetUrl)(`/static/provider-icons/${r}.svg`);return""}let Ob=[{key:"today",days:1},{key:"7d",days:7},{key:"30d",days:30},{key:"1y",days:365}];function Ox(){let e=(0,Z.useTranslations)("home"),[t,r]=(0,q.useState)("30d"),[n,i]=(0,q.useState)(),[o,a]=(0,q.useState)(null),l=(0,q.useCallback)(t=>{let r=Date.now()-new Date(t).getTime();if(!Number.isFinite(r)||r<0)return e("time.justNow");let n=Math.floor(r/6e4);if(n<1)return e("time.justNow");if(n<60)return e("time.minutesAgo",{n:n});let i=Math.floor(n/60);return i<24?e("time.hoursAgo",{n:i}):e("time.daysAgo",{n:Math.floor(i/24)})},[e]),s=[{accessorKey:"role",header:e("table.agent"),cell:({row:e})=>{let{role:t,runtime:r}=e.original;return(0,G.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,G.jsx)("span",{className:"font-medium text-xs capitalize",children:t}),r&&(0,G.jsx)("span",{className:"text-muted-foreground text-[10px]",children:r})]})}},{accessorKey:"model",header:e("table.model"),cell:({row:t})=>{let r=t.original.model,n=Oy(r);return(0,G.jsxs)("div",{className:"flex items-center gap-2",children:[n?(0,G.jsx)("img",{src:n,alt:"",className:"size-4 shrink-0 rounded-sm"}):(0,G.jsx)("span",{className:(0,xX.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm text-[9px] font-semibold",(0,xX.textColorClass)(r??"?")),children:r?.charAt(0).toUpperCase()??"?"}),(0,G.jsx)("span",{className:"truncate text-xs max-w-40",children:r||e("table.modelUnknown")})]})}},{accessorKey:"summary",header:e("table.summary"),cell:({row:e})=>(0,G.jsx)("span",{className:"line-clamp-2 text-xs text-muted-foreground max-w-64",children:e.original.summary||"—"})},{accessorKey:"totalCostUsd",header:e("table.cost"),cell:({row:t})=>{let{inputCostUsd:r,outputCostUsd:n,totalCostUsd:i}=t.original;return(0,G.jsxs)("div",{className:"flex flex-col gap-0.5 font-mono text-xs tabular-nums",children:[(0,G.jsx)("span",{children:Ok(i)}),(0,G.jsxs)(Oe.Tooltip,{children:[(0,G.jsxs)(Oe.TooltipTrigger,{render:(0,G.jsx)("span",{className:"text-muted-foreground text-[10px] cursor-default"}),children:[O_(t.original.inputTokens)," ",e("table.tokensIn")," / ",O_(t.original.outputTokens)," ",e("table.tokensOut")]}),(0,G.jsxs)(Oe.TooltipContent,{side:"bottom",className:"text-xs",children:[e("table.total")," ",O_(t.original.totalTokens)," · ",e("table.cacheHit")," ",t.original.inputTokens>0?Math.round(t.original.cachedInputTokens/t.original.inputTokens*100):0,"%"]})]})]})}},{accessorKey:"status",header:e("table.status"),cell:({row:e})=>{let t=e.original.status;return(0,G.jsx)(y0.Badge,{className:(0,xX.cn)("rounded-sm px-1.5 text-[10px] capitalize",{completed:"bg-emerald-500/10 text-emerald-600",active:"bg-blue-500/10 text-blue-600",idle:"bg-muted text-muted-foreground",blocked:"bg-amber-500/10 text-amber-600",crashed:"bg-red-500/10 text-red-600"}[t]??"bg-muted text-muted-foreground"),children:t})}},{accessorKey:"durationMs",header:e("table.duration"),cell:({row:e})=>{let{startedAt:t,completedAt:r}=e.original,n=new Date(r).getTime()-new Date(t).getTime();return(0,G.jsx)("span",{className:"font-mono text-xs tabular-nums",children:OE(Number.isFinite(n)&&n>0?n:0)})}},{accessorKey:"completedAt",header:e("table.time"),cell:({row:e})=>(0,G.jsx)("span",{className:"text-muted-foreground text-xs",children:l(e.original.completedAt)})}],u=(0,q.useCallback)(()=>"custom"===t&&n?function(e,t){let[r,n]=(0,yU.normalizeDates)(void 0,e,t),i=yZ(r,n),o=Math.abs(yK(r,n));r.setDate(r.getDate()-i*o);let a=Number(yZ(r,n)===-i),l=i*(o-a);return 0===l?0:l}(n.to,n.from)+1:Ob.find(e=>e.key===t)?.days??30,[t,n]);if((0,q.useEffect)(()=>{let e=new AbortController,t=u();return fetch(`/api/agents/usage/dashboard?days=${t}`,{signal:e.signal}).then(e=>e.ok?e.json():null).then(e=>a(e)).catch(()=>a(null)),()=>e.abort()},[u]),null===o)return(0,G.jsxs)(x1.Card,{className:"col-span-full gap-0 overflow-hidden rounded-lg py-0",children:[(0,G.jsxs)("div",{className:"flex items-center gap-3 border-b px-4 py-3",children:[(0,G.jsx)(w3.Skeleton,{className:"h-5 w-32"}),(0,G.jsx)("div",{className:"flex items-center gap-1",children:Ob.map(e=>(0,G.jsx)(w3.Skeleton,{className:"h-5 w-8 rounded-full"},e.key))})]}),(0,G.jsx)("div",{className:"grid grid-cols-2 border-b sm:grid-cols-4",children:Array.from({length:4},(e,t)=>(0,G.jsxs)("div",{className:"px-4 py-3 space-y-2",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-16"}),(0,G.jsx)(w3.Skeleton,{className:"h-6 w-20"}),(0,G.jsx)(w3.Skeleton,{className:"h-3 w-12"})]},t))}),(0,G.jsxs)("div",{className:"grid border-b lg:grid-cols-3",children:[(0,G.jsxs)("div",{className:"border-b p-4 lg:col-span-2 lg:border-r lg:border-b-0",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-24 mb-3"}),(0,G.jsx)("div",{className:"flex h-[132px] items-end gap-2",children:Array.from({length:14},(e,t)=>(0,G.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-center gap-1",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-8"}),(0,G.jsx)(w3.Skeleton,{className:"h-16 w-full rounded-sm"})]},t))})]}),(0,G.jsxs)("div",{className:"p-4",children:[(0,G.jsx)(w3.Skeleton,{className:"h-3 w-20 mb-3"}),(0,G.jsx)("div",{className:"space-y-2.5",children:Array.from({length:4},(e,t)=>(0,G.jsxs)("div",{className:"flex items-center gap-2",children:[(0,G.jsx)(w3.Skeleton,{className:"size-4 rounded-full"}),(0,G.jsx)(w3.Skeleton,{className:"h-3 flex-1"}),(0,G.jsx)(w3.Skeleton,{className:"h-3 w-12"})]},t))})]})]})]});let c=o.totals??{requests:0,inputTokens:0,outputTokens:0,totalTokens:0,totalCostUsd:0,avgDurationMs:0},d=o.daily??[],f=o.byModel??[],p=o.recent??[],h=Math.max(1,...d.map(e=>e.totalTokens)),g=Math.max(1,...f.map(e=>e.costUsd));return(0,G.jsxs)(x1.Card,{className:"col-span-full gap-0 overflow-hidden rounded-lg py-0",children:[(0,G.jsxs)("div",{className:"flex items-center gap-3 border-b px-4 py-3",children:[(0,G.jsx)("span",{className:"font-medium text-sm",children:e("title")}),(0,G.jsxs)("div",{className:"flex items-center gap-1",children:[Ob.map(n=>(0,G.jsx)(y0.Badge,{variant:t===n.key?"default":"secondary",className:"h-5 cursor-pointer rounded-full font-normal text-[10px] transition-colors",onClick:()=>{r(n.key),i(void 0)},children:e(`period.${"7d"===n.key?"7d":"30d"===n.key?"30d":"1y"===n.key?"1y":n.key}`)},n.key)),(0,G.jsxs)(w2.Popover,{children:[(0,G.jsx)(w2.PopoverTrigger,{nativeButton:!1,render:(0,G.jsx)(y0.Badge,{variant:"custom"===t?"default":"secondary",className:"h-5 cursor-pointer rounded-full font-normal text-[10px] transition-colors",children:e("period.custom")})}),(0,G.jsx)(w2.PopoverContent,{className:"w-auto p-0",align:"start",children:(0,G.jsx)(xJ,{mode:"range",defaultMonth:n?.from??yQ(new Date,-30,void 0),selected:n?{from:n.from,to:n.to}:void 0,onSelect:e=>{e?.from&&e?.to&&(i({from:e.from,to:e.to}),r("custom"))},numberOfMonths:2})})]})]})]}),(0,G.jsxs)("div",{className:"grid grid-cols-2 border-b sm:grid-cols-4",children:[(0,G.jsx)(OO,{label:e("metric.agentRuns"),value:OP(c.requests),helper:e("metric.agentRunsHelper"),icon:eo,totalCostLabel:e("metric.totalCost")}),(0,G.jsx)(OO,{label:e("metric.tokensUsed"),value:O_(c.totalTokens),helper:`${O_(c.inputTokens)} ${e("metric.tokensIn")}`,icon:en.Cpu,totalCostLabel:e("metric.totalCost")}),(0,G.jsx)(OO,{label:e("metric.totalCost"),value:Ok(c.totalCostUsd),helper:e("metric.totalCostHelper"),icon:ei,totalCostLabel:e("metric.totalCost")}),(0,G.jsx)(OO,{label:e("metric.avgDuration"),value:OE(c.avgDurationMs),helper:e("metric.avgDurationHelper"),icon:er,last:!0,totalCostLabel:e("metric.totalCost")})]}),(0,G.jsxs)("div",{className:"grid border-b lg:grid-cols-3",children:[(0,G.jsxs)("div",{className:"border-b p-4 lg:col-span-2 lg:border-r lg:border-b-0",children:[(0,G.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("chart.dailyTokenUsage")}),(0,G.jsxs)("div",{className:"flex items-center gap-3",children:[(0,G.jsx)(OS,{className:"bg-foreground",label:e("chart.input")}),(0,G.jsx)(OS,{className:"bg-foreground/40",label:e("chart.output")})]})]}),(0,G.jsxs)("div",{className:"flex h-[132px] items-end gap-2 sm:gap-3",children:[d.slice(-14).map(e=>{let t=Math.max(3,e.inputTokens/h*100),r=Math.max(3,(e.inputTokens+e.outputTokens)/h*100);return(0,G.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-center gap-1",children:[(0,G.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground tabular-nums",children:O_(e.totalTokens)}),(0,G.jsxs)("div",{className:"relative h-20 w-full",children:[(0,G.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-full rounded-sm bg-muted/40"}),(0,G.jsx)("div",{className:"absolute inset-x-0 bottom-0 rounded-t-sm bg-foreground/40",style:{height:`${r}%`}}),(0,G.jsx)("div",{className:"absolute inset-x-0 bottom-0 rounded-t-sm bg-foreground",style:{height:`${t}%`}})]}),(0,G.jsx)("span",{className:"text-[10px] text-muted-foreground",children:e.label})]},e.date)}),0===d.length?(0,G.jsx)(OC,{label:e("chart.noTokenData")}):null]})]}),(0,G.jsxs)("div",{className:"p-4",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("chart.costByModel")}),(0,G.jsx)("div",{className:"mt-3 space-y-2.5",children:0===f.length?(0,G.jsx)("p",{className:"text-muted-foreground text-xs",children:e("chart.noUsageRecords")}):f.map((e,t)=>{let r;return(0,G.jsxs)("div",{className:"rounded-md px-2 py-1.5 transition-colors hover:bg-muted/50",children:[(0,G.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,G.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(r=Oy(e.model))?(0,G.jsx)("img",{src:r,alt:"",className:"size-4 shrink-0 rounded-sm"}):(0,G.jsx)("span",{className:(0,xX.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm text-[9px] font-semibold",(0,xX.textColorClass)(e.model??"?")),children:e.model?.charAt(0).toUpperCase()??"?"}),(0,G.jsx)("span",{className:"truncate text-xs",children:e.model})]}),(0,G.jsx)("span",{className:"font-mono text-xs font-semibold tabular-nums",children:Ok(e.costUsd)})]}),(0,G.jsx)("div",{className:"mt-1 h-1 overflow-hidden rounded-full bg-muted",children:(0,G.jsx)("div",{className:(0,xX.cn)("h-full rounded-full",0===t?"bg-foreground":"bg-foreground/60"),style:{width:`${Math.max(4,e.costUsd/g*100)}%`}})})]},e.model)})})]})]}),(0,G.jsxs)("div",{className:"grid border-b lg:grid-cols-2",children:[(0,G.jsxs)("div",{className:"border-b p-4 lg:border-r lg:border-b-0",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("chart.tokenDistribution")}),(0,G.jsx)(Oj,{inputTokens:c.inputTokens,outputTokens:c.outputTokens})]}),(0,G.jsxs)("div",{className:"p-4",children:[(0,G.jsx)("span",{className:"font-medium text-xs",children:e("chart.costDistribution")}),(0,G.jsx)(OM,{byModel:f,totalCost:c.totalCostUsd})]})]}),(0,G.jsx)("div",{className:"p-4",children:(0,G.jsx)(Om,{})}),(0,G.jsx)(Ow,{data:p,columns:s,formatRelative:l})]})}function Ow({data:e,columns:t,formatRelative:r}){let n=(0,Z.useTranslations)("home"),[i,o]=(0,q.useState)({pageIndex:0,pageSize:5}),a=function(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=q.useState(()=>({current:function(e){var t,r;let n=[...e$,...null!=(t=e._features)?t:[]],i={_features:n},o=i._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultOptions?void 0:t.getDefaultOptions(i)),{}),a={...null!=(r=e.initialState)?r:{}};i._features.forEach(e=>{var t;a=null!=(t=null==e.getInitialState?void 0:e.getInitialState(a))?t:a});let l=[],s=!1,u={_features:n,options:{...o,...e},initialState:a,_queue:e=>{l.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;l.length;)l.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{i.setState(i.initialState)},setOptions:e=>{var t;t=ea(e,i.options),i.options=i.options.mergeOptions?i.options.mergeOptions(o,t):{...o,...t}},getState:()=>i.options.state,setState:e=>{null==i.options.onStateChange||i.options.onStateChange(e)},_getRowId:(e,t,r)=>{var n;return null!=(n=null==i.options.getRowId?void 0:i.options.getRowId(e,t,r))?n:`${r?[r.id,t].join("."):t}`},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?i.getPrePaginationRowModel():i.getRowModel()).rowsById[e];if(!r&&!(r=i.getCoreRowModel().rowsById[e]))throw Error();return r},_getDefaultColumnDef:eu(()=>[i.options.defaultColumn],e=>{var t;return e=null!=(t=e)?t:{},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t,r;return null!=(t=null==(r=e.renderValue())||null==r.toString?void 0:r.toString())?t:null},...i._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultColumnDef?void 0:t.getDefaultColumnDef()),{}),...e}},ec(e,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>i.options.columns,getAllColumns:eu(()=>[i._getColumnDefs()],e=>{let t=function(e,r,n){return void 0===n&&(n=0),e.map(e=>{let o=function(e,t,r,n){var i,o;let a,l={...e._getDefaultColumnDef(),...t},s=l.accessorKey,u=null!=(i=null!=(o=l.id)?o:s?"function"==typeof String.prototype.replaceAll?s.replaceAll(".","_"):s.replace(/\./g,"_"):void 0)?i:"string"==typeof l.header?l.header:void 0;if(l.accessorFn?a=l.accessorFn:s&&(a=s.includes(".")?e=>{let t=e;for(let e of s.split(".")){var r;t=null==(r=t)?void 0:r[e]}return t}:e=>e[l.accessorKey]),!u)throw Error();let c={id:`${String(u)}`,accessorFn:a,parent:n,depth:r,columnDef:l,columns:[],getFlatColumns:eu(()=>[!0],()=>{var e;return[c,...null==(e=c.columns)?void 0:e.flatMap(e=>e.getFlatColumns())]},ec(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:eu(()=>[e._getOrderColumnsFn()],e=>{var t;return null!=(t=c.columns)&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},ec(e.options,"debugColumns","column.getLeafColumns"))};for(let t of e._features)null==t.createColumn||t.createColumn(c,e);return c}(i,e,n,r);return o.columns=e.columns?t(e.columns,o,n+1):[],o})};return t(e)},ec(e,"debugColumns","getAllColumns")),getAllFlatColumns:eu(()=>[i.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),ec(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:eu(()=>[i.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),ec(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:eu(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),ec(e,"debugColumns","getAllLeafColumns")),getColumn:e=>i._getAllFlatColumnsById()[e]};Object.assign(i,u);for(let e=0;e<i._features.length;e++){let t=i._features[e];null==t||null==t.createTable||t.createTable(i)}return i}(t)})),[n,i]=q.useState(()=>r.current.initialState);return r.current.setOptions(t=>({...t,...e,state:{...n,...e.state},onStateChange:t=>{i(t),null==e.onStateChange||e.onStateChange(t)}})),r.current}({data:e,columns:t,getCoreRowModel:e=>eu(()=>[e.options.data],t=>{let r={rows:[],flatRows:[],rowsById:{}},n=function(t,i,o){void 0===i&&(i=0);let a=[];for(let s=0;s<t.length;s++){let u=eh(e,e._getRowId(t[s],s,o),t[s],s,i,void 0,null==o?void 0:o.id);if(r.flatRows.push(u),r.rowsById[u.id]=u,a.push(u),e.options.getSubRows){var l;u.originalSubRows=e.options.getSubRows(t[s],s),null!=(l=u.originalSubRows)&&l.length&&(u.subRows=n(u.originalSubRows,i+1,u))}}return a};return r.rows=n(t),r},ec(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex())),getPaginationRowModel:e=>eu(()=>[e.getState().pagination,e.getPrePaginationRowModel(),e.options.paginateExpandedRows?void 0:e.getState().expanded],(t,r)=>{let n;if(!r.rows.length)return r;let{pageSize:i,pageIndex:o}=t,{rows:a,flatRows:l,rowsById:s}=r,u=i*o;if(a=a.slice(u,u+i),e.options.paginateExpandedRows)n={rows:a,flatRows:l,rowsById:s};else{var c;let e,t;c={rows:a,flatRows:l,rowsById:s},e=[],t=r=>{var n;e.push(r),null!=(n=r.subRows)&&n.length&&r.getIsExpanded()&&r.subRows.forEach(t)},c.rows.forEach(t),n={rows:e,flatRows:c.flatRows,rowsById:c.rowsById}}n.flatRows=[];let d=e=>{n.flatRows.push(e),e.subRows.length&&e.subRows.forEach(d)};return n.rows.forEach(d),n},ec(e.options,"debugTable","getPaginationRowModel")),getSortedRowModel:e=>eu(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,r)=>{if(!r.rows.length||!(null!=t&&t.length))return r;let n=e.getState().sorting,i=[],o=n.filter(t=>{var r;return null==(r=e.getColumn(t.id))?void 0:r.getCanSort()}),a={};o.forEach(t=>{let r=e.getColumn(t.id);r&&(a[t.id]={sortUndefined:r.columnDef.sortUndefined,invertSorting:r.columnDef.invertSorting,sortingFn:r.getSortingFn()})});let l=e=>{let t=e.map(e=>({...e}));return t.sort((e,t)=>{for(let n=0;n<o.length;n+=1){var r;let i=o[n],l=a[i.id],s=l.sortUndefined,u=null!=(r=null==i?void 0:i.desc)&&r,c=0;if(s){let r=e.getValue(i.id),n=t.getValue(i.id),o=void 0===r,a=void 0===n;if(o||a){if("first"===s)return o?-1:1;if("last"===s)return o?1:-1;c=o&&a?0:o?s:-s}}if(0===c&&(c=l.sortingFn(e,t,i.id)),0!==c)return u&&(c*=-1),l.invertSorting&&(c*=-1),c}return e.index-t.index}),t.forEach(e=>{var t;i.push(e),null!=(t=e.subRows)&&t.length&&(e.subRows=l(e.subRows))}),t};return{rows:l(r.rows),flatRows:i,rowsById:r.rowsById}},ec(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex())),getFilteredRowModel:e=>eu(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,r,n)=>{var i,o,a,l,s,u,c,d,f,p;let h,g,m,v,y,b,x,w,O,S;if(!t.rows.length||!(null!=r&&r.length)&&!n){for(let e=0;e<t.flatRows.length;e++)t.flatRows[e].columnFilters={},t.flatRows[e].columnFiltersMeta={};return t}let j=[],M=[];(null!=r?r:[]).forEach(t=>{var r;let n=e.getColumn(t.id);if(!n)return;let i=n.getFilterFn();i&&j.push({id:t.id,filterFn:i,resolvedValue:null!=(r=null==i.resolveFilterValue?void 0:i.resolveFilterValue(t.value))?r:t.value})});let C=(null!=r?r:[]).map(e=>e.id),P=e.getGlobalFilterFn(),_=e.getAllLeafColumns().filter(e=>e.getCanGlobalFilter());n&&P&&_.length&&(C.push("__global__"),_.forEach(e=>{var t;M.push({id:e.id,filterFn:P,resolvedValue:null!=(t=null==P.resolveFilterValue?void 0:P.resolveFilterValue(n))?t:n})}));for(let e=0;e<t.flatRows.length;e++){let r=t.flatRows[e];if(r.columnFilters={},j.length)for(let e=0;e<j.length;e++){let t=(h=j[e]).id;r.columnFilters[t]=h.filterFn(r,t,h.resolvedValue,e=>{r.columnFiltersMeta[t]=e})}if(M.length){for(let e=0;e<M.length;e++){let t=(g=M[e]).id;if(g.filterFn(r,t,g.resolvedValue,e=>{r.columnFiltersMeta[t]=e})){r.columnFilters.__global__=!0;break}}!0!==r.columnFilters.__global__&&(r.columnFilters.__global__=!1)}}return i=t.rows,o=e=>{for(let t=0;t<C.length;t++)if(!1===e.columnFilters[C[t]])return!1;return!0},e.options.filterFromLeafRows?(a=i,l=o,m=[],v={},y=null!=(u=(s=e).options.maxLeafRowFilterDepth)?u:100,{rows:(b=function(e,t){void 0===t&&(t=0);let r=[];for(let i=0;i<e.length;i++){var n;let o=e[i],a=eh(s,o.id,o.original,o.index,o.depth,void 0,o.parentId);if(a.columnFilters=o.columnFilters,null!=(n=o.subRows)&&n.length&&t<y){if(a.subRows=b(o.subRows,t+1),l(o=a)&&!a.subRows.length||l(o)||a.subRows.length){r.push(o),v[o.id]=o,m.push(o);continue}}else l(o=a)&&(r.push(o),v[o.id]=o,m.push(o))}return r})(a),flatRows:m,rowsById:v}):(c=i,d=o,x=[],w={},O=null!=(p=(f=e).options.maxLeafRowFilterDepth)?p:100,{rows:(S=function(e,t){void 0===t&&(t=0);let r=[];for(let i=0;i<e.length;i++){let o=e[i];if(d(o)){var n;if(null!=(n=o.subRows)&&n.length&&t<O){let e=eh(f,o.id,o.original,o.index,o.depth,void 0,o.parentId);e.subRows=S(o.subRows,t+1),o=e}r.push(o),x.push(o),w[o.id]=o}}return r})(c),flatRows:x,rowsById:w})},ec(e.options,"debugTable","getFilteredRowModel",()=>e._autoResetPageIndex())),onPaginationChange:o,state:{pagination:i}}),{pages:l,showLeftEllipsis:s,showRightEllipsis:u}=function({currentPage:e,totalPages:t,paginationItemsToDisplay:r}){let n=function(){if(t<=r)return Array.from({length:t},(e,t)=>t+1);let n=Math.floor(r/2),i={start:e-n,end:e+n},o={start:Math.max(1,i.start),end:Math.min(t,i.end)};return 1===o.start&&(o.end=Math.min(r,t)),o.end===t&&(o.start=Math.max(1,t-r+1)),Array.from({length:o.end-o.start+1},(e,t)=>o.start+t)}(),i=n.length>0&&n[0]>1&&n[0]>2,o=n.length>0&&n[n.length-1]<t&&n[n.length-1]<t-1;return{pages:n,showLeftEllipsis:i,showRightEllipsis:o}}({currentPage:a.getState().pagination.pageIndex+1,totalPages:a.getPageCount(),paginationItemsToDisplay:2});return 0===e.length?(0,G.jsx)("div",{className:"p-6 text-center text-xs text-muted-foreground",children:n("table.emptyMessage")}):(0,G.jsxs)("div",{className:"w-full",children:[(0,G.jsx)("div",{className:"border-b",children:(0,G.jsxs)(w6,{children:[(0,G.jsx)(w5,{children:a.getHeaderGroups().map(e=>(0,G.jsx)(w7,{children:e.headers.map(e=>(0,G.jsx)(w8,{className:"text-muted-foreground h-10 first:pl-4",children:e.isPlaceholder?null:eY(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,G.jsx)(w4,{children:a.getRowModel().rows?.length?a.getRowModel().rows.map(e=>(0,G.jsx)(w7,{children:e.getVisibleCells().map(e=>(0,G.jsx)(w9,{className:"first:pl-4 py-2.5",children:eY(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,G.jsx)(w7,{children:(0,G.jsx)(w9,{colSpan:t.length,className:"h-24 text-center",children:n("table.noResults")})})})]})}),(0,G.jsxs)("div",{className:"flex items-center justify-between gap-3 px-6 py-3 max-sm:flex-col md:max-lg:flex-col",children:[(0,G.jsxs)("p",{className:"text-muted-foreground text-sm whitespace-nowrap","aria-live":"polite",children:[n("pagination.showing")," ",(0,G.jsxs)("span",{children:[5*a.getState().pagination.pageIndex+1," ",n("pagination.to")," ",Math.min((a.getState().pagination.pageIndex+1)*5,a.getRowCount())]})," ",n("pagination.of")," ",(0,G.jsx)("span",{children:a.getRowCount()})," ",n("pagination.entries")]}),(0,G.jsx)(wQ,{className:"mx-0 ml-auto w-auto justify-end",children:(0,G.jsxs)(wJ,{children:[(0,G.jsx)(w0,{children:(0,G.jsxs)(y1.Button,{className:"disabled:pointer-events-none disabled:opacity-50",variant:"ghost",onClick:()=>a.previousPage(),disabled:!a.getCanPreviousPage(),"aria-label":n("pagination.prevAriaLabel"),children:[(0,G.jsx)(ee,{"aria-hidden":"true"}),n("pagination.previous")]})}),s&&(0,G.jsx)(w0,{children:(0,G.jsx)(w1,{})}),l.map(e=>{let t=e===a.getState().pagination.pageIndex+1;return(0,G.jsx)(w0,{children:(0,G.jsx)(y1.Button,{size:"icon",className:(0,xX.cn)(!t&&"bg-primary/10 text-primary hover:bg-primary/20"),onClick:()=>a.setPageIndex(e-1),"aria-current":t?"page":void 0,children:e})},e)}),u&&(0,G.jsx)(w0,{children:(0,G.jsx)(w1,{})}),(0,G.jsx)(w0,{children:(0,G.jsxs)(y1.Button,{className:"disabled:pointer-events-none disabled:opacity-50",variant:"ghost",onClick:()=>a.nextPage(),disabled:!a.getCanNextPage(),"aria-label":n("pagination.nextAriaLabel"),children:[n("pagination.next"),(0,G.jsx)(et.ChevronRightIcon,{"aria-hidden":"true"})]})})]})})]})]})}function OO({label:e,value:t,helper:r,icon:n,last:i,totalCostLabel:o}){return(0,G.jsxs)("div",{className:(0,xX.cn)("px-4 py-3",!i&&"border-r"),children:[(0,G.jsxs)("div",{className:"flex items-center justify-between",children:[(0,G.jsx)("span",{className:"text-muted-foreground text-xs",children:e}),(0,G.jsx)(n,{className:"size-3.5 text-muted-foreground"})]}),(0,G.jsx)("div",{className:"mt-1 font-semibold text-2xl tabular-nums",children:t}),(0,G.jsxs)("div",{className:"mt-1 flex items-center gap-1",children:[e===o?(0,G.jsx)(X.ArrowDown,{className:"size-3 text-emerald-500"}):(0,G.jsx)(Q.ArrowUp,{className:"size-3 text-emerald-500"}),(0,G.jsx)("span",{className:"text-muted-foreground text-[10px]",children:r})]})]})}function OS({className:e,label:t}){return(0,G.jsxs)("span",{className:"flex items-center gap-1.5 text-[10px] text-muted-foreground",children:[(0,G.jsx)("span",{className:(0,xX.cn)("size-2 rounded-sm",e)}),t]})}function Oj({inputTokens:e,outputTokens:t}){let r=(0,Z.useTranslations)("home"),n=e+t,i={input:{label:r("chart.input"),color:"var(--primary)"},output:{label:r("chart.output"),color:"color-mix(in oklab, var(--primary) 40%, transparent)"}};return(0,G.jsxs)("div",{className:"mt-2",children:[(0,G.jsx)(wY,{config:i,className:"mx-auto h-40 w-full",children:(0,G.jsxs)(yH,{margin:{top:0,bottom:0,left:0,right:0},children:[(0,G.jsx)(wq,{cursor:!1,content:(0,G.jsx)(wK,{hideLabel:!0})}),(0,G.jsx)(g8,{data:[{key:"input",value:e,fill:"var(--color-input)"},{key:"output",value:t,fill:"var(--color-output)"}],dataKey:"value",nameKey:"key",startAngle:90,endAngle:450,innerRadius:48,outerRadius:68,paddingAngle:2,children:(0,G.jsx)(aS,{content:({viewBox:e})=>{if(e&&"cx"in e&&"cy"in e)return(0,G.jsxs)("text",{x:e.cx,y:e.cy,textAnchor:"middle",dominantBaseline:"middle",children:[(0,G.jsx)("tspan",{x:e.cx,y:(e.cy||0)-8,className:"fill-card-foreground text-sm font-medium",children:O_(n)}),(0,G.jsx)("tspan",{x:e.cx,y:(e.cy||0)+10,className:"fill-muted-foreground text-[10px]",children:r("chart.tokens")})]})}})})]})}),(0,G.jsxs)("div",{className:"flex items-center justify-center gap-4",children:[(0,G.jsx)(OS,{className:"bg-primary",label:`${r("chart.input")} ${n?Math.round(e/n*100):0}%`}),(0,G.jsx)(OS,{className:"bg-primary/40",label:`${r("chart.output")} ${n?Math.round(t/n*100):0}%`})]})]})}function OM({byModel:e,totalCost:t}){let r=(0,Z.useTranslations)("home");if(0===e.length)return(0,G.jsx)("p",{className:"mt-4 text-center text-xs text-muted-foreground",children:r("chart.noCostData")});let n=e.slice(0,5),i=n.map(e=>({key:e.model,value:e.costUsd,fill:(0,xX.textToColor)(e.model)})),o=Object.fromEntries(n.map(e=>[e.model,{label:e.model,color:(0,xX.textToColor)(e.model)}]));return(0,G.jsxs)("div",{className:"mt-2",children:[(0,G.jsx)(wY,{config:o,className:"mx-auto h-40 w-full",children:(0,G.jsxs)(yH,{margin:{top:0,bottom:0,left:0,right:0},children:[(0,G.jsx)(wq,{cursor:!1,content:(0,G.jsx)(wK,{hideLabel:!0})}),(0,G.jsx)(g8,{data:i,dataKey:"value",nameKey:"key",startAngle:90,endAngle:450,innerRadius:48,outerRadius:68,paddingAngle:2,children:(0,G.jsx)(aS,{content:({viewBox:e})=>{if(e&&"cx"in e&&"cy"in e)return(0,G.jsxs)("text",{x:e.cx,y:e.cy,textAnchor:"middle",dominantBaseline:"middle",children:[(0,G.jsx)("tspan",{x:e.cx,y:(e.cy||0)-8,className:"fill-card-foreground text-sm font-medium",children:Ok(t)}),(0,G.jsx)("tspan",{x:e.cx,y:(e.cy||0)+10,className:"fill-muted-foreground text-[10px]",children:r("chart.totalCost")})]})}})})]})}),(0,G.jsx)("div",{className:"mt-1 space-y-0.5",children:n.map(e=>(0,G.jsxs)("div",{className:"flex items-center justify-between px-1",children:[(0,G.jsx)("span",{className:"truncate text-[10px]",children:e.model}),(0,G.jsx)("span",{className:"font-mono text-[10px] tabular-nums",children:Ok(e.costUsd)})]},e.model))})]})}function OC({label:e}){return(0,G.jsx)("div",{className:"flex flex-1 items-center justify-center rounded-md border border-dashed text-xs text-muted-foreground",children:e})}function OP(e){return new Intl.NumberFormat("en-US").format(e)}function O_(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:OP(e)}function Ok(e){return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:4}).format(e)}function OE(e){return e?e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.round(e/6e4)}m`:"0ms"}var OD=e.i(524),ON=e.i(361031);function OA({initialWorkspaces:e}){let t=(0,ON.useWorkspaceStore)(e=>e.setWorkspaces),r=(0,ON.useWorkspaceStore)(e=>e.upsertWorkspace),[n,i]=(0,q.useState)(!1);(0,q.useEffect)(()=>{t(e)},[e,t]);let o=async e=>{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});r(await t.json())};return(0,G.jsxs)("div",{className:"flex h-full w-full flex-col overflow-auto",children:[(0,G.jsx)("main",{className:"w-full flex-1 px-4 py-6 sm:px-6",children:(0,G.jsx)(Ox,{})}),(0,G.jsx)(OD.WorkspaceDialog,{open:n,onOpenChange:i,onSubmit:o})]})}var OT=e.i(437122),OI=e.i(233297);e.s(["default",0,function(){let[e,t]=(0,q.useState)([]),r=(0,K.useRouter)();return(0,q.useEffect)(()=>{fetch("/api/workspaces",{headers:(0,OT.authHeaders)()}).then(e=>e.ok?e.json():[]).then(e=>{if(t(e),"true"===localStorage.getItem("autoActivateWorkspace")&&!sessionStorage.getItem("autoActivateSkipped")){let t=localStorage.getItem("lastWorkspaceId");t&&e.some(e=>e.id===t)&&(sessionStorage.setItem("autoActivateSkipped","1"),(0,OI.tauriNavigate)(r,`/workspace/${t}`,!0))}})},[r]),(0,G.jsx)(OA,{initialWorkspaces:e})}],330997)}]);