llm-simple-router 0.5.2 → 0.5.4

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 (149) hide show
  1. package/config/recommended-providers.json +234 -19
  2. package/dist/admin/api-response.d.ts +0 -1
  3. package/dist/admin/api-response.js +8 -4
  4. package/dist/admin/groups.js +35 -0
  5. package/dist/admin/monitor.js +2 -0
  6. package/dist/admin/providers.js +188 -22
  7. package/dist/admin/proxy-enhancement.js +9 -9
  8. package/dist/config/model-context.d.ts +10 -0
  9. package/dist/config/model-context.js +105 -0
  10. package/dist/db/index.d.ts +3 -1
  11. package/dist/db/index.js +2 -1
  12. package/dist/db/logs.d.ts +4 -0
  13. package/dist/db/logs.js +7 -3
  14. package/dist/db/mappings.d.ts +2 -1
  15. package/dist/db/mappings.js +2 -2
  16. package/dist/db/migrations/023_create_provider_model_info.sql +8 -0
  17. package/dist/db/migrations/024_add_mapping_groups_is_active.sql +1 -0
  18. package/dist/db/migrations/025_add_client_status_code.sql +3 -0
  19. package/dist/db/model-info.d.ts +14 -0
  20. package/dist/db/model-info.js +27 -0
  21. package/dist/db/providers.d.ts +1 -0
  22. package/dist/db/providers.js +1 -1
  23. package/dist/index.js +15 -3
  24. package/dist/middleware/auth.js +1 -1
  25. package/dist/monitor/request-tracker.d.ts +2 -0
  26. package/dist/monitor/request-tracker.js +18 -0
  27. package/dist/proxy/anthropic.js +13 -0
  28. package/dist/proxy/enhancement/directive-parser.d.ts +8 -2
  29. package/dist/proxy/enhancement/directive-parser.js +44 -17
  30. package/dist/proxy/enhancement/enhancement-handler.js +184 -54
  31. package/dist/proxy/enhancement/index.d.ts +1 -1
  32. package/dist/proxy/enhancement/index.js +1 -1
  33. package/dist/proxy/enhancement-config.d.ts +6 -0
  34. package/dist/proxy/enhancement-config.js +19 -0
  35. package/dist/proxy/openai.js +40 -3
  36. package/dist/proxy/overflow.d.ts +18 -0
  37. package/dist/proxy/overflow.js +128 -0
  38. package/dist/proxy/patch/deepseek/index.d.ts +6 -0
  39. package/dist/proxy/patch/deepseek/index.js +11 -0
  40. package/dist/proxy/patch/deepseek/patch-orphan-tool-results.d.ts +12 -0
  41. package/dist/proxy/patch/deepseek/patch-orphan-tool-results.js +90 -0
  42. package/dist/proxy/patch/deepseek/patch-thinking-blocks.d.ts +6 -0
  43. package/dist/proxy/patch/deepseek/patch-thinking-blocks.js +24 -0
  44. package/dist/proxy/patch/index.d.ts +9 -0
  45. package/dist/proxy/patch/index.js +17 -0
  46. package/dist/proxy/proxy-core.d.ts +9 -2
  47. package/dist/proxy/proxy-core.js +24 -2
  48. package/dist/proxy/proxy-handler.js +34 -9
  49. package/dist/proxy/proxy-logging.js +23 -2
  50. package/dist/proxy/resilience.d.ts +4 -0
  51. package/dist/proxy/resilience.js +8 -1
  52. package/dist/proxy/strategy/types.d.ts +2 -0
  53. package/dist/proxy/stream-proxy.js +2 -1
  54. package/dist/proxy/transport-fn.js +3 -2
  55. package/dist/proxy/transport.js +3 -2
  56. package/dist/proxy/types.d.ts +3 -1
  57. package/dist/proxy/types.js +5 -1
  58. package/dist/upgrade/checker.js +5 -2
  59. package/dist/utils/time-range.js +28 -13
  60. package/frontend-dist/assets/CardContent-GNY_j_L3.js +1 -0
  61. package/frontend-dist/assets/CardTitle-BhXJbSoh.js +1 -0
  62. package/frontend-dist/assets/Checkbox-n_sh6Lvx.js +1 -0
  63. package/frontend-dist/assets/CollapsibleTrigger-DDCUOXDR.js +1 -0
  64. package/frontend-dist/assets/Collection-DbtqQ1jF.js +1 -0
  65. package/frontend-dist/assets/Dashboard-Dy9frcgO.js +3 -0
  66. package/frontend-dist/assets/DialogTitle-BEWUnuJQ.js +1 -0
  67. package/frontend-dist/assets/{Input-O0ebU-Va.js → Input-CmibY9Fx.js} +1 -1
  68. package/frontend-dist/assets/Label-Cs__wFH0.js +1 -0
  69. package/frontend-dist/assets/Login-BciEc1TW.js +1 -0
  70. package/frontend-dist/assets/Logs-BkqwWW0-.js +1 -0
  71. package/frontend-dist/assets/ModelMappings-DrCJ_TCf.js +1 -0
  72. package/frontend-dist/assets/Monitor-C-b4qyuI.js +1 -0
  73. package/frontend-dist/assets/PopoverTrigger-DaKOMSVs.js +1 -0
  74. package/frontend-dist/assets/PopperContent-DZ6plcjf.js +1 -0
  75. package/frontend-dist/assets/Providers-u8utX74M.js +1 -0
  76. package/frontend-dist/assets/ProxyEnhancement-8_xhndGt.js +5 -0
  77. package/frontend-dist/assets/RetryRules-D1psYDEP.js +1 -0
  78. package/frontend-dist/assets/RouterKeys-ovPFGhjy.js +1 -0
  79. package/frontend-dist/assets/RovingFocusItem-Dsv9AkP7.js +1 -0
  80. package/frontend-dist/assets/SelectValue-BoUWfZAg.js +1 -0
  81. package/frontend-dist/assets/Settings-DXF-6A8C.js +6 -0
  82. package/frontend-dist/assets/Setup-rVLqiz0d.js +1 -0
  83. package/frontend-dist/assets/Switch-po5ZVBE3.js +1 -0
  84. package/frontend-dist/assets/TableHeader-Zyvq_0p2.js +1 -0
  85. package/frontend-dist/assets/{TabsTrigger-CPCi2HIa.js → TabsTrigger-CgDhZGkT.js} +1 -1
  86. package/frontend-dist/assets/Teleport-CgTHarey.js +3 -0
  87. package/frontend-dist/assets/TooltipTrigger-C2qO21dQ.js +1 -0
  88. package/frontend-dist/assets/UnifiedRequestDialog-Dksad8eN.js +3 -0
  89. package/frontend-dist/assets/{VisuallyHidden-Cyk-jWwh.js → VisuallyHidden-fbPmoMwi.js} +1 -1
  90. package/frontend-dist/assets/VisuallyHiddenInput-7j8wkPrW.js +1 -0
  91. package/frontend-dist/assets/alert-dialog-DbT3PzoF.js +1 -0
  92. package/frontend-dist/assets/badge-BVxnlnsH.js +1 -0
  93. package/frontend-dist/assets/{button-BQ3s7yNh.js → button-BCrIpNwA.js} +2 -2
  94. package/frontend-dist/assets/chevron-down-CWBwGxSp.js +1 -0
  95. package/frontend-dist/assets/circle-question-mark-DRkkqjgG.js +1 -0
  96. package/frontend-dist/assets/dialog-BNlCZpHK.js +1 -0
  97. package/frontend-dist/assets/file-text-BavS6SrF.js +1 -0
  98. package/frontend-dist/assets/format-K3VR67cG.js +1 -0
  99. package/frontend-dist/assets/index-BP4imfye.css +1 -0
  100. package/frontend-dist/assets/index-DrBJPq6d.js +1 -0
  101. package/frontend-dist/assets/lib-CGpNhf06.js +1 -0
  102. package/frontend-dist/assets/loader-circle-Cpd89XQ7.js +1 -0
  103. package/frontend-dist/assets/ohash.D__AXeF1-DkJnWU8a.js +1 -0
  104. package/frontend-dist/assets/{useClipboard-Cnnz6AAN.js → useClipboard-Bq8yZunx.js} +1 -1
  105. package/frontend-dist/assets/useLogRetention-BWPm3G_A.js +1 -0
  106. package/frontend-dist/assets/useNonce-D5lpSPNk.js +1 -0
  107. package/frontend-dist/assets/x-BFIp7DLt.js +1 -0
  108. package/frontend-dist/index.html +20 -17
  109. package/package.json +2 -1
  110. package/frontend-dist/assets/CardContent-WrBnGhTg.js +0 -1
  111. package/frontend-dist/assets/CardTitle-BcDYk7cq.js +0 -1
  112. package/frontend-dist/assets/Checkbox-MZf0YsDG.js +0 -1
  113. package/frontend-dist/assets/CollapsibleTrigger-CrOH9HlW.js +0 -1
  114. package/frontend-dist/assets/Collection-DcTx_Y54.js +0 -1
  115. package/frontend-dist/assets/Dashboard-D0oDrSLr.js +0 -3
  116. package/frontend-dist/assets/DialogTitle-Cl5Cd7QH.js +0 -1
  117. package/frontend-dist/assets/Label-C_S0y7Um.js +0 -1
  118. package/frontend-dist/assets/Login-DGY7uF8P.js +0 -1
  119. package/frontend-dist/assets/Logs-ls8pv89b.js +0 -1
  120. package/frontend-dist/assets/ModelMappings-DGlf0S4s.js +0 -1
  121. package/frontend-dist/assets/Monitor-BSI87grz.js +0 -1
  122. package/frontend-dist/assets/PopperContent-C6Q7hDmf.js +0 -1
  123. package/frontend-dist/assets/Providers-ZkRpj8_m.js +0 -1
  124. package/frontend-dist/assets/ProxyEnhancement-DFPI1W6Z.js +0 -5
  125. package/frontend-dist/assets/RetryRules-DtM31qsl.js +0 -1
  126. package/frontend-dist/assets/RouterKeys-D63tRFKm.js +0 -1
  127. package/frontend-dist/assets/RovingFocusItem-BJoylAKU.js +0 -1
  128. package/frontend-dist/assets/SelectValue-CLp5z6_I.js +0 -1
  129. package/frontend-dist/assets/Settings-DSgRKbTQ.js +0 -6
  130. package/frontend-dist/assets/Setup-BDmj6CRk.js +0 -1
  131. package/frontend-dist/assets/Switch-Wz-t_zkv.js +0 -1
  132. package/frontend-dist/assets/TableHeader-DGtcqGkw.js +0 -1
  133. package/frontend-dist/assets/Teleport-DdjYHlNK.js +0 -3
  134. package/frontend-dist/assets/TooltipTrigger-H_QoPY1n.js +0 -1
  135. package/frontend-dist/assets/UnifiedRequestDialog-BAAfMJJl.js +0 -3
  136. package/frontend-dist/assets/VisuallyHiddenInput-CYjNe_H8.js +0 -1
  137. package/frontend-dist/assets/alert-dialog-Bi3dliLl.js +0 -1
  138. package/frontend-dist/assets/badge-Kkta3e9W.js +0 -1
  139. package/frontend-dist/assets/createLucideIcon-D1tkPDOQ.js +0 -1
  140. package/frontend-dist/assets/dialog-DoIATUYw.js +0 -1
  141. package/frontend-dist/assets/file-text-Dt6QP1bZ.js +0 -1
  142. package/frontend-dist/assets/format-DOVIVsQC.js +0 -1
  143. package/frontend-dist/assets/index-BY0E7CHR.js +0 -1
  144. package/frontend-dist/assets/index-Bnrh1mFY.css +0 -1
  145. package/frontend-dist/assets/lib-CxwxnlwW.js +0 -1
  146. package/frontend-dist/assets/ohash.D__AXeF1-b0PiKZB_.js +0 -1
  147. package/frontend-dist/assets/useLogRetention-DYP5LOAc.js +0 -1
  148. package/frontend-dist/assets/useNonce-DKbOCfgM.js +0 -1
  149. package/frontend-dist/assets/x-CAoitXRt.js +0 -1
