llm-simple-router 0.8.2 → 0.9.4
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/README.en.md +319 -0
- package/README.md +2 -0
- package/config/recommended-providers.json +33 -9
- package/config/recommended-retry-rules.json +9 -8
- package/dist/admin/providers.js +11 -9
- package/dist/admin/quick-setup.d.ts +13 -0
- package/dist/admin/quick-setup.js +169 -0
- package/dist/admin/recommended.js +5 -1
- package/dist/admin/routes.js +2 -0
- package/dist/config/model-context.d.ts +8 -2
- package/dist/config/model-context.js +17 -5
- package/dist/config/recommended.d.ts +2 -1
- package/dist/config/recommended.js +5 -9
- package/dist/core/constants.js +2 -0
- package/dist/db/index.js +5 -0
- package/dist/db/migrations/033_add_adaptive_concurrency.sql +3 -0
- package/dist/db/migrations/036_add_openai_responses_api_type.sql +68 -0
- package/dist/db/migrations/037_fix_035_data_corruption.sql +54 -0
- package/dist/db/providers.d.ts +3 -3
- package/dist/index.js +7 -3
- package/dist/metrics/metrics-extractor.d.ts +3 -2
- package/dist/metrics/metrics-extractor.js +45 -0
- package/dist/metrics/sse-metrics-transform.d.ts +1 -1
- package/dist/metrics/sse-metrics-transform.js +10 -0
- package/dist/monitor/request-tracker.d.ts +1 -1
- package/dist/monitor/stream-content-accumulator.d.ts +1 -1
- package/dist/monitor/stream-extractor.d.ts +1 -1
- package/dist/monitor/stream-extractor.js +21 -0
- package/dist/monitor/types.d.ts +1 -1
- package/dist/proxy/handler/proxy-handler-utils.d.ts +1 -1
- package/dist/proxy/handler/proxy-handler.d.ts +1 -1
- package/dist/proxy/handler/proxy-handler.js +8 -2
- package/dist/proxy/handler/responses.d.ts +7 -0
- package/dist/proxy/handler/responses.js +48 -0
- package/dist/proxy/loop-prevention/tool-loop-guard.d.ts +1 -1
- package/dist/proxy/loop-prevention/tool-loop-guard.js +10 -0
- package/dist/proxy/orchestration/orchestrator.d.ts +1 -1
- package/dist/proxy/orchestration/semaphore.js +6 -0
- package/dist/proxy/patch/deepseek/index.d.ts +1 -1
- package/dist/proxy/patch/deepseek/patch-thinking-param.d.ts +1 -1
- package/dist/proxy/patch/index.d.ts +3 -0
- package/dist/proxy/patch/index.js +28 -0
- package/dist/proxy/patch/tool-round-limiter.d.ts +1 -1
- package/dist/proxy/patch/tool-round-limiter.js +16 -0
- package/dist/proxy/proxy-core.d.ts +1 -1
- package/dist/proxy/proxy-logging.d.ts +3 -3
- package/dist/proxy/response-transform.js +13 -0
- package/dist/proxy/transform/id-utils.d.ts +1 -0
- package/dist/proxy/transform/id-utils.js +3 -0
- package/dist/proxy/transform/plugin-types.d.ts +5 -5
- package/dist/proxy/transform/request-bridge-responses.d.ts +19 -0
- package/dist/proxy/transform/request-bridge-responses.js +311 -0
- package/dist/proxy/transform/request-transform-responses.d.ts +2 -0
- package/dist/proxy/transform/request-transform-responses.js +350 -0
- package/dist/proxy/transform/response-bridge-responses.d.ts +23 -0
- package/dist/proxy/transform/response-bridge-responses.js +173 -0
- package/dist/proxy/transform/response-transform-responses.d.ts +2 -0
- package/dist/proxy/transform/response-transform-responses.js +137 -0
- package/dist/proxy/transform/stream-ant2resp.d.ts +26 -0
- package/dist/proxy/transform/stream-ant2resp.js +322 -0
- package/dist/proxy/transform/stream-bridge-chat2resp.d.ts +40 -0
- package/dist/proxy/transform/stream-bridge-chat2resp.js +382 -0
- package/dist/proxy/transform/stream-bridge-resp2chat.d.ts +24 -0
- package/dist/proxy/transform/stream-bridge-resp2chat.js +237 -0
- package/dist/proxy/transform/stream-resp2ant.d.ts +21 -0
- package/dist/proxy/transform/stream-resp2ant.js +238 -0
- package/dist/proxy/transform/stream-transform-base.d.ts +1 -0
- package/dist/proxy/transform/stream-transform-base.js +3 -0
- package/dist/proxy/transform/transform-coordinator.d.ts +1 -0
- package/dist/proxy/transform/transform-coordinator.js +127 -8
- package/dist/proxy/transform/types-responses.d.ts +177 -0
- package/dist/proxy/transform/types-responses.js +27 -0
- package/dist/proxy/transform/types.d.ts +3 -1
- package/dist/proxy/transport/transport-fn.d.ts +1 -1
- package/frontend-dist/assets/CardContent-BhMXx-JD.js +1 -0
- package/frontend-dist/assets/CardTitle-DQDjTee3.js +1 -0
- package/frontend-dist/assets/CascadingModelSelect-JBQq3JJt.js +1 -0
- package/frontend-dist/assets/Checkbox-ByxbKP_C.js +1 -0
- package/frontend-dist/assets/CollapsibleContent-GecW2Jk_.js +1 -0
- package/frontend-dist/assets/CollapsibleTrigger-Cib3-OsK.js +1 -0
- package/frontend-dist/assets/Collection-Dbvdpa0m.js +1 -0
- package/frontend-dist/assets/Dashboard-3MJPLflT.js +3 -0
- package/frontend-dist/assets/DialogTitle-Ej_rtfV1.js +1 -0
- package/frontend-dist/assets/{Input-CAnKUBBK.js → Input-tcnrMp1v.js} +1 -1
- package/frontend-dist/assets/Label-BwzPFyL-.js +1 -0
- package/frontend-dist/assets/Login-Cdsw2pWC.js +1 -0
- package/frontend-dist/assets/Logs-5_CWiws5.js +1 -0
- package/frontend-dist/assets/MappingList-D8HRph05.js +1 -0
- package/frontend-dist/assets/ModelCard-CZbQcYNn.js +1 -0
- package/frontend-dist/assets/ModelMappings-CJqgl7O8.js +1 -0
- package/frontend-dist/assets/Monitor-B8v5a8fB.js +1 -0
- package/frontend-dist/assets/PopoverTrigger-C88SpJNZ.js +1 -0
- package/frontend-dist/assets/PopperContent-6BXua_FZ.js +1 -0
- package/frontend-dist/assets/Providers-DH0nvlGn.js +1 -0
- package/frontend-dist/assets/ProxyEnhancement-CAH-44W-.js +5 -0
- package/frontend-dist/assets/QuickSetup-CsDO-ZGP.js +1 -0
- package/frontend-dist/assets/RetryRules-8iT9fLsH.js +1 -0
- package/frontend-dist/assets/RouterKeys-BFoEmWgj.js +1 -0
- package/frontend-dist/assets/RovingFocusItem-DdPUFQHC.js +1 -0
- package/frontend-dist/assets/Schedules-B8Se31u4.js +1 -0
- package/frontend-dist/assets/SelectValue-CT2z_-6j.js +1 -0
- package/frontend-dist/assets/Settings-BHvtsJKD.js +6 -0
- package/frontend-dist/assets/Setup-k-l9KDC0.js +1 -0
- package/frontend-dist/assets/Switch-D1NdA4ax.js +1 -0
- package/frontend-dist/assets/TableHeader-CcMyOsUB.js +1 -0
- package/frontend-dist/assets/Teleport-Bmeh33lB.js +3 -0
- package/frontend-dist/assets/TooltipTrigger-LegC_Uvp.js +1 -0
- package/frontend-dist/assets/UnifiedRequestDialog-BVw6W2pk.js +3 -0
- package/frontend-dist/assets/UnifiedRequestDialog-C4MTxb25.css +1 -0
- package/frontend-dist/assets/VisuallyHidden-ogESfc9X.js +1 -0
- package/frontend-dist/assets/VisuallyHiddenInput-BQemVGau.js +1 -0
- package/frontend-dist/assets/alert-dialog-DzKCAoYJ.js +1 -0
- package/frontend-dist/assets/badge-C-9zPTgw.js +1 -0
- package/frontend-dist/assets/button-D27ClX8J.js +14 -0
- package/frontend-dist/assets/check-yTAivq1h.js +1 -0
- package/frontend-dist/assets/common-CWCbKHOK.js +1 -0
- package/frontend-dist/assets/common-D4xnnaqi.js +1 -0
- package/frontend-dist/assets/constants-B-VELBjk.js +1 -0
- package/frontend-dist/assets/copy-DWG9cQPR.js +1 -0
- package/frontend-dist/assets/dashboard-B8eI-t8c.js +1 -0
- package/frontend-dist/assets/dashboard-Dbe6A2lu.js +1 -0
- package/frontend-dist/assets/dialog-BnYR6_dh.js +1 -0
- package/frontend-dist/assets/file-text-D33FJAPX.js +1 -0
- package/frontend-dist/assets/format-BhxQSgt6.js +1 -0
- package/frontend-dist/assets/i18n-CwUfS0tE.js +1 -0
- package/frontend-dist/assets/index-B348nt-T.css +1 -0
- package/frontend-dist/assets/index-DPRxBo3N.js +1 -0
- package/frontend-dist/assets/lib-D0Ek2pPZ.js +1 -0
- package/frontend-dist/assets/loader-circle-EpKC006I.js +1 -0
- package/frontend-dist/assets/login-BTolYxVI.js +1 -0
- package/frontend-dist/assets/login-w_ICpiU5.js +1 -0
- package/frontend-dist/assets/logs-7dT2uyMa.js +1 -0
- package/frontend-dist/assets/logs-_3w8tDQa.js +1 -0
- package/frontend-dist/assets/mappings-Bbn3r2uJ.js +1 -0
- package/frontend-dist/assets/mappings-CTZ-zb1x.js +1 -0
- package/frontend-dist/assets/monitor-DN5m5n_x.js +1 -0
- package/frontend-dist/assets/monitor-DysWEOtt.js +1 -0
- package/frontend-dist/assets/providers-C1gQGzwa.js +1 -0
- package/frontend-dist/assets/providers-CCfko___.js +1 -0
- package/frontend-dist/assets/proxyEnhancement-BItabyLo.js +1 -0
- package/frontend-dist/assets/proxyEnhancement-DeMb7wIE.js +1 -0
- package/frontend-dist/assets/quickSetup-C75HMC_z.js +1 -0
- package/frontend-dist/assets/quickSetup-DStZWiuf.js +1 -0
- package/frontend-dist/assets/requestDetail-BoaPEQs-.js +1 -0
- package/frontend-dist/assets/requestDetail-CM5kFgy6.js +1 -0
- package/frontend-dist/assets/retryRules-CIF37gOl.js +1 -0
- package/frontend-dist/assets/retryRules-o_D8S5gy.js +1 -0
- package/frontend-dist/assets/routerKeys-BAvjW0V8.js +1 -0
- package/frontend-dist/assets/routerKeys-mQt2YPuE.js +1 -0
- package/frontend-dist/assets/schedules-BCV2rxK-.js +1 -0
- package/frontend-dist/assets/schedules-Qte9b7b_.js +1 -0
- package/frontend-dist/assets/settings-Bgu2lJfy.js +1 -0
- package/frontend-dist/assets/settings-UCmMSq_F.js +1 -0
- package/frontend-dist/assets/setup-B_fAfMoV.js +1 -0
- package/frontend-dist/assets/setup-Chc246Zi.js +1 -0
- package/frontend-dist/assets/sidebar-B7rejnZA.js +1 -0
- package/frontend-dist/assets/sidebar-CBMItLst.js +1 -0
- package/frontend-dist/assets/sun-BylRZIWt.js +1 -0
- package/frontend-dist/assets/trash-2-QNFff7V4.js +1 -0
- package/frontend-dist/assets/{useClipboard-BmmsNSGV.js → useClipboard-BFt5f-_-.js} +1 -1
- package/frontend-dist/assets/{useFocusGuards-A-9V2Y-b.js → useFocusGuards-DQBZKWnu.js} +1 -1
- package/frontend-dist/assets/useFormControl-T2RQNBqs.js +1 -0
- package/frontend-dist/assets/useLogRetention-NrrZrpPE.js +1 -0
- package/frontend-dist/assets/useNonce-DR38uny5.js +1 -0
- package/frontend-dist/assets/useTheme-CpTI547G.js +1 -0
- package/frontend-dist/assets/x-DSgLgKC_.js +1 -0
- package/frontend-dist/index.html +25 -22
- package/package.json +1 -1
- package/dist/db/migrations/033_add_pipeline_snapshot.sql +0 -1
- package/frontend-dist/assets/CardContent-BVMQ2_pg.js +0 -1
- package/frontend-dist/assets/CardTitle-GLv7QyIY.js +0 -1
- package/frontend-dist/assets/CascadingModelSelect-CBhqKFDX.js +0 -1
- package/frontend-dist/assets/Checkbox-HPVDmEdV.js +0 -1
- package/frontend-dist/assets/CollapsibleTrigger-DhxD9tpM.js +0 -1
- package/frontend-dist/assets/Collection-BRt7YxN8.js +0 -1
- package/frontend-dist/assets/Dashboard-D1Ys8Zog.js +0 -3
- package/frontend-dist/assets/DialogTitle-23q73lwF.js +0 -1
- package/frontend-dist/assets/Label-DWdYtVMI.js +0 -1
- package/frontend-dist/assets/Login-w5WFOinP.js +0 -1
- package/frontend-dist/assets/Logs-C1F1ZmWF.js +0 -1
- package/frontend-dist/assets/ModelMappings-BzmecWEH.js +0 -1
- package/frontend-dist/assets/Monitor-DrAZFTKR.js +0 -1
- package/frontend-dist/assets/PopoverTrigger-Bj65uUbv.js +0 -1
- package/frontend-dist/assets/PopperContent-gzzf1XHe.js +0 -1
- package/frontend-dist/assets/Providers-DSgf4mb6.js +0 -1
- package/frontend-dist/assets/ProxyEnhancement-Bb1cCP6d.js +0 -5
- package/frontend-dist/assets/RetryRules-BwPfEZtm.js +0 -1
- package/frontend-dist/assets/RouterKeys-CzTSq1Mx.js +0 -1
- package/frontend-dist/assets/RovingFocusItem-CXM_Yfkm.js +0 -1
- package/frontend-dist/assets/Schedules-DVilCXrC.js +0 -1
- package/frontend-dist/assets/SelectValue-C0-LzGQY.js +0 -1
- package/frontend-dist/assets/Settings-Bpk53zVX.js +0 -6
- package/frontend-dist/assets/Setup-Dn7EgC49.js +0 -1
- package/frontend-dist/assets/Switch-BO8Ooae6.js +0 -1
- package/frontend-dist/assets/TableHeader-Bded9VTC.js +0 -1
- package/frontend-dist/assets/TabsTrigger-BzKMi9AF.js +0 -1
- package/frontend-dist/assets/Teleport-DizRK5O3.js +0 -3
- package/frontend-dist/assets/TooltipTrigger-EiIy2zn8.js +0 -1
- package/frontend-dist/assets/UnifiedRequestDialog-BABsTaGb.js +0 -3
- package/frontend-dist/assets/UnifiedRequestDialog-BjEigSaR.css +0 -1
- package/frontend-dist/assets/VisuallyHidden-5AozJQza.js +0 -1
- package/frontend-dist/assets/VisuallyHiddenInput-DdiZrV2i.js +0 -1
- package/frontend-dist/assets/alert-dialog-DlKUuTPe.js +0 -1
- package/frontend-dist/assets/arrow-down-CxWKmZ2I.js +0 -1
- package/frontend-dist/assets/badge-9KJEMa53.js +0 -1
- package/frontend-dist/assets/button-Ul8WlrM5.js +0 -12
- package/frontend-dist/assets/check-7ahK--N4.js +0 -1
- package/frontend-dist/assets/constants-D_0jiLjw.js +0 -1
- package/frontend-dist/assets/copy-DzU2pAMG.js +0 -1
- package/frontend-dist/assets/dialog-B9j-FMrd.js +0 -1
- package/frontend-dist/assets/file-text-Bj3ZIo-E.js +0 -1
- package/frontend-dist/assets/format-Dln15Luw.js +0 -1
- package/frontend-dist/assets/index-Bz_ZaXNn.css +0 -1
- package/frontend-dist/assets/index-MedWZMHB.js +0 -1
- package/frontend-dist/assets/lib-Hhs3NqfD.js +0 -1
- package/frontend-dist/assets/loader-circle-5TJUukEe.js +0 -1
- package/frontend-dist/assets/useFormControl-DEO19lRe.js +0 -1
- package/frontend-dist/assets/useLogRetention-BfnBFZ5K.js +0 -1
- package/frontend-dist/assets/useNonce-BfwUJ1Ci.js +0 -1
- package/frontend-dist/assets/x-Cfopt3QL.js +0 -1
- /package/dist/db/migrations/{034_drop_redundant_log_columns.sql → 035_drop_redundant_log_columns.sql} +0 -0
- /package/frontend-dist/assets/{ohash.D__AXeF1-D5e5Wyzx.js → ohash.D__AXeF1-CTo5WcIm.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bt as e,Ct as t,F as n,H as r,J as i,K as a,Q as o,Rt as s,U as c,Ut as l,X as u,Y as d,Z as f,ft as p,jt as m,n as h,q as g,ut as _}from"./button-D27ClX8J.js";import{n as ee,t as v}from"./CascadingModelSelect-JBQq3JJt.js";import{t as y}from"./trash-2-QNFff7V4.js";import{t as te}from"./Switch-D1NdA4ax.js";import{t as ne}from"./badge-C-9zPTgw.js";import{t as b}from"./Input-tcnrMp1v.js";var re={class:`rounded-xl border border-border bg-card overflow-hidden`},ie={key:0,class:`flex items-center px-5 py-2.5 border-b border-border bg-muted/20 text-xs text-muted-foreground font-medium`},x={class:`w-[140px] shrink-0`},S={class:`flex-1`},C={class:`shrink-0 w-[140px] text-right`},ae=[`onClick`],oe=[`title`],se={class:`flex-1 min-w-0`},ce={key:0,width:`10`,height:`10`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`text-muted-foreground/20 shrink-0`},le={key:1,width:`10`,height:`10`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`text-muted-foreground/20 shrink-0`},w={class:`text-[11px] px-1 py-px rounded bg-muted/50 text-muted-foreground/40`},T={key:0,class:`flex items-center gap-1 mt-1 pt-1 border-t border-dashed border-primary/10`},E={class:`text-xs text-primary/40`},D={class:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-sm mono bg-primary/5 border border-primary/15 text-primary/70`},O={class:`text-[11px] px-1 py-px rounded bg-muted/50 text-muted-foreground/40`},k={class:`shrink-0 w-[140px] flex items-center justify-end gap-1`},A={key:0,class:`border-t border-border bg-muted/5 mapping-edit-section`},j={class:`flex`},M={class:`w-[140px] shrink-0 px-3 py-2 flex flex-col items-center justify-center border-r border-border bg-muted/10`},N={class:`mono text-xs font-semibold text-foreground`},P={class:`text-[10px] text-muted-foreground/50 mt-0.5`},F={class:`flex-1 px-3 py-2 space-y-1.5`},I={class:`flex items-center gap-2`},L={class:`flex-1`},R={key:0,class:`flex items-center gap-1 pl-10 text-[11px] text-muted-foreground/30 py-0.5`},ue={class:`flex items-center gap-2 pt-2 border-t border-dashed border-primary/15`},z={class:`text-[10px] w-10 text-center px-1.5 py-0.5 rounded bg-primary/10 text-primary/70 shrink-0`},B={class:`flex-1`},V={key:1,class:`py-10 text-center text-xs text-muted-foreground/40`},H={key:2,class:`flex items-center gap-2 px-4 py-3 border-t border-border`},U=o({__name:`MappingList`,props:{entries:{},providerGroups:{},showDelete:{type:Boolean,default:!1},showAddForm:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}},emits:[`update:targets`,`toggle-active`,`remove`,`add`],setup(o,{emit:U}){let{t:W}=n(),G=o,K=U,q=m(``),J=m(``),Y=m({});function de(e){Y.value={...Y.value,[e]:!Y.value[e]}}function fe(e){return!!Y.value[e]}function pe(e){let t=G.entries[e];if(!t)return;let n=G.providerGroups[0];K(`update:targets`,e,[...t.targets,{backend_model:n?.models[0]?.name??``,provider_id:n?.provider.id??``}])}function me(e,t){let n=G.entries[e];!n||n.targets.length<=1||K(`update:targets`,e,n.targets.filter((e,n)=>n!==t))}function he(e,t,n){let r=G.entries[e];if(!r)return;let i=[...r.targets];i[t]={...i[t],provider_id:n.provider_id,backend_model:n.model},K(`update:targets`,e,i)}function ge(e,t){let n=G.entries[e];n&&K(`update:targets`,e,n.targets.map((e,n)=>{if(n===0){if(t)return{...e,overflow_provider_id:t.provider_id,overflow_model:t.model};{let{overflow_provider_id:t,overflow_model:n,...r}=e;return r}}return e}))}function X(e){return G.providerGroups.find(t=>t.provider.id===e)?.provider.name??e.slice(0,6)}function Z(){return q.value.trim().length>0&&J.value.trim().length>0}function Q(){let e=q.value.trim(),t=J.value.trim();e&&t&&(K(`add`,e,t),q.value=``,J.value=``)}function $(e){e.key===`Enter`&&Z()&&(e.preventDefault(),Q())}function _e(e,t=2){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}return(n,m)=>(_(),d(`div`,re,[o.entries.length>0?(_(),d(`div`,ie,[a(`div`,x,l(s(W)(`providers.shared.clientModel`)),1),m[3]||=a(`div`,{class:`w-5 shrink-0`},null,-1),a(`div`,S,l(s(W)(`providers.shared.targetChain`)),1),a(`div`,C,l(s(W)(`providers.shared.actions`)),1)])):i(``,!0),(_(!0),d(c,null,p(o.entries,(n,b)=>(_(),d(`div`,{key:n.clientModel,class:e([`border-b border-border last:border-b-0 transition-colors`,{"opacity-40":!n.active}])},[a(`div`,{class:e([`flex items-center px-5 py-3 cursor-pointer select-none hover:bg-muted/10`,{"cursor-default hover:bg-transparent":!o.editable}]),onClick:e=>o.editable&&de(n.clientModel)},[a(`div`,{class:`w-[140px] shrink-0 mono text-sm font-semibold text-foreground truncate`,title:n.clientModel},l(n.clientModel),9,oe),m[7]||=a(`div`,{class:`w-5 shrink-0 flex items-center justify-center`},[a(`svg`,{width:`10`,height:`10`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`text-muted-foreground/30`},[a(`path`,{d:`M1 5h7M6 2l3 3-3 3`})])],-1),a(`div`,se,[(_(!0),d(c,null,p(_e(n.targets),(t,n)=>(_(),d(`div`,{key:n,class:e([`flex items-center gap-1 flex-wrap`,n>0?`mt-0.5`:``])},[(_(!0),d(c,null,p(t,(t,r)=>(_(),d(c,{key:r},[n>0&&r===0?(_(),d(`svg`,ce,[...m[4]||=[a(`path`,{d:`M3 1v6M0 4l3 3 3-3`,"stroke-dasharray":`2 2`},null,-1)]])):r>0?(_(),d(`svg`,le,[...m[5]||=[a(`path`,{d:`M3 1v6M0 4l3 3 3-3`,"stroke-dasharray":`2 2`},null,-1)]])):i(``,!0),a(`span`,{class:e([`inline-flex items-center gap-1 px-2 py-0.5 rounded text-sm mono min-w-[180px]`,r===0&&n===0?`bg-primary/10 border border-primary/20 text-primary`:`bg-muted/30 border border-border text-muted-foreground`])},[u(l(t.backend_model)+` `,1),a(`span`,w,l(X(t.provider_id)),1)],2)],64))),128))],2))),128)),n.targets[0]?.overflow_model?(_(),d(`div`,T,[m[6]||=a(`svg`,{width:`8`,height:`8`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`text-primary/30 shrink-0`},[a(`path`,{d:`M3 1v4M1 3l2 2 2-2`,"stroke-dasharray":`1 1`})],-1),a(`span`,E,l(s(W)(`providers.shared.overflow`)),1),a(`span`,D,[u(l(n.targets[0].overflow_model)+` `,1),a(`span`,O,l(X(n.targets[0].overflow_provider_id??``)),1)])])):i(``,!0)]),a(`div`,k,[n.targets.length>1?(_(),g(s(ne),{key:0,variant:`outline`,class:`text-[11px] px-1.5 py-0 border-border text-muted-foreground/50 shrink-0`},{default:t(()=>[u(l(s(W)(`providers.shared.level`,{count:n.targets.length})),1)]),_:2},1024)):i(``,!0),o.editable?i(``,!0):(_(),d(`span`,{key:1,class:e([`text-[11px] shrink-0`,n.active?`text-primary/60`:`text-muted-foreground/30`])},l(n.active?s(W)(`providers.shared.enabled`):s(W)(`providers.shared.disabled`)),3)),o.showDelete&&o.editable?(_(),g(s(h),{key:2,variant:`ghost`,size:`icon-xs`,class:`text-muted-foreground/40 hover:text-destructive shrink-0`,onClick:r(e=>K(`remove`,n.clientModel),[`stop`])},{default:t(()=>[f(s(y),{class:`size-3`})]),_:1},8,[`onClick`])):i(``,!0),o.editable?(_(),g(s(te),{key:3,"model-value":n.active,"onUpdate:modelValue":e=>K(`toggle-active`,b),class:`scale-75 shrink-0`,onClick:m[0]||=r(()=>{},[`stop`])},null,8,[`model-value`,`onUpdate:modelValue`])):i(``,!0)])],10,ae),o.editable&&fe(n.clientModel)?(_(),d(`div`,A,[a(`div`,j,[a(`div`,M,[a(`div`,N,l(n.clientModel),1),a(`div`,P,l(s(W)(`providers.shared.clientModel`)),1)]),a(`div`,F,[(_(!0),d(c,null,p(n.targets,(r,c)=>(_(),d(`div`,{key:c},[a(`div`,I,[a(`span`,{class:e([`text-xs font-medium shrink-0 w-10 px-1.5 py-0.5 rounded`,c===0?`bg-primary/10 text-primary`:`bg-muted/30 text-muted-foreground`])},l(c===0?s(W)(`providers.shared.primary`):s(W)(`providers.shared.backup`,{n:c})),3),a(`div`,L,[f(v,{providers:o.providerGroups,"model-value":{provider_id:r.provider_id,model:r.backend_model},compact:``,placeholder:s(W)(`providers.shared.selectModel`),"onUpdate:modelValue":e=>he(b,c,e)},null,8,[`providers`,`model-value`,`placeholder`,`onUpdate:modelValue`])]),n.targets.length>1?(_(),g(s(h),{key:0,variant:`ghost`,size:`icon-xs`,class:`shrink-0 text-muted-foreground/40 hover:text-destructive`,onClick:e=>me(b,c)},{default:t(()=>[f(s(y),{class:`size-3`})]),_:1},8,[`onClick`])):i(``,!0)]),c<n.targets.length-1?(_(),d(`div`,R,[m[8]||=a(`span`,{class:`w-3 border-t border-muted-foreground/20`},null,-1),a(`span`,null,l(s(W)(`providers.shared.switchOnFail`)),1)])):i(``,!0)]))),128)),a(`div`,ue,[a(`span`,z,l(s(W)(`providers.shared.overflow`)),1),a(`div`,B,[f(v,{providers:o.providerGroups,"model-value":n.targets[0]?.overflow_provider_id&&n.targets[0]?.overflow_model?{provider_id:n.targets[0].overflow_provider_id,model:n.targets[0].overflow_model}:void 0,compact:``,placeholder:s(W)(`providers.shared.overflowPlaceholder`),"onUpdate:modelValue":e=>ge(b,e)},null,8,[`providers`,`model-value`,`placeholder`,`onUpdate:modelValue`])])]),f(s(h),{variant:`ghost`,size:`sm`,class:`w-full text-xs text-muted-foreground/50`,onClick:e=>pe(b)},{default:t(()=>[f(s(ee),{class:`w-3 h-3 mr-1`}),u(` `+l(s(W)(`providers.shared.addFailover`)),1)]),_:1},8,[`onClick`])])])])):i(``,!0)],2))),128)),o.entries.length===0?(_(),d(`div`,V,l(s(W)(`providers.shared.noMappings`)),1)):i(``,!0),o.showAddForm&&o.editable?(_(),d(`div`,H,[f(s(b),{modelValue:q.value,"onUpdate:modelValue":m[1]||=e=>q.value=e,placeholder:s(W)(`providers.shared.clientModel`),class:`h-8 flex-1 text-xs mono`,onKeydown:$},null,8,[`modelValue`,`placeholder`]),m[9]||=a(`svg`,{width:`12`,height:`12`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`shrink-0 text-muted-foreground/20`},[a(`path`,{d:`M1 6h10M8 3l3 3-3 3`})],-1),f(s(b),{modelValue:J.value,"onUpdate:modelValue":m[2]||=e=>J.value=e,placeholder:s(W)(`providers.shared.targetModel`),class:`h-8 flex-1 text-xs mono`,onKeydown:$},null,8,[`modelValue`,`placeholder`]),f(s(h),{size:`sm`,variant:`outline`,class:`h-8 shrink-0`,disabled:!Z(),onClick:Q},{default:t(()=>[u(l(s(W)(`providers.shared.add`)),1)]),_:1},8,[`disabled`])])):i(``,!0)]))}});export{U as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bt as e,Ct as t,F as n,G as r,J as i,K as a,Q as o,Rt as s,U as c,Ut as l,X as u,Y as d,Z as f,ft as p,jt as m,n as h,q as g,r as _,ut as v}from"./button-D27ClX8J.js";import{a as y}from"./PopperContent-6BXua_FZ.js";import{a as b,i as x,n as S,r as C,t as w}from"./SelectValue-CT2z_-6j.js";import{t as T}from"./trash-2-QNFff7V4.js";import{n as E,t as D}from"./CollapsibleContent-GecW2Jk_.js";import{t as O}from"./Label-BwzPFyL-.js";import{t as k}from"./Input-tcnrMp1v.js";var A=[{id:`claude-code`,name:`Claude Code`,icon:`C`,iconClass:`cc`,format:`anthropic`,defaultProvider:`DeepSeek`,defaultPlan:`Anthropic`,descriptionKey:`quickSetup.client.claudeCodeDesc`},{id:`pi`,name:`Pi`,icon:`P`,iconClass:`pi`,format:`anthropic`,defaultProvider:`DeepSeek`,defaultPlan:`Anthropic`,descriptionKey:`quickSetup.client.piDesc`},{id:`openai-sdk`,name:`OpenAI SDK`,icon:`OA`,iconClass:`oa`,format:`openai`,defaultProvider:`DeepSeek`,defaultPlan:`OpenAI`,descriptionKey:`quickSetup.client.openaiSdkDesc`},{id:`anthropic-sdk`,name:`Anthropic SDK`,icon:`AN`,iconClass:`an`,format:`anthropic`,defaultProvider:`DeepSeek`,defaultPlan:`Anthropic`,descriptionKey:`quickSetup.client.anthropicSdkDesc`}],j=[{key:`deepseek_anthropic`,labelKey:`quickSetup.patch.deepseekAnthropic`,items:[{id:`thinking-param`,nameKey:`quickSetup.patch.thinkingParam`,descKey:`quickSetup.patch.thinkingParamDesc`},{id:`cache-control`,nameKey:`quickSetup.patch.cacheControl`,descKey:`quickSetup.patch.cacheControlDesc`},{id:`thinking-blocks`,nameKey:`quickSetup.patch.thinkingBlocks`,descKey:`quickSetup.patch.thinkingBlocksDesc`},{id:`orphan-tool-results`,nameKey:`quickSetup.patch.orphanToolResult`,descKey:`quickSetup.patch.orphanToolResultDesc`}]},{key:`deepseek_openai`,labelKey:`quickSetup.patch.deepseekOpenai`,items:[{id:`non-ds-tools`,nameKey:`quickSetup.patch.nonDsTools`,descKey:`quickSetup.patch.nonDsToolsDesc`},{id:`orphan-tool-results-oa`,nameKey:`quickSetup.patch.orphanToolResultOa`,descKey:`quickSetup.patch.orphanToolResultOaDesc`}]},{key:`general`,labelKey:`quickSetup.patch.general`,items:[{id:`developer-role`,nameKey:`quickSetup.patch.developerRole`,descKey:`quickSetup.patch.developerRoleDesc`}]}],M=[{label:`8K`,value:8e3},{label:`16K`,value:16e3},{label:`32K`,value:32e3},{label:`64K`,value:64e3},{label:`128K`,value:128e3},{label:`160K`,value:16e4},{label:`200K`,value:2e5},{label:`256K`,value:256e3},{label:`1M`,value:1e6}],N=1e6,P=128e3,F=32e3,I=8e3;function L(e){let t=e.toLowerCase();return t.includes(`v4`)||t.includes(`v3.2`)||t.includes(`r1`)||t.includes(`reasoner`)||t.includes(`qwen3.6`)?N:t.includes(`128k`)?P:t.includes(`32k`)?F:t.includes(`8k`)?I:P}var R={"claude-code":[`sonnet`,`opus`,`haiku`],"openai-sdk":[`gpt-5.1`,`gpt-4.1`,`o3`,`o4-mini`],"anthropic-sdk":[`claude-sonnet-4-20250514`,`claude-opus-4-20250116`,`claude-haiku-4-20250414`]},z={key:1,class:`text-[10px] text-muted-foreground leading-snug`},B=o({__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(r,{emit:o}){let{t:p}=n(),m=o;return(n,o)=>(v(),d(`div`,{class:e(r.compact?`space-y-2`:`flex items-end gap-3 flex-wrap`)},[a(`div`,{class:e([r.compact?``:`w-36`,`space-y-1`])},[f(s(O),{class:`text-xs text-muted-foreground`},{default:t(()=>[u(l(s(p)(`providers.concurrency.mode`)),1)]),_:1}),f(s(b),{"model-value":r.mode,"onUpdate:modelValue":o[0]||=e=>m(`update:mode`,e)},{default:t(()=>[f(s(S),null,{default:t(()=>[f(s(w))]),_:1}),f(s(x),null,{default:t(()=>[f(s(C),{value:`auto`},{default:t(()=>[u(l(s(p)(`providers.concurrency.autoAdaptive`)),1)]),_:1}),f(s(C),{value:`manual`},{default:t(()=>[u(l(s(p)(`providers.concurrency.manual`)),1)]),_:1}),f(s(C),{value:`none`},{default:t(()=>[u(l(s(p)(`providers.concurrency.none`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])],2),r.mode===`none`?i(``,!0):(v(),d(c,{key:0},[a(`div`,{class:e([r.compact?``:`w-28`,`space-y-1`])},[f(s(O),{class:`text-xs text-muted-foreground`},{default:t(()=>[u(l(s(p)(`providers.concurrency.maxConcurrency`)),1)]),_:1}),f(s(k),{"model-value":r.maxConcurrency,type:`number`,min:`1`,max:`100`,"onUpdate:modelValue":o[1]||=e=>m(`update:maxConcurrency`,Number(e))},null,8,[`model-value`])],2),a(`div`,{class:e([r.compact?``:`w-32`,`space-y-1`])},[f(s(O),{class:`text-xs text-muted-foreground`},{default:t(()=>[u(l(s(p)(`providers.concurrency.queueTimeout`)),1)]),_:1}),f(s(k),{"model-value":r.queueTimeoutMs,type:`number`,min:`0`,placeholder:s(p)(`providers.shared.queueTimeoutPlaceholder`),"onUpdate:modelValue":o[2]||=e=>m(`update:queueTimeoutMs`,Number(e))},null,8,[`model-value`,`placeholder`])],2),a(`div`,{class:e([r.compact?``:`w-32`,`space-y-1`])},[f(s(O),{class:`text-xs text-muted-foreground`},{default:t(()=>[u(l(s(p)(`providers.concurrency.maxQueueSize`)),1)]),_:1}),f(s(k),{"model-value":r.maxQueueSize,type:`number`,min:`1`,max:`1000`,"onUpdate:modelValue":o[3]||=e=>m(`update:maxQueueSize`,Number(e))},null,8,[`model-value`])],2)],64)),r.mode===`auto`&&!r.compact?(v(),d(`div`,z,l(s(p)(`providers.shared.autoHint`)),1)):i(``,!0)],2))}}),V=o({__name:`TransformRulesForm`,props:{injectHeaders:{},dropFields:{},requestDefaults:{},compact:{type:Boolean}},emits:[`update:injectHeaders`,`update:dropFields`,`update:requestDefaults`],setup(r,{emit:i}){let o=i,{t:c}=n();return(n,i)=>(v(),d(`div`,{class:e(r.compact?`space-y-2`:`space-y-3`)},[a(`div`,null,[f(s(O),{class:`text-[11px] text-muted-foreground`},{default:t(()=>[u(l(s(c)(`providers.transform.injectHeaders`)),1)]),_:1}),f(s(k),{"model-value":r.injectHeaders,placeholder:`{"x-custom": "value"}`,class:`mt-0.5 text-xs font-mono`,"onUpdate:modelValue":i[0]||=e=>o(`update:injectHeaders`,e)},null,8,[`model-value`])]),a(`div`,null,[f(s(O),{class:`text-[11px] text-muted-foreground`},{default:t(()=>[u(l(s(c)(`providers.transform.dropFields`)),1)]),_:1}),f(s(k),{"model-value":r.dropFields,placeholder:`logprobs, frequency_penalty`,class:`mt-0.5 text-xs font-mono`,"onUpdate:modelValue":i[1]||=e=>o(`update:dropFields`,e)},null,8,[`model-value`])]),a(`div`,null,[f(s(O),{class:`text-[11px] text-muted-foreground`},{default:t(()=>[u(l(s(c)(`providers.transform.requestDefaults`)),1)]),_:1}),f(s(k),{"model-value":r.requestDefaults,placeholder:`{"max_tokens": 4096}`,class:`mt-0.5 text-xs font-mono`,"onUpdate:modelValue":i[2]||=e=>o(`update:requestDefaults`,e)},null,8,[`model-value`])])],2))}}),H={class:`space-y-3`},U={class:`mb-1.5 text-xs font-medium text-[var(--muted-foreground)]`},W={class:`flex flex-wrap gap-1.5`},G=[`title`,`onClick`],K=o({__name:`PatchChips`,props:{apiType:{},isDeepSeek:{type:Boolean},isNonOpenaiEndpoint:{type:Boolean},modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:i}){let{t:o}=n(),f=t,m=i,h=r(()=>j.filter(e=>e.key===`deepseek_anthropic`?f.isDeepSeek&&f.apiType===`anthropic`:e.key===`deepseek_openai`?f.isDeepSeek&&f.apiType===`openai`:e.key===`general`?f.apiType===`openai`&&f.isNonOpenaiEndpoint:!0));function g(e){m(`update:modelValue`,f.modelValue.includes(e)?f.modelValue.filter(t=>t!==e):[...f.modelValue,e])}function y(e){return f.modelValue.includes(e)}return(t,n)=>(v(),d(`div`,H,[(v(!0),d(c,null,p(h.value,t=>(v(),d(`div`,{key:t.key},[a(`p`,U,l(s(o)(t.labelKey)),1),a(`div`,W,[(v(!0),d(c,null,p(t.items,t=>(v(),d(`button`,{key:t.id,type:`button`,title:s(o)(t.descKey),class:e(s(_)(`inline-flex items-center gap-1.5 rounded-md border px-2 py-1 text-xs font-medium transition-all cursor-pointer select-none`,y(t.id)?`border-[var(--ring)] bg-[var(--primary)]/10 text-[var(--primary)]`:`border-[var(--border)] bg-transparent text-[var(--muted-foreground)] hover:border-[var(--muted-foreground)] hover:text-[var(--foreground)]`)),onClick:e=>g(t.id)},[a(`span`,{class:e(s(_)(`size-1.5 rounded-full transition-colors`,y(t.id)?`bg-[var(--primary)]`:`bg-[var(--border)]`))},null,2),u(` `+l(s(o)(t.nameKey)),1)],10,G))),128))])]))),128))]))}}),q={class:`rounded-lg border border-border bg-card px-3 py-2.5 transition-colors`},J={class:`flex items-center gap-2`},Y=[`title`],X={class:`flex items-center gap-1 shrink-0`},Z=o({__name:`ModelCard`,props:{model:{},apiType:{},isDeepSeek:{type:Boolean},isNonOpenaiEndpoint:{type:Boolean}},emits:[`update:model`,`remove`],setup(o,{emit:O}){let{t:A}=n(),j=o,N=O,P=m(!1),F=r(()=>M.find(e=>e.value===j.model.contextWindow)),I=r(()=>!!F.value);function L(e){let t=e;if(t===`__custom__`)return;let n=parseInt(t,10);isNaN(n)||N(`update:model`,{...j.model,contextWindow:n})}function R(e){let t=parseInt(e,10);!isNaN(t)&&t>0&&N(`update:model`,{...j.model,contextWindow:t})}function z(e){N(`update:model`,{...j.model,patches:e})}function B(e){return e>=1e6?`${e/1e6}M`:e>=1e3?`${e/1e3}K`:String(e)}return(n,r)=>(v(),d(`div`,q,[a(`div`,J,[a(`span`,{class:`truncate text-xs font-medium text-foreground min-w-0 flex-1`,title:o.model.name},l(o.model.name),9,Y),a(`div`,X,[f(s(b),{"model-value":I.value?String(o.model.contextWindow):`__custom__`,"onUpdate:modelValue":L},{default:t(()=>[f(s(S),{class:`h-7 w-[72px] text-xs`},{default:t(()=>[f(s(w),null,{default:t(()=>[u(l(I.value?F.value.label:B(o.model.contextWindow)),1)]),_:1})]),_:1}),f(s(x),null,{default:t(()=>[(v(!0),d(c,null,p(s(M),e=>(v(),g(s(C),{key:e.value,value:String(e.value)},{default:t(()=>[u(l(e.label),1)]),_:2},1032,[`value`]))),128)),f(s(C),{value:`__custom__`},{default:t(()=>[u(l(s(A)(`quickSetup.model.contextCustom`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`]),I.value?i(``,!0):(v(),g(s(k),{key:0,"model-value":String(o.model.contextWindow),type:`number`,min:`1`,class:`h-7 w-20 text-xs text-right [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`,"onUpdate:modelValue":r[0]||=e=>R(e)},null,8,[`model-value`]))]),a(`button`,{type:`button`,class:`inline-flex items-center gap-0.5 text-[10px] text-muted-foreground hover:text-foreground transition-colors cursor-pointer select-none shrink-0`,onClick:r[1]||=e=>P.value=!P.value},[f(s(y),{class:e(s(_)(`size-3 transition-transform`,P.value?`rotate-0`:`-rotate-90`))},null,8,[`class`]),u(` `+l(o.model.patches.length>0?o.model.patches.length:``),1)]),f(s(h),{variant:`ghost`,size:`icon-xs`,class:`text-muted-foreground hover:text-destructive shrink-0`,onClick:r[2]||=e=>n.$emit(`remove`)},{default:t(()=>[f(s(T),{class:`size-3`})]),_:1})]),f(s(E),{open:P.value,"onUpdate:open":r[3]||=e=>P.value=e},{default:t(()=>[f(s(D),{class:`pt-1.5`},{default:t(()=>[f(K,{"api-type":o.apiType,"is-deep-seek":o.isDeepSeek,"is-non-openai-endpoint":o.isNonOpenaiEndpoint,"model-value":o.model.patches,"onUpdate:modelValue":z},null,8,[`api-type`,`is-deep-seek`,`is-non-openai-endpoint`,`model-value`])]),_:1})]),_:1},8,[`open`])]))}});export{R as a,A as i,V as n,L as o,B as r,Z as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,Ct as t,F as n,G as r,J as i,K as a,Q as o,Rt as s,Ut as c,X as l,Y as u,Z as d,ct as f,jt as p,k as m,n as h,q as g,ut as _}from"./button-D27ClX8J.js";import{a as v,c as y,i as b,n as x,o as S,r as C,t as w}from"./alert-dialog-DzKCAoYJ.js";import{n as T}from"./lib-D0Ek2pPZ.js";import{t as E}from"./MappingList-D8HRph05.js";import"./constants-B-VELBjk.js";var D={class:`p-6 space-y-4`},O={class:`flex items-center justify-between`},k={class:`text-lg font-semibold text-foreground`},A={class:`flex gap-2 mt-1`},j={class:`text-[11px] px-2 py-0.5 rounded-full bg-muted/40 text-muted-foreground`},M={class:`text-[11px] px-2 py-0.5 rounded-full bg-muted/40 text-muted-foreground`},N={key:0,class:`text-[11px] px-2 py-0.5 rounded-full bg-amber-500/10 text-amber-400`},P={key:1,class:`flex gap-2`},F=o({__name:`ModelMappings`,setup(o){let{t:F}=n(),I=p([]),L=p([]),R=p(!1),z=p(!1),B=p(null),V=p([]),H=p([]),U=r(()=>V.value.filter(e=>e.active).length),W=r(()=>L.value.map(e=>({provider:{id:e.id,name:e.name},models:(e.models??[]).map(e=>({name:e.name,contextWindow:e.context_window??2e5}))}))),G=r(()=>{let e=K();if(e.length!==V.value.length||H.value.length>0)return!0;for(let t=0;t<e.length;t++){let n=e[t],r=V.value[t];if(n.clientModel!==r.clientModel||n.active!==r.active||JSON.stringify(n.targets)!==JSON.stringify(r.targets))return!0}return!1});function K(){return I.value.map(e=>{let t={};try{let n=JSON.parse(e.rule);t=n.default&&!n.targets?{targets:[n.default]}:n}catch{}let n=(t.targets??[]).map(e=>({backend_model:e.backend_model||``,provider_id:e.provider_id||``,overflow_provider_id:e.overflow_provider_id,overflow_model:e.overflow_model}));return{clientModel:e.client_model,targets:n.length>0?n:[{backend_model:``,provider_id:L.value[0]?.id??``}],existing:!0,existingId:e.id,tag:`existing`,active:!!e.is_active,originalActive:!!e.is_active}})}async function q(){let e=await Promise.allSettled([m.getMappingGroups(),m.getProviders()]);e[0].status===`fulfilled`&&(I.value=e[0].value),e[1].status===`fulfilled`&&(L.value=e[1].value),V.value=K()}function J(){V.value=K(),H.value=[],R.value=!0}function Y(){V.value=K(),H.value=[],R.value=!1}function X(e,t){let n=[...V.value];n[e]={...n[e],targets:t},V.value=n}function Z(e){let t=[...V.value];t[e]={...t[e],active:!t[e].active},V.value=t}function Q(e){let t=V.value.find(t=>t.clientModel===e);t&&(B.value=t)}function $(){let e=B.value;e&&(B.value=null,H.value.push(e.clientModel),V.value=V.value.filter(t=>t.clientModel!==e.clientModel))}function ee(e,t){let n=L.value[0];V.value=[...V.value,{clientModel:e,targets:[{backend_model:t,provider_id:n?.id??``}],existing:!1,tag:`cust`,active:!0}]}async function te(){z.value=!0;let t=[];try{for(let n of H.value){let r=K().find(e=>e.clientModel===n);if(r?.existingId)try{await m.deleteMappingGroup(r.existingId)}catch(r){t.push(`${F(`mappings.messages.deleteFailed`,{model:n})}: ${e(r,``)}`)}}let n=I.value;for(let r of V.value)if(n.find(e=>e.client_model===r.clientModel)){let n=K().find(e=>e.clientModel===r.clientModel),i=n&&JSON.stringify(n.targets)!==JSON.stringify(r.targets),a=n&&n.active!==r.active;if(i&&n?.existingId)try{await m.updateMappingGroup(n.existingId,{client_model:r.clientModel,rule:JSON.stringify({targets:r.targets})})}catch(n){t.push(`${F(`mappings.messages.updateFailed`,{model:r.clientModel})}: ${e(n,``)}`)}if(a&&n?.existingId)try{await m.toggleMappingGroup(n.existingId)}catch(n){t.push(`${F(`mappings.messages.toggleFailed`,{model:r.clientModel})}: ${e(n,``)}`)}}else try{let e=JSON.stringify({targets:r.targets}),t=await m.createMappingGroup({client_model:r.clientModel,rule:e});!r.active&&t.id&&await m.toggleMappingGroup(t.id)}catch(n){t.push(`${F(`mappings.messages.createFailed`,{model:r.clientModel})}: ${e(n,``)}`)}await q(),R.value=!1,t.length>0?T.error(F(`mappings.messages.partialFail`,{count:t.length})):T.success(F(`common.saveSuccess`))}catch(t){T.error(e(t,F(`mappings.messages.saveFailed`)))}finally{z.value=!1}}return f(q),(e,n)=>(_(),u(`div`,D,[a(`div`,O,[a(`div`,null,[a(`h2`,k,c(s(F)(`mappings.title`)),1),a(`div`,A,[a(`span`,j,c(s(F)(`mappings.totalMappings`,{count:V.value.length})),1),a(`span`,M,c(s(F)(`mappings.enabledCount`,{count:U.value})),1),G.value?(_(),u(`span`,N,c(s(F)(`mappings.unsavedChanges`)),1)):i(``,!0)])]),R.value?(_(),u(`div`,P,[d(s(h),{size:`sm`,variant:`outline`,onClick:Y},{default:t(()=>[l(c(s(F)(`common.cancel`)),1)]),_:1}),d(s(h),{size:`sm`,disabled:z.value||!G.value,onClick:te},{default:t(()=>[n[2]||=a(`svg`,{class:`w-3.5 h-3.5 mr-1`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,viewBox:`0 0 24 24`},[a(`polyline`,{points:`20 6 9 17 4 12`})],-1),l(` `+c(z.value?s(F)(`common.saving`):s(F)(`common.save`)),1)]),_:1},8,[`disabled`])])):(_(),g(s(h),{key:0,size:`sm`,variant:`outline`,onClick:J},{default:t(()=>[n[1]||=a(`svg`,{class:`w-3.5 h-3.5 mr-1`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,viewBox:`0 0 24 24`},[a(`path`,{d:`M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}),a(`path`,{d:`M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z`})],-1),l(` `+c(s(F)(`common.edit`)),1)]),_:1}))]),d(E,{entries:V.value,"provider-groups":W.value,"show-delete":R.value,"show-add-form":R.value,editable:R.value,"onUpdate:targets":X,onToggleActive:Z,onRemove:Q,onAdd:ee},null,8,[`entries`,`provider-groups`,`show-delete`,`show-add-form`,`editable`]),d(s(y),{open:!!B.value,"onUpdate:open":n[0]||=e=>{e||(B.value=null)}},{default:t(()=>[d(s(v),null,{default:t(()=>[d(s(x),null,{default:t(()=>[d(s(w),null,{default:t(()=>[l(c(s(F)(`common.confirmDelete`)),1)]),_:1}),d(s(b),null,{default:t(()=>[l(c(s(F)(`mappings.confirmDeleteDesc`,{model:B.value?.clientModel})),1)]),_:1})]),_:1}),d(s(C),null,{default:t(()=>[d(s(S),null,{default:t(()=>[l(c(s(F)(`common.cancel`)),1)]),_:1}),d(s(h),{variant:`destructive`,onClick:$},{default:t(()=>[l(c(s(F)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{F as default};
|
|
@@ -0,0 +1 @@
|
|
|
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-D27ClX8J.js";import{n as T}from"./i18n-CwUfS0tE.js";import{n as E,t as ee}from"./UnifiedRequestDialog-BVw6W2pk.js";import{t as D}from"./check-yTAivq1h.js";import{t as O}from"./copy-DWG9cQPR.js";import{i as k,n as A,r as j,t as M}from"./TooltipTrigger-LegC_Uvp.js";import{t as N}from"./badge-C-9zPTgw.js";import{n as P,t as F}from"./CardContent-BhMXx-JD.js";import{n as I,t as L}from"./CardTitle-DQDjTee3.js";import{a as te,i as R,n as z,o as B,r as V,t as H}from"./TableHeader-CcMyOsUB.js";import{t as ne}from"./useClipboard-BFt5f-_-.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(P),null,{default:t(()=>[h(u(F),{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(P),null,{default:t(()=>[h(u(F),{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(P),null,{default:t(()=>[h(u(F),{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(P),null,{default:t(()=>[h(u(F),{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(B),{key:2},{default:t(()=>[h(u(H),null,{default:t(()=>[h(u(V),null,{default:t(()=>[h(u(z),null,{default:t(()=>[...i[0]||=[p(`Provider`,-1)]]),_:1}),h(u(z),{class:`text-right`},{default:t(()=>[p(f(u(a)(`monitor.providerTable.requests`)),1)]),_:1}),h(u(z),{class:`text-right`},{default:t(()=>[p(f(u(a)(`monitor.providerTable.successRate`)),1)]),_:1}),h(u(z),{class:`text-right`},{default:t(()=>[p(f(u(a)(`monitor.providerTable.avgLatency`)),1)]),_:1}),h(u(z),{class:`text-right`},{default:t(()=>[p(f(u(a)(`monitor.providerTable.retryRate`)),1)]),_:1}),h(u(z),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(V),{key:n.id},{default:t(()=>[h(u(R),{class:`font-medium`},{default:t(()=>[p(f(n.name),1)]),_:2},1024),h(u(R),{class:`text-right`},{default:t(()=>[p(f(n.stats.totalRequests),1)]),_:2},1024),h(u(R),{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(R),{class:`text-right`},{default:t(()=>[p(f(n.stats.avgLatencyMs.toFixed(0))+`ms`,1)]),_:2},1024),h(u(R),{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(R),null,{default:t(()=>[c(`div`,Ue,[(w(!0),m(d,null,v(n.stats.topErrors.slice(0,3),e=>(w(),C(u(N),{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}=T.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:T,runtime:te,connected:R,streamCount:z,streamingRequests:B,queuedRequests:V,selectedRequestId:H,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(N),{variant:u(R)?`default`:`destructive`},{default:t(()=>[p(f(u(R)?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(z)},null,8,[`stats`,`active-count`,`stream-count`]),c(`div`,tt,[h(u(P),null,{default:t(()=>[h(u(I),{class:`pb-2`},{default:t(()=>[c(`div`,nt,[h(u(L),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.activeRequests`)),1)]),_:1}),h(u(N),{variant:`secondary`},{default:t(()=>[p(f(u(B).length),1)]),_:1})])]),_:1}),h(u(F),null,{default:t(()=>[h(u(E),{class:`h-64`},{default:t(()=>[u(B).length===0?(w(),m(`div`,rt,f(u(o)(`monitor.noActiveRequests`)),1)):s(``,!0),(w(!0),m(d,null,v(u(B),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(H)===n.id}]),onClick:e=>u(G)(n.id)},[h(u(N),{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(N),{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(N),{key:0,variant:`outline`,class:`shrink-0 text-xs`},{default:t(()=>[...i[1]||=[p(`SSE`,-1)]]),_:1})):s(``,!0),h(u(A),{"delay-duration":300},{default:t(()=>[h(u(k),null,{default:t(()=>[h(u(M),{"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(D),{key:0,class:`size-3 text-success`})):(w(),C(u(O),{key:1,class:`size-3`}))]),_:1},8,[`onClick`])]),_:2},1024),h(u(j),null,{default:t(()=>[p(f(u(o)(`monitor.copyId`)),1)]),_:1})]),_:2},1024)]),_:2},1024)],10,it))),128))]),_:1})]),_:1})]),_:1}),h(u(P),null,{default:t(()=>[h(u(I),{class:`pb-2`},{default:t(()=>[c(`div`,st,[h(u(L),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.queuedRequests`)),1)]),_:1}),h(u(N),{variant:`secondary`},{default:t(()=>[p(f(u(V).length),1)]),_:1})])]),_:1}),h(u(F),null,{default:t(()=>[h(u(E),{class:`h-64`},{default:t(()=>[u(V).length===0?(w(),m(`div`,ct,f(u(o)(`monitor.noQueuedRequests`)),1)):s(``,!0),(w(!0),m(d,null,v(u(V),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(H)===n.id}]),onClick:e=>u(G)(n.id)},[h(u(N),{variant:`outline`,class:`shrink-0`},{default:t(()=>[p(f(u(o)(`monitor.queued`)),1)]),_:1}),c(`span`,ut,f(n.model),1),h(u(N),{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(A),{"delay-duration":300},{default:t(()=>[h(u(k),null,{default:t(()=>[h(u(M),{"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(D),{key:0,class:`size-3 text-success`})):(w(),C(u(O),{key:1,class:`size-3`}))]),_:1},8,[`onClick`])]),_:2},1024),h(u(j),null,{default:t(()=>[p(f(u(o)(`monitor.copyId`)),1)]),_:1})]),_:2},1024)]),_:2},1024)],10,lt))),128))]),_:1})]),_:1})]),_:1}),h(u(P),null,{default:t(()=>[h(u(I),{class:`pb-2`},{default:t(()=>[c(`div`,ft,[h(u(L),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.completed`)),1)]),_:1}),h(u(N),{variant:`secondary`},{default:t(()=>[p(f(u(g).length),1)]),_:1})])]),_:1}),h(u(F),null,{default:t(()=>[h(u(E),{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(H)===n.id}]),onClick:e=>u(G)(n.id)},[h(u(N),{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(N),{variant:`outline`,class:`shrink-0 text-xs`},{default:t(()=>[p(f(n.providerName),1)]),_:2},1024),n.isStream?(w(),C(u(N),{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(A),{"delay-duration":300},{default:t(()=>[h(u(k),null,{default:t(()=>[h(u(M),{"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(D),{key:0,class:`size-3 text-success`})):(w(),C(u(O),{key:1,class:`size-3`}))]),_:1},8,[`onClick`])]),_:2},1024),h(u(j),null,{default:t(()=>[p(f(u(o)(`monitor.copyId`)),1)]),_:1})]),_:2},1024)]),_:2},1024)],10,mt))),128))]),_:1})]),_:1})]),_:1})]),h(u(P),{class:`mb-4`},{default:t(()=>[h(u(I),null,{default:t(()=>[h(u(L),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.providerStats`)),1)]),_:1})]),_:1}),h(u(F),null,{default:t(()=>[h(Ge,{stats:u(b)},null,8,[`stats`])]),_:1})]),_:1}),c(`div`,_t,[h(u(P),null,{default:t(()=>[h(u(I),null,{default:t(()=>[h(u(L),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.concurrency`)),1)]),_:1})]),_:1}),h(u(F),null,{default:t(()=>[h(he,{providers:u(T)},null,8,[`providers`])]),_:1})]),_:1}),h(u(P),null,{default:t(()=>[h(u(I),null,{default:t(()=>[h(u(L),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.statusCodeDistribution`)),1)]),_:1})]),_:1}),h(u(F),null,{default:t(()=>[h(Be,{"by-status-code":u(b)?.byStatusCode??{}},null,8,[`by-status-code`])]),_:1})]),_:1}),h(u(P),null,{default:t(()=>[h(u(I),null,{default:t(()=>[h(u(L),{class:`text-sm font-medium text-foreground`},{default:t(()=>[p(f(u(o)(`monitor.runtime`)),1)]),_:1})]),_:1}),h(u(F),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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ct as e,H as t,It as n,Q as r,Rt as i,Vt as a,Z as o,at as s,ct as c,et as l,ht as u,i as d,jt as f,m as p,o as m,pt as h,q as g,r as _,ut as v,x as y}from"./button-D27ClX8J.js";import{i as b,r as x,t as S}from"./PopperContent-6BXua_FZ.js";import{a as C,c as w,d as T,i as E,l as D,o as O,p as k,t as A,u as j,y as M}from"./Teleport-Bmeh33lB.js";import{t as N}from"./useFocusGuards-DQBZKWnu.js";var[P,F]=M(`PopoverRoot`),I=r({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(t,{emit:r}){let a=t,o=r,{modal:s}=n(a),c=p(a,`open`,o,{defaultValue:a.defaultOpen,passive:a.open===void 0});return F({contentId:``,triggerId:``,modal:s,open:c,onOpenChange:e=>{c.value=e},onOpenToggle:()=>{c.value=!c.value},triggerElement:f(),hasCustomAnchor:f(!1)}),(t,n)=>(v(),g(i(b),null,{default:e(()=>[h(t.$slots,`default`,{open:i(c),close:()=>c.value=!1})]),_:3}))}}),L=r({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:n}){let r=t,a=n,c=T(y(r,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:l}=m(),u=P();return N(),(t,n)=>(v(),g(i(E),{"as-child":``,loop:``,trapped:t.trapFocus,onMountAutoFocus:n[5]||=e=>a(`openAutoFocus`,e),onUnmountAutoFocus:n[6]||=e=>a(`closeAutoFocus`,e)},{default:e(()=>[o(i(C),{"as-child":``,"disable-outside-pointer-events":t.disableOutsidePointerEvents,onPointerDownOutside:n[0]||=e=>a(`pointerDownOutside`,e),onInteractOutside:n[1]||=e=>a(`interactOutside`,e),onEscapeKeyDown:n[2]||=e=>a(`escapeKeyDown`,e),onFocusOutside:n[3]||=e=>a(`focusOutside`,e),onDismiss:n[4]||=e=>i(u).onOpenChange(!1)},{default:e(()=>[o(i(S),s(i(c),{id:i(u).contentId,ref:i(l),"data-state":i(u).open.value?`open`:`closed`,"aria-labelledby":i(u).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:e(()=>[h(t.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),R=r({__name:`PopoverContentModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(n,{emit:r}){let a=n,o=r,c=P(),l=f(!1);k(!0);let u=j(a,o),{forwardRef:d,currentElement:p}=m();return D(p),(n,r)=>(v(),g(L,s(i(u),{ref:i(d),"trap-focus":i(c).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:r[0]||=t(e=>{o(`closeAutoFocus`,e),l.value||i(c).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:r[1]||=e=>{o(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;l.value=t.button===2||n},onFocusOutside:r[2]||=t(()=>{},[`prevent`])}),{default:e(()=>[h(n.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),z=r({__name:`PopoverContentNonModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:n}){let r=t,a=n,o=P(),c=f(!1),l=f(!1),u=j(r,a);return(t,n)=>(v(),g(L,s(i(u),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:n[0]||=e=>{a(`closeAutoFocus`,e),e.defaultPrevented||(c.value||i(o).triggerElement.value?.focus(),e.preventDefault()),c.value=!1,l.value=!1},onInteractOutside:n[1]||=async e=>{a(`interactOutside`,e),e.defaultPrevented||(c.value=!0,e.detail.originalEvent.type===`pointerdown`&&(l.value=!0));let t=e.target;i(o).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&l.value&&e.preventDefault()}}),{default:e(()=>[h(t.$slots,`default`)]),_:3},16))}}),B=r({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:n}){let r=t,a=n,o=P(),c=j(r,a),{forwardRef:l}=m();return o.contentId||=w(void 0,`reka-popover-content`),(t,n)=>(v(),g(i(O),{present:t.forceMount||i(o).open.value},{default:e(()=>[i(o).modal.value?(v(),g(R,s({key:0},i(c),{ref:i(l)}),{default:e(()=>[h(t.$slots,`default`)]),_:3},16)):(v(),g(z,s({key:1},i(c),{ref:i(l)}),{default:e(()=>[h(t.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),V=r({__name:`PopoverPortal`,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)=>(v(),g(i(A),a(l(n)),{default:e(()=>[h(t.$slots,`default`)]),_:3},16))}}),H=r({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t,r=P(),{forwardRef:a,currentElement:s}=m();return r.triggerId||=w(void 0,`reka-popover-trigger`),c(()=>{r.triggerElement.value=s.value}),(t,s)=>(v(),g(u(i(r).hasCustomAnchor.value?i(d):i(x)),{"as-child":``},{default:e(()=>[o(i(d),{id:i(r).triggerId,ref:i(a),type:t.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":i(r).open.value,"aria-controls":i(r).contentId,"data-state":i(r).open.value?`open`:`closed`,as:t.as,"as-child":n.asChild,onClick:i(r).onOpenToggle},{default:e(()=>[h(t.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),U=r({__name:`Popover`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(t,{emit:n}){let r=j(t,n);return(t,n)=>(v(),g(i(I),s({"data-slot":`popover`},i(r)),{default:e(e=>[h(t.$slots,`default`,a(l(e)))]),_:3},16))}}),W=r({inheritAttrs:!1,__name:`PopoverContent`,props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:n}){let r=t,a=n,c=j(y(r,`class`),a);return(t,n)=>(v(),g(i(V),null,{default:e(()=>[o(i(B),s({"data-slot":`popover-content`},{...t.$attrs,...i(c)},{class:i(_)(`bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-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 ring-foreground/10 flex flex-col gap-2.5 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 z-50 w-72 origin-(--reka-popover-content-transform-origin) outline-hidden`,r.class)}),{default:e(()=>[h(t.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),G=r({__name:`PopoverTrigger`,props:{asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,r)=>(v(),g(i(H),s({"data-slot":`popover-trigger`},n),{default:e(()=>[h(t.$slots,`default`)]),_:3},16))}});export{W as n,U as r,G as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ct as e,G as t,Ht as n,M as r,Mt as i,Nt as a,Q as o,Rt as s,St as c,Tt as l,Y as u,Z as d,at as f,bt as p,ct as m,h,i as g,it as _,jt as v,kt as y,o as b,pt as x,q as S,u as C,ut as w,xt as T}from"./button-D27ClX8J.js";import{y as E}from"./Teleport-Bmeh33lB.js";var D=r(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]);function O(e){let n=v(),r=t(()=>n.value?.width??0),i=t(()=>n.value?.height??0);return m(()=>{let t=C(e);if(t){n.value={width:t.offsetWidth,height:t.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=t.offsetWidth,a=t.offsetHeight;n.value={width:i,height:a}});return e.observe(t,{box:`border-box`}),()=>e.unobserve(t)}else n.value=void 0}),{width:r,height:i}}var[k,A]=E(`PopperRoot`),j=o({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=v();return A({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>x(e.$slots,`default`)}}),M=o({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let n=t,{forwardRef:r,currentElement:i}=b(),a=k();return c(()=>{a.onAnchorChange(n.reference??i.value)}),(t,n)=>(w(),S(s(g),{ref:s(r),as:t.as,"as-child":t.asChild},{default:e(()=>[x(t.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function ee(e){return e!==null}function te(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=ne(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}}function ne(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var re=[`top`,`right`,`bottom`,`left`],N=Math.min,P=Math.max,F=Math.round,I=Math.floor,L=e=>({x:e,y:e}),ie={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ae(e,t,n){return P(e,N(t,n))}function R(e,t){return typeof e==`function`?e(t):e}function z(e){return e.split(`-`)[0]}function B(e){return e.split(`-`)[1]}function oe(e){return e===`x`?`y`:`x`}function se(e){return e===`y`?`height`:`width`}function V(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function ce(e){return oe(V(e))}function le(e,t,n){n===void 0&&(n=!1);let r=B(e),i=ce(e),a=se(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ve(o)),[o,ve(o)]}function ue(e){let t=ve(e);return[de(e),t,de(t)]}function de(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var fe=[`left`,`right`],pe=[`right`,`left`],me=[`top`,`bottom`],he=[`bottom`,`top`];function ge(e,t,n){switch(e){case`top`:case`bottom`:return n?t?pe:fe:t?fe:pe;case`left`:case`right`:return t?me:he;default:return[]}}function _e(e,t,n,r){let i=B(e),a=ge(z(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(de)))),a}function ve(e){let t=z(e);return ie[t]+e.slice(t.length)}function ye(e){return{top:0,right:0,bottom:0,left:0,...e}}function be(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ye(e)}function xe(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Se(e,t,n){let{reference:r,floating:i}=e,a=V(t),o=ce(t),s=se(o),c=z(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(B(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Ce(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=R(t,e),p=be(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=xe(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=xe(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var we=50,Te=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Ce},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Se(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<we&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Se(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Ee=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=R(e,t)||{};if(l==null)return{};let d=be(u),f={x:n,y:r},p=ce(i),m=se(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=N(d[_],T),D=N(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=ae(O,A,k),M=!c.arrow&&B(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,ee=M?A<O?A-O:A-k:0;return{[p]:f[p]+ee,data:{[p]:j,centerOffset:A-j-ee,...M&&{alignmentOffset:ee}},reset:M}}}),De=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=R(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=z(r),_=V(o),v=z(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ve(o)]:ue(o)),x=p!==`none`;!d&&x&&b.push(..._e(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=le(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==V(t))||T.every(e=>V(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=V(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Oe(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ke(e){return re.some(t=>e[t]>=0)}var Ae=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=R(e,t);switch(i){case`referenceHidden`:{let e=Oe(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:ke(e)}}}case`escaped`:{let e=Oe(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:ke(e)}}}default:return{}}}}},je=new Set([`left`,`top`]);async function Me(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=z(n),s=B(n),c=V(n)===`y`,l=je.has(o)?-1:1,u=a&&c?-1:1,d=R(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Ne=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Me(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Pe=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=R(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=V(z(i)),p=oe(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=ae(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=ae(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Fe=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=R(e,t),u={x:n,y:r},d=V(i),f=oe(d),p=u[f],m=u[d],h=R(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=je.has(z(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Ie=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=R(e,t),u=await o.detectOverflow(t,l),d=z(i),f=B(i),p=V(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=N(h-u[g],v),x=N(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=P(u.left,0),t=P(u.right,0),n=P(u.top,0),r=P(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:P(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:P(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Le(){return typeof window<`u`}function H(e){return Re(e)?(e.nodeName||``).toLowerCase():`#document`}function U(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function W(e){return((Re(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Re(e){return Le()?e instanceof Node||e instanceof U(e).Node:!1}function G(e){return Le()?e instanceof Element||e instanceof U(e).Element:!1}function K(e){return Le()?e instanceof HTMLElement||e instanceof U(e).HTMLElement:!1}function ze(e){return!Le()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof U(e).ShadowRoot}function Be(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Y(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Ve(e){return/^(table|td|th)$/.test(H(e))}function He(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ue=/transform|translate|scale|rotate|perspective|filter/,We=/paint|layout|strict|content/,q=e=>!!e&&e!==`none`,Ge;function Ke(e){let t=G(e)?Y(e):e;return q(t.transform)||q(t.translate)||q(t.scale)||q(t.rotate)||q(t.perspective)||!Je()&&(q(t.backdropFilter)||q(t.filter))||Ue.test(t.willChange||``)||We.test(t.contain||``)}function qe(e){let t=X(e);for(;K(t)&&!J(t);){if(Ke(t))return t;if(He(t))return null;t=X(t)}return null}function Je(){return Ge??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ge}function J(e){return/^(html|body|#document)$/.test(H(e))}function Y(e){return U(e).getComputedStyle(e)}function Ye(e){return G(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function X(e){if(H(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ze(e)&&e.host||W(e);return ze(t)?t.host:t}function Xe(e){let t=X(e);return J(t)?e.ownerDocument?e.ownerDocument.body:e.body:K(t)&&Be(t)?t:Xe(t)}function Ze(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Xe(e),i=r===e.ownerDocument?.body,a=U(r);if(i){let e=Qe(a);return t.concat(a,a.visualViewport||[],Be(r)?r:[],e&&n?Ze(e):[])}else return t.concat(r,Ze(r,[],n))}function Qe(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function $e(e){let t=Y(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=K(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=F(n)!==a||F(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function et(e){return G(e)?e:e.contextElement}function Z(e){let t=et(e);if(!K(t))return L(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=$e(t),o=(a?F(n.width):n.width)/r,s=(a?F(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var tt=L(0);function nt(e){let t=U(e);return!Je()||!t.visualViewport?tt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function rt(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==U(e)?!1:t}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=et(e),o=L(1);t&&(r?G(r)&&(o=Z(r)):o=Z(e));let s=rt(a,n,r)?nt(a):L(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=U(a),t=r&&G(r)?U(r):r,n=e,i=Qe(n);for(;i&&r&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=Y(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=U(i),i=Qe(n)}}return xe({width:u,height:d,x:c,y:l})}function it(e,t){let n=Ye(e).scrollLeft;return t?t.left+n:Q(W(e)).left+n}function at(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-it(e,n),y:n.top+t.scrollTop}}function ot(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=W(r),s=t?He(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=L(1),u=L(0),d=K(r);if((d||!d&&!a)&&((H(r)!==`body`||Be(o))&&(c=Ye(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?at(o,c):L(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function st(e){return Array.from(e.getClientRects())}function ct(e){let t=W(e),n=Ye(e),r=e.ownerDocument.body,i=P(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=P(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+it(e),s=-n.scrollTop;return Y(r).direction===`rtl`&&(o+=P(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var lt=25;function ut(e,t){let n=U(e),r=W(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Je();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=it(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=lt&&(a-=o)}else l<=lt&&(a+=l);return{width:a,height:o,x:s,y:c}}function dt(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=K(e)?Z(e):L(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ft(e,t,n){let r;if(t===`viewport`)r=ut(e,n);else if(t===`document`)r=ct(W(e));else if(G(t))r=dt(t,n);else{let n=nt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return xe(r)}function pt(e,t){let n=X(e);return n===t||!G(n)||J(n)?!1:Y(n).position===`fixed`||pt(n,t)}function mt(e,t){let n=t.get(e);if(n)return n;let r=Ze(e,[],!1).filter(e=>G(e)&&H(e)!==`body`),i=null,a=Y(e).position===`fixed`,o=a?X(e):e;for(;G(o)&&!J(o);){let t=Y(o),n=Ke(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Be(o)&&!n&&pt(e,o))?r=r.filter(e=>e!==o):i=t,o=X(o)}return t.set(e,r),r}function ht(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?He(t)?[]:mt(t,this._c):[].concat(n),r],o=ft(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=ft(t,a[e],i);s=P(n.top,s),c=N(n.right,c),l=N(n.bottom,l),u=P(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function gt(e){let{width:t,height:n}=$e(e);return{width:t,height:n}}function _t(e,t,n){let r=K(t),i=W(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=L(0);function l(){c.x=it(i)}if(r||!r&&!a)if((H(t)!==`body`||Be(i))&&(s=Ye(t)),r){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?at(i,s):L(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function vt(e){return Y(e).position===`static`}function yt(e,t){if(!K(e)||Y(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return W(e)===n&&(n=n.ownerDocument.body),n}function bt(e,t){let n=U(e);if(He(e))return n;if(!K(e)){let t=X(e);for(;t&&!J(t);){if(G(t)&&!vt(t))return t;t=X(t)}return n}let r=yt(e,t);for(;r&&Ve(r)&&vt(r);)r=yt(r,t);return r&&J(r)&&vt(r)&&!Ke(r)?n:r||qe(e)||n}var xt=async function(e){let t=this.getOffsetParent||bt,n=this.getDimensions,r=await n(e.floating);return{reference:_t(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function St(e){return Y(e).direction===`rtl`}var Ct={convertOffsetParentRelativeRectToViewportRelativeRect:ot,getDocumentElement:W,getClippingRect:ht,getOffsetParent:bt,getElementRects:xt,getClientRects:st,getDimensions:gt,getScale:Z,isElement:G,isRTL:St};function wt(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Tt(e,t){let n=null,r,i=W(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=I(d),h=I(i.clientWidth-(u+f)),g=I(i.clientHeight-(d+p)),_=I(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:P(0,N(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!wt(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Et(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=et(e),u=i||a?[...l?Ze(l):[],...t?Ze(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Tt(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!wt(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Dt=Ne,Ot=Pe,kt=De,At=Ie,jt=Ae,Mt=Ee,Nt=Fe,Pt=(e,t,n)=>{let r=new Map,i={platform:Ct,...n},a={...i.platform,_c:r};return Te(e,t,{...i,platform:a})};function Ft(e){return typeof e==`object`&&!!e&&`$el`in e}function It(e){if(Ft(e)){let t=e.$el;return Re(t)&&H(t)===`#comment`?null:t}return e}function $(e){return typeof e==`function`?e():s(e)}function Lt(e){return{name:`arrow`,options:e,fn(t){let n=It($(e.element));return n==null?{}:Mt({element:n,padding:e.padding}).fn(t)}}}function Rt(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function zt(e,t){let n=Rt(e);return Math.round(t*n)/n}function Bt(e,n,r){r===void 0&&(r={});let o=r.whileElementsMounted,s=t(()=>$(r.open)??!0),c=t(()=>$(r.middleware)),u=t(()=>$(r.placement)??`bottom`),d=t(()=>$(r.strategy)??`absolute`),f=t(()=>$(r.transform)??!0),m=t(()=>It(e.value)),h=t(()=>It(n.value)),g=v(0),_=v(0),b=v(d.value),x=v(u.value),S=a({}),C=v(!1),w=t(()=>{let e={position:b.value,left:`0`,top:`0`};if(!h.value)return e;let t=zt(h.value,g.value),n=zt(h.value,_.value);return f.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...Rt(h.value)>=1.5&&{willChange:`transform`}}:{position:b.value,left:t+`px`,top:n+`px`}}),T;function E(){if(m.value==null||h.value==null)return;let e=s.value;Pt(m.value,h.value,{middleware:c.value,placement:u.value,strategy:d.value}).then(t=>{g.value=t.x,_.value=t.y,b.value=t.strategy,x.value=t.placement,S.value=t.middlewareData,C.value=e!==!1})}function D(){typeof T==`function`&&(T(),T=void 0)}function O(){if(D(),o===void 0){E();return}if(m.value!=null&&h.value!=null){T=o(m.value,h.value,E);return}}function k(){s.value||(C.value=!1)}return p([c,u,d,s],E,{flush:`sync`}),p([m,h],O,{flush:`sync`}),p(s,k,{flush:`sync`}),l()&&y(D),{x:i(g),y:i(_),strategy:i(b),placement:i(x),middlewareData:i(S),isPositioned:i(C),floatingStyles:w,update:E}}var Vt={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[Ht,Ut]=E(`PopperContent`),Wt=o({inheritAttrs:!1,__name:`PopperContent`,props:_({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...Vt}),emits:[`placed`],setup(r,{emit:i}){let a=r,o=i,l=k(),{forwardRef:p,currentElement:m}=b(),_=v(),y=v(),{width:S,height:C}=O(y),E=t(()=>a.side+(a.align===`center`?``:`-${a.align}`)),D=t(()=>typeof a.collisionPadding==`number`?a.collisionPadding:{top:0,right:0,bottom:0,left:0,...a.collisionPadding}),A=t(()=>Array.isArray(a.collisionBoundary)?a.collisionBoundary:[a.collisionBoundary]),j=t(()=>({padding:D.value,boundary:A.value.filter(ee),altBoundary:A.value.length>0})),M=t(()=>({mainAxis:a.sideFlip,crossAxis:a.alignFlip})),re=h(()=>[Dt({mainAxis:a.sideOffset+C.value,alignmentAxis:a.alignOffset}),a.prioritizePosition&&a.avoidCollisions&&kt({...j.value,...M.value}),a.avoidCollisions&&Ot({mainAxis:!0,crossAxis:!!a.prioritizePosition,limiter:a.sticky===`partial`?Nt():void 0,...j.value}),!a.prioritizePosition&&a.avoidCollisions&&kt({...j.value,...M.value}),At({...j.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),y.value&&Lt({element:y.value,padding:a.arrowPadding}),te({arrowWidth:S.value,arrowHeight:C.value}),a.hideWhenDetached&&jt({strategy:`referenceHidden`,...j.value})]),{floatingStyles:N,placement:P,isPositioned:F,middlewareData:I,update:L}=Bt(t(()=>a.reference??l.anchor.value),_,{strategy:a.positionStrategy,placement:E,whileElementsMounted:(...e)=>Et(...e,{layoutShift:!a.disableUpdateOnLayoutShift,animationFrame:a.updatePositionStrategy===`always`}),middleware:re}),ie=t(()=>ne(P.value)[0]),ae=t(()=>ne(P.value)[1]);c(()=>{F.value&&o(`placed`)});let R=t(()=>{let e=I.value.arrow?.centerOffset!==0;return a.hideShiftedArrow&&e}),z=v(``);return T(()=>{m.value&&(z.value=window.getComputedStyle(m.value).zIndex)}),Ut({placedSide:ie,onArrowChange:e=>y.value=e,arrowX:t(()=>I.value.arrow?.x??0),arrowY:t(()=>I.value.arrow?.y??0),shouldHideArrow:R}),(t,r)=>(w(),u(`div`,{ref_key:`floatingRef`,ref:_,"data-reka-popper-content-wrapper":``,style:n({...s(N),transform:s(F)?s(N).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:z.value,"--reka-popper-transform-origin":[s(I).transformOrigin?.x,s(I).transformOrigin?.y].join(` `),...s(I).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[d(s(g),f({ref:s(p)},t.$attrs,{"as-child":a.asChild,as:t.as,"data-side":ie.value,"data-align":ae.value,style:{animation:s(F)?void 0:`none`}}),{default:e(()=>[x(t.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}});export{D as a,j as i,Ht as n,M as r,Wt as t};
|
|
@@ -0,0 +1 @@
|
|
|
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-D27ClX8J.js";import{t as ae}from"./check-yTAivq1h.js";import{a as oe,i as se,n as ce,r as b,t as le}from"./SelectValue-CT2z_-6j.js";import{t as ue}from"./copy-DWG9cQPR.js";import{a as de,n as fe,o as pe,r as me,t as he}from"./dialog-BnYR6_dh.js";import{a as ge,c as _e,i as ve,n as ye,o as be,r as xe,s as Se,t as Ce}from"./alert-dialog-DzKCAoYJ.js";import{t as we}from"./Label-BwzPFyL-.js";import{t as Te}from"./badge-C-9zPTgw.js";import{n as x}from"./lib-D0Ek2pPZ.js";import{t as Ee}from"./Input-tcnrMp1v.js";import{a as De,i as S,n as C,o as Oe,r as ke,t as Ae}from"./TableHeader-CcMyOsUB.js";import{t as je}from"./constants-B-VELBjk.js";import{n as Me,o as Ne,r as Pe,t as Fe}from"./ModelCard-CZbQcYNn.js";var Ie=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`}]]),w;(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})(w||={});var Le;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(Le||={});var T=w.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),E=e=>{switch(typeof e){case`undefined`:return T.undefined;case`string`:return T.string;case`number`:return Number.isNaN(e)?T.nan:T.number;case`boolean`:return T.boolean;case`function`:return T.function;case`bigint`:return T.bigint;case`symbol`:return T.symbol;case`object`:return Array.isArray(e)?T.array:e===null?T.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?T.promise:typeof Map<`u`&&e instanceof Map?T.map:typeof Set<`u`&&e instanceof Set?T.set:typeof Date<`u`&&e instanceof Date?T.date:T.object;default:return T.unknown}},D=w.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`]),O=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,w.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()}};O.create=e=>new O(e);var k=(e,t)=>{let n;switch(e.code){case D.invalid_type:n=e.received===T.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case D.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,w.jsonStringifyReplacer)}`;break;case D.unrecognized_keys:n=`Unrecognized key(s) in object: ${w.joinValues(e.keys,`, `)}`;break;case D.invalid_union:n=`Invalid input`;break;case D.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${w.joinValues(e.options)}`;break;case D.invalid_enum_value:n=`Invalid enum value. Expected ${w.joinValues(e.options)}, received '${e.received}'`;break;case D.invalid_arguments:n=`Invalid function arguments`;break;case D.invalid_return_type:n=`Invalid function return type`;break;case D.invalid_date:n=`Invalid date`;break;case D.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}"`:w.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case D.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 D.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 D.custom:n=`Invalid input`;break;case D.invalid_intersection_types:n=`Intersection results could not be merged`;break;case D.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case D.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,w.assertNever(e)}return{message:n}},Re=k;function A(){return Re}var j=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 M(e,t){let n=A(),r=j({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===k?void 0:k].filter(e=>!!e)});e.common.issues.push(r)}var N=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 P;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 P;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}}},P=Object.freeze({status:`aborted`}),F=e=>({status:`dirty`,value:e}),I=e=>({status:`valid`,value:e}),L=e=>e.status===`aborted`,R=e=>e.status===`dirty`,z=e=>e.status===`valid`,B=e=>typeof Promise<`u`&&e instanceof Promise,V;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(V||={});var H=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}},ze=(e,t)=>{if(z(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(){return this._error||=new O(e.common.issues),this._error}}};function U(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 W=class{get description(){return this._def.description}_getType(e){return E(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:E(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new N,ctx:{common:e.parent.common,data:e.data,parsedType:E(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(B(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:E(e)};return ze(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:E(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return z(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=>z(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:E(e)},r=this._parse({data:e,path:n.path,parent:n});return ze(n,await(B(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:D.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 X({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 Z.create(this,this._def)}nullable(){return Q.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return bt.create(this)}promise(){return It.create(this,this._def)}or(e){return St.create([this,e],this._def)}and(e){return Tt.create(this,e,this._def)}transform(e){return new X({...U(this._def),schema:this,typeName:$.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new Lt({...U(this._def),innerType:this,defaultValue:t,typeName:$.ZodDefault})}brand(){return new Bt({typeName:$.ZodBranded,type:this,...U(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new Rt({...U(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}},Be=/^c[^\s-]{8,}$/i,Ve=/^[0-9a-z]+$/,He=/^[0-9A-HJKMNP-TV-Z]{26}$/i,G=/^[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,K=/^[a-z0-9_-]{21}$/i,Ue=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,We=/^[-+]?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)?)??$/,Ge=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ke=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,qe,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])$/,Ye=/^(?:(?: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])$/,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]))$/,Ze=/^(([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])$/,Qe=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,$e=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,et=`((\\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])))`,tt=RegExp(`^${et}$`);function nt(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 rt(e){return RegExp(`^${nt(e)}$`)}function it(e){let t=`${et}T${nt(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function at(e,t){return!!((t===`v4`||!t)&&Je.test(e)||(t===`v6`||!t)&&Xe.test(e))}function ot(e,t){if(!Ue.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 st(e,t){return!!((t===`v4`||!t)&&Ye.test(e)||(t===`v6`||!t)&&Ze.test(e))}var ct=class e extends W{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==T.string){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.string,received:t.parsedType}),P}let t=new N,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),M(n,{code:D.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),M(n,{code:D.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?M(n,{code:D.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&M(n,{code:D.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)Ge.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`email`,code:D.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)qe||=new RegExp(Ke,`u`),qe.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`emoji`,code:D.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)G.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`uuid`,code:D.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)K.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`nanoid`,code:D.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Be.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`cuid`,code:D.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Ve.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`cuid2`,code:D.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)He.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`ulid`,code:D.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),M(n,{validation:`url`,code:D.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),M(n,{validation:`regex`,code:D.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),M(n,{code:D.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),M(n,{code:D.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),M(n,{code:D.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?it(r).test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{code:D.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?tt.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{code:D.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?rt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{code:D.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?We.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`duration`,code:D.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?at(e.data,r.version)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`ip`,code:D.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?ot(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`jwt`,code:D.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?st(e.data,r.version)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`cidr`,code:D.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Qe.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`base64`,code:D.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?$e.test(e.data)||(n=this._getOrReturnCtx(e,n),M(n,{validation:`base64url`,code:D.invalid_string,message:r.message}),t.dirty()):w.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:D.invalid_string,...V.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...V.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...V.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...V.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...V.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...V.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...V.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...V.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...V.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...V.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...V.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...V.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,...V.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,...V.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...V.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...V.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...V.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...V.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...V.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...V.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...V.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...V.errToObj(t)})}nonempty(e){return this.min(1,V.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}};ct.create=e=>new ct({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...U(e)});function lt(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 ut=class e extends W{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)!==T.number){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.number,received:t.parsedType}),P}let t,n=new N;for(let r of this._def.checks)r.kind===`int`?w.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),M(t,{code:D.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),M(t,{code:D.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),M(t,{code:D.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?lt(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),M(t,{code:D.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),M(t,{code:D.not_finite,message:r.message}),n.dirty()):w.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,V.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,V.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,V.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,V.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:V.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:V.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:V.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:V.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:V.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:V.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`&&w.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)}};ut.create=e=>new ut({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...U(e)});var dt=class e extends W{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)!==T.bigint)return this._getInvalidInput(e);let t,n=new N;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),M(t,{code:D.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),M(t,{code:D.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),M(t,{code:D.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):w.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.bigint,received:t.parsedType}),P}gte(e,t){return this.setLimit(`min`,e,!0,V.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,V.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,V.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,V.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:V.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:V.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:V.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}};dt.create=e=>new dt({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...U(e)});var ft=class extends W{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==T.boolean){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.boolean,received:t.parsedType}),P}return I(e.data)}};ft.create=e=>new ft({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...U(e)});var pt=class e extends W{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==T.date){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.date,received:t.parsedType}),P}if(Number.isNaN(e.data.getTime()))return M(this._getOrReturnCtx(e),{code:D.invalid_date}),P;let t=new N,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),M(n,{code:D.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),M(n,{code:D.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):w.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:V.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:V.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)}};pt.create=e=>new pt({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...U(e)});var mt=class extends W{_parse(e){if(this._getType(e)!==T.symbol){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.symbol,received:t.parsedType}),P}return I(e.data)}};mt.create=e=>new mt({typeName:$.ZodSymbol,...U(e)});var ht=class extends W{_parse(e){if(this._getType(e)!==T.undefined){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.undefined,received:t.parsedType}),P}return I(e.data)}};ht.create=e=>new ht({typeName:$.ZodUndefined,...U(e)});var gt=class extends W{_parse(e){if(this._getType(e)!==T.null){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.null,received:t.parsedType}),P}return I(e.data)}};gt.create=e=>new gt({typeName:$.ZodNull,...U(e)});var _t=class extends W{constructor(){super(...arguments),this._any=!0}_parse(e){return I(e.data)}};_t.create=e=>new _t({typeName:$.ZodAny,...U(e)});var vt=class extends W{constructor(){super(...arguments),this._unknown=!0}_parse(e){return I(e.data)}};vt.create=e=>new vt({typeName:$.ZodUnknown,...U(e)});var q=class extends W{_parse(e){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.never,received:t.parsedType}),P}};q.create=e=>new q({typeName:$.ZodNever,...U(e)});var yt=class extends W{_parse(e){if(this._getType(e)!==T.undefined){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.void,received:t.parsedType}),P}return I(e.data)}};yt.create=e=>new yt({typeName:$.ZodVoid,...U(e)});var bt=class e extends W{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==T.array)return M(t,{code:D.invalid_type,expected:T.array,received:t.parsedType}),P;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(M(t,{code:e?D.too_big:D.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&&(M(t,{code:D.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&&(M(t,{code:D.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 H(t,e,t.path,n)))).then(e=>N.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new H(t,e,t.path,n)));return N.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:V.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:V.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:V.toString(n)}})}nonempty(e){return this.min(1,e)}};bt.create=(e,t)=>new bt({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...U(t)});function xt(e){if(e instanceof J){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Z.create(xt(r))}return new J({...e._def,shape:()=>t})}else if(e instanceof bt)return new bt({...e._def,type:xt(e.element)});else if(e instanceof Z)return Z.create(xt(e.unwrap()));else if(e instanceof Q)return Q.create(xt(e.unwrap()));else if(e instanceof Et)return Et.create(e.items.map(e=>xt(e)));else return e}var J=class e extends W{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();return this._cached={shape:e,keys:w.objectKeys(e)},this._cached}_parse(e){if(this._getType(e)!==T.object){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.object,received:t.parsedType}),P}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof q&&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 H(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof q){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&&(M(n,{code:D.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 H(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=>N.mergeObjectSync(t,e)):N.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return V.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:V.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 w.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 w.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return xt(this)}partial(t){let n={};for(let e of w.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 w.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof Z;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return Nt(w.objectKeys(this.shape))}};J.create=(e,t)=>new J({shape:()=>e,unknownKeys:`strip`,catchall:q.create(),typeName:$.ZodObject,...U(t)}),J.strictCreate=(e,t)=>new J({shape:()=>e,unknownKeys:`strict`,catchall:q.create(),typeName:$.ZodObject,...U(t)}),J.lazycreate=(e,t)=>new J({shape:e,unknownKeys:`strip`,catchall:q.create(),typeName:$.ZodObject,...U(t)});var St=class extends W{_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 O(e.ctx.common.issues));return M(t,{code:D.invalid_union,unionErrors:n}),P}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 O(e));return M(t,{code:D.invalid_union,unionErrors:i}),P}}get options(){return this._def.options}};St.create=(e,t)=>new St({options:e,typeName:$.ZodUnion,...U(t)});var Y=e=>e instanceof jt?Y(e.schema):e instanceof X?Y(e.innerType()):e instanceof Mt?[e.value]:e instanceof Pt?e.options:e instanceof Ft?w.objectValues(e.enum):e instanceof Lt?Y(e._def.innerType):e instanceof ht?[void 0]:e instanceof gt?[null]:e instanceof Z?[void 0,...Y(e.unwrap())]:e instanceof Q?[null,...Y(e.unwrap())]:e instanceof Bt||e instanceof Ht?Y(e.unwrap()):e instanceof Rt?Y(e._def.innerType):[],Ct=class e extends W{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==T.object)return M(t,{code:D.invalid_type,expected:T.object,received:t.parsedType}),P;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}):(M(t,{code:D.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),P)}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=Y(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,...U(r)})}};function wt(e,t){let n=E(e),r=E(t);if(e===t)return{valid:!0,data:e};if(n===T.object&&r===T.object){let n=w.objectKeys(t),r=w.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=wt(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===T.array&&r===T.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=wt(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===T.date&&r===T.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var Tt=class extends W{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(L(e)||L(r))return P;let i=wt(e.value,r.value);return i.valid?((R(e)||R(r))&&t.dirty(),{status:t.value,value:i.data}):(M(n,{code:D.invalid_intersection_types}),P)};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}))}};Tt.create=(e,t,n)=>new Tt({left:e,right:t,typeName:$.ZodIntersection,...U(n)});var Et=class e extends W{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==T.array)return M(n,{code:D.invalid_type,expected:T.array,received:n.parsedType}),P;if(n.data.length<this._def.items.length)return M(n,{code:D.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),P;!this._def.rest&&n.data.length>this._def.items.length&&(M(n,{code:D.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 H(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>N.mergeArray(t,e)):N.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Et.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new Et({items:e,typeName:$.ZodTuple,rest:null,...U(t)})};var Dt=class e extends W{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!==T.object)return M(n,{code:D.invalid_type,expected:T.object,received:n.parsedType}),P;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new H(n,e,n.path,e)),value:a._parse(new H(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?N.mergeObjectAsync(t,r):N.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof W?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...U(r)}):new e({keyType:ct.create(),valueType:t,typeName:$.ZodRecord,...U(n)})}},Ot=class extends W{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!==T.map)return M(n,{code:D.invalid_type,expected:T.map,received:n.parsedType}),P;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new H(n,e,n.path,[a,`key`])),value:i._parse(new H(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 P;(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 P;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};Ot.create=(e,t,n)=>new Ot({valueType:t,keyType:e,typeName:$.ZodMap,...U(n)});var kt=class e extends W{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==T.set)return M(n,{code:D.invalid_type,expected:T.set,received:n.parsedType}),P;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(M(n,{code:D.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&&(M(n,{code:D.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 P;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 H(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:V.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:V.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};kt.create=(e,t)=>new kt({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...U(t)});var At=class e extends W{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==T.function)return M(t,{code:D.invalid_type,expected:T.function,received:t.parsedType}),P;function n(e,n){return j({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,A(),k].filter(e=>!!e),issueData:{code:D.invalid_arguments,argumentsError:n}})}function r(e,n){return j({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,A(),k].filter(e=>!!e),issueData:{code:D.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof It){let e=this;return I(async function(...t){let o=new O([]),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 I(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new O([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),ee=e._def.returns.safeParse(s,i);if(!ee.success)throw new O([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:Et.create(t).rest(vt.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||Et.create([]).rest(vt.create()),returns:n||vt.create(),typeName:$.ZodFunction,...U(r)})}},jt=class extends W{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})}};jt.create=(e,t)=>new jt({getter:e,typeName:$.ZodLazy,...U(t)});var Mt=class extends W{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return M(t,{received:t.data,code:D.invalid_literal,expected:this._def.value}),P}return{status:`valid`,value:e.data}}get value(){return this._def.value}};Mt.create=(e,t)=>new Mt({value:e,typeName:$.ZodLiteral,...U(t)});function Nt(e,t){return new Pt({values:e,typeName:$.ZodEnum,...U(t)})}var Pt=class e extends W{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return M(t,{expected:w.joinValues(n),received:t.parsedType,code:D.invalid_type}),P}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return M(t,{received:t.data,code:D.invalid_enum_value,options:n}),P}return I(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})}};Pt.create=Nt;var Ft=class extends W{_parse(e){let t=w.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==T.string&&n.parsedType!==T.number){let e=w.objectValues(t);return M(n,{expected:w.joinValues(e),received:n.parsedType,code:D.invalid_type}),P}if(this._cache||=new Set(w.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=w.objectValues(t);return M(n,{received:n.data,code:D.invalid_enum_value,options:e}),P}return I(e.data)}get enum(){return this._def.values}};Ft.create=(e,t)=>new Ft({values:e,typeName:$.ZodNativeEnum,...U(t)});var It=class extends W{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==T.promise&&t.common.async===!1?(M(t,{code:D.invalid_type,expected:T.promise,received:t.parsedType}),P):I((t.parsedType===T.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};It.create=(e,t)=>new It({type:e,typeName:$.ZodPromise,...U(t)});var X=class extends W{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=>{M(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 P;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?P:r.status===`dirty`||t.value===`dirty`?F(r.value):r});{if(t.value===`aborted`)return P;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?P:r.status===`dirty`||t.value===`dirty`?F(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`?P:(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`?P:(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(!z(e))return P;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=>z(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):P);w.assertNever(r)}};X.create=(e,t,n)=>new X({schema:e,typeName:$.ZodEffects,effect:t,...U(n)}),X.createWithPreprocess=(e,t,n)=>new X({schema:t,effect:{type:`preprocess`,transform:e},typeName:$.ZodEffects,...U(n)});var Z=class extends W{_parse(e){return this._getType(e)===T.undefined?I(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Z.create=(e,t)=>new Z({innerType:e,typeName:$.ZodOptional,...U(t)});var Q=class extends W{_parse(e){return this._getType(e)===T.null?I(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Q.create=(e,t)=>new Q({innerType:e,typeName:$.ZodNullable,...U(t)});var Lt=class extends W{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===T.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,...U(t)});var Rt=class extends W{_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 B(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new O(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new O(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,...U(t)});var zt=class extends W{_parse(e){if(this._getType(e)!==T.nan){let t=this._getOrReturnCtx(e);return M(t,{code:D.invalid_type,expected:T.nan,received:t.parsedType}),P}return{status:`valid`,value:e.data}}};zt.create=e=>new zt({typeName:$.ZodNaN,...U(e)});var Bt=class extends W{_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 W{_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`?P:e.status===`dirty`?(t.dirty(),F(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`?P: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 W{_parse(e){let t=this._def.innerType._parse(e),n=e=>(z(e)&&(e.value=Object.freeze(e.value)),e);return B(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Ht.create=(e,t)=>new Ht({innerType:e,typeName:$.ZodReadonly,...U(t)}),J.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=ct.create;ut.create,zt.create,dt.create,ft.create,pt.create,mt.create,ht.create,gt.create,_t.create,vt.create,q.create,yt.create,bt.create;var Wt=J.create;J.strictCreate,St.create,Ct.create,Tt.create,Et.create,Dt.create,Ot.create,kt.create,At.create,jt.create,Mt.create,Pt.create,Ft.create,It.create,X.create,Z.create,Q.create,X.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){x.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 x.error(t(`providers.transform.requestDefaultsJsonError`)),Promise.resolve()}let o=null;if(n.value.injectHeadersInput.trim())try{o=JSON.parse(n.value.injectHeadersInput)}catch{return x.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,x.success(t(`providers.transform.saved`))}).catch(n=>x.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,x.success(t(`providers.transform.deleted`))}).catch(n=>x.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 gap-2`},hn={class:`grid grid-cols-2 gap-4`},gn={class:`border rounded-md p-3 space-y-3`},_n={class:`text-xs font-medium text-muted-foreground`},vn={class:`border rounded-md p-3 space-y-3`},yn={class:`text-xs font-medium text-muted-foreground`},bn={key:0,class:`mt-2 space-y-1`},xn={class:`text-sm font-medium`},Sn=3,Cn=10,wn=12e4,Tn=10,En=100,Dn=1e3,On=1e3,kn=1e6,An=7,jn=7,Mn=2e3,Nn=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`}],w={openai:`OpenAI Chat Completions`,"openai-responses":`OpenAI Responses`,anthropic:`Anthropic Messages`},Le={name:``,api_type:`anthropic`,base_url:``,api_key:``,models:[],is_active:!0,max_concurrency:Cn,queue_timeout_ms:wn,max_queue_size:Tn,adaptive_enabled:!0},T=h(``),E=h(je),D=i({get:()=>String(E.value),set:e=>{E.value=Number(e)}}),O=h([]),k=h([]),Re=h(!1),A=h(null),j=h(null),M=h(null),N=h(null),P=h(!1),F=h([]),I=h({...Le}),L=h({}),R=h(`auto`),{t:z}=r(),{transformForm:B,loadTransformRules:V,saveTransformRules:H}=Gt(),ze=h(null),U=h(!1);function W(){let e=Wt({name:Ut().min(1,z(`providers.validation.nameRequired`)).regex(/^[a-zA-Z0-9_-]+$/,z(`providers.validation.namePattern`)),base_url:Ut().min(1,z(`providers.validation.baseUrlRequired`)).url(z(`providers.validation.baseUrlInvalid`))}),t={},n=e.safeParse({name:I.value.name.trim(),base_url:I.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(!A.value&&!I.value.api_key.trim()&&(t.api_key=z(`providers.validation.apiKeyRequired`)),R.value!==`none`){let e=I.value.max_concurrency;(!e||e<1||e>En)&&(t.max_concurrency=z(`providers.validation.concurrencyRange`,{min:1,max:En})),I.value.queue_timeout_ms<0&&(t.queue_timeout_ms=z(`providers.validation.negativeNotAllowed`));let n=I.value.max_queue_size;(!n||n<1||n>Dn)&&(t.max_queue_size=z(`providers.validation.queueSizeRange`,{min:1,max:Dn}))}return L.value=t,Object.keys(t).length===0}function Be(e){return e?e.slice(0,An)+`*`.repeat(jn):``}function Ve(e){return e>=kn?`${e/kn}M`:e>=On?`${e/On}K`:String(e)}async function He(e,t){await navigator.clipboard.writeText(e),ze.value=t,setTimeout(()=>{ze.value=null},Mn)}let G=h(``),K=h(``),Ue=i(()=>G.value?k.value.find(e=>e.group===G.value)?.presets??[]:[]);function We(){if(G.value===`__custom__`){K.value=``,I.value.name=``,I.value.api_type=`openai`,I.value.base_url=``,I.value.models=[];return}let e=k.value.find(e=>e.group===G.value)?.presets;e?.length?(K.value=e[0].plan,Ge()):K.value=``}function Ge(){let e=Ue.value.find(e=>e.plan===K.value);e&&(I.value.name=e.presetName,I.value.api_type=e.apiType,I.value.base_url=e.baseUrl,I.value.models=e.models.map(t=>({name:t,context_window:Ne(t),patches:Ze(t,e.apiType)})))}async function Ke(){try{O.value=await g.getProviders()}catch(t){console.error(`Failed to load providers:`,t),x.error(e(t,z(`providers.toast.loadFailed`)))}}function qe(){let e=T.value.trim();if(!e)return;let t=e.split(/[,,]/).map(e=>e.trim()).filter(Boolean);for(let e of t)I.value.models.some(t=>t.name===e)||I.value.models.push({name:e,context_window:E.value||2e5,patches:[]});T.value=``,E.value=je}function Je(e){I.value.models.splice(e,1)}function Ye(e){return e.includes(`api.openai.com`)}function Xe(e,t){I.value.models[e].context_window=t.contextWindow,I.value.models[e].patches=t.patches}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`?((!I.value.max_concurrency||I.value.max_concurrency<1)&&(I.value.max_concurrency=Cn),I.value.adaptive_enabled=!0):e===`manual`&&((!I.value.max_concurrency||I.value.max_concurrency<1)&&(I.value.max_concurrency=Sn),I.value.adaptive_enabled=!1)}function $e(){A.value=null,I.value={...Le,models:[]},R.value=`auto`,T.value=``,E.value=je,G.value=``,K.value=``,L.value={},Re.value=!0}function et(e){A.value=e.id;let t=e.max_concurrency??0;t===0?R.value=`none`:e.adaptive_enabled?R.value=`auto`:R.value=`manual`,I.value={name:e.name,api_type:e.api_type,base_url:e.base_url,api_key:``,models:(e.models||[]).map(e=>({name:e.name,context_window:e.context_window??2e5,patches:e.patches??[]})),is_active:!!e.is_active,max_concurrency:R.value===`none`?Cn:t,queue_timeout_ms:e.queue_timeout_ms??wn,max_queue_size:e.max_queue_size??Tn,adaptive_enabled:R.value===`auto`},T.value=``,E.value=je,G.value=``,K.value=``,L.value={},Re.value=!0,V(e.id)}function tt(){let e={name:I.value.name,api_type:I.value.api_type,base_url:I.value.base_url,models:I.value.models.map(e=>({name:e.name,context_window:e.context_window??void 0,patches:e.patches??void 0})),is_active:+!!I.value.is_active,max_concurrency:R.value===`none`?0:I.value.max_concurrency,queue_timeout_ms:R.value===`none`?0:I.value.queue_timeout_ms,max_queue_size:R.value===`none`?Tn:I.value.max_queue_size,adaptive_enabled:+(R.value===`auto`)};return I.value.api_key&&(e.api_key=I.value.api_key),e}async function nt(){if(W())try{let e=tt();e.name=I.value.name.trim();let t=A.value;A.value?await g.updateProvider(A.value,e):(e.api_key=I.value.api_key,t=(await g.createProvider(e)).id),await H(t),Re.value=!1,await Ke()}catch(t){console.error(`Failed to save provider:`,t),x.error(e(t,z(`providers.toast.saveFailed`)))}}function rt(e){j.value=e}async function it(e){if(M.value=e,N.value=e.id,P.value=!!e.is_active,F.value=[],e.is_active)try{F.value=(await g.getProviderDependencies(e.id)).references}catch{}}async function at(){let t=N.value;if(!t)return;let n=P.value;M.value=null,N.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(z(`providers.toast.cascadeClean`,{count:n})),t>0&&r.push(z(`providers.toast.cascadeDisable`,{count:t})),x.warning(z(`providers.toast.cascadeAuto`,{actions:r.join(`, `)}))}await Ke()}catch(t){console.error(`Failed to toggle provider:`,t),x.error(e(t,z(`providers.toast.toggleFailed`)))}}async function ot(){let t=j.value;if(t){j.value=null;try{await g.deleteProvider(t.id),await Ke()}catch(t){x.error(e(t,z(`providers.toast.deleteFailed`)))}}}async function st(){U.value=!0;try{let e=await g.reloadTransformRules();x.success(z(`providers.toast.reloadSuccess`,{pluginCount:e.loadedPlugins.length,rulesCount:e.rulesCount}))}catch(t){x.error(e(t,z(`providers.toast.reloadFailed`)))}finally{U.value=!1}}return re(async()=>{let[e]=await Promise.allSettled([g.recommended.getProviders(),Ke()]);e.status===`fulfilled`?k.value=e.value:(k.value=[],console.error(`Failed to load provider presets:`,e.reason))}),(e,r)=>(y(),f(`div`,Kt,[s(`div`,qt,[s(`h2`,Jt,u(c(z)(`providers.title`)),1),s(`div`,Yt,[p(c(_),{variant:`outline`,size:`sm`,onClick:st,disabled:U.value},{default:n(()=>[p(c(Ie),{class:t([`w-4 h-4 mr-1`,{"animate-spin":U.value}])},null,8,[`class`]),d(` `+u(c(z)(`providers.reloadPlugin`)),1)]),_:1},8,[`disabled`]),p(c(_),{onClick:$e,class:`flex items-center gap-1`},{default:n(()=>[r[22]||=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(z)(`providers.addProvider`)),1)]),_:1})])]),s(`div`,Xt,[p(c(Oe),null,{default:n(()=>[p(c(Ae),null,{default:n(()=>[p(c(ke),{class:`bg-muted`},{default:n(()=>[p(c(C),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.tableHeaders.name`)),1)]),_:1}),p(c(C),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.tableHeaders.type`)),1)]),_:1}),p(c(C),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.tableHeaders.baseUrl`)),1)]),_:1}),p(c(C),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.tableHeaders.apiKey`)),1)]),_:1}),p(c(C),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.tableHeaders.models`)),1)]),_:1}),p(c(C),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.tableHeaders.concurrency`)),1)]),_:1}),p(c(C),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.tableHeaders.status`)),1)]),_:1}),p(c(C),{class:`text-right text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),p(c(De),null,{default:n(()=>[(y(!0),f(l,null,m(O.value,e=>(y(),v(c(ke),{key:e.id,class:t({"opacity-60":!e.is_active})},{default:n(()=>[p(c(S),{class:`font-medium`},{default:n(()=>[d(u(e.name),1)]),_:2},1024),p(c(S),null,{default:n(()=>[p(c(Te),{variant:`secondary`},{default:n(()=>[d(u(w[e.api_type]??e.api_type),1)]),_:2},1024)]),_:2},1024),p(c(S),{class:`text-muted-foreground`},{default:n(()=>[d(u(e.base_url),1)]),_:2},1024),p(c(S),null,{default:n(()=>[s(`div`,Zt,[s(`span`,Qt,u(Be(e.api_key)),1),p(c(_),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:t=>He(e.api_key,e.id)},{default:n(()=>[(y(),v(ie(ze.value===e.id?c(ae):c(ue)),{class:t([`w-3.5 h-3.5`,{"text-success":ze.value===e.id}])},null,8,[`class`]))]),_:2},1032,[`onClick`])])]),_:2},1024),p(c(S),null,{default:n(()=>[s(`div`,$t,[(y(!0),f(l,null,m(e.models||[],e=>(y(),v(c(Te),{key:e.name,variant:`secondary`,class:`text-xs`},{default:n(()=>[d(u(e.name)+` `,1),e.context_window?(y(),f(`span`,en,`(`+u(Ve(e.context_window))+`)`,1)):o(``,!0)]),_:2},1024))),128)),e.models?.length?o(``,!0):(y(),f(`span`,tn,`-`))])]),_:2},1024),p(c(S),null,{default:n(()=>[e.adaptive_enabled?(y(),v(c(Te),{key:0,variant:`outline`},{default:n(()=>[d(u(c(z)(`common.adaptive`)),1)]),_:1})):e.max_concurrency>0?(y(),v(c(Te),{key:1,variant:`secondary`},{default:n(()=>[d(u(e.max_concurrency),1)]),_:2},1024)):(y(),f(`span`,nn,`-`))]),_:2},1024),p(c(S),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(Te),{variant:e.is_active?`default`:`secondary`},{default:n(()=>[d(u(e.is_active?c(z)(`common.enabled`):c(z)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1032,[`onClick`])]),_:2},1024),p(c(S),{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(z)(`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(z)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),O.value.length===0?(y(),v(c(ke),{key:0},{default:n(()=>[p(c(S),{colspan:`8`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[d(u(c(z)(`providers.noProviders`)),1)]),_:1})]),_:1})):o(``,!0)]),_:1})]),_:1})]),p(c(pe),{open:Re.value,"onUpdate:open":r[19]||=e=>Re.value=e},{default:n(()=>[p(c(de),{class:`sm:max-w-4xl max-h-[85vh] overflow-y-auto`},{default:n(()=>[p(c(fe),null,{default:n(()=>[p(c(he),null,{default:n(()=>[d(u(A.value?c(z)(`providers.editProvider`):c(z)(`providers.addProvider`)),1)]),_:1})]),_:1}),s(`form`,{onSubmit:a(nt,[`prevent`]),class:`space-y-4`},[A.value?o(``,!0):(y(),f(`div`,rn,[s(`div`,an,[r[23]||=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(z)(`providers.template.title`)),1)]),s(`div`,on,[p(c(oe),{modelValue:G.value,"onUpdate:modelValue":[r[0]||=e=>G.value=e,We]},{default:n(()=>[p(c(ce),{class:`flex-1 border-primary/40`},{default:n(()=>[p(c(le),{placeholder:c(z)(`providers.template.selectProvider`)},null,8,[`placeholder`])]),_:1}),p(c(se),null,{default:n(()=>[p(c(b),{value:`__custom__`},{default:n(()=>[d(u(c(z)(`providers.template.custom`)),1)]),_:1}),(y(!0),f(l,null,m(k.value,e=>(y(),v(c(b),{key:e.group,value:e.group},{default:n(()=>[d(u(e.group),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`]),G.value===`__custom__`?o(``,!0):(y(),v(c(oe),{key:0,modelValue:K.value,"onUpdate:modelValue":[r[1]||=e=>K.value=e,Ge],disabled:!G.value||G.value===`__custom__`},{default:n(()=>[p(c(ce),{class:`flex-1 border-primary/40`},{default:n(()=>[p(c(le),{placeholder:c(z)(`providers.template.selectPlan`)},null,8,[`placeholder`])]),_:1}),p(c(se),null,{default:n(()=>[(y(!0),f(l,null,m(Ue.value,e=>(y(),v(c(b),{key:e.plan,value:e.plan},{default:n(()=>[d(u(e.plan),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`,`disabled`]))])])),!G.value&&!A.value?(y(),f(`div`,sn,[r[24]||=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(z)(`providers.template.selectFirst`)),1)])):o(``,!0),G.value||A.value?(y(),f(l,{key:2},[s(`div`,ln,[s(`div`,null,[p(c(we),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.fields.name`)),1)]),_:1}),p(c(Ee),{modelValue:I.value.name,"onUpdate:modelValue":r[2]||=e=>I.value.name=e,type:`text`,required:``,class:`mt-1`,onInput:r[3]||=e=>delete L.value.name},null,8,[`modelValue`]),L.value.name?(y(),f(`p`,un,u(L.value.name),1)):o(``,!0)]),s(`div`,null,[p(c(we),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.fields.apiType`)),1)]),_:1}),p(c(oe),{modelValue:I.value.api_type,"onUpdate:modelValue":r[4]||=e=>I.value.api_type=e,class:`mt-1`},{default:n(()=>[p(c(ce),null,{default:n(()=>[p(c(le),{placeholder:c(z)(`common.pleaseSelect`)},null,8,[`placeholder`])]),_:1}),p(c(se),null,{default:n(()=>[p(c(b),{value:`openai`},{default:n(()=>[...r[25]||=[d(`OpenAI Chat Completions`,-1)]]),_:1}),p(c(b),{value:`openai-responses`},{default:n(()=>[...r[26]||=[d(`OpenAI Responses`,-1)]]),_:1}),p(c(b),{value:`anthropic`},{default:n(()=>[...r[27]||=[d(`Anthropic Messages`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),s(`div`,null,[p(c(we),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.fields.baseUrl`)),1)]),_:1}),p(c(Ee),{modelValue:I.value.base_url,"onUpdate:modelValue":r[5]||=e=>I.value.base_url=e,type:`url`,required:``,class:`mt-1 font-mono text-xs`,onInput:r[6]||=e=>delete L.value.base_url},null,8,[`modelValue`]),L.value.base_url?(y(),f(`p`,dn,u(L.value.base_url),1)):o(``,!0)]),s(`div`,null,[p(c(we),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(z)(`providers.fields.apiKey`)),1)]),_:1}),p(c(Ee),{modelValue:I.value.api_key,"onUpdate:modelValue":r[7]||=e=>I.value.api_key=e,type:`text`,required:!A.value,placeholder:A.value?c(z)(`providers.fields.apiKeyPlaceholder`):``,class:`mt-1`,onInput:r[8]||=e=>delete L.value.api_key},null,8,[`modelValue`,`required`,`placeholder`]),L.value.api_key?(y(),f(`p`,fn,u(L.value.api_key),1)):o(``,!0)])]),s(`div`,null,[p(c(we),{class:`text-xs text-muted-foreground mb-2`},{default:n(()=>[d(u(c(z)(`providers.fields.availableModels`)),1)]),_:1}),s(`div`,pn,[(y(!0),f(l,null,m(I.value.models,(e,t)=>(y(),f(`div`,{key:t},[p(Fe,{model:{name:e.name,contextWindow:e.context_window??2e5,enabled:!0,patches:e.patches??[]},"api-type":I.value.api_type,"is-deep-seek":e.name.toLowerCase().includes(`deepseek`),"is-non-openai-endpoint":!Ye(I.value.base_url),"onUpdate:model":e=>Xe(t,e),onRemove:e=>Je(t)},null,8,[`model`,`api-type`,`is-deep-seek`,`is-non-openai-endpoint`,`onUpdate:model`,`onRemove`])]))),128))]),s(`div`,mn,[p(c(Ee),{modelValue:T.value,"onUpdate:modelValue":r[9]||=e=>T.value=e,placeholder:c(z)(`providers.fields.modelInputPlaceholder`),onKeydown:ne(a(qe,[`prevent`]),[`enter`]),class:`flex-1`},null,8,[`modelValue`,`placeholder`,`onKeydown`]),p(c(oe),{modelValue:D.value,"onUpdate:modelValue":r[10]||=e=>D.value=e},{default:n(()=>[p(c(ce),{class:`w-28`},{default:n(()=>[p(c(le),{placeholder:c(z)(`providers.fields.context`)},null,8,[`placeholder`])]),_:1}),p(c(se),null,{default:n(()=>[(y(),f(l,null,m(te,e=>p(c(b),{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:qe,disabled:!T.value.trim()},{default:n(()=>[d(u(c(z)(`providers.fields.addModel`)),1)]),_:1},8,[`disabled`])])]),s(`div`,hn,[s(`div`,gn,[s(`div`,_n,u(c(z)(`providers.concurrency.title`)),1),p(Pe,{mode:R.value,"max-concurrency":I.value.max_concurrency,"queue-timeout-ms":I.value.queue_timeout_ms,"max-queue-size":I.value.max_queue_size,compact:``,"onUpdate:mode":r[11]||=e=>Qe(e),"onUpdate:maxConcurrency":r[12]||=e=>I.value.max_concurrency=e,"onUpdate:queueTimeoutMs":r[13]||=e=>I.value.queue_timeout_ms=e,"onUpdate:maxQueueSize":r[14]||=e=>I.value.max_queue_size=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`])]),s(`div`,vn,[s(`div`,yn,u(c(z)(`providers.transform.title`)),1),p(Me,{"inject-headers":c(B).injectHeadersInput,"drop-fields":c(B).dropFieldsInput,"request-defaults":c(B).requestDefaultsInput,"onUpdate:injectHeaders":r[15]||=e=>c(B).injectHeadersInput=e,"onUpdate:dropFields":r[16]||=e=>c(B).dropFieldsInput=e,"onUpdate:requestDefaults":r[17]||=e=>c(B).requestDefaultsInput=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])])])],64)):o(``,!0),p(c(me),null,{default:n(()=>[p(c(_),{type:`button`,variant:`outline`,onClick:r[18]||=e=>Re.value=!1},{default:n(()=>[d(u(c(z)(`common.cancel`)),1)]),_:1}),p(c(_),{type:`submit`},{default:n(()=>[d(u(c(z)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),p(c(_e),{open:!!j.value,"onUpdate:open":r[20]||=e=>{e||(j.value=null)}},{default:n(()=>[p(c(ge),null,{default:n(()=>[p(c(ye),null,{default:n(()=>[p(c(Ce),null,{default:n(()=>[d(u(c(z)(`providers.confirmDelete.title`)),1)]),_:1}),p(c(ve),null,{default:n(()=>[d(u(c(z)(`providers.confirmDelete.message`,{name:j.value?.name})),1)]),_:1})]),_:1}),p(c(xe),null,{default:n(()=>[p(c(be),null,{default:n(()=>[d(u(c(z)(`common.cancel`)),1)]),_:1}),p(c(_),{variant:`destructive`,onClick:ot},{default:n(()=>[d(u(c(z)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),p(c(_e),{open:!!M.value,"onUpdate:open":r[21]||=e=>{e||(M.value=null)}},{default:n(()=>[p(c(ge),null,{default:n(()=>[p(c(ye),null,{default:n(()=>[p(c(Ce),null,{default:n(()=>[d(u(M.value?.is_active?c(z)(`providers.confirmToggle.titleDisable`):c(z)(`providers.confirmToggle.titleEnable`)),1)]),_:1}),p(c(ve),null,{default:n(()=>[d(u(M.value?.is_active?c(z)(`providers.confirmToggle.messageDisable`,{name:M.value?.name}):c(z)(`providers.confirmToggle.messageEnable`,{name:M.value?.name}))+` `,1),F.value.length?(y(),f(`div`,bn,[s(`div`,xn,u(c(z)(`providers.confirmToggle.dependencyWarning`)),1),(y(!0),f(l,null,m(F.value,e=>(y(),f(`div`,{key:e,class:`text-destructive text-sm`},u(e),1))),128))])):o(``,!0)]),_:1})]),_:1}),p(c(xe),null,{default:n(()=>[p(c(be),null,{default:n(()=>[d(u(c(z)(`common.cancel`)),1)]),_:1}),p(c(Se),{onClick:at},{default:n(()=>[d(u(c(z)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{Nn as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{A as e,Bt as t,Ct as n,F as r,G as i,Ht 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,at as h,ct as g,ft as _,i as v,jt as y,k as b,n as x,o as S,pt as C,q as w,r as T,st as E,ut as D,x as O}from"./button-D27ClX8J.js";import{a as k,t as A}from"./format-BhxQSgt6.js";import{a as ee}from"./PopperContent-6BXua_FZ.js";import{t as j}from"./loader-circle-EpKC006I.js";import{o as M}from"./Teleport-Bmeh33lB.js";import{a as N,c as te,i as ne,l as re,n as ie,o as ae,r as oe,s as se,t as ce,u as le}from"./TooltipTrigger-LegC_Uvp.js";import{n as ue,t as de}from"./CollapsibleContent-GecW2Jk_.js";import{t as fe}from"./CollapsibleTrigger-Cib3-OsK.js";import{a as pe,c as me,i as he,n as ge,o as P,r as F,s as I,t as L}from"./alert-dialog-DzKCAoYJ.js";import{t as R}from"./Label-BwzPFyL-.js";import{t as z}from"./Switch-D1NdA4ax.js";import{t as B}from"./badge-C-9zPTgw.js";import{n as V}from"./lib-D0Ek2pPZ.js";import{n as H,t as U}from"./CardContent-BhMXx-JD.js";import{n as W,t as G}from"./CardTitle-DQDjTee3.js";import{a as _e,i as K,n as q,o as ve,r as J,t as ye}from"./TableHeader-CcMyOsUB.js";var be=c({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:r}=S(),s=le(),c=i(()=>re(s.baseId,t.value)),u=i(()=>te(s.baseId,t.value)),d=i(()=>t.value===s.modelValue.value),f=y(d.value);return g(()=>{s.registerContent(t.value),requestAnimationFrame(()=>{f.value=!1})}),E(()=>{s.unregisterContent(t.value)}),(e,t)=>(D(),w(l(M),{present:e.forceMount||d.value,"force-mount":``},{default:n(({present:t})=>[m(l(v),{id:u.value,ref:l(r),"as-child":e.asChild,as:e.as,role:`tabpanel`,"data-state":d.value?`active`:`inactive`,"data-orientation":l(s).orientation.value,"aria-labelledby":c.value,hidden:!t,tabindex:`0`,style:a({animationDuration:f.value?`0s`:void 0})},{default:n(()=>[!l(s).unmountOnHide.value||t?C(e.$slots,`default`,{key:0}):o(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),Y=c({__name:`CardDescription`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>(D(),p(`div`,{"data-slot":`card-description`,class:t(l(T)(`text-muted-foreground text-sm`,n.class))},[C(e.$slots,`default`)],2))}}),X=c({__name:`TabsContent`,props:{value:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,r=O(t,`class`);return(e,i)=>(D(),w(l(be),h({"data-slot":`tabs-content`,class:l(T)(`text-sm flex-1 outline-none`,t.class)},l(r)),{default:n(()=>[C(e.$slots,`default`)]),_:3},16,[`class`]))}}),xe={key:0,class:`py-8 text-center text-muted-foreground`},Se={key:1,class:`py-8 text-center text-muted-foreground`},Ce={class:`cursor-default font-mono text-xs`},we={class:`font-mono text-xs`},Te={key:0,class:`text-muted-foreground`},Z={key:1,class:`text-muted-foreground`},Ee={class:`flex items-center gap-2`},De={class:`space-y-2`},Oe={class:`text-sm font-medium text-foreground`},ke={class:`text-muted-foreground whitespace-nowrap`},Ae={class:`text-muted-foreground`},je={class:`font-medium`},Me=8,Ne=6e4,Q=60,$=24,Pe=c({__name:`SessionTable`,props:{sessions:{},loading:{type:Boolean},historyMap:{}},emits:[`clear`,`viewHistory`],setup(e,{emit:t}){let i=t,{t:a}=r(),c=y(!1),h=y(null);function g(e){h.value=e,c.value=!0}function v(){h.value&&=(i(`clear`,h.value),null)}function b(e){return e.slice(0,Me)+`...`}function S(e){let t=Date.now()-k(e).getTime(),n=Math.floor(t/Ne);if(n<1)return a(`proxyEnhancement.sessions.justNow`);if(n<Q)return a(`proxyEnhancement.sessions.minutesAgo`,{minutes:n});let r=Math.floor(n/Q);return r<$?a(`proxyEnhancement.sessions.hoursAgo`,{hours:r}):a(`proxyEnhancement.sessions.daysAgo`,{days:Math.floor(r/$)})}return(t,r)=>(D(),p(u,null,[e.loading?(D(),p(`div`,xe,d(l(a)(`common.loading`)),1)):e.sessions.length===0?(D(),p(`div`,Se,d(l(a)(`proxyEnhancement.sessions.noSessions`)),1)):(D(),w(l(ve),{key:2},{default:n(()=>[m(l(ye),null,{default:n(()=>[m(l(J),null,{default:n(()=>[m(l(q),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.keyName`)),1)]),_:1}),m(l(q),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.sessionId`)),1)]),_:1}),m(l(q),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.currentModel`)),1)]),_:1}),m(l(q),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.originalModel`)),1)]),_:1}),m(l(q),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.lastActive`)),1)]),_:1}),m(l(q),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.actions`)),1)]),_:1})]),_:1})]),_:1}),m(l(_e),null,{default:n(()=>[(D(!0),p(u,null,_(e.sessions,i=>(D(),p(u,{key:i.id},[m(l(J),null,{default:n(()=>[m(l(K),{class:`font-medium`},{default:n(()=>[f(d(i.router_key_name),1)]),_:2},1024),m(l(K),null,{default:n(()=>[m(l(ie),null,{default:n(()=>[m(l(ne),null,{default:n(()=>[m(l(ce),{"as-child":``},{default:n(()=>[s(`span`,Ce,d(b(i.session_id)),1)]),_:2},1024),m(l(oe),null,{default:n(()=>[s(`p`,we,d(i.session_id),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024),m(l(K),null,{default:n(()=>[m(l(B),{variant:`secondary`},{default:n(()=>[f(d(i.current_model),1)]),_:2},1024)]),_:2},1024),m(l(K),null,{default:n(()=>[i.original_model?(D(),p(`span`,Te,d(i.original_model),1)):(D(),p(`span`,Z,`-`))]),_:2},1024),m(l(K),{class:`text-muted-foreground text-sm`},{default:n(()=>[f(d(S(i.last_active_at)),1)]),_:2},1024),m(l(K),null,{default:n(()=>[s(`div`,Ee,[m(l(x),{variant:`ghost`,size:`sm`,onClick:e=>t.$emit(`viewHistory`,i)},{default:n(()=>[f(d(e.historyMap[i.session_id]?l(a)(`proxyEnhancement.sessions.collapse`):l(a)(`proxyEnhancement.sessions.history`)),1)]),_:2},1032,[`onClick`]),m(l(x),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>g(i)},{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.clear`)),1)]),_:1},8,[`onClick`])])]),_:2},1024)]),_:2},1024),e.historyMap[i.session_id]?(D(),w(l(J),{key:0},{default:n(()=>[m(l(K),{colspan:`6`,class:`bg-muted/50 px-6 py-3`},{default:n(()=>[s(`div`,De,[s(`p`,Oe,d(l(a)(`proxyEnhancement.sessions.switchHistory`)),1),(D(!0),p(u,null,_(e.historyMap[i.session_id],e=>(D(),p(`div`,{key:e.id,class:`flex items-center gap-3 text-sm`},[s(`span`,ke,d(l(A)(e.created_at)),1),m(l(B),{variant:`outline`,class:`text-xs`},{default:n(()=>[f(d(e.trigger_type),1)]),_:2},1024),s(`span`,null,[s(`span`,Ae,d(e.old_model||l(a)(`proxyEnhancement.sessions.default`)),1),r[1]||=s(`span`,{class:`mx-1`},`→`,-1),s(`span`,je,d(e.new_model),1)])]))),128))])]),_:2},1024)]),_:2},1024)):o(``,!0)],64))),128))]),_:1})]),_:1})),m(l(me),{open:c.value,"onUpdate:open":r[0]||=e=>c.value=e},{default:n(()=>[m(l(pe),null,{default:n(()=>[m(l(ge),null,{default:n(()=>[m(l(L),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.confirmClearTitle`)),1)]),_:1}),m(l(he),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.confirmClearDescription`)),1)]),_:1})]),_:1}),m(l(F),null,{default:n(()=>[m(l(P),null,{default:n(()=>[f(d(l(a)(`common.cancel`)),1)]),_:1}),m(l(I),{onClick:v},{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.confirmClear`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])],64))}}),Fe={class:`p-6`},Ie={class:`text-lg font-semibold text-foreground mb-4`},Le={class:`flex items-center gap-3`},Re={class:`flex justify-end mt-4`},ze={key:0,class:`flex items-center gap-1`},Be={key:1},Ve={class:`font-medium text-foreground mb-1 leading-relaxed`},He={class:`text-muted-foreground leading-relaxed`},Ue={class:`block mt-1 px-3 py-2 bg-muted rounded text-xs font-mono whitespace-pre-wrap leading-relaxed`},We={class:`text-muted-foreground leading-relaxed mt-2`},Ge={class:`font-medium text-foreground mb-1 leading-relaxed`},Ke={class:`text-muted-foreground leading-relaxed`},qe={class:`text-muted-foreground leading-relaxed mt-2`},Je={class:`text-muted-foreground leading-relaxed mt-2`},Ye={class:`flex items-center justify-between`},Xe={class:`flex items-center gap-3`},Ze={class:`flex items-center gap-3`},Qe={class:`flex items-center gap-3`},$e={class:`flex justify-end mt-4`},et={key:0,class:`flex items-center gap-1`},tt={key:1},nt=c({__name:`ProxyEnhancement`,setup(i){let{t:a}=r(),o=y(!1),c=y(!0),u=y(!1),h=y(!1),_=`---
|
|
2
|
+
description: `+a(`proxyEnhancement.instructions.config.title`)+`
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
[router-command: select-model $ARGUMENTS]`,v=y(!1),S=y(!0),C=y([]),w=y(!1),T=y({});async function E(){try{let e=await b.getProxyEnhancement();o.value=e.claude_code_enabled,c.value=e.tool_round_limit_enabled,u.value=e.tool_call_loop_enabled,h.value=e.stream_loop_enabled}catch(t){console.error(`Failed to load proxy enhancement config:`,t),V.error(e(t,a(`proxyEnhancement.loadFailed`)))}}async function O(){v.value=!0;try{await b.updateProxyEnhancement({claude_code_enabled:o.value,tool_call_loop_enabled:u.value,stream_loop_enabled:h.value,tool_round_limit_enabled:c.value}),V.success(a(`common.saveSuccess`))}catch(t){console.error(`Failed to save proxy enhancement config:`,t),V.error(e(t,a(`proxyEnhancement.saveFailed`)))}finally{v.value=!1}}async function k(){w.value=!0;try{C.value=await b.getSessionStates()}catch(t){console.error(`Failed to load sessions:`,t),V.error(e(t,a(`proxyEnhancement.sessions.loadFailed`)))}finally{w.value=!1}}async function A(t){try{await b.deleteSessionState(t.router_key_id,t.session_id),V.success(a(`proxyEnhancement.sessions.clearSuccess`)),k()}catch(t){console.error(`Failed to clear session:`,t),V.error(e(t,a(`proxyEnhancement.sessions.clearFailed`)))}}async function M(t){let n=t.session_id;if(T.value[n]){delete T.value[n];return}try{let e=await b.getSessionHistory(t.router_key_id,t.session_id);T.value[n]=e}catch(t){console.error(`Failed to load history:`,t),V.error(e(t,a(`proxyEnhancement.sessions.loadHistoryFailed`)))}}return g(()=>{E(),k()}),(e,r)=>(D(),p(`div`,Fe,[s(`h2`,Ie,d(l(a)(`proxyEnhancement.title`)),1),m(l(se),{"default-value":`dynamic-model`},{default:n(()=>[m(l(ae),null,{default:n(()=>[m(l(N),{value:`dynamic-model`},{default:n(()=>[f(d(l(a)(`proxyEnhancement.tabs.dynamicModel`)),1)]),_:1}),m(l(N),{value:`loop-detection`},{default:n(()=>[f(d(l(a)(`proxyEnhancement.tabs.loopDetection`)),1)]),_:1})]),_:1}),m(l(X),{value:`dynamic-model`},{default:n(()=>[m(l(H),null,{default:n(()=>[m(l(W),null,{default:n(()=>[m(l(G),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.dynamicModel.title`)),1)]),_:1}),m(l(Y),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.dynamicModel.description`)),1)]),_:1})]),_:1}),m(l(U),null,{default:n(()=>[s(`div`,Le,[m(l(z),{id:`claude-code-toggle`,modelValue:o.value,"onUpdate:modelValue":r[0]||=e=>o.value=e},null,8,[`modelValue`]),m(l(R),{for:`claude-code-toggle`},{default:n(()=>[f(d(o.value?l(a)(`proxyEnhancement.dynamicModel.enabled`):l(a)(`proxyEnhancement.dynamicModel.disabled`)),1)]),_:1})])]),_:1})]),_:1}),s(`div`,Re,[m(l(x),{disabled:v.value,onClick:O},{default:n(()=>[v.value?(D(),p(`span`,ze,[m(l(j),{class:`w-4 h-4 animate-spin`}),f(` `+d(l(a)(`proxyEnhancement.dynamicModel.saving`)),1)])):(D(),p(`span`,Be,d(l(a)(`common.save`)),1))]),_:1},8,[`disabled`])]),m(l(ue),{open:S.value,"onUpdate:open":r[1]||=e=>S.value=e,class:`mt-4`},{default:n(()=>[m(l(fe),{"as-child":``},{default:n(()=>[m(l(x),{variant:`ghost`,class:`w-full justify-between`},{default:n(()=>[s(`span`,null,d(l(a)(`proxyEnhancement.instructions.title`)),1),m(l(ee),{class:t([`w-4 h-4 transition-transform`,{"rotate-180":S.value}])},null,8,[`class`])]),_:1})]),_:1}),m(l(de),{class:`mt-2`},{default:n(()=>[m(l(H),null,{default:n(()=>[m(l(U),{class:`space-y-4 text-sm`},{default:n(()=>[s(`div`,null,[s(`p`,Ve,d(l(a)(`proxyEnhancement.instructions.config.title`)),1),s(`p`,He,d(l(a)(`proxyEnhancement.instructions.config.description`)),1),s(`code`,Ue,[f(d(l(a)(`proxyEnhancement.instructions.config.pathProject`)),1),r[5]||=s(`br`,null,null,-1),f(` `+d(l(a)(`proxyEnhancement.instructions.config.pathGlobal`)),1)]),s(`p`,We,d(l(a)(`proxyEnhancement.instructions.config.contentLabel`)),1),s(`code`,{class:`block mt-1 px-3 py-2 bg-muted rounded text-xs font-mono whitespace-pre-wrap leading-relaxed`,textContent:_})]),s(`div`,null,[s(`p`,Ge,d(l(a)(`proxyEnhancement.instructions.usage.title`)),1),s(`p`,Ke,d(l(a)(`proxyEnhancement.instructions.usage.viewModels`)),1),r[6]||=s(`code`,{class:`block mt-1 px-3 py-2 bg-muted rounded text-xs font-mono whitespace-pre-wrap leading-relaxed`},` /select-model `,-1),s(`p`,qe,d(l(a)(`proxyEnhancement.instructions.usage.selectModel`)),1),r[7]||=s(`code`,{class:`block mt-1 px-3 py-2 bg-muted rounded text-xs font-mono whitespace-pre-wrap leading-relaxed`},` /select-model provider_name/backend_model `,-1),s(`p`,Je,d(l(a)(`proxyEnhancement.instructions.usage.verify`)),1)])]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),m(l(H),{class:`mt-4`},{default:n(()=>[m(l(W),null,{default:n(()=>[s(`div`,Ye,[s(`div`,null,[m(l(G),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.title`)),1)]),_:1}),m(l(Y),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.description`)),1)]),_:1})]),m(l(x),{variant:`outline`,size:`sm`,onClick:k,disabled:w.value},{default:n(()=>[f(d(l(a)(`proxyEnhancement.sessions.refresh`)),1)]),_:1},8,[`disabled`])])]),_:1}),m(l(U),null,{default:n(()=>[m(Pe,{sessions:C.value,loading:w.value,"history-map":T.value,onClear:A,onViewHistory:M},null,8,[`sessions`,`loading`,`history-map`])]),_:1})]),_:1})]),_:1}),m(l(X),{value:`loop-detection`},{default:n(()=>[m(l(H),null,{default:n(()=>[m(l(W),null,{default:n(()=>[m(l(G),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.loopDetection.toolRoundLimit.title`)),1)]),_:1}),m(l(Y),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.loopDetection.toolRoundLimit.description`)),1)]),_:1})]),_:1}),m(l(U),null,{default:n(()=>[s(`div`,Xe,[m(l(z),{id:`tool-round-limit-toggle`,modelValue:c.value,"onUpdate:modelValue":r[2]||=e=>c.value=e},null,8,[`modelValue`]),m(l(R),{for:`tool-round-limit-toggle`},{default:n(()=>[f(d(c.value?l(a)(`proxyEnhancement.dynamicModel.enabled`):l(a)(`proxyEnhancement.dynamicModel.disabled`)),1)]),_:1})])]),_:1})]),_:1}),m(l(H),{class:`mt-4`},{default:n(()=>[m(l(W),null,{default:n(()=>[m(l(G),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.loopDetection.toolCallLoop.title`)),1)]),_:1}),m(l(Y),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.loopDetection.toolCallLoop.description`)),1)]),_:1})]),_:1}),m(l(U),null,{default:n(()=>[s(`div`,Ze,[m(l(z),{id:`tool-call-loop-toggle`,modelValue:u.value,"onUpdate:modelValue":r[3]||=e=>u.value=e},null,8,[`modelValue`]),m(l(R),{for:`tool-call-loop-toggle`},{default:n(()=>[f(d(u.value?l(a)(`proxyEnhancement.dynamicModel.enabled`):l(a)(`proxyEnhancement.dynamicModel.disabled`)),1)]),_:1})])]),_:1})]),_:1}),m(l(H),{class:`mt-4`},{default:n(()=>[m(l(W),null,{default:n(()=>[m(l(G),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.loopDetection.streamLoop.title`)),1)]),_:1}),m(l(Y),null,{default:n(()=>[f(d(l(a)(`proxyEnhancement.loopDetection.streamLoop.description`)),1)]),_:1})]),_:1}),m(l(U),null,{default:n(()=>[s(`div`,Qe,[m(l(z),{id:`stream-loop-toggle`,modelValue:h.value,"onUpdate:modelValue":r[4]||=e=>h.value=e},null,8,[`modelValue`]),m(l(R),{for:`stream-loop-toggle`},{default:n(()=>[f(d(h.value?l(a)(`proxyEnhancement.dynamicModel.enabled`):l(a)(`proxyEnhancement.dynamicModel.disabled`)),1)]),_:1})])]),_:1})]),_:1}),s(`div`,$e,[m(l(x),{disabled:v.value,onClick:O},{default:n(()=>[v.value?(D(),p(`span`,et,[m(l(j),{class:`w-4 h-4 animate-spin`}),f(` `+d(l(a)(`proxyEnhancement.dynamicModel.saving`)),1)])):(D(),p(`span`,tt,d(l(a)(`common.save`)),1))]),_:1},8,[`disabled`])])]),_:1})]),_:1})]))}});export{nt as default};
|
|
@@ -0,0 +1 @@
|
|
|
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 ee,ft as v,j as y,jt as b,k as x,n as S,q as C,ut as w}from"./button-D27ClX8J.js";import{a as T,i as E,n as D,r as O,t as k}from"./SelectValue-CT2z_-6j.js";import{t as te}from"./Checkbox-ByxbKP_C.js";import{t as A}from"./Label-BwzPFyL-.js";import{t as j}from"./badge-C-9zPTgw.js";import{n as M}from"./lib-D0Ek2pPZ.js";import{n as N,t as P}from"./CardContent-BhMXx-JD.js";import{n as F,t as I}from"./CardTitle-DQDjTee3.js";import{t as L}from"./Input-tcnrMp1v.js";import{t as R}from"./MappingList-D8HRph05.js";import{a as z,i as B,n as V,o as H,r as U,t as ne}from"./ModelCard-CZbQcYNn.js";var W={DeepSeek:`deepseek`,百度千帆:`qianfan`,科大讯飞:`iflytek`,硅基流动:`siliconflow`,智谱:`zhipu`,月之暗面:`moonshot`,Minimax:`minimax`,火山引擎:`volcengine`,阿里云:`aliyun`,腾讯云:`tencent`,"OpenCode Go":`opencode-go`,阶跃星辰:`stepfun`};function G(e){return W[e]??e.toLowerCase().replace(/[^a-z0-9]/gi,`-`).replace(/-+/g,`-`)}function K(){let{t}=i(),n=b(`claude-code`),r=b([]),o=b(``),s=b(``),c=b(`anthropic`),l=b(``),u=b([]),d=b([]),f=b([]),p=b(new Set),m=b(!1),h=b(`idle`),g=b(`auto`),v=b(10),S=b(12e4),C=b(100),w=b(``),T=b(``),E=b(``),D=b([]),O=b([]),k=a(()=>o.value===`__custom__`),te=a(()=>B.find(e=>e.id===n.value)),A=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)}),j=b(``),N=a(()=>k.value?j.value:A.value?.baseUrl??``),P=a(()=>r.value.find(e=>e.group===o.value)?.presets??[]),F=a(()=>!N.value.includes(`openai.com`)),I=a(()=>o.value?{provider:{id:k.value?`__new_custom__`:`__new_${G(o.value)}_${G(s.value)}__`,name:k.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),L=a(()=>{let e=O.value.map(e=>({provider:{id:e.id,name:e.name},models:(e.models??[]).map(e=>({name:e.name,contextWindow:e.context_window??128e3}))}));return I.value&&I.value.models.length>0?[...e,I.value]:e}),R=a(()=>{let e=o.value;return f.value.filter(t=>!t.providers||t.providers.length===0?!0:t.providers.includes(e))});function V(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`&&F.value&&n.push(`developer-role`),n}function U(e){u.value=e.models.map(t=>({name:t,contextWindow:H(t),enabled:!0,patches:V(t,e.apiType)}))}function ne(e,t=128e3){u.value.push({name:e,contextWindow:t,enabled:!0,patches:V(e,c.value)})}function W(){let e=u.value.filter(e=>e.enabled),t;t=n.value===`pi`?e.map(e=>e.name):z[n.value]??e.map(e=>e.name),d.value=t.map(r=>{let i=D.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 K(){p.value=new Set(R.value.filter(e=>!e.exists).map(e=>e.name))}function q(e){n.value=e;let t=B.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,U(n);break}break}W(),K()}}function re(e){if(o.value=e,s.value=``,u.value=[],e===`__custom__`)c.value=`openai`,j.value=``,u.value=[];else{let t=r.value.find(t=>t.group===e);if(t&&t.presets.length>0){let e=te.value,n=(e?t.presets.find(t=>t.apiType===e.format):null)??t.presets[0];s.value=n.plan,c.value=n.apiType,U(n)}}W(),K()}function ie(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,U(n),W())}_(c,()=>{for(let e of u.value)e.patches=V(e.name,c.value)});function ae(e,t){let n=new Set(p.value);t?n.add(e):n.delete(e),p.value=n}function oe(e,t){let n=[...d.value];n[e]={...n[e],targets:t},d.value=n}function se(e){let t=[...d.value];t[e]={...t[e],active:!t[e].active},d.value=t}function ce(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 le(e){if(d.value.find(t=>t.clientModel===e)?.existing){M.error(t(`quickSetup.messages.existingMappingDelete`));return}d.value=d.value.filter(t=>t.clientModel!==e)}function ue(e){g.value=e,e===`auto`?v.value=10:e===`manual`&&(v.value=3)}async function de(){if(!l.value.trim()){h.value=`error`,M.error(t(`quickSetup.messages.fillApiKeyFirst`));return}h.value=`testing`,await new Promise(e=>setTimeout(e,800)),h.value=`ok`}function fe(){let e=w.value.trim(),n=T.value.trim(),r=E.value.trim();if(!e&&!n&&!r)return;let i={};if(e)try{i.inject_headers=JSON.parse(e)}catch{return M.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 M.error(t(`quickSetup.messages.requestDefaultsJsonError`)),!1}return Object.keys(i).length>0?i:void 0}async function pe(){if(!A.value){M.error(t(`quickSetup.messages.selectProviderAndPlan`));return}if(!l.value.trim()){M.error(t(`quickSetup.messages.fillApiKey`));return}m.value=!0;try{let e={provider:{name:k.value?`custom-${Date.now()}`:`${G(o.value)}-${G(s.value)}`,api_type:c.value,base_url:N.value,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:v.value,queue_timeout_ms:g.value===`none`?void 0:S.value,max_queue_size:g.value===`none`?void 0:C.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:R.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=fe();if(e===!1)throw Error(`__transform_invalid__`);return e})()};await x.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 x.toggleMappingGroup(e.existingId)}catch{n.push(e.clientModel)}n.length>0?M.success(t(`quickSetup.messages.setupCompleteWithErrors`,{count:n.length})):M.success(t(`quickSetup.messages.setupComplete`)),await new Promise(e=>setTimeout(e,1500)),y.push(`/`)}catch(n){M.error(e(n,t(`quickSetup.messages.setupFailed`)))}finally{m.value=!1}}return ee(async()=>{try{let[e,t,n,i]=await Promise.all([x.recommended.getProviders(),x.recommended.getRetryRules(),x.getMappingGroups().catch(()=>[]),x.getProviders().catch(()=>[])]);r.value=e,f.value=t,D.value=n,O.value=i,q(`claude-code`)}catch(n){M.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:R,selectedRetryRules:p,saving:m,connectionStatus:h,currentClient:te,currentPreset:A,baseUrl:N,customBaseUrl:j,isCustomProvider:k,availablePlans:P,isNonOpenaiEndpoint:F,concurrencyMode:g,maxConcurrency:v,queueTimeoutMs:S,maxQueueSize:C,transformInjectHeaders:w,transformDropFields:T,transformRequestDefaults:E,existingMappings:D,allProviders:O,allProviderGroups:L,selectClient:q,onProviderChange:re,onPlanChange:ie,initModels:U,getDefaultPatches:V,updateMappings:W,updateMappingTargets:oe,toggleMappingActive:se,addMappingEntry:ce,removeMappingEntry:le,toggleRetryRule:ae,onConcurrencyModeChange:ue,testConnection:de,submit:pe,addCustomModel:ne}}var q={class:`p-6 space-y-4 pb-20`},re={class:`flex gap-2 flex-wrap`},ie=[`onClick`],ae={class:`text-left`},oe={class:`font-medium text-sm leading-tight`},se={class:`text-[10px] opacity-60 leading-tight`},ce={class:`flex items-end gap-2`},le={class:`w-40 space-y-1`},ue={class:`w-48 space-y-1`},de={class:`w-80 space-y-1`},fe={class:`w-28 space-y-1`},pe={class:`w-48 space-y-1`},me={class:`w-72 space-y-1`},he={class:`w-64 space-y-1`},ge={class:`shrink-0 space-y-1`},_e={class:`border-t pt-3`},ve={class:`flex items-center justify-between mb-2`},ye={class:`text-xs font-medium text-muted-foreground`},be={key:0,class:`py-4 text-center text-xs text-muted-foreground`},xe={key:1,class:`grid grid-cols-4 gap-2`},Se={key:2,class:`flex gap-2 mt-2`},Ce={class:`border-t pt-3`},we={class:`flex items-center justify-between mb-2`},Te={class:`text-xs font-medium text-muted-foreground`},Ee={class:`grid grid-cols-5 gap-4`},De={class:`flex items-center justify-between`},Oe={class:`col-span-2 space-y-4`},ke={class:`flex items-center justify-between`},Ae={key:0,class:`py-6 text-center text-xs text-muted-foreground`},je={key:1,class:`space-y-1.5 max-h-[320px] overflow-y-auto`},Me=[`onClick`],Ne={class:`flex-1 min-w-0`},Pe={class:`flex items-center gap-1.5`},Fe={class:`text-xs font-medium`},Ie={class:`text-[10px] text-muted-foreground mt-0.5`},Le={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`},Re={class:`text-xs text-muted-foreground flex items-center gap-1.5`},ze={class:`flex items-center gap-2`},Be=l({__name:`QuickSetup`,setup(e){let{t:l}=i(),{clientType:_,providerGroups:ee,selectedGroup:y,selectedPlan:x,apiType:z,apiKey:H,modelConfigs:W,mappingEntries:G,allRecommendedRules:Be,recommendedRules:Ve,selectedRetryRules:J,saving:He,connectionStatus:Y,baseUrl:Ue,availablePlans:We,isNonOpenaiEndpoint:Ge,isCustomProvider:X,customBaseUrl:Z,concurrencyMode:Ke,maxConcurrency:qe,queueTimeoutMs:Je,maxQueueSize:Ye,allProviderGroups:Xe,transformInjectHeaders:Ze,transformDropFields:Qe,transformRequestDefaults:$e,selectClient:et,onProviderChange:tt,onPlanChange:nt,updateMappingTargets:rt,toggleMappingActive:it,addMappingEntry:at,removeMappingEntry:ot,toggleRetryRule:st,onConcurrencyModeChange:ct,testConnection:lt,submit:ut,addCustomModel:dt}=K(),Q=b(``);function ft(){Q.value.trim()&&(dt(Q.value.trim()),Q.value=``)}let $=a(()=>W.value.filter(e=>e.enabled).length),pt=a(()=>B.find(e=>e.id===_.value)?.name??_.value);function mt(e,t){let n=[...W.value];n[e]=t,W.value=n}function ht(e){W.value=W.value.filter((t,n)=>n!==e)}function gt(){if(!y.value){M.error(l(`quickSetup.messages.selectProvider`));return}if(!H.value.trim()){M.error(l(`quickSetup.messages.fillApiKey`));return}if($.value===0){M.error(l(`quickSetup.messages.enableOneModel`));return}M.success(l(`quickSetup.messages.validationPassed`))}return(e,i)=>(w(),h(d,null,[c(`div`,q,[g(u(N),null,{default:n(()=>[g(u(F),{class:`pb-3`},{default:n(()=>[g(u(I),{class:`text-sm font-medium`},{default:n(()=>[m(f(u(l)(`quickSetup.client.selectClient`)),1)]),_:1})]),_:1}),g(u(P),null,{default:n(()=>[c(`div`,re,[(w(!0),h(d,null,v(u(B),e=>(w(),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(et)(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`,ae,[c(`div`,oe,f(e.name),1),c(`div`,se,f(e.format)+` · `+f(u(l)(e.descriptionKey)),1)])],10,ie))),128))])]),_:1})]),_:1}),g(u(N),null,{default:n(()=>[g(u(F),{class:`pb-3`},{default:n(()=>[g(u(I),{class:`text-sm font-medium`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.config`)),1)]),_:1})]),_:1}),g(u(P),{class:`space-y-4`},{default:n(()=>[c(`div`,ce,[c(`div`,le,[g(u(A),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.label`)),1)]),_:1}),g(u(T),{"model-value":u(y),"onUpdate:modelValue":i[0]||=e=>u(tt)(e)},{default:n(()=>[g(u(D),{class:`w-full`},{default:n(()=>[g(u(k),{placeholder:u(l)(`quickSetup.provider.select`)},null,8,[`placeholder`])]),_:1}),g(u(E),null,{default:n(()=>[g(u(O),{value:`__custom__`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.custom`)),1)]),_:1}),(w(!0),h(d,null,v(u(ee),e=>(w(),C(u(O),{key:e.group,value:e.group},{default:n(()=>[m(f(e.group),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),u(X)?(w(),h(d,{key:0},[c(`div`,ue,[g(u(A),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.format`)),1)]),_:1}),g(u(T),{modelValue:u(z),"onUpdate:modelValue":i[1]||=e=>r(z)?z.value=e:null},{default:n(()=>[g(u(D),{class:`w-full`},{default:n(()=>[g(u(k))]),_:1}),g(u(E),null,{default:n(()=>[g(u(O),{value:`anthropic`},{default:n(()=>[...i[14]||=[m(`Anthropic Messages`,-1)]]),_:1}),g(u(O),{value:`openai`},{default:n(()=>[...i[15]||=[m(`OpenAI Chat Completions`,-1)]]),_:1}),g(u(O),{value:`openai-responses`},{default:n(()=>[...i[16]||=[m(`OpenAI Responses`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),c(`div`,de,[g(u(A),{class:`text-xs text-muted-foreground`},{default:n(()=>[...i[17]||=[m(`Base URL`,-1)]]),_:1}),g(u(L),{modelValue:u(Z),"onUpdate:modelValue":i[2]||=e=>r(Z)?Z.value=e:null,placeholder:`https://api.example.com/v1`,class:`font-mono text-xs`},null,8,[`modelValue`])])],64)):(w(),h(d,{key:1},[c(`div`,fe,[g(u(A),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.plan`)),1)]),_:1}),g(u(T),{"model-value":u(x),"onUpdate:modelValue":i[3]||=e=>u(nt)(e)},{default:n(()=>[g(u(D),{class:`w-full`},{default:n(()=>[g(u(k),{placeholder:u(l)(`quickSetup.provider.select`)},null,8,[`placeholder`])]),_:1}),g(u(E),null,{default:n(()=>[(w(!0),h(d,null,v(u(We),e=>(w(),C(u(O),{key:e.plan,value:e.plan},{default:n(()=>[m(f(e.plan),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),c(`div`,pe,[g(u(A),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.format`)),1)]),_:1}),g(u(T),{modelValue:u(z),"onUpdate:modelValue":i[4]||=e=>r(z)?z.value=e:null},{default:n(()=>[g(u(D),{class:`w-full`},{default:n(()=>[g(u(k))]),_:1}),g(u(E),null,{default:n(()=>[g(u(O),{value:`anthropic`},{default:n(()=>[...i[18]||=[m(`Anthropic Messages`,-1)]]),_:1}),g(u(O),{value:`openai`},{default:n(()=>[...i[19]||=[m(`OpenAI Chat Completions`,-1)]]),_:1}),g(u(O),{value:`openai-responses`},{default:n(()=>[...i[20]||=[m(`OpenAI Responses`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),c(`div`,me,[g(u(A),{class:`text-xs text-muted-foreground`},{default:n(()=>[...i[21]||=[m(`Base URL`,-1)]]),_:1}),g(u(L),{"model-value":u(Ue),readonly:``,class:`font-mono text-xs`},null,8,[`model-value`])])],64)),c(`div`,he,[g(u(A),{class:`text-xs text-muted-foreground`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.apiKey`)),1)]),_:1}),g(u(L),{modelValue:u(H),"onUpdate:modelValue":i[5]||=e=>r(H)?H.value=e:null,type:`password`,placeholder:u(l)(`quickSetup.provider.apiKeyPlaceholder`)},null,8,[`modelValue`,`placeholder`])]),c(`div`,ge,[g(u(A),{class:`text-xs text-muted-foreground invisible`},{default:n(()=>[m(f(u(l)(`quickSetup.provider.connect`)),1)]),_:1}),g(u(S),{variant:`outline`,size:`sm`,disabled:u(Y)===`testing`,onClick:u(lt)},{default:n(()=>[u(Y)===`testing`?(w(),h(d,{key:0},[i[22]||=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(Y)===`ok`?(w(),h(d,{key:1},[m(f(u(l)(`quickSetup.provider.connected`)),1)],64)):(w(),h(d,{key:2},[m(f(u(l)(`quickSetup.provider.test`)),1)],64))]),_:1},8,[`disabled`,`onClick`])])]),c(`div`,_e,[c(`div`,ve,[c(`span`,ye,f(u(l)(`quickSetup.model.config`)),1),g(u(j),{variant:`secondary`,class:`text-[10px]`},{default:n(()=>[m(f($.value)+`/`+f(u(W).length),1)]),_:1})]),u(W).length===0?(w(),h(`p`,be,f(u(l)(`quickSetup.model.selectProviderFirst`)),1)):(w(),h(`div`,xe,[(w(!0),h(d,null,v(u(W),(e,t)=>(w(),C(ne,{key:e.name,model:e,"api-type":u(z),"is-deep-seek":e.name.toLowerCase().includes(`deepseek`),"is-non-openai-endpoint":u(Ge),"onUpdate:model":e=>mt(t,e),onRemove:e=>ht(t)},null,8,[`model`,`api-type`,`is-deep-seek`,`is-non-openai-endpoint`,`onUpdate:model`,`onRemove`]))),128))])),u(X)?(w(),h(`div`,Se,[g(u(L),{modelValue:Q.value,"onUpdate:modelValue":i[6]||=e=>Q.value=e,placeholder:u(l)(`quickSetup.model.namePlaceholder`),onKeydown:p(o(ft,[`prevent`]),[`enter`]),class:`flex-1`},null,8,[`modelValue`,`placeholder`,`onKeydown`]),g(u(S),{type:`button`,variant:`outline`,size:`sm`,onClick:ft,disabled:!Q.value.trim()},{default:n(()=>[m(f(u(l)(`common.add`)),1)]),_:1},8,[`disabled`])])):s(``,!0)]),c(`div`,Ce,[c(`div`,we,[c(`span`,Te,f(u(l)(`quickSetup.concurrency.control`)),1)]),g(U,{mode:u(Ke),"max-concurrency":u(qe),"queue-timeout-ms":u(Je),"max-queue-size":u(Ye),"onUpdate:mode":u(ct),"onUpdate:maxConcurrency":i[7]||=e=>qe.value=e,"onUpdate:queueTimeoutMs":i[8]||=e=>Je.value=e,"onUpdate:maxQueueSize":i[9]||=e=>Ye.value=e},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`,`onUpdate:mode`])])]),_:1})]),_:1}),c(`div`,Ee,[g(u(N),{class:`col-span-3`},{default:n(()=>[g(u(F),{class:`pb-3`},{default:n(()=>[c(`div`,De,[g(u(I),{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(G).length})),1)]),_:1})])]),_:1}),g(u(P),null,{default:n(()=>[g(R,{entries:u(G),"provider-groups":u(Xe),"show-delete":!1,"show-add-form":!0,"onUpdate:targets":u(rt),onToggleActive:u(it),onAdd:u(at),onRemove:u(ot)},null,8,[`entries`,`provider-groups`,`onUpdate:targets`,`onToggleActive`,`onAdd`,`onRemove`])]),_:1})]),_:1}),c(`div`,Oe,[g(u(N),null,{default:n(()=>[g(u(F),{class:`pb-3`},{default:n(()=>[c(`div`,ke,[g(u(I),{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(P),null,{default:n(()=>[u(Ve).length===0?(w(),h(`div`,Ae,[u(Be).length===0?(w(),h(d,{key:0},[m(f(u(l)(`quickSetup.retry.allCreated`)),1)],64)):(w(),h(d,{key:1},[m(f(u(l)(`quickSetup.retry.selectProviderFirst`)),1)],64))])):(w(),h(`div`,je,[(w(!0),h(d,null,v(u(Ve),e=>(w(),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(st)(e.name,!u(J).has(e.name))},[g(u(te),{checked:e.exists?!0:u(J).has(e.name),disabled:e.exists,class:`mt-0.5`,"onUpdate:checked":t=>u(st)(e.name,!!t),onClick:i[10]||=o(()=>{},[`stop`])},null,8,[`checked`,`disabled`,`onUpdate:checked`]),c(`div`,Ne,[c(`div`,Pe,[c(`span`,Fe,f(e.name),1),e.exists?(w(),C(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?(w(),C(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)):(w(),C(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`,Ie,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,Me))),128))]))]),_:1})]),_:1}),g(u(N),null,{default:n(()=>[g(u(F),{class:`pb-3`},{default:n(()=>[g(u(I),{class:`text-sm font-medium`},{default:n(()=>[m(f(u(l)(`quickSetup.transform.title`)),1)]),_:1})]),_:1}),g(u(P),null,{default:n(()=>[g(V,{"inject-headers":u(Ze),"drop-fields":u(Qe),"request-defaults":u($e),"onUpdate:injectHeaders":i[11]||=e=>Ze.value=e,"onUpdate:dropFields":i[12]||=e=>Qe.value=e,"onUpdate:requestDefaults":i[13]||=e=>$e.value=e},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])]),_:1})]),_:1})])])]),c(`div`,Le,[c(`div`,Re,[u(y)?(w(),h(d,{key:0},[g(u(j),{variant:`secondary`,class:`text-[10px]`},{default:n(()=>[m(f(pt.value),1)]),_:1}),i[23]||=c(`span`,{class:`text-muted-foreground/50`},`→`,-1),g(u(j),{variant:`secondary`,class:`text-[10px]`},{default:n(()=>[m(f(u(X)?u(l)(`quickSetup.provider.custom`):u(y)),1)]),_:1})],64)):s(``,!0),$.value>0?(w(),h(d,{key:1},[i[24]||=c(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),c(`span`,null,f(u(l)(`quickSetup.footer.models`,{count:$.value})),1)],64)):s(``,!0),u(G).length>0?(w(),h(d,{key:2},[i[25]||=c(`span`,{class:`text-muted-foreground/50 mx-0.5`},`·`,-1),c(`span`,null,f(u(l)(`quickSetup.footer.mappings`,{count:u(G).length})),1)],64)):s(``,!0),u(J).size>0?(w(),h(d,{key:3},[i[26]||=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`,ze,[g(u(S),{size:`sm`,variant:`outline`,onClick:gt},{default:n(()=>[m(f(u(l)(`quickSetup.footer.validate`)),1)]),_:1}),g(u(S),{size:`sm`,disabled:u(He),onClick:u(ut)},{default:n(()=>[u(He)?(w(),h(d,{key:0},[i[27]||=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)):(w(),h(d,{key:1},[m(f(u(l)(`quickSetup.footer.saveConfig`)),1)],64))]),_:1},8,[`disabled`,`onClick`])])])],64))}});export{Be as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,Bt as t,Ct as n,F as r,G as ee,H as te,J as i,K as a,Q as ne,Rt as o,U as s,Ut as c,X as l,Y as u,Z as d,ct as f,ft as p,jt as m,k as h,n as g,q as _,ut as v}from"./button-D27ClX8J.js";import{a as y}from"./PopperContent-6BXua_FZ.js";import{a as b,i as re,n as ie,r as x,t as ae}from"./SelectValue-CT2z_-6j.js";import{t as S}from"./Checkbox-ByxbKP_C.js";import{n as oe,t as se}from"./CollapsibleContent-GecW2Jk_.js";import{t as ce}from"./CollapsibleTrigger-Cib3-OsK.js";import{a as le,n as ue,o as de,r as fe,t as pe}from"./dialog-BnYR6_dh.js";import{a as me,c as he,i as ge,n as C,o as _e,r as ve,t as ye}from"./alert-dialog-DzKCAoYJ.js";import{t as w}from"./Label-BwzPFyL-.js";import{t as T}from"./badge-C-9zPTgw.js";import{n as E}from"./lib-D0Ek2pPZ.js";import{n as be,t as xe}from"./CardContent-BhMXx-JD.js";import{n as D,t as O}from"./CardTitle-DQDjTee3.js";import{t as k}from"./Input-tcnrMp1v.js";import{a as A,i as j,n as M,o as N,r as P,t as F}from"./TableHeader-CcMyOsUB.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`},I={class:`flex items-center justify-between`},Le={class:`flex items-center justify-between mb-3`},Re={class:`flex items-center gap-2`},ze={class:`text-sm text-muted-foreground`},L=100,R=599,z=100,B=100,V=ne({__name:`RetryRules`,setup(ne){let{t:V}=r(),H={name:``,status_code:429,body_pattern:``,is_active:!0,retry_strategy:`exponential`,retry_delay_ms:5e3,max_retries:10,max_delay_ms:6e4},U=m([]),W=m(!1),G=m(null),K=m(null),q=m({...H}),J=m({});function Be(){let e={};q.value.name.trim()||(e.name=V(`retryRules.validation.nameRequired`));let t=Number(q.value.status_code);if((!Number.isInteger(t)||t<L||t>R)&&(e.status_code=V(`retryRules.validation.statusCodeRange`,{min:L,max:R})),!q.value.body_pattern.trim())e.body_pattern=V(`retryRules.validation.bodyPatternRequired`);else try{new RegExp(q.value.body_pattern)}catch{e.body_pattern=V(`retryRules.validation.bodyPatternInvalid`)}let n=Number(q.value.retry_delay_ms);(!n||n<z)&&(e.retry_delay_ms=V(`retryRules.validation.delayMin`,{min:z}));let r=Number(q.value.max_retries);if((!Number.isInteger(r)||r<0||r>B)&&(e.max_retries=V(`retryRules.validation.retriesRange`,{max:B})),q.value.retry_strategy===`exponential`){let t=Number(q.value.max_delay_ms);(!t||t<z)&&(e.max_delay_ms=V(`retryRules.validation.delayMin`,{min:z}))}return J.value=e,Object.keys(e).length===0}async function Y(){try{U.value=await h.getRetryRules()}catch(t){console.error(`Failed to load retry rules:`,t),E.error(e(t,V(`retryRules.messages.loadFailed`)))}}function Ve(){G.value=null,q.value={...H},J.value={},W.value=!0}function He(e){G.value=e.id,q.value={name:e.name,status_code:e.status_code,body_pattern:e.body_pattern,is_active:!!e.is_active,retry_strategy:e.retry_strategy,retry_delay_ms:e.retry_delay_ms,max_retries:e.max_retries,max_delay_ms:e.max_delay_ms},J.value={},W.value=!0}async function Ue(){if(Be())try{let e={name:q.value.name,status_code:Number(q.value.status_code),body_pattern:q.value.body_pattern,is_active:+!!q.value.is_active,retry_strategy:q.value.retry_strategy,retry_delay_ms:Number(q.value.retry_delay_ms),max_retries:Number(q.value.max_retries),max_delay_ms:Number(q.value.max_delay_ms)};G.value?await h.updateRetryRule(G.value,e):await h.createRetryRule(e),W.value=!1,await Y()}catch(t){console.error(`Failed to save retry rule:`,t),E.error(e(t,V(`retryRules.messages.saveFailed`)))}}function We(e){K.value=e}async function Ge(){let t=K.value;if(t){K.value=null;try{await h.deleteRetryRule(t.id),await Y()}catch(t){console.error(`Failed to delete retry rule:`,t),E.error(e(t,V(`retryRules.messages.deleteFailed`)))}}}let X=m(!1),Z=m([]),Q=m(new Set),Ke=ee(()=>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});E.success(V(`retryRules.messages.addedCount`,{count:e.length})),Q.value=new Set,await Promise.allSettled([$(),Y()])}return f(()=>{Y(),$()}),(e,r)=>(v(),u(`div`,Se,[a(`div`,Ce,[a(`h2`,we,c(o(V)(`retryRules.title`)),1),d(o(g),{onClick:Ve,class:`flex items-center gap-1`},{default:n(()=>[r[18]||=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(V)(`retryRules.addRule`)),1)]),_:1})]),a(`div`,Te,[d(o(N),null,{default:n(()=>[d(o(F),null,{default:n(()=>[d(o(P),{class:`bg-muted`},{default:n(()=>[d(o(M),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(V)(`retryRules.tableHeaders.name`)),1)]),_:1}),d(o(M),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(V)(`retryRules.tableHeaders.statusCode`)),1)]),_:1}),d(o(M),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(V)(`retryRules.tableHeaders.bodyPattern`)),1)]),_:1}),d(o(M),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(V)(`retryRules.tableHeaders.retryStrategy`)),1)]),_:1}),d(o(M),{class:`text-muted-foreground`},{default:n(()=>[l(c(o(V)(`retryRules.tableHeaders.status`)),1)]),_:1}),d(o(M),{class:`text-right text-muted-foreground`},{default:n(()=>[l(c(o(V)(`retryRules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),d(o(A),null,{default:n(()=>[(v(!0),u(s,null,p(U.value,e=>(v(),_(o(P),{key:e.id},{default:n(()=>[d(o(j),{class:`font-mono text-sm`},{default:n(()=>[l(c(e.name),1)]),_:2},1024),d(o(j),null,{default:n(()=>[l(c(e.status_code),1)]),_:2},1024),d(o(j),{class:`font-mono text-xs text-muted-foreground`},{default:n(()=>[l(c(e.body_pattern),1)]),_:2},1024),d(o(j),null,{default:n(()=>[a(`div`,Ee,[d(o(T),{variant:`outline`},{default:n(()=>[l(c(e.retry_strategy===`fixed`?o(V)(`retryRules.strategy.fixed`):o(V)(`retryRules.strategy.exponential`)),1)]),_:2},1024),a(`span`,De,[l(c(e.retry_delay_ms/1e3)+`s · `+c(o(V)(`retryRules.times`,{count:e.max_retries}))+` `,1),e.retry_strategy===`exponential`?(v(),u(s,{key:0},[l(` · `+c(o(V)(`retryRules.upperLimit`,{value:e.max_delay_ms/1e3})),1)],64)):i(``,!0)])])]),_:2},1024),d(o(j),null,{default:n(()=>[d(o(T),{variant:e.is_active?`default`:`secondary`},{default:n(()=>[l(c(e.is_active?o(V)(`common.enabled`):o(V)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),d(o(j),{class:`text-right`},{default:n(()=>[d(o(g),{variant:`ghost`,size:`sm`,onClick:t=>He(e),class:`mr-2`},{default:n(()=>[l(c(o(V)(`common.edit`)),1)]),_:1},8,[`onClick`]),d(o(g),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:t=>We(e)},{default:n(()=>[l(c(o(V)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024))),128)),U.value.length===0?(v(),_(o(P),{key:0},{default:n(()=>[d(o(j),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[l(c(o(V)(`retryRules.noRules`)),1)]),_:1})]),_:1})):i(``,!0)]),_:1})]),_:1})]),d(o(de),{open:W.value,"onUpdate:open":r[15]||=e=>W.value=e},{default:n(()=>[d(o(le),null,{default:n(()=>[d(o(ue),null,{default:n(()=>[d(o(pe),null,{default:n(()=>[l(c(G.value?o(V)(`retryRules.dialog.editRule`):o(V)(`retryRules.dialog.addRule`)),1)]),_:1})]),_:1}),a(`form`,{onSubmit:te(Ue,[`prevent`]),class:`space-y-3`},[a(`div`,null,[d(o(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[l(c(o(V)(`retryRules.dialog.name`)),1)]),_:1}),d(o(k),{modelValue:q.value.name,"onUpdate:modelValue":r[0]||=e=>q.value.name=e,type:`text`,required:``,onInput:r[1]||=e=>delete J.value.name},null,8,[`modelValue`]),J.value.name?(v(),u(`p`,Oe,c(J.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(V)(`retryRules.dialog.statusCode`)),1)]),_:1}),d(o(k),{modelValue:q.value.status_code,"onUpdate:modelValue":r[2]||=e=>q.value.status_code=e,modelModifiers:{number:!0},type:`number`,required:``,onInput:r[3]||=e=>delete J.value.status_code},null,8,[`modelValue`]),J.value.status_code?(v(),u(`p`,ke,c(J.value.status_code),1)):i(``,!0)]),a(`div`,null,[d(o(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[l(c(o(V)(`retryRules.dialog.bodyPattern`)),1)]),_:1}),d(o(k),{modelValue:q.value.body_pattern,"onUpdate:modelValue":r[4]||=e=>q.value.body_pattern=e,type:`text`,placeholder:o(V)(`retryRules.dialog.bodyPatternPlaceholder`),required:``,onInput:r[5]||=e=>delete J.value.body_pattern},null,8,[`modelValue`,`placeholder`]),J.value.body_pattern?(v(),u(`p`,Ae,c(J.value.body_pattern),1)):i(``,!0)]),a(`div`,null,[d(o(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[l(c(o(V)(`retryRules.dialog.retryStrategy`)),1)]),_:1}),d(o(b),{modelValue:q.value.retry_strategy,"onUpdate:modelValue":r[6]||=e=>q.value.retry_strategy=e},{default:n(()=>[d(o(ie),{class:`w-full`},{default:n(()=>[d(o(ae),{placeholder:o(V)(`retryRules.dialog.selectStrategy`)},null,8,[`placeholder`])]),_:1}),d(o(re),null,{default:n(()=>[d(o(x),{value:`exponential`},{default:n(()=>[l(c(o(V)(`retryRules.strategy.exponential`)),1)]),_:1}),d(o(x),{value:`fixed`},{default:n(()=>[l(c(o(V)(`retryRules.strategy.fixed`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),a(`div`,je,[a(`div`,null,[d(o(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[l(c(q.value.retry_strategy===`fixed`?o(V)(`retryRules.dialog.intervalMs`):o(V)(`retryRules.dialog.initialDelayMs`)),1)]),_:1}),d(o(k),{modelValue:q.value.retry_delay_ms,"onUpdate:modelValue":r[7]||=e=>q.value.retry_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:r[8]||=e=>delete J.value.retry_delay_ms},null,8,[`modelValue`]),J.value.retry_delay_ms?(v(),u(`p`,Me,c(J.value.retry_delay_ms),1)):i(``,!0)]),a(`div`,null,[d(o(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[l(c(o(V)(`retryRules.dialog.maxRetries`)),1)]),_:1}),d(o(k),{modelValue:q.value.max_retries,"onUpdate:modelValue":r[9]||=e=>q.value.max_retries=e,modelModifiers:{number:!0},type:`number`,min:0,max:100,required:``,onInput:r[10]||=e=>delete J.value.max_retries},null,8,[`modelValue`]),J.value.max_retries?(v(),u(`p`,Ne,c(J.value.max_retries),1)):i(``,!0)])]),q.value.retry_strategy===`exponential`?(v(),u(`div`,Pe,[d(o(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[l(c(o(V)(`retryRules.dialog.maxDelayMs`)),1)]),_:1}),d(o(k),{modelValue:q.value.max_delay_ms,"onUpdate:modelValue":r[11]||=e=>q.value.max_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:r[12]||=e=>delete J.value.max_delay_ms},null,8,[`modelValue`]),J.value.max_delay_ms?(v(),u(`p`,Fe,c(J.value.max_delay_ms),1)):i(``,!0)])):i(``,!0),a(`div`,Ie,[d(o(S),{modelValue:q.value.is_active,"onUpdate:modelValue":r[13]||=e=>q.value.is_active=e,id:`rule-active`},null,8,[`modelValue`]),d(o(w),{for:`rule-active`,class:`text-sm text-foreground`},{default:n(()=>[l(c(o(V)(`retryRules.dialog.enable`)),1)]),_:1})]),d(o(fe),null,{default:n(()=>[d(o(g),{type:`button`,variant:`outline`,onClick:r[14]||=e=>W.value=!1},{default:n(()=>[l(c(o(V)(`common.cancel`)),1)]),_:1}),d(o(g),{type:`submit`},{default:n(()=>[l(c(o(V)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),d(o(he),{open:!!K.value,"onUpdate:open":r[16]||=e=>{e||(K.value=null)}},{default:n(()=>[d(o(me),null,{default:n(()=>[d(o(C),null,{default:n(()=>[d(o(ye),null,{default:n(()=>[l(c(o(V)(`retryRules.deleteConfirm.title`)),1)]),_:1}),d(o(ge),null,{default:n(()=>[l(c(o(V)(`retryRules.deleteConfirm.description`,{name:K.value?.name})),1)]),_:1})]),_:1}),d(o(ve),null,{default:n(()=>[d(o(_e),null,{default:n(()=>[l(c(o(V)(`common.cancel`)),1)]),_:1}),d(o(g),{variant:`destructive`,onClick:Ge},{default:n(()=>[l(c(o(V)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),Z.value.length>0?(v(),_(o(be),{key:0,class:`mt-6`},{default:n(()=>[d(o(oe),{open:X.value,"onUpdate:open":r[17]||=e=>X.value=e},{default:n(()=>[d(o(ce),{"as-child":``},{default:n(()=>[d(o(D),{class:`cursor-pointer hover:bg-muted/50 transition-colors`},{default:n(()=>[a(`div`,I,[d(o(O),{class:`text-sm font-medium`},{default:n(()=>[l(c(o(V)(`retryRules.recommended.title`,{count:Z.value.length})),1)]),_:1}),d(o(y),{class:t([`h-4 w-4 text-muted-foreground transition-transform`,{"rotate-180":X.value}])},null,8,[`class`])])]),_:1})]),_:1}),d(o(se),null,{default:n(()=>[d(o(xe),null,{default:n(()=>[a(`div`,Le,[a(`div`,Re,[d(o(S),{"model-value":Ke.value,"onUpdate:modelValue":Je},null,8,[`model-value`]),a(`span`,ze,c(o(V)(`retryRules.recommended.selectAll`)),1)]),d(o(g),{size:`sm`,disabled:Q.value.size===0,onClick:Ye},{default:n(()=>[l(c(o(V)(`retryRules.recommended.addSelected`,{count:Q.value.size})),1)]),_:1},8,[`disabled`])]),d(o(N),null,{default:n(()=>[d(o(F),null,{default:n(()=>[d(o(P),null,{default:n(()=>[d(o(M),{class:`w-10`}),d(o(M),null,{default:n(()=>[l(c(o(V)(`retryRules.recommended.headers.name`)),1)]),_:1}),d(o(M),null,{default:n(()=>[l(c(o(V)(`retryRules.recommended.headers.statusCode`)),1)]),_:1}),d(o(M),null,{default:n(()=>[l(c(o(V)(`retryRules.recommended.headers.pattern`)),1)]),_:1}),d(o(M),null,{default:n(()=>[l(c(o(V)(`retryRules.recommended.headers.strategy`)),1)]),_:1})]),_:1})]),_:1}),d(o(A),null,{default:n(()=>[(v(!0),u(s,null,p(Z.value,e=>(v(),_(o(P),{key:e.name},{default:n(()=>[d(o(j),null,{default:n(()=>[d(o(S),{"model-value":Q.value.has(e.name),"onUpdate:modelValue":()=>qe(e.name)},null,8,[`model-value`,`onUpdate:modelValue`])]),_:2},1024),d(o(j),null,{default:n(()=>[l(c(e.name),1)]),_:2},1024),d(o(j),null,{default:n(()=>[l(c(e.status_code),1)]),_:2},1024),d(o(j),{class:`font-mono text-xs max-w-[200px] truncate`},{default:n(()=>[l(c(e.body_pattern),1)]),_:2},1024),d(o(j),null,{default:n(()=>[l(c(e.retry_strategy===`fixed`?o(V)(`retryRules.strategy.fixed`):o(V)(`retryRules.strategy.exponential`)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]),_:1})):i(``,!0)]))}});export{V as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,Bt as t,Ct as n,F as r,H as i,J as a,K as o,Q as ee,Rt as s,U as c,Ut as l,X as u,Y as d,Z as f,ct as te,ft as p,jt as m,k as h,n as g,q as _,ut as v}from"./button-D27ClX8J.js";import{t as y}from"./format-BhxQSgt6.js";import{t as b}from"./Checkbox-ByxbKP_C.js";import{a as x,n as S,o as C,r as ne,t as re}from"./dialog-BnYR6_dh.js";import{a as ie,c as ae,i as oe,n as se,o as ce,r as le,t as ue}from"./alert-dialog-DzKCAoYJ.js";import{t as w}from"./Label-BwzPFyL-.js";import{t as T}from"./badge-C-9zPTgw.js";import{n as E}from"./lib-D0Ek2pPZ.js";import{t as D}from"./Input-tcnrMp1v.js";import{a as O,i as k,n as A,o as j,r as M,t as N}from"./TableHeader-CcMyOsUB.js";import{t as P}from"./useClipboard-BFt5f-_-.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=ee({__name:`RouterKeys`,setup(ee){let{t:W}=r(),G={name:``,allowed_models:[],is_active:!0},K=m([]),q=m([]),J=m(!1),Y=m(null),X=m(null),Z=m({...G,allowed_models:[]}),Q=m({}),{copied:ve,copy:ye}=P();function be(e){return e?e.slice(0,7)+`*`.repeat(7):``}function xe(e){return y(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([h.getRouterKeys(),h.getAvailableModels()]);e.status===`fulfilled`&&(K.value=e.value),t.status===`fulfilled`&&(q.value=t.value)}catch(t){console.error(`Failed to load data:`,t),E.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 h.updateRouterKey(Y.value,Te()):await h.createRouterKey(Ee()),J.value=!1,await $()}catch(t){console.error(`Failed to save router key:`,t),E.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 h.deleteRouterKey(t.id),await $()}catch(t){console.error(`Failed to delete router key:`,t),E.error(e(t,W(`routerKeys.deleteFailed`)))}}}return te($),(e,r)=>(v(),d(`div`,F,[o(`div`,I,[o(`h2`,L,l(s(W)(`routerKeys.title`)),1),f(s(g),{onClick:Ce,class:`flex items-center gap-1`},{default:n(()=>[r[6]||=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(W)(`routerKeys.createKey`)),1)]),_:1})]),o(`div`,R,[f(s(j),null,{default:n(()=>[f(s(N),null,{default:n(()=>[f(s(M),{class:`bg-muted`},{default:n(()=>[f(s(A),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(W)(`routerKeys.tableHeaders.name`)),1)]),_:1}),f(s(A),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(W)(`routerKeys.tableHeaders.key`)),1)]),_:1}),f(s(A),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(W)(`routerKeys.tableHeaders.whitelist`)),1)]),_:1}),f(s(A),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(W)(`routerKeys.tableHeaders.status`)),1)]),_:1}),f(s(A),{class:`text-muted-foreground`},{default:n(()=>[u(l(s(W)(`routerKeys.tableHeaders.createdAt`)),1)]),_:1}),f(s(A),{class:`text-right text-muted-foreground`},{default:n(()=>[u(l(s(W)(`routerKeys.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),f(s(O),null,{default:n(()=>[(v(!0),d(c,null,p(K.value,e=>(v(),_(s(M),{key:e.id,class:t({"opacity-60":!e.is_active})},{default:n(()=>[f(s(k),{class:`font-medium`},{default:n(()=>[u(l(e.name),1)]),_:2},1024),f(s(k),null,{default:n(()=>[o(`div`,z,[o(`span`,B,l(be(e.key)),1),f(s(g),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:t=>e.key&&s(ye)(e.key)},{default:n(()=>[s(ve)?(v(),d(`svg`,H,[...r[8]||=[o(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):(v(),d(`svg`,V,[...r[7]||=[o(`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),f(s(k),null,{default:n(()=>[e.allowed_models&&e.allowed_models.length>0?(v(),d(`div`,U,[(v(!0),d(c,null,p(e.allowed_models,e=>(v(),_(s(T),{key:e,variant:`outline`,class:`text-xs`},{default:n(()=>[u(l(e),1)]),_:2},1024))),128))])):(v(),_(s(T),{key:1,variant:`secondary`},{default:n(()=>[u(l(s(W)(`common.allModels`)),1)]),_:1}))]),_:2},1024),f(s(k),null,{default:n(()=>[f(s(T),{variant:e.is_active?`default`:`secondary`},{default:n(()=>[u(l(e.is_active?s(W)(`common.enabled`):s(W)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),f(s(k),{class:`text-muted-foreground text-sm`},{default:n(()=>[u(l(xe(e.created_at)),1)]),_:2},1024),f(s(k),{class:`text-right`},{default:n(()=>[f(s(g),{variant:`ghost`,size:`sm`,onClick:t=>we(e),class:`text-muted-foreground hover:text-primary mr-2`},{default:n(()=>[u(l(s(W)(`common.edit`)),1)]),_:1},8,[`onClick`]),f(s(g),{variant:`ghost`,size:`sm`,onClick:t=>Oe(e),class:`text-muted-foreground hover:text-destructive`},{default:n(()=>[u(l(s(W)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),K.value.length===0?(v(),_(s(M),{key:0},{default:n(()=>[f(s(k),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[u(l(s(W)(`routerKeys.noKeys`)),1)]),_:1})]),_:1})):a(``,!0)]),_:1})]),_:1})]),f(s(C),{open:J.value,"onUpdate:open":r[4]||=e=>J.value=e},{default:n(()=>[f(s(x),{class:`sm:max-w-lg`},{default:n(()=>[f(s(S),null,{default:n(()=>[f(s(re),null,{default:n(()=>[u(l(Y.value?s(W)(`routerKeys.editKey`):s(W)(`routerKeys.createKey`)),1)]),_:1})]),_:1}),o(`form`,{onSubmit:i(De,[`prevent`]),class:`space-y-4`},[o(`div`,null,[f(s(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[u(l(s(W)(`routerKeys.tableHeaders.name`)),1)]),_:1}),f(s(D),{modelValue:Z.value.name,"onUpdate:modelValue":r[0]||=e=>Z.value.name=e,type:`text`,required:``,placeholder:s(W)(`routerKeys.placeholder.name`),onInput:r[1]||=e=>delete Q.value.name},null,8,[`modelValue`,`placeholder`]),Q.value.name?(v(),d(`p`,de,l(Q.value.name),1)):a(``,!0)]),o(`div`,null,[f(s(w),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[u(l(s(W)(`routerKeys.whitelistLabel`)),1)]),_:1}),o(`div`,fe,l(s(W)(`routerKeys.whitelistHint`)),1),o(`div`,pe,[(v(!0),d(c,null,p(q.value,e=>(v(),_(s(w),{key:e,class:`flex items-center gap-2 cursor-pointer text-sm font-normal`},{default:n(()=>[f(s(b),{"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`]),o(`span`,me,l(e),1)]),_:2},1024))),128)),q.value.length===0?(v(),d(`div`,he,l(s(W)(`routerKeys.noModels`)),1)):a(``,!0)]),Z.value.allowed_models.length>0?(v(),d(`div`,ge,[(v(!0),d(c,null,p(Z.value.allowed_models,e=>(v(),_(s(T),{key:e,variant:`outline`,class:`text-xs`},{default:n(()=>[u(l(e)+` `,1),f(s(g),{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]||=[u(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))])):a(``,!0)]),Y.value?(v(),d(`div`,_e,[f(s(b),{modelValue:Z.value.is_active,"onUpdate:modelValue":r[2]||=e=>Z.value.is_active=e,id:`key-active`},null,8,[`modelValue`]),f(s(w),{for:`key-active`,class:`text-sm text-foreground`},{default:n(()=>[u(l(s(W)(`common.enable`)),1)]),_:1})])):a(``,!0),f(s(ne),null,{default:n(()=>[f(s(g),{type:`button`,variant:`outline`,onClick:r[3]||=e=>J.value=!1},{default:n(()=>[u(l(s(W)(`common.cancel`)),1)]),_:1}),f(s(g),{type:`submit`},{default:n(()=>[u(l(s(W)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),f(s(ae),{open:!!X.value,"onUpdate:open":r[5]||=e=>{e||(X.value=null)}},{default:n(()=>[f(s(ie),null,{default:n(()=>[f(s(se),null,{default:n(()=>[f(s(ue),null,{default:n(()=>[u(l(s(W)(`routerKeys.confirmDeleteTitle`)),1)]),_:1}),f(s(oe),null,{default:n(()=>[u(l(s(W)(`routerKeys.confirmDeleteDesc`,{name:X.value?.name})),1)]),_:1})]),_:1}),f(s(le),null,{default:n(()=>[f(s(ce),null,{default:n(()=>[u(l(s(W)(`common.cancel`)),1)]),_:1}),f(s(g),{variant:`destructive`,onClick:ke},{default:n(()=>[u(l(s(W)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{W as default};
|