llm-simple-router 0.10.12 → 0.10.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/admin/usage.js +0 -1
  2. package/dist/db/index.d.ts +1 -1
  3. package/dist/db/index.js +1 -1
  4. package/dist/db/metrics.js +3 -3
  5. package/dist/db/migrations/047_fix_remaining_is_complete.sql +16 -0
  6. package/dist/db/stats.js +0 -1
  7. package/dist/db/usage-windows.d.ts +2 -0
  8. package/dist/db/usage-windows.js +4 -1
  9. package/dist/metrics/sse-parser.js +6 -3
  10. package/dist/utils/time-range.js +6 -2
  11. package/frontend-dist/assets/{CardContent-D8q9vc5O.js → CardContent-DfVo-N85.js} +1 -1
  12. package/frontend-dist/assets/{CardTitle-yA_25649.js → CardTitle-npwJSAlz.js} +1 -1
  13. package/frontend-dist/assets/{Checkbox-DOkFBp83.js → Checkbox-Ddnzkh_i.js} +1 -1
  14. package/frontend-dist/assets/{CollapsibleContent-DzBUfYYw.js → CollapsibleContent-BTVazeoQ.js} +1 -1
  15. package/frontend-dist/assets/{CollapsibleTrigger-CHYSp36W.js → CollapsibleTrigger-DCQeyHrt.js} +1 -1
  16. package/frontend-dist/assets/{Dashboard-BvYHnpcJ.js → Dashboard-DjnImtwH.js} +1 -1
  17. package/frontend-dist/assets/{Input-CcyqZXkU.js → Input-Ey_q_5_r.js} +1 -1
  18. package/frontend-dist/assets/{Label-CzP8C4iz.js → Label-Dw5HcYsL.js} +1 -1
  19. package/frontend-dist/assets/{Login-CxzSo3yb.js → Login-CSrfhhm9.js} +1 -1
  20. package/frontend-dist/assets/{Logs-Bxqdk7eE.js → Logs-HR1DZs1M.js} +1 -1
  21. package/frontend-dist/assets/{MappingEntryEditor-B1DXrpQE.js → MappingEntryEditor-C9pgNL0Q.js} +1 -1
  22. package/frontend-dist/assets/{ModelCard-CfnNmO62.js → ModelCard-IQMwlnCm.js} +1 -1
  23. package/frontend-dist/assets/{ModelMappings-BER9jpBp.js → ModelMappings-kRx-GL_7.js} +1 -1
  24. package/frontend-dist/assets/{Monitor-DTRiQd_f.js → Monitor-y1ofDNK7.js} +1 -1
  25. package/frontend-dist/assets/{Providers-CFDV-w7E.js → Providers-C1bP2PoM.js} +1 -1
  26. package/frontend-dist/assets/{ProxyEnhancement-DsmirUED.js → ProxyEnhancement-DQx4coxn.js} +1 -1
  27. package/frontend-dist/assets/{QuickSetup-Ch84omRO.js → QuickSetup-DHX9-CnO.js} +1 -1
  28. package/frontend-dist/assets/{RetryRules-Dp5LarPp.js → RetryRules-zdJE0bFL.js} +1 -1
  29. package/frontend-dist/assets/{RouterKeys-BAddL89X.js → RouterKeys-CD0rI4kv.js} +1 -1
  30. package/frontend-dist/assets/{RovingFocusItem-CRi6yQVX.js → RovingFocusItem-CFmjbm49.js} +1 -1
  31. package/frontend-dist/assets/{Schedules-C_bDqD0b.js → Schedules-BUm3cC6w.js} +1 -1
  32. package/frontend-dist/assets/{Settings-Bcfiljtn.js → Settings-D7z5IRkY.js} +1 -1
  33. package/frontend-dist/assets/{Setup-BHAW_Tm2.js → Setup-i9inmgjB.js} +1 -1
  34. package/frontend-dist/assets/{Switch-OzhbhGwX.js → Switch-C9DeYAnK.js} +1 -1
  35. package/frontend-dist/assets/{TooltipTrigger-DOgXsxyY.js → TooltipTrigger-Dr6kqGSH.js} +1 -1
  36. package/frontend-dist/assets/{TransformRulesForm-IKRT5A3_.js → TransformRulesForm-CyXh4jHa.js} +1 -1
  37. package/frontend-dist/assets/{UnifiedRequestDialog-DYS5gkoE.js → UnifiedRequestDialog-6ZRBfjko.js} +1 -1
  38. package/frontend-dist/assets/{VisuallyHiddenInput-C3oWOQXr.js → VisuallyHiddenInput-CwE9jREu.js} +1 -1
  39. package/frontend-dist/assets/{button-C1QSPeLI.js → button-C7HO6Dyb.js} +2 -2
  40. package/frontend-dist/assets/{copy-Cv_Emnxv.js → copy-DxwFlq2A.js} +1 -1
  41. package/frontend-dist/assets/{dialog-BBGI9zKO.js → dialog-BWB1aLcT.js} +1 -1
  42. package/frontend-dist/assets/{index-247t8K8M.js → index-itL9--Q_.js} +2 -2
  43. package/frontend-dist/assets/{trash-2-DtOp0hat.js → trash-2-D2SrfECO.js} +1 -1
  44. package/frontend-dist/assets/{useClipboard-Bd3JzV3b.js → useClipboard-CttzUerj.js} +1 -1
  45. package/frontend-dist/assets/{useLogRetention-BrbC5bfG.js → useLogRetention-Dv0deAan.js} +1 -1
  46. package/frontend-dist/index.html +2 -2
  47. package/package.json +1 -1
