llm-simple-router 0.10.13 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/model-directory.json +1 -0
- package/config/recommended-providers.json +6 -5
- package/dist/admin/groups.js +25 -0
- package/dist/admin/monitor.js +15 -6
- package/dist/admin/providers.js +22 -3
- package/dist/admin/recommended.js +13 -1
- package/dist/config/model-context.d.ts +12 -0
- package/dist/config/model-context.js +96 -2
- package/dist/config/model-directory.json +1 -0
- package/dist/config/recommended-providers.json +355 -0
- package/dist/config/recommended-retry-rules.json +12 -0
- package/dist/config/recommended.d.ts +2 -0
- package/dist/config/version.json +1 -0
- package/dist/core/monitor/request-tracker.d.ts +1 -1
- package/dist/core/monitor/request-tracker.js +2 -1
- package/dist/core/monitor/types.d.ts +1 -0
- package/dist/core/types.d.ts +1 -0
- package/dist/index.js +17 -1
- package/dist/metrics/metrics-extractor.js +3 -0
- package/dist/proxy/handler/create-proxy-handler.js +15 -0
- package/dist/proxy/handler/failover-loop.js +88 -63
- package/dist/proxy/pipeline-snapshot.d.ts +9 -1
- package/dist/proxy/proxy-logging.js +2 -2
- package/dist/proxy/routing/modality-redirect.d.ts +22 -0
- package/dist/proxy/routing/modality-redirect.js +252 -0
- package/dist/proxy/routing/overflow.d.ts +11 -0
- package/dist/proxy/routing/overflow.js +24 -0
- package/dist/proxy/transform/plugin-registry.js +1 -1
- package/dist/proxy/transform/stream-oa2ant.js +3 -0
- package/dist/proxy/transport/http.js +6 -0
- package/dist/proxy/transport/proxy-agent.js +20 -8
- package/dist/proxy/transport/stream.js +8 -1
- package/dist/proxy/transport/transport-fn.js +12 -0
- package/frontend-dist/assets/CardContent-yiYaxAko.js +1 -0
- package/frontend-dist/assets/CardTitle-CzqSlrtn.js +1 -0
- package/frontend-dist/assets/Checkbox-2voapLgE.js +1 -0
- package/frontend-dist/assets/CollapsibleContent-DHkVSWt2.js +1 -0
- package/frontend-dist/assets/CollapsibleTrigger-DbVCeTdD.js +1 -0
- package/frontend-dist/assets/Dashboard-xT1CEwOR.js +3 -0
- package/frontend-dist/assets/{Input-Ey_q_5_r.js → Input-DEfnoFS3.js} +1 -1
- package/frontend-dist/assets/Label-CjUuzGNQ.js +1 -0
- package/frontend-dist/assets/Login-CJDEk-tO.js +1 -0
- package/frontend-dist/assets/Logs-CzdPCIYV.js +1 -0
- package/frontend-dist/assets/MappingEntryEditor-GejG6FYv.js +1 -0
- package/frontend-dist/assets/ModelCard-DdQtySPM.js +1 -0
- package/frontend-dist/assets/ModelMappings-DffY7Izx.js +1 -0
- package/frontend-dist/assets/Monitor-y6d6LInm.js +1 -0
- package/frontend-dist/assets/Providers-Cb-CB1yf.js +1 -0
- package/frontend-dist/assets/ProxyEnhancement-CywRxDop.js +1 -0
- package/frontend-dist/assets/QuickSetup-Nj_ysAdc.js +1 -0
- package/frontend-dist/assets/RetryRules-DRdeZUPt.js +1 -0
- package/frontend-dist/assets/RouterKeys-BHOhDgXZ.js +1 -0
- package/frontend-dist/assets/RovingFocusItem-NxZWBEpr.js +1 -0
- package/frontend-dist/assets/Schedules-C4jRCbnI.js +1 -0
- package/frontend-dist/assets/Settings-Cn0qnqMY.js +6 -0
- package/frontend-dist/assets/Setup-BjN6KU0y.js +1 -0
- package/frontend-dist/assets/Switch-bk3eQSZ_.js +1 -0
- package/frontend-dist/assets/TooltipTrigger-DmYucHtv.js +1 -0
- package/frontend-dist/assets/TransformRulesForm-Bo-zFABv.js +1 -0
- package/frontend-dist/assets/UnifiedRequestDialog-5-vBmVMH.js +3 -0
- package/frontend-dist/assets/VisuallyHiddenInput-BflIWQCW.js +1 -0
- package/frontend-dist/assets/{button-C7HO6Dyb.js → button-DZwflOXO.js} +2 -2
- package/frontend-dist/assets/{copy-DxwFlq2A.js → copy-zQQvOqam.js} +1 -1
- package/frontend-dist/assets/dialog-C7v6Gaak.js +1 -0
- package/frontend-dist/assets/index-ClQS69Or.css +1 -0
- package/frontend-dist/assets/index-PMAQyWJb.js +3 -0
- package/frontend-dist/assets/mappings-BpkOqnsu.js +1 -0
- package/frontend-dist/assets/mappings-D7Qy46v_.js +1 -0
- package/frontend-dist/assets/{providers-Bcea72GK.js → providers-BI5dO-j0.js} +1 -1
- package/frontend-dist/assets/{providers-DNICB6Kg.js → providers-BzxbZ85B.js} +1 -1
- package/frontend-dist/assets/{trash-2-D2SrfECO.js → trash-2-CrcHK-G_.js} +1 -1
- package/frontend-dist/assets/{useClipboard-CttzUerj.js → useClipboard-B4K3eogm.js} +1 -1
- package/frontend-dist/assets/{useLogRetention-Dv0deAan.js → useLogRetention-BNbFXLBO.js} +1 -1
- package/frontend-dist/index.html +3 -3
- package/package.json +2 -2
- package/frontend-dist/assets/CardContent-DfVo-N85.js +0 -1
- package/frontend-dist/assets/CardTitle-npwJSAlz.js +0 -1
- package/frontend-dist/assets/Checkbox-Ddnzkh_i.js +0 -1
- package/frontend-dist/assets/CollapsibleContent-BTVazeoQ.js +0 -1
- package/frontend-dist/assets/CollapsibleTrigger-DCQeyHrt.js +0 -1
- package/frontend-dist/assets/Dashboard-DjnImtwH.js +0 -3
- package/frontend-dist/assets/Label-Dw5HcYsL.js +0 -1
- package/frontend-dist/assets/Login-CSrfhhm9.js +0 -1
- package/frontend-dist/assets/Logs-HR1DZs1M.js +0 -1
- package/frontend-dist/assets/MappingEntryEditor-C9pgNL0Q.js +0 -1
- package/frontend-dist/assets/ModelCard-IQMwlnCm.js +0 -1
- package/frontend-dist/assets/ModelMappings-kRx-GL_7.js +0 -1
- package/frontend-dist/assets/Monitor-y1ofDNK7.js +0 -1
- package/frontend-dist/assets/Providers-C1bP2PoM.js +0 -1
- package/frontend-dist/assets/ProxyEnhancement-DQx4coxn.js +0 -1
- package/frontend-dist/assets/QuickSetup-DHX9-CnO.js +0 -1
- package/frontend-dist/assets/RetryRules-zdJE0bFL.js +0 -1
- package/frontend-dist/assets/RouterKeys-CD0rI4kv.js +0 -1
- package/frontend-dist/assets/RovingFocusItem-CFmjbm49.js +0 -1
- package/frontend-dist/assets/Schedules-BUm3cC6w.js +0 -1
- package/frontend-dist/assets/Settings-D7z5IRkY.js +0 -6
- package/frontend-dist/assets/Setup-i9inmgjB.js +0 -1
- package/frontend-dist/assets/Switch-C9DeYAnK.js +0 -1
- package/frontend-dist/assets/TooltipTrigger-Dr6kqGSH.js +0 -1
- package/frontend-dist/assets/TransformRulesForm-CyXh4jHa.js +0 -1
- package/frontend-dist/assets/UnifiedRequestDialog-6ZRBfjko.js +0 -3
- package/frontend-dist/assets/VisuallyHiddenInput-CwE9jREu.js +0 -1
- package/frontend-dist/assets/constants-yM0YwP2s.js +0 -1
- package/frontend-dist/assets/dialog-BWB1aLcT.js +0 -1
- package/frontend-dist/assets/index-DeeDpH_W.css +0 -1
- package/frontend-dist/assets/index-itL9--Q_.js +0 -3
- package/frontend-dist/assets/mappings-6w7mc8YK.js +0 -1
- package/frontend-dist/assets/mappings-C1fK_e70.js +0 -1
- /package/frontend-dist/assets/{common-D96jEq-h.js → common-Bvxev9Ev.js} +0 -0
- /package/frontend-dist/assets/{common-BpwAv-lj.js → common-Cn0QcrnY.js} +0 -0
- /package/frontend-dist/assets/{dashboard-DjgmcUG5.js → dashboard-Cejt1wVQ.js} +0 -0
- /package/frontend-dist/assets/{dashboard-COCyp2p_.js → dashboard-DLTOR0fN.js} +0 -0
- /package/frontend-dist/assets/{login-BTNL5nN5.js → login-BkOvA7gg.js} +0 -0
- /package/frontend-dist/assets/{login-Sef1i0de.js → login-DWRFsEu3.js} +0 -0
- /package/frontend-dist/assets/{logs-CBRLywRw.js → logs-CA8USnXG.js} +0 -0
- /package/frontend-dist/assets/{logs-B-6cgV12.js → logs-QPt2Ybwy.js} +0 -0
- /package/frontend-dist/assets/{monitor-CaDMr_KG.js → monitor-CcPZdXUM.js} +0 -0
- /package/frontend-dist/assets/{monitor-C9j7ppMj.js → monitor-D-0KOVTC.js} +0 -0
- /package/frontend-dist/assets/{proxyEnhancement-DpIVSv-g.js → proxyEnhancement-B6vdsMeK.js} +0 -0
- /package/frontend-dist/assets/{proxyEnhancement-rSM6KhbN.js → proxyEnhancement-UuPFs4M3.js} +0 -0
- /package/frontend-dist/assets/{quickSetup-CCxaqY3U.js → quickSetup-CSpWmAy-.js} +0 -0
- /package/frontend-dist/assets/{quickSetup-DgDENHE4.js → quickSetup-D8ruRelW.js} +0 -0
- /package/frontend-dist/assets/{requestDetail-DZ55ph4h.js → requestDetail-8Sp9tWNb.js} +0 -0
- /package/frontend-dist/assets/{requestDetail-3KCtYe1N.js → requestDetail-CcHzzKYr.js} +0 -0
- /package/frontend-dist/assets/{retryRules-BXrRL52J.js → retryRules-C--dd-y8.js} +0 -0
- /package/frontend-dist/assets/{retryRules-CToGC6cR.js → retryRules-CzLnagW_.js} +0 -0
- /package/frontend-dist/assets/{routerKeys-DbTg4OP1.js → routerKeys-CB2l_V7w.js} +0 -0
- /package/frontend-dist/assets/{routerKeys-Be7OZCn0.js → routerKeys-p_ioAckE.js} +0 -0
- /package/frontend-dist/assets/{schedules-Bd66RL7P.js → schedules-Cz_-Wfa_.js} +0 -0
- /package/frontend-dist/assets/{schedules-HDwMuDgX.js → schedules-DTgk603B.js} +0 -0
- /package/frontend-dist/assets/{settings-DCS-RTKl.js → settings-B5Mq1HN8.js} +0 -0
- /package/frontend-dist/assets/{settings-C4zZB9GY.js → settings-j3dzVXzy.js} +0 -0
- /package/frontend-dist/assets/{setup-CrjgRrYP.js → setup-DaeEG9ll.js} +0 -0
- /package/frontend-dist/assets/{setup-DmgXvgkY.js → setup-Dryg-9wL.js} +0 -0
- /package/frontend-dist/assets/{sidebar-3c8D7l60.js → sidebar-BQWT-QZb.js} +0 -0
- /package/frontend-dist/assets/{sidebar-vj4kQ6t1.js → sidebar-DYwEKca3.js} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{$ as e,A as t,At as n,Ct as r,Et as i,F as a,Ht as o,J as s,K as c,Kt as l,Pt as u,Q as d,R as f,X as p,Y as m,Z as h,ct as g,dt as ee,et as _,gt as v,ht as te,i as y,k as ne,lt as b,m as x,n as S,o as C,pt as w,qt as T,r as E,tt as D,x as O}from"./button-DZwflOXO.js";import{t as k}from"./Label-CjUuzGNQ.js";import{G as A,Q as j,X as re,a as ie,c as ae,d as oe,et as se,i as ce,l as le,o as ue,q as M,r as N,s as de,tt as fe,u as pe}from"./index-PMAQyWJb.js";import{t as P}from"./Input-DEfnoFS3.js";import{t as me}from"./useLogRetention-BNbFXLBO.js";var he=a(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),F=a(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]),I=a(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),L=100,[R,z]=M(`ProgressRoot`),B=e=>typeof e==`number`;function V(e,t){return A(e)||B(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be:
|
|
2
|
+
- a positive number
|
|
3
|
+
- less than the value passed to \`max\` (or ${L} if no \`max\` prop is set)
|
|
4
|
+
- \`null\` or \`undefined\` if the progress is indeterminate.
|
|
5
|
+
|
|
6
|
+
Defaulting to \`null\`.`),null)}function H(e){return B(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${L}\`.`),L)}var U=D({__name:`ProgressRoot`,props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:L},getValueLabel:{type:Function,required:!1,default:(e,t)=>B(e)?`${Math.round(e/t*L)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let n=e,a=t;C();let c=x(n,`modelValue`,a,{passive:n.modelValue===void 0}),l=x(n,`max`,a,{passive:n.max===void 0});r(()=>c.value,async e=>{let t=V(e,n.max);t!==e&&(await b(),c.value=t)},{immediate:!0}),r(()=>n.max,e=>{let t=H(n.max);t!==e&&(l.value=t)},{immediate:!0});let u=s(()=>A(c.value)?`indeterminate`:c.value===l.value?`complete`:`loading`);return z({modelValue:c,max:l,progressState:u}),(e,t)=>(w(),p(o(y),{"as-child":e.asChild,as:e.as,"aria-valuemax":o(l),"aria-valuemin":0,"aria-valuenow":B(o(c))?o(c):void 0,"aria-valuetext":e.getValueText?.(o(c),o(l)),"aria-label":e.getValueLabel(o(c),o(l)),role:`progressbar`,"data-state":u.value,"data-value":o(c)??void 0,"data-max":o(l)},{default:i(()=>[v(e.$slots,`default`,{modelValue:o(c)})]),_:3},8,[`as-child`,`as`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`data-state`,`data-value`,`data-max`]))}}),W=D({__name:`ProgressIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=R();return C(),(e,r)=>(w(),p(o(y),g(t,{"data-state":o(n).progressState.value,"data-value":o(n).modelValue?.value??void 0,"data-max":o(n).max.value}),{default:i(()=>[v(e.$slots,`default`)]),_:3},16,[`data-state`,`data-value`,`data-max`]))}}),G=D({__name:`Progress`,props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=O(t,`class`);return(e,r)=>(w(),p(o(U),g({"data-slot":`progress`},o(n),{class:o(E)(`bg-muted h-1 rounded-full relative flex w-full items-center overflow-x-hidden`,t.class)}),{default:i(()=>[_(o(W),{"data-slot":`progress-indicator`,class:`bg-primary size-full flex-1 transition-all`,style:l(`transform: translateX(-${100-(t.modelValue??0)}%);`)},null,8,[`style`])]),_:1},16,[`class`]))}}),ge={class:`p-6 space-y-6`},_e={class:`text-lg font-semibold text-foreground`},ve={class:`bg-card rounded-lg border p-4 space-y-3`},ye={class:`font-medium text-sm text-foreground`},be={class:`text-sm text-muted-foreground`},xe={class:`flex items-end gap-4`},Se={class:`space-y-1`},Ce={key:0,class:`text-sm text-destructive mt-1`},we={class:`bg-card rounded-lg border p-4 space-y-4`},Te={class:`font-medium text-sm text-foreground flex items-center gap-2`},Ee={class:`text-sm text-muted-foreground`},De={class:`space-y-1`},Oe={class:`flex justify-between text-sm`},ke={class:`text-muted-foreground`},Ae={class:`space-y-1`},K={class:`flex justify-between text-sm`},je={class:`text-muted-foreground`},Me={class:`space-y-1`},Ne={class:`flex justify-between text-sm`},Pe={class:`text-muted-foreground`},Fe={key:0,class:`text-xs text-muted-foreground`},Ie={class:`grid grid-cols-2 gap-4 pt-3 border-t`},Le={class:`space-y-1`},Re={key:0,class:`text-sm text-destructive mt-1`},ze={class:`space-y-1`},Be={key:0,class:`text-sm text-destructive mt-1`},Ve={class:`bg-card rounded-lg border p-4 space-y-3`},He={class:`font-medium text-sm text-foreground`},Ue={class:`text-sm text-muted-foreground`},We={class:`flex gap-3`},Ge={key:0,class:`text-sm space-y-1 p-3 bg-muted rounded-md`},Ke={class:`font-medium`},q=1048576,J=1024,Y=100,qe=2,Je=10,X=0,Z=90,Q=1,Ye=1024,Xe=800,$=D({__name:`Settings`,setup(r){let{t:a}=f(),{retentionDays:s,saveRetention:l}=me(),p=u(null),g=u(Ye),v=u(Xe),y=u(!1),b=u(!1),x=u(null),C=u(!1),E=u(null),D=u(),O=u(``),A=u(``),M=u(``);function L(e){if(e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=Math.min(Math.floor(Math.log(e)/Math.log(J)),t.length-1);return`${(e/J**+n).toFixed(1)} ${t[n]}`}async function R(){y.value=!0;try{let[e,t]=await Promise.allSettled([j(),ne.getLogRetention()]);e.status===`fulfilled`&&(p.value=e.value,g.value=e.value.thresholds.dbMaxSizeMb,v.value=e.value.thresholds.logTableMaxSizeMb),t.status===`fulfilled`&&(s.value=t.value.days)}finally{y.value=!1}}function z(){O.value=``;let e=s.value;return Number.isInteger(e)?e<X||e>Z?(O.value=a(`settings.retention.rangeError`,{min:X,max:Z}),!1):!0:(O.value=a(`settings.retention.integerRequired`),!1)}async function B(){z()&&await l()}function V(){A.value=``,M.value=``;let e=!0;return(!Number.isFinite(g.value)||g.value<Q)&&(A.value=a(`settings.storage.minValueError`,{min:Q}),e=!1),(!Number.isFinite(v.value)||v.value<Q)&&(M.value=a(`settings.storage.minValueError`,{min:Q}),e=!1),e&&v.value>g.value&&(M.value=a(`settings.storage.logExceedsDbError`),e=!1),e}async function H(){if(V())try{let e=await fe({dbMaxSizeMb:g.value,logTableMaxSizeMb:v.value});g.value=e.dbMaxSizeMb,v.value=e.logTableMaxSizeMb,N.success(a(`settings.storage.thresholdsUpdated`)),await R()}catch(e){console.error(`settings.updateThresholds:`,e),N.error(t(e,a(`settings.storage.updateFailed`)))}}async function U(){try{let e=await re(),t=new Blob([JSON.stringify(e,null,qe)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`router-config-${new Date().toISOString().slice(0,Je)}.json`,r.click(),URL.revokeObjectURL(n),N.success(a(`settings.importExport.exportSuccess`))}catch(e){console.error(`settings.export:`,e),N.error(t(e,a(`settings.importExport.exportFailed`)))}}function W(e){let t=e.target,n=t.files?.[0];if(!n)return;let r=new FileReader;r.onload=()=>{try{let e=JSON.parse(r.result);if(!e.version||e.version!==1){N.error(a(`settings.importExport.unsupportedVersion`));return}E.value=e,C.value=!0}catch{N.error(a(`settings.importExport.invalidJson`))}},r.readAsText(n),t.value=``}async function $(){if(E.value){b.value=!0;try{x.value=await se(E.value),C.value=!1,N.success(a(`settings.importExport.importSuccess`)),await R()}catch(e){console.error(`settings.import:`,e),N.error(t(e,a(`settings.importExport.importFailed`)))}finally{b.value=!1,E.value=null}}}return ee(R),(t,r)=>(w(),d(`div`,ge,[m(`h2`,_e,T(o(a)(`settings.title`)),1),m(`div`,ve,[m(`h3`,ye,T(o(a)(`settings.retention.title`)),1),m(`p`,be,T(o(a)(`settings.retention.desc`)),1),m(`div`,xe,[m(`div`,Se,[_(o(k),{for:`retention-days`},{default:i(()=>[e(T(o(a)(`settings.retention.daysLabel`)),1)]),_:1}),_(o(P),{id:`retention-days`,modelValue:o(s),"onUpdate:modelValue":r[0]||=e=>n(s)?s.value=e:null,modelModifiers:{number:!0},type:`number`,min:X,max:Z,class:`w-32`,onInput:r[1]||=e=>O.value=``},null,8,[`modelValue`]),O.value?(w(),d(`p`,Ce,T(O.value),1)):h(``,!0)]),_(o(S),{size:`sm`,disabled:y.value,onClick:B},{default:i(()=>[e(T(o(a)(`common.save`)),1)]),_:1},8,[`disabled`])])]),m(`div`,we,[m(`h3`,Te,[_(o(F),{class:`h-4 w-4`}),e(` `+T(o(a)(`settings.storage.title`)),1)]),m(`p`,Ee,T(o(a)(`settings.storage.desc`)),1),p.value?(w(),d(c,{key:0},[m(`div`,De,[m(`div`,Oe,[m(`span`,null,T(o(a)(`settings.storage.dbTotalSize`)),1),m(`span`,ke,T(L(p.value.totalBytes))+` / `+T(g.value)+` MB `,1)]),_(o(G),{"model-value":Math.min(Y,p.value.totalBytes/(g.value*q)*Y)},null,8,[`model-value`])]),m(`div`,Ae,[m(`div`,K,[m(`span`,null,T(o(a)(`settings.storage.logSize`))+` (`+T(o(a)(`common.count`,{count:p.value.logCount}))+`)`,1),m(`span`,je,T(L(p.value.logTableBytes))+` / `+T(v.value)+` MB `,1)]),_(o(G),{"model-value":Math.min(Y,p.value.logTableBytes/(v.value*q)*Y)},null,8,[`model-value`])]),m(`div`,Me,[m(`div`,Ne,[m(`span`,null,T(o(a)(`settings.storage.logFileSize`)),1),m(`span`,Pe,T(L(p.value.logFileBytes??0)),1)])]),p.value.lastChecked?(w(),d(`p`,Fe,T(o(a)(`common.lastChecked`))+`:`+T(p.value.lastChecked),1)):h(``,!0)],64)):h(``,!0),m(`div`,Ie,[m(`div`,Le,[_(o(k),{for:`db-max-size`},{default:i(()=>[e(T(o(a)(`settings.storage.dbMaxSizeLabel`)),1)]),_:1}),_(o(P),{id:`db-max-size`,modelValue:g.value,"onUpdate:modelValue":r[2]||=e=>g.value=e,modelModifiers:{number:!0},type:`number`,min:Q,onInput:r[3]||=e=>A.value=``},null,8,[`modelValue`]),A.value?(w(),d(`p`,Re,T(A.value),1)):h(``,!0)]),m(`div`,ze,[_(o(k),{for:`log-max-size`},{default:i(()=>[e(T(o(a)(`settings.storage.logMaxSizeLabel`)),1)]),_:1}),_(o(P),{id:`log-max-size`,modelValue:v.value,"onUpdate:modelValue":r[4]||=e=>v.value=e,modelModifiers:{number:!0},type:`number`,min:Q,onInput:r[5]||=e=>M.value=``},null,8,[`modelValue`]),M.value?(w(),d(`p`,Be,T(M.value),1)):h(``,!0)])]),_(o(S),{size:`sm`,disabled:y.value,onClick:H},{default:i(()=>[e(T(o(a)(`common.saveThresholds`)),1)]),_:1},8,[`disabled`])]),m(`div`,Ve,[m(`h3`,He,T(o(a)(`settings.importExport.title`)),1),m(`p`,Ue,T(o(a)(`settings.importExport.desc`)),1),m(`div`,We,[_(o(S),{variant:`outline`,size:`sm`,disabled:y.value,onClick:U},{default:i(()=>[_(o(he),{class:`mr-2 h-4 w-4`}),e(` `+T(o(a)(`settings.importExport.export`)),1)]),_:1},8,[`disabled`]),_(o(S),{variant:`outline`,size:`sm`,disabled:y.value,onClick:r[6]||=e=>D.value?.click()},{default:i(()=>[_(o(I),{class:`mr-2 h-4 w-4`}),e(` `+T(o(a)(`settings.importExport.import`)),1)]),_:1},8,[`disabled`]),m(`input`,{ref_key:`fileInput`,ref:D,type:`file`,accept:`.json`,class:`hidden`,onChange:W},null,544)]),x.value?(w(),d(`div`,Ge,[m(`p`,Ke,T(o(a)(`settings.importExport.importComplete`)),1),(w(!0),d(c,null,te(x.value,(e,t)=>(w(),d(`p`,{key:t},T(t)+`: `+T(o(a)(`common.count`,{count:e})),1))),128))])):h(``,!0)]),_(o(oe),{open:C.value,"onUpdate:open":r[7]||=e=>C.value=e},{default:i(()=>[_(o(ae),null,{default:i(()=>[_(o(ie),null,{default:i(()=>[_(o(ce),null,{default:i(()=>[e(T(o(a)(`settings.importExport.confirmImport`)),1)]),_:1}),_(o(de),null,{default:i(()=>[e(T(o(a)(`settings.importExport.importWarning`))+` `+T(o(a)(`common.irreversible`)),1)]),_:1})]),_:1}),_(o(ue),null,{default:i(()=>[_(o(le),{disabled:b.value},{default:i(()=>[e(T(o(a)(`common.cancel`)),1)]),_:1},8,[`disabled`]),_(o(pe),{disabled:b.value,onClick:$},{default:i(()=>[e(T(b.value?o(a)(`settings.importExport.importing`):o(a)(`settings.importExport.confirmButton`)),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{$ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,Et as r,G as i,Ht as a,N as o,Pt as s,Q as c,R as l,X as u,Y as d,Z as f,et as p,k as m,n as h,pt as g,qt as _,tt as v}from"./button-DZwflOXO.js";import{t as y}from"./Label-CjUuzGNQ.js";import{ot as b,st as x,t as S}from"./index-PMAQyWJb.js";import{n as C,t as w}from"./CardContent-yiYaxAko.js";import{t as T}from"./Input-DEfnoFS3.js";var E={class:`min-h-screen flex items-center justify-center bg-background relative`},D={class:`text-center mb-6`},O={class:`text-sm text-muted-foreground mt-1`},k={key:0,class:`text-destructive text-sm`},A=v({__name:`Setup`,setup(v){let{t:A}=l(),{isDark:j,toggleTheme:M}=S(),N=n(),P=s(``),F=s(``),I=s(``),L=s(!1);async function R(){if(!P.value||!F.value){I.value=A(`setup.pleaseInputPassword`);return}if(P.value!==F.value){I.value=A(`setup.passwordMismatch`);return}if(P.value.length<6){I.value=A(`setup.passwordTooShort`);return}I.value=``,L.value=!0;try{await m.initializeSetup(P.value),o(),N.push({name:`dashboard`})}catch(e){I.value=t(e,A(`setup.setupFailed`))}finally{L.value=!1}}return(t,n)=>(g(),c(`div`,E,[p(a(h),{variant:`ghost`,size:`icon`,class:`absolute top-4 right-4 text-muted-foreground hover:text-foreground`,onClick:a(M)},{default:r(()=>[a(j)?(g(),u(a(b),{key:1,class:`w-4 h-4`})):(g(),u(a(x),{key:0,class:`w-4 h-4`}))]),_:1},8,[`onClick`]),p(a(C),{class:`w-full max-w-sm shadow-lg`},{default:r(()=>[p(a(w),{class:`pt-6`},{default:r(()=>[d(`div`,D,[n[2]||=d(`div`,{class:`w-12 h-12 bg-primary rounded-lg mx-auto mb-3 flex items-center justify-center`},[d(`svg`,{class:`w-7 h-7 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[d(`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),n[3]||=d(`h1`,{class:`text-xl font-semibold text-foreground`},`LLM Simple Router`,-1),d(`p`,O,_(a(A)(`setup.subtitle`)),1)]),d(`form`,{onSubmit:i(R,[`prevent`]),class:`space-y-4`},[d(`div`,null,[p(a(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:r(()=>[e(_(a(A)(`setup.password`)),1)]),_:1}),p(a(T),{modelValue:P.value,"onUpdate:modelValue":n[0]||=e=>P.value=e,type:`password`,placeholder:a(A)(`setup.passwordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),d(`div`,null,[p(a(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:r(()=>[e(_(a(A)(`setup.confirmPassword`)),1)]),_:1}),p(a(T),{modelValue:F.value,"onUpdate:modelValue":n[1]||=e=>F.value=e,type:`password`,placeholder:a(A)(`setup.confirmPasswordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),I.value?(g(),c(`p`,k,_(I.value),1)):f(``,!0),p(a(h),{type:`submit`,class:`w-full`,disabled:L.value},{default:r(()=>[e(_(L.value?a(A)(`setup.settingUp`):a(A)(`setup.setupButton`)),1)]),_:1},8,[`disabled`])],32)]),_:1})]),_:1})]))}});export{A as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Et as e,F as t,G as n,Gt as r,Ht as i,J as a,W as o,X as s,Z as c,ct as l,et as u,gt as d,i as f,m as p,o as m,pt as h,r as g,rt as _,tt as v,x as y,zt as b}from"./button-DZwflOXO.js";import{t as x}from"./VisuallyHiddenInput-BflIWQCW.js";import{B as S,H as C,q as w}from"./index-PMAQyWJb.js";var T=t(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),[E,D]=w(`SwitchRoot`),O=v({__name:`SwitchRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:`on`},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(t,{emit:r}){let u=t,g=r,{disabled:_}=b(u),v=p(u,`modelValue`,g,{defaultValue:u.defaultValue??u.falseValue,passive:u.modelValue===void 0}),y=a(()=>v.value===u.trueValue);function S(){_.value||(v.value=y.value?u.falseValue:u.trueValue)}let{forwardRef:w,currentElement:T}=m(),E=C(T),O=a(()=>u.id&&T.value?document.querySelector(`[for="${u.id}"]`)?.innerText:void 0);return D({checked:y,toggleCheck:S,disabled:_}),(t,r)=>(h(),s(i(f),l(t.$attrs,{id:t.id,ref:i(w),role:`switch`,type:t.as===`button`?`button`:void 0,value:t.value,"aria-label":t.$attrs[`aria-label`]||O.value,"aria-checked":y.value,"aria-required":t.required,"data-state":y.value?`checked`:`unchecked`,"data-disabled":i(_)?``:void 0,"as-child":t.asChild,as:t.as,disabled:i(_),onClick:S,onKeydown:o(n(S,[`prevent`]),[`enter`])}),{default:e(()=>[d(t.$slots,`default`,{modelValue:i(v),checked:y.value}),i(E)&&t.name?(h(),s(i(x),{key:0,type:`checkbox`,name:t.name,disabled:i(_),required:t.required,value:t.value,checked:y.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):c(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),k=v({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=E();return m(),(t,r)=>(h(),s(i(f),{"data-state":i(n).checked.value?`checked`:`unchecked`,"data-disabled":i(n).disabled.value?``:void 0,"as-child":t.asChild,as:t.as},{default:e(()=>[d(t.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),A=v({__name:`Switch`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},id:{},value:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},emits:[`update:modelValue`],setup(t,{emit:n}){let a=t,o=n,c=S(y(a,`class`,`size`),o);return(n,o)=>(h(),s(i(O),l({"data-slot":`switch`,"data-size":t.size},i(c),{class:i(g)(`data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-[state=unchecked]:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-3 aria-invalid:ring-3 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,a.class)}),{default:e(t=>[u(i(k),{"data-slot":`switch-thumb`,class:`bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground rounded-full group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-[state=unchecked]:translate-x-0 group-data-[size=sm]/switch:data-[state=unchecked]:translate-x-0 pointer-events-none block ring-0 transition-transform`},{default:e(()=>[d(n.$slots,`thumb`,r(_(t)))]),_:2},1024)]),_:3},16,[`data-size`,`class`]))}});export{T as n,A as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,Ct as t,E as n,Et as r,G as i,Gt as a,Ht as o,J as s,Kt as c,Pt as l,Q as u,S as d,X as f,ct as p,d as m,dt as h,et as g,g as _,gt as v,i as y,m as b,o as x,pt as S,qt as C,r as w,rt as T,tt as E,vt as D,w as O,wt as k,x as ee,yt as A,zt as te}from"./button-DZwflOXO.js";import{B as j,C as ne,E as re,L as ie,N as M,S as N,T as P,V as F,W as I,k as L,q as R,w as z,z as B}from"./index-PMAQyWJb.js";function V(e,t){let n=d(!1,300);O(()=>{n.value=!1});let r=l(null),i=_();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=U(a,H(a,i.getBoundingClientRect()),1),s=W(t.getBoundingClientRect());r.value=K([...o,...s]),n.value=!0}return k(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),k(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!G(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.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 x(),(e,n)=>(S(),f(o(y),p(t,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:r(()=>[v(e.$slots,`default`,{},()=>[e.rounded?(S(),u(`path`,J)):(S(),u(`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(e){let{forwardRef:t}=x(),n=ne(),i=s(()=>se[n.placedSide.value]);return(e,a)=>(S(),u(`span`,{ref:e=>{o(n).onArrowChange(e??void 0)},style:c({position:`absolute`,left:o(n).arrowX?.value?`${o(n).arrowX?.value}px`:void 0,top:o(n).arrowY?.value?`${o(n).arrowY?.value}px`:void 0,[i.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[o(n).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[o(n).placedSide.value],visibility:o(n).shouldHideArrow.value?`hidden`:void 0})},[g(oe,p(e.$attrs,{ref:o(t),style:{display:`block`},as:e.as,"as-child":e.asChild,rounded:e.rounded,width:e.width,height:e.height}),{default:r(()=>[v(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 x(),(e,n)=>(S(),f(o(ce),a(T(t)),{default:r(()=>[v(e.$slots,`default`)]),_:3},16))}}),[Y,ue]=R(`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:t,skipDelayDuration:r,disableHoverableContent:i,disableClosingTrigger:a,ignoreNonKeyboardFocus:o,disabled:s,content:c}=te(e);x();let u=l(!0),d=l(!1),{start:f,stop:p}=n(()=>{u.value=!0},r,{immediate:!1});return ue({isOpenDelayed:u,delayDuration:t,onOpen(){p(),u.value=!1},onClose(){f()},isPointerInTransitRef:d,disableHoverableContent:i,disableClosingTrigger:a,disabled:s,ignoreNonKeyboardFocus:o,content:c}),(e,t)=>v(e.$slots,`default`)}}),X=`tooltip.open`,[Z,fe]=R(`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(e,{emit:i}){let a=e,c=i;x();let u=Y(),d=s(()=>a.disableHoverableContent??u.disableHoverableContent.value),p=s(()=>a.disableClosingTrigger??u.disableClosingTrigger.value),m=s(()=>a.disabled??u.disabled.value),h=s(()=>a.delayDuration??u.delayDuration.value),g=s(()=>a.ignoreNonKeyboardFocus??u.ignoreNonKeyboardFocus.value),_=b(a,`open`,c,{defaultValue:a.defaultOpen,passive:a.open===void 0});t(_,e=>{u.onClose&&(e?(u.onOpen(),document.dispatchEvent(new CustomEvent(X))):u.onClose())});let y=l(!1),C=l(),w=s(()=>_.value?y.value?`delayed-open`:`instant-open`:`closed`),{start:T,stop:E}=n(()=>{y.value=!0,_.value=!0},h,{immediate:!1});function D(){E(),y.value=!1,_.value=!0}function O(){E(),_.value=!1}function k(){T()}return fe({contentId:``,open:_,stateAttribute:w,trigger:C,onTriggerChange(e){C.value=e},onTriggerEnter(){u.isOpenDelayed.value?k():D()},onTriggerLeave(){d.value?O():E()},onOpen:D,onClose:O,disableHoverableContent:d,disableClosingTrigger:p,disabled:m,ignoreNonKeyboardFocus:g}),(e,t)=>(S(),f(o(P),null,{default:r(()=>[v(e.$slots,`default`,{open:o(_)})]),_: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,l=Z(),u=Y(),{forwardRef:d,currentElement:_}=x(),y=s(()=>a.ariaLabel||_.value?.textContent),b=s(()=>{let{ariaLabel:e,...t}=a;return I(t,u.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return h(()=>{m(window,`scroll`,e=>{e.target?.contains(l.trigger.value)&&l.onClose()},{capture:!0}),m(window,X,l.onClose)}),(t,n)=>(S(),f(o(M),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>c(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{o(l).disableClosingTrigger.value&&o(l).trigger.value?.contains(e.target)&&e.preventDefault(),c(`pointerDownOutside`,e)},onFocusOutside:n[2]||=i(()=>{},[`prevent`]),onDismiss:n[3]||=e=>o(l).onClose()},{default:r(()=>[g(o(N),p({ref:o(d),"data-state":o(l).stateAttribute.value},{...t.$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:r(()=>[v(t.$slots,`default`),g(o(re),{id:o(l).contentId,role:`tooltip`},{default:r(()=>[e(C(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=F(e),{forwardRef:n,currentElement:i}=x(),{trigger:a,onClose:s}=Z(),c=Y(),{isPointerInTransit:l,onPointerExit:u}=V(a,i);return c.isPointerInTransitRef=l,u(()=>{s()}),(e,i)=>(S(),f(Q,p({ref:o(n)},o(t)),{default:r(()=>[v(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,i=t,a=Z(),s=j(n,i),{forwardRef:c}=x();return(e,t)=>(S(),f(o(ie),{present:e.forceMount||o(a).open.value},{default:r(()=>[(S(),f(D(o(a).disableHoverableContent.value?Q:me),p({ref:o(c)},o(s)),{default:r(()=>[v(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)=>(S(),f(o(L),a(T(t)),{default:r(()=>[v(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(e){let t=e,n=Z(),i=Y();n.contentId||=B(void 0,`reka-tooltip-content`);let{forwardRef:a,currentElement:c}=x(),u=l(!1),d=l(!1),m=s(()=>n.disabled.value?{}:{click:D,focus:T,pointermove:C,pointerleave:w,pointerdown:b,blur:E});h(()=>{n.onTriggerChange(c.value)});function _(){setTimeout(()=>{u.value=!1},1)}function b(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),u.value=!0,document.addEventListener(`pointerup`,_,{once:!0})}function C(e){e.pointerType!==`touch`&&!d.value&&!i.isPointerInTransitRef.value&&(n.onTriggerEnter(),d.value=!0)}function w(){n.onTriggerLeave(),d.value=!1}function T(e){u.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function E(){n.onClose()}function D(){n.disableClosingTrigger.value||n.onClose()}return(e,i)=>(S(),f(o(z),{"as-child":``,reference:e.reference},{default:r(()=>[g(o(y),p({ref:o(a),"aria-describedby":o(n).open.value?o(n).contentId:void 0,"data-state":o(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},A(m.value)),{default:r(()=>[v(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=j(e,t);return(e,t)=>(S(),f(o(pe),p({"data-slot":`tooltip`},o(n)),{default:r(t=>[v(e.$slots,`default`,a(T(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,i=t,a=j(ee(n,`class`),i);return(e,t)=>(S(),f(o(ge),null,{default:r(()=>[g(o(he),p({"data-slot":`tooltip-content`},{...o(a),...e.$attrs},{class:o(w)(`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:r(()=>[v(e.$slots,`default`),g(o(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)=>(S(),f(o(de),a(T(t)),{default:r(()=>[v(e.$slots,`default`)]),_:3},16))}}),be=E({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(S(),f(o($),p({"data-slot":`tooltip-trigger`},t),{default:r(()=>[v(e.$slots,`default`)]),_:3},16))}});export{_e as i,ye as n,ve as r,be as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,Et as t,Ht as n,K as r,Q as i,R as a,Wt as o,Y as s,Z as c,et as l,pt as u,qt as d,tt as f}from"./button-DZwflOXO.js";import{t as p}from"./Label-CjUuzGNQ.js";import{f as m,g as h,h as g,m as _,p as v}from"./index-PMAQyWJb.js";import{t as y}from"./Input-DEfnoFS3.js";var b={key:1,class:`text-[10px] text-muted-foreground leading-snug`},x=f({__name:`ConcurrencyControl`,props:{mode:{},maxConcurrency:{default:10},queueTimeoutMs:{default:12e4},maxQueueSize:{default:100},compact:{type:Boolean,default:!1}},emits:[`update:mode`,`update:maxConcurrency`,`update:queueTimeoutMs`,`update:maxQueueSize`],setup(f,{emit:x}){let{t:S}=a(),C=x;return(a,x)=>(u(),i(`div`,{class:o(f.compact?`space-y-2`:`flex items-end gap-2 flex-wrap`)},[s(`div`,{class:o([f.compact?``:`w-36`,`space-y-1`])},[l(n(p),{class:`text-xs text-muted-foreground`},{default:t(()=>[e(d(n(S)(`providers.concurrency.mode`)),1)]),_:1}),l(n(h),{"model-value":f.mode,"onUpdate:modelValue":x[0]||=e=>C(`update:mode`,e)},{default:t(()=>[l(n(v),{class:`w-full text-xs data-[size=default]:h-7`},{default:t(()=>[l(n(m))]),_:1}),l(n(g),null,{default:t(()=>[l(n(_),{value:`auto`},{default:t(()=>[e(d(n(S)(`providers.concurrency.autoAdaptive`)),1)]),_:1}),l(n(_),{value:`manual`},{default:t(()=>[e(d(n(S)(`providers.concurrency.manual`)),1)]),_:1}),l(n(_),{value:`none`},{default:t(()=>[e(d(n(S)(`providers.concurrency.none`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])],2),f.mode===`none`?c(``,!0):(u(),i(r,{key:0},[s(`div`,{class:o([f.compact?``:`w-28`,`space-y-1`])},[l(n(p),{class:`text-xs text-muted-foreground`},{default:t(()=>[e(d(n(S)(`providers.concurrency.maxConcurrency`)),1)]),_:1}),l(n(y),{"model-value":f.maxConcurrency,type:`number`,min:`1`,max:`100`,class:`text-xs md:text-xs md:text-xs h-7`,"onUpdate:modelValue":x[1]||=e=>C(`update:maxConcurrency`,Number(e))},null,8,[`model-value`])],2),s(`div`,{class:o([f.compact?``:`w-32`,`space-y-1`])},[l(n(p),{class:`text-xs text-muted-foreground`},{default:t(()=>[e(d(n(S)(`providers.concurrency.queueTimeout`)),1)]),_:1}),l(n(y),{"model-value":f.queueTimeoutMs,type:`number`,min:`0`,placeholder:n(S)(`providers.shared.queueTimeoutPlaceholder`),class:`text-xs md:text-xs md:text-xs h-7`,"onUpdate:modelValue":x[2]||=e=>C(`update:queueTimeoutMs`,Number(e))},null,8,[`model-value`,`placeholder`])],2),s(`div`,{class:o([f.compact?``:`w-32`,`space-y-1`])},[l(n(p),{class:`text-xs text-muted-foreground`},{default:t(()=>[e(d(n(S)(`providers.concurrency.maxQueueSize`)),1)]),_:1}),l(n(y),{"model-value":f.maxQueueSize,type:`number`,min:`1`,max:`1000`,class:`text-xs md:text-xs md:text-xs h-7`,"onUpdate:modelValue":x[3]||=e=>C(`update:maxQueueSize`,Number(e))},null,8,[`model-value`])],2)],64)),f.mode===`auto`&&!f.compact?(u(),i(`div`,b,d(n(S)(`providers.shared.autoHint`)),1)):c(``,!0)],2))}}),S=f({__name:`TransformRulesForm`,props:{injectHeaders:{},dropFields:{},requestDefaults:{},compact:{type:Boolean}},emits:[`update:injectHeaders`,`update:dropFields`,`update:requestDefaults`],setup(r,{emit:c}){let f=c,{t:m}=a();return(a,c)=>(u(),i(`div`,{class:o(r.compact?`space-y-2`:`space-y-3`)},[s(`div`,null,[l(n(p),{class:`text-[11px] text-muted-foreground`},{default:t(()=>[e(d(n(m)(`providers.transform.injectHeaders`)),1)]),_:1}),l(n(y),{"model-value":r.injectHeaders,placeholder:`{"x-custom": "value"}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":c[0]||=e=>f(`update:injectHeaders`,e)},null,8,[`model-value`])]),s(`div`,null,[l(n(p),{class:`text-[11px] text-muted-foreground`},{default:t(()=>[e(d(n(m)(`providers.transform.dropFields`)),1)]),_:1}),l(n(y),{"model-value":r.dropFields,placeholder:`logprobs, frequency_penalty`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":c[1]||=e=>f(`update:dropFields`,e)},null,8,[`model-value`])]),s(`div`,null,[l(n(p),{class:`text-[11px] text-muted-foreground`},{default:t(()=>[e(d(n(m)(`providers.transform.requestDefaults`)),1)]),_:1}),l(n(y),{"model-value":r.requestDefaults,placeholder:`{"max_tokens": 4096}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":c[2]||=e=>f(`update:requestDefaults`,e)},null,8,[`model-value`])])],2))}});export{x as n,S as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{$ as e,Ct as t,D as n,Et as r,F as i,G as a,Gt as o,Ht as s,It as c,J as l,K as u,Kt as d,Pt as f,Q as p,R as m,T as h,W as g,Wt as _,X as v,Y as y,Z as b,ct as x,dt as S,et as C,ft as w,gt as T,ht as E,i as D,lt as ee,m as O,n as k,o as A,p as j,pt as M,qt as N,r as P,rt as te,tt as F,vt as I,wt as L,x as R,zt as z}from"./button-DZwflOXO.js";import{t as ne}from"./copy-zQQvOqam.js";import{n as re,t as ie}from"./CollapsibleContent-DHkVSWt2.js";import{t as ae}from"./CollapsibleTrigger-DbVCeTdD.js";import{a as oe,i as se,n as ce,o as le,t as ue}from"./dialog-C7v6Gaak.js";import{n as de,t as fe}from"./RovingFocusItem-NxZWBEpr.js";import{B as pe,J as me,L as B,R as he,U as ge,V as _e,b as V,dt as ve,lt as H,q as U,ut as ye,x as be,z as xe}from"./index-PMAQyWJb.js";import{t as Se}from"./useClipboard-B4K3eogm.js";var Ce=i(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),we=i(`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`}]]),Te=i(`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`}]]),W=i(`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`}]]),Ee=i(`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`}]]),De=i(`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`}]]),[G,Oe]=U(`ScrollAreaRoot`),ke=F({__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 n=e,i=f(0),a=f(0),o=f(),c=f(),l=f(),u=f(),p=f(!1),m=f(!1),{type:h,dir:g,scrollHideDelay:_}=z(n),y=ge(g);function b(){o.value?.scrollTo({top:0})}function x(){o.value?.scrollTo({top:0,left:0})}t({viewport:o,scrollTop:b,scrollTopLeft:x});let{forwardRef:S,currentElement:C}=A();return Oe({type:h,dir:y,scrollHideDelay:_,scrollArea:C,viewport:o,onViewportChange:e=>{o.value=e||void 0},content:c,onContentChange:e=>{c.value=e},scrollbarX:l,scrollbarXEnabled:p,scrollbarY:u,scrollbarYEnabled:m,onScrollbarXChange:e=>{l.value=e||void 0},onScrollbarYChange:e=>{u.value=e||void 0},onScrollbarXEnabledChange:e=>{p.value=e},onScrollbarYEnabledChange:e=>{m.value=e},onCornerWidthChange:e=>{i.value=e},onCornerHeightChange:e=>{a.value=e}}),(e,t)=>(M(),v(s(D),{ref:s(S),"as-child":n.asChild,as:e.as,dir:s(y),style:d({position:`relative`,"--reka-scroll-area-corner-width":`${i.value}px`,"--reka-scroll-area-corner-height":`${a.value}px`})},{default:r(()=>[T(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`dir`,`style`]))}}),Ae=F({__name:`ScrollAreaCornerImpl`,setup(e){let n=G(),i=f(0),a=f(0),o=l(()=>!!i.value&&!!a.value);function c(){let e=n.scrollbarX.value?.offsetHeight||0;n.onCornerHeightChange(e),a.value=e}function u(){let e=n.scrollbarY.value?.offsetWidth||0;n.onCornerWidthChange(e),i.value=e}return j(n.scrollbarX.value,c),j(n.scrollbarY.value,u),t(()=>n.scrollbarX.value,c),t(()=>n.scrollbarY.value,u),(e,t)=>o.value?(M(),v(s(D),x({key:0,style:{width:`${i.value}px`,height:`${a.value}px`,position:`absolute`,right:s(n).dir.value===`ltr`?0:void 0,left:s(n).dir.value===`rtl`?0:void 0,bottom:0}},e.$parent?.$props),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`style`])):b(`v-if`,!0)}}),je=F({__name:`ScrollAreaCorner`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=A(),i=G(),a=l(()=>!!i.scrollbarX.value&&!!i.scrollbarY.value),o=l(()=>i.type.value!==`scroll`&&a.value);return(e,i)=>o.value?(M(),v(Ae,x({key:0},t,{ref:s(n)}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16)):b(`v-if`,!0)}});function Me(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 K(e){let t=Ne(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Ne(e,t){let n=e/t;return Number.isNaN(n)?0:n}function Pe(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 Fe(e,t,n=`ltr`){let r=K(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=me(e,c[0],c[1]);return Me([0,o],[0,s])(l)}function q(e){return e?Number.parseInt(e,10):0}function Ie(e,t,n,r=`ltr`){let i=K(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 Me([c,l],d)(e)}function Le(e,t){return e>0&&e<t}var Re=F({__name:`ScrollAreaScrollbarX`,setup(e){let t=G(),n=Y(),{forwardRef:i,currentElement:a}=A();S(()=>{a.value&&t.onScrollbarXChange(a.value)});let o=l(()=>n.sizes.value);return(e,a)=>(M(),v(Je,{ref:s(i),"is-horizontal":!0,"data-orientation":`horizontal`,style:d({bottom:0,left:s(t).dir.value===`rtl`?`var(--reka-scroll-area-corner-width)`:0,right:s(t).dir.value===`ltr`?`var(--reka-scroll-area-corner-width)`:0,"--reka-scroll-area-thumb-width":o.value?`${s(K)(o.value)}px`:void 0}),onOnDragScroll:a[0]||=e=>s(n).onDragScroll(e.x)},{default:r(()=>[T(e.$slots,`default`)]),_:3},8,[`style`]))}}),ze=F({__name:`ScrollAreaScrollbarY`,setup(e){let t=G(),n=Y(),{forwardRef:i,currentElement:a}=A();S(()=>{a.value&&t.onScrollbarYChange(a.value)});let o=l(()=>n.sizes.value);return(e,a)=>(M(),v(Je,{ref:s(i),"is-horizontal":!1,"data-orientation":`vertical`,style:d({top:0,right:s(t).dir.value===`ltr`?0:void 0,left:s(t).dir.value===`rtl`?0:void 0,bottom:`var(--reka-scroll-area-corner-height)`,"--reka-scroll-area-thumb-height":o.value?`${s(K)(o.value)}px`:void 0}),onOnDragScroll:a[0]||=e=>s(n).onDragScroll(e.y)},{default:r(()=>[T(e.$slots,`default`)]),_:3},8,[`style`]))}}),Be=F({__name:`ScrollAreaScrollbarAuto`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=G(),n=J(),{forwardRef:i}=A(),a=f(!1),o=h(()=>{if(t.viewport.value){let e=t.viewport.value.offsetWidth<t.viewport.value.scrollWidth,r=t.viewport.value.offsetHeight<t.viewport.value.scrollHeight;a.value=n.isHorizontal.value?e:r}},10);return S(()=>o()),j(t.viewport,o),j(t.content,o),(e,t)=>(M(),v(s(B),{present:e.forceMount||a.value},{default:r(()=>[C(qe,x(e.$attrs,{ref:s(i),"data-state":a.value?`visible`:`hidden`}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Ve=F({inheritAttrs:!1,__name:`ScrollAreaScrollbarGlimpse`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=G(),n=J(),{forwardRef:i}=A(),{state:a,dispatch:o}=he(`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`}}),c=l(()=>a.value!==`hidden`);function u(){o(`POINTER_ENTER`)}function d(){o(`POINTER_LEAVE`)}let f=h(()=>o(`SCROLL_END`),100);return L(e=>{if(a.value===`glimpse`){let n=window.setTimeout(o,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}}),L(e=>{if(a.value===`idle`){let n=window.setTimeout(o,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}}),L(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&&(o(`SCROLL`),f()),t=e};r.addEventListener(`scroll`,n),e(()=>{r.removeEventListener(`scroll`,n)})}}),S(()=>{let e=t.scrollArea.value;e&&(e.addEventListener(`pointerenter`,u),e.addEventListener(`pointerleave`,d))}),w(()=>{let e=t.scrollArea.value;e&&(e.removeEventListener(`pointerenter`,u),e.removeEventListener(`pointerleave`,d))}),(e,t)=>(M(),v(s(B),{present:e.forceMount||c.value},{default:r(()=>[C(Be,x(e.$attrs,{ref:s(i),"data-state":c.value?`visible`:`hidden`}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),He=F({inheritAttrs:!1,__name:`ScrollAreaScrollbarHover`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=G(),{forwardRef:n}=A(),i,a=f(!1);function o(){window.clearTimeout(i),a.value=!0}function c(){i=window.setTimeout(()=>{a.value=!1},t.scrollHideDelay.value)}return S(()=>{let e=t.scrollArea.value;e&&(e.addEventListener(`pointerenter`,o),e.addEventListener(`pointerleave`,c))}),w(()=>{let e=t.scrollArea.value;e&&(window.clearTimeout(i),e.removeEventListener(`pointerenter`,o),e.removeEventListener(`pointerleave`,c))}),(e,t)=>(M(),v(s(B),{present:e.forceMount||a.value},{default:r(()=>[C(Be,x(e.$attrs,{ref:s(n),"data-state":a.value?`visible`:`hidden`}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Ue=F({__name:`ScrollAreaScrollbarScroll`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=G(),n=J(),{forwardRef:i}=A(),{state:a,dispatch:o}=he(`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`}}),c=l(()=>a.value!==`hidden`);L(e=>{if(a.value===`idle`){let n=window.setTimeout(o,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}});let u=h(()=>o(`SCROLL_END`),100);return L(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&&(o(`SCROLL`),u()),t=e};r.addEventListener(`scroll`,n),e(()=>{r.removeEventListener(`scroll`,n)})}}),(e,t)=>(M(),v(s(B),{present:e.forceMount||c.value},{default:r(()=>[C(qe,x(e.$attrs,{ref:s(i),"data-state":c.value?`visible`:`hidden`}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),[J,We]=U(`ScrollAreaScrollbar`),Ge=F({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 n=e,{forwardRef:i}=A(),a=G(),o=l(()=>n.orientation===`horizontal`);t(o,()=>{o.value?a.onScrollbarXEnabledChange(!0):a.onScrollbarYEnabledChange(!0)},{immediate:!0}),w(()=>{a.onScrollbarXEnabledChange(!1),a.onScrollbarYEnabledChange(!1)});let{orientation:c,forceMount:u,asChild:d,as:f}=z(n);return We({orientation:c,forceMount:u,isHorizontal:o,as:f,asChild:d}),(e,t)=>s(a).type.value===`hover`?(M(),v(He,x({key:0},e.$attrs,{ref:s(i),"force-mount":s(u)}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`force-mount`])):s(a).type.value===`scroll`?(M(),v(Ue,x({key:1},e.$attrs,{ref:s(i),"force-mount":s(u)}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`force-mount`])):s(a).type.value===`glimpse`?(M(),v(Ve,x({key:2},e.$attrs,{ref:s(i),"force-mount":s(u)}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`force-mount`])):s(a).type.value===`auto`?(M(),v(Be,x({key:3},e.$attrs,{ref:s(i),"force-mount":s(u)}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`force-mount`])):s(a).type.value===`always`?(M(),v(qe,x({key:4},e.$attrs,{ref:s(i),"data-state":`visible`}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16)):b(`v-if`,!0)}}),[Y,Ke]=U(`ScrollAreaScrollbarVisible`),qe=F({__name:`ScrollAreaScrollbarVisible`,setup(e){let t=G(),n=J(),{forwardRef:i}=A(),a=f({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),o=l(()=>{let e=Ne(a.value.viewport,a.value.content);return e>0&&e<1}),c=f(),u=f(0);function d(e,n){if(_.value){let r=t.viewport.value.scrollLeft+e.deltaY;t.viewport.value.scrollLeft=r,Le(r,n)&&e.preventDefault()}else{let r=t.viewport.value.scrollTop+e.deltaY;t.viewport.value.scrollTop=r,Le(r,n)&&e.preventDefault()}}function p(e,t){_.value?u.value=t.x:u.value=t.y}function m(e){u.value=0}function h(e){a.value=e}function g(e,t){return Ie(e,u.value,a.value,t)}let _=l(()=>n.isHorizontal.value);function y(e){_.value?t.viewport.value.scrollLeft=g(e,t.dir.value):t.viewport.value.scrollTop=g(e)}function b(){if(_.value){if(t.viewport.value&&c.value){let e=t.viewport.value.scrollLeft,n=Fe(e,a.value,t.dir.value);c.value.style.transform=`translate3d(${n}px, 0, 0)`}}else if(t.viewport.value&&c.value){let e=t.viewport.value.scrollTop,n=Fe(e,a.value);c.value.style.transform=`translate3d(0, ${n}px, 0)`}}function S(e){c.value=e}return Ke({sizes:a,hasThumb:o,handleWheelScroll:d,handleThumbDown:p,handleThumbUp:m,handleSizeChange:h,onThumbPositionChange:b,onThumbChange:S,onDragScroll:y}),(e,t)=>_.value?(M(),v(Re,x({key:0},e.$attrs,{ref:s(i)}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16)):(M(),v(ze,x({key:1},e.$attrs,{ref:s(i)}),{default:r(()=>[T(e.$slots,`default`)]),_:3},16))}}),Je=F({__name:`ScrollAreaScrollbarImpl`,props:{isHorizontal:{type:Boolean,required:!0}},emits:[`onDragScroll`,`onWheelScroll`,`onThumbPointerDown`],setup(e,{emit:t}){let n=e,i=t,a=G(),o=Y(),c=J(),{forwardRef:l,currentElement:u}=A(),d=f(``),p=f();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=u.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=``),p.value=void 0}function y(e){let t=e.target,n=u.value?.contains(t),r=o.sizes.value.content-o.sizes.value.viewport;n&&o.handleWheelScroll(e,r)}S(()=>{document.addEventListener(`wheel`,y,{passive:!1})}),w(()=>{document.removeEventListener(`wheel`,y)});function b(){u.value&&(n.isHorizontal?o.handleSizeChange({content:a.viewport.value?.scrollWidth??0,viewport:a.viewport.value?.offsetWidth??0,scrollbar:{size:u.value.clientWidth??0,paddingStart:q(getComputedStyle(u.value).paddingLeft),paddingEnd:q(getComputedStyle(u.value).paddingRight)}}):o.handleSizeChange({content:a.viewport.value?.scrollHeight??0,viewport:a.viewport.value?.offsetHeight??0,scrollbar:{size:u.value?.clientHeight??0,paddingStart:q(getComputedStyle(u.value).paddingTop),paddingEnd:q(getComputedStyle(u.value).paddingBottom)}}),o.onThumbPositionChange())}return j(u,b),j(a.content,b),(e,t)=>(M(),v(s(D),{ref:s(l),style:{position:`absolute`},"data-scrollbarimpl":``,as:s(c).as.value,"as-child":s(c).asChild.value,onPointerdown:h,onPointermove:g,onPointerup:_},{default:r(()=>[T(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),Ye=F({__name:`ScrollAreaThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,i=G(),a=Y();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 c(e){a.handleThumbUp(e)}let{forwardRef:u,currentElement:d}=A(),p=f(),m=l(()=>i.viewport.value);function h(){p.value||(p.value=Pe(m.value,a.onThumbPositionChange),a.onThumbPositionChange())}return n(l(()=>a.sizes.value),()=>{a.onThumbChange(d.value),m.value&&(a.onThumbPositionChange(),m.value.addEventListener(`scroll`,h))}),w(()=>{m.value.removeEventListener(`scroll`,h),i.viewport.value?.removeEventListener(`scroll`,h)}),(e,n)=>(M(),v(s(D),{ref:s(u),"data-state":s(a).hasThumb?`visible`:`hidden`,style:{width:`var(--reka-scroll-area-thumb-width)`,height:`var(--reka-scroll-area-thumb-height)`},"as-child":t.asChild,as:e.as,onPointerdown:o,onPointerup:c},{default:r(()=>[T(e.$slots,`default`)]),_:3},8,[`data-state`,`as-child`,`as`]))}}),Xe=F({inheritAttrs:!1,__name:`ScrollAreaViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t,{expose:n}){let i=t,{nonce:a}=z(i),o=be(a),c=G(),l=f();S(()=>{c.onViewportChange(l.value),c.onContentChange(h.value)}),n({viewportElement:l});let{forwardRef:m,currentElement:h}=A();return(t,n)=>(M(),p(u,null,[y(`div`,x({ref_key:`viewportElement`,ref:l,"data-reka-scroll-area-viewport":``,style:{overflowX:s(c).scrollbarXEnabled.value?`scroll`:`hidden`,overflowY:s(c).scrollbarYEnabled.value?`scroll`:`hidden`}},t.$attrs,{tabindex:0}),[C(s(D),{ref:s(m),style:d({minWidth:s(c).scrollbarXEnabled.value?`fit-content`:void 0}),"as-child":i.asChild,as:t.as},{default:r(()=>[T(t.$slots,`default`)]),_:3},8,[`style`,`as-child`,`as`])],16),C(s(D),{as:`style`,nonce:s(o)},{default:r(()=>n[0]||=[e(` /* 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=F({__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 i(e){return n.includes(e)}let a=l(()=>i(t.orientation)?t.orientation:`horizontal`),o=l(()=>a.value===`vertical`?t.orientation:void 0),c=l(()=>t.decorative?{role:`none`}:{"aria-orientation":o.value,role:`separator`});return(e,t)=>(M(),v(s(D),x({as:e.as,"as-child":e.asChild,"data-orientation":a.value},c.value),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`data-orientation`]))}}),Qe=F({__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)=>(M(),v(Ze,o(te(t)),{default:r(()=>[T(e.$slots,`default`)]),_:3},16))}}),[$e,et]=U(`TabsRoot`),tt=F({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,i=t,{orientation:a,unmountOnHide:o,dir:l}=z(n),u=ge(l);A();let d=O(n,`modelValue`,i,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),p=f(),m=c(new Set);return et({modelValue:d,changeModelValue:e=>{d.value=e},orientation:a,dir:u,unmountOnHide:o,activationMode:n.activationMode,baseId:xe(void 0,`reka-tabs`),tabsList:p,contentIds:m,registerContent:e=>{m.value=new Set([...m.value,e])},unregisterContent:e=>{let t=new Set(m.value);t.delete(e),m.value=t}}),(e,t)=>(M(),v(s(D),{dir:s(u),"data-orientation":s(a),"as-child":e.asChild,as:e.as},{default:r(()=>[T(e.$slots,`default`,{modelValue:s(d)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function nt(e,t){return`${e}-trigger-${t}`}function rt(e,t){return`${e}-content-${t}`}var it=F({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{loop:t}=z(e),{forwardRef:n,currentElement:i}=A(),a=$e();return a.tabsList=i,(e,i)=>(M(),v(s(de),{"as-child":``,orientation:s(a).orientation.value,dir:s(a).dir.value,loop:s(t)},{default:r(()=>[C(s(D),{ref:s(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":s(a).orientation.value},{default:r(()=>[T(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),at=F({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n}=A(),i=$e(),o=l(()=>nt(i.baseId,t.value)),c=l(()=>i.contentIds.value.has(t.value)?rt(i.baseId,t.value):void 0),u=l(()=>t.value===i.modelValue.value);return(e,t)=>(M(),v(s(fe),{"as-child":``,focusable:!e.disabled,active:u.value},{default:r(()=>[C(s(D),{id:o.value,ref:s(n),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":u.value?`true`:`false`,"aria-controls":c.value,"data-state":u.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":s(i).orientation.value,onMousedown:t[0]||=a(t=>{!e.disabled&&t.ctrlKey===!1?s(i).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=g(t=>s(i).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=s(i).activationMode!==`manual`;!u.value&&!e.disabled&&t&&s(i).changeModelValue(e.value)}},{default:r(()=>[T(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}}),X=F({__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=R(t,`class`);return(e,r)=>(M(),v(s(Qe),x({"data-slot":`separator`},s(n),{class:s(P)(`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`]))}}),ot=F({__name:`Tabs`,props:{defaultValue:{},orientation:{},dir:{},activationMode:{},modelValue:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,i=t,a=pe(R(n,`class`),i);return(e,t)=>(M(),v(s(tt),x({"data-slot":`tabs`,"data-orientation":s(a).orientation||`horizontal`},s(a),{class:s(P)(`gap-2 group/tabs flex data-[orientation=horizontal]:flex-col`,n.class)}),{default:r(t=>[T(e.$slots,`default`,o(te(t)))]),_:3},16,[`data-orientation`,`class`]))}}),st=F({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`default`}},setup(e){let t=e,n=R(t,`class`,`variant`);return(i,a)=>(M(),v(s(it),x({"data-slot":`tabs-list`,"data-variant":e.variant},s(n),{class:s(P)(`rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-8 data-[variant=line]:rounded-none group/tabs-list inline-flex w-fit items-center justify-center text-muted-foreground group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col`,e.variant===`default`&&`bg-muted`,e.variant===`line`&&`gap-1 bg-transparent`,t.class)}),{default:r(()=>[T(i.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),ct=F({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=_e(R(t,`class`));return(e,i)=>(M(),v(s(at),x({"data-slot":`tabs-trigger`,class:s(P)(`gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg:not([class*=size-])]:size-4 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent`,`data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100`,t.class)},s(n)),{default:r(()=>[T(e.$slots,`default`)]),_:3},16,[`class`]))}}),Z=1e3;function lt(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:e.clientRequest??null,upstreamRequest:e.upstreamRequest??null,responseBody:t??null,upstreamResponse:null,errorMessage:null,createdAt:null,inputTokensEstimated:!1,clientType:null,cacheReadTokensEstimated:r?.cacheReadTokensEstimated??null,mappingReason:e.mappingReason}}function ut(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 dt=[`stream_error: upstream returned 200 but body contains error`],ft=new Set([`direct_format`,`group_base_rule`,`group_schedule`,`fallback_provider`,`overflow_redirect`,`failover_retry`]);function pt(e){if(e)try{let t=JSON.parse(e),n=Array.isArray(t)?t:[];if(n.length===0)return;for(let e of n)if(e.stage===`overflow`&&e.triggered===!0)return`overflow_redirect`;for(let e of n)if(e.stage===`routing`&&typeof e.mapping_reason==`string`)return ft.has(e.mapping_reason)?e.mapping_reason:void 0;return}catch{return}}function mt(e){return e?dt.some(t=>e.startsWith(t)):!1}function ht(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=ut(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:mt(e.error_message)?null:e.error_message,createdAt:e.created_at,inputTokensEstimated:e.input_tokens_estimated===1,clientType:e.client_type??null,cacheReadTokensEstimated:e.cache_read_tokens_estimated??null,mappingReason:pt(e.pipeline_snapshot)}}var gt=F({__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=R(t,`class`);return(i,a)=>(M(),v(s(Ge),x({"data-slot":`scroll-area-scrollbar`,"data-orientation":e.orientation},s(n),{class:s(P)(`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:r(()=>[C(s(Ye),{"data-slot":`scroll-area-thumb`,class:`rounded-full relative flex-1 bg-border`})]),_:1},16,[`data-orientation`,`class`]))}}),Q=F({__name:`ScrollArea`,props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=R(t,`class`);return(e,i)=>(M(),v(s(ke),x({"data-slot":`scroll-area`},s(n),{class:s(P)(`relative`,t.class)}),{default:r(()=>[C(s(Xe),{"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:r(()=>[T(e.$slots,`default`)]),_:3}),C(gt),C(s(je))]),_:3},16,[`class`]))}});function _t(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,$):JSON.stringify(n,null,$):e}catch{return e}}var $=2,vt=new Set([`choices`,`content`]);function yt(e,t){if(!e&&!t)return``;let n=bt(e),r=n?.headers,i=n?.body??t;if(r){let e={headers:r};return i&&(e.body=xt(i)),JSON.stringify(e,null,$)}if(i){let e=xt(i);return JSON.stringify(e,null,$)}return``}function bt(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 xt(e){try{let t=JSON.parse(e);if(typeof t==`object`&&t){let e={};for(let[n,r]of Object.entries(t))vt.has(n)||(e[n]=r);return e}return e}catch{return e}}var St={class:`space-y-3`},Ct={class:`flex items-center justify-between`},wt={class:`text-xs font-medium text-muted-foreground`},Tt={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},Et={class:`flex items-baseline gap-1 min-w-0`},Dt={class:`font-mono text-[11px] font-semibold truncate min-w-0`},Ot={class:`text-[10px] text-muted-foreground flex-shrink-0`},kt={key:0,class:`flex items-center gap-1.5`},At={class:`flex items-center gap-1.5`},jt={key:1,class:`flex items-center gap-1.5`},Mt={class:`font-mono text-[11px] text-muted-foreground truncate`},Nt={class:`grid grid-cols-2 gap-1.5`},Pt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},Ft={class:`text-[10px] text-muted-foreground`},It={class:`text-sm font-semibold truncate`},Lt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},Rt={class:`text-[10px] text-muted-foreground`},zt={class:`text-sm font-semibold truncate`},Bt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},Vt={class:`text-[10px] text-muted-foreground`},Ht={class:`text-sm font-semibold truncate`},Ut={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},Wt={class:`text-[10px] text-muted-foreground`},Gt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},Kt={class:`text-[10px] text-muted-foreground`},qt={class:`text-sm font-semibold truncate`},Jt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},Yt={class:`text-[10px] text-muted-foreground`},Xt={class:`text-sm font-semibold truncate`},Zt={key:2,class:`rounded-md px-2 py-1.5 bg-muted/50`},Qt={class:`text-[10px] text-muted-foreground`},$t={key:0,class:`text-[11px] font-semibold text-success-dark`},en={key:1,class:`text-[11px] font-semibold text-warning-dark`},tn={class:`space-y-1.5`},nn={class:`text-[10px] text-muted-foreground uppercase tracking-wider`},rn={key:0,class:`text-[11px] text-muted-foreground`},an={class:`text-muted-foreground`},on={class:`text-muted-foreground`},sn={class:`space-y-1`},cn={key:0,class:`flex items-center justify-between text-[11px]`},ln={class:`text-muted-foreground`},un={class:`font-mono`},dn={key:1,class:`flex items-center justify-between text-[11px]`},fn={class:`text-muted-foreground`},pn={class:`font-mono`},mn={key:2,class:`flex items-center justify-between text-[11px]`},hn={class:`text-muted-foreground`},gn={class:`font-mono truncate max-w-[160px]`},_n=2,vn=F({__name:`RequestOverviewPanel`,props:{overview:{}},setup(t){let{t:n}=m(),i=t,a=f(!1),o=l(()=>{let e=i.overview.clientType;return e===`claude-code`?`Claude Code`:e===`pi`?`Pi`:`Unknown`}),c=l(()=>yt(i.overview.upstreamResponse,i.overview.responseBody)||JSON.stringify({latencyMs:i.overview.latencyMs,ttftMs:i.overview.ttftMs,inputTokens:i.overview.inputTokens,outputTokens:i.overview.outputTokens,tokensPerSecond:i.overview.tokensPerSecond,cacheReadTokens:i.overview.cacheReadTokens,cacheWriteTokens:i.overview.cacheWriteTokens,stopReason:i.overview.stopReason,statusCode:i.overview.statusCode},null,_n)),d=l(()=>{if(i.overview.status===`pending`)return`pending`;let e=i.overview.statusCode;return i.overview.status===`failed`||e!=null&&e>=400?`error`:`success`}),h=l(()=>i.overview.status===`pending`&&i.overview.outputTokens!=null),g=l(()=>{let e=i.overview.outputTokens;return e==null?`--`:h.value?`+${e}`:`${e}`}),x=l(()=>i.overview.status===`pending`&&i.overview.latencyMs==null?`...`:i.overview.latencyMs==null?`--`:`${(i.overview.latencyMs/Z).toFixed(1)}s`),S=l(()=>{if(i.overview.tokensPerSecond!=null)return`${i.overview.tokensPerSecond.toFixed(1)}`;let{outputTokens:e,latencyMs:t}=i.overview;return e&&t?`${(e/t*Z).toFixed(1)}`:`--`});function w(e){return e!=null&&e>=400}return(i,l)=>(M(),p(`div`,St,[y(`div`,Ct,[y(`span`,wt,N(s(n)(`requestDetail.overviewTitle`)),1),C(s(k),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:l[0]||=e=>a.value=!a.value},{default:r(()=>[(M(),v(I(a.value?s(H):s(W)),{class:`h-3 w-3`})),e(` `+N(a.value?s(n)(`requestDetail.structured`):s(n)(`requestDetail.rawData`)),1)]),_:1})]),a.value?(M(),v(s(Q),{key:0,class:`rounded-md border flex-1`},{default:r(()=>[y(`pre`,Tt,N(c.value),1)]),_:1})):b(``,!0),a.value?b(``,!0):(M(),p(u,{key:1},[y(`div`,Et,[y(`span`,Dt,N(t.overview.model),1),y(`span`,Ot,`@ `+N(t.overview.providerName||s(n)(`requestDetail.unknownProvider`)),1)]),t.overview.mappingReason?(M(),p(`div`,kt,[C(s(V),{variant:`secondary`,class:`text-[10px]`},{default:r(()=>[e(N(s(n)(`requestDetail.mappingReason.${t.overview.mappingReason}`)),1)]),_:1})])):b(``,!0),y(`div`,At,[d.value===`pending`?(M(),v(s(V),{key:0,variant:`outline`,class:`border-warning/30 bg-warning-light text-warning-dark`},{default:r(()=>[l[1]||=y(`span`,{class:`w-1.5 h-1.5 rounded-full bg-warning animate-pulse`},null,-1),e(` `+N(s(n)(`requestDetail.pending`)),1)]),_:1})):d.value===`error`?(M(),v(s(V),{key:1,variant:`outline`,class:`border-danger/30 bg-danger-light text-danger-dark`},{default:r(()=>[e(N(t.overview.statusCode??s(n)(`requestDetail.failed`)),1)]),_:1})):(M(),v(s(V),{key:2,variant:`outline`,class:`border-success/30 bg-success-light text-success-dark`},{default:r(()=>[l[2]||=y(`span`,{class:`w-1.5 h-1.5 rounded-full bg-success`},null,-1),e(` `+N(s(n)(`requestDetail.completed`)),1)]),_:1})),C(s(V),{variant:`outline`},{default:r(()=>[e(N(t.overview.isStream?`SSE`:s(n)(`requestDetail.nonStream`)),1)]),_:1}),C(s(V),{variant:`outline`},{default:r(()=>[e(N(t.overview.apiType),1)]),_:1})]),t.overview.sessionId?(M(),p(`div`,jt,[C(s(V),{variant:`secondary`,class:`text-[10px]`},{default:r(()=>[...l[3]||=[e(`Session`,-1)]]),_:1}),y(`span`,Mt,N(t.overview.sessionId.slice(0,8)),1)])):b(``,!0),y(`div`,Nt,[y(`div`,Pt,[y(`div`,Ft,N(s(n)(`requestDetail.latency`)),1),y(`div`,It,N(x.value),1)]),y(`div`,Lt,[y(`div`,Rt,N(s(n)(`requestDetail.ttft`)),1),y(`div`,zt,N(t.overview.ttftMs==null?`--`:`${t.overview.ttftMs}ms`),1)]),y(`div`,Bt,[y(`div`,Vt,N(t.overview.inputTokensEstimated?s(n)(`requestDetail.estInputTokens`):s(n)(`requestDetail.inputTokens`)),1),y(`div`,Ht,N(t.overview.inputTokens==null?`--`:t.overview.inputTokens),1)]),y(`div`,Ut,[y(`div`,Wt,N(s(n)(`requestDetail.outputTokens`)),1),y(`div`,{class:_([`text-sm font-semibold truncate`,h.value?`diff-added`:``])},N(g.value),3)]),y(`div`,Gt,[y(`div`,Kt,N(s(n)(`requestDetail.speed`)),1),y(`div`,qt,N(S.value),1)]),y(`div`,Jt,[y(`div`,Yt,N(s(n)(`requestDetail.cacheRead`)),1),y(`div`,Xt,N(t.overview.cacheReadTokens==null?`--`:t.overview.cacheReadTokens),1)])]),t.overview.cacheReadTokens!=null&&t.overview.cacheReadTokens>0?(M(),p(`div`,Zt,[y(`div`,Qt,N(s(n)(`requestDetail.cacheSource`)),1),t.overview.cacheReadTokensEstimated===0?(M(),p(`div`,$t,N(s(n)(`requestDetail.cacheSourceApi`)),1)):(M(),p(`div`,en,N(s(n)(`requestDetail.cacheSourceEstimated`)),1))])):b(``,!0),C(s(X)),y(`div`,tn,[y(`span`,nn,N(s(n)(`requestDetail.attemptHistory`)),1),t.overview.attempts.length===0?(M(),p(`div`,rn,N(s(n)(`requestDetail.noRetry`)),1)):b(``,!0),(M(!0),p(u,null,E(t.overview.attempts,(e,t)=>(M(),p(`div`,{key:t,class:`flex items-center gap-1 text-[11px]`},[y(`span`,an,`#`+N(t+1),1),y(`span`,{class:_(w(e.statusCode)?`diff-removed`:`diff-added`)},N(e.statusCode??`--`),3),y(`span`,on,N((e.latencyMs/s(Z)).toFixed(1))+`s`,1)]))),128))]),C(s(X)),y(`div`,sn,[t.overview.clientType==null?b(``,!0):(M(),p(`div`,cn,[y(`span`,ln,N(s(n)(`requestDetail.clientType`)),1),y(`span`,un,N(o.value),1)])),t.overview.statusCode==null?b(``,!0):(M(),p(`div`,dn,[y(`span`,fn,N(s(n)(`requestDetail.statusCodeLabel`)),1),y(`span`,pn,N(t.overview.statusCode),1)])),t.overview.clientIp?(M(),p(`div`,mn,[y(`span`,hn,N(s(n)(`requestDetail.clientIp`)),1),y(`span`,gn,N(t.overview.clientIp),1)])):b(``,!0)])],64))]))}}),yn={key:0,class:`rounded-md border bg-card`},bn={class:`flex items-center gap-1.5 px-2.5 py-1.5 border-b`},xn={class:`text-xs font-medium`},Sn={class:`px-2.5 py-2`},Cn={key:0,class:`inline-block w-1.5 h-3.5 dot-success animate-pulse ml-0.5 align-text-bottom`},wn={class:`flex items-center gap-1.5 px-2.5 py-1.5 cursor-pointer hover:brightness-95 rounded-t-md`},Tn={class:`text-xs font-medium`},En={key:0,class:`text-xs text-muted-foreground`},Dn={class:`px-2.5 pb-2`},On=F({__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(n){let{t:i}=m(),a=n,o=f(a.type===`text`?!0:a.defaultOpen),c=f(null),u=l(()=>{switch(a.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=l(()=>{switch(a.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`}}),h=l(()=>{switch(a.type){case`thinking`:return we;case`tool_use`:return De;case`tool_result`:return Te;default:return Ee}}),g=l(()=>{switch(a.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`}}),x=l(()=>{switch(a.type){case`thinking`:return i(`requestDetail.thinking`);case`tool_use`:return i(`requestDetail.toolUse`);case`tool_result`:return i(`requestDetail.toolResultLabel`);default:return``}}),S=l(()=>a.type===`tool_use`?i(`requestDetail.waitingData`):a.type===`tool_result`?i(`requestDetail.noReturnData`):``);return t(()=>a.content,()=>{a.autoScroll&&ee(()=>{let e=c.value;e&&(e.scrollTop=e.scrollHeight)})}),(t,a)=>n.type===`text`?(M(),p(`div`,yn,[y(`div`,bn,[C(s(Ee),{class:`h-3.5 w-3.5 diff-added`}),y(`span`,xn,N(s(i)(`requestDetail.reply`)),1)]),y(`div`,Sn,[y(`pre`,{ref_key:`contentRef`,ref:c,class:`text-xs overflow-y-auto whitespace-pre-wrap break-words`,style:{"max-height":`300px`}},[y(`code`,null,[e(N(n.content),1),n.showCursor?(M(),p(`span`,Cn)):b(``,!0)])],512)])])):(M(),v(s(re),{key:1,open:o.value,"onUpdate:open":a[0]||=e=>o.value=e,class:_([`rounded-md border`,u.value])},{default:r(()=>[C(s(ae),{"as-child":``},{default:r(()=>[y(`div`,wn,[C(s(ye),{class:_([`h-3 w-3 transition-transform duration-200`,{"rotate-180":!o.value}])},null,8,[`class`]),(M(),v(I(h.value),{class:_([`h-3.5 w-3.5`,g.value])},null,8,[`class`])),y(`span`,Tn,N(x.value),1),n.type===`thinking`?(M(),p(`span`,En,`(`+N(s(i)(`requestDetail.charCount`,{count:n.content.length}))+`)`,1)):b(``,!0),n.type===`tool_use`&&n.name?(M(),v(s(V),{key:1,variant:`secondary`,class:`text-xs`},{default:r(()=>[e(N(n.name),1)]),_:1})):b(``,!0)])]),_:1}),C(s(ie),null,{default:r(()=>[y(`div`,Dn,[y(`pre`,{ref_key:`contentRef`,ref:c,class:_([`text-xs rounded p-2 overflow-y-auto whitespace-pre-wrap break-words`,d.value]),style:{"max-height":`300px`}},[y(`code`,null,N(n.content||S.value),1)],2)])]),_:1})]),_:1},8,[`open`,`class`]))}}),kn=2;function An(e){return e.map(e=>{let t=e;return t.type===`thinking`?{type:`thinking`,content:typeof t.thinking==`string`?t.thinking:``}:t.type===`text`?{type:`text`,content:typeof t.text==`string`?t.text:``}:t.type===`tool_use`?{type:`tool_use`,content:JSON.stringify(t.input??{},null,kn),name:typeof t.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 jn(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:typeof n.text==`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,kn),name:typeof n.name==`string`?n.name:typeof e.name==`string`?e.name:``})}}}return t}function Mn(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)?An(o.content):n===`openai`&&Array.isArray(o.choices)?jn(o.choices):[]}var Nn=5,Pn=2,Fn=3;function In(e,t,n){let r=l(()=>{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(Nn).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:l(()=>{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:typeof e?.type==`string`?e.type:``,content:``,eventCount:0,toolName:typeof 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,Pn))}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:l(()=>{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=typeof i?.id==`string`?i.id:``,t=typeof i?.model==`string`?i.model:``,n=Number(i?.usage?.input_tokens??0)}if(r.type===`message_delta`){let e=r.delta,t=r.usage;a=typeof e?.stop_reason==`string`?e.stop_reason:``,i=Number(t?.output_tokens??0)}}return{id:e,model:t,inputTokens:n,outputTokens:i,stopReason:a}}),openaiAssembled:l(()=>{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=c.role),c?.content&&(i+=c.content,s++),r[0]?.finish_reason&&(a=r[0].finish_reason),n.usage&&(o=n.usage)}return{role:e,content:i,contentEventCount:s,finishReason:a,usage:o}}),anthropicMessageStart:l(()=>{if(!t)return null;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:typeof e?.id==`string`?e.id:``,model:typeof e?.model==`string`?e.model:``,input_tokens:Number(e?.usage?.input_tokens??0)}}}return null}),anthropicContentBlockStarts:l(()=>{if(!t)return[];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:typeof t?.type==`string`?t.type:``})}}return e}),anthropicDeltaGroups:l(()=>{if(!t)return[];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=typeof r?.type==`string`?r.type:`unknown`;e[i]||(e[i]={deltaType:i,kept:0,folded:0,foldedChars:0});let a=e[i];if(a.kept<Fn)a.kept++;else{a.folded++;let e=r,t=e.thinking||e.text||e.partial_json||``;a.foldedChars+=t.length}}return Object.values(e).filter(e=>e.kept>0||e.folded>0)}),anthropicMessageDelta:l(()=>{if(!t)return null;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:typeof e?.stop_reason==`string`?e.stop_reason:``}}}return null}),anthropicMessageStop:l(()=>t?r.value.some(e=>e.type===`data`&&e.data.type===`message_stop`):!1),openaiSseRole:l(()=>{if(!t)return null;for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.role)return t.role}return null}),openaiSseFirstContent:l(()=>{if(!t)return null;for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.content)return t.content}return null}),openaiSseFinishReason:l(()=>{if(!t)return null;for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.finish_reason;if(t)return t}return null}),openaiSseCollapsedCount:l(()=>{if(!t)return 0;let e=0,n=!1;for(let t of r.value){if(t.type!==`data`)continue;let r=(t.data.choices||[])[0]?.delta;if(!n){r?.content&&(n=!0);continue}(r?.content||r?.role)&&e++}return e}),openaiSseUsage:l(()=>{if(!t)return null;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 Ln={class:`flex flex-col gap-2 min-h-0 flex-1`},Rn={class:`flex items-center justify-between flex-shrink-0`},zn={class:`text-xs font-medium text-muted-foreground`},Bn={key:0,class:`relative flex-1 min-h-0`},Vn={key:0,class:`flex flex-col gap-2`},Hn={key:0,class:`text-xs text-muted-foreground`},Un={key:1,class:`text-xs text-muted-foreground`},Wn={key:2,class:`text-xs text-muted-foreground`},Gn={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},Kn=50,qn=F({__name:`ResponseViewer`,props:{source:{},apiType:{},isStream:{type:Boolean},streamContent:{default:null},nonStreamBody:{default:null},responseBody:{default:null},upstreamResponse:{default:null},status:{}},setup(n){let{t:i}=m(),a=f(null),o=n,c=f(!1),d=l(()=>!!(o.responseBody||o.upstreamResponse)),{assembledBlocks:h}=In(l(()=>{if(o.source!==`history`)return``;let e=o.responseBody||o.upstreamResponse||``;try{return JSON.parse(e).body||e}catch{return e}}),o.isStream,o.apiType),g=l(()=>{if(o.source===`realtime`){let e=o.streamContent?.blocks;if(e&&e.length>0)return e;if(o.responseBody){let e=Mn(o.responseBody,null,o.apiType);if(e.length>0)return e}let t=o.streamContent?.rawChunks;return t&&t.trim().length>0?[{type:`text`,content:t}]:[]}let e=Mn(o.responseBody??null,o.upstreamResponse??null,o.apiType);if(e.length>0)return e;if(o.responseBody&&o.responseBody.trim().length>0)return[{type:`text`,content:o.responseBody}];let t=[`thinking`,`text`,`tool_use`,`tool_result`];return h.value.map(e=>({type:t.includes(e.type)?e.type:`text`,content:e.content,...e.toolName?{name:e.toolName}:{}}))}),_=l(()=>o.source===`realtime`?o.streamContent?.rawChunks||o.responseBody||``:_t(o.upstreamResponse??null,o.responseBody??null)),x=f(!1);function S(){let e=a.value;e&&(x.value=e.scrollHeight-e.scrollTop-e.clientHeight>Kn)}function w(){let e=a.value;e&&(e.scrollTop=e.scrollHeight)}return t(g,()=>{x.value||ee(()=>w())},{deep:!0}),(t,n)=>(M(),p(`div`,Ln,[y(`div`,Rn,[y(`span`,zn,N(s(i)(`requestDetail.responseTitle`)),1),C(s(k),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:n[0]||=e=>c.value=!c.value},{default:r(()=>[(M(),v(I(c.value?s(H):s(W)),{class:`h-3 w-3`})),e(` `+N(c.value?s(i)(`requestDetail.structured`):o.isStream?s(i)(`requestDetail.rawSse`):s(i)(`requestDetail.rawJson`)),1)]),_:1})]),c.value?(M(),v(s(Q),{key:1,class:`flex-1 min-h-0 rounded-md border`},{default:r(()=>[y(`pre`,Gn,N(_.value),1)]),_:1})):(M(),p(`div`,Bn,[y(`div`,{ref_key:`structuredRef`,ref:a,class:`flex-1 min-h-0 overflow-y-auto`,onScroll:S},[g.value.length>0?(M(),p(`div`,Vn,[(M(!0),p(u,null,E(g.value,(e,t)=>(M(),v(On,{key:t,type:e.type,content:e.content,name:e.name,"show-cursor":o.status===`pending`&&t===g.value.length-1,"auto-scroll":o.status===`pending`&&t===g.value.length-1},null,8,[`type`,`content`,`name`,`show-cursor`,`auto-scroll`]))),128))])):b(``,!0),g.value.length===0?(M(),p(u,{key:1},[o.status===`pending`&&!o.streamContent?.rawChunks?(M(),p(`p`,Hn,N(s(i)(`requestDetail.waitingResponse`)),1)):o.source===`history`&&o.isStream&&!d.value?(M(),p(`p`,Un,N(s(i)(`requestDetail.streamNotPersisted`)),1)):(M(),p(`p`,Wn,N(s(i)(`requestDetail.noResponseContent`)),1))],64)):b(``,!0)],544),x.value?(M(),v(s(k),{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:w},{default:r(()=>[C(s(Ce),{class:`h-3.5 w-3.5`})]),_:1})):b(``,!0)]))]))}}),Jn={class:`relative`},Yn={class:`bg-background text-foreground rounded-md p-3 text-xs overflow-auto max-h-[40vh] whitespace-pre-wrap break-all border`},Xn=F({__name:`JsonCopyBlock`,props:{content:{},hideCopyButton:{type:Boolean}},setup(t){let{t:n}=m(),i=t,{copied:a,copy:o}=Se();async function c(){await o(i.content)}return(i,o)=>(M(),p(`div`,Jn,[t.hideCopyButton?b(``,!0):(M(),v(s(k),{key:0,variant:`outline`,size:`sm`,class:`absolute top-2 right-2 h-7 text-xs`,onClick:c},{default:r(()=>[e(N(s(a)?s(n)(`logs.viewer.copied`):s(n)(`logs.viewer.copy`)),1)]),_:1})),y(`pre`,Yn,N(t.content),1)]))}}),Zn={class:`flex flex-col min-h-0 h-full`},Qn={class:`flex justify-end mb-1 flex-shrink-0`},$n={key:0,class:`space-y-3`},er={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},tr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},nr={key:0,class:`text-[11px] text-muted-foreground py-4 text-center`},rr={key:1,class:`text-[11px] text-muted-foreground py-2 text-center`},ir={key:2,class:`space-y-4`},ar={key:0},or={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},sr={class:`flex items-center gap-2 text-[11px]`},cr={class:`font-mono text-muted-foreground`},lr={class:`font-mono text-primary font-semibold`},ur={key:1},dr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},fr={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`},pr={key:2},mr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},hr={class:`space-y-1.5`},gr={class:`flex items-center gap-1.5 mb-1`},_r={key:1,class:`text-[9px] text-muted-foreground`},vr={key:0,class:`diff-removed line-through mb-0.5`},yr={key:1,class:`text-foreground overflow-y-auto max-h-40`},br={key:2,class:`text-muted-foreground text-[10px]`},xr={key:3},Sr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Cr={class:`space-y-1`},wr={class:`grid grid-cols-5 gap-1`},Tr=[`title`,`onClick`],Er={key:0,class:`rounded-md border bg-background p-2.5`},Dr={class:`flex items-center gap-2 mb-1`},Or={class:`text-[11px] font-semibold font-mono`},kr={key:0,class:`text-[11px] text-muted-foreground`},Ar={key:1,class:`mt-1 flex flex-wrap gap-1`},jr={key:4},Mr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Nr={class:`flex items-center gap-2 text-[11px]`},Pr={key:5},Fr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Ir={class:`flex items-center gap-2 text-[11px]`},Lr={class:`font-mono diff-removed line-through`},Rr={class:`font-mono diff-added font-medium`},zr=4,Br=5,Vr=F({__name:`RequestDiffViewer`,props:{overview:{}},setup(t){let{t:n}=m(),i=t,a=f(!1);function o(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 c(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(``):typeof t==`string`?t:t==null?``:JSON.stringify(t)}function d(e){if(!e)return``;let t=e.replace(/^Bearer\s+/i,``);return t.length<=zr?`***`:`${t.slice(0,zr)}***`}function h(e,t){let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n)return r}let g=l(()=>o(i.overview.clientRequest)),x=l(()=>o(i.overview.upstreamRequest)),S=l(()=>{let e=g.value?.body?.model,t=x.value?.body?.model;return{hasDiff:!!e&&!!t&&e!==t,from:e??``,to:t??``}}),w=l(()=>{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 c(e)}return null}),T=l(()=>{let e=x.value?.body?.messages??[],t=g.value?.body?.messages??[];if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=typeof i.role==`string`?i.role:`unknown`;if(a===`system`)continue;let o=c(i),s=t[r],l=s?c(s):null,u=l!==null&&o!==l,d=i.content,f=Array.isArray(d)?d:[],p=f.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_use`).map(e=>e.name).filter(Boolean),m=f.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_result`).length;n.push({role:a,text:o,removedText:u?l:null,modified:u,toolCalls:p,toolResultCount:m})}return n}),D=f(-1),ee=l(()=>{let e=[];for(let t=0;t<O.value.length;t+=Br)e.push({tools:O.value.slice(t,t+Br),startIdx:t});return e}),O=l(()=>{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}}):[]}),A=l(()=>{let e=g.value?.body?.stream_options!=null,t=x.value?.body?.stream_options!=null;return!e&&t}),j=l(()=>{if(!g.value?.headers||!x.value?.headers)return{hasDiff:!1,old:``,new:``};let e=h(g.value.headers,`authorization`),t=h(x.value.headers,`authorization`);return{hasDiff:!!e&&!!t&&e!==t,old:d(e),new:d(t)}});return(i,o)=>(M(),p(`div`,Zn,[y(`div`,Qn,[C(s(k),{variant:`outline`,size:`xs`,class:`gap-1`,onClick:o[0]||=e=>a.value=!a.value},{default:r(()=>[a.value?(M(),v(s(W),{key:0,class:`size-3`})):(M(),v(s(H),{key:1,class:`size-3`})),e(` `+N(a.value?s(n)(`requestDetail.structured`):s(n)(`requestDetail.rawJson`)),1)]),_:1})]),C(s(Q),{class:`flex-1 min-h-0`},{default:r(()=>[a.value?(M(),p(`div`,$n,[y(`div`,null,[y(`div`,er,N(s(n)(`requestDetail.clientRequest`)),1),C(Xn,{content:t.overview.clientRequest??`{}`},null,8,[`content`])]),y(`div`,null,[y(`div`,tr,N(s(n)(`requestDetail.upstreamRequest`)),1),C(Xn,{content:t.overview.upstreamRequest??`{}`},null,8,[`content`])])])):(M(),p(u,{key:1},[!x.value&&!g.value?(M(),p(`div`,nr,N(s(n)(`requestDetail.noRequestData`)),1)):!x.value&&g.value?(M(),p(`div`,rr,N(s(n)(`requestDetail.requestInProgress`)),1)):(M(),p(`div`,ir,[S.value.hasDiff?(M(),p(`div`,ar,[y(`div`,or,N(s(n)(`requestDetail.modelMapping`)),1),y(`div`,sr,[y(`span`,cr,N(S.value.from),1),o[1]||=y(`span`,{class:`text-muted-foreground`},`→`,-1),y(`span`,lr,N(S.value.to),1)])])):b(``,!0),w.value?(M(),p(`div`,ur,[y(`div`,dr,N(s(n)(`requestDetail.system`)),1),y(`pre`,fr,N(w.value),1)])):b(``,!0),T.value.length>0?(M(),p(`div`,pr,[y(`div`,mr,N(s(n)(`requestDetail.messagesCount`,{count:T.value.length})),1),y(`div`,hr,[(M(!0),p(u,null,E(T.value,(t,i)=>(M(),p(`div`,{key:i,class:_([`rounded-md border px-2.5 py-1.5 text-[11px]`,t.modified?`diff-modified`:`bg-background`])},[y(`div`,gr,[C(s(V),{variant:`outline`,class:_([`text-[9px] px-1.5 py-0 border-transparent`,t.role===`user`?`bg-role-user-bg text-role-user`:t.role===`assistant`?`bg-role-assistant-bg text-role-assistant`:`bg-role-thinking-bg text-role-thinking`])},{default:r(()=>[e(N(t.role),1)]),_:2},1032,[`class`]),t.modified?(M(),v(s(V),{key:0,variant:`outline`,class:`bg-role-thinking-bg text-role-thinking text-[9px] px-1.5 py-0 border-transparent`},{default:r(()=>[e(N(s(n)(`requestDetail.modified`)),1)]),_:1})):b(``,!0),t.toolCalls.length>0?(M(),p(`span`,_r,` → `+N(t.toolCalls.join(`, `)),1)):b(``,!0)]),t.modified&&t.removedText?(M(),p(`div`,vr,N(t.removedText),1)):b(``,!0),t.text?(M(),p(`div`,yr,N(t.text),1)):t.toolResultCount>0?(M(),p(`div`,br,N(s(n)(`requestDetail.toolResultCount`,{count:t.toolResultCount})),1)):b(``,!0)],2))),128))])])):b(``,!0),O.value.length>0?(M(),p(`div`,xr,[y(`div`,Sr,N(s(n)(`requestDetail.toolsCount`,{count:O.value.length})),1),y(`div`,Cr,[(M(!0),p(u,null,E(ee.value,(t,n)=>(M(),p(u,{key:n},[y(`div`,wr,[(M(!0),p(u,null,E(t.tools,(e,n)=>(M(),p(`div`,{key:n,class:_([`cursor-pointer rounded-md border px-1.5 py-1 text-[10px] truncate text-center transition-colors`,D.value===t.startIdx+n?`bg-role-tool-bg text-role-tool border-role-tool`:`bg-background hover:bg-muted`]),title:e.name,onClick:e=>D.value=D.value===t.startIdx+n?-1:t.startIdx+n},N(e.name),11,Tr))),128))]),D.value>=t.startIdx&&D.value<t.startIdx+t.tools.length?(M(),p(`div`,Er,[y(`div`,Dr,[y(`span`,Or,N(O.value[D.value].name),1)]),O.value[D.value].description?(M(),p(`p`,kr,N(O.value[D.value].description),1)):b(``,!0),O.value[D.value].params.length>0?(M(),p(`div`,Ar,[(M(!0),p(u,null,E(O.value[D.value].params,t=>(M(),v(s(V),{key:t,variant:`outline`,class:`text-[9px] px-1 py-0`},{default:r(()=>[e(N(t),1)]),_:2},1024))),128))])):b(``,!0)])):b(``,!0)],64))),128))])])):b(``,!0),A.value?(M(),p(`div`,jr,[y(`div`,Mr,N(s(n)(`requestDetail.streamOptions`)),1),y(`div`,Nr,[C(s(V),{variant:`outline`,class:`bg-success-light text-success-dark text-[9px] px-1.5 py-0 border-transparent`},{default:r(()=>[e(N(s(n)(`requestDetail.injected`)),1)]),_:1}),o[2]||=y(`code`,{class:`font-mono diff-added`},`{ "include_usage": true }`,-1)])])):b(``,!0),j.value.hasDiff?(M(),p(`div`,Pr,[y(`div`,Fr,N(s(n)(`requestDetail.authReplacement`)),1),y(`div`,Ir,[y(`span`,Lr,N(j.value.old),1),C(s(X),{orientation:`vertical`,class:`h-3`}),y(`span`,Rr,N(j.value.new),1)])])):b(``,!0)]))],64))]),_:1})]))}}),Hr={class:`h-[3px] w-full overflow-hidden`},Ur={key:0,class:`h-full w-[40%] progress-active`,style:{animation:`shimmer 1.5s infinite`}},Wr={key:1,class:`h-full w-full progress-failed`},Gr={key:2,class:`h-full w-full progress-active`},Kr={key:0,class:`font-mono text-[11px] text-muted-foreground`},qr={key:0,class:`flex gap-0 px-4 pb-4 min-h-0 h-[calc(85vh-80px)]`},Jr={class:`w-[280px] border-r pr-3 flex-shrink-0 overflow-y-auto min-h-0`},Yr={class:`flex-1 flex flex-col min-w-0 min-h-0 pl-3`},Xr={key:0,class:`rounded-md bg-destructive/10 px-3 py-1.5 text-xs text-destructive mb-2 flex-shrink-0`},Zr={key:0,class:`flex-1 min-h-0 overflow-y-auto mt-2`},Qr={key:1,class:`flex-1 min-h-0 mt-2`},$r={key:1,class:`flex items-center justify-center h-[calc(85vh-80px)]`},ei={class:`text-sm text-muted-foreground`},ti=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(F({__name:`UnifiedRequestDialog`,props:{open:{type:Boolean},source:{},request:{},streamContent:{},logDetailData:{},logEntry:{}},emits:[`update:open`],setup(n,{emit:i}){let{t:a}=m(),{copied:o,copy:c}=Se();function u(){x.value&&c(x.value.id)}let d=n,h=i,g=f(`response`),_=f(null),x=l(()=>{if(d.source===`realtime`){if(!d.request)return null;let e=lt(d.request,d.logDetailData?.responseBody);return d.logDetailData&&(d.logDetailData.clientRequest&&(e.clientRequest=d.logDetailData.clientRequest),d.logDetailData.upstreamRequest&&(e.upstreamRequest=d.logDetailData.upstreamRequest)),e}return _.value}),S=l(()=>x.value?x.value.status:`pending`);return t([()=>d.open,()=>d.logEntry],([e,t])=>{e&&(g.value=`response`,d.source===`history`&&t&&(_.value=ht(t)))}),(t,i)=>(M(),v(s(le),{open:d.open,"onUpdate:open":i[1]||=e=>h(`update:open`,e)},{default:r(()=>[C(s(oe),{class:`sm:max-w-6xl max-h-[85vh] p-0 overflow-hidden flex flex-col`},{default:r(()=>[y(`div`,Hr,[S.value===`pending`?(M(),p(`div`,Ur)):S.value===`failed`?(M(),p(`div`,Wr)):(M(),p(`div`,Gr))]),C(s(ce),{class:`px-4 pt-2 pb-0`},{default:r(()=>[C(s(ue),{class:`text-sm flex items-center gap-2`},{default:r(()=>[e(N(s(a)(`requestDetail.dialogTitle`))+` `,1),x.value?(M(),p(`span`,Kr,N(x.value.id),1)):b(``,!0),x.value?(M(),v(s(k),{key:1,variant:`ghost`,size:`icon-xs`,class:`shrink-0`,onClick:u},{default:r(()=>[s(o)?(M(),v(s(ve),{key:0,class:`size-3 text-success`})):(M(),v(s(ne),{key:1,class:`size-3`}))]),_:1})):b(``,!0)]),_:1}),C(s(se),{class:`sr-only`},{default:r(()=>[e(N(s(a)(`requestDetail.dialogDescription`)),1)]),_:1})]),_:1}),x.value?(M(),p(`div`,qr,[y(`div`,Jr,[C(vn,{overview:x.value},null,8,[`overview`])]),y(`div`,Yr,[x.value.errorMessage?(M(),p(`div`,Xr,N(x.value.errorMessage),1)):b(``,!0),C(s(ot),{modelValue:g.value,"onUpdate:modelValue":i[0]||=e=>g.value=e,class:`flex-1 flex flex-col min-h-0`},{default:r(()=>[C(s(st),{class:`flex-shrink-0`},{default:r(()=>[C(s(ct),{value:`response`},{default:r(()=>[e(N(s(a)(`requestDetail.responseTab`)),1)]),_:1}),C(s(ct),{value:`request`},{default:r(()=>[e(N(s(a)(`requestDetail.requestTab`)),1)]),_:1})]),_:1}),g.value===`response`?(M(),p(`div`,Zr,[C(qn,{source:d.source,"api-type":x.value.apiType,"is-stream":x.value.isStream,"stream-content":d.streamContent,"non-stream-body":n.logDetailData?.responseBody,"response-body":x.value.responseBody,"upstream-response":x.value.upstreamResponse,status:x.value.status},null,8,[`source`,`api-type`,`is-stream`,`stream-content`,`non-stream-body`,`response-body`,`upstream-response`,`status`])])):b(``,!0),g.value===`request`?(M(),p(`div`,Qr,[C(Vr,{overview:x.value},null,8,[`overview`])])):b(``,!0)]),_:1},8,[`modelValue`])])])):(M(),p(`div`,$r,[y(`p`,ei,N(d.source===`realtime`?s(a)(`requestDetail.loading`):s(a)(`requestDetail.noSelectedRequest`)),1)]))]),_:1})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-85829d32`]]);export{Q as n,X as r,ti as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ct as e,J as t,K as n,Q as r,X as i,Z as a,ct as o,ht as s,pt as c,tt as l}from"./button-DZwflOXO.js";import{E as u,I as d}from"./index-PMAQyWJb.js";var f=l({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:a,currentElement:s}=d();return e(t(()=>r.checked??r.value),(e,t)=>{if(!s.value)return;let n=s.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,t)=>(c(),i(u,o({ref_key:`primitiveElement`,ref:a},{...r,...e.$attrs},{as:`input`}),null,16))}}),p=l({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(e){let l=e,u=t(()=>typeof l.value==`object`&&Array.isArray(l.value)&&l.value.length===0&&l.required),d=t(()=>typeof l.value==`string`||typeof l.value==`number`||typeof l.value==`boolean`||l.value===null||l.value===void 0?[{name:l.name,value:l.value}]:typeof l.value==`object`&&Array.isArray(l.value)?l.value.flatMap((e,t)=>typeof e==`object`?Object.entries(e).map(([e,n])=>({name:`${l.name}[${t}][${e}]`,value:n})):{name:`${l.name}[${t}]`,value:e}):l.value!==null&&typeof l.value==`object`&&!Array.isArray(l.value)?Object.entries(l.value).map(([e,t])=>({name:`${l.name}[${e}]`,value:t})):[]);return(e,t)=>(c(),r(n,null,[a(` We render single input if it's required `),u.value?(c(),i(f,o({key:e.name},{...l,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(c(!0),r(n,{key:1},s(d.value,t=>(c(),i(f,o({key:t.name},{ref_for:!0},{...l,...e.$attrs},{name:t.name,value:t.value}),null,16,[`name`,`value`]))),128))],2112))}});export{p as t};
|