llm-simple-router 1.1.2-beta.2 → 1.1.3

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 (74) hide show
  1. package/dist/admin/quick-setup.js +2 -2
  2. package/dist/db/providers.d.ts +5 -1
  3. package/dist/db/providers.js +5 -1
  4. package/dist/proxy/handler/iteration-setup.js +6 -3
  5. package/dist/proxy/orchestration/orchestrator.js +17 -9
  6. package/dist/proxy/proxy-core.d.ts +0 -11
  7. package/dist/proxy/proxy-core.js +2 -63
  8. package/dist/proxy/transport/http.d.ts +2 -16
  9. package/dist/proxy/transport/http.js +22 -34
  10. package/dist/proxy/transport/shared.d.ts +23 -0
  11. package/dist/proxy/transport/shared.js +58 -0
  12. package/dist/proxy/transport/stream.d.ts +1 -1
  13. package/dist/proxy/transport/stream.js +37 -11
  14. package/frontend-dist/assets/{AuthLayout-CNJ18LiO.js → AuthLayout-DgrURhUg.js} +1 -1
  15. package/frontend-dist/assets/{Card-DHdWC9Sr.js → Card-C_9nHSrd.js} +1 -1
  16. package/frontend-dist/assets/{CardContent-D3XiSLZZ.js → CardContent-i69eqvwn.js} +1 -1
  17. package/frontend-dist/assets/{CardTitle-ouEnIzFR.js → CardTitle-BG8tDKg7.js} +1 -1
  18. package/frontend-dist/assets/CascadingModelSelect-DSBog9EX.js +1 -0
  19. package/frontend-dist/assets/{Checkbox-D4B5Gy-L.js → Checkbox-DIo_zvR8.js} +1 -1
  20. package/frontend-dist/assets/{CollapsibleContent-D5uuYzAy.js → CollapsibleContent-vZSsPw6t.js} +1 -1
  21. package/frontend-dist/assets/{CollapsibleTrigger-7lOShWej.js → CollapsibleTrigger-BBdH_cCm.js} +1 -1
  22. package/frontend-dist/assets/{ConcurrencyControl-DSpn8cI_.js → ConcurrencyControl-hsDQfbVn.js} +1 -1
  23. package/frontend-dist/assets/{Dashboard-DaMz3m0K.js → Dashboard-BndYfuJw.js} +1 -1
  24. package/frontend-dist/assets/{Input-DRF4ONbF.js → Input-CCoAeW8B.js} +1 -1
  25. package/frontend-dist/assets/{Label-muHpCvRx.js → Label-C7Hesw43.js} +1 -1
  26. package/frontend-dist/assets/{Login-CuQA8bbc.js → Login-C8ZPAsdy.js} +1 -1
  27. package/frontend-dist/assets/{Logs-CKO3germ.js → Logs-BS0OalCQ.js} +1 -1
  28. package/frontend-dist/assets/{ModelMappings-De98UugX.js → ModelMappings-Ck6Oddbz.js} +1 -1
  29. package/frontend-dist/assets/{Monitor-BzeTXX7u.js → Monitor-D-yoFX7E.js} +1 -1
  30. package/frontend-dist/assets/Providers-CXFMJpnM.js +1 -0
  31. package/frontend-dist/assets/{ProxyEnhancement-CaXVxlxk.js → ProxyEnhancement-BY66st8t.js} +1 -1
  32. package/frontend-dist/assets/QuickSetup-GgmYoihs.js +1 -0
  33. package/frontend-dist/assets/{RetryRules-CZtQYpr0.js → RetryRules-C_dY-UdI.js} +1 -1
  34. package/frontend-dist/assets/{RouterKeys-WAbHBrzu.js → RouterKeys-l9RxPss_.js} +1 -1
  35. package/frontend-dist/assets/{RovingFocusItem-BIoz-v9k.js → RovingFocusItem-8-Pjjqen.js} +1 -1
  36. package/frontend-dist/assets/{Schedules-DgxMv_wm.js → Schedules-B0TVDH59.js} +1 -1
  37. package/frontend-dist/assets/{Separator-_gcj_6Dd.js → Separator-D6RzArbH.js} +1 -1
  38. package/frontend-dist/assets/{Settings-w33AM_0F.js → Settings-BkSAw8ff.js} +1 -1
  39. package/frontend-dist/assets/{Setup-D6c5svHh.js → Setup-38qAFwc9.js} +1 -1
  40. package/frontend-dist/assets/{Skeleton-wP01Qhzi.js → Skeleton-BpwFXs9Z.js} +1 -1
  41. package/frontend-dist/assets/{Switch-BnSoCbqK.js → Switch-BVug67mH.js} +1 -1
  42. package/frontend-dist/assets/{TableHeader-oSu5tayf.js → TableHeader-CARoN-zc.js} +1 -1
  43. package/frontend-dist/assets/{TabsTrigger-CzLaOeN9.js → TabsTrigger-t8wD-SZ9.js} +1 -1
  44. package/frontend-dist/assets/{UnifiedRequestDialog-lCG2BxB4.js → UnifiedRequestDialog-h4e7P7Id.js} +1 -1
  45. package/frontend-dist/assets/{VisuallyHiddenInput-Dz0c537Q.js → VisuallyHiddenInput-CzjlCU82.js} +1 -1
  46. package/frontend-dist/assets/arrow-down-P_02O0zN.js +1 -0
  47. package/frontend-dist/assets/{badge-qilWWy3M.js → badge-CxTrJsDs.js} +1 -1
  48. package/frontend-dist/assets/{button-DhbTyZqO.js → button-CEjoKdKq.js} +2 -2
  49. package/frontend-dist/assets/chevron-right-Bvw4z2Yf.js +1 -0
  50. package/frontend-dist/assets/{dialog-J16vWuXK.js → dialog-DPvcfIzg.js} +1 -1
  51. package/frontend-dist/assets/{image-BAKOQH7r.js → image-DOH8COxk.js} +1 -1
  52. package/frontend-dist/assets/{index-BoaXEmuZ.js → index-DE_N-dT0.js} +2 -2
  53. package/frontend-dist/assets/index-DGJSS9jI.css +1 -0
  54. package/frontend-dist/assets/model-patches-BVZz8hmE.js +1 -0
  55. package/frontend-dist/assets/{pencil-CQiZ13On.js → pencil-BERHubJ1.js} +1 -1
  56. package/frontend-dist/assets/plus-B9mBymA8.js +1 -0
  57. package/frontend-dist/assets/search-uTHGe-LF.js +1 -0
  58. package/frontend-dist/assets/{sparkles-o5rM_OIC.js → sparkles-gPb_SItQ.js} +1 -1
  59. package/frontend-dist/assets/{transform-domain-DczpyJVT.js → transform-domain-C42QlTbk.js} +1 -1
  60. package/frontend-dist/assets/{trash-2-DfV00PQC.js → trash-2-m7vH2ViZ.js} +1 -1
  61. package/frontend-dist/assets/{useClipboard-BEGcEu2g.js → useClipboard-Bzk0ItE3.js} +1 -1
  62. package/frontend-dist/assets/{useLogRetention-BT7mqSLb.js → useLogRetention-I_TUncV5.js} +1 -1
  63. package/frontend-dist/assets/{useProviderGroups-CpH380OR.js → useProviderGroups-bpCq-vsG.js} +1 -1
  64. package/frontend-dist/index.html +3 -3
  65. package/package.json +1 -1
  66. package/frontend-dist/assets/CascadingModelSelect-uCR_78CB.js +0 -1
  67. package/frontend-dist/assets/Providers-C7TMCyLZ.js +0 -1
  68. package/frontend-dist/assets/QuickSetup-9OsD4eib.js +0 -1
  69. package/frontend-dist/assets/arrow-down-DBlAmBEr.js +0 -1
  70. package/frontend-dist/assets/chevron-right-B1eJ5usR.js +0 -1
  71. package/frontend-dist/assets/index-Db9D0WPf.css +0 -1
  72. package/frontend-dist/assets/model-patches-B47btKty.js +0 -1
  73. package/frontend-dist/assets/plus-BVJPX-4z.js +0 -1
  74. package/frontend-dist/assets/search-DzYxIOWW.js +0 -1
