llm-simple-router 0.9.20 → 0.9.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/setup.js +2 -1
- package/dist/middleware/admin-auth.js +2 -1
- package/dist/utils/cookie-secure.d.ts +3 -0
- package/dist/utils/cookie-secure.js +8 -0
- package/frontend-dist/assets/CardContent-DmBQARma.js +1 -0
- package/frontend-dist/assets/CardTitle-DgwtSVqy.js +1 -0
- package/frontend-dist/assets/Checkbox-DgWzyASL.js +1 -0
- package/frontend-dist/assets/CollapsibleContent-BjJrE5cf.js +1 -0
- package/frontend-dist/assets/CollapsibleTrigger-C73cozLg.js +1 -0
- package/frontend-dist/assets/{Dashboard-niqNN72b.js → Dashboard-D47Lzd5i.js} +2 -2
- package/frontend-dist/assets/{Input--tQLJqtT.js → Input-glS226Q6.js} +1 -1
- package/frontend-dist/assets/Label-B2lstY9k.js +1 -0
- package/frontend-dist/assets/Login-B5v_CIaw.js +1 -0
- package/frontend-dist/assets/Logs-CC6e8ty3.js +1 -0
- package/frontend-dist/assets/MappingEntryEditor-auxWvl8S.js +1 -0
- package/frontend-dist/assets/{ModelCard-BzFBBbml.js → ModelCard-DixuS062.js} +1 -1
- package/frontend-dist/assets/ModelMappings-DtmMS2o6.js +1 -0
- package/frontend-dist/assets/Monitor-F6DD03LF.js +1 -0
- package/frontend-dist/assets/Providers-DZkl5ryZ.js +1 -0
- package/frontend-dist/assets/ProxyEnhancement-C1uXuPZm.js +1 -0
- package/frontend-dist/assets/QuickSetup-BEeZJQ3g.js +1 -0
- package/frontend-dist/assets/RetryRules-plJdXlmH.js +1 -0
- package/frontend-dist/assets/RouterKeys-CLh6XISQ.js +1 -0
- package/frontend-dist/assets/{RovingFocusItem-CP9lqnFp.js → RovingFocusItem-BnqO1JTY.js} +1 -1
- package/frontend-dist/assets/Schedules-btnuRbYc.js +1 -0
- package/frontend-dist/assets/Settings-CbQaUkQ5.js +6 -0
- package/frontend-dist/assets/Setup-8yOUQ97d.js +1 -0
- package/frontend-dist/assets/Switch-BwPbL6O4.js +1 -0
- package/frontend-dist/assets/TooltipTrigger-D4gYyjGF.js +1 -0
- package/frontend-dist/assets/TransformRulesForm-C6PBk8zI.js +1 -0
- package/frontend-dist/assets/UnifiedRequestDialog-rmWxp09D.js +3 -0
- package/frontend-dist/assets/VisuallyHiddenInput-BPy71v35.js +1 -0
- package/frontend-dist/assets/{button-CDY3J7p5.js → button-DRFSckEU.js} +2 -2
- package/frontend-dist/assets/{copy-DyhMBltz.js → copy-BsWNnxok.js} +1 -1
- package/frontend-dist/assets/dialog-DxoN_Irc.js +1 -0
- package/frontend-dist/assets/index-Dr-BkaVu.js +3 -0
- package/frontend-dist/assets/{trash-2-BvFFjoxL.js → trash-2-DZ6KuutY.js} +1 -1
- package/frontend-dist/assets/{useClipboard-BJeJ8Sah.js → useClipboard-B0s-K67s.js} +1 -1
- package/frontend-dist/assets/{useLogRetention-BIEahe9Z.js → useLogRetention-BS-AFvlE.js} +1 -1
- package/frontend-dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend-dist/assets/CardContent-uWoTAlVi.js +0 -1
- package/frontend-dist/assets/CardTitle-Cr8POTL5.js +0 -1
- package/frontend-dist/assets/Checkbox-D2Z17AP8.js +0 -1
- package/frontend-dist/assets/CollapsibleContent-BqCmqNIs.js +0 -1
- package/frontend-dist/assets/CollapsibleTrigger-B--uk4iR.js +0 -1
- package/frontend-dist/assets/Label-C4V5wJj3.js +0 -1
- package/frontend-dist/assets/Login-EWJo401l.js +0 -1
- package/frontend-dist/assets/Logs-Pvhkbrof.js +0 -1
- package/frontend-dist/assets/MappingEntryEditor-Ch7ahw0-.js +0 -1
- package/frontend-dist/assets/ModelMappings-DeNasUhB.js +0 -1
- package/frontend-dist/assets/Monitor-C5FdCHhI.js +0 -1
- package/frontend-dist/assets/Providers-TZCIlKs9.js +0 -1
- package/frontend-dist/assets/ProxyEnhancement-D-pHVAHL.js +0 -1
- package/frontend-dist/assets/QuickSetup-CdKq6YXW.js +0 -1
- package/frontend-dist/assets/RetryRules-Dm0WmD9Z.js +0 -1
- package/frontend-dist/assets/RouterKeys-CVFtDedl.js +0 -1
- package/frontend-dist/assets/Schedules-BB2cufFc.js +0 -1
- package/frontend-dist/assets/Settings-Dc8uJ5Il.js +0 -6
- package/frontend-dist/assets/Setup-15RN4xTV.js +0 -1
- package/frontend-dist/assets/Switch-GUFZnjj9.js +0 -1
- package/frontend-dist/assets/TooltipTrigger-DhZJrVvO.js +0 -1
- package/frontend-dist/assets/TransformRulesForm-D0BEkLYX.js +0 -1
- package/frontend-dist/assets/UnifiedRequestDialog-txL71pYo.js +0 -3
- package/frontend-dist/assets/VisuallyHiddenInput-Itdmiinr.js +0 -1
- package/frontend-dist/assets/dialog-B3bc_Iev.js +0 -1
- package/frontend-dist/assets/index-BZ7-9gPE.js +0 -3
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Bt as e,Ct as t,Dt as n,F as r,G as i,H as a,Ht as o,J as s,K as c,Q as l,Rt as u,U as d,Ut as f,X as p,Y as m,Z as h,bt as g,ct as _,ft as v,jt as y,k as b,lt as x,n as S,q as C,ut as w}from"./button-CDY3J7p5.js";import{n as T,t as ee}from"./UnifiedRequestDialog-txL71pYo.js";import{t as E}from"./copy-DyhMBltz.js";import{i as D,n as O,r as k,t as A}from"./TooltipTrigger-DhZJrVvO.js";import{c as j,d as te,f as M,l as N,s as P,u as F}from"./dialog-B3bc_Iev.js";import{b as I,ct as L,nt as R}from"./index-BZ7-9gPE.js";import{n as z,t as B}from"./CardContent-uWoTAlVi.js";import{n as V,t as H}from"./CardTitle-Cr8POTL5.js";import{t as ne}from"./useClipboard-BJeJ8Sah.js";var U={class:`grid grid-cols-2 lg:grid-cols-4 gap-4 mb-6`},W={class:`text-sm text-muted-foreground`},G={class:`text-2xl font-bold text-foreground mt-1`},K={class:`text-xs text-muted-foreground mt-1`},q={class:`text-sm text-muted-foreground`},re={class:`text-2xl font-bold text-foreground mt-1`},ie={class:`text-xs text-muted-foreground mt-1`},ae={class:`text-sm text-muted-foreground`},oe={class:`text-2xl font-bold text-foreground mt-1`},J={class:`text-xs text-muted-foreground mt-1`},Y={class:`text-sm text-muted-foreground`},X={class:`text-2xl font-bold text-foreground mt-1`},Z={class:`text-xs text-muted-foreground mt-1`},se=l({__name:`MonitorHeader`,props:{stats:{},activeCount:{},streamCount:{}},setup(e){let{t:n}=r(),a=e,o=i(()=>!a.stats||a.stats.totalRequests===0?`0.0`:(a.stats.errorCount/a.stats.totalRequests*100).toFixed(1)),s=i(()=>!a.stats||a.stats.totalRequests===0?`0.0`:(a.stats.retryCount/a.stats.totalRequests*100).toFixed(1)),l=i(()=>a.stats?a.stats.p50LatencyMs.toFixed(0):`--`);return(r,i)=>(w(),m(`div`,U,[h(u(z),null,{default:t(()=>[h(u(B),{class:`p-4`},{default:t(()=>[c(`p`,W,f(u(n)(`monitor.header.activeRequests`)),1),c(`p`,G,f(e.activeCount),1),c(`p`,K,f(u(n)(`monitor.header.streamNonStream`,{stream:e.streamCount,nonStream:e.activeCount-e.streamCount})),1)]),_:1})]),_:1}),h(u(z),null,{default:t(()=>[h(u(B),{class:`p-4`},{default:t(()=>[c(`p`,q,f(u(n)(`monitor.header.errorRate`)),1),c(`p`,re,f(o.value)+`%`,1),c(`p`,ie,f(e.stats?.errorCount??0)+` / `+f(e.stats?.totalRequests??0),1)]),_:1})]),_:1}),h(u(z),null,{default:t(()=>[h(u(B),{class:`p-4`},{default:t(()=>[c(`p`,ae,f(u(n)(`monitor.header.p50Latency`)),1),c(`p`,oe,f(l.value)+`ms`,1),c(`p`,J,f(u(n)(`monitor.header.avgLatency`,{value:e.stats?.avgLatencyMs?.toFixed(0)??`--`})),1)]),_:1})]),_:1}),h(u(z),null,{default:t(()=>[h(u(B),{class:`p-4`},{default:t(()=>[c(`p`,Y,f(u(n)(`monitor.header.retryRate`)),1),c(`p`,X,f(s.value)+`%`,1),c(`p`,Z,f(e.stats?.retryCount??0)+` / `+f(e.stats?.totalRequests??0),1)]),_:1})]),_:1})]))}}),Q={class:`space-y-3`},ce={key:0,class:`text-sm text-muted-foreground`},le={class:`flex items-center justify-between text-sm`},ue={class:`font-medium text-foreground`},de={class:`text-muted-foreground`},fe={class:`text-xs`},pe={key:0,class:`h-2 bg-muted rounded-full overflow-hidden`},me={key:1,class:`flex gap-3 text-xs text-muted-foreground`},he=l({__name:`ConcurrencyPanel`,props:{providers:{}},setup(t){let{t:n}=r();function i(e){return e.adaptiveLimit??e.maxConcurrency}function a(e,t){let n=e/t;return n>=1?`bg-red-500`:n>=.8?`bg-orange-500`:n>=.5?`bg-yellow-500`:`bg-green-500`}return(r,l)=>(w(),m(`div`,Q,[t.providers.length===0?(w(),m(`div`,ce,f(u(n)(`monitor.concurrencyPanel.noData`)),1)):s(``,!0),(w(!0),m(d,null,v(t.providers,t=>(w(),m(`div`,{key:t.providerId,class:`space-y-1`},[c(`div`,le,[c(`span`,ue,f(t.providerName),1),c(`span`,de,[t.adaptiveEnabled?(w(),m(d,{key:0},[p(f(t.active)+` / `+f(t.adaptiveLimit??t.maxConcurrency)+` `,1),c(`span`,fe,`(`+f(u(n)(`monitor.concurrencyPanel.adaptive`))+`)`,1)],64)):t.maxConcurrency===0?(w(),m(d,{key:1},[p(f(u(n)(`monitor.concurrencyPanel.unlimited`)),1)],64)):(w(),m(d,{key:2},[p(f(t.active)+` / `+f(t.maxConcurrency),1)],64))])]),t.maxConcurrency>0?(w(),m(`div`,pe,[c(`div`,{class:e([`h-full rounded-full transition-all duration-300`,a(t.active,i(t))]),style:o({width:`${Math.min(100,t.active/i(t)*100)}%`})},null,6)])):s(``,!0),t.maxConcurrency>0?(w(),m(`div`,me,[c(`span`,null,f(u(n)(`monitor.concurrencyPanel.queued`,{count:t.queued})),1),c(`span`,null,f(u(n)(`monitor.concurrencyPanel.queueLimit`,{limit:t.adaptiveLimit??t.maxQueueSize})),1)])):s(``,!0)]))),128))]))}}),ge={key:0,class:`text-sm text-muted-foreground`},_e={key:1,class:`grid grid-cols-2 gap-3 text-sm`},ve={class:`text-muted-foreground`},ye={class:`font-medium text-foreground`},be={class:`text-muted-foreground`},xe={class:`font-medium text-foreground`},Se={class:`col-span-2`},Ce={class:`flex items-center justify-between`},we={class:`text-muted-foreground`},Te={class:`text-muted-foreground`},Ee={class:`h-2 bg-muted rounded-full overflow-hidden mt-1`},De={class:`text-muted-foreground`},Oe={class:`font-medium text-foreground`},ke={class:`text-muted-foreground`},Ae={class:`font-medium text-foreground`},je={class:`col-span-2`},Me={class:`text-muted-foreground`},Ne={class:`font-medium text-foreground`},Pe=l({__name:`RuntimePanel`,props:{runtime:{}},setup(e){let{t}=r(),n=e,a=i(()=>!n.runtime||n.runtime.memoryUsage.heapTotal===0?0:Math.min(100,n.runtime.memoryUsage.heapUsed/n.runtime.memoryUsage.heapTotal*100));function s(e){let t=Math.floor(e/1e3);return`${Math.floor(t/3600)}h ${Math.floor(t%3600/60)}m ${t%60}s`}function l(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/(1024*1024)).toFixed(1)}MB`}return(n,r)=>e.runtime?(w(),m(`div`,_e,[c(`div`,null,[c(`p`,ve,f(u(t)(`monitor.runtimePanel.uptime`)),1),c(`p`,ye,f(s(e.runtime.uptimeMs)),1)]),c(`div`,null,[c(`p`,be,f(u(t)(`monitor.runtimePanel.memoryRss`)),1),c(`p`,xe,f(l(e.runtime.memoryUsage.rss)),1)]),c(`div`,Se,[c(`div`,Ce,[c(`p`,we,f(u(t)(`monitor.runtimePanel.heapUsage`)),1),c(`p`,Te,f(l(e.runtime.memoryUsage.heapUsed))+` / `+f(l(e.runtime.memoryUsage.heapTotal)),1)]),c(`div`,Ee,[c(`div`,{class:`h-full bg-primary rounded-full transition-all duration-300`,style:o({width:`${a.value}%`})},null,4)])]),c(`div`,null,[c(`p`,De,f(u(t)(`monitor.runtimePanel.activeHandles`)),1),c(`p`,Oe,f(e.runtime.activeHandles),1)]),c(`div`,null,[c(`p`,ke,f(u(t)(`monitor.runtimePanel.activeRequests`)),1),c(`p`,Ae,f(e.runtime.activeRequests),1)]),c(`div`,je,[c(`p`,Me,f(u(t)(`monitor.runtimePanel.eventLoopDelay`)),1),c(`p`,Ne,f(e.runtime.eventLoopDelayMs.toFixed(2))+`ms`,1)])])):(w(),m(`div`,ge,f(u(t)(`monitor.runtimePanel.noData`)),1))}}),Fe={key:0,class:`text-sm text-muted-foreground`},Ie={key:1,class:`space-y-2`},Le={class:`flex items-center justify-between text-sm`},Re={class:`text-muted-foreground`},ze={class:`h-2 bg-muted rounded-full overflow-hidden`},Be=l({__name:`StatusCodePanel`,props:{byStatusCode:{}},setup(t){let{t:n}=r(),a=t,s=i(()=>Object.values(a.byStatusCode).reduce((e,t)=>e+t,0)),l=i(()=>{let e=a.byStatusCode,t=s.value||1,r=p(e,200,299),i=p(e,400,499)-(e[429]||0),o=e[429]||0,c=p(e,500,599);return[{label:n(`monitor.statusCodes.success`),count:r,percent:(r/t*100).toFixed(1),textClass:`text-green-600 dark:text-green-400`,barClass:`bg-green-500`},{label:n(`monitor.statusCodes.clientError`),count:i,percent:(i/t*100).toFixed(1),textClass:`text-yellow-600 dark:text-yellow-400`,barClass:`bg-yellow-500`},{label:n(`monitor.statusCodes.rateLimited`),count:o,percent:(o/t*100).toFixed(1),textClass:`text-orange-600 dark:text-orange-400`,barClass:`bg-orange-500`},{label:n(`monitor.statusCodes.serverError`),count:c,percent:(c/t*100).toFixed(1),textClass:`text-red-600 dark:text-red-400`,barClass:`bg-red-500`}].filter(e=>e.count>0)});function p(e,t,n){let r=0;for(let[i,a]of Object.entries(e)){let e=Number(i);e>=t&&e<=n&&(r+=a)}return r}return(t,r)=>s.value===0?(w(),m(`div`,Fe,f(u(n)(`monitor.statusCodes.noData`)),1)):(w(),m(`div`,Ie,[(w(!0),m(d,null,v(l.value,t=>(w(),m(`div`,{key:t.label,class:`space-y-1`},[c(`div`,Le,[c(`span`,{class:e(t.textClass)},f(t.label),3),c(`span`,Re,f(t.count)+` (`+f(t.percent)+`%) `,1)]),c(`div`,ze,[c(`div`,{class:e([`h-full rounded-full transition-all duration-300`,t.barClass]),style:o({width:`${t.percent}%`})},null,6)])]))),128))]))}}),Ve={key:0,class:`text-sm text-muted-foreground py-4 text-center`},He={key:1,class:`text-sm text-muted-foreground py-4 text-center`},Ue={class:`flex flex-wrap gap-1`},We={key:0,class:`text-xs text-muted-foreground`},Ge=l({__name:`ProviderStatsTable`,props:{stats:{}},setup(n){let{t:a}=r(),o=n,l=i(()=>o.stats?Object.entries(o.stats.byProvider).filter(([e])=>typeof e==`string`).map(([e,t])=>({id:e,name:t.providerName,stats:t,successRate:t.totalRequests>0?t.successCount/t.totalRequests*100:0,retryRate:t.totalRequests>0?t.retryCount/t.totalRequests*100:0})):[]);return(r,i)=>n.stats?l.value.length===0?(w(),m(`div`,He,f(u(a)(`monitor.providerTable.noProviders`)),1)):(w(),C(u(M),{key:2},{default:t(()=>[h(u(P),null,{default:t(()=>[h(u(N),null,{default:t(()=>[h(u(j),null,{default:t(()=>[...i[0]||=[p(`Provider`,-1)]]),_:1}),h(u(j),{class:`text-right`},{default:t(()=>[p(f(u(a)(`monitor.providerTable.requests`)),1)]),_:1}),h(u(j),{class:`text-right`},{default:t(()=>[p(f(u(a)(`monitor.providerTable.successRate`)),1)]),_:1}),h(u(j),{class:`text-right`},{default:t(()=>[p(f(u(a)(`monitor.providerTable.avgLatency`)),1)]),_:1}),h(u(j),{class:`text-right`},{default:t(()=>[p(f(u(a)(`monitor.providerTable.retryRate`)),1)]),_:1}),h(u(j),null,{default:t(()=>[p(f(u(a)(`monitor.providerTable.topErrors`)),1)]),_:1})]),_:1})]),_:1}),h(u(te),null,{default:t(()=>[(w(!0),m(d,null,v(l.value,n=>(w(),C(u(N),{key:n.id},{default:t(()=>[h(u(F),{class:`font-medium`},{default:t(()=>[p(f(n.name),1)]),_:2},1024),h(u(F),{class:`text-right`},{default:t(()=>[p(f(n.stats.totalRequests),1)]),_:2},1024),h(u(F),{class:`text-right`},{default:t(()=>[c(`span`,{class:e(n.successRate>=95?`text-green-600 dark:text-green-400`:n.successRate>=80?`text-yellow-600 dark:text-yellow-400`:`text-red-500 dark:text-red-400`)},f(n.successRate.toFixed(1))+`% `,3)]),_:2},1024),h(u(F),{class:`text-right`},{default:t(()=>[p(f(n.stats.avgLatencyMs.toFixed(0))+`ms`,1)]),_:2},1024),h(u(F),{class:`text-right`},{default:t(()=>[c(`span`,{class:e(n.retryRate>10?`text-yellow-600 dark:text-yellow-400`:``)},f(n.retryRate.toFixed(1))+`% `,3)]),_:2},1024),h(u(F),null,{default:t(()=>[c(`div`,Ue,[(w(!0),m(d,null,v(n.stats.topErrors.slice(0,3),e=>(w(),C(u(I),{key:e.code,variant:`destructive`,class:`text-xs`},{default:t(()=>[p(f(e.code)+` (`+f(e.count)+`) `,1)]),_:2},1024))),128)),n.stats.topErrors.length===0?(w(),m(`span`,We,`--`)):s(``,!0)])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):(w(),m(`div`,Ve,f(u(a)(`monitor.providerTable.noData`)),1))}});function Ke(e,t,n){let r=null,i=null;function a(){if(!r){r=new EventSource(e),r.onopen=()=>{n?.onOpen?.()};for(let[e,n]of Object.entries(t))r.addEventListener(e,n);r.onerror=()=>{o(),n?.onClose?.(),i=setTimeout(a,3e3)}}}function o(){i&&=(clearTimeout(i),null),r&&=(r.close(),null)}return x(()=>{o(),n?.onClose?.()}),{connect:a,disconnect:o}}var qe=200;function Je(){let e=y([]),t=y([]),n=y(null),r=y([]),a=y(null),o=y(!1),s=i(()=>e.value.filter(e=>e.isStream).length),c=i(()=>e.value.filter(e=>!e.queued)),l=i(()=>e.value.filter(e=>e.queued===!0));function u(i){let o;try{o=JSON.parse(i.data)}catch{return}switch(i.type){case`request_start`:{let n=o;t.value.some(e=>e.id===n.id)||e.value.unshift(n);break}case`request_update`:e.value=o;break;case`request_complete`:{let n=o;e.value=e.value.filter(e=>e.id!==n.id),t.value.unshift(n),t.value.length>qe&&(t.value.length=qe);break}case`concurrency_update`:r.value=o;break;case`stats_update`:n.value=o;break;case`stream_content_update`:{let t=o;for(let n of t){let t=e.value.find(e=>e.id===n.id);t&&(n.streamContent&&(t.streamContent=n.streamContent),n.streamMetrics&&(t.streamMetrics=n.streamMetrics))}break}case`runtime_update`:a.value=o;break}}function d(){o.value=!0}function f(){o.value=!1}async function p(){try{let[i,o,s,c,l]=await Promise.allSettled([b.getMonitorActive(),b.getMonitorRecent(),b.getMonitorStats(),b.getMonitorConcurrency(),b.getMonitorRuntime()]);i.status===`fulfilled`&&(e.value=i.value),o.status===`fulfilled`&&(t.value=o.value),s.status===`fulfilled`&&(n.value=s.value),c.status===`fulfilled`&&(r.value=c.value),l.status===`fulfilled`&&(a.value=l.value)}catch(e){console.error(`Failed to load initial monitor data:`,e),n.value=null,r.value=[],a.value=null}}let m=y(null),h=y(!1),_=y(0);async function v(n){let r=++_.value,i=e.value.find(e=>e.id===n)??t.value.find(e=>e.id===n);if(!i){m.value=null;return}m.value=null,h.value=!0;try{if(i.status===`pending`){try{let e=await b.getMonitorRequest(n);if(r!==_.value)return;m.value={clientRequest:e.clientRequest??void 0,upstreamRequest:e.upstreamRequest??void 0}}catch(e){if(e?.response?.status!==404)throw e;if(r!==_.value)return;let t=await b.getLogDetail(n);if(r!==_.value)return;m.value=t.client_request?{clientRequest:t.client_request}:null}return}let e=await b.getLogDetail(n);if(r!==_.value)return;let t;if(!i.isStream){let n=e.upstream_response;if(n)try{let e=JSON.parse(n);t=(typeof e.body==`string`?e.body:n)??void 0}catch{t=n}}m.value={responseBody:t,clientRequest:e.client_request??void 0,upstreamRequest:e.upstream_request??void 0}}catch(e){if(r!==_.value)return;console.warn(`Failed to load log detail:`,e),m.value=null}finally{r===_.value&&(h.value=!1)}}let x=y(null),S=y(!1);function C(e){x.value=e,S.value=!0,v(e)}let w=i(()=>x.value?e.value.find(e=>e.id===x.value)??t.value.find(e=>e.id===x.value)??null:null);return g(()=>w.value?.status,(e,t)=>{t===`pending`&&(e===`completed`||e===`failed`)&&v(x.value)}),{activeRequests:e,recentCompleted:t,stats:n,concurrency:r,runtime:a,connected:o,streamCount:s,streamingRequests:c,queuedRequests:l,selectedRequestId:x,selectedRequest:w,requestDetailOpen:S,selectRequest:C,logDetailData:m,nonStreamBodyLoading:h,handleSSEMessage:u,handleSSEOpen:d,handleSSEClose:f,loadInitialData:p}}function Ye(e){switch(e){case`pending`:return`default`;case`failed`:return`destructive`;case`completed`:return`secondary`;default:return`outline`}}function Xe(e){let{t}=L.global;switch(e){case`pending`:return t(`common.statusPending`);case`failed`:return t(`common.statusFailed`);case`completed`:return t(`common.statusCompleted`);default:return e}}var Ze={class:`p-6`},Qe={class:`flex items-center justify-between mb-4`},$e={class:`text-lg font-semibold text-foreground`},et={class:`flex items-center gap-2`},tt={class:`grid grid-cols-3 gap-4 mb-6`},nt={class:`flex items-center justify-between`},rt={key:0,class:`text-sm text-muted-foreground py-2`},it=[`onClick`],at={class:`text-sm text-foreground truncate flex-1`},ot={class:`text-xs text-muted-foreground shrink-0`},st={class:`flex items-center justify-between`},ct={key:0,class:`text-sm text-muted-foreground py-2`},lt=[`onClick`],ut={class:`text-sm text-foreground truncate flex-1`},dt={class:`text-xs text-muted-foreground shrink-0`},ft={class:`flex items-center justify-between`},pt={key:0,class:`text-sm text-muted-foreground py-2`},mt=[`onClick`],ht={class:`text-sm text-foreground truncate flex-1`},gt={class:`text-xs text-muted-foreground shrink-0`},_t={class:`grid grid-cols-1 lg:grid-cols-3 gap-4`},$=1e3,vt=l({__name:`Monitor`,setup(i){let{t:o}=r(),{activeRequests:l,recentCompleted:g,stats:b,concurrency:j,runtime:te,connected:M,streamCount:N,streamingRequests:P,queuedRequests:F,selectedRequestId:L,selectedRequest:U,requestDetailOpen:W,selectRequest:G,logDetailData:K,handleSSEMessage:q,handleSSEOpen:re,handleSSEClose:ie,loadInitialData:ae}=Je(),{connect:oe}=Ke(`/admin/api/monitor/stream`,{request_start:q,request_update:q,request_complete:q,concurrency_update:q,stats_update:q,runtime_update:q,stream_content_update:q},{onOpen:re,onClose:ie}),{copied:J,copy:Y}=ne(),X=y(Date.now()),Z=null;function Q(e){return((X.value-e)/$).toFixed(1)}function ce(e){return e.completedAt?((e.completedAt-e.startTime)/$).toFixed(1)+`s`:`--`}return _(async()=>{await ae(),oe(),Z=setInterval(()=>{X.value=Date.now()},$)}),x(()=>{Z&&=(clearInterval(Z),null)}),(r,i)=>(w(),m(`div`,Ze,[c(`div`,Qe,[c(`h2`,$e,f(u(o)(`monitor.title`)),1),c(`div`,et,[h(u(I),{variant:u(M)?`default`:`destructive`},{default:t(()=>[p(f(u(M)?u(o)(`monitor.connected`):u(o)(`monitor.disconnected`)),1)]),_:1},8,[`variant`])])]),h(se,{stats:u(b),"active-count":u(l).length,"stream-count":u(N)},null,8,[`stats`,`active-count`,`stream-count`]),c(`div`,tt,[h(u(z),null,{default:t(()=>[h(u(V),{class:`pb-2`},{default:t(()=>[c(`div`,nt,[h(u(H),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.activeRequests`)),1)]),_:1}),h(u(I),{variant:`secondary`},{default:t(()=>[p(f(u(P).length),1)]),_:1})])]),_:1}),h(u(B),null,{default:t(()=>[h(u(T),{class:`h-64`},{default:t(()=>[u(P).length===0?(w(),m(`div`,rt,f(u(o)(`monitor.noActiveRequests`)),1)):s(``,!0),(w(!0),m(d,null,v(u(P),n=>(w(),m(`div`,{key:n.id,class:e([`flex items-center gap-2 py-2 px-2 rounded cursor-pointer hover:bg-muted/50 transition-colors`,{"bg-muted":u(L)===n.id}]),onClick:e=>u(G)(n.id)},[h(u(I),{variant:u(Ye)(n.status),class:`shrink-0`},{default:t(()=>[p(f(u(Xe)(n.status)),1)]),_:2},1032,[`variant`]),c(`span`,at,f(n.model),1),h(u(I),{variant:`outline`,class:`shrink-0 text-xs`},{default:t(()=>[p(f(n.providerName),1)]),_:2},1024),c(`span`,ot,f(Q(n.startTime))+`s`,1),n.isStream?(w(),C(u(I),{key:0,variant:`outline`,class:`shrink-0 text-xs`},{default:t(()=>[...i[1]||=[p(`SSE`,-1)]]),_:1})):s(``,!0),h(u(O),{"delay-duration":300},{default:t(()=>[h(u(D),null,{default:t(()=>[h(u(A),{"as-child":``},{default:t(()=>[h(u(S),{variant:`ghost`,size:`icon-xs`,class:`shrink-0`,onClick:a(e=>u(Y)(n.id),[`stop`])},{default:t(()=>[u(J)?(w(),C(u(R),{key:0,class:`size-3 text-success`})):(w(),C(u(E),{key:1,class:`size-3`}))]),_:1},8,[`onClick`])]),_:2},1024),h(u(k),null,{default:t(()=>[p(f(u(o)(`monitor.copyId`)),1)]),_:1})]),_:2},1024)]),_:2},1024)],10,it))),128))]),_:1})]),_:1})]),_:1}),h(u(z),null,{default:t(()=>[h(u(V),{class:`pb-2`},{default:t(()=>[c(`div`,st,[h(u(H),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.queuedRequests`)),1)]),_:1}),h(u(I),{variant:`secondary`},{default:t(()=>[p(f(u(F).length),1)]),_:1})])]),_:1}),h(u(B),null,{default:t(()=>[h(u(T),{class:`h-64`},{default:t(()=>[u(F).length===0?(w(),m(`div`,ct,f(u(o)(`monitor.noQueuedRequests`)),1)):s(``,!0),(w(!0),m(d,null,v(u(F),n=>(w(),m(`div`,{key:n.id,class:e([`flex items-center gap-2 py-2 px-2 rounded cursor-pointer hover:bg-muted/50 transition-colors`,{"bg-muted":u(L)===n.id}]),onClick:e=>u(G)(n.id)},[h(u(I),{variant:`outline`,class:`shrink-0`},{default:t(()=>[p(f(u(o)(`monitor.queued`)),1)]),_:1}),c(`span`,ut,f(n.model),1),h(u(I),{variant:`outline`,class:`shrink-0 text-xs`},{default:t(()=>[p(f(n.providerName),1)]),_:2},1024),c(`span`,dt,f(Q(n.startTime))+`s`,1),h(u(O),{"delay-duration":300},{default:t(()=>[h(u(D),null,{default:t(()=>[h(u(A),{"as-child":``},{default:t(()=>[h(u(S),{variant:`ghost`,size:`icon-xs`,class:`shrink-0`,onClick:a(e=>u(Y)(n.id),[`stop`])},{default:t(()=>[u(J)?(w(),C(u(R),{key:0,class:`size-3 text-success`})):(w(),C(u(E),{key:1,class:`size-3`}))]),_:1},8,[`onClick`])]),_:2},1024),h(u(k),null,{default:t(()=>[p(f(u(o)(`monitor.copyId`)),1)]),_:1})]),_:2},1024)]),_:2},1024)],10,lt))),128))]),_:1})]),_:1})]),_:1}),h(u(z),null,{default:t(()=>[h(u(V),{class:`pb-2`},{default:t(()=>[c(`div`,ft,[h(u(H),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.completed`)),1)]),_:1}),h(u(I),{variant:`secondary`},{default:t(()=>[p(f(u(g).length),1)]),_:1})])]),_:1}),h(u(B),null,{default:t(()=>[h(u(T),{class:`h-64`},{default:t(()=>[u(g).length===0?(w(),m(`div`,pt,f(u(o)(`monitor.noCompletedRequests`)),1)):s(``,!0),(w(!0),m(d,null,v(u(g),n=>(w(),m(`div`,{key:n.id,class:e([`flex items-center gap-2 py-1.5 px-2 rounded cursor-pointer opacity-60 hover:opacity-80 hover:bg-muted/50 transition-colors`,{"bg-muted":u(L)===n.id}]),onClick:e=>u(G)(n.id)},[h(u(I),{variant:u(Ye)(n.status),class:`shrink-0`},{default:t(()=>[p(f(u(Xe)(n.status)),1)]),_:2},1032,[`variant`]),c(`span`,ht,f(n.model),1),h(u(I),{variant:`outline`,class:`shrink-0 text-xs`},{default:t(()=>[p(f(n.providerName),1)]),_:2},1024),n.isStream?(w(),C(u(I),{key:0,variant:`outline`,class:`shrink-0 text-xs`},{default:t(()=>[...i[2]||=[p(`SSE`,-1)]]),_:1})):s(``,!0),c(`span`,gt,f(ce(n)),1),h(u(O),{"delay-duration":300},{default:t(()=>[h(u(D),null,{default:t(()=>[h(u(A),{"as-child":``},{default:t(()=>[h(u(S),{variant:`ghost`,size:`icon-xs`,class:`shrink-0`,onClick:a(e=>u(Y)(n.id),[`stop`])},{default:t(()=>[u(J)?(w(),C(u(R),{key:0,class:`size-3 text-success`})):(w(),C(u(E),{key:1,class:`size-3`}))]),_:1},8,[`onClick`])]),_:2},1024),h(u(k),null,{default:t(()=>[p(f(u(o)(`monitor.copyId`)),1)]),_:1})]),_:2},1024)]),_:2},1024)],10,mt))),128))]),_:1})]),_:1})]),_:1})]),h(u(z),{class:`mb-4`},{default:t(()=>[h(u(V),null,{default:t(()=>[h(u(H),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.providerStats`)),1)]),_:1})]),_:1}),h(u(B),null,{default:t(()=>[h(Ge,{stats:u(b)},null,8,[`stats`])]),_:1})]),_:1}),c(`div`,_t,[h(u(z),null,{default:t(()=>[h(u(V),null,{default:t(()=>[h(u(H),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.concurrency`)),1)]),_:1})]),_:1}),h(u(B),null,{default:t(()=>[h(he,{providers:u(j)},null,8,[`providers`])]),_:1})]),_:1}),h(u(z),null,{default:t(()=>[h(u(V),null,{default:t(()=>[h(u(H),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.statusCodeDistribution`)),1)]),_:1})]),_:1}),h(u(B),null,{default:t(()=>[h(Be,{"by-status-code":u(b)?.byStatusCode??{}},null,8,[`by-status-code`])]),_:1})]),_:1}),h(u(z),null,{default:t(()=>[h(u(V),null,{default:t(()=>[h(u(H),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.runtime`)),1)]),_:1})]),_:1}),h(u(B),null,{default:t(()=>[h(Pe,{runtime:u(te)},null,8,[`runtime`])]),_:1})]),_:1})]),h(ee,{open:u(W),"onUpdate:open":i[0]||=e=>n(W)?W.value=e:null,source:`realtime`,request:u(U),"stream-content":u(U)?.streamContent,"log-detail-data":u(K)},null,8,[`open`,`request`,`stream-content`,`log-detail-data`])]))}});export{vt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,Bt as t,Ct as n,F as r,G as i,H as a,J as o,K as s,M as ee,Q as te,Rt as c,U as l,Ut as u,V as ne,X as d,Y as f,Z as p,ct as re,ft as m,ht as ie,jt as h,k as g,n as _,q as v,ut as y}from"./button-CDY3J7p5.js";import{t as ae}from"./copy-DyhMBltz.js";import{a as oe,c as b,d as se,f as ce,l as le,n as ue,o as de,r as fe,s as pe,t as me,u as x}from"./dialog-B3bc_Iev.js";import{t as S}from"./Label-C4V5wJj3.js";import{a as he,b as ge,c as _e,d as ve,f as ye,g as be,h as xe,i as Se,l as Ce,m as C,nt as we,o as Te,p as Ee,r as w,s as De,u as Oe}from"./index-BZ7-9gPE.js";import{t as ke}from"./Input--tQLJqtT.js";import{t as Ae}from"./constants-yM0YwP2s.js";import{i as je,t as Me}from"./ModelCard-BzFBBbml.js";import{n as Ne,t as Pe}from"./TransformRulesForm-D0BEkLYX.js";var Fe=ee(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),T;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(T||={});var Ie;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(Ie||={});var E=T.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),D=e=>{switch(typeof e){case`undefined`:return E.undefined;case`string`:return E.string;case`number`:return Number.isNaN(e)?E.nan:E.number;case`boolean`:return E.boolean;case`function`:return E.function;case`bigint`:return E.bigint;case`symbol`:return E.symbol;case`object`:return Array.isArray(e)?E.array:e===null?E.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?E.promise:typeof Map<`u`&&e instanceof Map?E.map:typeof Set<`u`&&e instanceof Set?E.set:typeof Date<`u`&&e instanceof Date?E.date:E.object;default:return E.unknown}},O=T.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),k=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,T.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};k.create=e=>new k(e);var A=(e,t)=>{let n;switch(e.code){case O.invalid_type:n=e.received===E.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case O.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,T.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:n=`Unrecognized key(s) in object: ${T.joinValues(e.keys,`, `)}`;break;case O.invalid_union:n=`Invalid input`;break;case O.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${T.joinValues(e.options)}`;break;case O.invalid_enum_value:n=`Invalid enum value. Expected ${T.joinValues(e.options)}, received '${e.received}'`;break;case O.invalid_arguments:n=`Invalid function arguments`;break;case O.invalid_return_type:n=`Invalid function return type`;break;case O.invalid_date:n=`Invalid date`;break;case O.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:T.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case O.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case O.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case O.custom:n=`Invalid input`;break;case O.invalid_intersection_types:n=`Intersection results could not be merged`;break;case O.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case O.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,T.assertNever(e)}return{message:n}},Le=A;function j(){return Le}var M=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,ee=r.filter(e=>!!e).slice().reverse();for(let e of ee)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function N(e,t){let n=j(),r=M({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===A?void 0:A].filter(e=>!!e)});e.common.issues.push(r)}var P=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return F;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return F;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},F=Object.freeze({status:`aborted`}),I=e=>({status:`dirty`,value:e}),L=e=>({status:`valid`,value:e}),R=e=>e.status===`aborted`,z=e=>e.status===`dirty`,B=e=>e.status===`valid`,V=e=>typeof Promise<`u`&&e instanceof Promise,H;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(H||={});var U=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Re=(e,t)=>{if(B(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new k(e.common.issues);return this._error=t,this._error}}};function W(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var G=class{get description(){return this._def.description}_getType(e){return D(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:D(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new P,ctx:{common:e.parent.common,data:e.data,parsedType:D(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(V(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:D(e)};return Re(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:D(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return B(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>B(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:D(e)},r=this._parse({data:e,path:n.path,parent:n});return Re(n,await(V(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:O.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new Z({schema:this,typeName:$.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return Q.create(this,this._def)}nullable(){return It.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return yt.create(this)}promise(){return Ft.create(this,this._def)}or(e){return xt.create([this,e],this._def)}and(e){return wt.create(this,e,this._def)}transform(e){return new Z({...W(this._def),schema:this,typeName:$.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new Lt({...W(this._def),innerType:this,defaultValue:t,typeName:$.ZodDefault})}brand(){return new Bt({typeName:$.ZodBranded,type:this,...W(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new Rt({...W(this._def),innerType:this,catchValue:t,typeName:$.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Vt.create(this,e)}readonly(){return Ht.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},ze=/^c[^\s-]{8,}$/i,Be=/^[0-9a-z]+$/,Ve=/^[0-9A-HJKMNP-TV-Z]{26}$/i,K=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,q=/^[a-z0-9_-]{21}$/i,He=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ue=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,We=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ge=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,Ke,qe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Je=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ye=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Xe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ze=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Qe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,$e=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,et=RegExp(`^${$e}$`);function tt(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function nt(e){return RegExp(`^${tt(e)}$`)}function rt(e){let t=`${$e}T${tt(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function it(e,t){return!!((t===`v4`||!t)&&qe.test(e)||(t===`v6`||!t)&&Ye.test(e))}function at(e,t){if(!He.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function ot(e,t){return!!((t===`v4`||!t)&&Je.test(e)||(t===`v6`||!t)&&Xe.test(e))}var st=class e extends G{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==E.string){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.string,received:t.parsedType}),F}let t=new P,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),N(n,{code:O.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),N(n,{code:O.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?N(n,{code:O.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&N(n,{code:O.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)We.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`email`,code:O.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)Ke||=new RegExp(Ge,`u`),Ke.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`emoji`,code:O.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)K.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`uuid`,code:O.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)q.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`nanoid`,code:O.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)ze.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`cuid`,code:O.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Be.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`cuid2`,code:O.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)Ve.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`ulid`,code:O.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),N(n,{validation:`url`,code:O.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`regex`,code:O.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),N(n,{code:O.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),N(n,{code:O.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),N(n,{code:O.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?rt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{code:O.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?et.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{code:O.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?nt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{code:O.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?Ue.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`duration`,code:O.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?it(e.data,r.version)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`ip`,code:O.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?at(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`jwt`,code:O.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?ot(e.data,r.version)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`cidr`,code:O.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Ze.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`base64`,code:O.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?Qe.test(e.data)||(n=this._getOrReturnCtx(e,n),N(n,{validation:`base64url`,code:O.invalid_string,message:r.message}),t.dirty()):T.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:O.invalid_string,...H.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...H.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...H.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...H.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...H.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...H.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...H.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...H.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...H.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...H.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...H.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...H.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...H.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...H.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...H.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...H.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...H.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...H.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...H.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...H.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...H.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...H.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...H.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...H.errToObj(t)})}nonempty(e){return this.min(1,H.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};st.create=e=>new st({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...W(e)});function ct(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var lt=class e extends G{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==E.number){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.number,received:t.parsedType}),F}let t,n=new P;for(let r of this._def.checks)r.kind===`int`?T.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),N(t,{code:O.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),N(t,{code:O.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),N(t,{code:O.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?ct(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),N(t,{code:O.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),N(t,{code:O.not_finite,message:r.message}),n.dirty()):T.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,H.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,H.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,H.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,H.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:H.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:H.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:H.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:H.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:H.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:H.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:H.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:H.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:H.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:H.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&T.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};lt.create=e=>new lt({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...W(e)});var ut=class e extends G{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==E.bigint)return this._getInvalidInput(e);let t,n=new P;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),N(t,{code:O.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),N(t,{code:O.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),N(t,{code:O.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):T.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.bigint,received:t.parsedType}),F}gte(e,t){return this.setLimit(`min`,e,!0,H.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,H.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,H.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,H.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:H.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:H.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:H.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:H.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:H.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:H.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};ut.create=e=>new ut({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...W(e)});var dt=class extends G{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==E.boolean){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.boolean,received:t.parsedType}),F}return L(e.data)}};dt.create=e=>new dt({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...W(e)});var ft=class e extends G{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==E.date){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.date,received:t.parsedType}),F}if(Number.isNaN(e.data.getTime()))return N(this._getOrReturnCtx(e),{code:O.invalid_date}),F;let t=new P,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),N(n,{code:O.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),N(n,{code:O.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):T.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:H.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:H.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};ft.create=e=>new ft({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...W(e)});var pt=class extends G{_parse(e){if(this._getType(e)!==E.symbol){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.symbol,received:t.parsedType}),F}return L(e.data)}};pt.create=e=>new pt({typeName:$.ZodSymbol,...W(e)});var mt=class extends G{_parse(e){if(this._getType(e)!==E.undefined){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.undefined,received:t.parsedType}),F}return L(e.data)}};mt.create=e=>new mt({typeName:$.ZodUndefined,...W(e)});var ht=class extends G{_parse(e){if(this._getType(e)!==E.null){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.null,received:t.parsedType}),F}return L(e.data)}};ht.create=e=>new ht({typeName:$.ZodNull,...W(e)});var gt=class extends G{constructor(){super(...arguments),this._any=!0}_parse(e){return L(e.data)}};gt.create=e=>new gt({typeName:$.ZodAny,...W(e)});var _t=class extends G{constructor(){super(...arguments),this._unknown=!0}_parse(e){return L(e.data)}};_t.create=e=>new _t({typeName:$.ZodUnknown,...W(e)});var J=class extends G{_parse(e){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.never,received:t.parsedType}),F}};J.create=e=>new J({typeName:$.ZodNever,...W(e)});var vt=class extends G{_parse(e){if(this._getType(e)!==E.undefined){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.void,received:t.parsedType}),F}return L(e.data)}};vt.create=e=>new vt({typeName:$.ZodVoid,...W(e)});var yt=class e extends G{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==E.array)return N(t,{code:O.invalid_type,expected:E.array,received:t.parsedType}),F;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(N(t,{code:e?O.too_big:O.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(N(t,{code:O.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(N(t,{code:O.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new U(t,e,t.path,n)))).then(e=>P.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new U(t,e,t.path,n)));return P.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:H.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:H.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:H.toString(n)}})}nonempty(e){return this.min(1,e)}};yt.create=(e,t)=>new yt({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...W(t)});function bt(e){if(e instanceof Y){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Q.create(bt(r))}return new Y({...e._def,shape:()=>t})}else if(e instanceof yt)return new yt({...e._def,type:bt(e.element)});else if(e instanceof Q)return Q.create(bt(e.unwrap()));else if(e instanceof It)return It.create(bt(e.unwrap()));else if(e instanceof Tt)return Tt.create(e.items.map(e=>bt(e)));else return e}var Y=class e extends G{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=T.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==E.object){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.object,received:t.parsedType}),F}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof J&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new U(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof J){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(N(n,{code:O.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new U(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>P.mergeObjectSync(t,e)):P.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return H.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:H.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:$.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of T.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of T.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return bt(this)}partial(t){let n={};for(let e of T.objectKeys(this.shape)){let r=this.shape[e];t&&!t[e]?n[e]=r:n[e]=r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of T.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof Q;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return Mt(T.objectKeys(this.shape))}};Y.create=(e,t)=>new Y({shape:()=>e,unknownKeys:`strip`,catchall:J.create(),typeName:$.ZodObject,...W(t)}),Y.strictCreate=(e,t)=>new Y({shape:()=>e,unknownKeys:`strict`,catchall:J.create(),typeName:$.ZodObject,...W(t)}),Y.lazycreate=(e,t)=>new Y({shape:e,unknownKeys:`strip`,catchall:J.create(),typeName:$.ZodObject,...W(t)});var xt=class extends G{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new k(e.ctx.common.issues));return N(t,{code:O.invalid_union,unionErrors:n}),F}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new k(e));return N(t,{code:O.invalid_union,unionErrors:i}),F}}get options(){return this._def.options}};xt.create=(e,t)=>new xt({options:e,typeName:$.ZodUnion,...W(t)});var X=e=>e instanceof At?X(e.schema):e instanceof Z?X(e.innerType()):e instanceof jt?[e.value]:e instanceof Nt?e.options:e instanceof Pt?T.objectValues(e.enum):e instanceof Lt?X(e._def.innerType):e instanceof mt?[void 0]:e instanceof ht?[null]:e instanceof Q?[void 0,...X(e.unwrap())]:e instanceof It?[null,...X(e.unwrap())]:e instanceof Bt||e instanceof Ht?X(e.unwrap()):e instanceof Rt?X(e._def.innerType):[],St=class e extends G{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==E.object)return N(t,{code:O.invalid_type,expected:E.object,received:t.parsedType}),F;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(N(t,{code:O.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),F)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=X(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:$.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...W(r)})}};function Ct(e,t){let n=D(e),r=D(t);if(e===t)return{valid:!0,data:e};if(n===E.object&&r===E.object){let n=T.objectKeys(t),r=T.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Ct(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===E.array&&r===E.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Ct(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===E.date&&r===E.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var wt=class extends G{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(R(e)||R(r))return F;let i=Ct(e.value,r.value);return i.valid?((z(e)||z(r))&&t.dirty(),{status:t.value,value:i.data}):(N(n,{code:O.invalid_intersection_types}),F)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};wt.create=(e,t,n)=>new wt({left:e,right:t,typeName:$.ZodIntersection,...W(n)});var Tt=class e extends G{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.array)return N(n,{code:O.invalid_type,expected:E.array,received:n.parsedType}),F;if(n.data.length<this._def.items.length)return N(n,{code:O.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),F;!this._def.rest&&n.data.length>this._def.items.length&&(N(n,{code:O.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new U(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>P.mergeArray(t,e)):P.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Tt.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new Tt({items:e,typeName:$.ZodTuple,rest:null,...W(t)})};var Et=class e extends G{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.object)return N(n,{code:O.invalid_type,expected:E.object,received:n.parsedType}),F;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new U(n,e,n.path,e)),value:a._parse(new U(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?P.mergeObjectAsync(t,r):P.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof G?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...W(r)}):new e({keyType:st.create(),valueType:t,typeName:$.ZodRecord,...W(n)})}},Dt=class extends G{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.map)return N(n,{code:O.invalid_type,expected:E.map,received:n.parsedType}),F;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new U(n,e,n.path,[a,`key`])),value:i._parse(new U(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return F;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return F;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};Dt.create=(e,t,n)=>new Dt({valueType:t,keyType:e,typeName:$.ZodMap,...W(n)});var Ot=class e extends G{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.set)return N(n,{code:O.invalid_type,expected:E.set,received:n.parsedType}),F;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(N(n,{code:O.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(N(n,{code:O.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return F;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new U(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:H.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:H.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};Ot.create=(e,t)=>new Ot({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...W(t)});var kt=class e extends G{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==E.function)return N(t,{code:O.invalid_type,expected:E.function,received:t.parsedType}),F;function n(e,n){return M({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,j(),A].filter(e=>!!e),issueData:{code:O.invalid_arguments,argumentsError:n}})}function r(e,n){return M({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,j(),A].filter(e=>!!e),issueData:{code:O.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Ft){let e=this;return L(async function(...t){let o=new k([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),ee=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(ee,i).catch(e=>{throw o.addIssue(r(ee,e)),o})})}else{let e=this;return L(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new k([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),ee=e._def.returns.safeParse(s,i);if(!ee.success)throw new k([r(s,ee.error)]);return ee.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Tt.create(t).rest(_t.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||Tt.create([]).rest(_t.create()),returns:n||_t.create(),typeName:$.ZodFunction,...W(r)})}},At=class extends G{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};At.create=(e,t)=>new At({getter:e,typeName:$.ZodLazy,...W(t)});var jt=class extends G{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return N(t,{received:t.data,code:O.invalid_literal,expected:this._def.value}),F}return{status:`valid`,value:e.data}}get value(){return this._def.value}};jt.create=(e,t)=>new jt({value:e,typeName:$.ZodLiteral,...W(t)});function Mt(e,t){return new Nt({values:e,typeName:$.ZodEnum,...W(t)})}var Nt=class e extends G{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return N(t,{expected:T.joinValues(n),received:t.parsedType,code:O.invalid_type}),F}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return N(t,{received:t.data,code:O.invalid_enum_value,options:n}),F}return L(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};Nt.create=Mt;var Pt=class extends G{_parse(e){let t=T.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==E.string&&n.parsedType!==E.number){let e=T.objectValues(t);return N(n,{expected:T.joinValues(e),received:n.parsedType,code:O.invalid_type}),F}if(this._cache||=new Set(T.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=T.objectValues(t);return N(n,{received:n.data,code:O.invalid_enum_value,options:e}),F}return L(e.data)}get enum(){return this._def.values}};Pt.create=(e,t)=>new Pt({values:e,typeName:$.ZodNativeEnum,...W(t)});var Ft=class extends G{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==E.promise&&t.common.async===!1?(N(t,{code:O.invalid_type,expected:E.promise,received:t.parsedType}),F):L((t.parsedType===E.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Ft.create=(e,t)=>new Ft({type:e,typeName:$.ZodPromise,...W(t)});var Z=class extends G{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{N(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return F;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?F:r.status===`dirty`||t.value===`dirty`?I(r.value):r});{if(t.value===`aborted`)return F;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?F:r.status===`dirty`||t.value===`dirty`?I(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?F:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?F:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`)if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!B(e))return F;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>B(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):F);T.assertNever(r)}};Z.create=(e,t,n)=>new Z({schema:e,typeName:$.ZodEffects,effect:t,...W(n)}),Z.createWithPreprocess=(e,t,n)=>new Z({schema:t,effect:{type:`preprocess`,transform:e},typeName:$.ZodEffects,...W(n)});var Q=class extends G{_parse(e){return this._getType(e)===E.undefined?L(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Q.create=(e,t)=>new Q({innerType:e,typeName:$.ZodOptional,...W(t)});var It=class extends G{_parse(e){return this._getType(e)===E.null?L(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};It.create=(e,t)=>new It({innerType:e,typeName:$.ZodNullable,...W(t)});var Lt=class extends G{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===E.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Lt.create=(e,t)=>new Lt({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...W(t)});var Rt=class extends G{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return V(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new k(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new k(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Rt.create=(e,t)=>new Rt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...W(t)});var zt=class extends G{_parse(e){if(this._getType(e)!==E.nan){let t=this._getOrReturnCtx(e);return N(t,{code:O.invalid_type,expected:E.nan,received:t.parsedType}),F}return{status:`valid`,value:e.data}}};zt.create=e=>new zt({typeName:$.ZodNaN,...W(e)});var Bt=class extends G{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},Vt=class e extends G{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?F:e.status===`dirty`?(t.dirty(),I(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?F:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:$.ZodPipeline})}},Ht=class extends G{_parse(e){let t=this._def.innerType._parse(e),n=e=>(B(e)&&(e.value=Object.freeze(e.value)),e);return V(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Ht.create=(e,t)=>new Ht({innerType:e,typeName:$.ZodReadonly,...W(t)}),Y.lazycreate;var $;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})($||={});var Ut=st.create;lt.create,zt.create,ut.create,dt.create,ft.create,pt.create,mt.create,ht.create,gt.create,_t.create,J.create,vt.create,yt.create;var Wt=Y.create;Y.strictCreate,xt.create,St.create,wt.create,Tt.create,Et.create,Dt.create,Ot.create,kt.create,At.create,jt.create,Nt.create,Pt.create,Ft.create,Z.create,Q.create,It.create,Z.createWithPreprocess,Vt.create;function Gt(){let{t}=r(),n=h({dropFieldsInput:``,requestDefaultsInput:``,injectHeadersInput:``,exists:!1});async function i(r){try{let e=await g.getTransformRules(r);e?(n.value.dropFieldsInput=(e.drop_fields||[]).join(`, `),n.value.requestDefaultsInput=e.request_defaults?JSON.stringify(e.request_defaults):``,n.value.injectHeadersInput=e.inject_headers?JSON.stringify(e.inject_headers):``,n.value.exists=!0):(n.value.dropFieldsInput=``,n.value.requestDefaultsInput=``,n.value.injectHeadersInput=``,n.value.exists=!1)}catch(r){w.error(e(r,t(`providers.transform.loadFailed`))),n.value.dropFieldsInput=``,n.value.requestDefaultsInput=``,n.value.injectHeadersInput=``,n.value.exists=!1}}function a(r){if(!r)return Promise.resolve();let i=n.value.dropFieldsInput?n.value.dropFieldsInput.split(`,`).map(e=>e.trim()).filter(Boolean):null,a=null;if(n.value.requestDefaultsInput.trim())try{a=JSON.parse(n.value.requestDefaultsInput)}catch{return w.error(t(`providers.transform.requestDefaultsJsonError`)),Promise.resolve()}let o=null;if(n.value.injectHeadersInput.trim())try{o=JSON.parse(n.value.injectHeadersInput)}catch{return w.error(t(`providers.transform.injectHeadersJsonError`)),Promise.resolve()}return g.upsertTransformRules(r,{drop_fields:i,request_defaults:a,inject_headers:o,is_active:1}).then(()=>{n.value.exists=!0,w.success(t(`providers.transform.saved`))}).catch(n=>w.error(e(n,t(`common.saveFailed`))))}function o(r){return r?g.deleteTransformRules(r).then(()=>{n.value.dropFieldsInput=``,n.value.requestDefaultsInput=``,n.value.injectHeadersInput=``,n.value.exists=!1,w.success(t(`providers.transform.deleted`))}).catch(n=>w.error(e(n,t(`providers.transform.deleteFailed`)))):Promise.resolve()}return{transformForm:n,loadTransformRules:i,saveTransformRules:a,handleDeleteTransformRules:o}}var Kt={class:`p-6`},qt={class:`flex items-center justify-between mb-4`},Jt={class:`text-lg font-semibold text-foreground`},Yt={class:`flex items-center gap-2`},Xt={class:`bg-card rounded-lg border overflow-hidden`},Zt={class:`flex items-center gap-1`},Qt={class:`font-mono text-xs text-muted-foreground`},$t={class:`flex flex-wrap gap-1`},en={key:0,class:`ml-1 text-muted-foreground`},tn={key:0,class:`text-muted-foreground text-xs`},nn={key:2,class:`text-muted-foreground`},rn={key:0,class:`rounded-md border-2 border-primary/30 bg-primary/5 p-3 space-y-2`},an={class:`flex items-center gap-1.5 text-xs font-semibold text-primary`},on={class:`flex gap-2`},sn={key:1,class:`flex flex-col items-center justify-center py-10 text-muted-foreground`},cn={class:`text-sm`},ln={class:`grid grid-cols-2 gap-3`},un={key:0,class:`text-xs text-destructive mt-0.5`},dn={key:0,class:`text-xs text-destructive mt-0.5`},fn={key:0,class:`text-xs text-destructive mt-0.5`},pn={class:`grid grid-cols-3 gap-2 mb-3`},mn={class:`flex items-center gap-1.5 mt-1.5`},hn={class:`flex gap-2`},gn={class:`grid grid-cols-2 gap-4`},_n={class:`border rounded-md p-3 space-y-3`},vn={class:`text-xs font-medium text-muted-foreground`},yn={class:`border rounded-md p-3 space-y-3`},bn={class:`text-xs font-medium text-muted-foreground`},xn={key:0,class:`mt-2 space-y-1`},Sn={class:`text-sm font-medium`},Cn=3,wn=10,Tn=12e4,En=10,Dn=100,On=1e3,kn=1e3,An=1e6,jn=7,Mn=7,Nn=2e3,Pn=te({__name:`Providers`,setup(ee){let te=[{label:`8K`,value:`8000`},{label:`16K`,value:`16000`},{label:`32K`,value:`32000`},{label:`64K`,value:`64000`},{label:`128K`,value:`128000`},{label:`160K`,value:`160000`},{label:`200K`,value:`200000`},{label:`256K`,value:`256000`},{label:`1M`,value:`1000000`}],T={openai:`OpenAI Chat Completions`,"openai-responses":`OpenAI Responses`,anthropic:`Anthropic Messages`},Ie={name:``,api_type:`anthropic`,base_url:``,upstream_path:``,api_key:``,models:[],is_active:!0,max_concurrency:wn,queue_timeout_ms:Tn,max_queue_size:En,adaptive_enabled:!0},E=h(``),D=h(Ae),O=i({get:()=>String(D.value),set:e=>{D.value=Number(e)}}),k=h([]),A=h([]),Le=h(!1),j=h(null),M=h(null),N=h(null),P=h(null),F=h(!1),I=h([]),L=h({...Ie}),R=h({}),z=h(`auto`),{t:B}=r(),{transformForm:V,loadTransformRules:H,saveTransformRules:U}=Gt(),Re=h(null),W=h(!1);function G(){let e=Wt({name:Ut().min(1,B(`providers.validation.nameRequired`)).regex(/^[a-zA-Z0-9_-]+$/,B(`providers.validation.namePattern`)),base_url:Ut().min(1,B(`providers.validation.baseUrlRequired`)).url(B(`providers.validation.baseUrlInvalid`))}),t={},n=e.safeParse({name:L.value.name.trim(),base_url:L.value.base_url.trim()});if(!n.success)for(let e of n.error.issues){let n=e.path[0];t[n]||(t[n]=e.message)}if(!j.value&&!L.value.api_key.trim()&&(t.api_key=B(`providers.validation.apiKeyRequired`)),z.value!==`none`){let e=L.value.max_concurrency;(!e||e<1||e>Dn)&&(t.max_concurrency=B(`providers.validation.concurrencyRange`,{min:1,max:Dn})),L.value.queue_timeout_ms<0&&(t.queue_timeout_ms=B(`providers.validation.negativeNotAllowed`));let n=L.value.max_queue_size;(!n||n<1||n>On)&&(t.max_queue_size=B(`providers.validation.queueSizeRange`,{min:1,max:On}))}return R.value=t,Object.keys(t).length===0}function ze(e){return e?e.slice(0,jn)+`*`.repeat(Mn):``}function Be(e){return e>=An?`${e/An}M`:e>=kn?`${e/kn}K`:String(e)}async function Ve(e,t){await navigator.clipboard.writeText(e),Re.value=t,setTimeout(()=>{Re.value=null},Nn)}let K=h(``),q=h(``),He=i(()=>K.value?A.value.find(e=>e.group===K.value)?.presets??[]:[]);function Ue(){if(K.value===`__custom__`){q.value=``,L.value.name=``,L.value.api_type=`openai`,L.value.base_url=``,L.value.models=[];return}let e=A.value.find(e=>e.group===K.value)?.presets;e?.length?(q.value=e[0].plan,We()):q.value=``}function We(){let e=He.value.find(e=>e.plan===q.value);e&&(L.value.name=e.presetName,L.value.api_type=e.apiType,L.value.base_url=e.baseUrl,L.value.models=e.models.map(t=>({name:t,context_window:je(t),patches:Ze(t,e.apiType)})))}async function Ge(){try{k.value=await g.getProviders()}catch(t){console.error(`Failed to load providers:`,t),w.error(e(t,B(`providers.toast.loadFailed`)))}}function Ke(){let e=E.value.trim();if(!e)return;let t=e.split(/[,,]/).map(e=>e.trim()).filter(Boolean);for(let e of t)L.value.models.some(t=>t.name===e)||L.value.models.push({name:e,context_window:D.value||2e5,patches:[]});E.value=``,D.value=Ae}function qe(e){L.value.models.splice(e,1)}function Je(e){return e.includes(`api.openai.com`)}function Ye(e,t){L.value.models[e].context_window=t.contextWindow,L.value.models[e].patches=t.patches}function Xe(e,t){let n=Number(t);n>0?L.value.models[e].stream_timeout_ms=n*1e3:L.value.models[e].stream_timeout_ms=null}function Ze(e,t){let n=[];return e.toLowerCase().includes(`deepseek`)&&(t===`anthropic`?n.push(`thinking-param`,`cache-control`,`thinking-blocks`,`orphan-tool-results`):n.push(`non-ds-tools`,`orphan-tool-results-oa`)),n}function Qe(e){e===`auto`?((!L.value.max_concurrency||L.value.max_concurrency<1)&&(L.value.max_concurrency=wn),L.value.adaptive_enabled=!0):e===`manual`&&((!L.value.max_concurrency||L.value.max_concurrency<1)&&(L.value.max_concurrency=Cn),L.value.adaptive_enabled=!1)}function $e(){j.value=null,L.value={...Ie,models:[]},z.value=`auto`,E.value=``,D.value=Ae,K.value=``,q.value=``,R.value={},Le.value=!0}function et(e){j.value=e.id;let t=e.max_concurrency??0;t===0?z.value=`none`:e.adaptive_enabled?z.value=`auto`:z.value=`manual`,L.value={name:e.name,api_type:e.api_type,base_url:e.base_url,upstream_path:e.upstream_path||``,api_key:``,models:(e.models||[]).map(e=>({name:e.name,context_window:e.context_window??2e5,patches:e.patches??[],stream_timeout_ms:e.stream_timeout_ms??null})),is_active:!!e.is_active,max_concurrency:z.value===`none`?wn:t,queue_timeout_ms:e.queue_timeout_ms??Tn,max_queue_size:e.max_queue_size??En,adaptive_enabled:z.value===`auto`},E.value=``,D.value=Ae,K.value=``,q.value=``,R.value={},Le.value=!0,H(e.id)}function tt(){let e={name:L.value.name,api_type:L.value.api_type,base_url:L.value.base_url,upstream_path:L.value.upstream_path||void 0,models:L.value.models.map(e=>({name:e.name,context_window:e.context_window??void 0,patches:e.patches??void 0,stream_timeout_ms:e.stream_timeout_ms??void 0})),is_active:+!!L.value.is_active,max_concurrency:z.value===`none`?0:L.value.max_concurrency,queue_timeout_ms:z.value===`none`?0:L.value.queue_timeout_ms,max_queue_size:z.value===`none`?En:L.value.max_queue_size,adaptive_enabled:+(z.value===`auto`)};return L.value.api_key&&(e.api_key=L.value.api_key),e}async function nt(){if(G())try{let e=tt();e.name=L.value.name.trim();let t=j.value;j.value?await g.updateProvider(j.value,e):(e.api_key=L.value.api_key,t=(await g.createProvider(e)).id),await U(t),Le.value=!1,await Ge()}catch(t){console.error(`Failed to save provider:`,t),w.error(e(t,B(`providers.toast.saveFailed`)))}}function rt(e){M.value=e}async function it(e){if(N.value=e,P.value=e.id,F.value=!!e.is_active,I.value=[],e.is_active)try{I.value=(await g.getProviderDependencies(e.id)).references}catch{}}async function at(){let t=P.value;if(!t)return;let n=F.value;N.value=null,P.value=null;try{let e=await g.updateProvider(t,{is_active:+!n});if(e.cascadedGroups?.length){let t=e.cascadedGroups.filter(e=>e.disabled).length,n=e.cascadedGroups.length-t,r=[];n>0&&r.push(B(`providers.toast.cascadeClean`,{count:n})),t>0&&r.push(B(`providers.toast.cascadeDisable`,{count:t})),w.warning(B(`providers.toast.cascadeAuto`,{actions:r.join(`, `)}))}await Ge()}catch(t){console.error(`Failed to toggle provider:`,t),w.error(e(t,B(`providers.toast.toggleFailed`)))}}async function ot(){let t=M.value;if(t){M.value=null;try{await g.deleteProvider(t.id),await Ge()}catch(t){w.error(e(t,B(`providers.toast.deleteFailed`)))}}}async function st(){W.value=!0;try{let e=await g.reloadTransformRules();w.success(B(`providers.toast.reloadSuccess`,{pluginCount:e.loadedPlugins.length,rulesCount:e.rulesCount}))}catch(t){w.error(e(t,B(`providers.toast.reloadFailed`)))}finally{W.value=!1}}return re(async()=>{let[e]=await Promise.allSettled([g.recommended.getProviders(),Ge()]);e.status===`fulfilled`?A.value=e.value:(A.value=[],console.error(`Failed to load provider presets:`,e.reason))}),(e,r)=>(y(),f(`div`,Kt,[s(`div`,qt,[s(`h2`,Jt,u(c(B)(`providers.title`)),1),s(`div`,Yt,[p(c(_),{variant:`outline`,size:`sm`,onClick:st,disabled:W.value},{default:n(()=>[p(c(Fe),{class:t([`w-4 h-4 mr-1`,{"animate-spin":W.value}])},null,8,[`class`]),d(` `+u(c(B)(`providers.reloadPlugin`)),1)]),_:1},8,[`disabled`]),p(c(_),{onClick:$e,class:`flex items-center gap-1`},{default:n(()=>[r[23]||=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),d(` `+u(c(B)(`providers.addProvider`)),1)]),_:1})])]),s(`div`,Xt,[p(c(ce),null,{default:n(()=>[p(c(pe),null,{default:n(()=>[p(c(le),{class:`bg-muted`},{default:n(()=>[p(c(b),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.tableHeaders.name`)),1)]),_:1}),p(c(b),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.tableHeaders.type`)),1)]),_:1}),p(c(b),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.tableHeaders.baseUrl`)),1)]),_:1}),p(c(b),{class:`text-xs`},{default:n(()=>[...r[24]||=[d(`Path`,-1)]]),_:1}),p(c(b),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.tableHeaders.apiKey`)),1)]),_:1}),p(c(b),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.tableHeaders.models`)),1)]),_:1}),p(c(b),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.tableHeaders.concurrency`)),1)]),_:1}),p(c(b),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.tableHeaders.status`)),1)]),_:1}),p(c(b),{class:`text-right text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),p(c(se),null,{default:n(()=>[(y(!0),f(l,null,m(k.value,e=>(y(),v(c(le),{key:e.id,class:t({"opacity-60":!e.is_active})},{default:n(()=>[p(c(x),{class:`font-medium`},{default:n(()=>[d(u(e.name),1)]),_:2},1024),p(c(x),null,{default:n(()=>[p(c(ge),{variant:`secondary`},{default:n(()=>[d(u(T[e.api_type]??e.api_type),1)]),_:2},1024)]),_:2},1024),p(c(x),{class:`text-muted-foreground`},{default:n(()=>[d(u(e.base_url),1)]),_:2},1024),p(c(x),{class:`text-muted-foreground text-xs`},{default:n(()=>[d(u(e.upstream_path||(e.api_type===`anthropic`?`/v1/messages`:`/v1/chat/completions`)),1)]),_:2},1024),p(c(x),null,{default:n(()=>[s(`div`,Zt,[s(`span`,Qt,u(ze(e.api_key)),1),p(c(_),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:t=>Ve(e.api_key,e.id)},{default:n(()=>[(y(),v(ie(Re.value===e.id?c(we):c(ae)),{class:t([`w-3.5 h-3.5`,{"text-success":Re.value===e.id}])},null,8,[`class`]))]),_:2},1032,[`onClick`])])]),_:2},1024),p(c(x),null,{default:n(()=>[s(`div`,$t,[(y(!0),f(l,null,m(e.models||[],e=>(y(),v(c(ge),{key:e.name,variant:`secondary`,class:`text-xs`},{default:n(()=>[d(u(e.name)+` `,1),e.context_window?(y(),f(`span`,en,`(`+u(Be(e.context_window))+`)`,1)):o(``,!0)]),_:2},1024))),128)),e.models?.length?o(``,!0):(y(),f(`span`,tn,`-`))])]),_:2},1024),p(c(x),null,{default:n(()=>[e.adaptive_enabled?(y(),v(c(ge),{key:0,variant:`outline`},{default:n(()=>[d(u(c(B)(`common.adaptive`)),1)]),_:1})):e.max_concurrency>0?(y(),v(c(ge),{key:1,variant:`secondary`},{default:n(()=>[d(u(e.max_concurrency),1)]),_:2},1024)):(y(),f(`span`,nn,`-`))]),_:2},1024),p(c(x),null,{default:n(()=>[p(c(_),{variant:`ghost`,size:`sm`,class:`gap-1.5`,onClick:t=>it(e)},{default:n(()=>[s(`span`,{class:t([`relative inline-flex h-4 w-7 shrink-0 items-center rounded-full transition-colors`,e.is_active?`bg-primary`:`bg-input`])},[s(`span`,{class:t([`inline-block h-3 w-3 rounded-full bg-background shadow-sm transition-transform`,e.is_active?`translate-x-3.5`:`translate-x-0.5`])},null,2)],2),p(c(ge),{variant:e.is_active?`default`:`secondary`},{default:n(()=>[d(u(e.is_active?c(B)(`common.enabled`):c(B)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1032,[`onClick`])]),_:2},1024),p(c(x),{class:`text-right`},{default:n(()=>[p(c(_),{variant:`ghost`,size:`sm`,onClick:t=>et(e),class:`text-muted-foreground hover:text-primary mr-2`},{default:n(()=>[d(u(c(B)(`common.edit`)),1)]),_:1},8,[`onClick`]),p(c(_),{variant:`ghost`,size:`sm`,onClick:t=>rt(e),class:`text-muted-foreground hover:text-destructive`},{default:n(()=>[d(u(c(B)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),k.value.length===0?(y(),v(c(le),{key:0},{default:n(()=>[p(c(x),{colspan:`9`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[d(u(c(B)(`providers.noProviders`)),1)]),_:1})]),_:1})):o(``,!0)]),_:1})]),_:1})]),p(c(de),{open:Le.value,"onUpdate:open":r[20]||=e=>Le.value=e},{default:n(()=>[p(c(oe),{class:`sm:max-w-4xl max-h-[85vh] overflow-y-auto`},{default:n(()=>[p(c(ue),null,{default:n(()=>[p(c(me),null,{default:n(()=>[d(u(j.value?c(B)(`providers.editProvider`):c(B)(`providers.addProvider`)),1)]),_:1})]),_:1}),s(`form`,{onSubmit:a(nt,[`prevent`]),class:`space-y-4`},[j.value?o(``,!0):(y(),f(`div`,rn,[s(`div`,an,[r[25]||=s(`svg`,{class:`w-3.5 h-3.5`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[s(`path`,{d:`M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z`})],-1),d(` `+u(c(B)(`providers.template.title`)),1)]),s(`div`,on,[p(c(be),{modelValue:K.value,"onUpdate:modelValue":[r[0]||=e=>K.value=e,Ue]},{default:n(()=>[p(c(Ee),{class:`flex-1 border-primary/40`},{default:n(()=>[p(c(ye),{placeholder:c(B)(`providers.template.selectProvider`)},null,8,[`placeholder`])]),_:1}),p(c(xe),null,{default:n(()=>[p(c(C),{value:`__custom__`},{default:n(()=>[d(u(c(B)(`providers.template.custom`)),1)]),_:1}),(y(!0),f(l,null,m(A.value,e=>(y(),v(c(C),{key:e.group,value:e.group},{default:n(()=>[d(u(e.group),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`]),K.value===`__custom__`?o(``,!0):(y(),v(c(be),{key:0,modelValue:q.value,"onUpdate:modelValue":[r[1]||=e=>q.value=e,We],disabled:!K.value||K.value===`__custom__`},{default:n(()=>[p(c(Ee),{class:`flex-1 border-primary/40`},{default:n(()=>[p(c(ye),{placeholder:c(B)(`providers.template.selectPlan`)},null,8,[`placeholder`])]),_:1}),p(c(xe),null,{default:n(()=>[(y(!0),f(l,null,m(He.value,e=>(y(),v(c(C),{key:e.plan,value:e.plan},{default:n(()=>[d(u(e.plan),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`,`disabled`]))])])),!K.value&&!j.value?(y(),f(`div`,sn,[r[26]||=s(`svg`,{class:`w-10 h-10 mb-3 opacity-30`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[s(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),s(`path`,{d:`M9 12l2 2 4-4`})],-1),s(`span`,cn,u(c(B)(`providers.template.selectFirst`)),1)])):o(``,!0),K.value||j.value?(y(),f(l,{key:2},[s(`div`,ln,[s(`div`,null,[p(c(S),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.fields.name`)),1)]),_:1}),p(c(ke),{modelValue:L.value.name,"onUpdate:modelValue":r[2]||=e=>L.value.name=e,type:`text`,required:``,class:`mt-1`,onInput:r[3]||=e=>delete R.value.name},null,8,[`modelValue`]),R.value.name?(y(),f(`p`,un,u(R.value.name),1)):o(``,!0)]),s(`div`,null,[p(c(S),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.fields.apiType`)),1)]),_:1}),p(c(be),{modelValue:L.value.api_type,"onUpdate:modelValue":r[4]||=e=>L.value.api_type=e,class:`mt-1`},{default:n(()=>[p(c(Ee),null,{default:n(()=>[p(c(ye),{placeholder:c(B)(`common.pleaseSelect`)},null,8,[`placeholder`])]),_:1}),p(c(xe),null,{default:n(()=>[p(c(C),{value:`openai`},{default:n(()=>[...r[27]||=[d(`OpenAI Chat Completions`,-1)]]),_:1}),p(c(C),{value:`openai-responses`},{default:n(()=>[...r[28]||=[d(`OpenAI Responses`,-1)]]),_:1}),p(c(C),{value:`anthropic`},{default:n(()=>[...r[29]||=[d(`Anthropic Messages`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),s(`div`,null,[p(c(S),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.fields.baseUrl`)),1)]),_:1}),p(c(ke),{modelValue:L.value.base_url,"onUpdate:modelValue":r[5]||=e=>L.value.base_url=e,type:`url`,required:``,class:`mt-1 font-mono text-xs`,onInput:r[6]||=e=>delete R.value.base_url},null,8,[`modelValue`]),R.value.base_url?(y(),f(`p`,dn,u(R.value.base_url),1)):o(``,!0)]),s(`div`,null,[p(c(S),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(B)(`providers.fields.apiKey`)),1)]),_:1}),p(c(ke),{modelValue:L.value.api_key,"onUpdate:modelValue":r[7]||=e=>L.value.api_key=e,type:`text`,required:!j.value,placeholder:j.value?c(B)(`providers.fields.apiKeyPlaceholder`):``,class:`mt-1`,onInput:r[8]||=e=>delete R.value.api_key},null,8,[`modelValue`,`required`,`placeholder`]),R.value.api_key?(y(),f(`p`,fn,u(R.value.api_key),1)):o(``,!0)])]),s(`div`,null,[p(c(S),{class:`text-xs`},{default:n(()=>[...r[30]||=[d(`Upstream Path`,-1)]]),_:1}),p(c(ke),{modelValue:L.value.upstream_path,"onUpdate:modelValue":r[9]||=e=>L.value.upstream_path=e,placeholder:`默认: /v1/chat/completions 或 /v1/messages`,class:`mt-1 font-mono text-xs`},null,8,[`modelValue`]),r[31]||=s(`p`,{class:`text-xs text-muted-foreground mt-0.5`},`留空使用 API 类型默认路径`,-1)]),s(`div`,null,[p(c(S),{class:`text-xs text-muted-foreground mb-2`},{default:n(()=>[d(u(c(B)(`providers.fields.availableModels`)),1)]),_:1}),s(`div`,pn,[(y(!0),f(l,null,m(L.value.models,(e,t)=>(y(),f(`div`,{key:t},[p(Me,{model:{name:e.name,contextWindow:e.context_window??2e5,enabled:!0,patches:e.patches??[]},"api-type":L.value.api_type,"is-deep-seek":e.name.toLowerCase().includes(`deepseek`),"is-non-openai-endpoint":!Je(L.value.base_url),"onUpdate:model":e=>Ye(t,e),onRemove:e=>qe(t)},null,8,[`model`,`api-type`,`is-deep-seek`,`is-non-openai-endpoint`,`onUpdate:model`,`onRemove`]),s(`div`,mn,[p(c(S),{class:`text-xs text-muted-foreground whitespace-nowrap`},{default:n(()=>[...r[32]||=[d(`Timeout(s)`,-1)]]),_:1}),p(c(ke),{type:`number`,"model-value":e.stream_timeout_ms?Math.round(e.stream_timeout_ms/1e3):``,"onUpdate:modelValue":e=>Xe(t,e),placeholder:`默认`,class:`h-7 text-xs`,min:`1`},null,8,[`model-value`,`onUpdate:modelValue`])])]))),128))]),s(`div`,hn,[p(c(ke),{modelValue:E.value,"onUpdate:modelValue":r[10]||=e=>E.value=e,placeholder:c(B)(`providers.fields.modelInputPlaceholder`),onKeydown:ne(a(Ke,[`prevent`]),[`enter`]),class:`flex-1`},null,8,[`modelValue`,`placeholder`,`onKeydown`]),p(c(be),{modelValue:O.value,"onUpdate:modelValue":r[11]||=e=>O.value=e},{default:n(()=>[p(c(Ee),{class:`w-28`},{default:n(()=>[p(c(ye),{placeholder:c(B)(`providers.fields.context`)},null,8,[`placeholder`])]),_:1}),p(c(xe),null,{default:n(()=>[(y(),f(l,null,m(te,e=>p(c(C),{key:e.value,value:e.value},{default:n(()=>[d(u(e.label),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`]),p(c(_),{type:`button`,variant:`outline`,size:`sm`,onClick:Ke,disabled:!E.value.trim()},{default:n(()=>[d(u(c(B)(`providers.fields.addModel`)),1)]),_:1},8,[`disabled`])])]),s(`div`,gn,[s(`div`,_n,[s(`div`,vn,u(c(B)(`providers.concurrency.title`)),1),p(Ne,{mode:z.value,"max-concurrency":L.value.max_concurrency,"queue-timeout-ms":L.value.queue_timeout_ms,"max-queue-size":L.value.max_queue_size,compact:``,"onUpdate:mode":r[12]||=e=>Qe(e),"onUpdate:maxConcurrency":r[13]||=e=>L.value.max_concurrency=e,"onUpdate:queueTimeoutMs":r[14]||=e=>L.value.queue_timeout_ms=e,"onUpdate:maxQueueSize":r[15]||=e=>L.value.max_queue_size=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`])]),s(`div`,yn,[s(`div`,bn,u(c(B)(`providers.transform.title`)),1),p(Pe,{"inject-headers":c(V).injectHeadersInput,"drop-fields":c(V).dropFieldsInput,"request-defaults":c(V).requestDefaultsInput,"onUpdate:injectHeaders":r[16]||=e=>c(V).injectHeadersInput=e,"onUpdate:dropFields":r[17]||=e=>c(V).dropFieldsInput=e,"onUpdate:requestDefaults":r[18]||=e=>c(V).requestDefaultsInput=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])])])],64)):o(``,!0),p(c(fe),null,{default:n(()=>[p(c(_),{type:`button`,variant:`outline`,onClick:r[19]||=e=>Le.value=!1},{default:n(()=>[d(u(c(B)(`common.cancel`)),1)]),_:1}),p(c(_),{type:`submit`},{default:n(()=>[d(u(c(B)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),p(c(ve),{open:!!M.value,"onUpdate:open":r[21]||=e=>{e||(M.value=null)}},{default:n(()=>[p(c(_e),null,{default:n(()=>[p(c(he),null,{default:n(()=>[p(c(Se),null,{default:n(()=>[d(u(c(B)(`providers.confirmDelete.title`)),1)]),_:1}),p(c(De),null,{default:n(()=>[d(u(c(B)(`providers.confirmDelete.message`,{name:M.value?.name})),1)]),_:1})]),_:1}),p(c(Te),null,{default:n(()=>[p(c(Ce),null,{default:n(()=>[d(u(c(B)(`common.cancel`)),1)]),_:1}),p(c(_),{variant:`destructive`,onClick:ot},{default:n(()=>[d(u(c(B)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),p(c(ve),{open:!!N.value,"onUpdate:open":r[22]||=e=>{e||(N.value=null)}},{default:n(()=>[p(c(_e),null,{default:n(()=>[p(c(he),null,{default:n(()=>[p(c(Se),null,{default:n(()=>[d(u(N.value?.is_active?c(B)(`providers.confirmToggle.titleDisable`):c(B)(`providers.confirmToggle.titleEnable`)),1)]),_:1}),p(c(De),null,{default:n(()=>[d(u(N.value?.is_active?c(B)(`providers.confirmToggle.messageDisable`,{name:N.value?.name}):c(B)(`providers.confirmToggle.messageEnable`,{name:N.value?.name}))+` `,1),I.value.length?(y(),f(`div`,xn,[s(`div`,Sn,u(c(B)(`providers.confirmToggle.dependencyWarning`)),1),(y(!0),f(l,null,m(I.value,e=>(y(),f(`div`,{key:e,class:`text-destructive text-sm`},u(e),1))),128))])):o(``,!0)]),_:1})]),_:1}),p(c(Te),null,{default:n(()=>[p(c(Ce),null,{default:n(()=>[d(u(c(B)(`common.cancel`)),1)]),_:1}),p(c(Oe),{onClick:at},{default:n(()=>[d(u(c(B)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{Pn as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,Bt as t,Ct as n,F as r,K as i,Q as a,Rt as o,Ut as s,X as c,Y as l,Z as u,ct as d,jt as f,k as p,n as m,pt as h,r as g,ut as _}from"./button-CDY3J7p5.js";import{t as v}from"./Label-C4V5wJj3.js";import{t as y}from"./Switch-GUFZnjj9.js";import{$ as b,r as x}from"./index-BZ7-9gPE.js";import{n as S,t as C}from"./CardContent-uWoTAlVi.js";import{n as w,t as T}from"./CardTitle-Cr8POTL5.js";var E=a({__name:`CardDescription`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>(_(),l(`div`,{"data-slot":`card-description`,class:t(o(g)(`text-muted-foreground text-sm`,n.class))},[h(e.$slots,`default`)],2))}}),D={class:`p-6`},O={class:`text-lg font-semibold text-foreground mb-4`},k={class:`flex items-center gap-3`},A={class:`flex items-center gap-3`},j={class:`flex items-center gap-3`},M={class:`flex justify-end mt-4`},N={key:0,class:`flex items-center gap-1`},P={key:1},F=a({__name:`ProxyEnhancement`,setup(t){let{t:a}=r(),h=f(!0),g=f(!1),F=f(!1),I=f(!1);async function L(){try{let e=await p.getProxyEnhancement();h.value=e.tool_round_limit_enabled,g.value=e.tool_call_loop_enabled,F.value=e.stream_loop_enabled}catch(t){console.error(`Failed to load proxy enhancement config:`,t),x.error(e(t,a(`proxyEnhancement.loadFailed`)))}}async function R(){I.value=!0;try{await p.updateProxyEnhancement({tool_call_loop_enabled:g.value,stream_loop_enabled:F.value,tool_round_limit_enabled:h.value}),x.success(a(`common.saveSuccess`))}catch(t){console.error(`Failed to save proxy enhancement config:`,t),x.error(e(t,a(`proxyEnhancement.saveFailed`)))}finally{I.value=!1}}return d(()=>{L()}),(e,t)=>(_(),l(`div`,D,[i(`h2`,O,s(o(a)(`proxyEnhancement.title`)),1),u(o(S),null,{default:n(()=>[u(o(w),null,{default:n(()=>[u(o(T),null,{default:n(()=>[c(s(o(a)(`proxyEnhancement.loopDetection.toolRoundLimit.title`)),1)]),_:1}),u(o(E),null,{default:n(()=>[c(s(o(a)(`proxyEnhancement.loopDetection.toolRoundLimit.description`)),1)]),_:1})]),_:1}),u(o(C),null,{default:n(()=>[i(`div`,k,[u(o(y),{id:`tool-round-limit-toggle`,modelValue:h.value,"onUpdate:modelValue":t[0]||=e=>h.value=e},null,8,[`modelValue`]),u(o(v),{for:`tool-round-limit-toggle`},{default:n(()=>[c(s(h.value?o(a)(`proxyEnhancement.status.enabled`):o(a)(`proxyEnhancement.status.disabled`)),1)]),_:1})])]),_:1})]),_:1}),u(o(S),{class:`mt-4`},{default:n(()=>[u(o(w),null,{default:n(()=>[u(o(T),null,{default:n(()=>[c(s(o(a)(`proxyEnhancement.loopDetection.toolCallLoop.title`)),1)]),_:1}),u(o(E),null,{default:n(()=>[c(s(o(a)(`proxyEnhancement.loopDetection.toolCallLoop.description`)),1)]),_:1})]),_:1}),u(o(C),null,{default:n(()=>[i(`div`,A,[u(o(y),{id:`tool-call-loop-toggle`,modelValue:g.value,"onUpdate:modelValue":t[1]||=e=>g.value=e},null,8,[`modelValue`]),u(o(v),{for:`tool-call-loop-toggle`},{default:n(()=>[c(s(g.value?o(a)(`proxyEnhancement.status.enabled`):o(a)(`proxyEnhancement.status.disabled`)),1)]),_:1})])]),_:1})]),_:1}),u(o(S),{class:`mt-4`},{default:n(()=>[u(o(w),null,{default:n(()=>[u(o(T),null,{default:n(()=>[c(s(o(a)(`proxyEnhancement.loopDetection.streamLoop.title`)),1)]),_:1}),u(o(E),null,{default:n(()=>[c(s(o(a)(`proxyEnhancement.loopDetection.streamLoop.description`)),1)]),_:1})]),_:1}),u(o(C),null,{default:n(()=>[i(`div`,j,[u(o(y),{id:`stream-loop-toggle`,modelValue:F.value,"onUpdate:modelValue":t[2]||=e=>F.value=e},null,8,[`modelValue`]),u(o(v),{for:`stream-loop-toggle`},{default:n(()=>[c(s(F.value?o(a)(`proxyEnhancement.status.enabled`):o(a)(`proxyEnhancement.status.disabled`)),1)]),_:1})])]),_:1})]),_:1}),i(`div`,M,[u(o(m),{disabled:I.value,onClick:R},{default:n(()=>[I.value?(_(),l(`span`,N,[u(o(b),{class:`w-4 h-4 animate-spin`}),c(` `+s(o(a)(`proxyEnhancement.dynamicModel.saving`)),1)])):(_(),l(`span`,P,s(o(a)(`common.save`)),1))]),_:1},8,[`disabled`])])]))}});export{F as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,Bt as t,Ct as n,Dt as r,F as i,G as a,H as o,J as s,K as c,Q as l,Rt as u,U as d,Ut as f,V as p,X as m,Y as h,Z as g,bt as _,ct as v,ft as y,j as b,jt as x,k as S,n as C,q as w,ut as T}from"./button-CDY3J7p5.js";import{r as E,t as D}from"./MappingEntryEditor-Ch7ahw0-.js";import{t as O}from"./Checkbox-D2Z17AP8.js";import{t as k}from"./Label-C4V5wJj3.js";import{t as A}from"./Switch-GUFZnjj9.js";import{b as j,f as M,g as N,h as P,m as F,p as I,r as L}from"./index-BZ7-9gPE.js";import{n as R,t as z}from"./CardContent-uWoTAlVi.js";import{n as B,t as V}from"./CardTitle-Cr8POTL5.js";import{t as H}from"./Input--tQLJqtT.js";import{i as U,n as W,r as ee,t as G}from"./ModelCard-BzFBBbml.js";import{n as K,t as te}from"./TransformRulesForm-D0BEkLYX.js";var q={DeepSeek:`deepseek`,百度千帆:`qianfan`,科大讯飞:`iflytek`,硅基流动:`siliconflow`,智谱:`zhipu`,月之暗面:`moonshot`,Minimax:`minimax`,火山引擎:`volcengine`,阿里云:`aliyun`,腾讯云:`tencent`,OpenCode:`opencode`,阶跃星辰:`stepfun`};function J(e){return q[e]??e.toLowerCase().replace(/[^a-z0-9]/gi,`-`).replace(/-+/g,`-`)}function ne(){let{t}=i(),n=x(`claude-code`),r=x([]),o=x(``),s=x(``),c=x(`anthropic`),l=x(``),u=x([]),d=x([]),f=x([]),p=x(new Set),m=x(!1),h=x(`idle`),g=x(`auto`),y=x(10),C=x(12e4),w=x(100),T=x(``),E=x(``),D=x(``),O=x([]),k=x([]),A=a(()=>o.value===`__custom__`),j=a(()=>W.find(e=>e.id===n.value)),M=a(()=>{if(!o.value||!s.value)return;let e=r.value.find(e=>e.group===o.value);if(e)return e.presets.find(e=>e.plan===s.value)}),N=x(``),P=x(``),F=a(()=>A.value?N.value:M.value?.baseUrl??``),I=a(()=>{if(A.value)return P.value;let e=M.value;if(!e)return``;let t=e.apiType===`anthropic`?`/v1/messages`:e.apiType===`openai-responses`?`/v1/responses`:`/v1/chat/completions`;return e.upstreamPath&&e.upstreamPath!==t?e.upstreamPath:``}),R=a(()=>r.value.find(e=>e.group===o.value)?.presets??[]),z=a(()=>!F.value.includes(`openai.com`)),B=a(()=>o.value?{provider:{id:A.value?`__new_custom__`:`__new_${J(o.value)}_${J(s.value)}__`,name:A.value?t(`quickSetup.provider.customProvider`):`${o.value} - ${s.value}`},models:u.value.filter(e=>e.enabled).map(e=>({name:e.name,contextWindow:e.contextWindow})),isNew:!0}:null),V=a(()=>{let e=k.value.map(e=>({provider:{id:e.id,name:e.name},models:(e.models??[]).map(e=>({name:e.name,contextWindow:e.context_window??128e3}))}));return B.value&&B.value.models.length>0?[...e,B.value]:e}),H=a(()=>{let e=o.value;return f.value.filter(t=>!t.providers||t.providers.length===0?!0:t.providers.includes(e))});function G(e,t){let n=[];return e.toLowerCase().includes(`deepseek`)&&(t===`anthropic`?n.push(`thinking-param`,`cache-control`,`thinking-blocks`,`orphan-tool-results`):n.push(`non-ds-tools`,`orphan-tool-results-oa`)),t===`openai`&&z.value&&n.push(`developer-role`),n}function K(e){u.value=e.models.map(t=>({name:t,contextWindow:U(t),enabled:!0,patches:G(t,e.apiType)}))}function te(e,t=128e3){u.value.push({name:e,contextWindow:t,enabled:!0,patches:G(e,c.value)})}function q(){let e=u.value.filter(e=>e.enabled),t;t=n.value===`pi`?e.map(e=>e.name):ee[n.value]??e.map(e=>e.name),d.value=t.map(r=>{let i=O.value.find(e=>e.client_model===r);if(i){let t={};try{t=JSON.parse(i.rule)}catch{}let n=t.targets??[];return{clientModel:r,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:e[0]?.name??``,provider_id:`__new__`}],existing:!0,existingId:i.id,tag:`existing`,active:!!i.is_active,originalActive:!!i.is_active}}return{clientModel:r,targets:[{backend_model:e[t.indexOf(r)]?.name??e[e.length-1]?.name??``,provider_id:`__new__`}],existing:!1,tag:n.value===`pi`?`auto`:`def`,active:!0}})}function ne(){p.value=new Set(H.value.filter(e=>!e.exists).map(e=>e.name))}function Y(e){n.value=e;let t=W.find(t=>t.id===e);if(t){o.value=``,s.value=``;for(let e of r.value)if(e.group===t.defaultProvider){o.value=e.group;for(let n of e.presets)if(n.plan===t.defaultPlan){s.value=n.plan,c.value=n.apiType,K(n);break}break}q(),ne()}}function X(e){if(o.value=e,s.value=``,u.value=[],e===`__custom__`)c.value=`openai`,N.value=``,P.value=``,u.value=[];else{let t=r.value.find(t=>t.group===e);if(t&&t.presets.length>0){let e=j.value,n=(e?t.presets.find(t=>t.apiType===e.format):null)??t.presets[0];s.value=n.plan,c.value=n.apiType,K(n)}}q(),ne()}function re(e){s.value=e;let t=r.value.find(e=>e.group===o.value);if(!t)return;let n=t.presets.find(t=>t.plan===e);n&&(c.value=n.apiType,K(n),q())}_(c,()=>{for(let e of u.value)e.patches=G(e.name,c.value)});function ie(e,t){let n=new Set(p.value);t?n.add(e):n.delete(e),p.value=n}function ae(e,t){let n=[...d.value];n[e]={...n[e],targets:t},d.value=n}function Z(e){let t=[...d.value];t[e]={...t[e],active:!t[e].active},d.value=t}function oe(e,t){let n=d.value.filter(t=>t.clientModel!==e);n.push({clientModel:e,targets:[{backend_model:t,provider_id:`__new__`}],existing:!1,tag:`cust`,active:!0}),d.value=n}function se(e){if(d.value.find(t=>t.clientModel===e)?.existing){L.error(t(`quickSetup.messages.existingMappingDelete`));return}d.value=d.value.filter(t=>t.clientModel!==e)}function ce(e){g.value=e,e===`auto`?y.value=10:e===`manual`&&(y.value=3)}async function le(){if(!l.value.trim()){h.value=`error`,L.error(t(`quickSetup.messages.fillApiKeyFirst`));return}h.value=`testing`,await new Promise(e=>setTimeout(e,800)),h.value=`ok`}function ue(){let e=T.value.trim(),n=E.value.trim(),r=D.value.trim();if(!e&&!n&&!r)return;let i={};if(e)try{i.inject_headers=JSON.parse(e)}catch{return L.error(t(`quickSetup.messages.injectHeadersJsonError`)),!1}if(n&&(i.drop_fields=n.split(`,`).map(e=>e.trim()).filter(Boolean)),r)try{i.request_defaults=JSON.parse(r)}catch{return L.error(t(`quickSetup.messages.requestDefaultsJsonError`)),!1}return Object.keys(i).length>0?i:void 0}async function de(){if(!M.value){L.error(t(`quickSetup.messages.selectProviderAndPlan`));return}if(!l.value.trim()){L.error(t(`quickSetup.messages.fillApiKey`));return}m.value=!0;try{let e={provider:{name:A.value?`custom-${Date.now()}`:`${J(o.value)}-${J(s.value)}`,api_type:c.value,base_url:F.value,upstream_path:I.value||void 0,api_key:l.value.trim(),models:u.value.map(e=>({name:e.name,context_window:e.contextWindow,patches:e.patches.length>0?e.patches:void 0})),concurrency_mode:g.value,max_concurrency:g.value===`none`?void 0:y.value,queue_timeout_ms:g.value===`none`?void 0:C.value,max_queue_size:g.value===`none`?void 0:w.value},mappings:d.value.filter(e=>e.targets[0]?.backend_model).map(e=>({client_model:e.clientModel,backend_model:e.targets[0]?.backend_model??``})),retry_rules:H.value.filter(e=>p.value.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})),transform_rules:(()=>{let e=ue();if(e===!1)throw Error(`__transform_invalid__`);return e})()};await S.quickSetup(e);let n=[];for(let e of d.value)if(e.existing&&e.existingId&&e.originalActive!==void 0&&e.active!==e.originalActive)try{await S.toggleMappingGroup(e.existingId)}catch{n.push(e.clientModel)}n.length>0?L.success(t(`quickSetup.messages.setupCompleteWithErrors`,{count:n.length})):L.success(t(`quickSetup.messages.setupComplete`)),await new Promise(e=>setTimeout(e,1500)),b.push(`/`)}catch(n){L.error(e(n,t(`quickSetup.messages.setupFailed`)))}finally{m.value=!1}}return v(async()=>{try{let[e,t,n,i]=await Promise.all([S.recommended.getProviders(),S.recommended.getRetryRules(),S.getMappingGroups().catch(()=>[]),S.getProviders().catch(()=>[])]);r.value=e,f.value=t,O.value=n,k.value=i,Y(`claude-code`)}catch(n){L.error(e(n,t(`quickSetup.messages.loadFailed`)))}}),{clientType:n,providerGroups:r,selectedGroup:o,selectedPlan:s,apiType:c,apiKey:l,modelConfigs:u,mappingEntries:d,allRecommendedRules:f,recommendedRules:H,selectedRetryRules:p,saving:m,connectionStatus:h,currentClient:j,currentPreset:M,baseUrl:F,customBaseUrl:N,upstreamPath:I,customUpstreamPath:P,isCustomProvider:A,availablePlans:R,isNonOpenaiEndpoint:z,concurrencyMode:g,maxConcurrency:y,queueTimeoutMs:C,maxQueueSize:w,transformInjectHeaders:T,transformDropFields:E,transformRequestDefaults:D,existingMappings:O,allProviders:k,allProviderGroups:V,selectClient:Y,onProviderChange:X,onPlanChange:re,initModels:K,getDefaultPatches:G,updateMappings:q,updateMappingTargets:ae,toggleMappingActive:Z,addMappingEntry:oe,removeMappingEntry:se,toggleRetryRule:ie,onConcurrencyModeChange:ce,testConnection:le,submit:de,addCustomModel:te}}var Y={class:`space-y-1.5`},X={class:`flex items-start gap-2 px-3 py-2`},re=[`onClick`],ie={class:`flex items-center gap-1.5 shrink-0 pt-0.5`},ae={key:0,class:`py-3 text-center text-xs text-muted-foreground`},Z={class:`flex items-center gap-2 pt-2 border-t mt-2`},oe=l({__name:`QuickSetupMappingList`,props:{entries:{},providerGroups:{}},emits:[`update:targets`,`toggle-active`,`add`],setup(e,{emit:t}){let{t:r}=i(),a=t,l=x(new Set);function p(e){let t=new Set(l.value);t.has(e)?t.delete(e):t.add(e),l.value=t}let _=x(``),v=x(``);function b(){return _.value.trim().length>0&&v.value.trim().length>0}function S(){let e=_.value.trim(),t=v.value.trim();e&&t&&(a(`add`,e,t),_.value=``,v.value=``)}function w(e){e.key===`Enter`&&b()&&(e.preventDefault(),S())}return(t,i)=>(T(),h(`div`,Y,[(T(!0),h(d,null,y(e.entries,(t,n)=>(T(),h(`div`,{key:t.clientModel,class:`rounded-md border border-border`},[c(`div`,X,[c(`div`,{class:`flex-1 min-w-0 cursor-pointer`,onClick:e=>p(t.clientModel)},[g(D,{entry:t,"provider-groups":e.providerGroups,expanded:l.value.has(t.clientModel),editable:!0,"onUpdate:targets":e=>a(`update:targets`,n,e)},null,8,[`entry`,`provider-groups`,`expanded`,`onUpdate:targets`])],8,re),c(`div`,ie,[g(u(A),{"model-value":t.active,"onUpdate:modelValue":e=>a(`toggle-active`,n),class:`scale-75`,onClick:i[0]||=o(()=>{},[`stop`])},null,8,[`model-value`,`onUpdate:modelValue`])])])]))),128)),e.entries.length===0?(T(),h(`p`,ae,f(u(r)(`providers.shared.noMappings`)),1)):s(``,!0),c(`div`,Z,[g(u(H),{modelValue:_.value,"onUpdate:modelValue":i[1]||=e=>_.value=e,placeholder:u(r)(`providers.shared.clientModel`),class:`h-8 flex-1 text-xs font-mono`,onKeydown:w},null,8,[`modelValue`,`placeholder`]),g(u(E),{class:`size-3 shrink-0 text-muted-foreground`}),g(u(H),{modelValue:v.value,"onUpdate:modelValue":i[2]||=e=>v.value=e,placeholder:u(r)(`providers.shared.targetModel`),class:`h-8 flex-1 text-xs font-mono`,onKeydown:w},null,8,[`modelValue`,`placeholder`]),g(u(C),{size:`sm`,variant:`outline`,class:`h-8 shrink-0`,disabled:!b(),onClick:S},{default:n(()=>[m(f(u(r)(`providers.shared.add`)),1)]),_:1},8,[`disabled`])])]))}}),se={class:`p-6 space-y-4 pb-20`},ce={class:`flex gap-2 flex-wrap`},le=[`onClick`],ue={class:`text-left`},de={class:`font-medium text-sm leading-tight`},fe={class:`text-[10px] opacity-60 leading-tight`},pe={class:`flex items-end gap-2`},me={class:`w-40 space-y-1`},he={class:`w-48 space-y-1`},ge={class:`w-80 space-y-1`},_e={class:`w-48 space-y-1`},ve={class:`w-28 space-y-1`},ye={class:`w-48 space-y-1`},be={class:`w-72 space-y-1`},xe={key:0,class:`w-48 space-y-1`},Se={class:`w-64 space-y-1`},Ce={class:`shrink-0 space-y-1`},we={class:`border-t pt-3`},Te={class:`flex items-center justify-between mb-2`},Ee={class:`text-xs font-medium text-muted-foreground`},De={key:0,class:`py-4 text-center text-xs text-muted-foreground`},Oe={key:1,class:`grid grid-cols-4 gap-2`},ke={key:2,class:`flex gap-2 mt-2`},Ae={class:`border-t pt-3`},je={class:`flex items-center justify-between mb-2`},Me={class:`text-xs font-medium text-muted-foreground`},Ne={class:`grid grid-cols-5 gap-4`},Pe={class:`flex items-center justify-between`},Fe={class:`col-span-2 space-y-4`},Ie={class:`flex items-center justify-between`},Le={key:0,class:`py-6 text-center text-xs text-muted-foreground`},Re={key:1,class:`space-y-1.5 max-h-[320px] overflow-y-auto`},ze=[`onClick`],Be={class:`flex-1 min-w-0`},Ve={class:`flex items-center gap-1.5`},He={class:`text-xs font-medium`},Ue={class:`text-[10px] text-muted-foreground mt-0.5`},We={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`},Ge={class:`text-xs text-muted-foreground flex items-center gap-1.5`},Ke={class:`flex items-center gap-2`},Q=l({__name:`QuickSetup`,setup(e){let{t:l}=i(),{clientType:_,providerGroups:v,selectedGroup:b,selectedPlan:S,apiType:E,apiKey:D,modelConfigs:A,mappingEntries:U,allRecommendedRules:ee,recommendedRules:q,selectedRetryRules:J,saving:Y,connectionStatus:X,baseUrl:re,availablePlans:ie,isNonOpenaiEndpoint:ae,isCustomProvider:Z,customBaseUrl:Q,upstreamPath:qe,customUpstreamPath:Je,concurrencyMode:Ye,maxConcurrency:Xe,queueTimeoutMs:Ze,maxQueueSize:Qe,allProviderGroups:$e,transformInjectHeaders:et,transformDropFields:tt,transformRequestDefaults:nt,selectClient:rt,onProviderChange:it,onPlanChange:at,updateMappingTargets:ot,toggleMappingActive:st,addMappingEntry:ct,toggleRetryRule:lt,onConcurrencyModeChange:ut,testConnection:dt,submit:ft,addCustomModel:pt}=ne(),$=x(``);function mt(){$.value.trim()&&(pt($.value.trim()),$.value=``)}let ht=a(()=>A.value.filter(e=>e.enabled).length),gt=a(()=>W.find(e=>e.id===_.value)?.name??_.value);function _t(e,t){let n=[...A.value];n[e]=t,A.value=n}function vt(e){A.value=A.value.filter((t,n)=>n!==e)}function yt(){if(!b.value){L.error(l(`quickSetup.messages.selectProvider`));return}if(!D.value.trim()){L.error(l(`quickSetup.messages.fillApiKey`));return}if(ht.value===0){L.error(l(`quickSetup.messages.enableOneModel`));return}L.success(l(`quickSetup.messages.validationPassed`))}return(e,i)=>(T(),h(d,null,[c(`div`,se,[g(u(R),null,{default:n(()=>[g(u(B),{class:`pb-3`},{default:n(()=>[g(u(V),{class:`text-sm font-medium`},{default:n(()=>[m(f(u(l)(`quickSetup.client.selectClient`)),1)]),_:1})]),_:1}),g(u(z),null,{default:n(()=>[c(`div`,ce,[(T(!0),h(d,null,y(u(W),e=>(T(),h(`button`,{key:e.id,class:t([`flex items-center gap-2.5 px-4 py-2.5 rounded-lg border text-sm transition-all cursor-pointer`,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=>u(rt)(e.id)},[c(`span`,{class:t([`w-7 h-7 rounded-md text-xs font-bold flex items-center justify-center shrink-0`,{"bg-purple-600 text-white":e.iconClass===`cc`,"bg-emerald-600 text-white":e.iconClass===`pi`,"bg-blue-600 text-white":e.iconClass===`oa`,"bg-orange-600 text-white":e.iconClass===`an`}])},f(e.icon),3),c(`div`,ue,[c(`div`,de,f(e.name),1),c(`div`,fe,f(e.format)+` · `+f(u(l)(e.descriptionKey)),1)])],10,le))),128))])]),_:1})]),_:1}),g(u(R),null,{default:n(()=>[g(u(B),{class:`pb-3`},{default:n(()=>[g(u(V),{class:`text-sm font-medium`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.config`)),1)]),_:1})]),_:1}),g(u(z),{class:`space-y-4`},{default:n(()=>[c(`div`,pe,[c(`div`,me,[g(u(k),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.label`)),1)]),_:1}),g(u(N),{"model-value":u(b),"onUpdate:modelValue":i[0]||=e=>u(it)(e)},{default:n(()=>[g(u(I),{class:`w-full text-xs data-[size=default]:h-7`},{default:n(()=>[g(u(M),{placeholder:u(l)(`quickSetup.provider.select`)},null,8,[`placeholder`])]),_:1}),g(u(P),null,{default:n(()=>[g(u(F),{value:`__custom__`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.custom`)),1)]),_:1}),(T(!0),h(d,null,y(u(v),e=>(T(),w(u(F),{key:e.group,value:e.group},{default:n(()=>[m(f(e.group),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),u(Z)?(T(),h(d,{key:0},[c(`div`,he,[g(u(k),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.format`)),1)]),_:1}),g(u(N),{modelValue:u(E),"onUpdate:modelValue":i[1]||=e=>r(E)?E.value=e:null},{default:n(()=>[g(u(I),{class:`w-full text-xs data-[size=default]:h-7`},{default:n(()=>[g(u(M))]),_:1}),g(u(P),null,{default:n(()=>[g(u(F),{value:`anthropic`},{default:n(()=>[...i[15]||=[m(`Anthropic Messages`,-1)]]),_:1}),g(u(F),{value:`openai`},{default:n(()=>[...i[16]||=[m(`OpenAI Chat Completions`,-1)]]),_:1}),g(u(F),{value:`openai-responses`},{default:n(()=>[...i[17]||=[m(`OpenAI Responses`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),c(`div`,ge,[g(u(k),{class:`text-xs text-muted-foreground`},{default:n(()=>[...i[18]||=[m(`Base URL`,-1)]]),_:1}),g(u(H),{modelValue:u(Q),"onUpdate:modelValue":i[2]||=e=>r(Q)?Q.value=e:null,placeholder:`https://api.example.com/v1`,class:`font-mono md:text-xs h-7`},null,8,[`modelValue`])]),c(`div`,_e,[g(u(k),{class:`text-xs text-muted-foreground`},{default:n(()=>[...i[19]||=[m(`Upstream Path`,-1)]]),_:1}),g(u(H),{modelValue:u(Je),"onUpdate:modelValue":i[3]||=e=>r(Je)?Je.value=e:null,placeholder:`/v1/chat/completions`,class:`font-mono md:text-xs h-7`},null,8,[`modelValue`])])],64)):(T(),h(d,{key:1},[c(`div`,ve,[g(u(k),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.plan`)),1)]),_:1}),g(u(N),{"model-value":u(S),"onUpdate:modelValue":i[4]||=e=>u(at)(e)},{default:n(()=>[g(u(I),{class:`w-full text-xs data-[size=default]:h-7`},{default:n(()=>[g(u(M),{placeholder:u(l)(`quickSetup.provider.select`)},null,8,[`placeholder`])]),_:1}),g(u(P),null,{default:n(()=>[(T(!0),h(d,null,y(u(ie),e=>(T(),w(u(F),{key:e.plan,value:e.plan},{default:n(()=>[m(f(e.plan),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),c(`div`,ye,[g(u(k),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.format`)),1)]),_:1}),g(u(N),{modelValue:u(E),"onUpdate:modelValue":i[5]||=e=>r(E)?E.value=e:null},{default:n(()=>[g(u(I),{class:`w-full text-xs data-[size=default]:h-7`},{default:n(()=>[g(u(M))]),_:1}),g(u(P),null,{default:n(()=>[g(u(F),{value:`anthropic`},{default:n(()=>[...i[20]||=[m(`Anthropic Messages`,-1)]]),_:1}),g(u(F),{value:`openai`},{default:n(()=>[...i[21]||=[m(`OpenAI Chat Completions`,-1)]]),_:1}),g(u(F),{value:`openai-responses`},{default:n(()=>[...i[22]||=[m(`OpenAI Responses`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),c(`div`,be,[g(u(k),{class:`text-xs text-muted-foreground`},{default:n(()=>[...i[23]||=[m(`Base URL`,-1)]]),_:1}),g(u(H),{"model-value":u(re),readonly:``,class:`font-mono md:text-xs h-7`},null,8,[`model-value`])]),u(qe)?(T(),h(`div`,xe,[g(u(k),{class:`text-xs text-muted-foreground`},{default:n(()=>[...i[24]||=[m(`Upstream Path`,-1)]]),_:1}),g(u(H),{"model-value":u(qe),readonly:``,class:`font-mono md:text-xs h-7`},null,8,[`model-value`])])):s(``,!0)],64)),c(`div`,Se,[g(u(k),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.apiKey`)),1)]),_:1}),g(u(H),{modelValue:u(D),"onUpdate:modelValue":i[6]||=e=>r(D)?D.value=e:null,type:`password`,placeholder:u(l)(`quickSetup.provider.apiKeyPlaceholder`),class:`md:text-xs h-7`},null,8,[`modelValue`,`placeholder`])]),c(`div`,Ce,[g(u(k),{class:`text-xs text-muted-foreground invisible`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.connect`)),1)]),_:1}),g(u(C),{variant:`outline`,size:`sm`,disabled:u(X)===`testing`,onClick:u(dt)},{default:n(()=>[u(X)===`testing`?(T(),h(d,{key:0},[i[25]||=c(`svg`,{class:`w-3.5 h-3.5 mr-1 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[c(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),c(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),m(` `+f(u(l)(`quickSetup.provider.testing`)),1)],64)):u(X)===`ok`?(T(),h(d,{key:1},[m(f(u(l)(`quickSetup.provider.connected`)),1)],64)):(T(),h(d,{key:2},[m(f(u(l)(`quickSetup.provider.test`)),1)],64))]),_:1},8,[`disabled`,`onClick`])])]),c(`div`,we,[c(`div`,Te,[c(`span`,Ee,f(u(l)(`quickSetup.model.config`)),1),g(u(j),{variant:`secondary`,class:`text-[10px]`},{default:n(()=>[m(f(ht.value)+`/`+f(u(A).length),1)]),_:1})]),u(A).length===0?(T(),h(`p`,De,f(u(l)(`quickSetup.model.selectProviderFirst`)),1)):(T(),h(`div`,Oe,[(T(!0),h(d,null,y(u(A),(e,t)=>(T(),w(G,{key:e.name,model:e,"api-type":u(E),"is-deep-seek":e.name.toLowerCase().includes(`deepseek`),"is-non-openai-endpoint":u(ae),"onUpdate:model":e=>_t(t,e),onRemove:e=>vt(t)},null,8,[`model`,`api-type`,`is-deep-seek`,`is-non-openai-endpoint`,`onUpdate:model`,`onRemove`]))),128))])),u(Z)?(T(),h(`div`,ke,[g(u(H),{modelValue:$.value,"onUpdate:modelValue":i[7]||=e=>$.value=e,placeholder:u(l)(`quickSetup.model.namePlaceholder`),onKeydown:p(o(mt,[`prevent`]),[`enter`]),class:`flex-1 md:text-xs h-7`},null,8,[`modelValue`,`placeholder`,`onKeydown`]),g(u(C),{type:`button`,variant:`outline`,size:`sm`,onClick:mt,disabled:!$.value.trim()},{default:n(()=>[m(f(u(l)(`common.add`)),1)]),_:1},8,[`disabled`])])):s(``,!0)]),c(`div`,Ae,[c(`div`,je,[c(`span`,Me,f(u(l)(`quickSetup.concurrency.control`)),1)]),g(K,{mode:u(Ye),"max-concurrency":u(Xe),"queue-timeout-ms":u(Ze),"max-queue-size":u(Qe),"onUpdate:mode":u(ut),"onUpdate:maxConcurrency":i[8]||=e=>Xe.value=e,"onUpdate:queueTimeoutMs":i[9]||=e=>Ze.value=e,"onUpdate:maxQueueSize":i[10]||=e=>Qe.value=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`,`onUpdate:mode`])])]),_:1})]),_:1}),c(`div`,Ne,[g(u(R),{class:`col-span-3`},{default:n(()=>[g(u(B),{class:`pb-3`},{default:n(()=>[c(`div`,Pe,[g(u(V),{class:`text-sm font-medium`},{default:n(()=>[m(f(u(l)(`quickSetup.mapping.title`)),1)]),_:1}),g(u(j),{variant:`secondary`,class:`text-[10px]`},{default:n(()=>[m(f(u(l)(`quickSetup.mapping.count`,{count:u(U).length})),1)]),_:1})])]),_:1}),g(u(z),null,{default:n(()=>[g(oe,{entries:u(U),"provider-groups":u($e),"onUpdate:targets":u(ot),onToggleActive:u(st),onAdd:u(ct)},null,8,[`entries`,`provider-groups`,`onUpdate:targets`,`onToggleActive`,`onAdd`])]),_:1})]),_:1}),c(`div`,Fe,[g(u(R),null,{default:n(()=>[g(u(B),{class:`pb-3`},{default:n(()=>[c(`div`,Ie,[g(u(V),{class:`text-sm font-medium`},{default:n(()=>[m(f(u(l)(`quickSetup.retry.title`)),1)]),_:1}),g(u(j),{variant:`secondary`,class:`text-[10px]`},{default:n(()=>[m(f(u(l)(`quickSetup.retry.selectedCount`,{count:u(J).size})),1)]),_:1})])]),_:1}),g(u(z),null,{default:n(()=>[u(q).length===0?(T(),h(`div`,Le,[u(ee).length===0?(T(),h(d,{key:0},[m(f(u(l)(`quickSetup.retry.allCreated`)),1)],64)):(T(),h(d,{key:1},[m(f(u(l)(`quickSetup.retry.selectProviderFirst`)),1)],64))])):(T(),h(`div`,Re,[(T(!0),h(d,null,y(u(q),e=>(T(),h(`div`,{key:e.name,class:t([`flex items-start gap-2.5 rounded-md transition-colors`,e.exists?`opacity-60 cursor-default p-2`:`hover:bg-muted/50 cursor-pointer p-2`]),onClick:t=>!e.exists&&u(lt)(e.name,!u(J).has(e.name))},[g(u(O),{checked:e.exists?!0:u(J).has(e.name),disabled:e.exists,class:`mt-0.5`,"onUpdate:checked":t=>u(lt)(e.name,!!t),onClick:i[11]||=o(()=>{},[`stop`])},null,8,[`checked`,`disabled`,`onUpdate:checked`]),c(`div`,Be,[c(`div`,Ve,[c(`span`,He,f(e.name),1),e.exists?(T(),w(u(j),{key:0,variant:`secondary`,class:`text-[9px] px-1.5 py-0 leading-none bg-muted text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.retry.configured`)),1)]),_:1})):e.providers&&e.providers.length>0?(T(),w(u(j),{key:1,variant:`outline`,class:`text-[9px] px-1 py-0 leading-none`},{default:n(()=>[m(f(e.providers[0]),1)]),_:2},1024)):(T(),w(u(j),{key:2,variant:`secondary`,class:`text-[9px] px-1 py-0 leading-none`},{default:n(()=>[m(f(u(l)(`quickSetup.retry.general`)),1)]),_:1}))]),c(`div`,Ue,f(e.status_code)+` · `+f(e.retry_strategy===`fixed`?u(l)(`quickSetup.retry.fixed`):u(l)(`quickSetup.retry.exponential`))+` · `+f(e.retry_delay_ms/1e3)+`s · `+f(e.max_retries)+f(u(l)(`quickSetup.retry.times`)),1)])],10,ze))),128))]))]),_:1})]),_:1}),g(u(R),null,{default:n(()=>[g(u(B),{class:`pb-3`},{default:n(()=>[g(u(V),{class:`text-sm font-medium`},{default:n(()=>[m(f(u(l)(`quickSetup.transform.title`)),1)]),_:1})]),_:1}),g(u(z),null,{default:n(()=>[g(te,{"inject-headers":u(et),"drop-fields":u(tt),"request-defaults":u(nt),"onUpdate:injectHeaders":i[12]||=e=>et.value=e,"onUpdate:dropFields":i[13]||=e=>tt.value=e,"onUpdate:requestDefaults":i[14]||=e=>nt.value=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])]),_:1})]),_:1})])])]),c(`div`,We,[c(`div`,Ge,[u(b)?(T(),h(d,{key:0},[g(u(j),{variant:`secondary`,class:`text-[10px]`},{default:n(()=>[m(f(gt.value),1)]),_:1}),i[26]||=c(`span`,{class:`text-muted-foreground/50`},`→`,-1),g(u(j),{variant:`secondary`,class:`text-[10px]`},{default:n(()=>[m(f(u(Z)?u(l)(`quickSetup.provider.custom`):u(b)),1)]),_:1})],64)):s(``,!0),ht.value>0?(T(),h(d,{key:1},[i[27]||=c(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),c(`span`,null,f(u(l)(`quickSetup.footer.models`,{count:ht.value})),1)],64)):s(``,!0),u(U).length>0?(T(),h(d,{key:2},[i[28]||=c(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),c(`span`,null,f(u(l)(`quickSetup.footer.mappings`,{count:u(U).length})),1)],64)):s(``,!0),u(J).size>0?(T(),h(d,{key:3},[i[29]||=c(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),c(`span`,null,f(u(l)(`quickSetup.footer.rules`,{count:u(J).size})),1)],64)):s(``,!0)]),c(`div`,Ke,[g(u(C),{size:`sm`,variant:`outline`,onClick:yt},{default:n(()=>[m(f(u(l)(`quickSetup.footer.validate`)),1)]),_:1}),g(u(C),{size:`sm`,disabled:u(Y),onClick:u(ft)},{default:n(()=>[u(Y)?(T(),h(d,{key:0},[i[30]||=c(`svg`,{class:`w-3.5 h-3.5 mr-1 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[c(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),c(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),m(` `+f(u(l)(`quickSetup.footer.saving`)),1)],64)):(T(),h(d,{key:1},[m(f(u(l)(`quickSetup.footer.saveConfig`)),1)],64))]),_:1},8,[`disabled`,`onClick`])])])],64))}});export{Q as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,Bt as t,Ct as n,F as r,G as i,H as ee,J as a,K as o,Q as te,Rt as s,U as c,Ut as l,X as u,Y as d,Z as f,ct as ne,ft as p,jt as m,k as h,n as g,q as _,ut as v}from"./button-CDY3J7p5.js";import{t as y}from"./Checkbox-D2Z17AP8.js";import{n as re,t as ie}from"./CollapsibleContent-BqCmqNIs.js";import{t as ae}from"./CollapsibleTrigger-B--uk4iR.js";import{a as oe,c as b,d as x,f as S,l as C,n as se,o as ce,r as le,s as w,t as ue,u as T}from"./dialog-B3bc_Iev.js";import{t as E}from"./Label-C4V5wJj3.js";import{a as de,b as D,c as fe,d as pe,f as me,g as he,h as ge,i as _e,l as ve,m as O,o as ye,p as k,r as A,s as j,tt as M}from"./index-BZ7-9gPE.js";import{n as N,t as P}from"./CardContent-uWoTAlVi.js";import{n as be,t as xe}from"./CardTitle-Cr8POTL5.js";import{t as F}from"./Input--tQLJqtT.js";var Se={class:`p-6`},Ce={class:`flex items-center justify-between mb-4`},we={class:`text-lg font-semibold text-foreground`},Te={class:`bg-card rounded-lg border overflow-hidden`},Ee={class:`flex items-center gap-2`},De={class:`text-xs text-muted-foreground`},Oe={key:0,class:`text-sm text-destructive mt-1`},ke={key:0,class:`text-sm text-destructive mt-1`},Ae={key:0,class:`text-sm text-destructive mt-1`},je={class:`grid grid-cols-2 gap-3`},Me={key:0,class:`text-sm text-destructive mt-1`},Ne={key:0,class:`text-sm text-destructive mt-1`},Pe={key:0},Fe={key:0,class:`text-sm text-destructive mt-1`},Ie={class:`flex items-center gap-2`},Le={class:`flex items-center justify-between`},Re={class:`flex items-center justify-between mb-3`},ze={class:`flex items-center gap-2`},Be={class:`text-sm text-muted-foreground`},I=100,L=599,R=100,z=100,B=te({__name:`RetryRules`,setup(te){let{t:B}=r(),V={name:``,status_code:429,body_pattern:``,is_active:!0,retry_strategy:`exponential`,retry_delay_ms:5e3,max_retries:10,max_delay_ms:6e4},H=m([]),U=m(!1),W=m(null),G=m(null),K=m({...V}),q=m({});function Ve(){let e={};K.value.name.trim()||(e.name=B(`retryRules.validation.nameRequired`));let t=Number(K.value.status_code);if((!Number.isInteger(t)||t<I||t>L)&&(e.status_code=B(`retryRules.validation.statusCodeRange`,{min:I,max:L})),!K.value.body_pattern.trim())e.body_pattern=B(`retryRules.validation.bodyPatternRequired`);else try{new RegExp(K.value.body_pattern)}catch{e.body_pattern=B(`retryRules.validation.bodyPatternInvalid`)}let n=Number(K.value.retry_delay_ms);(!n||n<R)&&(e.retry_delay_ms=B(`retryRules.validation.delayMin`,{min:R}));let r=Number(K.value.max_retries);if((!Number.isInteger(r)||r<0||r>z)&&(e.max_retries=B(`retryRules.validation.retriesRange`,{max:z})),K.value.retry_strategy===`exponential`){let t=Number(K.value.max_delay_ms);(!t||t<R)&&(e.max_delay_ms=B(`retryRules.validation.delayMin`,{min:R}))}return q.value=e,Object.keys(e).length===0}async function J(){try{H.value=await h.getRetryRules()}catch(t){console.error(`Failed to load retry rules:`,t),A.error(e(t,B(`retryRules.messages.loadFailed`)))}}function He(){W.value=null,K.value={...V},q.value={},U.value=!0}function Ue(e){W.value=e.id,K.value={name:e.name,status_code:e.status_code,body_pattern:e.body_pattern,is_active:!!e.is_active,retry_strategy:e.retry_strategy,retry_delay_ms:e.retry_delay_ms,max_retries:e.max_retries,max_delay_ms:e.max_delay_ms},q.value={},U.value=!0}async function We(){if(Ve())try{let e={name:K.value.name,status_code:Number(K.value.status_code),body_pattern:K.value.body_pattern,is_active:+!!K.value.is_active,retry_strategy:K.value.retry_strategy,retry_delay_ms:Number(K.value.retry_delay_ms),max_retries:Number(K.value.max_retries),max_delay_ms:Number(K.value.max_delay_ms)};W.value?await h.updateRetryRule(W.value,e):await h.createRetryRule(e),U.value=!1,await J()}catch(t){console.error(`Failed to save retry rule:`,t),A.error(e(t,B(`retryRules.messages.saveFailed`)))}}function Ge(e){G.value=e}async function Y(){let t=G.value;if(t){G.value=null;try{await h.deleteRetryRule(t.id),await J()}catch(t){console.error(`Failed to delete retry rule:`,t),A.error(e(t,B(`retryRules.messages.deleteFailed`)))}}}let X=m(!1),Z=m([]),Q=m(new Set),Ke=i(()=>Z.value.length>0&&Q.value.size===Z.value.length);async function $(){try{Z.value=await h.recommended.getRetryRules()}catch{Z.value=[]}}function qe(e){let t=new Set(Q.value);t.has(e)?t.delete(e):t.add(e),Q.value=t}function Je(e){Q.value=e===!0?new Set(Z.value.map(e=>e.name)):new Set}async function Ye(){let e=Z.value.filter(e=>Q.value.has(e.name));for(let t of e)await h.createRetryRule({name:t.name,status_code:t.status_code,body_pattern:t.body_pattern,is_active:1,retry_strategy:t.retry_strategy,retry_delay_ms:t.retry_delay_ms,max_retries:t.max_retries,max_delay_ms:t.max_delay_ms});A.success(B(`retryRules.messages.addedCount`,{count:e.length})),Q.value=new Set,await Promise.allSettled([$(),J()])}return ne(()=>{J(),$()}),(e,r)=>(v(),d(`div`,Se,[o(`div`,Ce,[o(`h2`,we,l(s(B)(`retryRules.title`)),1),f(s(g),{onClick:He,class:`flex items-center gap-1`},{default:n(()=>[r[18]||=o(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[o(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),u(` `+l(s(B)(`retryRules.addRule`)),1)]),_:1})]),o(`div`,Te,[f(s(S),null,{default:n(()=>[f(s(w),null,{default:n(()=>[f(s(C),{class:`bg-muted`},{default:n(()=>[f(s(b),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(B)(`retryRules.tableHeaders.name`)),1)]),_:1}),f(s(b),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(B)(`retryRules.tableHeaders.statusCode`)),1)]),_:1}),f(s(b),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(B)(`retryRules.tableHeaders.bodyPattern`)),1)]),_:1}),f(s(b),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(B)(`retryRules.tableHeaders.retryStrategy`)),1)]),_:1}),f(s(b),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(B)(`retryRules.tableHeaders.status`)),1)]),_:1}),f(s(b),{class:`text-right text-muted-foreground`},{default:n(()=>[u(l(s(B)(`retryRules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),f(s(x),null,{default:n(()=>[(v(!0),d(c,null,p(H.value,e=>(v(),_(s(C),{key:e.id},{default:n(()=>[f(s(T),{class:`font-mono text-sm`},{default:n(()=>[u(l(e.name),1)]),_:2},1024),f(s(T),null,{default:n(()=>[u(l(e.status_code),1)]),_:2},1024),f(s(T),{class:`font-mono text-xs text-muted-foreground`},{default:n(()=>[u(l(e.body_pattern),1)]),_:2},1024),f(s(T),null,{default:n(()=>[o(`div`,Ee,[f(s(D),{variant:`outline`},{default:n(()=>[u(l(e.retry_strategy===`fixed`?s(B)(`retryRules.strategy.fixed`):s(B)(`retryRules.strategy.exponential`)),1)]),_:2},1024),o(`span`,De,[u(l(e.retry_delay_ms/1e3)+`s · `+l(s(B)(`retryRules.times`,{count:e.max_retries}))+` `,1),e.retry_strategy===`exponential`?(v(),d(c,{key:0},[u(` · `+l(s(B)(`retryRules.upperLimit`,{value:e.max_delay_ms/1e3})),1)],64)):a(``,!0)])])]),_:2},1024),f(s(T),null,{default:n(()=>[f(s(D),{variant:e.is_active?`default`:`secondary`},{default:n(()=>[u(l(e.is_active?s(B)(`common.enabled`):s(B)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),f(s(T),{class:`text-right`},{default:n(()=>[f(s(g),{variant:`ghost`,size:`sm`,onClick:t=>Ue(e),class:`mr-2`},{default:n(()=>[u(l(s(B)(`common.edit`)),1)]),_:1},8,[`onClick`]),f(s(g),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:t=>Ge(e)},{default:n(()=>[u(l(s(B)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024))),128)),H.value.length===0?(v(),_(s(C),{key:0},{default:n(()=>[f(s(T),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[u(l(s(B)(`retryRules.noRules`)),1)]),_:1})]),_:1})):a(``,!0)]),_:1})]),_:1})]),f(s(ce),{open:U.value,"onUpdate:open":r[15]||=e=>U.value=e},{default:n(()=>[f(s(oe),null,{default:n(()=>[f(s(se),null,{default:n(()=>[f(s(ue),null,{default:n(()=>[u(l(W.value?s(B)(`retryRules.dialog.editRule`):s(B)(`retryRules.dialog.addRule`)),1)]),_:1})]),_:1}),o(`form`,{onSubmit:ee(We,[`prevent`]),class:`space-y-3`},[o(`div`,null,[f(s(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[u(l(s(B)(`retryRules.dialog.name`)),1)]),_:1}),f(s(F),{modelValue:K.value.name,"onUpdate:modelValue":r[0]||=e=>K.value.name=e,type:`text`,required:``,onInput:r[1]||=e=>delete q.value.name},null,8,[`modelValue`]),q.value.name?(v(),d(`p`,Oe,l(q.value.name),1)):a(``,!0)]),o(`div`,null,[f(s(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[u(l(s(B)(`retryRules.dialog.statusCode`)),1)]),_:1}),f(s(F),{modelValue:K.value.status_code,"onUpdate:modelValue":r[2]||=e=>K.value.status_code=e,modelModifiers:{number:!0},type:`number`,required:``,onInput:r[3]||=e=>delete q.value.status_code},null,8,[`modelValue`]),q.value.status_code?(v(),d(`p`,ke,l(q.value.status_code),1)):a(``,!0)]),o(`div`,null,[f(s(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[u(l(s(B)(`retryRules.dialog.bodyPattern`)),1)]),_:1}),f(s(F),{modelValue:K.value.body_pattern,"onUpdate:modelValue":r[4]||=e=>K.value.body_pattern=e,type:`text`,placeholder:s(B)(`retryRules.dialog.bodyPatternPlaceholder`),required:``,onInput:r[5]||=e=>delete q.value.body_pattern},null,8,[`modelValue`,`placeholder`]),q.value.body_pattern?(v(),d(`p`,Ae,l(q.value.body_pattern),1)):a(``,!0)]),o(`div`,null,[f(s(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[u(l(s(B)(`retryRules.dialog.retryStrategy`)),1)]),_:1}),f(s(he),{modelValue:K.value.retry_strategy,"onUpdate:modelValue":r[6]||=e=>K.value.retry_strategy=e},{default:n(()=>[f(s(k),{class:`w-full`},{default:n(()=>[f(s(me),{placeholder:s(B)(`retryRules.dialog.selectStrategy`)},null,8,[`placeholder`])]),_:1}),f(s(ge),null,{default:n(()=>[f(s(O),{value:`exponential`},{default:n(()=>[u(l(s(B)(`retryRules.strategy.exponential`)),1)]),_:1}),f(s(O),{value:`fixed`},{default:n(()=>[u(l(s(B)(`retryRules.strategy.fixed`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),o(`div`,je,[o(`div`,null,[f(s(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[u(l(K.value.retry_strategy===`fixed`?s(B)(`retryRules.dialog.intervalMs`):s(B)(`retryRules.dialog.initialDelayMs`)),1)]),_:1}),f(s(F),{modelValue:K.value.retry_delay_ms,"onUpdate:modelValue":r[7]||=e=>K.value.retry_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:r[8]||=e=>delete q.value.retry_delay_ms},null,8,[`modelValue`]),q.value.retry_delay_ms?(v(),d(`p`,Me,l(q.value.retry_delay_ms),1)):a(``,!0)]),o(`div`,null,[f(s(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[u(l(s(B)(`retryRules.dialog.maxRetries`)),1)]),_:1}),f(s(F),{modelValue:K.value.max_retries,"onUpdate:modelValue":r[9]||=e=>K.value.max_retries=e,modelModifiers:{number:!0},type:`number`,min:0,max:100,required:``,onInput:r[10]||=e=>delete q.value.max_retries},null,8,[`modelValue`]),q.value.max_retries?(v(),d(`p`,Ne,l(q.value.max_retries),1)):a(``,!0)])]),K.value.retry_strategy===`exponential`?(v(),d(`div`,Pe,[f(s(E),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[u(l(s(B)(`retryRules.dialog.maxDelayMs`)),1)]),_:1}),f(s(F),{modelValue:K.value.max_delay_ms,"onUpdate:modelValue":r[11]||=e=>K.value.max_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:r[12]||=e=>delete q.value.max_delay_ms},null,8,[`modelValue`]),q.value.max_delay_ms?(v(),d(`p`,Fe,l(q.value.max_delay_ms),1)):a(``,!0)])):a(``,!0),o(`div`,Ie,[f(s(y),{modelValue:K.value.is_active,"onUpdate:modelValue":r[13]||=e=>K.value.is_active=e,id:`rule-active`},null,8,[`modelValue`]),f(s(E),{for:`rule-active`,class:`text-sm text-foreground`},{default:n(()=>[u(l(s(B)(`retryRules.dialog.enable`)),1)]),_:1})]),f(s(le),null,{default:n(()=>[f(s(g),{type:`button`,variant:`outline`,onClick:r[14]||=e=>U.value=!1},{default:n(()=>[u(l(s(B)(`common.cancel`)),1)]),_:1}),f(s(g),{type:`submit`},{default:n(()=>[u(l(s(B)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),f(s(pe),{open:!!G.value,"onUpdate:open":r[16]||=e=>{e||(G.value=null)}},{default:n(()=>[f(s(fe),null,{default:n(()=>[f(s(de),null,{default:n(()=>[f(s(_e),null,{default:n(()=>[u(l(s(B)(`retryRules.deleteConfirm.title`)),1)]),_:1}),f(s(j),null,{default:n(()=>[u(l(s(B)(`retryRules.deleteConfirm.description`,{name:G.value?.name})),1)]),_:1})]),_:1}),f(s(ye),null,{default:n(()=>[f(s(ve),null,{default:n(()=>[u(l(s(B)(`common.cancel`)),1)]),_:1}),f(s(g),{variant:`destructive`,onClick:Y},{default:n(()=>[u(l(s(B)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),Z.value.length>0?(v(),_(s(N),{key:0,class:`mt-6`},{default:n(()=>[f(s(re),{open:X.value,"onUpdate:open":r[17]||=e=>X.value=e},{default:n(()=>[f(s(ae),{"as-child":``},{default:n(()=>[f(s(be),{class:`cursor-pointer hover:bg-muted/50 transition-colors`},{default:n(()=>[o(`div`,Le,[f(s(xe),{class:`text-sm font-medium`},{default:n(()=>[u(l(s(B)(`retryRules.recommended.title`,{count:Z.value.length})),1)]),_:1}),f(s(M),{class:t([`h-4 w-4 text-muted-foreground transition-transform`,{"rotate-180":X.value}])},null,8,[`class`])])]),_:1})]),_:1}),f(s(ie),null,{default:n(()=>[f(s(P),null,{default:n(()=>[o(`div`,Re,[o(`div`,ze,[f(s(y),{"model-value":Ke.value,"onUpdate:modelValue":Je},null,8,[`model-value`]),o(`span`,Be,l(s(B)(`retryRules.recommended.selectAll`)),1)]),f(s(g),{size:`sm`,disabled:Q.value.size===0,onClick:Ye},{default:n(()=>[u(l(s(B)(`retryRules.recommended.addSelected`,{count:Q.value.size})),1)]),_:1},8,[`disabled`])]),f(s(S),null,{default:n(()=>[f(s(w),null,{default:n(()=>[f(s(C),null,{default:n(()=>[f(s(b),{class:`w-10`}),f(s(b),null,{default:n(()=>[u(l(s(B)(`retryRules.recommended.headers.name`)),1)]),_:1}),f(s(b),null,{default:n(()=>[u(l(s(B)(`retryRules.recommended.headers.statusCode`)),1)]),_:1}),f(s(b),null,{default:n(()=>[u(l(s(B)(`retryRules.recommended.headers.pattern`)),1)]),_:1}),f(s(b),null,{default:n(()=>[u(l(s(B)(`retryRules.recommended.headers.strategy`)),1)]),_:1})]),_:1})]),_:1}),f(s(x),null,{default:n(()=>[(v(!0),d(c,null,p(Z.value,e=>(v(),_(s(C),{key:e.name},{default:n(()=>[f(s(T),null,{default:n(()=>[f(s(y),{"model-value":Q.value.has(e.name),"onUpdate:modelValue":()=>qe(e.name)},null,8,[`model-value`,`onUpdate:modelValue`])]),_:2},1024),f(s(T),null,{default:n(()=>[u(l(e.name),1)]),_:2},1024),f(s(T),null,{default:n(()=>[u(l(e.status_code),1)]),_:2},1024),f(s(T),{class:`font-mono text-xs max-w-[200px] truncate`},{default:n(()=>[u(l(e.body_pattern),1)]),_:2},1024),f(s(T),null,{default:n(()=>[u(l(e.retry_strategy===`fixed`?s(B)(`retryRules.strategy.fixed`):s(B)(`retryRules.strategy.exponential`)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]),_:1})):a(``,!0)]))}});export{B as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,Bt as t,Ct as n,F as r,H as ee,J as i,K as a,Q as te,Rt as o,U as s,Ut as c,X as l,Y as u,Z as d,ct as ne,ft as f,jt as p,k as m,n as h,q as g,ut as _}from"./button-CDY3J7p5.js";import{t as v}from"./Checkbox-D2Z17AP8.js";import{a as re,c as y,d as b,f as x,l as S,n as ie,o as ae,r as oe,s as se,t as ce,u as C}from"./dialog-B3bc_Iev.js";import{t as w}from"./Label-C4V5wJj3.js";import{a as le,b as T,c as ue,d as E,i as D,l as O,o as k,r as A,rt as j,s as M}from"./index-BZ7-9gPE.js";import{t as N}from"./Input--tQLJqtT.js";import{t as P}from"./useClipboard-BJeJ8Sah.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=te({__name:`RouterKeys`,setup(te){let{t:W}=r(),G={name:``,allowed_models:[],is_active:!0},K=p([]),q=p([]),J=p(!1),Y=p(null),X=p(null),Z=p({...G,allowed_models:[]}),Q=p({}),{copied:ve,copy:ye}=P();function be(e){return e?e.slice(0,7)+`*`.repeat(7):``}function xe(e){return j(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([m.getRouterKeys(),m.getAvailableModels()]);e.status===`fulfilled`&&(K.value=e.value),t.status===`fulfilled`&&(q.value=t.value)}catch(t){console.error(`Failed to load data:`,t),A.error(e(t,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 t={};if(Z.value.name.trim()||(t.name=W(`routerKeys.nameRequired`)),Q.value=t,!(Object.keys(t).length>0))try{Y.value?await m.updateRouterKey(Y.value,Te()):await m.createRouterKey(Ee()),J.value=!1,await $()}catch(t){console.error(`Failed to save router key:`,t),A.error(e(t,W(`routerKeys.saveFailed`)))}}function Oe(e){X.value=e}async function ke(){let t=X.value;if(t){X.value=null;try{await m.deleteRouterKey(t.id),await $()}catch(t){console.error(`Failed to delete router key:`,t),A.error(e(t,W(`routerKeys.deleteFailed`)))}}}return ne($),(e,r)=>(_(),u(`div`,F,[a(`div`,I,[a(`h2`,L,c(o(W)(`routerKeys.title`)),1),d(o(h),{onClick:Ce,class:`flex items-center gap-1`},{default:n(()=>[r[6]||=a(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[a(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),l(` `+c(o(W)(`routerKeys.createKey`)),1)]),_:1})]),a(`div`,R,[d(o(x),null,{default:n(()=>[d(o(se),null,{default:n(()=>[d(o(S),{class:`bg-muted`},{default:n(()=>[d(o(y),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(W)(`routerKeys.tableHeaders.name`)),1)]),_:1}),d(o(y),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(W)(`routerKeys.tableHeaders.key`)),1)]),_:1}),d(o(y),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(W)(`routerKeys.tableHeaders.whitelist`)),1)]),_:1}),d(o(y),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(W)(`routerKeys.tableHeaders.status`)),1)]),_:1}),d(o(y),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(W)(`routerKeys.tableHeaders.createdAt`)),1)]),_:1}),d(o(y),{class:`text-right text-muted-foreground`},{default:n(()=>[l(c(o(W)(`routerKeys.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),d(o(b),null,{default:n(()=>[(_(!0),u(s,null,f(K.value,e=>(_(),g(o(S),{key:e.id,class:t({"opacity-60":!e.is_active})},{default:n(()=>[d(o(C),{class:`font-medium`},{default:n(()=>[l(c(e.name),1)]),_:2},1024),d(o(C),null,{default:n(()=>[a(`div`,z,[a(`span`,B,c(be(e.key)),1),d(o(h),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:t=>e.key&&o(ye)(e.key)},{default:n(()=>[o(ve)?(_(),u(`svg`,H,[...r[8]||=[a(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):(_(),u(`svg`,V,[...r[7]||=[a(`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),d(o(C),null,{default:n(()=>[e.allowed_models&&e.allowed_models.length>0?(_(),u(`div`,U,[(_(!0),u(s,null,f(e.allowed_models,e=>(_(),g(o(T),{key:e,variant:`outline`,class:`text-xs`},{default:n(()=>[l(c(e),1)]),_:2},1024))),128))])):(_(),g(o(T),{key:1,variant:`secondary`},{default:n(()=>[l(c(o(W)(`common.allModels`)),1)]),_:1}))]),_:2},1024),d(o(C),null,{default:n(()=>[d(o(T),{variant:e.is_active?`default`:`secondary`},{default:n(()=>[l(c(e.is_active?o(W)(`common.enabled`):o(W)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),d(o(C),{class:`text-muted-foreground text-sm`},{default:n(()=>[l(c(xe(e.created_at)),1)]),_:2},1024),d(o(C),{class:`text-right`},{default:n(()=>[d(o(h),{variant:`ghost`,size:`sm`,onClick:t=>we(e),class:`text-muted-foreground hover:text-primary mr-2`},{default:n(()=>[l(c(o(W)(`common.edit`)),1)]),_:1},8,[`onClick`]),d(o(h),{variant:`ghost`,size:`sm`,onClick:t=>Oe(e),class:`text-muted-foreground hover:text-destructive`},{default:n(()=>[l(c(o(W)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),K.value.length===0?(_(),g(o(S),{key:0},{default:n(()=>[d(o(C),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[l(c(o(W)(`routerKeys.noKeys`)),1)]),_:1})]),_:1})):i(``,!0)]),_:1})]),_:1})]),d(o(ae),{open:J.value,"onUpdate:open":r[4]||=e=>J.value=e},{default:n(()=>[d(o(re),{class:`sm:max-w-lg`},{default:n(()=>[d(o(ie),null,{default:n(()=>[d(o(ce),null,{default:n(()=>[l(c(Y.value?o(W)(`routerKeys.editKey`):o(W)(`routerKeys.createKey`)),1)]),_:1})]),_:1}),a(`form`,{onSubmit:ee(De,[`prevent`]),class:`space-y-4`},[a(`div`,null,[d(o(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[l(c(o(W)(`routerKeys.tableHeaders.name`)),1)]),_:1}),d(o(N),{modelValue:Z.value.name,"onUpdate:modelValue":r[0]||=e=>Z.value.name=e,type:`text`,required:``,placeholder:o(W)(`routerKeys.placeholder.name`),onInput:r[1]||=e=>delete Q.value.name},null,8,[`modelValue`,`placeholder`]),Q.value.name?(_(),u(`p`,de,c(Q.value.name),1)):i(``,!0)]),a(`div`,null,[d(o(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[l(c(o(W)(`routerKeys.whitelistLabel`)),1)]),_:1}),a(`div`,fe,c(o(W)(`routerKeys.whitelistHint`)),1),a(`div`,pe,[(_(!0),u(s,null,f(q.value,e=>(_(),g(o(w),{key:e,class:`flex items-center gap-2 cursor-pointer text-sm font-normal`},{default:n(()=>[d(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`]),a(`span`,me,c(e),1)]),_:2},1024))),128)),q.value.length===0?(_(),u(`div`,he,c(o(W)(`routerKeys.noModels`)),1)):i(``,!0)]),Z.value.allowed_models.length>0?(_(),u(`div`,ge,[(_(!0),u(s,null,f(Z.value.allowed_models,e=>(_(),g(o(T),{key:e,variant:`outline`,class:`text-xs`},{default:n(()=>[l(c(e)+` `,1),d(o(h),{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:n(()=>[...r[9]||=[l(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))])):i(``,!0)]),Y.value?(_(),u(`div`,_e,[d(o(v),{modelValue:Z.value.is_active,"onUpdate:modelValue":r[2]||=e=>Z.value.is_active=e,id:`key-active`},null,8,[`modelValue`]),d(o(w),{for:`key-active`,class:`text-sm text-foreground`},{default:n(()=>[l(c(o(W)(`common.enable`)),1)]),_:1})])):i(``,!0),d(o(oe),null,{default:n(()=>[d(o(h),{type:`button`,variant:`outline`,onClick:r[3]||=e=>J.value=!1},{default:n(()=>[l(c(o(W)(`common.cancel`)),1)]),_:1}),d(o(h),{type:`submit`},{default:n(()=>[l(c(o(W)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),d(o(E),{open:!!X.value,"onUpdate:open":r[5]||=e=>{e||(X.value=null)}},{default:n(()=>[d(o(ue),null,{default:n(()=>[d(o(le),null,{default:n(()=>[d(o(D),null,{default:n(()=>[l(c(o(W)(`routerKeys.confirmDeleteTitle`)),1)]),_:1}),d(o(M),null,{default:n(()=>[l(c(o(W)(`routerKeys.confirmDeleteDesc`,{name:X.value?.name})),1)]),_:1})]),_:1}),d(o(k),null,{default:n(()=>[d(o(O),null,{default:n(()=>[l(c(o(W)(`common.cancel`)),1)]),_:1}),d(o(h),{variant:`destructive`,onClick:ke},{default:n(()=>[l(c(o(W)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{W as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,Bt as t,Ct as n,F as r,G as i,H as a,J as o,K as s,Q as c,Rt as l,U as u,Ut as d,X as f,Y as p,Z as m,ct as ee,ft as h,jt as g,k as _,n as v,q as y,ut as b}from"./button-CDY3J7p5.js";import{n as te,t as ne}from"./MappingEntryEditor-Ch7ahw0-.js";import{a as re,c as x,d as ie,f as ae,l as S,n as oe,o as se,r as ce,s as le,t as ue,u as C}from"./dialog-B3bc_Iev.js";import{t as w}from"./Label-C4V5wJj3.js";import{t as de}from"./Switch-GUFZnjj9.js";import{a as fe,b as T,c as pe,d as me,f as E,g as D,h as O,i as he,l as ge,m as k,o as _e,p as A,r as j,s as ve,tt as ye}from"./index-BZ7-9gPE.js";import{t as be}from"./Input--tQLJqtT.js";import"./constants-yM0YwP2s.js";import{n as xe,t as M}from"./TransformRulesForm-D0BEkLYX.js";var Se={class:`p-6 space-y-3`},Ce={class:`text-lg font-semibold text-foreground`},we={class:`text-sm text-muted-foreground mt-1`},Te={key:0,class:`flex items-center justify-center py-16 text-muted-foreground text-sm`},Ee={class:`grid grid-cols-3 gap-3`},De=[`onClick`],Oe={class:`font-mono text-sm font-semibold text-foreground shrink-0`},ke={class:`flex-1 flex flex-wrap gap-1 min-w-0`},Ae={class:`ml-1 text-muted-foreground/60 font-mono`},je={key:0,class:`text-[10px] text-muted-foreground/50 self-center`},Me={key:0,class:`border-t`},Ne={class:`flex items-center justify-between px-4 py-2 bg-muted/30`},Pe={class:`text-xs font-medium text-muted-foreground`},Fe={class:`flex flex-wrap gap-1`},Ie={class:`flex items-center justify-end gap-1`},Le={key:0,class:`py-12 text-center text-xs text-muted-foreground`},Re={key:0,class:`bg-destructive/10 border border-destructive/30 rounded-md px-3 py-2 text-sm text-destructive`},ze={class:`grid grid-cols-2 gap-3`},Be={key:0,class:`text-xs text-destructive mt-0.5`},Ve={class:`flex flex-wrap gap-1.5`},He={key:0,class:`text-xs text-destructive mt-0.5`},Ue={class:`flex items-center gap-2 mb-2`},We={class:`flex gap-1.5`},Ge={class:`grid grid-cols-2 gap-3`},Ke={key:0,class:`text-xs text-destructive mt-0.5`},qe={key:0,class:`text-xs text-destructive mt-0.5`},Je={class:`grid grid-cols-2 gap-4`},Ye={class:`border rounded-md p-3 space-y-3`},Xe={class:`text-xs font-medium text-muted-foreground`},Ze={class:`border rounded-md p-3 space-y-3`},Qe={class:`text-xs font-medium text-muted-foreground`},N=c({__name:`Schedules`,setup(c){let{t:N}=r(),P=i(()=>[N(`schedules.weekDays.sun`),N(`schedules.weekDays.mon`),N(`schedules.weekDays.tue`),N(`schedules.weekDays.wed`),N(`schedules.weekDays.thu`),N(`schedules.weekDays.fri`),N(`schedules.weekDays.sat`)]),F=()=>({name:``,week:[1,2,3,4,5],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=g(!1),L=g([]),R=g([]),z=g([]),B=g(null),V=g(!1),H=g(null),U=g(``),W=g(null),G=g(F()),K=g({}),q=g(``),J=g({injectHeadersInput:``,dropFieldsInput:``,requestDefaultsInput:``}),Y=i(()=>{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}),$e=i(()=>({clientModel:L.value.find(e=>e.id===U.value)?.client_model??``,targets:G.value.targets,existing:!1,tag:`cust`,active:!0}));function et(e){G.value.targets=e}function tt(e){let t=P.value,n=[];try{n=JSON.parse(e)}catch{return[]}return n.map(e=>t[e]??String(e))}function X(e){return String(e).padStart(2,`0`)+`:00`}function Z(e,t){G.value.start_hour=e,G.value.end_hour=t,delete K.value.time}function nt(e){B.value=B.value===e?null:e}async function Q(){try{L.value=await _.getMappingGroups()}catch(t){j.error(e(t,N(`schedules.loadGroupsFailed`)))}}async function rt(){try{R.value=await _.getProviders()}catch(t){j.error(e(t,N(`schedules.loadProvidersFailed`)))}}async function $(){try{z.value=await _.getSchedules()}catch(t){j.error(e(t,N(`schedules.loadSchedulesFailed`)))}}let it=i(()=>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 at(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 ot(e){H.value=null,U.value=e,G.value=F(),J.value={injectHeadersInput:``,dropFieldsInput:``,requestDefaultsInput:``},K.value={},q.value=``,V.value=!0}function st(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)}let n=[1,2,3,4,5];try{n=JSON.parse(e.week)}catch(e){console.warn(`Failed to parse week:`,e)}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)}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)}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 ct(){let e={};G.value.name.trim()||(e.name=N(`schedules.form.nameRequired`)),G.value.week.length===0&&(e.week=N(`schedules.form.weekRequired`)),G.value.start_hour>=G.value.end_hour&&(e.time=N(`schedules.form.timeInvalid`));for(let t of G.value.targets)if(!t.provider_id||!t.backend_model){e.targets=N(`schedules.form.targetRequired`);break}return K.value=e,Object.keys(e).length===0}function lt(){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 j.error(N(`providers.transform.requestDefaultsJsonError`)),{rule:null,error:!0}}let a=null;if(e.trim())try{a=JSON.parse(e)}catch{return j.error(N(`providers.transform.injectHeadersJsonError`)),{rule:null,error:!0}}return{rule:JSON.stringify({drop_fields:r,request_defaults:i,inject_headers:a}),error:!1}}async function ut(){if(q.value=``,!ct())return;let{rule:t,error:n}=lt();if(!n)try{let e=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:e,concurrency_rule:n,transform_rule:t};H.value?await _.updateSchedule(H.value,r):await _.createSchedule(r),V.value=!1,await $()}catch(t){q.value=e(t,N(`schedules.saveFailed`))}}async function dt(t){try{await _.toggleSchedule(t.id),await $()}catch(t){j.error(e(t,N(`schedules.toggleFailed`)))}}async function ft(){let t=W.value;if(t){W.value=null;try{await _.deleteSchedule(t.id),await $()}catch(t){j.error(e(t,N(`schedules.deleteFailed`)))}}}return ee(async()=>{I.value=!0,await Promise.allSettled([Q(),rt(),$()]),I.value=!1}),(e,r)=>(b(),p(`div`,Se,[s(`div`,null,[s(`h2`,Ce,d(l(N)(`schedules.title`)),1),s(`p`,we,d(l(N)(`schedules.description`)),1)]),I.value?(b(),p(`div`,Te,d(l(N)(`common.loading`)),1)):o(``,!0),I.value?o(``,!0):(b(),p(u,{key:1},[s(`div`,Ee,[(b(!0),p(u,null,h(L.value,e=>(b(),p(`div`,{key:e.id,class:t([`rounded-lg border transition-colors`,[B.value===e.id?`col-span-3 border-primary/30 shadow-sm shadow-primary/5`:`border-border hover:border-border/80`]])},[s(`div`,{class:`flex items-center gap-3 px-4 py-3 cursor-pointer`,onClick:t=>nt(e.id)},[s(`span`,Oe,d(e.client_model),1),Y.value[e.id]?.length?(b(),y(l(T),{key:0,variant:`secondary`,class:`text-[10px]`},{default:n(()=>[f(d(l(N)(`schedules.ruleCount`,{count:Y.value[e.id].length})),1)]),_:2},1024)):(b(),y(l(T),{key:1,variant:`outline`,class:`text-[10px] text-muted-foreground/50`},{default:n(()=>[f(d(l(N)(`schedules.noRules`)),1)]),_:1})),s(`div`,ke,[(b(!0),p(u,null,h((Y.value[e.id]??[]).slice(0,3),e=>(b(),y(l(T),{key:e.id,variant:e.enabled?`default`:`secondary`,class:`text-[10px] font-normal`},{default:n(()=>[f(d(e.name)+` `,1),s(`span`,Ae,d(X(e.start_hour))+`-`+d(X(e.end_hour)),1)]),_:2},1032,[`variant`]))),128)),(Y.value[e.id]?.length??0)>3?(b(),p(`span`,je,` +`+d(Y.value[e.id].length-3),1)):o(``,!0)]),m(l(ye),{class:t([`size-4 text-muted-foreground/40 shrink-0 transition-transform`,{"rotate-180":B.value===e.id}])},null,8,[`class`])],8,De),B.value===e.id?(b(),p(`div`,Me,[s(`div`,Ne,[s(`span`,Pe,d(l(N)(`schedules.scheduleRules`)),1),m(l(v),{size:`sm`,variant:`outline`,class:`h-7 text-xs`,onClick:t=>ot(e.id)},{default:n(()=>[m(l(te),{class:`w-3 h-3 mr-1`}),f(` `+d(l(N)(`schedules.createSchedule`)),1)]),_:1},8,[`onClick`])]),m(l(ae),null,{default:n(()=>[m(l(le),null,{default:n(()=>[m(l(S),{class:`bg-muted/50`},{default:n(()=>[m(l(x),{class:`text-muted-foreground text-xs h-8`},{default:n(()=>[f(d(l(N)(`schedules.tableHeaders.name`)),1)]),_:1}),m(l(x),{class:`text-muted-foreground text-xs h-8`},{default:n(()=>[f(d(l(N)(`schedules.tableHeaders.status`)),1)]),_:1}),m(l(x),{class:`text-muted-foreground text-xs h-8`},{default:n(()=>[f(d(l(N)(`schedules.tableHeaders.week`)),1)]),_:1}),m(l(x),{class:`text-muted-foreground text-xs h-8`},{default:n(()=>[f(d(l(N)(`schedules.tableHeaders.timeRange`)),1)]),_:1}),m(l(x),{class:`text-right text-muted-foreground text-xs h-8`},{default:n(()=>[f(d(l(N)(`schedules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),m(l(ie),null,{default:n(()=>[(b(!0),p(u,null,h(Y.value[e.id]??[],e=>(b(),y(l(S),{key:e.id},{default:n(()=>[m(l(C),{class:`font-medium text-sm`},{default:n(()=>[f(d(e.name),1)]),_:2},1024),m(l(C),null,{default:n(()=>[m(l(T),{variant:e.enabled?`default`:`secondary`,class:`text-xs`},{default:n(()=>[f(d(e.enabled?l(N)(`schedules.enabled`):l(N)(`schedules.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),m(l(C),null,{default:n(()=>[s(`div`,Fe,[(b(!0),p(u,null,h(tt(e.week),e=>(b(),y(l(T),{key:e,variant:`outline`,class:`text-xs`},{default:n(()=>[f(d(e),1)]),_:2},1024))),128))])]),_:2},1024),m(l(C),{class:`font-mono text-sm`},{default:n(()=>[f(d(X(e.start_hour))+`-`+d(X(e.end_hour)),1)]),_:2},1024),m(l(C),{class:`text-right`},{default:n(()=>[s(`div`,Ie,[m(l(de),{"model-value":!!e.enabled,class:`scale-75`,onClick:a(t=>dt(e),[`stop`])},null,8,[`model-value`,`onClick`]),m(l(v),{variant:`ghost`,size:`sm`,onClick:t=>st(e)},{default:n(()=>[f(d(l(N)(`common.edit`)),1)]),_:1},8,[`onClick`]),m(l(v),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:t=>W.value=e},{default:n(()=>[f(d(l(N)(`common.delete`)),1)]),_:1},8,[`onClick`])])]),_:2},1024)]),_:2},1024))),128)),Y.value[e.id]?.length?o(``,!0):(b(),y(l(S),{key:0},{default:n(()=>[m(l(C),{colspan:`5`,class:`text-center text-muted-foreground py-6 text-xs`},{default:n(()=>[f(d(l(N)(`schedules.emptyRules`)),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)])):o(``,!0)],2))),128))]),L.value.length===0?(b(),p(`p`,Le,d(l(N)(`schedules.noGroups`)),1)):o(``,!0)],64)),m(l(se),{open:V.value,"onUpdate:open":r[17]||=e=>V.value=e},{default:n(()=>[m(l(re),{class:`sm:max-w-4xl max-h-[85vh] overflow-y-auto`},{default:n(()=>[m(l(oe),null,{default:n(()=>[m(l(ue),null,{default:n(()=>[f(d(H.value?l(N)(`schedules.editSchedule`):l(N)(`schedules.createSchedule`)),1)]),_:1})]),_:1}),s(`form`,{onSubmit:a(ut,[`prevent`]),class:`space-y-4`},[q.value?(b(),p(`div`,Re,d(q.value),1)):o(``,!0),s(`div`,ze,[s(`div`,null,[m(l(w),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(d(l(N)(`schedules.form.name`)),1)]),_:1}),m(l(be),{modelValue:G.value.name,"onUpdate:modelValue":r[0]||=e=>G.value.name=e,class:`mt-1`,placeholder:l(N)(`schedules.form.namePlaceholder`),onInput:r[1]||=e=>delete K.value.name},null,8,[`modelValue`,`placeholder`]),K.value.name?(b(),p(`p`,Be,d(K.value.name),1)):o(``,!0)]),s(`div`,null,[m(l(w),{class:`text-xs text-muted-foreground mb-1.5 block`},{default:n(()=>[f(d(l(N)(`schedules.form.week`)),1)]),_:1}),s(`div`,Ve,[(b(!0),p(u,null,h(P.value,(e,t)=>(b(),y(l(v),{key:t,type:`button`,variant:(G.value.week??[]).includes(t)?`default`:`outline`,size:`sm`,class:`h-7 text-xs`,onClick:e=>at(t)},{default:n(()=>[f(d(e),1)]),_:2},1032,[`variant`,`onClick`]))),128))]),K.value.week?(b(),p(`p`,He,d(K.value.week),1)):o(``,!0)])]),s(`div`,null,[s(`div`,Ue,[m(l(w),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(d(l(N)(`schedules.timePresets.label`)),1)]),_:1}),s(`div`,We,[m(l(v),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:r[2]||=e=>Z(9,12)},{default:n(()=>[f(d(l(N)(`schedules.timePresets.morning`)),1)]),_:1}),m(l(v),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:r[3]||=e=>Z(14,18)},{default:n(()=>[f(d(l(N)(`schedules.timePresets.afternoon`)),1)]),_:1}),m(l(v),{type:`button`,variant:`outline`,size:`sm`,class:`text-xs h-6`,onClick:r[4]||=e=>Z(19,21)},{default:n(()=>[f(d(l(N)(`schedules.timePresets.evening`)),1)]),_:1})])]),s(`div`,Ge,[s(`div`,null,[m(l(w),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(d(l(N)(`schedules.form.startTime`)),1)]),_:1}),m(l(D),{modelValue:G.value.start_hour,"onUpdate:modelValue":[r[5]||=e=>G.value.start_hour=e,r[6]||=e=>{G.value.start_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:n(()=>[m(l(A),null,{default:n(()=>[m(l(E),{placeholder:l(N)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),m(l(O),null,{default:n(()=>[(b(),p(u,null,h(24,e=>m(l(k),{key:e-1,value:e-1},{default:n(()=>[f(d(String(e-1).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])]),s(`div`,null,[m(l(w),{class:`text-xs text-muted-foreground`},{default:n(()=>[f(d(l(N)(`schedules.form.endTime`)),1)]),_:1}),m(l(D),{modelValue:G.value.end_hour,"onUpdate:modelValue":[r[7]||=e=>G.value.end_hour=e,r[8]||=e=>{G.value.end_hour=Number(e),delete K.value.time}],class:`mt-1`},{default:n(()=>[m(l(A),null,{default:n(()=>[m(l(E),{placeholder:l(N)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),m(l(O),null,{default:n(()=>[(b(),p(u,null,h(24,e=>m(l(k),{key:e,value:e},{default:n(()=>[f(d(String(e).padStart(2,`0`))+`:00`,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])])]),K.value.time?(b(),p(`p`,Ke,d(K.value.time),1)):o(``,!0)]),s(`div`,null,[m(l(w),{class:`text-xs text-muted-foreground mb-1 block`},{default:n(()=>[f(d(l(N)(`schedules.form.targets`)),1)]),_:1}),m(ne,{entry:$e.value,"provider-groups":it.value,expanded:!0,editable:!0,"onUpdate:targets":et},null,8,[`entry`,`provider-groups`]),K.value.targets?(b(),p(`p`,qe,d(K.value.targets),1)):o(``,!0)]),s(`div`,Je,[s(`div`,Ye,[s(`div`,Xe,d(l(N)(`schedules.form.concurrencyTitle`)),1),m(xe,{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":r[9]||=e=>G.value.concurrency_mode=e,"onUpdate:maxConcurrency":r[10]||=e=>G.value.max_concurrency=e,"onUpdate:queueTimeoutMs":r[11]||=e=>G.value.queue_timeout_ms=e,"onUpdate:maxQueueSize":r[12]||=e=>G.value.max_queue_size=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`])]),s(`div`,Ze,[s(`div`,Qe,d(l(N)(`providers.transform.title`)),1),m(M,{"inject-headers":J.value.injectHeadersInput,"drop-fields":J.value.dropFieldsInput,"request-defaults":J.value.requestDefaultsInput,compact:``,"onUpdate:injectHeaders":r[13]||=e=>J.value.injectHeadersInput=e,"onUpdate:dropFields":r[14]||=e=>J.value.dropFieldsInput=e,"onUpdate:requestDefaults":r[15]||=e=>J.value.requestDefaultsInput=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])])]),m(l(ce),null,{default:n(()=>[m(l(v),{type:`button`,variant:`outline`,onClick:r[16]||=e=>V.value=!1},{default:n(()=>[f(d(l(N)(`common.cancel`)),1)]),_:1}),m(l(v),{type:`submit`},{default:n(()=>[f(d(l(N)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),m(l(me),{open:!!W.value,"onUpdate:open":r[18]||=e=>{e||(W.value=null)}},{default:n(()=>[m(l(pe),null,{default:n(()=>[m(l(fe),null,{default:n(()=>[m(l(he),null,{default:n(()=>[f(d(l(N)(`schedules.confirmDeleteTitle`)),1)]),_:1}),m(l(ve),null,{default:n(()=>[f(d(l(N)(`schedules.confirmDeleteMessage`,{name:W.value?.name??``})),1)]),_:1})]),_:1}),m(l(_e),null,{default:n(()=>[m(l(ge),null,{default:n(()=>[f(d(l(N)(`common.cancel`)),1)]),_:1}),m(l(v),{variant:`destructive`,onClick:ft},{default:n(()=>[f(d(l(N)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{N as default};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{A as e,Ct as t,Dt as n,F as r,G as ee,Ht as i,J as a,K as o,M as s,Q as c,Rt as l,U as u,Ut as d,X as f,Y as p,Z as m,at as h,bt as g,ct as te,ft as ne,i as _,jt as v,k as y,m as b,n as x,o as S,ot as C,pt as w,q as T,r as E,ut as D,x as O}from"./button-CDY3J7p5.js";import{t as k}from"./Label-C4V5wJj3.js";import{G as A,a as re,c as j,d as ie,i as ae,l as oe,o as se,q as M,r as N,s as ce,u as le}from"./index-BZ7-9gPE.js";import{t as P}from"./Input--tQLJqtT.js";import{t as F}from"./useLogRetention-BIEahe9Z.js";var I=s(`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`}]]),ue=s(`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`}]]),de=s(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),L=100,[R,z]=M(`ProgressRoot`),B=e=>typeof e==`number`;function V(e,t){return A(e)||B(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be:
|
|
2
|
-
- a positive number
|
|
3
|
-
- less than the value passed to \`max\` (or ${L} if no \`max\` prop is set)
|
|
4
|
-
- \`null\` or \`undefined\` if the progress is indeterminate.
|
|
5
|
-
|
|
6
|
-
Defaulting to \`null\`.`),null)}function H(e){return B(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${L}\`.`),L)}var U=c({__name:`ProgressRoot`,props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:L},getValueLabel:{type:Function,required:!1,default:(e,t)=>B(e)?`${Math.round(e/t*L)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:n}){let r=e,i=n;S();let a=b(r,`modelValue`,i,{passive:r.modelValue===void 0}),o=b(r,`max`,i,{passive:r.max===void 0});g(()=>a.value,async e=>{let t=V(e,r.max);t!==e&&(await C(),a.value=t)},{immediate:!0}),g(()=>r.max,e=>{let t=H(r.max);t!==e&&(o.value=t)},{immediate:!0});let s=ee(()=>A(a.value)?`indeterminate`:a.value===o.value?`complete`:`loading`);return z({modelValue:a,max:o,progressState:s}),(e,n)=>(D(),T(l(_),{"as-child":e.asChild,as:e.as,"aria-valuemax":l(o),"aria-valuemin":0,"aria-valuenow":B(l(a))?l(a):void 0,"aria-valuetext":e.getValueText?.(l(a),l(o)),"aria-label":e.getValueLabel(l(a),l(o)),role:`progressbar`,"data-state":s.value,"data-value":l(a)??void 0,"data-max":l(o)},{default:t(()=>[w(e.$slots,`default`,{modelValue:l(a)})]),_:3},8,[`as-child`,`as`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`data-state`,`data-value`,`data-max`]))}}),W=c({__name:`ProgressIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,r=R();return S(),(e,ee)=>(D(),T(l(_),h(n,{"data-state":l(r).progressState.value,"data-value":l(r).modelValue?.value??void 0,"data-max":l(r).max.value}),{default:t(()=>[w(e.$slots,`default`)]),_:3},16,[`data-state`,`data-value`,`data-max`]))}}),G=c({__name:`Progress`,props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=O(n,`class`);return(e,ee)=>(D(),T(l(U),h({"data-slot":`progress`},l(r),{class:l(E)(`bg-muted h-1 rounded-full relative flex w-full items-center overflow-x-hidden`,n.class)}),{default:t(()=>[m(l(W),{"data-slot":`progress-indicator`,class:`bg-primary size-full flex-1 transition-all`,style:i(`transform: translateX(-${100-(n.modelValue??0)}%);`)},null,8,[`style`])]),_:1},16,[`class`]))}}),fe={class:`p-6 space-y-6`},pe={class:`text-lg font-semibold text-foreground`},me={class:`bg-card rounded-lg border p-4 space-y-3`},he={class:`font-medium text-sm text-foreground`},ge={class:`text-sm text-muted-foreground`},_e={class:`flex items-end gap-4`},ve={class:`space-y-1`},ye={key:0,class:`text-sm text-destructive mt-1`},be={class:`bg-card rounded-lg border p-4 space-y-4`},xe={class:`font-medium text-sm text-foreground flex items-center gap-2`},Se={class:`text-sm text-muted-foreground`},K={class:`space-y-1`},Ce={class:`flex justify-between text-sm`},we={class:`text-muted-foreground`},Te={class:`space-y-1`},Ee={class:`flex justify-between text-sm`},De={class:`text-muted-foreground`},Oe={class:`space-y-1`},ke={class:`flex justify-between text-sm`},Ae={class:`text-muted-foreground`},je={key:0,class:`text-xs text-muted-foreground`},Me={class:`grid grid-cols-2 gap-4 pt-3 border-t`},Ne={class:`space-y-1`},Pe={key:0,class:`text-sm text-destructive mt-1`},Fe={class:`space-y-1`},Ie={key:0,class:`text-sm text-destructive mt-1`},Le={class:`bg-card rounded-lg border p-4 space-y-3`},Re={class:`font-medium text-sm text-foreground`},ze={class:`text-sm text-muted-foreground`},Be={class:`flex gap-3`},Ve={key:0,class:`text-sm space-y-1 p-3 bg-muted rounded-md`},He={class:`font-medium`},q=1048576,J=1024,Y=100,Ue=2,We=10,X=0,Z=90,Q=1,Ge=1024,Ke=800,$=c({__name:`Settings`,setup(ee){let{t:i}=r(),{retentionDays:s,saveRetention:c}=F(),h=v(null),g=v(Ge),_=v(Ke),b=v(!1),S=v(!1),C=v(null),w=v(!1),T=v(null),E=v(),O=v(``),A=v(``),M=v(``);function L(e){if(e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=Math.min(Math.floor(Math.log(e)/Math.log(J)),t.length-1);return`${(e/J**+n).toFixed(1)} ${t[n]}`}async function R(){b.value=!0;try{let[e,t]=await Promise.allSettled([y.getDbSizeInfo(),y.getLogRetention()]);e.status===`fulfilled`&&(h.value=e.value,g.value=e.value.thresholds.dbMaxSizeMb,_.value=e.value.thresholds.logTableMaxSizeMb),t.status===`fulfilled`&&(s.value=t.value.days)}finally{b.value=!1}}function z(){O.value=``;let e=s.value;return Number.isInteger(e)?e<X||e>Z?(O.value=i(`settings.retention.rangeError`,{min:X,max:Z}),!1):!0:(O.value=i(`settings.retention.integerRequired`),!1)}async function B(){z()&&await c()}function V(){A.value=``,M.value=``;let e=!0;return(!Number.isFinite(g.value)||g.value<Q)&&(A.value=i(`settings.storage.minValueError`,{min:Q}),e=!1),(!Number.isFinite(_.value)||_.value<Q)&&(M.value=i(`settings.storage.minValueError`,{min:Q}),e=!1),e&&_.value>g.value&&(M.value=i(`settings.storage.logExceedsDbError`),e=!1),e}async function H(){if(V())try{let e=await y.setDbSizeThresholds({dbMaxSizeMb:g.value,logTableMaxSizeMb:_.value});g.value=e.dbMaxSizeMb,_.value=e.logTableMaxSizeMb,N.success(i(`settings.storage.thresholdsUpdated`)),await R()}catch(t){N.error(e(t,i(`settings.storage.updateFailed`)))}}async function U(){try{let e=await y.exportConfig(),t=new Blob([JSON.stringify(e,null,Ue)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`router-config-${new Date().toISOString().slice(0,We)}.json`,r.click(),URL.revokeObjectURL(n),N.success(i(`settings.importExport.exportSuccess`))}catch(t){N.error(e(t,i(`settings.importExport.exportFailed`)))}}function W(e){let t=e.target,n=t.files?.[0];if(!n)return;let r=new FileReader;r.onload=()=>{try{let e=JSON.parse(r.result);if(!e.version||e.version!==1){N.error(i(`settings.importExport.unsupportedVersion`));return}T.value=e,w.value=!0}catch{N.error(i(`settings.importExport.invalidJson`))}},r.readAsText(n),t.value=``}async function $(){if(T.value){S.value=!0;try{C.value=await y.importConfig(T.value),w.value=!1,N.success(i(`settings.importExport.importSuccess`)),await R()}catch(t){N.error(e(t,i(`settings.importExport.importFailed`)))}finally{S.value=!1,T.value=null}}}return te(R),(e,r)=>(D(),p(`div`,fe,[o(`h2`,pe,d(l(i)(`settings.title`)),1),o(`div`,me,[o(`h3`,he,d(l(i)(`settings.retention.title`)),1),o(`p`,ge,d(l(i)(`settings.retention.desc`)),1),o(`div`,_e,[o(`div`,ve,[m(l(k),{for:`retention-days`},{default:t(()=>[f(d(l(i)(`settings.retention.daysLabel`)),1)]),_:1}),m(l(P),{id:`retention-days`,modelValue:l(s),"onUpdate:modelValue":r[0]||=e=>n(s)?s.value=e:null,modelModifiers:{number:!0},type:`number`,min:X,max:Z,class:`w-32`,onInput:r[1]||=e=>O.value=``},null,8,[`modelValue`]),O.value?(D(),p(`p`,ye,d(O.value),1)):a(``,!0)]),m(l(x),{size:`sm`,disabled:b.value,onClick:B},{default:t(()=>[f(d(l(i)(`common.save`)),1)]),_:1},8,[`disabled`])])]),o(`div`,be,[o(`h3`,xe,[m(l(ue),{class:`h-4 w-4`}),f(` `+d(l(i)(`settings.storage.title`)),1)]),o(`p`,Se,d(l(i)(`settings.storage.desc`)),1),h.value?(D(),p(u,{key:0},[o(`div`,K,[o(`div`,Ce,[o(`span`,null,d(l(i)(`settings.storage.dbTotalSize`)),1),o(`span`,we,d(L(h.value.totalBytes))+` / `+d(g.value)+` MB `,1)]),m(l(G),{"model-value":Math.min(Y,h.value.totalBytes/(g.value*q)*Y)},null,8,[`model-value`])]),o(`div`,Te,[o(`div`,Ee,[o(`span`,null,d(l(i)(`settings.storage.logSize`))+` (`+d(l(i)(`common.count`,{count:h.value.logCount}))+`)`,1),o(`span`,De,d(L(h.value.logTableBytes))+` / `+d(_.value)+` MB `,1)]),m(l(G),{"model-value":Math.min(Y,h.value.logTableBytes/(_.value*q)*Y)},null,8,[`model-value`])]),o(`div`,Oe,[o(`div`,ke,[o(`span`,null,d(l(i)(`settings.storage.logFileSize`)),1),o(`span`,Ae,d(L(h.value.logFileBytes??0)),1)])]),h.value.lastChecked?(D(),p(`p`,je,d(l(i)(`common.lastChecked`))+`:`+d(h.value.lastChecked),1)):a(``,!0)],64)):a(``,!0),o(`div`,Me,[o(`div`,Ne,[m(l(k),{for:`db-max-size`},{default:t(()=>[f(d(l(i)(`settings.storage.dbMaxSizeLabel`)),1)]),_:1}),m(l(P),{id:`db-max-size`,modelValue:g.value,"onUpdate:modelValue":r[2]||=e=>g.value=e,modelModifiers:{number:!0},type:`number`,min:Q,onInput:r[3]||=e=>A.value=``},null,8,[`modelValue`]),A.value?(D(),p(`p`,Pe,d(A.value),1)):a(``,!0)]),o(`div`,Fe,[m(l(k),{for:`log-max-size`},{default:t(()=>[f(d(l(i)(`settings.storage.logMaxSizeLabel`)),1)]),_:1}),m(l(P),{id:`log-max-size`,modelValue:_.value,"onUpdate:modelValue":r[4]||=e=>_.value=e,modelModifiers:{number:!0},type:`number`,min:Q,onInput:r[5]||=e=>M.value=``},null,8,[`modelValue`]),M.value?(D(),p(`p`,Ie,d(M.value),1)):a(``,!0)])]),m(l(x),{size:`sm`,disabled:b.value,onClick:H},{default:t(()=>[f(d(l(i)(`common.saveThresholds`)),1)]),_:1},8,[`disabled`])]),o(`div`,Le,[o(`h3`,Re,d(l(i)(`settings.importExport.title`)),1),o(`p`,ze,d(l(i)(`settings.importExport.desc`)),1),o(`div`,Be,[m(l(x),{variant:`outline`,size:`sm`,disabled:b.value,onClick:U},{default:t(()=>[m(l(I),{class:`mr-2 h-4 w-4`}),f(` `+d(l(i)(`settings.importExport.export`)),1)]),_:1},8,[`disabled`]),m(l(x),{variant:`outline`,size:`sm`,disabled:b.value,onClick:r[6]||=e=>E.value?.click()},{default:t(()=>[m(l(de),{class:`mr-2 h-4 w-4`}),f(` `+d(l(i)(`settings.importExport.import`)),1)]),_:1},8,[`disabled`]),o(`input`,{ref_key:`fileInput`,ref:E,type:`file`,accept:`.json`,class:`hidden`,onChange:W},null,544)]),C.value?(D(),p(`div`,Ve,[o(`p`,He,d(l(i)(`settings.importExport.importComplete`)),1),(D(!0),p(u,null,ne(C.value,(e,t)=>(D(),p(`p`,{key:t},d(t)+`: `+d(l(i)(`common.count`,{count:e})),1))),128))])):a(``,!0)]),m(l(ie),{open:w.value,"onUpdate:open":r[7]||=e=>w.value=e},{default:t(()=>[m(l(j),null,{default:t(()=>[m(l(re),null,{default:t(()=>[m(l(ae),null,{default:t(()=>[f(d(l(i)(`settings.importExport.confirmImport`)),1)]),_:1}),m(l(ce),null,{default:t(()=>[f(d(l(i)(`settings.importExport.importWarning`))+` `+d(l(i)(`common.irreversible`)),1)]),_:1})]),_:1}),m(l(se),null,{default:t(()=>[m(l(oe),{disabled:S.value},{default:t(()=>[f(d(l(i)(`common.cancel`)),1)]),_:1},8,[`disabled`]),m(l(le),{disabled:S.value,onClick:$},{default:t(()=>[f(d(S.value?l(i)(`settings.importExport.importing`):l(i)(`settings.importExport.confirmButton`)),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{$ as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,Ct as t,F as n,H as r,J as i,K as a,L as o,Q as s,Rt as c,Ut as l,X as u,Y as d,Z as f,jt as p,k as m,n as h,q as g,ut as _}from"./button-CDY3J7p5.js";import{t as v}from"./Label-C4V5wJj3.js";import{Q as y,Z as b,t as x}from"./index-BZ7-9gPE.js";import{n as S,t as C}from"./CardContent-uWoTAlVi.js";import{t as w}from"./Input--tQLJqtT.js";var T={class:`min-h-screen flex items-center justify-center bg-background relative`},E={class:`text-center mb-6`},D={class:`text-sm text-muted-foreground mt-1`},O={key:0,class:`text-destructive text-sm`},k=s({__name:`Setup`,setup(s){let{t:k}=n(),{isDark:A,toggleTheme:j}=x(),M=o(),N=p(``),P=p(``),F=p(``),I=p(!1);async function L(){if(!N.value||!P.value){F.value=k(`setup.pleaseInputPassword`);return}if(N.value!==P.value){F.value=k(`setup.passwordMismatch`);return}if(N.value.length<6){F.value=k(`setup.passwordTooShort`);return}F.value=``,I.value=!0;try{await m.initializeSetup(N.value),M.push(`/admin/dashboard`)}catch(t){F.value=e(t,k(`setup.setupFailed`))}finally{I.value=!1}}return(e,n)=>(_(),d(`div`,T,[f(c(h),{variant:`ghost`,size:`icon`,class:`absolute top-4 right-4 text-muted-foreground hover:text-foreground`,onClick:c(j)},{default:t(()=>[c(A)?(_(),g(c(b),{key:1,class:`w-4 h-4`})):(_(),g(c(y),{key:0,class:`w-4 h-4`}))]),_:1},8,[`onClick`]),f(c(S),{class:`w-full max-w-sm shadow-lg`},{default:t(()=>[f(c(C),{class:`pt-6`},{default:t(()=>[a(`div`,E,[n[2]||=a(`div`,{class:`w-12 h-12 bg-primary rounded-lg mx-auto mb-3 flex items-center justify-center`},[a(`svg`,{class:`w-7 h-7 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[a(`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]||=a(`h1`,{class:`text-xl font-semibold text-foreground`},`LLM Simple Router`,-1),a(`p`,D,l(c(k)(`setup.subtitle`)),1)]),a(`form`,{onSubmit:r(L,[`prevent`]),class:`space-y-4`},[a(`div`,null,[f(c(v),{class:`block text-sm font-medium text-foreground mb-1`},{default:t(()=>[u(l(c(k)(`setup.password`)),1)]),_:1}),f(c(w),{modelValue:N.value,"onUpdate:modelValue":n[0]||=e=>N.value=e,type:`password`,placeholder:c(k)(`setup.passwordPlaceholder`),disabled:I.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),a(`div`,null,[f(c(v),{class:`block text-sm font-medium text-foreground mb-1`},{default:t(()=>[u(l(c(k)(`setup.confirmPassword`)),1)]),_:1}),f(c(w),{modelValue:P.value,"onUpdate:modelValue":n[1]||=e=>P.value=e,type:`password`,placeholder:c(k)(`setup.confirmPasswordPlaceholder`),disabled:I.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),F.value?(_(),d(`p`,O,l(F.value),1)):i(``,!0),f(c(h),{type:`submit`,class:`w-full`,disabled:I.value},{default:t(()=>[u(l(I.value?c(k)(`setup.settingUp`):c(k)(`setup.setupButton`)),1)]),_:1},8,[`disabled`])],32)]),_:1})]),_:1})]))}});export{k as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,G as t,H as n,It as r,J as i,Q as a,Rt as o,V as s,Vt as c,Z as l,at as u,et as d,i as f,m as p,o as m,pt as h,q as g,r as _,ut as v,x as y}from"./button-CDY3J7p5.js";import{t as b}from"./VisuallyHiddenInput-Itdmiinr.js";import{B as x,H as S,q as C}from"./index-BZ7-9gPE.js";var[w,T]=C(`SwitchRoot`),E=a({__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(a,{emit:c}){let l=a,d=c,{disabled:_}=r(l),y=p(l,`modelValue`,d,{defaultValue:l.defaultValue??l.falseValue,passive:l.modelValue===void 0}),x=t(()=>y.value===l.trueValue);function C(){_.value||(y.value=x.value?l.falseValue:l.trueValue)}let{forwardRef:w,currentElement:E}=m(),D=S(E),O=t(()=>l.id&&E.value?document.querySelector(`[for="${l.id}"]`)?.innerText:void 0);return T({checked:x,toggleCheck:C,disabled:_}),(t,r)=>(v(),g(o(f),u(t.$attrs,{id:t.id,ref:o(w),role:`switch`,type:t.as===`button`?`button`:void 0,value:t.value,"aria-label":t.$attrs[`aria-label`]||O.value,"aria-checked":x.value,"aria-required":t.required,"data-state":x.value?`checked`:`unchecked`,"data-disabled":o(_)?``:void 0,"as-child":t.asChild,as:t.as,disabled:o(_),onClick:C,onKeydown:s(n(C,[`prevent`]),[`enter`])}),{default:e(()=>[h(t.$slots,`default`,{modelValue:o(y),checked:x.value}),o(D)&&t.name?(v(),g(o(b),{key:0,type:`checkbox`,name:t.name,disabled:o(_),required:t.required,value:t.value,checked:x.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):i(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),D=a({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=w();return m(),(t,r)=>(v(),g(o(f),{"data-state":o(n).checked.value?`checked`:`unchecked`,"data-disabled":o(n).disabled.value?``:void 0,"as-child":t.asChild,as:t.as},{default:e(()=>[h(t.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),O=a({__name:`Switch`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},id:{},value:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,a=x(y(r,`class`,`size`),i);return(n,i)=>(v(),g(o(E),u({"data-slot":`switch`,"data-size":t.size},o(a),{class:o(_)(`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:e(t=>[l(o(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:e(()=>[h(n.$slots,`thumb`,c(d(t)))]),_:2},1024)]),_:3},16,[`data-size`,`class`]))}});export{O as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,E as t,G as n,H as r,Ht as i,It as a,Q as o,Rt as s,S as c,Ut as l,Vt as u,X as d,Y as f,Z as p,at as m,bt as h,ct as g,d as _,et as v,g as y,gt as b,ht as x,i as S,jt as C,m as w,o as T,pt as E,q as D,r as O,ut as k,w as A,x as ee,xt as j}from"./button-CDY3J7p5.js";import{B as M,C as te,E as ne,L as re,N as ie,S as N,T as P,V as F,W as I,k as L,q as R,w as z,z as B}from"./index-BZ7-9gPE.js";function V(e,t){let n=c(!1,300);A(()=>{n.value=!1});let r=C(null),i=y();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=U(a,H(a,i.getBoundingClientRect()),1),s=W(t.getBoundingClientRect());r.value=K([...o,...s]),n.value=!0}return j(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),j(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!G(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function H(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function U(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function W(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function G(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function K(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),q(t)}function q(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var J={key:0,d:`M0 0L6 6L12 0`},ae={key:1,d:`M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0`},oe=o({__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 T(),(t,r)=>(k(),D(s(S),m(n,{width:t.width,height:t.height,viewBox:t.asChild?void 0:`0 0 12 6`,preserveAspectRatio:t.asChild?void 0:`none`}),{default:e(()=>[E(t.$slots,`default`,{},()=>[t.rounded?(k(),f(`path`,ae)):(k(),f(`path`,J))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),se={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ce=o({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:r}=T(),a=te(),o=n(()=>se[a.placedSide.value]);return(t,n)=>(k(),f(`span`,{ref:e=>{s(a).onArrowChange(e??void 0)},style:i({position:`absolute`,left:s(a).arrowX?.value?`${s(a).arrowX?.value}px`:void 0,top:s(a).arrowY?.value?`${s(a).arrowY?.value}px`:void 0,[o.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[s(a).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[s(a).placedSide.value],visibility:s(a).shouldHideArrow.value?`hidden`:void 0})},[p(oe,m(t.$attrs,{ref:s(r),style:{display:`block`},as:t.as,"as-child":t.asChild,rounded:t.rounded,width:t.width,height:t.height}),{default:e(()=>[E(t.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),le=o({__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(t){let n=t;return T(),(t,r)=>(k(),D(s(ce),u(v(n)),{default:e(()=>[E(t.$slots,`default`)]),_:3},16))}}),[Y,ue]=R(`TooltipProvider`),de=o({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:r,disableHoverableContent:i,disableClosingTrigger:o,ignoreNonKeyboardFocus:s,disabled:c,content:l}=a(e);T();let u=C(!0),d=C(!1),{start:f,stop:p}=t(()=>{u.value=!0},r,{immediate:!1});return ue({isOpenDelayed:u,delayDuration:n,onOpen(){p(),u.value=!1},onClose(){f()},isPointerInTransitRef:d,disableHoverableContent:i,disableClosingTrigger:o,disabled:c,ignoreNonKeyboardFocus:s,content:l}),(e,t)=>E(e.$slots,`default`)}}),X=`tooltip.open`,[Z,fe]=R(`TooltipRoot`),pe=o({__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(r,{emit:i}){let a=r,o=i;T();let c=Y(),l=n(()=>a.disableHoverableContent??c.disableHoverableContent.value),u=n(()=>a.disableClosingTrigger??c.disableClosingTrigger.value),d=n(()=>a.disabled??c.disabled.value),f=n(()=>a.delayDuration??c.delayDuration.value),p=n(()=>a.ignoreNonKeyboardFocus??c.ignoreNonKeyboardFocus.value),m=w(a,`open`,o,{defaultValue:a.defaultOpen,passive:a.open===void 0});h(m,e=>{c.onClose&&(e?(c.onOpen(),document.dispatchEvent(new CustomEvent(X))):c.onClose())});let g=C(!1),_=C(),v=n(()=>m.value?g.value?`delayed-open`:`instant-open`:`closed`),{start:y,stop:b}=t(()=>{g.value=!0,m.value=!0},f,{immediate:!1});function x(){b(),g.value=!1,m.value=!0}function S(){b(),m.value=!1}function O(){y()}return fe({contentId:``,open:m,stateAttribute:v,trigger:_,onTriggerChange(e){_.value=e},onTriggerEnter(){c.isOpenDelayed.value?O():x()},onTriggerLeave(){l.value?S():b()},onOpen:x,onClose:S,disableHoverableContent:l,disableClosingTrigger:u,disabled:d,ignoreNonKeyboardFocus:p}),(t,n)=>(k(),D(s(P),null,{default:e(()=>[E(t.$slots,`default`,{open:s(m)})]),_:3}))}}),Q=o({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:i}){let a=t,o=i,c=Z(),u=Y(),{forwardRef:f,currentElement:h}=T(),v=n(()=>a.ariaLabel||h.value?.textContent),y=n(()=>{let{ariaLabel:e,...t}=a;return I(t,u.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return g(()=>{_(window,`scroll`,e=>{e.target?.contains(c.trigger.value)&&c.onClose()},{capture:!0}),_(window,X,c.onClose)}),(t,n)=>(k(),D(s(ie),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>o(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{s(c).disableClosingTrigger.value&&s(c).trigger.value?.contains(e.target)&&e.preventDefault(),o(`pointerDownOutside`,e)},onFocusOutside:n[2]||=r(()=>{},[`prevent`]),onDismiss:n[3]||=e=>s(c).onClose()},{default:e(()=>[p(s(N),m({ref:s(f),"data-state":s(c).stateAttribute.value},{...t.$attrs,...y.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:e(()=>[E(t.$slots,`default`),p(s(ne),{id:s(c).contentId,role:`tooltip`},{default:e(()=>[d(l(v.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),me=o({__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(t){let n=F(t),{forwardRef:r,currentElement:i}=T(),{trigger:a,onClose:o}=Z(),c=Y(),{isPointerInTransit:l,onPointerExit:u}=V(a,i);return c.isPointerInTransitRef=l,u(()=>{o()}),(t,i)=>(k(),D(Q,m({ref:s(r)},s(n)),{default:e(()=>[E(t.$slots,`default`)]),_:3},16))}}),he=o({__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(t,{emit:n}){let r=t,i=n,a=Z(),o=M(r,i),{forwardRef:c}=T();return(t,n)=>(k(),D(s(re),{present:t.forceMount||s(a).open.value},{default:e(()=>[(k(),D(x(s(a).disableHoverableContent.value?Q:me),m({ref:s(c)},s(o)),{default:e(()=>[E(t.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ge=o({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){let n=t;return(t,r)=>(k(),D(s(L),u(v(n)),{default:e(()=>[E(t.$slots,`default`)]),_:3},16))}}),$=o({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let r=t,i=Z(),a=Y();i.contentId||=B(void 0,`reka-tooltip-content`);let{forwardRef:o,currentElement:c}=T(),l=C(!1),u=C(!1),d=n(()=>i.disabled.value?{}:{click:w,focus:y,pointermove:_,pointerleave:v,pointerdown:h,blur:x});g(()=>{i.onTriggerChange(c.value)});function f(){setTimeout(()=>{l.value=!1},1)}function h(){i.open&&!i.disableClosingTrigger.value&&i.onClose(),l.value=!0,document.addEventListener(`pointerup`,f,{once:!0})}function _(e){e.pointerType!==`touch`&&!u.value&&!a.isPointerInTransitRef.value&&(i.onTriggerEnter(),u.value=!0)}function v(){i.onTriggerLeave(),u.value=!1}function y(e){l.value||i.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||i.onOpen()}function x(){i.onClose()}function w(){i.disableClosingTrigger.value||i.onClose()}return(t,n)=>(k(),D(s(z),{"as-child":``,reference:t.reference},{default:e(()=>[p(s(S),m({ref:s(o),"aria-describedby":s(i).open.value?s(i).contentId:void 0,"data-state":s(i).stateAttribute.value,as:t.as,"as-child":r.asChild,"data-grace-area-trigger":``},b(d.value)),{default:e(()=>[E(t.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),_e=o({__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(t,{emit:n}){let r=M(t,n);return(t,n)=>(k(),D(s(pe),m({"data-slot":`tooltip`},s(r)),{default:e(e=>[E(t.$slots,`default`,u(v(e)))]),_:3},16))}}),ve=o({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:0},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let r=t,i=n,a=M(ee(r,`class`),i);return(t,n)=>(k(),D(s(ge),null,{default:e(()=>[p(s(he),m({"data-slot":`tooltip-content`},{...s(a),...t.$attrs},{class:s(O)(`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-dropdown **:data-[slot=kbd]:rounded-sm bg-foreground text-background z-dropdown w-fit max-w-xs origin-(--reka-tooltip-content-transform-origin)`,r.class)}),{default:e(()=>[E(t.$slots,`default`),p(s(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=o({__name:`TooltipProvider`,props:{delayDuration:{default:0},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean},content:{}},setup(t){let n=t;return(t,r)=>(k(),D(s(de),u(v(n)),{default:e(()=>[E(t.$slots,`default`)]),_:3},16))}}),be=o({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,r)=>(k(),D(s($),m({"data-slot":`tooltip-trigger`},n),{default:e(()=>[E(t.$slots,`default`)]),_:3},16))}});export{_e as i,ye as n,ve as r,be as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Bt as e,Ct as t,F as n,J as r,K as i,Q as a,Rt as o,U as s,Ut as c,X as l,Y as u,Z as d,ut as f}from"./button-CDY3J7p5.js";import{t as p}from"./Label-C4V5wJj3.js";import{f as m,g as h,h as g,m as _,p as v}from"./index-BZ7-9gPE.js";import{t as y}from"./Input--tQLJqtT.js";var b={key:1,class:`text-[10px] text-muted-foreground leading-snug`},x=a({__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(a,{emit:x}){let{t:S}=n(),C=x;return(n,x)=>(f(),u(`div`,{class:e(a.compact?`space-y-2`:`flex items-end gap-2 flex-wrap`)},[i(`div`,{class:e([a.compact?``:`w-36`,`space-y-1`])},[d(o(p),{class:`text-xs text-muted-foreground`},{default:t(()=>[l(c(o(S)(`providers.concurrency.mode`)),1)]),_:1}),d(o(h),{"model-value":a.mode,"onUpdate:modelValue":x[0]||=e=>C(`update:mode`,e)},{default:t(()=>[d(o(v),{class:`w-full text-xs data-[size=default]:h-7`},{default:t(()=>[d(o(m))]),_:1}),d(o(g),null,{default:t(()=>[d(o(_),{value:`auto`},{default:t(()=>[l(c(o(S)(`providers.concurrency.autoAdaptive`)),1)]),_:1}),d(o(_),{value:`manual`},{default:t(()=>[l(c(o(S)(`providers.concurrency.manual`)),1)]),_:1}),d(o(_),{value:`none`},{default:t(()=>[l(c(o(S)(`providers.concurrency.none`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])],2),a.mode===`none`?r(``,!0):(f(),u(s,{key:0},[i(`div`,{class:e([a.compact?``:`w-28`,`space-y-1`])},[d(o(p),{class:`text-xs text-muted-foreground`},{default:t(()=>[l(c(o(S)(`providers.concurrency.maxConcurrency`)),1)]),_:1}),d(o(y),{"model-value":a.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),i(`div`,{class:e([a.compact?``:`w-32`,`space-y-1`])},[d(o(p),{class:`text-xs text-muted-foreground`},{default:t(()=>[l(c(o(S)(`providers.concurrency.queueTimeout`)),1)]),_:1}),d(o(y),{"model-value":a.queueTimeoutMs,type:`number`,min:`0`,placeholder:o(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),i(`div`,{class:e([a.compact?``:`w-32`,`space-y-1`])},[d(o(p),{class:`text-xs text-muted-foreground`},{default:t(()=>[l(c(o(S)(`providers.concurrency.maxQueueSize`)),1)]),_:1}),d(o(y),{"model-value":a.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)),a.mode===`auto`&&!a.compact?(f(),u(`div`,b,c(o(S)(`providers.shared.autoHint`)),1)):r(``,!0)],2))}}),S=a({__name:`TransformRulesForm`,props:{injectHeaders:{},dropFields:{},requestDefaults:{},compact:{type:Boolean}},emits:[`update:injectHeaders`,`update:dropFields`,`update:requestDefaults`],setup(r,{emit:a}){let s=a,{t:m}=n();return(n,a)=>(f(),u(`div`,{class:e(r.compact?`space-y-2`:`space-y-3`)},[i(`div`,null,[d(o(p),{class:`text-[11px] text-muted-foreground`},{default:t(()=>[l(c(o(m)(`providers.transform.injectHeaders`)),1)]),_:1}),d(o(y),{"model-value":r.injectHeaders,placeholder:`{"x-custom": "value"}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":a[0]||=e=>s(`update:injectHeaders`,e)},null,8,[`model-value`])]),i(`div`,null,[d(o(p),{class:`text-[11px] text-muted-foreground`},{default:t(()=>[l(c(o(m)(`providers.transform.dropFields`)),1)]),_:1}),d(o(y),{"model-value":r.dropFields,placeholder:`logprobs, frequency_penalty`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":a[1]||=e=>s(`update:dropFields`,e)},null,8,[`model-value`])]),i(`div`,null,[d(o(p),{class:`text-[11px] text-muted-foreground`},{default:t(()=>[l(c(o(m)(`providers.transform.requestDefaults`)),1)]),_:1}),d(o(y),{"model-value":r.requestDefaults,placeholder:`{"max_tokens": 4096}`,class:`mt-0.5 md:text-xs font-mono`,"onUpdate:modelValue":a[2]||=e=>s(`update:requestDefaults`,e)},null,8,[`model-value`])])],2))}});export{x as n,S as t};
|