llm-simple-router 0.11.4 → 0.11.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 (40) hide show
  1. package/dist/admin/retry-rules.js +79 -5
  2. package/frontend-dist/assets/{CardContent-B88j9H0z.js → CardContent-POdM9knm.js} +1 -1
  3. package/frontend-dist/assets/{CardTitle-B8a97nPD.js → CardTitle-mi00cvHk.js} +1 -1
  4. package/frontend-dist/assets/{CascadingModelSelect-C0yNZoXy.js → CascadingModelSelect-CubFNL5Z.js} +1 -1
  5. package/frontend-dist/assets/{Checkbox-BqTMZz2v.js → Checkbox-BcnVK5BE.js} +1 -1
  6. package/frontend-dist/assets/{CollapsibleContent-96COn5t_.js → CollapsibleContent-CMuY_0ps.js} +1 -1
  7. package/frontend-dist/assets/{CollapsibleTrigger-BhoqUmdk.js → CollapsibleTrigger-KRXgNeSC.js} +1 -1
  8. package/frontend-dist/assets/{Dashboard-DS1huRbF.js → Dashboard-Bh4nXWLM.js} +1 -1
  9. package/frontend-dist/assets/{Input-Bu0i-HPR.js → Input-CQAFlthI.js} +1 -1
  10. package/frontend-dist/assets/{Label-67a8eQwX.js → Label-_o2ZnCRD.js} +1 -1
  11. package/frontend-dist/assets/{Login-DuJrav5s.js → Login-BPqzTIaZ.js} +1 -1
  12. package/frontend-dist/assets/{Logs-Di2rtHWg.js → Logs-ZJszhjOb.js} +1 -1
  13. package/frontend-dist/assets/{MappingEntryEditor-C_wjxov1.js → MappingEntryEditor--Icmf_he.js} +1 -1
  14. package/frontend-dist/assets/{ModelMappings-CJKFlKoo.js → ModelMappings-Bj32YLQZ.js} +1 -1
  15. package/frontend-dist/assets/{Monitor-C_KYa39G.js → Monitor-SBlmRPTQ.js} +1 -1
  16. package/frontend-dist/assets/{Providers-OSQlM_k9.js → Providers-Biuxv2W9.js} +1 -1
  17. package/frontend-dist/assets/{ProxyEnhancement-Cj7_GBQe.js → ProxyEnhancement-BTUqx-hj.js} +1 -1
  18. package/frontend-dist/assets/{QuickSetup-_dHnO9A_.js → QuickSetup-B8-u2sZa.js} +1 -1
  19. package/frontend-dist/assets/{RetryRules-D1wNRCPz.js → RetryRules-C8mGFYBh.js} +1 -1
  20. package/frontend-dist/assets/{RouterKeys-CZ2Vw6vB.js → RouterKeys-DgzXJsL8.js} +1 -1
  21. package/frontend-dist/assets/{RovingFocusItem-tLhdCrJ2.js → RovingFocusItem-Dg-GYaYf.js} +1 -1
  22. package/frontend-dist/assets/{Schedules-BBBE5rzH.js → Schedules-CQQX55LC.js} +1 -1
  23. package/frontend-dist/assets/{Settings-CNEWKmas.js → Settings-B7-f_Pei.js} +1 -1
  24. package/frontend-dist/assets/{Setup-BJy7Hluo.js → Setup-aJfZU8RD.js} +1 -1
  25. package/frontend-dist/assets/{Switch-B2K6kTfF.js → Switch-CqF_csS2.js} +1 -1
  26. package/frontend-dist/assets/{TooltipTrigger-qc84ev_b.js → TooltipTrigger-CpHXgQxI.js} +1 -1
  27. package/frontend-dist/assets/{TransformRulesForm-DdSMMv3Z.js → TransformRulesForm-C0elmJO6.js} +1 -1
  28. package/frontend-dist/assets/{UnifiedRequestDialog-BtsWE0wO.js → UnifiedRequestDialog-DWUXdfWY.js} +1 -1
  29. package/frontend-dist/assets/{VisuallyHiddenInput-C6J7cjvG.js → VisuallyHiddenInput-HnGHuxTe.js} +1 -1
  30. package/frontend-dist/assets/{button-CSFUPP0s.js → button-BaNRw0cF.js} +2 -2
  31. package/frontend-dist/assets/{copy-C9YdGmGg.js → copy-Dbl7J0Cg.js} +1 -1
  32. package/frontend-dist/assets/{dialog-Dvd1Jkzx.js → dialog-D_OkVkI9.js} +1 -1
  33. package/frontend-dist/assets/{index-BXsU7o6J.js → index-COoySiAr.js} +2 -2
  34. package/frontend-dist/assets/{model-patches-C_Vq5bRS.js → model-patches-D5Tyous2.js} +1 -1
  35. package/frontend-dist/assets/{sparkles-C6fYCgIz.js → sparkles-D3u86oss.js} +1 -1
  36. package/frontend-dist/assets/{trash-2-2cawWyKR.js → trash-2-DvEWr8UB.js} +1 -1
  37. package/frontend-dist/assets/{useClipboard-Bk__77zn.js → useClipboard-D_jpOvnE.js} +1 -1
  38. package/frontend-dist/assets/{useLogRetention-BhmlsZRl.js → useLogRetention-DnSxnecs.js} +1 -1
  39. package/frontend-dist/index.html +2 -2
  40. package/package.json +2 -2