@@ -1 +1 @@
1
- import{$ as e,A as t,G as n,J as r,Kt as i,L as a,Nt as o,Q as s,Tt as c,Ut as ee,Vt as l,W as te,X as u,Y as d,Z as f,et as p,ft as m,k as h,mt as g,n as _,q as ne,ut as re}from"./button-C1QSPeLI.js";import{t as v}from"./Checkbox-DOkFBp83.js";import{n as ie,t as ae}from"./CollapsibleContent-DzBUfYYw.js";import{t as oe}from"./CollapsibleTrigger-CHYSp36W.js";import{a as y,c as b,d as x,f as S,l as C,n as se,o as ce,r as le,s as w,t as ue,u as T}from"./dialog-BBGI9zKO.js";import{t as E}from"./Label-CzP8C4iz.js";import{a as de,b as D,c as fe,d as pe,f as me,g as he,h as ge,i as _e,l as ve,lt as ye,m as O,o as k,p as A,r as j,s as M}from"./index-247t8K8M.js";import{n as N,t as P}from"./CardContent-D8q9vc5O.js";import{n as be,t as xe}from"./CardTitle-yA_25649.js";import{t as F}from"./Input-CcyqZXkU.js";var Se={class:`p-6`},Ce={class:`flex items-center justify-between mb-4`},we={class:`text-lg font-semibold text-foreground`},Te={class:`bg-card rounded-lg border overflow-hidden`},Ee={class:`flex items-center gap-2`},De={class:`text-xs text-muted-foreground`},Oe={key:0,class:`text-sm text-destructive mt-1`},ke={key:0,class:`text-sm text-destructive mt-1`},Ae={key:0,class:`text-sm text-destructive mt-1`},je={class:`grid grid-cols-2 gap-3`},Me={key:0,class:`text-sm text-destructive mt-1`},Ne={key:0,class:`text-sm text-destructive mt-1`},Pe={key:0},Fe={key:0,class:`text-sm text-destructive mt-1`},Ie={class:`flex items-center gap-2`},Le={class:`flex items-center justify-between`},Re={class:`flex items-center justify-between mb-3`},ze={class:`flex items-center gap-2`},Be={class:`text-sm text-muted-foreground`},I=100,L=599,R=100,z=100,B=p({__name:`RetryRules`,setup(p){let{t:B}=a(),V={name:``,status_code:429,body_pattern:``,is_active:!0,retry_strategy:`exponential`,retry_delay_ms:5e3,max_retries:10,max_delay_ms:6e4},H=o([]),U=o(!1),W=o(null),G=o(null),K=o({...V}),q=o({});function Ve(){let e={};K.value.name.trim()||(e.name=B(`retryRules.validation.nameRequired`));let t=Number(K.value.status_code);if((!Number.isInteger(t)||t<I||t>L)&&(e.status_code=B(`retryRules.validation.statusCodeRange`,{min:I,max:L})),!K.value.body_pattern.trim())e.body_pattern=B(`retryRules.validation.bodyPatternRequired`);else try{new RegExp(K.value.body_pattern)}catch{e.body_pattern=B(`retryRules.validation.bodyPatternInvalid`)}let n=Number(K.value.retry_delay_ms);(!n||n<R)&&(e.retry_delay_ms=B(`retryRules.validation.delayMin`,{min:R}));let r=Number(K.value.max_retries);if((!Number.isInteger(r)||r<0||r>z)&&(e.max_retries=B(`retryRules.validation.retriesRange`,{max:z})),K.value.retry_strategy===`exponential`){let t=Number(K.value.max_delay_ms);(!t||t<R)&&(e.max_delay_ms=B(`retryRules.validation.delayMin`,{min:R}))}return q.value=e,Object.keys(e).length===0}async function J(){try{H.value=await h.getRetryRules()}catch(e){console.error(`Failed to load retry rules:`,e),j.error(t(e,B(`retryRules.messages.loadFailed`)))}}function He(){W.value=null,K.value={...V},q.value={},U.value=!0}function Ue(e){W.value=e.id,K.value={name:e.name,status_code:e.status_code,body_pattern:e.body_pattern,is_active:!!e.is_active,retry_strategy:e.retry_strategy,retry_delay_ms:e.retry_delay_ms,max_retries:e.max_retries,max_delay_ms:e.max_delay_ms},q.value={},U.value=!0}async function We(){if(Ve())try{let e={name:K.value.name,status_code:Number(K.value.status_code),body_pattern:K.value.body_pattern,is_active:+!!K.value.is_active,retry_strategy:K.value.retry_strategy,retry_delay_ms:Number(K.value.retry_delay_ms),max_retries:Number(K.value.max_retries),max_delay_ms:Number(K.value.max_delay_ms)};W.value?await h.updateRetryRule(W.value,e):await h.createRetryRule(e),U.value=!1,await J()}catch(e){console.error(`Failed to save retry rule:`,e),j.error(t(e,B(`retryRules.messages.saveFailed`)))}}function Ge(e){G.value=e}async function Y(){let e=G.value;if(e){G.value=null;try{await h.deleteRetryRule(e.id),await J()}catch(e){console.error(`Failed to delete retry rule:`,e),j.error(t(e,B(`retryRules.messages.deleteFailed`)))}}}let X=o(!1),Z=o([]),Q=o(new Set),Ke=ne(()=>Z.value.length>0&&Q.value.size===Z.value.length);async function $(){try{Z.value=await h.recommended.getRetryRules()}catch{Z.value=[]}}function qe(e){let t=new Set(Q.value);t.has(e)?t.delete(e):t.add(e),Q.value=t}function Je(e){Q.value=e===!0?new Set(Z.value.map(e=>e.name)):new Set}async function Ye(){let e=Z.value.filter(e=>Q.value.has(e.name));for(let t of e)await h.createRetryRule({name:t.name,status_code:t.status_code,body_pattern:t.body_pattern,is_active:1,retry_strategy:t.retry_strategy,retry_delay_ms:t.retry_delay_ms,max_retries:t.max_retries,max_delay_ms:t.max_delay_ms});j.success(B(`retryRules.messages.addedCount`,{count:e.length})),Q.value=new Set,await Promise.allSettled([$(),J()])}return re(()=>{J(),$()}),(t,a)=>(m(),f(`div`,Se,[r(`div`,Ce,[r(`h2`,we,i(l(B)(`retryRules.title`)),1),e(l(_),{onClick:He,class:`flex items-center gap-1`},{default:c(()=>[a[18]||=r(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[r(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),s(` `+i(l(B)(`retryRules.addRule`)),1)]),_:1})]),r(`div`,Te,[e(l(S),null,{default:c(()=>[e(l(w),null,{default:c(()=>[e(l(C),{class:`bg-muted`},{default:c(()=>[e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.name`)),1)]),_:1}),e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.statusCode`)),1)]),_:1}),e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.bodyPattern`)),1)]),_:1}),e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.retryStrategy`)),1)]),_:1}),e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.status`)),1)]),_:1}),e(l(b),{class:`text-right text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),e(l(x),null,{default:c(()=>[(m(!0),f(n,null,g(H.value,t=>(m(),d(l(C),{key:t.id},{default:c(()=>[e(l(T),{class:`font-mono text-sm`},{default:c(()=>[s(i(t.name),1)]),_:2},1024),e(l(T),null,{default:c(()=>[s(i(t.status_code),1)]),_:2},1024),e(l(T),{class:`font-mono text-xs text-muted-foreground`},{default:c(()=>[s(i(t.body_pattern),1)]),_:2},1024),e(l(T),null,{default:c(()=>[r(`div`,Ee,[e(l(D),{variant:`outline`},{default:c(()=>[s(i(t.retry_strategy===`fixed`?l(B)(`retryRules.strategy.fixed`):l(B)(`retryRules.strategy.exponential`)),1)]),_:2},1024),r(`span`,De,[s(i(t.retry_delay_ms/1e3)+`s · `+i(l(B)(`retryRules.times`,{count:t.max_retries}))+` `,1),t.retry_strategy===`exponential`?(m(),f(n,{key:0},[s(` · `+i(l(B)(`retryRules.upperLimit`,{value:t.max_delay_ms/1e3})),1)],64)):u(``,!0)])])]),_:2},1024),e(l(T),null,{default:c(()=>[e(l(D),{variant:t.is_active?`default`:`secondary`},{default:c(()=>[s(i(t.is_active?l(B)(`common.enabled`):l(B)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),e(l(T),{class:`text-right`},{default:c(()=>[e(l(_),{variant:`ghost`,size:`sm`,onClick:e=>Ue(t),class:`mr-2`},{default:c(()=>[s(i(l(B)(`common.edit`)),1)]),_:1},8,[`onClick`]),e(l(_),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>Ge(t)},{default:c(()=>[s(i(l(B)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024))),128)),H.value.length===0?(m(),d(l(C),{key:0},{default:c(()=>[e(l(T),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:c(()=>[s(i(l(B)(`retryRules.noRules`)),1)]),_:1})]),_:1})):u(``,!0)]),_:1})]),_:1})]),e(l(ce),{open:U.value,"onUpdate:open":a[15]||=e=>U.value=e},{default:c(()=>[e(l(y),null,{default:c(()=>[e(l(se),null,{default:c(()=>[e(l(ue),null,{default:c(()=>[s(i(W.value?l(B)(`retryRules.dialog.editRule`):l(B)(`retryRules.dialog.addRule`)),1)]),_:1})]),_:1}),r(`form`,{onSubmit:te(We,[`prevent`]),class:`space-y-3`},[r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.name`)),1)]),_:1}),e(l(F),{modelValue:K.value.name,"onUpdate:modelValue":a[0]||=e=>K.value.name=e,type:`text`,required:``,onInput:a[1]||=e=>delete q.value.name},null,8,[`modelValue`]),q.value.name?(m(),f(`p`,Oe,i(q.value.name),1)):u(``,!0)]),r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.statusCode`)),1)]),_:1}),e(l(F),{modelValue:K.value.status_code,"onUpdate:modelValue":a[2]||=e=>K.value.status_code=e,modelModifiers:{number:!0},type:`number`,required:``,onInput:a[3]||=e=>delete q.value.status_code},null,8,[`modelValue`]),q.value.status_code?(m(),f(`p`,ke,i(q.value.status_code),1)):u(``,!0)]),r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.bodyPattern`)),1)]),_:1}),e(l(F),{modelValue:K.value.body_pattern,"onUpdate:modelValue":a[4]||=e=>K.value.body_pattern=e,type:`text`,placeholder:l(B)(`retryRules.dialog.bodyPatternPlaceholder`),required:``,onInput:a[5]||=e=>delete q.value.body_pattern},null,8,[`modelValue`,`placeholder`]),q.value.body_pattern?(m(),f(`p`,Ae,i(q.value.body_pattern),1)):u(``,!0)]),r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.retryStrategy`)),1)]),_:1}),e(l(he),{modelValue:K.value.retry_strategy,"onUpdate:modelValue":a[6]||=e=>K.value.retry_strategy=e},{default:c(()=>[e(l(A),{class:`w-full`},{default:c(()=>[e(l(me),{placeholder:l(B)(`retryRules.dialog.selectStrategy`)},null,8,[`placeholder`])]),_:1}),e(l(ge),null,{default:c(()=>[e(l(O),{value:`exponential`},{default:c(()=>[s(i(l(B)(`retryRules.strategy.exponential`)),1)]),_:1}),e(l(O),{value:`fixed`},{default:c(()=>[s(i(l(B)(`retryRules.strategy.fixed`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),r(`div`,je,[r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(K.value.retry_strategy===`fixed`?l(B)(`retryRules.dialog.intervalMs`):l(B)(`retryRules.dialog.initialDelayMs`)),1)]),_:1}),e(l(F),{modelValue:K.value.retry_delay_ms,"onUpdate:modelValue":a[7]||=e=>K.value.retry_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:a[8]||=e=>delete q.value.retry_delay_ms},null,8,[`modelValue`]),q.value.retry_delay_ms?(m(),f(`p`,Me,i(q.value.retry_delay_ms),1)):u(``,!0)]),r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.maxRetries`)),1)]),_:1}),e(l(F),{modelValue:K.value.max_retries,"onUpdate:modelValue":a[9]||=e=>K.value.max_retries=e,modelModifiers:{number:!0},type:`number`,min:0,max:100,required:``,onInput:a[10]||=e=>delete q.value.max_retries},null,8,[`modelValue`]),q.value.max_retries?(m(),f(`p`,Ne,i(q.value.max_retries),1)):u(``,!0)])]),K.value.retry_strategy===`exponential`?(m(),f(`div`,Pe,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.maxDelayMs`)),1)]),_:1}),e(l(F),{modelValue:K.value.max_delay_ms,"onUpdate:modelValue":a[11]||=e=>K.value.max_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:a[12]||=e=>delete q.value.max_delay_ms},null,8,[`modelValue`]),q.value.max_delay_ms?(m(),f(`p`,Fe,i(q.value.max_delay_ms),1)):u(``,!0)])):u(``,!0),r(`div`,Ie,[e(l(v),{modelValue:K.value.is_active,"onUpdate:modelValue":a[13]||=e=>K.value.is_active=e,id:`rule-active`},null,8,[`modelValue`]),e(l(E),{for:`rule-active`,class:`text-sm text-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.enable`)),1)]),_:1})]),e(l(le),null,{default:c(()=>[e(l(_),{type:`button`,variant:`outline`,onClick:a[14]||=e=>U.value=!1},{default:c(()=>[s(i(l(B)(`common.cancel`)),1)]),_:1}),e(l(_),{type:`submit`},{default:c(()=>[s(i(l(B)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),e(l(pe),{open:!!G.value,"onUpdate:open":a[16]||=e=>{e||(G.value=null)}},{default:c(()=>[e(l(fe),null,{default:c(()=>[e(l(de),null,{default:c(()=>[e(l(_e),null,{default:c(()=>[s(i(l(B)(`retryRules.deleteConfirm.title`)),1)]),_:1}),e(l(M),null,{default:c(()=>[s(i(l(B)(`retryRules.deleteConfirm.description`,{name:G.value?.name})),1)]),_:1})]),_:1}),e(l(k),null,{default:c(()=>[e(l(ve),null,{default:c(()=>[s(i(l(B)(`common.cancel`)),1)]),_:1}),e(l(_),{variant:`destructive`,onClick:Y},{default:c(()=>[s(i(l(B)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),Z.value.length>0?(m(),d(l(N),{key:0,class:`mt-6`},{default:c(()=>[e(l(ie),{open:X.value,"onUpdate:open":a[17]||=e=>X.value=e},{default:c(()=>[e(l(oe),{"as-child":``},{default:c(()=>[e(l(be),{class:`cursor-pointer hover:bg-muted/50 transition-colors`},{default:c(()=>[r(`div`,Le,[e(l(xe),{class:`text-sm font-medium`},{default:c(()=>[s(i(l(B)(`retryRules.recommended.title`,{count:Z.value.length})),1)]),_:1}),e(l(ye),{class:ee([`h-4 w-4 text-muted-foreground transition-transform`,{"rotate-180":X.value}])},null,8,[`class`])])]),_:1})]),_:1}),e(l(ae),null,{default:c(()=>[e(l(P),null,{default:c(()=>[r(`div`,Re,[r(`div`,ze,[e(l(v),{"model-value":Ke.value,"onUpdate:modelValue":Je},null,8,[`model-value`]),r(`span`,Be,i(l(B)(`retryRules.recommended.selectAll`)),1)]),e(l(_),{size:`sm`,disabled:Q.value.size===0,onClick:Ye},{default:c(()=>[s(i(l(B)(`retryRules.recommended.addSelected`,{count:Q.value.size})),1)]),_:1},8,[`disabled`])]),e(l(S),null,{default:c(()=>[e(l(w),null,{default:c(()=>[e(l(C),null,{default:c(()=>[e(l(b),{class:`w-10`}),e(l(b),null,{default:c(()=>[s(i(l(B)(`retryRules.recommended.headers.name`)),1)]),_:1}),e(l(b),null,{default:c(()=>[s(i(l(B)(`retryRules.recommended.headers.statusCode`)),1)]),_:1}),e(l(b),null,{default:c(()=>[s(i(l(B)(`retryRules.recommended.headers.pattern`)),1)]),_:1}),e(l(b),null,{default:c(()=>[s(i(l(B)(`retryRules.recommended.headers.strategy`)),1)]),_:1})]),_:1})]),_:1}),e(l(x),null,{default:c(()=>[(m(!0),f(n,null,g(Z.value,t=>(m(),d(l(C),{key:t.name},{default:c(()=>[e(l(T),null,{default:c(()=>[e(l(v),{"model-value":Q.value.has(t.name),"onUpdate:modelValue":()=>qe(t.name)},null,8,[`model-value`,`onUpdate:modelValue`])]),_:2},1024),e(l(T),null,{default:c(()=>[s(i(t.name),1)]),_:2},1024),e(l(T),null,{default:c(()=>[s(i(t.status_code),1)]),_:2},1024),e(l(T),{class:`font-mono text-xs max-w-[200px] truncate`},{default:c(()=>[s(i(t.body_pattern),1)]),_:2},1024),e(l(T),null,{default:c(()=>[s(i(t.retry_strategy===`fixed`?l(B)(`retryRules.strategy.fixed`):l(B)(`retryRules.strategy.exponential`)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]),_:1})):u(``,!0)]))}});export{B as default};
1
+ import{$ as e,A as t,G as n,J as r,Kt as i,L as a,Nt as o,Q as s,Tt as c,Ut as ee,Vt as l,W as te,X as u,Y as d,Z as f,et as p,ft as m,k as h,mt as g,n as _,q as ne,ut as re}from"./button-C7HO6Dyb.js";import{t as v}from"./Checkbox-Ddnzkh_i.js";import{n as ie,t as ae}from"./CollapsibleContent-BTVazeoQ.js";import{t as oe}from"./CollapsibleTrigger-DCQeyHrt.js";import{a as y,c as b,d as x,f as S,l as C,n as se,o as ce,r as le,s as w,t as ue,u as T}from"./dialog-BWB1aLcT.js";import{t as E}from"./Label-Dw5HcYsL.js";import{a as de,b as D,c as fe,d as pe,f as me,g as he,h as ge,i as _e,l as ve,lt as ye,m as O,o as k,p as A,r as j,s as M}from"./index-itL9--Q_.js";import{n as N,t as P}from"./CardContent-DfVo-N85.js";import{n as be,t as xe}from"./CardTitle-npwJSAlz.js";import{t as F}from"./Input-Ey_q_5_r.js";var Se={class:`p-6`},Ce={class:`flex items-center justify-between mb-4`},we={class:`text-lg font-semibold text-foreground`},Te={class:`bg-card rounded-lg border overflow-hidden`},Ee={class:`flex items-center gap-2`},De={class:`text-xs text-muted-foreground`},Oe={key:0,class:`text-sm text-destructive mt-1`},ke={key:0,class:`text-sm text-destructive mt-1`},Ae={key:0,class:`text-sm text-destructive mt-1`},je={class:`grid grid-cols-2 gap-3`},Me={key:0,class:`text-sm text-destructive mt-1`},Ne={key:0,class:`text-sm text-destructive mt-1`},Pe={key:0},Fe={key:0,class:`text-sm text-destructive mt-1`},Ie={class:`flex items-center gap-2`},Le={class:`flex items-center justify-between`},Re={class:`flex items-center justify-between mb-3`},ze={class:`flex items-center gap-2`},Be={class:`text-sm text-muted-foreground`},I=100,L=599,R=100,z=100,B=p({__name:`RetryRules`,setup(p){let{t:B}=a(),V={name:``,status_code:429,body_pattern:``,is_active:!0,retry_strategy:`exponential`,retry_delay_ms:5e3,max_retries:10,max_delay_ms:6e4},H=o([]),U=o(!1),W=o(null),G=o(null),K=o({...V}),q=o({});function Ve(){let e={};K.value.name.trim()||(e.name=B(`retryRules.validation.nameRequired`));let t=Number(K.value.status_code);if((!Number.isInteger(t)||t<I||t>L)&&(e.status_code=B(`retryRules.validation.statusCodeRange`,{min:I,max:L})),!K.value.body_pattern.trim())e.body_pattern=B(`retryRules.validation.bodyPatternRequired`);else try{new RegExp(K.value.body_pattern)}catch{e.body_pattern=B(`retryRules.validation.bodyPatternInvalid`)}let n=Number(K.value.retry_delay_ms);(!n||n<R)&&(e.retry_delay_ms=B(`retryRules.validation.delayMin`,{min:R}));let r=Number(K.value.max_retries);if((!Number.isInteger(r)||r<0||r>z)&&(e.max_retries=B(`retryRules.validation.retriesRange`,{max:z})),K.value.retry_strategy===`exponential`){let t=Number(K.value.max_delay_ms);(!t||t<R)&&(e.max_delay_ms=B(`retryRules.validation.delayMin`,{min:R}))}return q.value=e,Object.keys(e).length===0}async function J(){try{H.value=await h.getRetryRules()}catch(e){console.error(`Failed to load retry rules:`,e),j.error(t(e,B(`retryRules.messages.loadFailed`)))}}function He(){W.value=null,K.value={...V},q.value={},U.value=!0}function Ue(e){W.value=e.id,K.value={name:e.name,status_code:e.status_code,body_pattern:e.body_pattern,is_active:!!e.is_active,retry_strategy:e.retry_strategy,retry_delay_ms:e.retry_delay_ms,max_retries:e.max_retries,max_delay_ms:e.max_delay_ms},q.value={},U.value=!0}async function We(){if(Ve())try{let e={name:K.value.name,status_code:Number(K.value.status_code),body_pattern:K.value.body_pattern,is_active:+!!K.value.is_active,retry_strategy:K.value.retry_strategy,retry_delay_ms:Number(K.value.retry_delay_ms),max_retries:Number(K.value.max_retries),max_delay_ms:Number(K.value.max_delay_ms)};W.value?await h.updateRetryRule(W.value,e):await h.createRetryRule(e),U.value=!1,await J()}catch(e){console.error(`Failed to save retry rule:`,e),j.error(t(e,B(`retryRules.messages.saveFailed`)))}}function Ge(e){G.value=e}async function Y(){let e=G.value;if(e){G.value=null;try{await h.deleteRetryRule(e.id),await J()}catch(e){console.error(`Failed to delete retry rule:`,e),j.error(t(e,B(`retryRules.messages.deleteFailed`)))}}}let X=o(!1),Z=o([]),Q=o(new Set),Ke=ne(()=>Z.value.length>0&&Q.value.size===Z.value.length);async function $(){try{Z.value=await h.recommended.getRetryRules()}catch{Z.value=[]}}function qe(e){let t=new Set(Q.value);t.has(e)?t.delete(e):t.add(e),Q.value=t}function Je(e){Q.value=e===!0?new Set(Z.value.map(e=>e.name)):new Set}async function Ye(){let e=Z.value.filter(e=>Q.value.has(e.name));for(let t of e)await h.createRetryRule({name:t.name,status_code:t.status_code,body_pattern:t.body_pattern,is_active:1,retry_strategy:t.retry_strategy,retry_delay_ms:t.retry_delay_ms,max_retries:t.max_retries,max_delay_ms:t.max_delay_ms});j.success(B(`retryRules.messages.addedCount`,{count:e.length})),Q.value=new Set,await Promise.allSettled([$(),J()])}return re(()=>{J(),$()}),(t,a)=>(m(),f(`div`,Se,[r(`div`,Ce,[r(`h2`,we,i(l(B)(`retryRules.title`)),1),e(l(_),{onClick:He,class:`flex items-center gap-1`},{default:c(()=>[a[18]||=r(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[r(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),s(` `+i(l(B)(`retryRules.addRule`)),1)]),_:1})]),r(`div`,Te,[e(l(S),null,{default:c(()=>[e(l(w),null,{default:c(()=>[e(l(C),{class:`bg-muted`},{default:c(()=>[e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.name`)),1)]),_:1}),e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.statusCode`)),1)]),_:1}),e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.bodyPattern`)),1)]),_:1}),e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.retryStrategy`)),1)]),_:1}),e(l(b),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.status`)),1)]),_:1}),e(l(b),{class:`text-right text-muted-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),e(l(x),null,{default:c(()=>[(m(!0),f(n,null,g(H.value,t=>(m(),d(l(C),{key:t.id},{default:c(()=>[e(l(T),{class:`font-mono text-sm`},{default:c(()=>[s(i(t.name),1)]),_:2},1024),e(l(T),null,{default:c(()=>[s(i(t.status_code),1)]),_:2},1024),e(l(T),{class:`font-mono text-xs text-muted-foreground`},{default:c(()=>[s(i(t.body_pattern),1)]),_:2},1024),e(l(T),null,{default:c(()=>[r(`div`,Ee,[e(l(D),{variant:`outline`},{default:c(()=>[s(i(t.retry_strategy===`fixed`?l(B)(`retryRules.strategy.fixed`):l(B)(`retryRules.strategy.exponential`)),1)]),_:2},1024),r(`span`,De,[s(i(t.retry_delay_ms/1e3)+`s · `+i(l(B)(`retryRules.times`,{count:t.max_retries}))+` `,1),t.retry_strategy===`exponential`?(m(),f(n,{key:0},[s(` · `+i(l(B)(`retryRules.upperLimit`,{value:t.max_delay_ms/1e3})),1)],64)):u(``,!0)])])]),_:2},1024),e(l(T),null,{default:c(()=>[e(l(D),{variant:t.is_active?`default`:`secondary`},{default:c(()=>[s(i(t.is_active?l(B)(`common.enabled`):l(B)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),e(l(T),{class:`text-right`},{default:c(()=>[e(l(_),{variant:`ghost`,size:`sm`,onClick:e=>Ue(t),class:`mr-2`},{default:c(()=>[s(i(l(B)(`common.edit`)),1)]),_:1},8,[`onClick`]),e(l(_),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>Ge(t)},{default:c(()=>[s(i(l(B)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024))),128)),H.value.length===0?(m(),d(l(C),{key:0},{default:c(()=>[e(l(T),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:c(()=>[s(i(l(B)(`retryRules.noRules`)),1)]),_:1})]),_:1})):u(``,!0)]),_:1})]),_:1})]),e(l(ce),{open:U.value,"onUpdate:open":a[15]||=e=>U.value=e},{default:c(()=>[e(l(y),null,{default:c(()=>[e(l(se),null,{default:c(()=>[e(l(ue),null,{default:c(()=>[s(i(W.value?l(B)(`retryRules.dialog.editRule`):l(B)(`retryRules.dialog.addRule`)),1)]),_:1})]),_:1}),r(`form`,{onSubmit:te(We,[`prevent`]),class:`space-y-3`},[r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.name`)),1)]),_:1}),e(l(F),{modelValue:K.value.name,"onUpdate:modelValue":a[0]||=e=>K.value.name=e,type:`text`,required:``,onInput:a[1]||=e=>delete q.value.name},null,8,[`modelValue`]),q.value.name?(m(),f(`p`,Oe,i(q.value.name),1)):u(``,!0)]),r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.statusCode`)),1)]),_:1}),e(l(F),{modelValue:K.value.status_code,"onUpdate:modelValue":a[2]||=e=>K.value.status_code=e,modelModifiers:{number:!0},type:`number`,required:``,onInput:a[3]||=e=>delete q.value.status_code},null,8,[`modelValue`]),q.value.status_code?(m(),f(`p`,ke,i(q.value.status_code),1)):u(``,!0)]),r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.bodyPattern`)),1)]),_:1}),e(l(F),{modelValue:K.value.body_pattern,"onUpdate:modelValue":a[4]||=e=>K.value.body_pattern=e,type:`text`,placeholder:l(B)(`retryRules.dialog.bodyPatternPlaceholder`),required:``,onInput:a[5]||=e=>delete q.value.body_pattern},null,8,[`modelValue`,`placeholder`]),q.value.body_pattern?(m(),f(`p`,Ae,i(q.value.body_pattern),1)):u(``,!0)]),r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.retryStrategy`)),1)]),_:1}),e(l(he),{modelValue:K.value.retry_strategy,"onUpdate:modelValue":a[6]||=e=>K.value.retry_strategy=e},{default:c(()=>[e(l(A),{class:`w-full`},{default:c(()=>[e(l(me),{placeholder:l(B)(`retryRules.dialog.selectStrategy`)},null,8,[`placeholder`])]),_:1}),e(l(ge),null,{default:c(()=>[e(l(O),{value:`exponential`},{default:c(()=>[s(i(l(B)(`retryRules.strategy.exponential`)),1)]),_:1}),e(l(O),{value:`fixed`},{default:c(()=>[s(i(l(B)(`retryRules.strategy.fixed`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),r(`div`,je,[r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(K.value.retry_strategy===`fixed`?l(B)(`retryRules.dialog.intervalMs`):l(B)(`retryRules.dialog.initialDelayMs`)),1)]),_:1}),e(l(F),{modelValue:K.value.retry_delay_ms,"onUpdate:modelValue":a[7]||=e=>K.value.retry_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:a[8]||=e=>delete q.value.retry_delay_ms},null,8,[`modelValue`]),q.value.retry_delay_ms?(m(),f(`p`,Me,i(q.value.retry_delay_ms),1)):u(``,!0)]),r(`div`,null,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.maxRetries`)),1)]),_:1}),e(l(F),{modelValue:K.value.max_retries,"onUpdate:modelValue":a[9]||=e=>K.value.max_retries=e,modelModifiers:{number:!0},type:`number`,min:0,max:100,required:``,onInput:a[10]||=e=>delete q.value.max_retries},null,8,[`modelValue`]),q.value.max_retries?(m(),f(`p`,Ne,i(q.value.max_retries),1)):u(``,!0)])]),K.value.retry_strategy===`exponential`?(m(),f(`div`,Pe,[e(l(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.maxDelayMs`)),1)]),_:1}),e(l(F),{modelValue:K.value.max_delay_ms,"onUpdate:modelValue":a[11]||=e=>K.value.max_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:a[12]||=e=>delete q.value.max_delay_ms},null,8,[`modelValue`]),q.value.max_delay_ms?(m(),f(`p`,Fe,i(q.value.max_delay_ms),1)):u(``,!0)])):u(``,!0),r(`div`,Ie,[e(l(v),{modelValue:K.value.is_active,"onUpdate:modelValue":a[13]||=e=>K.value.is_active=e,id:`rule-active`},null,8,[`modelValue`]),e(l(E),{for:`rule-active`,class:`text-sm text-foreground`},{default:c(()=>[s(i(l(B)(`retryRules.dialog.enable`)),1)]),_:1})]),e(l(le),null,{default:c(()=>[e(l(_),{type:`button`,variant:`outline`,onClick:a[14]||=e=>U.value=!1},{default:c(()=>[s(i(l(B)(`common.cancel`)),1)]),_:1}),e(l(_),{type:`submit`},{default:c(()=>[s(i(l(B)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),e(l(pe),{open:!!G.value,"onUpdate:open":a[16]||=e=>{e||(G.value=null)}},{default:c(()=>[e(l(fe),null,{default:c(()=>[e(l(de),null,{default:c(()=>[e(l(_e),null,{default:c(()=>[s(i(l(B)(`retryRules.deleteConfirm.title`)),1)]),_:1}),e(l(M),null,{default:c(()=>[s(i(l(B)(`retryRules.deleteConfirm.description`,{name:G.value?.name})),1)]),_:1})]),_:1}),e(l(k),null,{default:c(()=>[e(l(ve),null,{default:c(()=>[s(i(l(B)(`common.cancel`)),1)]),_:1}),e(l(_),{variant:`destructive`,onClick:Y},{default:c(()=>[s(i(l(B)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),Z.value.length>0?(m(),d(l(N),{key:0,class:`mt-6`},{default:c(()=>[e(l(ie),{open:X.value,"onUpdate:open":a[17]||=e=>X.value=e},{default:c(()=>[e(l(oe),{"as-child":``},{default:c(()=>[e(l(be),{class:`cursor-pointer hover:bg-muted/50 transition-colors`},{default:c(()=>[r(`div`,Le,[e(l(xe),{class:`text-sm font-medium`},{default:c(()=>[s(i(l(B)(`retryRules.recommended.title`,{count:Z.value.length})),1)]),_:1}),e(l(ye),{class:ee([`h-4 w-4 text-muted-foreground transition-transform`,{"rotate-180":X.value}])},null,8,[`class`])])]),_:1})]),_:1}),e(l(ae),null,{default:c(()=>[e(l(P),null,{default:c(()=>[r(`div`,Re,[r(`div`,ze,[e(l(v),{"model-value":Ke.value,"onUpdate:modelValue":Je},null,8,[`model-value`]),r(`span`,Be,i(l(B)(`retryRules.recommended.selectAll`)),1)]),e(l(_),{size:`sm`,disabled:Q.value.size===0,onClick:Ye},{default:c(()=>[s(i(l(B)(`retryRules.recommended.addSelected`,{count:Q.value.size})),1)]),_:1},8,[`disabled`])]),e(l(S),null,{default:c(()=>[e(l(w),null,{default:c(()=>[e(l(C),null,{default:c(()=>[e(l(b),{class:`w-10`}),e(l(b),null,{default:c(()=>[s(i(l(B)(`retryRules.recommended.headers.name`)),1)]),_:1}),e(l(b),null,{default:c(()=>[s(i(l(B)(`retryRules.recommended.headers.statusCode`)),1)]),_:1}),e(l(b),null,{default:c(()=>[s(i(l(B)(`retryRules.recommended.headers.pattern`)),1)]),_:1}),e(l(b),null,{default:c(()=>[s(i(l(B)(`retryRules.recommended.headers.strategy`)),1)]),_:1})]),_:1})]),_:1}),e(l(x),null,{default:c(()=>[(m(!0),f(n,null,g(Z.value,t=>(m(),d(l(C),{key:t.name},{default:c(()=>[e(l(T),null,{default:c(()=>[e(l(v),{"model-value":Q.value.has(t.name),"onUpdate:modelValue":()=>qe(t.name)},null,8,[`model-value`,`onUpdate:modelValue`])]),_:2},1024),e(l(T),null,{default:c(()=>[s(i(t.name),1)]),_:2},1024),e(l(T),null,{default:c(()=>[s(i(t.status_code),1)]),_:2},1024),e(l(T),{class:`font-mono text-xs max-w-[200px] truncate`},{default:c(()=>[s(i(t.body_pattern),1)]),_:2},1024),e(l(T),null,{default:c(()=>[s(i(t.retry_strategy===`fixed`?l(B)(`retryRules.strategy.fixed`):l(B)(`retryRules.strategy.exponential`)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]),_:1})):u(``,!0)]))}});export{B as default};
@@ -1 +1 @@
1
- import{$ as e,A as t,G as n,J as r,Kt as i,L as a,Nt as o,Q as s,Tt as c,Ut as ee,Vt as l,W as te,X as u,Y as d,Z as f,et as p,ft as m,k as h,mt as g,n as _,ut as ne}from"./button-C1QSPeLI.js";import{t as v}from"./Checkbox-DOkFBp83.js";import{a as re,c as y,d as ie,f as ae,l as b,n as oe,o as se,r as ce,s as le,t as ue,u as x}from"./dialog-BBGI9zKO.js";import{t as S}from"./Label-CzP8C4iz.js";import{a as de,b as C,c as w,d as T,dt as E,i as D,l as O,o as k,r as A,s as j}from"./index-247t8K8M.js";import{t as M}from"./Input-CcyqZXkU.js";import{t as N}from"./useClipboard-Bd3JzV3b.js";var P={class:`p-6`},F={class:`flex items-center justify-between mb-4`},I={class:`text-lg font-semibold text-foreground`},L={class:`bg-card rounded-lg border overflow-hidden`},R={class:`flex items-center gap-1`},z={class:`font-mono text-xs text-muted-foreground`},B={key:0,class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},V={key:1,class:`w-3.5 h-3.5 text-success`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},H={key:0,class:`flex flex-wrap gap-1`},fe={key:0,class:`text-sm text-destructive mt-1`},pe={class:`text-xs text-muted-foreground mb-2`},me={class:`border rounded-md p-3 max-h-48 overflow-y-auto space-y-2 bg-muted`},he={class:`font-mono text-xs`},ge={key:0,class:`text-muted-foreground text-sm text-center py-2`},_e={key:0,class:`flex flex-wrap gap-1 mt-2`},ve={key:0,class:`flex items-center gap-2`},U=p({__name:`RouterKeys`,setup(p){let{t:U}=a(),W={name:``,allowed_models:[],is_active:!0},G=o([]),K=o([]),q=o(!1),J=o(null),Y=o(null),X=o({...W,allowed_models:[]}),Z=o({}),{copied:ye,copy:be}=N();function xe(e){return e?e.slice(0,7)+`*`.repeat(7):``}function Se(e){return E(e)}function Ce(e){let t=X.value.allowed_models.indexOf(e);t>=0&&X.value.allowed_models.splice(t,1)}async function Q(){try{let[e,t]=await Promise.allSettled([h.getRouterKeys(),h.getAvailableModels()]);e.status===`fulfilled`&&(G.value=e.value),t.status===`fulfilled`&&(K.value=t.value)}catch(e){console.error(`Failed to load data:`,e),A.error(t(e,U(`routerKeys.loadFailed`)))}}function $(){J.value=null,X.value={...W,allowed_models:[]},Z.value={},q.value=!0}function we(e){J.value=e.id,X.value={name:e.name,allowed_models:e.allowed_models?[...e.allowed_models]:[],is_active:!!e.is_active},Z.value={},q.value=!0}function Te(){return{name:X.value.name,allowed_models:X.value.allowed_models.length>0?X.value.allowed_models:null,is_active:+!!X.value.is_active}}function Ee(){return{name:X.value.name,allowed_models:X.value.allowed_models.length>0?X.value.allowed_models:null}}async function De(){let e={};if(X.value.name.trim()||(e.name=U(`routerKeys.nameRequired`)),Z.value=e,!(Object.keys(e).length>0))try{J.value?await h.updateRouterKey(J.value,Te()):await h.createRouterKey(Ee()),q.value=!1,await Q()}catch(e){console.error(`Failed to save router key:`,e),A.error(t(e,U(`routerKeys.saveFailed`)))}}function Oe(e){Y.value=e}async function ke(){let e=Y.value;if(e){Y.value=null;try{await h.deleteRouterKey(e.id),await Q()}catch(e){console.error(`Failed to delete router key:`,e),A.error(t(e,U(`routerKeys.deleteFailed`)))}}}return ne(Q),(t,a)=>(m(),f(`div`,P,[r(`div`,F,[r(`h2`,I,i(l(U)(`routerKeys.title`)),1),e(l(_),{onClick:$,class:`flex items-center gap-1`},{default:c(()=>[a[6]||=r(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[r(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),s(` `+i(l(U)(`routerKeys.createKey`)),1)]),_:1})]),r(`div`,L,[e(l(ae),null,{default:c(()=>[e(l(le),null,{default:c(()=>[e(l(b),{class:`bg-muted`},{default:c(()=>[e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.name`)),1)]),_:1}),e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.key`)),1)]),_:1}),e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.whitelist`)),1)]),_:1}),e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.status`)),1)]),_:1}),e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.createdAt`)),1)]),_:1}),e(l(y),{class:`text-right text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),e(l(ie),null,{default:c(()=>[(m(!0),f(n,null,g(G.value,t=>(m(),d(l(b),{key:t.id,class:ee({"opacity-60":!t.is_active})},{default:c(()=>[e(l(x),{class:`font-medium`},{default:c(()=>[s(i(t.name),1)]),_:2},1024),e(l(x),null,{default:c(()=>[r(`div`,R,[r(`span`,z,i(xe(t.key)),1),e(l(_),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:e=>t.key&&l(be)(t.key)},{default:c(()=>[l(ye)?(m(),f(`svg`,V,[...a[8]||=[r(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):(m(),f(`svg`,B,[...a[7]||=[r(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))]),_:1},8,[`onClick`])])]),_:2},1024),e(l(x),null,{default:c(()=>[t.allowed_models&&t.allowed_models.length>0?(m(),f(`div`,H,[(m(!0),f(n,null,g(t.allowed_models,e=>(m(),d(l(C),{key:e,variant:`outline`,class:`text-xs`},{default:c(()=>[s(i(e),1)]),_:2},1024))),128))])):(m(),d(l(C),{key:1,variant:`secondary`},{default:c(()=>[s(i(l(U)(`common.allModels`)),1)]),_:1}))]),_:2},1024),e(l(x),null,{default:c(()=>[e(l(C),{variant:t.is_active?`default`:`secondary`},{default:c(()=>[s(i(t.is_active?l(U)(`common.enabled`):l(U)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),e(l(x),{class:`text-muted-foreground text-sm`},{default:c(()=>[s(i(Se(t.created_at)),1)]),_:2},1024),e(l(x),{class:`text-right`},{default:c(()=>[e(l(_),{variant:`ghost`,size:`sm`,onClick:e=>we(t),class:`text-muted-foreground hover:text-primary mr-2`},{default:c(()=>[s(i(l(U)(`common.edit`)),1)]),_:1},8,[`onClick`]),e(l(_),{variant:`ghost`,size:`sm`,onClick:e=>Oe(t),class:`text-muted-foreground hover:text-destructive`},{default:c(()=>[s(i(l(U)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),G.value.length===0?(m(),d(l(b),{key:0},{default:c(()=>[e(l(x),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:c(()=>[s(i(l(U)(`routerKeys.noKeys`)),1)]),_:1})]),_:1})):u(``,!0)]),_:1})]),_:1})]),e(l(se),{open:q.value,"onUpdate:open":a[4]||=e=>q.value=e},{default:c(()=>[e(l(re),{class:`sm:max-w-lg`},{default:c(()=>[e(l(oe),null,{default:c(()=>[e(l(ue),null,{default:c(()=>[s(i(J.value?l(U)(`routerKeys.editKey`):l(U)(`routerKeys.createKey`)),1)]),_:1})]),_:1}),r(`form`,{onSubmit:te(De,[`prevent`]),class:`space-y-4`},[r(`div`,null,[e(l(S),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.name`)),1)]),_:1}),e(l(M),{modelValue:X.value.name,"onUpdate:modelValue":a[0]||=e=>X.value.name=e,type:`text`,required:``,placeholder:l(U)(`routerKeys.placeholder.name`),onInput:a[1]||=e=>delete Z.value.name},null,8,[`modelValue`,`placeholder`]),Z.value.name?(m(),f(`p`,fe,i(Z.value.name),1)):u(``,!0)]),r(`div`,null,[e(l(S),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(U)(`routerKeys.whitelistLabel`)),1)]),_:1}),r(`div`,pe,i(l(U)(`routerKeys.whitelistHint`)),1),r(`div`,me,[(m(!0),f(n,null,g(K.value,t=>(m(),d(l(S),{key:t,class:`flex items-center gap-2 cursor-pointer text-sm font-normal`},{default:c(()=>[e(l(v),{"model-value":X.value.allowed_models.includes(t),"onUpdate:modelValue":e=>{if(e&&e!==`indeterminate`&&!X.value.allowed_models.includes(t))X.value.allowed_models.push(t);else if(!e){let e=X.value.allowed_models.indexOf(t);e>=0&&X.value.allowed_models.splice(e,1)}}},null,8,[`model-value`,`onUpdate:modelValue`]),r(`span`,he,i(t),1)]),_:2},1024))),128)),K.value.length===0?(m(),f(`div`,ge,i(l(U)(`routerKeys.noModels`)),1)):u(``,!0)]),X.value.allowed_models.length>0?(m(),f(`div`,_e,[(m(!0),f(n,null,g(X.value.allowed_models,t=>(m(),d(l(C),{key:t,variant:`outline`,class:`text-xs`},{default:c(()=>[s(i(t)+` `,1),e(l(_),{type:`button`,variant:`ghost`,size:`sm`,class:`ml-1 h-4 w-4 p-0 text-muted-foreground hover:text-destructive`,onClick:e=>Ce(t)},{default:c(()=>[...a[9]||=[s(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))])):u(``,!0)]),J.value?(m(),f(`div`,ve,[e(l(v),{modelValue:X.value.is_active,"onUpdate:modelValue":a[2]||=e=>X.value.is_active=e,id:`key-active`},null,8,[`modelValue`]),e(l(S),{for:`key-active`,class:`text-sm text-foreground`},{default:c(()=>[s(i(l(U)(`common.enable`)),1)]),_:1})])):u(``,!0),e(l(ce),null,{default:c(()=>[e(l(_),{type:`button`,variant:`outline`,onClick:a[3]||=e=>q.value=!1},{default:c(()=>[s(i(l(U)(`common.cancel`)),1)]),_:1}),e(l(_),{type:`submit`},{default:c(()=>[s(i(l(U)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),e(l(T),{open:!!Y.value,"onUpdate:open":a[5]||=e=>{e||(Y.value=null)}},{default:c(()=>[e(l(w),null,{default:c(()=>[e(l(de),null,{default:c(()=>[e(l(D),null,{default:c(()=>[s(i(l(U)(`routerKeys.confirmDeleteTitle`)),1)]),_:1}),e(l(j),null,{default:c(()=>[s(i(l(U)(`routerKeys.confirmDeleteDesc`,{name:Y.value?.name})),1)]),_:1})]),_:1}),e(l(k),null,{default:c(()=>[e(l(O),null,{default:c(()=>[s(i(l(U)(`common.cancel`)),1)]),_:1}),e(l(_),{variant:`destructive`,onClick:ke},{default:c(()=>[s(i(l(U)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{U as default};
1
+ import{$ as e,A as t,G as n,J as r,Kt as i,L as a,Nt as o,Q as s,Tt as c,Ut as ee,Vt as l,W as te,X as u,Y as d,Z as f,et as p,ft as m,k as h,mt as g,n as _,ut as ne}from"./button-C7HO6Dyb.js";import{t as v}from"./Checkbox-Ddnzkh_i.js";import{a as re,c as y,d as ie,f as ae,l as b,n as oe,o as se,r as ce,s as le,t as ue,u as x}from"./dialog-BWB1aLcT.js";import{t as S}from"./Label-Dw5HcYsL.js";import{a as de,b as C,c as w,d as T,dt as E,i as D,l as O,o as k,r as A,s as j}from"./index-itL9--Q_.js";import{t as M}from"./Input-Ey_q_5_r.js";import{t as N}from"./useClipboard-CttzUerj.js";var P={class:`p-6`},F={class:`flex items-center justify-between mb-4`},I={class:`text-lg font-semibold text-foreground`},L={class:`bg-card rounded-lg border overflow-hidden`},R={class:`flex items-center gap-1`},z={class:`font-mono text-xs text-muted-foreground`},B={key:0,class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},V={key:1,class:`w-3.5 h-3.5 text-success`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},H={key:0,class:`flex flex-wrap gap-1`},fe={key:0,class:`text-sm text-destructive mt-1`},pe={class:`text-xs text-muted-foreground mb-2`},me={class:`border rounded-md p-3 max-h-48 overflow-y-auto space-y-2 bg-muted`},he={class:`font-mono text-xs`},ge={key:0,class:`text-muted-foreground text-sm text-center py-2`},_e={key:0,class:`flex flex-wrap gap-1 mt-2`},ve={key:0,class:`flex items-center gap-2`},U=p({__name:`RouterKeys`,setup(p){let{t:U}=a(),W={name:``,allowed_models:[],is_active:!0},G=o([]),K=o([]),q=o(!1),J=o(null),Y=o(null),X=o({...W,allowed_models:[]}),Z=o({}),{copied:ye,copy:be}=N();function xe(e){return e?e.slice(0,7)+`*`.repeat(7):``}function Se(e){return E(e)}function Ce(e){let t=X.value.allowed_models.indexOf(e);t>=0&&X.value.allowed_models.splice(t,1)}async function Q(){try{let[e,t]=await Promise.allSettled([h.getRouterKeys(),h.getAvailableModels()]);e.status===`fulfilled`&&(G.value=e.value),t.status===`fulfilled`&&(K.value=t.value)}catch(e){console.error(`Failed to load data:`,e),A.error(t(e,U(`routerKeys.loadFailed`)))}}function $(){J.value=null,X.value={...W,allowed_models:[]},Z.value={},q.value=!0}function we(e){J.value=e.id,X.value={name:e.name,allowed_models:e.allowed_models?[...e.allowed_models]:[],is_active:!!e.is_active},Z.value={},q.value=!0}function Te(){return{name:X.value.name,allowed_models:X.value.allowed_models.length>0?X.value.allowed_models:null,is_active:+!!X.value.is_active}}function Ee(){return{name:X.value.name,allowed_models:X.value.allowed_models.length>0?X.value.allowed_models:null}}async function De(){let e={};if(X.value.name.trim()||(e.name=U(`routerKeys.nameRequired`)),Z.value=e,!(Object.keys(e).length>0))try{J.value?await h.updateRouterKey(J.value,Te()):await h.createRouterKey(Ee()),q.value=!1,await Q()}catch(e){console.error(`Failed to save router key:`,e),A.error(t(e,U(`routerKeys.saveFailed`)))}}function Oe(e){Y.value=e}async function ke(){let e=Y.value;if(e){Y.value=null;try{await h.deleteRouterKey(e.id),await Q()}catch(e){console.error(`Failed to delete router key:`,e),A.error(t(e,U(`routerKeys.deleteFailed`)))}}}return ne(Q),(t,a)=>(m(),f(`div`,P,[r(`div`,F,[r(`h2`,I,i(l(U)(`routerKeys.title`)),1),e(l(_),{onClick:$,class:`flex items-center gap-1`},{default:c(()=>[a[6]||=r(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[r(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),s(` `+i(l(U)(`routerKeys.createKey`)),1)]),_:1})]),r(`div`,L,[e(l(ae),null,{default:c(()=>[e(l(le),null,{default:c(()=>[e(l(b),{class:`bg-muted`},{default:c(()=>[e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.name`)),1)]),_:1}),e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.key`)),1)]),_:1}),e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.whitelist`)),1)]),_:1}),e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.status`)),1)]),_:1}),e(l(y),{class:`text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.createdAt`)),1)]),_:1}),e(l(y),{class:`text-right text-muted-foreground`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),e(l(ie),null,{default:c(()=>[(m(!0),f(n,null,g(G.value,t=>(m(),d(l(b),{key:t.id,class:ee({"opacity-60":!t.is_active})},{default:c(()=>[e(l(x),{class:`font-medium`},{default:c(()=>[s(i(t.name),1)]),_:2},1024),e(l(x),null,{default:c(()=>[r(`div`,R,[r(`span`,z,i(xe(t.key)),1),e(l(_),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:e=>t.key&&l(be)(t.key)},{default:c(()=>[l(ye)?(m(),f(`svg`,V,[...a[8]||=[r(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):(m(),f(`svg`,B,[...a[7]||=[r(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))]),_:1},8,[`onClick`])])]),_:2},1024),e(l(x),null,{default:c(()=>[t.allowed_models&&t.allowed_models.length>0?(m(),f(`div`,H,[(m(!0),f(n,null,g(t.allowed_models,e=>(m(),d(l(C),{key:e,variant:`outline`,class:`text-xs`},{default:c(()=>[s(i(e),1)]),_:2},1024))),128))])):(m(),d(l(C),{key:1,variant:`secondary`},{default:c(()=>[s(i(l(U)(`common.allModels`)),1)]),_:1}))]),_:2},1024),e(l(x),null,{default:c(()=>[e(l(C),{variant:t.is_active?`default`:`secondary`},{default:c(()=>[s(i(t.is_active?l(U)(`common.enabled`):l(U)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),e(l(x),{class:`text-muted-foreground text-sm`},{default:c(()=>[s(i(Se(t.created_at)),1)]),_:2},1024),e(l(x),{class:`text-right`},{default:c(()=>[e(l(_),{variant:`ghost`,size:`sm`,onClick:e=>we(t),class:`text-muted-foreground hover:text-primary mr-2`},{default:c(()=>[s(i(l(U)(`common.edit`)),1)]),_:1},8,[`onClick`]),e(l(_),{variant:`ghost`,size:`sm`,onClick:e=>Oe(t),class:`text-muted-foreground hover:text-destructive`},{default:c(()=>[s(i(l(U)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),G.value.length===0?(m(),d(l(b),{key:0},{default:c(()=>[e(l(x),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:c(()=>[s(i(l(U)(`routerKeys.noKeys`)),1)]),_:1})]),_:1})):u(``,!0)]),_:1})]),_:1})]),e(l(se),{open:q.value,"onUpdate:open":a[4]||=e=>q.value=e},{default:c(()=>[e(l(re),{class:`sm:max-w-lg`},{default:c(()=>[e(l(oe),null,{default:c(()=>[e(l(ue),null,{default:c(()=>[s(i(J.value?l(U)(`routerKeys.editKey`):l(U)(`routerKeys.createKey`)),1)]),_:1})]),_:1}),r(`form`,{onSubmit:te(De,[`prevent`]),class:`space-y-4`},[r(`div`,null,[e(l(S),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(U)(`routerKeys.tableHeaders.name`)),1)]),_:1}),e(l(M),{modelValue:X.value.name,"onUpdate:modelValue":a[0]||=e=>X.value.name=e,type:`text`,required:``,placeholder:l(U)(`routerKeys.placeholder.name`),onInput:a[1]||=e=>delete Z.value.name},null,8,[`modelValue`,`placeholder`]),Z.value.name?(m(),f(`p`,fe,i(Z.value.name),1)):u(``,!0)]),r(`div`,null,[e(l(S),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(i(l(U)(`routerKeys.whitelistLabel`)),1)]),_:1}),r(`div`,pe,i(l(U)(`routerKeys.whitelistHint`)),1),r(`div`,me,[(m(!0),f(n,null,g(K.value,t=>(m(),d(l(S),{key:t,class:`flex items-center gap-2 cursor-pointer text-sm font-normal`},{default:c(()=>[e(l(v),{"model-value":X.value.allowed_models.includes(t),"onUpdate:modelValue":e=>{if(e&&e!==`indeterminate`&&!X.value.allowed_models.includes(t))X.value.allowed_models.push(t);else if(!e){let e=X.value.allowed_models.indexOf(t);e>=0&&X.value.allowed_models.splice(e,1)}}},null,8,[`model-value`,`onUpdate:modelValue`]),r(`span`,he,i(t),1)]),_:2},1024))),128)),K.value.length===0?(m(),f(`div`,ge,i(l(U)(`routerKeys.noModels`)),1)):u(``,!0)]),X.value.allowed_models.length>0?(m(),f(`div`,_e,[(m(!0),f(n,null,g(X.value.allowed_models,t=>(m(),d(l(C),{key:t,variant:`outline`,class:`text-xs`},{default:c(()=>[s(i(t)+` `,1),e(l(_),{type:`button`,variant:`ghost`,size:`sm`,class:`ml-1 h-4 w-4 p-0 text-muted-foreground hover:text-destructive`,onClick:e=>Ce(t)},{default:c(()=>[...a[9]||=[s(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))])):u(``,!0)]),J.value?(m(),f(`div`,ve,[e(l(v),{modelValue:X.value.is_active,"onUpdate:modelValue":a[2]||=e=>X.value.is_active=e,id:`key-active`},null,8,[`modelValue`]),e(l(S),{for:`key-active`,class:`text-sm text-foreground`},{default:c(()=>[s(i(l(U)(`common.enable`)),1)]),_:1})])):u(``,!0),e(l(ce),null,{default:c(()=>[e(l(_),{type:`button`,variant:`outline`,onClick:a[3]||=e=>q.value=!1},{default:c(()=>[s(i(l(U)(`common.cancel`)),1)]),_:1}),e(l(_),{type:`submit`},{default:c(()=>[s(i(l(U)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),e(l(T),{open:!!Y.value,"onUpdate:open":a[5]||=e=>{e||(Y.value=null)}},{default:c(()=>[e(l(w),null,{default:c(()=>[e(l(de),null,{default:c(()=>[e(l(D),null,{default:c(()=>[s(i(l(U)(`routerKeys.confirmDeleteTitle`)),1)]),_:1}),e(l(j),null,{default:c(()=>[s(i(l(U)(`routerKeys.confirmDeleteDesc`,{name:Y.value?.name})),1)]),_:1})]),_:1}),e(l(k),null,{default:c(()=>[e(l(O),null,{default:c(()=>[s(i(l(U)(`common.cancel`)),1)]),_:1}),e(l(_),{variant:`destructive`,onClick:ke},{default:c(()=>[s(i(l(U)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{U as default};
@@ -1 +1 @@
1
- import{$ as e,Nt as t,Rt as n,Tt as r,Vt as i,Y as a,ct as o,dt as s,et as c,ft as l,ht as u,i as d,m as f,q as p,ut as m}from"./button-C1QSPeLI.js";import{D as h,K as g,U as _,q as v,z as y}from"./index-247t8K8M.js";var b=`rovingFocusGroup.onEntryFocus`,x={bubbles:!1,cancelable:!0},S={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function C(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function w(e,t,n){let r=C(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return S[r]}function T(e,t=!1){let n=g();for(let r of e)if(r===n||(r.focus({preventScroll:t}),g()!==n))return}function E(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[D,O]=v(`RovingFocusGroup`),k=c({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(o,{expose:s,emit:c}){let p=o,m=c,{loop:g,orientation:v,dir:y}=n(p),S=_(y),C=f(p,`currentTabStopId`,m,{defaultValue:p.defaultCurrentTabStopId,passive:p.currentTabStopId===void 0}),w=t(!1),E=t(!1),D=t(0),{getItems:k,CollectionSlot:A}=h({isProvider:!0});function j(e){let t=!E.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!w.value){let t=new CustomEvent(b,x);if(e.currentTarget.dispatchEvent(t),m(`entryFocus`,t),!t.defaultPrevented){let e=k().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);T([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===C.value),...e].filter(Boolean),p.preventScrollOnEntryFocus)}}E.value=!1}function M(){setTimeout(()=>{E.value=!1},1)}return s({getItems:k}),O({loop:g,dir:S,orientation:v,currentTabStopId:C,onItemFocus:e=>{C.value=e},onItemShiftTab:()=>{w.value=!0},onFocusableItemAdd:()=>{D.value++},onFocusableItemRemove:()=>{D.value--}}),(t,n)=>(l(),a(i(A),null,{default:r(()=>[e(i(d),{tabindex:w.value||D.value===0?-1:0,"data-orientation":i(v),as:t.as,"as-child":t.asChild,dir:i(S),style:{outline:`none`},onMousedown:n[0]||=e=>E.value=!0,onMouseup:M,onFocus:j,onBlur:n[1]||=e=>w.value=!1},{default:r(()=>[u(t.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),A=c({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=t,c=D(),f=y(),g=p(()=>n.tabStopId||f),_=p(()=>c.currentTabStopId.value===g.value),{getItems:v,CollectionItem:b}=h();m(()=>{n.focusable&&c.onFocusableItemAdd()}),s(()=>{n.focusable&&c.onFocusableItemRemove()});function x(e){if(e.key===`Tab`&&e.shiftKey){c.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=w(e,c.orientation.value,c.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!n.allowShiftKey&&e.shiftKey)return;e.preventDefault();let r=[...v().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(t===`last`)r.reverse();else if(t===`prev`||t===`next`){t===`prev`&&r.reverse();let n=r.indexOf(e.currentTarget);r=c.loop.value?E(r,n+1):r.slice(n+1)}o(()=>T(r))}}return(t,n)=>(l(),a(i(b),null,{default:r(()=>[e(i(d),{tabindex:_.value?0:-1,"data-orientation":i(c).orientation.value,"data-active":t.active?``:void 0,"data-disabled":t.focusable?void 0:``,as:t.as,"as-child":t.asChild,onMousedown:n[0]||=e=>{t.focusable?i(c).onItemFocus(g.value):e.preventDefault()},onFocus:n[1]||=e=>i(c).onItemFocus(g.value),onKeydown:x},{default:r(()=>[u(t.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}});export{k as n,A as t};
1
+ import{$ as e,Nt as t,Rt as n,Tt as r,Vt as i,Y as a,ct as o,dt as s,et as c,ft as l,ht as u,i as d,m as f,q as p,ut as m}from"./button-C7HO6Dyb.js";import{D as h,K as g,U as _,q as v,z as y}from"./index-itL9--Q_.js";var b=`rovingFocusGroup.onEntryFocus`,x={bubbles:!1,cancelable:!0},S={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function C(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function w(e,t,n){let r=C(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return S[r]}function T(e,t=!1){let n=g();for(let r of e)if(r===n||(r.focus({preventScroll:t}),g()!==n))return}function E(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[D,O]=v(`RovingFocusGroup`),k=c({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(o,{expose:s,emit:c}){let p=o,m=c,{loop:g,orientation:v,dir:y}=n(p),S=_(y),C=f(p,`currentTabStopId`,m,{defaultValue:p.defaultCurrentTabStopId,passive:p.currentTabStopId===void 0}),w=t(!1),E=t(!1),D=t(0),{getItems:k,CollectionSlot:A}=h({isProvider:!0});function j(e){let t=!E.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!w.value){let t=new CustomEvent(b,x);if(e.currentTarget.dispatchEvent(t),m(`entryFocus`,t),!t.defaultPrevented){let e=k().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);T([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===C.value),...e].filter(Boolean),p.preventScrollOnEntryFocus)}}E.value=!1}function M(){setTimeout(()=>{E.value=!1},1)}return s({getItems:k}),O({loop:g,dir:S,orientation:v,currentTabStopId:C,onItemFocus:e=>{C.value=e},onItemShiftTab:()=>{w.value=!0},onFocusableItemAdd:()=>{D.value++},onFocusableItemRemove:()=>{D.value--}}),(t,n)=>(l(),a(i(A),null,{default:r(()=>[e(i(d),{tabindex:w.value||D.value===0?-1:0,"data-orientation":i(v),as:t.as,"as-child":t.asChild,dir:i(S),style:{outline:`none`},onMousedown:n[0]||=e=>E.value=!0,onMouseup:M,onFocus:j,onBlur:n[1]||=e=>w.value=!1},{default:r(()=>[u(t.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),A=c({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=t,c=D(),f=y(),g=p(()=>n.tabStopId||f),_=p(()=>c.currentTabStopId.value===g.value),{getItems:v,CollectionItem:b}=h();m(()=>{n.focusable&&c.onFocusableItemAdd()}),s(()=>{n.focusable&&c.onFocusableItemRemove()});function x(e){if(e.key===`Tab`&&e.shiftKey){c.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=w(e,c.orientation.value,c.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!n.allowShiftKey&&e.shiftKey)return;e.preventDefault();let r=[...v().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(t===`last`)r.reverse();else if(t===`prev`||t===`next`){t===`prev`&&r.reverse();let n=r.indexOf(e.currentTarget);r=c.loop.value?E(r,n+1):r.slice(n+1)}o(()=>T(r))}}return(t,n)=>(l(),a(i(b),null,{default:r(()=>[e(i(d),{tabindex:_.value?0:-1,"data-orientation":i(c).orientation.value,"data-active":t.active?``:void 0,"data-disabled":t.focusable?void 0:``,as:t.as,"as-child":t.asChild,onMousedown:n[0]||=e=>{t.focusable?i(c).onItemFocus(g.value):e.preventDefault()},onFocus:n[1]||=e=>i(c).onItemFocus(g.value),onKeydown:x},{default:r(()=>[u(t.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}});export{k as n,A as t};
@@ -1 +1 @@
1
- import{$ as e,A as t,G as n,J as r,Kt as i,L as a,Nt as o,Q as s,Tt as c,Ut as l,Vt as u,W as d,X as f,Y as p,Z as m,et as ee,ft as h,k as g,mt as _,n as v,q as y,ut as te}from"./button-C1QSPeLI.js";import{t as ne}from"./MappingEntryEditor-B1DXrpQE.js";import{n as re,t as ie}from"./Switch-OzhbhGwX.js";import{a as ae,c as b,d as oe,f as se,l as x,n as ce,o as le,r as ue,s as de,t as fe,u as S}from"./dialog-BBGI9zKO.js";import{t as C}from"./Label-CzP8C4iz.js";import{a as pe,b as w,c as me,d as he,f as T,g as E,h as D,i as ge,l as _e,lt as ve,m as O,o as ye,p as k,r as A,s as be}from"./index-247t8K8M.js";import{t as xe}from"./Input-CcyqZXkU.js";import"./constants-yM0YwP2s.js";import{n as Se,t as j}from"./TransformRulesForm-IKRT5A3_.js";var Ce={class:`p-6 space-y-3`},we={class:`text-lg font-semibold text-foreground`},Te={class:`text-sm text-muted-foreground mt-1`},Ee={key:0,class:`flex items-center justify-center py-16 text-muted-foreground text-sm`},De={class:`grid grid-cols-3 gap-3`},Oe=[`onClick`],ke={class:`font-mono text-sm font-semibold text-foreground shrink-0`},Ae={class:`flex-1 flex flex-wrap gap-1 min-w-0`},je={class:`ml-1 text-muted-foreground/60 font-mono`},Me={key:0,class:`text-[10px] text-muted-foreground/50 self-center`},Ne={key:0,class:`border-t`},Pe={class:`flex items-center justify-between px-4 py-2 bg-muted/30`},Fe={class:`text-xs font-medium text-muted-foreground`},Ie={class:`flex flex-wrap gap-1`},Le={class:`flex items-center justify-end gap-1`},Re={key:0,class:`py-12 text-center text-xs text-muted-foreground`},ze={key:0,class:`bg-destructive/10 border border-destructive/30 rounded-md px-3 py-2 text-sm text-destructive`},Be={class:`grid grid-cols-2 gap-3`},Ve={key:0,class:`text-xs text-destructive mt-0.5`},He={class:`flex flex-wrap gap-1.5`},Ue={key:0,class:`text-xs text-destructive mt-0.5`},We={class:`flex items-center gap-2 mb-2`},Ge={class:`flex gap-1.5`},Ke={class:`grid grid-cols-2 gap-3`},qe={key:0,class:`text-xs text-destructive mt-0.5`},Je={key:0,class:`text-xs text-destructive mt-0.5`},Ye={class:`grid grid-cols-2 gap-4`},Xe={class:`border rounded-md p-3 space-y-3`},Ze={class:`text-xs font-medium text-muted-foreground`},Qe={class:`border rounded-md p-3 space-y-3`},$e={class:`text-xs font-medium text-muted-foreground`},et=2,M=ee({__name:`Schedules`,setup(ee){let{t:M}=a(),N=y(()=>[M(`schedules.weekDays.sun`),M(`schedules.weekDays.mon`),M(`schedules.weekDays.tue`),M(`schedules.weekDays.wed`),M(`schedules.weekDays.thu`),M(`schedules.weekDays.fri`),M(`schedules.weekDays.sat`)]),P=[1,2,3,4,5],F=()=>({name:``,week:[...P],start_hour:0,end_hour:24,targets:[{backend_model:``,provider_id:``}],concurrency_mode:`auto`,max_concurrency:10,queue_timeout_ms:12e4,max_queue_size:100}),I=o(!1),L=o([]),R=o([]),z=o([]),B=o(null),V=o(!1),H=o(null),U=o(``),W=o(null),G=o(F()),K=o({}),q=o(``),J=o({injectHeadersInput:``,dropFieldsInput:``,requestDefaultsInput:``}),Y=y(()=>{let e={};for(let t of z.value)e[t.mapping_group_id]||(e[t.mapping_group_id]=[]),e[t.mapping_group_id].push(t);return e}),tt=y(()=>({clientModel:L.value.find(e=>e.id===U.value)?.client_model??``,targets:G.value.targets,existing:!1,tag:`cust`,active:!0}));function nt(e){G.value.targets=e}function rt(e){let t=N.value,n=[];try{n=JSON.parse(e)}catch{return[]}return n.map(e=>t[e]??`${e}`)}function X(e){return`${e}`.padStart(et,`0`)+`:00`}function Z(e,t){G.value.start_hour=e,G.value.end_hour=t,delete K.value.time}function it(e){B.value=B.value===e?null:e}async function at(){try{L.value=await g.getMappingGroups()}catch(e){console.error(`schedules.loadGroups:`,e),A.error(t(e,M(`schedules.loadGroupsFailed`)))}}async function Q(){try{R.value=await g.getProviders()}catch(e){console.error(`schedules.loadProviders:`,e),A.error(t(e,M(`schedules.loadProvidersFailed`)))}}async function $(){try{z.value=await g.getSchedules()}catch(e){console.error(`schedules.loadAll:`,e),A.error(t(e,M(`schedules.loadSchedulesFailed`)))}}let ot=y(()=>R.value.map(e=>({provider:{id:e.id,name:e.name},models:(e.models??[]).map(e=>({name:e.name,contextWindow:e.context_window??2e5}))})));function st(e){let t=G.value.week.indexOf(e);t>=0?G.value.week.splice(t,1):G.value.week.push(e),delete K.value.week}function ct(e){H.value=null,U.value=e,G.value=F(),J.value={injectHeadersInput:``,dropFieldsInput:``,requestDefaultsInput:``},K.value={},q.value=``,V.value=!0}function lt(e){H.value=e.id,U.value=e.mapping_group_id,K.value={},q.value=``;let t=[{backend_model:``,provider_id:``}];try{let n=JSON.parse(e.mapping_rule);n.targets?.length&&(t=n.targets)}catch(e){console.warn(`Failed to parse mapping_rule:`,e),A.error(M(`schedules.parseRuleFailed`))}let n=[...P];try{n=JSON.parse(e.week)}catch(e){console.warn(`Failed to parse week:`,e),A.error(M(`schedules.parseWeekFailed`))}let r=`auto`,i=10,a=12e4,o=100;if(e.concurrency_rule)try{let t=JSON.parse(e.concurrency_rule);r=t.mode||`auto`,t.max_concurrency&&(i=t.max_concurrency),t.queue_timeout_ms&&(a=t.queue_timeout_ms),t.max_queue_size&&(o=t.max_queue_size)}catch(e){console.warn(`Failed to parse concurrency_rule:`,e),A.error(M(`schedules.parseConcurrencyFailed`))}let s=``,c=``,l=``;if(e.transform_rule)try{let t=JSON.parse(e.transform_rule);c=(t.drop_fields||[]).join(`, `),l=t.request_defaults?JSON.stringify(t.request_defaults):``,s=t.inject_headers?JSON.stringify(t.inject_headers):``}catch(e){console.warn(`Failed to parse transform_rule:`,e),A.error(M(`schedules.parseTransformFailed`))}G.value={name:e.name,week:n,start_hour:e.start_hour,end_hour:e.end_hour,targets:t,concurrency_mode:r,max_concurrency:i,queue_timeout_ms:a,max_queue_size:o},J.value={injectHeadersInput:s,dropFieldsInput:c,requestDefaultsInput:l},V.value=!0}function ut(){let e={};G.value.name.trim()||(e.name=M(`schedules.form.nameRequired`)),G.value.week.length===0&&(e.week=M(`schedules.form.weekRequired`)),G.value.start_hour>=G.value.end_hour&&(e.time=M(`schedules.form.timeInvalid`));for(let t of G.value.targets)if(!t.provider_id||!t.backend_model){e.targets=M(`schedules.form.targetRequired`);break}return K.value=e,Object.keys(e).length===0}function dt(){let{injectHeadersInput:e,dropFieldsInput:t,requestDefaultsInput:n}=J.value;if(!e.trim()&&!t.trim()&&!n.trim())return{rule:null,error:!1};let r=t?t.split(`,`).map(e=>e.trim()).filter(Boolean):null,i=null;if(n.trim())try{i=JSON.parse(n)}catch{return A.error(M(`providers.transform.requestDefaultsJsonError`)),{rule:null,error:!0}}let a=null;if(e.trim())try{a=JSON.parse(e)}catch{return A.error(M(`providers.transform.injectHeadersJsonError`)),{rule:null,error:!0}}return{rule:JSON.stringify({drop_fields:r,request_defaults:i,inject_headers:a}),error:!1}}async function ft(){if(q.value=``,!ut())return;let{rule:e,error:n}=dt();if(!n)try{let t=JSON.stringify({targets:G.value.targets}),n=G.value.concurrency_mode===`none`?null:JSON.stringify({mode:G.value.concurrency_mode,max_concurrency:G.value.max_concurrency,queue_timeout_ms:G.value.queue_timeout_ms,max_queue_size:G.value.max_queue_size}),r={mapping_group_id:U.value,name:G.value.name,week:JSON.stringify(G.value.week),start_hour:G.value.start_hour,end_hour:G.value.end_hour,mapping_rule:t,concurrency_rule:n,transform_rule:e};H.value?await g.updateSchedule(H.value,r):await g.createSchedule(r),V.value=!1,await $()}catch(e){q.value=t(e,M(`schedules.saveFailed`))}}async function pt(e){try{await g.toggleSchedule(e.id),await $()}catch(e){console.error(`schedules.toggle:`,e),A.error(t(e,M(`schedules.toggleFailed`)))}}async function mt(){let e=W.value;if(e){W.value=null;try{await g.deleteSchedule(e.id),await $()}catch(e){console.error(`schedules.delete:`,e),A.error(t(e,M(`schedules.deleteFailed`)))}}}return te(async()=>{I.value=!0,await Promise.allSettled([at(),Q(),$()]),I.value=!1}),(t,a)=>(h(),m(`div`,Ce,[r(`div`,null,[r(`h2`,we,i(u(M)(`schedules.title`)),1),r(`p`,Te,i(u(M)(`schedules.description`)),1)]),I.value?(h(),m(`div`,Ee,i(u(M)(`common.loading`)),1)):f(``,!0),I.value?f(``,!0):(h(),m(n,{key:1},[r(`div`,De,[(h(!0),m(n,null,_(L.value,t=>(h(),m(`div`,{key:t.id,class:l([`rounded-lg border transition-colors`,[B.value===t.id?`col-span-3 border-primary/30 shadow-sm shadow-primary/5`:`border-border hover:border-border/80`]])},[r(`div`,{class:`flex items-center gap-3 px-4 py-3 cursor-pointer`,onClick:e=>it(t.id)},[r(`span`,ke,i(t.client_model),1),Y.value[t.id]?.length?(h(),p(u(w),{key:0,variant:`secondary`,class:`text-[10px]`},{default:c(()=>[s(i(u(M)(`schedules.ruleCount`,{count:Y.value[t.id].length})),1)]),_:2},1024)):(h(),p(u(w),{key:1,variant:`outline`,class:`text-[10px] text-muted-foreground/50`},{default:c(()=>[s(i(u(M)(`schedules.noRules`)),1)]),_:1})),r(`div`,Ae,[(h(!0),m(n,null,_((Y.value[t.id]??[]).slice(0,3),e=>(h(),p(u(w),{key:e.id,variant:e.enabled?`default`:`secondary`,class:`text-[10px] font-normal`},{default:c(()=>[s(i(e.name)+` `,1),r(`span`,je,i(X(e.start_hour))+`-`+i(X(e.end_hour)),1)]),_:2},1032,[`variant`]))),128)),(Y.value[t.id]?.length??0)>3?(h(),m(`span`,Me,` +`+i(Y.value[t.id].length-3),1)):f(``,!0)]),e(u(ve),{class:l([`size-4 text-muted-foreground/40 shrink-0 transition-transform`,{"rotate-180":B.value===t.id}])},null,8,[`class`])],8,Oe),B.value===t.id?(h(),m(`div`,Ne,[r(`div`,Pe,[r(`span`,Fe,i(u(M)(`schedules.scheduleRules`)),1),e(u(v),{size:`sm`,variant:`outline`,class:`h-7 text-xs`,onClick:e=>ct(t.id)},{default:c(()=>[e(u(re),{class:`w-3 h-3 mr-1`}),s(` `+i(u(M)(`schedules.createSchedule`)),1)]),_:1},8,[`onClick`])]),e(u(se),null,{default:c(()=>[e(u(de),null,{default:c(()=>[e(u(x),{class:`bg-muted/50`},{default:c(()=>[e(u(b),{class:`text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.name`)),1)]),_:1}),e(u(b),{class:`text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.status`)),1)]),_:1}),e(u(b),{class:`text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.week`)),1)]),_:1}),e(u(b),{class:`text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.timeRange`)),1)]),_:1}),e(u(b),{class:`text-right text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),e(u(oe),null,{default:c(()=>[(h(!0),m(n,null,_(Y.value[t.id]??[],t=>(h(),p(u(x),{key:t.id},{default:c(()=>[e(u(S),{class:`font-medium text-sm`},{default:c(()=>[s(i(t.name),1)]),_:2},1024),e(u(S),null,{default:c(()=>[e(u(w),{variant:t.enabled?`default`:`secondary`,class:`text-xs`},{default:c(()=>[s(i(t.enabled?u(M)(`schedules.enabled`):u(M)(`schedules.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),e(u(S),null,{default:c(()=>[r(`div`,Ie,[(h(!0),m(n,null,_(rt(t.week),e=>(h(),p(u(w),{key:e,variant:`outline`,class:`text-xs`},{default:c(()=>[s(i(e),1)]),_:2},1024))),128))])]),_:2},1024),e(u(S),{class:`font-mono text-sm`},{default:c(()=>[s(i(X(t.start_hour))+`-`+i(X(t.end_hour)),1)]),_:2},1024),e(u(S),{class:`text-right`},{default:c(()=>[r(`div`,Le,[e(u(ie),{"model-value":!!t.enabled,class:`scale-75`,onClick:d(e=>pt(t),[`stop`])},null,8,[`model-value`,`onClick`]),e(u(v),{variant:`ghost`,size:`sm`,onClick:e=>lt(t)},{default:c(()=>[s(i(u(M)(`common.edit`)),1)]),_:1},8,[`onClick`]),e(u(v),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>W.value=t},{default:c(()=>[s(i(u(M)(`common.delete`)),1)]),_:1},8,[`onClick`])])]),_:2},1024)]),_:2},1024))),128)),Y.value[t.id]?.length?f(``,!0):(h(),p(u(x),{key:0},{default:c(()=>[e(u(S),{colspan:`5`,class:`text-center text-muted-foreground py-6 text-xs`},{default:c(()=>[s(i(u(M)(`schedules.emptyRules`)),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)])):f(``,!0)],2))),128))]),L.value.length===0?(h(),m(`p`,Re,i(u(M)(`schedules.noGroups`)),1)):f(``,!0)],64)),e(u(le),{open:V.value,"onUpdate:open":a[17]||=e=>V.value=e},{default:c(()=>[e(u(ae),{class:`sm:max-w-4xl max-h-[85vh] overflow-y-auto`},{default:c(()=>[e(u(ce),null,{default:c(()=>[e(u(fe),null,{default:c(()=>[s(i(H.value?u(M)(`schedules.editSchedule`):u(M)(`schedules.createSchedule`)),1)]),_:1})]),_:1}),r(`form`,{onSubmit:d(ft,[`prevent`]),class:`space-y-4`},[q.value?(h(),m(`div`,ze,i(q.value),1)):f(``,!0),r(`div`,Be,[r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground`},{default:c(()=>[s(i(u(M)(`schedules.form.name`)),1)]),_:1}),e(u(xe),{modelValue:G.value.name,"onUpdate:modelValue":a[0]||=e=>G.value.name=e,class:`mt-1`,placeholder:u(M)(`schedules.form.namePlaceholder`),onInput:a[1]||=e=>delete K.value.name},null,8,[`modelValue`,`placeholder`]),K.value.name?(h(),m(`p`,Ve,i(K.value.name),1)):f(``,!0)]),r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground mb-1.5 block`},{default:c(()=>[s(i(u(M)(`schedules.form.week`)),1)]),_:1}),r(`div`,He,[(h(!0),m(n,null,_(N.value,(e,t)=>(h(),p(u(v),{key:t,type:`button`,variant:(G.value.week??[]).includes(t)?`default`:`outline`,size:`sm`,class:`h-7 text-xs`,onClick:e=>st(t)},{default:c(()=>[s(i(e),1)]),_:2},1032,[`variant`,`onClick`]))),128))]),K.value.week?(h(),m(`p`,Ue,i(K.value.week),1)):f(``,!0)])]),r(`div`,null,[r(`div`,We,[e(u(C),{class:`text-xs text-muted-foreground`},{default:c(()=>[s(i(u(M)(`schedules.timePresets.label`)),1)]),_:1}),r(`div`,Ge,[e(u(v),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:a[2]||=e=>Z(9,12)},{default:c(()=>[s(i(u(M)(`schedules.timePresets.morning`)),1)]),_:1}),e(u(v),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:a[3]||=e=>Z(14,18)},{default:c(()=>[s(i(u(M)(`schedules.timePresets.afternoon`)),1)]),_:1}),e(u(v),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:a[4]||=e=>Z(19,21)},{default:c(()=>[s(i(u(M)(`schedules.timePresets.evening`)),1)]),_:1})])]),r(`div`,Ke,[r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground`},{default:c(()=>[s(i(u(M)(`schedules.form.startTime`)),1)]),_:1}),e(u(E),{modelValue:G.value.start_hour,"onUpdate:modelValue":[a[5]||=e=>G.value.start_hour=e,a[6]||=e=>{G.value.start_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:c(()=>[e(u(k),null,{default:c(()=>[e(u(T),{placeholder:u(M)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),e(u(D),null,{default:c(()=>[(h(),m(n,null,_(24,t=>e(u(O),{key:t-1,value:t-1},{default:c(()=>[s(i(String(t-1).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])]),r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground`},{default:c(()=>[s(i(u(M)(`schedules.form.endTime`)),1)]),_:1}),e(u(E),{modelValue:G.value.end_hour,"onUpdate:modelValue":[a[7]||=e=>G.value.end_hour=e,a[8]||=e=>{G.value.end_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:c(()=>[e(u(k),null,{default:c(()=>[e(u(T),{placeholder:u(M)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),e(u(D),null,{default:c(()=>[(h(),m(n,null,_(24,t=>e(u(O),{key:t,value:t},{default:c(()=>[s(i(String(t).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])])]),K.value.time?(h(),m(`p`,qe,i(K.value.time),1)):f(``,!0)]),r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground mb-1 block`},{default:c(()=>[s(i(u(M)(`schedules.form.targets`)),1)]),_:1}),e(ne,{entry:tt.value,"provider-groups":ot.value,expanded:!0,editable:!0,"onUpdate:targets":nt},null,8,[`entry`,`provider-groups`]),K.value.targets?(h(),m(`p`,Je,i(K.value.targets),1)):f(``,!0)]),r(`div`,Ye,[r(`div`,Xe,[r(`div`,Ze,i(u(M)(`schedules.form.concurrencyTitle`)),1),e(Se,{mode:G.value.concurrency_mode,"max-concurrency":G.value.max_concurrency,"queue-timeout-ms":G.value.queue_timeout_ms,"max-queue-size":G.value.max_queue_size,compact:``,"onUpdate:mode":a[9]||=e=>G.value.concurrency_mode=e,"onUpdate:maxConcurrency":a[10]||=e=>G.value.max_concurrency=e,"onUpdate:queueTimeoutMs":a[11]||=e=>G.value.queue_timeout_ms=e,"onUpdate:maxQueueSize":a[12]||=e=>G.value.max_queue_size=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`])]),r(`div`,Qe,[r(`div`,$e,i(u(M)(`providers.transform.title`)),1),e(j,{"inject-headers":J.value.injectHeadersInput,"drop-fields":J.value.dropFieldsInput,"request-defaults":J.value.requestDefaultsInput,compact:``,"onUpdate:injectHeaders":a[13]||=e=>J.value.injectHeadersInput=e,"onUpdate:dropFields":a[14]||=e=>J.value.dropFieldsInput=e,"onUpdate:requestDefaults":a[15]||=e=>J.value.requestDefaultsInput=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])])]),e(u(ue),null,{default:c(()=>[e(u(v),{type:`button`,variant:`outline`,onClick:a[16]||=e=>V.value=!1},{default:c(()=>[s(i(u(M)(`common.cancel`)),1)]),_:1}),e(u(v),{type:`submit`},{default:c(()=>[s(i(u(M)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),e(u(he),{open:!!W.value,"onUpdate:open":a[18]||=e=>{e||(W.value=null)}},{default:c(()=>[e(u(me),null,{default:c(()=>[e(u(pe),null,{default:c(()=>[e(u(ge),null,{default:c(()=>[s(i(u(M)(`schedules.confirmDeleteTitle`)),1)]),_:1}),e(u(be),null,{default:c(()=>[s(i(u(M)(`schedules.confirmDeleteMessage`,{name:W.value?.name??``})),1)]),_:1})]),_:1}),e(u(ye),null,{default:c(()=>[e(u(_e),null,{default:c(()=>[s(i(u(M)(`common.cancel`)),1)]),_:1}),e(u(v),{variant:`destructive`,onClick:mt},{default:c(()=>[s(i(u(M)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{M as default};
1
+ import{$ as e,A as t,G as n,J as r,Kt as i,L as a,Nt as o,Q as s,Tt as c,Ut as l,Vt as u,W as d,X as f,Y as p,Z as m,et as ee,ft as h,k as g,mt as _,n as v,q as y,ut as te}from"./button-C7HO6Dyb.js";import{t as ne}from"./MappingEntryEditor-C9pgNL0Q.js";import{n as re,t as ie}from"./Switch-C9DeYAnK.js";import{a as ae,c as b,d as oe,f as se,l as x,n as ce,o as le,r as ue,s as de,t as fe,u as S}from"./dialog-BWB1aLcT.js";import{t as C}from"./Label-Dw5HcYsL.js";import{a as pe,b as w,c as me,d as he,f as T,g as E,h as D,i as ge,l as _e,lt as ve,m as O,o as ye,p as k,r as A,s as be}from"./index-itL9--Q_.js";import{t as xe}from"./Input-Ey_q_5_r.js";import"./constants-yM0YwP2s.js";import{n as Se,t as j}from"./TransformRulesForm-CyXh4jHa.js";var Ce={class:`p-6 space-y-3`},we={class:`text-lg font-semibold text-foreground`},Te={class:`text-sm text-muted-foreground mt-1`},Ee={key:0,class:`flex items-center justify-center py-16 text-muted-foreground text-sm`},De={class:`grid grid-cols-3 gap-3`},Oe=[`onClick`],ke={class:`font-mono text-sm font-semibold text-foreground shrink-0`},Ae={class:`flex-1 flex flex-wrap gap-1 min-w-0`},je={class:`ml-1 text-muted-foreground/60 font-mono`},Me={key:0,class:`text-[10px] text-muted-foreground/50 self-center`},Ne={key:0,class:`border-t`},Pe={class:`flex items-center justify-between px-4 py-2 bg-muted/30`},Fe={class:`text-xs font-medium text-muted-foreground`},Ie={class:`flex flex-wrap gap-1`},Le={class:`flex items-center justify-end gap-1`},Re={key:0,class:`py-12 text-center text-xs text-muted-foreground`},ze={key:0,class:`bg-destructive/10 border border-destructive/30 rounded-md px-3 py-2 text-sm text-destructive`},Be={class:`grid grid-cols-2 gap-3`},Ve={key:0,class:`text-xs text-destructive mt-0.5`},He={class:`flex flex-wrap gap-1.5`},Ue={key:0,class:`text-xs text-destructive mt-0.5`},We={class:`flex items-center gap-2 mb-2`},Ge={class:`flex gap-1.5`},Ke={class:`grid grid-cols-2 gap-3`},qe={key:0,class:`text-xs text-destructive mt-0.5`},Je={key:0,class:`text-xs text-destructive mt-0.5`},Ye={class:`grid grid-cols-2 gap-4`},Xe={class:`border rounded-md p-3 space-y-3`},Ze={class:`text-xs font-medium text-muted-foreground`},Qe={class:`border rounded-md p-3 space-y-3`},$e={class:`text-xs font-medium text-muted-foreground`},et=2,M=ee({__name:`Schedules`,setup(ee){let{t:M}=a(),N=y(()=>[M(`schedules.weekDays.sun`),M(`schedules.weekDays.mon`),M(`schedules.weekDays.tue`),M(`schedules.weekDays.wed`),M(`schedules.weekDays.thu`),M(`schedules.weekDays.fri`),M(`schedules.weekDays.sat`)]),P=[1,2,3,4,5],F=()=>({name:``,week:[...P],start_hour:0,end_hour:24,targets:[{backend_model:``,provider_id:``}],concurrency_mode:`auto`,max_concurrency:10,queue_timeout_ms:12e4,max_queue_size:100}),I=o(!1),L=o([]),R=o([]),z=o([]),B=o(null),V=o(!1),H=o(null),U=o(``),W=o(null),G=o(F()),K=o({}),q=o(``),J=o({injectHeadersInput:``,dropFieldsInput:``,requestDefaultsInput:``}),Y=y(()=>{let e={};for(let t of z.value)e[t.mapping_group_id]||(e[t.mapping_group_id]=[]),e[t.mapping_group_id].push(t);return e}),tt=y(()=>({clientModel:L.value.find(e=>e.id===U.value)?.client_model??``,targets:G.value.targets,existing:!1,tag:`cust`,active:!0}));function nt(e){G.value.targets=e}function rt(e){let t=N.value,n=[];try{n=JSON.parse(e)}catch{return[]}return n.map(e=>t[e]??`${e}`)}function X(e){return`${e}`.padStart(et,`0`)+`:00`}function Z(e,t){G.value.start_hour=e,G.value.end_hour=t,delete K.value.time}function it(e){B.value=B.value===e?null:e}async function at(){try{L.value=await g.getMappingGroups()}catch(e){console.error(`schedules.loadGroups:`,e),A.error(t(e,M(`schedules.loadGroupsFailed`)))}}async function Q(){try{R.value=await g.getProviders()}catch(e){console.error(`schedules.loadProviders:`,e),A.error(t(e,M(`schedules.loadProvidersFailed`)))}}async function $(){try{z.value=await g.getSchedules()}catch(e){console.error(`schedules.loadAll:`,e),A.error(t(e,M(`schedules.loadSchedulesFailed`)))}}let ot=y(()=>R.value.map(e=>({provider:{id:e.id,name:e.name},models:(e.models??[]).map(e=>({name:e.name,contextWindow:e.context_window??2e5}))})));function st(e){let t=G.value.week.indexOf(e);t>=0?G.value.week.splice(t,1):G.value.week.push(e),delete K.value.week}function ct(e){H.value=null,U.value=e,G.value=F(),J.value={injectHeadersInput:``,dropFieldsInput:``,requestDefaultsInput:``},K.value={},q.value=``,V.value=!0}function lt(e){H.value=e.id,U.value=e.mapping_group_id,K.value={},q.value=``;let t=[{backend_model:``,provider_id:``}];try{let n=JSON.parse(e.mapping_rule);n.targets?.length&&(t=n.targets)}catch(e){console.warn(`Failed to parse mapping_rule:`,e),A.error(M(`schedules.parseRuleFailed`))}let n=[...P];try{n=JSON.parse(e.week)}catch(e){console.warn(`Failed to parse week:`,e),A.error(M(`schedules.parseWeekFailed`))}let r=`auto`,i=10,a=12e4,o=100;if(e.concurrency_rule)try{let t=JSON.parse(e.concurrency_rule);r=t.mode||`auto`,t.max_concurrency&&(i=t.max_concurrency),t.queue_timeout_ms&&(a=t.queue_timeout_ms),t.max_queue_size&&(o=t.max_queue_size)}catch(e){console.warn(`Failed to parse concurrency_rule:`,e),A.error(M(`schedules.parseConcurrencyFailed`))}let s=``,c=``,l=``;if(e.transform_rule)try{let t=JSON.parse(e.transform_rule);c=(t.drop_fields||[]).join(`, `),l=t.request_defaults?JSON.stringify(t.request_defaults):``,s=t.inject_headers?JSON.stringify(t.inject_headers):``}catch(e){console.warn(`Failed to parse transform_rule:`,e),A.error(M(`schedules.parseTransformFailed`))}G.value={name:e.name,week:n,start_hour:e.start_hour,end_hour:e.end_hour,targets:t,concurrency_mode:r,max_concurrency:i,queue_timeout_ms:a,max_queue_size:o},J.value={injectHeadersInput:s,dropFieldsInput:c,requestDefaultsInput:l},V.value=!0}function ut(){let e={};G.value.name.trim()||(e.name=M(`schedules.form.nameRequired`)),G.value.week.length===0&&(e.week=M(`schedules.form.weekRequired`)),G.value.start_hour>=G.value.end_hour&&(e.time=M(`schedules.form.timeInvalid`));for(let t of G.value.targets)if(!t.provider_id||!t.backend_model){e.targets=M(`schedules.form.targetRequired`);break}return K.value=e,Object.keys(e).length===0}function dt(){let{injectHeadersInput:e,dropFieldsInput:t,requestDefaultsInput:n}=J.value;if(!e.trim()&&!t.trim()&&!n.trim())return{rule:null,error:!1};let r=t?t.split(`,`).map(e=>e.trim()).filter(Boolean):null,i=null;if(n.trim())try{i=JSON.parse(n)}catch{return A.error(M(`providers.transform.requestDefaultsJsonError`)),{rule:null,error:!0}}let a=null;if(e.trim())try{a=JSON.parse(e)}catch{return A.error(M(`providers.transform.injectHeadersJsonError`)),{rule:null,error:!0}}return{rule:JSON.stringify({drop_fields:r,request_defaults:i,inject_headers:a}),error:!1}}async function ft(){if(q.value=``,!ut())return;let{rule:e,error:n}=dt();if(!n)try{let t=JSON.stringify({targets:G.value.targets}),n=G.value.concurrency_mode===`none`?null:JSON.stringify({mode:G.value.concurrency_mode,max_concurrency:G.value.max_concurrency,queue_timeout_ms:G.value.queue_timeout_ms,max_queue_size:G.value.max_queue_size}),r={mapping_group_id:U.value,name:G.value.name,week:JSON.stringify(G.value.week),start_hour:G.value.start_hour,end_hour:G.value.end_hour,mapping_rule:t,concurrency_rule:n,transform_rule:e};H.value?await g.updateSchedule(H.value,r):await g.createSchedule(r),V.value=!1,await $()}catch(e){q.value=t(e,M(`schedules.saveFailed`))}}async function pt(e){try{await g.toggleSchedule(e.id),await $()}catch(e){console.error(`schedules.toggle:`,e),A.error(t(e,M(`schedules.toggleFailed`)))}}async function mt(){let e=W.value;if(e){W.value=null;try{await g.deleteSchedule(e.id),await $()}catch(e){console.error(`schedules.delete:`,e),A.error(t(e,M(`schedules.deleteFailed`)))}}}return te(async()=>{I.value=!0,await Promise.allSettled([at(),Q(),$()]),I.value=!1}),(t,a)=>(h(),m(`div`,Ce,[r(`div`,null,[r(`h2`,we,i(u(M)(`schedules.title`)),1),r(`p`,Te,i(u(M)(`schedules.description`)),1)]),I.value?(h(),m(`div`,Ee,i(u(M)(`common.loading`)),1)):f(``,!0),I.value?f(``,!0):(h(),m(n,{key:1},[r(`div`,De,[(h(!0),m(n,null,_(L.value,t=>(h(),m(`div`,{key:t.id,class:l([`rounded-lg border transition-colors`,[B.value===t.id?`col-span-3 border-primary/30 shadow-sm shadow-primary/5`:`border-border hover:border-border/80`]])},[r(`div`,{class:`flex items-center gap-3 px-4 py-3 cursor-pointer`,onClick:e=>it(t.id)},[r(`span`,ke,i(t.client_model),1),Y.value[t.id]?.length?(h(),p(u(w),{key:0,variant:`secondary`,class:`text-[10px]`},{default:c(()=>[s(i(u(M)(`schedules.ruleCount`,{count:Y.value[t.id].length})),1)]),_:2},1024)):(h(),p(u(w),{key:1,variant:`outline`,class:`text-[10px] text-muted-foreground/50`},{default:c(()=>[s(i(u(M)(`schedules.noRules`)),1)]),_:1})),r(`div`,Ae,[(h(!0),m(n,null,_((Y.value[t.id]??[]).slice(0,3),e=>(h(),p(u(w),{key:e.id,variant:e.enabled?`default`:`secondary`,class:`text-[10px] font-normal`},{default:c(()=>[s(i(e.name)+` `,1),r(`span`,je,i(X(e.start_hour))+`-`+i(X(e.end_hour)),1)]),_:2},1032,[`variant`]))),128)),(Y.value[t.id]?.length??0)>3?(h(),m(`span`,Me,` +`+i(Y.value[t.id].length-3),1)):f(``,!0)]),e(u(ve),{class:l([`size-4 text-muted-foreground/40 shrink-0 transition-transform`,{"rotate-180":B.value===t.id}])},null,8,[`class`])],8,Oe),B.value===t.id?(h(),m(`div`,Ne,[r(`div`,Pe,[r(`span`,Fe,i(u(M)(`schedules.scheduleRules`)),1),e(u(v),{size:`sm`,variant:`outline`,class:`h-7 text-xs`,onClick:e=>ct(t.id)},{default:c(()=>[e(u(re),{class:`w-3 h-3 mr-1`}),s(` `+i(u(M)(`schedules.createSchedule`)),1)]),_:1},8,[`onClick`])]),e(u(se),null,{default:c(()=>[e(u(de),null,{default:c(()=>[e(u(x),{class:`bg-muted/50`},{default:c(()=>[e(u(b),{class:`text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.name`)),1)]),_:1}),e(u(b),{class:`text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.status`)),1)]),_:1}),e(u(b),{class:`text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.week`)),1)]),_:1}),e(u(b),{class:`text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.timeRange`)),1)]),_:1}),e(u(b),{class:`text-right text-muted-foreground text-xs h-8`},{default:c(()=>[s(i(u(M)(`schedules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),e(u(oe),null,{default:c(()=>[(h(!0),m(n,null,_(Y.value[t.id]??[],t=>(h(),p(u(x),{key:t.id},{default:c(()=>[e(u(S),{class:`font-medium text-sm`},{default:c(()=>[s(i(t.name),1)]),_:2},1024),e(u(S),null,{default:c(()=>[e(u(w),{variant:t.enabled?`default`:`secondary`,class:`text-xs`},{default:c(()=>[s(i(t.enabled?u(M)(`schedules.enabled`):u(M)(`schedules.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),e(u(S),null,{default:c(()=>[r(`div`,Ie,[(h(!0),m(n,null,_(rt(t.week),e=>(h(),p(u(w),{key:e,variant:`outline`,class:`text-xs`},{default:c(()=>[s(i(e),1)]),_:2},1024))),128))])]),_:2},1024),e(u(S),{class:`font-mono text-sm`},{default:c(()=>[s(i(X(t.start_hour))+`-`+i(X(t.end_hour)),1)]),_:2},1024),e(u(S),{class:`text-right`},{default:c(()=>[r(`div`,Le,[e(u(ie),{"model-value":!!t.enabled,class:`scale-75`,onClick:d(e=>pt(t),[`stop`])},null,8,[`model-value`,`onClick`]),e(u(v),{variant:`ghost`,size:`sm`,onClick:e=>lt(t)},{default:c(()=>[s(i(u(M)(`common.edit`)),1)]),_:1},8,[`onClick`]),e(u(v),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>W.value=t},{default:c(()=>[s(i(u(M)(`common.delete`)),1)]),_:1},8,[`onClick`])])]),_:2},1024)]),_:2},1024))),128)),Y.value[t.id]?.length?f(``,!0):(h(),p(u(x),{key:0},{default:c(()=>[e(u(S),{colspan:`5`,class:`text-center text-muted-foreground py-6 text-xs`},{default:c(()=>[s(i(u(M)(`schedules.emptyRules`)),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)])):f(``,!0)],2))),128))]),L.value.length===0?(h(),m(`p`,Re,i(u(M)(`schedules.noGroups`)),1)):f(``,!0)],64)),e(u(le),{open:V.value,"onUpdate:open":a[17]||=e=>V.value=e},{default:c(()=>[e(u(ae),{class:`sm:max-w-4xl max-h-[85vh] overflow-y-auto`},{default:c(()=>[e(u(ce),null,{default:c(()=>[e(u(fe),null,{default:c(()=>[s(i(H.value?u(M)(`schedules.editSchedule`):u(M)(`schedules.createSchedule`)),1)]),_:1})]),_:1}),r(`form`,{onSubmit:d(ft,[`prevent`]),class:`space-y-4`},[q.value?(h(),m(`div`,ze,i(q.value),1)):f(``,!0),r(`div`,Be,[r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground`},{default:c(()=>[s(i(u(M)(`schedules.form.name`)),1)]),_:1}),e(u(xe),{modelValue:G.value.name,"onUpdate:modelValue":a[0]||=e=>G.value.name=e,class:`mt-1`,placeholder:u(M)(`schedules.form.namePlaceholder`),onInput:a[1]||=e=>delete K.value.name},null,8,[`modelValue`,`placeholder`]),K.value.name?(h(),m(`p`,Ve,i(K.value.name),1)):f(``,!0)]),r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground mb-1.5 block`},{default:c(()=>[s(i(u(M)(`schedules.form.week`)),1)]),_:1}),r(`div`,He,[(h(!0),m(n,null,_(N.value,(e,t)=>(h(),p(u(v),{key:t,type:`button`,variant:(G.value.week??[]).includes(t)?`default`:`outline`,size:`sm`,class:`h-7 text-xs`,onClick:e=>st(t)},{default:c(()=>[s(i(e),1)]),_:2},1032,[`variant`,`onClick`]))),128))]),K.value.week?(h(),m(`p`,Ue,i(K.value.week),1)):f(``,!0)])]),r(`div`,null,[r(`div`,We,[e(u(C),{class:`text-xs text-muted-foreground`},{default:c(()=>[s(i(u(M)(`schedules.timePresets.label`)),1)]),_:1}),r(`div`,Ge,[e(u(v),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:a[2]||=e=>Z(9,12)},{default:c(()=>[s(i(u(M)(`schedules.timePresets.morning`)),1)]),_:1}),e(u(v),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:a[3]||=e=>Z(14,18)},{default:c(()=>[s(i(u(M)(`schedules.timePresets.afternoon`)),1)]),_:1}),e(u(v),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:a[4]||=e=>Z(19,21)},{default:c(()=>[s(i(u(M)(`schedules.timePresets.evening`)),1)]),_:1})])]),r(`div`,Ke,[r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground`},{default:c(()=>[s(i(u(M)(`schedules.form.startTime`)),1)]),_:1}),e(u(E),{modelValue:G.value.start_hour,"onUpdate:modelValue":[a[5]||=e=>G.value.start_hour=e,a[6]||=e=>{G.value.start_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:c(()=>[e(u(k),null,{default:c(()=>[e(u(T),{placeholder:u(M)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),e(u(D),null,{default:c(()=>[(h(),m(n,null,_(24,t=>e(u(O),{key:t-1,value:t-1},{default:c(()=>[s(i(String(t-1).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])]),r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground`},{default:c(()=>[s(i(u(M)(`schedules.form.endTime`)),1)]),_:1}),e(u(E),{modelValue:G.value.end_hour,"onUpdate:modelValue":[a[7]||=e=>G.value.end_hour=e,a[8]||=e=>{G.value.end_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:c(()=>[e(u(k),null,{default:c(()=>[e(u(T),{placeholder:u(M)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),e(u(D),null,{default:c(()=>[(h(),m(n,null,_(24,t=>e(u(O),{key:t,value:t},{default:c(()=>[s(i(String(t).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])])]),K.value.time?(h(),m(`p`,qe,i(K.value.time),1)):f(``,!0)]),r(`div`,null,[e(u(C),{class:`text-xs text-muted-foreground mb-1 block`},{default:c(()=>[s(i(u(M)(`schedules.form.targets`)),1)]),_:1}),e(ne,{entry:tt.value,"provider-groups":ot.value,expanded:!0,editable:!0,"onUpdate:targets":nt},null,8,[`entry`,`provider-groups`]),K.value.targets?(h(),m(`p`,Je,i(K.value.targets),1)):f(``,!0)]),r(`div`,Ye,[r(`div`,Xe,[r(`div`,Ze,i(u(M)(`schedules.form.concurrencyTitle`)),1),e(Se,{mode:G.value.concurrency_mode,"max-concurrency":G.value.max_concurrency,"queue-timeout-ms":G.value.queue_timeout_ms,"max-queue-size":G.value.max_queue_size,compact:``,"onUpdate:mode":a[9]||=e=>G.value.concurrency_mode=e,"onUpdate:maxConcurrency":a[10]||=e=>G.value.max_concurrency=e,"onUpdate:queueTimeoutMs":a[11]||=e=>G.value.queue_timeout_ms=e,"onUpdate:maxQueueSize":a[12]||=e=>G.value.max_queue_size=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`])]),r(`div`,Qe,[r(`div`,$e,i(u(M)(`providers.transform.title`)),1),e(j,{"inject-headers":J.value.injectHeadersInput,"drop-fields":J.value.dropFieldsInput,"request-defaults":J.value.requestDefaultsInput,compact:``,"onUpdate:injectHeaders":a[13]||=e=>J.value.injectHeadersInput=e,"onUpdate:dropFields":a[14]||=e=>J.value.dropFieldsInput=e,"onUpdate:requestDefaults":a[15]||=e=>J.value.requestDefaultsInput=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])])]),e(u(ue),null,{default:c(()=>[e(u(v),{type:`button`,variant:`outline`,onClick:a[16]||=e=>V.value=!1},{default:c(()=>[s(i(u(M)(`common.cancel`)),1)]),_:1}),e(u(v),{type:`submit`},{default:c(()=>[s(i(u(M)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),e(u(he),{open:!!W.value,"onUpdate:open":a[18]||=e=>{e||(W.value=null)}},{default:c(()=>[e(u(me),null,{default:c(()=>[e(u(pe),null,{default:c(()=>[e(u(ge),null,{default:c(()=>[s(i(u(M)(`schedules.confirmDeleteTitle`)),1)]),_:1}),e(u(be),null,{default:c(()=>[s(i(u(M)(`schedules.confirmDeleteMessage`,{name:W.value?.name??``})),1)]),_:1})]),_:1}),e(u(ye),null,{default:c(()=>[e(u(_e),null,{default:c(()=>[s(i(u(M)(`common.cancel`)),1)]),_:1}),e(u(v),{variant:`destructive`,onClick:mt},{default:c(()=>[s(i(u(M)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{M as default};
@@ -1,4 +1,4 @@
1
- import{$ as e,A as t,G as n,Gt as r,J as i,Kt as a,L as o,Nt as s,P as c,Q as l,St as u,Tt as d,Vt as f,X as p,Y as m,Z as h,ct as g,et as _,ft as v,ht as y,i as b,k as x,kt as ee,m as S,mt as te,n as C,o as w,q as T,r as E,st as D,ut as ne,x as O}from"./button-C1QSPeLI.js";import{t as k}from"./Label-CzP8C4iz.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-247t8K8M.js";import{t as P}from"./Input-CcyqZXkU.js";import{t as me}from"./useLogRetention-BrbC5bfG.js";var he=c(`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=c(`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=c(`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:
1
+ import{$ as e,A as t,G as n,Gt as r,J as i,Kt as a,L as o,Nt as s,P as c,Q as l,St as u,Tt as d,Vt as f,X as p,Y as m,Z as h,ct as g,et as _,ft as v,ht as y,i as b,k as x,kt as ee,m as S,mt as te,n as C,o as w,q as T,r as E,st as D,ut as ne,x as O}from"./button-C7HO6Dyb.js";import{t as k}from"./Label-Dw5HcYsL.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-itL9--Q_.js";import{t as P}from"./Input-Ey_q_5_r.js";import{t as me}from"./useLogRetention-Dv0deAan.js";var he=c(`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=c(`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=c(`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
2
  - a positive number
3
3
  - less than the value passed to \`max\` (or ${L} if no \`max\` prop is set)
4
4
  - \`null\` or \`undefined\` if the progress is indeterminate.
@@ -1 +1 @@
1
- import{$ as e,A as t,J as n,Kt as r,L as i,M as a,Nt as o,Q as s,Tt as c,Vt as l,W as u,X as d,Y as f,Z as p,et as m,ft as h,k as g,n as _,z as v}from"./button-C1QSPeLI.js";import{t as y}from"./Label-CzP8C4iz.js";import{at as b,ot as x,t as S}from"./index-247t8K8M.js";import{n as C,t as w}from"./CardContent-D8q9vc5O.js";import{t as T}from"./Input-CcyqZXkU.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=m({__name:`Setup`,setup(m){let{t:A}=i(),{isDark:j,toggleTheme:M}=S(),N=v(),P=o(``),F=o(``),I=o(``),L=o(!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 g.initializeSetup(P.value),a(),N.push({name:`dashboard`})}catch(e){I.value=t(e,A(`setup.setupFailed`))}finally{L.value=!1}}return(t,i)=>(h(),p(`div`,E,[e(l(_),{variant:`ghost`,size:`icon`,class:`absolute top-4 right-4 text-muted-foreground hover:text-foreground`,onClick:l(M)},{default:c(()=>[l(j)?(h(),f(l(b),{key:1,class:`w-4 h-4`})):(h(),f(l(x),{key:0,class:`w-4 h-4`}))]),_:1},8,[`onClick`]),e(l(C),{class:`w-full max-w-sm shadow-lg`},{default:c(()=>[e(l(w),{class:`pt-6`},{default:c(()=>[n(`div`,D,[i[2]||=n(`div`,{class:`w-12 h-12 bg-primary rounded-lg mx-auto mb-3 flex items-center justify-center`},[n(`svg`,{class:`w-7 h-7 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[n(`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),i[3]||=n(`h1`,{class:`text-xl font-semibold text-foreground`},`LLM Simple Router`,-1),n(`p`,O,r(l(A)(`setup.subtitle`)),1)]),n(`form`,{onSubmit:u(R,[`prevent`]),class:`space-y-4`},[n(`div`,null,[e(l(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(r(l(A)(`setup.password`)),1)]),_:1}),e(l(T),{modelValue:P.value,"onUpdate:modelValue":i[0]||=e=>P.value=e,type:`password`,placeholder:l(A)(`setup.passwordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),n(`div`,null,[e(l(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(r(l(A)(`setup.confirmPassword`)),1)]),_:1}),e(l(T),{modelValue:F.value,"onUpdate:modelValue":i[1]||=e=>F.value=e,type:`password`,placeholder:l(A)(`setup.confirmPasswordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),I.value?(h(),p(`p`,k,r(I.value),1)):d(``,!0),e(l(_),{type:`submit`,class:`w-full`,disabled:L.value},{default:c(()=>[s(r(L.value?l(A)(`setup.settingUp`):l(A)(`setup.setupButton`)),1)]),_:1},8,[`disabled`])],32)]),_:1})]),_:1})]))}});export{A as default};
1
+ import{$ as e,A as t,J as n,Kt as r,L as i,M as a,Nt as o,Q as s,Tt as c,Vt as l,W as u,X as d,Y as f,Z as p,et as m,ft as h,k as g,n as _,z as v}from"./button-C7HO6Dyb.js";import{t as y}from"./Label-Dw5HcYsL.js";import{at as b,ot as x,t as S}from"./index-itL9--Q_.js";import{n as C,t as w}from"./CardContent-DfVo-N85.js";import{t as T}from"./Input-Ey_q_5_r.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=m({__name:`Setup`,setup(m){let{t:A}=i(),{isDark:j,toggleTheme:M}=S(),N=v(),P=o(``),F=o(``),I=o(``),L=o(!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 g.initializeSetup(P.value),a(),N.push({name:`dashboard`})}catch(e){I.value=t(e,A(`setup.setupFailed`))}finally{L.value=!1}}return(t,i)=>(h(),p(`div`,E,[e(l(_),{variant:`ghost`,size:`icon`,class:`absolute top-4 right-4 text-muted-foreground hover:text-foreground`,onClick:l(M)},{default:c(()=>[l(j)?(h(),f(l(b),{key:1,class:`w-4 h-4`})):(h(),f(l(x),{key:0,class:`w-4 h-4`}))]),_:1},8,[`onClick`]),e(l(C),{class:`w-full max-w-sm shadow-lg`},{default:c(()=>[e(l(w),{class:`pt-6`},{default:c(()=>[n(`div`,D,[i[2]||=n(`div`,{class:`w-12 h-12 bg-primary rounded-lg mx-auto mb-3 flex items-center justify-center`},[n(`svg`,{class:`w-7 h-7 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[n(`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),i[3]||=n(`h1`,{class:`text-xl font-semibold text-foreground`},`LLM Simple Router`,-1),n(`p`,O,r(l(A)(`setup.subtitle`)),1)]),n(`form`,{onSubmit:u(R,[`prevent`]),class:`space-y-4`},[n(`div`,null,[e(l(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(r(l(A)(`setup.password`)),1)]),_:1}),e(l(T),{modelValue:P.value,"onUpdate:modelValue":i[0]||=e=>P.value=e,type:`password`,placeholder:l(A)(`setup.passwordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),n(`div`,null,[e(l(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:c(()=>[s(r(l(A)(`setup.confirmPassword`)),1)]),_:1}),e(l(T),{modelValue:F.value,"onUpdate:modelValue":i[1]||=e=>F.value=e,type:`password`,placeholder:l(A)(`setup.confirmPasswordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),I.value?(h(),p(`p`,k,r(I.value),1)):d(``,!0),e(l(_),{type:`submit`,class:`w-full`,disabled:L.value},{default:c(()=>[s(r(L.value?l(A)(`setup.settingUp`):l(A)(`setup.setupButton`)),1)]),_:1},8,[`disabled`])],32)]),_:1})]),_:1})]))}});export{A as default};
@@ -1 +1 @@
1
- import{$ as e,P as t,Rt as n,Tt as r,U as i,Vt as a,W as o,Wt as s,X as c,Y as l,et as u,ft as d,ht as f,i as p,m,nt as h,o as g,q as _,r as v,st as y,x as b}from"./button-C1QSPeLI.js";import{t as x}from"./VisuallyHiddenInput-C3oWOQXr.js";import{B as S,H as C,q as w}from"./index-247t8K8M.js";var T=t(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),[E,D]=w(`SwitchRoot`),O=u({__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(e,{emit:t}){let s=e,u=t,{disabled:h}=n(s),v=m(s,`modelValue`,u,{defaultValue:s.defaultValue??s.falseValue,passive:s.modelValue===void 0}),b=_(()=>v.value===s.trueValue);function S(){h.value||(v.value=b.value?s.falseValue:s.trueValue)}let{forwardRef:w,currentElement:T}=g(),E=C(T),O=_(()=>s.id&&T.value?document.querySelector(`[for="${s.id}"]`)?.innerText:void 0);return D({checked:b,toggleCheck:S,disabled:h}),(e,t)=>(d(),l(a(p),y(e.$attrs,{id:e.id,ref:a(w),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||O.value,"aria-checked":b.value,"aria-required":e.required,"data-state":b.value?`checked`:`unchecked`,"data-disabled":a(h)?``:void 0,"as-child":e.asChild,as:e.as,disabled:a(h),onClick:S,onKeydown:i(o(S,[`prevent`]),[`enter`])}),{default:r(()=>[f(e.$slots,`default`,{modelValue:a(v),checked:b.value}),a(E)&&e.name?(d(),l(a(x),{key:0,type:`checkbox`,name:e.name,disabled:a(h),required:e.required,value:e.value,checked:b.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=u({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=E();return g(),(e,n)=>(d(),l(a(p),{"data-state":a(t).checked.value?`checked`:`unchecked`,"data-disabled":a(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:r(()=>[f(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),A=u({__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 i=t,o=n,c=S(b(i,`class`,`size`),o);return(n,o)=>(d(),l(a(O),y({"data-slot":`switch`,"data-size":t.size},a(c),{class:a(v)(`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`,i.class)}),{default:r(t=>[e(a(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:r(()=>[f(n.$slots,`thumb`,s(h(t)))]),_:2},1024)]),_:3},16,[`data-size`,`class`]))}});export{T as n,A as t};
1
+ import{$ as e,P as t,Rt as n,Tt as r,U as i,Vt as a,W as o,Wt as s,X as c,Y as l,et as u,ft as d,ht as f,i as p,m,nt as h,o as g,q as _,r as v,st as y,x as b}from"./button-C7HO6Dyb.js";import{t as x}from"./VisuallyHiddenInput-CwE9jREu.js";import{B as S,H as C,q as w}from"./index-itL9--Q_.js";var T=t(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),[E,D]=w(`SwitchRoot`),O=u({__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(e,{emit:t}){let s=e,u=t,{disabled:h}=n(s),v=m(s,`modelValue`,u,{defaultValue:s.defaultValue??s.falseValue,passive:s.modelValue===void 0}),b=_(()=>v.value===s.trueValue);function S(){h.value||(v.value=b.value?s.falseValue:s.trueValue)}let{forwardRef:w,currentElement:T}=g(),E=C(T),O=_(()=>s.id&&T.value?document.querySelector(`[for="${s.id}"]`)?.innerText:void 0);return D({checked:b,toggleCheck:S,disabled:h}),(e,t)=>(d(),l(a(p),y(e.$attrs,{id:e.id,ref:a(w),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||O.value,"aria-checked":b.value,"aria-required":e.required,"data-state":b.value?`checked`:`unchecked`,"data-disabled":a(h)?``:void 0,"as-child":e.asChild,as:e.as,disabled:a(h),onClick:S,onKeydown:i(o(S,[`prevent`]),[`enter`])}),{default:r(()=>[f(e.$slots,`default`,{modelValue:a(v),checked:b.value}),a(E)&&e.name?(d(),l(a(x),{key:0,type:`checkbox`,name:e.name,disabled:a(h),required:e.required,value:e.value,checked:b.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=u({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=E();return g(),(e,n)=>(d(),l(a(p),{"data-state":a(t).checked.value?`checked`:`unchecked`,"data-disabled":a(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:r(()=>[f(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),A=u({__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 i=t,o=n,c=S(b(i,`class`,`size`),o);return(n,o)=>(d(),l(a(O),y({"data-slot":`switch`,"data-size":t.size},a(c),{class:a(v)(`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`,i.class)}),{default:r(t=>[e(a(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:r(()=>[f(n.$slots,`thumb`,s(h(t)))]),_:2},1024)]),_:3},16,[`data-size`,`class`]))}});export{T as n,A as t};
@@ -1 +1 @@
1
- import{$ as e,Ct as t,E as n,Gt as r,Kt as i,Nt as a,Q as o,Rt as s,S as c,St as l,Tt as u,Vt as d,W as f,Wt as p,Y as m,Z as h,_t as g,d as _,et as v,ft as y,g as b,ht as x,i as S,m as C,nt as w,o as T,q as E,r as D,st as O,ut as k,vt as ee,w as A,x as te}from"./button-C1QSPeLI.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-247t8K8M.js";function V(e,n){let r=c(!1,300);A(()=>{r.value=!1});let i=a(null),o=b();function s(){i.value=null,r.value=!1}function l(e,t){if(!t)return;let n=e.currentTarget,a={x:e.clientX,y:e.clientY},o=U(a,H(a,n.getBoundingClientRect()),1),s=W(t.getBoundingClientRect());i.value=K([...o,...s]),r.value=!0}return t(t=>{if(e.value&&n.value){let r=e=>l(e,n.value),i=t=>l(t,e.value);e.value.addEventListener(`pointerleave`,r),n.value.addEventListener(`pointerleave`,i),t(()=>{e.value?.removeEventListener(`pointerleave`,r),n.value?.removeEventListener(`pointerleave`,i)})}}),t(t=>{if(i.value){let r=t=>{if(!i.value||!(t.target instanceof Element))return;let r=t.target,a={x:t.clientX,y:t.clientY},c=e.value?.contains(r)||n.value?.contains(r),l=!G(a,i.value),u=!!r.closest(`[data-grace-area-trigger]`);c?s():(l||u)&&(s(),o.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,r),t(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:r,onPointerExit:o.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=v({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return T(),(e,n)=>(y(),m(d(S),O(t,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:u(()=>[x(e.$slots,`default`,{},()=>[e.rounded?(y(),h(`path`,J)):(y(),h(`path`,ae))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),se={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ce=v({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let{forwardRef:n}=T(),i=ne(),a=E(()=>se[i.placedSide.value]);return(t,o)=>(y(),h(`span`,{ref:e=>{d(i).onArrowChange(e??void 0)},style:r({position:`absolute`,left:d(i).arrowX?.value?`${d(i).arrowX?.value}px`:void 0,top:d(i).arrowY?.value?`${d(i).arrowY?.value}px`:void 0,[a.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[d(i).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[d(i).placedSide.value],visibility:d(i).shouldHideArrow.value?`hidden`:void 0})},[e(oe,O(t.$attrs,{ref:d(n),style:{display:`block`},as:t.as,"as-child":t.asChild,rounded:t.rounded,width:t.width,height:t.height}),{default:u(()=>[x(t.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),le=v({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return T(),(e,n)=>(y(),m(d(ce),p(w(t)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}}),[Y,ue]=R(`TooltipProvider`),de=v({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:o,ignoreNonKeyboardFocus:c,disabled:l,content:u}=s(e);T();let d=a(!0),f=a(!1),{start:p,stop:m}=n(()=>{d.value=!0},r,{immediate:!1});return ue({isOpenDelayed:d,delayDuration:t,onOpen(){m(),d.value=!1},onClose(){p()},isPointerInTransitRef:f,disableHoverableContent:i,disableClosingTrigger:o,disabled:l,ignoreNonKeyboardFocus:c,content:u}),(e,t)=>x(e.$slots,`default`)}}),X=`tooltip.open`,[Z,fe]=R(`TooltipRoot`),pe=v({__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:t}){let r=e,i=t;T();let o=Y(),s=E(()=>r.disableHoverableContent??o.disableHoverableContent.value),c=E(()=>r.disableClosingTrigger??o.disableClosingTrigger.value),f=E(()=>r.disabled??o.disabled.value),p=E(()=>r.delayDuration??o.delayDuration.value),h=E(()=>r.ignoreNonKeyboardFocus??o.ignoreNonKeyboardFocus.value),g=C(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});l(g,e=>{o.onClose&&(e?(o.onOpen(),document.dispatchEvent(new CustomEvent(X))):o.onClose())});let _=a(!1),v=a(),b=E(()=>g.value?_.value?`delayed-open`:`instant-open`:`closed`),{start:S,stop:w}=n(()=>{_.value=!0,g.value=!0},p,{immediate:!1});function D(){w(),_.value=!1,g.value=!0}function O(){w(),g.value=!1}function k(){S()}return fe({contentId:``,open:g,stateAttribute:b,trigger:v,onTriggerChange(e){v.value=e},onTriggerEnter(){o.isOpenDelayed.value?k():D()},onTriggerLeave(){s.value?O():w()},onOpen:D,onClose:O,disableHoverableContent:s,disableClosingTrigger:c,disabled:f,ignoreNonKeyboardFocus:h}),(e,t)=>(y(),m(d(P),null,{default:u(()=>[x(e.$slots,`default`,{open:d(g)})]),_:3}))}}),Q=v({__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 r=t,a=n,s=Z(),c=Y(),{forwardRef:l,currentElement:p}=T(),h=E(()=>r.ariaLabel||p.value?.textContent),g=E(()=>{let{ariaLabel:e,...t}=r;return I(t,c.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return k(()=>{_(window,`scroll`,e=>{e.target?.contains(s.trigger.value)&&s.onClose()},{capture:!0}),_(window,X,s.onClose)}),(t,n)=>(y(),m(d(M),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>a(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{d(s).disableClosingTrigger.value&&d(s).trigger.value?.contains(e.target)&&e.preventDefault(),a(`pointerDownOutside`,e)},onFocusOutside:n[2]||=f(()=>{},[`prevent`]),onDismiss:n[3]||=e=>d(s).onClose()},{default:u(()=>[e(d(N),O({ref:d(l),"data-state":d(s).stateAttribute.value},{...t.$attrs,...g.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:u(()=>[x(t.$slots,`default`),e(d(re),{id:d(s).contentId,role:`tooltip`},{default:u(()=>[o(i(h.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),me=v({__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:r}=T(),{trigger:i,onClose:a}=Z(),o=Y(),{isPointerInTransit:s,onPointerExit:c}=V(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(y(),m(Q,O({ref:d(n)},d(t)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}}),he=v({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Z(),a=j(n,r),{forwardRef:o}=T();return(e,t)=>(y(),m(d(ie),{present:e.forceMount||d(i).open.value},{default:u(()=>[(y(),m(g(d(i).disableHoverableContent.value?Q:me),O({ref:d(o)},d(a)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ge=v({__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)=>(y(),m(d(L),p(w(t)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}}),$=v({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t,r=Z(),i=Y();r.contentId||=B(void 0,`reka-tooltip-content`);let{forwardRef:o,currentElement:s}=T(),c=a(!1),l=a(!1),f=E(()=>r.disabled.value?{}:{click:C,focus:v,pointermove:g,pointerleave:_,pointerdown:h,blur:b});k(()=>{r.onTriggerChange(s.value)});function p(){setTimeout(()=>{c.value=!1},1)}function h(){r.open&&!r.disableClosingTrigger.value&&r.onClose(),c.value=!0,document.addEventListener(`pointerup`,p,{once:!0})}function g(e){e.pointerType!==`touch`&&!l.value&&!i.isPointerInTransitRef.value&&(r.onTriggerEnter(),l.value=!0)}function _(){r.onTriggerLeave(),l.value=!1}function v(e){c.value||r.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||r.onOpen()}function b(){r.onClose()}function C(){r.disableClosingTrigger.value||r.onClose()}return(t,i)=>(y(),m(d(z),{"as-child":``,reference:t.reference},{default:u(()=>[e(d(S),O({ref:d(o),"aria-describedby":d(r).open.value?d(r).contentId:void 0,"data-state":d(r).stateAttribute.value,as:t.as,"as-child":n.asChild,"data-grace-area-trigger":``},ee(f.value)),{default:u(()=>[x(t.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),_e=v({__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)=>(y(),m(d(pe),O({"data-slot":`tooltip`},d(n)),{default:u(t=>[x(e.$slots,`default`,p(w(t)))]),_:3},16))}}),ve=v({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(t,{emit:n}){let r=t,i=n,a=j(te(r,`class`),i);return(t,n)=>(y(),m(d(ge),null,{default:u(()=>[e(d(he),O({"data-slot":`tooltip-content`},{...d(a),...t.$attrs},{class:d(D)(`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-dropdown **:data-[slot=kbd]:rounded-sm bg-foreground text-background z-dropdown w-fit max-w-xs origin-(--reka-tooltip-content-transform-origin)`,r.class)}),{default:u(()=>[x(t.$slots,`default`),e(d(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=v({__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)=>(y(),m(d(de),p(w(t)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}}),be=v({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(y(),m(d($),O({"data-slot":`tooltip-trigger`},t),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}});export{_e as i,ye as n,ve as r,be as t};
1
+ import{$ as e,Ct as t,E as n,Gt as r,Kt as i,Nt as a,Q as o,Rt as s,S as c,St as l,Tt as u,Vt as d,W as f,Wt as p,Y as m,Z as h,_t as g,d as _,et as v,ft as y,g as b,ht as x,i as S,m as C,nt as w,o as T,q as E,r as D,st as O,ut as k,vt as ee,w as A,x as te}from"./button-C7HO6Dyb.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-itL9--Q_.js";function V(e,n){let r=c(!1,300);A(()=>{r.value=!1});let i=a(null),o=b();function s(){i.value=null,r.value=!1}function l(e,t){if(!t)return;let n=e.currentTarget,a={x:e.clientX,y:e.clientY},o=U(a,H(a,n.getBoundingClientRect()),1),s=W(t.getBoundingClientRect());i.value=K([...o,...s]),r.value=!0}return t(t=>{if(e.value&&n.value){let r=e=>l(e,n.value),i=t=>l(t,e.value);e.value.addEventListener(`pointerleave`,r),n.value.addEventListener(`pointerleave`,i),t(()=>{e.value?.removeEventListener(`pointerleave`,r),n.value?.removeEventListener(`pointerleave`,i)})}}),t(t=>{if(i.value){let r=t=>{if(!i.value||!(t.target instanceof Element))return;let r=t.target,a={x:t.clientX,y:t.clientY},c=e.value?.contains(r)||n.value?.contains(r),l=!G(a,i.value),u=!!r.closest(`[data-grace-area-trigger]`);c?s():(l||u)&&(s(),o.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,r),t(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:r,onPointerExit:o.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=v({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return T(),(e,n)=>(y(),m(d(S),O(t,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:u(()=>[x(e.$slots,`default`,{},()=>[e.rounded?(y(),h(`path`,J)):(y(),h(`path`,ae))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),se={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ce=v({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let{forwardRef:n}=T(),i=ne(),a=E(()=>se[i.placedSide.value]);return(t,o)=>(y(),h(`span`,{ref:e=>{d(i).onArrowChange(e??void 0)},style:r({position:`absolute`,left:d(i).arrowX?.value?`${d(i).arrowX?.value}px`:void 0,top:d(i).arrowY?.value?`${d(i).arrowY?.value}px`:void 0,[a.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[d(i).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[d(i).placedSide.value],visibility:d(i).shouldHideArrow.value?`hidden`:void 0})},[e(oe,O(t.$attrs,{ref:d(n),style:{display:`block`},as:t.as,"as-child":t.asChild,rounded:t.rounded,width:t.width,height:t.height}),{default:u(()=>[x(t.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),le=v({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return T(),(e,n)=>(y(),m(d(ce),p(w(t)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}}),[Y,ue]=R(`TooltipProvider`),de=v({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:o,ignoreNonKeyboardFocus:c,disabled:l,content:u}=s(e);T();let d=a(!0),f=a(!1),{start:p,stop:m}=n(()=>{d.value=!0},r,{immediate:!1});return ue({isOpenDelayed:d,delayDuration:t,onOpen(){m(),d.value=!1},onClose(){p()},isPointerInTransitRef:f,disableHoverableContent:i,disableClosingTrigger:o,disabled:l,ignoreNonKeyboardFocus:c,content:u}),(e,t)=>x(e.$slots,`default`)}}),X=`tooltip.open`,[Z,fe]=R(`TooltipRoot`),pe=v({__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:t}){let r=e,i=t;T();let o=Y(),s=E(()=>r.disableHoverableContent??o.disableHoverableContent.value),c=E(()=>r.disableClosingTrigger??o.disableClosingTrigger.value),f=E(()=>r.disabled??o.disabled.value),p=E(()=>r.delayDuration??o.delayDuration.value),h=E(()=>r.ignoreNonKeyboardFocus??o.ignoreNonKeyboardFocus.value),g=C(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});l(g,e=>{o.onClose&&(e?(o.onOpen(),document.dispatchEvent(new CustomEvent(X))):o.onClose())});let _=a(!1),v=a(),b=E(()=>g.value?_.value?`delayed-open`:`instant-open`:`closed`),{start:S,stop:w}=n(()=>{_.value=!0,g.value=!0},p,{immediate:!1});function D(){w(),_.value=!1,g.value=!0}function O(){w(),g.value=!1}function k(){S()}return fe({contentId:``,open:g,stateAttribute:b,trigger:v,onTriggerChange(e){v.value=e},onTriggerEnter(){o.isOpenDelayed.value?k():D()},onTriggerLeave(){s.value?O():w()},onOpen:D,onClose:O,disableHoverableContent:s,disableClosingTrigger:c,disabled:f,ignoreNonKeyboardFocus:h}),(e,t)=>(y(),m(d(P),null,{default:u(()=>[x(e.$slots,`default`,{open:d(g)})]),_:3}))}}),Q=v({__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 r=t,a=n,s=Z(),c=Y(),{forwardRef:l,currentElement:p}=T(),h=E(()=>r.ariaLabel||p.value?.textContent),g=E(()=>{let{ariaLabel:e,...t}=r;return I(t,c.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return k(()=>{_(window,`scroll`,e=>{e.target?.contains(s.trigger.value)&&s.onClose()},{capture:!0}),_(window,X,s.onClose)}),(t,n)=>(y(),m(d(M),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>a(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{d(s).disableClosingTrigger.value&&d(s).trigger.value?.contains(e.target)&&e.preventDefault(),a(`pointerDownOutside`,e)},onFocusOutside:n[2]||=f(()=>{},[`prevent`]),onDismiss:n[3]||=e=>d(s).onClose()},{default:u(()=>[e(d(N),O({ref:d(l),"data-state":d(s).stateAttribute.value},{...t.$attrs,...g.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:u(()=>[x(t.$slots,`default`),e(d(re),{id:d(s).contentId,role:`tooltip`},{default:u(()=>[o(i(h.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),me=v({__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:r}=T(),{trigger:i,onClose:a}=Z(),o=Y(),{isPointerInTransit:s,onPointerExit:c}=V(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(y(),m(Q,O({ref:d(n)},d(t)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}}),he=v({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Z(),a=j(n,r),{forwardRef:o}=T();return(e,t)=>(y(),m(d(ie),{present:e.forceMount||d(i).open.value},{default:u(()=>[(y(),m(g(d(i).disableHoverableContent.value?Q:me),O({ref:d(o)},d(a)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ge=v({__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)=>(y(),m(d(L),p(w(t)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}}),$=v({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t,r=Z(),i=Y();r.contentId||=B(void 0,`reka-tooltip-content`);let{forwardRef:o,currentElement:s}=T(),c=a(!1),l=a(!1),f=E(()=>r.disabled.value?{}:{click:C,focus:v,pointermove:g,pointerleave:_,pointerdown:h,blur:b});k(()=>{r.onTriggerChange(s.value)});function p(){setTimeout(()=>{c.value=!1},1)}function h(){r.open&&!r.disableClosingTrigger.value&&r.onClose(),c.value=!0,document.addEventListener(`pointerup`,p,{once:!0})}function g(e){e.pointerType!==`touch`&&!l.value&&!i.isPointerInTransitRef.value&&(r.onTriggerEnter(),l.value=!0)}function _(){r.onTriggerLeave(),l.value=!1}function v(e){c.value||r.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||r.onOpen()}function b(){r.onClose()}function C(){r.disableClosingTrigger.value||r.onClose()}return(t,i)=>(y(),m(d(z),{"as-child":``,reference:t.reference},{default:u(()=>[e(d(S),O({ref:d(o),"aria-describedby":d(r).open.value?d(r).contentId:void 0,"data-state":d(r).stateAttribute.value,as:t.as,"as-child":n.asChild,"data-grace-area-trigger":``},ee(f.value)),{default:u(()=>[x(t.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),_e=v({__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)=>(y(),m(d(pe),O({"data-slot":`tooltip`},d(n)),{default:u(t=>[x(e.$slots,`default`,p(w(t)))]),_:3},16))}}),ve=v({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(t,{emit:n}){let r=t,i=n,a=j(te(r,`class`),i);return(t,n)=>(y(),m(d(ge),null,{default:u(()=>[e(d(he),O({"data-slot":`tooltip-content`},{...d(a),...t.$attrs},{class:d(D)(`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-dropdown **:data-[slot=kbd]:rounded-sm bg-foreground text-background z-dropdown w-fit max-w-xs origin-(--reka-tooltip-content-transform-origin)`,r.class)}),{default:u(()=>[x(t.$slots,`default`),e(d(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=v({__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)=>(y(),m(d(de),p(w(t)),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}}),be=v({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(y(),m(d($),O({"data-slot":`tooltip-trigger`},t),{default:u(()=>[x(e.$slots,`default`)]),_:3},16))}});export{_e as i,ye as n,ve as r,be as t};
@@ -1 +1 @@
1
- import{$ as e,G as t,J as n,Kt as r,L as i,Q as a,Tt as o,Ut as s,Vt as c,X as l,Z as u,et as d,ft as f}from"./button-C1QSPeLI.js";import{t as p}from"./Label-CzP8C4iz.js";import{f as m,g as h,h as g,m as _,p as v}from"./index-247t8K8M.js";import{t as y}from"./Input-CcyqZXkU.js";var b={key:1,class:`text-[10px] text-muted-foreground leading-snug`},x=d({__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(d,{emit:x}){let{t:S}=i(),C=x;return(i,x)=>(f(),u(`div`,{class:s(d.compact?`space-y-2`:`flex items-end gap-2 flex-wrap`)},[n(`div`,{class:s([d.compact?``:`w-36`,`space-y-1`])},[e(c(p),{class:`text-xs text-muted-foreground`},{default:o(()=>[a(r(c(S)(`providers.concurrency.mode`)),1)]),_:1}),e(c(h),{"model-value":d.mode,"onUpdate:modelValue":x[0]||=e=>C(`update:mode`,e)},{default:o(()=>[e(c(v),{class:`w-full text-xs data-[size=default]:h-7`},{default:o(()=>[e(c(m))]),_:1}),e(c(g),null,{default:o(()=>[e(c(_),{value:`auto`},{default:o(()=>[a(r(c(S)(`providers.concurrency.autoAdaptive`)),1)]),_:1}),e(c(_),{value:`manual`},{default:o(()=>[a(r(c(S)(`providers.concurrency.manual`)),1)]),_:1}),e(c(_),{value:`none`},{default:o(()=>[a(r(c(S)(`providers.concurrency.none`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])],2),d.mode===`none`?l(``,!0):(f(),u(t,{key:0},[n(`div`,{class:s([d.compact?``:`w-28`,`space-y-1`])},[e(c(p),{class:`text-xs text-muted-foreground`},{default:o(()=>[a(r(c(S)(`providers.concurrency.maxConcurrency`)),1)]),_:1}),e(c(y),{"model-value":d.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),n(`div`,{class:s([d.compact?``:`w-32`,`space-y-1`])},[e(c(p),{class:`text-xs text-muted-foreground`},{default:o(()=>[a(r(c(S)(`providers.concurrency.queueTimeout`)),1)]),_:1}),e(c(y),{"model-value":d.queueTimeoutMs,type:`number`,min:`0`,placeholder:c(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),n(`div`,{class:s([d.compact?``:`w-32`,`space-y-1`])},[e(c(p),{class:`text-xs text-muted-foreground`},{default:o(()=>[a(r(c(S)(`providers.concurrency.maxQueueSize`)),1)]),_:1}),e(c(y),{"model-value":d.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)),d.mode===`auto`&&!d.compact?(f(),u(`div`,b,r(c(S)(`providers.shared.autoHint`)),1)):l(``,!0)],2))}}),S=d({__name:`TransformRulesForm`,props:{injectHeaders:{},dropFields:{},requestDefaults:{},compact:{type:Boolean}},emits:[`update:injectHeaders`,`update:dropFields`,`update:requestDefaults`],setup(t,{emit:l}){let d=l,{t:m}=i();return(i,l)=>(f(),u(`div`,{class:s(t.compact?`space-y-2`:`space-y-3`)},[n(`div`,null,[e(c(p),{class:`text-[11px] text-muted-foreground`},{default:o(()=>[a(r(c(m)(`providers.transform.injectHeaders`)),1)]),_:1}),e(c(y),{"model-value":t.injectHeaders,placeholder:`{"x-custom": "value"}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":l[0]||=e=>d(`update:injectHeaders`,e)},null,8,[`model-value`])]),n(`div`,null,[e(c(p),{class:`text-[11px] text-muted-foreground`},{default:o(()=>[a(r(c(m)(`providers.transform.dropFields`)),1)]),_:1}),e(c(y),{"model-value":t.dropFields,placeholder:`logprobs, frequency_penalty`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":l[1]||=e=>d(`update:dropFields`,e)},null,8,[`model-value`])]),n(`div`,null,[e(c(p),{class:`text-[11px] text-muted-foreground`},{default:o(()=>[a(r(c(m)(`providers.transform.requestDefaults`)),1)]),_:1}),e(c(y),{"model-value":t.requestDefaults,placeholder:`{"max_tokens": 4096}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":l[2]||=e=>d(`update:requestDefaults`,e)},null,8,[`model-value`])])],2))}});export{x as n,S as t};
1
+ import{$ as e,G as t,J as n,Kt as r,L as i,Q as a,Tt as o,Ut as s,Vt as c,X as l,Z as u,et as d,ft as f}from"./button-C7HO6Dyb.js";import{t as p}from"./Label-Dw5HcYsL.js";import{f as m,g as h,h as g,m as _,p as v}from"./index-itL9--Q_.js";import{t as y}from"./Input-Ey_q_5_r.js";var b={key:1,class:`text-[10px] text-muted-foreground leading-snug`},x=d({__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(d,{emit:x}){let{t:S}=i(),C=x;return(i,x)=>(f(),u(`div`,{class:s(d.compact?`space-y-2`:`flex items-end gap-2 flex-wrap`)},[n(`div`,{class:s([d.compact?``:`w-36`,`space-y-1`])},[e(c(p),{class:`text-xs text-muted-foreground`},{default:o(()=>[a(r(c(S)(`providers.concurrency.mode`)),1)]),_:1}),e(c(h),{"model-value":d.mode,"onUpdate:modelValue":x[0]||=e=>C(`update:mode`,e)},{default:o(()=>[e(c(v),{class:`w-full text-xs data-[size=default]:h-7`},{default:o(()=>[e(c(m))]),_:1}),e(c(g),null,{default:o(()=>[e(c(_),{value:`auto`},{default:o(()=>[a(r(c(S)(`providers.concurrency.autoAdaptive`)),1)]),_:1}),e(c(_),{value:`manual`},{default:o(()=>[a(r(c(S)(`providers.concurrency.manual`)),1)]),_:1}),e(c(_),{value:`none`},{default:o(()=>[a(r(c(S)(`providers.concurrency.none`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])],2),d.mode===`none`?l(``,!0):(f(),u(t,{key:0},[n(`div`,{class:s([d.compact?``:`w-28`,`space-y-1`])},[e(c(p),{class:`text-xs text-muted-foreground`},{default:o(()=>[a(r(c(S)(`providers.concurrency.maxConcurrency`)),1)]),_:1}),e(c(y),{"model-value":d.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),n(`div`,{class:s([d.compact?``:`w-32`,`space-y-1`])},[e(c(p),{class:`text-xs text-muted-foreground`},{default:o(()=>[a(r(c(S)(`providers.concurrency.queueTimeout`)),1)]),_:1}),e(c(y),{"model-value":d.queueTimeoutMs,type:`number`,min:`0`,placeholder:c(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),n(`div`,{class:s([d.compact?``:`w-32`,`space-y-1`])},[e(c(p),{class:`text-xs text-muted-foreground`},{default:o(()=>[a(r(c(S)(`providers.concurrency.maxQueueSize`)),1)]),_:1}),e(c(y),{"model-value":d.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)),d.mode===`auto`&&!d.compact?(f(),u(`div`,b,r(c(S)(`providers.shared.autoHint`)),1)):l(``,!0)],2))}}),S=d({__name:`TransformRulesForm`,props:{injectHeaders:{},dropFields:{},requestDefaults:{},compact:{type:Boolean}},emits:[`update:injectHeaders`,`update:dropFields`,`update:requestDefaults`],setup(t,{emit:l}){let d=l,{t:m}=i();return(i,l)=>(f(),u(`div`,{class:s(t.compact?`space-y-2`:`space-y-3`)},[n(`div`,null,[e(c(p),{class:`text-[11px] text-muted-foreground`},{default:o(()=>[a(r(c(m)(`providers.transform.injectHeaders`)),1)]),_:1}),e(c(y),{"model-value":t.injectHeaders,placeholder:`{"x-custom": "value"}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":l[0]||=e=>d(`update:injectHeaders`,e)},null,8,[`model-value`])]),n(`div`,null,[e(c(p),{class:`text-[11px] text-muted-foreground`},{default:o(()=>[a(r(c(m)(`providers.transform.dropFields`)),1)]),_:1}),e(c(y),{"model-value":t.dropFields,placeholder:`logprobs, frequency_penalty`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":l[1]||=e=>d(`update:dropFields`,e)},null,8,[`model-value`])]),n(`div`,null,[e(c(p),{class:`text-[11px] text-muted-foreground`},{default:o(()=>[a(r(c(m)(`providers.transform.requestDefaults`)),1)]),_:1}),e(c(y),{"model-value":t.requestDefaults,placeholder:`{"max_tokens": 4096}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":l[2]||=e=>d(`update:requestDefaults`,e)},null,8,[`model-value`])])],2))}});export{x as n,S as t};