llm-simple-router 0.6.2 → 0.6.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 (102) hide show
  1. package/dist/config.d.ts +2 -0
  2. package/dist/config.js +5 -0
  3. package/dist/constants.d.ts +1 -0
  4. package/dist/constants.js +1 -0
  5. package/dist/index.js +14 -0
  6. package/dist/metrics/sse-metrics-transform.d.ts +11 -0
  7. package/dist/metrics/sse-metrics-transform.js +47 -1
  8. package/dist/proxy/anthropic.d.ts +1 -0
  9. package/dist/proxy/anthropic.js +2 -2
  10. package/dist/proxy/loop-prevention/detectors/detector.d.ts +10 -0
  11. package/dist/proxy/loop-prevention/detectors/detector.js +1 -0
  12. package/dist/proxy/loop-prevention/detectors/ngram-detector.d.ts +15 -0
  13. package/dist/proxy/loop-prevention/detectors/ngram-detector.js +65 -0
  14. package/dist/proxy/loop-prevention/session-tracker.d.ts +14 -0
  15. package/dist/proxy/loop-prevention/session-tracker.js +67 -0
  16. package/dist/proxy/loop-prevention/stream-loop-guard.d.ts +12 -0
  17. package/dist/proxy/loop-prevention/stream-loop-guard.js +28 -0
  18. package/dist/proxy/loop-prevention/tool-loop-guard.d.ts +13 -0
  19. package/dist/proxy/loop-prevention/tool-loop-guard.js +63 -0
  20. package/dist/proxy/loop-prevention/types.d.ts +38 -0
  21. package/dist/proxy/loop-prevention/types.js +18 -0
  22. package/dist/proxy/openai.d.ts +1 -0
  23. package/dist/proxy/openai.js +2 -2
  24. package/dist/proxy/patch/deepseek/index.d.ts +1 -1
  25. package/dist/proxy/patch/deepseek/index.js +3 -3
  26. package/dist/proxy/patch/deepseek/patch-orphan-tool-results.d.ts +3 -4
  27. package/dist/proxy/patch/deepseek/patch-orphan-tool-results.js +23 -30
  28. package/dist/proxy/patch/deepseek/patch-thinking-blocks.d.ts +8 -4
  29. package/dist/proxy/patch/deepseek/patch-thinking-blocks.js +57 -12
  30. package/dist/proxy/patch/index.d.ts +12 -3
  31. package/dist/proxy/patch/index.js +13 -4
  32. package/dist/proxy/patch/router-cleanup.d.ts +13 -0
  33. package/dist/proxy/patch/router-cleanup.js +87 -0
  34. package/dist/proxy/proxy-handler.d.ts +1 -0
  35. package/dist/proxy/proxy-handler.js +88 -2
  36. package/dist/proxy/stream-proxy.d.ts +2 -1
  37. package/dist/proxy/stream-proxy.js +11 -3
  38. package/dist/proxy/transport-fn.d.ts +2 -0
  39. package/dist/proxy/transport-fn.js +19 -1
  40. package/frontend-dist/assets/{CardContent-BtAcFNMy.js → CardContent-CpiBn1Oc.js} +1 -1
  41. package/frontend-dist/assets/{CardTitle-Bmwf1S5Y.js → CardTitle-dwtgd_nl.js} +1 -1
  42. package/frontend-dist/assets/{CascadingModelSelect-CicfrqcY.js → CascadingModelSelect-CxEXwaeM.js} +1 -1
  43. package/frontend-dist/assets/{Checkbox-B1o39YuC.js → Checkbox-D2U4I-pO.js} +1 -1
  44. package/frontend-dist/assets/{CollapsibleTrigger-2jySTCeh.js → CollapsibleTrigger-B2AdbZBh.js} +1 -1
  45. package/frontend-dist/assets/{Collection-ChUVejsh.js → Collection-BJZSFJsF.js} +1 -1
  46. package/frontend-dist/assets/{Dashboard-DkJauxYu.js → Dashboard-D3cDhJNh.js} +1 -1
  47. package/frontend-dist/assets/{DialogTitle-D0erB-Fr.js → DialogTitle-BTuQdRm1.js} +1 -1
  48. package/frontend-dist/assets/{Input-BDbKynVD.js → Input-BYULYPCe.js} +1 -1
  49. package/frontend-dist/assets/{Label-CrHq5hrg.js → Label-sImW5XUw.js} +1 -1
  50. package/frontend-dist/assets/{Login-D2YdqYnu.js → Login-B0kGGZFi.js} +1 -1
  51. package/frontend-dist/assets/{Logs-DgeOPIkd.js → Logs-BpAeeJRi.js} +1 -1
  52. package/frontend-dist/assets/{ModelMappings-De_UjiND.js → ModelMappings-CsHLYqQB.js} +1 -1
  53. package/frontend-dist/assets/{Monitor-BgRMReMF.js → Monitor-BmMFWFJg.js} +1 -1
  54. package/frontend-dist/assets/{PopoverTrigger-BVsxIE2L.js → PopoverTrigger-CIN3yOIw.js} +1 -1
  55. package/frontend-dist/assets/{PopperContent-B23SzU9H.js → PopperContent-BoOYHCag.js} +1 -1
  56. package/frontend-dist/assets/{Providers-DQypvsEg.js → Providers-DrepCc4A.js} +1 -1
  57. package/frontend-dist/assets/{ProxyEnhancement-Cijb2FID.js → ProxyEnhancement-dK_mOQ3m.js} +1 -1
  58. package/frontend-dist/assets/{RetryRules-CSseSPoO.js → RetryRules-Ce5HfNcc.js} +1 -1
  59. package/frontend-dist/assets/{RouterKeys-ccwqoMCX.js → RouterKeys-CeSGvjll.js} +1 -1
  60. package/frontend-dist/assets/{RovingFocusItem-rwA4uA9N.js → RovingFocusItem-gAYs0l8Z.js} +1 -1
  61. package/frontend-dist/assets/{Schedules-8YYNjLNo.js → Schedules-DphkPAWD.js} +1 -1
  62. package/frontend-dist/assets/{SelectValue-TvIOOalu.js → SelectValue-Cbbd2Xbm.js} +1 -1
  63. package/frontend-dist/assets/{Settings-D1WDm5lQ.js → Settings-DIP7VawX.js} +1 -1
  64. package/frontend-dist/assets/{Setup-Bw-RIF9G.js → Setup-_d_M-Qi6.js} +1 -1
  65. package/frontend-dist/assets/{Switch-D9wFEsMF.js → Switch-BmmYsqAx.js} +1 -1
  66. package/frontend-dist/assets/{TableHeader-HOR173Xk.js → TableHeader-C1mpCsyo.js} +1 -1
  67. package/frontend-dist/assets/{TabsTrigger-BOsmgFYE.js → TabsTrigger-kN1usMvC.js} +1 -1
  68. package/frontend-dist/assets/{Teleport-BGbwtNTD.js → Teleport-CRn-gy0B.js} +1 -1
  69. package/frontend-dist/assets/{TooltipTrigger-DPzNY2Sp.js → TooltipTrigger-rlKo7E3A.js} +1 -1
  70. package/frontend-dist/assets/UnifiedRequestDialog-C-Ui-fav.css +1 -0
  71. package/frontend-dist/assets/UnifiedRequestDialog-C7pEDa9D.js +4 -0
  72. package/frontend-dist/assets/{VisuallyHidden-ChauvWtH.js → VisuallyHidden-CQvCw9gB.js} +1 -1
  73. package/frontend-dist/assets/{VisuallyHiddenInput-BcDuL0V8.js → VisuallyHiddenInput-B-DnnaWN.js} +1 -1
  74. package/frontend-dist/assets/{alert-dialog-DgtxmV7t.js → alert-dialog-M3PhwD75.js} +1 -1
  75. package/frontend-dist/assets/arrow-down-BHq-drH-.js +1 -0
  76. package/frontend-dist/assets/{badge-NUBqZBxu.js → badge-7WIbGMsE.js} +1 -1
  77. package/frontend-dist/assets/{button-BLX8zWc1.js → button-q9xTxPJh.js} +2 -2
  78. package/frontend-dist/assets/check-CccuM1Sj.js +1 -0
  79. package/frontend-dist/assets/{copy-BMWzukd1.js → copy-C1a8OrYP.js} +1 -1
  80. package/frontend-dist/assets/{dialog-Dsvgfiw-.js → dialog-B6RnMgGx.js} +1 -1
  81. package/frontend-dist/assets/{file-text-CqJ33eWr.js → file-text-CsuQUjXR.js} +1 -1
  82. package/frontend-dist/assets/index-Ce7hFHTt.css +1 -0
  83. package/frontend-dist/assets/{index-D0rWQKkW.js → index-Dh7qL0Qt.js} +1 -1
  84. package/frontend-dist/assets/{lib-DQotd1d8.js → lib-D1G8Xa05.js} +1 -1
  85. package/frontend-dist/assets/loader-circle-CVhxR0Tt.js +1 -0
  86. package/frontend-dist/assets/{useClipboard-BDAhyrgL.js → useClipboard-CBONMfzU.js} +1 -1
  87. package/frontend-dist/assets/{useFocusGuards-CHAbXhQp.js → useFocusGuards-DwFX8o1a.js} +1 -1
  88. package/frontend-dist/assets/useFormControl-DC32gW1A.js +1 -0
  89. package/frontend-dist/assets/{useLogRetention-X-CkHhJ7.js → useLogRetention-C2IbjXjr.js} +1 -1
  90. package/frontend-dist/assets/useNonce-t7XaR4bX.js +1 -0
  91. package/frontend-dist/assets/x-Bq5KcbWI.js +1 -0
  92. package/frontend-dist/index.html +20 -20
  93. package/package.json +1 -1
  94. package/frontend-dist/assets/UnifiedRequestDialog-BjEigSaR.css +0 -1
  95. package/frontend-dist/assets/UnifiedRequestDialog-CevmD2P2.js +0 -3
  96. package/frontend-dist/assets/arrow-down-BuK6B6yc.js +0 -1
  97. package/frontend-dist/assets/check-CsZv9cnK.js +0 -1
  98. package/frontend-dist/assets/index-_Icfkt3I.css +0 -1
  99. package/frontend-dist/assets/loader-circle-CnEL8ILi.js +0 -1
  100. package/frontend-dist/assets/useFormControl-CCVkIi3o.js +0 -1
  101. package/frontend-dist/assets/useNonce-DyF1ycZV.js +0 -1
  102. package/frontend-dist/assets/x-DMAovOe-.js +0 -1