@@ -1 +1 @@
1
- import{$ as e,A as t,F as n,G as r,It as i,K as a,Kt as o,Mt as s,Ot as c,Q as l,Tt as u,V as ee,Wt as d,X as f,Y as p,Yt as m,Z as h,_t as g,ht as _,k as v,n as y,nt as b,pt as x,q as S,rt as C,tt as w}from"./button-CSFUPP0s.js";import{t as T}from"./MappingEntryEditor-C_wjxov1.js";import{t as E}from"./CascadingModelSelect-C0yNZoXy.js";import{a as D,i as O,n as k,o as te,r as A,t as j}from"./model-patches-C_Vq5bRS.js";import{t as M}from"./trash-2-2cawWyKR.js";import{t as N}from"./Checkbox-BqTMZz2v.js";import{t as P}from"./Label-67a8eQwX.js";import{t as F}from"./Switch-B2K6kTfF.js";import{_ as I,g as L,h as R,i as z,m as B,p as V,x as H}from"./index-BXsU7o6J.js";import{n as U,t as W}from"./CardContent-B88j9H0z.js";import{n as G,t as K}from"./CardTitle-B8a97nPD.js";import{t as q}from"./Input-Bu0i-HPR.js";import{n as ne,t as re}from"./TransformRulesForm-DdSMMv3Z.js";var J=10,Y=12e4,ie=100,ae=128e3,oe=800,se=1500,X={DeepSeek:`deepseek`,百度千帆:`qianfan`,科大讯飞:`iflytek`,硅基流动:`siliconflow`,智谱:`zhipu`,月之暗面:`moonshot`,Minimax:`minimax`,火山引擎:`volcengine`,阿里云:`aliyun`,腾讯云:`tencent`,OpenCode:`opencode`,阶跃星辰:`stepfun`};function Z(e){return X[e]??e.toLowerCase().replace(/[^a-z0-9]/gi,`-`).replace(/-+/g,`-`)}function ce(e,t,n,r){if(!e&&!t&&!n)return;let i={};if(e)try{i.inject_headers=JSON.parse(e)}catch{return r(`injectHeadersJsonError`),!1}if(t&&(i.drop_fields=t.split(`,`).map(e=>e.trim()).filter(Boolean)),n)try{i.request_defaults=JSON.parse(n)}catch{return r(`requestDefaultsJsonError`),!1}return Object.keys(i).length>0?i:void 0}async function le(e){let t=[];for(let n of e)if(n.existing&&n.existingId&&n.originalActive!==void 0&&n.active!==n.originalActive)try{await v.toggleMappingGroup(n.existingId)}catch{t.push(n.clientModel)}return t}function ue(e,t){return e.filter(e=>t.has(e.name)&&!e.exists).map(e=>({name:e.name,status_code:e.status_code,body_pattern:e.body_pattern,retry_strategy:e.retry_strategy,retry_delay_ms:e.retry_delay_ms,max_retries:e.max_retries,max_delay_ms:e.max_delay_ms}))}function de(e){return{name:e.isCustom?`custom-${Date.now()}`:`${Z(e.selectedGroup)}-${Z(e.selectedPlan)}`,api_type:e.apiType,base_url:e.baseUrl,upstream_path:e.upstreamPath||void 0,api_key:e.apiKey,models:e.models.map(e=>({name:e.name,context_window:e.contextWindow,patches:e.patches.length>0?e.patches:void 0,stream_timeout_ms:e.stream_timeout_ms??void 0,capabilities:e.capabilities&&e.capabilities.length>0?e.capabilities:void 0})),concurrency_mode:e.concurrencyMode,max_concurrency:e.concurrencyMode===`none`?void 0:e.maxConcurrency,queue_timeout_ms:e.concurrencyMode===`none`?void 0:e.queueTimeoutMs,max_queue_size:e.concurrencyMode===`none`?void 0:e.maxQueueSize}}function fe(e,t,n){let r;return r=e===`pi`?t.map(e=>e.name):O[e]??t.map(e=>e.name),r.map(i=>{let a=n.find(e=>e.client_model===i);if(a){let e={};try{e=JSON.parse(a.rule)}catch{e={}}let n=e.targets??[];return{clientModel:i,targets:n.length>0?n.map(e=>({backend_model:e.backend_model,provider_id:e.provider_id,overflow_provider_id:e.overflow_provider_id,overflow_model:e.overflow_model})):[{backend_model:t[0]?.name??``,provider_id:`__new__`}],existing:!0,existingId:a.id,tag:`existing`,active:!!a.is_active,originalActive:!!a.is_active}}return{clientModel:i,targets:[{backend_model:t[r.indexOf(i)]?.name??t[t.length-1]?.name??``,provider_id:`__new__`}],existing:!1,tag:e===`pi`?`auto`:`def`,active:!0}})}function pe(e,t){return e===`openai-responses`&&(t===`openai`||t===`openai-responses`)?`openai-responses`:t}function me(e){return{provider:de({isCustom:e.isCustomProvider,selectedGroup:e.selectedGroup,selectedPlan:e.selectedPlan,apiType:e.apiType,baseUrl:e.baseUrl,upstreamPath:e.upstreamPath,apiKey:e.apiKey,models:e.models,concurrencyMode:e.concurrencyMode,maxConcurrency:e.maxConcurrency,queueTimeoutMs:e.queueTimeoutMs,maxQueueSize:e.maxQueueSize}),mappings:e.mappingEntries.filter(e=>e.targets[0]?.backend_model).map(e=>({client_model:e.clientModel,backend_model:e.targets[0]?.backend_model??``})),retry_rules:ue(e.recommendedRules,e.selectedRetryRules),transform_rules:e.transformRules}}function he(e){return p(()=>A.find(t=>t.id===e.value))}function ge(e,t,n){return p(()=>{if(!e.value||!t.value)return;let r=n.value.find(t=>t.group===e.value);if(r)return r.presets.find(e=>e.plan===t.value)})}function _e(e,t,n){return p(()=>e.value?t.value:n.value?.baseUrl??``)}function ve(e,t,n){return p(()=>{if(e.value)return t.value;let r=n.value;if(!r)return``;let i=r.apiType===`anthropic`?`/v1/messages`:r.apiType===`openai-responses`?`/v1/responses`:`/v1/chat/completions`;return r.upstreamPath&&r.upstreamPath!==i?r.upstreamPath:``})}function ye(e,t){return p(()=>t.value.find(t=>t.group===e.value)?.presets??[])}function be(e){return p(()=>!e.value.includes(`openai.com`))}function xe(e,t){return p(()=>{let n=e.value;return t.value.filter(e=>!e.providers||e.providers.length===0?!0:e.providers.includes(n))})}function Se(e,t,n,r,i,a){let o=p(()=>t.value?{provider:{id:e.value?`__new_custom__`:`__new_${Z(t.value)}_${Z(n.value)}__`,name:e.value?a(`quickSetup.provider.customProvider`):`${t.value} - ${n.value}`},models:r.value.filter(e=>e.enabled).map(e=>({name:e.name,contextWindow:e.contextWindow})),isNew:!0}:null);return{currentProviderGroup:o,allProviderGroups:p(()=>{let e=i.value.map(e=>({provider:{id:e.id,name:e.name},models:(e.models??[]).map(e=>({name:e.name,contextWindow:e.context_window??ae}))}));return o.value&&o.value.models.length>0?[...e,o.value]:e})}}function Ce(e,t,n){t.value=e.models.map(t=>({name:t,contextWindow:D(t),enabled:!0,patches:j(t,e.apiType,n.value),capabilities:e.modelCapabilities?.[t]}))}function we(e,t,n,r,i=ae){e.value.push({name:t,contextWindow:i,enabled:!0,patches:j(t,n,r.value),capabilities:[`text`]})}async function Te(e,n,r,i,a,o){try{let[t,o,s,c]=await Promise.allSettled([v.recommended.getProviders(),v.recommended.getRetryRules(),v.getMappingGroups(),v.getProviders()]);t.status===`fulfilled`&&(e.value=t.value),o.status===`fulfilled`&&(n.value=o.value),s.status===`fulfilled`&&(r.value=s.value),c.status===`fulfilled`&&(i.value=c.value),a(`claude-code`)}catch(e){console.error(`quickSetup.load:`,e),o(t(e,``))}}async function Ee(e,t,n){if(!e.value.trim()){t.value=`error`,n(`quickSetup.messages.fillApiKeyFirst`);return}t.value=`testing`,await new Promise(e=>setTimeout(e,oe)),t.value=`ok`}function De(){let{t:e}=ee(),r=i(`claude-code`),a=i([]),o=i(``),s=i(``),c=i(`anthropic`),l=i(``),d=i([]),f=i([]),m=i([]),h=i(new Set),g=i(!1),_=i(`idle`),y=i(`auto`),b=i(J),S=i(Y),C=i(ie),w=i(``),T=i(``),E=i(``),D=i([]),O=i([]),k=p(()=>o.value===`__custom__`),te=he(r),A=ge(o,s,a),M=i(``),N=i(``),P=_e(k,M,A),F=ve(k,N,A),I=ye(o,a),L=be(P),R=xe(o,m),B=Se(k,o,s,d,O,e).allProviderGroups;function V(){let e=d.value.filter(e=>e.enabled);f.value=fe(r.value,e,D.value)}function H(){h.value=new Set(R.value.filter(e=>!e.exists).map(e=>e.name))}function U(e){r.value=e,V()}function W(e){if(o.value=e,s.value=``,d.value=[],e===`__custom__`)c.value=`openai`,M.value=``,N.value=``;else{let t=a.value.find(t=>t.group===e);if(t&&t.presets.length>0){let e=te.value,n=e?.format===`openai-responses`?[`openai-responses`,`openai`]:e?[e.format]:[],r=(e?t.presets.find(e=>n.includes(e.apiType)):null)??t.presets[0];s.value=r.plan,c.value=pe(e?.format,r.apiType),Ce(r,d,L)}}V(),H()}function G(e){s.value=e;let t=a.value.find(e=>e.group===o.value);if(!t)return;let n=t.presets.find(t=>t.plan===e);n&&(c.value=pe(te.value?.format,n.apiType),Ce(n,d,L),V())}u(c,()=>{for(let e of d.value)e.patches=j(e.name,c.value,L.value)});function K(e,t){let n=new Set(h.value);t?n.add(e):n.delete(e),h.value=n}function q(e,t){let n=[...f.value];n[e]={...n[e],targets:t},f.value=n}function ne(e){let t=[...f.value];t[e]={...t[e],active:!t[e].active},f.value=t}function re(e,t){let n=f.value.filter(t=>t.clientModel!==e);n.push({clientModel:e,targets:[{backend_model:t,provider_id:`__new__`}],existing:!1,tag:`cust`,active:!0}),f.value=n}function oe(t){if(f.value.find(e=>e.clientModel===t)?.existing){z.error(e(`quickSetup.messages.existingMappingDelete`));return}f.value=f.value.filter(e=>e.clientModel!==t)}function X(e){y.value=e,e===`auto`?b.value=J:e===`manual`&&(b.value=3)}async function Z(){return Ee(l,_,t=>z.error(e(t)))}function ue(e,t=ae){we(d,e,c.value,L,t)}async function de(){if(!A.value){z.error(e(`quickSetup.messages.selectProviderAndPlan`));return}if(!l.value.trim()){z.error(e(`quickSetup.messages.fillApiKey`));return}g.value=!0;try{let t=ce(w.value.trim(),T.value.trim(),E.value.trim(),t=>z.error(e(`quickSetup.messages.${t}`)));if(t===!1)return;let r=me({isCustomProvider:k.value,selectedGroup:o.value,selectedPlan:s.value,apiType:c.value,baseUrl:P.value,upstreamPath:F.value,apiKey:l.value.trim(),models:d.value,concurrencyMode:y.value,maxConcurrency:b.value,queueTimeoutMs:S.value,maxQueueSize:C.value,mappingEntries:f.value,recommendedRules:R.value,selectedRetryRules:h.value,transformRules:t});await v.quickSetup(r);let i=await le(f.value);i.length>0?z.success(e(`quickSetup.messages.setupCompleteWithErrors`,{count:i.length})):z.success(e(`quickSetup.messages.setupComplete`)),await new Promise(e=>setTimeout(e,se)),n.push(`/`)}catch(n){console.error(`quickSetup.save:`,n),z.error(t(n,e(`quickSetup.messages.setupFailed`)))}finally{g.value=!1}}return x(()=>{Te(a,m,D,O,U,e=>z.error(e))}),{clientType:r,providerGroups:a,selectedGroup:o,selectedPlan:s,apiType:c,apiKey:l,modelConfigs:d,mappingEntries:f,allRecommendedRules:m,recommendedRules:R,selectedRetryRules:h,saving:g,connectionStatus:_,currentClient:te,currentPreset:A,baseUrl:P,customBaseUrl:M,upstreamPath:F,customUpstreamPath:N,isCustomProvider:k,availablePlans:I,isNonOpenaiEndpoint:L,concurrencyMode:y,maxConcurrency:b,queueTimeoutMs:S,maxQueueSize:C,transformInjectHeaders:w,transformDropFields:T,transformRequestDefaults:E,existingMappings:D,allProviders:O,allProviderGroups:B,selectClient:U,onProviderChange:W,onPlanChange:G,updateMappings:V,updateMappingTargets:q,toggleMappingActive:ne,addMappingEntry:re,removeMappingEntry:oe,toggleRetryRule:K,onConcurrencyModeChange:X,testConnection:Z,submit:de,addCustomModel:ue}}var Oe={class:`space-y-1.5`},ke={class:`flex items-start gap-2 px-3 py-2`},Q=[`onClick`],Ae={class:`flex items-center gap-1.5 shrink-0 pt-0.5`},$={key:0,class:`py-3 text-center text-xs text-muted-foreground`},je={class:`flex items-center gap-2 pt-2 border-t mt-2`},Me={class:`flex-1`},Ne=C({__name:`QuickSetupMappingList`,props:{entries:{},providerGroups:{}},emits:[`update:targets`,`toggle-active`,`add`,`remove`],setup(t,{emit:n}){let{t:r}=ee(),s=n,u=i(new Set);function p(e){let t=new Set(u.value);t.has(e)?t.delete(e):t.add(e),u.value=t}let h=i(``),v=i();function x(){return h.value.trim().length>0&&!!v.value?.model}function C(){let e=h.value.trim(),t=v.value;e&&t&&(s(`add`,e,t.model),h.value=``,v.value=void 0)}function D(e){e.key===`Enter`&&x()&&(e.preventDefault(),C())}return(n,i)=>(_(),e(`div`,Oe,[(_(!0),e(S,null,g(t.entries,(n,r)=>(_(),e(`div`,{key:n.clientModel,class:`rounded-md border border-border`},[f(`div`,ke,[f(`div`,{class:o([`flex-1 min-w-0`,{"cursor-pointer":!u.value.has(n.clientModel)}]),onClick:e=>!u.value.has(n.clientModel)&&p(n.clientModel)},[b(T,{entry:n,"provider-groups":t.providerGroups,expanded:u.value.has(n.clientModel),editable:!0,"onUpdate:targets":e=>s(`update:targets`,r,e)},null,8,[`entry`,`provider-groups`,`expanded`,`onUpdate:targets`])],10,Q),f(`div`,Ae,[b(d(y),{variant:`ghost`,size:`icon-xs`,class:`text-muted-foreground/40 hover:text-destructive`,onClick:a(e=>s(`remove`,n.clientModel),[`stop`])},{default:c(()=>[b(d(M),{class:`size-3`})]),_:1},8,[`onClick`]),b(d(F),{"model-value":n.active,"onUpdate:modelValue":e=>s(`toggle-active`,r),class:`scale-75`,onClick:i[0]||=a(()=>{},[`stop`])},null,8,[`model-value`,`onUpdate:modelValue`])])])]))),128)),t.entries.length===0?(_(),e(`p`,$,m(d(r)(`providers.shared.noMappings`)),1)):l(``,!0),f(`div`,je,[b(d(q),{modelValue:h.value,"onUpdate:modelValue":i[1]||=e=>h.value=e,placeholder:d(r)(`providers.shared.clientModel`),class:`h-8 flex-1 text-xs font-mono`,onKeydown:D},null,8,[`modelValue`,`placeholder`]),f(`div`,Me,[b(E,{providers:t.providerGroups,"model-value":v.value,compact:``,placeholder:d(r)(`providers.shared.selectModel`),"onUpdate:modelValue":i[2]||=e=>v.value=e},null,8,[`providers`,`model-value`,`placeholder`])]),b(d(y),{size:`sm`,variant:`outline`,class:`h-8 shrink-0`,disabled:!x(),onClick:C},{default:c(()=>[w(m(d(r)(`providers.shared.add`)),1)]),_:1},8,[`disabled`])])]))}}),Pe={class:`p-6 space-y-4 pb-20`},Fe={class:`flex gap-2 flex-wrap`},Ie={class:`text-left`},Le={class:`font-medium text-sm leading-tight`},Re={class:`text-[10px] opacity-60 leading-tight`},ze={class:`flex items-end gap-2`},Be={class:`w-40 space-y-1`},Ve={class:`w-48 space-y-1`},He={class:`w-80 space-y-1`},Ue={class:`w-48 space-y-1`},We={class:`w-28 space-y-1`},Ge={class:`w-48 space-y-1`},Ke={class:`w-72 space-y-1`},qe={key:0,class:`w-48 space-y-1`},Je={class:`w-64 space-y-1`},Ye={class:`shrink-0 space-y-1`},Xe={class:`border-t pt-3`},Ze={class:`flex items-center justify-between mb-2`},Qe={class:`text-xs font-medium text-muted-foreground`},$e={key:0,class:`py-4 text-center text-xs text-muted-foreground`},et={key:1,class:`grid grid-cols-4 gap-2`},tt={key:2,class:`flex gap-2 mt-2`},nt={class:`border-t pt-3`},rt={class:`flex items-center justify-between mb-2`},it={class:`text-xs font-medium text-muted-foreground`},at={class:`grid grid-cols-5 gap-4`},ot={class:`flex items-center justify-between`},st={class:`col-span-2 space-y-4`},ct={class:`flex items-center justify-between`},lt={key:0,class:`py-6 text-center text-xs text-muted-foreground`},ut={key:1,class:`space-y-1.5 max-h-[320px] overflow-y-auto`},dt=[`onClick`],ft={class:`flex-1 min-w-0`},pt={class:`flex items-center gap-1.5`},mt={class:`text-xs font-medium`},ht={class:`text-[10px] text-muted-foreground mt-0.5`},gt={class:`fixed bottom-0 right-0 left-56 border-t bg-card/95 backdrop-blur px-6 py-2.5 flex items-center justify-between z-10`},_t={class:`text-xs text-muted-foreground flex items-center gap-1.5`},vt={class:`flex items-center gap-2`},yt=C({__name:`QuickSetup`,setup(t){let{t:n}=ee(),{clientType:u,providerGroups:v,selectedGroup:x,selectedPlan:C,apiType:T,apiKey:E,modelConfigs:D,mappingEntries:O,allRecommendedRules:j,recommendedRules:M,selectedRetryRules:F,saving:J,connectionStatus:Y,baseUrl:ie,availablePlans:ae,isNonOpenaiEndpoint:oe,isCustomProvider:se,customBaseUrl:X,upstreamPath:Z,customUpstreamPath:ce,concurrencyMode:le,maxConcurrency:ue,queueTimeoutMs:de,maxQueueSize:fe,allProviderGroups:pe,transformInjectHeaders:me,transformDropFields:he,transformRequestDefaults:ge,selectClient:_e,onProviderChange:ve,onPlanChange:ye,updateMappingTargets:be,toggleMappingActive:xe,addMappingEntry:Se,removeMappingEntry:Ce,toggleRetryRule:we,onConcurrencyModeChange:Te,testConnection:Ee,submit:Oe,addCustomModel:ke}=De(),Q=i(``);function Ae(){Q.value.trim()&&(ke(Q.value.trim()),Q.value=``)}let $=p(()=>D.value.filter(e=>e.enabled).length),je=p(()=>A.find(e=>e.id===u.value)?.name??u.value);function Me(e,t){let n=[...D.value];n[e]=t,D.value=n}function yt(e){D.value=D.value.filter((t,n)=>n!==e)}function bt(e,t){let n=[...D.value];n[e]={...n[e],stream_timeout_ms:t||void 0},D.value=n}function xt(e,t){let n=[...D.value],r={...n[e]},i=r.capabilities??[`text`];i.includes(t)?r.capabilities=i.filter(e=>e!==t):r.capabilities=[...i,t],n[e]=r,D.value=n}function St(){if(!x.value){z.error(n(`quickSetup.messages.selectProvider`));return}if(!E.value.trim()){z.error(n(`quickSetup.messages.fillApiKey`));return}if($.value===0){z.error(n(`quickSetup.messages.enableOneModel`));return}z.success(n(`quickSetup.messages.validationPassed`))}return(t,i)=>(_(),e(S,null,[f(`div`,Pe,[b(d(U),null,{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.client.selectClient`)),1)]),_:1})]),_:1}),b(d(W),null,{default:c(()=>[f(`div`,Fe,[(_(!0),e(S,null,g(d(A),e=>(_(),h(d(y),{key:e.id,variant:`outline`,class:o([`flex h-auto items-center gap-2.5 px-4 py-2.5 text-sm transition-all cursor-pointer`,d(u)===e.id?`border-primary bg-primary/5 text-primary ring-1 ring-primary/20`:`border-border hover:border-muted-foreground/30 text-muted-foreground hover:text-foreground`]),onClick:t=>d(_e)(e.id)},{default:c(()=>[b(te,{name:e.iconSvg??``,size:24,class:o(d(u)===e.id?`text-primary`:`text-muted-foreground`)},null,8,[`name`,`class`]),f(`div`,Ie,[f(`div`,Le,m(e.name),1),f(`div`,Re,m(e.format)+` · `+m(d(n)(e.descriptionKey)),1)])]),_:2},1032,[`class`,`onClick`]))),128))])]),_:1})]),_:1}),b(d(U),null,{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.config`)),1)]),_:1})]),_:1}),b(d(W),{class:`space-y-4`},{default:c(()=>[f(`div`,ze,[f(`div`,Be,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.label`)),1)]),_:1}),b(d(I),{"model-value":d(x),"onUpdate:modelValue":i[0]||=e=>d(ve)(e)},{default:c(()=>[b(d(B),{class:`w-full text-xs data-[size=default]:h-7`},{default:c(()=>[b(d(V),{placeholder:d(n)(`quickSetup.provider.select`)},null,8,[`placeholder`])]),_:1}),b(d(L),null,{default:c(()=>[b(d(R),{value:`__custom__`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.custom`)),1)]),_:1}),(_(!0),e(S,null,g(d(v),e=>(_(),h(d(R),{key:e.group,value:e.group},{default:c(()=>[w(m(e.group),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),d(se)?(_(),e(S,{key:0},[f(`div`,Ve,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.format`)),1)]),_:1}),b(d(I),{modelValue:d(T),"onUpdate:modelValue":i[1]||=e=>s(T)?T.value=e:null},{default:c(()=>[b(d(B),{class:`w-full text-xs data-[size=default]:h-7`},{default:c(()=>[b(d(V))]),_:1}),b(d(L),null,{default:c(()=>[b(d(R),{value:`anthropic`},{default:c(()=>[...i[15]||=[w(`Anthropic Messages`,-1)]]),_:1}),b(d(R),{value:`openai`},{default:c(()=>[...i[16]||=[w(`OpenAI Chat Completions`,-1)]]),_:1}),b(d(R),{value:`openai-responses`},{default:c(()=>[...i[17]||=[w(`OpenAI Responses`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),f(`div`,He,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[...i[18]||=[w(`Base URL`,-1)]]),_:1}),b(d(q),{modelValue:d(X),"onUpdate:modelValue":i[2]||=e=>s(X)?X.value=e:null,placeholder:`https://api.example.com/v1`,class:`font-mono md:text-xs h-7`},null,8,[`modelValue`])]),f(`div`,Ue,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[...i[19]||=[w(`Upstream Path`,-1)]]),_:1}),b(d(q),{modelValue:d(ce),"onUpdate:modelValue":i[3]||=e=>s(ce)?ce.value=e:null,placeholder:`/v1/chat/completions`,class:`font-mono md:text-xs h-7`},null,8,[`modelValue`])])],64)):(_(),e(S,{key:1},[f(`div`,We,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.plan`)),1)]),_:1}),b(d(I),{"model-value":d(C),"onUpdate:modelValue":i[4]||=e=>d(ye)(e)},{default:c(()=>[b(d(B),{class:`w-full text-xs data-[size=default]:h-7`},{default:c(()=>[b(d(V),{placeholder:d(n)(`quickSetup.provider.select`)},null,8,[`placeholder`])]),_:1}),b(d(L),null,{default:c(()=>[(_(!0),e(S,null,g(d(ae),e=>(_(),h(d(R),{key:e.plan,value:e.plan},{default:c(()=>[w(m(e.plan),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),f(`div`,Ge,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.format`)),1)]),_:1}),b(d(I),{modelValue:d(T),"onUpdate:modelValue":i[5]||=e=>s(T)?T.value=e:null},{default:c(()=>[b(d(B),{class:`w-full text-xs data-[size=default]:h-7`},{default:c(()=>[b(d(V))]),_:1}),b(d(L),null,{default:c(()=>[b(d(R),{value:`anthropic`},{default:c(()=>[...i[20]||=[w(`Anthropic Messages`,-1)]]),_:1}),b(d(R),{value:`openai`},{default:c(()=>[...i[21]||=[w(`OpenAI Chat Completions`,-1)]]),_:1}),b(d(R),{value:`openai-responses`},{default:c(()=>[...i[22]||=[w(`OpenAI Responses`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),f(`div`,Ke,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[...i[23]||=[w(`Base URL`,-1)]]),_:1}),b(d(q),{"model-value":d(ie),readonly:``,class:`font-mono md:text-xs h-7`},null,8,[`model-value`])]),d(Z)?(_(),e(`div`,qe,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[...i[24]||=[w(`Upstream Path`,-1)]]),_:1}),b(d(q),{"model-value":d(Z),readonly:``,class:`font-mono md:text-xs h-7`},null,8,[`model-value`])])):l(``,!0)],64)),f(`div`,Je,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.apiKey`)),1)]),_:1}),b(d(q),{modelValue:d(E),"onUpdate:modelValue":i[6]||=e=>s(E)?E.value=e:null,type:`password`,placeholder:d(n)(`quickSetup.provider.apiKeyPlaceholder`),class:`md:text-xs h-7`},null,8,[`modelValue`,`placeholder`])]),f(`div`,Ye,[b(d(P),{class:`text-xs text-muted-foreground invisible`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.connect`)),1)]),_:1}),b(d(y),{variant:`outline`,size:`sm`,disabled:d(Y)===`testing`,onClick:d(Ee)},{default:c(()=>[d(Y)===`testing`?(_(),e(S,{key:0},[i[25]||=f(`svg`,{class:`w-3.5 h-3.5 mr-1 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[f(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),f(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),w(` `+m(d(n)(`quickSetup.provider.testing`)),1)],64)):d(Y)===`ok`?(_(),e(S,{key:1},[w(m(d(n)(`quickSetup.provider.connected`)),1)],64)):(_(),e(S,{key:2},[w(m(d(n)(`quickSetup.provider.test`)),1)],64))]),_:1},8,[`disabled`,`onClick`])])]),f(`div`,Xe,[f(`div`,Ze,[f(`span`,Qe,m(d(n)(`quickSetup.model.config`)),1),b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m($.value)+`/`+m(d(D).length),1)]),_:1})]),d(D).length===0?(_(),e(`p`,$e,m(d(n)(`quickSetup.model.selectProviderFirst`)),1)):(_(),e(`div`,et,[(_(!0),e(S,null,g(d(D),(e,t)=>(_(),h(k,{key:e.name,model:e,"api-type":d(T),"is-deep-seek":e.name.toLowerCase().includes(`deepseek`),"is-non-openai-endpoint":d(oe),capabilities:e.capabilities??[`text`],"stream-timeout-ms":e.stream_timeout_ms??void 0,"onUpdate:model":e=>Me(t,e),onRemove:e=>yt(t),"onUpdate:streamTimeoutMs":e=>bt(t,e),onToggleCapability:e=>xt(t,e)},null,8,[`model`,`api-type`,`is-deep-seek`,`is-non-openai-endpoint`,`capabilities`,`stream-timeout-ms`,`onUpdate:model`,`onRemove`,`onUpdate:streamTimeoutMs`,`onToggleCapability`]))),128))])),d(se)?(_(),e(`div`,tt,[b(d(q),{modelValue:Q.value,"onUpdate:modelValue":i[7]||=e=>Q.value=e,placeholder:d(n)(`quickSetup.model.namePlaceholder`),onKeydown:r(a(Ae,[`prevent`]),[`enter`]),class:`flex-1 md:text-xs h-7`},null,8,[`modelValue`,`placeholder`,`onKeydown`]),b(d(y),{type:`button`,variant:`outline`,size:`sm`,onClick:Ae,disabled:!Q.value.trim()},{default:c(()=>[w(m(d(n)(`common.add`)),1)]),_:1},8,[`disabled`])])):l(``,!0)]),f(`div`,nt,[f(`div`,rt,[f(`span`,it,m(d(n)(`quickSetup.concurrency.control`)),1)]),b(ne,{mode:d(le),"max-concurrency":d(ue),"queue-timeout-ms":d(de),"max-queue-size":d(fe),"onUpdate:mode":d(Te),"onUpdate:maxConcurrency":i[8]||=e=>ue.value=e,"onUpdate:queueTimeoutMs":i[9]||=e=>de.value=e,"onUpdate:maxQueueSize":i[10]||=e=>fe.value=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`,`onUpdate:mode`])])]),_:1})]),_:1}),f(`div`,at,[b(d(U),{class:`col-span-3`},{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[f(`div`,ot,[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.mapping.title`)),1)]),_:1}),b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m(d(n)(`quickSetup.mapping.count`,{count:d(O).length})),1)]),_:1})])]),_:1}),b(d(W),null,{default:c(()=>[b(Ne,{entries:d(O),"provider-groups":d(pe),"onUpdate:targets":d(be),onToggleActive:d(xe),onAdd:d(Se),onRemove:d(Ce)},null,8,[`entries`,`provider-groups`,`onUpdate:targets`,`onToggleActive`,`onAdd`,`onRemove`])]),_:1})]),_:1}),f(`div`,st,[b(d(U),null,{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[f(`div`,ct,[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.retry.title`)),1)]),_:1}),b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m(d(n)(`quickSetup.retry.selectedCount`,{count:d(F).size})),1)]),_:1})])]),_:1}),b(d(W),null,{default:c(()=>[d(M).length===0?(_(),e(`div`,lt,[d(j).length===0?(_(),e(S,{key:0},[w(m(d(n)(`quickSetup.retry.allCreated`)),1)],64)):(_(),e(S,{key:1},[w(m(d(n)(`quickSetup.retry.selectProviderFirst`)),1)],64))])):(_(),e(`div`,ut,[(_(!0),e(S,null,g(d(M),t=>(_(),e(`div`,{key:t.name,class:o([`flex items-start gap-2.5 rounded-md transition-colors`,t.exists?`opacity-60 cursor-default p-2`:`hover:bg-muted/50 cursor-pointer p-2`]),onClick:e=>!t.exists&&d(we)(t.name,!d(F).has(t.name))},[b(d(N),{checked:t.exists?!0:d(F).has(t.name),disabled:t.exists,class:`mt-0.5`,"onUpdate:checked":e=>d(we)(t.name,!!e),onClick:i[11]||=a(()=>{},[`stop`])},null,8,[`checked`,`disabled`,`onUpdate:checked`]),f(`div`,ft,[f(`div`,pt,[f(`span`,mt,m(t.name),1),t.exists?(_(),h(d(H),{key:0,variant:`secondary`,class:`text-[9px] px-1.5 py-0 leading-none bg-muted text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.retry.configured`)),1)]),_:1})):t.providers&&t.providers.length>0?(_(),h(d(H),{key:1,variant:`outline`,class:`text-[9px] px-1 py-0 leading-none`},{default:c(()=>[w(m(t.providers[0]),1)]),_:2},1024)):(_(),h(d(H),{key:2,variant:`secondary`,class:`text-[9px] px-1 py-0 leading-none`},{default:c(()=>[w(m(d(n)(`quickSetup.retry.general`)),1)]),_:1}))]),f(`div`,ht,m(t.status_code)+` · `+m(t.retry_strategy===`fixed`?d(n)(`quickSetup.retry.fixed`):d(n)(`quickSetup.retry.exponential`))+` · `+m(t.retry_delay_ms/1e3)+`s · `+m(t.max_retries)+m(d(n)(`quickSetup.retry.times`)),1)])],10,dt))),128))]))]),_:1})]),_:1}),b(d(U),null,{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.transform.title`)),1)]),_:1})]),_:1}),b(d(W),null,{default:c(()=>[b(re,{"inject-headers":d(me),"drop-fields":d(he),"request-defaults":d(ge),"onUpdate:injectHeaders":i[12]||=e=>me.value=e,"onUpdate:dropFields":i[13]||=e=>he.value=e,"onUpdate:requestDefaults":i[14]||=e=>ge.value=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])]),_:1})]),_:1})])])]),f(`div`,gt,[f(`div`,_t,[d(x)?(_(),e(S,{key:0},[b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m(je.value),1)]),_:1}),i[26]||=f(`span`,{class:`text-muted-foreground/50`},`→`,-1),b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m(d(se)?d(n)(`quickSetup.provider.custom`):d(x)),1)]),_:1})],64)):l(``,!0),$.value>0?(_(),e(S,{key:1},[i[27]||=f(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),f(`span`,null,m(d(n)(`quickSetup.footer.models`,{count:$.value})),1)],64)):l(``,!0),d(O).length>0?(_(),e(S,{key:2},[i[28]||=f(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),f(`span`,null,m(d(n)(`quickSetup.footer.mappings`,{count:d(O).length})),1)],64)):l(``,!0),d(F).size>0?(_(),e(S,{key:3},[i[29]||=f(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),f(`span`,null,m(d(n)(`quickSetup.footer.rules`,{count:d(F).size})),1)],64)):l(``,!0)]),f(`div`,vt,[b(d(y),{size:`sm`,variant:`outline`,onClick:St},{default:c(()=>[w(m(d(n)(`quickSetup.footer.validate`)),1)]),_:1}),b(d(y),{size:`sm`,disabled:d(J),onClick:d(Oe)},{default:c(()=>[d(J)?(_(),e(S,{key:0},[i[30]||=f(`svg`,{class:`w-3.5 h-3.5 mr-1 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[f(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),f(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),w(` `+m(d(n)(`quickSetup.footer.saving`)),1)],64)):(_(),e(S,{key:1},[w(m(d(n)(`quickSetup.footer.saveConfig`)),1)],64))]),_:1},8,[`disabled`,`onClick`])])])],64))}});export{yt as default};
1
+ import{$ as e,A as t,F as n,G as r,It as i,K as a,Kt as o,Mt as s,Ot as c,Q as l,Tt as u,V as ee,Wt as d,X as f,Y as p,Yt as m,Z as h,_t as g,ht as _,k as v,n as y,nt as b,pt as x,q as S,rt as C,tt as w}from"./button-BaNRw0cF.js";import{t as T}from"./MappingEntryEditor--Icmf_he.js";import{t as E}from"./CascadingModelSelect-CubFNL5Z.js";import{a as D,i as O,n as k,o as te,r as A,t as j}from"./model-patches-D5Tyous2.js";import{t as M}from"./trash-2-DvEWr8UB.js";import{t as N}from"./Checkbox-BcnVK5BE.js";import{t as P}from"./Label-_o2ZnCRD.js";import{t as F}from"./Switch-CqF_csS2.js";import{_ as I,g as L,h as R,i as z,m as B,p as V,x as H}from"./index-COoySiAr.js";import{n as U,t as W}from"./CardContent-POdM9knm.js";import{n as G,t as K}from"./CardTitle-mi00cvHk.js";import{t as q}from"./Input-CQAFlthI.js";import{n as ne,t as re}from"./TransformRulesForm-C0elmJO6.js";var J=10,Y=12e4,ie=100,ae=128e3,oe=800,se=1500,X={DeepSeek:`deepseek`,百度千帆:`qianfan`,科大讯飞:`iflytek`,硅基流动:`siliconflow`,智谱:`zhipu`,月之暗面:`moonshot`,Minimax:`minimax`,火山引擎:`volcengine`,阿里云:`aliyun`,腾讯云:`tencent`,OpenCode:`opencode`,阶跃星辰:`stepfun`};function Z(e){return X[e]??e.toLowerCase().replace(/[^a-z0-9]/gi,`-`).replace(/-+/g,`-`)}function ce(e,t,n,r){if(!e&&!t&&!n)return;let i={};if(e)try{i.inject_headers=JSON.parse(e)}catch{return r(`injectHeadersJsonError`),!1}if(t&&(i.drop_fields=t.split(`,`).map(e=>e.trim()).filter(Boolean)),n)try{i.request_defaults=JSON.parse(n)}catch{return r(`requestDefaultsJsonError`),!1}return Object.keys(i).length>0?i:void 0}async function le(e){let t=[];for(let n of e)if(n.existing&&n.existingId&&n.originalActive!==void 0&&n.active!==n.originalActive)try{await v.toggleMappingGroup(n.existingId)}catch{t.push(n.clientModel)}return t}function ue(e,t){return e.filter(e=>t.has(e.name)&&!e.exists).map(e=>({name:e.name,status_code:e.status_code,body_pattern:e.body_pattern,retry_strategy:e.retry_strategy,retry_delay_ms:e.retry_delay_ms,max_retries:e.max_retries,max_delay_ms:e.max_delay_ms}))}function de(e){return{name:e.isCustom?`custom-${Date.now()}`:`${Z(e.selectedGroup)}-${Z(e.selectedPlan)}`,api_type:e.apiType,base_url:e.baseUrl,upstream_path:e.upstreamPath||void 0,api_key:e.apiKey,models:e.models.map(e=>({name:e.name,context_window:e.contextWindow,patches:e.patches.length>0?e.patches:void 0,stream_timeout_ms:e.stream_timeout_ms??void 0,capabilities:e.capabilities&&e.capabilities.length>0?e.capabilities:void 0})),concurrency_mode:e.concurrencyMode,max_concurrency:e.concurrencyMode===`none`?void 0:e.maxConcurrency,queue_timeout_ms:e.concurrencyMode===`none`?void 0:e.queueTimeoutMs,max_queue_size:e.concurrencyMode===`none`?void 0:e.maxQueueSize}}function fe(e,t,n){let r;return r=e===`pi`?t.map(e=>e.name):O[e]??t.map(e=>e.name),r.map(i=>{let a=n.find(e=>e.client_model===i);if(a){let e={};try{e=JSON.parse(a.rule)}catch{e={}}let n=e.targets??[];return{clientModel:i,targets:n.length>0?n.map(e=>({backend_model:e.backend_model,provider_id:e.provider_id,overflow_provider_id:e.overflow_provider_id,overflow_model:e.overflow_model})):[{backend_model:t[0]?.name??``,provider_id:`__new__`}],existing:!0,existingId:a.id,tag:`existing`,active:!!a.is_active,originalActive:!!a.is_active}}return{clientModel:i,targets:[{backend_model:t[r.indexOf(i)]?.name??t[t.length-1]?.name??``,provider_id:`__new__`}],existing:!1,tag:e===`pi`?`auto`:`def`,active:!0}})}function pe(e,t){return e===`openai-responses`&&(t===`openai`||t===`openai-responses`)?`openai-responses`:t}function me(e){return{provider:de({isCustom:e.isCustomProvider,selectedGroup:e.selectedGroup,selectedPlan:e.selectedPlan,apiType:e.apiType,baseUrl:e.baseUrl,upstreamPath:e.upstreamPath,apiKey:e.apiKey,models:e.models,concurrencyMode:e.concurrencyMode,maxConcurrency:e.maxConcurrency,queueTimeoutMs:e.queueTimeoutMs,maxQueueSize:e.maxQueueSize}),mappings:e.mappingEntries.filter(e=>e.targets[0]?.backend_model).map(e=>({client_model:e.clientModel,backend_model:e.targets[0]?.backend_model??``})),retry_rules:ue(e.recommendedRules,e.selectedRetryRules),transform_rules:e.transformRules}}function he(e){return p(()=>A.find(t=>t.id===e.value))}function ge(e,t,n){return p(()=>{if(!e.value||!t.value)return;let r=n.value.find(t=>t.group===e.value);if(r)return r.presets.find(e=>e.plan===t.value)})}function _e(e,t,n){return p(()=>e.value?t.value:n.value?.baseUrl??``)}function ve(e,t,n){return p(()=>{if(e.value)return t.value;let r=n.value;if(!r)return``;let i=r.apiType===`anthropic`?`/v1/messages`:r.apiType===`openai-responses`?`/v1/responses`:`/v1/chat/completions`;return r.upstreamPath&&r.upstreamPath!==i?r.upstreamPath:``})}function ye(e,t){return p(()=>t.value.find(t=>t.group===e.value)?.presets??[])}function be(e){return p(()=>!e.value.includes(`openai.com`))}function xe(e,t){return p(()=>{let n=e.value;return t.value.filter(e=>!e.providers||e.providers.length===0?!0:e.providers.includes(n))})}function Se(e,t,n,r,i,a){let o=p(()=>t.value?{provider:{id:e.value?`__new_custom__`:`__new_${Z(t.value)}_${Z(n.value)}__`,name:e.value?a(`quickSetup.provider.customProvider`):`${t.value} - ${n.value}`},models:r.value.filter(e=>e.enabled).map(e=>({name:e.name,contextWindow:e.contextWindow})),isNew:!0}:null);return{currentProviderGroup:o,allProviderGroups:p(()=>{let e=i.value.map(e=>({provider:{id:e.id,name:e.name},models:(e.models??[]).map(e=>({name:e.name,contextWindow:e.context_window??ae}))}));return o.value&&o.value.models.length>0?[...e,o.value]:e})}}function Ce(e,t,n){t.value=e.models.map(t=>({name:t,contextWindow:D(t),enabled:!0,patches:j(t,e.apiType,n.value),capabilities:e.modelCapabilities?.[t]}))}function we(e,t,n,r,i=ae){e.value.push({name:t,contextWindow:i,enabled:!0,patches:j(t,n,r.value),capabilities:[`text`]})}async function Te(e,n,r,i,a,o){try{let[t,o,s,c]=await Promise.allSettled([v.recommended.getProviders(),v.recommended.getRetryRules(),v.getMappingGroups(),v.getProviders()]);t.status===`fulfilled`&&(e.value=t.value),o.status===`fulfilled`&&(n.value=o.value),s.status===`fulfilled`&&(r.value=s.value),c.status===`fulfilled`&&(i.value=c.value),a(`claude-code`)}catch(e){console.error(`quickSetup.load:`,e),o(t(e,``))}}async function Ee(e,t,n){if(!e.value.trim()){t.value=`error`,n(`quickSetup.messages.fillApiKeyFirst`);return}t.value=`testing`,await new Promise(e=>setTimeout(e,oe)),t.value=`ok`}function De(){let{t:e}=ee(),r=i(`claude-code`),a=i([]),o=i(``),s=i(``),c=i(`anthropic`),l=i(``),d=i([]),f=i([]),m=i([]),h=i(new Set),g=i(!1),_=i(`idle`),y=i(`auto`),b=i(J),S=i(Y),C=i(ie),w=i(``),T=i(``),E=i(``),D=i([]),O=i([]),k=p(()=>o.value===`__custom__`),te=he(r),A=ge(o,s,a),M=i(``),N=i(``),P=_e(k,M,A),F=ve(k,N,A),I=ye(o,a),L=be(P),R=xe(o,m),B=Se(k,o,s,d,O,e).allProviderGroups;function V(){let e=d.value.filter(e=>e.enabled);f.value=fe(r.value,e,D.value)}function H(){h.value=new Set(R.value.filter(e=>!e.exists).map(e=>e.name))}function U(e){r.value=e,V()}function W(e){if(o.value=e,s.value=``,d.value=[],e===`__custom__`)c.value=`openai`,M.value=``,N.value=``;else{let t=a.value.find(t=>t.group===e);if(t&&t.presets.length>0){let e=te.value,n=e?.format===`openai-responses`?[`openai-responses`,`openai`]:e?[e.format]:[],r=(e?t.presets.find(e=>n.includes(e.apiType)):null)??t.presets[0];s.value=r.plan,c.value=pe(e?.format,r.apiType),Ce(r,d,L)}}V(),H()}function G(e){s.value=e;let t=a.value.find(e=>e.group===o.value);if(!t)return;let n=t.presets.find(t=>t.plan===e);n&&(c.value=pe(te.value?.format,n.apiType),Ce(n,d,L),V())}u(c,()=>{for(let e of d.value)e.patches=j(e.name,c.value,L.value)});function K(e,t){let n=new Set(h.value);t?n.add(e):n.delete(e),h.value=n}function q(e,t){let n=[...f.value];n[e]={...n[e],targets:t},f.value=n}function ne(e){let t=[...f.value];t[e]={...t[e],active:!t[e].active},f.value=t}function re(e,t){let n=f.value.filter(t=>t.clientModel!==e);n.push({clientModel:e,targets:[{backend_model:t,provider_id:`__new__`}],existing:!1,tag:`cust`,active:!0}),f.value=n}function oe(t){if(f.value.find(e=>e.clientModel===t)?.existing){z.error(e(`quickSetup.messages.existingMappingDelete`));return}f.value=f.value.filter(e=>e.clientModel!==t)}function X(e){y.value=e,e===`auto`?b.value=J:e===`manual`&&(b.value=3)}async function Z(){return Ee(l,_,t=>z.error(e(t)))}function ue(e,t=ae){we(d,e,c.value,L,t)}async function de(){if(!A.value){z.error(e(`quickSetup.messages.selectProviderAndPlan`));return}if(!l.value.trim()){z.error(e(`quickSetup.messages.fillApiKey`));return}g.value=!0;try{let t=ce(w.value.trim(),T.value.trim(),E.value.trim(),t=>z.error(e(`quickSetup.messages.${t}`)));if(t===!1)return;let r=me({isCustomProvider:k.value,selectedGroup:o.value,selectedPlan:s.value,apiType:c.value,baseUrl:P.value,upstreamPath:F.value,apiKey:l.value.trim(),models:d.value,concurrencyMode:y.value,maxConcurrency:b.value,queueTimeoutMs:S.value,maxQueueSize:C.value,mappingEntries:f.value,recommendedRules:R.value,selectedRetryRules:h.value,transformRules:t});await v.quickSetup(r);let i=await le(f.value);i.length>0?z.success(e(`quickSetup.messages.setupCompleteWithErrors`,{count:i.length})):z.success(e(`quickSetup.messages.setupComplete`)),await new Promise(e=>setTimeout(e,se)),n.push(`/`)}catch(n){console.error(`quickSetup.save:`,n),z.error(t(n,e(`quickSetup.messages.setupFailed`)))}finally{g.value=!1}}return x(()=>{Te(a,m,D,O,U,e=>z.error(e))}),{clientType:r,providerGroups:a,selectedGroup:o,selectedPlan:s,apiType:c,apiKey:l,modelConfigs:d,mappingEntries:f,allRecommendedRules:m,recommendedRules:R,selectedRetryRules:h,saving:g,connectionStatus:_,currentClient:te,currentPreset:A,baseUrl:P,customBaseUrl:M,upstreamPath:F,customUpstreamPath:N,isCustomProvider:k,availablePlans:I,isNonOpenaiEndpoint:L,concurrencyMode:y,maxConcurrency:b,queueTimeoutMs:S,maxQueueSize:C,transformInjectHeaders:w,transformDropFields:T,transformRequestDefaults:E,existingMappings:D,allProviders:O,allProviderGroups:B,selectClient:U,onProviderChange:W,onPlanChange:G,updateMappings:V,updateMappingTargets:q,toggleMappingActive:ne,addMappingEntry:re,removeMappingEntry:oe,toggleRetryRule:K,onConcurrencyModeChange:X,testConnection:Z,submit:de,addCustomModel:ue}}var Oe={class:`space-y-1.5`},ke={class:`flex items-start gap-2 px-3 py-2`},Q=[`onClick`],Ae={class:`flex items-center gap-1.5 shrink-0 pt-0.5`},$={key:0,class:`py-3 text-center text-xs text-muted-foreground`},je={class:`flex items-center gap-2 pt-2 border-t mt-2`},Me={class:`flex-1`},Ne=C({__name:`QuickSetupMappingList`,props:{entries:{},providerGroups:{}},emits:[`update:targets`,`toggle-active`,`add`,`remove`],setup(t,{emit:n}){let{t:r}=ee(),s=n,u=i(new Set);function p(e){let t=new Set(u.value);t.has(e)?t.delete(e):t.add(e),u.value=t}let h=i(``),v=i();function x(){return h.value.trim().length>0&&!!v.value?.model}function C(){let e=h.value.trim(),t=v.value;e&&t&&(s(`add`,e,t.model),h.value=``,v.value=void 0)}function D(e){e.key===`Enter`&&x()&&(e.preventDefault(),C())}return(n,i)=>(_(),e(`div`,Oe,[(_(!0),e(S,null,g(t.entries,(n,r)=>(_(),e(`div`,{key:n.clientModel,class:`rounded-md border border-border`},[f(`div`,ke,[f(`div`,{class:o([`flex-1 min-w-0`,{"cursor-pointer":!u.value.has(n.clientModel)}]),onClick:e=>!u.value.has(n.clientModel)&&p(n.clientModel)},[b(T,{entry:n,"provider-groups":t.providerGroups,expanded:u.value.has(n.clientModel),editable:!0,"onUpdate:targets":e=>s(`update:targets`,r,e)},null,8,[`entry`,`provider-groups`,`expanded`,`onUpdate:targets`])],10,Q),f(`div`,Ae,[b(d(y),{variant:`ghost`,size:`icon-xs`,class:`text-muted-foreground/40 hover:text-destructive`,onClick:a(e=>s(`remove`,n.clientModel),[`stop`])},{default:c(()=>[b(d(M),{class:`size-3`})]),_:1},8,[`onClick`]),b(d(F),{"model-value":n.active,"onUpdate:modelValue":e=>s(`toggle-active`,r),class:`scale-75`,onClick:i[0]||=a(()=>{},[`stop`])},null,8,[`model-value`,`onUpdate:modelValue`])])])]))),128)),t.entries.length===0?(_(),e(`p`,$,m(d(r)(`providers.shared.noMappings`)),1)):l(``,!0),f(`div`,je,[b(d(q),{modelValue:h.value,"onUpdate:modelValue":i[1]||=e=>h.value=e,placeholder:d(r)(`providers.shared.clientModel`),class:`h-8 flex-1 text-xs font-mono`,onKeydown:D},null,8,[`modelValue`,`placeholder`]),f(`div`,Me,[b(E,{providers:t.providerGroups,"model-value":v.value,compact:``,placeholder:d(r)(`providers.shared.selectModel`),"onUpdate:modelValue":i[2]||=e=>v.value=e},null,8,[`providers`,`model-value`,`placeholder`])]),b(d(y),{size:`sm`,variant:`outline`,class:`h-8 shrink-0`,disabled:!x(),onClick:C},{default:c(()=>[w(m(d(r)(`providers.shared.add`)),1)]),_:1},8,[`disabled`])])]))}}),Pe={class:`p-6 space-y-4 pb-20`},Fe={class:`flex gap-2 flex-wrap`},Ie={class:`text-left`},Le={class:`font-medium text-sm leading-tight`},Re={class:`text-[10px] opacity-60 leading-tight`},ze={class:`flex items-end gap-2`},Be={class:`w-40 space-y-1`},Ve={class:`w-48 space-y-1`},He={class:`w-80 space-y-1`},Ue={class:`w-48 space-y-1`},We={class:`w-28 space-y-1`},Ge={class:`w-48 space-y-1`},Ke={class:`w-72 space-y-1`},qe={key:0,class:`w-48 space-y-1`},Je={class:`w-64 space-y-1`},Ye={class:`shrink-0 space-y-1`},Xe={class:`border-t pt-3`},Ze={class:`flex items-center justify-between mb-2`},Qe={class:`text-xs font-medium text-muted-foreground`},$e={key:0,class:`py-4 text-center text-xs text-muted-foreground`},et={key:1,class:`grid grid-cols-4 gap-2`},tt={key:2,class:`flex gap-2 mt-2`},nt={class:`border-t pt-3`},rt={class:`flex items-center justify-between mb-2`},it={class:`text-xs font-medium text-muted-foreground`},at={class:`grid grid-cols-5 gap-4`},ot={class:`flex items-center justify-between`},st={class:`col-span-2 space-y-4`},ct={class:`flex items-center justify-between`},lt={key:0,class:`py-6 text-center text-xs text-muted-foreground`},ut={key:1,class:`space-y-1.5 max-h-[320px] overflow-y-auto`},dt=[`onClick`],ft={class:`flex-1 min-w-0`},pt={class:`flex items-center gap-1.5`},mt={class:`text-xs font-medium`},ht={class:`text-[10px] text-muted-foreground mt-0.5`},gt={class:`fixed bottom-0 right-0 left-56 border-t bg-card/95 backdrop-blur px-6 py-2.5 flex items-center justify-between z-10`},_t={class:`text-xs text-muted-foreground flex items-center gap-1.5`},vt={class:`flex items-center gap-2`},yt=C({__name:`QuickSetup`,setup(t){let{t:n}=ee(),{clientType:u,providerGroups:v,selectedGroup:x,selectedPlan:C,apiType:T,apiKey:E,modelConfigs:D,mappingEntries:O,allRecommendedRules:j,recommendedRules:M,selectedRetryRules:F,saving:J,connectionStatus:Y,baseUrl:ie,availablePlans:ae,isNonOpenaiEndpoint:oe,isCustomProvider:se,customBaseUrl:X,upstreamPath:Z,customUpstreamPath:ce,concurrencyMode:le,maxConcurrency:ue,queueTimeoutMs:de,maxQueueSize:fe,allProviderGroups:pe,transformInjectHeaders:me,transformDropFields:he,transformRequestDefaults:ge,selectClient:_e,onProviderChange:ve,onPlanChange:ye,updateMappingTargets:be,toggleMappingActive:xe,addMappingEntry:Se,removeMappingEntry:Ce,toggleRetryRule:we,onConcurrencyModeChange:Te,testConnection:Ee,submit:Oe,addCustomModel:ke}=De(),Q=i(``);function Ae(){Q.value.trim()&&(ke(Q.value.trim()),Q.value=``)}let $=p(()=>D.value.filter(e=>e.enabled).length),je=p(()=>A.find(e=>e.id===u.value)?.name??u.value);function Me(e,t){let n=[...D.value];n[e]=t,D.value=n}function yt(e){D.value=D.value.filter((t,n)=>n!==e)}function bt(e,t){let n=[...D.value];n[e]={...n[e],stream_timeout_ms:t||void 0},D.value=n}function xt(e,t){let n=[...D.value],r={...n[e]},i=r.capabilities??[`text`];i.includes(t)?r.capabilities=i.filter(e=>e!==t):r.capabilities=[...i,t],n[e]=r,D.value=n}function St(){if(!x.value){z.error(n(`quickSetup.messages.selectProvider`));return}if(!E.value.trim()){z.error(n(`quickSetup.messages.fillApiKey`));return}if($.value===0){z.error(n(`quickSetup.messages.enableOneModel`));return}z.success(n(`quickSetup.messages.validationPassed`))}return(t,i)=>(_(),e(S,null,[f(`div`,Pe,[b(d(U),null,{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.client.selectClient`)),1)]),_:1})]),_:1}),b(d(W),null,{default:c(()=>[f(`div`,Fe,[(_(!0),e(S,null,g(d(A),e=>(_(),h(d(y),{key:e.id,variant:`outline`,class:o([`flex h-auto items-center gap-2.5 px-4 py-2.5 text-sm transition-all cursor-pointer`,d(u)===e.id?`border-primary bg-primary/5 text-primary ring-1 ring-primary/20`:`border-border hover:border-muted-foreground/30 text-muted-foreground hover:text-foreground`]),onClick:t=>d(_e)(e.id)},{default:c(()=>[b(te,{name:e.iconSvg??``,size:24,class:o(d(u)===e.id?`text-primary`:`text-muted-foreground`)},null,8,[`name`,`class`]),f(`div`,Ie,[f(`div`,Le,m(e.name),1),f(`div`,Re,m(e.format)+` · `+m(d(n)(e.descriptionKey)),1)])]),_:2},1032,[`class`,`onClick`]))),128))])]),_:1})]),_:1}),b(d(U),null,{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.config`)),1)]),_:1})]),_:1}),b(d(W),{class:`space-y-4`},{default:c(()=>[f(`div`,ze,[f(`div`,Be,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.label`)),1)]),_:1}),b(d(I),{"model-value":d(x),"onUpdate:modelValue":i[0]||=e=>d(ve)(e)},{default:c(()=>[b(d(B),{class:`w-full text-xs data-[size=default]:h-7`},{default:c(()=>[b(d(V),{placeholder:d(n)(`quickSetup.provider.select`)},null,8,[`placeholder`])]),_:1}),b(d(L),null,{default:c(()=>[b(d(R),{value:`__custom__`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.custom`)),1)]),_:1}),(_(!0),e(S,null,g(d(v),e=>(_(),h(d(R),{key:e.group,value:e.group},{default:c(()=>[w(m(e.group),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),d(se)?(_(),e(S,{key:0},[f(`div`,Ve,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.format`)),1)]),_:1}),b(d(I),{modelValue:d(T),"onUpdate:modelValue":i[1]||=e=>s(T)?T.value=e:null},{default:c(()=>[b(d(B),{class:`w-full text-xs data-[size=default]:h-7`},{default:c(()=>[b(d(V))]),_:1}),b(d(L),null,{default:c(()=>[b(d(R),{value:`anthropic`},{default:c(()=>[...i[15]||=[w(`Anthropic Messages`,-1)]]),_:1}),b(d(R),{value:`openai`},{default:c(()=>[...i[16]||=[w(`OpenAI Chat Completions`,-1)]]),_:1}),b(d(R),{value:`openai-responses`},{default:c(()=>[...i[17]||=[w(`OpenAI Responses`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),f(`div`,He,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[...i[18]||=[w(`Base URL`,-1)]]),_:1}),b(d(q),{modelValue:d(X),"onUpdate:modelValue":i[2]||=e=>s(X)?X.value=e:null,placeholder:`https://api.example.com/v1`,class:`font-mono md:text-xs h-7`},null,8,[`modelValue`])]),f(`div`,Ue,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[...i[19]||=[w(`Upstream Path`,-1)]]),_:1}),b(d(q),{modelValue:d(ce),"onUpdate:modelValue":i[3]||=e=>s(ce)?ce.value=e:null,placeholder:`/v1/chat/completions`,class:`font-mono md:text-xs h-7`},null,8,[`modelValue`])])],64)):(_(),e(S,{key:1},[f(`div`,We,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.plan`)),1)]),_:1}),b(d(I),{"model-value":d(C),"onUpdate:modelValue":i[4]||=e=>d(ye)(e)},{default:c(()=>[b(d(B),{class:`w-full text-xs data-[size=default]:h-7`},{default:c(()=>[b(d(V),{placeholder:d(n)(`quickSetup.provider.select`)},null,8,[`placeholder`])]),_:1}),b(d(L),null,{default:c(()=>[(_(!0),e(S,null,g(d(ae),e=>(_(),h(d(R),{key:e.plan,value:e.plan},{default:c(()=>[w(m(e.plan),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),f(`div`,Ge,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.format`)),1)]),_:1}),b(d(I),{modelValue:d(T),"onUpdate:modelValue":i[5]||=e=>s(T)?T.value=e:null},{default:c(()=>[b(d(B),{class:`w-full text-xs data-[size=default]:h-7`},{default:c(()=>[b(d(V))]),_:1}),b(d(L),null,{default:c(()=>[b(d(R),{value:`anthropic`},{default:c(()=>[...i[20]||=[w(`Anthropic Messages`,-1)]]),_:1}),b(d(R),{value:`openai`},{default:c(()=>[...i[21]||=[w(`OpenAI Chat Completions`,-1)]]),_:1}),b(d(R),{value:`openai-responses`},{default:c(()=>[...i[22]||=[w(`OpenAI Responses`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),f(`div`,Ke,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[...i[23]||=[w(`Base URL`,-1)]]),_:1}),b(d(q),{"model-value":d(ie),readonly:``,class:`font-mono md:text-xs h-7`},null,8,[`model-value`])]),d(Z)?(_(),e(`div`,qe,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[...i[24]||=[w(`Upstream Path`,-1)]]),_:1}),b(d(q),{"model-value":d(Z),readonly:``,class:`font-mono md:text-xs h-7`},null,8,[`model-value`])])):l(``,!0)],64)),f(`div`,Je,[b(d(P),{class:`text-xs text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.apiKey`)),1)]),_:1}),b(d(q),{modelValue:d(E),"onUpdate:modelValue":i[6]||=e=>s(E)?E.value=e:null,type:`password`,placeholder:d(n)(`quickSetup.provider.apiKeyPlaceholder`),class:`md:text-xs h-7`},null,8,[`modelValue`,`placeholder`])]),f(`div`,Ye,[b(d(P),{class:`text-xs text-muted-foreground invisible`},{default:c(()=>[w(m(d(n)(`quickSetup.provider.connect`)),1)]),_:1}),b(d(y),{variant:`outline`,size:`sm`,disabled:d(Y)===`testing`,onClick:d(Ee)},{default:c(()=>[d(Y)===`testing`?(_(),e(S,{key:0},[i[25]||=f(`svg`,{class:`w-3.5 h-3.5 mr-1 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[f(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),f(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),w(` `+m(d(n)(`quickSetup.provider.testing`)),1)],64)):d(Y)===`ok`?(_(),e(S,{key:1},[w(m(d(n)(`quickSetup.provider.connected`)),1)],64)):(_(),e(S,{key:2},[w(m(d(n)(`quickSetup.provider.test`)),1)],64))]),_:1},8,[`disabled`,`onClick`])])]),f(`div`,Xe,[f(`div`,Ze,[f(`span`,Qe,m(d(n)(`quickSetup.model.config`)),1),b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m($.value)+`/`+m(d(D).length),1)]),_:1})]),d(D).length===0?(_(),e(`p`,$e,m(d(n)(`quickSetup.model.selectProviderFirst`)),1)):(_(),e(`div`,et,[(_(!0),e(S,null,g(d(D),(e,t)=>(_(),h(k,{key:e.name,model:e,"api-type":d(T),"is-deep-seek":e.name.toLowerCase().includes(`deepseek`),"is-non-openai-endpoint":d(oe),capabilities:e.capabilities??[`text`],"stream-timeout-ms":e.stream_timeout_ms??void 0,"onUpdate:model":e=>Me(t,e),onRemove:e=>yt(t),"onUpdate:streamTimeoutMs":e=>bt(t,e),onToggleCapability:e=>xt(t,e)},null,8,[`model`,`api-type`,`is-deep-seek`,`is-non-openai-endpoint`,`capabilities`,`stream-timeout-ms`,`onUpdate:model`,`onRemove`,`onUpdate:streamTimeoutMs`,`onToggleCapability`]))),128))])),d(se)?(_(),e(`div`,tt,[b(d(q),{modelValue:Q.value,"onUpdate:modelValue":i[7]||=e=>Q.value=e,placeholder:d(n)(`quickSetup.model.namePlaceholder`),onKeydown:r(a(Ae,[`prevent`]),[`enter`]),class:`flex-1 md:text-xs h-7`},null,8,[`modelValue`,`placeholder`,`onKeydown`]),b(d(y),{type:`button`,variant:`outline`,size:`sm`,onClick:Ae,disabled:!Q.value.trim()},{default:c(()=>[w(m(d(n)(`common.add`)),1)]),_:1},8,[`disabled`])])):l(``,!0)]),f(`div`,nt,[f(`div`,rt,[f(`span`,it,m(d(n)(`quickSetup.concurrency.control`)),1)]),b(ne,{mode:d(le),"max-concurrency":d(ue),"queue-timeout-ms":d(de),"max-queue-size":d(fe),"onUpdate:mode":d(Te),"onUpdate:maxConcurrency":i[8]||=e=>ue.value=e,"onUpdate:queueTimeoutMs":i[9]||=e=>de.value=e,"onUpdate:maxQueueSize":i[10]||=e=>fe.value=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`,`onUpdate:mode`])])]),_:1})]),_:1}),f(`div`,at,[b(d(U),{class:`col-span-3`},{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[f(`div`,ot,[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.mapping.title`)),1)]),_:1}),b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m(d(n)(`quickSetup.mapping.count`,{count:d(O).length})),1)]),_:1})])]),_:1}),b(d(W),null,{default:c(()=>[b(Ne,{entries:d(O),"provider-groups":d(pe),"onUpdate:targets":d(be),onToggleActive:d(xe),onAdd:d(Se),onRemove:d(Ce)},null,8,[`entries`,`provider-groups`,`onUpdate:targets`,`onToggleActive`,`onAdd`,`onRemove`])]),_:1})]),_:1}),f(`div`,st,[b(d(U),null,{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[f(`div`,ct,[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.retry.title`)),1)]),_:1}),b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m(d(n)(`quickSetup.retry.selectedCount`,{count:d(F).size})),1)]),_:1})])]),_:1}),b(d(W),null,{default:c(()=>[d(M).length===0?(_(),e(`div`,lt,[d(j).length===0?(_(),e(S,{key:0},[w(m(d(n)(`quickSetup.retry.allCreated`)),1)],64)):(_(),e(S,{key:1},[w(m(d(n)(`quickSetup.retry.selectProviderFirst`)),1)],64))])):(_(),e(`div`,ut,[(_(!0),e(S,null,g(d(M),t=>(_(),e(`div`,{key:t.name,class:o([`flex items-start gap-2.5 rounded-md transition-colors`,t.exists?`opacity-60 cursor-default p-2`:`hover:bg-muted/50 cursor-pointer p-2`]),onClick:e=>!t.exists&&d(we)(t.name,!d(F).has(t.name))},[b(d(N),{checked:t.exists?!0:d(F).has(t.name),disabled:t.exists,class:`mt-0.5`,"onUpdate:checked":e=>d(we)(t.name,!!e),onClick:i[11]||=a(()=>{},[`stop`])},null,8,[`checked`,`disabled`,`onUpdate:checked`]),f(`div`,ft,[f(`div`,pt,[f(`span`,mt,m(t.name),1),t.exists?(_(),h(d(H),{key:0,variant:`secondary`,class:`text-[9px] px-1.5 py-0 leading-none bg-muted text-muted-foreground`},{default:c(()=>[w(m(d(n)(`quickSetup.retry.configured`)),1)]),_:1})):t.providers&&t.providers.length>0?(_(),h(d(H),{key:1,variant:`outline`,class:`text-[9px] px-1 py-0 leading-none`},{default:c(()=>[w(m(t.providers[0]),1)]),_:2},1024)):(_(),h(d(H),{key:2,variant:`secondary`,class:`text-[9px] px-1 py-0 leading-none`},{default:c(()=>[w(m(d(n)(`quickSetup.retry.general`)),1)]),_:1}))]),f(`div`,ht,m(t.status_code)+` · `+m(t.retry_strategy===`fixed`?d(n)(`quickSetup.retry.fixed`):d(n)(`quickSetup.retry.exponential`))+` · `+m(t.retry_delay_ms/1e3)+`s · `+m(t.max_retries)+m(d(n)(`quickSetup.retry.times`)),1)])],10,dt))),128))]))]),_:1})]),_:1}),b(d(U),null,{default:c(()=>[b(d(G),{class:`pb-3`},{default:c(()=>[b(d(K),{class:`text-sm font-medium`},{default:c(()=>[w(m(d(n)(`quickSetup.transform.title`)),1)]),_:1})]),_:1}),b(d(W),null,{default:c(()=>[b(re,{"inject-headers":d(me),"drop-fields":d(he),"request-defaults":d(ge),"onUpdate:injectHeaders":i[12]||=e=>me.value=e,"onUpdate:dropFields":i[13]||=e=>he.value=e,"onUpdate:requestDefaults":i[14]||=e=>ge.value=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])]),_:1})]),_:1})])])]),f(`div`,gt,[f(`div`,_t,[d(x)?(_(),e(S,{key:0},[b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m(je.value),1)]),_:1}),i[26]||=f(`span`,{class:`text-muted-foreground/50`},`→`,-1),b(d(H),{variant:`secondary`,class:`text-[10px]`},{default:c(()=>[w(m(d(se)?d(n)(`quickSetup.provider.custom`):d(x)),1)]),_:1})],64)):l(``,!0),$.value>0?(_(),e(S,{key:1},[i[27]||=f(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),f(`span`,null,m(d(n)(`quickSetup.footer.models`,{count:$.value})),1)],64)):l(``,!0),d(O).length>0?(_(),e(S,{key:2},[i[28]||=f(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),f(`span`,null,m(d(n)(`quickSetup.footer.mappings`,{count:d(O).length})),1)],64)):l(``,!0),d(F).size>0?(_(),e(S,{key:3},[i[29]||=f(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),f(`span`,null,m(d(n)(`quickSetup.footer.rules`,{count:d(F).size})),1)],64)):l(``,!0)]),f(`div`,vt,[b(d(y),{size:`sm`,variant:`outline`,onClick:St},{default:c(()=>[w(m(d(n)(`quickSetup.footer.validate`)),1)]),_:1}),b(d(y),{size:`sm`,disabled:d(J),onClick:d(Oe)},{default:c(()=>[d(J)?(_(),e(S,{key:0},[i[30]||=f(`svg`,{class:`w-3.5 h-3.5 mr-1 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[f(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),f(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),w(` `+m(d(n)(`quickSetup.footer.saving`)),1)],64)):(_(),e(S,{key:1},[w(m(d(n)(`quickSetup.footer.saveConfig`)),1)],64))]),_:1},8,[`disabled`,`onClick`])])])],64))}});export{yt as default};
@@ -1 +1 @@
1
- import{$ as e,A as t,It as n,K as r,Kt as ee,Ot as i,Q as a,V as te,Wt as o,X as s,Y as ne,Yt as c,Z as l,_t as u,ht as d,k as f,n as p,nt as m,pt as h,q as g,rt as re,tt as _}from"./button-CSFUPP0s.js";import{t as v}from"./Checkbox-BqTMZz2v.js";import{n as ie,t as ae}from"./CollapsibleContent-96COn5t_.js";import{t as oe}from"./CollapsibleTrigger-BhoqUmdk.js";import{a as se,c as y,d as b,f as x,l as S,n as ce,o as le,r as ue,s as C,t as de,u as w}from"./dialog-Dvd1Jkzx.js";import{t as T}from"./Label-67a8eQwX.js";import{_ as fe,a as pe,c as me,f as he,ft as ge,g as _e,h as E,i as D,l as ve,m as ye,o as O,p as k,s as A,u as j,x as M}from"./index-BXsU7o6J.js";import{n as N,t as P}from"./CardContent-B88j9H0z.js";import{n as be,t as xe}from"./CardTitle-B8a97nPD.js";import{t as F}from"./Input-Bu0i-HPR.js";var Se={class:`p-6`},I={class:`flex items-center justify-between mb-4`},Ce={class:`text-lg font-semibold text-foreground`},we={class:`bg-card rounded-lg border overflow-hidden`},Te={class:`flex items-center gap-2`},Ee={class:`text-xs text-muted-foreground`},De={key:0,class:`text-sm text-destructive mt-1`},Oe={key:0,class:`text-sm text-destructive mt-1`},ke={key:0,class:`text-sm text-destructive mt-1`},Ae={class:`grid grid-cols-2 gap-3`},je={key:0,class:`text-sm text-destructive mt-1`},Me={key:0,class:`text-sm text-destructive mt-1`},Ne={key:0},Pe={key:0,class:`text-sm text-destructive mt-1`},Fe={class:`flex items-center gap-2`},Ie={class:`flex items-center justify-between`},Le={class:`flex items-center justify-between mb-3`},Re={class:`flex items-center gap-2`},ze={class:`text-sm text-muted-foreground`},L=100,R=599,z=100,B=100,V=re({__name:`RetryRules`,setup(re){let{t:V}=te(),H={name:``,status_code:429,body_pattern:``,is_active:!0,retry_strategy:`exponential`,retry_delay_ms:5e3,max_retries:10,max_delay_ms:6e4},U=n([]),W=n(!1),G=n(null),K=n(null),q=n({...H}),J=n({});function Be(){let e={};q.value.name.trim()||(e.name=V(`retryRules.validation.nameRequired`));let t=Number(q.value.status_code);if((!Number.isInteger(t)||t<L||t>R)&&(e.status_code=V(`retryRules.validation.statusCodeRange`,{min:L,max:R})),!q.value.body_pattern.trim())e.body_pattern=V(`retryRules.validation.bodyPatternRequired`);else try{new RegExp(q.value.body_pattern)}catch{e.body_pattern=V(`retryRules.validation.bodyPatternInvalid`)}let n=Number(q.value.retry_delay_ms);(!n||n<z)&&(e.retry_delay_ms=V(`retryRules.validation.delayMin`,{min:z}));let r=Number(q.value.max_retries);if((!Number.isInteger(r)||r<0||r>B)&&(e.max_retries=V(`retryRules.validation.retriesRange`,{max:B})),q.value.retry_strategy===`exponential`){let t=Number(q.value.max_delay_ms);(!t||t<z)&&(e.max_delay_ms=V(`retryRules.validation.delayMin`,{min:z}))}return J.value=e,Object.keys(e).length===0}async function Y(){try{U.value=await f.getRetryRules()}catch(e){console.error(`Failed to load retry rules:`,e),D.error(t(e,V(`retryRules.messages.loadFailed`)))}}function Ve(){G.value=null,q.value={...H},J.value={},W.value=!0}function He(e){G.value=e.id,q.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},J.value={},W.value=!0}async function Ue(){if(Be())try{let e={name:q.value.name,status_code:Number(q.value.status_code),body_pattern:q.value.body_pattern,is_active:+!!q.value.is_active,retry_strategy:q.value.retry_strategy,retry_delay_ms:Number(q.value.retry_delay_ms),max_retries:Number(q.value.max_retries),max_delay_ms:Number(q.value.max_delay_ms)};G.value?await f.updateRetryRule(G.value,e):await f.createRetryRule(e),W.value=!1,await Y()}catch(e){console.error(`Failed to save retry rule:`,e),D.error(t(e,V(`retryRules.messages.saveFailed`)))}}function We(e){K.value=e}async function Ge(){let e=K.value;if(e){K.value=null;try{await f.deleteRetryRule(e.id),await Y()}catch(e){console.error(`Failed to delete retry rule:`,e),D.error(t(e,V(`retryRules.messages.deleteFailed`)))}}}let X=n(!1),Z=n([]),Q=n(new Set),Ke=ne(()=>Z.value.length>0&&Q.value.size===Z.value.length);async function $(){try{Z.value=await f.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 f.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});D.success(V(`retryRules.messages.addedCount`,{count:e.length})),Q.value=new Set,await Promise.allSettled([$(),Y()])}return h(()=>{Y(),$()}),(t,n)=>(d(),e(`div`,Se,[s(`div`,I,[s(`h2`,Ce,c(o(V)(`retryRules.title`)),1),m(o(p),{onClick:Ve,class:`flex items-center gap-1`},{default:i(()=>[n[18]||=s(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[s(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),_(` `+c(o(V)(`retryRules.addRule`)),1)]),_:1})]),s(`div`,we,[m(o(x),null,{default:i(()=>[m(o(C),null,{default:i(()=>[m(o(S),{class:`bg-muted`},{default:i(()=>[m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.name`)),1)]),_:1}),m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.statusCode`)),1)]),_:1}),m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.bodyPattern`)),1)]),_:1}),m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.retryStrategy`)),1)]),_:1}),m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.status`)),1)]),_:1}),m(o(y),{class:`text-right text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),m(o(b),null,{default:i(()=>[(d(!0),e(g,null,u(U.value,t=>(d(),l(o(S),{key:t.id},{default:i(()=>[m(o(w),{class:`font-mono text-sm`},{default:i(()=>[_(c(t.name),1)]),_:2},1024),m(o(w),null,{default:i(()=>[_(c(t.status_code),1)]),_:2},1024),m(o(w),{class:`font-mono text-xs text-muted-foreground`},{default:i(()=>[_(c(t.body_pattern),1)]),_:2},1024),m(o(w),null,{default:i(()=>[s(`div`,Te,[m(o(M),{variant:`outline`},{default:i(()=>[_(c(t.retry_strategy===`fixed`?o(V)(`retryRules.strategy.fixed`):o(V)(`retryRules.strategy.exponential`)),1)]),_:2},1024),s(`span`,Ee,[_(c(t.retry_delay_ms/1e3)+`s · `+c(o(V)(`retryRules.times`,{count:t.max_retries}))+` `,1),t.retry_strategy===`exponential`?(d(),e(g,{key:0},[_(` · `+c(o(V)(`retryRules.upperLimit`,{value:t.max_delay_ms/1e3})),1)],64)):a(``,!0)])])]),_:2},1024),m(o(w),null,{default:i(()=>[m(o(M),{variant:t.is_active?`default`:`secondary`},{default:i(()=>[_(c(t.is_active?o(V)(`common.enabled`):o(V)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),m(o(w),{class:`text-right`},{default:i(()=>[m(o(p),{variant:`ghost`,size:`sm`,onClick:e=>He(t),class:`mr-2`},{default:i(()=>[_(c(o(V)(`common.edit`)),1)]),_:1},8,[`onClick`]),m(o(p),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>We(t)},{default:i(()=>[_(c(o(V)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024))),128)),U.value.length===0?(d(),l(o(S),{key:0},{default:i(()=>[m(o(w),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:i(()=>[_(c(o(V)(`retryRules.noRules`)),1)]),_:1})]),_:1})):a(``,!0)]),_:1})]),_:1})]),m(o(le),{open:W.value,"onUpdate:open":n[15]||=e=>W.value=e},{default:i(()=>[m(o(se),null,{default:i(()=>[m(o(ce),null,{default:i(()=>[m(o(de),null,{default:i(()=>[_(c(G.value?o(V)(`retryRules.dialog.editRule`):o(V)(`retryRules.dialog.addRule`)),1)]),_:1})]),_:1}),s(`form`,{onSubmit:r(Ue,[`prevent`]),class:`space-y-3`},[s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.name`)),1)]),_:1}),m(o(F),{modelValue:q.value.name,"onUpdate:modelValue":n[0]||=e=>q.value.name=e,type:`text`,required:``,onInput:n[1]||=e=>delete J.value.name},null,8,[`modelValue`]),J.value.name?(d(),e(`p`,De,c(J.value.name),1)):a(``,!0)]),s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.statusCode`)),1)]),_:1}),m(o(F),{modelValue:q.value.status_code,"onUpdate:modelValue":n[2]||=e=>q.value.status_code=e,modelModifiers:{number:!0},type:`number`,required:``,onInput:n[3]||=e=>delete J.value.status_code},null,8,[`modelValue`]),J.value.status_code?(d(),e(`p`,Oe,c(J.value.status_code),1)):a(``,!0)]),s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.bodyPattern`)),1)]),_:1}),m(o(F),{modelValue:q.value.body_pattern,"onUpdate:modelValue":n[4]||=e=>q.value.body_pattern=e,type:`text`,placeholder:o(V)(`retryRules.dialog.bodyPatternPlaceholder`),required:``,onInput:n[5]||=e=>delete J.value.body_pattern},null,8,[`modelValue`,`placeholder`]),J.value.body_pattern?(d(),e(`p`,ke,c(J.value.body_pattern),1)):a(``,!0)]),s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.retryStrategy`)),1)]),_:1}),m(o(fe),{modelValue:q.value.retry_strategy,"onUpdate:modelValue":n[6]||=e=>q.value.retry_strategy=e},{default:i(()=>[m(o(ye),{class:`w-full`},{default:i(()=>[m(o(k),{placeholder:o(V)(`retryRules.dialog.selectStrategy`)},null,8,[`placeholder`])]),_:1}),m(o(_e),null,{default:i(()=>[m(o(E),{value:`exponential`},{default:i(()=>[_(c(o(V)(`retryRules.strategy.exponential`)),1)]),_:1}),m(o(E),{value:`fixed`},{default:i(()=>[_(c(o(V)(`retryRules.strategy.fixed`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),s(`div`,Ae,[s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(q.value.retry_strategy===`fixed`?o(V)(`retryRules.dialog.intervalMs`):o(V)(`retryRules.dialog.initialDelayMs`)),1)]),_:1}),m(o(F),{modelValue:q.value.retry_delay_ms,"onUpdate:modelValue":n[7]||=e=>q.value.retry_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:n[8]||=e=>delete J.value.retry_delay_ms},null,8,[`modelValue`]),J.value.retry_delay_ms?(d(),e(`p`,je,c(J.value.retry_delay_ms),1)):a(``,!0)]),s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.maxRetries`)),1)]),_:1}),m(o(F),{modelValue:q.value.max_retries,"onUpdate:modelValue":n[9]||=e=>q.value.max_retries=e,modelModifiers:{number:!0},type:`number`,min:0,max:100,required:``,onInput:n[10]||=e=>delete J.value.max_retries},null,8,[`modelValue`]),J.value.max_retries?(d(),e(`p`,Me,c(J.value.max_retries),1)):a(``,!0)])]),q.value.retry_strategy===`exponential`?(d(),e(`div`,Ne,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.maxDelayMs`)),1)]),_:1}),m(o(F),{modelValue:q.value.max_delay_ms,"onUpdate:modelValue":n[11]||=e=>q.value.max_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:n[12]||=e=>delete J.value.max_delay_ms},null,8,[`modelValue`]),J.value.max_delay_ms?(d(),e(`p`,Pe,c(J.value.max_delay_ms),1)):a(``,!0)])):a(``,!0),s(`div`,Fe,[m(o(v),{modelValue:q.value.is_active,"onUpdate:modelValue":n[13]||=e=>q.value.is_active=e,id:`rule-active`},null,8,[`modelValue`]),m(o(T),{for:`rule-active`,class:`text-sm text-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.enable`)),1)]),_:1})]),m(o(ue),null,{default:i(()=>[m(o(p),{type:`button`,variant:`outline`,onClick:n[14]||=e=>W.value=!1},{default:i(()=>[_(c(o(V)(`common.cancel`)),1)]),_:1}),m(o(p),{type:`submit`},{default:i(()=>[_(c(o(V)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),m(o(he),{open:!!K.value,"onUpdate:open":n[16]||=e=>{e||(K.value=null)}},{default:i(()=>[m(o(ve),null,{default:i(()=>[m(o(O),null,{default:i(()=>[m(o(pe),null,{default:i(()=>[_(c(o(V)(`retryRules.deleteConfirm.title`)),1)]),_:1}),m(o(me),null,{default:i(()=>[_(c(o(V)(`retryRules.deleteConfirm.description`,{name:K.value?.name})),1)]),_:1})]),_:1}),m(o(A),null,{default:i(()=>[m(o(j),null,{default:i(()=>[_(c(o(V)(`common.cancel`)),1)]),_:1}),m(o(p),{variant:`destructive`,onClick:Ge},{default:i(()=>[_(c(o(V)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),Z.value.length>0?(d(),l(o(N),{key:0,class:`mt-6`},{default:i(()=>[m(o(ie),{open:X.value,"onUpdate:open":n[17]||=e=>X.value=e},{default:i(()=>[m(o(oe),{"as-child":``},{default:i(()=>[m(o(be),{class:`cursor-pointer hover:bg-muted/50 transition-colors`},{default:i(()=>[s(`div`,Ie,[m(o(xe),{class:`text-sm font-medium`},{default:i(()=>[_(c(o(V)(`retryRules.recommended.title`,{count:Z.value.length})),1)]),_:1}),m(o(ge),{class:ee([`h-4 w-4 text-muted-foreground transition-transform`,{"rotate-180":X.value}])},null,8,[`class`])])]),_:1})]),_:1}),m(o(ae),null,{default:i(()=>[m(o(P),null,{default:i(()=>[s(`div`,Le,[s(`div`,Re,[m(o(v),{"model-value":Ke.value,"onUpdate:modelValue":Je},null,8,[`model-value`]),s(`span`,ze,c(o(V)(`retryRules.recommended.selectAll`)),1)]),m(o(p),{size:`sm`,disabled:Q.value.size===0,onClick:Ye},{default:i(()=>[_(c(o(V)(`retryRules.recommended.addSelected`,{count:Q.value.size})),1)]),_:1},8,[`disabled`])]),m(o(x),null,{default:i(()=>[m(o(C),null,{default:i(()=>[m(o(S),null,{default:i(()=>[m(o(y),{class:`w-10`}),m(o(y),null,{default:i(()=>[_(c(o(V)(`retryRules.recommended.headers.name`)),1)]),_:1}),m(o(y),null,{default:i(()=>[_(c(o(V)(`retryRules.recommended.headers.statusCode`)),1)]),_:1}),m(o(y),null,{default:i(()=>[_(c(o(V)(`retryRules.recommended.headers.pattern`)),1)]),_:1}),m(o(y),null,{default:i(()=>[_(c(o(V)(`retryRules.recommended.headers.strategy`)),1)]),_:1})]),_:1})]),_:1}),m(o(b),null,{default:i(()=>[(d(!0),e(g,null,u(Z.value,e=>(d(),l(o(S),{key:e.name},{default:i(()=>[m(o(w),null,{default:i(()=>[m(o(v),{"model-value":Q.value.has(e.name),"onUpdate:modelValue":()=>qe(e.name)},null,8,[`model-value`,`onUpdate:modelValue`])]),_:2},1024),m(o(w),null,{default:i(()=>[_(c(e.name),1)]),_:2},1024),m(o(w),null,{default:i(()=>[_(c(e.status_code),1)]),_:2},1024),m(o(w),{class:`font-mono text-xs max-w-[200px] truncate`},{default:i(()=>[_(c(e.body_pattern),1)]),_:2},1024),m(o(w),null,{default:i(()=>[_(c(e.retry_strategy===`fixed`?o(V)(`retryRules.strategy.fixed`):o(V)(`retryRules.strategy.exponential`)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]),_:1})):a(``,!0)]))}});export{V as default};
1
+ import{$ as e,A as t,It as n,K as r,Kt as ee,Ot as i,Q as a,V as te,Wt as o,X as s,Y as ne,Yt as c,Z as l,_t as u,ht as d,k as f,n as p,nt as m,pt as h,q as g,rt as re,tt as _}from"./button-BaNRw0cF.js";import{t as v}from"./Checkbox-BcnVK5BE.js";import{n as ie,t as ae}from"./CollapsibleContent-CMuY_0ps.js";import{t as oe}from"./CollapsibleTrigger-KRXgNeSC.js";import{a as se,c as y,d as b,f as x,l as S,n as ce,o as le,r as ue,s as C,t as de,u as w}from"./dialog-D_OkVkI9.js";import{t as T}from"./Label-_o2ZnCRD.js";import{_ as fe,a as pe,c as me,f as he,ft as ge,g as _e,h as E,i as D,l as ve,m as ye,o as O,p as k,s as A,u as j,x as M}from"./index-COoySiAr.js";import{n as N,t as P}from"./CardContent-POdM9knm.js";import{n as be,t as xe}from"./CardTitle-mi00cvHk.js";import{t as F}from"./Input-CQAFlthI.js";var Se={class:`p-6`},I={class:`flex items-center justify-between mb-4`},Ce={class:`text-lg font-semibold text-foreground`},we={class:`bg-card rounded-lg border overflow-hidden`},Te={class:`flex items-center gap-2`},Ee={class:`text-xs text-muted-foreground`},De={key:0,class:`text-sm text-destructive mt-1`},Oe={key:0,class:`text-sm text-destructive mt-1`},ke={key:0,class:`text-sm text-destructive mt-1`},Ae={class:`grid grid-cols-2 gap-3`},je={key:0,class:`text-sm text-destructive mt-1`},Me={key:0,class:`text-sm text-destructive mt-1`},Ne={key:0},Pe={key:0,class:`text-sm text-destructive mt-1`},Fe={class:`flex items-center gap-2`},Ie={class:`flex items-center justify-between`},Le={class:`flex items-center justify-between mb-3`},Re={class:`flex items-center gap-2`},ze={class:`text-sm text-muted-foreground`},L=100,R=599,z=100,B=100,V=re({__name:`RetryRules`,setup(re){let{t:V}=te(),H={name:``,status_code:429,body_pattern:``,is_active:!0,retry_strategy:`exponential`,retry_delay_ms:5e3,max_retries:10,max_delay_ms:6e4},U=n([]),W=n(!1),G=n(null),K=n(null),q=n({...H}),J=n({});function Be(){let e={};q.value.name.trim()||(e.name=V(`retryRules.validation.nameRequired`));let t=Number(q.value.status_code);if((!Number.isInteger(t)||t<L||t>R)&&(e.status_code=V(`retryRules.validation.statusCodeRange`,{min:L,max:R})),!q.value.body_pattern.trim())e.body_pattern=V(`retryRules.validation.bodyPatternRequired`);else try{new RegExp(q.value.body_pattern)}catch{e.body_pattern=V(`retryRules.validation.bodyPatternInvalid`)}let n=Number(q.value.retry_delay_ms);(!n||n<z)&&(e.retry_delay_ms=V(`retryRules.validation.delayMin`,{min:z}));let r=Number(q.value.max_retries);if((!Number.isInteger(r)||r<0||r>B)&&(e.max_retries=V(`retryRules.validation.retriesRange`,{max:B})),q.value.retry_strategy===`exponential`){let t=Number(q.value.max_delay_ms);(!t||t<z)&&(e.max_delay_ms=V(`retryRules.validation.delayMin`,{min:z}))}return J.value=e,Object.keys(e).length===0}async function Y(){try{U.value=await f.getRetryRules()}catch(e){console.error(`Failed to load retry rules:`,e),D.error(t(e,V(`retryRules.messages.loadFailed`)))}}function Ve(){G.value=null,q.value={...H},J.value={},W.value=!0}function He(e){G.value=e.id,q.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},J.value={},W.value=!0}async function Ue(){if(Be())try{let e={name:q.value.name,status_code:Number(q.value.status_code),body_pattern:q.value.body_pattern,is_active:+!!q.value.is_active,retry_strategy:q.value.retry_strategy,retry_delay_ms:Number(q.value.retry_delay_ms),max_retries:Number(q.value.max_retries),max_delay_ms:Number(q.value.max_delay_ms)};G.value?await f.updateRetryRule(G.value,e):await f.createRetryRule(e),W.value=!1,await Y()}catch(e){console.error(`Failed to save retry rule:`,e),D.error(t(e,V(`retryRules.messages.saveFailed`)))}}function We(e){K.value=e}async function Ge(){let e=K.value;if(e){K.value=null;try{await f.deleteRetryRule(e.id),await Y()}catch(e){console.error(`Failed to delete retry rule:`,e),D.error(t(e,V(`retryRules.messages.deleteFailed`)))}}}let X=n(!1),Z=n([]),Q=n(new Set),Ke=ne(()=>Z.value.length>0&&Q.value.size===Z.value.length);async function $(){try{Z.value=await f.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 f.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});D.success(V(`retryRules.messages.addedCount`,{count:e.length})),Q.value=new Set,await Promise.allSettled([$(),Y()])}return h(()=>{Y(),$()}),(t,n)=>(d(),e(`div`,Se,[s(`div`,I,[s(`h2`,Ce,c(o(V)(`retryRules.title`)),1),m(o(p),{onClick:Ve,class:`flex items-center gap-1`},{default:i(()=>[n[18]||=s(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[s(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),_(` `+c(o(V)(`retryRules.addRule`)),1)]),_:1})]),s(`div`,we,[m(o(x),null,{default:i(()=>[m(o(C),null,{default:i(()=>[m(o(S),{class:`bg-muted`},{default:i(()=>[m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.name`)),1)]),_:1}),m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.statusCode`)),1)]),_:1}),m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.bodyPattern`)),1)]),_:1}),m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.retryStrategy`)),1)]),_:1}),m(o(y),{class:`text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.status`)),1)]),_:1}),m(o(y),{class:`text-right text-muted-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),m(o(b),null,{default:i(()=>[(d(!0),e(g,null,u(U.value,t=>(d(),l(o(S),{key:t.id},{default:i(()=>[m(o(w),{class:`font-mono text-sm`},{default:i(()=>[_(c(t.name),1)]),_:2},1024),m(o(w),null,{default:i(()=>[_(c(t.status_code),1)]),_:2},1024),m(o(w),{class:`font-mono text-xs text-muted-foreground`},{default:i(()=>[_(c(t.body_pattern),1)]),_:2},1024),m(o(w),null,{default:i(()=>[s(`div`,Te,[m(o(M),{variant:`outline`},{default:i(()=>[_(c(t.retry_strategy===`fixed`?o(V)(`retryRules.strategy.fixed`):o(V)(`retryRules.strategy.exponential`)),1)]),_:2},1024),s(`span`,Ee,[_(c(t.retry_delay_ms/1e3)+`s · `+c(o(V)(`retryRules.times`,{count:t.max_retries}))+` `,1),t.retry_strategy===`exponential`?(d(),e(g,{key:0},[_(` · `+c(o(V)(`retryRules.upperLimit`,{value:t.max_delay_ms/1e3})),1)],64)):a(``,!0)])])]),_:2},1024),m(o(w),null,{default:i(()=>[m(o(M),{variant:t.is_active?`default`:`secondary`},{default:i(()=>[_(c(t.is_active?o(V)(`common.enabled`):o(V)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),m(o(w),{class:`text-right`},{default:i(()=>[m(o(p),{variant:`ghost`,size:`sm`,onClick:e=>He(t),class:`mr-2`},{default:i(()=>[_(c(o(V)(`common.edit`)),1)]),_:1},8,[`onClick`]),m(o(p),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>We(t)},{default:i(()=>[_(c(o(V)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024))),128)),U.value.length===0?(d(),l(o(S),{key:0},{default:i(()=>[m(o(w),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:i(()=>[_(c(o(V)(`retryRules.noRules`)),1)]),_:1})]),_:1})):a(``,!0)]),_:1})]),_:1})]),m(o(le),{open:W.value,"onUpdate:open":n[15]||=e=>W.value=e},{default:i(()=>[m(o(se),null,{default:i(()=>[m(o(ce),null,{default:i(()=>[m(o(de),null,{default:i(()=>[_(c(G.value?o(V)(`retryRules.dialog.editRule`):o(V)(`retryRules.dialog.addRule`)),1)]),_:1})]),_:1}),s(`form`,{onSubmit:r(Ue,[`prevent`]),class:`space-y-3`},[s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.name`)),1)]),_:1}),m(o(F),{modelValue:q.value.name,"onUpdate:modelValue":n[0]||=e=>q.value.name=e,type:`text`,required:``,onInput:n[1]||=e=>delete J.value.name},null,8,[`modelValue`]),J.value.name?(d(),e(`p`,De,c(J.value.name),1)):a(``,!0)]),s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.statusCode`)),1)]),_:1}),m(o(F),{modelValue:q.value.status_code,"onUpdate:modelValue":n[2]||=e=>q.value.status_code=e,modelModifiers:{number:!0},type:`number`,required:``,onInput:n[3]||=e=>delete J.value.status_code},null,8,[`modelValue`]),J.value.status_code?(d(),e(`p`,Oe,c(J.value.status_code),1)):a(``,!0)]),s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.bodyPattern`)),1)]),_:1}),m(o(F),{modelValue:q.value.body_pattern,"onUpdate:modelValue":n[4]||=e=>q.value.body_pattern=e,type:`text`,placeholder:o(V)(`retryRules.dialog.bodyPatternPlaceholder`),required:``,onInput:n[5]||=e=>delete J.value.body_pattern},null,8,[`modelValue`,`placeholder`]),J.value.body_pattern?(d(),e(`p`,ke,c(J.value.body_pattern),1)):a(``,!0)]),s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.retryStrategy`)),1)]),_:1}),m(o(fe),{modelValue:q.value.retry_strategy,"onUpdate:modelValue":n[6]||=e=>q.value.retry_strategy=e},{default:i(()=>[m(o(ye),{class:`w-full`},{default:i(()=>[m(o(k),{placeholder:o(V)(`retryRules.dialog.selectStrategy`)},null,8,[`placeholder`])]),_:1}),m(o(_e),null,{default:i(()=>[m(o(E),{value:`exponential`},{default:i(()=>[_(c(o(V)(`retryRules.strategy.exponential`)),1)]),_:1}),m(o(E),{value:`fixed`},{default:i(()=>[_(c(o(V)(`retryRules.strategy.fixed`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),s(`div`,Ae,[s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(q.value.retry_strategy===`fixed`?o(V)(`retryRules.dialog.intervalMs`):o(V)(`retryRules.dialog.initialDelayMs`)),1)]),_:1}),m(o(F),{modelValue:q.value.retry_delay_ms,"onUpdate:modelValue":n[7]||=e=>q.value.retry_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:n[8]||=e=>delete J.value.retry_delay_ms},null,8,[`modelValue`]),J.value.retry_delay_ms?(d(),e(`p`,je,c(J.value.retry_delay_ms),1)):a(``,!0)]),s(`div`,null,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.maxRetries`)),1)]),_:1}),m(o(F),{modelValue:q.value.max_retries,"onUpdate:modelValue":n[9]||=e=>q.value.max_retries=e,modelModifiers:{number:!0},type:`number`,min:0,max:100,required:``,onInput:n[10]||=e=>delete J.value.max_retries},null,8,[`modelValue`]),J.value.max_retries?(d(),e(`p`,Me,c(J.value.max_retries),1)):a(``,!0)])]),q.value.retry_strategy===`exponential`?(d(),e(`div`,Ne,[m(o(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.maxDelayMs`)),1)]),_:1}),m(o(F),{modelValue:q.value.max_delay_ms,"onUpdate:modelValue":n[11]||=e=>q.value.max_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:n[12]||=e=>delete J.value.max_delay_ms},null,8,[`modelValue`]),J.value.max_delay_ms?(d(),e(`p`,Pe,c(J.value.max_delay_ms),1)):a(``,!0)])):a(``,!0),s(`div`,Fe,[m(o(v),{modelValue:q.value.is_active,"onUpdate:modelValue":n[13]||=e=>q.value.is_active=e,id:`rule-active`},null,8,[`modelValue`]),m(o(T),{for:`rule-active`,class:`text-sm text-foreground`},{default:i(()=>[_(c(o(V)(`retryRules.dialog.enable`)),1)]),_:1})]),m(o(ue),null,{default:i(()=>[m(o(p),{type:`button`,variant:`outline`,onClick:n[14]||=e=>W.value=!1},{default:i(()=>[_(c(o(V)(`common.cancel`)),1)]),_:1}),m(o(p),{type:`submit`},{default:i(()=>[_(c(o(V)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),m(o(he),{open:!!K.value,"onUpdate:open":n[16]||=e=>{e||(K.value=null)}},{default:i(()=>[m(o(ve),null,{default:i(()=>[m(o(O),null,{default:i(()=>[m(o(pe),null,{default:i(()=>[_(c(o(V)(`retryRules.deleteConfirm.title`)),1)]),_:1}),m(o(me),null,{default:i(()=>[_(c(o(V)(`retryRules.deleteConfirm.description`,{name:K.value?.name})),1)]),_:1})]),_:1}),m(o(A),null,{default:i(()=>[m(o(j),null,{default:i(()=>[_(c(o(V)(`common.cancel`)),1)]),_:1}),m(o(p),{variant:`destructive`,onClick:Ge},{default:i(()=>[_(c(o(V)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),Z.value.length>0?(d(),l(o(N),{key:0,class:`mt-6`},{default:i(()=>[m(o(ie),{open:X.value,"onUpdate:open":n[17]||=e=>X.value=e},{default:i(()=>[m(o(oe),{"as-child":``},{default:i(()=>[m(o(be),{class:`cursor-pointer hover:bg-muted/50 transition-colors`},{default:i(()=>[s(`div`,Ie,[m(o(xe),{class:`text-sm font-medium`},{default:i(()=>[_(c(o(V)(`retryRules.recommended.title`,{count:Z.value.length})),1)]),_:1}),m(o(ge),{class:ee([`h-4 w-4 text-muted-foreground transition-transform`,{"rotate-180":X.value}])},null,8,[`class`])])]),_:1})]),_:1}),m(o(ae),null,{default:i(()=>[m(o(P),null,{default:i(()=>[s(`div`,Le,[s(`div`,Re,[m(o(v),{"model-value":Ke.value,"onUpdate:modelValue":Je},null,8,[`model-value`]),s(`span`,ze,c(o(V)(`retryRules.recommended.selectAll`)),1)]),m(o(p),{size:`sm`,disabled:Q.value.size===0,onClick:Ye},{default:i(()=>[_(c(o(V)(`retryRules.recommended.addSelected`,{count:Q.value.size})),1)]),_:1},8,[`disabled`])]),m(o(x),null,{default:i(()=>[m(o(C),null,{default:i(()=>[m(o(S),null,{default:i(()=>[m(o(y),{class:`w-10`}),m(o(y),null,{default:i(()=>[_(c(o(V)(`retryRules.recommended.headers.name`)),1)]),_:1}),m(o(y),null,{default:i(()=>[_(c(o(V)(`retryRules.recommended.headers.statusCode`)),1)]),_:1}),m(o(y),null,{default:i(()=>[_(c(o(V)(`retryRules.recommended.headers.pattern`)),1)]),_:1}),m(o(y),null,{default:i(()=>[_(c(o(V)(`retryRules.recommended.headers.strategy`)),1)]),_:1})]),_:1})]),_:1}),m(o(b),null,{default:i(()=>[(d(!0),e(g,null,u(Z.value,e=>(d(),l(o(S),{key:e.name},{default:i(()=>[m(o(w),null,{default:i(()=>[m(o(v),{"model-value":Q.value.has(e.name),"onUpdate:modelValue":()=>qe(e.name)},null,8,[`model-value`,`onUpdate:modelValue`])]),_:2},1024),m(o(w),null,{default:i(()=>[_(c(e.name),1)]),_:2},1024),m(o(w),null,{default:i(()=>[_(c(e.status_code),1)]),_:2},1024),m(o(w),{class:`font-mono text-xs max-w-[200px] truncate`},{default:i(()=>[_(c(e.body_pattern),1)]),_:2},1024),m(o(w),null,{default:i(()=>[_(c(e.retry_strategy===`fixed`?o(V)(`retryRules.strategy.fixed`):o(V)(`retryRules.strategy.exponential`)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]),_:1})):a(``,!0)]))}});export{V as default};
@@ -1 +1 @@
1
- import{$ as e,A as t,It as n,K as ee,Kt as te,Ot as r,Q as i,V as a,Wt as o,X as s,Yt as c,Z as l,_t as u,ht as d,k as f,n as p,nt as m,pt as h,q as g,rt as ne,tt as _}from"./button-CSFUPP0s.js";import{t as v}from"./Checkbox-BqTMZz2v.js";import{a as y,c as b,d as re,f as ie,l as x,n as ae,o as oe,r as se,s as ce,t as le,u as S}from"./dialog-Dvd1Jkzx.js";import{t as C}from"./Label-67a8eQwX.js";import{a as ue,c as w,f as T,gt as E,i as D,l as O,o as k,s as A,u as j,x as M}from"./index-BXsU7o6J.js";import{t as N}from"./Input-Bu0i-HPR.js";import{t as P}from"./useClipboard-Bk__77zn.js";var F={class:`p-6`},I={class:`flex items-center justify-between mb-4`},L={class:`text-lg font-semibold text-foreground`},R={class:`bg-card rounded-lg border overflow-hidden`},z={class:`flex items-center gap-1`},B={class:`font-mono text-xs text-muted-foreground`},V={key:0,class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},H={key:1,class:`w-3.5 h-3.5 text-success`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},U={key:0,class:`flex flex-wrap gap-1`},de={key:0,class:`text-sm text-destructive mt-1`},fe={class:`text-xs text-muted-foreground mb-2`},pe={class:`border rounded-md p-3 max-h-48 overflow-y-auto space-y-2 bg-muted`},me={class:`font-mono text-xs`},he={key:0,class:`text-muted-foreground text-sm text-center py-2`},ge={key:0,class:`flex flex-wrap gap-1 mt-2`},_e={key:0,class:`flex items-center gap-2`},W=ne({__name:`RouterKeys`,setup(ne){let{t:W}=a(),G={name:``,allowed_models:[],is_active:!0},K=n([]),q=n([]),J=n(!1),Y=n(null),X=n(null),Z=n({...G,allowed_models:[]}),Q=n({}),{copied:ve,copy:ye}=P();function be(e){return e?e.slice(0,7)+`*`.repeat(7):``}function xe(e){return E(e)}function Se(e){let t=Z.value.allowed_models.indexOf(e);t>=0&&Z.value.allowed_models.splice(t,1)}async function $(){try{let[e,t]=await Promise.allSettled([f.getRouterKeys(),f.getAvailableModels()]);e.status===`fulfilled`&&(K.value=e.value),t.status===`fulfilled`&&(q.value=t.value)}catch(e){console.error(`Failed to load data:`,e),D.error(t(e,W(`routerKeys.loadFailed`)))}}function Ce(){Y.value=null,Z.value={...G,allowed_models:[]},Q.value={},J.value=!0}function we(e){Y.value=e.id,Z.value={name:e.name,allowed_models:e.allowed_models?[...e.allowed_models]:[],is_active:!!e.is_active},Q.value={},J.value=!0}function Te(){return{name:Z.value.name,allowed_models:Z.value.allowed_models.length>0?Z.value.allowed_models:null,is_active:+!!Z.value.is_active}}function Ee(){return{name:Z.value.name,allowed_models:Z.value.allowed_models.length>0?Z.value.allowed_models:null}}async function De(){let e={};if(Z.value.name.trim()||(e.name=W(`routerKeys.nameRequired`)),Q.value=e,!(Object.keys(e).length>0))try{Y.value?await f.updateRouterKey(Y.value,Te()):await f.createRouterKey(Ee()),J.value=!1,await $()}catch(e){console.error(`Failed to save router key:`,e),D.error(t(e,W(`routerKeys.saveFailed`)))}}function Oe(e){X.value=e}async function ke(){let e=X.value;if(e){X.value=null;try{await f.deleteRouterKey(e.id),await $()}catch(e){console.error(`Failed to delete router key:`,e),D.error(t(e,W(`routerKeys.deleteFailed`)))}}}return h($),(t,n)=>(d(),e(`div`,F,[s(`div`,I,[s(`h2`,L,c(o(W)(`routerKeys.title`)),1),m(o(p),{onClick:Ce,class:`flex items-center gap-1`},{default:r(()=>[n[6]||=s(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[s(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),_(` `+c(o(W)(`routerKeys.createKey`)),1)]),_:1})]),s(`div`,R,[m(o(ie),null,{default:r(()=>[m(o(ce),null,{default:r(()=>[m(o(x),{class:`bg-muted`},{default:r(()=>[m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.name`)),1)]),_:1}),m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.key`)),1)]),_:1}),m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.whitelist`)),1)]),_:1}),m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.status`)),1)]),_:1}),m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.createdAt`)),1)]),_:1}),m(o(b),{class:`text-right text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),m(o(re),null,{default:r(()=>[(d(!0),e(g,null,u(K.value,t=>(d(),l(o(x),{key:t.id,class:te({"opacity-60":!t.is_active})},{default:r(()=>[m(o(S),{class:`font-medium`},{default:r(()=>[_(c(t.name),1)]),_:2},1024),m(o(S),null,{default:r(()=>[s(`div`,z,[s(`span`,B,c(be(t.key)),1),m(o(p),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:e=>t.key&&o(ye)(t.key)},{default:r(()=>[o(ve)?(d(),e(`svg`,H,[...n[8]||=[s(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):(d(),e(`svg`,V,[...n[7]||=[s(`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),m(o(S),null,{default:r(()=>[t.allowed_models&&t.allowed_models.length>0?(d(),e(`div`,U,[(d(!0),e(g,null,u(t.allowed_models,e=>(d(),l(o(M),{key:e,variant:`outline`,class:`text-xs`},{default:r(()=>[_(c(e),1)]),_:2},1024))),128))])):(d(),l(o(M),{key:1,variant:`secondary`},{default:r(()=>[_(c(o(W)(`common.allModels`)),1)]),_:1}))]),_:2},1024),m(o(S),null,{default:r(()=>[m(o(M),{variant:t.is_active?`default`:`secondary`},{default:r(()=>[_(c(t.is_active?o(W)(`common.enabled`):o(W)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),m(o(S),{class:`text-muted-foreground text-sm`},{default:r(()=>[_(c(xe(t.created_at)),1)]),_:2},1024),m(o(S),{class:`text-right`},{default:r(()=>[m(o(p),{variant:`ghost`,size:`sm`,onClick:e=>we(t),class:`text-muted-foreground hover:text-primary mr-2`},{default:r(()=>[_(c(o(W)(`common.edit`)),1)]),_:1},8,[`onClick`]),m(o(p),{variant:`ghost`,size:`sm`,onClick:e=>Oe(t),class:`text-muted-foreground hover:text-destructive`},{default:r(()=>[_(c(o(W)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),K.value.length===0?(d(),l(o(x),{key:0},{default:r(()=>[m(o(S),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:r(()=>[_(c(o(W)(`routerKeys.noKeys`)),1)]),_:1})]),_:1})):i(``,!0)]),_:1})]),_:1})]),m(o(oe),{open:J.value,"onUpdate:open":n[4]||=e=>J.value=e},{default:r(()=>[m(o(y),{class:`sm:max-w-lg`},{default:r(()=>[m(o(ae),null,{default:r(()=>[m(o(le),null,{default:r(()=>[_(c(Y.value?o(W)(`routerKeys.editKey`):o(W)(`routerKeys.createKey`)),1)]),_:1})]),_:1}),s(`form`,{onSubmit:ee(De,[`prevent`]),class:`space-y-4`},[s(`div`,null,[m(o(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.name`)),1)]),_:1}),m(o(N),{modelValue:Z.value.name,"onUpdate:modelValue":n[0]||=e=>Z.value.name=e,type:`text`,required:``,placeholder:o(W)(`routerKeys.placeholder.name`),onInput:n[1]||=e=>delete Q.value.name},null,8,[`modelValue`,`placeholder`]),Q.value.name?(d(),e(`p`,de,c(Q.value.name),1)):i(``,!0)]),s(`div`,null,[m(o(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:r(()=>[_(c(o(W)(`routerKeys.whitelistLabel`)),1)]),_:1}),s(`div`,fe,c(o(W)(`routerKeys.whitelistHint`)),1),s(`div`,pe,[(d(!0),e(g,null,u(q.value,e=>(d(),l(o(C),{key:e,class:`flex items-center gap-2 cursor-pointer text-sm font-normal`},{default:r(()=>[m(o(v),{"model-value":Z.value.allowed_models.includes(e),"onUpdate:modelValue":t=>{if(t&&t!==`indeterminate`&&!Z.value.allowed_models.includes(e))Z.value.allowed_models.push(e);else if(!t){let t=Z.value.allowed_models.indexOf(e);t>=0&&Z.value.allowed_models.splice(t,1)}}},null,8,[`model-value`,`onUpdate:modelValue`]),s(`span`,me,c(e),1)]),_:2},1024))),128)),q.value.length===0?(d(),e(`div`,he,c(o(W)(`routerKeys.noModels`)),1)):i(``,!0)]),Z.value.allowed_models.length>0?(d(),e(`div`,ge,[(d(!0),e(g,null,u(Z.value.allowed_models,e=>(d(),l(o(M),{key:e,variant:`outline`,class:`text-xs`},{default:r(()=>[_(c(e)+` `,1),m(o(p),{type:`button`,variant:`ghost`,size:`sm`,class:`ml-1 h-4 w-4 p-0 text-muted-foreground hover:text-destructive`,onClick:t=>Se(e)},{default:r(()=>[...n[9]||=[_(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))])):i(``,!0)]),Y.value?(d(),e(`div`,_e,[m(o(v),{modelValue:Z.value.is_active,"onUpdate:modelValue":n[2]||=e=>Z.value.is_active=e,id:`key-active`},null,8,[`modelValue`]),m(o(C),{for:`key-active`,class:`text-sm text-foreground`},{default:r(()=>[_(c(o(W)(`common.enable`)),1)]),_:1})])):i(``,!0),m(o(se),null,{default:r(()=>[m(o(p),{type:`button`,variant:`outline`,onClick:n[3]||=e=>J.value=!1},{default:r(()=>[_(c(o(W)(`common.cancel`)),1)]),_:1}),m(o(p),{type:`submit`},{default:r(()=>[_(c(o(W)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),m(o(T),{open:!!X.value,"onUpdate:open":n[5]||=e=>{e||(X.value=null)}},{default:r(()=>[m(o(O),null,{default:r(()=>[m(o(k),null,{default:r(()=>[m(o(ue),null,{default:r(()=>[_(c(o(W)(`routerKeys.confirmDeleteTitle`)),1)]),_:1}),m(o(w),null,{default:r(()=>[_(c(o(W)(`routerKeys.confirmDeleteDesc`,{name:X.value?.name})),1)]),_:1})]),_:1}),m(o(A),null,{default:r(()=>[m(o(j),null,{default:r(()=>[_(c(o(W)(`common.cancel`)),1)]),_:1}),m(o(p),{variant:`destructive`,onClick:ke},{default:r(()=>[_(c(o(W)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{W as default};
1
+ import{$ as e,A as t,It as n,K as ee,Kt as te,Ot as r,Q as i,V as a,Wt as o,X as s,Yt as c,Z as l,_t as u,ht as d,k as f,n as p,nt as m,pt as h,q as g,rt as ne,tt as _}from"./button-BaNRw0cF.js";import{t as v}from"./Checkbox-BcnVK5BE.js";import{a as y,c as b,d as re,f as ie,l as x,n as ae,o as oe,r as se,s as ce,t as le,u as S}from"./dialog-D_OkVkI9.js";import{t as C}from"./Label-_o2ZnCRD.js";import{a as ue,c as w,f as T,gt as E,i as D,l as O,o as k,s as A,u as j,x as M}from"./index-COoySiAr.js";import{t as N}from"./Input-CQAFlthI.js";import{t as P}from"./useClipboard-D_jpOvnE.js";var F={class:`p-6`},I={class:`flex items-center justify-between mb-4`},L={class:`text-lg font-semibold text-foreground`},R={class:`bg-card rounded-lg border overflow-hidden`},z={class:`flex items-center gap-1`},B={class:`font-mono text-xs text-muted-foreground`},V={key:0,class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},H={key:1,class:`w-3.5 h-3.5 text-success`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},U={key:0,class:`flex flex-wrap gap-1`},de={key:0,class:`text-sm text-destructive mt-1`},fe={class:`text-xs text-muted-foreground mb-2`},pe={class:`border rounded-md p-3 max-h-48 overflow-y-auto space-y-2 bg-muted`},me={class:`font-mono text-xs`},he={key:0,class:`text-muted-foreground text-sm text-center py-2`},ge={key:0,class:`flex flex-wrap gap-1 mt-2`},_e={key:0,class:`flex items-center gap-2`},W=ne({__name:`RouterKeys`,setup(ne){let{t:W}=a(),G={name:``,allowed_models:[],is_active:!0},K=n([]),q=n([]),J=n(!1),Y=n(null),X=n(null),Z=n({...G,allowed_models:[]}),Q=n({}),{copied:ve,copy:ye}=P();function be(e){return e?e.slice(0,7)+`*`.repeat(7):``}function xe(e){return E(e)}function Se(e){let t=Z.value.allowed_models.indexOf(e);t>=0&&Z.value.allowed_models.splice(t,1)}async function $(){try{let[e,t]=await Promise.allSettled([f.getRouterKeys(),f.getAvailableModels()]);e.status===`fulfilled`&&(K.value=e.value),t.status===`fulfilled`&&(q.value=t.value)}catch(e){console.error(`Failed to load data:`,e),D.error(t(e,W(`routerKeys.loadFailed`)))}}function Ce(){Y.value=null,Z.value={...G,allowed_models:[]},Q.value={},J.value=!0}function we(e){Y.value=e.id,Z.value={name:e.name,allowed_models:e.allowed_models?[...e.allowed_models]:[],is_active:!!e.is_active},Q.value={},J.value=!0}function Te(){return{name:Z.value.name,allowed_models:Z.value.allowed_models.length>0?Z.value.allowed_models:null,is_active:+!!Z.value.is_active}}function Ee(){return{name:Z.value.name,allowed_models:Z.value.allowed_models.length>0?Z.value.allowed_models:null}}async function De(){let e={};if(Z.value.name.trim()||(e.name=W(`routerKeys.nameRequired`)),Q.value=e,!(Object.keys(e).length>0))try{Y.value?await f.updateRouterKey(Y.value,Te()):await f.createRouterKey(Ee()),J.value=!1,await $()}catch(e){console.error(`Failed to save router key:`,e),D.error(t(e,W(`routerKeys.saveFailed`)))}}function Oe(e){X.value=e}async function ke(){let e=X.value;if(e){X.value=null;try{await f.deleteRouterKey(e.id),await $()}catch(e){console.error(`Failed to delete router key:`,e),D.error(t(e,W(`routerKeys.deleteFailed`)))}}}return h($),(t,n)=>(d(),e(`div`,F,[s(`div`,I,[s(`h2`,L,c(o(W)(`routerKeys.title`)),1),m(o(p),{onClick:Ce,class:`flex items-center gap-1`},{default:r(()=>[n[6]||=s(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[s(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),_(` `+c(o(W)(`routerKeys.createKey`)),1)]),_:1})]),s(`div`,R,[m(o(ie),null,{default:r(()=>[m(o(ce),null,{default:r(()=>[m(o(x),{class:`bg-muted`},{default:r(()=>[m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.name`)),1)]),_:1}),m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.key`)),1)]),_:1}),m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.whitelist`)),1)]),_:1}),m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.status`)),1)]),_:1}),m(o(b),{class:`text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.createdAt`)),1)]),_:1}),m(o(b),{class:`text-right text-muted-foreground`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),m(o(re),null,{default:r(()=>[(d(!0),e(g,null,u(K.value,t=>(d(),l(o(x),{key:t.id,class:te({"opacity-60":!t.is_active})},{default:r(()=>[m(o(S),{class:`font-medium`},{default:r(()=>[_(c(t.name),1)]),_:2},1024),m(o(S),null,{default:r(()=>[s(`div`,z,[s(`span`,B,c(be(t.key)),1),m(o(p),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:e=>t.key&&o(ye)(t.key)},{default:r(()=>[o(ve)?(d(),e(`svg`,H,[...n[8]||=[s(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):(d(),e(`svg`,V,[...n[7]||=[s(`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),m(o(S),null,{default:r(()=>[t.allowed_models&&t.allowed_models.length>0?(d(),e(`div`,U,[(d(!0),e(g,null,u(t.allowed_models,e=>(d(),l(o(M),{key:e,variant:`outline`,class:`text-xs`},{default:r(()=>[_(c(e),1)]),_:2},1024))),128))])):(d(),l(o(M),{key:1,variant:`secondary`},{default:r(()=>[_(c(o(W)(`common.allModels`)),1)]),_:1}))]),_:2},1024),m(o(S),null,{default:r(()=>[m(o(M),{variant:t.is_active?`default`:`secondary`},{default:r(()=>[_(c(t.is_active?o(W)(`common.enabled`):o(W)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),m(o(S),{class:`text-muted-foreground text-sm`},{default:r(()=>[_(c(xe(t.created_at)),1)]),_:2},1024),m(o(S),{class:`text-right`},{default:r(()=>[m(o(p),{variant:`ghost`,size:`sm`,onClick:e=>we(t),class:`text-muted-foreground hover:text-primary mr-2`},{default:r(()=>[_(c(o(W)(`common.edit`)),1)]),_:1},8,[`onClick`]),m(o(p),{variant:`ghost`,size:`sm`,onClick:e=>Oe(t),class:`text-muted-foreground hover:text-destructive`},{default:r(()=>[_(c(o(W)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),K.value.length===0?(d(),l(o(x),{key:0},{default:r(()=>[m(o(S),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:r(()=>[_(c(o(W)(`routerKeys.noKeys`)),1)]),_:1})]),_:1})):i(``,!0)]),_:1})]),_:1})]),m(o(oe),{open:J.value,"onUpdate:open":n[4]||=e=>J.value=e},{default:r(()=>[m(o(y),{class:`sm:max-w-lg`},{default:r(()=>[m(o(ae),null,{default:r(()=>[m(o(le),null,{default:r(()=>[_(c(Y.value?o(W)(`routerKeys.editKey`):o(W)(`routerKeys.createKey`)),1)]),_:1})]),_:1}),s(`form`,{onSubmit:ee(De,[`prevent`]),class:`space-y-4`},[s(`div`,null,[m(o(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:r(()=>[_(c(o(W)(`routerKeys.tableHeaders.name`)),1)]),_:1}),m(o(N),{modelValue:Z.value.name,"onUpdate:modelValue":n[0]||=e=>Z.value.name=e,type:`text`,required:``,placeholder:o(W)(`routerKeys.placeholder.name`),onInput:n[1]||=e=>delete Q.value.name},null,8,[`modelValue`,`placeholder`]),Q.value.name?(d(),e(`p`,de,c(Q.value.name),1)):i(``,!0)]),s(`div`,null,[m(o(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:r(()=>[_(c(o(W)(`routerKeys.whitelistLabel`)),1)]),_:1}),s(`div`,fe,c(o(W)(`routerKeys.whitelistHint`)),1),s(`div`,pe,[(d(!0),e(g,null,u(q.value,e=>(d(),l(o(C),{key:e,class:`flex items-center gap-2 cursor-pointer text-sm font-normal`},{default:r(()=>[m(o(v),{"model-value":Z.value.allowed_models.includes(e),"onUpdate:modelValue":t=>{if(t&&t!==`indeterminate`&&!Z.value.allowed_models.includes(e))Z.value.allowed_models.push(e);else if(!t){let t=Z.value.allowed_models.indexOf(e);t>=0&&Z.value.allowed_models.splice(t,1)}}},null,8,[`model-value`,`onUpdate:modelValue`]),s(`span`,me,c(e),1)]),_:2},1024))),128)),q.value.length===0?(d(),e(`div`,he,c(o(W)(`routerKeys.noModels`)),1)):i(``,!0)]),Z.value.allowed_models.length>0?(d(),e(`div`,ge,[(d(!0),e(g,null,u(Z.value.allowed_models,e=>(d(),l(o(M),{key:e,variant:`outline`,class:`text-xs`},{default:r(()=>[_(c(e)+` `,1),m(o(p),{type:`button`,variant:`ghost`,size:`sm`,class:`ml-1 h-4 w-4 p-0 text-muted-foreground hover:text-destructive`,onClick:t=>Se(e)},{default:r(()=>[...n[9]||=[_(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))])):i(``,!0)]),Y.value?(d(),e(`div`,_e,[m(o(v),{modelValue:Z.value.is_active,"onUpdate:modelValue":n[2]||=e=>Z.value.is_active=e,id:`key-active`},null,8,[`modelValue`]),m(o(C),{for:`key-active`,class:`text-sm text-foreground`},{default:r(()=>[_(c(o(W)(`common.enable`)),1)]),_:1})])):i(``,!0),m(o(se),null,{default:r(()=>[m(o(p),{type:`button`,variant:`outline`,onClick:n[3]||=e=>J.value=!1},{default:r(()=>[_(c(o(W)(`common.cancel`)),1)]),_:1}),m(o(p),{type:`submit`},{default:r(()=>[_(c(o(W)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),m(o(T),{open:!!X.value,"onUpdate:open":n[5]||=e=>{e||(X.value=null)}},{default:r(()=>[m(o(O),null,{default:r(()=>[m(o(k),null,{default:r(()=>[m(o(ue),null,{default:r(()=>[_(c(o(W)(`routerKeys.confirmDeleteTitle`)),1)]),_:1}),m(o(w),null,{default:r(()=>[_(c(o(W)(`routerKeys.confirmDeleteDesc`,{name:X.value?.name})),1)]),_:1})]),_:1}),m(o(A),null,{default:r(()=>[m(o(j),null,{default:r(()=>[_(c(o(W)(`common.cancel`)),1)]),_:1}),m(o(p),{variant:`destructive`,onClick:ke},{default:r(()=>[_(c(o(W)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{W as default};
@@ -1 +1 @@
1
- import{It as e,Ot as t,Vt as n,Wt as r,Y as i,Z as a,dt as o,ht as s,i as c,m as l,mt as u,nt as d,pt as f,rt as p,vt as m}from"./button-CSFUPP0s.js";import{B as h,J as g,O as _,W as v,q as y}from"./index-BXsU7o6J.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=y();for(let r of e)if(r===n||(r.focus({preventScroll:t}),y()!==n))return}function E(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[D,O]=g(`RovingFocusGroup`),k=p({__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(i,{expose:o,emit:u}){let f=i,p=u,{loop:h,orientation:g,dir:y}=n(f),S=v(y),C=l(f,`currentTabStopId`,p,{defaultValue:f.defaultCurrentTabStopId,passive:f.currentTabStopId===void 0}),w=e(!1),E=e(!1),D=e(0),{getItems:k,CollectionSlot:A}=_({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),p(`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),f.preventScrollOnEntryFocus)}}E.value=!1}function M(){setTimeout(()=>{E.value=!1},1)}return o({getItems:k}),O({loop:h,dir:S,orientation:g,currentTabStopId:C,onItemFocus:e=>{C.value=e},onItemShiftTab:()=>{w.value=!0},onFocusableItemAdd:()=>{D.value++},onFocusableItemRemove:()=>{D.value--}}),(e,n)=>(s(),a(r(A),null,{default:t(()=>[d(r(c),{tabindex:w.value||D.value===0?-1:0,"data-orientation":r(g),as:e.as,"as-child":e.asChild,dir:r(S),style:{outline:`none`},onMousedown:n[0]||=e=>E.value=!0,onMouseup:M,onFocus:j,onBlur:n[1]||=e=>w.value=!1},{default:t(()=>[m(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),A=p({__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(e){let n=e,l=D(),p=h(),g=i(()=>n.tabStopId||p),v=i(()=>l.currentTabStopId.value===g.value),{getItems:y,CollectionItem:b}=_();f(()=>{n.focusable&&l.onFocusableItemAdd()}),u(()=>{n.focusable&&l.onFocusableItemRemove()});function x(e){if(e.key===`Tab`&&e.shiftKey){l.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=w(e,l.orientation.value,l.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!n.allowShiftKey&&e.shiftKey)return;e.preventDefault();let r=[...y().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=l.loop.value?E(r,n+1):r.slice(n+1)}o(()=>T(r))}}return(e,n)=>(s(),a(r(b),null,{default:t(()=>[d(r(c),{tabindex:v.value?0:-1,"data-orientation":r(l).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:n[0]||=t=>{e.focusable?r(l).onItemFocus(g.value):t.preventDefault()},onFocus:n[1]||=e=>r(l).onItemFocus(g.value),onKeydown:x},{default:t(()=>[m(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}});export{k as n,A as t};
1
+ import{It as e,Ot as t,Vt as n,Wt as r,Y as i,Z as a,dt as o,ht as s,i as c,m as l,mt as u,nt as d,pt as f,rt as p,vt as m}from"./button-BaNRw0cF.js";import{B as h,J as g,O as _,W as v,q as y}from"./index-COoySiAr.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=y();for(let r of e)if(r===n||(r.focus({preventScroll:t}),y()!==n))return}function E(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[D,O]=g(`RovingFocusGroup`),k=p({__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(i,{expose:o,emit:u}){let f=i,p=u,{loop:h,orientation:g,dir:y}=n(f),S=v(y),C=l(f,`currentTabStopId`,p,{defaultValue:f.defaultCurrentTabStopId,passive:f.currentTabStopId===void 0}),w=e(!1),E=e(!1),D=e(0),{getItems:k,CollectionSlot:A}=_({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),p(`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),f.preventScrollOnEntryFocus)}}E.value=!1}function M(){setTimeout(()=>{E.value=!1},1)}return o({getItems:k}),O({loop:h,dir:S,orientation:g,currentTabStopId:C,onItemFocus:e=>{C.value=e},onItemShiftTab:()=>{w.value=!0},onFocusableItemAdd:()=>{D.value++},onFocusableItemRemove:()=>{D.value--}}),(e,n)=>(s(),a(r(A),null,{default:t(()=>[d(r(c),{tabindex:w.value||D.value===0?-1:0,"data-orientation":r(g),as:e.as,"as-child":e.asChild,dir:r(S),style:{outline:`none`},onMousedown:n[0]||=e=>E.value=!0,onMouseup:M,onFocus:j,onBlur:n[1]||=e=>w.value=!1},{default:t(()=>[m(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),A=p({__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(e){let n=e,l=D(),p=h(),g=i(()=>n.tabStopId||p),v=i(()=>l.currentTabStopId.value===g.value),{getItems:y,CollectionItem:b}=_();f(()=>{n.focusable&&l.onFocusableItemAdd()}),u(()=>{n.focusable&&l.onFocusableItemRemove()});function x(e){if(e.key===`Tab`&&e.shiftKey){l.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=w(e,l.orientation.value,l.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!n.allowShiftKey&&e.shiftKey)return;e.preventDefault();let r=[...y().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=l.loop.value?E(r,n+1):r.slice(n+1)}o(()=>T(r))}}return(e,n)=>(s(),a(r(b),null,{default:t(()=>[d(r(c),{tabindex:v.value?0:-1,"data-orientation":r(l).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:n[0]||=t=>{e.focusable?r(l).onItemFocus(g.value):t.preventDefault()},onFocus:n[1]||=e=>r(l).onItemFocus(g.value),onKeydown:x},{default:t(()=>[m(e.$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,It as n,K as r,Kt as i,Ot as a,Q as o,V as s,Wt as c,X as l,Y as u,Yt as d,Z as f,_t as p,ht as m,k as h,n as g,nt as _,pt as ee,q as v,rt as te,tt as y}from"./button-CSFUPP0s.js";import{t as ne}from"./MappingEntryEditor-C_wjxov1.js";import{n as re}from"./CascadingModelSelect-C0yNZoXy.js";import{a as ie,c as b,d as ae,f as oe,l as x,n as se,o as ce,r as le,s as ue,t as de,u as S}from"./dialog-Dvd1Jkzx.js";import{t as C}from"./Label-67a8eQwX.js";import{t as fe}from"./Switch-B2K6kTfF.js";import{_ as w,a as pe,c as me,f as he,ft as ge,g as T,h as E,i as D,l as _e,m as O,o as ve,p as k,s as ye,u as be,x as A}from"./index-BXsU7o6J.js";import{t as xe}from"./Input-Bu0i-HPR.js";import{n as Se,t as j}from"./TransformRulesForm-DdSMMv3Z.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=te({__name:`Schedules`,setup(te){let{t:M}=s(),N=u(()=>[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=n(!1),L=n([]),R=n([]),z=n([]),B=n(null),V=n(!1),H=n(null),U=n(``),W=n(null),G=n(F()),K=n({}),q=n(``),J=n({injectHeadersInput:``,dropFieldsInput:``,requestDefaultsInput:``}),Y=u(()=>{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=u(()=>({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 h.getMappingGroups()}catch(e){console.error(`schedules.loadGroups:`,e),D.error(t(e,M(`schedules.loadGroupsFailed`)))}}async function Q(){try{R.value=await h.getProviders()}catch(e){console.error(`schedules.loadProviders:`,e),D.error(t(e,M(`schedules.loadProvidersFailed`)))}}async function $(){try{z.value=await h.getSchedules()}catch(e){console.error(`schedules.loadAll:`,e),D.error(t(e,M(`schedules.loadSchedulesFailed`)))}}let ot=u(()=>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),D.error(M(`schedules.parseRuleFailed`))}let n=[...P];try{n=JSON.parse(e.week)}catch(e){console.warn(`Failed to parse week:`,e),D.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),D.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),D.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 D.error(M(`providers.transform.requestDefaultsJsonError`)),{rule:null,error:!0}}let a=null;if(e.trim())try{a=JSON.parse(e)}catch{return D.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 h.updateSchedule(H.value,r):await h.createSchedule(r),V.value=!1,await $()}catch(e){q.value=t(e,M(`schedules.saveFailed`))}}async function pt(e){try{await h.toggleSchedule(e.id),await $()}catch(e){console.error(`schedules.toggle:`,e),D.error(t(e,M(`schedules.toggleFailed`)))}}async function mt(){let e=W.value;if(e){W.value=null;try{await h.deleteSchedule(e.id),await $()}catch(e){console.error(`schedules.delete:`,e),D.error(t(e,M(`schedules.deleteFailed`)))}}}return ee(async()=>{I.value=!0,await Promise.allSettled([at(),Q(),$()]),I.value=!1}),(t,n)=>(m(),e(`div`,Ce,[l(`div`,null,[l(`h2`,we,d(c(M)(`schedules.title`)),1),l(`p`,Te,d(c(M)(`schedules.description`)),1)]),I.value?(m(),e(`div`,Ee,d(c(M)(`common.loading`)),1)):o(``,!0),I.value?o(``,!0):(m(),e(v,{key:1},[l(`div`,De,[(m(!0),e(v,null,p(L.value,t=>(m(),e(`div`,{key:t.id,class:i([`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`]])},[l(`div`,{class:`flex items-center gap-3 px-4 py-3 cursor-pointer`,onClick:e=>it(t.id)},[l(`span`,ke,d(t.client_model),1),Y.value[t.id]?.length?(m(),f(c(A),{key:0,variant:`secondary`,class:`text-[10px]`},{default:a(()=>[y(d(c(M)(`schedules.ruleCount`,{count:Y.value[t.id].length})),1)]),_:2},1024)):(m(),f(c(A),{key:1,variant:`outline`,class:`text-[10px] text-muted-foreground/50`},{default:a(()=>[y(d(c(M)(`schedules.noRules`)),1)]),_:1})),l(`div`,Ae,[(m(!0),e(v,null,p((Y.value[t.id]??[]).slice(0,3),e=>(m(),f(c(A),{key:e.id,variant:e.enabled?`default`:`secondary`,class:`text-[10px] font-normal`},{default:a(()=>[y(d(e.name)+` `,1),l(`span`,je,d(X(e.start_hour))+`-`+d(X(e.end_hour)),1)]),_:2},1032,[`variant`]))),128)),(Y.value[t.id]?.length??0)>3?(m(),e(`span`,Me,` +`+d(Y.value[t.id].length-3),1)):o(``,!0)]),_(c(ge),{class:i([`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?(m(),e(`div`,Ne,[l(`div`,Pe,[l(`span`,Fe,d(c(M)(`schedules.scheduleRules`)),1),_(c(g),{size:`sm`,variant:`outline`,class:`h-7 text-xs`,onClick:e=>ct(t.id)},{default:a(()=>[_(c(re),{class:`w-3 h-3 mr-1`}),y(` `+d(c(M)(`schedules.createSchedule`)),1)]),_:1},8,[`onClick`])]),_(c(oe),null,{default:a(()=>[_(c(ue),null,{default:a(()=>[_(c(x),{class:`bg-muted/50`},{default:a(()=>[_(c(b),{class:`text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.name`)),1)]),_:1}),_(c(b),{class:`text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.status`)),1)]),_:1}),_(c(b),{class:`text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.week`)),1)]),_:1}),_(c(b),{class:`text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.timeRange`)),1)]),_:1}),_(c(b),{class:`text-right text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),_(c(ae),null,{default:a(()=>[(m(!0),e(v,null,p(Y.value[t.id]??[],t=>(m(),f(c(x),{key:t.id},{default:a(()=>[_(c(S),{class:`font-medium text-sm`},{default:a(()=>[y(d(t.name),1)]),_:2},1024),_(c(S),null,{default:a(()=>[_(c(A),{variant:t.enabled?`default`:`secondary`,class:`text-xs`},{default:a(()=>[y(d(t.enabled?c(M)(`schedules.enabled`):c(M)(`schedules.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),_(c(S),null,{default:a(()=>[l(`div`,Ie,[(m(!0),e(v,null,p(rt(t.week),e=>(m(),f(c(A),{key:e,variant:`outline`,class:`text-xs`},{default:a(()=>[y(d(e),1)]),_:2},1024))),128))])]),_:2},1024),_(c(S),{class:`font-mono text-sm`},{default:a(()=>[y(d(X(t.start_hour))+`-`+d(X(t.end_hour)),1)]),_:2},1024),_(c(S),{class:`text-right`},{default:a(()=>[l(`div`,Le,[_(c(fe),{"model-value":!!t.enabled,class:`scale-75`,onClick:r(e=>pt(t),[`stop`])},null,8,[`model-value`,`onClick`]),_(c(g),{variant:`ghost`,size:`sm`,onClick:e=>lt(t)},{default:a(()=>[y(d(c(M)(`common.edit`)),1)]),_:1},8,[`onClick`]),_(c(g),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>W.value=t},{default:a(()=>[y(d(c(M)(`common.delete`)),1)]),_:1},8,[`onClick`])])]),_:2},1024)]),_:2},1024))),128)),Y.value[t.id]?.length?o(``,!0):(m(),f(c(x),{key:0},{default:a(()=>[_(c(S),{colspan:`5`,class:`text-center text-muted-foreground py-6 text-xs`},{default:a(()=>[y(d(c(M)(`schedules.emptyRules`)),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)])):o(``,!0)],2))),128))]),L.value.length===0?(m(),e(`p`,Re,d(c(M)(`schedules.noGroups`)),1)):o(``,!0)],64)),_(c(ce),{open:V.value,"onUpdate:open":n[17]||=e=>V.value=e},{default:a(()=>[_(c(ie),{class:`sm:max-w-4xl max-h-[85vh] overflow-y-auto`},{default:a(()=>[_(c(se),null,{default:a(()=>[_(c(de),null,{default:a(()=>[y(d(H.value?c(M)(`schedules.editSchedule`):c(M)(`schedules.createSchedule`)),1)]),_:1})]),_:1}),l(`form`,{onSubmit:r(ft,[`prevent`]),class:`space-y-4`},[q.value?(m(),e(`div`,ze,d(q.value),1)):o(``,!0),l(`div`,Be,[l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground`},{default:a(()=>[y(d(c(M)(`schedules.form.name`)),1)]),_:1}),_(c(xe),{modelValue:G.value.name,"onUpdate:modelValue":n[0]||=e=>G.value.name=e,class:`mt-1`,placeholder:c(M)(`schedules.form.namePlaceholder`),onInput:n[1]||=e=>delete K.value.name},null,8,[`modelValue`,`placeholder`]),K.value.name?(m(),e(`p`,Ve,d(K.value.name),1)):o(``,!0)]),l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground mb-1.5 block`},{default:a(()=>[y(d(c(M)(`schedules.form.week`)),1)]),_:1}),l(`div`,He,[(m(!0),e(v,null,p(N.value,(e,t)=>(m(),f(c(g),{key:t,type:`button`,variant:(G.value.week??[]).includes(t)?`default`:`outline`,size:`sm`,class:`h-7 text-xs`,onClick:e=>st(t)},{default:a(()=>[y(d(e),1)]),_:2},1032,[`variant`,`onClick`]))),128))]),K.value.week?(m(),e(`p`,Ue,d(K.value.week),1)):o(``,!0)])]),l(`div`,null,[l(`div`,We,[_(c(C),{class:`text-xs text-muted-foreground`},{default:a(()=>[y(d(c(M)(`schedules.timePresets.label`)),1)]),_:1}),l(`div`,Ge,[_(c(g),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:n[2]||=e=>Z(9,12)},{default:a(()=>[y(d(c(M)(`schedules.timePresets.morning`)),1)]),_:1}),_(c(g),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:n[3]||=e=>Z(14,18)},{default:a(()=>[y(d(c(M)(`schedules.timePresets.afternoon`)),1)]),_:1}),_(c(g),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:n[4]||=e=>Z(19,21)},{default:a(()=>[y(d(c(M)(`schedules.timePresets.evening`)),1)]),_:1})])]),l(`div`,Ke,[l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground`},{default:a(()=>[y(d(c(M)(`schedules.form.startTime`)),1)]),_:1}),_(c(w),{modelValue:G.value.start_hour,"onUpdate:modelValue":[n[5]||=e=>G.value.start_hour=e,n[6]||=e=>{G.value.start_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:a(()=>[_(c(O),null,{default:a(()=>[_(c(k),{placeholder:c(M)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),_(c(T),null,{default:a(()=>[(m(),e(v,null,p(24,e=>_(c(E),{key:e-1,value:e-1},{default:a(()=>[y(d(String(e-1).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])]),l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground`},{default:a(()=>[y(d(c(M)(`schedules.form.endTime`)),1)]),_:1}),_(c(w),{modelValue:G.value.end_hour,"onUpdate:modelValue":[n[7]||=e=>G.value.end_hour=e,n[8]||=e=>{G.value.end_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:a(()=>[_(c(O),null,{default:a(()=>[_(c(k),{placeholder:c(M)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),_(c(T),null,{default:a(()=>[(m(),e(v,null,p(24,e=>_(c(E),{key:e,value:e},{default:a(()=>[y(d(String(e).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])])]),K.value.time?(m(),e(`p`,qe,d(K.value.time),1)):o(``,!0)]),l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground mb-1 block`},{default:a(()=>[y(d(c(M)(`schedules.form.targets`)),1)]),_:1}),_(ne,{entry:tt.value,"provider-groups":ot.value,expanded:!0,editable:!0,"onUpdate:targets":nt},null,8,[`entry`,`provider-groups`]),K.value.targets?(m(),e(`p`,Je,d(K.value.targets),1)):o(``,!0)]),l(`div`,Ye,[l(`div`,Xe,[l(`div`,Ze,d(c(M)(`schedules.form.concurrencyTitle`)),1),_(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":n[9]||=e=>G.value.concurrency_mode=e,"onUpdate:maxConcurrency":n[10]||=e=>G.value.max_concurrency=e,"onUpdate:queueTimeoutMs":n[11]||=e=>G.value.queue_timeout_ms=e,"onUpdate:maxQueueSize":n[12]||=e=>G.value.max_queue_size=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`])]),l(`div`,Qe,[l(`div`,$e,d(c(M)(`providers.transform.title`)),1),_(j,{"inject-headers":J.value.injectHeadersInput,"drop-fields":J.value.dropFieldsInput,"request-defaults":J.value.requestDefaultsInput,compact:``,"onUpdate:injectHeaders":n[13]||=e=>J.value.injectHeadersInput=e,"onUpdate:dropFields":n[14]||=e=>J.value.dropFieldsInput=e,"onUpdate:requestDefaults":n[15]||=e=>J.value.requestDefaultsInput=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])])]),_(c(le),null,{default:a(()=>[_(c(g),{type:`button`,variant:`outline`,onClick:n[16]||=e=>V.value=!1},{default:a(()=>[y(d(c(M)(`common.cancel`)),1)]),_:1}),_(c(g),{type:`submit`},{default:a(()=>[y(d(c(M)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),_(c(he),{open:!!W.value,"onUpdate:open":n[18]||=e=>{e||(W.value=null)}},{default:a(()=>[_(c(_e),null,{default:a(()=>[_(c(ve),null,{default:a(()=>[_(c(pe),null,{default:a(()=>[y(d(c(M)(`schedules.confirmDeleteTitle`)),1)]),_:1}),_(c(me),null,{default:a(()=>[y(d(c(M)(`schedules.confirmDeleteMessage`,{name:W.value?.name??``})),1)]),_:1})]),_:1}),_(c(ye),null,{default:a(()=>[_(c(be),null,{default:a(()=>[y(d(c(M)(`common.cancel`)),1)]),_:1}),_(c(g),{variant:`destructive`,onClick:mt},{default:a(()=>[y(d(c(M)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{M as default};
1
+ import{$ as e,A as t,It as n,K as r,Kt as i,Ot as a,Q as o,V as s,Wt as c,X as l,Y as u,Yt as d,Z as f,_t as p,ht as m,k as h,n as g,nt as _,pt as ee,q as v,rt as te,tt as y}from"./button-BaNRw0cF.js";import{t as ne}from"./MappingEntryEditor--Icmf_he.js";import{n as re}from"./CascadingModelSelect-CubFNL5Z.js";import{a as ie,c as b,d as ae,f as oe,l as x,n as se,o as ce,r as le,s as ue,t as de,u as S}from"./dialog-D_OkVkI9.js";import{t as C}from"./Label-_o2ZnCRD.js";import{t as fe}from"./Switch-CqF_csS2.js";import{_ as w,a as pe,c as me,f as he,ft as ge,g as T,h as E,i as D,l as _e,m as O,o as ve,p as k,s as ye,u as be,x as A}from"./index-COoySiAr.js";import{t as xe}from"./Input-CQAFlthI.js";import{n as Se,t as j}from"./TransformRulesForm-C0elmJO6.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=te({__name:`Schedules`,setup(te){let{t:M}=s(),N=u(()=>[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=n(!1),L=n([]),R=n([]),z=n([]),B=n(null),V=n(!1),H=n(null),U=n(``),W=n(null),G=n(F()),K=n({}),q=n(``),J=n({injectHeadersInput:``,dropFieldsInput:``,requestDefaultsInput:``}),Y=u(()=>{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=u(()=>({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 h.getMappingGroups()}catch(e){console.error(`schedules.loadGroups:`,e),D.error(t(e,M(`schedules.loadGroupsFailed`)))}}async function Q(){try{R.value=await h.getProviders()}catch(e){console.error(`schedules.loadProviders:`,e),D.error(t(e,M(`schedules.loadProvidersFailed`)))}}async function $(){try{z.value=await h.getSchedules()}catch(e){console.error(`schedules.loadAll:`,e),D.error(t(e,M(`schedules.loadSchedulesFailed`)))}}let ot=u(()=>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),D.error(M(`schedules.parseRuleFailed`))}let n=[...P];try{n=JSON.parse(e.week)}catch(e){console.warn(`Failed to parse week:`,e),D.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),D.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),D.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 D.error(M(`providers.transform.requestDefaultsJsonError`)),{rule:null,error:!0}}let a=null;if(e.trim())try{a=JSON.parse(e)}catch{return D.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 h.updateSchedule(H.value,r):await h.createSchedule(r),V.value=!1,await $()}catch(e){q.value=t(e,M(`schedules.saveFailed`))}}async function pt(e){try{await h.toggleSchedule(e.id),await $()}catch(e){console.error(`schedules.toggle:`,e),D.error(t(e,M(`schedules.toggleFailed`)))}}async function mt(){let e=W.value;if(e){W.value=null;try{await h.deleteSchedule(e.id),await $()}catch(e){console.error(`schedules.delete:`,e),D.error(t(e,M(`schedules.deleteFailed`)))}}}return ee(async()=>{I.value=!0,await Promise.allSettled([at(),Q(),$()]),I.value=!1}),(t,n)=>(m(),e(`div`,Ce,[l(`div`,null,[l(`h2`,we,d(c(M)(`schedules.title`)),1),l(`p`,Te,d(c(M)(`schedules.description`)),1)]),I.value?(m(),e(`div`,Ee,d(c(M)(`common.loading`)),1)):o(``,!0),I.value?o(``,!0):(m(),e(v,{key:1},[l(`div`,De,[(m(!0),e(v,null,p(L.value,t=>(m(),e(`div`,{key:t.id,class:i([`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`]])},[l(`div`,{class:`flex items-center gap-3 px-4 py-3 cursor-pointer`,onClick:e=>it(t.id)},[l(`span`,ke,d(t.client_model),1),Y.value[t.id]?.length?(m(),f(c(A),{key:0,variant:`secondary`,class:`text-[10px]`},{default:a(()=>[y(d(c(M)(`schedules.ruleCount`,{count:Y.value[t.id].length})),1)]),_:2},1024)):(m(),f(c(A),{key:1,variant:`outline`,class:`text-[10px] text-muted-foreground/50`},{default:a(()=>[y(d(c(M)(`schedules.noRules`)),1)]),_:1})),l(`div`,Ae,[(m(!0),e(v,null,p((Y.value[t.id]??[]).slice(0,3),e=>(m(),f(c(A),{key:e.id,variant:e.enabled?`default`:`secondary`,class:`text-[10px] font-normal`},{default:a(()=>[y(d(e.name)+` `,1),l(`span`,je,d(X(e.start_hour))+`-`+d(X(e.end_hour)),1)]),_:2},1032,[`variant`]))),128)),(Y.value[t.id]?.length??0)>3?(m(),e(`span`,Me,` +`+d(Y.value[t.id].length-3),1)):o(``,!0)]),_(c(ge),{class:i([`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?(m(),e(`div`,Ne,[l(`div`,Pe,[l(`span`,Fe,d(c(M)(`schedules.scheduleRules`)),1),_(c(g),{size:`sm`,variant:`outline`,class:`h-7 text-xs`,onClick:e=>ct(t.id)},{default:a(()=>[_(c(re),{class:`w-3 h-3 mr-1`}),y(` `+d(c(M)(`schedules.createSchedule`)),1)]),_:1},8,[`onClick`])]),_(c(oe),null,{default:a(()=>[_(c(ue),null,{default:a(()=>[_(c(x),{class:`bg-muted/50`},{default:a(()=>[_(c(b),{class:`text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.name`)),1)]),_:1}),_(c(b),{class:`text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.status`)),1)]),_:1}),_(c(b),{class:`text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.week`)),1)]),_:1}),_(c(b),{class:`text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.timeRange`)),1)]),_:1}),_(c(b),{class:`text-right text-muted-foreground text-xs h-8`},{default:a(()=>[y(d(c(M)(`schedules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),_(c(ae),null,{default:a(()=>[(m(!0),e(v,null,p(Y.value[t.id]??[],t=>(m(),f(c(x),{key:t.id},{default:a(()=>[_(c(S),{class:`font-medium text-sm`},{default:a(()=>[y(d(t.name),1)]),_:2},1024),_(c(S),null,{default:a(()=>[_(c(A),{variant:t.enabled?`default`:`secondary`,class:`text-xs`},{default:a(()=>[y(d(t.enabled?c(M)(`schedules.enabled`):c(M)(`schedules.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),_(c(S),null,{default:a(()=>[l(`div`,Ie,[(m(!0),e(v,null,p(rt(t.week),e=>(m(),f(c(A),{key:e,variant:`outline`,class:`text-xs`},{default:a(()=>[y(d(e),1)]),_:2},1024))),128))])]),_:2},1024),_(c(S),{class:`font-mono text-sm`},{default:a(()=>[y(d(X(t.start_hour))+`-`+d(X(t.end_hour)),1)]),_:2},1024),_(c(S),{class:`text-right`},{default:a(()=>[l(`div`,Le,[_(c(fe),{"model-value":!!t.enabled,class:`scale-75`,onClick:r(e=>pt(t),[`stop`])},null,8,[`model-value`,`onClick`]),_(c(g),{variant:`ghost`,size:`sm`,onClick:e=>lt(t)},{default:a(()=>[y(d(c(M)(`common.edit`)),1)]),_:1},8,[`onClick`]),_(c(g),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>W.value=t},{default:a(()=>[y(d(c(M)(`common.delete`)),1)]),_:1},8,[`onClick`])])]),_:2},1024)]),_:2},1024))),128)),Y.value[t.id]?.length?o(``,!0):(m(),f(c(x),{key:0},{default:a(()=>[_(c(S),{colspan:`5`,class:`text-center text-muted-foreground py-6 text-xs`},{default:a(()=>[y(d(c(M)(`schedules.emptyRules`)),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)])):o(``,!0)],2))),128))]),L.value.length===0?(m(),e(`p`,Re,d(c(M)(`schedules.noGroups`)),1)):o(``,!0)],64)),_(c(ce),{open:V.value,"onUpdate:open":n[17]||=e=>V.value=e},{default:a(()=>[_(c(ie),{class:`sm:max-w-4xl max-h-[85vh] overflow-y-auto`},{default:a(()=>[_(c(se),null,{default:a(()=>[_(c(de),null,{default:a(()=>[y(d(H.value?c(M)(`schedules.editSchedule`):c(M)(`schedules.createSchedule`)),1)]),_:1})]),_:1}),l(`form`,{onSubmit:r(ft,[`prevent`]),class:`space-y-4`},[q.value?(m(),e(`div`,ze,d(q.value),1)):o(``,!0),l(`div`,Be,[l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground`},{default:a(()=>[y(d(c(M)(`schedules.form.name`)),1)]),_:1}),_(c(xe),{modelValue:G.value.name,"onUpdate:modelValue":n[0]||=e=>G.value.name=e,class:`mt-1`,placeholder:c(M)(`schedules.form.namePlaceholder`),onInput:n[1]||=e=>delete K.value.name},null,8,[`modelValue`,`placeholder`]),K.value.name?(m(),e(`p`,Ve,d(K.value.name),1)):o(``,!0)]),l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground mb-1.5 block`},{default:a(()=>[y(d(c(M)(`schedules.form.week`)),1)]),_:1}),l(`div`,He,[(m(!0),e(v,null,p(N.value,(e,t)=>(m(),f(c(g),{key:t,type:`button`,variant:(G.value.week??[]).includes(t)?`default`:`outline`,size:`sm`,class:`h-7 text-xs`,onClick:e=>st(t)},{default:a(()=>[y(d(e),1)]),_:2},1032,[`variant`,`onClick`]))),128))]),K.value.week?(m(),e(`p`,Ue,d(K.value.week),1)):o(``,!0)])]),l(`div`,null,[l(`div`,We,[_(c(C),{class:`text-xs text-muted-foreground`},{default:a(()=>[y(d(c(M)(`schedules.timePresets.label`)),1)]),_:1}),l(`div`,Ge,[_(c(g),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:n[2]||=e=>Z(9,12)},{default:a(()=>[y(d(c(M)(`schedules.timePresets.morning`)),1)]),_:1}),_(c(g),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:n[3]||=e=>Z(14,18)},{default:a(()=>[y(d(c(M)(`schedules.timePresets.afternoon`)),1)]),_:1}),_(c(g),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:n[4]||=e=>Z(19,21)},{default:a(()=>[y(d(c(M)(`schedules.timePresets.evening`)),1)]),_:1})])]),l(`div`,Ke,[l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground`},{default:a(()=>[y(d(c(M)(`schedules.form.startTime`)),1)]),_:1}),_(c(w),{modelValue:G.value.start_hour,"onUpdate:modelValue":[n[5]||=e=>G.value.start_hour=e,n[6]||=e=>{G.value.start_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:a(()=>[_(c(O),null,{default:a(()=>[_(c(k),{placeholder:c(M)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),_(c(T),null,{default:a(()=>[(m(),e(v,null,p(24,e=>_(c(E),{key:e-1,value:e-1},{default:a(()=>[y(d(String(e-1).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])]),l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground`},{default:a(()=>[y(d(c(M)(`schedules.form.endTime`)),1)]),_:1}),_(c(w),{modelValue:G.value.end_hour,"onUpdate:modelValue":[n[7]||=e=>G.value.end_hour=e,n[8]||=e=>{G.value.end_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:a(()=>[_(c(O),null,{default:a(()=>[_(c(k),{placeholder:c(M)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),_(c(T),null,{default:a(()=>[(m(),e(v,null,p(24,e=>_(c(E),{key:e,value:e},{default:a(()=>[y(d(String(e).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])])]),K.value.time?(m(),e(`p`,qe,d(K.value.time),1)):o(``,!0)]),l(`div`,null,[_(c(C),{class:`text-xs text-muted-foreground mb-1 block`},{default:a(()=>[y(d(c(M)(`schedules.form.targets`)),1)]),_:1}),_(ne,{entry:tt.value,"provider-groups":ot.value,expanded:!0,editable:!0,"onUpdate:targets":nt},null,8,[`entry`,`provider-groups`]),K.value.targets?(m(),e(`p`,Je,d(K.value.targets),1)):o(``,!0)]),l(`div`,Ye,[l(`div`,Xe,[l(`div`,Ze,d(c(M)(`schedules.form.concurrencyTitle`)),1),_(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":n[9]||=e=>G.value.concurrency_mode=e,"onUpdate:maxConcurrency":n[10]||=e=>G.value.max_concurrency=e,"onUpdate:queueTimeoutMs":n[11]||=e=>G.value.queue_timeout_ms=e,"onUpdate:maxQueueSize":n[12]||=e=>G.value.max_queue_size=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`])]),l(`div`,Qe,[l(`div`,$e,d(c(M)(`providers.transform.title`)),1),_(j,{"inject-headers":J.value.injectHeadersInput,"drop-fields":J.value.dropFieldsInput,"request-defaults":J.value.requestDefaultsInput,compact:``,"onUpdate:injectHeaders":n[13]||=e=>J.value.injectHeadersInput=e,"onUpdate:dropFields":n[14]||=e=>J.value.dropFieldsInput=e,"onUpdate:requestDefaults":n[15]||=e=>J.value.requestDefaultsInput=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])])]),_(c(le),null,{default:a(()=>[_(c(g),{type:`button`,variant:`outline`,onClick:n[16]||=e=>V.value=!1},{default:a(()=>[y(d(c(M)(`common.cancel`)),1)]),_:1}),_(c(g),{type:`submit`},{default:a(()=>[y(d(c(M)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),_(c(he),{open:!!W.value,"onUpdate:open":n[18]||=e=>{e||(W.value=null)}},{default:a(()=>[_(c(_e),null,{default:a(()=>[_(c(ve),null,{default:a(()=>[_(c(pe),null,{default:a(()=>[y(d(c(M)(`schedules.confirmDeleteTitle`)),1)]),_:1}),_(c(me),null,{default:a(()=>[y(d(c(M)(`schedules.confirmDeleteMessage`,{name:W.value?.name??``})),1)]),_:1})]),_:1}),_(c(ye),null,{default:a(()=>[_(c(be),null,{default:a(()=>[y(d(c(M)(`common.cancel`)),1)]),_:1}),_(c(g),{variant:`destructive`,onClick:mt},{default:a(()=>[y(d(c(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,I as n,It as r,Jt as i,Mt as a,Ot as o,Q as s,Tt as c,V as l,Wt as u,X as d,Y as f,Yt as p,Z as m,_t as ee,dt as h,ht as g,i as _,k as v,m as y,n as b,nt as x,o as S,pt as te,q as C,r as w,rt as T,tt as E,ut as D,vt as O,x as k}from"./button-CSFUPP0s.js";import{t as A}from"./Label-67a8eQwX.js";import{$ as ne,J as j,K as M,Z as re,a as ie,c as ae,d as oe,f as se,i as N,l as ce,nt as le,o as ue,s as de,tt as fe,u as pe}from"./index-BXsU7o6J.js";import{t as P}from"./Input-Bu0i-HPR.js";import{t as me}from"./useLogRetention-BhmlsZRl.js";var he=n(`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=n(`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=n(`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]=j(`ProgressRoot`),B=e=>typeof e==`number`;function V(e,t){return M(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,I as n,It as r,Jt as i,Mt as a,Ot as o,Q as s,Tt as c,V as l,Wt as u,X as d,Y as f,Yt as p,Z as m,_t as ee,dt as h,ht as g,i as _,k as v,m as y,n as b,nt as x,o as S,pt as te,q as C,r as w,rt as T,tt as E,ut as D,vt as O,x as k}from"./button-BaNRw0cF.js";import{t as A}from"./Label-_o2ZnCRD.js";import{$ as ne,J as j,K as M,Z as re,a as ie,c as ae,d as oe,f as se,i as N,l as ce,nt as le,o as ue,s as de,tt as fe,u as pe}from"./index-COoySiAr.js";import{t as P}from"./Input-CQAFlthI.js";import{t as me}from"./useLogRetention-DnSxnecs.js";var he=n(`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=n(`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=n(`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]=j(`ProgressRoot`),B=e=>typeof e==`number`;function V(e,t){return M(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,It as n,K as r,Ot as i,P as a,Q as o,R as s,V as c,Wt as l,X as u,Yt as d,Z as f,ht as p,k as m,n as h,nt as g,rt as _,tt as v}from"./button-CSFUPP0s.js";import{t as y}from"./Label-67a8eQwX.js";import{ct as b,n as x,st as S}from"./index-BXsU7o6J.js";import{n as C,t as w}from"./CardContent-B88j9H0z.js";import{t as T}from"./Input-Bu0i-HPR.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=_({__name:`Setup`,setup(_){let{t:A}=c(),{isDark:j,toggleTheme:M}=x(),N=s(),P=n(``),F=n(``),I=n(``),L=n(!1);async function R(){if(!P.value||!F.value){I.value=A(`setup.pleaseInputPassword`);return}if(P.value!==F.value){I.value=A(`setup.passwordMismatch`);return}if(P.value.length<6){I.value=A(`setup.passwordTooShort`);return}I.value=``,L.value=!0;try{await m.initializeSetup(P.value),a(),N.push({name:`dashboard`})}catch(e){I.value=t(e,A(`setup.setupFailed`))}finally{L.value=!1}}return(t,n)=>(p(),e(`div`,E,[g(l(h),{variant:`ghost`,size:`icon`,class:`absolute top-4 right-4 text-muted-foreground hover:text-foreground`,onClick:l(M)},{default:i(()=>[l(j)?(p(),f(l(S),{key:1,class:`w-4 h-4`})):(p(),f(l(b),{key:0,class:`w-4 h-4`}))]),_:1},8,[`onClick`]),g(l(C),{class:`w-full max-w-sm shadow-lg`},{default:i(()=>[g(l(w),{class:`pt-6`},{default:i(()=>[u(`div`,D,[n[2]||=u(`div`,{class:`w-12 h-12 bg-primary rounded-lg mx-auto mb-3 flex items-center justify-center`},[u(`svg`,{class:`w-7 h-7 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[u(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z`})])],-1),n[3]||=u(`h1`,{class:`text-xl font-semibold text-foreground`},`LLM Simple Router`,-1),u(`p`,O,d(l(A)(`setup.subtitle`)),1)]),u(`form`,{onSubmit:r(R,[`prevent`]),class:`space-y-4`},[u(`div`,null,[g(l(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[v(d(l(A)(`setup.password`)),1)]),_:1}),g(l(T),{modelValue:P.value,"onUpdate:modelValue":n[0]||=e=>P.value=e,type:`password`,placeholder:l(A)(`setup.passwordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),u(`div`,null,[g(l(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[v(d(l(A)(`setup.confirmPassword`)),1)]),_:1}),g(l(T),{modelValue:F.value,"onUpdate:modelValue":n[1]||=e=>F.value=e,type:`password`,placeholder:l(A)(`setup.confirmPasswordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),I.value?(p(),e(`p`,k,d(I.value),1)):o(``,!0),g(l(h),{type:`submit`,class:`w-full`,disabled:L.value},{default:i(()=>[v(d(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,It as n,K as r,Ot as i,P as a,Q as o,R as s,V as c,Wt as l,X as u,Yt as d,Z as f,ht as p,k as m,n as h,nt as g,rt as _,tt as v}from"./button-BaNRw0cF.js";import{t as y}from"./Label-_o2ZnCRD.js";import{ct as b,n as x,st as S}from"./index-COoySiAr.js";import{n as C,t as w}from"./CardContent-POdM9knm.js";import{t as T}from"./Input-CQAFlthI.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=_({__name:`Setup`,setup(_){let{t:A}=c(),{isDark:j,toggleTheme:M}=x(),N=s(),P=n(``),F=n(``),I=n(``),L=n(!1);async function R(){if(!P.value||!F.value){I.value=A(`setup.pleaseInputPassword`);return}if(P.value!==F.value){I.value=A(`setup.passwordMismatch`);return}if(P.value.length<6){I.value=A(`setup.passwordTooShort`);return}I.value=``,L.value=!0;try{await m.initializeSetup(P.value),a(),N.push({name:`dashboard`})}catch(e){I.value=t(e,A(`setup.setupFailed`))}finally{L.value=!1}}return(t,n)=>(p(),e(`div`,E,[g(l(h),{variant:`ghost`,size:`icon`,class:`absolute top-4 right-4 text-muted-foreground hover:text-foreground`,onClick:l(M)},{default:i(()=>[l(j)?(p(),f(l(S),{key:1,class:`w-4 h-4`})):(p(),f(l(b),{key:0,class:`w-4 h-4`}))]),_:1},8,[`onClick`]),g(l(C),{class:`w-full max-w-sm shadow-lg`},{default:i(()=>[g(l(w),{class:`pt-6`},{default:i(()=>[u(`div`,D,[n[2]||=u(`div`,{class:`w-12 h-12 bg-primary rounded-lg mx-auto mb-3 flex items-center justify-center`},[u(`svg`,{class:`w-7 h-7 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[u(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z`})])],-1),n[3]||=u(`h1`,{class:`text-xl font-semibold text-foreground`},`LLM Simple Router`,-1),u(`p`,O,d(l(A)(`setup.subtitle`)),1)]),u(`form`,{onSubmit:r(R,[`prevent`]),class:`space-y-4`},[u(`div`,null,[g(l(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[v(d(l(A)(`setup.password`)),1)]),_:1}),g(l(T),{modelValue:P.value,"onUpdate:modelValue":n[0]||=e=>P.value=e,type:`password`,placeholder:l(A)(`setup.passwordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),u(`div`,null,[g(l(y),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[v(d(l(A)(`setup.confirmPassword`)),1)]),_:1}),g(l(T),{modelValue:F.value,"onUpdate:modelValue":n[1]||=e=>F.value=e,type:`password`,placeholder:l(A)(`setup.confirmPasswordPlaceholder`),disabled:L.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),I.value?(p(),e(`p`,k,d(I.value),1)):o(``,!0),g(l(h),{type:`submit`,class:`w-full`,disabled:L.value},{default:i(()=>[v(d(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{G as e,K as t,Ot as n,Q as r,Vt as i,Wt as a,Y as o,Z as s,at as c,ht as l,i as u,m as d,nt as f,o as p,qt as m,r as h,rt as g,ut as _,vt as v,x as y}from"./button-CSFUPP0s.js";import{t as b}from"./VisuallyHiddenInput-C6J7cjvG.js";import{J as x,U as S,V as C}from"./index-BXsU7o6J.js";var[w,T]=x(`SwitchRoot`),E=g({__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(c,{emit:f}){let m=c,h=f,{disabled:g}=i(m),y=d(m,`modelValue`,h,{defaultValue:m.defaultValue??m.falseValue,passive:m.modelValue===void 0}),x=o(()=>y.value===m.trueValue);function C(){g.value||(y.value=x.value?m.falseValue:m.trueValue)}let{forwardRef:w,currentElement:E}=p(),D=S(E),O=o(()=>m.id&&E.value?document.querySelector(`[for="${m.id}"]`)?.innerText:void 0);return T({checked:x,toggleCheck:C,disabled:g}),(i,o)=>(l(),s(a(u),_(i.$attrs,{id:i.id,ref:a(w),role:`switch`,type:i.as===`button`?`button`:void 0,value:i.value,"aria-label":i.$attrs[`aria-label`]||O.value,"aria-checked":x.value,"aria-required":i.required,"data-state":x.value?`checked`:`unchecked`,"data-disabled":a(g)?``:void 0,"as-child":i.asChild,as:i.as,disabled:a(g),onClick:C,onKeydown:e(t(C,[`prevent`]),[`enter`])}),{default:n(()=>[v(i.$slots,`default`,{modelValue:a(y),checked:x.value}),a(D)&&i.name?(l(),s(a(b),{key:0,type:`checkbox`,name:i.name,disabled:a(g),required:i.required,value:i.value,checked:x.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):r(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),D=g({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=w();return p(),(e,r)=>(l(),s(a(u),{"data-state":a(t).checked.value?`checked`:`unchecked`,"data-disabled":a(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:n(()=>[v(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),O=g({__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(e,{emit:t}){let r=e,i=t,o=C(y(r,`class`,`size`),i);return(t,i)=>(l(),s(a(E),_({"data-slot":`switch`,"data-size":e.size},a(o),{class:a(h)(`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`,r.class)}),{default:n(e=>[f(a(D),{"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:n(()=>[v(t.$slots,`thumb`,m(c(e)))]),_:2},1024)]),_:3},16,[`data-size`,`class`]))}});export{O as t};
1
+ import{G as e,K as t,Ot as n,Q as r,Vt as i,Wt as a,Y as o,Z as s,at as c,ht as l,i as u,m as d,nt as f,o as p,qt as m,r as h,rt as g,ut as _,vt as v,x as y}from"./button-BaNRw0cF.js";import{t as b}from"./VisuallyHiddenInput-HnGHuxTe.js";import{J as x,U as S,V as C}from"./index-COoySiAr.js";var[w,T]=x(`SwitchRoot`),E=g({__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(c,{emit:f}){let m=c,h=f,{disabled:g}=i(m),y=d(m,`modelValue`,h,{defaultValue:m.defaultValue??m.falseValue,passive:m.modelValue===void 0}),x=o(()=>y.value===m.trueValue);function C(){g.value||(y.value=x.value?m.falseValue:m.trueValue)}let{forwardRef:w,currentElement:E}=p(),D=S(E),O=o(()=>m.id&&E.value?document.querySelector(`[for="${m.id}"]`)?.innerText:void 0);return T({checked:x,toggleCheck:C,disabled:g}),(i,o)=>(l(),s(a(u),_(i.$attrs,{id:i.id,ref:a(w),role:`switch`,type:i.as===`button`?`button`:void 0,value:i.value,"aria-label":i.$attrs[`aria-label`]||O.value,"aria-checked":x.value,"aria-required":i.required,"data-state":x.value?`checked`:`unchecked`,"data-disabled":a(g)?``:void 0,"as-child":i.asChild,as:i.as,disabled:a(g),onClick:C,onKeydown:e(t(C,[`prevent`]),[`enter`])}),{default:n(()=>[v(i.$slots,`default`,{modelValue:a(y),checked:x.value}),a(D)&&i.name?(l(),s(a(b),{key:0,type:`checkbox`,name:i.name,disabled:a(g),required:i.required,value:i.value,checked:x.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):r(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),D=g({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=w();return p(),(e,r)=>(l(),s(a(u),{"data-state":a(t).checked.value?`checked`:`unchecked`,"data-disabled":a(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:n(()=>[v(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),O=g({__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(e,{emit:t}){let r=e,i=t,o=C(y(r,`class`,`size`),i);return(t,i)=>(l(),s(a(E),_({"data-slot":`switch`,"data-size":e.size},a(o),{class:a(h)(`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`,r.class)}),{default:n(e=>[f(a(D),{"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:n(()=>[v(t.$slots,`thumb`,m(c(e)))]),_:2},1024)]),_:3},16,[`data-size`,`class`]))}});export{O as t};
@@ -1 +1 @@
1
- import{$ as e,E as t,Et as n,It as r,Jt as i,K as a,Ot as o,S as s,Tt as c,Vt as l,Wt as u,Y as d,Yt as f,Z as p,at as m,bt as h,d as g,g as _,ht as v,i as y,m as b,nt as x,o as S,pt as C,qt as w,r as T,rt as E,tt as D,ut as O,vt as k,w as A,x as j,xt as ee}from"./button-CSFUPP0s.js";import{A as te,B as ne,C as re,D as ie,E as M,G as N,H as P,J as F,P as I,R as L,T as R,V as z,w as B}from"./index-BXsU7o6J.js";function V(e,t){let i=s(!1,300);A(()=>{i.value=!1});let a=r(null),o=_();function c(){a.value=null,i.value=!1}function l(e,t){if(!t)return;let n=e.currentTarget,r={x:e.clientX,y:e.clientY},o=U(r,H(r,n.getBoundingClientRect()),1),s=W(t.getBoundingClientRect());a.value=K([...o,...s]),i.value=!0}return n(n=>{if(e.value&&t.value){let r=e=>l(e,t.value),i=t=>l(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),n(n=>{if(a.value){let r=n=>{if(!a.value||!(n.target instanceof Element))return;let r=n.target,i={x:n.clientX,y:n.clientY},s=e.value?.contains(r)||t.value?.contains(r),l=!G(i,a.value),u=!!r.closest(`[data-grace-area-trigger]`);s?c():(l||u)&&(c(),o.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,r),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:i,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=E({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let n=t;return S(),(t,r)=>(v(),p(u(y),O(n,{width:t.width,height:t.height,viewBox:t.asChild?void 0:`0 0 12 6`,preserveAspectRatio:t.asChild?void 0:`none`}),{default:o(()=>[k(t.$slots,`default`,{},()=>[t.rounded?(v(),e(`path`,J)):(v(),e(`path`,ae))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),se={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ce=E({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let{forwardRef:n}=S(),r=B(),a=d(()=>se[r.placedSide.value]);return(t,s)=>(v(),e(`span`,{ref:e=>{u(r).onArrowChange(e??void 0)},style:i({position:`absolute`,left:u(r).arrowX?.value?`${u(r).arrowX?.value}px`:void 0,top:u(r).arrowY?.value?`${u(r).arrowY?.value}px`:void 0,[a.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[u(r).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[u(r).placedSide.value],visibility:u(r).shouldHideArrow.value?`hidden`:void 0})},[x(oe,O(t.$attrs,{ref:u(n),style:{display:`block`},as:t.as,"as-child":t.asChild,rounded:t.rounded,width:t.width,height:t.height}),{default:o(()=>[k(t.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),le=E({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return S(),(e,n)=>(v(),p(u(ce),w(m(t)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}}),[Y,ue]=F(`TooltipProvider`),de=E({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:n,skipDelayDuration:i,disableHoverableContent:a,disableClosingTrigger:o,ignoreNonKeyboardFocus:s,disabled:c,content:u}=l(e);S();let d=r(!0),f=r(!1),{start:p,stop:m}=t(()=>{d.value=!0},i,{immediate:!1});return ue({isOpenDelayed:d,delayDuration:n,onOpen(){m(),d.value=!1},onClose(){p()},isPointerInTransitRef:f,disableHoverableContent:a,disableClosingTrigger:o,disabled:c,ignoreNonKeyboardFocus:s,content:u}),(e,t)=>k(e.$slots,`default`)}}),X=`tooltip.open`,[Z,fe]=F(`TooltipRoot`),pe=E({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:n}){let i=e,a=n;S();let s=Y(),l=d(()=>i.disableHoverableContent??s.disableHoverableContent.value),f=d(()=>i.disableClosingTrigger??s.disableClosingTrigger.value),m=d(()=>i.disabled??s.disabled.value),h=d(()=>i.delayDuration??s.delayDuration.value),g=d(()=>i.ignoreNonKeyboardFocus??s.ignoreNonKeyboardFocus.value),_=b(i,`open`,a,{defaultValue:i.defaultOpen,passive:i.open===void 0});c(_,e=>{s.onClose&&(e?(s.onOpen(),document.dispatchEvent(new CustomEvent(X))):s.onClose())});let y=r(!1),x=r(),C=d(()=>_.value?y.value?`delayed-open`:`instant-open`:`closed`),{start:w,stop:T}=t(()=>{y.value=!0,_.value=!0},h,{immediate:!1});function E(){T(),y.value=!1,_.value=!0}function D(){T(),_.value=!1}function O(){w()}return fe({contentId:``,open:_,stateAttribute:C,trigger:x,onTriggerChange(e){x.value=e},onTriggerEnter(){s.isOpenDelayed.value?O():E()},onTriggerLeave(){l.value?D():T()},onOpen:E,onClose:D,disableHoverableContent:l,disableClosingTrigger:f,disabled:m,ignoreNonKeyboardFocus:g}),(e,t)=>(v(),p(u(M),null,{default:o(()=>[k(e.$slots,`default`,{open:u(_)})]),_:3}))}}),Q=E({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Z(),s=Y(),{forwardRef:c,currentElement:l}=S(),m=d(()=>n.ariaLabel||l.value?.textContent),h=d(()=>{let{ariaLabel:e,...t}=n;return N(t,s.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return C(()=>{g(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),g(window,X,i.onClose)}),(e,t)=>(v(),p(u(I),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{u(i).disableClosingTrigger.value&&u(i).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=a(()=>{},[`prevent`]),onDismiss:t[3]||=e=>u(i).onClose()},{default:o(()=>[x(u(re),O({ref:u(c),"data-state":u(i).stateAttribute.value},{...e.$attrs,...h.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:o(()=>[k(e.$slots,`default`),x(u(ie),{id:u(i).contentId,role:`tooltip`},{default:o(()=>[D(f(m.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),me=E({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=P(e),{forwardRef:n,currentElement:r}=S(),{trigger:i,onClose:a}=Z(),s=Y(),{isPointerInTransit:c,onPointerExit:l}=V(i,r);return s.isPointerInTransitRef=c,l(()=>{a()}),(e,r)=>(v(),p(Q,O({ref:u(n)},u(t)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}}),he=E({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Z(),a=z(n,r),{forwardRef:s}=S();return(e,t)=>(v(),p(u(L),{present:e.forceMount||u(i).open.value},{default:o(()=>[(v(),p(h(u(i).disableHoverableContent.value?Q:me),O({ref:u(s)},u(a)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ge=E({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(v(),p(u(te),w(m(t)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}}),$=E({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Z(),i=Y();n.contentId||=ne(void 0,`reka-tooltip-content`);let{forwardRef:a,currentElement:s}=S(),c=r(!1),l=r(!1),f=d(()=>n.disabled.value?{}:{click:T,focus:b,pointermove:g,pointerleave:_,pointerdown:h,blur:w});C(()=>{n.onTriggerChange(s.value)});function m(){setTimeout(()=>{c.value=!1},1)}function h(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),c.value=!0,document.addEventListener(`pointerup`,m,{once:!0})}function g(e){e.pointerType!==`touch`&&!l.value&&!i.isPointerInTransitRef.value&&(n.onTriggerEnter(),l.value=!0)}function _(){n.onTriggerLeave(),l.value=!1}function b(e){c.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function w(){n.onClose()}function T(){n.disableClosingTrigger.value||n.onClose()}return(e,r)=>(v(),p(u(R),{"as-child":``,reference:e.reference},{default:o(()=>[x(u(y),O({ref:u(a),"aria-describedby":u(n).open.value?u(n).contentId:void 0,"data-state":u(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},ee(f.value)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),_e=E({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=z(e,t);return(e,t)=>(v(),p(u(pe),O({"data-slot":`tooltip`},u(n)),{default:o(t=>[k(e.$slots,`default`,w(m(t)))]),_:3},16))}}),ve=E({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:0},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=z(j(n,`class`),r);return(e,t)=>(v(),p(u(ge),null,{default:o(()=>[x(u(he),O({"data-slot":`tooltip-content`},{...u(i),...e.$attrs},{class:u(T)(`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-dropdown **:data-[slot=kbd]:rounded-sm bg-foreground text-background z-dropdown w-fit max-w-xs origin-(--reka-tooltip-content-transform-origin)`,n.class)}),{default:o(()=>[k(e.$slots,`default`),x(u(le),{class:`size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-dropdown translate-y-[calc(-50%_-_2px)]`})]),_:3},16,[`class`])]),_:3}))}}),ye=E({__name:`TooltipProvider`,props:{delayDuration:{default:0},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean},content:{}},setup(e){let t=e;return(e,n)=>(v(),p(u(de),w(m(t)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}}),be=E({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(v(),p(u($),O({"data-slot":`tooltip-trigger`},t),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}});export{_e as i,ye as n,ve as r,be as t};
1
+ import{$ as e,E as t,Et as n,It as r,Jt as i,K as a,Ot as o,S as s,Tt as c,Vt as l,Wt as u,Y as d,Yt as f,Z as p,at as m,bt as h,d as g,g as _,ht as v,i as y,m as b,nt as x,o as S,pt as C,qt as w,r as T,rt as E,tt as D,ut as O,vt as k,w as A,x as j,xt as ee}from"./button-BaNRw0cF.js";import{A as te,B as ne,C as re,D as ie,E as M,G as N,H as P,J as F,P as I,R as L,T as R,V as z,w as B}from"./index-COoySiAr.js";function V(e,t){let i=s(!1,300);A(()=>{i.value=!1});let a=r(null),o=_();function c(){a.value=null,i.value=!1}function l(e,t){if(!t)return;let n=e.currentTarget,r={x:e.clientX,y:e.clientY},o=U(r,H(r,n.getBoundingClientRect()),1),s=W(t.getBoundingClientRect());a.value=K([...o,...s]),i.value=!0}return n(n=>{if(e.value&&t.value){let r=e=>l(e,t.value),i=t=>l(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),n(n=>{if(a.value){let r=n=>{if(!a.value||!(n.target instanceof Element))return;let r=n.target,i={x:n.clientX,y:n.clientY},s=e.value?.contains(r)||t.value?.contains(r),l=!G(i,a.value),u=!!r.closest(`[data-grace-area-trigger]`);s?c():(l||u)&&(c(),o.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,r),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:i,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=E({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let n=t;return S(),(t,r)=>(v(),p(u(y),O(n,{width:t.width,height:t.height,viewBox:t.asChild?void 0:`0 0 12 6`,preserveAspectRatio:t.asChild?void 0:`none`}),{default:o(()=>[k(t.$slots,`default`,{},()=>[t.rounded?(v(),e(`path`,J)):(v(),e(`path`,ae))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),se={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ce=E({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let{forwardRef:n}=S(),r=B(),a=d(()=>se[r.placedSide.value]);return(t,s)=>(v(),e(`span`,{ref:e=>{u(r).onArrowChange(e??void 0)},style:i({position:`absolute`,left:u(r).arrowX?.value?`${u(r).arrowX?.value}px`:void 0,top:u(r).arrowY?.value?`${u(r).arrowY?.value}px`:void 0,[a.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[u(r).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[u(r).placedSide.value],visibility:u(r).shouldHideArrow.value?`hidden`:void 0})},[x(oe,O(t.$attrs,{ref:u(n),style:{display:`block`},as:t.as,"as-child":t.asChild,rounded:t.rounded,width:t.width,height:t.height}),{default:o(()=>[k(t.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),le=E({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return S(),(e,n)=>(v(),p(u(ce),w(m(t)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}}),[Y,ue]=F(`TooltipProvider`),de=E({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:n,skipDelayDuration:i,disableHoverableContent:a,disableClosingTrigger:o,ignoreNonKeyboardFocus:s,disabled:c,content:u}=l(e);S();let d=r(!0),f=r(!1),{start:p,stop:m}=t(()=>{d.value=!0},i,{immediate:!1});return ue({isOpenDelayed:d,delayDuration:n,onOpen(){m(),d.value=!1},onClose(){p()},isPointerInTransitRef:f,disableHoverableContent:a,disableClosingTrigger:o,disabled:c,ignoreNonKeyboardFocus:s,content:u}),(e,t)=>k(e.$slots,`default`)}}),X=`tooltip.open`,[Z,fe]=F(`TooltipRoot`),pe=E({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:n}){let i=e,a=n;S();let s=Y(),l=d(()=>i.disableHoverableContent??s.disableHoverableContent.value),f=d(()=>i.disableClosingTrigger??s.disableClosingTrigger.value),m=d(()=>i.disabled??s.disabled.value),h=d(()=>i.delayDuration??s.delayDuration.value),g=d(()=>i.ignoreNonKeyboardFocus??s.ignoreNonKeyboardFocus.value),_=b(i,`open`,a,{defaultValue:i.defaultOpen,passive:i.open===void 0});c(_,e=>{s.onClose&&(e?(s.onOpen(),document.dispatchEvent(new CustomEvent(X))):s.onClose())});let y=r(!1),x=r(),C=d(()=>_.value?y.value?`delayed-open`:`instant-open`:`closed`),{start:w,stop:T}=t(()=>{y.value=!0,_.value=!0},h,{immediate:!1});function E(){T(),y.value=!1,_.value=!0}function D(){T(),_.value=!1}function O(){w()}return fe({contentId:``,open:_,stateAttribute:C,trigger:x,onTriggerChange(e){x.value=e},onTriggerEnter(){s.isOpenDelayed.value?O():E()},onTriggerLeave(){l.value?D():T()},onOpen:E,onClose:D,disableHoverableContent:l,disableClosingTrigger:f,disabled:m,ignoreNonKeyboardFocus:g}),(e,t)=>(v(),p(u(M),null,{default:o(()=>[k(e.$slots,`default`,{open:u(_)})]),_:3}))}}),Q=E({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Z(),s=Y(),{forwardRef:c,currentElement:l}=S(),m=d(()=>n.ariaLabel||l.value?.textContent),h=d(()=>{let{ariaLabel:e,...t}=n;return N(t,s.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return C(()=>{g(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),g(window,X,i.onClose)}),(e,t)=>(v(),p(u(I),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{u(i).disableClosingTrigger.value&&u(i).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=a(()=>{},[`prevent`]),onDismiss:t[3]||=e=>u(i).onClose()},{default:o(()=>[x(u(re),O({ref:u(c),"data-state":u(i).stateAttribute.value},{...e.$attrs,...h.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:o(()=>[k(e.$slots,`default`),x(u(ie),{id:u(i).contentId,role:`tooltip`},{default:o(()=>[D(f(m.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),me=E({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=P(e),{forwardRef:n,currentElement:r}=S(),{trigger:i,onClose:a}=Z(),s=Y(),{isPointerInTransit:c,onPointerExit:l}=V(i,r);return s.isPointerInTransitRef=c,l(()=>{a()}),(e,r)=>(v(),p(Q,O({ref:u(n)},u(t)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}}),he=E({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Z(),a=z(n,r),{forwardRef:s}=S();return(e,t)=>(v(),p(u(L),{present:e.forceMount||u(i).open.value},{default:o(()=>[(v(),p(h(u(i).disableHoverableContent.value?Q:me),O({ref:u(s)},u(a)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ge=E({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(v(),p(u(te),w(m(t)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}}),$=E({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Z(),i=Y();n.contentId||=ne(void 0,`reka-tooltip-content`);let{forwardRef:a,currentElement:s}=S(),c=r(!1),l=r(!1),f=d(()=>n.disabled.value?{}:{click:T,focus:b,pointermove:g,pointerleave:_,pointerdown:h,blur:w});C(()=>{n.onTriggerChange(s.value)});function m(){setTimeout(()=>{c.value=!1},1)}function h(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),c.value=!0,document.addEventListener(`pointerup`,m,{once:!0})}function g(e){e.pointerType!==`touch`&&!l.value&&!i.isPointerInTransitRef.value&&(n.onTriggerEnter(),l.value=!0)}function _(){n.onTriggerLeave(),l.value=!1}function b(e){c.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function w(){n.onClose()}function T(){n.disableClosingTrigger.value||n.onClose()}return(e,r)=>(v(),p(u(R),{"as-child":``,reference:e.reference},{default:o(()=>[x(u(y),O({ref:u(a),"aria-describedby":u(n).open.value?u(n).contentId:void 0,"data-state":u(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},ee(f.value)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),_e=E({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=z(e,t);return(e,t)=>(v(),p(u(pe),O({"data-slot":`tooltip`},u(n)),{default:o(t=>[k(e.$slots,`default`,w(m(t)))]),_:3},16))}}),ve=E({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:0},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=z(j(n,`class`),r);return(e,t)=>(v(),p(u(ge),null,{default:o(()=>[x(u(he),O({"data-slot":`tooltip-content`},{...u(i),...e.$attrs},{class:u(T)(`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-dropdown **:data-[slot=kbd]:rounded-sm bg-foreground text-background z-dropdown w-fit max-w-xs origin-(--reka-tooltip-content-transform-origin)`,n.class)}),{default:o(()=>[k(e.$slots,`default`),x(u(le),{class:`size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-dropdown translate-y-[calc(-50%_-_2px)]`})]),_:3},16,[`class`])]),_:3}))}}),ye=E({__name:`TooltipProvider`,props:{delayDuration:{default:0},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean},content:{}},setup(e){let t=e;return(e,n)=>(v(),p(u(de),w(m(t)),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}}),be=E({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(v(),p(u($),O({"data-slot":`tooltip-trigger`},t),{default:o(()=>[k(e.$slots,`default`)]),_:3},16))}});export{_e as i,ye as n,ve as r,be as t};
@@ -1 +1 @@
1
- import{$ as e,Kt as t,Ot as n,Q as r,V as i,Wt as a,X as o,Yt as s,ht as c,nt as l,q as u,rt as d,tt as f}from"./button-CSFUPP0s.js";import{t as p}from"./Label-67a8eQwX.js";import{_ as m,g as h,h as g,m as _,p as v}from"./index-BXsU7o6J.js";import{t as y}from"./Input-Bu0i-HPR.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)=>(c(),e(`div`,{class:t(d.compact?`space-y-2`:`flex items-end gap-2 flex-wrap`)},[o(`div`,{class:t([d.compact?``:`w-36`,`space-y-1`])},[l(a(p),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(s(a(S)(`providers.concurrency.mode`)),1)]),_:1}),l(a(m),{"model-value":d.mode,"onUpdate:modelValue":x[0]||=e=>C(`update:mode`,e)},{default:n(()=>[l(a(_),{class:`w-full text-xs data-[size=default]:h-7`},{default:n(()=>[l(a(v))]),_:1}),l(a(h),null,{default:n(()=>[l(a(g),{value:`auto`},{default:n(()=>[f(s(a(S)(`providers.concurrency.autoAdaptive`)),1)]),_:1}),l(a(g),{value:`manual`},{default:n(()=>[f(s(a(S)(`providers.concurrency.manual`)),1)]),_:1}),l(a(g),{value:`none`},{default:n(()=>[f(s(a(S)(`providers.concurrency.none`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])],2),d.mode===`none`?r(``,!0):(c(),e(u,{key:0},[o(`div`,{class:t([d.compact?``:`w-28`,`space-y-1`])},[l(a(p),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(s(a(S)(`providers.concurrency.maxConcurrency`)),1)]),_:1}),l(a(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),o(`div`,{class:t([d.compact?``:`w-32`,`space-y-1`])},[l(a(p),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(s(a(S)(`providers.concurrency.queueTimeout`)),1)]),_:1}),l(a(y),{"model-value":d.queueTimeoutMs,type:`number`,min:`0`,placeholder:a(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),o(`div`,{class:t([d.compact?``:`w-32`,`space-y-1`])},[l(a(p),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(s(a(S)(`providers.concurrency.maxQueueSize`)),1)]),_:1}),l(a(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?(c(),e(`div`,b,s(a(S)(`providers.shared.autoHint`)),1)):r(``,!0)],2))}}),S=d({__name:`TransformRulesForm`,props:{injectHeaders:{},dropFields:{},requestDefaults:{},compact:{type:Boolean}},emits:[`update:injectHeaders`,`update:dropFields`,`update:requestDefaults`],setup(r,{emit:u}){let d=u,{t:m}=i();return(i,u)=>(c(),e(`div`,{class:t(r.compact?`space-y-2`:`space-y-3`)},[o(`div`,null,[l(a(p),{class:`text-[11px] text-muted-foreground`},{default:n(()=>[f(s(a(m)(`providers.transform.injectHeaders`)),1)]),_:1}),l(a(y),{"model-value":r.injectHeaders,placeholder:`{"x-custom": "value"}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":u[0]||=e=>d(`update:injectHeaders`,e)},null,8,[`model-value`])]),o(`div`,null,[l(a(p),{class:`text-[11px] text-muted-foreground`},{default:n(()=>[f(s(a(m)(`providers.transform.dropFields`)),1)]),_:1}),l(a(y),{"model-value":r.dropFields,placeholder:`logprobs, frequency_penalty`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":u[1]||=e=>d(`update:dropFields`,e)},null,8,[`model-value`])]),o(`div`,null,[l(a(p),{class:`text-[11px] text-muted-foreground`},{default:n(()=>[f(s(a(m)(`providers.transform.requestDefaults`)),1)]),_:1}),l(a(y),{"model-value":r.requestDefaults,placeholder:`{"max_tokens": 4096}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":u[2]||=e=>d(`update:requestDefaults`,e)},null,8,[`model-value`])])],2))}});export{x as n,S as t};
1
+ import{$ as e,Kt as t,Ot as n,Q as r,V as i,Wt as a,X as o,Yt as s,ht as c,nt as l,q as u,rt as d,tt as f}from"./button-BaNRw0cF.js";import{t as p}from"./Label-_o2ZnCRD.js";import{_ as m,g as h,h as g,m as _,p as v}from"./index-COoySiAr.js";import{t as y}from"./Input-CQAFlthI.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)=>(c(),e(`div`,{class:t(d.compact?`space-y-2`:`flex items-end gap-2 flex-wrap`)},[o(`div`,{class:t([d.compact?``:`w-36`,`space-y-1`])},[l(a(p),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(s(a(S)(`providers.concurrency.mode`)),1)]),_:1}),l(a(m),{"model-value":d.mode,"onUpdate:modelValue":x[0]||=e=>C(`update:mode`,e)},{default:n(()=>[l(a(_),{class:`w-full text-xs data-[size=default]:h-7`},{default:n(()=>[l(a(v))]),_:1}),l(a(h),null,{default:n(()=>[l(a(g),{value:`auto`},{default:n(()=>[f(s(a(S)(`providers.concurrency.autoAdaptive`)),1)]),_:1}),l(a(g),{value:`manual`},{default:n(()=>[f(s(a(S)(`providers.concurrency.manual`)),1)]),_:1}),l(a(g),{value:`none`},{default:n(()=>[f(s(a(S)(`providers.concurrency.none`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])],2),d.mode===`none`?r(``,!0):(c(),e(u,{key:0},[o(`div`,{class:t([d.compact?``:`w-28`,`space-y-1`])},[l(a(p),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(s(a(S)(`providers.concurrency.maxConcurrency`)),1)]),_:1}),l(a(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),o(`div`,{class:t([d.compact?``:`w-32`,`space-y-1`])},[l(a(p),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(s(a(S)(`providers.concurrency.queueTimeout`)),1)]),_:1}),l(a(y),{"model-value":d.queueTimeoutMs,type:`number`,min:`0`,placeholder:a(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),o(`div`,{class:t([d.compact?``:`w-32`,`space-y-1`])},[l(a(p),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(s(a(S)(`providers.concurrency.maxQueueSize`)),1)]),_:1}),l(a(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?(c(),e(`div`,b,s(a(S)(`providers.shared.autoHint`)),1)):r(``,!0)],2))}}),S=d({__name:`TransformRulesForm`,props:{injectHeaders:{},dropFields:{},requestDefaults:{},compact:{type:Boolean}},emits:[`update:injectHeaders`,`update:dropFields`,`update:requestDefaults`],setup(r,{emit:u}){let d=u,{t:m}=i();return(i,u)=>(c(),e(`div`,{class:t(r.compact?`space-y-2`:`space-y-3`)},[o(`div`,null,[l(a(p),{class:`text-[11px] text-muted-foreground`},{default:n(()=>[f(s(a(m)(`providers.transform.injectHeaders`)),1)]),_:1}),l(a(y),{"model-value":r.injectHeaders,placeholder:`{"x-custom": "value"}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":u[0]||=e=>d(`update:injectHeaders`,e)},null,8,[`model-value`])]),o(`div`,null,[l(a(p),{class:`text-[11px] text-muted-foreground`},{default:n(()=>[f(s(a(m)(`providers.transform.dropFields`)),1)]),_:1}),l(a(y),{"model-value":r.dropFields,placeholder:`logprobs, frequency_penalty`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":u[1]||=e=>d(`update:dropFields`,e)},null,8,[`model-value`])]),o(`div`,null,[l(a(p),{class:`text-[11px] text-muted-foreground`},{default:n(()=>[f(s(a(m)(`providers.transform.requestDefaults`)),1)]),_:1}),l(a(y),{"model-value":r.requestDefaults,placeholder:`{"max_tokens": 4096}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":u[2]||=e=>d(`update:requestDefaults`,e)},null,8,[`model-value`])])],2))}});export{x as n,S as t};