@@ -1 +0,0 @@
1
- import{B as e,E as t,Et as n,G as r,H as i,It as a,K as o,L as s,Lt as c,Nt as l,Rt as u,S as d,W as f,Y as p,at as m,ct as h,d as g,dt as _,et as v,g as y,gt as b,ht as x,i as S,jt as C,m as w,o as T,q as E,r as D,rt as O,ut as k,vt as A,w as j,x as ee}from"./button-BQ3s7yNh.js";import{a as te,c as ne,d as re,m as ie,o as M,t as N,u as P,y as F}from"./Teleport-DdjYHlNK.js";import{t as I}from"./VisuallyHidden-Cyk-jWwh.js";import{i as L,n as R,r as z,t as B}from"./PopperContent-C6Q7hDmf.js";function V(e,t){let r=d(!1,300);j(()=>{r.value=!1});let i=n(null),a=y();function o(){i.value=null,r.value=!1}function s(e,t){if(!t)return;let n=e.currentTarget,a={x:e.clientX,y:e.clientY},o=U(a,H(a,n.getBoundingClientRect()),1),s=W(t.getBoundingClientRect());i.value=K([...o,...s]),r.value=!0}return b(n=>{if(e.value&&t.value){let r=e=>s(e,t.value),i=t=>s(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),b(n=>{if(i.value){let r=n=>{if(!i.value||!(n.target instanceof Element))return;let r=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(r)||t.value?.contains(r),l=!G(s,i.value),u=!!r.closest(`[data-grace-area-trigger]`);c?o():(l||u)&&(o(),a.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,r),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:r,onPointerExit:a.on}}function H(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function U(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function W(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function G(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function K(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),q(t)}function q(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var ae={key:0,d:`M0 0L6 6L12 0`},J={key:1,d:`M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0`},oe=E({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return T(),(e,n)=>(m(),i(l(S),v(t,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:A(()=>[h(e.$slots,`default`,{},()=>[e.rounded?(m(),f(`path`,J)):(m(),f(`path`,ae))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),se={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ce=E({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let{forwardRef:n}=T(),r=R(),i=e(()=>se[r.placedSide.value]);return(e,t)=>(m(),f(`span`,{ref:e=>{l(r).onArrowChange(e??void 0)},style:c({position:`absolute`,left:l(r).arrowX?.value?`${l(r).arrowX?.value}px`:void 0,top:l(r).arrowY?.value?`${l(r).arrowY?.value}px`:void 0,[i.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[l(r).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[l(r).placedSide.value],visibility:l(r).shouldHideArrow.value?`hidden`:void 0})},[o(oe,v(e.$attrs,{ref:l(n),style:{display:`block`},as:e.as,"as-child":e.asChild,rounded:e.rounded,width:e.width,height:e.height}),{default:A(()=>[h(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),le=E({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return T(),(e,n)=>(m(),i(l(ce),a(p(t)),{default:A(()=>[h(e.$slots,`default`)]),_:3},16))}}),[Y,ue]=F(`TooltipProvider`),de=E({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:r,skipDelayDuration:i,disableHoverableContent:a,disableClosingTrigger:o,ignoreNonKeyboardFocus:s,disabled:c,content:l}=C(e);T();let u=n(!0),d=n(!1),{start:f,stop:p}=t(()=>{u.value=!0},i,{immediate:!1});return ue({isOpenDelayed:u,delayDuration:r,onOpen(){p(),u.value=!1},onClose(){f()},isPointerInTransitRef:d,disableHoverableContent:a,disableClosingTrigger:o,disabled:c,ignoreNonKeyboardFocus:s,content:l}),(e,t)=>h(e.$slots,`default`)}}),X=`tooltip.open`,[Z,fe]=F(`TooltipRoot`),pe=E({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(r,{emit:a}){let o=r,s=a;T();let c=Y(),u=e(()=>o.disableHoverableContent??c.disableHoverableContent.value),d=e(()=>o.disableClosingTrigger??c.disableClosingTrigger.value),f=e(()=>o.disabled??c.disabled.value),p=e(()=>o.delayDuration??c.delayDuration.value),g=e(()=>o.ignoreNonKeyboardFocus??c.ignoreNonKeyboardFocus.value),_=w(o,`open`,s,{defaultValue:o.defaultOpen,passive:o.open===void 0});x(_,e=>{c.onClose&&(e?(c.onOpen(),document.dispatchEvent(new CustomEvent(X))):c.onClose())});let v=n(!1),y=n(),b=e(()=>_.value?v.value?`delayed-open`:`instant-open`:`closed`),{start:S,stop:C}=t(()=>{v.value=!0,_.value=!0},p,{immediate:!1});function E(){C(),v.value=!1,_.value=!0}function D(){C(),_.value=!1}function O(){S()}return fe({contentId:``,open:_,stateAttribute:b,trigger:y,onTriggerChange(e){y.value=e},onTriggerEnter(){c.isOpenDelayed.value?O():E()},onTriggerLeave(){u.value?D():C()},onOpen:E,onClose:D,disableHoverableContent:u,disableClosingTrigger:d,disabled:f,ignoreNonKeyboardFocus:g}),(e,t)=>(m(),i(l(L),null,{default:A(()=>[h(e.$slots,`default`,{open:l(_)})]),_:3}))}}),Q=E({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let a=t,c=n,d=Z(),f=Y(),{forwardRef:p,currentElement:_}=T(),y=e(()=>a.ariaLabel||_.value?.textContent),b=e(()=>{let{ariaLabel:e,...t}=a;return ie(t,f.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return O(()=>{g(window,`scroll`,e=>{e.target?.contains(d.trigger.value)&&d.onClose()},{capture:!0}),g(window,X,d.onClose)}),(e,t)=>(m(),i(l(te),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>c(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{l(d).disableClosingTrigger.value&&l(d).trigger.value?.contains(e.target)&&e.preventDefault(),c(`pointerDownOutside`,e)},onFocusOutside:t[2]||=s(()=>{},[`prevent`]),onDismiss:t[3]||=e=>l(d).onClose()},{default:A(()=>[o(l(B),v({ref:l(p),"data-state":l(d).stateAttribute.value},{...e.$attrs,...b.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:A(()=>[h(e.$slots,`default`),o(l(I),{id:l(d).contentId,role:`tooltip`},{default:A(()=>[r(u(y.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),me=E({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=re(e),{forwardRef:n,currentElement:r}=T(),{trigger:a,onClose:o}=Z(),s=Y(),{isPointerInTransit:c,onPointerExit:u}=V(a,r);return s.isPointerInTransitRef=c,u(()=>{o()}),(e,r)=>(m(),i(Q,v({ref:l(n)},l(t)),{default:A(()=>[h(e.$slots,`default`)]),_:3},16))}}),he=E({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,a=Z(),o=P(n,r),{forwardRef:s}=T();return(e,t)=>(m(),i(l(M),{present:e.forceMount||l(a).open.value},{default:A(()=>[(m(),i(k(l(a).disableHoverableContent.value?Q:me),v({ref:l(s)},l(o)),{default:A(()=>[h(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ge=E({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(m(),i(l(N),a(p(t)),{default:A(()=>[h(e.$slots,`default`)]),_:3},16))}}),$=E({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let r=t,a=Z(),s=Y();a.contentId||=ne(void 0,`reka-tooltip-content`);let{forwardRef:c,currentElement:u}=T(),d=n(!1),f=n(!1),p=e(()=>a.disabled.value?{}:{click:E,focus:C,pointermove:b,pointerleave:x,pointerdown:y,blur:w});O(()=>{a.onTriggerChange(u.value)});function g(){setTimeout(()=>{d.value=!1},1)}function y(){a.open&&!a.disableClosingTrigger.value&&a.onClose(),d.value=!0,document.addEventListener(`pointerup`,g,{once:!0})}function b(e){e.pointerType!==`touch`&&!f.value&&!s.isPointerInTransitRef.value&&(a.onTriggerEnter(),f.value=!0)}function x(){a.onTriggerLeave(),f.value=!1}function C(e){d.value||a.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||a.onOpen()}function w(){a.onClose()}function E(){a.disableClosingTrigger.value||a.onClose()}return(e,t)=>(m(),i(l(z),{"as-child":``,reference:e.reference},{default:A(()=>[o(l(S),v({ref:l(c),"aria-describedby":l(a).open.value?l(a).contentId:void 0,"data-state":l(a).stateAttribute.value,as:e.as,"as-child":r.asChild,"data-grace-area-trigger":``},_(p.value)),{default:A(()=>[h(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),_e=E({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=P(e,t);return(e,t)=>(m(),i(l(pe),v({"data-slot":`tooltip`},l(n)),{default:A(t=>[h(e.$slots,`default`,a(p(t)))]),_:3},16))}}),ve=E({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:0},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,a=P(ee(n,`class`),r);return(e,t)=>(m(),i(l(ge),null,{default:A(()=>[o(l(he),v({"data-slot":`tooltip-content`},{...l(a),...e.$attrs},{class:l(D)(`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-dropdown **:data-[slot=kbd]:rounded-sm bg-foreground text-background z-dropdown w-fit max-w-xs origin-(--reka-tooltip-content-transform-origin)`,n.class)}),{default:A(()=>[h(e.$slots,`default`),o(l(le),{class:`size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-dropdown translate-y-[calc(-50%_-_2px)]`})]),_:3},16,[`class`])]),_:3}))}}),ye=E({__name:`TooltipProvider`,props:{delayDuration:{default:0},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean},content:{}},setup(e){let t=e;return(e,n)=>(m(),i(l(de),a(p(t)),{default:A(()=>[h(e.$slots,`default`)]),_:3},16))}}),be=E({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(m(),i(l($),v({"data-slot":`tooltip-trigger`},t),{default:A(()=>[h(e.$slots,`default`)]),_:3},16))}});export{_e as i,ye as n,ve as r,be as t};
@@ -1,3 +0,0 @@
1
- import{B as e,D as t,Et as n,Ft as r,G as i,H as a,It as o,K as s,Lt as c,Nt as l,R as u,Rt as d,T as f,U as p,V as m,W as h,Y as g,at as _,ct as v,et as y,gt as b,ht as x,i as S,it as C,jt as w,n as T,o as E,p as D,q as O,r as k,rt as A,st as j,ut as M,vt as N,x as P}from"./button-BQ3s7yNh.js";import{t as F}from"./createLucideIcon-D1tkPDOQ.js";import{n as ee,r as te,t as ne}from"./useNonce-DKbOCfgM.js";import{t as I}from"./file-text-Dt6QP1bZ.js";import{o as L,s as R,y as z}from"./Teleport-DdjYHlNK.js";import{r as re}from"./Collection-DcTx_Y54.js";import{n as ie,r as ae,t as oe}from"./CollapsibleTrigger-CrOH9HlW.js";import{a as se,i as ce,n as le,o as ue,t as de}from"./dialog-DoIATUYw.js";import{n as fe,r as pe,t as B}from"./TabsTrigger-CPCi2HIa.js";import{t as V}from"./badge-Kkta3e9W.js";import{t as me}from"./useClipboard-Cnnz6AAN.js";var he=F(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),ge=F(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),H=F(`file-braces`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),U=F(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),_e=F(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),[W,ve]=z(`ScrollAreaRoot`),ye=O({__name:`ScrollAreaRoot`,props:{type:{type:String,required:!1,default:`hover`},dir:{type:String,required:!1},scrollHideDelay:{type:Number,required:!1,default:600},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let r=e,i=n(0),o=n(0),s=n(),u=n(),d=n(),f=n(),p=n(!1),m=n(!1),{type:h,dir:g,scrollHideDelay:y}=w(r),b=re(g);function x(){s.value?.scrollTo({top:0})}function C(){s.value?.scrollTo({top:0,left:0})}t({viewport:s,scrollTop:x,scrollTopLeft:C});let{forwardRef:T,currentElement:D}=E();return ve({type:h,dir:b,scrollHideDelay:y,scrollArea:D,viewport:s,onViewportChange:e=>{s.value=e||void 0},content:u,onContentChange:e=>{u.value=e},scrollbarX:d,scrollbarXEnabled:p,scrollbarY:f,scrollbarYEnabled:m,onScrollbarXChange:e=>{d.value=e||void 0},onScrollbarYChange:e=>{f.value=e||void 0},onScrollbarXEnabledChange:e=>{p.value=e},onScrollbarYEnabledChange:e=>{m.value=e},onCornerWidthChange:e=>{i.value=e},onCornerHeightChange:e=>{o.value=e}}),(e,t)=>(_(),a(l(S),{ref:l(T),"as-child":r.asChild,as:e.as,dir:l(b),style:c({position:`relative`,"--reka-scroll-area-corner-width":`${i.value}px`,"--reka-scroll-area-corner-height":`${o.value}px`})},{default:N(()=>[v(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`dir`,`style`]))}}),be=O({__name:`ScrollAreaCornerImpl`,setup(t){let r=W(),i=n(0),o=n(0),s=e(()=>!!i.value&&!!o.value);function c(){let e=r.scrollbarX.value?.offsetHeight||0;r.onCornerHeightChange(e),o.value=e}function u(){let e=r.scrollbarY.value?.offsetWidth||0;r.onCornerWidthChange(e),i.value=e}return D(r.scrollbarX.value,c),D(r.scrollbarY.value,u),x(()=>r.scrollbarX.value,c),x(()=>r.scrollbarY.value,u),(e,t)=>s.value?(_(),a(l(S),y({key:0,style:{width:`${i.value}px`,height:`${o.value}px`,position:`absolute`,right:l(r).dir.value===`ltr`?0:void 0,left:l(r).dir.value===`rtl`?0:void 0,bottom:0}},e.$parent?.$props),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`style`])):p(`v-if`,!0)}}),xe=O({__name:`ScrollAreaCorner`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let n=t,{forwardRef:r}=E(),i=W(),o=e(()=>!!i.scrollbarX.value&&!!i.scrollbarY.value),s=e(()=>i.type.value!==`scroll`&&o.value);return(e,t)=>s.value?(_(),a(be,y({key:0},n,{ref:l(r)}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16)):p(`v-if`,!0)}});function Se(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function G(e){let t=Ce(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Ce(e,t){let n=e/t;return Number.isNaN(n)?0:n}function we(e,t=()=>{}){let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)}function Te(e,t,n=`ltr`){let r=G(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=ee(e,c[0],c[1]);return Se([0,o],[0,s])(l)}function K(e){return e?Number.parseInt(e,10):0}function Ee(e,t,n,r=`ltr`){let i=G(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Se([c,l],d)(e)}function De(e,t){return e>0&&e<t}var Oe=O({__name:`ScrollAreaScrollbarX`,setup(t){let n=W(),r=Y(),{forwardRef:i,currentElement:o}=E();A(()=>{o.value&&n.onScrollbarXChange(o.value)});let s=e(()=>r.sizes.value);return(e,t)=>(_(),a(Ie,{ref:l(i),"is-horizontal":!0,"data-orientation":`horizontal`,style:c({bottom:0,left:l(n).dir.value===`rtl`?`var(--reka-scroll-area-corner-width)`:0,right:l(n).dir.value===`ltr`?`var(--reka-scroll-area-corner-width)`:0,"--reka-scroll-area-thumb-width":s.value?`${l(G)(s.value)}px`:void 0}),onOnDragScroll:t[0]||=e=>l(r).onDragScroll(e.x)},{default:N(()=>[v(e.$slots,`default`)]),_:3},8,[`style`]))}}),ke=O({__name:`ScrollAreaScrollbarY`,setup(t){let n=W(),r=Y(),{forwardRef:i,currentElement:o}=E();A(()=>{o.value&&n.onScrollbarYChange(o.value)});let s=e(()=>r.sizes.value);return(e,t)=>(_(),a(Ie,{ref:l(i),"is-horizontal":!1,"data-orientation":`vertical`,style:c({top:0,right:l(n).dir.value===`ltr`?0:void 0,left:l(n).dir.value===`rtl`?0:void 0,bottom:`var(--reka-scroll-area-corner-height)`,"--reka-scroll-area-thumb-height":s.value?`${l(G)(s.value)}px`:void 0}),onOnDragScroll:t[0]||=e=>l(r).onDragScroll(e.y)},{default:N(()=>[v(e.$slots,`default`)]),_:3},8,[`style`]))}}),q=O({__name:`ScrollAreaScrollbarAuto`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=W(),r=J(),{forwardRef:i}=E(),o=n(!1),c=f(()=>{if(t.viewport.value){let e=t.viewport.value.offsetWidth<t.viewport.value.scrollWidth,n=t.viewport.value.offsetHeight<t.viewport.value.scrollHeight;o.value=r.isHorizontal.value?e:n}},10);return A(()=>c()),D(t.viewport,c),D(t.content,c),(e,t)=>(_(),a(l(L),{present:e.forceMount||o.value},{default:N(()=>[s(X,y(e.$attrs,{ref:l(i),"data-state":o.value?`visible`:`hidden`}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Ae=O({inheritAttrs:!1,__name:`ScrollAreaScrollbarGlimpse`,props:{forceMount:{type:Boolean,required:!1}},setup(t){let n=W(),r=J(),{forwardRef:i}=E(),{state:o,dispatch:c}=R(`hidden`,{hidden:{POINTER_ENTER:`glimpse`,SCROLL:`scrolling`},glimpse:{HIDE:`hidden`,POINTER_LEAVE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`glimpse`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}}),u=e(()=>o.value!==`hidden`);function d(){c(`POINTER_ENTER`)}function p(){c(`POINTER_LEAVE`)}let m=f(()=>c(`SCROLL_END`),100);return b(e=>{if(o.value===`glimpse`){let t=window.setTimeout(c,n.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(t)})}}),b(e=>{if(o.value===`idle`){let t=window.setTimeout(c,n.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(t)})}}),b(e=>{let t=n.viewport.value,i=r.isHorizontal.value?`scrollLeft`:`scrollTop`;if(t){let n=t[i],r=()=>{let e=t[i];n!==e&&(c(`SCROLL`),m()),n=e};t.addEventListener(`scroll`,r),e(()=>{t.removeEventListener(`scroll`,r)})}}),A(()=>{let e=n.scrollArea.value;e&&(e.addEventListener(`pointerenter`,d),e.addEventListener(`pointerleave`,p))}),C(()=>{let e=n.scrollArea.value;e&&(e.removeEventListener(`pointerenter`,d),e.removeEventListener(`pointerleave`,p))}),(e,t)=>(_(),a(l(L),{present:e.forceMount||u.value},{default:N(()=>[s(q,y(e.$attrs,{ref:l(i),"data-state":u.value?`visible`:`hidden`}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),je=O({inheritAttrs:!1,__name:`ScrollAreaScrollbarHover`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=W(),{forwardRef:r}=E(),i,o=n(!1);function c(){window.clearTimeout(i),o.value=!0}function u(){i=window.setTimeout(()=>{o.value=!1},t.scrollHideDelay.value)}return A(()=>{let e=t.scrollArea.value;e&&(e.addEventListener(`pointerenter`,c),e.addEventListener(`pointerleave`,u))}),C(()=>{let e=t.scrollArea.value;e&&(window.clearTimeout(i),e.removeEventListener(`pointerenter`,c),e.removeEventListener(`pointerleave`,u))}),(e,t)=>(_(),a(l(L),{present:e.forceMount||o.value},{default:N(()=>[s(q,y(e.$attrs,{ref:l(r),"data-state":o.value?`visible`:`hidden`}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Me=O({__name:`ScrollAreaScrollbarScroll`,props:{forceMount:{type:Boolean,required:!1}},setup(t){let n=W(),r=J(),{forwardRef:i}=E(),{state:o,dispatch:c}=R(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}}),u=e(()=>o.value!==`hidden`);b(e=>{if(o.value===`idle`){let t=window.setTimeout(c,n.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(t)})}});let d=f(()=>c(`SCROLL_END`),100);return b(e=>{let t=n.viewport.value,i=r.isHorizontal.value?`scrollLeft`:`scrollTop`;if(t){let n=t[i],r=()=>{let e=t[i];n!==e&&(c(`SCROLL`),d()),n=e};t.addEventListener(`scroll`,r),e(()=>{t.removeEventListener(`scroll`,r)})}}),(e,t)=>(_(),a(l(L),{present:e.forceMount||u.value},{default:N(()=>[s(X,y(e.$attrs,{ref:l(i),"data-state":u.value?`visible`:`hidden`}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),[J,Ne]=z(`ScrollAreaScrollbar`),Pe=O({inheritAttrs:!1,__name:`ScrollAreaScrollbar`,props:{orientation:{type:String,required:!1,default:`vertical`},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(t){let n=t,{forwardRef:r}=E(),i=W(),o=e(()=>n.orientation===`horizontal`);x(o,()=>{o.value?i.onScrollbarXEnabledChange(!0):i.onScrollbarYEnabledChange(!0)},{immediate:!0}),C(()=>{i.onScrollbarXEnabledChange(!1),i.onScrollbarYEnabledChange(!1)});let{orientation:s,forceMount:c,asChild:u,as:d}=w(n);return Ne({orientation:s,forceMount:c,isHorizontal:o,as:d,asChild:u}),(e,t)=>l(i).type.value===`hover`?(_(),a(je,y({key:0},e.$attrs,{ref:l(r),"force-mount":l(c)}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`force-mount`])):l(i).type.value===`scroll`?(_(),a(Me,y({key:1},e.$attrs,{ref:l(r),"force-mount":l(c)}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`force-mount`])):l(i).type.value===`glimpse`?(_(),a(Ae,y({key:2},e.$attrs,{ref:l(r),"force-mount":l(c)}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`force-mount`])):l(i).type.value===`auto`?(_(),a(q,y({key:3},e.$attrs,{ref:l(r),"force-mount":l(c)}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`force-mount`])):l(i).type.value===`always`?(_(),a(X,y({key:4},e.$attrs,{ref:l(r),"data-state":`visible`}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16)):p(`v-if`,!0)}}),[Y,Fe]=z(`ScrollAreaScrollbarVisible`),X=O({__name:`ScrollAreaScrollbarVisible`,setup(t){let r=W(),i=J(),{forwardRef:o}=E(),s=n({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=e(()=>{let e=Ce(s.value.viewport,s.value.content);return e>0&&e<1}),u=n(),d=n(0);function f(e,t){if(b.value){let n=r.viewport.value.scrollLeft+e.deltaY;r.viewport.value.scrollLeft=n,De(n,t)&&e.preventDefault()}else{let n=r.viewport.value.scrollTop+e.deltaY;r.viewport.value.scrollTop=n,De(n,t)&&e.preventDefault()}}function p(e,t){b.value?d.value=t.x:d.value=t.y}function m(e){d.value=0}function h(e){s.value=e}function g(e,t){return Ee(e,d.value,s.value,t)}let b=e(()=>i.isHorizontal.value);function x(e){b.value?r.viewport.value.scrollLeft=g(e,r.dir.value):r.viewport.value.scrollTop=g(e)}function S(){if(b.value){if(r.viewport.value&&u.value){let e=r.viewport.value.scrollLeft,t=Te(e,s.value,r.dir.value);u.value.style.transform=`translate3d(${t}px, 0, 0)`}}else if(r.viewport.value&&u.value){let e=r.viewport.value.scrollTop,t=Te(e,s.value);u.value.style.transform=`translate3d(0, ${t}px, 0)`}}function C(e){u.value=e}return Fe({sizes:s,hasThumb:c,handleWheelScroll:f,handleThumbDown:p,handleThumbUp:m,handleSizeChange:h,onThumbPositionChange:S,onThumbChange:C,onDragScroll:x}),(e,t)=>b.value?(_(),a(Oe,y({key:0},e.$attrs,{ref:l(o)}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16)):(_(),a(ke,y({key:1},e.$attrs,{ref:l(o)}),{default:N(()=>[v(e.$slots,`default`)]),_:3},16))}}),Ie=O({__name:`ScrollAreaScrollbarImpl`,props:{isHorizontal:{type:Boolean,required:!0}},emits:[`onDragScroll`,`onWheelScroll`,`onThumbPointerDown`],setup(e,{emit:t}){let r=e,i=t,o=W(),s=Y(),c=J(),{forwardRef:u,currentElement:d}=E(),f=n(``),p=n();function m(e){p.value&&i(`onDragScroll`,{x:e.clientX-p.value?.left,y:e.clientY-p.value?.top})}function h(e){e.button===0&&(e.target.setPointerCapture(e.pointerId),p.value=d.value.getBoundingClientRect(),f.value=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,o.viewport&&(o.viewport.value.style.scrollBehavior=`auto`),m(e))}function g(e){m(e)}function y(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=f.value,o.viewport&&(o.viewport.value.style.scrollBehavior=``),p.value=void 0}function b(e){let t=e.target,n=d.value?.contains(t),r=s.sizes.value.content-s.sizes.value.viewport;n&&s.handleWheelScroll(e,r)}A(()=>{document.addEventListener(`wheel`,b,{passive:!1})}),C(()=>{document.removeEventListener(`wheel`,b)});function x(){d.value&&(r.isHorizontal?s.handleSizeChange({content:o.viewport.value?.scrollWidth??0,viewport:o.viewport.value?.offsetWidth??0,scrollbar:{size:d.value.clientWidth??0,paddingStart:K(getComputedStyle(d.value).paddingLeft),paddingEnd:K(getComputedStyle(d.value).paddingRight)}}):s.handleSizeChange({content:o.viewport.value?.scrollHeight??0,viewport:o.viewport.value?.offsetHeight??0,scrollbar:{size:d.value?.clientHeight??0,paddingStart:K(getComputedStyle(d.value).paddingTop),paddingEnd:K(getComputedStyle(d.value).paddingBottom)}}),s.onThumbPositionChange())}return D(d,x),D(o.content,x),(e,t)=>(_(),a(l(S),{ref:l(u),style:{position:`absolute`},"data-scrollbarimpl":``,as:l(c).as.value,"as-child":l(c).asChild.value,onPointerdown:h,onPointermove:g,onPointerup:y},{default:N(()=>[v(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),Le=O({__name:`ScrollAreaThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(r){let i=r,o=W(),s=Y();function c(e){let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;s.handleThumbDown(e,{x:n,y:r})}function u(e){s.handleThumbUp(e)}let{forwardRef:d,currentElement:f}=E(),p=n(),m=e(()=>o.viewport.value);function h(){p.value||(p.value=we(m.value,s.onThumbPositionChange),s.onThumbPositionChange())}return t(e(()=>s.sizes.value),()=>{s.onThumbChange(f.value),m.value&&(s.onThumbPositionChange(),m.value.addEventListener(`scroll`,h))}),C(()=>{m.value.removeEventListener(`scroll`,h),o.viewport.value?.removeEventListener(`scroll`,h)}),(e,t)=>(_(),a(l(S),{ref:l(d),"data-state":l(s).hasThumb?`visible`:`hidden`,style:{width:`var(--reka-scroll-area-thumb-width)`,height:`var(--reka-scroll-area-thumb-height)`},"as-child":i.asChild,as:e.as,onPointerdown:c,onPointerup:u},{default:N(()=>[v(e.$slots,`default`)]),_:3},8,[`data-state`,`as-child`,`as`]))}}),Re=O({inheritAttrs:!1,__name:`ScrollAreaViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let r=e,{nonce:a}=w(r),o=ne(a),d=W(),f=n();A(()=>{d.onViewportChange(f.value),d.onContentChange(g.value)}),t({viewportElement:f});let{forwardRef:p,currentElement:g}=E();return(e,t)=>(_(),h(u,null,[m(`div`,y({ref_key:`viewportElement`,ref:f,"data-reka-scroll-area-viewport":``,style:{overflowX:l(d).scrollbarXEnabled.value?`scroll`:`hidden`,overflowY:l(d).scrollbarYEnabled.value?`scroll`:`hidden`}},e.$attrs,{tabindex:0}),[s(l(S),{ref:l(p),style:c({minWidth:l(d).scrollbarXEnabled.value?`fit-content`:void 0}),"as-child":r.asChild,as:e.as},{default:N(()=>[v(e.$slots,`default`)]),_:3},8,[`style`,`as-child`,`as`])],16),s(l(S),{as:`style`,nonce:l(o)},{default:N(()=>t[0]||=[i(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-scroll-area-viewport] { scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; } [data-reka-scroll-area-viewport]::-webkit-scrollbar { display:none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),ze=O({__name:`BaseSeparator`,props:{orientation:{type:String,required:!1,default:`horizontal`},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let n=t,r=[`horizontal`,`vertical`];function i(e){return r.includes(e)}let o=e(()=>i(n.orientation)?n.orientation:`horizontal`),s=e(()=>o.value===`vertical`?n.orientation:void 0),c=e(()=>n.decorative?{role:`none`}:{"aria-orientation":s.value,role:`separator`});return(e,t)=>(_(),a(l(S),y({as:e.as,"as-child":e.asChild,"data-orientation":o.value},c.value),{default:N(()=>[v(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`data-orientation`]))}}),Be=O({__name:`Separator`,props:{orientation:{type:String,required:!1,default:`horizontal`},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(_(),a(ze,o(g(t)),{default:N(()=>[v(e.$slots,`default`)]),_:3},16))}}),Z=O({__name:`Separator`,props:{orientation:{default:`horizontal`},decorative:{type:Boolean,default:!0},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=P(t,`class`);return(e,r)=>(_(),a(l(Be),y({"data-slot":`separator`},l(n),{class:l(k)(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch`,t.class)}),null,16,[`class`]))}}),Q=1e3;function Ve(e,t){let n=e.attempts.length>0?e.attempts[e.attempts.length-1]:void 0,r=e.streamMetrics,i=r?.tokensPerSecond??null;if(!i&&r&&r.outputTokens&&r.ttftMs&&e.completedAt){let t=(e.completedAt-e.startTime-r.ttftMs)/Q;t>0&&(i=r.outputTokens/t)}return{id:e.id,model:e.model,backendModel:null,originalModel:null,statusCode:e.status===`completed`?n?.statusCode??null:null,isStream:e.isStream,apiType:e.apiType,providerName:e.providerName,clientIp:e.clientIp,sessionId:e.sessionId??null,latencyMs:e.completedAt?e.completedAt-e.startTime:null,ttftMs:r?.ttftMs??null,inputTokens:r?.inputTokens??null,outputTokens:r?.outputTokens??null,tokensPerSecond:i,cacheReadTokens:r?.cacheReadTokens??null,cacheWriteTokens:null,stopReason:r?.stopReason??null,isComplete:r?.isComplete??!1,attempts:e.attempts.map(e=>({statusCode:e.statusCode,error:e.error,latencyMs:e.latencyMs,providerId:e.providerId})),status:e.status,clientRequest:null,upstreamRequest:null,responseBody:t??null,upstreamResponse:null,errorMessage:null,createdAt:null}}function He(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.statusCode==`number`&&t.headers&&!t.content&&!t.choices?typeof t.body==`string`?t.body:null:e}catch{return e}}function Ue(e){let t=e.input_tokens??null,n=e.output_tokens??null,r=e.ttft_ms??null,i=e.tokens_per_second??null;if(!i&&n&&r&&e.latency_ms){let t=(e.latency_ms-r)/Q;t>0&&(i=n/t)}let a=He(e.upstream_response)??e.stream_text_content??null;return{id:e.id,model:e.original_model??e.model??`unknown`,backendModel:e.backend_model,originalModel:e.original_model,statusCode:e.status_code,isStream:!!e.is_stream,apiType:e.api_type===`openai`||e.api_type===`anthropic`?e.api_type:`openai`,providerName:e.provider_name,clientIp:void 0,sessionId:e.session_id??null,latencyMs:e.latency_ms,ttftMs:r,inputTokens:t,outputTokens:n,tokensPerSecond:i,cacheReadTokens:e.cache_read_tokens??null,cacheWriteTokens:null,stopReason:e.stop_reason??null,isComplete:!!e.metrics_complete,attempts:[],status:(e.status_code??0)>=400?`failed`:`completed`,clientRequest:e.client_request,upstreamRequest:e.upstream_request,responseBody:a,upstreamResponse:e.upstream_response,errorMessage:e.error_message,createdAt:e.created_at}}var We={class:`w-[280px] border-r pr-3 flex-shrink-0 overflow-y-auto space-y-3`},Ge={class:`flex items-baseline gap-1 min-w-0`},Ke={class:`font-mono text-[11px] font-semibold truncate min-w-0`},qe={class:`text-[10px] text-muted-foreground flex-shrink-0`},Je={class:`flex items-center gap-1.5`},Ye={key:0,class:`flex items-center gap-1.5`},Xe={class:`font-mono text-[11px] text-muted-foreground truncate`},Ze={class:`grid grid-cols-2 gap-1.5`},Qe={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},$e={class:`text-sm font-semibold truncate`},et={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},tt={class:`text-sm font-semibold truncate`},nt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},rt={class:`text-sm font-semibold truncate`},it={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},at={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},ot={class:`text-sm font-semibold truncate`},st={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},ct={class:`text-sm font-semibold truncate`},lt={class:`space-y-1.5`},ut={key:0,class:`text-[11px] text-muted-foreground`},dt={class:`text-muted-foreground`},ft={class:`text-muted-foreground`},pt={class:`space-y-1`},mt={key:0,class:`flex items-center justify-between text-[11px]`},ht={class:`font-mono`},gt={key:1,class:`flex items-center justify-between text-[11px]`},_t={class:`font-mono truncate max-w-[160px]`},vt=O({__name:`RequestOverviewPanel`,props:{overview:{}},setup(t){let n=t,o=e(()=>{if(n.overview.status===`pending`)return`pending`;let e=n.overview.statusCode;return n.overview.status===`failed`||e!=null&&e>=400?`error`:`success`}),c=e(()=>n.overview.status===`pending`&&n.overview.outputTokens!=null),f=e(()=>{let e=n.overview.outputTokens;return e==null?`--`:c.value?`+${e}`:String(e)}),g=e(()=>n.overview.status===`pending`&&n.overview.latencyMs==null?`...`:n.overview.latencyMs==null?`--`:`${(n.overview.latencyMs/Q).toFixed(1)}s`),v=e(()=>{if(n.overview.tokensPerSecond!=null)return`${n.overview.tokensPerSecond.toFixed(1)}`;let{outputTokens:e,latencyMs:t}=n.overview;return e&&t?`${(e/t*Q).toFixed(1)}`:`--`});function y(e){return e!=null&&e>=400}return(e,n)=>(_(),h(`div`,We,[m(`div`,Ge,[m(`span`,Ke,d(t.overview.model),1),m(`span`,qe,`@ `+d(t.overview.providerName||`unknown`),1)]),m(`div`,Je,[o.value===`pending`?(_(),a(l(V),{key:0,variant:`outline`,class:`border-warning/30 bg-warning-light text-warning-dark`},{default:N(()=>[...n[0]||=[m(`span`,{class:`w-1.5 h-1.5 rounded-full bg-warning animate-pulse`},null,-1),i(` 进行中 `,-1)]]),_:1})):o.value===`error`?(_(),a(l(V),{key:1,variant:`outline`,class:`border-danger/30 bg-danger-light text-danger-dark`},{default:N(()=>[i(d(t.overview.statusCode??`失败`),1)]),_:1})):(_(),a(l(V),{key:2,variant:`outline`,class:`border-success/30 bg-success-light text-success-dark`},{default:N(()=>[...n[1]||=[m(`span`,{class:`w-1.5 h-1.5 rounded-full bg-success`},null,-1),i(` 已完成 `,-1)]]),_:1})),s(l(V),{variant:`outline`},{default:N(()=>[i(d(t.overview.isStream?`SSE`:`非流式`),1)]),_:1}),s(l(V),{variant:`outline`},{default:N(()=>[i(d(t.overview.apiType),1)]),_:1})]),t.overview.sessionId?(_(),h(`div`,Ye,[s(l(V),{variant:`secondary`,class:`text-[10px]`},{default:N(()=>[...n[2]||=[i(`Session`,-1)]]),_:1}),m(`span`,Xe,d(t.overview.sessionId.slice(0,8)),1)])):p(``,!0),m(`div`,Ze,[m(`div`,Qe,[n[3]||=m(`div`,{class:`text-[10px] text-muted-foreground`},`延迟`,-1),m(`div`,$e,d(g.value),1)]),m(`div`,et,[n[4]||=m(`div`,{class:`text-[10px] text-muted-foreground`},`TTFT`,-1),m(`div`,tt,d(t.overview.ttftMs==null?`--`:`${t.overview.ttftMs}ms`),1)]),m(`div`,nt,[n[5]||=m(`div`,{class:`text-[10px] text-muted-foreground`},`Input Tokens`,-1),m(`div`,rt,d(t.overview.inputTokens==null?`--`:t.overview.inputTokens),1)]),m(`div`,it,[n[6]||=m(`div`,{class:`text-[10px] text-muted-foreground`},`Output Tokens`,-1),m(`div`,{class:r([`text-sm font-semibold truncate`,c.value?`diff-added`:``])},d(f.value),3)]),m(`div`,at,[n[7]||=m(`div`,{class:`text-[10px] text-muted-foreground`},`速度 (tok/s)`,-1),m(`div`,ot,d(v.value),1)]),m(`div`,st,[n[8]||=m(`div`,{class:`text-[10px] text-muted-foreground`},`Cache Read`,-1),m(`div`,ct,d(t.overview.cacheReadTokens==null?`--`:t.overview.cacheReadTokens),1)])]),s(l(Z)),m(`div`,lt,[n[9]||=m(`span`,{class:`text-[10px] text-muted-foreground uppercase tracking-wider`},`尝试历史`,-1),t.overview.attempts.length===0?(_(),h(`div`,ut,`无重试`)):p(``,!0),(_(!0),h(u,null,j(t.overview.attempts,(e,t)=>(_(),h(`div`,{key:t,class:`flex items-center gap-1 text-[11px]`},[m(`span`,dt,`#`+d(t+1),1),m(`span`,{class:r(y(e.statusCode)?`diff-removed`:`diff-added`)},d(e.statusCode??`--`),3),m(`span`,ft,d((e.latencyMs/l(Q)).toFixed(1))+`s`,1)]))),128))]),s(l(Z)),m(`div`,pt,[t.overview.statusCode==null?p(``,!0):(_(),h(`div`,mt,[n[10]||=m(`span`,{class:`text-muted-foreground`},`状态码`,-1),m(`span`,ht,d(t.overview.statusCode),1)])),t.overview.clientIp?(_(),h(`div`,gt,[n[11]||=m(`span`,{class:`text-muted-foreground`},`Client IP`,-1),m(`span`,_t,d(t.overview.clientIp),1)])):p(``,!0)])]))}}),yt=O({__name:`ScrollBar`,props:{orientation:{default:`vertical`},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=P(t,`class`);return(r,i)=>(_(),a(l(Pe),y({"data-slot":`scroll-area-scrollbar`,"data-orientation":e.orientation},l(n),{class:l(k)(`data-[orientation=horizontal]:h-2.5 data-[orientation=horizontal]:flex-col data-[orientation=horizontal]:border-t data-[orientation=horizontal]:border-t-transparent data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2.5 data-[orientation=vertical]:border-l data-[orientation=vertical]:border-l-transparent flex touch-none p-px transition-colors select-none`,t.class)}),{default:N(()=>[s(l(Le),{"data-slot":`scroll-area-thumb`,class:`rounded-full relative flex-1 bg-border`})]),_:1},16,[`data-orientation`,`class`]))}}),$=O({__name:`ScrollArea`,props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=P(t,`class`);return(e,r)=>(_(),a(l(ye),y({"data-slot":`scroll-area`},l(n),{class:l(k)(`relative`,t.class)}),{default:N(()=>[s(l(Re),{"data-slot":`scroll-area-viewport`,class:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`},{default:N(()=>[v(e.$slots,`default`)]),_:3}),s(yt),s(l(xe))]),_:3},16,[`class`]))}}),bt={key:0,class:`rounded-md border bg-card`},xt={class:`flex items-center gap-1.5 px-2.5 py-1.5 border-b`},St={class:`px-2.5 py-2`},Ct={class:`text-xs overflow-y-auto whitespace-pre-wrap break-words`},wt={key:0,class:`inline-block w-1.5 h-3.5 dot-success animate-pulse ml-0.5 align-text-bottom`},Tt={class:`flex items-center gap-1.5 px-2.5 py-1.5 cursor-pointer hover:brightness-95 rounded-t-md`},Et={class:`text-xs font-medium`},Dt={key:0,class:`text-xs text-muted-foreground`},Ot={class:`px-2.5 pb-2`},kt=O({__name:`ContentBlockRenderer`,props:{type:{},content:{},name:{default:void 0},defaultOpen:{type:Boolean,default:!0},showCursor:{type:Boolean,default:!1}},setup(t){let o=t,c=n(o.type===`text`?!0:o.defaultOpen),u=e(()=>{switch(o.type){case`thinking`:return`block-thinking`;case`tool_use`:return`block-tool-use`;case`tool_result`:return`block-tool-result`;default:return`bg-card`}}),f=e(()=>{switch(o.type){case`thinking`:return`block-thinking-content italic`;case`tool_use`:return`block-tool-use-content`;case`tool_result`:return`block-tool-result-content`;default:return`bg-muted/50`}}),g=e(()=>{switch(o.type){case`thinking`:return he;case`tool_use`:return _e;case`tool_result`:return ge;default:return U}}),v=e(()=>{switch(o.type){case`thinking`:return`text-[var(--color-role-thinking)]`;case`tool_use`:return`text-[var(--color-role-tool)]`;case`tool_result`:return`text-[var(--color-role-user)]`;default:return`text-muted-foreground`}}),y=e(()=>{switch(o.type){case`thinking`:return`Thinking`;case`tool_use`:return`Tool Use`;case`tool_result`:return`Tool Result`;default:return``}}),b=e(()=>o.type===`tool_use`?`(等待数据...)`:o.type===`tool_result`?`(无返回数据)`:``);return(e,n)=>t.type===`text`?(_(),h(`div`,bt,[m(`div`,xt,[s(l(U),{class:`h-3.5 w-3.5 diff-added`}),n[1]||=m(`span`,{class:`text-xs font-medium`},`Reply`,-1)]),m(`div`,St,[m(`pre`,Ct,[m(`code`,null,[i(d(t.content),1),t.showCursor?(_(),h(`span`,wt)):p(``,!0)])])])])):(_(),a(l(ae),{key:1,open:c.value,"onUpdate:open":n[0]||=e=>c.value=e,class:r([`rounded-md border`,u.value])},{default:N(()=>[s(l(oe),{"as-child":``},{default:N(()=>[m(`div`,Tt,[s(l(te),{class:r([`h-3 w-3 transition-transform duration-200`,{"rotate-180":!c.value}])},null,8,[`class`]),(_(),a(M(g.value),{class:r([`h-3.5 w-3.5`,v.value])},null,8,[`class`])),m(`span`,Et,d(y.value),1),t.type===`thinking`?(_(),h(`span`,Dt,`(`+d(t.content.length)+` 字符)`,1)):p(``,!0),t.type===`tool_use`&&t.name?(_(),a(l(V),{key:1,variant:`secondary`,class:`text-xs`},{default:N(()=>[i(d(t.name),1)]),_:1})):p(``,!0)])]),_:1}),s(l(ie),null,{default:N(()=>[m(`div`,Ot,[m(`pre`,{class:r([`text-xs rounded p-2 overflow-y-auto whitespace-pre-wrap break-words`,f.value])},[m(`code`,null,d(t.content||b.value),1)],2)])]),_:1})]),_:1},8,[`open`,`class`]))}}),At=2;function jt(e){return e.map(e=>{let t=e;return t.type===`thinking`?{type:`thinking`,content:String(t.thinking??``)}:t.type===`text`?{type:`text`,content:String(t.text??``)}:t.type===`tool_use`?{type:`tool_use`,content:JSON.stringify(t.input??{},null,At),name:String(t.name??``)}:t.type===`tool_result`?{type:`tool_result`,content:typeof t.content==`string`?t.content:JSON.stringify(t.content)}:{type:`text`,content:JSON.stringify(t)}})}function Mt(e){let t=[];for(let n of e){let e=n.message;if(!e)continue;let r=e.content;if(typeof r==`string`&&r)t.push({type:`text`,content:r});else if(Array.isArray(r))for(let e of r){let n=e;if(n.type===`text`)t.push({type:`text`,content:String(n.text??``)});else if(n.type===`tool_use`||n.type===`function`){let e=n.function??n.input??{};t.push({type:`tool_use`,content:JSON.stringify(e,null,At),name:String(n.name??e.name??``)})}}}return t}function Nt(e,t,n){let r=e||t;if(!r)return[];let i;try{i=JSON.parse(r)}catch{return[]}let a=i;if(typeof a.body==`string`)try{i=JSON.parse(a.body)}catch{i=i}let o=i;return n===`anthropic`&&Array.isArray(o.content)?jt(o.content):n===`openai`&&Array.isArray(o.choices)?Mt(o.choices):[]}var Pt=5,Ft=2,It=3;function Lt(t,n,r){let i=e(()=>{if(!n||!t.value)return[];let e=t.value.split(`
2
- `),r=[];for(let t of e){let e=t.trim();if(!e.startsWith(`data:`))continue;let n=e.slice(Pt).trim();if(n===`[DONE]`){r.push({type:`done`,data:n});continue}try{let e=JSON.parse(n);r.push({type:`data`,data:e})}catch{r.push({type:`raw`,data:n})}}return r});return{sseEvents:i,assembledBlocks:e(()=>{if(!n||!t.value)return[];let e=[],r=null;for(let t of i.value){if(t.type!==`data`)continue;let n=t.data;if(n.type===`content_block_start`){let e=n.content_block;if(r={type:String(e?.type||``),content:``,eventCount:0,toolName:e?.name?String(e.name):void 0},r.type===`tool_use`&&e?.input){let t=e.input;Object.keys(t).length>0&&(r.content=JSON.stringify(t,null,Ft))}continue}if(n.type===`content_block_delta`&&r){let e=n.delta;r.content+=e.thinking||e.text||e.partial_json||``,r.eventCount++;continue}n.type===`content_block_stop`&&r&&(e.push(r),r=null)}return r&&e.push(r),e}),sseMeta:e(()=>{let e=``,t=``,n=0,r=0,a=``;for(let o of i.value){if(o.type!==`data`)continue;let i=o.data;if(i.type===`message_start`){let r=i.message;e=String(r?.id||``),t=String(r?.model||``),n=Number(r?.usage?.input_tokens??0)}if(i.type===`message_delta`){let e=i.delta,t=i.usage;a=String(e?.stop_reason||``),r=Number(t?.output_tokens??0)}}return{id:e,model:t,inputTokens:n,outputTokens:r,stopReason:a}}),openaiAssembled:e(()=>{if(r!==`openai`||!n)return null;let e=``,t=``,a=``,o=null,s=0;for(let n of i.value){if(n.type!==`data`)continue;let r=n.data,i=r.choices||[],c=i[0]?.delta;c?.role&&(e=String(c.role)),c?.content&&(t+=String(c.content),s++),i[0]?.finish_reason&&(a=String(i[0].finish_reason)),r.usage&&(o=r.usage)}return{role:e,content:t,contentEventCount:s,finishReason:a,usage:o}}),anthropicMessageStart:e(()=>{for(let e of i.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`message_start`){let e=t.message;return{id:String(e?.id||``),model:String(e?.model||``),input_tokens:Number(e?.usage?.input_tokens??0)}}}return null}),anthropicContentBlockStarts:e(()=>{let e=[];for(let t of i.value){if(t.type!==`data`)continue;let n=t.data;if(n.type===`content_block_start`){let t=n.content_block;e.push({index:Number(n.index??0),type:String(t?.type||``)})}}return e}),anthropicDeltaGroups:e(()=>{let e={};for(let t of i.value){if(t.type!==`data`)continue;let n=t.data;if(n.type!==`content_block_delta`)continue;let r=n.delta,i=String(r?.type||`unknown`);e[i]||(e[i]={deltaType:i,kept:0,folded:0,foldedChars:0});let a=e[i];if(a.kept<It)a.kept++;else{a.folded++;let e=r,t=String(e.thinking||e.text||e.partial_json||``);a.foldedChars+=t.length}}return Object.values(e).filter(e=>e.kept>0||e.folded>0)}),anthropicMessageDelta:e(()=>{for(let e of i.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`message_delta`){let e=t.delta,n=t.usage;return{output_tokens:Number(n?.output_tokens??0),stop_reason:String(e?.stop_reason||``)}}}return null}),anthropicMessageStop:e(()=>i.value.some(e=>e.type===`data`&&e.data.type===`message_stop`)),openaiSseRole:e(()=>{for(let e of i.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.role)return String(t.role)}return null}),openaiSseFirstContent:e(()=>{for(let e of i.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.content)return String(t.content)}return null}),openaiSseFinishReason:e(()=>{for(let e of i.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.finish_reason;if(t)return String(t)}return null}),openaiSseCollapsedCount:e(()=>{let e=0,t=!1;for(let n of i.value){if(n.type!==`data`)continue;let r=(n.data.choices||[])[0]?.delta;if(!t){r?.content&&(t=!0);continue}(r?.content||r?.role)&&e++}return e}),openaiSseUsage:e(()=>{for(let e=i.value.length-1;e>=0;e--){let t=i.value[e];if(t.type!==`data`)continue;let n=t.data.usage;if(n)return{prompt_tokens:n.prompt_tokens,completion_tokens:n.completion_tokens,total_tokens:n.total_tokens,cached_tokens:n.cached_tokens??n.prompt_tokens_details?.cached_tokens}}return null})}}var Rt={class:`flex flex-col gap-2`},zt={class:`flex items-center justify-between`},Bt={key:0},Vt={key:0,class:`flex flex-col gap-2`},Ht={key:1,class:`text-xs text-muted-foreground`},Ut={key:2,class:`text-xs text-muted-foreground`},Wt={key:3,class:`text-xs text-muted-foreground`},Gt={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},Kt=O({__name:`ResponseViewer`,props:{source:{},apiType:{},isStream:{type:Boolean},streamContent:{default:null},nonStreamBody:{default:null},responseBody:{default:null},upstreamResponse:{default:null},status:{}},setup(t){let r=t,o=n(!1),c=e(()=>!!(r.responseBody||r.upstreamResponse)),{assembledBlocks:f}=Lt(e(()=>{if(r.source!==`history`)return``;let e=r.responseBody||r.upstreamResponse||``;try{return JSON.parse(e).body||e}catch{return e}}),r.isStream,r.apiType),p=e(()=>{if(r.source===`realtime`){let e=r.streamContent?.blocks;if(e&&e.length>0)return e;if(r.responseBody){let e=Nt(r.responseBody,null,r.apiType);if(e.length>0)return e}return[]}let e=Nt(r.responseBody??null,r.upstreamResponse??null,r.apiType);if(e.length>0)return e;if(r.responseBody&&r.responseBody.trim().length>0)return[{type:`text`,content:r.responseBody}];let t=[`thinking`,`text`,`tool_use`,`tool_result`];return f.value.map(e=>({type:t.includes(e.type)?e.type:`text`,content:e.content,...e.toolName?{name:e.toolName}:{}}))}),g=e(()=>r.source===`realtime`?r.streamContent?.rawChunks||r.responseBody||``:r.responseBody||r.upstreamResponse||``);return(e,t)=>(_(),h(`div`,Rt,[m(`div`,zt,[t[1]||=m(`span`,{class:`text-xs font-medium text-muted-foreground`},`响应内容`,-1),s(l(T),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:t[0]||=e=>o.value=!o.value},{default:N(()=>[(_(),a(M(o.value?l(I):l(H)),{class:`h-3 w-3`})),i(` `+d(o.value?`结构化`:r.isStream?`原始 SSE`:`原始 JSON`),1)]),_:1})]),o.value?(_(),a(l($),{key:1,class:`max-h-96 rounded-md border`},{default:N(()=>[m(`pre`,Gt,d(g.value),1)]),_:1})):(_(),h(`div`,Bt,[p.value.length>0?(_(),h(`div`,Vt,[(_(!0),h(u,null,j(p.value,(e,t)=>(_(),a(kt,{key:t,type:e.type,content:e.content,name:e.name,"show-cursor":r.status===`pending`&&t===p.value.length-1},null,8,[`type`,`content`,`name`,`show-cursor`]))),128))])):r.status===`pending`?(_(),h(`p`,Ht,`等待响应数据...`)):r.source===`history`&&r.isStream&&!c.value?(_(),h(`p`,Ut,`流式响应内容未持久化存储`)):(_(),h(`p`,Wt,`无响应内容`))]))]))}}),qt={class:`relative`},Jt={class:`bg-background text-foreground rounded-md p-3 text-xs overflow-auto max-h-[40vh] whitespace-pre-wrap break-all border`},Yt=O({__name:`JsonCopyBlock`,props:{content:{},hideCopyButton:{type:Boolean}},setup(e){let t=e,{copied:n,copy:r}=me();async function o(){await r(t.content)}return(t,r)=>(_(),h(`div`,qt,[e.hideCopyButton?p(``,!0):(_(),a(l(T),{key:0,variant:`outline`,size:`sm`,class:`absolute top-2 right-2 h-7 text-xs`,onClick:o},{default:N(()=>[i(d(l(n)?`已复制`:`复制`),1)]),_:1})),m(`pre`,Jt,d(e.content),1)]))}}),Xt={class:`flex flex-col min-h-0 h-full`},Zt={class:`flex justify-end mb-1 flex-shrink-0`},Qt={key:0,class:`space-y-3`},$t={key:0,class:`text-[11px] text-muted-foreground py-4 text-center`},en={key:1,class:`text-[11px] text-muted-foreground py-2 text-center`},tn={key:2,class:`space-y-4`},nn={key:0},rn={class:`flex items-center gap-2 text-[11px]`},an={class:`font-mono text-muted-foreground`},on={class:`font-mono text-primary font-semibold`},sn={key:1},cn={class:`text-[11px] bg-muted/50 rounded-md border px-2.5 py-2 overflow-y-auto whitespace-pre-wrap break-words max-h-40`},ln={key:2},un={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},dn={class:`space-y-1.5`},fn={class:`flex items-center gap-1.5 mb-1`},pn={key:1,class:`text-[9px] text-muted-foreground`},mn={key:0,class:`diff-removed line-through mb-0.5`},hn={key:1,class:`text-foreground overflow-y-auto max-h-40`},gn={key:2,class:`text-muted-foreground text-[10px]`},_n={key:3},vn={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},yn={class:`space-y-1`},bn={class:`grid grid-cols-5 gap-1`},xn=[`title`,`onClick`],Sn={key:0,class:`rounded-md border bg-background p-2.5`},Cn={class:`flex items-center gap-2 mb-1`},wn={class:`text-[11px] font-semibold font-mono`},Tn={key:0,class:`text-[11px] text-muted-foreground`},En={key:1,class:`mt-1 flex flex-wrap gap-1`},Dn={key:4},On={class:`flex items-center gap-2 text-[11px]`},kn={key:5},An={class:`flex items-center gap-2 text-[11px]`},jn={class:`font-mono diff-removed line-through`},Mn={class:`font-mono diff-added font-medium`},Nn=4,Pn=5,Fn=O({__name:`RequestDiffViewer`,props:{overview:{}},setup(t){let o=t,c=n(!1);function f(e){if(!e)return null;try{let t=JSON.parse(e);if(typeof t!=`object`||!t)return null;let n=typeof t.headers==`object`&&t.headers!==null?t.headers:{},r=t.body;if(typeof r==`string`)try{r=JSON.parse(r)}catch{}return{headers:n,body:r??{}}}catch{return null}}function g(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&`text`in e).map(e=>typeof e.text==`string`?e.text:``).join(``):String(t??``)}function v(e){if(!e)return``;let t=e.replace(/^Bearer\s+/i,``);return t.length<=Nn?`***`:`${t.slice(0,Nn)}***`}function y(e,t){let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n)return r}let b=e(()=>f(o.overview.clientRequest)),x=e(()=>f(o.overview.upstreamRequest)),S=e(()=>{let e=b.value?.body?.model,t=x.value?.body?.model;return{hasDiff:!!e&&!!t&&e!==t,from:e??``,to:t??``}}),C=e(()=>{let e=x.value?.body;if(!e)return null;let t=e.system;if(typeof t==`string`)return t;if(Array.isArray(t))return t.filter(e=>typeof e==`object`&&!!e&&`text`in e).map(e=>e.text).join(`
3
- `);let n=e.messages;if(Array.isArray(n)){let e=n.find(e=>e.role===`system`);if(e)return g(e)}return null}),w=e(()=>{let e=x.value?.body?.messages??[],t=b.value?.body?.messages??[];if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=String(i.role??`unknown`);if(a===`system`)continue;let o=g(i),s=t[r],c=s?g(s):null,l=c!==null&&o!==c,u=i.content,d=Array.isArray(u)?u:[],f=d.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_use`).map(e=>e.name).filter(Boolean),p=d.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_result`).length;n.push({role:a,text:o,removedText:l?c:null,modified:l,toolCalls:f,toolResultCount:p})}return n}),E=n(-1),D=e(()=>{let e=[];for(let t=0;t<O.value.length;t+=Pn)e.push({tools:O.value.slice(t,t+Pn),startIdx:t});return e}),O=e(()=>{let e=x.value?.body;if(!e)return[];let t=e.tools;return Array.isArray(t)?t.filter(e=>typeof e?.name==`string`).map(e=>{let t=typeof e.description==`string`?e.description:``,n=e.input_schema?.properties,r=n?Object.keys(n):[];return{name:e.name,description:t,params:r}}):[]}),k=e(()=>{let e=b.value?.body?.stream_options!=null,t=x.value?.body?.stream_options!=null;return!e&&t}),A=e(()=>{if(!b.value?.headers||!x.value?.headers)return{hasDiff:!1,old:``,new:``};let e=y(b.value.headers,`authorization`),t=y(x.value.headers,`authorization`);return{hasDiff:!!e&&!!t&&e!==t,old:v(e),new:v(t)}});return(e,n)=>(_(),h(`div`,Xt,[m(`div`,Zt,[s(l(T),{variant:`outline`,size:`xs`,class:`gap-1`,onClick:n[0]||=e=>c.value=!c.value},{default:N(()=>[c.value?(_(),a(l(H),{key:0,class:`size-3`})):(_(),a(l(I),{key:1,class:`size-3`})),i(` `+d(c.value?`Structured`:`Raw JSON`),1)]),_:1})]),s(l($),{class:`flex-1 min-h-0`},{default:N(()=>[c.value?(_(),h(`div`,Qt,[m(`div`,null,[n[1]||=m(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Client Request `,-1),s(Yt,{content:t.overview.clientRequest??`{}`},null,8,[`content`])]),m(`div`,null,[n[2]||=m(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Upstream Request `,-1),s(Yt,{content:t.overview.upstreamRequest??`{}`},null,8,[`content`])])])):(_(),h(u,{key:1},[!x.value&&!b.value?(_(),h(`div`,$t,` No request data available `)):p(``,!0),!x.value&&b.value?(_(),h(`div`,en,` 请求进行中,上游请求内容将在完成后显示 `)):(_(),h(`div`,tn,[S.value.hasDiff?(_(),h(`div`,nn,[n[4]||=m(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Model Mapping `,-1),m(`div`,rn,[m(`span`,an,d(S.value.from),1),n[3]||=m(`span`,{class:`text-muted-foreground`},`→`,-1),m(`span`,on,d(S.value.to),1)])])):p(``,!0),C.value?(_(),h(`div`,sn,[n[5]||=m(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` System `,-1),m(`pre`,cn,d(C.value),1)])):p(``,!0),w.value.length>0?(_(),h(`div`,ln,[m(`div`,un,` Messages (`+d(w.value.length)+`) `,1),m(`div`,dn,[(_(!0),h(u,null,j(w.value,(e,t)=>(_(),h(`div`,{key:t,class:r([`rounded-md border px-2.5 py-1.5 text-[11px]`,e.modified?`diff-modified`:`bg-background`])},[m(`div`,fn,[s(l(V),{variant:`outline`,class:r([`text-[9px] px-1.5 py-0 border-transparent`,e.role===`user`?`bg-role-user-bg text-role-user`:e.role===`assistant`?`bg-role-assistant-bg text-role-assistant`:`bg-role-thinking-bg text-role-thinking`])},{default:N(()=>[i(d(e.role),1)]),_:2},1032,[`class`]),e.modified?(_(),a(l(V),{key:0,variant:`outline`,class:`bg-role-thinking-bg text-role-thinking text-[9px] px-1.5 py-0 border-transparent`},{default:N(()=>[...n[6]||=[i(` Modified `,-1)]]),_:1})):p(``,!0),e.toolCalls.length>0?(_(),h(`span`,pn,` → `+d(e.toolCalls.join(`, `)),1)):p(``,!0)]),e.modified&&e.removedText?(_(),h(`div`,mn,d(e.removedText),1)):p(``,!0),e.text?(_(),h(`div`,hn,d(e.text),1)):e.toolResultCount>0?(_(),h(`div`,gn,d(e.toolResultCount)+` tool result(s) `,1)):p(``,!0)],2))),128))])])):p(``,!0),O.value.length>0?(_(),h(`div`,_n,[m(`div`,vn,` Tools (`+d(O.value.length)+`) `,1),m(`div`,yn,[(_(!0),h(u,null,j(D.value,(e,t)=>(_(),h(u,{key:t},[m(`div`,bn,[(_(!0),h(u,null,j(e.tools,(t,n)=>(_(),h(`div`,{key:n,class:r([`cursor-pointer rounded-md border px-1.5 py-1 text-[10px] truncate text-center transition-colors`,E.value===e.startIdx+n?`bg-role-tool-bg text-role-tool border-role-tool`:`bg-background hover:bg-muted`]),title:t.name,onClick:t=>E.value=E.value===e.startIdx+n?-1:e.startIdx+n},d(t.name),11,xn))),128))]),E.value>=e.startIdx&&E.value<e.startIdx+e.tools.length?(_(),h(`div`,Sn,[m(`div`,Cn,[m(`span`,wn,d(O.value[E.value].name),1)]),O.value[E.value].description?(_(),h(`p`,Tn,d(O.value[E.value].description),1)):p(``,!0),O.value[E.value].params.length>0?(_(),h(`div`,En,[(_(!0),h(u,null,j(O.value[E.value].params,e=>(_(),a(l(V),{key:e,variant:`outline`,class:`text-[9px] px-1 py-0`},{default:N(()=>[i(d(e),1)]),_:2},1024))),128))])):p(``,!0)])):p(``,!0)],64))),128))])])):p(``,!0),k.value?(_(),h(`div`,Dn,[n[9]||=m(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Stream Options `,-1),m(`div`,On,[s(l(V),{variant:`outline`,class:`bg-success-light text-success-dark text-[9px] px-1.5 py-0 border-transparent`},{default:N(()=>[...n[7]||=[i(`Injected`,-1)]]),_:1}),n[8]||=m(`code`,{class:`font-mono diff-added`},`{ "include_usage": true }`,-1)])])):p(``,!0),A.value.hasDiff?(_(),h(`div`,kn,[n[10]||=m(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Auth Replacement `,-1),m(`div`,An,[m(`span`,jn,d(A.value.old),1),s(l(Z),{orientation:`vertical`,class:`h-3`}),m(`span`,Mn,d(A.value.new),1)])])):p(``,!0)]))],64))]),_:1})]))}}),In={class:`h-[3px] w-full overflow-hidden`},Ln={key:0,class:`h-full w-[40%] progress-active`,style:{animation:`shimmer 1.5s infinite`}},Rn={key:1,class:`h-full w-full progress-failed`},zn={key:2,class:`h-full w-full progress-active`},Bn={key:0,class:`font-mono text-[11px] text-muted-foreground`},Vn={key:0,class:`flex gap-0 px-4 pb-4 h-[calc(85vh-80px)]`},Hn={key:0,class:`px-3 pb-2`},Un={class:`rounded-md bg-destructive/10 px-3 py-2 text-xs text-destructive`},Wn={class:`flex-1 flex flex-col min-w-0 pl-3`},Gn={key:0,class:`flex-1 overflow-y-auto mt-2`},Kn={key:1,class:`flex-1 min-h-0 mt-2`},qn={key:1,class:`flex items-center justify-center h-[calc(85vh-80px)]`},Jn={class:`text-sm text-muted-foreground`},Yn=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(O({__name:`UnifiedRequestDialog`,props:{open:{type:Boolean},source:{},request:{},streamContent:{},logDetailData:{},logEntry:{}},emits:[`update:open`],setup(t,{emit:r}){let o=t,c=r,u=n(`response`),f=n(null),g=e(()=>{if(o.source===`realtime`){if(!o.request)return null;let e=Ve(o.request,o.logDetailData?.responseBody);return o.logDetailData&&(o.logDetailData.clientRequest&&(e.clientRequest=o.logDetailData.clientRequest),o.logDetailData.upstreamRequest&&(e.upstreamRequest=o.logDetailData.upstreamRequest)),e}return f.value}),v=e(()=>g.value?g.value.status:`pending`);return x([()=>o.open,()=>o.logEntry],([e,t])=>{e&&(u.value=`response`,o.source===`history`&&t&&(f.value=Ue(t)))}),(e,n)=>(_(),a(l(ue),{open:o.open,"onUpdate:open":n[1]||=e=>c(`update:open`,e)},{default:N(()=>[s(l(se),{class:`sm:max-w-6xl max-h-[85vh] p-0 overflow-hidden`},{default:N(()=>[m(`div`,In,[v.value===`pending`?(_(),h(`div`,Ln)):v.value===`failed`?(_(),h(`div`,Rn)):(_(),h(`div`,zn))]),s(l(le),{class:`px-4 pt-2 pb-0`},{default:N(()=>[s(l(de),{class:`text-sm flex items-center gap-2`},{default:N(()=>[n[2]||=i(` 请求详情 `,-1),g.value?(_(),h(`span`,Bn,d(g.value.id.slice(0,8)),1)):p(``,!0)]),_:1}),s(l(ce),{class:`sr-only`},{default:N(()=>[...n[3]||=[i(`查看请求的响应内容和请求内容`,-1)]]),_:1})]),_:1}),g.value?(_(),h(`div`,Vn,[s(vt,{overview:g.value},null,8,[`overview`]),g.value.errorMessage?(_(),h(`div`,Hn,[m(`div`,Un,d(g.value.errorMessage),1)])):p(``,!0),m(`div`,Wn,[s(l(pe),{modelValue:u.value,"onUpdate:modelValue":n[0]||=e=>u.value=e,class:`flex-1 flex flex-col min-h-0`},{default:N(()=>[s(l(fe),{class:`flex-shrink-0`},{default:N(()=>[s(l(B),{value:`response`},{default:N(()=>[...n[4]||=[i(`响应内容`,-1)]]),_:1}),s(l(B),{value:`request`},{default:N(()=>[...n[5]||=[i(`请求内容`,-1)]]),_:1})]),_:1}),u.value===`response`?(_(),h(`div`,Gn,[s(Kt,{source:o.source,"api-type":g.value.apiType,"is-stream":g.value.isStream,"stream-content":o.streamContent,"non-stream-body":t.logDetailData?.responseBody,"response-body":g.value.responseBody,"upstream-response":g.value.upstreamResponse,status:g.value.status},null,8,[`source`,`api-type`,`is-stream`,`stream-content`,`non-stream-body`,`response-body`,`upstream-response`,`status`])])):p(``,!0),u.value===`request`?(_(),h(`div`,Kn,[s(Fn,{overview:g.value},null,8,[`overview`])])):p(``,!0)]),_:1},8,[`modelValue`])])])):(_(),h(`div`,qn,[m(`p`,Jn,d(o.source===`realtime`?`加载中...`:`无选中请求`),1)]))]),_:1})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-125f2b7e`]]);export{$ as n,Z as r,Yn as t};
@@ -1 +0,0 @@
1
- import{B as e,H as t,R as n,U as r,W as i,at as a,et as o,ht as s,q as c,st as l}from"./button-BQ3s7yNh.js";import{n as u}from"./Collection-DcTx_Y54.js";import{t as d}from"./VisuallyHidden-Cyk-jWwh.js";var f=c({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(n){let r=n,{primitiveElement:i,currentElement:c}=u();return s(e(()=>r.checked??r.value),(e,t)=>{if(!c.value)return;let n=c.value,r=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(r,`value`).set;if(i&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});i.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,n)=>(a(),t(d,o({ref_key:`primitiveElement`,ref:i},{...r,...e.$attrs},{as:`input`}),null,16))}}),p=c({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(s){let c=s,u=e(()=>typeof c.value==`object`&&Array.isArray(c.value)&&c.value.length===0&&c.required),d=e(()=>typeof c.value==`string`||typeof c.value==`number`||typeof c.value==`boolean`||c.value===null||c.value===void 0?[{name:c.name,value:c.value}]:typeof c.value==`object`&&Array.isArray(c.value)?c.value.flatMap((e,t)=>typeof e==`object`?Object.entries(e).map(([e,n])=>({name:`${c.name}[${t}][${e}]`,value:n})):{name:`${c.name}[${t}]`,value:e}):c.value!==null&&typeof c.value==`object`&&!Array.isArray(c.value)?Object.entries(c.value).map(([e,t])=>({name:`${c.name}[${e}]`,value:t})):[]);return(e,s)=>(a(),i(n,null,[r(` We render single input if it's required `),u.value?(a(),t(f,o({key:e.name},{...c,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(a(!0),i(n,{key:1},l(d.value,n=>(a(),t(f,o({key:n.name},{ref_for:!0},{...c,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}});export{p as t};
@@ -1 +0,0 @@
1
- import{Et as e,Ft as t,H as n,It as r,K as i,L as a,Nt as o,W as s,Y as c,at as l,ct as u,et as d,o as f,q as p,r as m,rt as h,t as g,tt as _,vt as v,x as y}from"./button-BQ3s7yNh.js";import{f as b,t as x,u as S,y as C}from"./Teleport-DdjYHlNK.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./DialogTitle-Cl5Cd7QH.js";var A=p({__name:`AlertDialogAction`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;return f(),(e,i)=>(l(),n(o(w),r(c(t)),{default:v(()=>[u(e.$slots,`default`)]),_:3},16))}}),[j,M]=C(`AlertDialogContent`),N=p({__name:`AlertDialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:r}){let i=t,s=b(r);f();let c=e();return M({onCancelElementChange:e=>{c.value=e}}),(e,t)=>(l(),n(o(T),d({...i,...o(s)},{role:`alertdialog`,onPointerDownOutside:t[0]||=a(()=>{},[`prevent`]),onInteractOutside:t[1]||=a(()=>{},[`prevent`]),onOpenAutoFocus:t[2]||=()=>{_(()=>{c.value?.focus({preventScroll:!0})})}}),{default:v(()=>[u(e.$slots,`default`)]),_:3},16))}}),P=p({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,r=j(),{forwardRef:i,currentElement:a}=f();return h(()=>{r.onCancelElementChange(a.value)}),(e,r)=>(l(),n(o(w),d(t,{ref:o(i)}),{default:v(()=>[u(e.$slots,`default`)]),_:3},16))}}),F=p({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;return f(),(e,i)=>(l(),n(o(O),r(c(t)),{default:v(()=>[u(e.$slots,`default`)]),_:3},16))}}),I=p({__name:`AlertDialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return f(),(e,i)=>(l(),n(o(E),r(c(t)),{default:v(()=>[u(e.$slots,`default`)]),_:3},16))}}),L=p({__name:`AlertDialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,i)=>(l(),n(o(x),r(c(t)),{default:v(()=>[u(e.$slots,`default`)]),_:3},16))}}),R=p({__name:`AlertDialogRoot`,props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let i=S(e,t);return f(),(e,t)=>(l(),n(o(D),d(o(i),{modal:!0}),{default:v(t=>[u(e.$slots,`default`,r(c(t)))]),_:3},16))}}),z=p({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e;return f(),(e,i)=>(l(),n(o(k),r(c(t)),{default:v(()=>[u(e.$slots,`default`)]),_:3},16))}}),B=p({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let i=S(e,t);return(e,t)=>(l(),n(o(R),d({"data-slot":`alert-dialog`},o(i)),{default:v(t=>[u(e.$slots,`default`,r(c(t)))]),_:3},16))}}),V=p({__name:`AlertDialogAction`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`default`},size:{default:`default`}},setup(e){let t=e,r=y(t,`class`,`variant`,`size`);return(i,a)=>(l(),n(o(A),d({"data-slot":`alert-dialog-action`},o(r),{class:o(m)(``,o(g)({variant:e.variant,size:e.size}),t.class)}),{default:v(()=>[u(i.$slots,`default`)]),_:3},16,[`class`]))}}),H=p({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`outline`},size:{default:`default`}},setup(e){let t=e,r=y(t,`class`,`variant`,`size`);return(i,a)=>(l(),n(o(P),d({"data-slot":`alert-dialog-cancel`},o(r),{class:o(m)(``,o(g)({variant:e.variant,size:e.size}),t.class)}),{default:v(()=>[u(i.$slots,`default`)]),_:3},16,[`class`]))}}),U=p({inheritAttrs:!1,__name:`AlertDialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,a=t,s=S(y(r,`class`,`size`),a);return(t,a)=>(l(),n(o(L),null,{default:v(()=>[i(o(I),{"data-slot":`alert-dialog-overlay`,class:`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-overlay-light duration-fast supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-modal`}),i(o(N),d({"data-slot":`alert-dialog-content`,"data-size":e.size},{...t.$attrs,...o(s)},{class:o(m)(`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-popover text-popover-foreground ring-foreground/10 gap-4 rounded-xl p-4 ring-1 duration-fast data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm group/alert-dialog-content fixed top-1/2 left-1/2 z-modal grid w-full -translate-x-1/2 -translate-y-1/2 outline-none`,r.class)}),{default:v(()=>[u(t.$slots,`default`)]),_:3},16,[`data-size`,`class`])]),_:3}))}}),W=p({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=y(t,`class`);return(e,i)=>(l(),n(o(F),d({"data-slot":`alert-dialog-description`},o(r),{class:o(m)(`text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3`,t.class)}),{default:v(()=>[u(e.$slots,`default`)]),_:3},16,[`class`]))}}),G=p({__name:`AlertDialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>(l(),s(`div`,{"data-slot":`alert-dialog-footer`,class:t(o(m)(`bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t p-4 flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,n.class))},[u(e.$slots,`default`)],2))}}),K=p({__name:`AlertDialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>(l(),s(`div`,{"data-slot":`alert-dialog-header`,class:t(o(m)(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,n.class))},[u(e.$slots,`default`)],2))}}),q=p({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=y(t,`class`);return(e,i)=>(l(),n(o(z),d({"data-slot":`alert-dialog-title`},o(r),{class:o(m)(`text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2 cn-font-heading`,t.class)}),{default:v(()=>[u(e.$slots,`default`)]),_:3},16,[`class`]))}});export{U as a,B as c,W as i,K as n,H as o,G as r,V as s,q as t};
@@ -1 +0,0 @@
1
- import{H as e,Nt as t,O as n,at as r,ct as i,et as a,i as o,q as s,r as c,vt as l,x as u}from"./button-BQ3s7yNh.js";var d=s({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{type:[Boolean,null,String,Object,Array]}},setup(n){let s=n,d=u(s,`class`);return(u,p)=>(r(),e(t(o),a({"data-slot":`badge`,"data-variant":n.variant,class:t(c)(t(f)({variant:n.variant}),s.class)},t(d)),{default:l(()=>[i(u.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),f=n(`h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});export{d as t};
@@ -1 +0,0 @@
1
- import{X as e}from"./button-BQ3s7yNh.js";var t=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},n=e=>e===``,r=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),i=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),o=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},s={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},c=({name:a,iconNode:c,absoluteStrokeWidth:l,"absolute-stroke-width":u,strokeWidth:d,"stroke-width":f,size:p=s.width,color:m=s.stroke,...h},{slots:g})=>e(`svg`,{...s,...h,width:p,height:p,stroke:m,"stroke-width":n(l)||n(u)||l===!0||u===!0?Number(d||f||s[`stroke-width`])*24/Number(p):d||f||s[`stroke-width`],class:r(`lucide`,h.class,...a?[`lucide-${i(o(a))}-icon`,`lucide-${i(a)}`]:[`lucide-icon`]),...!g.default&&!t(h)&&{"aria-hidden":`true`}},[...c.map(t=>e(...t)),...g.default?[g.default()]:[]]),l=(t,n)=>(r,{slots:i,attrs:a})=>e(c,{...a,...r,iconNode:n,name:t},i);export{l as t};
@@ -1 +0,0 @@
1
- import{Ft as e,G as t,H as n,It as r,K as i,Nt as a,U as o,V as s,W as c,Y as l,at as u,ct as d,et as f,n as p,q as m,r as h,vt as g,x as _}from"./button-BQ3s7yNh.js";import{t as v}from"./x-CAoitXRt.js";import{d as y,t as b,u as x}from"./Teleport-DdjYHlNK.js";import{a as S,i as C,n as w,o as T,r as E,t as D}from"./DialogTitle-Cl5Cd7QH.js";var O=m({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,i)=>(u(),n(a(b),r(l(t)),{default:g(()=>[d(e.$slots,`default`)]),_:3},16))}}),k=m({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let i=x(e,t);return(e,t)=>(u(),n(a(T),f({"data-slot":`dialog`},a(i)),{default:g(t=>[d(e.$slots,`default`,r(l(t)))]),_:3},16))}}),A=m({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=_(t,`class`);return(e,i)=>(u(),n(a(w),f({"data-slot":`dialog-overlay`},a(r),{class:a(h)(`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-overlay-light duration-fast supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-modal`,t.class)}),{default:g(()=>[d(e.$slots,`default`)]),_:3},16,[`class`]))}}),j=m({inheritAttrs:!1,__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,c=t,l=x(_(r,`class`),c);return(t,c)=>(u(),n(a(O),null,{default:g(()=>[i(A),i(a(C),f({"data-slot":`dialog-content`},{...t.$attrs,...a(l)},{class:a(h)(`bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] max-h-[90vh] overflow-y-auto gap-4 rounded-xl p-4 text-sm ring-1 duration-fast sm:max-w-sm fixed top-1/2 left-1/2 z-modal w-full -translate-x-1/2 -translate-y-1/2 outline-none`,r.class)}),{default:g(()=>[d(t.$slots,`default`),e.showCloseButton?(u(),n(a(S),{key:0,"data-slot":`dialog-close`,"as-child":``},{default:g(()=>[i(a(p),{variant:`ghost`,class:`absolute top-2 right-2`,size:`icon-sm`},{default:g(()=>[i(a(v)),c[0]||=s(`span`,{class:`sr-only`},`Close`,-1)]),_:1})]),_:1})):o(``,!0)]),_:3},16,[`class`])]),_:3}))}}),M=m({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=y(_(t,`class`));return(e,i)=>(u(),n(a(E),f({"data-slot":`dialog-description`},a(r),{class:a(h)(`text-muted-foreground *:[a]:hover:text-foreground text-sm *:[a]:underline *:[a]:underline-offset-3`,t.class)}),{default:g(()=>[d(e.$slots,`default`)]),_:3},16,[`class`]))}}),N=m({__name:`DialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]},showCloseButton:{type:Boolean,default:!1}},setup(r){let s=r;return(l,f)=>(u(),c(`div`,{"data-slot":`dialog-footer`,class:e(a(h)(`bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t p-4 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,s.class))},[d(l.$slots,`default`),r.showCloseButton?(u(),n(a(S),{key:0,"as-child":``},{default:g(()=>[i(a(p),{variant:`outline`},{default:g(()=>[...f[0]||=[t(` Close `,-1)]]),_:1})]),_:1})):o(``,!0)],2))}}),P=m({__name:`DialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t;return(t,r)=>(u(),c(`div`,{"data-slot":`dialog-header`,class:e(a(h)(`gap-2 flex flex-col`,n.class))},[d(t.$slots,`default`)],2))}}),F=m({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=y(_(t,`class`));return(e,i)=>(u(),n(a(D),f({"data-slot":`dialog-title`},a(r),{class:a(h)(`text-base leading-none font-medium cn-font-heading`,t.class)}),{default:g(()=>[d(e.$slots,`default`)]),_:3},16,[`class`]))}});export{j as a,M as i,P as n,k as o,N as r,F as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-D1tkPDOQ.js";var t=e(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]);export{t};
@@ -1 +0,0 @@
1
- function e(e){return new Date(e).toLocaleString(`zh-CN`)}export{e as t};
@@ -1 +0,0 @@
1
- import{A as e,B as t,Et as n,Ft as r,G as i,H as a,It as o,K as s,L as c,M as l,Nt as u,P as d,R as f,Rt as p,U as m,V as h,W as g,Y as _,at as v,ct as y,et as b,ht as x,i as S,it as ee,j as C,jt as w,k as T,lt as E,m as te,n as D,o as O,q as k,r as A,rt as j,st as ne,ut as M,vt as N,x as P}from"./button-BQ3s7yNh.js";import{t as F}from"./createLucideIcon-D1tkPDOQ.js";import{a as re,i as ie,n as ae,o as I,r as L,t as oe}from"./SelectValue-CLp5z6_I.js";import{t as se}from"./file-text-Dt6QP1bZ.js";import{t as R}from"./x-CAoitXRt.js";import{a as z,c as B,d as ce,i as le,l as ue,o as de,p as fe,t as pe,u as V,y as me}from"./Teleport-DdjYHlNK.js";import{i as he,r as ge,t as _e}from"./PopperContent-C6Q7hDmf.js";import{a as H,c as U,i as W,n as G,o as K,r as q,s as J,t as Y}from"./alert-dialog-Bi3dliLl.js";import{t as X}from"./badge-Kkta3e9W.js";import{n as Z,t as ve}from"./lib-CxwxnlwW.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ye=F(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),be=F(`arrow-left-right`,[[`path`,{d:`M8 3 4 7l4 4`,key:`9rb6wj`}],[`path`,{d:`M4 7h16`,key:`6tx8e3`}],[`path`,{d:`m16 21 4-4-4-4`,key:`siv7j2`}],[`path`,{d:`M20 17H4`,key:`h6l3hr`}]]),xe=F(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]),Se=F(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Ce=F(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),we=F(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),Te=F(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),Ee=F(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),De=F(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),Oe=F(`octagon-x`,[[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`,key:`2d38gg`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),ke=F(`refresh-ccw`,[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`14sxne`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`,key:`1hlbsb`}],[`path`,{d:`M16 16h5v5`,key:`ccwih5`}]]),Ae=F(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),je=F(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),Me=F(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Ne=F(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),Pe=F(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),[Q,Fe]=me(`PopoverRoot`),Ie=k({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(e,{emit:t}){let r=e,i=t,{modal:o}=w(r),s=te(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});return Fe({contentId:``,triggerId:``,modal:o,open:s,onOpenChange:e=>{s.value=e},onOpenToggle:()=>{s.value=!s.value},triggerElement:n(),hasCustomAnchor:n(!1)}),(e,t)=>(v(),a(u(he),null,{default:N(()=>[y(e.$slots,`default`,{open:u(s),close:()=>s.value=!1})]),_:3}))}}),$=k({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=ce(P(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:o}=O(),c=Q();return I(),(e,t)=>(v(),a(u(le),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:N(()=>[s(u(z),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:t[0]||=e=>r(`pointerDownOutside`,e),onInteractOutside:t[1]||=e=>r(`interactOutside`,e),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[3]||=e=>r(`focusOutside`,e),onDismiss:t[4]||=e=>u(c).onOpenChange(!1)},{default:N(()=>[s(u(_e),b(u(i),{id:u(c).contentId,ref:u(o),"data-state":u(c).open.value?`open`:`closed`,"aria-labelledby":u(c).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:N(()=>[y(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),Le=k({__name:`PopoverContentModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,o=Q(),s=n(!1);fe(!0);let l=V(r,i),{forwardRef:d,currentElement:f}=O();return ue(f),(e,t)=>(v(),a($,b(u(l),{ref:u(d),"trap-focus":u(o).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=c(e=>{i(`closeAutoFocus`,e),s.value||u(o).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:t[1]||=e=>{i(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;s.value=t.button===2||n},onFocusOutside:t[2]||=c(()=>{},[`prevent`])}),{default:N(()=>[y(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),Re=k({__name:`PopoverContentNonModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,o=Q(),s=n(!1),c=n(!1),l=V(r,i);return(e,t)=>(v(),a($,b(u(l),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{i(`closeAutoFocus`,e),e.defaultPrevented||(s.value||u(o).triggerElement.value?.focus(),e.preventDefault()),s.value=!1,c.value=!1},onInteractOutside:t[1]||=async e=>{i(`interactOutside`,e),e.defaultPrevented||(s.value=!0,e.detail.originalEvent.type===`pointerdown`&&(c.value=!0));let t=e.target;u(o).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&c.value&&e.preventDefault()}}),{default:N(()=>[y(e.$slots,`default`)]),_:3},16))}}),ze=k({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Q(),o=V(n,r),{forwardRef:s}=O();return i.contentId||=B(void 0,`reka-popover-content`),(e,t)=>(v(),a(u(de),{present:e.forceMount||u(i).open.value},{default:N(()=>[u(i).modal.value?(v(),a(Le,b({key:0},u(o),{ref:u(s)}),{default:N(()=>[y(e.$slots,`default`)]),_:3},16)):(v(),a(Re,b({key:1},u(o),{ref:u(s)}),{default:N(()=>[y(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Be=k({__name:`PopoverPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(v(),a(u(pe),o(_(t)),{default:N(()=>[y(e.$slots,`default`)]),_:3},16))}}),Ve=k({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Q(),{forwardRef:r,currentElement:i}=O();return n.triggerId||=B(void 0,`reka-popover-trigger`),j(()=>{n.triggerElement.value=i.value}),(e,i)=>(v(),a(M(u(n).hasCustomAnchor.value?u(S):u(ge)),{"as-child":``},{default:N(()=>[s(u(S),{id:u(n).triggerId,ref:u(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":u(n).open.value,"aria-controls":u(n).contentId,"data-state":u(n).open.value?`open`:`closed`,as:e.as,"as-child":t.asChild,onClick:u(n).onOpenToggle},{default:N(()=>[y(e.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),He=k({__name:`Popover`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=V(e,t);return(e,t)=>(v(),a(u(Ie),b({"data-slot":`popover`},u(n)),{default:N(t=>[y(e.$slots,`default`,o(_(t)))]),_:3},16))}}),Ue=k({inheritAttrs:!1,__name:`PopoverContent`,props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=V(P(n,`class`),r);return(e,t)=>(v(),a(u(Be),null,{default:N(()=>[s(u(ze),b({"data-slot":`popover-content`},{...e.$attrs,...u(i)},{class:u(A)(`bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 flex flex-col gap-2.5 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 z-50 w-72 origin-(--reka-popover-content-transform-origin) outline-hidden`,n.class)}),{default:N(()=>[y(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),We=k({__name:`PopoverTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(v(),a(u(Ve),b({"data-slot":`popover-trigger`},t),{default:N(()=>[y(e.$slots,`default`)]),_:3},16))}}),Ge={class:`w-56 bg-sidebar text-sidebar-foreground flex-shrink-0 flex flex-col`},Ke={class:`p-4 border-b border-sidebar-border`},qe={class:`flex items-center gap-2`},Je={key:0,class:`p-3 border-b border-border`},Ye={class:`flex items-center gap-2 mb-2`},Xe={class:`w-4 h-4 rounded-full bg-primary flex items-center justify-center text-primary-foreground`},Ze={class:`text-xs text-muted-foreground mb-2`},Qe={class:`text-primary font-medium`},$e={key:1,class:`text-xs text-warning bg-warning-light p-2 rounded`},et={key:1,class:`p-3 border-b border-border`},tt={class:`flex items-center gap-2 mb-2`},nt={class:`w-4 h-4 rounded-full bg-primary flex items-center justify-center text-primary-foreground`},rt={class:`flex items-center gap-2 mb-2`},it={key:2,class:`p-3`},at={class:`px-3 py-2 flex justify-between items-center text-xs text-muted-foreground`},ot={class:`flex-1 p-2 space-y-1`},st={class:`p-3 border-t border-sidebar-border`},ct={class:`bg-muted px-1 py-0.5 rounded text-xs`},lt=300*1e3,ut=k({__name:`Sidebar`,setup(e){let o=n(null),c=n(!1),d=n(!1),_=n(!1),y=n(!1),b=n(!1),x=null;async function S(){try{o.value=await T.getUpgradeStatus()}catch{o.value=null}}async function w(){try{await T.triggerUpgradeCheck(),await S()}catch(e){Z.error(e.apiMessage||`检查失败`)}}async function te(){if(o.value?.npm.latestVersion){_.value=!0;try{await T.executeUpgrade(o.value.npm.latestVersion),Z.success(`升级成功`),c.value=!1,d.value=!0,await S()}catch(e){Z.error(e.apiMessage||`升级失败`)}finally{_.value=!1}}}async function O(){let e=o.value?.syncSource??`github`;y.value=!0;try{await T.syncConfig(e),Z.success(`配置同步成功`),await S()}catch(e){Z.error(e.apiMessage||`同步失败`)}finally{y.value=!1}}async function k(e){if(typeof e==`string`)try{await T.setSyncSource(e),await S()}catch(e){Z.error(e.apiMessage||`保存失败`)}}let A=t(()=>{if(!o.value)return 0;let e=0;return o.value.npm.hasUpdate&&e++,o.value.config.hasUpdate&&e++,e});j(()=>{S(),x=setInterval(S,lt)}),ee(()=>{x&&clearInterval(x)});let P=[{path:`/`,label:`仪表盘`,icon:Te},{path:`/providers`,label:`供应商`,icon:je},{path:`/mappings`,label:`模型映射`,icon:be},{path:`/router-keys`,label:`API 密钥`,icon:we},{path:`/retry-rules`,label:`重试规则`,icon:ke},{path:`/proxy-enhancement`,label:`代理增强(实验性)`,icon:Ne},{path:`/monitor`,label:`实时监控`,icon:ye},{path:`/logs`,label:`请求日志`,icon:se},{path:`/settings`,label:`系统设置`,icon:Me}],F=C(),I=l();function R(e){return e===`/`?F.path===`/`:F.path.startsWith(e)}function z(){window.location.reload()}async function B(){try{await T.logout()}finally{I.push(`/login`)}}return(e,t)=>{let n=E(`router-link`);return v(),g(`aside`,Ge,[h(`div`,Ke,[h(`div`,qe,[t[15]||=h(`div`,{class:`w-8 h-8 bg-sidebar-primary rounded-lg flex items-center justify-center`},[h(`svg`,{class:`w-5 h-5 text-sidebar-primary-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[h(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z`})])],-1),s(u(He),{open:b.value,"onUpdate:open":t[1]||=e=>b.value=e},{default:N(()=>[s(u(We),{"as-child":``},{default:N(()=>[s(u(D),{variant:`ghost`,class:`flex items-center gap-2 px-0 h-auto`},{default:N(()=>[t[5]||=h(`span`,{class:`font-semibold text-sm`},`LLM Router`,-1),s(u(X),{variant:`secondary`,class:`text-[10px] px-1.5 py-0 h-4 leading-none`},{default:N(()=>[i(`v`+p(u(`0.5.2`)),1)]),_:1}),A.value>0?(v(),a(u(X),{key:0,variant:`destructive`,class:`text-[10px] px-1.5 h-4 leading-none bg-destructive text-destructive-foreground font-semibold`},{default:N(()=>[i(p(A.value),1)]),_:1})):m(``,!0)]),_:1})]),_:1}),s(u(Ue),{side:`right`,align:`start`,class:`w-80 p-0`},{default:N(()=>[o.value?.npm.hasUpdate?(v(),g(`div`,Je,[h(`div`,Ye,[h(`div`,Xe,[s(u(xe),{class:`w-3 h-3`})]),t[6]||=h(`span`,{class:`text-sm font-medium`},`新版本可用`,-1)]),h(`p`,Ze,[i(p(o.value.npm.currentVersion)+` → `,1),h(`span`,Qe,p(o.value.npm.latestVersion),1)]),o.value.deployment===`npm`?(v(),a(u(D),{key:0,size:`sm`,class:`w-full text-xs`,disabled:_.value,onClick:t[0]||=e=>c.value=!0},{default:N(()=>[i(p(_.value?`升级中...`:`一键升级`),1)]),_:1},8,[`disabled`])):(v(),g(`div`,$e,[i(` 检测到 `+p(o.value.deployment===`docker`?`Docker`:`未知`)+` 部署,请手动更新: `,1),t[7]||=h(`code`,{class:`block mt-1 text-warning bg-warning-dark/10 p-1 rounded`},`docker pull ghcr.io/zhushanwen321/llm-simple-router:latest`,-1)]))])):m(``,!0),o.value?.config.hasUpdate?(v(),g(`div`,et,[h(`div`,tt,[h(`div`,nt,[s(u(Ae),{class:`w-3 h-3`})]),t[8]||=h(`span`,{class:`text-sm font-medium`},`推荐配置已更新`,-1)]),t[12]||=h(`p`,{class:`text-xs text-muted-foreground mb-2`},` 供应商或重试规则有新版本 `,-1),h(`div`,rt,[t[11]||=h(`span`,{class:`text-xs text-muted-foreground`},`来源`,-1),s(u(re),{"model-value":o.value?.syncSource,"onUpdate:modelValue":k},{default:N(()=>[s(u(ae),{class:`h-7 text-xs flex-1`},{default:N(()=>[s(u(oe))]),_:1}),s(u(ie),null,{default:N(()=>[s(u(L),{value:`github`},{default:N(()=>[...t[9]||=[i(`GitHub`,-1)]]),_:1}),s(u(L),{value:`gitee`},{default:N(()=>[...t[10]||=[i(`Gitee`,-1)]]),_:1})]),_:1})]),_:1},8,[`model-value`])]),s(u(D),{size:`sm`,variant:`secondary`,class:`w-full text-xs`,disabled:y.value,onClick:O},{default:N(()=>[i(p(y.value?`同步中...`:`同步配置`),1)]),_:1},8,[`disabled`])])):m(``,!0),!o.value?.npm.hasUpdate&&!o.value?.config.hasUpdate?(v(),g(`div`,it,[...t[13]||=[h(`p`,{class:`text-xs text-muted-foreground`},`当前已是最新版本,配置也是最新的`,-1)]])):m(``,!0),h(`div`,at,[h(`span`,null,p(o.value?.lastCheckedAt?`检查于 ${new Date(o.value.lastCheckedAt).toLocaleTimeString()}`:`未检查`),1),s(u(D),{variant:`link`,class:`text-primary h-auto p-0`,onClick:w},{default:N(()=>[...t[14]||=[i(`立即检查`,-1)]]),_:1})])]),_:1})]),_:1},8,[`open`])])]),h(`nav`,ot,[(v(),g(f,null,ne(P,e=>s(n,{key:e.path,to:e.path,class:r([`flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors`,R(e.path)?`bg-sidebar-accent text-sidebar-primary`:`text-sidebar-foreground hover:bg-sidebar-accent`])},{default:N(()=>[(v(),a(M(e.icon),{class:`w-4 h-4`})),i(` `+p(e.label),1)]),_:2},1032,[`to`,`class`])),64))]),h(`div`,st,[s(u(D),{variant:`ghost`,class:`w-full justify-start text-sidebar-foreground hover:text-sidebar-foreground hover:bg-sidebar-accent`,onClick:B},{default:N(()=>[s(u(De),{class:`w-4 h-4`}),t[16]||=i(` 登出 `,-1)]),_:1})]),s(u(U),{open:c.value,"onUpdate:open":t[2]||=e=>c.value=e},{default:N(()=>[s(u(H),null,{default:N(()=>[s(u(G),null,{default:N(()=>[s(u(Y),null,{default:N(()=>[i(`确认升级到 `+p(o.value?.npm.latestVersion)+`?`,1)]),_:1}),s(u(W),null,{default:N(()=>[t[17]||=i(` 将执行 `,-1),h(`code`,ct,`npm install -g llm-simple-router@`+p(o.value?.npm.latestVersion),1),t[18]||=i(`,升级完成后需要重启服务才能生效。 `,-1)]),_:1})]),_:1}),s(u(q),null,{default:N(()=>[s(u(K),null,{default:N(()=>[...t[19]||=[i(`取消`,-1)]]),_:1}),s(u(J),{onClick:te,disabled:_.value},{default:N(()=>[i(p(_.value?`升级中...`:`确认升级`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),s(u(U),{open:d.value,"onUpdate:open":t[4]||=e=>d.value=e},{default:N(()=>[s(u(H),null,{default:N(()=>[s(u(G),null,{default:N(()=>[s(u(Y),null,{default:N(()=>[...t[20]||=[i(`升级成功`,-1)]]),_:1}),s(u(W),null,{default:N(()=>[i(` 已升级到 `+p(o.value?.npm.latestVersion)+`。需要重启服务才能生效。 `,1)]),_:1})]),_:1}),s(u(q),null,{default:N(()=>[s(u(K),{onClick:t[3]||=e=>d.value=!1},{default:N(()=>[...t[21]||=[i(`稍后重启`,-1)]]),_:1}),s(u(J),{onClick:z},{default:N(()=>[...t[22]||=[i(`立即重启`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])])}}}),dt=k({__name:`Sonner`,props:{id:{},invert:{type:Boolean},theme:{},position:{},closeButtonPosition:{},hotkey:{},richColors:{type:Boolean},expand:{type:Boolean},duration:{},gap:{},visibleToasts:{},closeButton:{type:Boolean},toastOptions:{},class:{},style:{},offset:{},mobileOffset:{},dir:{},swipeDirections:{},icons:{},containerAriaLabel:{}},setup(e){let t=e;return(e,n)=>(v(),a(u(ve),b({class:u(A)(`toaster group`,t.class),style:{"--normal-bg":`var(--popover)`,"--normal-text":`var(--popover-foreground)`,"--normal-border":`var(--border)`,"--border-radius":`var(--radius)`}},t),{"success-icon":N(()=>[s(u(Se),{class:`size-4`})]),"info-icon":N(()=>[s(u(Ce),{class:`size-4`})]),"warning-icon":N(()=>[s(u(Pe),{class:`size-4`})]),"error-icon":N(()=>[s(u(Oe),{class:`size-4`})]),"loading-icon":N(()=>[h(`div`,null,[s(u(Ee),{class:`size-4 animate-spin`})])]),"close-icon":N(()=>[s(u(R),{class:`size-4`})]),_:1},16,[`class`]))}}),ft={key:0,class:`min-h-screen flex`},pt={class:`flex-1 overflow-auto bg-muted`},mt=d(k({__name:`App`,setup(e){let t=l(),r=C(),i=n(!1),o=[`/login`,`/setup`];async function c(){if(o.includes(r.path)){i.value=!1;return}try{await T.getStats(),i.value=!0}catch{i.value=!1,t.push(`/login`)}}return c(),x(()=>r.path,c),(e,t)=>{let n=E(`router-view`);return v(),g(f,null,[i.value?(v(),g(`div`,ft,[s(ut),h(`main`,pt,[s(n)])])):(v(),a(n,{key:1})),s(u(dt),{richColors:``,position:`top-center`})],64)}}}));mt.use(e),mt.mount(`#app`);
@@ -1 +0,0 @@
1
- @import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap";:root{--color-teal-50:oklch(97% .02 175);--color-teal-100:oklch(93% .04 175);--color-teal-200:oklch(87% .07 175);--color-teal-300:oklch(78% .1 175);--color-teal-400:oklch(68% .13 175);--color-teal-500:oklch(58% .14 175);--color-teal-600:oklch(48% .12 175);--color-teal-700:oklch(40% .1 175);--color-teal-800:oklch(32% .08 175);--color-teal-900:oklch(25% .06 175);--color-success:oklch(65% .17 150);--color-success-light:oklch(92% .05 150);--color-success-dark:oklch(45% .15 150);--color-warning:oklch(78% .16 80);--color-warning-light:oklch(94% .06 80);--color-warning-dark:oklch(55% .14 80);--color-danger:oklch(58% .22 25);--color-danger-light:oklch(90% .08 25);--color-danger-dark:oklch(40% .18 25);--color-info:oklch(62% .18 250);--color-info-light:oklch(91% .06 250);--color-info-dark:oklch(43% .16 250);--color-bg-page:var(--background);--color-bg-card:var(--card);--color-bg-sidebar:oklch(20.5% 0 0);--color-text-primary:var(--foreground);--color-text-secondary:var(--muted-foreground);--color-text-tertiary:oklch(65% 0 0);--color-role-user:oklch(78% .1 175);--color-role-user-bg:oklch(97% .02 175);--color-role-assistant:oklch(65% .14 260);--color-role-assistant-bg:oklch(93% .04 260);--color-role-tool:oklch(60% .08 30);--color-role-tool-bg:oklch(96% .02 30);--color-role-thinking:oklch(58% .12 290);--color-role-thinking-bg:oklch(91% .03 290);--color-sse-message-start:oklch(68% .13 175);--color-sse-content-block-start:oklch(58% .14 175);--color-sse-content-block-delta:oklch(48% .12 175);--color-sse-message-delta:oklch(40% .1 175);--color-sse-message-stop:oklch(65% .17 150);--spacing-dense-xs:.25rem;--spacing-dense-sm:.375rem;--spacing-dense-md:.5rem;--spacing-page:1.5rem;--spacing-section:1.25rem;--spacing-card:1rem;--spacing-tight:.5rem;--gap-icon-text:.375rem;--radius-pill:9999px;--color-overlay-light:oklch(0% 0 0/.1);--color-overlay:oklch(0% 0 0/.8);--shadow-card:0 1px 3px oklch(0% 0 0/.1);--shadow-elevated:0 4px 12px oklch(0% 0 0/.12);--shadow-focus:0 0 0 2px oklch(58% .14 175);--duration-fast:.15s;--duration-normal:.2s;--ease-default:cubic-bezier(.4, 0, .2, 1);--z-modal:100;--z-dropdown:150;--z-toast:200}.dark{--color-success-light:oklch(30% .05 150);--color-warning-light:oklch(32% .06 80);--color-danger-light:oklch(28% .08 25);--color-info-light:oklch(28% .06 250);--color-bg-sidebar:oklch(14.5% 0 0);--color-text-tertiary:oklch(55.6% 0 0);--color-role-user-bg:oklch(28% .04 175);--color-role-user:oklch(72% .08 175);--color-role-assistant-bg:oklch(25% .05 260);--color-role-assistant:oklch(60% .1 260);--color-role-tool-bg:oklch(22% .03 30);--color-role-tool:oklch(65% .06 30);--color-role-thinking-bg:oklch(23% .04 290);--color-role-thinking:oklch(55% .09 290)}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(48% .12 175);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(58% .14 175);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.375rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 2px);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);--font-sans:"Geist Variable", sans-serif;--font-heading:var(--font-sans);--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(68% .13 175);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(78% .1 175);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(68% .13 175);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans)}.dot-success{background-color:var(--color-success)}.block-thinking{background-color:var(--color-role-thinking-bg)}.block-tool-use{background-color:var(--color-role-tool-bg)}.block-tool-result{background-color:var(--color-role-user-bg)}.block-thinking-content{background-color:oklch(from var(--color-role-thinking-bg) l c h / .5);color:var(--muted-foreground)}.block-tool-use-content{background-color:oklch(from var(--color-role-tool-bg) l c h / .5)}.block-tool-result-content{background-color:oklch(from var(--color-role-user-bg) l c h / .5)}.diff-modified{background-color:var(--color-warning-light);border-color:var(--color-warning)}.diff-removed{color:var(--color-danger)}.diff-added{color:var(--color-success)}.progress-active{background-color:var(--color-success)}.progress-failed{background-color:var(--color-danger)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-dropdown{z-index:var(--z-dropdown)}.z-modal{z-index:var(--z-modal)}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-4{margin-bottom:-1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.size-10{width:2.5rem;height:2.5rem}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[3px\]{height:3px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(85vh-80px\)\]{height:calc(85vh - 80px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-96{max-height:24rem}.max-h-\[40vh\]{max-height:40vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-1\/3{width:33.3333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[280px\]{width:280px}.w-\[40\%\]{width:40%}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-36{min-width:9rem}.max-w-2xl{max-width:42rem}.max-w-\[160px\]{max-width:160px}.max-w-\[200px\]{max-width:200px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-border{border-color:var(--border)}.border-danger{border-color:var(--color-danger)}.border-destructive{border-color:var(--destructive)}.border-info{border-color:var(--color-info)}.border-input{border-color:var(--input)}.border-muted{border-color:var(--muted)}.border-role-tool{border-color:var(--color-role-tool)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-success{border-color:var(--color-success)}.border-teal-200{border-color:var(--color-teal-200)}.border-transparent{border-color:#0000}.border-warning{border-color:var(--color-warning)}.bg-background{background-color:var(--background)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-danger-light{background-color:var(--color-danger-light)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-info-light{background-color:var(--color-info-light)}.bg-muted{background-color:var(--muted)}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-overlay{background-color:var(--color-overlay)}.bg-overlay-light{background-color:var(--color-overlay-light)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-role-assistant-bg{background-color:var(--color-role-assistant-bg)}.bg-role-thinking-bg{background-color:var(--color-role-thinking-bg)}.bg-role-tool-bg{background-color:var(--color-role-tool-bg)}.bg-role-user-bg{background-color:var(--color-role-user-bg)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-sidebar-primary{background-color:var(--sidebar-primary)}.bg-success{background-color:var(--color-success)}.bg-success-light{background-color:var(--color-success-light)}.bg-teal-200{background-color:var(--color-teal-200)}.bg-teal-300{background-color:var(--color-teal-300)}.bg-teal-50{background-color:var(--color-teal-50)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-600{background-color:var(--color-teal-600)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--color-warning)}.bg-warning-light{background-color:var(--color-warning-light)}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-1\.5{padding-left:.375rem}.pl-10{padding-left:2.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-8{padding-right:2rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wider{letter-spacing:.05em}.text-\[var\(--color-role-thinking\)\]{color:var(--color-role-thinking)}.text-\[var\(--color-role-tool\)\]{color:var(--color-role-tool)}.text-\[var\(--color-role-user\)\]{color:var(--color-role-user)}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-danger-dark{color:var(--color-danger-dark)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-info-dark{color:var(--color-info-dark)}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-role-assistant{color:var(--color-role-assistant)}.text-role-thinking{color:var(--color-role-thinking)}.text-role-tool{color:var(--color-role-tool)}.text-role-user{color:var(--color-role-user)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground{color:var(--sidebar-foreground)}.text-sidebar-primary{color:var(--sidebar-primary)}.text-sidebar-primary-foreground{color:var(--sidebar-primary-foreground)}.text-success{color:var(--color-success)}.text-success-dark{color:var(--color-success-dark)}.text-teal-200{color:var(--color-teal-200)}.text-teal-300{color:var(--color-teal-300)}.text-teal-700{color:var(--color-teal-700)}.text-teal-900{color:var(--color-teal-900)}.text-warning{color:var(--color-warning)}.text-warning-dark{color:var(--color-warning-dark)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.bg-blend-color{background-blend-mode:color}.shadow-elevated{--tw-shadow:var(--shadow-elevated);--tw-shadow-colored:var(--shadow-elevated);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-background{--tw-ring-color:var(--background)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-none{transition-property:none}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-fast{transition-duration:var(--duration-fast)}.duration-normal{transition-duration:var(--duration-normal)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-fast{animation-duration:var(--duration-fast)}.duration-normal{animation-duration:var(--duration-normal)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:1.5rem}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:-inset-x-3:after{content:var(--tw-content);left:-.75rem;right:-.75rem}.after\:-inset-y-2:after{content:var(--tw-content);top:-.5rem;bottom:-.5rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-border:after{content:var(--tw-content);border-color:var(--border)}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-secondary:hover{background-color:var(--secondary)}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-sidebar-foreground:hover{color:var(--sidebar-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:brightness-95:hover{--tw-brightness:brightness(.95);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:0}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[size\=lg\]\:size-10[data-size=lg]{width:2.5rem;height:2.5rem}.data-\[size\=sm\]\:size-6[data-size=sm]{width:1.5rem;height:1.5rem}.data-\[orientation\=horizontal\]\:h-2\.5[data-orientation=horizontal]{height:.625rem}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[position\=popper\]\:h-\[var\(--reka-select-trigger-height\)\][data-position=popper]{height:var(--reka-select-trigger-height)}.data-\[size\=default\]\:h-8[data-size=default]{height:2rem}.data-\[size\=default\]\:h-\[18\.4px\][data-size=default]{height:18.4px}.data-\[size\=sm\]\:h-7[data-size=sm]{height:1.75rem}.data-\[size\=sm\]\:h-\[14px\][data-size=sm]{height:14px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:w-2\.5[data-orientation=vertical]{width:.625rem}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[position\=popper\]\:w-full[data-position=popper]{width:100%}.data-\[size\=default\]\:w-\[32px\][data-size=default]{width:32px}.data-\[size\=sm\]\:w-\[24px\][data-size=sm]{width:24px}.data-\[position\=popper\]\:min-w-\[var\(--reka-select-trigger-width\)\][data-position=popper]{min-width:var(--reka-select-trigger-width)}.data-\[size\=default\]\:max-w-xs[data-size=default],.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:20rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:.75rem}.data-\[orientation\=vertical\]\:self-stretch[data-orientation=vertical]{align-self:stretch}.data-\[size\=sm\]\:rounded-md[data-size=sm]{border-radius:var(--radius-md)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.data-\[orientation\=horizontal\]\:border-t[data-orientation=horizontal]{border-top-width:1px}.data-\[orientation\=vertical\]\:border-l[data-orientation=vertical]{border-left-width:1px}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[orientation\=horizontal\]\:border-t-transparent[data-orientation=horizontal]{border-top-color:#0000}.data-\[orientation\=vertical\]\:border-l-transparent[data-orientation=vertical]{border-left-color:#0000}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-top:.75rem;padding-bottom:.75rem}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--destructive)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open],.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open],.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:-.5rem}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start],.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.\*\:data-\[slot\=select-value\]\:line-clamp-1[data-slot=select-value]>*{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\*\:data-\[slot\=select-value\]\:flex[data-slot=select-value]>*{display:flex}.\*\:data-\[slot\=select-value\]\:items-center[data-slot=select-value]>*{align-items:center}.\*\:data-\[slot\=select-value\]\:gap-1\.5[data-slot=select-value]>*{gap:.375rem}.\*\:data-\[slot\=avatar\]\:ring-2[data-slot=avatar]>*{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.\*\:data-\[slot\=avatar\]\:ring-background[data-slot=avatar]>*{--tw-ring-color:var(--background)}.group[data-disabled=true] .group-data-\[disabled\=true\]\:pointer-events-none{pointer-events:none}.group\/alert-dialog-content[data-size=sm] .group-data-\[size\=sm\]\/alert-dialog-content\:grid{display:grid}.group\/avatar[data-size=default] .group-data-\[size\=default\]\/avatar\:size-2\.5{width:.625rem;height:.625rem}.group\/switch[data-size=default] .group-data-\[size\=default\]\/switch\:size-4{width:1rem;height:1rem}.group\/avatar[data-size=lg] .group-data-\[size\=lg\]\/avatar\:size-3{width:.75rem;height:.75rem}.group\/avatar[data-size=sm] .group-data-\[size\=sm\]\/avatar\:size-2{width:.5rem;height:.5rem}.group\/switch[data-size=sm] .group-data-\[size\=sm\]\/switch\:size-3{width:.75rem;height:.75rem}.group\/tabs[data-orientation=horizontal] .group-data-\[orientation\=horizontal\]\/tabs\:h-8{height:2rem}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:h-fit{height:fit-content}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:w-full{width:100%}.group\/alert-dialog-content[data-size=sm] .group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:flex-col{flex-direction:column}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:justify-start{justify-content:flex-start}.group\/tabs-list[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:bg-transparent{background-color:#0000}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:p-3{padding:.75rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:px-3{padding-left:.75rem;padding-right:.75rem}.group\/avatar[data-size=sm] .group-data-\[size\=sm\]\/avatar\:text-xs{font-size:.75rem;line-height:1rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:text-sm{font-size:.875rem;line-height:1.25rem}.group[data-disabled=true] .group-data-\[disabled\=true\]\:opacity-50{opacity:.5}.group\/tabs[data-orientation=horizontal] .group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:after{content:var(--tw-content);left:0;right:0}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.group\/tabs[data-orientation=horizontal] .group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:after{content:var(--tw-content);bottom:-5px}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:after{content:var(--tw-content);right:-.25rem}.group\/tabs[data-orientation=horizontal] .group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:after{content:var(--tw-content);height:.125rem}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:after{content:var(--tw-content);width:.125rem}.group\/switch[data-size=default] .group-data-\[size\=default\]\/switch\:data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/switch[data-size=default] .group-data-\[size\=default\]\/switch\:data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/switch[data-size=sm] .group-data-\[size\=sm\]\/switch\:data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/switch[data-size=sm] .group-data-\[size\=sm\]\/switch\:data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/tabs-list[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent[data-state=active]{background-color:#0000}.group\/tabs-list[data-variant=default] .group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group\/tabs-list[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none[data-state=active]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group\/tabs-list[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100[data-state=active]:after{content:var(--tw-content);opacity:1}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-teal-800:is(.dark *){border-color:var(--color-teal-800)}.dark\:bg-teal-600:is(.dark *){background-color:var(--color-teal-600)}.dark\:bg-teal-700:is(.dark *){background-color:var(--color-teal-700)}.dark\:bg-teal-800:is(.dark *){background-color:var(--color-teal-800)}.dark\:bg-teal-900:is(.dark *){background-color:var(--color-teal-900)}.dark\:text-danger:is(.dark *){color:var(--color-danger)}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-info:is(.dark *){color:var(--color-info)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-success:is(.dark *){color:var(--color-success)}.dark\:text-teal-100:is(.dark *){color:var(--color-teal-100)}.dark\:text-teal-200:is(.dark *){color:var(--color-teal-200)}.dark\:text-teal-300:is(.dark *){color:var(--color-teal-300)}.dark\:text-warning:is(.dark *){color:var(--color-warning)}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:after\:mix-blend-lighten:is(.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}.dark\:hover\:text-foreground:hover:is(.dark *){color:var(--foreground)}.dark\:data-\[state\=active\]\:border-input[data-state=active]:is(.dark *){border-color:var(--input)}.dark\:data-\[state\=checked\]\:bg-primary[data-state=checked]:is(.dark *){background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]:is(.dark *){background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground[data-state=unchecked]:is(.dark *){background-color:var(--foreground)}.dark\:data-\[state\=active\]\:text-foreground[data-state=active]:is(.dark *){color:var(--foreground)}.group\/tabs-list[data-variant=line] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent[data-state=active]:is(.dark *){border-color:#0000}.group\/tabs-list[data-variant=line] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent[data-state=active]:is(.dark *){background-color:#0000}@media (width>=640px){.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:rounded-lg{border-radius:var(--radius-lg)}.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:24rem}.group\/alert-dialog-content[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2{grid-row:span 2/span 2}.group\/alert-dialog-content[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start{place-items:start}.group\/alert-dialog-content[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left{text-align:left}}@media (width>=768px){.md\:w-full{width:100%}.md\:text-pretty{text-wrap:pretty}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.group\/avatar[data-size=sm] .group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden>svg{display:none}.group\/avatar[data-size=default] .group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2>svg,.group\/avatar[data-size=lg] .group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2>svg{width:.5rem;height:.5rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-3 svg:not([class*=size-]){width:.75rem;height:.75rem}.\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-3\.5 svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
@@ -1 +0,0 @@
1
- import{B as e,Et as t,Ft as n,G as r,H as i,It as a,K as o,Lt as s,Nt as c,Q as l,R as u,Rt as d,U as f,V as p,W as m,at as h,ct as g,et as _,ft as v,gt as y,ht as b,nt as ee,q as x,rt as S,st as C,tt as w,ut as T,vt as E}from"./button-BQ3s7yNh.js";var D=1,O=new class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});publish=e=>{this.subscribers.forEach(t=>t(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{let{message:t,...n}=e,r=typeof e.id==`number`||e.id&&e.id?.length>0?e.id:D++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e);message=(e,t)=>this.create({...t,message:e,type:`default`});error=(e,t)=>this.create({...t,type:`error`,message:e});success=(e,t)=>this.create({...t,type:`success`,message:e});info=(e,t)=>this.create({...t,type:`info`,message:e});warning=(e,t)=>this.create({...t,type:`warning`,message:e});loading=(e,t)=>this.create({...t,type:`loading`,message:e});promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],l(e))i=!1,this.create({id:n,type:`default`,message:e});else if(A(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!l(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!l(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!l(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!l(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally?.()}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})};custom=(e,t)=>{let n=t?.id||D++,r=this.toasts.find(e=>e.id===n),i=t?.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(r=>r.id===n?(this.publish({...r,component:e,dismissible:i,id:n,...t}),{...r,component:e,dismissible:i,id:n,...t}):r):this.addToast({component:e,dismissible:i,id:n,...t}),n};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};function k(e,t){let n=t?.id||D++;return O.create({message:e,id:n,type:`default`,...t}),n}var A=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,j=Object.assign(k,{success:O.success,info:O.info,warning:O.warning,error:O.error,custom:O.custom,message:O.message,promise:O.promise,dismiss:O.dismiss,loading:O.loading},{getHistory:()=>O.toasts,getToasts:()=>O.getActiveToasts()});function M(e){return e.label!==void 0}var N=3,P=`24px`,F=`16px`,I=4e3,L=356,R=14,te=45,ne=200;function z(){let e=t(!1);return y(()=>{let t=()=>{e.value=document.hidden};return document.addEventListener(`visibilitychange`,t),()=>window.removeEventListener(`visibilitychange`,t)}),{isDocumentHidden:e}}function B(...e){return e.filter(Boolean).join(` `)}function re(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}function ie(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?F:P;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var ae=[`data-rich-colors`,`data-styled`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-invert`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],oe=[`aria-label`,`data-disabled`,`data-close-button-position`],se=x({__name:`Toast`,props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:[`update:heights`,`update:height`,`removeToast`],setup(o,{emit:l}){let v=o,x=l,C=t(null),E=t(null),D=t(!1),O=t(!1),k=t(!1),A=t(!1),j=t(!1),N=t(0),P=t(0),F=t(v.toast.duration||v.duration||I),L=t(null),R=t(null),ie=e(()=>v.index===0),se=e(()=>v.index+1<=v.visibleToasts),V=e(()=>v.toast.type),H=e(()=>v.toast.dismissible!==!1),ce=e(()=>v.toast.class||``),le=e(()=>v.descriptionClass||``),U=e(()=>{let e=v.toast.position||v.position,t=v.heights.filter(t=>t.position===e).findIndex(e=>e.toastId===v.toast.id);return t>=0?t:0}),ue=e(()=>{let e=v.toast.position||v.position;return v.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=U.value?e:e+t.height,0)}),W=e(()=>U.value*v.gap+ue.value||0),de=e(()=>v.toast.closeButton??v.closeButton),fe=e(()=>v.toast.duration||v.duration||I),G=t(0),K=t(0),q=t(null),J=e(()=>v.position.split(`-`)),pe=e(()=>J.value[0]),me=e(()=>J.value[1]),he=e(()=>typeof v.toast.title!=`string`),ge=e(()=>typeof v.toast.description!=`string`),{isDocumentHidden:Y}=z(),X=e(()=>V.value&&V.value===`loading`);S(()=>{D.value=!0,F.value=fe.value}),y(async()=>{if(!D.value||!R.value)return;await w();let e=R.value,t=e.style.height;e.style.height=`auto`;let n=e.getBoundingClientRect().height;e.style.height=t,P.value=n,x(`update:height`,{toastId:v.toast.id,height:n,position:v.toast.position||v.position})});function Z(){O.value=!0,N.value=W.value,setTimeout(()=>{x(`removeToast`,v.toast)},ne)}function Q(){if(X.value||!H.value)return{};Z(),v.toast.onDismiss?.(v.toast)}function _e(e){e.button!==2&&(X.value||!H.value||(L.value=new Date,N.value=W.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(k.value=!0,q.value={x:e.clientX,y:e.clientY})))}function ve(){if(A.value||!H.value)return;q.value=null;let e=Number(R.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(R.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),n=new Date().getTime()-(L.value?.getTime()||0),r=C.value===`x`?e:t,i=Math.abs(r)/n;if(Math.abs(r)>=te||i>.11){N.value=W.value,v.toast.onDismiss?.(v.toast),C.value===`x`?E.value=e>0?`right`:`left`:E.value=t>0?`down`:`up`,Z(),A.value=!0;return}else R.value?.style.setProperty(`--swipe-amount-x`,`0px`),R.value?.style.setProperty(`--swipe-amount-y`,`0px`);j.value=!1,k.value=!1,C.value=null}function $(e){if(!q.value||!H.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-q.value.y,n=e.clientX-q.value.x,r=v.swipeDirections??re(v.position);!C.value&&(Math.abs(n)>1||Math.abs(t)>1)&&(C.value=Math.abs(n)>Math.abs(t)?`x`:`y`);let i={x:0,y:0},a=e=>1/(1.5+Math.abs(e)/20);if(C.value===`y`){if(r.includes(`top`)||r.includes(`bottom`))if(r.includes(`top`)&&t<0||r.includes(`bottom`)&&t>0)i.y=t;else{let e=t*a(t);i.y=Math.abs(e)<Math.abs(t)?e:t}}else if(C.value===`x`&&(r.includes(`left`)||r.includes(`right`)))if(r.includes(`left`)&&n<0||r.includes(`right`)&&n>0)i.x=n;else{let e=n*a(n);i.x=Math.abs(e)<Math.abs(n)?e:n}(Math.abs(i.x)>0||Math.abs(i.y)>0)&&(j.value=!0),R.value?.style.setProperty(`--swipe-amount-x`,`${i.x}px`),R.value?.style.setProperty(`--swipe-amount-y`,`${i.y}px`)}S(()=>{if(D.value=!0,!R.value)return;let e=R.value.getBoundingClientRect().height;P.value=e,x(`update:heights`,[{toastId:v.toast.id,height:e,position:v.toast.position},...v.heights])}),ee(()=>{R.value&&x(`removeToast`,v.toast)}),y(e=>{if(v.toast.promise&&V.value===`loading`||v.toast.duration===1/0||v.toast.type===`loading`)return;let t;v.expanded||v.interacting||Y.value?(()=>{if(K.value<G.value){let e=new Date().getTime()-G.value;F.value-=e}K.value=new Date().getTime()})():F.value!==1/0&&(G.value=new Date().getTime(),t=setTimeout(()=>{v.toast.onAutoClose?.(v.toast),Z()},F.value)),e(()=>{clearTimeout(t)})}),b(()=>v.toast.delete,e=>{e!==void 0&&e&&(Z(),v.toast.onDismiss?.(v.toast))},{deep:!0});function ye(){k.value=!1,C.value=null,q.value=null}return(e,t)=>(h(),m(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:R,class:n(c(B)(v.class,ce.value,e.classes?.toast,e.toast.classes?.toast,e.classes?.[V.value],e.toast?.classes?.[V.value])),"data-sonner-toast":``,"data-rich-colors":e.toast.richColors??e.defaultRichColors,"data-styled":!(e.toast.component||e.toast?.unstyled||e.unstyled),"data-mounted":D.value,"data-promise":!!e.toast.promise,"data-swiped":j.value,"data-removed":O.value,"data-visible":se.value,"data-y-position":pe.value,"data-x-position":me.value,"data-index":e.index,"data-front":ie.value,"data-swiping":k.value,"data-dismissible":H.value,"data-type":V.value,"data-invert":e.toast.invert||e.invert,"data-swipe-out":A.value,"data-swipe-direction":E.value,"data-expanded":!!(e.expanded||e.expandByDefault&&D.value),"data-testid":e.toast.testId,style:s({"--index":e.index,"--toasts-before":e.index,"--z-index":e.toasts.length-e.index,"--offset":`${O.value?N.value:W.value}px`,"--initial-height":e.expandByDefault?`auto`:`${P.value}px`,...e.style,...v.toast.style}),onDragend:ye,onPointerdown:_e,onPointerup:ve,onPointermove:$},[de.value&&!e.toast.component&&V.value!==`loading`?(h(),m(`button`,{key:0,"aria-label":e.closeButtonAriaLabel||`Close toast`,"data-disabled":X.value,"data-close-button":`true`,"data-close-button-position":e.closeButtonPosition,class:n(c(B)(e.classes?.closeButton,e.toast?.classes?.closeButton)),onClick:Q},[e.icons?.close?(h(),i(T(e.icons?.close),{key:0})):g(e.$slots,`close-icon`,{key:1})],10,oe)):f(`v-if`,!0),e.toast.component?(h(),i(T(e.toast.component),_({key:1},e.toast.componentProps,{onCloseToast:Q,isPaused:e.$props.expanded||e.$props.interacting||c(Y)}),null,16,[`isPaused`])):(h(),m(u,{key:2},[V.value!==`default`||e.toast.icon||e.toast.promise?(h(),m(`div`,{key:0,"data-icon":``,class:n(c(B)(e.classes?.icon,e.toast?.classes?.icon))},[e.toast.icon?(h(),i(T(e.toast.icon),{key:0})):(h(),m(u,{key:1},[V.value===`loading`?g(e.$slots,`loading-icon`,{key:0}):V.value===`success`?g(e.$slots,`success-icon`,{key:1}):V.value===`error`?g(e.$slots,`error-icon`,{key:2}):V.value===`warning`?g(e.$slots,`warning-icon`,{key:3}):V.value===`info`?g(e.$slots,`info-icon`,{key:4}):f(`v-if`,!0)],64))],2)):f(`v-if`,!0),p(`div`,{"data-content":``,class:n(c(B)(e.classes?.content,e.toast?.classes?.content))},[p(`div`,{"data-title":``,class:n(c(B)(e.classes?.title,e.toast.classes?.title))},[he.value?(h(),i(T(e.toast.title),a(_({key:0},e.toast.componentProps)),null,16)):(h(),m(u,{key:1},[r(d(e.toast.title),1)],64))],2),e.toast.description?(h(),m(`div`,{key:0,"data-description":``,class:n(c(B)(e.descriptionClass,le.value,e.classes?.description,e.toast.classes?.description))},[ge.value?(h(),i(T(e.toast.description),a(_({key:0},e.toast.componentProps)),null,16)):(h(),m(u,{key:1},[r(d(e.toast.description),1)],64))],2)):f(`v-if`,!0)],2),e.toast.cancel?(h(),m(`button`,{key:1,style:s(e.toast.cancelButtonStyle||e.cancelButtonStyle),class:n(c(B)(e.classes?.cancelButton,e.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:t[0]||=t=>{c(M)(e.toast.cancel)&&H.value&&(e.toast.cancel.onClick?.(t),Z())}},d(c(M)(e.toast.cancel)?e.toast.cancel?.label:e.toast.cancel),7)):f(`v-if`,!0),e.toast.action?(h(),m(`button`,{key:2,style:s(e.toast.actionButtonStyle||e.actionButtonStyle),class:n(c(B)(e.classes?.actionButton,e.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:t[1]||=t=>{c(M)(e.toast.action)&&(e.toast.action.onClick?.(t),!t.defaultPrevented&&Z())}},d(c(M)(e.toast.action)?e.toast.action?.label:e.toast.action),7)):f(`v-if`,!0)],64))],46,ae))}}),V=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},H={},ce={xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stoke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function le(e,t){return h(),m(`svg`,ce,t[0]||=[p(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),p(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`},null,-1)])}var U=V(H,[[`render`,le]]),ue=[`data-visible`],W={class:`sonner-spinner`},de=x({__name:`Loader`,props:{visible:{type:Boolean}},setup(e){let t=Array(12).fill(0);return(e,n)=>(h(),m(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[p(`div`,W,[(h(!0),m(u,null,C(c(t),e=>(h(),m(`div`,{key:`spinner-bar-${e}`,class:`sonner-loading-bar`}))),128))])],8,ue))}}),fe={},G={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function K(e,t){return h(),m(`svg`,G,t[0]||=[p(`path`,{"fill-rule":`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,"clip-rule":`evenodd`},null,-1)])}var q=V(fe,[[`render`,K]]),J={},pe={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function me(e,t){return h(),m(`svg`,pe,t[0]||=[p(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,"clip-rule":`evenodd`},null,-1)])}var he=V(J,[[`render`,me]]),ge={},Y={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`};function X(e,t){return h(),m(`svg`,Y,t[0]||=[p(`path`,{"fill-rule":`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,"clip-rule":`evenodd`},null,-1)])}var Z=V(ge,[[`render`,X]]),Q={},_e={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function ve(e,t){return h(),m(`svg`,_e,t[0]||=[p(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,"clip-rule":`evenodd`},null,-1)])}var $=V(Q,[[`render`,ve]]),ye=[`aria-label`],be=[`data-sonner-theme`,`dir`,`data-theme`,`data-rich-colors`,`data-y-position`,`data-x-position`],xe=typeof window<`u`&&typeof document<`u`;function Se(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}var Ce=x({name:`Toaster`,inheritAttrs:!1,__name:`Toaster`,props:{id:{},invert:{type:Boolean,default:!1},theme:{default:`light`},position:{default:`bottom-right`},closeButtonPosition:{default:`top-left`},hotkey:{default:()=>[`altKey`,`KeyT`]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:R},visibleToasts:{default:N},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:``},style:{},offset:{default:P},mobileOffset:{default:F},dir:{default:`auto`},swipeDirections:{},icons:{},containerAriaLabel:{default:`Notifications`}},setup(r){let a=r,l=v(),d=t([]),b=e(()=>a.id?d.value.filter(e=>e.toasterId===a.id):d.value.filter(e=>!e.toasterId));function ee(e,t){return b.value.filter(n=>!n.position&&t===0||n.position===e)}let x=e(()=>{let e=b.value.filter(e=>e.position).map(e=>e.position);return e.length>0?Array.from(new Set([a.position].concat(e))):[a.position]}),S=e(()=>{let e={};return x.value.forEach(t=>{e[t]=d.value.filter(e=>e.position===t)}),e}),T=t([]),D=t({}),k=t(!1);y(()=>{x.value.forEach(e=>{e in D.value||(D.value[e]=!1)})});let A=t(a.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:a.theme),j=t(null),M=t(null),N=t(!1),P=a.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function F(e){d.value.find(t=>t.id===e.id)?.delete||O.dismiss(e.id),d.value=d.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{d.value.find(t=>t.id===e.id)||(T.value=T.value.filter(t=>t.toastId!==e.id))},ne+50)}function I(e){N.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(N.value=!1,M.value&&=(M.value.focus({preventScroll:!0}),null))}function R(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||N.value||(N.value=!0,M.value=e.relatedTarget)}function te(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(k.value=!0)}y(e=>{e(O.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{d.value=d.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}w(()=>{let t=d.value.findIndex(t=>t.id===e.id);t===-1?d.value=[e,...d.value]:d.value=[...d.value.slice(0,t),{...d.value[t],...e},...d.value.slice(t+1)]})}))}),y(e=>{if(typeof window>`u`)return;if(a.theme!==`system`){A.value=a.theme;return}let t=window.matchMedia(`(prefers-color-scheme: dark)`),n=e=>{A.value=e?`dark`:`light`};n(t.matches);let r=e=>{n(e.matches)};try{t.addEventListener(`change`,r)}catch{t.addListener(r)}e(()=>{try{t.removeEventListener(`change`,r)}catch{t.removeListener(r)}})}),y(()=>{j.value&&M.value&&(M.value.focus({preventScroll:!0}),M.value=null,N.value=!1)}),y(()=>{d.value.length<=1&&Object.keys(D.value).forEach(e=>{D.value[e]=!1})}),y(e=>{function t(e){let t=a.hotkey.every(t=>e[t]||e.code===t),n=Array.isArray(j.value)?j.value[0]:j.value;t&&(x.value.forEach(e=>{D.value[e]=!0}),n?.focus());let r=document.activeElement===j.value||n?.contains(document.activeElement);e.code===`Escape`&&r&&x.value.forEach(e=>{D.value[e]=!1})}xe&&(document.addEventListener(`keydown`,t),e(()=>{document.removeEventListener(`keydown`,t)}))});function z(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);D.value[n]=!0}function B(e){if(!k.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);D.value[n]=!1}}function re(){Object.keys(D.value).forEach(e=>{D.value[e]=!1})}function ae(){k.value=!1}function oe(e){T.value=e}function V(e){let t=T.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)T.value[t]=e;else{let t=T.value.findIndex(t=>t.position===e.position);t===-1?T.value.unshift(e):T.value.splice(t,0,e)}}return(e,t)=>(h(),m(u,null,[f(` Remove item from normal navigation flow, only available via hotkey `),p(`section`,{"aria-label":`${e.containerAriaLabel} ${c(P)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(h(!0),m(u,null,C(x.value,(t,r)=>(h(),m(`ol`,_({key:t,ref_for:!0,ref_key:`listRef`,ref:j,"data-sonner-toaster":``,"data-sonner-theme":A.value,class:a.class,dir:e.dir===`auto`?Se():e.dir,tabIndex:-1,"data-theme":e.theme,"data-rich-colors":e.richColors,"data-y-position":t.split(`-`)[0],"data-x-position":t.split(`-`)[1],style:{"--front-toast-height":`${T.value[0]?.height||0}px`,"--width":`${c(L)}px`,"--gap":`${e.gap}px`,...e.style,...c(l).style,...c(ie)(e.offset,e.mobileOffset)}},{ref_for:!0},e.$attrs,{onBlur:I,onFocus:R,onMouseenter:z,onMousemove:z,onMouseleave:B,onDragend:re,onPointerdown:te,onPointerup:ae}),[(h(!0),m(u,null,C(ee(t,r),(r,c)=>(h(),i(se,{key:r.id,heights:T.value,icons:e.icons,index:c,toast:r,defaultRichColors:e.richColors,duration:e.toastOptions?.duration??e.duration,class:n(e.toastOptions?.class??``),descriptionClass:e.toastOptions?.descriptionClass,invert:e.invert,visibleToasts:e.visibleToasts,closeButton:e.toastOptions?.closeButton??e.closeButton,interacting:k.value,position:t,closeButtonPosition:e.toastOptions?.closeButtonPosition??e.closeButtonPosition,style:s(e.toastOptions?.style),unstyled:e.toastOptions?.unstyled,classes:e.toastOptions?.classes,cancelButtonStyle:e.toastOptions?.cancelButtonStyle,actionButtonStyle:e.toastOptions?.actionButtonStyle,"close-button-aria-label":e.toastOptions?.closeButtonAriaLabel,toasts:S.value[t],expandByDefault:e.expand,gap:e.gap,expanded:D.value[t]||!1,swipeDirections:a.swipeDirections,"onUpdate:heights":oe,"onUpdate:height":V,onRemoveToast:F},{"close-icon":E(()=>[g(e.$slots,`close-icon`,{},()=>[o(U)])]),"loading-icon":E(()=>[g(e.$slots,`loading-icon`,{},()=>[o(de,{visible:r.type===`loading`},null,8,[`visible`])])]),"success-icon":E(()=>[g(e.$slots,`success-icon`,{},()=>[o(q)])]),"error-icon":E(()=>[g(e.$slots,`error-icon`,{},()=>[o($)])]),"warning-icon":E(()=>[g(e.$slots,`warning-icon`,{},()=>[o(Z)])]),"info-icon":E(()=>[g(e.$slots,`info-icon`,{},()=>[o(he)])]),_:2},1032,[`heights`,`icons`,`index`,`toast`,`defaultRichColors`,`duration`,`class`,`descriptionClass`,`invert`,`visibleToasts`,`closeButton`,`interacting`,`position`,`closeButtonPosition`,`style`,`unstyled`,`classes`,`cancelButtonStyle`,`actionButtonStyle`,`close-button-aria-label`,`toasts`,`expandByDefault`,`gap`,`expanded`,`swipeDirections`]))),128))],16,be))),128))],8,ye)],2112))}});export{j as n,Ce as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-D1tkPDOQ.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);function n(e){return typeof e==`string`?`'${e}'`:new r().serialize(e)}var r=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function i(e,t){return e===t||n(e)===n(t)}export{t as n,i as t};
@@ -1 +0,0 @@
1
- import{Et as e,k as t}from"./button-BQ3s7yNh.js";import{n}from"./lib-CxwxnlwW.js";var r=3;function i(){let i=e(r),a=e(!1);async function o(){a.value=!0;try{i.value=(await t.setLogRetention(i.value)).days,n.success(`日志保留天数已更新`)}catch(e){n.error(e.apiMessage||`更新保留天数失败`)}finally{a.value=!1}}async function s(){try{let{days:e}=await t.getLogRetention();i.value=e}catch(e){n.error(e.apiMessage||`加载保留天数失败,使用默认值`)}}return{retentionDays:i,retentionSaving:a,saveRetention:o,loadRetention:s}}export{i as t};
@@ -1 +0,0 @@
1
- import{B as e,Et as t}from"./button-BQ3s7yNh.js";import{t as n}from"./createLucideIcon-D1tkPDOQ.js";import{h as r}from"./Teleport-DdjYHlNK.js";var i=n(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]);function a(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function o(n){let i=r({nonce:t()});return e(()=>n?.value||i.nonce?.value)}export{a as n,i as r,o as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-D1tkPDOQ.js";var t=e(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};