@agent-spaces/server 0.2.3 → 0.2.5

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 (119) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/web/404.html +1 -1
  3. package/dist/web/__next.__PAGE__.txt +4 -4
  4. package/dist/web/__next._full.txt +16 -16
  5. package/dist/web/__next._head.txt +4 -4
  6. package/dist/web/__next._index.txt +9 -9
  7. package/dist/web/__next._tree.txt +2 -2
  8. package/dist/web/_next/static/chunks/{0-245kun-watp.js → 0an2wvcgfh4yg.js} +2 -2
  9. package/dist/web/_next/static/chunks/0dpsi68hqjuon.js +1 -0
  10. package/dist/web/_next/static/chunks/0j282o9qw3fnz.css +1 -0
  11. package/dist/web/_next/static/chunks/0lgk.w8y-3ppq.js +1 -0
  12. package/dist/web/_next/static/chunks/{0amzlgoqe50tv.js → 0v4atb3hml5fn.js} +1 -1
  13. package/dist/web/_next/static/chunks/{0q_scqkk9.t53.js → 0vwzzneidqvbo.js} +2 -2
  14. package/dist/web/_next/static/chunks/18bgtswajrg9e.js +179 -0
  15. package/dist/web/_not-found/__next._full.txt +15 -15
  16. package/dist/web/_not-found/__next._head.txt +4 -4
  17. package/dist/web/_not-found/__next._index.txt +9 -9
  18. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +2 -2
  19. package/dist/web/_not-found/__next._not-found.txt +3 -3
  20. package/dist/web/_not-found/__next._tree.txt +2 -2
  21. package/dist/web/_not-found.html +1 -1
  22. package/dist/web/_not-found.txt +15 -15
  23. package/dist/web/index.html +1 -1
  24. package/dist/web/index.txt +16 -16
  25. package/dist/web/login/__next._full.txt +17 -17
  26. package/dist/web/login/__next._head.txt +4 -4
  27. package/dist/web/login/__next._index.txt +9 -9
  28. package/dist/web/login/__next._tree.txt +2 -2
  29. package/dist/web/login/__next.login.__PAGE__.txt +4 -4
  30. package/dist/web/login/__next.login.txt +3 -3
  31. package/dist/web/login.html +1 -1
  32. package/dist/web/login.txt +17 -17
  33. package/dist/web/settings/__next._full.txt +19 -19
  34. package/dist/web/settings/__next._head.txt +4 -4
  35. package/dist/web/settings/__next._index.txt +9 -9
  36. package/dist/web/settings/__next._tree.txt +2 -2
  37. package/dist/web/settings/__next.settings.__PAGE__.txt +4 -4
  38. package/dist/web/settings/__next.settings.txt +5 -5
  39. package/dist/web/settings/agents/__next._full.txt +19 -19
  40. package/dist/web/settings/agents/__next._head.txt +4 -4
  41. package/dist/web/settings/agents/__next._index.txt +9 -9
  42. package/dist/web/settings/agents/__next._tree.txt +2 -2
  43. package/dist/web/settings/agents/__next.settings.agents.__PAGE__.txt +4 -4
  44. package/dist/web/settings/agents/__next.settings.agents.txt +3 -3
  45. package/dist/web/settings/agents/__next.settings.txt +5 -5
  46. package/dist/web/settings/agents.html +1 -1
  47. package/dist/web/settings/agents.txt +19 -19
  48. package/dist/web/settings/mcps/__next._full.txt +19 -19
  49. package/dist/web/settings/mcps/__next._head.txt +4 -4
  50. package/dist/web/settings/mcps/__next._index.txt +9 -9
  51. package/dist/web/settings/mcps/__next._tree.txt +2 -2
  52. package/dist/web/settings/mcps/__next.settings.mcps.__PAGE__.txt +4 -4
  53. package/dist/web/settings/mcps/__next.settings.mcps.txt +3 -3
  54. package/dist/web/settings/mcps/__next.settings.txt +5 -5
  55. package/dist/web/settings/mcps.html +1 -1
  56. package/dist/web/settings/mcps.txt +19 -19
  57. package/dist/web/settings/models/__next._full.txt +19 -19
  58. package/dist/web/settings/models/__next._head.txt +4 -4
  59. package/dist/web/settings/models/__next._index.txt +9 -9
  60. package/dist/web/settings/models/__next._tree.txt +2 -2
  61. package/dist/web/settings/models/__next.settings.models.__PAGE__.txt +4 -4
  62. package/dist/web/settings/models/__next.settings.models.txt +3 -3
  63. package/dist/web/settings/models/__next.settings.txt +5 -5
  64. package/dist/web/settings/models.html +1 -1
  65. package/dist/web/settings/models.txt +19 -19
  66. package/dist/web/settings/providers/__next._full.txt +19 -19
  67. package/dist/web/settings/providers/__next._head.txt +4 -4
  68. package/dist/web/settings/providers/__next._index.txt +9 -9
  69. package/dist/web/settings/providers/__next._tree.txt +2 -2
  70. package/dist/web/settings/providers/__next.settings.providers.__PAGE__.txt +4 -4
  71. package/dist/web/settings/providers/__next.settings.providers.txt +3 -3
  72. package/dist/web/settings/providers/__next.settings.txt +5 -5
  73. package/dist/web/settings/providers.html +1 -1
  74. package/dist/web/settings/providers.txt +19 -19
  75. package/dist/web/settings/skills/__next._full.txt +19 -19
  76. package/dist/web/settings/skills/__next._head.txt +4 -4
  77. package/dist/web/settings/skills/__next._index.txt +9 -9
  78. package/dist/web/settings/skills/__next._tree.txt +2 -2
  79. package/dist/web/settings/skills/__next.settings.skills.__PAGE__.txt +4 -4
  80. package/dist/web/settings/skills/__next.settings.skills.txt +3 -3
  81. package/dist/web/settings/skills/__next.settings.txt +5 -5
  82. package/dist/web/settings/skills.html +1 -1
  83. package/dist/web/settings/skills.txt +19 -19
  84. package/dist/web/settings.html +1 -1
  85. package/dist/web/settings.txt +19 -19
  86. package/dist/web/workflows/__next._full.txt +17 -17
  87. package/dist/web/workflows/__next._head.txt +4 -4
  88. package/dist/web/workflows/__next._index.txt +9 -9
  89. package/dist/web/workflows/__next._tree.txt +2 -2
  90. package/dist/web/workflows/__next.workflows.__PAGE__.txt +4 -4
  91. package/dist/web/workflows/__next.workflows.txt +3 -3
  92. package/dist/web/workflows.html +1 -1
  93. package/dist/web/workflows.txt +17 -17
  94. package/dist/web/workspace/_/__next._full.txt +16 -16
  95. package/dist/web/workspace/_/__next._head.txt +4 -4
  96. package/dist/web/workspace/_/__next._index.txt +9 -9
  97. package/dist/web/workspace/_/__next._tree.txt +2 -2
  98. package/dist/web/workspace/_/__next.workspace.$d$id.__PAGE__.txt +3 -3
  99. package/dist/web/workspace/_/__next.workspace.$d$id.txt +3 -3
  100. package/dist/web/workspace/_/__next.workspace.txt +3 -3
  101. package/dist/web/workspace/_.html +1 -1
  102. package/dist/web/workspace/_.txt +16 -16
  103. package/dist/web/workspaces/__next._full.txt +17 -17
  104. package/dist/web/workspaces/__next._head.txt +4 -4
  105. package/dist/web/workspaces/__next._index.txt +9 -9
  106. package/dist/web/workspaces/__next._tree.txt +2 -2
  107. package/dist/web/workspaces/__next.workspaces.__PAGE__.txt +4 -4
  108. package/dist/web/workspaces/__next.workspaces.txt +3 -3
  109. package/dist/web/workspaces.html +1 -1
  110. package/dist/web/workspaces.txt +17 -17
  111. package/dist/ws/agent-prompt.js +39 -5
  112. package/package.json +10 -11
  113. package/dist/web/_next/static/chunks/088q-5_51dsrw.js +0 -1
  114. package/dist/web/_next/static/chunks/09_ki3dc5cfwv.css +0 -1
  115. package/dist/web/_next/static/chunks/0car_w834cbb6.js +0 -1
  116. package/dist/web/_next/static/chunks/0g_b4t~000.o~.js +0 -179
  117. /package/dist/web/_next/static/{7UtFGbIZvN_2yiatRc2g3 → CW6M37hm3VxkelXPKGgw3}/_buildManifest.js +0 -0
  118. /package/dist/web/_next/static/{7UtFGbIZvN_2yiatRc2g3 → CW6M37hm3VxkelXPKGgw3}/_clientMiddlewareManifest.js +0 -0
  119. /package/dist/web/_next/static/{7UtFGbIZvN_2yiatRc2g3 → CW6M37hm3VxkelXPKGgw3}/_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},xQ=function(e){var t,r,n,i,a,o,l,u,s,c,d=tP(e,xE),{active:f,allowEscapeViewBox:p,animationDuration:h,animationEasing:g,content:m,filterNull:y,isAnimationActive:v,offset:b,payloadUniqBy:w,position:x,reverseDirection:O,useTranslate3d:S,wrapperStyle:M,cursor:j,shared:C,trigger:P,defaultIndex:_,portal:k,axisId:E}=d,D=tX(),A="number"==typeof _?String(_):_;(0,K.useEffect)(()=>{D(hn({shared:C,trigger:P,axisId:E,active:f,defaultIndex:A}))},[D,C,P,E,f,A]);var N=i7(),T=y8(),I=t1(e=>hy(e,C)),{activeIndex:R,isActive:F}=null!=(s=t1(e=>mN(e,I,P,A)))?s:{},z=t1(e=>mA(e,I,P,A)),L=t1(e=>mD(e,I,P,A)),W=t1(e=>mE(e,I,P,A)),B=(0,K.useContext)(vy),V=null!=(c=null!=f?f:F)&&c,[H,U]=xf([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(gs),n=t1(o$),i=t1(oH),a=t1(oU),l=null==(o=t1(vp))?void 0:o.active,u=i7(),(0,K.useEffect)(()=>{if(!l&&null!=i&&null!=n){var e=hc({active:V,coordinate:W,dataKey:t,index:R,label:"number"==typeof $?String($):$,sourceViewBox:u,graphicalItemId:r});vc.emit(vd,i,e,n)}},[l,W,t,r,R,$,n,i,a,V,u]);var Y=null!=k?k:B;if(null==Y||null==N||null==I)return null;var G=null!=z?z:xk;V||(G=xk),y&&G.length&&(G=xd(G.filter(e=>null!=e.value&&(!0!==e.hide||d.includeHidden)),w,x_));var q=G.length>0,Z=xP(xP({},d),{},{payload:G,label:$,active:V,activeIndex:R,coordinate:W,accessibilityLayer:T}),X=K.createElement(xs,{allowEscapeViewBox:p,animationDuration:h,animationEasing:g,isAnimationActive:v,active:V,coordinate:W,hasPayload:q,offset:b,position:x,reverseDirection:O,useTranslate3d:S,viewBox:N,wrapperStyle:M,lastBoundingBox:H,innerRef:U,hasPortalFromProps:!!k},K.isValidElement(m)?K.cloneElement(m,Z):"function"==typeof m?K.createElement(m,Z):K.createElement(xn,Z));return K.createElement(K.Fragment,null,(0,aw.createPortal)(X,Y),V&&K.createElement(xj,{cursor:j,tooltipEventType:I,coordinate:W,payload:G,index:R}))};function xJ({active:e,payload:t,className:r,indicator:n="dot",hideLabel:i=!1,hideIndicator:a=!1,label:o,labelFormatter:l,labelClassName:u,formatter:s,color:c,nameKey:d,labelKey:f}){let{config:p}=function(){let e=K.useContext(xK);if(!e)throw Error("useChart must be used within a <ChartContainer />");return e}(),h=K.useMemo(()=>{if(i||!t?.length)return null;let[e]=t,r=`${f??e?.dataKey??e?.name??"value"}`,n=x0(p,e,r),a=f||"string"!=typeof o?n?.label:p[o]?.label??o;return l?(0,q.jsx)("div",{className:(0,w1.cn)("font-medium",u),children:l(a,t)}):a?(0,q.jsx)("div",{className:(0,w1.cn)("font-medium",u),children:a}):null},[o,l,t,i,u,p,f]);if(!e||!t?.length)return null;let g=1===t.length&&"dot"!==n;return(0,q.jsxs)("div",{className:(0,w1.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,q.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=x0(p,e,r),o=c??e.payload?.fill??e.color;return(0,q.jsx)("div",{className:(0,w1.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:s&&e?.value!==void 0&&e.name?s(e.value,e.name,e,t,e.payload):(0,q.jsxs)(q.Fragment,{children:[i?.icon?(0,q.jsx)(i.icon,{}):!a&&(0,q.jsx)("div",{className:(0,w1.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":o,"--color-border":o}}),(0,q.jsxs)("div",{className:(0,w1.cn)("flex flex-1 justify-between leading-none",g?"items-end":"items-center"),children:[(0,q.jsxs)("div",{className:"grid gap-1.5",children:[g?h:null,(0,q.jsx)("span",{className:"text-muted-foreground",children:i?.label??e.name})]}),null!=e.value&&(0,q.jsx)("span",{className:"font-mono font-medium text-foreground tabular-nums",children:"number"==typeof e.value?e.value.toLocaleString():String(e.value)})]})]})},t)})})]})}function x0(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 x1=e.i(226651),x1=x1;function x2({className:e,...t}){return(0,q.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,w1.cn)("mx-auto flex w-full justify-center",e),...t})}function x3({className:e,...t}){return(0,q.jsx)("ul",{"data-slot":"pagination-content",className:(0,w1.cn)("flex items-center gap-0.5",e),...t})}function x6({...e}){return(0,q.jsx)("li",{"data-slot":"pagination-item",...e})}function x5({className:e,...t}){return(0,q.jsxs)("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:(0,w1.cn)("flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4",e),...t,children:[(0,q.jsx)(x1.default,{}),(0,q.jsx)("span",{className:"sr-only",children:"More pages"})]})}var x4=e.i(996652);function x7({className:e,...t}){return(0,q.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,q.jsx)("table",{"data-slot":"table",className:(0,w1.cn)("w-full caption-bottom text-sm",e),...t})})}function x8({className:e,...t}){return(0,q.jsx)("thead",{"data-slot":"table-header",className:(0,w1.cn)("[&_tr]:border-b",e),...t})}function x9({className:e,...t}){return(0,q.jsx)("tbody",{"data-slot":"table-body",className:(0,w1.cn)("[&_tr:last-child]:border-0",e),...t})}function Oe({className:e,...t}){return(0,q.jsx)("tr",{"data-slot":"table-row",className:(0,w1.cn)("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...t})}function Ot({className:e,...t}){return(0,q.jsx)("th",{"data-slot":"table-head",className:(0,w1.cn)("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",e),...t})}function Or({className:e,...t}){return(0,q.jsx)("td",{"data-slot":"table-cell",className:(0,w1.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}var On=e.i(638322),Oi=e.i(962562),Oa=e.i(601039),Oo=e.i(953700),Ol=e.i(137340),Ou=e.i(209988),Os=e.i(681622),Oc=e.i(817854);let Od=[{value:"zhipu",label:"智谱 (ZhiPu)",authMode:"headers"},{value:"minimax",label:"MiniMax",authMode:"cookie"},{value:"aicode",label:"AI Code",authMode:"cookie"}],Of={zhipu:[{key:"Authorization",value:""}]},Op=1;function Oh(e){return Of[e]?.map(e=>({...e,id:Op++}))??[]}function Og(e){return Od.find(t=>t.value===e)?.authMode??"headers"}function Om(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:Op++,key:e,value:t})):[]}}function Oy({onChange:e,editConfig:t,onEditClear:r}){let n=(0,Z.useTranslations)("home"),[i,a]=(0,K.useState)(!1),[o,l]=(0,K.useState)([]),[u,s]=(0,K.useState)(null),c=(0,K.useCallback)(async()=>{let e=await fetch("/api/subscriptions");e.ok&&l(await e.json())},[]);(0,K.useEffect)(()=>{t&&(s(Om(t)),a(!0))},[t]),(0,K.useEffect)(()=>{i&&c()},[i,c]);let d=async()=>{if(!u)return;let t=Og(u.provider),r={provider:u.provider,label:u.label||u.provider};if("cookie"===t)r.cookie=u.cookie;else{let e;r.headers=(e=u.headers.filter(e=>e.key.trim()).map(e=>[e.key.trim(),e.value])).length>0?Object.fromEntries(e):void 0}let n=u.id?`/api/subscriptions/${u.id}`:"/api/subscriptions",i=u.id?"PUT":"POST";(await fetch(n,{method:i,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})).ok&&(s(null),await c(),e?.())},f=async t=>{await fetch(`/api/subscriptions/${t}`,{method:"DELETE"}),await c(),e?.()},p=(e,t,r)=>{u&&s({...u,headers:u.headers.map(n=>n.id===e?{...n,[t]:r}:n)})},h=u?Og(u.provider):null,g=u&&("cookie"===h?!!u.cookie.trim():u.headers.some(e=>e.key.trim()&&e.value.trim()));return(0,q.jsxs)(Ou.Dialog,{open:i,onOpenChange:e=>{a(e),e||(s(null),r?.())},children:[(0,q.jsx)(Ou.DialogTrigger,{nativeButton:!0,render:(0,q.jsxs)(v1.Button,{variant:"outline",size:"sm",className:"h-7 gap-1.5 text-xs",children:[(0,q.jsx)(Oo.Plus,{className:"size-3.5"}),n("subscription.addPlatform")]})}),(0,q.jsxs)(Ou.DialogContent,{className:"sm:max-w-lg",children:[(0,q.jsx)(Ou.DialogHeader,{children:(0,q.jsx)(Ou.DialogTitle,{className:"text-sm",children:n(u?.id?"subscription.editTitle":"subscription.title")})}),(0,q.jsxs)("div",{className:"space-y-3",children:[!u&&o.map(e=>(0,q.jsxs)("div",{className:"flex items-center justify-between rounded-md border px-3 py-2",children:[(0,q.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,q.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,q.jsxs)("span",{className:"text-[10px] text-muted-foreground capitalize",children:["(",e.provider,")"]})]}),(0,q.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>s(Om(e)),children:(0,q.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,q.jsx)("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"}),(0,q.jsx)("path",{d:"m15 5 4 4"})]})}),(0,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>f(e.id),children:(0,q.jsx)(Ol.Trash2,{className:"size-3 text-muted-foreground"})})]})]},e.id)),!u&&0===o.length&&(0,q.jsx)("p",{className:"text-center text-xs text-muted-foreground py-2",children:n("subscription.empty")}),u&&h&&(0,q.jsxs)("div",{className:"space-y-3 rounded-md border p-3",children:[(0,q.jsxs)("div",{className:"space-y-1.5",children:[(0,q.jsx)(Oc.Label,{className:"text-xs",children:n("subscription.platform")}),(0,q.jsx)("div",{className:"flex gap-1.5",children:Od.map(e=>(0,q.jsx)(v1.Button,{size:"sm",variant:u.provider===e.value?"default":"secondary",className:"h-7 text-xs",onClick:()=>{var t;return t=e.value,void(u&&s({...u,provider:t,cookie:"",headers:Oh(t)}))},children:e.label},e.value))})]}),(0,q.jsxs)("div",{className:"space-y-1.5",children:[(0,q.jsx)(Oc.Label,{className:"text-xs",children:n("subscription.label")}),(0,q.jsx)(Os.Input,{className:"h-8 text-xs",value:u.label,onChange:e=>s({...u,label:e.target.value}),placeholder:n("subscription.labelPlaceholder")})]}),"cookie"===h&&(0,q.jsxs)("div",{className:"space-y-1.5",children:[(0,q.jsx)(Oc.Label,{className:"text-xs",children:"Cookie"}),(0,q.jsx)(Os.Input,{className:"h-8 text-xs font-mono",value:u.cookie,onChange:e=>s({...u,cookie:e.target.value}),placeholder:n("subscription.cookiePlaceholder")})]}),"headers"===h&&(0,q.jsxs)("div",{className:"space-y-1.5",children:[(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)(Oc.Label,{className:"text-xs",children:n("subscription.headers")}),(0,q.jsxs)(v1.Button,{variant:"ghost",size:"sm",className:"h-5 text-[10px] gap-0.5 px-1",onClick:()=>{u&&s({...u,headers:[...u.headers,{id:Op++,key:"",value:""}]})},children:[(0,q.jsx)(Oo.Plus,{className:"size-2.5"})," ",n("subscription.addHeader")]})]}),(0,q.jsxs)("div",{className:"space-y-1.5",children:[u.headers.map(e=>(0,q.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,q.jsx)(Os.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,q.jsx)(Os.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,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-6 shrink-0",onClick:()=>{var t;return t=e.id,void(u&&s({...u,headers:u.headers.filter(e=>e.id!==t)}))},children:(0,q.jsx)(Ol.Trash2,{className:"size-3 text-muted-foreground"})})]},e.id)),0===u.headers.length&&(0,q.jsx)("p",{className:"text-[10px] text-muted-foreground text-center py-1",children:n("subscription.noHeaders")})]})]}),(0,q.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,q.jsx)(v1.Button,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>s(null),children:n("subscription.cancel")}),(0,q.jsx)(v1.Button,{size:"sm",className:"h-7 text-xs",onClick:d,disabled:!g,children:n("subscription.save")})]})]}),!u&&(0,q.jsxs)(v1.Button,{size:"sm",variant:"outline",className:"w-full h-7 text-xs gap-1",onClick:()=>((e="zhipu")=>{s({provider:e,label:"",cookie:"",headers:Oh(e)})})(),children:[(0,q.jsx)(Oo.Plus,{className:"size-3"}),n("subscription.add")]})]})]})]})}let Ov={TIME_LIMIT:"时间额度",TOKENS_LIMIT:"Token 额度","MiniMax-M*":"MiniMax-M*","coding-plan-vlm":"Coding Plan VLM","coding-plan-search":"Coding Plan Search",balance:"余额",bonusBalance:"赠送余额"};function Ob(){let e=(0,Z.useTranslations)("home"),[t,r]=(0,K.useState)([]),[n,i]=(0,K.useState)(new Map),[a,o]=(0,K.useState)(!1),[l,u]=(0,K.useState)(0),[s,c]=(0,K.useState)(null);(0,K.useState)(null);let d=(0,K.useCallback)(async()=>{let e=await fetch("/api/subscriptions");e.ok&&r(await e.json())},[]),f=(0,K.useCallback)(async e=>{o(!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),o(!1)},[]);(0,K.useEffect)(()=>{d()},[d,l]),(0,K.useEffect)(()=>{t.length>0&&f(t)},[t,f]);let p=()=>u(e=>e+1),h=e=>(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsxs)("div",{className:"flex items-center gap-2",children:[(0,q.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,q.jsxs)("span",{className:"text-[10px] text-muted-foreground capitalize",children:["(",e.provider,")"]})]}),(0,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-5",onClick:()=>c(e),children:(0,q.jsx)(Oi.Pencil,{className:"size-3 text-muted-foreground"})})]});return 0===t.length?(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("subscription.planTitle")}),(0,q.jsx)(Oy,{onChange:p})]}):(0,q.jsxs)("div",{className:"space-y-3",children:[(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("subscription.planTitle")}),(0,q.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>f(t),disabled:a,children:(0,q.jsx)(Oa.RefreshCw,{className:`size-3 text-muted-foreground ${a?"animate-spin":""}`})}),(0,q.jsx)(Oy,{onChange:p})]})]}),(0,q.jsx)(Oy,{onChange:p,editConfig:s,onEditClear:()=>c(null)}),t.map(t=>{let r=n.get(t.id);if(!r)return(0,q.jsx)("div",{className:"rounded-md border px-3 py-2",children:h(t)},t.id);if("error"in r)return(0,q.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,q.jsx)("p",{className:"mt-1 text-[11px] text-red-600 dark:text-red-400",children:r.error})]},t.id);let i=r.data,a=i.limits.some(e=>"balance"===e.type||"bonusBalance"===e.type);return(0,q.jsxs)("div",{className:"space-y-2 rounded-md border px-3 py-2.5",children:[h(t),a?(0,q.jsx)("div",{className:"grid grid-cols-2 gap-2",children:i.limits.map((e,t)=>(0,q.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2",children:[(0,q.jsx)("div",{className:"text-[10px] text-muted-foreground",children:Ov[e.type]||e.type}),(0,q.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,q.jsxs)("div",{className:"space-y-1",children:[(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)("span",{className:"text-[11px] text-muted-foreground",children:Ov[t.type]||t.type}),n&&(0,q.jsx)("span",{className:"font-mono text-[11px] tabular-nums",children:n})]}),void 0!==i&&(0,q.jsx)("div",{className:"h-1 overflow-hidden rounded-full bg-muted",children:(0,q.jsx)("div",{className:"h-full rounded-full bg-primary transition-all",style:{width:`${Math.min(100,i)}%`}})}),t.usageDetails&&t.usageDetails.length>0&&(0,q.jsx)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5 pl-2",children:t.usageDetails.map(e=>(0,q.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[e.modelCode,": ",e.usage]},e.modelCode))}),t.nextResetTime&&(0,q.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[e("subscription.resetAt")," ",new Date(t.nextResetTime).toLocaleString()]})]},r)})]},t.id)})]})}let Ow=[[/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 Ox(e){if(!e)return"";for(let[t,r]of Ow)if(t.test(e))return`${(0,vJ.getActiveServerUrl)()||""}/static/provider-icons/${r}.svg`;return""}let OO=[{key:"today",days:1},{key:"7d",days:7},{key:"30d",days:30},{key:"1y",days:365}];function OS(){let e=(0,Z.useTranslations)("home"),[t,r]=(0,K.useState)("30d"),[n,i]=(0,K.useState)(),[a,o]=(0,K.useState)(null),l=(0,K.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]),u=[{accessorKey:"role",header:e("table.agent"),cell:({row:e})=>{let{role:t,runtime:r}=e.original;return(0,q.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,q.jsx)("span",{className:"font-medium text-xs capitalize",children:t}),r&&(0,q.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=Ox(r);return(0,q.jsxs)("div",{className:"flex items-center gap-2",children:[n?(0,q.jsx)("img",{src:n,alt:"",className:"size-4 shrink-0 rounded-sm"}):(0,q.jsx)("span",{className:(0,w1.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm text-[9px] font-semibold",(0,w1.textColorClass)(r??"?")),children:r?.charAt(0).toUpperCase()??"?"}),(0,q.jsx)("span",{className:"truncate text-xs max-w-40",children:r||e("table.modelUnknown")})]})}},{accessorKey:"summary",header:e("table.summary"),cell:({row:e})=>(0,q.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,q.jsxs)("div",{className:"flex flex-col gap-0.5 font-mono text-xs tabular-nums",children:[(0,q.jsx)("span",{children:OA(i)}),(0,q.jsxs)(On.Tooltip,{children:[(0,q.jsxs)(On.TooltipTrigger,{render:(0,q.jsx)("span",{className:"text-muted-foreground text-[10px] cursor-default"}),children:[OD(t.original.inputTokens)," ",e("table.tokensIn")," / ",OD(t.original.outputTokens)," ",e("table.tokensOut")]}),(0,q.jsxs)(On.TooltipContent,{side:"bottom",className:"text-xs",children:[e("table.total")," ",OD(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,q.jsx)(v0.Badge,{className:(0,w1.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,q.jsx)("span",{className:"font-mono text-xs tabular-nums",children:ON(Number.isFinite(n)&&n>0?n:0)})}},{accessorKey:"completedAt",header:e("table.time"),cell:({row:e})=>(0,q.jsx)("span",{className:"text-muted-foreground text-xs",children:l(e.original.completedAt)})}],s=(0,K.useCallback)(()=>"custom"===t&&n?function(e,t){let[r,n]=vY(void 0,e,t),i=vX(r,n),a=Math.abs(vZ(r,n));r.setDate(r.getDate()-i*a);let o=Number(vX(r,n)===-i),l=i*(a-o);return 0===l?0:l}(n.to,n.from)+1:OO.find(e=>e.key===t)?.days??30,[t,n]);(0,K.useEffect)(()=>{let e=new AbortController,t=s();return fetch(`/api/agents/usage/dashboard?days=${t}`,{signal:e.signal}).then(e=>e.ok?e.json():null).then(e=>o(e)).catch(()=>o(null)),()=>e.abort()},[s]);let c=a?.totals??{requests:0,inputTokens:0,outputTokens:0,totalTokens:0,totalCostUsd:0,avgDurationMs:0},d=a?.daily??[],f=a?.byModel??[],p=a?.recent??[],h=Math.max(1,...d.map(e=>e.totalTokens)),g=Math.max(1,...f.map(e=>e.costUsd));return(0,q.jsxs)(w5.Card,{className:"col-span-full gap-0 overflow-hidden rounded-lg py-0",children:[(0,q.jsxs)("div",{className:"flex items-center gap-3 border-b px-4 py-3",children:[(0,q.jsx)("span",{className:"font-medium text-sm",children:e("title")}),(0,q.jsxs)("div",{className:"flex items-center gap-1",children:[OO.map(n=>(0,q.jsx)(v0.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,q.jsxs)(x4.Popover,{children:[(0,q.jsx)(x4.PopoverTrigger,{nativeButton:!1,render:(0,q.jsx)(v0.Badge,{variant:"custom"===t?"default":"secondary",className:"h-5 cursor-pointer rounded-full font-normal text-[10px] transition-colors",children:e("period.custom")})}),(0,q.jsx)(x4.PopoverContent,{className:"w-auto p-0",align:"start",children:(0,q.jsx)(w3,{mode:"range",defaultMonth:n?.from??vQ(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,q.jsxs)("div",{className:"grid grid-cols-2 border-b sm:grid-cols-4",children:[(0,q.jsx)(Oj,{label:e("metric.agentRuns"),value:OE(c.requests),helper:e("metric.agentRunsHelper"),icon:ea,totalCostLabel:e("metric.totalCost")}),(0,q.jsx)(Oj,{label:e("metric.tokensUsed"),value:OD(c.totalTokens),helper:`${OD(c.inputTokens)} ${e("metric.tokensIn")}`,icon:en.Cpu,totalCostLabel:e("metric.totalCost")}),(0,q.jsx)(Oj,{label:e("metric.totalCost"),value:OA(c.totalCostUsd),helper:e("metric.totalCostHelper"),icon:ei,totalCostLabel:e("metric.totalCost")}),(0,q.jsx)(Oj,{label:e("metric.avgDuration"),value:ON(c.avgDurationMs),helper:e("metric.avgDurationHelper"),icon:er,last:!0,totalCostLabel:e("metric.totalCost")})]}),(0,q.jsxs)("div",{className:"grid border-b lg:grid-cols-3",children:[(0,q.jsxs)("div",{className:"border-b p-4 lg:col-span-2 lg:border-r lg:border-b-0",children:[(0,q.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("chart.dailyTokenUsage")}),(0,q.jsxs)("div",{className:"flex items-center gap-3",children:[(0,q.jsx)(OC,{className:"bg-foreground",label:e("chart.input")}),(0,q.jsx)(OC,{className:"bg-foreground/40",label:e("chart.output")})]})]}),(0,q.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,q.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-center gap-1",children:[(0,q.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground tabular-nums",children:OD(e.totalTokens)}),(0,q.jsxs)("div",{className:"relative h-20 w-full",children:[(0,q.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-full rounded-sm bg-muted/40"}),(0,q.jsx)("div",{className:"absolute inset-x-0 bottom-0 rounded-t-sm bg-foreground/40",style:{height:`${r}%`}}),(0,q.jsx)("div",{className:"absolute inset-x-0 bottom-0 rounded-t-sm bg-foreground",style:{height:`${t}%`}})]}),(0,q.jsx)("span",{className:"text-[10px] text-muted-foreground",children:e.label})]},e.date)}),0===d.length?(0,q.jsx)(Ok,{label:e("chart.noTokenData")}):null]})]}),(0,q.jsxs)("div",{className:"p-4",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("chart.costByModel")}),(0,q.jsx)("div",{className:"mt-3 space-y-2.5",children:0===f.length?(0,q.jsx)("p",{className:"text-muted-foreground text-xs",children:e("chart.noUsageRecords")}):f.map((e,t)=>{let r;return(0,q.jsxs)("div",{className:"rounded-md px-2 py-1.5 transition-colors hover:bg-muted/50",children:[(0,q.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,q.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(r=Ox(e.model))?(0,q.jsx)("img",{src:r,alt:"",className:"size-4 shrink-0 rounded-sm"}):(0,q.jsx)("span",{className:(0,w1.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm text-[9px] font-semibold",(0,w1.textColorClass)(e.model??"?")),children:e.model?.charAt(0).toUpperCase()??"?"}),(0,q.jsx)("span",{className:"truncate text-xs",children:e.model})]}),(0,q.jsx)("span",{className:"font-mono text-xs font-semibold tabular-nums",children:OA(e.costUsd)})]}),(0,q.jsx)("div",{className:"mt-1 h-1 overflow-hidden rounded-full bg-muted",children:(0,q.jsx)("div",{className:(0,w1.cn)("h-full rounded-full",0===t?"bg-foreground":"bg-foreground/60"),style:{width:`${Math.max(4,e.costUsd/g*100)}%`}})})]},e.model)})})]})]}),(0,q.jsxs)("div",{className:"grid border-b lg:grid-cols-2",children:[(0,q.jsxs)("div",{className:"border-b p-4 lg:border-r lg:border-b-0",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("chart.tokenDistribution")}),(0,q.jsx)(OP,{inputTokens:c.inputTokens,outputTokens:c.outputTokens})]}),(0,q.jsxs)("div",{className:"p-4",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("chart.costDistribution")}),(0,q.jsx)(O_,{byModel:f,totalCost:c.totalCostUsd})]})]}),(0,q.jsx)("div",{className:"p-4",children:(0,q.jsx)(Ob,{})}),(0,q.jsx)(OM,{data:p,columns:u,formatRelative:l})]})}function OM({data:e,columns:t,formatRelative:r}){let n=(0,Z.useTranslations)("home"),[i,a]=(0,K.useState)({pageIndex:0,pageSize:5}),o=function(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=K.useState(()=>({current:function(e){var t,r;let n=[...e$,...null!=(t=e._features)?t:[]],i={_features:n},a=i._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultOptions?void 0:t.getDefaultOptions(i)),{}),o={...null!=(r=e.initialState)?r:{}};i._features.forEach(e=>{var t;o=null!=(t=null==e.getInitialState?void 0:e.getInitialState(o))?t:o});let l=[],u=!1,s={_features:n,options:{...a,...e},initialState:o,_queue:e=>{l.push(e),u||(u=!0,Promise.resolve().then(()=>{for(;l.length;)l.shift()();u=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{i.setState(i.initialState)},setOptions:e=>{var t;t=eo(e,i.options),i.options=i.options.mergeOptions?i.options.mergeOptions(a,t):{...a,...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:es(()=>[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:es(()=>[i._getColumnDefs()],e=>{let t=function(e,r,n){return void 0===n&&(n=0),e.map(e=>{let a=function(e,t,r,n){var i,a;let o,l={...e._getDefaultColumnDef(),...t},u=l.accessorKey,s=null!=(i=null!=(a=l.id)?a:u?"function"==typeof String.prototype.replaceAll?u.replaceAll(".","_"):u.replace(/\./g,"_"):void 0)?i:"string"==typeof l.header?l.header:void 0;if(l.accessorFn?o=l.accessorFn:u&&(o=u.includes(".")?e=>{let t=e;for(let e of u.split(".")){var r;t=null==(r=t)?void 0:r[e]}return t}:e=>e[l.accessorKey]),!s)throw Error();let c={id:`${String(s)}`,accessorFn:o,parent:n,depth:r,columnDef:l,columns:[],getFlatColumns:es(()=>[!0],()=>{var e;return[c,...null==(e=c.columns)?void 0:e.flatMap(e=>e.getFlatColumns())]},ec(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:es(()=>[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 a.columns=e.columns?t(e.columns,a,n+1):[],a})};return t(e)},ec(e,"debugColumns","getAllColumns")),getAllFlatColumns:es(()=>[i.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),ec(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:es(()=>[i.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),ec(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:es(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),ec(e,"debugColumns","getAllLeafColumns")),getColumn:e=>i._getAllFlatColumnsById()[e]};Object.assign(i,s);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]=K.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=>es(()=>[e.options.data],t=>{let r={rows:[],flatRows:[],rowsById:{}},n=function(t,i,a){void 0===i&&(i=0);let o=[];for(let u=0;u<t.length;u++){let s=eh(e,e._getRowId(t[u],u,a),t[u],u,i,void 0,null==a?void 0:a.id);if(r.flatRows.push(s),r.rowsById[s.id]=s,o.push(s),e.options.getSubRows){var l;s.originalSubRows=e.options.getSubRows(t[u],u),null!=(l=s.originalSubRows)&&l.length&&(s.subRows=n(s.originalSubRows,i+1,s))}}return o};return r.rows=n(t),r},ec(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex())),getPaginationRowModel:e=>es(()=>[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:a}=t,{rows:o,flatRows:l,rowsById:u}=r,s=i*a;if(o=o.slice(s,s+i),e.options.paginateExpandedRows)n={rows:o,flatRows:l,rowsById:u};else{var c;let e,t;c={rows:o,flatRows:l,rowsById:u},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=>es(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,r)=>{if(!r.rows.length||!(null!=t&&t.length))return r;let n=e.getState().sorting,i=[],a=n.filter(t=>{var r;return null==(r=e.getColumn(t.id))?void 0:r.getCanSort()}),o={};a.forEach(t=>{let r=e.getColumn(t.id);r&&(o[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<a.length;n+=1){var r;let i=a[n],l=o[i.id],u=l.sortUndefined,s=null!=(r=null==i?void 0:i.desc)&&r,c=0;if(u){let r=e.getValue(i.id),n=t.getValue(i.id),a=void 0===r,o=void 0===n;if(a||o){if("first"===u)return a?-1:1;if("last"===u)return a?1:-1;c=a&&o?0:a?u:-u}}if(0===c&&(c=l.sortingFn(e,t,i.id)),0!==c)return s&&(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=>es(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,r,n)=>{var i,a,o,l,u,s,c,d,f,p;let h,g,m,y,v,b,w,x,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 M=[],j=[];(null!=r?r:[]).forEach(t=>{var r;let n=e.getColumn(t.id);if(!n)return;let i=n.getFilterFn();i&&M.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;j.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={},M.length)for(let e=0;e<M.length;e++){let t=(h=M[e]).id;r.columnFilters[t]=h.filterFn(r,t,h.resolvedValue,e=>{r.columnFiltersMeta[t]=e})}if(j.length){for(let e=0;e<j.length;e++){let t=(g=j[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,a=e=>{for(let t=0;t<C.length;t++)if(!1===e.columnFilters[C[t]])return!1;return!0},e.options.filterFromLeafRows?(o=i,l=a,m=[],y={},v=null!=(s=(u=e).options.maxLeafRowFilterDepth)?s:100,{rows:(b=function(e,t){void 0===t&&(t=0);let r=[];for(let i=0;i<e.length;i++){var n;let a=e[i],o=eh(u,a.id,a.original,a.index,a.depth,void 0,a.parentId);if(o.columnFilters=a.columnFilters,null!=(n=a.subRows)&&n.length&&t<v){if(o.subRows=b(a.subRows,t+1),l(a=o)&&!o.subRows.length||l(a)||o.subRows.length){r.push(a),y[a.id]=a,m.push(a);continue}}else l(a=o)&&(r.push(a),y[a.id]=a,m.push(a))}return r})(o),flatRows:m,rowsById:y}):(c=i,d=a,w=[],x={},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 a=e[i];if(d(a)){var n;if(null!=(n=a.subRows)&&n.length&&t<O){let e=eh(f,a.id,a.original,a.index,a.depth,void 0,a.parentId);e.subRows=S(a.subRows,t+1),a=e}r.push(a),w.push(a),x[a.id]=a}}return r})(c),flatRows:w,rowsById:x})},ec(e.options,"debugTable","getFilteredRowModel",()=>e._autoResetPageIndex())),onPaginationChange:a,state:{pagination:i}}),{pages:l,showLeftEllipsis:u,showRightEllipsis:s}=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},a={start:Math.max(1,i.start),end:Math.min(t,i.end)};return 1===a.start&&(a.end=Math.min(r,t)),a.end===t&&(a.start=Math.max(1,t-r+1)),Array.from({length:a.end-a.start+1},(e,t)=>a.start+t)}(),i=n.length>0&&n[0]>1&&n[0]>2,a=n.length>0&&n[n.length-1]<t&&n[n.length-1]<t-1;return{pages:n,showLeftEllipsis:i,showRightEllipsis:a}}({currentPage:o.getState().pagination.pageIndex+1,totalPages:o.getPageCount(),paginationItemsToDisplay:2});return 0===e.length?(0,q.jsx)("div",{className:"p-6 text-center text-xs text-muted-foreground",children:n("table.emptyMessage")}):(0,q.jsxs)("div",{className:"w-full",children:[(0,q.jsx)("div",{className:"border-b",children:(0,q.jsxs)(x7,{children:[(0,q.jsx)(x8,{children:o.getHeaderGroups().map(e=>(0,q.jsx)(Oe,{children:e.headers.map(e=>(0,q.jsx)(Ot,{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,q.jsx)(x9,{children:o.getRowModel().rows?.length?o.getRowModel().rows.map(e=>(0,q.jsx)(Oe,{children:e.getVisibleCells().map(e=>(0,q.jsx)(Or,{className:"first:pl-4 py-2.5",children:eY(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,q.jsx)(Oe,{children:(0,q.jsx)(Or,{colSpan:t.length,className:"h-24 text-center",children:n("table.noResults")})})})]})}),(0,q.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,q.jsxs)("p",{className:"text-muted-foreground text-sm whitespace-nowrap","aria-live":"polite",children:[n("pagination.showing")," ",(0,q.jsxs)("span",{children:[5*o.getState().pagination.pageIndex+1," ",n("pagination.to")," ",Math.min((o.getState().pagination.pageIndex+1)*5,o.getRowCount())]})," ",n("pagination.of")," ",(0,q.jsx)("span",{children:o.getRowCount()})," ",n("pagination.entries")]}),(0,q.jsx)(x2,{className:"mx-0 ml-auto w-auto justify-end",children:(0,q.jsxs)(x3,{children:[(0,q.jsx)(x6,{children:(0,q.jsxs)(v1.Button,{className:"disabled:pointer-events-none disabled:opacity-50",variant:"ghost",onClick:()=>o.previousPage(),disabled:!o.getCanPreviousPage(),"aria-label":n("pagination.prevAriaLabel"),children:[(0,q.jsx)(ee,{"aria-hidden":"true"}),n("pagination.previous")]})}),u&&(0,q.jsx)(x6,{children:(0,q.jsx)(x5,{})}),l.map(e=>{let t=e===o.getState().pagination.pageIndex+1;return(0,q.jsx)(x6,{children:(0,q.jsx)(v1.Button,{size:"icon",className:(0,w1.cn)(!t&&"bg-primary/10 text-primary hover:bg-primary/20"),onClick:()=>o.setPageIndex(e-1),"aria-current":t?"page":void 0,children:e})},e)}),s&&(0,q.jsx)(x6,{children:(0,q.jsx)(x5,{})}),(0,q.jsx)(x6,{children:(0,q.jsxs)(v1.Button,{className:"disabled:pointer-events-none disabled:opacity-50",variant:"ghost",onClick:()=>o.nextPage(),disabled:!o.getCanNextPage(),"aria-label":n("pagination.nextAriaLabel"),children:[n("pagination.next"),(0,q.jsx)(et.ChevronRightIcon,{"aria-hidden":"true"})]})})]})})]})]})}function Oj({label:e,value:t,helper:r,icon:n,last:i,totalCostLabel:a}){return(0,q.jsxs)("div",{className:(0,w1.cn)("px-4 py-3",!i&&"border-r"),children:[(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)("span",{className:"text-muted-foreground text-xs",children:e}),(0,q.jsx)(n,{className:"size-3.5 text-muted-foreground"})]}),(0,q.jsx)("div",{className:"mt-1 font-semibold text-2xl tabular-nums",children:t}),(0,q.jsxs)("div",{className:"mt-1 flex items-center gap-1",children:[e===a?(0,q.jsx)(Q,{className:"size-3 text-emerald-500"}):(0,q.jsx)(J.ArrowUp,{className:"size-3 text-emerald-500"}),(0,q.jsx)("span",{className:"text-muted-foreground text-[10px]",children:r})]})]})}function OC({className:e,label:t}){return(0,q.jsxs)("span",{className:"flex items-center gap-1.5 text-[10px] text-muted-foreground",children:[(0,q.jsx)("span",{className:(0,w1.cn)("size-2 rounded-sm",e)}),t]})}function OP({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,q.jsxs)("div",{className:"mt-2",children:[(0,q.jsx)(xZ,{config:i,className:"mx-auto h-40 w-full",children:(0,q.jsxs)(vH,{margin:{top:0,bottom:0,left:0,right:0},children:[(0,q.jsx)(xQ,{cursor:!1,content:(0,q.jsx)(xJ,{hideLabel:!0})}),(0,q.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,q.jsx)(oS,{content:({viewBox:e})=>{if(e&&"cx"in e&&"cy"in e)return(0,q.jsxs)("text",{x:e.cx,y:e.cy,textAnchor:"middle",dominantBaseline:"middle",children:[(0,q.jsx)("tspan",{x:e.cx,y:(e.cy||0)-8,className:"fill-card-foreground text-sm font-medium",children:OD(n)}),(0,q.jsx)("tspan",{x:e.cx,y:(e.cy||0)+10,className:"fill-muted-foreground text-[10px]",children:r("chart.tokens")})]})}})})]})}),(0,q.jsxs)("div",{className:"flex items-center justify-center gap-4",children:[(0,q.jsx)(OC,{className:"bg-primary",label:`${r("chart.input")} ${n?Math.round(e/n*100):0}%`}),(0,q.jsx)(OC,{className:"bg-primary/40",label:`${r("chart.output")} ${n?Math.round(t/n*100):0}%`})]})]})}function O_({byModel:e,totalCost:t}){let r=(0,Z.useTranslations)("home");if(0===e.length)return(0,q.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,w1.textToColor)(e.model)})),a=Object.fromEntries(n.map(e=>[e.model,{label:e.model,color:(0,w1.textToColor)(e.model)}]));return(0,q.jsxs)("div",{className:"mt-2",children:[(0,q.jsx)(xZ,{config:a,className:"mx-auto h-40 w-full",children:(0,q.jsxs)(vH,{margin:{top:0,bottom:0,left:0,right:0},children:[(0,q.jsx)(xQ,{cursor:!1,content:(0,q.jsx)(xJ,{hideLabel:!0})}),(0,q.jsx)(g8,{data:i,dataKey:"value",nameKey:"key",startAngle:90,endAngle:450,innerRadius:48,outerRadius:68,paddingAngle:2,children:(0,q.jsx)(oS,{content:({viewBox:e})=>{if(e&&"cx"in e&&"cy"in e)return(0,q.jsxs)("text",{x:e.cx,y:e.cy,textAnchor:"middle",dominantBaseline:"middle",children:[(0,q.jsx)("tspan",{x:e.cx,y:(e.cy||0)-8,className:"fill-card-foreground text-sm font-medium",children:OA(t)}),(0,q.jsx)("tspan",{x:e.cx,y:(e.cy||0)+10,className:"fill-muted-foreground text-[10px]",children:r("chart.totalCost")})]})}})})]})}),(0,q.jsx)("div",{className:"mt-1 space-y-0.5",children:n.map(e=>(0,q.jsxs)("div",{className:"flex items-center justify-between px-1",children:[(0,q.jsx)("span",{className:"truncate text-[10px]",children:e.model}),(0,q.jsx)("span",{className:"font-mono text-[10px] tabular-nums",children:OA(e.costUsd)})]},e.model))})]})}function Ok({label:e}){return(0,q.jsx)("div",{className:"flex flex-1 items-center justify-center rounded-md border border-dashed text-xs text-muted-foreground",children:e})}function OE(e){return new Intl.NumberFormat("en-US").format(e)}function OD(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:OE(e)}function OA(e){return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:4}).format(e)}function ON(e){return e?e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.round(e/6e4)}m`:"0ms"}var OT=e.i(524),OI=e.i(361031);function OR({initialWorkspaces:e}){let t=(0,OI.useWorkspaceStore)(e=>e.setWorkspaces),r=(0,OI.useWorkspaceStore)(e=>e.upsertWorkspace),[n,i]=(0,K.useState)(!1);(0,K.useEffect)(()=>{t(e)},[e,t]);let a=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,q.jsxs)("div",{className:"flex h-full w-full flex-col overflow-auto",children:[(0,q.jsx)("main",{className:"w-full flex-1 px-4 py-6 sm:px-6",children:(0,q.jsx)(OS,{})}),(0,q.jsx)(OT.WorkspaceDialog,{open:n,onOpenChange:i,onSubmit:a})]})}var OF=e.i(437122);e.s(["default",0,function(){let[e,t]=(0,K.useState)([]);return(0,K.useEffect)(()=>{fetch("/api/workspaces",{headers:(0,OF.authHeaders)()}).then(e=>e.ok?e.json():[]).then(t)},[]),(0,q.jsx)(OR,{initialWorkspaces:e})}],330997)}]);
8
+ `).join("\n")}}):null},xQ=function(e){var t,r,n,i,a,o,l,u,s,c,d=tP(e,xE),{active:f,allowEscapeViewBox:p,animationDuration:h,animationEasing:g,content:m,filterNull:y,isAnimationActive:v,offset:b,payloadUniqBy:w,position:x,reverseDirection:O,useTranslate3d:S,wrapperStyle:M,cursor:j,shared:C,trigger:P,defaultIndex:_,portal:k,axisId:E}=d,D=tX(),A="number"==typeof _?String(_):_;(0,K.useEffect)(()=>{D(hn({shared:C,trigger:P,axisId:E,active:f,defaultIndex:A}))},[D,C,P,E,f,A]);var N=i7(),T=y8(),I=t1(e=>hy(e,C)),{activeIndex:R,isActive:F}=null!=(s=t1(e=>mN(e,I,P,A)))?s:{},z=t1(e=>mA(e,I,P,A)),L=t1(e=>mD(e,I,P,A)),W=t1(e=>mE(e,I,P,A)),B=(0,K.useContext)(vy),V=null!=(c=null!=f?f:F)&&c,[H,U]=xf([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(gs),n=t1(o$),i=t1(oH),a=t1(oU),l=null==(o=t1(vp))?void 0:o.active,u=i7(),(0,K.useEffect)(()=>{if(!l&&null!=i&&null!=n){var e=hc({active:V,coordinate:W,dataKey:t,index:R,label:"number"==typeof $?String($):$,sourceViewBox:u,graphicalItemId:r});vc.emit(vd,i,e,n)}},[l,W,t,r,R,$,n,i,a,V,u]);var Y=null!=k?k:B;if(null==Y||null==N||null==I)return null;var G=null!=z?z:xk;V||(G=xk),y&&G.length&&(G=xd(G.filter(e=>null!=e.value&&(!0!==e.hide||d.includeHidden)),w,x_));var q=G.length>0,Z=xP(xP({},d),{},{payload:G,label:$,active:V,activeIndex:R,coordinate:W,accessibilityLayer:T}),X=K.createElement(xs,{allowEscapeViewBox:p,animationDuration:h,animationEasing:g,isAnimationActive:v,active:V,coordinate:W,hasPayload:q,offset:b,position:x,reverseDirection:O,useTranslate3d:S,viewBox:N,wrapperStyle:M,lastBoundingBox:H,innerRef:U,hasPortalFromProps:!!k},K.isValidElement(m)?K.cloneElement(m,Z):"function"==typeof m?K.createElement(m,Z):K.createElement(xn,Z));return K.createElement(K.Fragment,null,(0,aw.createPortal)(X,Y),V&&K.createElement(xj,{cursor:j,tooltipEventType:I,coordinate:W,payload:G,index:R}))};function xJ({active:e,payload:t,className:r,indicator:n="dot",hideLabel:i=!1,hideIndicator:a=!1,label:o,labelFormatter:l,labelClassName:u,formatter:s,color:c,nameKey:d,labelKey:f}){let{config:p}=function(){let e=K.useContext(xK);if(!e)throw Error("useChart must be used within a <ChartContainer />");return e}(),h=K.useMemo(()=>{if(i||!t?.length)return null;let[e]=t,r=`${f??e?.dataKey??e?.name??"value"}`,n=x0(p,e,r),a=f||"string"!=typeof o?n?.label:p[o]?.label??o;return l?(0,q.jsx)("div",{className:(0,w1.cn)("font-medium",u),children:l(a,t)}):a?(0,q.jsx)("div",{className:(0,w1.cn)("font-medium",u),children:a}):null},[o,l,t,i,u,p,f]);if(!e||!t?.length)return null;let g=1===t.length&&"dot"!==n;return(0,q.jsxs)("div",{className:(0,w1.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,q.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=x0(p,e,r),o=c??e.payload?.fill??e.color;return(0,q.jsx)("div",{className:(0,w1.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:s&&e?.value!==void 0&&e.name?s(e.value,e.name,e,t,e.payload):(0,q.jsxs)(q.Fragment,{children:[i?.icon?(0,q.jsx)(i.icon,{}):!a&&(0,q.jsx)("div",{className:(0,w1.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":o,"--color-border":o}}),(0,q.jsxs)("div",{className:(0,w1.cn)("flex flex-1 justify-between leading-none",g?"items-end":"items-center"),children:[(0,q.jsxs)("div",{className:"grid gap-1.5",children:[g?h:null,(0,q.jsx)("span",{className:"text-muted-foreground",children:i?.label??e.name})]}),null!=e.value&&(0,q.jsx)("span",{className:"font-mono font-medium text-foreground tabular-nums",children:"number"==typeof e.value?e.value.toLocaleString():String(e.value)})]})]})},t)})})]})}function x0(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 x1=e.i(226651),x1=x1;function x2({className:e,...t}){return(0,q.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,w1.cn)("mx-auto flex w-full justify-center",e),...t})}function x3({className:e,...t}){return(0,q.jsx)("ul",{"data-slot":"pagination-content",className:(0,w1.cn)("flex items-center gap-0.5",e),...t})}function x6({...e}){return(0,q.jsx)("li",{"data-slot":"pagination-item",...e})}function x5({className:e,...t}){return(0,q.jsxs)("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:(0,w1.cn)("flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4",e),...t,children:[(0,q.jsx)(x1.default,{}),(0,q.jsx)("span",{className:"sr-only",children:"More pages"})]})}var x4=e.i(996652);function x7({className:e,...t}){return(0,q.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,q.jsx)("table",{"data-slot":"table",className:(0,w1.cn)("w-full caption-bottom text-sm",e),...t})})}function x8({className:e,...t}){return(0,q.jsx)("thead",{"data-slot":"table-header",className:(0,w1.cn)("[&_tr]:border-b",e),...t})}function x9({className:e,...t}){return(0,q.jsx)("tbody",{"data-slot":"table-body",className:(0,w1.cn)("[&_tr:last-child]:border-0",e),...t})}function Oe({className:e,...t}){return(0,q.jsx)("tr",{"data-slot":"table-row",className:(0,w1.cn)("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...t})}function Ot({className:e,...t}){return(0,q.jsx)("th",{"data-slot":"table-head",className:(0,w1.cn)("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",e),...t})}function Or({className:e,...t}){return(0,q.jsx)("td",{"data-slot":"table-cell",className:(0,w1.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}var On=e.i(638322),Oi=e.i(962562),Oa=e.i(601039),Oo=e.i(953700),Ol=e.i(137340),Ou=e.i(209988),Os=e.i(681622),Oc=e.i(817854);let Od=[{value:"zhipu",label:"智谱 (ZhiPu)",authMode:"headers"},{value:"minimax",label:"MiniMax",authMode:"cookie"},{value:"aicode",label:"AI Code",authMode:"cookie"}],Of={zhipu:[{key:"Authorization",value:""}]},Op=1;function Oh(e){return Of[e]?.map(e=>({...e,id:Op++}))??[]}function Og(e){return Od.find(t=>t.value===e)?.authMode??"headers"}function Om(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:Op++,key:e,value:t})):[]}}function Oy({onChange:e,editConfig:t,onEditClear:r}){let n=(0,Z.useTranslations)("home"),[i,a]=(0,K.useState)(!1),[o,l]=(0,K.useState)([]),[u,s]=(0,K.useState)(null),c=(0,K.useCallback)(async()=>{let e=await fetch("/api/subscriptions");e.ok&&l(await e.json())},[]);(0,K.useEffect)(()=>{t&&(s(Om(t)),a(!0))},[t]),(0,K.useEffect)(()=>{i&&c()},[i,c]);let d=async()=>{if(!u)return;let t=Og(u.provider),r={provider:u.provider,label:u.label||u.provider};if("cookie"===t)r.cookie=u.cookie;else{let e;r.headers=(e=u.headers.filter(e=>e.key.trim()).map(e=>[e.key.trim(),e.value])).length>0?Object.fromEntries(e):void 0}let n=u.id?`/api/subscriptions/${u.id}`:"/api/subscriptions",i=u.id?"PUT":"POST";(await fetch(n,{method:i,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})).ok&&(s(null),await c(),e?.())},f=async t=>{await fetch(`/api/subscriptions/${t}`,{method:"DELETE"}),await c(),e?.()},p=(e,t,r)=>{u&&s({...u,headers:u.headers.map(n=>n.id===e?{...n,[t]:r}:n)})},h=u?Og(u.provider):null,g=u&&("cookie"===h?!!u.cookie.trim():u.headers.some(e=>e.key.trim()&&e.value.trim()));return(0,q.jsxs)(Ou.Dialog,{open:i,onOpenChange:e=>{a(e),e||(s(null),r?.())},children:[(0,q.jsx)(Ou.DialogTrigger,{nativeButton:!0,render:(0,q.jsxs)(v1.Button,{variant:"outline",size:"sm",className:"h-7 gap-1.5 text-xs",children:[(0,q.jsx)(Oo.Plus,{className:"size-3.5"}),n("subscription.addPlatform")]})}),(0,q.jsxs)(Ou.DialogContent,{className:"sm:max-w-lg",children:[(0,q.jsx)(Ou.DialogHeader,{children:(0,q.jsx)(Ou.DialogTitle,{className:"text-sm",children:n(u?.id?"subscription.editTitle":"subscription.title")})}),(0,q.jsxs)("div",{className:"space-y-3",children:[!u&&o.map(e=>(0,q.jsxs)("div",{className:"flex items-center justify-between rounded-md border px-3 py-2",children:[(0,q.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,q.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,q.jsxs)("span",{className:"text-[10px] text-muted-foreground capitalize",children:["(",e.provider,")"]})]}),(0,q.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>s(Om(e)),children:(0,q.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,q.jsx)("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"}),(0,q.jsx)("path",{d:"m15 5 4 4"})]})}),(0,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>f(e.id),children:(0,q.jsx)(Ol.Trash2,{className:"size-3 text-muted-foreground"})})]})]},e.id)),!u&&0===o.length&&(0,q.jsx)("p",{className:"text-center text-xs text-muted-foreground py-2",children:n("subscription.empty")}),u&&h&&(0,q.jsxs)("div",{className:"space-y-3 rounded-md border p-3",children:[(0,q.jsxs)("div",{className:"space-y-1.5",children:[(0,q.jsx)(Oc.Label,{className:"text-xs",children:n("subscription.platform")}),(0,q.jsx)("div",{className:"flex gap-1.5",children:Od.map(e=>(0,q.jsx)(v1.Button,{size:"sm",variant:u.provider===e.value?"default":"secondary",className:"h-7 text-xs",onClick:()=>{var t;return t=e.value,void(u&&s({...u,provider:t,cookie:"",headers:Oh(t)}))},children:e.label},e.value))})]}),(0,q.jsxs)("div",{className:"space-y-1.5",children:[(0,q.jsx)(Oc.Label,{className:"text-xs",children:n("subscription.label")}),(0,q.jsx)(Os.Input,{className:"h-8 text-xs",value:u.label,onChange:e=>s({...u,label:e.target.value}),placeholder:n("subscription.labelPlaceholder")})]}),"cookie"===h&&(0,q.jsxs)("div",{className:"space-y-1.5",children:[(0,q.jsx)(Oc.Label,{className:"text-xs",children:"Cookie"}),(0,q.jsx)(Os.Input,{className:"h-8 text-xs font-mono",value:u.cookie,onChange:e=>s({...u,cookie:e.target.value}),placeholder:n("subscription.cookiePlaceholder")})]}),"headers"===h&&(0,q.jsxs)("div",{className:"space-y-1.5",children:[(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)(Oc.Label,{className:"text-xs",children:n("subscription.headers")}),(0,q.jsxs)(v1.Button,{variant:"ghost",size:"sm",className:"h-5 text-[10px] gap-0.5 px-1",onClick:()=>{u&&s({...u,headers:[...u.headers,{id:Op++,key:"",value:""}]})},children:[(0,q.jsx)(Oo.Plus,{className:"size-2.5"})," ",n("subscription.addHeader")]})]}),(0,q.jsxs)("div",{className:"space-y-1.5",children:[u.headers.map(e=>(0,q.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,q.jsx)(Os.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,q.jsx)(Os.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,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-6 shrink-0",onClick:()=>{var t;return t=e.id,void(u&&s({...u,headers:u.headers.filter(e=>e.id!==t)}))},children:(0,q.jsx)(Ol.Trash2,{className:"size-3 text-muted-foreground"})})]},e.id)),0===u.headers.length&&(0,q.jsx)("p",{className:"text-[10px] text-muted-foreground text-center py-1",children:n("subscription.noHeaders")})]})]}),(0,q.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,q.jsx)(v1.Button,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>s(null),children:n("subscription.cancel")}),(0,q.jsx)(v1.Button,{size:"sm",className:"h-7 text-xs",onClick:d,disabled:!g,children:n("subscription.save")})]})]}),!u&&(0,q.jsxs)(v1.Button,{size:"sm",variant:"outline",className:"w-full h-7 text-xs gap-1",onClick:()=>((e="zhipu")=>{s({provider:e,label:"",cookie:"",headers:Oh(e)})})(),children:[(0,q.jsx)(Oo.Plus,{className:"size-3"}),n("subscription.add")]})]})]})]})}let Ov={TIME_LIMIT:"时间额度",TOKENS_LIMIT:"Token 额度","MiniMax-M*":"MiniMax-M*","coding-plan-vlm":"Coding Plan VLM","coding-plan-search":"Coding Plan Search",balance:"余额",bonusBalance:"赠送余额"};function Ob(){let e=(0,Z.useTranslations)("home"),[t,r]=(0,K.useState)([]),[n,i]=(0,K.useState)(new Map),[a,o]=(0,K.useState)(!1),[l,u]=(0,K.useState)(0),[s,c]=(0,K.useState)(null),d=(0,K.useCallback)(async()=>{let e=await fetch("/api/subscriptions");e.ok&&r(await e.json())},[]),f=(0,K.useCallback)(async e=>{o(!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),o(!1)},[]);(0,K.useEffect)(()=>{d()},[d,l]),(0,K.useEffect)(()=>{t.length>0&&f(t)},[t,f]);let p=()=>u(e=>e+1),h=e=>(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsxs)("div",{className:"flex items-center gap-2",children:[(0,q.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,q.jsxs)("span",{className:"text-[10px] text-muted-foreground capitalize",children:["(",e.provider,")"]})]}),(0,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-5",onClick:()=>c(e),children:(0,q.jsx)(Oi.Pencil,{className:"size-3 text-muted-foreground"})})]});return 0===t.length?(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("subscription.planTitle")}),(0,q.jsx)(Oy,{onChange:p})]}):(0,q.jsxs)("div",{className:"space-y-3",children:[(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("subscription.planTitle")}),(0,q.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,q.jsx)(v1.Button,{variant:"ghost",size:"icon",className:"size-6",onClick:()=>f(t),disabled:a,children:(0,q.jsx)(Oa.RefreshCw,{className:`size-3 text-muted-foreground ${a?"animate-spin":""}`})}),(0,q.jsx)(Oy,{onChange:p,editConfig:s,onEditClear:()=>c(null)})]})]}),t.map(t=>{let r=n.get(t.id);if(!r)return(0,q.jsx)("div",{className:"rounded-md border px-3 py-2",children:h(t)},t.id);if("error"in r)return(0,q.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,q.jsx)("p",{className:"mt-1 text-[11px] text-red-600 dark:text-red-400",children:r.error})]},t.id);let i=r.data,a=i.limits.some(e=>"balance"===e.type||"bonusBalance"===e.type);return(0,q.jsxs)("div",{className:"space-y-2 rounded-md border px-3 py-2.5",children:[h(t),a?(0,q.jsx)("div",{className:"grid grid-cols-2 gap-2",children:i.limits.map((e,t)=>(0,q.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2",children:[(0,q.jsx)("div",{className:"text-[10px] text-muted-foreground",children:Ov[e.type]||e.type}),(0,q.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,q.jsxs)("div",{className:"space-y-1",children:[(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)("span",{className:"text-[11px] text-muted-foreground",children:Ov[t.type]||t.type}),n&&(0,q.jsx)("span",{className:"font-mono text-[11px] tabular-nums",children:n})]}),void 0!==i&&(0,q.jsx)("div",{className:"h-1 overflow-hidden rounded-full bg-muted",children:(0,q.jsx)("div",{className:"h-full rounded-full bg-primary transition-all",style:{width:`${Math.min(100,i)}%`}})}),t.usageDetails&&t.usageDetails.length>0&&(0,q.jsx)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5 pl-2",children:t.usageDetails.map(e=>(0,q.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[e.modelCode,": ",e.usage]},e.modelCode))}),t.nextResetTime&&(0,q.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[e("subscription.resetAt")," ",new Date(t.nextResetTime).toLocaleString()]})]},r)})]},t.id)})]})}let Ow=[[/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 Ox(e){if(!e)return"";for(let[t,r]of Ow)if(t.test(e))return`${(0,vJ.getActiveServerUrl)()||""}/static/provider-icons/${r}.svg`;return""}let OO=[{key:"today",days:1},{key:"7d",days:7},{key:"30d",days:30},{key:"1y",days:365}];function OS(){let e=(0,Z.useTranslations)("home"),[t,r]=(0,K.useState)("30d"),[n,i]=(0,K.useState)(),[a,o]=(0,K.useState)(null),l=(0,K.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]),u=[{accessorKey:"role",header:e("table.agent"),cell:({row:e})=>{let{role:t,runtime:r}=e.original;return(0,q.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,q.jsx)("span",{className:"font-medium text-xs capitalize",children:t}),r&&(0,q.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=Ox(r);return(0,q.jsxs)("div",{className:"flex items-center gap-2",children:[n?(0,q.jsx)("img",{src:n,alt:"",className:"size-4 shrink-0 rounded-sm"}):(0,q.jsx)("span",{className:(0,w1.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm text-[9px] font-semibold",(0,w1.textColorClass)(r??"?")),children:r?.charAt(0).toUpperCase()??"?"}),(0,q.jsx)("span",{className:"truncate text-xs max-w-40",children:r||e("table.modelUnknown")})]})}},{accessorKey:"summary",header:e("table.summary"),cell:({row:e})=>(0,q.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,q.jsxs)("div",{className:"flex flex-col gap-0.5 font-mono text-xs tabular-nums",children:[(0,q.jsx)("span",{children:OA(i)}),(0,q.jsxs)(On.Tooltip,{children:[(0,q.jsxs)(On.TooltipTrigger,{render:(0,q.jsx)("span",{className:"text-muted-foreground text-[10px] cursor-default"}),children:[OD(t.original.inputTokens)," ",e("table.tokensIn")," / ",OD(t.original.outputTokens)," ",e("table.tokensOut")]}),(0,q.jsxs)(On.TooltipContent,{side:"bottom",className:"text-xs",children:[e("table.total")," ",OD(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,q.jsx)(v0.Badge,{className:(0,w1.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,q.jsx)("span",{className:"font-mono text-xs tabular-nums",children:ON(Number.isFinite(n)&&n>0?n:0)})}},{accessorKey:"completedAt",header:e("table.time"),cell:({row:e})=>(0,q.jsx)("span",{className:"text-muted-foreground text-xs",children:l(e.original.completedAt)})}],s=(0,K.useCallback)(()=>"custom"===t&&n?function(e,t){let[r,n]=vY(void 0,e,t),i=vX(r,n),a=Math.abs(vZ(r,n));r.setDate(r.getDate()-i*a);let o=Number(vX(r,n)===-i),l=i*(a-o);return 0===l?0:l}(n.to,n.from)+1:OO.find(e=>e.key===t)?.days??30,[t,n]);(0,K.useEffect)(()=>{let e=new AbortController,t=s();return fetch(`/api/agents/usage/dashboard?days=${t}`,{signal:e.signal}).then(e=>e.ok?e.json():null).then(e=>o(e)).catch(()=>o(null)),()=>e.abort()},[s]);let c=a?.totals??{requests:0,inputTokens:0,outputTokens:0,totalTokens:0,totalCostUsd:0,avgDurationMs:0},d=a?.daily??[],f=a?.byModel??[],p=a?.recent??[],h=Math.max(1,...d.map(e=>e.totalTokens)),g=Math.max(1,...f.map(e=>e.costUsd));return(0,q.jsxs)(w5.Card,{className:"col-span-full gap-0 overflow-hidden rounded-lg py-0",children:[(0,q.jsxs)("div",{className:"flex items-center gap-3 border-b px-4 py-3",children:[(0,q.jsx)("span",{className:"font-medium text-sm",children:e("title")}),(0,q.jsxs)("div",{className:"flex items-center gap-1",children:[OO.map(n=>(0,q.jsx)(v0.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,q.jsxs)(x4.Popover,{children:[(0,q.jsx)(x4.PopoverTrigger,{nativeButton:!1,render:(0,q.jsx)(v0.Badge,{variant:"custom"===t?"default":"secondary",className:"h-5 cursor-pointer rounded-full font-normal text-[10px] transition-colors",children:e("period.custom")})}),(0,q.jsx)(x4.PopoverContent,{className:"w-auto p-0",align:"start",children:(0,q.jsx)(w3,{mode:"range",defaultMonth:n?.from??vQ(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,q.jsxs)("div",{className:"grid grid-cols-2 border-b sm:grid-cols-4",children:[(0,q.jsx)(Oj,{label:e("metric.agentRuns"),value:OE(c.requests),helper:e("metric.agentRunsHelper"),icon:ea,totalCostLabel:e("metric.totalCost")}),(0,q.jsx)(Oj,{label:e("metric.tokensUsed"),value:OD(c.totalTokens),helper:`${OD(c.inputTokens)} ${e("metric.tokensIn")}`,icon:en.Cpu,totalCostLabel:e("metric.totalCost")}),(0,q.jsx)(Oj,{label:e("metric.totalCost"),value:OA(c.totalCostUsd),helper:e("metric.totalCostHelper"),icon:ei,totalCostLabel:e("metric.totalCost")}),(0,q.jsx)(Oj,{label:e("metric.avgDuration"),value:ON(c.avgDurationMs),helper:e("metric.avgDurationHelper"),icon:er,last:!0,totalCostLabel:e("metric.totalCost")})]}),(0,q.jsxs)("div",{className:"grid border-b lg:grid-cols-3",children:[(0,q.jsxs)("div",{className:"border-b p-4 lg:col-span-2 lg:border-r lg:border-b-0",children:[(0,q.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("chart.dailyTokenUsage")}),(0,q.jsxs)("div",{className:"flex items-center gap-3",children:[(0,q.jsx)(OC,{className:"bg-foreground",label:e("chart.input")}),(0,q.jsx)(OC,{className:"bg-foreground/40",label:e("chart.output")})]})]}),(0,q.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,q.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col items-center gap-1",children:[(0,q.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground tabular-nums",children:OD(e.totalTokens)}),(0,q.jsxs)("div",{className:"relative h-20 w-full",children:[(0,q.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-full rounded-sm bg-muted/40"}),(0,q.jsx)("div",{className:"absolute inset-x-0 bottom-0 rounded-t-sm bg-foreground/40",style:{height:`${r}%`}}),(0,q.jsx)("div",{className:"absolute inset-x-0 bottom-0 rounded-t-sm bg-foreground",style:{height:`${t}%`}})]}),(0,q.jsx)("span",{className:"text-[10px] text-muted-foreground",children:e.label})]},e.date)}),0===d.length?(0,q.jsx)(Ok,{label:e("chart.noTokenData")}):null]})]}),(0,q.jsxs)("div",{className:"p-4",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("chart.costByModel")}),(0,q.jsx)("div",{className:"mt-3 space-y-2.5",children:0===f.length?(0,q.jsx)("p",{className:"text-muted-foreground text-xs",children:e("chart.noUsageRecords")}):f.map((e,t)=>{let r;return(0,q.jsxs)("div",{className:"rounded-md px-2 py-1.5 transition-colors hover:bg-muted/50",children:[(0,q.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,q.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(r=Ox(e.model))?(0,q.jsx)("img",{src:r,alt:"",className:"size-4 shrink-0 rounded-sm"}):(0,q.jsx)("span",{className:(0,w1.cn)("flex size-4 shrink-0 items-center justify-center rounded-sm text-[9px] font-semibold",(0,w1.textColorClass)(e.model??"?")),children:e.model?.charAt(0).toUpperCase()??"?"}),(0,q.jsx)("span",{className:"truncate text-xs",children:e.model})]}),(0,q.jsx)("span",{className:"font-mono text-xs font-semibold tabular-nums",children:OA(e.costUsd)})]}),(0,q.jsx)("div",{className:"mt-1 h-1 overflow-hidden rounded-full bg-muted",children:(0,q.jsx)("div",{className:(0,w1.cn)("h-full rounded-full",0===t?"bg-foreground":"bg-foreground/60"),style:{width:`${Math.max(4,e.costUsd/g*100)}%`}})})]},e.model)})})]})]}),(0,q.jsxs)("div",{className:"grid border-b lg:grid-cols-2",children:[(0,q.jsxs)("div",{className:"border-b p-4 lg:border-r lg:border-b-0",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("chart.tokenDistribution")}),(0,q.jsx)(OP,{inputTokens:c.inputTokens,outputTokens:c.outputTokens})]}),(0,q.jsxs)("div",{className:"p-4",children:[(0,q.jsx)("span",{className:"font-medium text-xs",children:e("chart.costDistribution")}),(0,q.jsx)(O_,{byModel:f,totalCost:c.totalCostUsd})]})]}),(0,q.jsx)("div",{className:"p-4",children:(0,q.jsx)(Ob,{})}),(0,q.jsx)(OM,{data:p,columns:u,formatRelative:l})]})}function OM({data:e,columns:t,formatRelative:r}){let n=(0,Z.useTranslations)("home"),[i,a]=(0,K.useState)({pageIndex:0,pageSize:5}),o=function(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[r]=K.useState(()=>({current:function(e){var t,r;let n=[...e$,...null!=(t=e._features)?t:[]],i={_features:n},a=i._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultOptions?void 0:t.getDefaultOptions(i)),{}),o={...null!=(r=e.initialState)?r:{}};i._features.forEach(e=>{var t;o=null!=(t=null==e.getInitialState?void 0:e.getInitialState(o))?t:o});let l=[],u=!1,s={_features:n,options:{...a,...e},initialState:o,_queue:e=>{l.push(e),u||(u=!0,Promise.resolve().then(()=>{for(;l.length;)l.shift()();u=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{i.setState(i.initialState)},setOptions:e=>{var t;t=eo(e,i.options),i.options=i.options.mergeOptions?i.options.mergeOptions(a,t):{...a,...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:es(()=>[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:es(()=>[i._getColumnDefs()],e=>{let t=function(e,r,n){return void 0===n&&(n=0),e.map(e=>{let a=function(e,t,r,n){var i,a;let o,l={...e._getDefaultColumnDef(),...t},u=l.accessorKey,s=null!=(i=null!=(a=l.id)?a:u?"function"==typeof String.prototype.replaceAll?u.replaceAll(".","_"):u.replace(/\./g,"_"):void 0)?i:"string"==typeof l.header?l.header:void 0;if(l.accessorFn?o=l.accessorFn:u&&(o=u.includes(".")?e=>{let t=e;for(let e of u.split(".")){var r;t=null==(r=t)?void 0:r[e]}return t}:e=>e[l.accessorKey]),!s)throw Error();let c={id:`${String(s)}`,accessorFn:o,parent:n,depth:r,columnDef:l,columns:[],getFlatColumns:es(()=>[!0],()=>{var e;return[c,...null==(e=c.columns)?void 0:e.flatMap(e=>e.getFlatColumns())]},ec(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:es(()=>[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 a.columns=e.columns?t(e.columns,a,n+1):[],a})};return t(e)},ec(e,"debugColumns","getAllColumns")),getAllFlatColumns:es(()=>[i.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),ec(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:es(()=>[i.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),ec(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:es(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),ec(e,"debugColumns","getAllLeafColumns")),getColumn:e=>i._getAllFlatColumnsById()[e]};Object.assign(i,s);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]=K.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=>es(()=>[e.options.data],t=>{let r={rows:[],flatRows:[],rowsById:{}},n=function(t,i,a){void 0===i&&(i=0);let o=[];for(let u=0;u<t.length;u++){let s=eh(e,e._getRowId(t[u],u,a),t[u],u,i,void 0,null==a?void 0:a.id);if(r.flatRows.push(s),r.rowsById[s.id]=s,o.push(s),e.options.getSubRows){var l;s.originalSubRows=e.options.getSubRows(t[u],u),null!=(l=s.originalSubRows)&&l.length&&(s.subRows=n(s.originalSubRows,i+1,s))}}return o};return r.rows=n(t),r},ec(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex())),getPaginationRowModel:e=>es(()=>[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:a}=t,{rows:o,flatRows:l,rowsById:u}=r,s=i*a;if(o=o.slice(s,s+i),e.options.paginateExpandedRows)n={rows:o,flatRows:l,rowsById:u};else{var c;let e,t;c={rows:o,flatRows:l,rowsById:u},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=>es(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,r)=>{if(!r.rows.length||!(null!=t&&t.length))return r;let n=e.getState().sorting,i=[],a=n.filter(t=>{var r;return null==(r=e.getColumn(t.id))?void 0:r.getCanSort()}),o={};a.forEach(t=>{let r=e.getColumn(t.id);r&&(o[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<a.length;n+=1){var r;let i=a[n],l=o[i.id],u=l.sortUndefined,s=null!=(r=null==i?void 0:i.desc)&&r,c=0;if(u){let r=e.getValue(i.id),n=t.getValue(i.id),a=void 0===r,o=void 0===n;if(a||o){if("first"===u)return a?-1:1;if("last"===u)return a?1:-1;c=a&&o?0:a?u:-u}}if(0===c&&(c=l.sortingFn(e,t,i.id)),0!==c)return s&&(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=>es(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,r,n)=>{var i,a,o,l,u,s,c,d,f,p;let h,g,m,y,v,b,w,x,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 M=[],j=[];(null!=r?r:[]).forEach(t=>{var r;let n=e.getColumn(t.id);if(!n)return;let i=n.getFilterFn();i&&M.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;j.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={},M.length)for(let e=0;e<M.length;e++){let t=(h=M[e]).id;r.columnFilters[t]=h.filterFn(r,t,h.resolvedValue,e=>{r.columnFiltersMeta[t]=e})}if(j.length){for(let e=0;e<j.length;e++){let t=(g=j[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,a=e=>{for(let t=0;t<C.length;t++)if(!1===e.columnFilters[C[t]])return!1;return!0},e.options.filterFromLeafRows?(o=i,l=a,m=[],y={},v=null!=(s=(u=e).options.maxLeafRowFilterDepth)?s:100,{rows:(b=function(e,t){void 0===t&&(t=0);let r=[];for(let i=0;i<e.length;i++){var n;let a=e[i],o=eh(u,a.id,a.original,a.index,a.depth,void 0,a.parentId);if(o.columnFilters=a.columnFilters,null!=(n=a.subRows)&&n.length&&t<v){if(o.subRows=b(a.subRows,t+1),l(a=o)&&!o.subRows.length||l(a)||o.subRows.length){r.push(a),y[a.id]=a,m.push(a);continue}}else l(a=o)&&(r.push(a),y[a.id]=a,m.push(a))}return r})(o),flatRows:m,rowsById:y}):(c=i,d=a,w=[],x={},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 a=e[i];if(d(a)){var n;if(null!=(n=a.subRows)&&n.length&&t<O){let e=eh(f,a.id,a.original,a.index,a.depth,void 0,a.parentId);e.subRows=S(a.subRows,t+1),a=e}r.push(a),w.push(a),x[a.id]=a}}return r})(c),flatRows:w,rowsById:x})},ec(e.options,"debugTable","getFilteredRowModel",()=>e._autoResetPageIndex())),onPaginationChange:a,state:{pagination:i}}),{pages:l,showLeftEllipsis:u,showRightEllipsis:s}=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},a={start:Math.max(1,i.start),end:Math.min(t,i.end)};return 1===a.start&&(a.end=Math.min(r,t)),a.end===t&&(a.start=Math.max(1,t-r+1)),Array.from({length:a.end-a.start+1},(e,t)=>a.start+t)}(),i=n.length>0&&n[0]>1&&n[0]>2,a=n.length>0&&n[n.length-1]<t&&n[n.length-1]<t-1;return{pages:n,showLeftEllipsis:i,showRightEllipsis:a}}({currentPage:o.getState().pagination.pageIndex+1,totalPages:o.getPageCount(),paginationItemsToDisplay:2});return 0===e.length?(0,q.jsx)("div",{className:"p-6 text-center text-xs text-muted-foreground",children:n("table.emptyMessage")}):(0,q.jsxs)("div",{className:"w-full",children:[(0,q.jsx)("div",{className:"border-b",children:(0,q.jsxs)(x7,{children:[(0,q.jsx)(x8,{children:o.getHeaderGroups().map(e=>(0,q.jsx)(Oe,{children:e.headers.map(e=>(0,q.jsx)(Ot,{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,q.jsx)(x9,{children:o.getRowModel().rows?.length?o.getRowModel().rows.map(e=>(0,q.jsx)(Oe,{children:e.getVisibleCells().map(e=>(0,q.jsx)(Or,{className:"first:pl-4 py-2.5",children:eY(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,q.jsx)(Oe,{children:(0,q.jsx)(Or,{colSpan:t.length,className:"h-24 text-center",children:n("table.noResults")})})})]})}),(0,q.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,q.jsxs)("p",{className:"text-muted-foreground text-sm whitespace-nowrap","aria-live":"polite",children:[n("pagination.showing")," ",(0,q.jsxs)("span",{children:[5*o.getState().pagination.pageIndex+1," ",n("pagination.to")," ",Math.min((o.getState().pagination.pageIndex+1)*5,o.getRowCount())]})," ",n("pagination.of")," ",(0,q.jsx)("span",{children:o.getRowCount()})," ",n("pagination.entries")]}),(0,q.jsx)(x2,{className:"mx-0 ml-auto w-auto justify-end",children:(0,q.jsxs)(x3,{children:[(0,q.jsx)(x6,{children:(0,q.jsxs)(v1.Button,{className:"disabled:pointer-events-none disabled:opacity-50",variant:"ghost",onClick:()=>o.previousPage(),disabled:!o.getCanPreviousPage(),"aria-label":n("pagination.prevAriaLabel"),children:[(0,q.jsx)(ee,{"aria-hidden":"true"}),n("pagination.previous")]})}),u&&(0,q.jsx)(x6,{children:(0,q.jsx)(x5,{})}),l.map(e=>{let t=e===o.getState().pagination.pageIndex+1;return(0,q.jsx)(x6,{children:(0,q.jsx)(v1.Button,{size:"icon",className:(0,w1.cn)(!t&&"bg-primary/10 text-primary hover:bg-primary/20"),onClick:()=>o.setPageIndex(e-1),"aria-current":t?"page":void 0,children:e})},e)}),s&&(0,q.jsx)(x6,{children:(0,q.jsx)(x5,{})}),(0,q.jsx)(x6,{children:(0,q.jsxs)(v1.Button,{className:"disabled:pointer-events-none disabled:opacity-50",variant:"ghost",onClick:()=>o.nextPage(),disabled:!o.getCanNextPage(),"aria-label":n("pagination.nextAriaLabel"),children:[n("pagination.next"),(0,q.jsx)(et.ChevronRightIcon,{"aria-hidden":"true"})]})})]})})]})]})}function Oj({label:e,value:t,helper:r,icon:n,last:i,totalCostLabel:a}){return(0,q.jsxs)("div",{className:(0,w1.cn)("px-4 py-3",!i&&"border-r"),children:[(0,q.jsxs)("div",{className:"flex items-center justify-between",children:[(0,q.jsx)("span",{className:"text-muted-foreground text-xs",children:e}),(0,q.jsx)(n,{className:"size-3.5 text-muted-foreground"})]}),(0,q.jsx)("div",{className:"mt-1 font-semibold text-2xl tabular-nums",children:t}),(0,q.jsxs)("div",{className:"mt-1 flex items-center gap-1",children:[e===a?(0,q.jsx)(Q,{className:"size-3 text-emerald-500"}):(0,q.jsx)(J.ArrowUp,{className:"size-3 text-emerald-500"}),(0,q.jsx)("span",{className:"text-muted-foreground text-[10px]",children:r})]})]})}function OC({className:e,label:t}){return(0,q.jsxs)("span",{className:"flex items-center gap-1.5 text-[10px] text-muted-foreground",children:[(0,q.jsx)("span",{className:(0,w1.cn)("size-2 rounded-sm",e)}),t]})}function OP({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,q.jsxs)("div",{className:"mt-2",children:[(0,q.jsx)(xZ,{config:i,className:"mx-auto h-40 w-full",children:(0,q.jsxs)(vH,{margin:{top:0,bottom:0,left:0,right:0},children:[(0,q.jsx)(xQ,{cursor:!1,content:(0,q.jsx)(xJ,{hideLabel:!0})}),(0,q.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,q.jsx)(oS,{content:({viewBox:e})=>{if(e&&"cx"in e&&"cy"in e)return(0,q.jsxs)("text",{x:e.cx,y:e.cy,textAnchor:"middle",dominantBaseline:"middle",children:[(0,q.jsx)("tspan",{x:e.cx,y:(e.cy||0)-8,className:"fill-card-foreground text-sm font-medium",children:OD(n)}),(0,q.jsx)("tspan",{x:e.cx,y:(e.cy||0)+10,className:"fill-muted-foreground text-[10px]",children:r("chart.tokens")})]})}})})]})}),(0,q.jsxs)("div",{className:"flex items-center justify-center gap-4",children:[(0,q.jsx)(OC,{className:"bg-primary",label:`${r("chart.input")} ${n?Math.round(e/n*100):0}%`}),(0,q.jsx)(OC,{className:"bg-primary/40",label:`${r("chart.output")} ${n?Math.round(t/n*100):0}%`})]})]})}function O_({byModel:e,totalCost:t}){let r=(0,Z.useTranslations)("home");if(0===e.length)return(0,q.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,w1.textToColor)(e.model)})),a=Object.fromEntries(n.map(e=>[e.model,{label:e.model,color:(0,w1.textToColor)(e.model)}]));return(0,q.jsxs)("div",{className:"mt-2",children:[(0,q.jsx)(xZ,{config:a,className:"mx-auto h-40 w-full",children:(0,q.jsxs)(vH,{margin:{top:0,bottom:0,left:0,right:0},children:[(0,q.jsx)(xQ,{cursor:!1,content:(0,q.jsx)(xJ,{hideLabel:!0})}),(0,q.jsx)(g8,{data:i,dataKey:"value",nameKey:"key",startAngle:90,endAngle:450,innerRadius:48,outerRadius:68,paddingAngle:2,children:(0,q.jsx)(oS,{content:({viewBox:e})=>{if(e&&"cx"in e&&"cy"in e)return(0,q.jsxs)("text",{x:e.cx,y:e.cy,textAnchor:"middle",dominantBaseline:"middle",children:[(0,q.jsx)("tspan",{x:e.cx,y:(e.cy||0)-8,className:"fill-card-foreground text-sm font-medium",children:OA(t)}),(0,q.jsx)("tspan",{x:e.cx,y:(e.cy||0)+10,className:"fill-muted-foreground text-[10px]",children:r("chart.totalCost")})]})}})})]})}),(0,q.jsx)("div",{className:"mt-1 space-y-0.5",children:n.map(e=>(0,q.jsxs)("div",{className:"flex items-center justify-between px-1",children:[(0,q.jsx)("span",{className:"truncate text-[10px]",children:e.model}),(0,q.jsx)("span",{className:"font-mono text-[10px] tabular-nums",children:OA(e.costUsd)})]},e.model))})]})}function Ok({label:e}){return(0,q.jsx)("div",{className:"flex flex-1 items-center justify-center rounded-md border border-dashed text-xs text-muted-foreground",children:e})}function OE(e){return new Intl.NumberFormat("en-US").format(e)}function OD(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:OE(e)}function OA(e){return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:4}).format(e)}function ON(e){return e?e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.round(e/6e4)}m`:"0ms"}var OT=e.i(524),OI=e.i(361031);function OR({initialWorkspaces:e}){let t=(0,OI.useWorkspaceStore)(e=>e.setWorkspaces),r=(0,OI.useWorkspaceStore)(e=>e.upsertWorkspace),[n,i]=(0,K.useState)(!1);(0,K.useEffect)(()=>{t(e)},[e,t]);let a=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,q.jsxs)("div",{className:"flex h-full w-full flex-col overflow-auto",children:[(0,q.jsx)("main",{className:"w-full flex-1 px-4 py-6 sm:px-6",children:(0,q.jsx)(OS,{})}),(0,q.jsx)(OT.WorkspaceDialog,{open:n,onOpenChange:i,onSubmit:a})]})}var OF=e.i(437122);e.s(["default",0,function(){let[e,t]=(0,K.useState)([]);return(0,K.useEffect)(()=>{fetch("/api/workspaces",{headers:(0,OF.authHeaders)()}).then(e=>e.ok?e.json():[]).then(t)},[]),(0,q.jsx)(OR,{initialWorkspaces:e})}],330997)}]);
@@ -1,2 +1,2 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,86477,e=>{"use strict";var t,n=e.i(344180),r=e.i(764556),l=e.i(244073),i=e.i(209988),a=e.i(260218),s=e.i(681622);e.s([],885864),e.i(885864),e.i(8890);var o=e.i(526850),u=e.i(535270),d=e.i(29905),c=e.i(106045),m=e.i(277642),f=e.i(602453),p=e.i(638144),h=e.i(139236),x=e.i(969490),v=e.i(464111);function g(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}var b=e.i(410421),y=e.i(756432),N=e.i(125231),j=e.i(975698),E=e.i(380414),C=e.i(443124);function k(e,t){return e-t}function w(e,t,n,r,l,i){var a;let s,o=e;return o=(0,v.clamp)(o,n,r),l&&(a=(0,v.clamp)(o,i[t-1]||-1/0,i[t+1]||1/0),(s=i.slice())[t]=a,o=s.sort(k)),o}function R(e,t,n){return!Array.isArray(e)||Math.min(...e.reduce((e,t,n,r)=>(n===r.length-1||e.push(Math.abs(t-r[n+1])),e),[]))>=t*n}let I={activeThumbIndex:()=>null,max:()=>null,min:()=>null,minStepsBetweenValues:()=>null,step:()=>null,values:()=>null,...e.i(438904).fieldValidityMapping};var S=e.i(267805);let A=r.createContext(void 0);function M(){let e=r.useContext(A);if(void 0===e)throw Error((0,S.default)(62));return e}var P=e.i(742665);let T=r.forwardRef(function(e,t){let{"aria-labelledby":l,className:i,defaultValue:a,disabled:s=!1,id:S,format:M,largeStep:T=10,locale:D,render:O,max:F=100,min:$=0,minStepsBetweenValues:L=0,form:B,name:V,onValueChange:z,onValueCommitted:W,orientation:H="horizontal",step:K=1,thumbCollisionBehavior:_="push",thumbAlignment:U="center",value:q,style:G,...Y}=e,X=(0,h.useBaseUiId)(S),J=null==X?void 0:`${X}-label`,Q=(0,d.useStableCallback)(z),Z=(0,d.useStableCallback)(W),{clearErrors:ee}=(0,E.useFormContext)(),{state:et,disabled:en,name:er,setTouched:el,setDirty:ei,validityData:ea,shouldValidateOnChange:es,validation:eo}=(0,N.useFieldRootContext)(),{labelId:eu}=(0,C.useLabelableContext)(),[ed,ec]=r.useState(),em=l??eu??ed,ef=en||s,ep=er??V,[eh,ex]=(0,u.useControlled)({controlled:q,default:a??$,name:"Slider"}),ev=r.useRef(null),eg=r.useRef(null),eb=r.useRef([]),ey=r.useRef(null),eN=r.useRef(null),ej=r.useRef(-1),eE=r.useRef(null),eC=r.useRef(null),ek=r.useRef("none"),ew=(0,c.useValueAsRef)(M),[eR,eI]=r.useState(-1),[eS,eA]=r.useState(-1),[eM,eP]=r.useState(!1),[eT,eD]=r.useState(()=>new Map),[eO,eF]=r.useState([void 0,void 0]),e$=(0,d.useStableCallback)(e=>{eI(e),-1!==e&&eA(e)});(0,j.useRegisterFieldControl)(eg,{id:X,value:eh}),(0,p.useValueChanged)(eh,()=>{ee(ep),es()?eo.commit(eh):eo.commit(eh,!0);let e=ea.initialValue;ei(Array.isArray(eh)&&Array.isArray(e)?!g(eh,e):eh!==e)});let eL=(0,d.useStableCallback)(e=>{e&&(eg.current=e)}),eB=Array.isArray(eh),eV=r.useMemo(()=>eB?eh.slice().sort(k):[(0,v.clamp)(eh,$,F)],[F,$,eB,eh]),ez=(0,d.useStableCallback)((e,t)=>{if(Number.isNaN(e)||("number"==typeof e&&"number"==typeof eh?e===eh:!!(Array.isArray(e)&&Array.isArray(eh))&&g(e,eh)))return;let n=t??(0,f.createChangeEventDetails)(P.REASONS.none,void 0,void 0,{activeThumbIndex:-1});ek.current=n.reason;let r=n.event,l=new(r.constructor??Event)(r.type,r);Object.defineProperty(l,"target",{writable:!0,value:{value:e,name:ep}}),n.event=l,eC.current=e,Q(e,n),n.isCanceled||ex(e)}),eW=(0,d.useStableCallback)((e,t,n)=>{let r=w(e,t,$,F,eB,eV);if(R(r,K,L)){let e="key"in n?P.REASONS.keyboard:P.REASONS.inputChange;ez(r,(0,f.createChangeEventDetails)(e,n.nativeEvent,void 0,{activeThumbIndex:t})),el(!0),Z(eC.current??r,(0,f.createGenericEventDetails)(e,n.nativeEvent))}});(0,m.useIsoLayoutEffect)(()=>{let e=(0,b.activeElement)((0,o.ownerDocument)(ev.current));ef&&(0,b.contains)(ev.current,e)&&e.blur()},[ef]),ef&&-1!==eR&&e$(-1);let eH=r.useMemo(()=>({...et,activeThumbIndex:eR,disabled:ef,dragging:eM,orientation:H,max:F,min:$,minStepsBetweenValues:L,step:K,values:eV}),[et,eR,ef,eM,F,$,L,H,K,eV]),eK=r.useMemo(()=>({active:eR,controlRef:eg,disabled:ef,dragging:eM,validation:eo,formatOptionsRef:ew,handleInputChange:eW,indicatorPosition:eO,inset:"center"!==U,labelId:em,rootLabelId:J,largeStep:T,lastUsedThumbIndex:eS,lastChangedValueRef:eC,lastChangeReasonRef:ek,form:B,locale:D,max:F,min:$,minStepsBetweenValues:L,name:ep,onValueCommitted:Z,orientation:H,pressedInputRef:ey,pressedThumbCenterOffsetRef:eN,pressedThumbIndexRef:ej,pressedValuesRef:eE,registerFieldControlRef:eL,renderBeforeHydration:"edge"===U,setActive:e$,setDragging:eP,setIndicatorPosition:eF,setLabelId:ec,setValue:ez,state:eH,step:K,thumbCollisionBehavior:_,thumbMap:eT,thumbRefs:eb,values:eV}),[eR,eg,em,J,ef,eM,eo,ew,eW,eO,T,eS,eC,ek,B,D,F,$,L,ep,Z,H,ey,eN,ej,eE,eL,e$,eP,eF,ec,ez,eH,K,_,U,eT,eb,eV]),e_=(0,x.useRenderElement)("div",e,{state:eH,ref:[t,ev],props:[{"aria-labelledby":em,id:X,role:"group"},eo.getValidationProps,Y],stateAttributesMapping:I});return(0,n.jsx)(A.Provider,{value:eK,children:(0,n.jsx)(y.CompositeList,{elementsRef:eb,onMapChange:eD,children:e_})})});var D=e.i(92615),O=e.i(213700);let F=r.forwardRef(function(e,t){let{render:n,className:r,style:l,...i}=e;delete i.id;let{state:a,setLabelId:s,controlRef:u,rootLabelId:d}=M(),c=(0,O.useLabel)({id:d,setLabelId:s,focusControl:function(e,t){if(t){let n=(0,o.ownerDocument)(e.currentTarget).getElementById(t);if((0,D.isHTMLElement)(n))return void(0,O.focusElementWithVisible)(n)}let n=u.current?.querySelectorAll('input[type="range"]'),r=n?.length===1?n[0]:null;(0,D.isHTMLElement)(r)&&(0,O.focusElementWithVisible)(r)}});return(0,x.useRenderElement)("div",e,{ref:t,state:a,props:[c,i],stateAttributesMapping:I})});var $=e.i(842809);let L=r.forwardRef(function(e,t){let{"aria-live":n="off",render:l,className:i,children:a,style:s,...o}=e,{thumbMap:u,state:d,values:c,formatOptionsRef:m,locale:f}=M(),p=r.useMemo(()=>{let e="";for(let t of u.values())t?.inputId&&(e+=`${t.inputId} `);return""===e.trim()?void 0:e.trim()},[u]),h=r.useMemo(()=>{let e=[];for(let t=0;t<c.length;t+=1)e.push((0,$.formatNumber)(c[t],f,m.current??void 0));return e},[m,f,c]),v=r.useMemo(()=>{let e=[];for(let t=0;t<c.length;t+=1)e.push(h[t]||c[t]);return e.join(" – ")},[c,h]);return(0,x.useRenderElement)("output",e,{state:d,ref:t,props:[{"aria-live":n,children:"function"==typeof a?a(h,c):v,htmlFor:p},o],stateAttributesMapping:I})});var B=e.i(422561),V=e.i(859092),z=e.i(189131);function W(e){let t=e.getBoundingClientRect();return{x:(t.left+t.right)/2,y:(t.top+t.bottom)/2}}function H(e){if(0===e)return 0;if(1>Math.abs(e)){let t=e.toExponential().split("e-"),n=t[0].split(".")[1];return(n?n.length:0)+parseInt(t[1],10)}let t=e.toString().split(".")[1];return t?t.length:0}function K(e,t,n){return Number((Math.round((e-n)/t)*t+n).toFixed(Math.max(H(t),H(n))))}function _({values:e,index:t,nextValue:n,min:r,max:l,step:i,minStepsBetweenValues:a,initialValues:s}){if(0===e.length)return[];let o=e.slice(),u=i*a,d=o.length-1,c=s??e;o[t]=(0,v.clamp)(n,r+t*u,l-(d-t)*u);for(let e=t+1;e<=d;e+=1){let t=o[e-1]+u,n=l-(d-e)*u,r=c[e]??o[e],i=Math.max(o[e],t);r<i&&(i=Math.max(r,t)),o[e]=(0,v.clamp)(i,t,n)}for(let e=t-1;e>=0;e-=1){let t=o[e+1]-u,n=r+e*u,l=c[e]??o[e],i=Math.min(o[e],t);l>i&&(i=Math.min(l,t)),o[e]=(0,v.clamp)(i,n,t)}for(let e=0;e<=d;e+=1)o[e]=Number(o[e].toFixed(12));return o}function U(e,t){if(null!=t.current&&e.changedTouches){for(let n=0;n<e.changedTouches.length;n+=1){let r=e.changedTouches[n];if(r.identifier===t.current)return{x:r.clientX,y:r.clientY}}return null}return{x:e.clientX,y:e.clientY}}let q=r.forwardRef(function(e,t){let{render:n,className:l,style:i,...a}=e,{disabled:s,dragging:u,inset:m,lastChangedValueRef:p,lastChangeReasonRef:h,max:g,min:y,minStepsBetweenValues:N,onValueCommitted:j,orientation:E,pressedInputRef:C,pressedThumbCenterOffsetRef:k,pressedThumbIndexRef:w,pressedValuesRef:S,registerFieldControlRef:A,renderBeforeHydration:T,setActive:O,setDragging:F,setValue:$,state:L,step:H,thumbCollisionBehavior:q,thumbRefs:G,values:Y}=M(),X=(0,z.useDirection)(),J=Y.length>1,Q="vertical"===E,Z=r.useRef(null),ee=r.useRef(null),et=(0,d.useStableCallback)(e=>{e&&null==ee.current&&null==ee.current&&(ee.current=getComputedStyle(e))}),en=r.useRef(null),er=r.useRef(0),el=r.useRef(0),ei=(0,c.useValueAsRef)(Y),ea=(0,d.useStableCallback)(e=>{w.current!==e&&(w.current=e);let t=G.current[e];if(!t){k.current=null,C.current=null;return}C.current=t.querySelector('input[type="range"]')}),es=(0,d.useStableCallback)(e=>{let t=Z.current;if(!t)return null;let{width:n,height:r,bottom:l,left:i,right:a}=t.getBoundingClientRect(),s=function(e,t){if(!e)return{start:0,end:0};function n(e){let t=null!=e?parseFloat(e):0;return Number.isNaN(t)?0:t}let r=t?"Top":"InlineStart",l=t?"Bottom":"InlineEnd";return{start:n(e[`border${r}Width`])+n(e[`padding${r}`]),end:n(e[`border${l}Width`])+n(e[`padding${l}`])}}(ee.current,Q),o=el.current,u=(Q?r:n)-s.start-s.end-2*o,d=k.current??0,c=e.x-d,m=e.y-d,f=Q?l-m-s.end:("rtl"===X?a-c:c-i)-s.start,p=(g-y)*(0,v.clamp)((f-o)/u,0,1)+y;if(p=K(p,H,y),p=(0,v.clamp)(p,y,g),!J)return{value:p,thumbIndex:0,didSwap:!1};let h=w.current;if(h<0)return null;let x=function({behavior:e,values:t,currentValues:n,initialValues:r,pressedIndex:l,nextValue:i,min:a,max:s,step:o,minStepsBetweenValues:u}){let d=n??t,c=r??t;if(!(d.length>1))return{value:i,thumbIndex:0,didSwap:!1};let m=o*u;switch(e){case"swap":{let e=d[l],t=d.slice(),n=t[l-1],r=t[l+1],f=null!=n?n+m:a,p=null!=r?r-m:s,h=Number((0,v.clamp)(i,f,p).toFixed(12));t[l]=h;let x=i>e,g=i<e,b=x&&null!=r&&i>=r-1e-7,y=g&&null!=n&&i<=n+1e-7;if(!b&&!y)return{value:t,thumbIndex:l,didSwap:!1};let N=b?l+1:l-1,j=t.map((e,t)=>{if(t===l)return h;let n=c[t];return null!=n?n:d[t]}),E=i;E=b?Math.max(i,t[N]):Math.min(i,t[N]);let C=_({values:t,index:N,nextValue:E,min:a,max:s,step:o,minStepsBetweenValues:u,initialValues:j}),k=b?N-1:N+1;if(k>=0&&k<C.length){let e=C[k-1],t=C[k+1],n=null!=e?e+m:a;n=Math.max(n,a+k*m);let r=null!=t?t-m:s;r=Math.min(r,s-(C.length-1-k)*m);let l=(0,v.clamp)(h,n,r);C[k]=Number(l.toFixed(12))}return{value:C,thumbIndex:N,didSwap:!0}}case"push":return{value:_({values:d,index:l,nextValue:i,min:a,max:s,step:o,minStepsBetweenValues:u}),thumbIndex:l,didSwap:!1};default:{let e=d.slice(),t=e[l-1],n=e[l+1],r=null!=t?t+m:a,o=null!=n?n-m:s,u=(0,v.clamp)(i,r,o);return e[l]=Number(u.toFixed(12)),{value:e,thumbIndex:l,didSwap:!1}}}}({behavior:q,values:Y,currentValues:ei.current??Y,initialValues:S.current,pressedIndex:h,nextValue:p,min:y,max:g,step:H,minStepsBetweenValues:N});return"swap"===q&&x.didSwap?ea(x.thumbIndex):w.current=x.thumbIndex,x}),eo=(0,d.useStableCallback)(e=>{S.current=J?Y.slice():null,ei.current=Y;let t=w.current,n=t;if(t>-1&&t<Y.length){if(Y[t]===g){let e=t;for(;e>0&&Y[e-1]===g;)e-=1;n=e}}else{let t,r=Q?"y":"x";n=-1;for(let l=0;l<G.current.length;l+=1){let i=G.current[l];if((0,D.isElement)(i)){let a=W(i),s=Math.abs(e[r]-a[r]);(void 0===t||s<=t)&&(n=l,t=s)}}}if(n>-1&&n!==t&&ea(n),m){let e=G.current[n];(0,D.isElement)(e)&&(el.current=e.getBoundingClientRect()[Q?"height":"width"]/2)}}),eu=(0,d.useStableCallback)(e=>{let t=G.current?.[e]?.querySelector('input[type="range"]');t&&t.focus({preventScroll:!0,focusVisible:!1})}),ed=(0,d.useStableCallback)(e=>{let t=U(e,en);if(null==t)return;if(er.current+=1,"pointermove"===e.type&&0===e.buttons)return void ec(e);let n=es(t);null!=n&&R(n.value,H,N)&&(!u&&er.current>2&&F(!0),$(n.value,(0,f.createChangeEventDetails)(P.REASONS.drag,e,void 0,{activeThumbIndex:n.thumbIndex})),ei.current=Array.isArray(n.value)?n.value:[n.value],n.didSwap&&eu(n.thumbIndex))});function ec(e){O(-1),F(!1),C.current=null,k.current=null;let t=U(e,en),n=null!=t?es(t):null;if(null!=n){let t=h.current;j(p.current??n.value,(0,f.createGenericEventDetails)(t,e))}"pointerType"in e&&Z.current?.hasPointerCapture(e.pointerId)&&Z.current?.releasePointerCapture(e.pointerId),w.current=-1,en.current=null,S.current=null,ef()}let em=(0,d.useStableCallback)(e=>{if(s)return;let t=e.changedTouches[0];null!=t&&(en.current=t.identifier);let n=U(e,en);if(null!=n){eo(n);let t=es(n);if(null==t)return;eu(t.thumbIndex),$(t.value,(0,f.createChangeEventDetails)(P.REASONS.trackPress,e,void 0,{activeThumbIndex:t.thumbIndex})),ei.current=Array.isArray(t.value)?t.value:[t.value],t.didSwap&&eu(t.thumbIndex)}er.current=0;let r=(0,o.ownerDocument)(Z.current);r.addEventListener("touchmove",ed,{passive:!0}),r.addEventListener("touchend",ec,{passive:!0})}),ef=(0,d.useStableCallback)(()=>{let e=(0,o.ownerDocument)(Z.current);e.removeEventListener("pointermove",ed),e.removeEventListener("pointerup",ec),e.removeEventListener("touchmove",ed),e.removeEventListener("touchend",ec),S.current=null}),ep=(0,V.useAnimationFrame)();return r.useEffect(()=>{let e=Z.current;if(!e)return()=>ef();let t=(0,B.addEventListener)(e,"touchstart",em,{passive:!0});return()=>{t(),ep.cancel(),ef()}},[ef,em,Z,ep]),r.useEffect(()=>{s&&ef()},[s,ef]),(0,x.useRenderElement)("div",e,{state:L,ref:[t,A,Z,et],props:[{"data-base-ui-slider-control":T?"":void 0,onPointerDown(e){let t=Z.current,n=(0,b.getTarget)(e.nativeEvent);if(!t||s||e.defaultPrevented||!(0,D.isElement)(n)||0!==e.button)return;let r=U(e,en);if(null!=r){eo(r);let n=es(r);if(null==n)return;(0,b.contains)(G.current[n.thumbIndex],(0,b.activeElement)((0,o.ownerDocument)(t)))?e.preventDefault():ep.request(()=>{eu(n.thumbIndex)}),F(!0),null==k.current&&($(n.value,(0,f.createChangeEventDetails)(P.REASONS.trackPress,e.nativeEvent,void 0,{activeThumbIndex:n.thumbIndex})),ei.current=Array.isArray(n.value)?n.value:[n.value],n.didSwap&&eu(n.thumbIndex))}e.nativeEvent.pointerId&&t.setPointerCapture(e.nativeEvent.pointerId),er.current=0;let l=(0,o.ownerDocument)(Z.current);l.addEventListener("pointermove",ed,{passive:!0}),l.addEventListener("pointerup",ec,{once:!0})}},a],stateAttributesMapping:I})}),G=r.forwardRef(function(e,t){let{render:n,className:r,style:l,...i}=e,{state:a}=M();return(0,x.useRenderElement)("div",e,{state:a,ref:t,props:[{style:{position:"relative"}},i],stateAttributesMapping:I})});var Y=e.i(204133),X=e.i(236706),J=e.i(370383),Q=e.i(517432),Z=e.i(203922),ee=e.i(100229),et=e.i(296615),en=e.i(394394),er=e.i(922970),el=e.i(575665);let ei=((t={}).index="data-index",t.dragging="data-dragging",t.orientation="data-orientation",t.disabled="data-disabled",t.valid="data-valid",t.invalid="data-invalid",t.touched="data-touched",t.dirty="data-dirty",t.focused="data-focused",t),ea=new Set([ee.ARROW_UP,ee.ARROW_DOWN,ee.ARROW_LEFT,ee.ARROW_RIGHT,ee.HOME,ee.END,ee.PAGE_UP,ee.PAGE_DOWN]);function es(e,t,n,r,l){let i=Number((1===n?e+t:e-t).toFixed(Math.max(H(e),H(t),H(r))));return(0,v.clamp)(i,r,l)}let eo=r.forwardRef(function(e,t){let l,{render:i,children:a,className:s,"aria-describedby":o,"aria-label":u,"aria-labelledby":c,disabled:f=!1,getAriaLabel:p,getAriaValueText:v,id:g,index:b,inputRef:y,onBlur:j,onFocus:E,onKeyDown:C,tabIndex:k,style:R,...S}=e,{nonce:A}=(0,en.useCSPContext)(),P=(0,h.useBaseUiId)(g),{active:T,lastUsedThumbIndex:D,controlRef:O,disabled:F,validation:L,formatOptionsRef:B,handleInputChange:V,inset:H,labelId:_,largeStep:U,locale:q,max:G,min:eo,minStepsBetweenValues:eu,form:ed,name:ec,orientation:em,pressedInputRef:ef,pressedThumbCenterOffsetRef:ep,pressedThumbIndexRef:eh,renderBeforeHydration:ex,setActive:ev,setIndicatorPosition:eg,state:eb,step:ey,values:eN}=M(),ej=(0,z.useDirection)(),eE=eN.length>1,eC="vertical"===em,ek="rtl"===ej,{setTouched:ew,setFocused:eR,validationMode:eI}=(0,N.useFieldRootContext)(),eS=r.useRef(null),eA=r.useRef(null),eM=r.useRef(!1),eP=(0,h.useBaseUiId)(),eT=(0,el.useLabelableId)(),eD=eE?eP:eT,eO=r.useMemo(()=>({inputId:eD}),[eD]),{ref:eF,index:e$}=(0,et.useCompositeListItem)({metadata:eO}),eL=eE?b??e$:0,eB=eL===eN.length-1,eV=eN[eL],ez=(0,Z.valueToPercent)(eV,eo,G),[eW,eH]=r.useState(),eK=(0,Q.useIsHydrating)(),e_=D>=0&&D<eN.length?D:-1,eU=(0,d.useStableCallback)(()=>{let e=O.current,t=eS.current;if(!e||!t)return;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),l=eC?"height":"width",i=r[l]-n[l],a=(n[l]/2+i*ez/100)/r[l]*100,s=Number.isFinite(a)?a:void 0;eH(s),0===eL?eg(e=>[s,e[1]]):eB&&eg(e=>[e[0],s])});(0,m.useIsoLayoutEffect)(()=>{H&&queueMicrotask(eU)},[eU,H]),(0,m.useIsoLayoutEffect)(()=>{H&&eU()},[eU,H,ez]),(0,m.useIsoLayoutEffect)(()=>{if(!H||"function"!=typeof ResizeObserver)return;let e=O.current,t=eS.current;if(!e||!t)return;let n=new ResizeObserver(eU);return n.observe(e),n.observe(t),()=>{n.disconnect()}},[O,eU,H]);let eq=r.useCallback(()=>{let e,t=eC?"bottom":"insetInlineStart",n=eC?"left":"top";return(eE?T===eL?e=2:e_===eL&&(e=1):T===eL&&(e=1),H)?{"--position":`${eW??0}%`,visibility:ex&&eK||void 0===eW?"hidden":void 0,position:"absolute",[t]:"var(--position)",[n]:"50%",translate:`${(eC||!ek?-1:1)*50}% ${(eC?1:-1)*50}%`,zIndex:e}:Number.isFinite(ez)?{position:"absolute",[t]:`${ez}%`,[n]:"50%",translate:`${(eC||!ek?-1:1)*50}% ${(eC?1:-1)*50}%`,zIndex:e}:X.visuallyHidden},[T,eL,H,eK,eW,eE,ex,ek,e_,ez,eC]);"vertical"===em&&(l=ek?"vertical-rl":"vertical-lr");let eG="function"==typeof p?p(eL):u,eY=(0,J.mergeProps)({"aria-label":eG,"aria-labelledby":c??(null==eG?_:void 0),"aria-describedby":o,"aria-orientation":em,"aria-valuenow":eV,"aria-valuetext":"function"==typeof v?v((0,$.formatNumber)(eV,q,B.current??void 0),eV,eL):function(e,t,n,r){if(!(t<0))return 2===e.length?0===t?`${(0,$.formatNumber)(e[t],r,n)} start range`:`${(0,$.formatNumber)(e[t],r,n)} end range`:n?(0,$.formatNumber)(e[t],r,n):void 0}(eN,eL,B.current??void 0,q),disabled:f||F,form:ed,id:eD,max:G,min:eo,name:ec,onChange(e){V(e.currentTarget.valueAsNumber,eL,e)},onFocus(e){let t=eM.current;eM.current=!1,ev(eL),eR(!0),t&&e.stopPropagation()},onBlur(e){eM.current?e.stopPropagation():eS.current&&(ev(-1),ew(!0),eR(!1),"onBlur"===eI&&L.commit(w(eV,eL,eo,G,eE,eN)))},onKeyDown(e){if(!ea.has(e.key))return;ee.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation();let t=null,n=K(eV,ey,eo);switch(e.key){case ee.ARROW_UP:t=es(n,e.shiftKey?U:ey,1,eo,G);break;case ee.ARROW_RIGHT:t=es(n,e.shiftKey?U:ey,ek?-1:1,eo,G);break;case ee.ARROW_DOWN:t=es(n,e.shiftKey?U:ey,-1,eo,G);break;case ee.ARROW_LEFT:t=es(n,e.shiftKey?U:ey,ek?1:-1,eo,G);break;case ee.PAGE_UP:t=es(n,U,1,eo,G);break;case ee.PAGE_DOWN:t=es(n,U,-1,eo,G);break;case ee.END:t=G,eE&&(t=Number.isFinite(eN[eL+1])?eN[eL+1]-ey*eu:G);break;case ee.HOME:t=eo,eE&&(t=Number.isFinite(eN[eL-1])?eN[eL-1]+ey*eu:eo)}if(null!==t){let n=e.currentTarget;(0,er.matchesFocusVisible)(n)||(eM.current=!0,n.blur(),n.focus({preventScroll:!0,focusVisible:!0})),V(t,eL,e),e.preventDefault()}},step:ey,style:{...X.visuallyHidden,width:"100%",height:"100%",writingMode:l},tabIndex:k??void 0,type:"range",value:eV??""},L.getInputValidationProps),eX=(0,Y.useMergedRefs)(eA,L.inputRef,y);return(0,x.useRenderElement)("div",e,{state:eb,ref:[t,eF,eS],props:[{[ei.index]:eL,children:(0,n.jsxs)(r.Fragment,{children:[a,(0,n.jsx)("input",{ref:eX,...eY,suppressHydrationWarning:!0}),H&&eK&&ex&&eB&&(0,n.jsx)("script",{nonce:A,dangerouslySetInnerHTML:{__html:'!function(){const t=document.currentScript?.parentElement;if(!t)return;const e=t.closest("[data-base-ui-slider-control]");if(!e)return;const r=e.querySelector("[data-base-ui-slider-indicator]"),i=e.getBoundingClientRect(),n="vertical"===e.getAttribute("data-orientation")?"height":"width",o=e.querySelectorAll(\'input[type="range"]\'),l=o.length>1,s=o.length-1;let a=null,u=null;for(let t=0;t<o.length;t+=1){const e=o[t],y=parseFloat(e.getAttribute("value")??"");if(Number.isNaN(y))return;const c=e.parentElement;if(!c)return;const p=parseFloat(e.getAttribute("max")??"100"),g=parseFloat(e.getAttribute("min")??"0"),b=c?.getBoundingClientRect(),d=i[n]-b[n],m=100*(y-g)/(p-g),v=(b[n]/2+d*m/100)/i[n]*100;c.style.setProperty("--position",`${v}%`),Number.isFinite(v)&&(c.style.removeProperty("visibility"),r&&(0===t?(a=v,r.style.setProperty("--start-position",`${v}%`),l||r.style.removeProperty("visibility")):t===s&&(u=v-(a??0),r.style.setProperty("--end-position",`${v}%`),r.style.setProperty("--relative-size",`${u}%`),r.style.removeProperty("visibility"))))}}();'},suppressHydrationWarning:!0})]}),id:P,onBlur:j,onFocus:E,onPointerDown(e){if(eh.current=eL,null!=eS.current){let t="horizontal"===em?"x":"y",n=W(eS.current);ep.current=("horizontal"===em?e.clientX:e.clientY)-n[t]}null!=eA.current&&ef.current!==eA.current&&(ef.current=eA.current)},style:eq(),suppressHydrationWarning:ex||void 0},S],stateAttributesMapping:I})}),eu=r.forwardRef(function(e,t){var n,r;let l,i,a,s,{render:o,className:u,style:d,...c}=e,{indicatorPosition:m,inset:f,max:p,min:h,orientation:v,renderBeforeHydration:g,state:b,values:y}=M(),N=(0,Q.useIsHydrating)(),j="vertical"===v,E=y.length>1,C=f?(n=m[0],r=m[1],l=void 0===n||E&&void 0===r?"hidden":void 0,i=j?"bottom":"insetInlineStart",a=j?"height":"width",((s={visibility:g&&N?"hidden":l,position:j?"absolute":"relative",[j?"width":"height"]:"inherit"})["--start-position"]=`${n??0}%`,E)?(s["--relative-size"]=`${(r??0)-(n??0)}%`,s[i]="var(--start-position)",s[a]="var(--relative-size)"):(s[i]=0,s[a]="var(--start-position)"),s):function(e,t,n,r){let l=e?"bottom":"insetInlineStart",i=e?"height":"width",a={position:e?"absolute":"relative",[e?"width":"height"]:"inherit"};if(!t)return a[l]=0,a[i]=`${n}%`,a;let s=r-n;return a[l]=`${n}%`,a[i]=`${s}%`,a}(j,E,(0,Z.valueToPercent)(y[0],h,p),(0,Z.valueToPercent)(y[y.length-1],h,p));return(0,x.useRenderElement)("div",e,{state:b,ref:t,props:[{"data-base-ui-slider-indicator":g?"":void 0,style:C,suppressHydrationWarning:g||void 0},c],stateAttributesMapping:I})});e.s(["Control",0,q,"Indicator",0,eu,"Label",0,F,"Root",0,T,"Thumb",0,eo,"Track",0,G,"Value",0,L],414857);var ed=e.i(414857),ed=ed,ec=e.i(465458);function em({className:e,defaultValue:t,value:r,min:l=0,max:i=100,...a}){let s=Array.isArray(r)?r:void 0!==r?[r]:Array.isArray(t)?t:[l,i];return(0,n.jsx)(ed.Root,{className:(0,ec.cn)("data-horizontal:w-full data-vertical:h-full",e),"data-slot":"slider",defaultValue:t,value:r,min:l,max:i,thumbAlignment:"edge",...a,children:(0,n.jsxs)(ed.Control,{className:"relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col",children:[(0,n.jsx)(ed.Track,{"data-slot":"slider-track",className:"relative grow overflow-hidden rounded-full bg-muted select-none data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1",children:(0,n.jsx)(ed.Indicator,{"data-slot":"slider-range",className:"bg-primary select-none data-horizontal:h-full data-vertical:w-full"})}),Array.from({length:s.length},(e,t)=>(0,n.jsx)(ed.Thumb,{"data-slot":"slider-thumb",className:"relative block size-3 shrink-0 rounded-full border border-ring bg-white ring-ring/50 transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 disabled:pointer-events-none disabled:opacity-50"},t))]})})}var ef=e.i(562918),ep=e.i(226624),eh=e.i(767467),ex=e.i(990336),ev=e.i(953700),eg=e.i(137340),eb=e.i(368942);let ey={vision:"bg-blue-500/10 text-blue-600 border-blue-200",reasoning:"bg-purple-500/10 text-purple-600 border-purple-200",embedding:"bg-green-500/10 text-green-600 border-green-200"},eN=[{label:"8K",value:8192},{label:"16K",value:16384},{label:"32K",value:32768},{label:"64K",value:65536},{label:"128K",value:128e3},{label:"200K",value:2e5},{label:"256K",value:256e3},{label:"1M",value:1e6}],ej=["low","medium","high"];function eE({groups:e,providerNames:t,onEdit:r,onDelete:i}){let s=(0,l.useTranslations)("models"),o=t.length>0?t:["Other"],u=Object.keys(e).sort((e,t)=>{let n=o.indexOf(e),r=o.indexOf(t);return n>=0&&r>=0?n-r:n>=0?-1:r>=0?1:e.localeCompare(t)});return(0,n.jsxs)("div",{className:"flex flex-col p-4 gap-4",children:[u.map(t=>(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2 px-1",children:t}),(0,n.jsx)("div",{className:"flex flex-col gap-0.5",children:e[t].map(e=>{var t;return(0,n.jsxs)("div",{className:"group flex items-center gap-3 rounded-lg px-3 py-2 hover:bg-muted/50 cursor-pointer transition-colors",onClick:()=>r(e),children:[(0,n.jsx)(ex.Brain,{className:"size-4 text-muted-foreground shrink-0"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("span",{className:"text-sm font-medium",children:e.name}),(0,n.jsx)("span",{className:"text-[11px] text-muted-foreground font-mono ml-2",children:e.modelId}),e.cost?(0,n.jsxs)("span",{className:"ml-2 text-[11px] text-muted-foreground font-mono",children:["$",ew(e.cost.inputPerMillion),"/$",ew(e.cost.outputPerMillion)]}):null,e.maxContextTokens?(0,n.jsxs)("span",{className:"ml-2 text-[11px] text-muted-foreground font-mono",children:[(t=e.maxContextTokens,new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1}).format(t))," ",s("list.contextAbbr")]}):null]}),(0,n.jsx)("div",{className:"flex items-center gap-1",children:["vision","reasoning","embedding"].map(t=>e[t]?(0,n.jsx)(ef.Badge,{variant:"outline",className:`text-[10px] h-5 px-1.5 ${ey[t]}`,children:s(`capability.${t}`)},t):null)}),(0,n.jsx)(a.Button,{variant:"ghost",size:"icon-xs",className:"opacity-0 group-hover:opacity-100 transition-opacity",onClick:t=>{t.stopPropagation(),i(e.id)},children:(0,n.jsx)(eg.Trash2,{className:"size-3 text-destructive"})})]},e.id)})})]},t)),0===u.length&&(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-muted-foreground",children:[(0,n.jsx)(ex.Brain,{className:"size-10 mb-2 opacity-30"}),(0,n.jsx)("p",{className:"text-sm",children:s("list.empty")})]})]})}function eC({draft:e,providerNames:t,onChange:i}){let a=(0,l.useTranslations)("models"),o=(0,r.useRef)(!1),[u,d]=(0,r.useState)(()=>(function(e){if(!e)return eN.length;let t=eN.findIndex(t=>t.value===e);return t>=0?t:eN.length})(e.maxContextTokens)),c=t.length>0?t:["Other"];return(0,n.jsxs)("div",{className:"flex flex-col gap-5 p-5",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.details")}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.modelId")}),(0,n.jsx)(s.Input,{value:e.modelId||"",onChange:e=>{let t=e.target.value;i("modelId",t),o.current||i("name",t)},placeholder:a("form.modelIdPlaceholder")})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.displayName")}),(0,n.jsx)(s.Input,{value:e.name||"",onChange:e=>{o.current=!0,i("name",e.target.value)},placeholder:a("form.displayNamePlaceholder")})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.provider")}),(0,n.jsx)("select",{value:e.provider||"Other",onChange:e=>i("provider",e.target.value),className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm outline-none focus-visible:border-ring dark:bg-input/30",children:c.map(e=>(0,n.jsx)("option",{value:e,children:e},e))})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.context")}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.maxContextTokens")}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)(em,{min:0,max:eN.length,step:1,value:u,onValueChange:e=>{d(e),e<eN.length&&i("maxContextTokens",eN[e].value)},className:"flex-1"}),u<eN.length?(0,n.jsx)("span",{className:"text-sm tabular-nums min-w-[3.5rem] text-right",children:eN[u].label}):(0,n.jsx)(s.Input,{type:"number",min:"1",step:"1",value:e.maxContextTokens??"",onChange:e=>i("maxContextTokens",function(e){if(!e.trim())return;let t=Number(e);return Number.isFinite(t)&&t>0?Math.floor(t):void 0}(e.target.value)),placeholder:a("form.customContextPlaceholder"),className:"h-7 w-24 text-sm tabular-nums"})]})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.thinking")}),(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg border border-input px-3 py-2",children:[(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:a("form.enableThinking")}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:a("form.enableThinkingHelper")})]}),(0,n.jsx)(ep.Switch,{checked:e.thinkingEnabled??!0,onCheckedChange:e=>i("thinkingEnabled",e)})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.effort")}),(0,n.jsx)("select",{value:e.thinkingEffort||"medium",onChange:e=>i("thinkingEffort",e.target.value),disabled:!(e.thinkingEnabled??!0),className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm outline-none focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 dark:bg-input/30",children:ej.map(e=>(0,n.jsx)("option",{value:e,children:e},e))})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.cost")}),(0,n.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.inputPerMillion")}),(0,n.jsx)(s.Input,{type:"number",min:"0",step:"0.0001",value:e.cost?.inputPerMillion??0,onChange:t=>i("cost",{inputPerMillion:ek(t.target.value),outputPerMillion:e.cost?.outputPerMillion??0}),placeholder:a("form.costPlaceholder")})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.outputPerMillion")}),(0,n.jsx)(s.Input,{type:"number",min:"0",step:"0.0001",value:e.cost?.outputPerMillion??0,onChange:t=>i("cost",{inputPerMillion:e.cost?.inputPerMillion??0,outputPerMillion:ek(t.target.value)}),placeholder:a("form.costPlaceholder")})]})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.capabilities")}),(0,n.jsx)("div",{className:"flex items-center gap-1.5",children:["vision","reasoning","embedding"].map(t=>{let r=!!e[t];return(0,n.jsx)("button",{type:"button",onClick:()=>i(t,!r),className:`rounded-md border px-2 py-1 text-xs font-medium transition-colors cursor-pointer
2
- ${r?ey[t]:"text-muted-foreground border-input hover:bg-muted/50"}`,children:a(`capability.${t}`)},t)})})]})]})}function ek(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:0}function ew(e){return new Intl.NumberFormat("en-US",{maximumFractionDigits:4}).format(e)}e.s(["ModelsDialog",0,function({open:e,onOpenChange:t,initialProvider:s,standalone:o}){let u=(0,l.useTranslations)("models"),d=(0,l.useTranslations)("common"),{models:c,providers:m,ensure:f,addModel:p,updateModel:h,removeModel:x}=(0,eb.useLLMStore)(),v=m.map(e=>e.name),[g,b]=(0,r.useState)(null),[y,N]=(0,r.useState)(null),[j,E]=(0,r.useState)(!1),[C,k]=(0,r.useState)(!1),[w,R]=(0,r.useState)(null),I=(0,r.useRef)(!1);(0,r.useEffect)(()=>{if(!e){I.current=!1;return}queueMicrotask(()=>{E(!0),R(null)}),f().finally(()=>E(!1))},[e,f]),(0,r.useEffect)(()=>{e&&s&&!y&&!I.current&&(I.current=!0,queueMicrotask(()=>{b(null),N({modelId:"",name:"",provider:s,cost:{inputPerMillion:0,outputPerMillion:0},maxContextTokens:128e3,thinkingEnabled:!0,thinkingEffort:"medium",vision:!1,reasoning:!1,embedding:!1})}))},[e,s,y]);let S=()=>{b(null),N(null)},A=async()=>{if(y&&y.modelId&&y.name){k(!0),R(null);try{let e=!g,t=await fetch(e?"/api/models":`/api/models/${g.id}`,{method:e?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(y)});if(!t.ok)throw Error();let n=await t.json();e?p(n):h(n),S()}catch{R(u("error.saveFailed"))}finally{k(!1)}}},M=async e=>{if(confirm(u("confirm.delete"))){k(!0);try{if(!(await fetch(`/api/models/${e}`,{method:"DELETE"})).ok)throw Error();x(e),g?.id===e&&S()}catch{R(u("error.deleteFailed"))}finally{k(!1)}}},P=function(e){let t={};for(let n of e){let e=n.provider||"Other";(t[e]??=[]).push(n)}return t}(c),T=(0,n.jsxs)(n.Fragment,{children:[!o&&(0,n.jsxs)("div",{className:"flex items-center gap-3 border-b px-5 py-4",children:[y&&(0,n.jsx)(a.Button,{variant:"ghost",size:"icon-sm",onClick:S,children:(0,n.jsx)(eh.ArrowLeft,{className:"size-4"})}),(0,n.jsxs)(i.DialogHeader,{className:"flex-1 space-y-0",children:[(0,n.jsx)(i.DialogTitle,{className:"text-base",children:y?g?u("dialog.editTitle"):u("dialog.addTitle"):u("dialog.title")}),(0,n.jsx)(i.DialogDescription,{className:"text-xs",children:y?u("dialog.editDescription"):u("dialog.listDescription")})]}),!y&&(0,n.jsxs)(a.Button,{variant:"outline",size:"sm",onClick:()=>{b(null),N({modelId:"",name:"",provider:"Other",cost:{inputPerMillion:0,outputPerMillion:0},maxContextTokens:128e3,thinkingEnabled:!0,thinkingEffort:"medium",vision:!1,reasoning:!1,embedding:!1})},className:"mr-6",children:[(0,n.jsx)(ev.Plus,{className:"size-3.5"}),u("dialog.add")]})]}),(0,n.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[w&&(0,n.jsx)("div",{className:"mx-5 mt-4 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:w}),j?(0,n.jsx)("div",{className:"py-12 text-center text-sm text-muted-foreground",children:u("dialog.loading")}):y?(0,n.jsx)(eC,{draft:y,providerNames:v,onChange:(e,t)=>{N(n=>n?{...n,[e]:t}:n)}}):(0,n.jsx)(eE,{groups:P,providerNames:v,onEdit:e=>{b(e),N({...e,thinkingEnabled:e.thinkingEnabled??!0,thinkingEffort:e.thinkingEffort??"medium"})},onDelete:M})]}),y&&(0,n.jsxs)("div",{className:"flex justify-end gap-2 border-t px-5 py-3",children:[(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:S,disabled:C,children:d("cancel")}),(0,n.jsx)(a.Button,{size:"sm",onClick:A,disabled:C||!y.modelId||!y.name,children:d(C?"saving":"save")})]})]});return o?(0,n.jsx)("div",{className:"h-full flex flex-col",children:T}):(0,n.jsx)(i.Dialog,{open:e,onOpenChange:e=>{e||S(),t(e)},children:(0,n.jsx)(i.DialogContent,{className:"sm:max-w-2xl max-h-[85vh] flex flex-col p-0 gap-0",children:T})})}],86477)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,86477,e=>{"use strict";var t,n=e.i(344180),r=e.i(764556),l=e.i(244073),i=e.i(209988),a=e.i(260218),s=e.i(681622);e.s([],885864),e.i(885864),e.i(8890);var o=e.i(526850),u=e.i(535270),d=e.i(29905),c=e.i(106045),m=e.i(277642),f=e.i(602453),p=e.i(638144),x=e.i(139236),h=e.i(969490),v=e.i(464111);function g(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}var b=e.i(410421),y=e.i(756432),N=e.i(125231),j=e.i(975698),C=e.i(380414),E=e.i(443124);function k(e,t){return e-t}function w(e,t,n,r,l,i){var a;let s,o=e;return o=(0,v.clamp)(o,n,r),l&&(a=(0,v.clamp)(o,i[t-1]||-1/0,i[t+1]||1/0),(s=i.slice())[t]=a,o=s.sort(k)),o}function R(e,t,n){return!Array.isArray(e)||Math.min(...e.reduce((e,t,n,r)=>(n===r.length-1||e.push(Math.abs(t-r[n+1])),e),[]))>=t*n}let I={activeThumbIndex:()=>null,max:()=>null,min:()=>null,minStepsBetweenValues:()=>null,step:()=>null,values:()=>null,...e.i(438904).fieldValidityMapping};var S=e.i(267805);let A=r.createContext(void 0);function P(){let e=r.useContext(A);if(void 0===e)throw Error((0,S.default)(62));return e}var M=e.i(742665);let T=r.forwardRef(function(e,t){let{"aria-labelledby":l,className:i,defaultValue:a,disabled:s=!1,id:S,format:P,largeStep:T=10,locale:D,render:O,max:F=100,min:L=0,minStepsBetweenValues:$=0,form:B,name:z,onValueChange:V,onValueCommitted:W,orientation:H="horizontal",step:K=1,thumbCollisionBehavior:_="push",thumbAlignment:U="center",value:q,style:G,...Y}=e,X=(0,x.useBaseUiId)(S),J=null==X?void 0:`${X}-label`,Q=(0,d.useStableCallback)(V),Z=(0,d.useStableCallback)(W),{clearErrors:ee}=(0,C.useFormContext)(),{state:et,disabled:en,name:er,setTouched:el,setDirty:ei,validityData:ea,shouldValidateOnChange:es,validation:eo}=(0,N.useFieldRootContext)(),{labelId:eu}=(0,E.useLabelableContext)(),[ed,ec]=r.useState(),em=l??eu??ed,ef=en||s,ep=er??z,[ex,eh]=(0,u.useControlled)({controlled:q,default:a??L,name:"Slider"}),ev=r.useRef(null),eg=r.useRef(null),eb=r.useRef([]),ey=r.useRef(null),eN=r.useRef(null),ej=r.useRef(-1),eC=r.useRef(null),eE=r.useRef(null),ek=r.useRef("none"),ew=(0,c.useValueAsRef)(P),[eR,eI]=r.useState(-1),[eS,eA]=r.useState(-1),[eP,eM]=r.useState(!1),[eT,eD]=r.useState(()=>new Map),[eO,eF]=r.useState([void 0,void 0]),eL=(0,d.useStableCallback)(e=>{eI(e),-1!==e&&eA(e)});(0,j.useRegisterFieldControl)(eg,{id:X,value:ex}),(0,p.useValueChanged)(ex,()=>{ee(ep),es()?eo.commit(ex):eo.commit(ex,!0);let e=ea.initialValue;ei(Array.isArray(ex)&&Array.isArray(e)?!g(ex,e):ex!==e)});let e$=(0,d.useStableCallback)(e=>{e&&(eg.current=e)}),eB=Array.isArray(ex),ez=r.useMemo(()=>eB?ex.slice().sort(k):[(0,v.clamp)(ex,L,F)],[F,L,eB,ex]),eV=(0,d.useStableCallback)((e,t)=>{if(Number.isNaN(e)||("number"==typeof e&&"number"==typeof ex?e===ex:!!(Array.isArray(e)&&Array.isArray(ex))&&g(e,ex)))return;let n=t??(0,f.createChangeEventDetails)(M.REASONS.none,void 0,void 0,{activeThumbIndex:-1});ek.current=n.reason;let r=n.event,l=new(r.constructor??Event)(r.type,r);Object.defineProperty(l,"target",{writable:!0,value:{value:e,name:ep}}),n.event=l,eE.current=e,Q(e,n),n.isCanceled||eh(e)}),eW=(0,d.useStableCallback)((e,t,n)=>{let r=w(e,t,L,F,eB,ez);if(R(r,K,$)){let e="key"in n?M.REASONS.keyboard:M.REASONS.inputChange;eV(r,(0,f.createChangeEventDetails)(e,n.nativeEvent,void 0,{activeThumbIndex:t})),el(!0),Z(eE.current??r,(0,f.createGenericEventDetails)(e,n.nativeEvent))}});(0,m.useIsoLayoutEffect)(()=>{let e=(0,b.activeElement)((0,o.ownerDocument)(ev.current));ef&&(0,b.contains)(ev.current,e)&&e.blur()},[ef]),ef&&-1!==eR&&eL(-1);let eH=r.useMemo(()=>({...et,activeThumbIndex:eR,disabled:ef,dragging:eP,orientation:H,max:F,min:L,minStepsBetweenValues:$,step:K,values:ez}),[et,eR,ef,eP,F,L,$,H,K,ez]),eK=r.useMemo(()=>({active:eR,controlRef:eg,disabled:ef,dragging:eP,validation:eo,formatOptionsRef:ew,handleInputChange:eW,indicatorPosition:eO,inset:"center"!==U,labelId:em,rootLabelId:J,largeStep:T,lastUsedThumbIndex:eS,lastChangedValueRef:eE,lastChangeReasonRef:ek,form:B,locale:D,max:F,min:L,minStepsBetweenValues:$,name:ep,onValueCommitted:Z,orientation:H,pressedInputRef:ey,pressedThumbCenterOffsetRef:eN,pressedThumbIndexRef:ej,pressedValuesRef:eC,registerFieldControlRef:e$,renderBeforeHydration:"edge"===U,setActive:eL,setDragging:eM,setIndicatorPosition:eF,setLabelId:ec,setValue:eV,state:eH,step:K,thumbCollisionBehavior:_,thumbMap:eT,thumbRefs:eb,values:ez}),[eR,eg,em,J,ef,eP,eo,ew,eW,eO,T,eS,eE,ek,B,D,F,L,$,ep,Z,H,ey,eN,ej,eC,e$,eL,eM,eF,ec,eV,eH,K,_,U,eT,eb,ez]),e_=(0,h.useRenderElement)("div",e,{state:eH,ref:[t,ev],props:[{"aria-labelledby":em,id:X,role:"group"},eo.getValidationProps,Y],stateAttributesMapping:I});return(0,n.jsx)(A.Provider,{value:eK,children:(0,n.jsx)(y.CompositeList,{elementsRef:eb,onMapChange:eD,children:e_})})});var D=e.i(92615),O=e.i(213700);let F=r.forwardRef(function(e,t){let{render:n,className:r,style:l,...i}=e;delete i.id;let{state:a,setLabelId:s,controlRef:u,rootLabelId:d}=P(),c=(0,O.useLabel)({id:d,setLabelId:s,focusControl:function(e,t){if(t){let n=(0,o.ownerDocument)(e.currentTarget).getElementById(t);if((0,D.isHTMLElement)(n))return void(0,O.focusElementWithVisible)(n)}let n=u.current?.querySelectorAll('input[type="range"]'),r=n?.length===1?n[0]:null;(0,D.isHTMLElement)(r)&&(0,O.focusElementWithVisible)(r)}});return(0,h.useRenderElement)("div",e,{ref:t,state:a,props:[c,i],stateAttributesMapping:I})});var L=e.i(842809);let $=r.forwardRef(function(e,t){let{"aria-live":n="off",render:l,className:i,children:a,style:s,...o}=e,{thumbMap:u,state:d,values:c,formatOptionsRef:m,locale:f}=P(),p=r.useMemo(()=>{let e="";for(let t of u.values())t?.inputId&&(e+=`${t.inputId} `);return""===e.trim()?void 0:e.trim()},[u]),x=r.useMemo(()=>{let e=[];for(let t=0;t<c.length;t+=1)e.push((0,L.formatNumber)(c[t],f,m.current??void 0));return e},[m,f,c]),v=r.useMemo(()=>{let e=[];for(let t=0;t<c.length;t+=1)e.push(x[t]||c[t]);return e.join(" – ")},[c,x]);return(0,h.useRenderElement)("output",e,{state:d,ref:t,props:[{"aria-live":n,children:"function"==typeof a?a(x,c):v,htmlFor:p},o],stateAttributesMapping:I})});var B=e.i(422561),z=e.i(859092),V=e.i(189131);function W(e){let t=e.getBoundingClientRect();return{x:(t.left+t.right)/2,y:(t.top+t.bottom)/2}}function H(e){if(0===e)return 0;if(1>Math.abs(e)){let t=e.toExponential().split("e-"),n=t[0].split(".")[1];return(n?n.length:0)+parseInt(t[1],10)}let t=e.toString().split(".")[1];return t?t.length:0}function K(e,t,n){return Number((Math.round((e-n)/t)*t+n).toFixed(Math.max(H(t),H(n))))}function _({values:e,index:t,nextValue:n,min:r,max:l,step:i,minStepsBetweenValues:a,initialValues:s}){if(0===e.length)return[];let o=e.slice(),u=i*a,d=o.length-1,c=s??e;o[t]=(0,v.clamp)(n,r+t*u,l-(d-t)*u);for(let e=t+1;e<=d;e+=1){let t=o[e-1]+u,n=l-(d-e)*u,r=c[e]??o[e],i=Math.max(o[e],t);r<i&&(i=Math.max(r,t)),o[e]=(0,v.clamp)(i,t,n)}for(let e=t-1;e>=0;e-=1){let t=o[e+1]-u,n=r+e*u,l=c[e]??o[e],i=Math.min(o[e],t);l>i&&(i=Math.min(l,t)),o[e]=(0,v.clamp)(i,n,t)}for(let e=0;e<=d;e+=1)o[e]=Number(o[e].toFixed(12));return o}function U(e,t){if(null!=t.current&&e.changedTouches){for(let n=0;n<e.changedTouches.length;n+=1){let r=e.changedTouches[n];if(r.identifier===t.current)return{x:r.clientX,y:r.clientY}}return null}return{x:e.clientX,y:e.clientY}}let q=r.forwardRef(function(e,t){let{render:n,className:l,style:i,...a}=e,{disabled:s,dragging:u,inset:m,lastChangedValueRef:p,lastChangeReasonRef:x,max:g,min:y,minStepsBetweenValues:N,onValueCommitted:j,orientation:C,pressedInputRef:E,pressedThumbCenterOffsetRef:k,pressedThumbIndexRef:w,pressedValuesRef:S,registerFieldControlRef:A,renderBeforeHydration:T,setActive:O,setDragging:F,setValue:L,state:$,step:H,thumbCollisionBehavior:q,thumbRefs:G,values:Y}=P(),X=(0,V.useDirection)(),J=Y.length>1,Q="vertical"===C,Z=r.useRef(null),ee=r.useRef(null),et=(0,d.useStableCallback)(e=>{e&&null==ee.current&&null==ee.current&&(ee.current=getComputedStyle(e))}),en=r.useRef(null),er=r.useRef(0),el=r.useRef(0),ei=(0,c.useValueAsRef)(Y),ea=(0,d.useStableCallback)(e=>{w.current!==e&&(w.current=e);let t=G.current[e];if(!t){k.current=null,E.current=null;return}E.current=t.querySelector('input[type="range"]')}),es=(0,d.useStableCallback)(e=>{let t=Z.current;if(!t)return null;let{width:n,height:r,bottom:l,left:i,right:a}=t.getBoundingClientRect(),s=function(e,t){if(!e)return{start:0,end:0};function n(e){let t=null!=e?parseFloat(e):0;return Number.isNaN(t)?0:t}let r=t?"Top":"InlineStart",l=t?"Bottom":"InlineEnd";return{start:n(e[`border${r}Width`])+n(e[`padding${r}`]),end:n(e[`border${l}Width`])+n(e[`padding${l}`])}}(ee.current,Q),o=el.current,u=(Q?r:n)-s.start-s.end-2*o,d=k.current??0,c=e.x-d,m=e.y-d,f=Q?l-m-s.end:("rtl"===X?a-c:c-i)-s.start,p=(g-y)*(0,v.clamp)((f-o)/u,0,1)+y;if(p=K(p,H,y),p=(0,v.clamp)(p,y,g),!J)return{value:p,thumbIndex:0,didSwap:!1};let x=w.current;if(x<0)return null;let h=function({behavior:e,values:t,currentValues:n,initialValues:r,pressedIndex:l,nextValue:i,min:a,max:s,step:o,minStepsBetweenValues:u}){let d=n??t,c=r??t;if(!(d.length>1))return{value:i,thumbIndex:0,didSwap:!1};let m=o*u;switch(e){case"swap":{let e=d[l],t=d.slice(),n=t[l-1],r=t[l+1],f=null!=n?n+m:a,p=null!=r?r-m:s,x=Number((0,v.clamp)(i,f,p).toFixed(12));t[l]=x;let h=i>e,g=i<e,b=h&&null!=r&&i>=r-1e-7,y=g&&null!=n&&i<=n+1e-7;if(!b&&!y)return{value:t,thumbIndex:l,didSwap:!1};let N=b?l+1:l-1,j=t.map((e,t)=>{if(t===l)return x;let n=c[t];return null!=n?n:d[t]}),C=i;C=b?Math.max(i,t[N]):Math.min(i,t[N]);let E=_({values:t,index:N,nextValue:C,min:a,max:s,step:o,minStepsBetweenValues:u,initialValues:j}),k=b?N-1:N+1;if(k>=0&&k<E.length){let e=E[k-1],t=E[k+1],n=null!=e?e+m:a;n=Math.max(n,a+k*m);let r=null!=t?t-m:s;r=Math.min(r,s-(E.length-1-k)*m);let l=(0,v.clamp)(x,n,r);E[k]=Number(l.toFixed(12))}return{value:E,thumbIndex:N,didSwap:!0}}case"push":return{value:_({values:d,index:l,nextValue:i,min:a,max:s,step:o,minStepsBetweenValues:u}),thumbIndex:l,didSwap:!1};default:{let e=d.slice(),t=e[l-1],n=e[l+1],r=null!=t?t+m:a,o=null!=n?n-m:s,u=(0,v.clamp)(i,r,o);return e[l]=Number(u.toFixed(12)),{value:e,thumbIndex:l,didSwap:!1}}}}({behavior:q,values:Y,currentValues:ei.current??Y,initialValues:S.current,pressedIndex:x,nextValue:p,min:y,max:g,step:H,minStepsBetweenValues:N});return"swap"===q&&h.didSwap?ea(h.thumbIndex):w.current=h.thumbIndex,h}),eo=(0,d.useStableCallback)(e=>{S.current=J?Y.slice():null,ei.current=Y;let t=w.current,n=t;if(t>-1&&t<Y.length){if(Y[t]===g){let e=t;for(;e>0&&Y[e-1]===g;)e-=1;n=e}}else{let t,r=Q?"y":"x";n=-1;for(let l=0;l<G.current.length;l+=1){let i=G.current[l];if((0,D.isElement)(i)){let a=W(i),s=Math.abs(e[r]-a[r]);(void 0===t||s<=t)&&(n=l,t=s)}}}if(n>-1&&n!==t&&ea(n),m){let e=G.current[n];(0,D.isElement)(e)&&(el.current=e.getBoundingClientRect()[Q?"height":"width"]/2)}}),eu=(0,d.useStableCallback)(e=>{let t=G.current?.[e]?.querySelector('input[type="range"]');t&&t.focus({preventScroll:!0,focusVisible:!1})}),ed=(0,d.useStableCallback)(e=>{let t=U(e,en);if(null==t)return;if(er.current+=1,"pointermove"===e.type&&0===e.buttons)return void ec(e);let n=es(t);null!=n&&R(n.value,H,N)&&(!u&&er.current>2&&F(!0),L(n.value,(0,f.createChangeEventDetails)(M.REASONS.drag,e,void 0,{activeThumbIndex:n.thumbIndex})),ei.current=Array.isArray(n.value)?n.value:[n.value],n.didSwap&&eu(n.thumbIndex))});function ec(e){O(-1),F(!1),E.current=null,k.current=null;let t=U(e,en),n=null!=t?es(t):null;if(null!=n){let t=x.current;j(p.current??n.value,(0,f.createGenericEventDetails)(t,e))}"pointerType"in e&&Z.current?.hasPointerCapture(e.pointerId)&&Z.current?.releasePointerCapture(e.pointerId),w.current=-1,en.current=null,S.current=null,ef()}let em=(0,d.useStableCallback)(e=>{if(s)return;let t=e.changedTouches[0];null!=t&&(en.current=t.identifier);let n=U(e,en);if(null!=n){eo(n);let t=es(n);if(null==t)return;eu(t.thumbIndex),L(t.value,(0,f.createChangeEventDetails)(M.REASONS.trackPress,e,void 0,{activeThumbIndex:t.thumbIndex})),ei.current=Array.isArray(t.value)?t.value:[t.value],t.didSwap&&eu(t.thumbIndex)}er.current=0;let r=(0,o.ownerDocument)(Z.current);r.addEventListener("touchmove",ed,{passive:!0}),r.addEventListener("touchend",ec,{passive:!0})}),ef=(0,d.useStableCallback)(()=>{let e=(0,o.ownerDocument)(Z.current);e.removeEventListener("pointermove",ed),e.removeEventListener("pointerup",ec),e.removeEventListener("touchmove",ed),e.removeEventListener("touchend",ec),S.current=null}),ep=(0,z.useAnimationFrame)();return r.useEffect(()=>{let e=Z.current;if(!e)return()=>ef();let t=(0,B.addEventListener)(e,"touchstart",em,{passive:!0});return()=>{t(),ep.cancel(),ef()}},[ef,em,Z,ep]),r.useEffect(()=>{s&&ef()},[s,ef]),(0,h.useRenderElement)("div",e,{state:$,ref:[t,A,Z,et],props:[{"data-base-ui-slider-control":T?"":void 0,onPointerDown(e){let t=Z.current,n=(0,b.getTarget)(e.nativeEvent);if(!t||s||e.defaultPrevented||!(0,D.isElement)(n)||0!==e.button)return;let r=U(e,en);if(null!=r){eo(r);let n=es(r);if(null==n)return;(0,b.contains)(G.current[n.thumbIndex],(0,b.activeElement)((0,o.ownerDocument)(t)))?e.preventDefault():ep.request(()=>{eu(n.thumbIndex)}),F(!0),null==k.current&&(L(n.value,(0,f.createChangeEventDetails)(M.REASONS.trackPress,e.nativeEvent,void 0,{activeThumbIndex:n.thumbIndex})),ei.current=Array.isArray(n.value)?n.value:[n.value],n.didSwap&&eu(n.thumbIndex))}e.nativeEvent.pointerId&&t.setPointerCapture(e.nativeEvent.pointerId),er.current=0;let l=(0,o.ownerDocument)(Z.current);l.addEventListener("pointermove",ed,{passive:!0}),l.addEventListener("pointerup",ec,{once:!0})}},a],stateAttributesMapping:I})}),G=r.forwardRef(function(e,t){let{render:n,className:r,style:l,...i}=e,{state:a}=P();return(0,h.useRenderElement)("div",e,{state:a,ref:t,props:[{style:{position:"relative"}},i],stateAttributesMapping:I})});var Y=e.i(204133),X=e.i(236706),J=e.i(370383),Q=e.i(517432),Z=e.i(203922),ee=e.i(100229),et=e.i(296615),en=e.i(394394),er=e.i(922970),el=e.i(575665);let ei=((t={}).index="data-index",t.dragging="data-dragging",t.orientation="data-orientation",t.disabled="data-disabled",t.valid="data-valid",t.invalid="data-invalid",t.touched="data-touched",t.dirty="data-dirty",t.focused="data-focused",t),ea=new Set([ee.ARROW_UP,ee.ARROW_DOWN,ee.ARROW_LEFT,ee.ARROW_RIGHT,ee.HOME,ee.END,ee.PAGE_UP,ee.PAGE_DOWN]);function es(e,t,n,r,l){let i=Number((1===n?e+t:e-t).toFixed(Math.max(H(e),H(t),H(r))));return(0,v.clamp)(i,r,l)}let eo=r.forwardRef(function(e,t){let l,{render:i,children:a,className:s,"aria-describedby":o,"aria-label":u,"aria-labelledby":c,disabled:f=!1,getAriaLabel:p,getAriaValueText:v,id:g,index:b,inputRef:y,onBlur:j,onFocus:C,onKeyDown:E,tabIndex:k,style:R,...S}=e,{nonce:A}=(0,en.useCSPContext)(),M=(0,x.useBaseUiId)(g),{active:T,lastUsedThumbIndex:D,controlRef:O,disabled:F,validation:$,formatOptionsRef:B,handleInputChange:z,inset:H,labelId:_,largeStep:U,locale:q,max:G,min:eo,minStepsBetweenValues:eu,form:ed,name:ec,orientation:em,pressedInputRef:ef,pressedThumbCenterOffsetRef:ep,pressedThumbIndexRef:ex,renderBeforeHydration:eh,setActive:ev,setIndicatorPosition:eg,state:eb,step:ey,values:eN}=P(),ej=(0,V.useDirection)(),eC=eN.length>1,eE="vertical"===em,ek="rtl"===ej,{setTouched:ew,setFocused:eR,validationMode:eI}=(0,N.useFieldRootContext)(),eS=r.useRef(null),eA=r.useRef(null),eP=r.useRef(!1),eM=(0,x.useBaseUiId)(),eT=(0,el.useLabelableId)(),eD=eC?eM:eT,eO=r.useMemo(()=>({inputId:eD}),[eD]),{ref:eF,index:eL}=(0,et.useCompositeListItem)({metadata:eO}),e$=eC?b??eL:0,eB=e$===eN.length-1,ez=eN[e$],eV=(0,Z.valueToPercent)(ez,eo,G),[eW,eH]=r.useState(),eK=(0,Q.useIsHydrating)(),e_=D>=0&&D<eN.length?D:-1,eU=(0,d.useStableCallback)(()=>{let e=O.current,t=eS.current;if(!e||!t)return;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),l=eE?"height":"width",i=r[l]-n[l],a=(n[l]/2+i*eV/100)/r[l]*100,s=Number.isFinite(a)?a:void 0;eH(s),0===e$?eg(e=>[s,e[1]]):eB&&eg(e=>[e[0],s])});(0,m.useIsoLayoutEffect)(()=>{H&&queueMicrotask(eU)},[eU,H]),(0,m.useIsoLayoutEffect)(()=>{H&&eU()},[eU,H,eV]),(0,m.useIsoLayoutEffect)(()=>{if(!H||"function"!=typeof ResizeObserver)return;let e=O.current,t=eS.current;if(!e||!t)return;let n=new ResizeObserver(eU);return n.observe(e),n.observe(t),()=>{n.disconnect()}},[O,eU,H]);let eq=r.useCallback(()=>{let e,t=eE?"bottom":"insetInlineStart",n=eE?"left":"top";return(eC?T===e$?e=2:e_===e$&&(e=1):T===e$&&(e=1),H)?{"--position":`${eW??0}%`,visibility:eh&&eK||void 0===eW?"hidden":void 0,position:"absolute",[t]:"var(--position)",[n]:"50%",translate:`${(eE||!ek?-1:1)*50}% ${(eE?1:-1)*50}%`,zIndex:e}:Number.isFinite(eV)?{position:"absolute",[t]:`${eV}%`,[n]:"50%",translate:`${(eE||!ek?-1:1)*50}% ${(eE?1:-1)*50}%`,zIndex:e}:X.visuallyHidden},[T,e$,H,eK,eW,eC,eh,ek,e_,eV,eE]);"vertical"===em&&(l=ek?"vertical-rl":"vertical-lr");let eG="function"==typeof p?p(e$):u,eY=(0,J.mergeProps)({"aria-label":eG,"aria-labelledby":c??(null==eG?_:void 0),"aria-describedby":o,"aria-orientation":em,"aria-valuenow":ez,"aria-valuetext":"function"==typeof v?v((0,L.formatNumber)(ez,q,B.current??void 0),ez,e$):function(e,t,n,r){if(!(t<0))return 2===e.length?0===t?`${(0,L.formatNumber)(e[t],r,n)} start range`:`${(0,L.formatNumber)(e[t],r,n)} end range`:n?(0,L.formatNumber)(e[t],r,n):void 0}(eN,e$,B.current??void 0,q),disabled:f||F,form:ed,id:eD,max:G,min:eo,name:ec,onChange(e){z(e.currentTarget.valueAsNumber,e$,e)},onFocus(e){let t=eP.current;eP.current=!1,ev(e$),eR(!0),t&&e.stopPropagation()},onBlur(e){eP.current?e.stopPropagation():eS.current&&(ev(-1),ew(!0),eR(!1),"onBlur"===eI&&$.commit(w(ez,e$,eo,G,eC,eN)))},onKeyDown(e){if(!ea.has(e.key))return;ee.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation();let t=null,n=K(ez,ey,eo);switch(e.key){case ee.ARROW_UP:t=es(n,e.shiftKey?U:ey,1,eo,G);break;case ee.ARROW_RIGHT:t=es(n,e.shiftKey?U:ey,ek?-1:1,eo,G);break;case ee.ARROW_DOWN:t=es(n,e.shiftKey?U:ey,-1,eo,G);break;case ee.ARROW_LEFT:t=es(n,e.shiftKey?U:ey,ek?1:-1,eo,G);break;case ee.PAGE_UP:t=es(n,U,1,eo,G);break;case ee.PAGE_DOWN:t=es(n,U,-1,eo,G);break;case ee.END:t=G,eC&&(t=Number.isFinite(eN[e$+1])?eN[e$+1]-ey*eu:G);break;case ee.HOME:t=eo,eC&&(t=Number.isFinite(eN[e$-1])?eN[e$-1]+ey*eu:eo)}if(null!==t){let n=e.currentTarget;(0,er.matchesFocusVisible)(n)||(eP.current=!0,n.blur(),n.focus({preventScroll:!0,focusVisible:!0})),z(t,e$,e),e.preventDefault()}},step:ey,style:{...X.visuallyHidden,width:"100%",height:"100%",writingMode:l},tabIndex:k??void 0,type:"range",value:ez??""},$.getInputValidationProps),eX=(0,Y.useMergedRefs)(eA,$.inputRef,y);return(0,h.useRenderElement)("div",e,{state:eb,ref:[t,eF,eS],props:[{[ei.index]:e$,children:(0,n.jsxs)(r.Fragment,{children:[a,(0,n.jsx)("input",{ref:eX,...eY,suppressHydrationWarning:!0}),H&&eK&&eh&&eB&&(0,n.jsx)("script",{nonce:A,dangerouslySetInnerHTML:{__html:'!function(){const t=document.currentScript?.parentElement;if(!t)return;const e=t.closest("[data-base-ui-slider-control]");if(!e)return;const r=e.querySelector("[data-base-ui-slider-indicator]"),i=e.getBoundingClientRect(),n="vertical"===e.getAttribute("data-orientation")?"height":"width",o=e.querySelectorAll(\'input[type="range"]\'),l=o.length>1,s=o.length-1;let a=null,u=null;for(let t=0;t<o.length;t+=1){const e=o[t],y=parseFloat(e.getAttribute("value")??"");if(Number.isNaN(y))return;const c=e.parentElement;if(!c)return;const p=parseFloat(e.getAttribute("max")??"100"),g=parseFloat(e.getAttribute("min")??"0"),b=c?.getBoundingClientRect(),d=i[n]-b[n],m=100*(y-g)/(p-g),v=(b[n]/2+d*m/100)/i[n]*100;c.style.setProperty("--position",`${v}%`),Number.isFinite(v)&&(c.style.removeProperty("visibility"),r&&(0===t?(a=v,r.style.setProperty("--start-position",`${v}%`),l||r.style.removeProperty("visibility")):t===s&&(u=v-(a??0),r.style.setProperty("--end-position",`${v}%`),r.style.setProperty("--relative-size",`${u}%`),r.style.removeProperty("visibility"))))}}();'},suppressHydrationWarning:!0})]}),id:M,onBlur:j,onFocus:C,onPointerDown(e){if(ex.current=e$,null!=eS.current){let t="horizontal"===em?"x":"y",n=W(eS.current);ep.current=("horizontal"===em?e.clientX:e.clientY)-n[t]}null!=eA.current&&ef.current!==eA.current&&(ef.current=eA.current)},style:eq(),suppressHydrationWarning:eh||void 0},S],stateAttributesMapping:I})}),eu=r.forwardRef(function(e,t){var n,r;let l,i,a,s,{render:o,className:u,style:d,...c}=e,{indicatorPosition:m,inset:f,max:p,min:x,orientation:v,renderBeforeHydration:g,state:b,values:y}=P(),N=(0,Q.useIsHydrating)(),j="vertical"===v,C=y.length>1,E=f?(n=m[0],r=m[1],l=void 0===n||C&&void 0===r?"hidden":void 0,i=j?"bottom":"insetInlineStart",a=j?"height":"width",((s={visibility:g&&N?"hidden":l,position:j?"absolute":"relative",[j?"width":"height"]:"inherit"})["--start-position"]=`${n??0}%`,C)?(s["--relative-size"]=`${(r??0)-(n??0)}%`,s[i]="var(--start-position)",s[a]="var(--relative-size)"):(s[i]=0,s[a]="var(--start-position)"),s):function(e,t,n,r){let l=e?"bottom":"insetInlineStart",i=e?"height":"width",a={position:e?"absolute":"relative",[e?"width":"height"]:"inherit"};if(!t)return a[l]=0,a[i]=`${n}%`,a;let s=r-n;return a[l]=`${n}%`,a[i]=`${s}%`,a}(j,C,(0,Z.valueToPercent)(y[0],x,p),(0,Z.valueToPercent)(y[y.length-1],x,p));return(0,h.useRenderElement)("div",e,{state:b,ref:t,props:[{"data-base-ui-slider-indicator":g?"":void 0,style:E,suppressHydrationWarning:g||void 0},c],stateAttributesMapping:I})});e.s(["Control",0,q,"Indicator",0,eu,"Label",0,F,"Root",0,T,"Thumb",0,eo,"Track",0,G,"Value",0,$],414857);var ed=e.i(414857),ed=ed,ec=e.i(465458);function em({className:e,defaultValue:t,value:r,min:l=0,max:i=100,...a}){let s=Array.isArray(r)?r:void 0!==r?[r]:Array.isArray(t)?t:[l,i];return(0,n.jsx)(ed.Root,{className:(0,ec.cn)("data-horizontal:w-full data-vertical:h-full",e),"data-slot":"slider",defaultValue:t,value:r,min:l,max:i,thumbAlignment:"edge",...a,children:(0,n.jsxs)(ed.Control,{className:"relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col",children:[(0,n.jsx)(ed.Track,{"data-slot":"slider-track",className:"relative grow overflow-hidden rounded-full bg-muted select-none data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1",children:(0,n.jsx)(ed.Indicator,{"data-slot":"slider-range",className:"bg-primary select-none data-horizontal:h-full data-vertical:w-full"})}),Array.from({length:s.length},(e,t)=>(0,n.jsx)(ed.Thumb,{"data-slot":"slider-thumb",className:"relative block size-3 shrink-0 rounded-full border border-ring bg-white ring-ring/50 transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 disabled:pointer-events-none disabled:opacity-50"},t))]})})}var ef=e.i(562918),ep=e.i(226624),ex=e.i(767467),eh=e.i(990336),ev=e.i(953700),eg=e.i(137340),eb=e.i(368942);let ey={vision:"bg-blue-500/10 text-blue-600 border-blue-200",reasoning:"bg-purple-500/10 text-purple-600 border-purple-200",embedding:"bg-green-500/10 text-green-600 border-green-200"},eN=[{label:"8K",value:8192},{label:"16K",value:16384},{label:"32K",value:32768},{label:"64K",value:65536},{label:"128K",value:128e3},{label:"200K",value:2e5},{label:"256K",value:256e3},{label:"1M",value:1e6}],ej=["low","medium","high"];function eC({groups:e,providerNames:t,onEdit:r,onDelete:i}){let s=(0,l.useTranslations)("models"),o=t.length>0?t:["Other"],u=Object.keys(e).sort((e,t)=>{let n=o.indexOf(e),r=o.indexOf(t);return n>=0&&r>=0?n-r:n>=0?-1:r>=0?1:e.localeCompare(t)});return(0,n.jsxs)("div",{className:"flex flex-col p-4 gap-4",children:[u.map(t=>(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2 px-1",children:t}),(0,n.jsx)("div",{className:"flex flex-col gap-0.5",children:e[t].map(e=>{var t;return(0,n.jsxs)("div",{className:"group flex items-center gap-3 rounded-lg px-3 py-2 hover:bg-muted/50 cursor-pointer transition-colors",onClick:()=>r(e),children:[(0,n.jsx)(eh.Brain,{className:"size-4 text-muted-foreground shrink-0"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("span",{className:"text-sm font-medium",children:e.name}),(0,n.jsx)("span",{className:"text-[11px] text-muted-foreground font-mono ml-2",children:e.modelId}),e.cost?(0,n.jsxs)("span",{className:"ml-2 text-[11px] text-muted-foreground font-mono",children:["$",ew(e.cost.inputPerMillion),"/$",ew(e.cost.outputPerMillion)]}):null,e.maxContextTokens?(0,n.jsxs)("span",{className:"ml-2 text-[11px] text-muted-foreground font-mono",children:[(t=e.maxContextTokens,new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1}).format(t))," ",s("list.contextAbbr")]}):null]}),(0,n.jsx)("div",{className:"flex items-center gap-1",children:["vision","reasoning","embedding"].map(t=>e[t]?(0,n.jsx)(ef.Badge,{variant:"outline",className:`text-[10px] h-5 px-1.5 ${ey[t]}`,children:s(`capability.${t}`)},t):null)}),(0,n.jsx)(a.Button,{variant:"ghost",size:"icon-xs",className:"opacity-0 group-hover:opacity-100 transition-opacity",onClick:t=>{t.stopPropagation(),i(e.id)},children:(0,n.jsx)(eg.Trash2,{className:"size-3 text-destructive"})})]},e.id)})})]},t)),0===u.length&&(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-muted-foreground",children:[(0,n.jsx)(eh.Brain,{className:"size-10 mb-2 opacity-30"}),(0,n.jsx)("p",{className:"text-sm",children:s("list.empty")})]})]})}function eE({draft:e,providerNames:t,onChange:i}){let a=(0,l.useTranslations)("models"),o=(0,r.useRef)(!1),[u,d]=(0,r.useState)(()=>(function(e){if(!e)return eN.length;let t=eN.findIndex(t=>t.value===e);return t>=0?t:eN.length})(e.maxContextTokens)),c=t.length>0?t:["Other"];return(0,n.jsxs)("div",{className:"flex flex-col gap-5 p-5",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.details")}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.modelId")}),(0,n.jsx)(s.Input,{value:e.modelId||"",onChange:e=>{let t=e.target.value;i("modelId",t),o.current||i("name",t)},placeholder:a("form.modelIdPlaceholder")})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.displayName")}),(0,n.jsx)(s.Input,{value:e.name||"",onChange:e=>{o.current=!0,i("name",e.target.value)},placeholder:a("form.displayNamePlaceholder")})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.provider")}),(0,n.jsx)("select",{value:e.provider||"Other",onChange:e=>i("provider",e.target.value),className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm outline-none focus-visible:border-ring dark:bg-input/30",children:c.map(e=>(0,n.jsx)("option",{value:e,children:e},e))})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.context")}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.maxContextTokens")}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)(em,{min:0,max:eN.length,step:1,value:u,onValueChange:e=>{d(e),e<eN.length&&i("maxContextTokens",eN[e].value)},className:"flex-1"}),u<eN.length?(0,n.jsx)("span",{className:"text-sm tabular-nums min-w-[3.5rem] text-right",children:eN[u].label}):(0,n.jsx)(s.Input,{type:"number",min:"1",step:"1",value:e.maxContextTokens??"",onChange:e=>i("maxContextTokens",function(e){if(!e.trim())return;let t=Number(e);return Number.isFinite(t)&&t>0?Math.floor(t):void 0}(e.target.value)),placeholder:a("form.customContextPlaceholder"),className:"h-7 w-24 text-sm tabular-nums"})]})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.thinking")}),(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg border border-input px-3 py-2",children:[(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:a("form.enableThinking")}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:a("form.enableThinkingHelper")})]}),(0,n.jsx)(ep.Switch,{checked:e.thinkingEnabled??!0,onCheckedChange:e=>i("thinkingEnabled",e)})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.effort")}),(0,n.jsx)("select",{value:e.thinkingEffort||"medium",onChange:e=>i("thinkingEffort",e.target.value),disabled:!(e.thinkingEnabled??!0),className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm outline-none focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 dark:bg-input/30",children:ej.map(e=>(0,n.jsx)("option",{value:e,children:e},e))})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.cost")}),(0,n.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.inputPerMillion")}),(0,n.jsx)(s.Input,{type:"number",min:"0",step:"0.0001",value:e.cost?.inputPerMillion??0,onChange:t=>i("cost",{inputPerMillion:ek(t.target.value),outputPerMillion:e.cost?.outputPerMillion??0}),placeholder:a("form.costPlaceholder")})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:a("form.outputPerMillion")}),(0,n.jsx)(s.Input,{type:"number",min:"0",step:"0.0001",value:e.cost?.outputPerMillion??0,onChange:t=>i("cost",{inputPerMillion:e.cost?.inputPerMillion??0,outputPerMillion:ek(t.target.value)}),placeholder:a("form.costPlaceholder")})]})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:a("form.capabilities")}),(0,n.jsx)("div",{className:"flex items-center gap-1.5",children:["vision","reasoning","embedding"].map(t=>{let r=!!e[t];return(0,n.jsx)("button",{type:"button",onClick:()=>i(t,!r),className:`rounded-md border px-2 py-1 text-xs font-medium transition-colors cursor-pointer
2
+ ${r?ey[t]:"text-muted-foreground border-input hover:bg-muted/50"}`,children:a(`capability.${t}`)},t)})})]})]})}function ek(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:0}function ew(e){return new Intl.NumberFormat("en-US",{maximumFractionDigits:4}).format(e)}e.s(["ModelsDialog",0,function({open:e,onOpenChange:t,initialProvider:s,standalone:o}){let u=(0,l.useTranslations)("models"),d=(0,l.useTranslations)("common"),{models:c,providers:m,ensure:f,addModel:p,updateModel:x,removeModel:h}=(0,eb.useLLMStore)(),v=m.map(e=>e.name),[g,b]=(0,r.useState)(null),[y,N]=(0,r.useState)(null),[j,C]=(0,r.useState)(!1),[E,k]=(0,r.useState)(!1),[w,R]=(0,r.useState)(null),I=(0,r.useRef)(!1);(0,r.useEffect)(()=>{if(!e){I.current=!1;return}queueMicrotask(()=>{C(!0),R(null)}),f().finally(()=>C(!1))},[e,f]),(0,r.useEffect)(()=>{e&&s&&!y&&!I.current&&(I.current=!0,queueMicrotask(()=>{b(null),N({modelId:"",name:"",provider:s,cost:{inputPerMillion:0,outputPerMillion:0},maxContextTokens:128e3,thinkingEnabled:!0,thinkingEffort:"medium",vision:!1,reasoning:!1,embedding:!1})}))},[e,s,y]);let S=()=>{b(null),N(null)},A=()=>{b(null),N({modelId:"",name:"",provider:"Other",cost:{inputPerMillion:0,outputPerMillion:0},maxContextTokens:128e3,thinkingEnabled:!0,thinkingEffort:"medium",vision:!1,reasoning:!1,embedding:!1})},P=async()=>{if(y&&y.modelId&&y.name){k(!0),R(null);try{let e=!g,t=await fetch(e?"/api/models":`/api/models/${g.id}`,{method:e?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(y)});if(!t.ok)throw Error();let n=await t.json();e?p(n):x(n),S()}catch{R(u("error.saveFailed"))}finally{k(!1)}}},M=async e=>{if(confirm(u("confirm.delete"))){k(!0);try{if(!(await fetch(`/api/models/${e}`,{method:"DELETE"})).ok)throw Error();h(e),g?.id===e&&S()}catch{R(u("error.deleteFailed"))}finally{k(!1)}}},T=function(e){let t={};for(let n of e){let e=n.provider||"Other";(t[e]??=[]).push(n)}return t}(c),D=(0,n.jsxs)(n.Fragment,{children:[!o&&(0,n.jsxs)("div",{className:"flex items-center gap-3 border-b px-5 py-4",children:[y&&(0,n.jsx)(a.Button,{variant:"ghost",size:"icon-sm",onClick:S,children:(0,n.jsx)(ex.ArrowLeft,{className:"size-4"})}),(0,n.jsxs)(i.DialogHeader,{className:"flex-1 space-y-0",children:[(0,n.jsx)(i.DialogTitle,{className:"text-base",children:y?g?u("dialog.editTitle"):u("dialog.addTitle"):u("dialog.title")}),(0,n.jsx)(i.DialogDescription,{className:"text-xs",children:y?u("dialog.editDescription"):u("dialog.listDescription")})]}),!y&&(0,n.jsxs)(a.Button,{variant:"outline",size:"sm",onClick:A,className:"mr-6",children:[(0,n.jsx)(ev.Plus,{className:"size-3.5"}),u("dialog.add")]})]}),o&&!y&&(0,n.jsx)("div",{className:"flex items-center justify-end px-5 py-3 border-b",children:(0,n.jsxs)(a.Button,{variant:"outline",size:"sm",onClick:A,children:[(0,n.jsx)(ev.Plus,{className:"size-3.5"}),u("dialog.add")]})}),o&&y&&(0,n.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3 border-b",children:[(0,n.jsx)(a.Button,{variant:"ghost",size:"icon-sm",onClick:S,children:(0,n.jsx)(ex.ArrowLeft,{className:"size-4"})}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("h2",{className:"text-base font-medium truncate",children:g?u("dialog.editTitle"):u("dialog.addTitle")}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:u("dialog.editDescription")})]})]}),(0,n.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[w&&(0,n.jsx)("div",{className:"mx-5 mt-4 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:w}),j?(0,n.jsx)("div",{className:"py-12 text-center text-sm text-muted-foreground",children:u("dialog.loading")}):y?(0,n.jsx)(eE,{draft:y,providerNames:v,onChange:(e,t)=>{N(n=>n?{...n,[e]:t}:n)}}):(0,n.jsx)(eC,{groups:T,providerNames:v,onEdit:e=>{b(e),N({...e,thinkingEnabled:e.thinkingEnabled??!0,thinkingEffort:e.thinkingEffort??"medium"})},onDelete:M})]}),y&&(0,n.jsxs)("div",{className:"flex justify-end gap-2 border-t px-5 py-3",children:[(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:S,disabled:E,children:d("cancel")}),(0,n.jsx)(a.Button,{size:"sm",onClick:P,disabled:E||!y.modelId||!y.name,children:d(E?"saving":"save")})]})]});return o?(0,n.jsx)("div",{className:"h-full flex flex-col",children:D}):(0,n.jsx)(i.Dialog,{open:e,onOpenChange:e=>{e||S(),t(e)},children:(0,n.jsx)(i.DialogContent,{className:"sm:max-w-2xl max-h-[85vh] flex flex-col p-0 gap-0",children:D})})}],86477)}]);