@@ -1 +1 @@
1
- import{$ as e,$t as t,Bt as n,Jt as r,Mt as i,W as a,X as o,Xt as s,Y as c,Z as l,at as u,et as d,n as f,nt as p,ot as m,rt as h,st as g,tt as _,xt as v,yt as y,z as b}from"./button-DhbTyZqO.js";import{t as x}from"./plus-BVJPX-4z.js";import{t as S}from"./trash-2-DfV00PQC.js";import{t as C}from"./Label-muHpCvRx.js";import{t as ee}from"./Switch-BnSoCbqK.js";import{_ as w,ct as te,g as T,h as E,m as D,ut as ne,v as O,vt as re}from"./index-BoaXEmuZ.js";import{t as ie}from"./badge-qilWWy3M.js";import{t as k}from"./Input-DRF4ONbF.js";import{t as A}from"./CascadingModelSelect-uCR_78CB.js";import{r as j}from"./transform-domain-DczpyJVT.js";var M=b(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),N=b(`grid-3x3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M3 15h18`,key:`5xshup`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),ae=[`title`],oe={class:`flex items-center gap-1 min-w-0 flex-1 flex-wrap`},se={key:0,class:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-mono bg-primary/10 border border-border text-primary whitespace-nowrap`},P={key:0,class:`text-[10px] opacity-60`},F={class:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-mono bg-muted/30 border border-border text-muted-foreground whitespace-nowrap`},I={class:`text-[10px] font-semibold`},L={class:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-mono border border-dashed border-border text-primary/60 whitespace-nowrap`},R={class:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-mono border border-dashed border-border text-blue-500/60 whitespace-nowrap`},z={class:`text-[10px] text-muted-foreground/30 hidden sm:inline shrink-0 whitespace-nowrap`},B={key:1,class:`space-y-2`},V={class:`flex items-center gap-2`},H={class:`text-[10px] text-muted-foreground/60 shrink-0 w-10 uppercase tracking-wider font-medium`},U={key:1,class:`flex-1 flex items-center gap-1.5`},W={class:`pt-0.5`},G={class:`flex items-center gap-1 mb-1`},K={class:`text-[10px] font-medium text-muted-foreground/70 uppercase tracking-wider`},ce={class:`flex items-center gap-2`},le={class:`flex-1`},ue={key:0,class:`flex items-center gap-1 pl-7 py-0.5`},de={class:`text-[9px] text-orange-400/50`},fe={class:`pt-2 mt-1 border-t border-dashed border-primary/15`},pe={class:`flex items-center gap-1.5 mb-1`},me={class:`text-[10px] font-medium text-primary/60 uppercase tracking-wider`},he={class:`text-[9px] text-primary/40 hidden sm:inline`},ge={key:0,class:`flex items-center gap-2`},_e={class:`flex-1`},ve={class:`pt-2 mt-1 border-t border-dashed border-blue-500/15`},ye={class:`flex items-center gap-1.5 mb-1`},be={class:`text-[10px] font-medium text-blue-500/60 uppercase tracking-wider`},xe={key:0,class:`flex items-center gap-2`},Se={class:`text-xs shrink-0 w-5 text-center px-0.5 py-0.5 rounded bg-blue-500/6 text-blue-500/60`},Ce={class:`flex-1`},we={key:2,class:`mt-2 px-2.5 py-2 rounded border-[1px] border-orange-400/25 bg-orange-400/5 flex gap-2`},Te={class:`text-[10px] leading-relaxed space-y-0.5`},Ee={class:`text-orange-400 font-medium`},De={class:`text-muted-foreground/60`},Oe={class:`text-muted-foreground/40`},ke=6,q=g({__name:`MappingEntryEditor`,props:{entry:{},providerGroups:{},expanded:{type:Boolean},editableClientModel:{type:Boolean,default:!1}},emits:[`update:targets`,`update:clientModel`,`update:multimodalFallback`,`toggle-active`,`remove`,`expand`],setup(g,{emit:b}){let{t:C}=a(),w=g,T=b,E=n(!1),D=n(``);function O(){w.editableClientModel&&(D.value=w.entry.clientModel,E.value=!0)}function j(){let e=D.value.trim();e&&e!==w.entry.clientModel&&T(`update:clientModel`,e),E.value=!1}function q(){E.value=!1}function J(e){return e===`__new__`?null:w.providerGroups.find(t=>t.provider.id===e)?.provider.name??e.slice(0,ke)}function Y(){let e=w.providerGroups[0];T(`update:targets`,[...w.entry.targets,{backend_model:e?.models[0]?.name??``,provider_id:e?.provider.id??``}])}function Ae(e){w.entry.targets.length<=1||T(`update:targets`,w.entry.targets.filter((t,n)=>n!==e))}function je(e,t){let n=[...w.entry.targets];n[e]={...n[e],provider_id:t.provider_id,backend_model:t.model},T(`update:targets`,n)}function Me(){let e=w.providerGroups[0];T(`update:targets`,w.entry.targets.map((t,n)=>n===0?{...t,overflow_provider_id:e?.provider.id??``,overflow_model:e?.models[0]?.name??``}:t))}function X(e){T(`update:targets`,w.entry.targets.map((t,n)=>{if(n===0){if(e)return{...t,overflow_provider_id:e.provider_id,overflow_model:e.model};let{overflow_provider_id:n,overflow_model:r,...i}=t;return i}return t}))}function Z(){let e=w.providerGroups[0];T(`update:multimodalFallback`,{provider_id:e?.provider.id??``,backend_model:``})}function Ne(e){T(`update:multimodalFallback`,{provider_id:e.provider_id,backend_model:e.model})}function Pe(){T(`update:multimodalFallback`,void 0)}let Fe=e(()=>{switch(w.entry.tag){case`def`:return`bg-primary/15 text-primary`;case`auto`:return`bg-green-500/15 text-green-500`;case`cust`:return`bg-blue-500/15 text-blue-500`;case`existing`:return`bg-muted/40 text-muted-foreground`;default:return`bg-muted/40 text-muted-foreground`}}),Ie=e(()=>{switch(w.entry.tag){case`def`:return C(`providers.shared.tagDefault`);case`auto`:return C(`providers.shared.tagAuto`);case`cust`:return C(`providers.shared.tagCustom`);case`existing`:return C(`providers.shared.tagExisting`);default:return``}}),Q=e(()=>!!w.entry.targets[0]?.overflow_model),$=e(()=>!!w.entry.multimodalFallback?.backend_model);return(e,n)=>(y(),h(`div`,null,[g.expanded?(y(),h(`div`,B,[d(`div`,V,[d(`span`,H,t(r(C)(`mappings.editor.clientLabel`)),1),E.value?(y(),h(`div`,{key:0,class:`flex-1 flex items-center gap-1`,onClick:n[5]||=o(()=>{},[`stop`])},[m(r(k),{modelValue:D.value,"onUpdate:modelValue":n[4]||=e=>D.value=e,class:`h-7 flex-1 text-xs font-mono border-[1px] border-border`,placeholder:r(C)(`mappings.editor.clientInputPlaceholder`),onKeydown:[c(o(j,[`prevent`]),[`enter`]),c(o(q,[`prevent`]),[`escape`])],onBlur:j,autofocus:``},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):(y(),h(`div`,U,[d(`span`,{class:s([`font-mono text-xs font-semibold text-foreground`,{"cursor-pointer hover:text-primary transition-colors":g.editableClientModel}]),onClick:O},t(g.entry.clientModel),3),g.editableClientModel?(y(),_(r(f),{key:0,variant:`ghost`,size:`xs`,class:`text-[10px] text-muted-foreground/40`,onClick:o(O,[`stop`])},{default:i(()=>[u(t(r(C)(`mappings.editor.edit`)),1)]),_:1})):p(``,!0)]))]),d(`div`,W,[d(`div`,G,[m(r(te),{class:`size-3 text-muted-foreground/50`}),d(`span`,K,t(r(C)(`mappings.editor.failoverChain`)),1)]),(y(!0),h(l,null,v(g.entry.targets,(e,a)=>(y(),h(`div`,{key:a,class:`space-y-0`},[d(`div`,ce,[d(`span`,{class:s([`text-xs font-medium shrink-0 w-5 text-center px-0.5 py-0.5 rounded`,a===0?`bg-primary/10 text-primary`:`bg-muted/40 text-muted-foreground`])},t(a===0?`①`:a===1?`②`:a===2?`③`:`${a+1}`),3),d(`div`,le,[m(A,{providers:g.providerGroups,"model-value":{provider_id:e.provider_id,model:e.backend_model},compact:``,placeholder:r(C)(`providers.shared.selectModel`),"onUpdate:modelValue":e=>je(a,e)},null,8,[`providers`,`model-value`,`placeholder`,`onUpdate:modelValue`])]),a>0&&g.entry.targets.length>1?(y(),_(r(f),{key:0,variant:`ghost`,size:`icon-xs`,class:`shrink-0 text-muted-foreground/30 hover:text-destructive`,onClick:e=>Ae(a)},{default:i(()=>[m(r(S),{class:`size-3`})]),_:1},8,[`onClick`])):p(``,!0)]),a<g.entry.targets.length-1?(y(),h(`div`,ue,[n[13]||=d(`div`,{class:`w-px h-1.5 bg-orange-400/30`},null,-1),d(`span`,de,t(r(C)(`mappings.editor.failoverOnError`)),1)])):p(``,!0)]))),128)),m(r(f),{variant:`ghost`,class:`flex items-center justify-center gap-1 w-full py-1 mt-0.5 text-xs text-muted-foreground/40 border-[1px] border-dashed border-border rounded hover:text-primary hover:border-primary/40`,onClick:Y},{default:i(()=>[m(r(x),{class:`size-3`}),u(` `+t(r(C)(`mappings.addBackup`)),1)]),_:1})]),d(`div`,fe,[d(`div`,pe,[m(r(re),{class:`size-3 text-primary/50`}),d(`span`,me,t(r(C)(`mappings.editor.contextOverflow`)),1),d(`span`,he,t(r(C)(`mappings.editor.contextOverflowHint`)),1)]),Q.value?(y(),h(`div`,ge,[n[14]||=d(`span`,{class:`text-xs shrink-0 w-5 text-center px-0.5 py-0.5 rounded bg-primary/6 text-primary/60`},`↓`,-1),d(`div`,_e,[m(A,{providers:g.providerGroups,"model-value":g.entry.targets[0]?.overflow_provider_id&&g.entry.targets[0]?.overflow_model?{provider_id:g.entry.targets[0].overflow_provider_id,model:g.entry.targets[0].overflow_model}:void 0,compact:``,dashed:``,placeholder:r(C)(`providers.shared.overflowPlaceholder`),"onUpdate:modelValue":n[6]||=e=>X(e)},null,8,[`providers`,`model-value`,`placeholder`])]),m(r(f),{variant:`ghost`,size:`icon-xs`,class:`shrink-0 text-muted-foreground/30 hover:text-destructive`,onClick:n[7]||=e=>X(void 0)},{default:i(()=>[m(r(S),{class:`size-3`})]),_:1})])):(y(),_(r(f),{key:1,variant:`ghost`,size:`xs`,class:`text-xs text-muted-foreground/50 hover:text-primary/60`,onClick:Me},{default:i(()=>[m(r(x),{class:`size-3`}),u(` `+t(r(C)(`providers.shared.addOverflow`)),1)]),_:1}))]),d(`div`,ve,[d(`div`,ye,[m(r(N),{class:`size-3 text-blue-500/50`}),d(`span`,be,t(r(C)(`mappings.editor.multimodalFallback`)),1),$.value?(y(),_(r(ie),{key:0,variant:`outline`,class:`text-[9px] px-1.5 py-0 leading-none text-primary/60 border-[1px] border-primary/20`},{default:i(()=>[u(t(r(C)(`mappings.multimodalFallback.configured`)),1)]),_:1})):p(``,!0)]),$.value?(y(),h(`div`,xe,[d(`span`,Se,[m(r(N),{class:`size-2.5`})]),d(`div`,Ce,[m(A,{providers:g.providerGroups,"model-value":{provider_id:g.entry.multimodalFallback.provider_id,model:g.entry.multimodalFallback.backend_model},compact:``,dashed:``,placeholder:r(C)(`mappings.multimodalFallback.selectProviderModel`),"onUpdate:modelValue":n[8]||=e=>Ne(e)},null,8,[`providers`,`model-value`,`placeholder`])]),m(r(f),{variant:`ghost`,size:`icon-xs`,class:`shrink-0 text-muted-foreground/30 hover:text-destructive`,onClick:Pe},{default:i(()=>[m(r(S),{class:`size-3`})]),_:1})])):(y(),_(r(f),{key:1,variant:`ghost`,size:`xs`,class:`text-xs text-muted-foreground/50 hover:text-primary/60`,onClick:Z},{default:i(()=>[m(r(x),{class:`size-3`}),u(` `+t(r(C)(`mappings.multimodalFallback.add`)),1)]),_:1})),$.value?(y(),h(`div`,we,[m(r(ne),{class:`size-3.5 text-orange-400 shrink-0 mt-0.5`}),d(`div`,Te,[d(`div`,Ee,t(r(C)(`mappings.multimodalFallback.sessionLockWarning`)),1),d(`div`,De,t(r(C)(`mappings.multimodalFallback.sessionLockReason`)),1),d(`div`,Oe,t(r(C)(`mappings.multimodalFallback.costSuggestion`)),1)])])):p(``,!0)])])):(y(),h(`div`,{key:0,class:`flex items-center gap-2 cursor-pointer select-none min-h-[28px]`,onClick:n[3]||=e=>T(`expand`)},[d(`span`,{class:`font-mono text-xs font-semibold text-foreground min-w-[90px] truncate shrink-0`,title:g.entry.clientModel},t(g.entry.clientModel),9,ae),m(r(M),{class:`size-3 text-muted-foreground/30 shrink-0`}),d(`div`,oe,[g.entry.targets.length>0?(y(),h(`span`,se,[n[9]||=d(`span`,{class:`text-[10px] font-semibold`},`①`,-1),u(` `+t(g.entry.targets[0].backend_model)+` `,1),J(g.entry.targets[0].provider_id)?(y(),h(`span`,P,t(J(g.entry.targets[0].provider_id)),1)):p(``,!0)])):p(``,!0),(y(!0),h(l,null,v(g.entry.targets.slice(1),(e,r)=>(y(),h(l,{key:`fo-`+r},[n[10]||=d(`span`,{class:`text-orange-400/40 text-xs shrink-0`},`|`,-1),d(`span`,F,[d(`span`,I,t(r===0?`②`:r===1?`③`:`${r+2}`),1),u(` `+t(e.backend_model),1)])],64))),128)),Q.value?(y(),h(l,{key:1},[n[11]||=d(`span`,{class:`text-muted-foreground/30 text-xs shrink-0`},`|`,-1),d(`span`,L,` ↓ `+t(g.entry.targets[0].overflow_model),1)],64)):p(``,!0),$.value?(y(),h(l,{key:2},[n[12]||=d(`span`,{class:`text-muted-foreground/30 text-xs shrink-0`},`|`,-1),d(`span`,R,[m(r(N),{class:`size-2.5`}),u(` `+t(g.entry.multimodalFallback.backend_model),1)])],64)):p(``,!0)]),d(`span`,{class:s([`text-[10px] px-1.5 py-px rounded font-medium leading-none shrink-0`,Fe.value])},t(Ie.value),3),d(`div`,{class:`shrink-0 flex items-center`,onClick:n[1]||=o(()=>{},[`stop`])},[m(r(ee),{"model-value":g.entry.active,"onUpdate:modelValue":n[0]||=e=>T(`toggle-active`),class:`scale-75`},null,8,[`model-value`])]),m(r(f),{variant:`ghost`,size:`icon-xs`,class:`shrink-0 text-muted-foreground/20 hover:text-destructive`,onClick:n[2]||=o(e=>T(`remove`),[`stop`])},{default:i(()=>[m(r(S),{class:`size-3`})]),_:1}),d(`span`,z,t(r(C)(`mappings.editor.clickToEdit`)),1)]))]))}}),J={key:1,class:`text-[10px] text-muted-foreground leading-snug`},Y=g({__name:`ConcurrencyControl`,props:{modelValue:{},compact:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(n,{emit:o}){let{t:c}=a(),f=n,g=o;function _(e){g(`update:modelValue`,{...f.modelValue,...e})}let v=e(()=>f.modelValue.mode??j.mode),b=e(()=>f.modelValue.max_concurrency??j.max_concurrency),x=e(()=>f.modelValue.queue_timeout_ms??j.queue_timeout_ms),S=e(()=>f.modelValue.max_queue_size??j.max_queue_size);return(e,a)=>(y(),h(`div`,{class:s(n.compact?`space-y-2`:`flex items-end gap-2 flex-wrap`)},[d(`div`,{class:s([n.compact?``:`w-36`,`space-y-1`])},[m(r(C),{class:`text-xs text-muted-foreground`},{default:i(()=>[u(t(r(c)(`providers.concurrency.mode`)),1)]),_:1}),m(r(O),{"model-value":v.value,"onUpdate:modelValue":a[0]||=e=>_({mode:e})},{default:i(()=>[m(r(E),{class:`w-full text-xs data-[size=default]:h-7`},{default:i(()=>[m(r(D))]),_:1}),m(r(w),null,{default:i(()=>[m(r(T),{value:`auto`},{default:i(()=>[u(t(r(c)(`providers.concurrency.autoAdaptive`)),1)]),_:1}),m(r(T),{value:`manual`},{default:i(()=>[u(t(r(c)(`providers.concurrency.manual`)),1)]),_:1}),m(r(T),{value:`none`},{default:i(()=>[u(t(r(c)(`providers.concurrency.none`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])],2),v.value===`none`?p(``,!0):(y(),h(l,{key:0},[d(`div`,{class:s([n.compact?``:`w-24`,`space-y-1`])},[m(r(C),{class:`text-xs text-muted-foreground`},{default:i(()=>[u(t(r(c)(`providers.concurrency.maxConcurrency`)),1)]),_:1}),m(r(k),{"model-value":b.value,type:`number`,min:`1`,max:`100`,class:`text-xs md:text-xs md:text-xs h-7`,"onUpdate:modelValue":a[1]||=e=>_({max_concurrency:Number(e)})},null,8,[`model-value`])],2),d(`div`,{class:s([n.compact?``:`w-30`,`space-y-1`])},[m(r(C),{class:`text-xs text-muted-foreground`},{default:i(()=>[u(t(r(c)(`providers.concurrency.queueTimeout`)),1)]),_:1}),m(r(k),{"model-value":x.value,type:`number`,min:`0`,placeholder:r(c)(`providers.shared.queueTimeoutPlaceholder`),class:`font-mono text-xs md:text-xs md:text-xs h-7`,"onUpdate:modelValue":a[2]||=e=>_({queue_timeout_ms:Number(e)})},null,8,[`model-value`,`placeholder`])],2),d(`div`,{class:s([n.compact?``:`w-30`,`space-y-1`])},[m(r(C),{class:`text-xs text-muted-foreground`},{default:i(()=>[u(t(r(c)(`providers.concurrency.maxQueueSize`)),1)]),_:1}),m(r(k),{"model-value":S.value,type:`number`,min:`1`,max:`1000`,class:`text-xs md:text-xs md:text-xs h-7`,"onUpdate:modelValue":a[3]||=e=>_({max_queue_size:Number(e)})},null,8,[`model-value`])],2)],64)),v.value===`auto`&&!n.compact?(y(),h(`div`,J,t(r(c)(`providers.shared.autoHint`)),1)):p(``,!0)],2))}});export{M as i,q as n,N as r,Y as t};
1
+ import{$ as e,$t as t,Bt as n,Jt as r,Mt as i,W as a,X as o,Xt as s,Y as c,Z as l,at as u,et as d,n as f,nt as p,ot as m,rt as h,st as g,tt as _,xt as v,yt as y,z as b}from"./button-CEjoKdKq.js";import{t as x}from"./plus-B9mBymA8.js";import{t as S}from"./trash-2-m7vH2ViZ.js";import{t as C}from"./Label-C7Hesw43.js";import{t as ee}from"./Switch-BVug67mH.js";import{_ as w,ct as te,g as T,h as E,m as D,ut as ne,v as O,vt as re}from"./index-DE_N-dT0.js";import{t as ie}from"./badge-CxTrJsDs.js";import{t as k}from"./Input-CCoAeW8B.js";import{t as A}from"./CascadingModelSelect-DSBog9EX.js";import{r as j}from"./transform-domain-C42QlTbk.js";var M=b(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),N=b(`grid-3x3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M3 15h18`,key:`5xshup`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),ae=[`title`],oe={class:`flex items-center gap-1 min-w-0 flex-1 flex-wrap`},se={key:0,class:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-mono bg-primary/10 border border-border text-primary whitespace-nowrap`},P={key:0,class:`text-[10px] opacity-60`},F={class:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-mono bg-muted/30 border border-border text-muted-foreground whitespace-nowrap`},I={class:`text-[10px] font-semibold`},L={class:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-mono border border-dashed border-border text-primary/60 whitespace-nowrap`},R={class:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-mono border border-dashed border-border text-blue-500/60 whitespace-nowrap`},z={class:`text-[10px] text-muted-foreground/30 hidden sm:inline shrink-0 whitespace-nowrap`},B={key:1,class:`space-y-2`},V={class:`flex items-center gap-2`},H={class:`text-[10px] text-muted-foreground/60 shrink-0 w-10 uppercase tracking-wider font-medium`},U={key:1,class:`flex-1 flex items-center gap-1.5`},W={class:`pt-0.5`},G={class:`flex items-center gap-1 mb-1`},K={class:`text-[10px] font-medium text-muted-foreground/70 uppercase tracking-wider`},ce={class:`flex items-center gap-2`},le={class:`flex-1`},ue={key:0,class:`flex items-center gap-1 pl-7 py-0.5`},de={class:`text-[9px] text-orange-400/50`},fe={class:`pt-2 mt-1 border-t border-dashed border-primary/15`},pe={class:`flex items-center gap-1.5 mb-1`},me={class:`text-[10px] font-medium text-primary/60 uppercase tracking-wider`},he={class:`text-[9px] text-primary/40 hidden sm:inline`},ge={key:0,class:`flex items-center gap-2`},_e={class:`flex-1`},ve={class:`pt-2 mt-1 border-t border-dashed border-blue-500/15`},ye={class:`flex items-center gap-1.5 mb-1`},be={class:`text-[10px] font-medium text-blue-500/60 uppercase tracking-wider`},xe={key:0,class:`flex items-center gap-2`},Se={class:`text-xs shrink-0 w-5 text-center px-0.5 py-0.5 rounded bg-blue-500/6 text-blue-500/60`},Ce={class:`flex-1`},we={key:2,class:`mt-2 px-2.5 py-2 rounded border-[1px] border-orange-400/25 bg-orange-400/5 flex gap-2`},Te={class:`text-[10px] leading-relaxed space-y-0.5`},Ee={class:`text-orange-400 font-medium`},De={class:`text-muted-foreground/60`},Oe={class:`text-muted-foreground/40`},ke=6,q=g({__name:`MappingEntryEditor`,props:{entry:{},providerGroups:{},expanded:{type:Boolean},editableClientModel:{type:Boolean,default:!1}},emits:[`update:targets`,`update:clientModel`,`update:multimodalFallback`,`toggle-active`,`remove`,`expand`],setup(g,{emit:b}){let{t:C}=a(),w=g,T=b,E=n(!1),D=n(``);function O(){w.editableClientModel&&(D.value=w.entry.clientModel,E.value=!0)}function j(){let e=D.value.trim();e&&e!==w.entry.clientModel&&T(`update:clientModel`,e),E.value=!1}function q(){E.value=!1}function J(e){return e===`__new__`?null:w.providerGroups.find(t=>t.provider.id===e)?.provider.name??e.slice(0,ke)}function Y(){let e=w.providerGroups[0];T(`update:targets`,[...w.entry.targets,{backend_model:e?.models[0]?.name??``,provider_id:e?.provider.id??``}])}function Ae(e){w.entry.targets.length<=1||T(`update:targets`,w.entry.targets.filter((t,n)=>n!==e))}function je(e,t){let n=[...w.entry.targets];n[e]={...n[e],provider_id:t.provider_id,backend_model:t.model},T(`update:targets`,n)}function Me(){let e=w.providerGroups[0];T(`update:targets`,w.entry.targets.map((t,n)=>n===0?{...t,overflow_provider_id:e?.provider.id??``,overflow_model:e?.models[0]?.name??``}:t))}function X(e){T(`update:targets`,w.entry.targets.map((t,n)=>{if(n===0){if(e)return{...t,overflow_provider_id:e.provider_id,overflow_model:e.model};let{overflow_provider_id:n,overflow_model:r,...i}=t;return i}return t}))}function Z(){let e=w.providerGroups[0];T(`update:multimodalFallback`,{provider_id:e?.provider.id??``,backend_model:``})}function Ne(e){T(`update:multimodalFallback`,{provider_id:e.provider_id,backend_model:e.model})}function Pe(){T(`update:multimodalFallback`,void 0)}let Fe=e(()=>{switch(w.entry.tag){case`def`:return`bg-primary/15 text-primary`;case`auto`:return`bg-green-500/15 text-green-500`;case`cust`:return`bg-blue-500/15 text-blue-500`;case`existing`:return`bg-muted/40 text-muted-foreground`;default:return`bg-muted/40 text-muted-foreground`}}),Ie=e(()=>{switch(w.entry.tag){case`def`:return C(`providers.shared.tagDefault`);case`auto`:return C(`providers.shared.tagAuto`);case`cust`:return C(`providers.shared.tagCustom`);case`existing`:return C(`providers.shared.tagExisting`);default:return``}}),Q=e(()=>!!w.entry.targets[0]?.overflow_model),$=e(()=>!!w.entry.multimodalFallback?.backend_model);return(e,n)=>(y(),h(`div`,null,[g.expanded?(y(),h(`div`,B,[d(`div`,V,[d(`span`,H,t(r(C)(`mappings.editor.clientLabel`)),1),E.value?(y(),h(`div`,{key:0,class:`flex-1 flex items-center gap-1`,onClick:n[5]||=o(()=>{},[`stop`])},[m(r(k),{modelValue:D.value,"onUpdate:modelValue":n[4]||=e=>D.value=e,class:`h-7 flex-1 text-xs font-mono border-[1px] border-border`,placeholder:r(C)(`mappings.editor.clientInputPlaceholder`),onKeydown:[c(o(j,[`prevent`]),[`enter`]),c(o(q,[`prevent`]),[`escape`])],onBlur:j,autofocus:``},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):(y(),h(`div`,U,[d(`span`,{class:s([`font-mono text-xs font-semibold text-foreground`,{"cursor-pointer hover:text-primary transition-colors":g.editableClientModel}]),onClick:O},t(g.entry.clientModel),3),g.editableClientModel?(y(),_(r(f),{key:0,variant:`ghost`,size:`xs`,class:`text-[10px] text-muted-foreground/40`,onClick:o(O,[`stop`])},{default:i(()=>[u(t(r(C)(`mappings.editor.edit`)),1)]),_:1})):p(``,!0)]))]),d(`div`,W,[d(`div`,G,[m(r(te),{class:`size-3 text-muted-foreground/50`}),d(`span`,K,t(r(C)(`mappings.editor.failoverChain`)),1)]),(y(!0),h(l,null,v(g.entry.targets,(e,a)=>(y(),h(`div`,{key:a,class:`space-y-0`},[d(`div`,ce,[d(`span`,{class:s([`text-xs font-medium shrink-0 w-5 text-center px-0.5 py-0.5 rounded`,a===0?`bg-primary/10 text-primary`:`bg-muted/40 text-muted-foreground`])},t(a===0?`①`:a===1?`②`:a===2?`③`:`${a+1}`),3),d(`div`,le,[m(A,{providers:g.providerGroups,"model-value":{provider_id:e.provider_id,model:e.backend_model},compact:``,placeholder:r(C)(`providers.shared.selectModel`),"onUpdate:modelValue":e=>je(a,e)},null,8,[`providers`,`model-value`,`placeholder`,`onUpdate:modelValue`])]),a>0&&g.entry.targets.length>1?(y(),_(r(f),{key:0,variant:`ghost`,size:`icon-xs`,class:`shrink-0 text-muted-foreground/30 hover:text-destructive`,onClick:e=>Ae(a)},{default:i(()=>[m(r(S),{class:`size-3`})]),_:1},8,[`onClick`])):p(``,!0)]),a<g.entry.targets.length-1?(y(),h(`div`,ue,[n[13]||=d(`div`,{class:`w-px h-1.5 bg-orange-400/30`},null,-1),d(`span`,de,t(r(C)(`mappings.editor.failoverOnError`)),1)])):p(``,!0)]))),128)),m(r(f),{variant:`ghost`,class:`flex items-center justify-center gap-1 w-full py-1 mt-0.5 text-xs text-muted-foreground/40 border-[1px] border-dashed border-border rounded hover:text-primary hover:border-primary/40`,onClick:Y},{default:i(()=>[m(r(x),{class:`size-3`}),u(` `+t(r(C)(`mappings.addBackup`)),1)]),_:1})]),d(`div`,fe,[d(`div`,pe,[m(r(re),{class:`size-3 text-primary/50`}),d(`span`,me,t(r(C)(`mappings.editor.contextOverflow`)),1),d(`span`,he,t(r(C)(`mappings.editor.contextOverflowHint`)),1)]),Q.value?(y(),h(`div`,ge,[n[14]||=d(`span`,{class:`text-xs shrink-0 w-5 text-center px-0.5 py-0.5 rounded bg-primary/6 text-primary/60`},`↓`,-1),d(`div`,_e,[m(A,{providers:g.providerGroups,"model-value":g.entry.targets[0]?.overflow_provider_id&&g.entry.targets[0]?.overflow_model?{provider_id:g.entry.targets[0].overflow_provider_id,model:g.entry.targets[0].overflow_model}:void 0,compact:``,dashed:``,placeholder:r(C)(`providers.shared.overflowPlaceholder`),"onUpdate:modelValue":n[6]||=e=>X(e)},null,8,[`providers`,`model-value`,`placeholder`])]),m(r(f),{variant:`ghost`,size:`icon-xs`,class:`shrink-0 text-muted-foreground/30 hover:text-destructive`,onClick:n[7]||=e=>X(void 0)},{default:i(()=>[m(r(S),{class:`size-3`})]),_:1})])):(y(),_(r(f),{key:1,variant:`ghost`,size:`xs`,class:`text-xs text-muted-foreground/50 hover:text-primary/60`,onClick:Me},{default:i(()=>[m(r(x),{class:`size-3`}),u(` `+t(r(C)(`providers.shared.addOverflow`)),1)]),_:1}))]),d(`div`,ve,[d(`div`,ye,[m(r(N),{class:`size-3 text-blue-500/50`}),d(`span`,be,t(r(C)(`mappings.editor.multimodalFallback`)),1),$.value?(y(),_(r(ie),{key:0,variant:`outline`,class:`text-[9px] px-1.5 py-0 leading-none text-primary/60 border-[1px] border-primary/20`},{default:i(()=>[u(t(r(C)(`mappings.multimodalFallback.configured`)),1)]),_:1})):p(``,!0)]),$.value?(y(),h(`div`,xe,[d(`span`,Se,[m(r(N),{class:`size-2.5`})]),d(`div`,Ce,[m(A,{providers:g.providerGroups,"model-value":{provider_id:g.entry.multimodalFallback.provider_id,model:g.entry.multimodalFallback.backend_model},compact:``,dashed:``,placeholder:r(C)(`mappings.multimodalFallback.selectProviderModel`),"onUpdate:modelValue":n[8]||=e=>Ne(e)},null,8,[`providers`,`model-value`,`placeholder`])]),m(r(f),{variant:`ghost`,size:`icon-xs`,class:`shrink-0 text-muted-foreground/30 hover:text-destructive`,onClick:Pe},{default:i(()=>[m(r(S),{class:`size-3`})]),_:1})])):(y(),_(r(f),{key:1,variant:`ghost`,size:`xs`,class:`text-xs text-muted-foreground/50 hover:text-primary/60`,onClick:Z},{default:i(()=>[m(r(x),{class:`size-3`}),u(` `+t(r(C)(`mappings.multimodalFallback.add`)),1)]),_:1})),$.value?(y(),h(`div`,we,[m(r(ne),{class:`size-3.5 text-orange-400 shrink-0 mt-0.5`}),d(`div`,Te,[d(`div`,Ee,t(r(C)(`mappings.multimodalFallback.sessionLockWarning`)),1),d(`div`,De,t(r(C)(`mappings.multimodalFallback.sessionLockReason`)),1),d(`div`,Oe,t(r(C)(`mappings.multimodalFallback.costSuggestion`)),1)])])):p(``,!0)])])):(y(),h(`div`,{key:0,class:`flex items-center gap-2 cursor-pointer select-none min-h-[28px]`,onClick:n[3]||=e=>T(`expand`)},[d(`span`,{class:`font-mono text-xs font-semibold text-foreground min-w-[90px] truncate shrink-0`,title:g.entry.clientModel},t(g.entry.clientModel),9,ae),m(r(M),{class:`size-3 text-muted-foreground/30 shrink-0`}),d(`div`,oe,[g.entry.targets.length>0?(y(),h(`span`,se,[n[9]||=d(`span`,{class:`text-[10px] font-semibold`},`①`,-1),u(` `+t(g.entry.targets[0].backend_model)+` `,1),J(g.entry.targets[0].provider_id)?(y(),h(`span`,P,t(J(g.entry.targets[0].provider_id)),1)):p(``,!0)])):p(``,!0),(y(!0),h(l,null,v(g.entry.targets.slice(1),(e,r)=>(y(),h(l,{key:`fo-`+r},[n[10]||=d(`span`,{class:`text-orange-400/40 text-xs shrink-0`},`|`,-1),d(`span`,F,[d(`span`,I,t(r===0?`②`:r===1?`③`:`${r+2}`),1),u(` `+t(e.backend_model),1)])],64))),128)),Q.value?(y(),h(l,{key:1},[n[11]||=d(`span`,{class:`text-muted-foreground/30 text-xs shrink-0`},`|`,-1),d(`span`,L,` ↓ `+t(g.entry.targets[0].overflow_model),1)],64)):p(``,!0),$.value?(y(),h(l,{key:2},[n[12]||=d(`span`,{class:`text-muted-foreground/30 text-xs shrink-0`},`|`,-1),d(`span`,R,[m(r(N),{class:`size-2.5`}),u(` `+t(g.entry.multimodalFallback.backend_model),1)])],64)):p(``,!0)]),d(`span`,{class:s([`text-[10px] px-1.5 py-px rounded font-medium leading-none shrink-0`,Fe.value])},t(Ie.value),3),d(`div`,{class:`shrink-0 flex items-center`,onClick:n[1]||=o(()=>{},[`stop`])},[m(r(ee),{"model-value":g.entry.active,"onUpdate:modelValue":n[0]||=e=>T(`toggle-active`),class:`scale-75`},null,8,[`model-value`])]),m(r(f),{variant:`ghost`,size:`icon-xs`,class:`shrink-0 text-muted-foreground/20 hover:text-destructive`,onClick:n[2]||=o(e=>T(`remove`),[`stop`])},{default:i(()=>[m(r(S),{class:`size-3`})]),_:1}),d(`span`,z,t(r(C)(`mappings.editor.clickToEdit`)),1)]))]))}}),J={key:1,class:`text-[10px] text-muted-foreground leading-snug`},Y=g({__name:`ConcurrencyControl`,props:{modelValue:{},compact:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(n,{emit:o}){let{t:c}=a(),f=n,g=o;function _(e){g(`update:modelValue`,{...f.modelValue,...e})}let v=e(()=>f.modelValue.mode??j.mode),b=e(()=>f.modelValue.max_concurrency??j.max_concurrency),x=e(()=>f.modelValue.queue_timeout_ms??j.queue_timeout_ms),S=e(()=>f.modelValue.max_queue_size??j.max_queue_size);return(e,a)=>(y(),h(`div`,{class:s(n.compact?`space-y-2`:`flex items-end gap-2 flex-wrap`)},[d(`div`,{class:s([n.compact?``:`w-36`,`space-y-1`])},[m(r(C),{class:`text-xs text-muted-foreground`},{default:i(()=>[u(t(r(c)(`providers.concurrency.mode`)),1)]),_:1}),m(r(O),{"model-value":v.value,"onUpdate:modelValue":a[0]||=e=>_({mode:e})},{default:i(()=>[m(r(E),{class:`w-full text-xs data-[size=default]:h-7`},{default:i(()=>[m(r(D))]),_:1}),m(r(w),null,{default:i(()=>[m(r(T),{value:`auto`},{default:i(()=>[u(t(r(c)(`providers.concurrency.autoAdaptive`)),1)]),_:1}),m(r(T),{value:`manual`},{default:i(()=>[u(t(r(c)(`providers.concurrency.manual`)),1)]),_:1}),m(r(T),{value:`none`},{default:i(()=>[u(t(r(c)(`providers.concurrency.none`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])],2),v.value===`none`?p(``,!0):(y(),h(l,{key:0},[d(`div`,{class:s([n.compact?``:`w-24`,`space-y-1`])},[m(r(C),{class:`text-xs text-muted-foreground`},{default:i(()=>[u(t(r(c)(`providers.concurrency.maxConcurrency`)),1)]),_:1}),m(r(k),{"model-value":b.value,type:`number`,min:`1`,max:`100`,class:`text-xs md:text-xs md:text-xs h-7`,"onUpdate:modelValue":a[1]||=e=>_({max_concurrency:Number(e)})},null,8,[`model-value`])],2),d(`div`,{class:s([n.compact?``:`w-30`,`space-y-1`])},[m(r(C),{class:`text-xs text-muted-foreground`},{default:i(()=>[u(t(r(c)(`providers.concurrency.queueTimeout`)),1)]),_:1}),m(r(k),{"model-value":x.value,type:`number`,min:`0`,placeholder:r(c)(`providers.shared.queueTimeoutPlaceholder`),class:`font-mono text-xs md:text-xs md:text-xs h-7`,"onUpdate:modelValue":a[2]||=e=>_({queue_timeout_ms:Number(e)})},null,8,[`model-value`,`placeholder`])],2),d(`div`,{class:s([n.compact?``:`w-30`,`space-y-1`])},[m(r(C),{class:`text-xs text-muted-foreground`},{default:i(()=>[u(t(r(c)(`providers.concurrency.maxQueueSize`)),1)]),_:1}),m(r(k),{"model-value":S.value,type:`number`,min:`1`,max:`1000`,class:`text-xs md:text-xs md:text-xs h-7`,"onUpdate:modelValue":a[3]||=e=>_({max_queue_size:Number(e)})},null,8,[`model-value`])],2)],64)),v.value===`auto`&&!n.compact?(y(),h(`div`,J,t(r(c)(`providers.shared.autoHint`)),1)):p(``,!0)],2))}});export{M as i,q as n,N as r,Y as t};