@@ -0,0 +1,4 @@
1
+ import{D as e,Dt as t,Et as n,G as r,H as i,It as a,J as o,K as s,Lt as c,Mt as l,Pt as u,Rt as d,T as f,U as p,V as m,W as h,X as g,_t as _,at as v,ct as y,dt as b,gt as x,i as S,it as C,lt as w,n as T,nt as E,o as D,ot as O,p as k,q as A,r as j,tt as M,x as N,yt as P,z as F,zt as I}from"./button-q9xTxPJh.js";import{b as L,o as R,s as ee,y as z}from"./Teleport-CRn-gy0B.js";import{t as te}from"./arrow-down-BHq-drH-.js";import{t as ne}from"./check-CccuM1Sj.js";import{a as re}from"./PopperContent-BoOYHCag.js";import{t as ie}from"./copy-C1a8OrYP.js";import{t as B}from"./file-text-CsuQUjXR.js";import{n as ae,t as oe}from"./useNonce-t7XaR4bX.js";import{r as se}from"./Collection-BJZSFJsF.js";import{n as ce,r as le,t as ue}from"./CollapsibleTrigger-B2AdbZBh.js";import{a as de,i as fe,n as pe,o as me,t as he}from"./dialog-B6RnMgGx.js";import{n as ge,r as _e,t as ve}from"./TabsTrigger-kN1usMvC.js";import{t as V}from"./badge-7WIbGMsE.js";import{t as ye}from"./useClipboard-CBONMfzU.js";var be=L(`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`}]]),xe=L(`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=L(`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`}]]),Se=L(`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`}]]),Ce=L(`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`}]]),[U,we]=z(`ScrollAreaRoot`),Te=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:n}){let r=e,i=t(0),a=t(0),o=t(),s=t(),c=t(),f=t(),m=t(!1),h=t(!1),{type:g,dir:_,scrollHideDelay:v}=l(r),y=se(_);function b(){o.value?.scrollTo({top:0})}function x(){o.value?.scrollTo({top:0,left:0})}n({viewport:o,scrollTop:b,scrollTopLeft:x});let{forwardRef:C,currentElement:T}=D();return we({type:g,dir:y,scrollHideDelay:v,scrollArea:T,viewport:o,onViewportChange:e=>{o.value=e||void 0},content:s,onContentChange:e=>{s.value=e},scrollbarX:c,scrollbarXEnabled:m,scrollbarY:f,scrollbarYEnabled:h,onScrollbarXChange:e=>{c.value=e||void 0},onScrollbarYChange:e=>{f.value=e||void 0},onScrollbarXEnabledChange:e=>{m.value=e},onScrollbarYEnabledChange:e=>{h.value=e},onCornerWidthChange:e=>{i.value=e},onCornerHeightChange:e=>{a.value=e}}),(e,t)=>(O(),p(u(S),{ref:u(C),"as-child":r.asChild,as:e.as,dir:u(y),style:d({position:`relative`,"--reka-scroll-area-corner-width":`${i.value}px`,"--reka-scroll-area-corner-height":`${a.value}px`})},{default:P(()=>[w(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`dir`,`style`]))}}),Ee=o({__name:`ScrollAreaCornerImpl`,setup(e){let n=U(),r=t(0),i=t(0),a=m(()=>!!r.value&&!!i.value);function o(){let e=n.scrollbarX.value?.offsetHeight||0;n.onCornerHeightChange(e),i.value=e}function s(){let e=n.scrollbarY.value?.offsetWidth||0;n.onCornerWidthChange(e),r.value=e}return k(n.scrollbarX.value,o),k(n.scrollbarY.value,s),x(()=>n.scrollbarX.value,o),x(()=>n.scrollbarY.value,s),(e,t)=>a.value?(O(),p(u(S),M({key:0,style:{width:`${r.value}px`,height:`${i.value}px`,position:`absolute`,right:u(n).dir.value===`ltr`?0:void 0,left:u(n).dir.value===`rtl`?0:void 0,bottom:0}},e.$parent?.$props),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`style`])):h(`v-if`,!0)}}),De=o({__name:`ScrollAreaCorner`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=D(),r=U(),i=m(()=>!!r.scrollbarX.value&&!!r.scrollbarY.value),a=m(()=>r.type.value!==`scroll`&&i.value);return(e,r)=>a.value?(O(),p(Ee,M({key:0},t,{ref:u(n)}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16)):h(`v-if`,!0)}});function Oe(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 W(e){let t=ke(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function ke(e,t){let n=e/t;return Number.isNaN(n)?0:n}function Ae(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 je(e,t,n=`ltr`){let r=W(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=ae(e,c[0],c[1]);return Oe([0,o],[0,s])(l)}function G(e){return e?Number.parseInt(e,10):0}function Me(e,t,n,r=`ltr`){let i=W(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 Oe([c,l],d)(e)}function Ne(e,t){return e>0&&e<t}var Pe=o({__name:`ScrollAreaScrollbarX`,setup(e){let t=U(),n=J(),{forwardRef:r,currentElement:i}=D();C(()=>{i.value&&t.onScrollbarXChange(i.value)});let a=m(()=>n.sizes.value);return(e,i)=>(O(),p(He,{ref:u(r),"is-horizontal":!0,"data-orientation":`horizontal`,style:d({bottom:0,left:u(t).dir.value===`rtl`?`var(--reka-scroll-area-corner-width)`:0,right:u(t).dir.value===`ltr`?`var(--reka-scroll-area-corner-width)`:0,"--reka-scroll-area-thumb-width":a.value?`${u(W)(a.value)}px`:void 0}),onOnDragScroll:i[0]||=e=>u(n).onDragScroll(e.x)},{default:P(()=>[w(e.$slots,`default`)]),_:3},8,[`style`]))}}),Fe=o({__name:`ScrollAreaScrollbarY`,setup(e){let t=U(),n=J(),{forwardRef:r,currentElement:i}=D();C(()=>{i.value&&t.onScrollbarYChange(i.value)});let a=m(()=>n.sizes.value);return(e,i)=>(O(),p(He,{ref:u(r),"is-horizontal":!1,"data-orientation":`vertical`,style:d({top:0,right:u(t).dir.value===`ltr`?0:void 0,left:u(t).dir.value===`rtl`?0:void 0,bottom:`var(--reka-scroll-area-corner-height)`,"--reka-scroll-area-thumb-height":a.value?`${u(W)(a.value)}px`:void 0}),onOnDragScroll:i[0]||=e=>u(n).onDragScroll(e.y)},{default:P(()=>[w(e.$slots,`default`)]),_:3},8,[`style`]))}}),K=o({__name:`ScrollAreaScrollbarAuto`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let n=U(),r=q(),{forwardRef:i}=D(),a=t(!1),o=f(()=>{if(n.viewport.value){let e=n.viewport.value.offsetWidth<n.viewport.value.scrollWidth,t=n.viewport.value.offsetHeight<n.viewport.value.scrollHeight;a.value=r.isHorizontal.value?e:t}},10);return C(()=>o()),k(n.viewport,o),k(n.content,o),(e,t)=>(O(),p(u(R),{present:e.forceMount||a.value},{default:P(()=>[A(Y,M(e.$attrs,{ref:u(i),"data-state":a.value?`visible`:`hidden`}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Ie=o({inheritAttrs:!1,__name:`ScrollAreaScrollbarGlimpse`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=U(),n=q(),{forwardRef:r}=D(),{state:i,dispatch:a}=ee(`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`}}),o=m(()=>i.value!==`hidden`);function s(){a(`POINTER_ENTER`)}function c(){a(`POINTER_LEAVE`)}let l=f(()=>a(`SCROLL_END`),100);return _(e=>{if(i.value===`glimpse`){let n=window.setTimeout(a,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}}),_(e=>{if(i.value===`idle`){let n=window.setTimeout(a,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}}),_(e=>{let r=t.viewport.value,i=n.isHorizontal.value?`scrollLeft`:`scrollTop`;if(r){let t=r[i],n=()=>{let e=r[i];t!==e&&(a(`SCROLL`),l()),t=e};r.addEventListener(`scroll`,n),e(()=>{r.removeEventListener(`scroll`,n)})}}),C(()=>{let e=t.scrollArea.value;e&&(e.addEventListener(`pointerenter`,s),e.addEventListener(`pointerleave`,c))}),v(()=>{let e=t.scrollArea.value;e&&(e.removeEventListener(`pointerenter`,s),e.removeEventListener(`pointerleave`,c))}),(e,t)=>(O(),p(u(R),{present:e.forceMount||o.value},{default:P(()=>[A(K,M(e.$attrs,{ref:u(r),"data-state":o.value?`visible`:`hidden`}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Le=o({inheritAttrs:!1,__name:`ScrollAreaScrollbarHover`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let n=U(),{forwardRef:r}=D(),i,a=t(!1);function o(){window.clearTimeout(i),a.value=!0}function s(){i=window.setTimeout(()=>{a.value=!1},n.scrollHideDelay.value)}return C(()=>{let e=n.scrollArea.value;e&&(e.addEventListener(`pointerenter`,o),e.addEventListener(`pointerleave`,s))}),v(()=>{let e=n.scrollArea.value;e&&(window.clearTimeout(i),e.removeEventListener(`pointerenter`,o),e.removeEventListener(`pointerleave`,s))}),(e,t)=>(O(),p(u(R),{present:e.forceMount||a.value},{default:P(()=>[A(K,M(e.$attrs,{ref:u(r),"data-state":a.value?`visible`:`hidden`}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Re=o({__name:`ScrollAreaScrollbarScroll`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=U(),n=q(),{forwardRef:r}=D(),{state:i,dispatch:a}=ee(`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`}}),o=m(()=>i.value!==`hidden`);_(e=>{if(i.value===`idle`){let n=window.setTimeout(a,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}});let s=f(()=>a(`SCROLL_END`),100);return _(e=>{let r=t.viewport.value,i=n.isHorizontal.value?`scrollLeft`:`scrollTop`;if(r){let t=r[i],n=()=>{let e=r[i];t!==e&&(a(`SCROLL`),s()),t=e};r.addEventListener(`scroll`,n),e(()=>{r.removeEventListener(`scroll`,n)})}}),(e,t)=>(O(),p(u(R),{present:e.forceMount||o.value},{default:P(()=>[A(Y,M(e.$attrs,{ref:u(r),"data-state":o.value?`visible`:`hidden`}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),[q,ze]=z(`ScrollAreaScrollbar`),Be=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(e){let t=e,{forwardRef:n}=D(),r=U(),i=m(()=>t.orientation===`horizontal`);x(i,()=>{i.value?r.onScrollbarXEnabledChange(!0):r.onScrollbarYEnabledChange(!0)},{immediate:!0}),v(()=>{r.onScrollbarXEnabledChange(!1),r.onScrollbarYEnabledChange(!1)});let{orientation:a,forceMount:o,asChild:s,as:c}=l(t);return ze({orientation:a,forceMount:o,isHorizontal:i,as:c,asChild:s}),(e,t)=>u(r).type.value===`hover`?(O(),p(Le,M({key:0},e.$attrs,{ref:u(n),"force-mount":u(o)}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`force-mount`])):u(r).type.value===`scroll`?(O(),p(Re,M({key:1},e.$attrs,{ref:u(n),"force-mount":u(o)}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`force-mount`])):u(r).type.value===`glimpse`?(O(),p(Ie,M({key:2},e.$attrs,{ref:u(n),"force-mount":u(o)}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`force-mount`])):u(r).type.value===`auto`?(O(),p(K,M({key:3},e.$attrs,{ref:u(n),"force-mount":u(o)}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`force-mount`])):u(r).type.value===`always`?(O(),p(Y,M({key:4},e.$attrs,{ref:u(n),"data-state":`visible`}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16)):h(`v-if`,!0)}}),[J,Ve]=z(`ScrollAreaScrollbarVisible`),Y=o({__name:`ScrollAreaScrollbarVisible`,setup(e){let n=U(),r=q(),{forwardRef:i}=D(),a=t({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),o=m(()=>{let e=ke(a.value.viewport,a.value.content);return e>0&&e<1}),s=t(),c=t(0);function l(e,t){if(_.value){let r=n.viewport.value.scrollLeft+e.deltaY;n.viewport.value.scrollLeft=r,Ne(r,t)&&e.preventDefault()}else{let r=n.viewport.value.scrollTop+e.deltaY;n.viewport.value.scrollTop=r,Ne(r,t)&&e.preventDefault()}}function d(e,t){_.value?c.value=t.x:c.value=t.y}function f(e){c.value=0}function h(e){a.value=e}function g(e,t){return Me(e,c.value,a.value,t)}let _=m(()=>r.isHorizontal.value);function v(e){_.value?n.viewport.value.scrollLeft=g(e,n.dir.value):n.viewport.value.scrollTop=g(e)}function y(){if(_.value){if(n.viewport.value&&s.value){let e=n.viewport.value.scrollLeft,t=je(e,a.value,n.dir.value);s.value.style.transform=`translate3d(${t}px, 0, 0)`}}else if(n.viewport.value&&s.value){let e=n.viewport.value.scrollTop,t=je(e,a.value);s.value.style.transform=`translate3d(0, ${t}px, 0)`}}function b(e){s.value=e}return Ve({sizes:a,hasThumb:o,handleWheelScroll:l,handleThumbDown:d,handleThumbUp:f,handleSizeChange:h,onThumbPositionChange:y,onThumbChange:b,onDragScroll:v}),(e,t)=>_.value?(O(),p(Pe,M({key:0},e.$attrs,{ref:u(i)}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16)):(O(),p(Fe,M({key:1},e.$attrs,{ref:u(i)}),{default:P(()=>[w(e.$slots,`default`)]),_:3},16))}}),He=o({__name:`ScrollAreaScrollbarImpl`,props:{isHorizontal:{type:Boolean,required:!0}},emits:[`onDragScroll`,`onWheelScroll`,`onThumbPointerDown`],setup(e,{emit:n}){let r=e,i=n,a=U(),o=J(),s=q(),{forwardRef:c,currentElement:l}=D(),d=t(``),f=t();function m(e){f.value&&i(`onDragScroll`,{x:e.clientX-f.value?.left,y:e.clientY-f.value?.top})}function h(e){e.button===0&&(e.target.setPointerCapture(e.pointerId),f.value=l.value.getBoundingClientRect(),d.value=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,a.viewport&&(a.viewport.value.style.scrollBehavior=`auto`),m(e))}function g(e){m(e)}function _(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=d.value,a.viewport&&(a.viewport.value.style.scrollBehavior=``),f.value=void 0}function y(e){let t=e.target,n=l.value?.contains(t),r=o.sizes.value.content-o.sizes.value.viewport;n&&o.handleWheelScroll(e,r)}C(()=>{document.addEventListener(`wheel`,y,{passive:!1})}),v(()=>{document.removeEventListener(`wheel`,y)});function b(){l.value&&(r.isHorizontal?o.handleSizeChange({content:a.viewport.value?.scrollWidth??0,viewport:a.viewport.value?.offsetWidth??0,scrollbar:{size:l.value.clientWidth??0,paddingStart:G(getComputedStyle(l.value).paddingLeft),paddingEnd:G(getComputedStyle(l.value).paddingRight)}}):o.handleSizeChange({content:a.viewport.value?.scrollHeight??0,viewport:a.viewport.value?.offsetHeight??0,scrollbar:{size:l.value?.clientHeight??0,paddingStart:G(getComputedStyle(l.value).paddingTop),paddingEnd:G(getComputedStyle(l.value).paddingBottom)}}),o.onThumbPositionChange())}return k(l,b),k(a.content,b),(e,t)=>(O(),p(u(S),{ref:u(c),style:{position:`absolute`},"data-scrollbarimpl":``,as:u(s).as.value,"as-child":u(s).asChild.value,onPointerdown:h,onPointermove:g,onPointerup:_},{default:P(()=>[w(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),Ue=o({__name:`ScrollAreaThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){let r=n,i=U(),a=J();function o(e){let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;a.handleThumbDown(e,{x:n,y:r})}function s(e){a.handleThumbUp(e)}let{forwardRef:c,currentElement:l}=D(),d=t(),f=m(()=>i.viewport.value);function h(){d.value||(d.value=Ae(f.value,a.onThumbPositionChange),a.onThumbPositionChange())}return e(m(()=>a.sizes.value),()=>{a.onThumbChange(l.value),f.value&&(a.onThumbPositionChange(),f.value.addEventListener(`scroll`,h))}),v(()=>{f.value.removeEventListener(`scroll`,h),i.viewport.value?.removeEventListener(`scroll`,h)}),(e,t)=>(O(),p(u(S),{ref:u(c),"data-state":u(a).hasThumb?`visible`:`hidden`,style:{width:`var(--reka-scroll-area-thumb-width)`,height:`var(--reka-scroll-area-thumb-height)`},"as-child":r.asChild,as:e.as,onPointerdown:o,onPointerup:s},{default:P(()=>[w(e.$slots,`default`)]),_:3},8,[`data-state`,`as-child`,`as`]))}}),We=o({inheritAttrs:!1,__name:`ScrollAreaViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:n}){let a=e,{nonce:o}=l(a),c=oe(o),f=U(),p=t();C(()=>{f.onViewportChange(p.value),f.onContentChange(h.value)}),n({viewportElement:p});let{forwardRef:m,currentElement:h}=D();return(e,t)=>(O(),r(F,null,[i(`div`,M({ref_key:`viewportElement`,ref:p,"data-reka-scroll-area-viewport":``,style:{overflowX:u(f).scrollbarXEnabled.value?`scroll`:`hidden`,overflowY:u(f).scrollbarYEnabled.value?`scroll`:`hidden`}},e.$attrs,{tabindex:0}),[A(u(S),{ref:u(m),style:d({minWidth:u(f).scrollbarXEnabled.value?`fit-content`:void 0}),"as-child":a.asChild,as:e.as},{default:P(()=>[w(e.$slots,`default`)]),_:3},8,[`style`,`as-child`,`as`])],16),A(u(S),{as:`style`,nonce:u(c)},{default:P(()=>t[0]||=[s(` /* 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))}}),Ge=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(e){let t=e,n=[`horizontal`,`vertical`];function r(e){return n.includes(e)}let i=m(()=>r(t.orientation)?t.orientation:`horizontal`),a=m(()=>i.value===`vertical`?t.orientation:void 0),o=m(()=>t.decorative?{role:`none`}:{"aria-orientation":a.value,role:`separator`});return(e,t)=>(O(),p(u(S),M({as:e.as,"as-child":e.asChild,"data-orientation":i.value},o.value),{default:P(()=>[w(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`data-orientation`]))}}),Ke=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)=>(O(),p(Ge,c(g(t)),{default:P(()=>[w(e.$slots,`default`)]),_:3},16))}}),X=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=N(t,`class`);return(e,r)=>(O(),p(u(Ke),M({"data-slot":`separator`},u(n),{class:u(j)(`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`]))}}),Z=1e3;function qe(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)/Z;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,inputTokensEstimated:!1,pipelineSnapshot:null}}function Je(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}}var Ye=[`stream_error: upstream returned 200 but body contains error`];function Xe(e){return e?Ye.some(t=>e.startsWith(t)):!1}function Ze(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)/Z;t>0&&(i=n/t)}let a=Je(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:Xe(e.error_message)?null:e.error_message,createdAt:e.created_at,inputTokensEstimated:e.input_tokens_estimated===1,pipelineSnapshot:e.pipeline_snapshot??null}}var Qe=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=N(t,`class`);return(r,i)=>(O(),p(u(Be),M({"data-slot":`scroll-area-scrollbar`,"data-orientation":e.orientation},u(n),{class:u(j)(`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:P(()=>[A(u(Ue),{"data-slot":`scroll-area-thumb`,class:`rounded-full relative flex-1 bg-border`})]),_:1},16,[`data-orientation`,`class`]))}}),Q=o({__name:`ScrollArea`,props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=N(t,`class`);return(e,r)=>(O(),p(u(Te),M({"data-slot":`scroll-area`},u(n),{class:u(j)(`relative`,t.class)}),{default:P(()=>[A(u(We),{"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:P(()=>[w(e.$slots,`default`)]),_:3}),A(Qe),A(u(De))]),_:3},16,[`class`]))}});function $e(e,t){if(!e)return t||``;try{let n=JSON.parse(e);return typeof n.statusCode==`number`&&(n.headers||n.body!==void 0)?n.body===null&&t?JSON.stringify({...n,body:t},null,2):JSON.stringify(n,null,2):e}catch{return e}}var et=new Set([`choices`,`content`]);function tt(e,t){if(!e&&!t)return``;let n=nt(e),r=n?.headers,i=n?.body??t;if(r){let e={headers:r};return i&&(e.body=rt(i)),JSON.stringify(e,null,2)}if(i){let e=rt(i);return JSON.stringify(e,null,2)}return``}function nt(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.statusCode==`number`&&(t.headers||t.body!==void 0)?{headers:t.headers??{},body:typeof t.body==`string`?t.body:t.body==null?null:JSON.stringify(t.body)}:null}catch{return null}}function rt(e){try{let t=JSON.parse(e);if(typeof t==`object`&&t){let e={};for(let[n,r]of Object.entries(t))et.has(n)||(e[n]=r);return e}return e}catch{return e}}var it={class:`space-y-3`},at={class:`flex items-center justify-between`},ot={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},st={class:`flex items-baseline gap-1 min-w-0`},ct={class:`font-mono text-[11px] font-semibold truncate min-w-0`},lt={class:`text-[10px] text-muted-foreground flex-shrink-0`},ut={class:`flex items-center gap-1.5`},dt={key:0,class:`flex items-center gap-1.5`},ft={class:`font-mono text-[11px] text-muted-foreground truncate`},pt={class:`grid grid-cols-2 gap-1.5`},mt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},ht={class:`text-sm font-semibold truncate`},gt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},_t={class:`text-sm font-semibold truncate`},vt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},yt={class:`text-[10px] text-muted-foreground`},bt={class:`text-sm font-semibold truncate`},xt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},St={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},Ct={class:`text-sm font-semibold truncate`},wt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},Tt={class:`text-sm font-semibold truncate`},Et={class:`space-y-1.5`},Dt={key:0,class:`text-[11px] text-muted-foreground`},Ot={class:`text-muted-foreground`},kt={class:`text-muted-foreground`},At={class:`space-y-1`},jt={key:0,class:`flex items-center justify-between text-[11px]`},Mt={class:`font-mono`},Nt={key:1,class:`flex items-center justify-between text-[11px]`},Pt={class:`font-mono truncate max-w-[160px]`},Ft=o({__name:`RequestOverviewPanel`,props:{overview:{}},setup(e){let n=e,o=t(!1),c=m(()=>tt(n.overview.upstreamResponse,n.overview.responseBody)||JSON.stringify({latencyMs:n.overview.latencyMs,ttftMs:n.overview.ttftMs,inputTokens:n.overview.inputTokens,outputTokens:n.overview.outputTokens,tokensPerSecond:n.overview.tokensPerSecond,cacheReadTokens:n.overview.cacheReadTokens,cacheWriteTokens:n.overview.cacheWriteTokens,stopReason:n.overview.stopReason,statusCode:n.overview.statusCode},null,2)),l=m(()=>{if(n.overview.status===`pending`)return`pending`;let e=n.overview.statusCode;return n.overview.status===`failed`||e!=null&&e>=400?`error`:`success`}),d=m(()=>n.overview.status===`pending`&&n.overview.outputTokens!=null),f=m(()=>{let e=n.overview.outputTokens;return e==null?`--`:d.value?`+${e}`:String(e)}),g=m(()=>n.overview.status===`pending`&&n.overview.latencyMs==null?`...`:n.overview.latencyMs==null?`--`:`${(n.overview.latencyMs/Z).toFixed(1)}s`),_=m(()=>{if(n.overview.tokensPerSecond!=null)return`${n.overview.tokensPerSecond.toFixed(1)}`;let{outputTokens:e,latencyMs:t}=n.overview;return e&&t?`${(e/t*Z).toFixed(1)}`:`--`});function v(e){return e!=null&&e>=400}return(t,n)=>(O(),r(`div`,it,[i(`div`,at,[n[1]||=i(`span`,{class:`text-xs font-medium text-muted-foreground`},`请求概览`,-1),A(u(T),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:n[0]||=e=>o.value=!o.value},{default:P(()=>[(O(),p(b(o.value?u(B):u(H)),{class:`h-3 w-3`})),s(` `+I(o.value?`结构化`:`原始数据`),1)]),_:1})]),o.value?(O(),p(u(Q),{key:0,class:`rounded-md border flex-1`},{default:P(()=>[i(`pre`,ot,I(c.value),1)]),_:1})):h(``,!0),o.value?h(``,!0):(O(),r(F,{key:1},[i(`div`,st,[i(`span`,ct,I(e.overview.model),1),i(`span`,lt,`@ `+I(e.overview.providerName||`unknown`),1)]),i(`div`,ut,[l.value===`pending`?(O(),p(u(V),{key:0,variant:`outline`,class:`border-warning/30 bg-warning-light text-warning-dark`},{default:P(()=>[...n[2]||=[i(`span`,{class:`w-1.5 h-1.5 rounded-full bg-warning animate-pulse`},null,-1),s(` 进行中 `,-1)]]),_:1})):l.value===`error`?(O(),p(u(V),{key:1,variant:`outline`,class:`border-danger/30 bg-danger-light text-danger-dark`},{default:P(()=>[s(I(e.overview.statusCode??`失败`),1)]),_:1})):(O(),p(u(V),{key:2,variant:`outline`,class:`border-success/30 bg-success-light text-success-dark`},{default:P(()=>[...n[3]||=[i(`span`,{class:`w-1.5 h-1.5 rounded-full bg-success`},null,-1),s(` 已完成 `,-1)]]),_:1})),A(u(V),{variant:`outline`},{default:P(()=>[s(I(e.overview.isStream?`SSE`:`非流式`),1)]),_:1}),A(u(V),{variant:`outline`},{default:P(()=>[s(I(e.overview.apiType),1)]),_:1})]),e.overview.sessionId?(O(),r(`div`,dt,[A(u(V),{variant:`secondary`,class:`text-[10px]`},{default:P(()=>[...n[4]||=[s(`Session`,-1)]]),_:1}),i(`span`,ft,I(e.overview.sessionId.slice(0,8)),1)])):h(``,!0),i(`div`,pt,[i(`div`,mt,[n[5]||=i(`div`,{class:`text-[10px] text-muted-foreground`},`耗时`,-1),i(`div`,ht,I(g.value),1)]),i(`div`,gt,[n[6]||=i(`div`,{class:`text-[10px] text-muted-foreground`},`TTFT`,-1),i(`div`,_t,I(e.overview.ttftMs==null?`--`:`${e.overview.ttftMs}ms`),1)]),i(`div`,vt,[i(`div`,yt,I(e.overview.inputTokensEstimated?`Est Input Tokens`:`Input Tokens`),1),i(`div`,bt,I(e.overview.inputTokens==null?`--`:e.overview.inputTokens),1)]),i(`div`,xt,[n[7]||=i(`div`,{class:`text-[10px] text-muted-foreground`},`Output Tokens`,-1),i(`div`,{class:a([`text-sm font-semibold truncate`,d.value?`diff-added`:``])},I(f.value),3)]),i(`div`,St,[n[8]||=i(`div`,{class:`text-[10px] text-muted-foreground`},`速度 (tok/s)`,-1),i(`div`,Ct,I(_.value),1)]),i(`div`,wt,[n[9]||=i(`div`,{class:`text-[10px] text-muted-foreground`},`Cache Read`,-1),i(`div`,Tt,I(e.overview.cacheReadTokens==null?`--`:e.overview.cacheReadTokens),1)])]),A(u(X)),i(`div`,Et,[n[10]||=i(`span`,{class:`text-[10px] text-muted-foreground uppercase tracking-wider`},`尝试历史`,-1),e.overview.attempts.length===0?(O(),r(`div`,Dt,`无重试`)):h(``,!0),(O(!0),r(F,null,y(e.overview.attempts,(e,t)=>(O(),r(`div`,{key:t,class:`flex items-center gap-1 text-[11px]`},[i(`span`,Ot,`#`+I(t+1),1),i(`span`,{class:a(v(e.statusCode)?`diff-removed`:`diff-added`)},I(e.statusCode??`--`),3),i(`span`,kt,I((e.latencyMs/u(Z)).toFixed(1))+`s`,1)]))),128))]),A(u(X)),i(`div`,At,[e.overview.statusCode==null?h(``,!0):(O(),r(`div`,jt,[n[11]||=i(`span`,{class:`text-muted-foreground`},`状态码`,-1),i(`span`,Mt,I(e.overview.statusCode),1)])),e.overview.clientIp?(O(),r(`div`,Nt,[n[12]||=i(`span`,{class:`text-muted-foreground`},`Client IP`,-1),i(`span`,Pt,I(e.overview.clientIp),1)])):h(``,!0)])],64))]))}}),It={key:0,class:`rounded-md border bg-card`},Lt={class:`flex items-center gap-1.5 px-2.5 py-1.5 border-b`},Rt={class:`px-2.5 py-2`},zt={key:0,class:`inline-block w-1.5 h-3.5 dot-success animate-pulse ml-0.5 align-text-bottom`},Bt={class:`flex items-center gap-1.5 px-2.5 py-1.5 cursor-pointer hover:brightness-95 rounded-t-md`},Vt={class:`text-xs font-medium`},Ht={key:0,class:`text-xs text-muted-foreground`},Ut={class:`px-2.5 pb-2`},Wt=o({__name:`ContentBlockRenderer`,props:{type:{},content:{},name:{default:void 0},defaultOpen:{type:Boolean,default:!0},showCursor:{type:Boolean,default:!1},autoScroll:{type:Boolean,default:!1}},setup(e){let n=e,o=t(n.type===`text`?!0:n.defaultOpen),c=t(null),l=m(()=>{switch(n.type){case`thinking`:return`block-thinking`;case`tool_use`:return`block-tool-use`;case`tool_result`:return`block-tool-result`;default:return`bg-card`}}),d=m(()=>{switch(n.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`}}),f=m(()=>{switch(n.type){case`thinking`:return be;case`tool_use`:return Ce;case`tool_result`:return xe;default:return Se}}),g=m(()=>{switch(n.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`}}),_=m(()=>{switch(n.type){case`thinking`:return`Thinking`;case`tool_use`:return`Tool Use`;case`tool_result`:return`Tool Result`;default:return``}}),v=m(()=>n.type===`tool_use`?`(等待数据...)`:n.type===`tool_result`?`(无返回数据)`:``);return x(()=>n.content,()=>{n.autoScroll&&E(()=>{let e=c.value;e&&(e.scrollTop=e.scrollHeight)})}),(t,n)=>e.type===`text`?(O(),r(`div`,It,[i(`div`,Lt,[A(u(Se),{class:`h-3.5 w-3.5 diff-added`}),n[1]||=i(`span`,{class:`text-xs font-medium`},`Reply`,-1)]),i(`div`,Rt,[i(`pre`,{ref_key:`contentRef`,ref:c,class:`text-xs overflow-y-auto whitespace-pre-wrap break-words`,style:{"max-height":`300px`}},[i(`code`,null,[s(I(e.content),1),e.showCursor?(O(),r(`span`,zt)):h(``,!0)])],512)])])):(O(),p(u(le),{key:1,open:o.value,"onUpdate:open":n[0]||=e=>o.value=e,class:a([`rounded-md border`,l.value])},{default:P(()=>[A(u(ue),{"as-child":``},{default:P(()=>[i(`div`,Bt,[A(u(re),{class:a([`h-3 w-3 transition-transform duration-200`,{"rotate-180":!o.value}])},null,8,[`class`]),(O(),p(b(f.value),{class:a([`h-3.5 w-3.5`,g.value])},null,8,[`class`])),i(`span`,Vt,I(_.value),1),e.type===`thinking`?(O(),r(`span`,Ht,`(`+I(e.content.length)+` 字符)`,1)):h(``,!0),e.type===`tool_use`&&e.name?(O(),p(u(V),{key:1,variant:`secondary`,class:`text-xs`},{default:P(()=>[s(I(e.name),1)]),_:1})):h(``,!0)])]),_:1}),A(u(ce),null,{default:P(()=>[i(`div`,Ut,[i(`pre`,{ref_key:`contentRef`,ref:c,class:a([`text-xs rounded p-2 overflow-y-auto whitespace-pre-wrap break-words`,d.value]),style:{"max-height":`300px`}},[i(`code`,null,I(e.content||v.value),1)],2)])]),_:1})]),_:1},8,[`open`,`class`]))}}),Gt=2;function Kt(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,Gt),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 qt(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,Gt),name:String(n.name??e.name??``)})}}}return t}function Jt(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)?Kt(o.content):n===`openai`&&Array.isArray(o.choices)?qt(o.choices):[]}var Yt=5,Xt=2,Zt=3;function Qt(e,t,n){let r=m(()=>{if(!t||!e.value)return[];let n=e.value.split(`
2
+ `),r=[];for(let e of n){let t=e.trim();if(!t.startsWith(`data:`))continue;let n=t.slice(Yt).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:r,assembledBlocks:m(()=>{if(!t||!e.value)return[];let n=[],i=null;for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`content_block_start`){let e=t.content_block;if(i={type:String(e?.type||``),content:``,eventCount:0,toolName:e?.name?String(e.name):void 0},i.type===`tool_use`&&e?.input){let t=e.input;Object.keys(t).length>0&&(i.content=JSON.stringify(t,null,Xt))}continue}if(t.type===`content_block_delta`&&i){let e=t.delta;i.content+=e.thinking||e.text||e.partial_json||``,i.eventCount++;continue}t.type===`content_block_stop`&&i&&(n.push(i),i=null)}return i&&n.push(i),n}),sseMeta:m(()=>{let e=``,t=``,n=0,i=0,a=``;for(let o of r.value){if(o.type!==`data`)continue;let r=o.data;if(r.type===`message_start`){let i=r.message;e=String(i?.id||``),t=String(i?.model||``),n=Number(i?.usage?.input_tokens??0)}if(r.type===`message_delta`){let e=r.delta,t=r.usage;a=String(e?.stop_reason||``),i=Number(t?.output_tokens??0)}}return{id:e,model:t,inputTokens:n,outputTokens:i,stopReason:a}}),openaiAssembled:m(()=>{if(n!==`openai`||!t)return null;let e=``,i=``,a=``,o=null,s=0;for(let t of r.value){if(t.type!==`data`)continue;let n=t.data,r=n.choices||[],c=r[0]?.delta;c?.role&&(e=String(c.role)),c?.content&&(i+=String(c.content),s++),r[0]?.finish_reason&&(a=String(r[0].finish_reason)),n.usage&&(o=n.usage)}return{role:e,content:i,contentEventCount:s,finishReason:a,usage:o}}),anthropicMessageStart:m(()=>{for(let e of r.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:m(()=>{let e=[];for(let t of r.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:m(()=>{let e={};for(let t of r.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<Zt)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:m(()=>{for(let e of r.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:m(()=>r.value.some(e=>e.type===`data`&&e.data.type===`message_stop`)),openaiSseRole:m(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.role)return String(t.role)}return null}),openaiSseFirstContent:m(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.content)return String(t.content)}return null}),openaiSseFinishReason:m(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.finish_reason;if(t)return String(t)}return null}),openaiSseCollapsedCount:m(()=>{let e=0,t=!1;for(let n of r.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:m(()=>{for(let e=r.value.length-1;e>=0;e--){let t=r.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 $t={class:`flex flex-col gap-2 min-h-0 flex-1`},en={class:`flex items-center justify-between flex-shrink-0`},tn={key:0,class:`relative flex-1 min-h-0`},nn={key:0,class:`flex flex-col gap-2`},rn={key:1,class:`text-xs text-muted-foreground`},an={key:2,class:`text-xs text-muted-foreground`},on={key:3,class:`text-xs text-muted-foreground`},sn={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},cn=50,ln=o({__name:`ResponseViewer`,props:{source:{},apiType:{},isStream:{type:Boolean},streamContent:{default:null},nonStreamBody:{default:null},responseBody:{default:null},upstreamResponse:{default:null},status:{}},setup(e){let n=t(null),a=e,o=t(!1),c=m(()=>!!(a.responseBody||a.upstreamResponse)),{assembledBlocks:l}=Qt(m(()=>{if(a.source!==`history`)return``;let e=a.responseBody||a.upstreamResponse||``;try{return JSON.parse(e).body||e}catch{return e}}),a.isStream,a.apiType),d=m(()=>{if(a.source===`realtime`){let e=a.streamContent?.blocks;if(e&&e.length>0)return e;if(a.responseBody){let e=Jt(a.responseBody,null,a.apiType);if(e.length>0)return e}return[]}let e=Jt(a.responseBody??null,a.upstreamResponse??null,a.apiType);if(e.length>0)return e;if(a.responseBody&&a.responseBody.trim().length>0)return[{type:`text`,content:a.responseBody}];let t=[`thinking`,`text`,`tool_use`,`tool_result`];return l.value.map(e=>({type:t.includes(e.type)?e.type:`text`,content:e.content,...e.toolName?{name:e.toolName}:{}}))}),f=m(()=>a.source===`realtime`?a.streamContent?.rawChunks||a.responseBody||``:$e(a.upstreamResponse??null,a.responseBody??null)),g=t(!1);function _(){let e=n.value;e&&(g.value=e.scrollHeight-e.scrollTop-e.clientHeight>cn)}function v(){let e=n.value;e&&(e.scrollTop=e.scrollHeight)}return x(d,()=>{g.value||E(()=>v())},{deep:!0}),(e,t)=>(O(),r(`div`,$t,[i(`div`,en,[t[1]||=i(`span`,{class:`text-xs font-medium text-muted-foreground`},`响应内容`,-1),A(u(T),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:t[0]||=e=>o.value=!o.value},{default:P(()=>[(O(),p(b(o.value?u(B):u(H)),{class:`h-3 w-3`})),s(` `+I(o.value?`结构化`:a.isStream?`原始 SSE`:`原始 JSON`),1)]),_:1})]),o.value?(O(),p(u(Q),{key:1,class:`flex-1 min-h-0 rounded-md border`},{default:P(()=>[i(`pre`,sn,I(f.value),1)]),_:1})):(O(),r(`div`,tn,[i(`div`,{ref_key:`structuredRef`,ref:n,class:`flex-1 min-h-0 overflow-y-auto`,onScroll:_},[d.value.length>0?(O(),r(`div`,nn,[(O(!0),r(F,null,y(d.value,(e,t)=>(O(),p(Wt,{key:t,type:e.type,content:e.content,name:e.name,"show-cursor":a.status===`pending`&&t===d.value.length-1,"auto-scroll":a.status===`pending`&&t===d.value.length-1},null,8,[`type`,`content`,`name`,`show-cursor`,`auto-scroll`]))),128))])):a.status===`pending`?(O(),r(`p`,rn,`等待响应数据...`)):a.source===`history`&&a.isStream&&!c.value?(O(),r(`p`,an,`流式响应内容未持久化存储`)):(O(),r(`p`,on,`无响应内容`))],544),g.value?(O(),p(u(T),{key:0,variant:`outline`,size:`icon`,class:`absolute bottom-2 right-2 h-7 w-7 rounded-full shadow-md opacity-80 hover:opacity-100`,onClick:v},{default:P(()=>[A(u(te),{class:`h-3.5 w-3.5`})]),_:1})):h(``,!0)]))]))}}),un={class:`relative`},dn={class:`bg-background text-foreground rounded-md p-3 text-xs overflow-auto max-h-[40vh] whitespace-pre-wrap break-all border`},fn=o({__name:`JsonCopyBlock`,props:{content:{},hideCopyButton:{type:Boolean}},setup(e){let t=e,{copied:n,copy:a}=ye();async function o(){await a(t.content)}return(t,a)=>(O(),r(`div`,un,[e.hideCopyButton?h(``,!0):(O(),p(u(T),{key:0,variant:`outline`,size:`sm`,class:`absolute top-2 right-2 h-7 text-xs`,onClick:o},{default:P(()=>[s(I(u(n)?`已复制`:`复制`),1)]),_:1})),i(`pre`,dn,I(e.content),1)]))}}),pn={class:`flex flex-col min-h-0 h-full`},mn={class:`flex justify-end mb-1 flex-shrink-0`},hn={key:0,class:`space-y-3`},gn={key:0,class:`text-[11px] text-muted-foreground py-4 text-center`},_n={key:1,class:`text-[11px] text-muted-foreground py-2 text-center`},vn={key:2,class:`space-y-4`},yn={key:0},bn={class:`flex items-center gap-2 text-[11px]`},xn={class:`font-mono text-muted-foreground`},Sn={class:`font-mono text-primary font-semibold`},Cn={key:1},wn={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`},Tn={key:2},En={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Dn={class:`space-y-1.5`},On={class:`flex items-center gap-1.5 mb-1`},kn={key:1,class:`text-[9px] text-muted-foreground`},An={key:0,class:`diff-removed line-through mb-0.5`},jn={key:1,class:`text-foreground overflow-y-auto max-h-40`},Mn={key:2,class:`mt-1 space-y-0.5`},Nn={class:`mt-0.5 whitespace-pre-wrap break-all text-[10px] bg-muted/50 rounded p-1.5 border max-h-60 overflow-y-auto`},Pn={key:3},Fn={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},In={class:`space-y-1`},Ln={class:`grid grid-cols-5 gap-1`},Rn=[`title`,`onClick`],zn={key:0,class:`rounded-md border bg-background p-2.5`},Bn={class:`flex items-center gap-2 mb-1`},Vn={class:`text-[11px] font-semibold font-mono`},Hn={key:0,class:`text-[11px] text-muted-foreground`},Un={key:1,class:`mt-1 flex flex-wrap gap-1`},Wn={key:4},Gn={class:`flex items-center gap-2 text-[11px]`},Kn={key:5},qn={class:`flex items-center gap-2 text-[11px]`},Jn={class:`font-mono diff-removed line-through`},Yn={class:`font-mono diff-added font-medium`},Xn=1024,$=2,Zn=4,Qn=5,$n=o({__name:`RequestDiffViewer`,props:{overview:{}},setup(e){let o=e,c=t(!1),l=n({});function d(e){let t=new TextEncoder().encode(e).length;return t<Xn?`${t}B`:`${(t/Xn).toFixed(1)}KB`}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 _(e){if(!e)return``;let t=e.replace(/^Bearer\s+/i,``);return t.length<=Zn?`***`:`${t.slice(0,Zn)}***`}function v(e,t){let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n)return r}let b=m(()=>f(o.overview.clientRequest)),x=m(()=>f(o.overview.upstreamRequest)),S=m(()=>{let e=b.value?.body?.model,t=x.value?.body?.model;return{hasDiff:!!e&&!!t&&e!==t,from:e??``,to:t??``}}),C=m(()=>{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=m(()=>{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,m=d.filter(e=>typeof e==`object`&&!!e&&(e.type===`tool_use`||e.type===`tool_result`)).map(e=>{if(e.type===`tool_use`)return{type:`tool_use`,name:String(e.name||``),content:e.input?JSON.stringify(e.input,null,$):JSON.stringify(e,null,$)};let t=e.content,n=``;return typeof t==`string`?n=t:Array.isArray(t)&&(n=t.map(e=>typeof e.text==`string`?e.text:JSON.stringify(e)).join(`
4
+ `)),{type:`tool_result`,content:n||JSON.stringify(e,null,$)}});n.push({role:a,text:o,removedText:l?c:null,modified:l,toolCalls:f,toolResultCount:p,toolBlocks:m})}return n}),E=t(-1),D=m(()=>{let e=[];for(let t=0;t<k.value.length;t+=Qn)e.push({tools:k.value.slice(t,t+Qn),startIdx:t});return e}),k=m(()=>{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}}):[]}),j=m(()=>{let e=b.value?.body?.stream_options!=null,t=x.value?.body?.stream_options!=null;return!e&&t}),M=m(()=>{if(!b.value?.headers||!x.value?.headers)return{hasDiff:!1,old:``,new:``};let e=v(b.value.headers,`authorization`),t=v(x.value.headers,`authorization`);return{hasDiff:!!e&&!!t&&e!==t,old:_(e),new:_(t)}});return(t,n)=>(O(),r(`div`,pn,[i(`div`,mn,[A(u(T),{variant:`outline`,size:`xs`,class:`gap-1`,onClick:n[0]||=e=>c.value=!c.value},{default:P(()=>[c.value?(O(),p(u(H),{key:0,class:`size-3`})):(O(),p(u(B),{key:1,class:`size-3`})),s(` `+I(c.value?`Structured`:`Raw JSON`),1)]),_:1})]),A(u(Q),{class:`flex-1 min-h-0`},{default:P(()=>[c.value?(O(),r(`div`,hn,[i(`div`,null,[n[1]||=i(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Client Request `,-1),A(fn,{content:e.overview.clientRequest??`{}`},null,8,[`content`])]),i(`div`,null,[n[2]||=i(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Upstream Request `,-1),A(fn,{content:e.overview.upstreamRequest??`{}`},null,8,[`content`])])])):(O(),r(F,{key:1},[!x.value&&!b.value?(O(),r(`div`,gn,` No request data available `)):h(``,!0),!x.value&&b.value?(O(),r(`div`,_n,` 请求进行中,上游请求内容将在完成后显示 `)):(O(),r(`div`,vn,[S.value.hasDiff?(O(),r(`div`,yn,[n[4]||=i(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Model Mapping `,-1),i(`div`,bn,[i(`span`,xn,I(S.value.from),1),n[3]||=i(`span`,{class:`text-muted-foreground`},`→`,-1),i(`span`,Sn,I(S.value.to),1)])])):h(``,!0),C.value?(O(),r(`div`,Cn,[n[5]||=i(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` System `,-1),i(`pre`,wn,I(C.value),1)])):h(``,!0),w.value.length>0?(O(),r(`div`,Tn,[i(`div`,En,` Messages (`+I(w.value.length)+`) `,1),i(`div`,Dn,[(O(!0),r(F,null,y(w.value,(e,t)=>(O(),r(`div`,{key:t,class:a([`rounded-md border px-2.5 py-1.5 text-[11px]`,e.modified?`diff-modified`:`bg-background`])},[i(`div`,On,[A(u(V),{variant:`outline`,class:a([`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:P(()=>[s(I(e.role),1)]),_:2},1032,[`class`]),e.modified?(O(),p(u(V),{key:0,variant:`outline`,class:`bg-role-thinking-bg text-role-thinking text-[9px] px-1.5 py-0 border-transparent`},{default:P(()=>[...n[6]||=[s(` Modified `,-1)]]),_:1})):h(``,!0),e.toolCalls.length>0?(O(),r(`span`,kn,` → `+I(e.toolCalls.join(`, `)),1)):h(``,!0)]),e.modified&&e.removedText?(O(),r(`div`,An,I(e.removedText),1)):h(``,!0),e.text?(O(),r(`div`,jn,I(e.text),1)):h(``,!0),e.toolBlocks.length>0?(O(),r(`div`,Mn,[(O(!0),r(F,null,y(e.toolBlocks,(e,n)=>(O(),p(u(le),{key:n,open:l[`${t}-${n}`],"onUpdate:open":e=>l[`${t}-${n}`]=e},{default:P(()=>[A(u(ue),{"as-child":``},{default:P(()=>[A(u(T),{variant:`ghost`,size:`xs`,class:`px-0 h-auto text-[10px]`},{default:P(()=>[A(u(V),{variant:`outline`,class:a([`text-[9px] px-1.5 py-0 border-transparent mr-1`,e.type===`tool_use`?`bg-role-tool-bg text-role-tool`:`bg-role-user-bg text-role-user`])},{default:P(()=>[s(I(e.type===`tool_use`?e.name||`tool_use`:`tool_result`),1)]),_:2},1032,[`class`]),s(` `+I(d(e.content)),1)]),_:2},1024)]),_:2},1024),A(u(ce),null,{default:P(()=>[i(`pre`,Nn,I(e.content),1)]),_:2},1024)]),_:2},1032,[`open`,`onUpdate:open`]))),128))])):h(``,!0)],2))),128))])])):h(``,!0),k.value.length>0?(O(),r(`div`,Pn,[i(`div`,Fn,` Tools (`+I(k.value.length)+`) `,1),i(`div`,In,[(O(!0),r(F,null,y(D.value,(e,t)=>(O(),r(F,{key:t},[i(`div`,Ln,[(O(!0),r(F,null,y(e.tools,(t,n)=>(O(),r(`div`,{key:n,class:a([`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},I(t.name),11,Rn))),128))]),E.value>=e.startIdx&&E.value<e.startIdx+e.tools.length?(O(),r(`div`,zn,[i(`div`,Bn,[i(`span`,Vn,I(k.value[E.value].name),1)]),k.value[E.value].description?(O(),r(`p`,Hn,I(k.value[E.value].description),1)):h(``,!0),k.value[E.value].params.length>0?(O(),r(`div`,Un,[(O(!0),r(F,null,y(k.value[E.value].params,e=>(O(),p(u(V),{key:e,variant:`outline`,class:`text-[9px] px-1 py-0`},{default:P(()=>[s(I(e),1)]),_:2},1024))),128))])):h(``,!0)])):h(``,!0)],64))),128))])])):h(``,!0),j.value?(O(),r(`div`,Wn,[n[9]||=i(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Stream Options `,-1),i(`div`,Gn,[A(u(V),{variant:`outline`,class:`bg-success-light text-success-dark text-[9px] px-1.5 py-0 border-transparent`},{default:P(()=>[...n[7]||=[s(`Injected`,-1)]]),_:1}),n[8]||=i(`code`,{class:`font-mono diff-added`},`{ "include_usage": true }`,-1)])])):h(``,!0),M.value.hasDiff?(O(),r(`div`,Kn,[n[10]||=i(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Auth Replacement `,-1),i(`div`,qn,[i(`span`,Jn,I(M.value.old),1),A(u(X),{orientation:`vertical`,class:`h-3`}),i(`span`,Yn,I(M.value.new),1)])])):h(``,!0)]))],64))]),_:1})]))}}),er={class:`h-[3px] w-full overflow-hidden`},tr={key:0,class:`h-full w-[40%] progress-active`,style:{animation:`shimmer 1.5s infinite`}},nr={key:1,class:`h-full w-full progress-failed`},rr={key:2,class:`h-full w-full progress-active`},ir={key:0,class:`font-mono text-[11px] text-muted-foreground`},ar={key:0,class:`flex gap-0 px-4 pb-4 min-h-0 h-[calc(85vh-80px)]`},or={class:`w-[280px] border-r pr-3 flex-shrink-0 overflow-y-auto min-h-0`},sr={class:`flex-1 flex flex-col min-w-0 min-h-0 pl-3`},cr={key:0,class:`rounded-md bg-destructive/10 px-3 py-1.5 text-xs text-destructive mb-2 flex-shrink-0`},lr={key:0,class:`flex-1 min-h-0 overflow-y-auto mt-2`},ur={key:1,class:`flex-1 min-h-0 mt-2`},dr={key:1,class:`mt-3 border-t pt-3 flex-shrink-0`},fr={class:`space-y-1`},pr={class:`text-muted-foreground`},mr={key:1,class:`flex items-center justify-center h-[calc(85vh-80px)]`},hr={class:`text-sm text-muted-foreground`},gr=((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(e,{emit:n}){let{copied:a,copy:o}=ye();function c(){_.value&&o(_.value.id)}let l=e,d=n,f=t(`response`),g=t(null),_=m(()=>{if(l.source===`realtime`){if(!l.request)return null;let e=qe(l.request,l.logDetailData?.responseBody);return l.logDetailData&&(l.logDetailData.clientRequest&&(e.clientRequest=l.logDetailData.clientRequest),l.logDetailData.upstreamRequest&&(e.upstreamRequest=l.logDetailData.upstreamRequest)),e}return g.value}),v=m(()=>_.value?_.value.status:`pending`),b={enhancement:`增强处理`,tool_guard:`循环防护`,routing:`路由`,overflow:`溢出转移`,provider_patch:`供应商补丁`,response_transform:`响应变换`},S={enhancement:`secondary`,tool_guard:`destructive`,routing:`default`,overflow:`outline`,provider_patch:`secondary`,response_transform:`secondary`};function C(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function w(e){return b[e]??e}function E(e){return S[e]??`outline`}function D(e){switch(e.stage){case`enhancement`:{let t=[];return e.router_tags_stripped&&t.push(`剥离 ${e.router_tags_stripped} 个路由标签`),e.directive&&t.push(`指令: ${e.directive.type} → ${e.directive.value}`),t.join(`,`)||`无变更`}case`tool_guard`:return`${e.action} (${e.tool})`;case`routing`:return`${e.client_model} → ${e.backend_model} (${e.provider_id}, ${e.strategy})`;case`overflow`:return e.triggered?`已转移至 ${e.redirect_to??`未知`}${e.redirect_provider?` (${e.redirect_provider})`:``}`:`未触发`;case`provider_patch`:return`应用 ${e.types?.length??0} 个补丁`;case`response_transform`:return e.model_info_tag_injected?`已注入模型信息标签`:`无变换`;default:return JSON.stringify(e)}}return x([()=>l.open,()=>l.logEntry],([e,t])=>{e&&(f.value=`response`,l.source===`history`&&t&&(g.value=Ze(t)))}),(t,n)=>(O(),p(u(me),{open:l.open,"onUpdate:open":n[1]||=e=>d(`update:open`,e)},{default:P(()=>[A(u(de),{class:`sm:max-w-6xl max-h-[85vh] p-0 overflow-hidden flex flex-col`},{default:P(()=>[i(`div`,er,[v.value===`pending`?(O(),r(`div`,tr)):v.value===`failed`?(O(),r(`div`,nr)):(O(),r(`div`,rr))]),A(u(pe),{class:`px-4 pt-2 pb-0`},{default:P(()=>[A(u(he),{class:`text-sm flex items-center gap-2`},{default:P(()=>[n[2]||=s(` 请求详情 `,-1),_.value?(O(),r(`span`,ir,I(_.value.id),1)):h(``,!0),_.value?(O(),p(u(T),{key:1,variant:`ghost`,size:`icon-xs`,class:`shrink-0`,onClick:c},{default:P(()=>[u(a)?(O(),p(u(ne),{key:0,class:`size-3 text-green-500`})):(O(),p(u(ie),{key:1,class:`size-3`}))]),_:1})):h(``,!0)]),_:1}),A(u(fe),{class:`sr-only`},{default:P(()=>[...n[3]||=[s(`查看请求的响应内容和请求内容`,-1)]]),_:1})]),_:1}),_.value?(O(),r(`div`,ar,[i(`div`,or,[A(Ft,{overview:_.value},null,8,[`overview`])]),i(`div`,sr,[_.value.errorMessage?(O(),r(`div`,cr,I(_.value.errorMessage),1)):h(``,!0),A(u(_e),{modelValue:f.value,"onUpdate:modelValue":n[0]||=e=>f.value=e,class:`flex-1 flex flex-col min-h-0`},{default:P(()=>[A(u(ge),{class:`flex-shrink-0`},{default:P(()=>[A(u(ve),{value:`response`},{default:P(()=>[...n[4]||=[s(`响应内容`,-1)]]),_:1}),A(u(ve),{value:`request`},{default:P(()=>[...n[5]||=[s(`请求内容`,-1)]]),_:1})]),_:1}),f.value===`response`?(O(),r(`div`,lr,[A(ln,{source:l.source,"api-type":_.value.apiType,"is-stream":_.value.isStream,"stream-content":l.streamContent,"non-stream-body":e.logDetailData?.responseBody,"response-body":_.value.responseBody,"upstream-response":_.value.upstreamResponse,status:_.value.status},null,8,[`source`,`api-type`,`is-stream`,`stream-content`,`non-stream-body`,`response-body`,`upstream-response`,`status`])])):h(``,!0),f.value===`request`?(O(),r(`div`,ur,[A($n,{overview:_.value},null,8,[`overview`])])):h(``,!0)]),_:1},8,[`modelValue`]),_.value.pipelineSnapshot?(O(),r(`div`,dr,[n[6]||=i(`div`,{class:`text-sm font-medium text-foreground mb-2`},` 处理管线 `,-1),i(`div`,fr,[(O(!0),r(F,null,y(C(_.value.pipelineSnapshot),(e,t)=>(O(),r(`div`,{key:t,class:`flex items-start gap-2 text-sm`},[A(u(V),{variant:E(e.stage),class:`shrink-0 text-xs`},{default:P(()=>[s(I(w(e.stage)),1)]),_:2},1032,[`variant`]),i(`span`,pr,I(D(e)),1)]))),128))])])):h(``,!0)])])):(O(),r(`div`,mr,[i(`p`,hr,I(l.source===`realtime`?`加载中...`:`无选中请求`),1)]))]),_:1})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-e1a731de`]]);export{Q as n,X as r,gr as t};
@@ -1 +1 @@
1
- import{J as e,Pt as t,U as n,i as r,lt as i,ot as a,yt as o}from"./button-BLX8zWc1.js";var s=e({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,s)=>(a(),n(t(r),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:o(()=>[i(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}});export{s as t};
1
+ import{J as e,Pt as t,U as n,i as r,lt as i,ot as a,yt as o}from"./button-q9xTxPJh.js";var s=e({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,s)=>(a(),n(t(r),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:o(()=>[i(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}});export{s as t};
@@ -1 +1 @@
1
- import{G as e,J as t,U as n,V as r,W as i,ct as a,gt as o,ot as s,tt as c,z as l}from"./button-BLX8zWc1.js";import{n as u}from"./Collection-ChUVejsh.js";import{t as d}from"./VisuallyHidden-ChauvWtH.js";var f=t({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(e){let t=e,{primitiveElement:i,currentElement:a}=u();return o(r(()=>t.checked??t.value),(e,t)=>{if(!a.value)return;let n=a.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,r)=>(s(),n(d,c({ref_key:`primitiveElement`,ref:i},{...t,...e.$attrs},{as:`input`}),null,16))}}),p=t({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(t){let o=t,u=r(()=>typeof o.value==`object`&&Array.isArray(o.value)&&o.value.length===0&&o.required),d=r(()=>typeof o.value==`string`||typeof o.value==`number`||typeof o.value==`boolean`||o.value===null||o.value===void 0?[{name:o.name,value:o.value}]:typeof o.value==`object`&&Array.isArray(o.value)?o.value.flatMap((e,t)=>typeof e==`object`?Object.entries(e).map(([e,n])=>({name:`${o.name}[${t}][${e}]`,value:n})):{name:`${o.name}[${t}]`,value:e}):o.value!==null&&typeof o.value==`object`&&!Array.isArray(o.value)?Object.entries(o.value).map(([e,t])=>({name:`${o.name}[${e}]`,value:t})):[]);return(t,r)=>(s(),e(l,null,[i(` We render single input if it's required `),u.value?(s(),n(f,c({key:t.name},{...o,...t.$attrs},{name:t.name,value:t.value}),null,16,[`name`,`value`])):(s(!0),e(l,{key:1},a(d.value,e=>(s(),n(f,c({key:e.name},{ref_for:!0},{...o,...t.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`]))),128))],2112))}});export{p as t};
1
+ import{G as e,J as t,U as n,V as r,W as i,ct as a,gt as o,ot as s,tt as c,z as l}from"./button-q9xTxPJh.js";import{n as u}from"./Collection-BJZSFJsF.js";import{t as d}from"./VisuallyHidden-CQvCw9gB.js";var f=t({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(e){let t=e,{primitiveElement:i,currentElement:a}=u();return o(r(()=>t.checked??t.value),(e,t)=>{if(!a.value)return;let n=a.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,r)=>(s(),n(d,c({ref_key:`primitiveElement`,ref:i},{...t,...e.$attrs},{as:`input`}),null,16))}}),p=t({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(t){let o=t,u=r(()=>typeof o.value==`object`&&Array.isArray(o.value)&&o.value.length===0&&o.required),d=r(()=>typeof o.value==`string`||typeof o.value==`number`||typeof o.value==`boolean`||o.value===null||o.value===void 0?[{name:o.name,value:o.value}]:typeof o.value==`object`&&Array.isArray(o.value)?o.value.flatMap((e,t)=>typeof e==`object`?Object.entries(e).map(([e,n])=>({name:`${o.name}[${t}][${e}]`,value:n})):{name:`${o.name}[${t}]`,value:e}):o.value!==null&&typeof o.value==`object`&&!Array.isArray(o.value)?Object.entries(o.value).map(([e,t])=>({name:`${o.name}[${e}]`,value:t})):[]);return(t,r)=>(s(),e(l,null,[i(` We render single input if it's required `),u.value?(s(),n(f,c({key:t.name},{...o,...t.$attrs},{name:t.name,value:t.value}),null,16,[`name`,`value`])):(s(!0),e(l,{key:1},a(d.value,e=>(s(),n(f,c({key:e.name},{ref_for:!0},{...o,...t.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`]))),128))],2112))}});export{p as t};
@@ -1 +1 @@
1
- import{Dt as e,G as t,It as n,J as r,Lt as i,Pt as a,R as o,U as s,X as c,it as l,lt as u,nt as d,o as f,ot as p,q as m,r as h,t as g,tt as _,x as v,yt as y}from"./button-BLX8zWc1.js";import{f as b,t as x,u as S,y as C}from"./Teleport-BGbwtNTD.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./DialogTitle-D0erB-Fr.js";var A=r({__name:`AlertDialogAction`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(w),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),[j,M]=C(`AlertDialogContent`),N=r({__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:n}){let r=t,i=b(n);f();let c=e();return M({onCancelElementChange:e=>{c.value=e}}),(e,t)=>(p(),s(a(T),_({...r,...a(i)},{role:`alertdialog`,onPointerDownOutside:t[0]||=o(()=>{},[`prevent`]),onInteractOutside:t[1]||=o(()=>{},[`prevent`]),onOpenAutoFocus:t[2]||=()=>{d(()=>{c.value?.focus({preventScroll:!0})})}}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),P=r({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=j(),{forwardRef:r,currentElement:i}=f();return l(()=>{n.onCancelElementChange(i.value)}),(e,n)=>(p(),s(a(w),_(t,{ref:a(r)}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),F=r({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(O),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),I=r({__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,n)=>(p(),s(a(E),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),L=r({__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,n)=>(p(),s(a(x),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),R=r({__name:`AlertDialogRoot`,props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=S(e,t);return f(),(e,t)=>(p(),s(a(D),_(a(n),{modal:!0}),{default:y(t=>[u(e.$slots,`default`,i(c(t)))]),_:3},16))}}),z=r({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(k),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),B=r({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=S(e,t);return(e,t)=>(p(),s(a(R),_({"data-slot":`alert-dialog`},a(n)),{default:y(t=>[u(e.$slots,`default`,i(c(t)))]),_:3},16))}}),V=r({__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,n=v(t,`class`,`variant`,`size`);return(r,i)=>(p(),s(a(A),_({"data-slot":`alert-dialog-action`},a(n),{class:a(h)(``,a(g)({variant:e.variant,size:e.size}),t.class)}),{default:y(()=>[u(r.$slots,`default`)]),_:3},16,[`class`]))}}),H=r({__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,n=v(t,`class`,`variant`,`size`);return(r,i)=>(p(),s(a(P),_({"data-slot":`alert-dialog-cancel`},a(n),{class:a(h)(``,a(g)({variant:e.variant,size:e.size}),t.class)}),{default:y(()=>[u(r.$slots,`default`)]),_:3},16,[`class`]))}}),U=r({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 n=e,r=t,i=S(v(n,`class`,`size`),r);return(t,r)=>(p(),s(a(L),null,{default:y(()=>[m(a(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`}),m(a(N),_({"data-slot":`alert-dialog-content`,"data-size":e.size},{...t.$attrs,...a(i)},{class:a(h)(`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`,n.class)}),{default:y(()=>[u(t.$slots,`default`)]),_:3},16,[`data-size`,`class`])]),_:3}))}}),W=r({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=v(t,`class`);return(e,r)=>(p(),s(a(F),_({"data-slot":`alert-dialog-description`},a(n),{class:a(h)(`text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3`,t.class)}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16,[`class`]))}}),G=r({__name:`AlertDialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let r=e;return(e,i)=>(p(),t(`div`,{"data-slot":`alert-dialog-footer`,class:n(a(h)(`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`,r.class))},[u(e.$slots,`default`)],2))}}),K=r({__name:`AlertDialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let r=e;return(e,i)=>(p(),t(`div`,{"data-slot":`alert-dialog-header`,class:n(a(h)(`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]`,r.class))},[u(e.$slots,`default`)],2))}}),q=r({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=v(t,`class`);return(e,r)=>(p(),s(a(z),_({"data-slot":`alert-dialog-title`},a(n),{class:a(h)(`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:y(()=>[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
+ import{Dt as e,G as t,It as n,J as r,Lt as i,Pt as a,R as o,U as s,X as c,it as l,lt as u,nt as d,o as f,ot as p,q as m,r as h,t as g,tt as _,x as v,yt as y}from"./button-q9xTxPJh.js";import{f as b,t as x,u as S,y as C}from"./Teleport-CRn-gy0B.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./DialogTitle-BTuQdRm1.js";var A=r({__name:`AlertDialogAction`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(w),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),[j,M]=C(`AlertDialogContent`),N=r({__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:n}){let r=t,i=b(n);f();let c=e();return M({onCancelElementChange:e=>{c.value=e}}),(e,t)=>(p(),s(a(T),_({...r,...a(i)},{role:`alertdialog`,onPointerDownOutside:t[0]||=o(()=>{},[`prevent`]),onInteractOutside:t[1]||=o(()=>{},[`prevent`]),onOpenAutoFocus:t[2]||=()=>{d(()=>{c.value?.focus({preventScroll:!0})})}}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),P=r({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=j(),{forwardRef:r,currentElement:i}=f();return l(()=>{n.onCancelElementChange(i.value)}),(e,n)=>(p(),s(a(w),_(t,{ref:a(r)}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),F=r({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(O),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),I=r({__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,n)=>(p(),s(a(E),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),L=r({__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,n)=>(p(),s(a(x),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),R=r({__name:`AlertDialogRoot`,props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=S(e,t);return f(),(e,t)=>(p(),s(a(D),_(a(n),{modal:!0}),{default:y(t=>[u(e.$slots,`default`,i(c(t)))]),_:3},16))}}),z=r({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(k),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),B=r({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=S(e,t);return(e,t)=>(p(),s(a(R),_({"data-slot":`alert-dialog`},a(n)),{default:y(t=>[u(e.$slots,`default`,i(c(t)))]),_:3},16))}}),V=r({__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,n=v(t,`class`,`variant`,`size`);return(r,i)=>(p(),s(a(A),_({"data-slot":`alert-dialog-action`},a(n),{class:a(h)(``,a(g)({variant:e.variant,size:e.size}),t.class)}),{default:y(()=>[u(r.$slots,`default`)]),_:3},16,[`class`]))}}),H=r({__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,n=v(t,`class`,`variant`,`size`);return(r,i)=>(p(),s(a(P),_({"data-slot":`alert-dialog-cancel`},a(n),{class:a(h)(``,a(g)({variant:e.variant,size:e.size}),t.class)}),{default:y(()=>[u(r.$slots,`default`)]),_:3},16,[`class`]))}}),U=r({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 n=e,r=t,i=S(v(n,`class`,`size`),r);return(t,r)=>(p(),s(a(L),null,{default:y(()=>[m(a(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`}),m(a(N),_({"data-slot":`alert-dialog-content`,"data-size":e.size},{...t.$attrs,...a(i)},{class:a(h)(`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`,n.class)}),{default:y(()=>[u(t.$slots,`default`)]),_:3},16,[`data-size`,`class`])]),_:3}))}}),W=r({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=v(t,`class`);return(e,r)=>(p(),s(a(F),_({"data-slot":`alert-dialog-description`},a(n),{class:a(h)(`text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3`,t.class)}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16,[`class`]))}}),G=r({__name:`AlertDialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let r=e;return(e,i)=>(p(),t(`div`,{"data-slot":`alert-dialog-footer`,class:n(a(h)(`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`,r.class))},[u(e.$slots,`default`)],2))}}),K=r({__name:`AlertDialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let r=e;return(e,i)=>(p(),t(`div`,{"data-slot":`alert-dialog-header`,class:n(a(h)(`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]`,r.class))},[u(e.$slots,`default`)],2))}}),q=r({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=v(t,`class`);return(e,r)=>(p(),s(a(z),_({"data-slot":`alert-dialog-title`},a(n),{class:a(h)(`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:y(()=>[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};
@@ -0,0 +1 @@
1
+ import{b as e}from"./Teleport-CRn-gy0B.js";var t=e(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]);export{t};
@@ -1 +1 @@
1
- import{J as e,O as t,Pt as n,U as r,i,lt as a,ot as o,r as s,tt as c,x as l,yt as u}from"./button-BLX8zWc1.js";var d=e({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,d=l(t,`class`);return(l,p)=>(o(),r(n(i),c({"data-slot":`badge`,"data-variant":e.variant,class:n(s)(n(f)({variant:e.variant}),t.class)},n(d)),{default:u(()=>[a(l.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),f=t(`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
+ import{J as e,O as t,Pt as n,U as r,i,lt as a,ot as o,r as s,tt as c,x as l,yt as u}from"./button-q9xTxPJh.js";var d=e({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,d=l(t,`class`);return(l,p)=>(o(),r(n(i),c({"data-slot":`badge`,"data-variant":e.variant,class:n(s)(n(f)({variant:e.variant}),t.class)},n(d)),{default:u(()=>[a(l.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),f=t(`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};