PageSourceSearch

https://xfastapi.ai/assets/AccountsView-ChL3-NAu.js

js xfastapi.ai collected 2026-10-05 13:21:17 UTC 618,503 bytes, 23 lines download raw bytes

1import{r as u,q as fa,d as Dt,c as P,y as r,D as n,F as me,C as $e,Q as Il,A as a,z as e,B as v,u as t,J as T,X as B,P as Xt,_ as Fo,k as E,E as C,G as Be,H as oe,w as _t,a7 as da,a2 as ct,M as qe,K as ia,a as fs,V as zl,o as Fs,Y as Us,N as Ll,O as Ol,n as Nl,L as Es,t as As}from"./vendor-vue-Du3XgG1t.js";import{aw as jl,g as be,a as ra,z as Hs,_ as te,u as xs,$ as Bs,a0 as Ws,f as no,at as qs,a4 as Dl}from"./index-vdiu61JV.js";import{i as ms,_ as ha,u as Fl,a as Hl,b as Bl,c as Wl,d as Kl,e as Gl,f as Jl,g as Ql,h as Yl}from"./AccountCapacityCell.vue_vue_type_script_setup_true_lang-DqUT5Snf.js";import{u as Xl,a as Zl,_ as en}from"./PlatformTypeBadge.vue_vue_type_script_setup_true_lang-UtlTGCyN.js";import{_ as tn}from"./AppLayout.vue_vue_type_script_setup_true_lang-DSSe9gAU.js";import{T as an}from"./TablePageLayout-Bt6gF8WQ.js";import{D as on}from"./DataTable-B3SgCb1d.js";import{P as sn}from"./Pagination-Cg3fLPEx.js";import{_ as ro}from"./ConfirmDialog.vue_vue_type_script_setup_true_lang-CuJH7Mjm.js";import{a as Rs,b as gs}from"./apiError-BPX0TiUA.js";import{u as Ht}from"./vendor-i18n-COBU4J1O.js";import{_ as ua}from"./BaseDialog.vue_vue_type_script_setup_true_lang-BlaBKy04.js";import{S as Ca}from"./Select-PST218IU.js";import{_ as ln}from"./PlatformIcon.vue_vue_type_script_setup_true_lang-DdqUPnql.js";import{P as ks}from"./ProxySelector-CPSUL3Ry.js";import{_ as _s}from"./GroupSelector.vue_vue_type_script_setup_true_lang-DI7tENH8.js";import{c as so}from"./stableObjectKey-DullU5Fx.js";import{u as Ks}from"./useClipboard-Cg-krkHu.js";import{L as nn}from"./LoadingSpinner-BOHoPaXj.js";import{C as rn,a as dn,L as un,P as cn,b as pn,p as mn,c as gn,d as vn,i as bn,e as yn}from"./vendor-chart-CWniaOlX.js";import{a as hn}from"./ModelDistributionChart.vue_vue_type_script_setup_true_lang-sU8y7z9j.js";import{_ as Ps}from"./EndpointDistributionChart.vue_vue_type_script_setup_true_lang-DbxJXfhC.js";import{_ as ts}from"./HelpTooltip.vue_vue_type_script_setup_true_lang-DIIBKhR3.js";import{_ as Oo}from"./Toggle.vue_vue_type_script_setup_true_lang-BZ5jhIS9.js";import{a as fn}from"./vendor-ui-Dim9E-J_.js";import"./vendor-misc-ZyyhI3Eu.js";import"./SearchInput.vue_vue_type_script_setup_true_lang-1nUUbsGl.js";import"./GroupBadge.vue_vue_type_script_setup_true_lang-DqVMn575.js";/* empty css                                                                  */import"./LocaleSwitcher-BcMujBZ0.js";/* empty css                                                                       */const Gs=["gpt-6.1-sol","gpt-6-astra","gpt-6-sol","gpt-6-luna","gpt-5.6-sol","gpt-5.6-terra","gpt-5.6-luna","gpt-5.5","gpt-5.4","gpt-5.4-mini","gpt-5.4-2026-03-05","gpt-5.3-codex-spark","gpt-image-1","gpt-image-1.5","gpt-image-2"],os=["claude-sonnet-4-5-20250929","claude-haiku-4-5-20251001","claude-opus-4-5-20251101","claude-opus-4-6","claude-opus-4-7","claude-opus-4-8","claude-opus-5","claude-opus-5-5","claude-sonnet-5-5","claude-sonnet-5","claude-fable-5","claude-fable-5-1","claude-sonnet-4-6"],Js=["gemini-3.1-flash-image","gemini-2.5-flash-image","gemini-3.8-flash","gemini-3.7-flash","gemini-3.6-flash","gemini-3.5-flash","gemini-3.5-flash-lite","gemini-3.1-pro-preview","gemini-3-flash-preview","gemini-2.5-flash","gemini-2.5-pro"],xn=["claude-opus-4-6","claude-opus-4-6-thinking","claude-opus-4-7","claude-opus-4-8","claude-sonnet-5","claude-opus-4-5-thinking","claude-sonnet-4-6","claude-sonnet-4-5","claude-sonnet-4-5-thinking","gemini-3.1-flash-image","gemini-2.5-flash-image","gemini-2.5-flash","gemini-2.5-flash-lite","gemini-2.5-flash-thinking","gemini-2.5-pro","gemini-3-flash","gemini-3-pro-high","gemini-3-pro-low","gemini-3.1-pro-high","gemini-3.1-pro-low","gemini-3-pro-image","gpt-oss-120b-medium","tab_flash_lite_preview"],Qs=["glm-4","glm-4v","glm-4-plus","glm-4-0520","glm-4-air","glm-4-airx","glm-4-long","glm-4-flash","glm-4v-plus","glm-4.5","glm-4.6","glm-3-turbo","glm-4-alltools","chatglm_turbo","chatglm_pro","chatglm_std","chatglm_lite","cogview-3","cogvideo"],Ys=["qwen-turbo","qwen-plus","qwen-max","qwen-max-longcontext","qwen-long","qwen2-72b-instruct","qwen2-57b-a14b-instruct","qwen2-7b-instruct","qwen2.5-72b-instruct","qwen2.5-32b-instruct","qwen2.5-14b-instruct","qwen2.5-7b-instruct","qwen2.5-3b-instruct","qwen2.5-1.5b-instruct","qwen2.5-coder-32b-instruct","qwen2.5-coder-14b-instruct","qwen2.5-coder-7b-instruct","qwen3-235b-a22b","qwq-32b","qwq-32b-preview"],Xs=["deepseek-chat","deepseek-coder","deepseek-reasoner","deepseek-v3","deepseek-v3-0324","deepseek-r1","deepseek-r1-0528","deepseek-r1-distill-qwen-32b","deepseek-r1-distill-qwen-14b","deepseek-r1-distill-qwen-7b","deepseek-r1-distill-llama-70b","deepseek-r1-distill-llama-8b"],Zs=["mistral-small-latest","mistral-medium-latest","mistral-large-latest","open-mistral-7b","open-mixtral-8x7b","open-mixtral-8x22b","codestral-latest","codestral-mamba","pixtral-12b-2409","pixtral-large-latest"],el=["llama-3.3-70b-instruct","llama-3.2-90b-vision-instruct","llama-3.2-11b-vision-instruct","llama-3.2-3b-instruct","llama-3.2-1b-instruct","llama-3.1-405b-instruct","llama-3.1-70b-instruct","llama-3.1-8b-instruct","llama-3-70b-instruct","llama-3-8b-instruct","codellama-70b-instruct","codellama-34b-instruct","codellama-13b-instruct"],vs=["grok-4.7","grok-4.6","grok-4.5","grok-4.3","grok-4.20-0309-reasoning","grok-4.20-0309-non-reasoning","grok-4.20-multi-agent-0309","grok-build-0.1","grok-4.1-fast","grok-4","grok-4-0709","grok-3-beta","grok-3-mini-beta","grok-3-fast-beta","grok-2","grok-2-vision","grok-2-image","grok-beta","grok-vision-beta"],kn=[{label:"Grok 4.7",from:"grok-4.7",to:"grok-4.7",color:"bg-gray-200 text-gray-800 hover:bg-gray-300 dark:bg-dark-500 dark:text-gray-200"},{label:"Grok 4.6",from:"grok-4.6",to:"grok-4.6",color:"bg-gray-200 text-gray-800 hover:bg-gray-300 dark:bg-dark-500 dark:text-gray-200"},{label:"Grok 4.5",from:"grok-4.5",to:"grok-4.5",color:"bg-gray-200 text-gray-800 hover:bg-gray-300 dark:bg-dark-500 dark:text-gray-200"},{label:"Grok 4.3",from:"grok-4.3",to:"grok-4.3",color:"bg-gray-200 text-gray-800 hover:bg-gray-300 dark:bg-dark-500 dark:text-gray-200"},{label:"Grok Build",from:"grok-build-0.1",to:"grok-build-0.1",color:"bg-teal-100 text-teal-700 hover:bg-teal-200 dark:bg-teal-900/30 dark:text-teal-400"},{label:"Grok 4.1 Fast",from:"grok-4.1-fast",to:"grok-4.1-fast",color:"bg-lime-100 text-lime-700 hover:bg-lime-200 dark:bg-lime-900/30 dark:text-lime-400"}
1,{label:"Grok*→4.7",from:"grok-*",to:"grok-4.7",color:"bg-amber-100 text-amber-700 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-400"}],tl=["command-a-03-2025","command-r","command-r-plus","command-r-08-2024","command-r-plus-08-2024","c4ai-aya-23-35b","c4ai-aya-23-8b","command","command-light"],al=["yi-large","yi-large-turbo","yi-large-rag","yi-medium","yi-medium-200k","yi-spark","yi-vision","yi-1.5-34b-chat","yi-1.5-9b-chat","yi-1.5-6b-chat"],ol=["moonshot-v1-8k","moonshot-v1-32k","moonshot-v1-128k","kimi-latest"],sl=["doubao-pro-256k","doubao-pro-128k","doubao-pro-32k","doubao-pro-4k","doubao-lite-128k","doubao-lite-32k","doubao-lite-4k","doubao-vision-pro-32k","doubao-vision-lite-32k","doubao-1.5-pro-256k","doubao-1.5-pro-32k","doubao-1.5-lite-32k","doubao-1.5-pro-vision-32k","doubao-1.5-thinking-pro"],ll=["abab6.5-chat","abab6.5s-chat","abab6.5s-chat-pro","abab6-chat","abab5.5-chat","abab5.5s-chat"],nl=["ernie-4.0-8k-latest","ernie-4.0-8k","ernie-4.0-turbo-8k","ernie-3.5-8k","ernie-3.5-128k","ernie-speed-8k","ernie-speed-128k","ernie-speed-pro-128k","ernie-lite-8k","ernie-lite-pro-128k","ernie-tiny-8k"],rl=["spark-desk","spark-desk-v1.1","spark-desk-v2.1","spark-desk-v3.1","spark-desk-v3.5","spark-desk-v4.0","spark-lite","spark-pro","spark-max","spark-ultra"],il=["hunyuan-lite","hunyuan-standard","hunyuan-standard-256k","hunyuan-pro","hunyuan-turbo","hunyuan-large","hunyuan-vision","hunyuan-code"],dl=["sonar","sonar-pro","sonar-reasoning","llama-3-sonar-small-32k-online","llama-3-sonar-large-32k-online","llama-3-sonar-small-32k-chat","llama-3-sonar-large-32k-chat"],_n=[...Gs,...os,...Js,...Qs,...Ys,...Xs,...Zs,...el,...vs,...tl,...al,...ol,...sl,...ll,...nl,...rl,...il,...dl],Vs=_n.map(c=>({value:c,label:c})),wn=[{label:"Sonnet 5.5",from:"claude-sonnet-5-5",to:"claude-sonnet-5-5",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"Sonnet 5",from:"claude-sonnet-5",to:"claude-sonnet-5",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"Sonnet 4",from:"claude-sonnet-4-20250514",to:"claude-sonnet-4-20250514",color:"bg-blue-100 text-blue-700 hover:bg-blue-200 dark:bg-blue-900/30 dark:text-blue-400"},{label:"Sonnet 4.5",from:"claude-sonnet-4-5-20250929",to:"claude-sonnet-4-5-20250929",color:"bg-indigo-100 text-indigo-700 hover:bg-indigo-200 dark:bg-indigo-900/30 dark:text-indigo-400"},{label:"Sonnet 4.6",from:"claude-sonnet-4-6",to:"claude-sonnet-4-6",color:"bg-indigo-100 text-indigo-700 hover:bg-indigo-200 dark:bg-indigo-900/30 dark:text-indigo-400"},{label:"Opus 4.5",from:"claude-opus-4-5-20251101",to:"claude-opus-4-5-20251101",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"Opus 4.6",from:"claude-opus-4-6",to:"claude-opus-4-6",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"Opus 4.7",from:"claude-opus-4-7",to:"claude-opus-4-7",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"Opus 4.8",from:"claude-opus-4-8",to:"claude-opus-4-8",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"Opus 5",from:"claude-opus-5",to:"claude-opus-5",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"Opus 5.5",from:"claude-opus-5-5",to:"claude-opus-5-5",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"Haiku 3.5",from:"claude-3-5-haiku-20241022",to:"claude-3-5-haiku-20241022",color:"bg-green-100 text-green-700 hover:bg-green-200 dark:bg-green-900/30 dark:text-green-400"},{label:"Haiku 4.5",from:"claude-haiku-4-5-20251001",to:"claude-haiku-4-5-20251001",color:"bg-emerald-100 text-emerald-700 hover:bg-emerald-200 dark:bg-emerald-900/30 dark:text-emerald-400"},{label:"Opus->Sonnet",from:"claude-opus-4-6",to:"claude-sonnet-4-5-20250929",color:"bg-amber-100 text-amber-700 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-400"}],$n=[{label:"GPT-5.3 Codex Spark",from:"gpt-5.3-codex-spark",to:"gpt-5.3-codex-spark",color:"bg-teal-100 text-teal-700 hover:bg-teal-200 dark:bg-teal-900/30 dark:text-teal-400"},{label:"GPT-6.1 Sol",from:"gpt-6.1-sol",to:"gpt-6.1-sol",color:"bg-
1amber-100 text-amber-700 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-400"},{label:"GPT-6 Astra",from:"gpt-6-astra",to:"gpt-6-astra",color:"bg-rose-100 text-rose-700 hover:bg-rose-200 dark:bg-rose-900/30 dark:text-rose-400"},{label:"GPT-6 Sol",from:"gpt-6-sol",to:"gpt-6-sol",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"GPT-6 Luna",from:"gpt-6-luna",to:"gpt-6-luna",color:"bg-cyan-100 text-cyan-700 hover:bg-cyan-200 dark:bg-cyan-900/30 dark:text-cyan-400"},{label:"GPT-5.6 Sol",from:"gpt-5.6-sol",to:"gpt-5.6-sol",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"GPT-5.6 Terra",from:"gpt-5.6-terra",to:"gpt-5.6-terra",color:"bg-lime-100 text-lime-700 hover:bg-lime-200 dark:bg-lime-900/30 dark:text-lime-400"},{label:"GPT-5.6 Luna",from:"gpt-5.6-luna",to:"gpt-5.6-luna",color:"bg-cyan-100 text-cyan-700 hover:bg-cyan-200 dark:bg-cyan-900/30 dark:text-cyan-400"},{label:"GPT-5.5",from:"gpt-5.5",to:"gpt-5.5",color:"bg-amber-100 text-amber-700 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-400"},{label:"GPT-5.4",from:"gpt-5.4",to:"gpt-5.4",color:"bg-rose-100 text-rose-700 hover:bg-rose-200 dark:bg-rose-900/30 dark:text-rose-400"},{label:"Haiku→5.4",from:"claude-haiku-4-5-20251001",to:"gpt-5.4",color:"bg-emerald-100 text-emerald-700 hover:bg-emerald-200 dark:bg-emerald-900/30 dark:text-emerald-400"},{label:"Opus→5.4",from:"claude-opus-4-6",to:"gpt-5.4",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"Sonnet→5.4",from:"claude-sonnet-4-6",to:"gpt-5.4",color:"bg-blue-100 text-blue-700 hover:bg-blue-200 dark:bg-blue-900/30 dark:text-blue-400"}],Cn=[{label:"3.8 Flash",from:"gemini-3.8-flash",to:"gemini-3.8-flash",color:"bg-blue-100 text-blue-700 hover:bg-blue-200 dark:bg-blue-900/30 dark:text-blue-400"},{label:"3.7 Flash",from:"gemini-3.7-flash",to:"gemini-3.7-flash",color:"bg-cyan-100 text-cyan-700 hover:bg-cyan-200 dark:bg-cyan-900/30 dark:text-cyan-400"},{label:"3.1 Pro",from:"gemini-3.1-pro-preview",to:"gemini-3.1-pro-preview",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"2.5 Flash",from:"gemini-2.5-flash",to:"gemini-2.5-flash",color:"bg-indigo-100 text-indigo-700 hover:bg-indigo-200 dark:bg-indigo-900/30 dark:text-indigo-400"},{label:"2.5 Image",from:"gemini-2.5-flash-image",to:"gemini-2.5-flash-image",color:"bg-sky-100 text-sky-700 hover:bg-sky-200 dark:bg-sky-900/30 dark:text-sky-400"},{label:"2.5 Pro",from:"gemini-2.5-pro",to:"gemini-2.5-pro",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"3.1 Image",from:"gemini-3.1-flash-image",to:"gemini-3.1-flash-image",color:"bg-sky-100 text-sky-700 hover:bg-sky-200 dark:bg-sky-900/30 dark:text-sky-400"}],Tn=[{label:"Claude→Sonnet",from:"claude-*",to:"claude-sonnet-4-5",color:"bg-blue-100 text-blue-700 hover:bg-blue-200 dark:bg-blue-900/30 dark:text-blue-400"},{label:"Sonnet→Sonnet",from:"claude-sonnet-*",to:"claude-sonnet-4-5",color:"bg-indigo-100 text-indigo-700 hover:bg-indigo-200 dark:bg-indigo-900/30 dark:text-indigo-400"},{label:"Opus→Opus",from:"claude-opus-*",to:"claude-opus-4-6-thinking",color:"bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/30 dark:text-purple-400"},{label:"Haiku→Sonnet",from:"claude-haiku-*",to:"claude-sonnet-4-5",color:"bg-emerald-100 text-emerald-700 hover:bg-emerald-200 dark:bg-emerald-900/30 dark:text-emerald-400"},{label:"Sonnet4→4.6",from:"claude-sonnet-4-20250514",to:"claude-sonnet-4-6",color:"bg-sky-100 text-sky-700 hover:bg-sky-200 dark:bg-sky-900/30 dark:text-sky-400"},{label:"Sonnet4.5→4.6",from:"claude-sonnet-4-5-20250929",to:"claude-sonnet-4-6",color:"bg-cyan-100 text-cyan-700 hover:bg-cyan-200 dark:bg-cyan-900/30 dark:text-cyan-400"},{label:"Sonnet3.5→4.6",from:"claude-3-5-sonnet-20241022",to:"claude-sonnet-4-6",color:"bg-teal-100 text-teal-700 hover:bg-teal-200 dark:bg-teal-900/30 dark:text-teal-400"},{label:"Sonnet→5",from:"claude-sonnet-*",to:"claude-sonnet-5",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"Opus4.5→4.6",from:"claude-opus-4-5-20251101",to:"claude-opus-4-6-thinking",color:"bg-violet-100 text-violet-700 hover:bg-violet-200 dark:bg-violet-900/30 dark:text-violet-400"},{label:"3-Pro-Preview→3.1-Pro-High",from:"gemini-3-pro-preview",to:"gemini-3.1-pro-high",color:"bg-
1amber-100 text-amber-700 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-400"},{label:"3-Pro-High→3.1-Pro-High",from:"gemini-3-pro-high",to:"gemini-3.1-pro-high",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"3-Pro-Low→3.1-Pro-Low",from:"gemini-3-pro-low",to:"gemini-3.1-pro-low",color:"bg-yellow-100 text-yellow-700 hover:bg-yellow-200 dark:bg-yellow-900/30 dark:text-yellow-400"},{label:"3.1-Pro-High透传",from:"gemini-3.1-pro-high",to:"gemini-3.1-pro-high",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"3.1-Pro-Low透传",from:"gemini-3.1-pro-low",to:"gemini-3.1-pro-low",color:"bg-yellow-100 text-yellow-700 hover:bg-yellow-200 dark:bg-yellow-900/30 dark:text-yellow-400"},{label:"Gemini 3→Flash",from:"gemini-3*",to:"gemini-3-flash",color:"bg-yellow-100 text-yellow-700 hover:bg-yellow-200 dark:bg-yellow-900/30 dark:text-yellow-400"},{label:"Gemini 2.5→Flash",from:"gemini-2.5*",to:"gemini-2.5-flash",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"2.5-Flash-Image透传",from:"gemini-2.5-flash-image",to:"gemini-2.5-flash-image",color:"bg-sky-100 text-sky-700 hover:bg-sky-200 dark:bg-sky-900/30 dark:text-sky-400"},{label:"3.1-Flash-Image透传",from:"gemini-3.1-flash-image",to:"gemini-3.1-flash-image",color:"bg-sky-100 text-sky-700 hover:bg-sky-200 dark:bg-sky-900/30 dark:text-sky-400"},{label:"3-Pro-Image→3.1",from:"gemini-3-pro-image",to:"gemini-3.1-flash-image",color:"bg-sky-100 text-sky-700 hover:bg-sky-200 dark:bg-sky-900/30 dark:text-sky-400"},{label:"3-Flash透传",from:"gemini-3-flash",to:"gemini-3-flash",color:"bg-lime-100 text-lime-700 hover:bg-lime-200 dark:bg-lime-900/30 dark:text-lime-400"},{label:"2.5-Flash-Lite透传",from:"gemini-2.5-flash-lite",to:"gemini-2.5-flash-lite",color:"bg-green-100 text-green-700 hover:bg-green-200 dark:bg-green-900/30 dark:text-green-400"},{label:"Sonnet 5.5",from:"claude-sonnet-5-5",to:"claude-sonnet-5-5",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"Sonnet 5",from:"claude-sonnet-5",to:"claude-sonnet-5",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"Sonnet 4.6",from:"claude-sonnet-4-6",to:"claude-sonnet-4-6",color:"bg-cyan-100 text-cyan-700 hover:bg-cyan-200 dark:bg-cyan-900/30 dark:text-cyan-400"},{label:"Sonnet 4.5",from:"claude-sonnet-4-5",to:"claude-sonnet-4-5",color:"bg-cyan-100 text-cyan-700 hover:bg-cyan-200 dark:bg-cyan-900/30 dark:text-cyan-400"},{label:"Opus 4.6",from:"claude-opus-4-6",to:"claude-opus-4-6-thinking",color:"bg-pink-100 text-pink-700 hover:bg-pink-200 dark:bg-pink-900/30 dark:text-pink-400"},{label:"Opus 4.6-thinking",from:"claude-opus-4-6-thinking",to:"claude-opus-4-6-thinking",color:"bg-pink-100 text-pink-700 hover:bg-pink-200 dark:bg-pink-900/30 dark:text-pink-400"},{label:"Opus 4.7",from:"claude-opus-4-7",to:"claude-opus-4-7",color:"bg-pink-100 text-pink-700 hover:bg-pink-200 dark:bg-pink-900/30 dark:text-pink-400"},{label:"Opus 4.8",from:"claude-opus-4-8",to:"claude-opus-4-8",color:"bg-pink-100 text-pink-700 hover:bg-pink-200 dark:bg-pink-900/30 dark:text-pink-400"}],Mn=[{label:"Sonnet 5.5",from:"claude-sonnet-5-5",to:"us.anthropic.claude-sonnet-5-5",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"Sonnet 5",from:"claude-sonnet-5",to:"us.anthropic.claude-sonnet-5",color:"bg-orange-100 text-orange-700 hover:bg-orange-200 dark:bg-orange-900/30 dark:text-orange-400"},{label:"Opus 4.8",from:"claude-opus-4-8",to:"us.anthropic.claude-opus-4-8",color:"bg-pink-100 text-pink-700 hover:bg-pink-200 dark:bg-pink-900/30 dark:text-pink-400"},{label:"Opus 4.6",from:"claude-opus-4-6",to:"us.anthropic.claude-opus-4-6-v1",color:"bg-pink-100 text-pink-700 hover:bg-pink-200 dark:bg-pink-900/30 dark:text-pink-400"},{label:"Opus 4.7",from:"claude-opus-4-7",to:"us.anthropic.claude-opus-4-7-v1",color:"bg-pink-100 text-pink-700 hover:bg-pink-200 dark:bg-pink-900/30 dark:text-pink-400"},{label:"Sonnet 4.6",from:"claude-sonnet-4-6",to:"us.anthropic.claude-sonnet-4-6",color:"bg-cyan-100 text-cyan-700 hover:bg-cyan-200 dark:bg-cyan-900/30 dark:text-cyan-400"},{label:"Opus 4.5",from:"claude-opus-4-5-thinking",to:"us.anthropic.claude-opus-4-5-20251101-v1:0",color:"bg-pink-100 text-pink-700 hover:bg-pink-200 dark:bg-pink-900/30 dark:text-pink-400"},{label:"Sonnet 4.5",from:"claude-sonnet-4-5",to:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",color:"bg-cyan-100 text-cyan-700 hover:bg-cyan-200 dark:bg-cyan-900/30 dark:text-cyan-400"},{label:"Haiku 4.5",from:"claude-haiku-4-5",to:"us.anthropic.claude-haiku-4-5-20251001-v1:0",color:"bg-green-100 text-green-700 hover:bg-green-200 dark:bg-green-900/30 dark:text-green-400"}];let No=null;async function is(){if(No!==null)return No;try{const c=await jl();No=Object.entries(c).map(([A,o])=>({from:A,to:o}))}catch(c){console.warn("[fetchAntigravityDefaultMappings] API failed, using empty fallback",c),No=[]}return No}const ul=[{value:401,label:"Unauthorized"},{value:403,label:"Forbidden"},{value:429,label:"Rate Limit"},{value:500,label:"Server Error"},{value:502,label:"Bad Gateway"},{value:503,label:"Unavailable"},{value:529,label:"Overloaded"}];function ss(c){switch(c){case"openai":return Gs;case"anthropic":case"claude":return os;case"gemini":return Js;case"antigravity":return xn;case"grok":return vs;case"zhipu":return Qs;case"qwen":return Ys;case"deepseek":return Xs;case"mistral":return Zs;case"meta":return el;case"xai":return vs;case"cohere":return tl;case"yi":return al;case"moonshot":return ol;case"doubao":return sl;case"minimax":return ll;case"baidu":return nl;case"spark":return rl;case"hunyuan":return il;case"perplexity":return dl;default:return os}}function yo(c){return c==="openai"?$n:c==="gemini"?Cn:c==="antigravity"?Tn:c==="bedrock"?Mn:c==="grok"?kn:wn}function Do(c){const A=c.indexOf("*");
1return A===-1?!0:A===c.length-1&&c.lastIndexOf("*")===A}function na(c,A,o){const m={};if(c==="whitelist")for(const l of A)l.includes("*")||(m[l]=l);else for(const l of o){const k=l.from.trim(),x=l.to.trim();if(!(!k||!x)){if(!Do(k)){console.warn(`[buildModelMappingObject] 无效的通配符格式,跳过: ${k}`);continue}if(x.includes("*")){console.warn(`[buildModelMappingObject] 目标模型不能包含通配符,跳过: ${k} -> ${x}`);continue}m[k]=x}}return Object.keys(m).length>0?m:null}const bs="fixed",ds="percentage",cl=[{label:"Common",options:[{value:"us-central1",label:"us-central1 (Iowa)"},{value:"global",label:"global"},{value:"us",label:"us"},{value:"eu",label:"eu"}]},{label:"United States",options:[{value:"us-east1",label:"us-east1 (South Carolina)"},{value:"us-east4",label:"us-east4 (Northern Virginia)"},{value:"us-east5",label:"us-east5 (Columbus)"},{value:"us-south1",label:"us-south1 (Dallas)"},{value:"us-west1",label:"us-west1 (Oregon)"},{value:"us-west4",label:"us-west4 (Las Vegas)"}]},{label:"Europe",options:[{value:"europe-west1",label:"europe-west1 (Belgium)"},{value:"europe-west2",label:"europe-west2 (London)"},{value:"europe-west3",label:"europe-west3 (Frankfurt)"},{value:"europe-west4",label:"europe-west4 (Netherlands)"},{value:"europe-west6",label:"europe-west6 (Zurich)"},{value:"europe-west8",label:"europe-west8 (Milan)"},{value:"europe-west9",label:"europe-west9 (Paris)"}]},{label:"Asia Pacific",options:[{value:"asia-east1",label:"asia-east1 (Taiwan)"},{value:"asia-east2",label:"asia-east2 (Hong Kong)"},{value:"asia-northeast1",label:"asia-northeast1 (Tokyo)"},{value:"asia-northeast3",label:"asia-northeast3 (Seoul)"},{value:"asia-south1",label:"asia-south1 (Mumbai)"},{value:"asia-southeast1",label:"asia-southeast1 (Singapore)"},{value:"australia-southeast1",label:"australia-southeast1 (Sydney)"}]}],us=["daily","weekly","total"];function pl(){const c=u(!1),A=fa({daily:{enabled:null,threshold:null,thresholdType:null},weekly:{enabled:null,threshold:null,thresholdType:null},total:{enabled:null,threshold:null,thresholdType:null}});function o(){be.settings.getSettings().then(x=>{c.value=x.account_quota_notify_enabled===!0}).catch(()=>{c.value=!1})}function m(x){for(const L of us)A[L].enabled=(x==null?void 0:x[`quota_notify_${L}_enabled`])??null,A[L].threshold=(x==null?void 0:x[`quota_notify_${L}_threshold`])??null,A[L].thresholdType=(x==null?void 0:x[`quota_notify_${L}_threshold_type`])??null}function l(x,L){for(const R of us){const N=A[R];N.enabled?(x[`quota_notify_${R}_enabled`]=!0,N.threshold!=null?x[`quota_notify_${R}_threshold`]=N.threshold:L==="update"&&delete x[`quota_notify_${R}_threshold`],x[`quota_notify_${R}_threshold_type`]=N.thresholdType||bs):L==="update"&&(delete x[`quota_notify_${R}_enabled`],delete x[`quota_notify_${R}_threshold`],delete x[`quota_notify_${R}_threshold_type`])}}function k(){for(const x of us)A[x].enabled=null,A[x].threshold=null,A[x].thresholdType=null}return{globalEnabled:c,state:A,loadGlobalState:o,loadFromExtra:m,writeToExtra:l,reset:k}}function ml(){const c=ra(),A=u(""),o=u(""),m=u(""),l=u(""),k=u(!1),x=u("");return{authUrl:A,authCode:o,sessionId:m,sessionKey:l,loading:k,error:x,resetState:()=>{A.value="",o.value="",m.value="",l.value="",k.value=!1,x.value=""},generateAuthUrl:async(M,h)=>{var y,ae;k.value=!0,A.value="",m.value="",x.value="";try{const F=h?{proxy_id:h}:{},H=M==="oauth"?"/admin/accounts/generate-auth-url":"/admin/accounts/generate-setup-token-url",J=await be.accounts.generateAuthUrl(H,F);return A.value=J.auth_url,m.value=J.session_id,!0}catch(F){return x.value=((ae=(y=F.response)==null?void 0:y.data)==null?void 0:ae.detail)||"Failed to generate auth URL",c.showError(x.value),!1}finally{k.value=!1}},exchangeAuthCode:async(M,h)=>{var y,ae;if(!o.value.trim()||!m.value)return x.value="Missing auth code or session ID",null;k.value=!0,x.value="";try{const F=h?{proxy_id:h}:{},H=M==="oauth"?"/admin/accounts/exchange-code":"/admin/accounts/exchange-setup-token-code";return await be.accounts.exchangeCode(H,{session_id:m.value,code:o.value.trim(),...F})}catch(F){return x.value=((ae=(y=F.response)==null?void 0:y.data)==null?void 0:ae.detail)||"Failed to exchange auth code",c.showError(x.value),null}finally{k.value=!1}},cookieAuth:async(M,h,y)=>{var ae,F;if(!h.trim())return x.value="Please enter sessionKey",null;k.value=!0,x.value="";try{const H=y?{proxy_id:y}:{},J=M==="oauth"?"/admin/accounts/cookie-auth":"/admin/accounts/setup-token-cookie-auth";
1return await be.accounts.exchangeCode(J,{session_id:"",code:h.trim(),...H})}catch(H){return x.value=((F=(ae=H.response)==null?void 0:ae.data)==null?void 0:F.detail)||"Cookie authorization failed",null}finally{k.value=!1}},parseSessionKeys:M=>M.split(`
2`).map(h=>h.trim()).filter(h=>h),buildExtraInfo:M=>{const h={};return M.org_uuid&&(h.org_uuid=M.org_uuid),M.account_uuid&&(h.account_uuid=M.account_uuid),M.email_address&&(h.email_address=M.email_address),Object.keys(h).length>0?h:void 0}}}function gl(){const c=ra(),{t:A}=Ht(),o="/admin/openai",m=u(""),l=u(""),k=u(""),x=u(!1),L=u("");return{authUrl:m,sessionId:l,oauthState:k,loading:x,error:L,resetState:()=>{m.value="",l.value="",k.value="",x.value=!1,L.value=""},generateAuthUrl:async(h,y)=>{x.value=!0,m.value="",l.value="",k.value="",L.value="";try{const ae={};h&&(ae.proxy_id=h),y&&(ae.redirect_uri=y);const F=await be.accounts.generateAuthUrl(`${o}/generate-auth-url`,ae);m.value=F.auth_url,l.value=F.session_id;try{const H=new URL(F.auth_url);k.value=H.searchParams.get("state")||""}catch{k.value=""}return!0}catch(ae){return L.value=gs(ae,A("admin.accounts.oauth.openai.failedToGenerateUrl")),c.showError(L.value),!1}finally{x.value=!1}},exchangeAuthCode:async(h,y,ae,F)=>{if(!h.trim()||!y||!ae.trim())return L.value="Missing auth code, session ID, or state",null;x.value=!0,L.value="";try{const H={session_id:y,code:h.trim(),state:ae.trim()};return F&&(H.proxy_id=F),await be.accounts.exchangeCode(`${o}/exchange-code`,H)}catch(H){return L.value=Rs(H,A,"admin.accounts.oauth.openai.errors",A("admin.accounts.oauth.openai.failedToExchangeCode")),c.showError(L.value),null}finally{x.value=!1}},validateRefreshToken:async(h,y,ae)=>{if(!h.trim())return L.value="Missing refresh token",null;x.value=!0,L.value="";try{return await be.accounts.refreshOpenAIToken(h.trim(),y,`${o}/refresh-token`,ae)}catch(F){return L.value=Rs(F,A,"admin.accounts.oauth.openai.errors",A("admin.accounts.oauth.openai.failedToValidateRT")),c.showError(L.value),null}finally{x.value=!1}},buildCredentials:h=>{const y={access_token:h.access_token,expires_at:h.expires_at};return h.refresh_token&&(y.refresh_token=h.refresh_token),h.id_token&&(y.id_token=h.id_token),h.email&&(y.email=h.email),h.chatgpt_account_id&&(y.chatgpt_account_id=h.chatgpt_account_id),h.chatgpt_user_id&&(y.chatgpt_user_id=h.chatgpt_user_id
2),h.organization_id&&(y.organization_id=h.organization_id),h.plan_type&&(y.plan_type=h.plan_type),h.client_id&&(y.client_id=h.client_id),y},buildExtraInfo:h=>{const y={};return h.email&&(y.email=h.email),h.name&&(y.name=h.name),h.privacy_mode&&(y.privacy_mode=h.privacy_mode),Object.keys(y).length>0?y:void 0}}}function vl(){const c=ra(),{t:A}=Ht(),o=u(""),m=u(""),l=u(""),k=u(!1),x=u("");return{authUrl:o,sessionId:m,state:l,loading:k,error:x,resetState:()=>{o.value="",m.value="",l.value="",k.value=!1,x.value=""},generateAuthUrl:async(M,h,y,ae)=>{var F,H;k.value=!0,o.value="",m.value="",l.value="",x.value="";try{const J={};M&&(J.proxy_id=M);const Z=h==null?void 0:h.trim();Z&&(J.project_id=Z),y&&(J.oauth_type=y);const ie=ae==null?void 0:ae.trim();ie&&(J.tier_id=ie);const ne=await be.gemini.generateAuthUrl(J);return o.value=ne.auth_url,m.value=ne.session_id,l.value=ne.state,!0}catch(J){return x.value=((H=(F=J.response)==null?void 0:F.data)==null?void 0:H.detail)||A("admin.accounts.oauth.gemini.failedToGenerateUrl"),c.showError(x.value),!1}finally{k.value=!1}},exchangeAuthCode:async M=>{var y,ae,F,H;const h=(y=M.code)==null?void 0:y.trim();if(!h||!M.sessionId||!M.state)return x.value=A("admin.accounts.oauth.gemini.missingExchangeParams"),null;k.value=!0,x.value="";try{const J={session_id:M.sessionId,state:M.state,code:h};M.proxyId&&(J.proxy_id=M.proxyId),M.oauthType&&(J.oauth_type=M.oauthType);const Z=(ae=M.tierId)==null?void 0:ae.trim();return Z&&(J.tier_id=Z),await be.gemini.exchangeCode(J)}catch(J){const Z=J.message||((H=(F=J.response)==null?void 0:F.data)==null?void 0:H.message)||"";return Z.includes("missing project_id")?x.value=A("admin.accounts.oauth.gemini.missingProjectId"):x.value=Z||A("admin.accounts.oauth.gemini.failedToExchangeCode"),c.showError(x.value),null}finally{k.value=!1}},buildCredentials:M=>{let h;return typeof M.expires_at=="number"&&Number.isFinite(M.expires_at)?h=Math.floor(M.expires_at).toString():typeof M.expires_at=="string"&&M.expires_at.trim()&&(h=M.expires_at.trim()),{access_token:M.access_token,refresh_token:M.refresh_token,token_type:M.token_type,expires_at:h,scope:M.scope,project_id:M.project_id,oauth_type:M.oauth_type,tier_id:M.tier_id}},buildExtraInfo:M=>{if(!(!M.extra||typeof M.extra!="object"))return M.extra},getCapabilities:async()=>{try{return await be.gemini.getCapabilities()}catch{return null}}}}function bl(){const c=ra(),{t:A}=Ht(),o=u(""),m=u(""),l=u(""),k=u(!1),x=u("");return{authUrl:o,sessionId:m,state:l,loading:k,error:x,resetState:()=>{o.value="",m.value="",l.value="",k.value=!1,x.value=""},generateAuthUrl:async U=>{var M,h;k.value=!0,o.value="",m.value="",l.value="",x.value="";try{const y={};U&&(y.proxy_id=U);const ae=await be.antigravity.generateAuthUrl(y);return o.value=ae.auth_url,m.value=ae.session_id,l.value=ae.state,!0}catch(y){return x.value=((h=(M=y.response)==null?void 0:M.data)==null?void 0:h.detail)||A("admin.accounts.oauth.antigravity.failedToGenerateUrl"),c.showError(x.value),!1}finally{k.value=!1}},exchangeAuthCode:async U=>{var h,y,ae;const M=(h=U.code)==null?void 0:h.trim();if(!M||!U.sessionId||!U.state)return x.value=A("admin.accounts.oauth.antigravity.missingExchangeParams"),null;k.value=!0,x.value="";try{const F={session_id:U.sessionId,state:U.state,code:M};return U.proxyId&&(F.proxy_id=U.proxyId),await be.antigravity.exchangeCode(F)}catch(F){return x.value=((ae=(y=F.response)==null?void 0:y.data)==null?void 0:ae.detail)||A("admin.accounts.oauth.antigravity.failedToExchangeCode"),c.showError(x.value),null}finally{k.value=!1}},validateRefreshToken:async(U,M)=>{var h,y;if(!U.trim())return x.value=A("admin.accounts.oauth.antigravity.pleaseEnterRefreshToken"),null;k.value=!0,x.value="";try{return await be.antigravity.refreshAntigravityToken(U.trim(),M)}catch(ae){return x.value=((y=(h=ae.response)==null?void 0:h.data)==null?void 0:y.detail)||A("admin.accounts.oauth.antigravity.failedToValidateRT"),null}finally{k.value=!1}},buildCredentials:U=>{let M;return typeof U.expires_at=="number"&&Number.isFinite(U.expires_at)?M=Math.floor(U.expires_at).toString():typeof U.expires_at=="string"&&U.expires_at.trim()&&(M=U.expires_at.trim()),{access_token:U.access_token,refresh_token:U.refresh_token,token_type:U.token_type,expires_at:M,project_id:U.project_id,email:U.email}}}}const Sn=["width","height"],Un=["d","fill"],En=Dt({__name:"ModelIcon",props:{model:{},size:{default:"18px"}},setup(c){const A=c,o={claude:{color:"#D97706",paths:["M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142
2-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"]},openai:{color:"#000000",paths:["M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z"]},gemini:{color:"#4285F4",paths:["M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"]},zhipu:{color:"#3859FF",paths:["M11.991 23.503a.24.24 0 00-.244.248.24.24 0 00.244.249.24.24 0 00.245-.249.24.24 0 00-.22-.247l-.025-.001zM9.671 5.365a1.697 1.697 0 011.099 2.132l-.071.172-.016.04-.018.054c-.07.16-.104.32-.104.498-.035.71.47 1.279 1.186 1.314h.366c1.309.053 2.338 1.173 2.286 2.523-.052 1.332-1.152 2.38-2.478 2.327h-.174c-.715.018-1.274.64-1.239 1.368 0 .124.018.23.053.337.209.373.54.658.96.8.75.23 1.517-.125 1.9-.782l.018-.035c.402-.64 1.17-.96 1.92-.711.854.284 1.378 1.226 1.099 2.167a1.661 1.661 0 01-2.077 1.102 1.711 1.711 0 01-.907-.711l-.017-.035c-.2-.323-.463-.58-.851-.711l-.056-.018a1.646 1.646 0 00-1.954.746 1.66 1.66 0 01-1.065.764 1.677 1.677 0 01-1.989-1.279c-.209-.906.332-1.83 1.257-2.043a1.51 1.51 0 01.296-.035h.018c.68-.071 1.151-.622 1.116-1.333a1.307 1.307 0 00-.227-.693 2.515 2.515 0 01-.366-1.403 2.39 2.39 0 01.366-1.208c.14-.195.21-.444.227-.693.018-.71-.506-1.261-1.186-1.332l-.07-.018a1.43 1.43 0 01-.299-.07l-.05-.019a1.7 1.7 0 01-1.047-2.114 1.68 1.68 0 012.094-1.101zm-5.575 10.11c.26-.264.639-.367.994-.27.355.096.633.379.728.74.095.362-.007.748-.267 1.013-.402.41-1.053.41-1.455 0a1.062 1.062 0 010-1.482zm14.845-.294c.359-.09.738.024.992.297.254.274.344.665.237 1.025-.107.36-.396.634-.756.718-.551.128-1.1-.22-1.23-.781a1.05 1.05 0 01.757-1.26zm-.064-4.39c.314.32.49.753.49 1.206 0 .452-.176.886-.49 1.206-.315.32-.74.5-1.185.5-.444 0-.87-.18-1.184-.5a1.727 1.727 0 010-2.412 1.654 1.654 0 012.3
269 0zm-11.243.163c.364.484.447 1.128.218 1.691a1.665 1.665 0 01-2.188.923c-.855-.36-1.26-1.358-.907-2.228a1.68 1.68 0 011.33-1.038c.593-.08 1.183.169 1.547.652zm11.545-4.221c.368 0 .708.2.892.524.184.324.184.724 0 1.048a1.026 1.026 0 01-.892.524c-.568 0-1.03-.47-1.03-1.048 0-.579.462-1.048 1.03-1.048zm-14.358 0c.368 0 .707.2.891.524.184.324.184.724 0 1.048a1.026 1.026 0 01-.891.524c-.569 0-1.03-.47-1.03-1.048 0-.579.461-1.048 1.03-1.048zm10.031-1.475c.925 0 1.675.764 1.675 1.706s-.75 1.705-1.675 1.705-1.674-.763-1.674-1.705c0-.942.75-1.706 1.674-1.706zm-2.626-.684c.362-.082.653-.356.761-.718a1.062 1.062 0 00-.238-1.028 1.017 1.017 0 00-.996-.294c-.547.14-.881.7-.752 1.257.13.558.675.907 1.225.783zm0 16.876c.359-.087.644-.36.75-.72a1.062 1.062 0 00-.237-1.019 1.018 1.018 0 00-.985-.301 1.037 1.037 0 00-.762.717c-.108.361-.017.754.239 1.028.245.263.606.377.953.305l.043-.01zM17.19 3.5a.631.631 0 00.628-.64c0-.355-.279-.64-.628-.64a.631.631 0 00-.628.64c0 .355.28.64.628.64zm-10.38 0a.631.631 0 00.628-.64c0-.355-.28-.64-.628-.64a.631.631 0 00-.628.64c0 .355.279.64.628.64zm-5.182 7.852a.631.631 0 00-.628.64c0 .354.28.639.628.639a.63.63 0 00.627-.606l.001-.034a.62.62 0 00-.628-.64zm5.182 9.13a.631.631 0 00-.628.64c0 .355.279.64.628.64a.631.631 0 00.628-.64c0-.355-.28-.64-.628-.64zm10.38.018a.631.631 0 00-.628.64c0 .355.28.64.628.64a.631.631 0 00.628-.64c0-.355-.279-.64-.628-.64zm5.182-9.148a.631.631 0 00-.628.64c0 .354.279.639.628.639a.631.631 0 00.628-.64c0-.355-.28-.64-.628-.64zm-.384-4.992a.24.24 0 00.244-.249.24.24 0 00-.244-.249.24.24 0 00-.244.249c0 .142.122.249.244.249zM11.991.497a.24.24 0 00.245-.248A.24.24 0 0011.99 0a.24.24 0 00-.244.249c0 .133.108.236.223.247l.021.001zM2.011 6.36a.24.24 0 00.245-.249.24.24 0 00-.244-.249.24.24 0 00-.244.249.24.24 0 00.244.249zm0 11.263a.24.24 0 00-.243.248.24.24 0 00.244.249.24.24 0 00.244-.249.252.252 0 00-.244-.248zm19.995-.018a.24.24 0 00-.245.248.24.24 0 00.245.25.24.24 0 00.244-.25.252.252 0 00-.244-.248z"]},qwen:{color:"#615EFF",paths:["M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.
2157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z"]},deepseek:{color:"#4D6BFE",paths:["M23.748 4.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434 1.202-.422 1.84.027 1.436.633 2.58 1.838 3.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526 5.526 0 01-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365 11.365 0 00-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055 3.055 0 01-.465.137 9.597 9.597 0 00-2.883-.102c-1.885.21-3.39 1.102-4.497 2.623C.082 8.606-.231 10.684.152 12.85c.403 2.284 1.569 4.175 3.36 5.653 1.858 1.533 3.997 2.284 6.438 2.14 1.482-.085 3.133-.284 4.994-1.86.47.234.962.327 1.78.397.63.059 1.236-.03 1.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926 1.096-1.296 2.746-2.642 3.392-7.003.05-.347.007-.565 0-.845-.004-.17.035-.237.23-.256a4.173 4.173 0 001.545-.475c1.396-.763 1.96-2.015 2.093-3.517.02-.23-.004-.467-.247-.588zM11.581 18c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696 4.696 0 011.529-.039c2.132.312 3.946 1.265 5.468 2.774.868.86 1.525 1.887 2.202 2.891.72 1.066 1.494 2.082 2.48 2.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306 0 01.415-.287.302.302 0 01.2.288.306.306 0 01-.31.307.303.303 0 01-.304-.308zm3.11 1.596c-.2.081-.399.151-.59.16a1.245 1.245 0 01-.798-.254c-.274-.23-.47-.358-.552-.758a1.73 1.73 0 01.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559 0 01-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136 1.146.016.352.144.618.408 1.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z"]},mistral:{color:"#F7D046",paths:["M3.428 3.4h3.429v3.428h3.429v3.429h-.002 3.431V6.828h3.427V3.4h3.43v13.714H24v3.429H13.714v-3.428h-3.428v-3.429h-3.43v3.428h3.43v3.429H0v-3.429h3.428V3.4zm10.286 13.715h3.428v-3.429h-3.427v3.429z"]},meta:{color:"#0668E1",paths:["M6.897 4c1.915 0 3.516.932 5.43 3.376l.282-.373c.19-.246.383-.484.58-.71l.313-.35C14.588 4.788 15.792 4 17.225 4c1.273 0 2.469.557 3.491 1.516l.218.213c1.73 1.765 2.917 4.71 3.053 8.026l.011.392.002.25c0 1.501-.28 2.759-.818 3.7l-.14.23-.108.153c-.301.42-.664.758-1.086 1.009l-.265.142
2-.087.04a3.493 3.493 0 01-.302.118 4.117 4.117 0 01-1.33.208c-.524 0-.996-.067-1.438-.215-.614-.204-1.163-.56-1.726-1.116l-.227-.235c-.753-.812-1.534-1.976-2.493-3.586l-1.43-2.41-.544-.895-1.766 3.13-.343.592C7.597 19.156 6.227 20 4.356 20c-1.21 0-2.205-.42-2.936-1.182l-.168-.184c-.484-.573-.837-1.311-1.043-2.189l-.067-.32a8.69 8.69 0 01-.136-1.288L0 14.468c.002-.745.06-1.49.174-2.23l.1-.573c.298-1.53.828-2.958 1.536-4.157l.209-.34c1.177-1.83 2.789-3.053 4.615-3.16L6.897 4zm-.033 2.615l-.201.01c-.83.083-1.606.673-2.252 1.577l-.138.199-.01.018c-.67 1.017-1.185 2.378-1.456 3.845l-.004.022a12.591 12.591 0 00-.207 2.254l.002.188c.004.18.017.36.04.54l.043.291c.092.503.257.908.486 1.208l.117.137c.303.323.698.492 1.17.492 1.1 0 1.796-.676 3.696-3.641l2.175-3.4.454-.701-.139-.198C9.11 7.3 8.084 6.616 6.864 6.616zm10.196-.552l-.176.007c-.635.048-1.223.359-1.82.933l-.196.198c-.439.462-.887 1.064-1.367 1.807l.266.398c.18.274.362.56.55.858l.293.475 1.396 2.335.695 1.114c.583.926 1.03 1.6 1.408 2.082l.213.262c.282.326.529.54.777.673l.102.05c.227.1.457.138.718.138.176.002.35-.023.518-.073.338-.104.61-.32.813-.637l.095-.163.077-.162c.194-.459.29-1.06.29-1.785l-.006-.449c-.08-2.871-.938-5.372-2.2-6.798l-.176-.189c-.67-.683-1.444-1.074-2.27-1.074z"]},cohere:{color:"#39594D",paths:["M8.128 14.099c.592 0 1.77-.033 3.398-.703 1.897-.781 5.672-2.2 8.395-3.656 1.905-1.018 2.74-2.366 2.74-4.18A4.56 4.56 0 0018.1 1H7.549A6.55 6.55 0 001 7.55c0 3.617 2.745 6.549 7.128 6.549z","M9.912 18.61a4.387 4.387 0 012.705-4.052l3.323-1.38c3.361-1.394 7.06 1.076 7.06 4.715a5.104 5.104 0 01-5.105 5.104l-3.597-.001a4.386 4.386 0 01-4.386-4.387z","M4.776 14.962A3.775 3.775 0 001 18.738v.489a3.776 3.776 0 007.551 0v-.49a3.775 3.775 0 00-3.775-3.775z"]},yi:{color:"#003425",paths:["M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"]},xai:{color:"#000000",paths:["M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815"]},moonshot:{color:"#16191E",paths:["M1.052 16.916l9.539 2.552a21.007 21.007 0 00.06 2.033l5.956 1.593a11.997 11.997 0 01-5.586.865l-.18-.016-.044-.004-.084-.009-.094-.01a11.605 11.605 0 01-.157-.02l-.107-.014-.11-.016a11.962 11.962 0 01-.32-.051l-.042-.008-.075-.013-.107-.02-.07-.015-.093-.019-.075-.016-.095-.02-.097-.023-.094-.022-.068-.017-.088-.022-.09-.024-.095-.025-.082-.023-.109-.03-.062-.02-.084-.025-.093-.028-.105-.034-.058-.019-.08-.026-.09-.031-.066-.024a6.293 6.293 0 01-.044-.015l-.068-.025-.101-.037-.057-.022-.08-.03-.087-.035-.088-.035-.079-.032-.095-.04-.063-.028-.063-.027a5.655 5.655 0 01-.041-.018l-.066-.03-.103-.047-.052-.024-.096-.046-.062-.03-.084-.04-.086-.044-.093-.047-.052-.027-.103-.055-.057-.03-.058-.032a6.49 6.49 0 01-.046-.026l-.094-.053-.06-.034-.051-.03-.072-.041-.082-.05-.093-.056-.052-.032-.084-.053-.061-.039-.079-.05-.07-.047-.053-.035a7.785 7.785 0 01-.054-.036l-.044-.03-.044-.03a6.066 6.066 0 01-.04-.028l-.057-.04-.076-.054-.069-.05-.074-.054-.056-.042-.076-.057-.076-.059-.086-.067-.045-.035-.064-.052-.074-.06-.089-.073-.046-.039-.046-.039a7.516 7.516 0 01-.043-.037l-.045-.04-.061-.053-.07-.062-.068-.06-.062-.058-.067-.062-.053-.05-.088-.084a13.28 13.28 0 01-.099-.097l-.029-.028-.041-.042-.069-.07-.05-.051-.05-.053a6.457 6.457 0 01-.168-.179l-.08-.088-.062-.07-.071-.08-.042-.049-.053-.062-.058-.068-.046-.056a7.175 7.175 0 01-.027-.033l-.045-.055-.066-.082-.041-.052-.05-.064-.02-.025a11.99 11.99 0 01-1.44-2.402zm-1.02-5.794l11.353 3.037a20.468 20.468 0 00-.469 2.011l10.817 2.894a12.076 12.076 0 01-1.845 2.005L.657 15.923l-.016-.046-.035-.104a11.965 11.965 0 01-.05-.153l-.007-.023a11.896 11.896 0 01-.207-.741l-.03-.126-.018-.08-.021-.097-.018-.081-.018-.09-.017-.084-.018-.094c-.026-.141-.05-.283-.071-.426l-.017-.118-.011-.083-.013-.102a12.01 12.01 0 01-.019-.161l-.005-.047a12.12 12.12 0 01-.034-2.145zm1.593-5.15l11.948 3.196c-.368.605-.705 1.231-1.01 1.875l11.295 3.022c-.142.82-.368 1.612-.668 2.365l-11.55-3.09L.124 10.26l.015-.1.008-.049.01-.067.015-.087.018-.098c.026-.148.056-.295.088-.442l.028-.124.02-.085.024-.097c.022-.09.045-.18.07-.268l.028-.102.023-.083.03-.1.025-.082.03-.096.026-.082.031-.095a11.896 11.896 0 011.01-2.232zm4.442-4.4L17.352 4.59a20.77 20.77 0 00-1.688 1.721l7.823 2.093c.267.852.442 1.744.513 2.665L2.106 5.213l.045-.065.027-.04.04-.055.046-.065.055-.076.054-.072.064-.086.05-.065.057-.073.055-.07.06-.074.055-.069.065-.077.054-.066.066-.077.053-.06.072-.082.053-.06.067-.074.054-.058.073-.078.058-.06.063-.067.168-.17.1-.098.059-.056.076-.071a12.084 12.084 0 012.272-1.677zM12.017 0h.097l.082.001.069.001.054.002.068.002.046.001.076.003.047.002.06.003.054.002.087.005.105.007.144.011.088.007.044.004.077.008.082.008.047.005.102.012.05.006.108.014.081.01.042.006.065.01.207.032.07.012.065.011.14.026.092.018.11.022.046.01.075.016.041.01L14.7.3l.042.01.065.015.049.012.071.017.096.024.112.03.113.03.113.032.05.015.07.02.078.024.073.023.05.016.05.016.076.025.099.033.102.036.048.017.064.023.093.034.11.041.116.045.1.04.047.02.06.024.041.018.063.026.04.018.057.025.11.048.1.046.074.035.075.036.06.028.092.046.091.045.102.052.053.028.049.026.046.024.06.033.041.022.052.029.088.05.106.06.087.051.057.034.053.032.096.059.088.055.098.062.036.024.064.041.084.056.04.027.062.042.062.043.023.017c.054.037.108.075.161.114l.083.06.065.048.056.043.086.065.082.064.04.03.05.041.086.069.079.065.085.071c.712.6 1.353 1.283 1.909 2.031L7.222.994l.062-.027.065-.028.081-.034.086-.035c.113-.045.227-.09.341-.131l.096-.035.093-.033.084-.03.096-.031c.087-.03.176-.058.264-.085l.091-.027.086-.025.102-.03.085-.023.1-.026L9.04.37l.09-.023.091-.022.095-.022.09-.02.098-.021.091-.02.095-.018.092-.018.1-.018.091-.016.098-.017.092-.014.097-.015.092-.013.102-.013.091-.012.105-.012.09-.01.105-.01c.093-.01.186-.018.28-.024l.106-.008.09-.005.11-.006.093-.004.1-.004.097-.002.099-.002.197-.002z"]},doubao:{color:"#1C64F2",paths:["M5.31 15.756c.172-3.75 1.883-5.999 2.549-6.739-3.26 2.058-5.425 5.658-6.358 8.308v1.12C1.501 21.513 4.226 24 7.59 24a6.59 6.59 0 002.2-.375c.353-.12.7-.248 1.039-.378.913-.899 1.65-1.91 2.243-2.992-4.877 2.431-7.974.072-7.763-4.5l.002.001z","M22.57 10.283c-1.212-.901-4.109
2-2.404-7.397-2.8.295 3.792.093 8.766-2.1 12.773a12.782 12.782 0 01-2.244 2.992c3.764-1.448 6.746-3.457 8.596-5.219 2.82-2.683 3.353-5.178 3.361-6.66a2.737 2.737 0 00-.216-1.084v-.002zM14.303 1.867C12.955.7 11.248 0 9.39 0 7.532 0 5.883.677 4.545 1.807 2.791 3.29 1.627 5.557 1.5 8.125v9.201c.932-2.65 3.097-6.25 6.357-8.307.5-.318 1.025-.595 1.569-.829 1.883-.801 3.878-.932 5.746-.706-.222-2.83-.718-5.002-.87-5.617h.001z","M17.305 4.961a199.47 199.47 0 01-1.08-1.094c-.202-.213-.398-.419-.586-.622l-1.333-1.378c.151.615.648 2.786.869 5.617 3.288.395 6.185 1.898 7.396 2.8-1.306-1.275-3.475-3.487-5.266-5.323z"]},minimax:{color:"#F23F5D",paths:["M16.278 2c1.156 0 2.093.927 2.093 2.07v12.501a.74.74 0 00.744.709.74.74 0 00.743-.709V9.099a2.06 2.06 0 012.071-2.049A2.06 2.06 0 0124 9.1v6.561a.649.649 0 01-.652.645.649.649 0 01-.653-.645V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v7.472a2.037 2.037 0 01-2.048 2.026 2.037 2.037 0 01-2.048-2.026v-12.5a.785.785 0 00-.788-.753.785.785 0 00-.789.752l-.001 15.904A2.037 2.037 0 0113.441 22a2.037 2.037 0 01-2.048-2.026V18.04c0-.356.292-.645.652-.645.36 0 .652.289.652.645v1.934c0 .263.142.506.372.638.23.131.514.131.744 0a.734.734 0 00.372-.638V4.07c0-1.143.937-2.07 2.093-2.07zm-5.674 0c1.156 0 2.093.927 2.093 2.07v11.523a.648.648 0 01-.652.645.648.648 0 01-.652-.645V4.07a.785.785 0 00-.789-.78.785.785 0 00-.789.78v14.013a2.06 2.06 0 01-2.07 2.048 2.06 2.06 0 01-2.071-2.048V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v3.8a2.06 2.06 0 01-2.071 2.049A2.06 2.06 0 010 12.9v-1.378c0-.357.292-.646.652-.646.36 0 .653.29.653.646V12.9c0 .418.343.757.766.757s.766-.339.766-.757V9.099a2.06 2.06 0 012.07-2.048 2.06 2.06 0 012.071 2.048v8.984c0 .419.343.758.767.758.423 0 .766-.339.766-.758V4.07c0-1.143.937-2.07 2.093-2.07z"]},wenxin:{color:"#167ADF",paths:["M8.859 11.735c1.017-1.71 4.059-3.083 6.202.286 1.579 2.284 4.284 4.397 4.284 4.397s2.027 1.601.73 4.684c-1.24 2.956-5.64 1.607-6.005 1.49l-.024-.009s-1.746-.568-3.776-.112c-2.026.458-3.773.286-3.773.286l-.045-.001c-.328-.01-2.38-.187-3.001-2.968-.675-3.028 2.365-4.687 2.592-4.968.226-.288 1.802-1.37 2.816-3.085zm.986 1.738v2.032h-1.64s-1.64.138-2.213 2.014c-.2 1.252.177 1.99.242 2.148.067.157.596 1.073 1.927 1.342h3.078v-7.514l-1.394-.022zm3.588 2.191l-1.44.024v3.956s.064.985 1.44 1.344h3.541v-5.3h-1.528v3.979h-1.46s-.466-.068-.553-.447v-3.556zM9.82 16.715v3.06H8.58s-.863-.045-1.126-1.049c-.136-.445.02-.959.088-1.16.063-.203.353-.671.951-.85H9.82zm9.525-9.036c2.086 0 2.646 2.06 2.646 2.742 0 .688.284 3.597-2.309 3.655-2.595.057-2.704-1.77-2.704-3.08 0-1.374.277-3.317 2.367-3.317zM4.24 6.08c1.523-.135 2.645 1.55 2.762 2.513.07.625.393 3.486-1.975 4-2.364.515-3.244-2.249-2.984-3.544 0 0 .28-2.797 2.197-2.969zm8.847-1.483c.14-1.31 1.69-3.316 2.931-3.028 1.236.285 2.367 1.944 2.137 3.37-.224 1.428-1.345 3.313-3.095 3.082-1.748-.226-2.143-1.823-1.973-3.424zM9.425 1c1.307 0 2.364 1.519 2.364 3.398 0 1.879-1.057 3.4-2.364 3.4s-2.367-1.521-2.367-3.4C7.058 2.518 8.118 1 9.425 1z"]},spark:{color:"#0070F0",paths:["M11.615 0l6.237 6.107c2.382 2.338 2.823 3.743 3.161 6.15-1.197-1.732-1.776-2.02-4.504-2.772C12.48 8.374 11.095 5.933 11.615 0z","M9.32 2.122C4.771 6.367 2 9.182 2 13.08c0 5.76 4.288 9.788 9.745 9.918 5.457.13 9.441-5.284 9.095-8.403-.347-3.118-4.418-3.81-4.418-3.81 1.69 3.16-.13 8.098-4.894 8.098-5.154 0-6.8-6.02-4.2-9.008.82 1.617 1.879 2.563 2.674 3.273.717.64 1.219 1.09 1.136 1.664-.173 1.213-1.385.866-1.385.866.346.607 3.6 1.473 4.59-1.342.613-1.741-.423-2.789-1.714-4.096-1.632-1.651-3.672-3.717-3.31-8.118z"]},hunyuan:{color:"#0053E0",paths:["M12 0c6.627 0 12 5.373 12 12s-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0zm1.652 1.123l-.01-.001c.533.097 1.023.233 1.41.404 6.084 2.683 7.396 9.214 1.601 14.338a3.781 3.781 0 01-5.337-.328 3.654 3.654 0 01-.884-3.044c-1.934.6-3.295 2.305-3.524 4.45-.204 1.912.324 4.044 2.056 5.634l.245.067C10.1 22.876 11.036 23 12 23c6.075 0 11-4.925 11-11 0-5.513-4.056-10.08-9.348-10.877zM2.748 6.21c-.178.269-.348.536-.51.803l-.235.394.078-.167A10.957 10.957 0 001 12c0 4.919 3.228 9.083 7.682 10.49l.214.065C3.523 18.528 2.84 14.149 6.47 8.68A2.234 2.234 0 102.748 6.21zm10.157-5.172c4.408 1.33 3.61 5.41 2.447 6.924-.86 1.117-2.922 1.46-3.708 2.238-.666.657-1.077 1.462-1.212 2.291A5.303 5.303 0 0112 12.258a5.672 5.672 0 001.404-11.169 10.51 10.51 0 00-.5-.052z"]},cloudflare:{color:"#F38020",paths:["M16.493 17.4c.135-.52.08-.983-.161-1.338-.215-.328-.592-.519-1.05-.519l-8.663-.109a.148.148 0 01-.135-.082c-.027-.054-.027-.109-.027-.163.027-.082.108-.164.189-.164l8.744-.11c1.05-.054 2.153-.9 2.556-1.937l.511-1.31c.
2027-.055.027-.11.027-.164C17.92 8.91 15.66 7 12.942 7c-2.503 0-4.628 1.638-5.381 3.903a2.432 2.432 0 00-1.803-.491c-1.21.109-2.153 1.092-2.287 2.32-.027.328 0 .628.054.9C1.56 13.688 0 15.326 0 17.319c0 .19.027.355.027.545 0 .082.08.137.161.137h15.983c.08 0 .188-.055.215-.164l.107-.437","M19.238 11.75h-.242c-.054 0-.108.054-.135.109l-.35 1.2c-.134.52-.08.983.162 1.338.215.328.592.518 1.05.518l1.855.11c.054 0 .108.027.135.082.027.054.027.109.027.163-.027.082-.108.164-.188.164l-1.91.11c-1.05.054-2.153.9-2.557 1.937l-.134.355c-.027.055.026.137.107.137h6.592c.081 0 .162-.055.162-.137.107-.41.188-.846.188-1.31-.027-2.62-2.153-4.777-4.762-4.777"]},midjourney:{color:"#000000",paths:["M22.369 17.676c-1.387 1.259-3.17 2.378-5.332 3.417.044.03.086.057.13.083l.018.01.019.012c.216.123.42.184.641.184.222 0 .426-.061.642-.184l.018-.011.019-.011c.14-.084.266-.178.492-.366l.178-.148c.279-.232.426-.342.625-.456.304-.174.612-.266.949-.266.337 0 .645.092.949.266l.023.014c.188.109.334.219.602.442l.178.148c.221.184.346.278.483.36l.028.017.018.01c.21.12.407.181.62.185h.022a.31.31 0 110 .618c-.337 0-.645-.092-.95-.266a3.137 3.137 0 01-.09-.054l-.022-.014-.022-.013-.02-.014a5.356 5.356 0 01-.49-.377l-.159-.132a3.836 3.836 0 00-.483-.36l-.027-.017-.019-.01a1.256 1.256 0 00-.641-.185c-.222 0-.426.061-.641.184l-.02.011-.018.011c-.14.084-.266.178-.492.366l-.158.132a5.125 5.125 0 01-.51.39l-.022.014-.022.014-.09.054a1.868 1.868 0 01-.95.266c-.337 0-.644-.092-.949-.266a3.137 3.137 0 01-.09-.054l-.022-.014-.022-.013-.026-.017a4.881 4.881 0 01-.425-.325.308.308 0 01-.12-.1l-.098-.081a3.836 3.836 0 00-.483-.36l-.027-.017-.019-.01a1.256 1.256 0 00-.641-.185c-.222 0-.426.061-.642.184l-.018.011-.019.011c-.14.084-.266.178-.492.366l-.158.132a5.125 5.125 0 01-.51.39l-.023.014-.022.014-.09.054A1.868 1.868 0 0112 22c-.337 0-.645-.092-.949-.266a3.137 3.137 0 01-.09-.054l-.022-.014-.022-.013-.021-.014a5.356 5.356 0 01-.49-.377l-.158-.132a3.836 3.836 0 00-.483-.36l-.028-.017-.018-.01a1.256 1.256 0 00-.642-.185c-.221 0-.425.061-.641.184l-.019.011-.018.011c-.141.084-.266.178-.492.366l-.158.132a5.125 5.125 0 01-.511.39l-.022.014-.022.014-.09.054a1.868 1.868 0 01-.986.264c-.746-.09-1.319-.38-1.89-.866l-.035-.03c-.047-.041-.118-.106-.192-.174l-.196-.181-.107-.1-.011-.01a1.531 1.531 0 00-.336-.253.313.313 0 00-.095-.03h-.005c-.119.022-.238.059-.361.11a.308.308 0 01-.077.061l-.008.005a.309.309 0 01-.126.034 5.66 5.66 0 00-.774.518l-.416.324-.055.043a6.542 6.542 0 01-.324.236c-.305.207-.552.315-.8.315a.31.31 0 01-.01-.618h.01c.09 0 .235-.062.438-.198l.04-.027c.077-.054.163-.117.27-.199l.385-.301.06-.047c.268-.206.506-.373.73-.505l-.633-1.21a.309.309 0 01.254-.451l20.287-1.305a.309.309 0 01.228.537zm-1.118.14L2.369 19.03l.423.809c.128-.045.256-.078.388-.1a.31.31 0 01.052-.005c.132 0 .26.032.386.093.153.073.294.179.483.35l.016.015.092.086.144.134.097.089c.065.06.125.114.16.144.485.418.948.658 1.554.736h.011a1.25 1.25 0 00.6-.172l.021-.011.019-.011.018-.011c.141-.084.266-.178.492-.366l.178-.148c.279-.232.426-.342.625-.456.305-.174.612-.266.95-.266.336 0 .644.092.948.266l.023.014c.188.109.335.219.603.442l.177.148c.222.184.346.278.484.36l.027.017.019.01c.215.124.42.185.641.185.222 0 .426-.061.641-.184l.019-.011.018-.011c.141-.084.267-.178.493-.366l.177-.148c.28-.232.427-.342.626-.456.304-.174.612-.266.949-.266.337 0 .644.092.949.266l.025.015c.187.109.334.22.603.443 1.867-.878 3.448-1.811 4.73-2.832l.02-.016zM3.653 2.026C6.073 3.06 8.69 4.941 10.8 7.258c2.46 2.7 4.109 5.828 4.637 9.149a.31.31 0 01-.421.335c-2.348-.945-4.54-1.258-6.59-1.02-1.739.2-3.337.792-4.816 1.703-.294.182-.62-.182-.405-.454 1.856-2.355 2.581-4.99 2.343-7.794-.195-2.292-1.031-4.61-2.284-6.709a.31.31 0 01.388-.442zM10.04 4.45c1.778.543 3.892 2.102 5.782 4.243 1.984 2.248 3.552 4.934 4.347 7.582a.31.31 0 01-.401.38l-.022-.01-.386-.154a10.594 10.594 0 00-.291-.112l-.016-.006c-.68-.247-1.199-.291-1.944-.101a.31.31 0 01-.375-.218C15.378 11.123 13.073 7.276 9.775 5c-.291-.201-.072-.653.266-.55zM4.273 2.996l.008.015c1.028 1.94 1.708 4.031 1.885 6.113.213 2.513-.31 4.906-1.673 7.092l-.02.031.003-.001c1.198-.581 2.47-.969 3.825-1.132l.055-.006c1.981-.23 4.083.029 6.309.837l.066.025-.007-.039c-.593-2.95-2.108-5.737-4.31-8.179l-.07-.078c-1.785-1.96-3.944-3.6-6.014-4.65l-.057-.028zm7.92 3.238l.048.048c2.237 2.295 3.885 5.431 4.974 9.191l.038.132.022-.004c.71-.133 1.284-.063 1.963.18l.027.01.066.024.046.018-.025-.073c-.811-2.307-2.208-4.62-3.936-6.594l-.058-.065c-1.02-1.155-2.103-2.132-3.15-2.856l-.015-.011z"]},perplexity:{color:"#22B8CD",paths:["M19.785 0v7.272H22.5V17.62h-2.935V24l-7.037-6.194v6.145h-1.091v-6.152L4.392 24v-6.465H1.5V7.188h2.884V0l7.053 6.494V.19h1.09v6.49L19.786 0zm-7.257 9.044v7.319l5.946 5.234V14.44l-5.946-5.397zm-1.099-.08l-5.946 5.398v7.235l5.946-5.234V8.965zm8.136 7.58h1.844V8.349H13.46l6.105 5.54v2.655zm-8.982-8.28H2.59v8.195h1.8v-2.576l6.192-5.62zM5.475 2.476v4.71h5.115l-5.115-4.71zm13.219 0l-5.115 4.71h5.115v-4.71z"]},jina:{color:"#000000",paths:["M6.608 21.416a4.608 4.608 0 100-9.217 4.608 4.608 0 000 9.217zM20.894 2.015c.614 0 1.106.492 1.106 1.106v9.002c0 5.13-4.148 9.309-9.217 9.37v-9.355l-.03-9.032c0-.614.491-1.106 1.106-1.106h7.158l-.123.015z"]},openrouter:{color:"#6566F1",paths:["M16.804 1.957l7.22 4.105v.087L16.73 10.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147 1.352L8.345 11.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314 1.17.796 2.701 1.866 1.11.775 2.083 1.177 3.147 1.352l.3.045c.694.091 1.375.094 2.825.033l.022-2.159 7.22 4.105v.087L16.589 22l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997 21.997 0 00-.755-.498l-.467-.28a55.927 55.927 0 00-.76-.43C2.908 14.73.563 14.116 0 14.116V9.888l.14.004c.564-.007 2.91-.622 3.809-1.124l1.016-.58.438-.274c.428-.28 1.072-.726 2.686-1.853 1.62
21-1.133 3.186-1.78 4.881-2.059 1.152-.19 1.974-.213 3.814-.138l.02-1.907z"]},suno:{color:"#000000",paths:["M16.5 0C20.642 0 24 5.373 24 12h-9c0 6.627-3.358 12-7.5 12C3.358 24 0 18.627 0 12h9c0-6.627 3.358-12 7.5-12z"]},ollama:{color:"#000000",paths:["M7.905 1.09c.216.085.411.225.588.41.295.306.544.744.734 1.263.191.522.315 1.1.362 1.68a5.054 5.054 0 012.049-.636l.051-.004c.87-.07 1.73.087 2.48.474.101.053.2.11.297.17.05-.569.172-1.134.36-1.644.19-.52.439-.957.733-1.264a1.67 1.67 0 01.589-.41c.257-.1.53-.118.796-.042.401.114.745.368 1.016.737.248.337.434.769.561 1.287.23.934.27 2.163.115 3.645l.053.04.026.019c.757.576 1.284 1.397 1.563 2.35.435 1.487.216 3.155-.534 4.088l-.018.021.002.003c.417.762.67 1.567.724 2.4l.002.03c.064 1.065-.2 2.137-.814 3.19l-.007.01.01.024c.472 1.157.62 2.322.438 3.486l-.006.039a.651.651 0 01-.747.536.648.648 0 01-.54-.742c.167-1.033.01-2.069-.48-3.123a.643.643 0 01.04-.617l.004-.006c.604-.924.854-1.83.8-2.72-.046-.779-.325-1.544-.8-2.273a.644.644 0 01.18-.886l.009-.006c.243-.159.467-.565.58-1.12a4.229 4.229 0 00-.095-1.974c-.205-.7-.58-1.284-1.105-1.683-.595-.454-1.383-.673-2.38-.61a.653.653 0 01-.632-.371c-.314-.665-.772-1.141-1.343-1.436a3.288 3.288 0 00-1.772-.332c-1.245.099-2.343.801-2.67 1.686a.652.652 0 01-.61.425c-1.067.002-1.893.252-2.497.703-.522.39-.878.935-1.066 1.588a4.07 4.07 0 00-.068 1.886c.112.558.331 1.02.582 1.269l.008.007c.212.207.257.53.109.785-.36.622-.629 1.549-.673 2.44-.05 1.018.186 1.902.719 2.536l.016.019a.643.643 0 01.095.69c-.576 1.236-.753 2.252-.562 3.052a.652.652 0 01-1.269.298c-.243-1.018-.078-2.184.473-3.498l.014-.035-.008-.012a4.339 4.339 0 01-.598-1.309l-.005-.019a5.764 5.764 0 01-.177-1.785c.044-.91.278-1.842.622-2.59l.012-.026-.002-.002c-.293-.418-.51-.953-.63-1.545l-.005-.024a5.352 5.352 0 01.093-2.49c.262-.915.777-1.701 1.536-2.269.06-.045.123-.09.186-.132-.159-1.493-.119-2.73.112-3.67.127-.518.314-.95.562-1.287.27-.368.614-.622 1.015-.737.266-.076.54-.059.797.042zm4.116 9.09c.936 0 1.8.313 2.446.855.63.527 1.005 1.235 1.005 1.94 0 .888-.406 1.58-1.133 2.022-.62.375-1.451.557-2.403.557-1.009 0-1.871-.259-2.493-.734-.617-.47-.963-1.13-.963-1.845 0-.707.398-1.417 1.056-1.946.668-.537 1.55-.849 2.485-.849zm0 .896a3.07 3.07 0 00-1.916.65c-.461.37-.722.835-.722 1.25 0 .428.21.829.61 1.134.455.347 1.124.548 1.943.548.799 0 1.473-.147 1.932-.426.463-.28.7-.686.7-1.257 0-.423-.246-.89-.683-1.256-.484-.405-1.14-.643-1.864-.643zm.662 1.21l.004.004c.12.151.095.37-.056.49l-.292.23v.446a.375.375 0 01-.376.373.375.375 0 01-.376-.373v-.46l-.271-.218a.347.347 0 01-.052-.49.353.353 0 01.494-.051l.215.172.22-.174a.353.353 0 01.49.051zm-5.04-1.919c.478 0 .867.39.867.871a.87.87 0 01-.868.871.87.87 0 01-.867-.87.87.87 0 01.867-.872zm8.706 0c.48 0 .868.39.868.871a.87.87 0 01-.868.871.87.87 0 01-.867-.87.87.87 0 01.867-.872zM7.44 2.3l-.003.002a.659.659 0 00-.285.238l-.005.006c-.138.189-.258.467-.348.832-.17.692-.216 1.631-.124 2.782.43-.128.899-.208 1.404-.237l.01-.001.019-.034c.046-.082.095-.161.148-.239.123-.771.022-1.692-.253-2.444-.134-.364-.297-.65-.453-.813a.628.628 0 00-.107-.09L7.44 2.3zm9.174.04l-.002.001a.628.628 0 00-.107.09c-.156.163-.32.45-.453.814-.29.794-.387 1.776-.23 2.572l.058.097.008.014h.03a5.184 5.184 0 011.466.212c.086-1.124.038-2.043-.128-2.722-.09-.365-.21-.643-.349-.832l-.004-.006a.659.659 0 00-.285-.239h-.004z"]},ai360:{color:"#23B7E5",paths:["M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"]},dify:{color:"#1677FF",paths:["M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"]},coze:{color:"#5436F5",paths:["M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"]}},m=P(()=>A.model.charAt(0).toUpperCase()),l=P(()=>{const x=A.model.toLowerCase();return x.startsWith("gpt")||x.startsWith("o1")||x.startsWith("o3")||x.startsWith("o4")||x.includes("chatgpt")||x.includes("dall-e")||x.includes("whisper")||x.includes("tts-1")||x.includes("text-embedding-3")||x.includes("text-moderation")||x.includes("babbage")||x.includes("davinci")||x.includes("curie")||x.includes("ada")?"openai":x.includes("claude")?"claude":x.includes("gemini")||x.includes("gemma")||x.includes("learnlm")||x.includes("imagen-")||x.includes("veo-")?"gemini":x.includes("glm")||x.includes("chatglm")||x.includes("cogview")||x.includes("cogvideo")?"zhipu":x.includes("qwen")||x.includes("qwq")?"qwen":x.includes("deepseek")?"deepseek":x.includes("mistral")||x.includes("mixtral")||x.includes("codestral")||x.includes("pixtral")||x.includes("voxtral")||x.includes("magistral")?"mistral":x.includes("llama")?"meta":x.includes("command")||x.includes("c4ai-")||x.includes("embed-")?"cohere":x.startsWith("yi-")||x.startsWith("yi ")?"yi":x.includes("grok")?"xai":x.includes("moonshot")||x.includes("kimi")?"moonshot":x.includes("doubao")?"doubao":x.includes("abab")||x.includes("minimax")?"minimax":x.includes("ernie")||x.includes("wenxin")?"wenxin":x.includes("spark")?"spark":x.includes("hunyuan")?"hunyuan":x.includes("@cf/")?"cloudflare":x.includes("mj_")||x.includes("midjourney")?"midjourney":x.includes("perplexity")||x.includes("pplx")?"perplexity":x.includes("jina")?"jina":x.includes("openrouter")?"openrouter":x.includes("suno")?"suno":x.includes("ollama")?"ollama":x.includes("360")?"ai360":x.includes("dify")?"dify":x.includes("coze")?"coze":null}),k=P(()=>l.value?o[l.value]:null);return(x,L)=>k.value?(n(),r("svg",{key:0,width:c.size,height:c.size,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",class:"model-icon",fill:"currentColor","fill-rule":"evenodd"},[(n(!0),r(me,null,$e(k.value.paths,(R,N)=>(n(),r("path",{key:N,d:R,fill:k.value.color},null,8,Un))),128))],8,Sn)):(n(),r("span",{key:1,class:"model-icon-fallback",style:Il({width:c.size,height:c.size,fontSize:`calc(${c.size} * 0.5)`})},a(m.value),5))}}),Is=Hs(En,[["__scopeId","data-v-c5cd77df"]]),An={class:"relative mb-3"},qn={class:"grid grid-cols-2 gap-1.5"},Rn={class:"flex items-center gap-1 truncate"},Pn={class:"truncate"},Vn=["onClick"],In={class:"mt-2 flex items-center justify-between border-t border-gray-200 pt-2 dark:border-dark-600"},zn={class:"text-xs text-gray-400"},Ln={key:0,class:"absolute left-0 right-0 top-full z-50 mt-1 rounded-lg border border-gray-200 bg-white shadow-lg dark:border-dark-600 dark:bg-dark-700"},On={class:"sticky top-0 border-b border-gray-200 bg-white p-2 dark:border-dark-600 dark:bg-dark-700"},Nn=["placeholder"],jn={class:"max-h-52 overflow-auto"},Dn=["onClick"],Fn={key:0,class:"h-3 w-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Hn={class:"truncate text-gray-900 dark:text-white"},Bn={key:0,class:"px-3 py-4 text-center text-sm text-gray-500"},Wn={class:"mb-4 flex flex-wrap gap-2"},Kn={class:"mb-3"},Gn={class:"mb-1.5 block text-sm font-medium text-gray-700 dark:text-gray-300"},Jn={class:"flex gap-2"},Qn=["placeholder","onKeydown"],lo=Dt({__name:"ModelWhitelistSelector",props:{modelValue:{},platform:{},platforms:{}},emits:["update:modelValue"],setup(c,{emit:A}){const{t:o}=Ht(),m=c,l=A,k=ra(),x=u(!1),L=u(""),R=u(""),N=u(!1),K=P(()=>{const Z=m.platforms&&m.platforms.length>0?m.platforms:m.platform?[m.platform]:[];return Array.from(new Set(Z.map(ie=>ie==null?void 0:ie.trim()).filter(ie=>!!ie)))}),S=P(()=>{if(K.value.length===0)return Vs;const Z=new Set;for(const ie of K.value)for(const ne of ss(ie))Z.add(ne);return Vs.filter(ie=>Z.has(ie.value))}),U=P(()=>{const Z=L.value.toLowerCase().trim();return Z?S.value.filter(ie=>ie.value.toLowerCase().includes(Z)||ie.label.toLowerCase().includes(Z)):S.value}),M=()=>{x.value=!x.value,x.value||(L.value="")},h=Z=>{l("update:modelValue",m.modelValue.filter(ie=>ie!==Z))},y=Z=>{m.modelValue.includes(Z)?h(Z):l("update:modelValue",[...m.modelValue,Z])},ae=()=>{const Z=R.value.trim();if(Z){if(m.modelValue.includes(Z)){k.showInfo(o("admin.accounts.modelExists"));return}l("update:modelValue",[...m.modelValue,Z]),R.value=""}},F=()=>{N.value||ae()},H=()=>{const Z=[...m.modelValue];for(const ie of K.value)for(const ne of ss(ie))Z.includes(ne)||Z.push(ne);l("update:modelValue",Z)},J=()=>{l("update:modelValue",[])};return(Z,ie)=>(n(),r("div",null,[e("div",An,[e("div",{onClick:M,class:"cursor-pointer rounded-lg border border-gray-300 bg-white px-3 py-2 dark:border-dark-500 dark:bg-dark-700"},[e("div",qn,[(n(!0),r(me,null,$e(c.modelValue,ne=>(n(),r("span",{key:ne,class:"inline-flex items-center justify-between gap-1 rounded bg-gray-100 px-2 py-1 text-xs text-gray-700 dark:bg-dark-600 dark:text-gray-300"},[e("span",Rn,[E(Is,{model:ne,size:"14px"},null,8,["model"]),e("span",Pn,a(ne),1)]),e("button",{type:"button",onClick:Xt(z=>h(ne),["stop"]),class:"shrink-0 rounded-full hover:bg-gray-200 dark:hover:bg-dark-500"}
2,[E(te,{name:"x",size:"xs",class:"h-3.5 w-3.5","stroke-width":2})],8,Vn)]))),128))]),e("div",In,[e("span",zn,a(t(o)("admin.accounts.modelCount",{count:c.modelValue.length})),1),ie[5]||(ie[5]=e("svg",{class:"h-5 w-5 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))])]),x.value?(n(),r("div",Ln,[e("div",On,[T(e("input",{"onUpdate:modelValue":ie[0]||(ie[0]=ne=>L.value=ne),type:"text",class:"input w-full text-sm",placeholder:t(o)("admin.accounts.searchModels"),onClick:ie[1]||(ie[1]=Xt(()=>{},["stop"]))},null,8,Nn),[[B,L.value]])]),e("div",jn,[(n(!0),r(me,null,$e(U.value,ne=>(n(),r("button",{key:ne.value,type:"button",onClick:z=>y(ne.value),class:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-gray-100 dark:hover:bg-dark-600"},[e("span",{class:C(["flex h-4 w-4 shrink-0 items-center justify-center rounded border",c.modelValue.includes(ne.value)?"border-primary-500 bg-primary-500 text-white":"border-gray-300 dark:border-dark-500"])},[c.modelValue.includes(ne.value)?(n(),r("svg",Fn,[...ie[6]||(ie[6]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3",d:"M5 13l4 4L19 7"},null,-1)])])):v("",!0)],2),E(Is,{model:ne.value,size:"18px"},null,8,["model"]),e("span",Hn,a(ne.value),1)],8,Dn))),128)),U.value.length===0?(n(),r("div",Bn,a(t(o)("admin.accounts.noMatchingModels")),1)):v("",!0)])])):v("",!0)]),e("div",Wn,[e("button",{type:"button",onClick:H,class:"rounded-lg border border-blue-200 px-3 py-1.5 text-sm text-blue-600 hover:bg-blue-50 dark:border-blue-800 dark:text-blue-400 dark:hover:bg-blue-900/30"},a(t(o)("admin.accounts.fillRelatedModels")),1),e("button",{type:"button",onClick:J,class:"rounded-lg border border-red-200 px-3 py-1.5 text-sm text-red-600 hover:bg-red-50 dark:border-red-800 dark:text-red-400 dark:hover:bg-red-900/30"},a(t(o)("admin.accounts.clearAllModels")),1)]),e("div",Kn,[e("label",Gn,a(t(o)("admin.accounts.customModelName")),1),e("div",Jn,[T(e("input",{"onUpdate:modelValue":ie[2]||(ie[2]=ne=>R.value=ne),type:"text",class:"input flex-1",placeholder:t(o)("admin.accounts.enterCustomModelName"),onKeydown:Fo(Xt(F,["prevent"]),["enter"]),onCompositionstart:ie[3]||(ie[3]=ne=>N.value=!0),onCompositionend:ie[4]||(ie[4]=ne=>N.value=!1)},null,40,Qn),[[B,R.value]]),e("button",{type:"button",onClick:ae,class:"rounded-lg bg-primary-50 px-4 py-2 text-sm font-medium text-primary-600 hover:bg-primary-100 dark:bg-primary-900/30 dark:text-primary-400 dark:hover:bg-primary-900/50"},a(t(o)("admin.accounts.addModel")),1)])])]))}}),Yn={class:"flex items-center gap-1.5"},Xn=["value","max","step"],Zn=["value"],er=["value"],tr=["value"],ar=Dt({__name:"QuotaNotifyToggle",props:{enabled:{type:[Boolean,null]},threshold:{},thresholdType:{}},emits:["update:enabled","update:threshold","update:thresholdType"],setup(c,{emit:A}){const o=A;return(m,l)=>(n(),r("div",Yn,[e("button",{type:"button",onClick:l[0]||(l[0]=k=>o("update:enabled",!c.enabled)),class:C(["relative inline-flex h-5 w-9 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none",c.enabled?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-4 w-4 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",c.enabled?"translate-x-4":"translate-x-0"])},null,2)],2),c.enabled?(n(),r(me,{key:0},[e("input",{value:c.threshold,onInput:l[1]||(l[1]=k=>o("update:threshold",parseFloat(k.target.value)||null)),type:"number",min:"0",max:c.thresholdType===t(ds)?100:void 0,step:c.thresholdType===t(ds)?1:.01,class:"input py-1 text-sm flex-1 min-w-0"},null,40,Xn),e("select",{value:c.thresholdType||t(bs),onChange:l[2]||(l[2]=k=>o("update:thresholdType",k.target.value)),class:"input py-1 text-xs w-[4.5rem] flex-shrink-0 text-center"},[e("option",{value:t(bs)},"$",8,er),e("option",{value:t(ds)},"%",8,tr)],40,Zn)],64)):v("",!0)]))}}),or={key:0,class:"flex items-center gap-2 mb-1"},sr={class:"text-xs font-medium text-gray-700 dark:text-gray-300 flex-1 min-w-0"},lr={key:0,class:"text-xs font-medium text-gray-700 dark:text-gray-300 flex-1 min-w-0"},nr={key:1,class:"text-xs font-medium text-gray-700 dark:text-gray-300 mb-1 block"},rr={class:"flex items-center gap-2"},ir=["value","placeholder"],dr={key:2,class:"mt-1 flex items-center gap-2 flex-wrap"},ur={class:"text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap"},cr=["value"],pr={value:"rolling"},mr={value:"fixed"},gr={class:"text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap"},vr=["value"],br=["value"],yr={class:"text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap"},hr=["value"],fr=["value"],xr=["value"],kr=["value"],_r={class:"text-[11px] text-gray-500 dark:text-gray-400"},wr={key:3,class:"input-hint mb-0 text-[11px]"},cs=Dt({__name:"QuotaDimensionRow",props:{dim:{},label:{},limit:{},quotaNotifyGlobalEnabled:{type:Boolean},notifyEnabled:{type:[Boolean,null]},notifyThreshold:{},notifyThresholdType:{},resetMode:{},resetHour:{},resetDay:{},resetTimezone:{},hintRolling:{},hintFixed:{},hourOptions:{},dayOptions:{},timezoneOptions:{}},emits:["update:limit","update:notifyEnabled","update:notifyThreshold","update:notifyThresholdType","update:resetMode","update:resetHour","update:resetDay","update:resetTimezone"],setup(c,{emit:A}){const{t:o}=Ht(),m=c,l=A,k=m.dim!=="total",x=N=>{const K=N.target.valueAsNumber;l("update:limit",Number.isNaN(K)?null:K)},L=N=>{const K=N.target.value;l("update:resetMode",K),K==="fixed"&&(m.resetHour==null&&l("update:resetHour",0),m.dim==="weekly"&&m.resetDay==null&&l("update:resetDay",1),m.resetTimezone||l("update:resetTimezone","UTC"))};function R(N){try{const U=new Intl.DateTimeFormat("en-US",{timeZone:N,timeZoneName:"shortOffset"}).formatToParts(new Date).find(M=>M.type==="timeZoneName");return U?U.value==="GMT"?"GMT+0":U.value:""}catch{return""}}return(N,K)=>(n(),r("div",null,[c.quotaNotifyGlobalEnabled?(n(),r("div",or,[e("span",sr,a(c.label),1),c.limit&&c.limit>
20?(n(),r("span",lr,a(t(o)("admin.accounts.quotaNotify.alert")),1)):v("",!0)])):(n(),r("label",nr,a(c.label),1)),e("div",rr,[e("div",{class:C(["relative",c.quotaNotifyGlobalEnabled?"flex-1 min-w-0":"flex-1"])},[K[6]||(K[6]=e("span",{class:"absolute left-2.5 top-1/2 -translate-y-1/2 text-gray-500 dark:text-gray-400 text-sm"},"$",-1)),e("input",{value:c.limit,onInput:x,type:"number",min:"0",step:"0.01",class:"input pl-6 py-1.5 text-sm",placeholder:t(o)("admin.accounts.quotaLimitPlaceholder")},null,40,ir)],2),c.quotaNotifyGlobalEnabled&&c.limit&&c.limit>0?(n(),Be(ar,{key:0,class:"flex-1 min-w-0",enabled:c.notifyEnabled,threshold:c.notifyThreshold,"threshold-type":c.notifyThresholdType,"onUpdate:enabled":K[0]||(K[0]=S=>l("update:notifyEnabled",S)),"onUpdate:threshold":K[1]||(K[1]=S=>l("update:notifyThreshold",S)),"onUpdate:thresholdType":K[2]||(K[2]=S=>l("update:notifyThresholdType",S))},null,8,["enabled","threshold","threshold-type"])):v("",!0)]),k?(n(),r("div",dr,[e("label",ur,a(t(o)("admin.accounts.quotaResetMode")),1),e("select",{value:c.resetMode||"rolling",onChange:L,class:"input py-1 text-xs w-auto"},[e("option",pr,a(t(o)("admin.accounts.quotaResetModeRolling")),1),e("option",mr,a(t(o)("admin.accounts.quotaResetModeFixed")),1)],40,cr),c.resetMode==="fixed"?(n(),r(me,{key:0},[c.dim==="weekly"?(n(),r(me,{key:0},[e("label",gr,a(t(o)("admin.accounts.quotaWeeklyResetDay")),1),e("select",{value:c.resetDay??1,onChange:K[3]||(K[3]=S=>l("update:resetDay",Number(S.target.value))),class:"input py-1 text-xs w-28"},[(n(!0),r(me,null,$e(c.dayOptions,S=>(n(),r("option",{key:S.value,value:S.value},a(t(o)("admin.accounts.dayOfWeek."+S.key)),9,br))),128))],40,vr)],64)):v("",!0),e("label",yr,a(t(o)("admin.accounts.quotaResetHour")),1),e("select",{value:c.resetHour??0,onChange:K[4]||(K[4]=S=>l("update:resetHour",Number(S.target.value))),class:"input py-1 text-xs w-24"},[(n(!0),r(me,null,$e(c.hourOptions,S=>(n(),r("option",{key:S,value:S},a(String(S).padStart(2,"0"))+":00",9,fr))),128))],40,hr),c.timezoneOptions&&c.timezoneOptions.length>0?(n(),r("select",{key:1,value:c.resetTimezone||"UTC",onChange:K[5]||(K[5]=S=>l("update:resetTimezone",S.target.value)),class:"input py-1 text-xs w-auto"},[(n(!0),r(me,null,$e(c.timezoneOptions,S=>(n(),r("option",{key:S,value:S},a(S)+" ("+a(R(S))+")",9,kr))),128))],40,xr)):v("",!0)],64)):v("",!0),e("span",_r,[c.resetMode==="fixed"?(n(),r(me,{key:0},[oe(a(c.hintFixed),1)],64)):(n(),r(me,{key:1},[oe(a(c.hintRolling),1)],64))])])):v("",!0),k?v("",!0):(n(),r("p",wr,a(c.hintRolling),1))]))}}),$r={class:"rounded-lg border border-gray-200 dark:border-dark-600"},Cr={class:"input-label mb-0 cursor-pointer"},Tr={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Mr={key:0,class:"space-y-2 p-4 pt-3"},ls=Dt({__name:"QuotaLimitCard",props:{totalLimit:{},dailyLimit:{},weeklyLimit:{},dailyResetMode:{},dailyResetHour:{},weeklyResetMode:{},weeklyResetDay:{},weeklyResetHour:{},resetTimezone:{},quotaNotifyGlobalEnabled:{type:Boolean,default:!1},quotaNotifyDailyEnabled:{type:[Boolean,null],default:null},quotaNotifyDailyThreshold:{default:null},quotaNotifyDailyThresholdType:{default:null},quotaNotifyWeeklyEnabled:{type:[Boolean,null],default:null},quotaNotifyWeeklyThreshold:{default:null},quotaNotifyWeeklyThresholdType:{default:null},quotaNotifyTotalEnabled:{type:[Boolean,null],default:null},quotaNotifyTotalThreshold:{default:null},quotaNotifyTotalThresholdType:{default:null}},emits:["update:totalLimit","update:dailyLimit","update:weeklyLimit","update:dailyResetMode","update:dailyResetHour","update:weeklyResetMode","update:weeklyResetDay","update:weeklyResetHour","update:resetTimezone","update:quotaNotifyDailyEnabled","update:quotaNotifyDailyThreshold","update:quotaNotifyDailyThresholdType","update:quotaNotifyWeeklyEnabled","update:quotaNotifyWeeklyThreshold","update:quotaNotifyWeeklyThresholdType","update:quotaNotifyTotalEnabled","update:quotaNotifyTotalThreshold","update:quotaNotifyTotalThresholdType"],setup(c,{emit:A}){const{t:o}=Ht(),m=c,l=A,k=P(()=>m.totalLimit!=null&&m.totalLimit>0||m.dailyLimit!=null&&m.dailyLimit>0||m.weeklyLimit!=null&&m.weeklyLimit>0),x=u(k.value),L=u(!1);_t(k,M=>{x.value=M}),_t(x,M=>{M||(L.value=!1,l("update:totalLimit",null),l("update:dailyLimit",null),l("update:weeklyLimit",null),l("update:dailyResetMode",null),l("update:dailyResetHour",null),l("update:weeklyResetMode",null),l("update:weeklyResetDay",null),l("update:weeklyResetHour",null),l("update:resetTimezone",null))});const R=["UTC","Asia/Shanghai","Asia/Tokyo","Asia/Seoul","Asia/Singapore","Asia/Kolkata","Asia/Dubai","Europe/London","Europe/Paris","Europe/Berlin","Europe/Moscow","America/Ne
2w_York","America/Chicago","America/Denver","America/Los_Angeles","America/Sao_Paulo","Australia/Sydney","Pacific/Auckland"],N=Array.from({length:24},(M,h)=>h),K=[{value:1,key:"monday"},{value:2,key:"tuesday"},{value:3,key:"wednesday"},{value:4,key:"thursday"},{value:5,key:"friday"},{value:6,key:"saturday"},{value:0,key:"sunday"}],S=P(()=>{var h;const M=((h=K.find(y=>y.value===(m.weeklyResetDay??1)))==null?void 0:h.key)||"monday";return o("admin.accounts.quotaWeeklyLimitHintFixed",{day:o("admin.accounts.dayOfWeek."+M),hour:String(m.weeklyResetHour??0).padStart(2,"0"),timezone:m.resetTimezone||"UTC"})}),U=P(()=>o("admin.accounts.quotaDailyLimitHintFixed",{hour:String(m.dailyResetHour??0).padStart(2,"0"),timezone:m.resetTimezone||"UTC"}));return(M,h)=>(n(),r("div",$r,[e("div",{class:C(["flex items-center justify-between p-4",{"pb-0":x.value&&!L.value}])},[e("div",{class:"flex items-center gap-2 flex-1 cursor-pointer",onClick:h[0]||(h[0]=y=>x.value&&(L.value=!L.value))},[x.value?(n(),r("svg",{key:0,class:C(["h-4 w-4 text-gray-400 transition-transform",{"-rotate-90":L.value}]),viewBox:"0 0 20 20",fill:"currentColor"},[...h[21]||(h[21]=[e("path",{"fill-rule":"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z","clip-rule":"evenodd"},null,-1)])],2)):v("",!0),e("div",null,[e("label",Cr,a(t(o)("admin.accounts.quotaLimitToggle")),1),e("p",Tr,a(t(o)("admin.accounts.quotaLimitToggleHint")),1)])]),e("button",{type:"button",onClick:h[1]||(h[1]=y=>x.value=!x.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",x.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",x.value?"translate-x-5":"translate-x-0"])},null,2)],2)],2),x.value&&!L.value?(n(),r("div",Mr,[E(cs,{dim:"daily",label:t(o)("admin.accounts.quotaDailyLimit"),limit:c.dailyLimit,"quota-notify-global-enabled":c.quotaNotifyGlobalEnabled,"notify-enabled":m.quotaNotifyDailyEnabled,"notify-threshold":m.quotaNotifyDailyThreshold,"notify-threshold-type":m.quotaNotifyDailyThresholdType,"reset-mode":c.dailyResetMode,"reset-hour":c.dailyResetHour,"reset-day":null,"reset-timezone":c.resetTimezone,"hint-rolling":t(o)("admin.accounts.quotaDailyLimitHint"),"hint-fixed":U.value,"hour-options":t(N),"day-options":K,"timezone-options":R,"onUpdate:limit":h[2]||(h[2]=y=>l("update:dailyLimit",y)),"onUpdate:notifyEnabled":h[3]||(h[3]=y=>l("update:quotaNotifyDailyEnabled",y)),"onUpdate:notifyThreshold":h[4]||(h[4]=y=>l("update:quotaNotifyDailyThreshold",y)),"onUpdate:notifyThresholdType":h[5]||(h[5]=y=>l("update:quotaNotifyDailyThresholdType",y)),"onUpdate:resetMode":h[6]||(h[6]=y=>l("update:dailyResetMode",y)),"onUpdate:resetHour":h[7]||(h[7]=y=>l("update:dailyResetHour",y)),"onUpdate:resetTimezone":h[8]||(h[8]=y=>l("update:resetTimezone",y))},null,8,["label","limit","quota-notify-global-enabled","notify-enabled","notify-threshold","notify-threshold-type","reset-mode","reset-hour","reset-timezone","hint-rolling","hint-fixed","hour-options"]),E(cs,{dim:"weekly",label:t(o)("admin.accounts.quotaWeeklyLimit"),limit:c.weeklyLimit,"quota-notify-global-enabled":c.quotaNotifyGlobalEnabled,"notify-enabled":m.quotaNotifyWeeklyEnabled,"notify-threshold":m.quotaNotifyWeeklyThreshold,"notify-threshold-type":m.quotaNotifyWeeklyThresholdType,"reset-mode":c.weeklyResetMode,"reset-hour":c.weeklyResetHour,"reset-day":c.weeklyResetDay,"reset-timezone":c.resetTimezone,"hint-rolling":t(o)("admin.accounts.quotaWeeklyLimitHint"),"hint-fixed":S.value,"hour-options":t(N),"day-options":K,"timezone-options":R,"onUpdate:limit":h[9]||(h[9]=y=>l("update:weeklyLimit",y)),"onUpdate:notifyEnabled":h[10]||(h[10]=y=>l("update:quotaNotifyWeeklyEnabled",y)),"onUpdate:notifyThreshold":h[11]||(h[11]=y=>l("update:quotaNotifyWeeklyThreshold",y)),"onUpdate:notifyThresholdType":h[12]||(h[12]=y=>l("update:quotaNotifyWeeklyThresholdType",y)),"onUpdate:resetMode":h[13]||(h[13]=y=>l("update:weeklyResetMode",y)),"onUpdate:resetHour":h[14]||(h[14]=y=>l("update:weeklyResetHour",y)),"onUpdate:resetDay":h[15]||(h[15]=y=>l("update:weeklyResetDay",y)),"onUpdate:resetTimezone":h[16]||(h[16]=y=>l("update:resetTimezone",y))},null,8,["label","limit","quota-notify-global-enabled","notify-enabled","notify-threshold","notify-threshold-type","reset-mode","reset-hour","reset-day","reset-timezone","hint-rolling","hint-fixed","hour-options"]),E(cs,{dim:"total",label:t(o)("admin.accounts.quotaTotalLimit"),limit:c.totalLimit,"quota-notify-global-enabled":c.quotaNotifyGlobalEnabled,"notify-enabled":m.quotaNotifyTotalEnabled,"notify-threshold":m.quotaNotifyTotalThreshold,"notify-threshold-type":m.quotaNotifyTotalThresholdType,"reset-mode":null,"reset-hour":null,"reset-day":null,"reset-timezone":null,"hint-rolling":t(o)("admin.accounts.quotaTotalLimitHint"),"hint-fixed":"","hour-options":t(N),"day-options":K,"onUpdate:limit":h[17]||(h[17]=y=>l("update:totalLimit",y)),"onUpdate:notifyEnabled":h[18]||(h[18]=y=>l("update:quotaNotifyTotalEnabled",y)),"onUpdate:notifyThreshold":h[19]||(h[19]=y=>l("update:quotaNotifyTotalThreshold",y)),"onUpdate:notifyThresholdType":h[20]||(h[20]=y=>l("update:quotaNotifyTotalThresholdType",y))},null,8,["label","limit","quota-notify-global-enabled","notify-enabled","notify-threshold","notify-threshold-type","hint-rolling","hour-options"])])):v("",!0)]))}});function $a(c,A,o){A?c.intercept_warmup_requests=!0:o==="edit"&&delete c.intercept_warmup_requests}const jt="off",Uo="ctx_pool",Ho="passthrough",Sr=new Set([jt,Uo,Ho]),Ur=c=>{if(typeof c!="string")return null;const A=c.trim().toLowerCase();return A==="shared"||A==="dedicated"?Uo:Sr.has(A)?A:null},zs=c=>typeof c!="boolean"?null:c?Uo:jt,So=c=>c!==jt,ns=c=>c===Ho?"admin.accounts.openai.wsModePassthroughHint":"admin.accounts.openai.wsModeConcurrencyHint",Ls=(c,A)=>{const o=A.defaultMode??jt;if(!c)return o;const m=Ur(c[A.modeKey]);if(m)return m;const l=zs(c[A.enabledKey]);if(l)return l;
2const k=A.fallbackEnabledKeys??[];for(const x of k){const L=zs(c[x]);if(L)return L}return o},Er={class:"rounded-lg border border-blue-200 bg-blue-50 p-4 dark:border-blue-700 dark:bg-blue-900/30"},Ar={class:"flex items-start gap-4"},qr={class:"flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-lg bg-blue-500"},Rr={class:"flex-1"},Pr={class:"mb-3 font-semibold text-blue-900 dark:text-blue-200"},Vr={key:0,class:"mb-4"},Ir={class:"mb-2 block text-sm font-medium text-blue-800 dark:text-blue-300"},zr={class:"flex flex-wrap gap-4"},Lr={class:"flex cursor-pointer items-center gap-2"},Or={class:"text-sm text-blue-900 dark:text-blue-200"},Nr={key:0,class:"flex cursor-pointer items-center gap-2"},jr={class:"text-sm text-blue-900 dark:text-blue-200"},Dr={key:1,class:"flex cursor-pointer items-center gap-2"},Fr={class:"text-sm text-blue-900 dark:text-blue-200"},Hr={key:2,class:"flex cursor-pointer items-center gap-2"},Br={class:"text-sm text-blue-900 dark:text-blue-200"},Wr={key:3,class:"flex cursor-pointer items-center gap-2"},Kr={class:"text-sm text-blue-900 dark:text-blue-200"},Gr={key:4,class:"flex cursor-pointer items-center gap-2"},Jr={class:"text-sm text-blue-900 dark:text-blue-200"},Qr={key:5,class:"flex cursor-pointer items-center gap-2"},Yr={class:"text-sm text-blue-900 dark:text-blue-200"},Xr={key:6,class:"flex cursor-pointer items-center gap-2"},Zr={key:1,class:"space-y-4"},ei={class:"rounded-lg border border-blue-300 bg-white/80 p-4 dark:border-blue-600 dark:bg-gray-800/80"},ti={class:"mb-3 text-sm text-blue-700 dark:text-blue-300"},ai={class:"mb-4"},oi={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-700 dark:text-gray-300"},si={key:0,class:"rounded-full bg-blue-500 px-2 py-0.5 text-xs text-white"},li=["placeholder"],ni={key:0,class:"mt-1 text-xs text-blue-600 dark:text-blue-400"},ri={key:0,class:"mb-4 rounded-lg border border-red-200 bg-red-50 p-3 dark:border-red-700 dark:bg-red-900/30"},ii={class:"whitespace-pre-line text-sm text-red-600 dark:text-red-400"},di=["disabled"],ui={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},ci={key:2,class:"space-y-4"},pi={class:"rounded-lg border border-blue-300 bg-white/80 p-4 dark:border-blue-600 dark:bg-gray-800/80"},mi={class:"mb-4"},gi={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-700 dark:text-gray-300"},vi={class:"mb-4 flex items-center gap-2"},bi={key:1,class:"truncate text-xs text-gray-500 dark:text-gray-400"},yi={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},hi={class:"mt-4"},fi={class:"mt-4 grid grid-cols-1 gap-4 md:grid-cols-2"},xi={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},ki=["disabled"],_i={key:0,class:"mt-3 flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},wi={key:1,class:"mt-4 rounded-lg border border-red-200 bg-red-50 p-3 dark:border-red-700 dark:bg-red-900/30"},$i={class:"whitespace-pre-line text-sm text-red-600 dark:text-red-400"},Ci=["disabled"],Ti=["disabled"],Mi={key:3,class:"space-y-4"},Si={class:"rounded-lg border border-blue-300 bg-white/80 p-4 dark:border-blue-600 dark:bg-gray-800/80"},Ui={class:"mb-3 text-sm text-blue-700 dark:text-blue-300"},Ei={class:"mb-4"},Ai={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-700 dark:text-gray-300"},qi={key:0,class:"rounded-full bg-blue-500 px-2 py-0.5 text-xs text-white"},Ri=["placeholder"],Pi={class:"mt-1 text-xs text-blue-600 dark:text-blue-400"},Vi={key:0,class:"mb-4 rounded-lg border border-red-200 bg-red-50 p-3 dark:border-red-700 dark:bg-red-900/30"},Ii={class:"whitespace-pre-line text-sm text-red-600 dark:text-red-400"},zi=["disabled"],Li={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},Oi={key:4,class:"space-y-4"},Ni={class:"rounded-lg border border-blue-300 bg-white/80 p-4 dark:border-blue-600 dark:bg-gray-800/80"},ji={class:"mb-3 text-sm text-blue-700 dark:text-blue-300"},Di={class:"mb-4"},Fi={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-700 dark:text-gray-300"},Hi={key:0,class:"rounded-full bg-blue-500 px-2 py-0.5 text-xs text-white"},Bi=["placeholder"],Wi={key:0,class:"mt-1 text-xs text-blue-600 dar
2k:text-blue-400"},Ki={key:0,class:"mb-4 rounded-lg border border-amber-200 bg-amber-50 p-3 dark:border-amber-700 dark:bg-amber-900/30"},Gi={class:"mb-2 font-semibold text-amber-800 dark:text-amber-200"},Ji={class:"list-inside list-decimal space-y-1 text-xs text-amber-700 dark:text-amber-300"},Qi=["textContent"],Yi={key:1,class:"mb-4 rounded-lg border border-red-200 bg-red-50 p-3 dark:border-red-700 dark:bg-red-900/30"},Xi={class:"whitespace-pre-line text-sm text-red-600 dark:text-red-400"},Zi=["disabled"],ed={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},td={key:5,class:"space-y-4"},ad={class:"mb-4 text-sm text-blue-800 dark:text-blue-300"},od={class:"rounded-lg border border-blue-300 bg-white/80 p-4 dark:border-blue-600 dark:bg-gray-800/80"},sd={class:"flex items-start gap-3"},ld={class:"flex-1"},nd={class:"mb-2 font-medium text-blue-900 dark:text-blue-200"},rd={key:0,class:"mb-3"},id={class:"input-label flex items-center gap-2"},dd={href:"https://console.cloud.google.com/",target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1 text-xs font-normal text-blue-500 hover:text-blue-600 dark:text-blue-400"},ud=["placeholder"],cd={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},pd=["disabled"],md={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},gd={key:2,class:"space-y-3"},vd={class:"flex items-center gap-2"},bd=["value"],yd={key:0,class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1.5"},hd={class:"rounded-lg border border-blue-300 bg-white/80 p-4 dark:border-blue-600 dark:bg-gray-800/80"},fd={class:"flex items-start gap-3"},xd={class:"flex-1"},kd={class:"mb-2 font-medium text-blue-900 dark:text-blue-200"},_d={class:"text-sm text-blue-700 dark:text-blue-300"},wd={key:0,class:"mt-2 rounded border border-amber-300 bg-amber-50 p-3 dark:border-amber-700 dark:bg-amber-900/30"},$d=["textContent"],Cd={key:1,class:"mt-2 rounded border border-yellow-300 bg-yellow-50 p-3 dark:border-yellow-700 dark:bg-yellow-900/30"},Td=["textContent"],Md={class:"rounded-lg border border-blue-300 bg-white/80 p-4 dark:border-blue-600 dark:bg-gray-800/80"},Sd={class:"flex items-start gap-3"},Ud={class:"flex-1"},Ed={class:"mb-2 font-medium text-blue-900 dark:text-blue-200"},Ad=["textContent"],qd={class:"input-label"},Rd=["placeholder"],Pd={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},Vd={key:0,class:"mt-3 rounded-lg border-2 border-amber-400 bg-amber-50 p-3 dark:border-amber-600 dark:bg-amber-900/30"},Id={class:"flex items-start gap-2"},zd={class:"text-sm text-amber-800 dark:text-amber-300"},Ld={class:"font-semibold"},Od={class:"mt-1"},Nd={key:0,class:"mt-3 rounded-lg border border-red-200 bg-red-50 p-3 dark:border-red-700 dark:bg-red-900/30"},jd={class:"whitespace-pre-line text-sm text-red-600 dark:text-red-400"},yl=Dt({__name:"OAuthAuthorizationFlow",props:{addMethod:{},authUrl:{default:""},sessionId:{default:""},loading:{type:Boolean,default:!1},error:{default:""},showHelp:{type:Boolean,default:!0},showProxyWarning:{type:Boolean,default:!0},allowMultiple:{type:Boolean,default:!1},methodLabel:{default:"Authorization Method"},showCookieOption:{type:Boolean,default:!0},showRefreshTokenOption:{type:Boolean,default:!1},showMobileRefreshTokenOption:{type:Boolean,default:!1},showSessionTokenOption:{type:Boolean,default:!1},showAccessTokenOption:{type:Boolean,default:!1},showCodexSessionImportOption:{type:Boolean,default:!1},showClaudeRequestTokenImportOption:{type:Boolean,default:!1},platform:{default:"anthropic"},showProjectId:{type:Boolean,default:!0}},emits:["generate-url","exchange-code","cookie-auth","validate-refresh-token","validate-mobile-refresh-token","validate-session-token","import-access-token","import-codex-session","preview-claude-request-token","import-claude-request-token","update:inputMethod"],setup(c,{expose:A,emit:o}){const m=c,l=o,{t:k}=Ht(),x=P(()=>m.platform==="openai"),L=Se=>m.platform==="openai"?`admin.accounts.oauth.openai.${Se}`:m.platform==="gemini"?`admin.accounts.oauth.gemini.${Se}`:m.platform==="antigravity"?`admin.accounts.oauth.antigravity.${Se}`:`admin.accounts.oauth.${Se}`,R=P(()=>k(L("title"))),N=P(()=>k(L("followSteps"))),K=P(()=>k(L("step1GenerateUrl"))),S=P(()=>k(L("generateAuthUrl"))),U=P(()=>k(L("step2OpenUrl"))),M=P(()=>k(L("openUrlDesc"))),h=P(()=>k(L("step3EnterCode"))),y=P(()=>
2k(L("authCodeDesc"))),ae=P(()=>k(L("authCode"))),F=P(()=>k(L("authCodePlaceholder"))),H=P(()=>k(L("authCodeHint"))),J=P(()=>m.platform==="openai"?k("admin.accounts.oauth.openai.importantNotice"):m.platform==="antigravity"?k("admin.accounts.oauth.antigravity.importantNotice"):""),Z=u((m.showCookieOption,"manual")),ie=u(""),ne=u(""),z=u(""),ke=u(""),de=u(""),xe=u(""),Me=u(""),ce=u("https://platform.claude.com/v1/oauth/token"),W=u("9d1c250a-e61b-44d9-88ed-5944d1962f5e"),ee=u("user:profile user:inference user:sessions:claude_code user:mcp_servers user:file_upload"),_=u(!1),O=u(""),G=u(!1),he=u(""),Pe=u(null),_e=P(()=>ht().tokenResponseJSON.trim().startsWith("{")),ge=u(!1),ve=u(""),fe=u(""),Ee=P(()=>m.showCookieOption||m.showRefreshTokenOption||m.showMobileRefreshTokenOption||m.showSessionTokenOption||m.showAccessTokenOption||m.showCodexSessionImportOption||m.showClaudeRequestTokenImportOption),{copied:Xe,copyToClipboard:tt}=Ks(),Ae=P(()=>ne.value.split(`
3`).map(Se=>Se.trim()).filter(Se=>Se).length),Qe=P(()=>z.value.split(`
4`).map(Se=>Se.trim()).filter(Se=>Se).length),Fe=P(()=>{const Se=de.value.trim();return Se?Se.startsWith("{")||Se.startsWith("[")?1:Se.split(`
5`).map(Q=>Q.trim()).filter(Q=>Q).length:0});_t(Z,Se=>{l("update:inputMethod",Se)}),_t(ie,Se=>{if(m.platform!=="openai"&&m.platform!=="gemini"&&m.platform!=="antigravity")return;const Q=Se.trim();if(Q.includes("?")&&Q.includes("code="))try{const we=new URL(Q),vt=we.searchParams.get("code"),$t=we.searchParams.get("state");(m.platform==="openai"||m.platform==="gemini"||m.platform==="antigravity")&&$t&&(ve.value=$t),vt&&vt!==Q&&(ie.value=vt)}catch{const we=Q.match(/[?&]code=([^&]+)/),vt=Q.match(/[?&]state=([^&]+)/);(m.platform==="openai"||m.platform==="gemini"||m.platform==="antigravity")&&vt&&vt[1]&&(ve.value=vt[1]),we&&we[1]&&we[1]!==Q&&(ie.value=we[1])}});const ze=()=>{l("generate-url")},He=()=>{m.authUrl&&tt(m.authUrl,"URL copied to clipboard")},Je=()=>{ie.value="",l("generate-url")},Mt=()=>{ne.value.trim()&&l("cookie-auth",ne.value)},gt=()=>{z.value.trim()&&(Z.value==="mobile_refresh_token"?l("validate-mobile-refresh-token",z.value.trim()):l("validate-refresh-token",z.value.trim()))},pt=()=>{de.value.trim()&&l("import-codex-session",de.value.trim())},ht=()=>{const Se=xe.value.trim();if(!Se.startsWith("{"))return{refreshToken:Se,tokenResponseJSON:Me.value.trim()};try{const Q=JSON.parse(Se);if(Q&&typeof Q=="object"&&("refresh_token"in Q||"access_token"in Q))return{refreshToken:"",tokenResponseJSON:Se}}catch{}return{refreshToken:"",tokenResponseJSON:Se}},dt=()=>{const Se=ht();return{refresh_token:Se.refreshToken,token_response_json:Se.tokenResponseJSON,token_url:ce.value.trim(),client_id:W.value.trim(),scopes:ee.value.trim(),install_local:_.value,config_dir:O.value.trim(),confirm_install:G.value}},Et=()=>{l("import-claude-request-token",dt())},Rt=()=>{l("preview-claude-request-token",dt())},ft=async Se=>{var vt;const Q=Se.target,we=(vt=Q.files)==null?void 0:vt[0];we&&(he.value=we.name,xe.value=await we.text(),Me.value="",Q.value="")},wt=()=>{xe.value="",Me.value="",he.value=""};return A({authCode:ie,oauthState:ve,projectId:fe,sessionKey:ne,refreshToken:z,sessionToken:ke,codexSession:de,inputMethod:Z,reset:()=>{ie.value="",ve.value="",fe.value="",ne.value="",z.value="",ke.value="",de.value="",xe.value="",Me.value="",_.value=!1,O.value="",G.value=!1,he.value="",Z.value="manual",ge.value=!1}}),(Se,Q)=>(n(),r("div",Er,[e("div",Ar,[e("div",qr,[E(te,{name:"link",size:"md",class:"text-white"})]),e("div",Rr,[e("h4",Pr,a(R.value),1),Ee.value?(n(),r("div",Vr,[e("label",Ir,a(c.methodLabel),1),e("div",zr,[e("label",Lr,[T(e("input",{"onUpdate:modelValue":Q[0]||(Q[0]=we=>Z.value=we),type:"radio",value:"manual",class:"text-blue-600 focus:ring-blue-500"},null,512),[[da,Z.value]]),e("span",Or,a(t(k)("admin.accounts.oauth.manualAuth")),1)]),c.showCookieOption?(n(),r("label",Nr,[T(e("input",{"onUpdate:modelValue":Q[1]||(Q[1]=we=>Z.value=we),type:"radio",value:"cookie",class:"text-blue-600 focus:ring-blue-500"},null,512),[[da,Z.value]]),e("span",jr,a(t(k)("admin.accounts.oauth.cookieAutoAuth")),1)])):v("",!0),c.showRefreshTokenOption?(n(),r("label",Dr,[T(e("input",{"onUpdate:modelValue":Q[2]||(Q[2]=we=>Z.value=we),type:"radio",value:"refresh_token",class:"text-blue-600 focus:ring-blue-500"},null,512),[[da,Z.value]]),e("span",Fr,a(t(k)(L("refreshTokenAuth"))),1)])):v("",!0),c.showMobileRefreshTokenOption?(n(),r("label",Hr,[T(e("input",{"onUpdate:modelValue":Q[3]||(Q[3]=we=>Z.value=we),type:"radio",value:"mobile_refresh_token",class:"text-blue-600 focus:ring-blue-500"},null,512),[[da,Z.value]]),e("span",Br,a(t(k)("admin.accounts.oauth.openai.mobileRefreshTokenAuth","手动输入 Mobile RT")),1)])):v("",!0),c.showSessionTokenOption?(n(),r("label",Wr,[T(e("input",{"onUpdate:modelValue":Q[4]||(Q[4]=we=>Z.value=we),type:"radio",value:"session_token",class:"text-blue-600 focus:ring-blue-500"},null,512),[[da,Z.value]]),e("span",Kr,a(t(k)(L("sessionTokenAuth"))),1)])):v("",!0),c.showAccessTokenOption?(n(),r("label",Gr,[T(e("input",{"onUpdate:modelValue":Q[5]||(Q[5]=we=>Z.value=we),type:"radio",value:"access_token",class:"text-blue-600 focus:ring-blue-500"},null,512),[[da,Z.value]]),e("span",Jr,a(t(k)("admin.accounts.oauth.openai.accessTokenAuth","手动输入 AT")),1)])):v("",!0),c.showCodexSessionImportOption?(n(),r("label",Qr,[T(e("input",{"onUpdate:modelValue":Q[
56]||(Q[6]=we=>Z.value=we),type:"radio",value:"codex_session",class:"text-blue-600 focus:ring-blue-500"},null,512),[[da,Z.value]]),e("span",Yr,a(t(k)("admin.accounts.oauth.openai.codexSessionAuth")),1)])):v("",!0),c.showClaudeRequestTokenImportOption?(n(),r("label",Xr,[T(e("input",{"onUpdate:modelValue":Q[7]||(Q[7]=we=>Z.value=we),type:"radio",value:"claude_request_token",class:"text-blue-600 focus:ring-blue-500"},null,512),[[da,Z.value]]),Q[22]||(Q[22]=e("span",{class:"text-sm text-blue-900 dark:text-blue-200"},"Claude OAuth / request-token 导入",-1))])):v("",!0)])])):v("",!0),Z.value==="refresh_token"||Z.value==="mobile_refresh_token"?(n(),r("div",Zr,[e("div",ei,[e("p",ti,a(t(k)(L("refreshTokenDesc"))),1),e("div",ai,[e("label",oi,[E(te,{name:"key",size:"sm",class:"text-blue-500"}),Q[23]||(Q[23]=oe(" Refresh Token ",-1)),Qe.value>1?(n(),r("span",si,a(t(k)("admin.accounts.oauth.keysCount",{count:Qe.value})),1)):v("",!0)]),T(e("textarea",{"onUpdate:modelValue":Q[8]||(Q[8]=we=>z.value=we),rows:"3",class:"input w-full resize-y font-mono text-sm",placeholder:t(k)(L("refreshTokenPlaceholder"))},null,8,li),[[B,z.value]]),Qe.value>1?(n(),r("p",ni,a(t(k)("admin.accounts.oauth.batchCreateAccounts",{count:Qe.value})),1)):v("",!0)]),c.error?(n(),r("div",ri,[e("p",ii,a(c.error),1)])):v("",!0),e("button",{type:"button",class:"btn btn-primary w-full",disabled:c.loading||!z.value.trim(),onClick:gt},[c.loading?(n(),r("svg",ui,[...Q[24]||(Q[24]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):(n(),Be(te,{key:1,name:"sparkles",size:"sm",class:"mr-2"})),oe(" "+a(c.loading?t(k)(L("validating")):t(k)(L("validateAndCreate"))),1)],8,di)])])):v("",!0),Z.value==="claude_request_token"?(n(),r("div",ci,[e("div",pi,[Q[34]||(Q[34]=e("p",{class:"mb-3 text-sm text-blue-700 dark:text-blue-300"}," 直接粘贴 Claude Code OAuth JSON、JSON 数组或 refresh_token(支持每行一个批量导入)。保存时会自动提取 refresh_token、账号和组织信息,并优先使用所选账号代理刷新。Claude refresh_token 每次刷新都会轮换;只填 refresh_token 时请直接保存。 ",-1)),e("div",mi,[e("label",gi,[E(te,{name:"key",size:"sm",class:"text-blue-500"}),Q[25]||(Q[25]=oe(" Claude OAuth JSON / Refresh Token ",-1))]),T(e("textarea",{"onUpdate:modelValue":Q[9]||(Q[9]=we=>xe.value=we),rows:"8",class:"input w-full resize-y font-mono text-sm",placeholder:'{"token_type":"Bearer","access_token":"sk-ant-oat01-...","expires_in":28800,"refresh_token":"sk-ant-ort01-...","scope":"user:profile user:inference user:sessions:claude_code user:mcp_servers user:file_upload"} 或 [{"refresh_token":"sk-ant-ort01-..."}] 或每行一个 sk-ant-ort01-...',spellcheck:"false"},null,512),[[B,xe.value]]),Q[26]||(Q[26]=e("p",{class:"mt-1 text-xs text-blue-600 dark:text-blue-400"}," 如果只填 refresh_token,保存时会先向 Claude OAuth token endpoint 换取 access_token 并保存新的 refresh_token;每行一个 refresh_token 或 JSON 数组会逐条导入并显示每条结果。命中已存在账号(同 account_uuid/邮箱)时自动更新该账号而不重复创建。 ",-1))]),e("div",vi,[e("input",{ref_key:"claudeRequestTokenFileInput",ref:Pe,type:"file",accept:"application/json,.json",class:"hidden",onChange:ft},null,544),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Q[10]||(Q[10]=we=>{var vt;return(vt=Pe.value)==null?void 0:vt.click()})},[E(te,{name:"upload",size:"sm"}),Q[27]||(Q[27]=oe(" 上传 JSON ",-1))]),xe.value.trim()?(n(),r("button",{key:0,type:"button",class:"btn btn-secondary btn-sm",onClick:wt}," 清空 ")):v("",!0),he.value?(n(),r("span",bi,a(he.value),1)):v("",!0)]),e("div",yi,[e("div",null,[Q[28]||(Q[28]=e("label",{class:"input-label"},"Token URL",-1)),T(e("input",{"onUpdate:modelValue":Q[11]||(Q[11]=we=>ce.value=we),type:"text",class:"input font-mono"},null,512),[[B,ce.value]])]),e("div",null,[Q[29]||(Q[29]=e("label",{class:"input-label"},"Client ID",-1)),T(e("input",{"onUpdate:modelValue":Q[12]||(Q[12]=we=>W.value=we),type:"text",class:"input font-mono"},null,512),[[B,W.value]])])]),e("div",hi,[Q[30]||(Q[30]=e("label",{class:"input-label"},"Scopes",-1)),T(e("input",{"onUpdate:modelValue":Q[13]||(Q[13]=we=>ee.value=we),type:"text",class:"input font-mono"},null,512),[[B,ee.value]])]),e("div",fi,[e("label",xi,[T(e("input",{"onUpdate:modelValue":Q[14]||(Q[14]=we=>_.value=we),type:"checkbox",class:"rounded text-blue-600"},null,512),[[ct,_.value]]),Q[31]||(Q[31]=oe(" 安装到服务器本机 Claude 配置目录 ",-1))]),T(e("input",{"onUpdate:modelValue":Q[15]||(Q[15]=we=>O.value=we),type:"text",class:"input font-mono",disabled:!_.value,placeholder:"默认 ~/.claude"},null,8,ki),[[B,O.value]])]),_.value?(n(),r("label",_i,[T(e("input",{"onUpdate:modelValue":Q[16]||(Q[16]=we=>G.value=we),type:"checkbox",class:"rounded text-blue-600"},null,512),[[ct,G.value]]),Q[32]||(Q[32]=oe(" 我确认要写入目标配置目录,并允许写入前备份原文件 ",-1))])):v("",!0),c.error?(n(),r("div",wi,[e("p",$i,a(c.error),1)])):v("",!0),e("button",{type:"button",class:"btn btn-primary mt-4 w-full",disabled:c.loading||!xe.value.trim()&&!Me.value.trim(),onClick:Et},[E(te,{name:"sparkles",size:"sm",class:"mr-2"}),oe(" "+a(c.loading?"处理中...":"测试并保存到平台账号"),1)],8,Ci),e("button",{type:"button",class:"btn btn-secondary mt-2 w-full",disabled:c.loading||!_e.value,onClick:Rt},[E(te,{name:"beaker",size:"sm",class:"mr-2"}),Q[33]||(Q[33]=oe(" 解析预览完整 JSON ",-1))],8,Ti)])])):v("",!0),Z.value==="codex_session"?(n(),r("div",Mi,[e("div",Si,[e("p",Ui,a(t(k)("admin.accounts.oauth.openai.codexSessionDesc")),1
5),e("div",Ei,[e("label",Ai,[E(te,{name:"key",size:"sm",class:"text-blue-500"}),oe(" "+a(t(k)("admin.accounts.oauth.openai.codexSessionInputLabel"))+" ",1),Fe.value>1?(n(),r("span",qi,a(t(k)("admin.accounts.oauth.keysCount",{count:Fe.value})),1)):v("",!0)]),T(e("textarea",{"onUpdate:modelValue":Q[17]||(Q[17]=we=>de.value=we),rows:"8",class:"input w-full resize-y font-mono text-sm",placeholder:t(k)("admin.accounts.oauth.openai.codexSessionPlaceholder"),spellcheck:"false"},null,8,Ri),[[B,de.value]]),e("p",Pi,a(t(k)("admin.accounts.oauth.openai.codexSessionHint")),1)]),c.error?(n(),r("div",Vi,[e("p",Ii,a(c.error),1)])):v("",!0),e("button",{type:"button",class:"btn btn-primary w-full",disabled:c.loading||!de.value.trim(),onClick:pt},[c.loading?(n(),r("svg",Li,[...Q[35]||(Q[35]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):(n(),Be(te,{key:1,name:"sparkles",size:"sm",class:"mr-2"})),oe(" "+a(c.loading?t(k)("admin.accounts.oauth.openai.validating"):t(k)("admin.accounts.oauth.openai.codexSessionImportAndCreate")),1)],8,zi)])])):v("",!0),Z.value==="cookie"?
5(n(),r("div",Oi,[e("div",Ni,[e("p",ji,a(t(k)("admin.accounts.oauth.cookieAutoAuthDesc")),1),e("div",Di,[e("label",Fi,[E(te,{name:"key",size:"sm",class:"text-blue-500"}),oe(" "+a(t(k)("admin.accounts.oauth.sessionKey"))+" ",1),Ae.value>1&&c.allowMultiple?(n(),r("span",Hi,a(t(k)("admin.accounts.oauth.keysCount",{count:Ae.value})),1)):v("",!0),c.showHelp?(n(),r("button",{key:1,type:"button",class:"text-blue-500 hover:text-blue-600",onClick:Q[18]||(Q[18]=we=>ge.value=!ge.value)},[...Q[36]||(Q[36]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9 5.25h.008v.008H12v-.008z"})],-1)])])):v("",!0)]),T(e("textarea",{"onUpdate:modelValue":Q[19]||(Q[19]=we=>ne.value=we),rows:"3",class:"input w-full resize-y font-mono text-sm",placeholder:c.allowMultiple?t(k)("admin.accounts.oauth.sessionKeyPlaceholder"):t(k)("admin.accounts.oauth.sessionKeyPlaceholderSingle")},null,8,Bi),[[B,ne.value]]),Ae.value>1&&c.allowMultiple?(n(),r("p",Wi,a(t(k)("admin.accounts.oauth.batchCreateAccounts",{count:Ae.value})),1)):v("",!0)]),ge.value&&c.showHelp?(n(),r("div",Ki,[e("h5",Gi,a(t(k)("admin.accounts.oauth.howToGetSessionKey")),1),e("ol",Ji,[e("li",null,a(t(k)("admin.accounts.oauth.step1")),1),e("li",null,a(t(k)("admin.accounts.oauth.step2")),1),e("li",null,a(t(k)("admin.accounts.oauth.step3")),1),e("li",null,a(t(k)("admin.accounts.oauth.step4")),1),e("li",null,a(t(k)("admin.accounts.oauth.step5")),1),e("li",null,a(t(k)("admin.accounts.oauth.step6")),1)]),e("p",{class:"mt-2 text-xs text-amber-600 dark:text-amber-400",textContent:a(t(k)("admin.accounts.oauth.sessionKeyFormat"))},null,8,Qi)])):v("",!0),c.error?(n(),r("div",Yi,[e("p",Xi,a(c.error),1)])):v("",!0),e("button",{type:"button",class:"btn btn-primary w-full",disabled:c.loading||!ne.value.trim(),onClick:Mt},[c.loading?(n(),r("svg",ed,[...Q[37]||(Q[37]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):(n(),Be(te,{key:1,name:"sparkles",size:"sm",class:"mr-2"})),oe(" "+a(c.loading?t(k)("admin.accounts.oauth.authorizing"):t(k)("admin.accounts.oauth.startAutoAuth")),1)],8,Zi)])])):v("",!0),Z.value==="manual"?(n(),r("div",td,[e("p",ad,a(N.value),1),e("div",od,[e("div",sd,[Q[41]||(Q[41]=e("div",{class:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full bg-blue-600 text-xs font-bold text-white"}," 1 ",-1)),e("div",ld,[e("p",nd,a(K.value),1),c.showProjectId&&c.platform==="gemini"?(n(),r("div",rd,[e("label",id,[oe(a(t(k)("admin.accounts.oauth.gemini.projectIdLabel"))+" ",1),e("a",dd,[Q[38]||(Q[38]=e("svg",{class:"h-3 w-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9 5.25h.008v.008H12v-.008z"})],-1)),oe(" "+a(t(k)("admin.accounts.oauth.gemini.howToGetProjectId")),1)])]),T(e("input",{"onUpdate:modelValue":Q[20]||(Q[20]=we=>fe.value=we),type:"text",class:"input w-full font-mono text-sm",placeholder:t(k)("admin.accounts.oauth.gemini.projectIdPlaceholder")},null,8,ud),[[B,fe.value]]),e("p",cd,a(t(k)("admin.accounts.oauth.gemini.projectIdHint")),1)])):v("",!0),c.authUrl?(n(),r("div",gd,[e("div",vd,[e("input",{value:c.authUrl,readonly:"",type:"text",class:"input flex-1 bg-gray-50 font-mono text-xs dark:bg-gray-700"},null,8,bd),e("button",{type:"button",class:"btn btn-secondary p-2",title:"Copy URL",onClick:He},[t(Xe)?(n(),Be(te,{key:1,name:"check",size:"sm",class:"text-green-500","stroke-width":2})):(n(),r("svg",yd,[...Q[40]||(Q[40]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184"},null,-1)])]))])]),e("button",{type:"button",class:"text-xs text-blue-600 hover:text-blue-700 dark:text-blue-400",onClick:Je},[E(te,{name:"refresh",size:"xs",class:"mr-1 inline"}),oe(" "+a(t(k)("admin.accounts.oauth.regenerate")),1)])])):(n(),r("button",{key:1,type:"button",disabled:c.loading,class:"btn btn-primary text-sm",onClick:ze},[c.loading?(n(),r("svg",md,[...Q[39]||(Q[39]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):(n(),Be(te,{key:1,name:"link",size:"sm",class:"mr-2"})),oe(" "+a(c.loading?t(k)("admin.accounts.oauth.generating"):S.value),1)],8,pd))])])]),e("div",hd,[e("div",fd,[Q[42]||(Q[42]=e("div",{class:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full bg-blue-600 text-xs font-bold text-white"}," 2 ",-1)),e("div",xd,[e("p",kd,a(U.value),1),e("p",_d,a(M.value),1),x.value?(n(),r("div",wd,[e("p",{class:"text-xs text-amber-800 dark:text-amber-300",textContent:a(J.value)},null,8,$d)])):c.showProxyWarning?(n(),r("div",Cd,[e("p",{class:"text-xs text-yellow-800 dark:text-yellow-300",textContent:a(t(k)("admin.accounts.oauth.proxyWarning"))},null,8,Td)])):v("",!0)])])]),e("div",Md,[e("div",Sd,[Q[43]||(Q[43]=e("div",{class:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full bg-blue-600 text-xs font-bold text-white"}," 3 ",-1)),e("div",Ud,[e("p",Ed,a(h.value),1),e("p",{class:"mb-3 text-sm text-blue-700 dark:text-blue-300",textContent:a(y.value)},null,8,Ad),e("div",null,[e("label",qd,[E(te,{name:"key",size:"sm",class:"mr-1 inline text-blue-500"}),oe(" "+a(ae.value),1)]),T(e("textarea",{"onUpdate:modelValue":Q[21]||(Q[21]=we=>ie.value=we),rows:"3",class:"input w-full resize-none font-mono text-sm",placeholder:F.value},null,8,Rd),[[B,ie.value]]),e("p",Pd,[E(te,{name:"infoCircle",size:"xs",class:"mr-1 inline"}),oe(" "+a(H.value),1)]),c.platform==="gemini"?(n(),r("div",Vd,[e("div",Id,[E(te,{name:"exclamationTriangle",size:"md",class:"flex-shrink-0 text-amber-600 dar
5k:text-amber-400","stroke-width":2}),e("div",zd,[e("p",Ld,a(Se.$t("admin.accounts.oauth.gemini.stateWarningTitle")),1),e("p",Od,a(Se.$t("admin.accounts.oauth.gemini.stateWarningDesc")),1)])])])):v("",!0)]),c.error?(n(),r("div",Nd,[e("p",jd,a(c.error),1)])):v("",!0)])])])])):v("",!0)])])]))}}),Dd={key:0,class:"mb-6 flex items-center justify-center"},Fd={class:"flex items-center space-x-4"},Hd={class:"flex items-center"},Bd={class:"ml-2 text-sm font-medium text-gray-700 dark:text-gray-300"},Wd={class:"flex items-center"},Kd={class:"ml-2 text-sm font-medium text-gray-700 dark:text-gray-300"},Gd={class:"input-label"},Jd=["placeholder"],Qd={class:"input-label"},Yd=["placeholder"],Xd={class:"input-hint"},Zd={class:"input-label"},eu=["placeholder"],tu={class:"input-label"},au={class:"mt-2 flex rounded-lg bg-gray-100 p-1 dark:bg-dark-700","data-tour":"account-form-platform"},ou={key:0,class:"rounded-lg bg-gray-50 p-3 dark:bg-dark-700"},su={class:"text-xs text-gray-600 dark:text-gray-400"},lu={key:1},nu={class:"input-label"},ru={class:"mt-2 grid grid-cols-2 gap-3 sm:grid-cols-4","data-tour":"account-form-type"},iu={class:"block text-sm font-medium text-gray-900 dark:text-white"},du={class:"text-xs text-gray-500 dark:text-gray-400"},uu={class:"block text-sm font-medium text-gray-900 dark:text-white"},cu={class:"text-xs text-gray-500 dark:text-gray-400"},pu={class:"block text-sm font-medium text-gray-900 dark:text-white"},mu={class:"text-xs text-gray-500 dark:text-gray-400"},gu={key:0,class:"mt-3 rounded-lg border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-800 dark:border-sky-800/40 dark:bg-sky-900/20 dark:text-sky-200"},vu={key:2},bu={class:"input-label"},yu={class:"mt-2 grid grid-cols-2 gap-3","data-tour":"account-form-type"},hu={class:"text-xs text-gray-500 dark:text-gray-400"},fu={class:"text-xs text-gray-500 dark:text-gray-400"},xu={key:3},ku={class:"flex items-center justify-between"},_u={class:"input-label"},wu={class:"mt-2 grid grid-cols-1 gap-3 sm:grid-cols-3","data-tour":"account-form-type"},$u={class:"block text-sm font-medium text-gray-900 dark:text-white"},Cu={class:"text-xs text-gray-500 dark:text-gray-400"},Tu={class:"block text-sm font-medium text-gray-900 dark:text-white"},Mu={class:"text-xs text-gray-500 dark:text-gray-400"},Su={key:0,class:"mt-3 rounded-lg border border-purple-200 bg-purple-50 px-3 py-2 text-xs text-purple-800 dark:border-purple-800/40 dark:bg-purple-900/20 dark:text-purple-200"},Uu={class:"mt-2 flex flex-wrap gap-2"},Eu=["href"],Au={key:1,class:"mt-3 rounded-lg border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-800 dark:border-sky-800/40 dark:bg-sky-900/20 dark:text-sky-200"},qu={key:2,class:"mt-4"},Ru={class:"input-label"},Pu={class:"mt-2 grid grid-cols-2 gap-3"},Vu={class:"min-w-0"},Iu={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},zu=["href"],Lu={class:"mt-3"},Ou={key:0,class:"mt-3 group relative"},Nu=["disabled"],ju={class:"min-w-0"},Du={class:"block text-sm font-medium text-gray-900 dark:text-white"},Fu={class:"text-xs text-gray-500 dark:text-gray-400"},Hu={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Bu={class:"mt-2 flex flex-wrap gap-1"},Wu={class:"rounded bg-amber-100 px-2 py-0.5 text-[10px] font-semibold text-amber-700 dark:bg-amber-900/40 dark:text-amber-300"},Ku={class:"rounded bg-amber-100 px-2 py-0.5 text-[10px] font-semibold text-amber-700 dark:bg-amber-900/40 dark:text-amber-300"},Gu={key:0,class:"ml-auto shrink-0 rounded bg-amber-100 px-2 py-0.5 text-xs text-amber-700 dark:bg-amber-900/30 dark:text-amber-300"},Ju={key:0,class:"pointer-events-none absolute right-0 top-full z-50 mt-2 w-80 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800 opacity-0 shadow-lg transition-opacity group-hover:opacity-100 dark:border-amber-700 dark:bg-amber-900/40 dark:text-amber-200"},Qu={key:3,class:"mt-4"},Yu={class:"input-label"},Xu={class:"mt-2"},Zu={value:"google_one_free"},ec={value:"google_ai_pro"},tc={value:"google_ai_ultra"},ac={value:"gcp_standard"},oc={value:"gcp_enterprise"},sc={value:"aistudio_free"},lc={value:"aistudio_paid"},nc={class:"input-hint"},rc={key:4},ic={class:"input-label"},dc={class:"mt-2 grid grid-cols-2 gap-3"},uc={class:"text-xs text-gray-500 dark:text-gray-400"},cc={class:"text-xs text-gray-500 dark:text-gray-400"},pc={key:5,class:"space-y-4"},mc={class:"input-label"},gc={class:"input-hint"},vc={class:"input-label"},bc={class:"input-hint"},yc={key:6,class:"space-y-4"},hc={class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},fc={class:"min-w-0"},xc={class:"flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white"},kc={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},_c={key:0,class:"mt-3 rounded-md border border-sky-200 bg-white px-3 py-2 text-xs text-sky-900 dark:border-sky-800/50 dark:bg-dark-800 dark:text-sky-200"},wc={class:"truncate"},$c={class:"font-mono"},Cc={class:"truncate"},Tc={class:"font-mono"},Mc={class:"input-hint"},Sc={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},Uc=["placeholder"],Ec=["label"],Ac=["value"],qc={class:"input-hint"},Rc={key:7,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Pc={class:"input-label"},Vc={class:"mb-3 rounded-lg bg-purple-50 p-3 dark:bg-purple-900/20"},Ic={class:"text-xs text-purple-700 dark:text-purple-400"},zc={key:0,class:"mb-3 space-y-2"},Lc={class:"flex items-center gap-2"},Oc=["onUpdate:modelValue","placeholder"],Nc=["onUpdate:modelValue","placeholder"],jc=["onClick"],Dc={key:0,class:"text-xs text-red-500"},Fc={key:1,class:"text-xs text-red-500"},Hc={class:"flex flex-wrap gap-2"},Bc=["onClick"],Wc={key:8},Kc={class:"input-label"},Gc={class:"mt-2 flex gap-4"},Jc={class:"flex cursor-pointer items-center"},Qc={class:"text-sm text-gray-700 dark:text-gray-300"},Yc={class:"flex cursor-pointer items-center"},Xc={class:"text-sm text-gray-700 dark:text-gray-300"},Zc={key:9,class:"space-y-4"},e0={key:0,class:"rounded-lg border border-sky-200 bg-sky-50 p-4 dark:border-sky-800/50 dark:bg-sky-900/20"},t0={class:"mb-4 flex items-center justify-between gap-4"},a0={key:0,class:"space-y-4"},o0={key:0,class:"space-y-4"},s0={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},l0={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},n0={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},r0={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},i0={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},d0={key:1},u0={class:"input-label"},c0=["placeholder"],p0={class:"input-hint"},m0={key:2},g0={class:"input-label"},v0=["placeholder"],b0=["placeholder"],y0={class:"input-hint"},h0={key:3},f0={class:"input-label"},x0={value:"aistudio_free"},k0={value:"aistudio_paid"},_0={class:"input-hint"},w0={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},$0={class:"input-label"},C0={key:0,class:"mb-3 rounded-lg bg-amber-50 p-3 dark:bg-amber-900/20"},T0={class:"text-xs text-amber-700 dark:text-amber-400"},M0={class:"mb-4 flex gap-2"},S0={key:0},U0={class:"text-xs text-gray-500 dark:text-gray-400"},E0={key:0},A0={key:1},q0={class:"mb-3 rounded-lg bg-purple-50 p-3 dark:bg-purple-900/20"},R0={class:"text-xs text-purple-700 dark:text-purple-400"},P0={key:0,class:"mb-3 space-y-2"},V0=["onUpdate:modelValue","placeholder"],I0=["onUpdate:modelValue","placeholder"],z0=["onClick"],L0={class:"flex flex-wrap gap-2"},O0=["onClick"],N0={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},j0={class:"mb-3 flex items-center justify-between"},D0={class:"input-label mb-0"},F0={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},H0={key:0,class:"rounded-lg bg-blue-50 p-3 dark:bg-blue-900/20"},B0={class:"text-xs text-blue-700 dark:text-blue-400"},W0={key:1,class:"mt-3"},K0={class:"input-label"},G0={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},J0={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Q0={class:"mb-3 flex items-center justify-between"},Y0={class:"input-label mb-0"},X0={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Z0={key:0,class:"space-y-3"},ep={class:"rounded-lg bg-amber-50 p-3 dark:bg-amber-900/20"},tp={class:"text-xs text-amber-700 dark:text-amber-400"},ap={class:"flex flex-wrap gap-2"},op=["onClick"],sp={class:"flex items-center gap-2"},lp=["placeholder"],np={class:"flex flex-wrap gap-1.5"},rp=["onClick"],ip={key:0,class:"text-xs text-gray-400"},dp={key:10,class:"space-y-4"},up={class:"input-label"},cp={class:"mt-2 flex gap-4"},pp={class:"flex cursor-pointer items-center"},mp={class:"text-sm text-gray-700 dark:text-gray-300"},gp={class:"flex cursor-pointer items-center"},vp={class:"text-sm text-gray-700 dark:text-gray-300"},bp={class:"input-label"},yp={class:"input-label"},hp={class:"input-label"},fp={class:"input-hint"},xp={key:1},kp={class:"input-label"},_p={class:"input-label"},wp={class:"input-hint"},$p={class:"flex items-center gap-2 cursor-pointer"},Cp={class:"text-sm text-gray-700 dark:text-gray-300"},Tp={class:"input-hint mt-1"},Mp={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Sp={class:"input-label"},Up={class:"mb-4 flex gap-2"},Ep={key:0},Ap={class:"text-xs text-gray-500 dark:text-gray-400"},qp={key:0},Rp={key:1,class:"space-y-3"},Pp=["onUpdate:modelValue","placeholder"],Vp=["onUpdate:modelValue","placeholder"],Ip=["onClick"],zp={class:"flex flex-wrap gap-2"},Lp=["onClick"],Op={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Np={class:"mb-3 flex items-center justify-between"},jp={class:"input-label mb-0"},Dp={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Fp={key:0,class:"rounded-lg bg-blue-50 p-3 dark:bg-blue-900/20"},Hp={class:"text-xs text-blue-700 dark:text-blue-400"},Bp={key:1,class:"mt-3"},Wp={class:"input-label"},Kp={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Gp={key:11,class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},Jp={class:"mb-3"},Qp={class:"input-label mb-0 text-base font-semibold"},Yp={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Xp={key:12,class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},Zp={class:"mb-3"},em={class:"input-label mb-0 text-base font-semibold"},tm={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},am={key:13,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},om={class:"input-label"},sm={key:0,class:"mb-3 rounded-lg bg-amber-50 p-3 dark:bg-amber-900/20"},lm={class:"text-xs text-amber-700 dark:text-amber-400"},nm={class:"mb-4 flex gap-2"},rm={key:0},im={class:"text-xs text-gray-500 dark:text-gray-400"},dm={key:0},um={key:1},cm={class:"mb-3 rounded-lg bg-purple-50 p-3 dark:bg-purple-900/20"},pm={class:"text-xs text-purple-700 dark:text-purple-400"},mm={key:0,class:"mb-3 space-y-2"},gm=["onUpdate:modelValue","placeholder"],vm=["onUpdate:modelValue","placeholder"],bm=["onClick"],ym={class:"flex flex-wrap gap-2"},hm=["onClick"],fm={class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},xm={class:"mb-3 flex items-center justify-between"},km={class:"input-label mb-0"},_m={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},wm={key:0,class:"space-y-3"},$m={class:"rounded-lg bg-blue-50 p-3 dark:bg-blue-900/20"},Cm={class:"text-xs text-blue-700 dark:text-blue-400"},Tm={class:"flex flex-wrap gap-2"},Mm=["onClick"],Sm={key:0,class:"space-y-3"},Um={class:"mb-2 flex items-center justify-between"},Em={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},Am={class:"flex items-center gap-2"},qm=["disabled","onClick"],Rm=["disabled","onClick"],Pm=["onClick"],Vm={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},Im={class:"input-label"},zm=["onUpdate:modelValue","placeholder"],Lm={class:"input-label"},Om=["onUpdate:modelValue","placeholder"],Nm={class:"sm:col-span-2"},jm={class:"input-label"},Dm=["onUpdate:modelValue","placeholder"],Fm={class:"input-hint"},Hm={class:"sm:col-span-2"},Bm={class:"input-label"},Wm=["onUpdate:modelValue","placeholder"],Km={key:14,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Gm={class:"flex items-center justify-between"},Jm={class:"input-label mb-0"},Qm={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Ym={key:15,class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},Xm={class:"mb-3"},Zm={class:"input-label mb-0 text-base font-semibold"},e1={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},t1={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},a1={class:"mb-3 flex items-center justify-between"},o1={class:"input-label mb-0"},s1={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},l1={key:0,class:"grid grid-cols-2 gap-4"},n1={class:"input-label"},r1={class:"relative"},i1=["placeholder"],d1={class:"input-hint"},u1={class:"input-label"},c1={class:"relative"},p1=["placeholder"],m1={class:"input-hint"},g1={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},v1={class:"mb-3 flex items-center justify-between"},b1={class:"input-label mb-0"},y1={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},h1={key:0,class:"grid grid-cols-2 gap-4"},f1={class:"input-label"},x1=["placeholder"],k1={class:"input-hint"},_1={class:"input-label"},w1={class:"relative"},$1=["placeholder"],C1={class:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-500 dark:text-gray-400"},T1={class:"input-hint"},M1={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},S1={class:"mb-3 flex items-center justify-between"},U1={class:"input-label mb-0"},E1={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},A1={key:0,class:"space-y-4"},q1={class:"input-label"},R1=["placeholder"],P1={class:"input-hint"},V1={class:"input-label"},I1={class:"flex gap-2"},z1={class:"text-center"},L1={class:"mt-0.5 text-[10px] opacity-70"},O1={class:"text-center"},N1={class:"mt-0.5 text-[10px] opacity-70"},j1={key:0},D1={class:"input-label"},F1=["placeholder"],H1={class:"input-hint"},B1={class:"mt-4"},W1={class:"input-label"},K1={class:"mt-1 text-xs text-gray-500 dark:text-gray-400 mb-2"},G1={class:"flex space-x-2"},J1=["onClick"],Q1={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},Y1={class:"flex items-center justify-between"},X1={class:"input-label mb-0"},Z1={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},eg={key:0,class:"mt-3"},tg={value:null},ag={key:0,value:-1},og=["value"],sg={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},lg={class:"flex items-center justify-between"},ng={class:"input-label mb-0"},rg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},ig={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},dg={class:"flex items-center justify-between"},ug={class:"input-label mb-0"},cg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},pg={key:0,class:"mt-3"},mg={class:"input-label text-xs"},gg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},vg={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},bg={class:"flex items-center justify-between"},yg={class:"input-label mb-0"},hg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},fg={key:0,class:"mt-3"},xg=["placeholder"],kg={class:"input-label"},_g={class:"grid grid-cols-2 gap-4 lg:grid-cols-4"},wg={class:"input-label"},$g={class:"input-label"},Cg=["placeholder"],Tg={class:"input-hint"},Mg={class:"input-label"},Sg={class:"input-hint"},Ug={class:"input-label"},Eg={class:"input-hint"},Ag={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},qg={class:"input-label"},Rg={class:"input-hint"},Pg={key:16,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Vg={class:"flex items-center justify-between"},Ig={class:"input-label mb-0"},zg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Lg={key:17,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Og={class:"flex items-center justify-between"},Ng={class:"input-label mb-0"},jg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Dg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Fg={class:"w-52"},Hg={key:18,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Bg={class:"flex items-center justify-between"},Wg={class:"input-label mb-0"},Kg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Gg={key:19,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Jg={class:"flex items-center justify-between"},Qg={class:"input-label mb-0"},Yg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Xg={value:"default"},Zg={value:"enabled"},ev={value:"disabled"},tv={key:20,cla
5ss:"border-t border-gray-200 pt-4 dark:border-dark-600"},av={class:"flex items-center justify-between"},ov={class:"input-label mb-0"},sv={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},lv={key:21,class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},nv={class:"flex items-center justify-between"},rv={class:"input-label mb-0"},iv={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},dv={class:"w-44"},uv={class:"input-label"},cv={class:"input-hint"},pv={key:0,class:"mb-3 space-y-2"},mv=["onUpdate:modelValue","placeholder"],gv=["onUpdate:modelValue","placeholder"],vv=["onClick"],bv={class:"flex items-center justify-between"},yv={class:"input-label mb-0"},hv={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},fv={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},xv={key:0,class:"flex items-center gap-2"},kv={class:"flex cursor-pointer items-center gap-2"},_v={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},wv={class:"group relative"},$v={class:"pointer-events-none absolute left-0 top-full z-[100] mt-1.5 w-72 rounded bg-gray-900 px-3 py-2 text-xs text-white opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-700"},Cv={key:1,class:"mt-3 flex items-center gap-2"},Tv={class:"flex cursor-pointer items-center gap-2"},Mv={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Sv={class:"group relative"},Uv={class:"pointer-events-none absolute left-0 top-full z-[100] mt-1.5 w-72 rounded bg-gray-900 px-3 py-2 text-xs text-white opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-700"},Ev={key:2,class:"space-y-5"},Av={key:0,class:"flex justify-end gap-3"},qv=["disabled"],Rv={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},Pv={key:1,class:"flex justify-between gap-3"},Vv=["disabled"],Iv={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},zv={class:"space-y-6"},Lv={class:"mb-3 text-sm font-semibold text-gray-900 dark:text-white"},Ov={class:"space-y-4"},Nv={class:"mb-2 text-sm font-medium text-gray-700 dark:text-gray-300"},jv={class:"list-inside list-disc space-y-1 text-sm text-gray-600 dark:text-gray-400"},Dv={class:"mb-2 text-sm font-medium text-gray-700 dark:text-gray-300"},Fv={class:"list-inside list-disc space-y-1 text-sm text-gray-600 dark:text-gray-400"},Hv={class:"mt-2 flex flex-wrap gap-2"},Bv={href:"https://policies.google.com/terms",target:"_blank",rel:"noreferrer",class:"text-sm text-blue-600 hover:underline dark:text-blue-400"},Wv={href:"https://gemini.google.com/gems/create?hl=en-US&pli=1",target:"_blank",rel:"noreferrer",class:"text-sm text-blue-600 hover:underline dark:text-blue-400"},Kv={href:"https://console.cloud.google.com",target:"_blank",rel:"noreferrer",class:"text-sm text-blue-600 hover:underline dark:text-blue-400"},Gv={class:"border-t border-gray-200 pt-6 dark:border-dark-600"},Jv={class:"mb-3 text-sm font-semibold text-gray-900 dark:text-white"},Qv={class:"mb-4 text-xs text-amber-600 dark:text-amber-400"},Yv={class:"overflow-x-auto"},Xv={class:"w-full text-xs"},Zv={class:"bg-gray-50 dark:bg-dark-600"},eb={class:"px-3 py-2 text-left font-medium text-gray-700 dark:text-gray-300"},tb={class:"px-3 py-2 text-left font-medium text-gray-700 dark:text-gray-300"},ab={class:"px-3 py-2 text-left font-medium text-gray-700 dark:text-gray-300"},ob={class:"divide-y divide-gray-200 dark:divide-dark-600"},sb={class:"px-3 py-2 text-gray-900 dark:text-white"},lb={class:"px-3 py-2 text-gray-600 dark:text-gray-400"},nb={class:"px-3 py-2 text-gray-600 dark:text-gray-400"},rb={class:"px-3 py-2 text-gray-600 dark:text-gray-400"},ib={class:"px-3 py-2 text-gray-900 dark:text-white"},db={class:"px-3 py-2 text-gray-600 dark:text-gray-400"},ub={class:"px-3 py-2 text-gray-600 dark:text-gray-400"},cb={class:"px-3 py-2 text-gray-900 dark:text-white"},pb={class:"px-3 py-2 text-gray-600 dark:text-gray-400"},mb={class:"px-3 py-2 text-gray-600 dark:text-gray-400"},gb={class:"mt-4 flex flex-wrap gap-3"},vb=["href"],bb=["href"],yb=["href"],hb={class:"border-t border-gray-200 pt-6 dark:border-dark-600"},fb={class:"mb-3 text-sm font-semibold text-gray-900 dark:text-white"},xb={class:"flex flex-wrap gap-3"},kb=["href"],_b=["href"],wb={class:"flex justify-end"},jo=3,To=10,$b="app_LlGpXReQgckcGGUo2JrYvtJK",Cb=Dt({__name:"CreateAccountModal",props:{show:{type:Boolean},proxies:{},groups:{}},emits:["close","created"],setup(c,{emit:A}){const{t:o}=Ht(),m=xs(),l=P(()=>b.platform==="openai"?o("admin.accounts.oauth.openai.title"):b.platform==="gemini"?o("admin.accounts.oauth.gemini.title"):b.platform==="antigravity"?o("admin.accounts.oauth.antigravity.title"):o("admin.accounts.oauth.title")),k=P(()=>b.platform==="openai"?o("admin.accounts.openai.baseUrlHint"):b.platform==="grok"?o("admin.accounts.grok.baseUrlHint"):b.platform==="gemini"?o("admin.accounts.gemini.baseUrlHint"):b.platform==="anthropic"&&dt.value?"填写 kiro.rs 服务地址,例如 http://127.0.0.1:8990;不要填写 https://api.anthropic.com。":o("admin.accounts.baseUrlHint")),x=P(()=>b.platform==="openai"?o("admin.accounts.openai.apiKeyBatchHint"):b.platform==="grok"?o("admin.accounts.grok.apiKeyBatchHint"):b.platform==="gemini"?o("admin.accounts.gemini.apiKeyHint"):b.platform==="anthropic"&&dt.value?"Kiro.rs 代理服务的访问 API Key,对应 kiro.rs config.json 的 apiKey;这不是 Claude Console API Key。":b.platform==="anthropic"?o("admin.accounts.apiKeyBatchHint"):o("admin.accounts.apiKeyHint")),L=P(()=>b.platform==="anthropic"&&!dt.value||b.platform==="openai"||b.platform==="grok"),R=P(()=>b.platform==="openai"?`sk-proj-...
6sk-proj-...`:b.platform==="grok"?`xai-...
7sk-...`:`sk-ant-...
8sk-ant-...`),N=c,K=A,S=ra(),U=ml(),M=gl(),h=vl(),y=bl(),ae=P(()=>b.platform==="openai"?M.authUrl.value:b.platform==="gemini"?h.authUrl.value:b.platform==="antigravity"?y.authUrl.value:U.authUrl.value),F=P(()=>b.platform==="openai"?M.sessionId.value:b.platform==="gemini"?h.sessionId.value:b.platform==="antigravity"?y.sessionId.value:U.sessionId.value),H=P(()=>b.platform==="openai"?M.loading.value:b.platform==="gemini"?h.loading.value:b.platform==="antigravity"?y.loading.value:U.loading.value),J=P(()=>b.platform==="openai"?M.error.value:b.platform==="gemini"?h.error.value:b.platform==="antigravity"?y.error.value:U.error.value),Z=u(null),ie=u(1),ne=u(!1),z=u("oauth-based"),ke=u("oauth"),de=u("https://api.anthropic.com"),xe=u(""),Me=u(null),ce=u(null),W=u(null),ee=u(null),_=u(null),O=u(null),G=u(null),he=u(null),Pe=u(null),_e=u([]),ge=u([]),ve=u("whitelist"),fe=u([]),Ee=u(!1),Xe=u(jo),tt=u(!1),Ae=u([]),Qe=u(null),Fe=u(!1),ze=u(!0),He=u(!1),Je=u("auto"),Mt=u(jt),gt=u(jt),pt=u(!1),ht=u(!1),dt=u(!1),Et=u("anthropic"),Rt=u(60),ft=u(!0),wt=u(!0),Se=u("{}"),Q=u("{}"),we=u(""),vt=u(!1),$t=u(""),At=u("default"),Lt=u(!1),{globalEnabled:Vt,state:Le,loadGlobalState:Wt,writeToExtra:ea}=pl();be.settings.getWebSearchEmulationConfig().then(f=>{var s;Lt.value=(f==null?void 0:f.enabled)===!0&&(((s=f==null?void 0:f.providers)==null?void 0:s.length)??0)>0}
8).catch(()=>{Lt.value=!1}),Wt();const Kt=u(!1),Ot=u(!1),Ct=u("oauth"),Gt=u(""),ta=u(""),bt=u("whitelist"),Pt=u([]),Ze=u([]),Oe=P(()=>yo("antigravity")),ca=P(()=>yo("bedrock")),Ft=u("sigv4"),aa=u(""),oa=u(""),sa=u(""),I=u("us-east-1"),re=u(!1),Ce=u(""),st=u(null),St=u(""),Ge=u(""),Tt=u(""),Nt=u("global"),je=u(!1),Jt=u(!1),Qt=u([]),Ga=so("create-model-mapping"),io=so("create-openai-compact-model-mapping"),Bt=so("create-antigravity-model-mapping"),la=so("create-temp-unsched-rule"),le=u("google_one"),q=u(!1),j=P(()=>[{value:"auto",label:o("admin.accounts.openai.compactModeAuto")},{value:"force_on",label:o("admin.accounts.openai.compactModeForceOn")},{value:"force_off",label:o("admin.accounts.openai.compactModeForceOff")}]);function De(){const f={};return Kt.value&&(f.mixed_scheduling=!0),Ot.value&&(f.allow_overages=!0),Object.keys(f).length>0?f:void 0}const Te=()=>na("mapping",[],ge.value),Zt=u(!1),pa=u(null),va=u(""),ja=u(null),Ta=u(!1),za=u(!1),Ja=u(!1),Ma=u(!1),La=u(null),ba=u(null),Sa=u(!1),xa=u(null),Qa=u(null),Ua=u(!1),Oa=u(null),Ve=u("tiered"),Ea=u(null),Aa=u(""),Ya=P(()=>[{value:"",label:o("admin.accounts.quotaControl.rpmLimit.umqModeOff")},{value:"throttle",label:o("admin.accounts.quotaControl.rpmLimit.umqModeThrottle")},{value:"serialize",label:o("admin.accounts.quotaControl.rpmLimit.umqModeSerialize")}]),ka=u(!1),Da=u(null),ma=u([]),_a=u(!1),ya=u(!1),Fa=u("5m"),qa=u(!1),Ha=u(""),Xa=u("google_one_free"),Za=u("gcp_standard"),wa=u("aistudio_free"),uo=P(()=>{if(b.platform!=="gemini")return"";if(z.value==="apikey")return wa.value;switch(le.value){case"google_one":return Xa.value;case"code_assist":return Za.value;default:return wa.value}}),Eo=P(()=>[{value:jt,label:o("admin.accounts.openai.wsModeOff")},{value:Uo,label:o("admin.accounts.openai.wsModeCtxPool")},{value:Ho,label:o("admin.accounts.openai.wsModePassthrough")}]),eo=P({get:()=>b.platform==="openai"&&z.value==="apikey"?gt.value:Mt.value,set:f=>{if(b.platform==="openai"&&z.value==="apikey"){gt.value=f;return}Mt.value=f}}),Ao=P(()=>ns(eo.value)),Ra=P(()=>b.platform==="openai"&&He.value),qo=P(()=>pa.value?o("admin.accounts.mixedChannelWarning",pa.value):va.value),Pa={codeAssist:"https://developers.google.com/gemini-code-assist/resources/quotas",aiStudio:"https://ai.google.dev/pricing",vertex:"https://cloud.google.com/vertex-ai/generative-ai/docs/quotas"},to={apiKey:"https://aistudio.google.com/app/apikey",aiStudioPricing:"https://ai.google.dev/pricing",gcpProject:"https://console.cloud.google.com/welcome/new",geminiWebActivation:"https://gemini.google.com/gems/create?hl=en-US&pli=1",countryCheck:"https://policies.google.com/terms",countryChange:"https://policies.google.com/country-association-form"},ho=P(()=>yo(b.platform)),Ro=P(()=>[{label:o("admin.accounts.tempUnschedulable.presets.overloadLabel"),rule:{error_code:529,keywords:"overloaded, too many",duration_minutes:60,description:o("admin.accounts.tempUnschedulable.presets.overloadDesc")}},{label:o("admin.accounts.tempUnschedulable.presets.rateLimitLabel"),rule:{error_code:429,keywords:"rate limit, too many requests",duration_minutes:10,description:o("admin.accounts.tempUnschedulable.presets.rateLimitDesc")}},{label:o("admin.accounts.tempUnschedulable.presets.unavailableLabel"),rule:{error_code:503,keywords:"unavailable, maintenance",duration_minutes:30,description:o("admin.accounts.tempUnschedulable.presets.unavailableDesc")}}]),b=fa({name:"",notes:"",tag:"",platform:"anthropic",type:"oauth",credentials:{},proxy_id:null,concurrency:10,load_factor:null,priority:1,rate_multiplier:1,group_ids:[],expires_at:null}),Ba=P(()=>b.platform==="antigravity"&&Ct.value==="upstream"||b.platform==="anthropic"&&z.value==="bedrock"?!1:z.value==="oauth-based"),co=P(()=>{var f;return((f=Z.value)==null?void 0:f.inputMethod)==="manual"}),po=P({get:()=>yt(b.expires_at),set:f=>{b.expires_at=nt(f)}}),ao=P(()=>{var s;const f=((s=Z.value)==null?void 0:s.authCode)||"";return b.platform==="openai"?f.trim()&&M.sessionId.value&&!M.loading.value:b.platform==="gemini"?f.trim()&&h.sessionId.value&&!h.loading.value:b.platform==="antigravity"?f.trim()&&y.sessionId.value&&!y.loading.value:f.trim()&&U.sessionId.value&&!U.loading.value});_t(()=>N.show,f=>{f?(be.tlsFingerprintProfiles.list().then(s=>{ma.value=s.map(i=>({id:i.id,name:i.name}))}).catch(()=>{ma.value=[]}),fe.value=[...ss(b.platform)],b.platform==="antigravity"?(bt.value="mapping",is().then(s=>{Ze.value=[...s]}),Pt.value=[]):(Pt.value=[],Ze.value=[],bt.value="mapping")):rt()}),_t([z,ke,Ct,()=>b.platform],([f,s,i])=>{if(b.platform==="antigravity"&&i==="upstream"){b.type="apikey";return}if(b.platform==="anthropic"&&f==="bedrock"){b.type="bedrock";return}(b.platform==="gemini"||b.platform==="anthropic")&&f==="service_account"?b.type="service_account":f==="oauth-based"?b.type=s:b.type="apikey"},{immediate:!0}),_t(()=>b.platform,f=>{de.value=f==="openai"?"https://api.openai.com":f==="grok"?"https://api.x.ai":f==="gemini"?"https://generativelanguage.googleapis.com":"https://api.anthropic.com",f==="grok"&&(z.value="apikey"),fe.value=[],_e.value=[],f==="antigravity"?(bt.value="mapping",is().then(s=>{Ze.value=[...s]}),Pt.value=[],z.value="oauth-based",Ct.value="oauth"):(Ot.value=!1,Pt.value=[],Ze.value=[],bt.value="mapping"),f!=="gemini"&&f!=="anthropic"&&z.value==="service_account"&&(z.value="oauth-based"),f!=="anthropic"&&z.value==="bedrock"&&(z.value="oauth-based"),aa.value="",oa.value="",sa.value="",I.value="us-east-1",re.value=!1,Ft.value="sigv4",Ce.value="",
8St.value="",Ge.value="",Tt.value="",Nt.value="global",f!=="anthropic"&&f!=="antigravity"&&(Fe.value=!1),f!=="openai"&&(He.value=!1,Mt.value=jt,gt.value=jt,pt.value=!1),f!=="anthropic"&&(ht.value=!1,At.value="default"),U.resetState(),M.resetState(),h.resetState(),y.resetState()}),_t(dt,f=>{b.platform!=="anthropic"||b.type!=="apikey"||(f?(!de.value.trim()||de.value.trim()==="https://api.anthropic.com")&&(de.value=""):(!de.value.trim()||de.value.trim()==="http://127.0.0.1:8990")&&(de.value="https://api.anthropic.com"))}),_t([z,()=>b.platform],([f,s])=>{s==="openai"&&f!=="oauth-based"&&(pt.value=!1),(s!=="anthropic"||f!=="apikey")&&(ht.value=!1,At.value="default")}),_t([()=>N.show,()=>b.platform,z],async([f,s,i])=>{if(!f||s!=="gemini"||i!=="oauth-based"){q.value=!1;return}const Y=await h.getCapabilities();q.value=!!(Y!=null&&Y.ai_studio_oauth_enabled),!q.value&&le.value==="ai_studio"&&(le.value="code_assist")},{immediate:!0});const oo=f=>{if(f==="ai_studio"&&!q.value){S.showError(o("admin.accounts.oauth.gemini.aiStudioNotConfigured"));return}le.value=f};_t([ve,()=>b.platform],([f])=>{f==="whitelist"&&(fe.value=[...ss(b.platform)])}),_t([bt,()=>b.platform],([,f])=>{});const fo=()=>{_e.value.push({from:"",to:""})},Na=()=>{ge.value.push({from:"",to:""})},xo=f=>{ge.value.splice(f,1)},ko=f=>{_e.value.splice(f,1)},Wa=(f,s)=>{if(_e.value.some(i=>i.from===f)){S.showInfo(o("admin.accounts.mappingExists",{model:f}));return}_e.value.push({from:f,to:s})},mo=()=>{Ze.value.push({from:"",to:""})},go=f=>{Ze.value.splice(f,1)},Po=(f,s)=>{if(Ze.value.some(i=>i.from===f)){S.showInfo(o("admin.accounts.mappingExists",{model:f}));return}Ze.value.push({from:f,to:s})},Vo=f=>{const s=Ae.value.indexOf(f);if(s===-1){if(f===429){if(!confirm(o("admin.accounts.customErrorCodes429Warning")))return}else if(f===529&&!confirm(o("admin.accounts.customErrorCodes529Warning")))return;Ae.value.push(f)}else Ae.value.splice(s,1)},_o=()=>{const f=Qe.value;if(f===null||f<100||f>599){S.showError(o("admin.accounts.invalidErrorCode"));return}if(Ae.value.includes(f)){S.showInfo(o("admin.accounts.errorCodeExists"));return}if(f===429){if(!confirm(o("admin.accounts.customErrorCodes429Warning")))return}else if(f===529&&!confirm(o("admin.accounts.customErrorCodes529Warning")))return;Ae.value.push(f),Qe.value=null},Io=f=>{const s=Ae.value.indexOf(f);s!==-1&&Ae.value.splice(s,1)},wo=f=>{if(f){Qt.value.push({...f});return}Qt.value.push({error_code:null,keywords:"",duration_minutes:30,description:""})},w=f=>{Qt.value.splice(f,1)},d=(f,s)=>{const i=f+s;if(i<0||i>=Qt.value.length)return;const Y=Qt.value,se=Y[f];Y[f]=Y[i],Y[i]=se},X=f=>{const s=[];for(const i of f){const Y=Number(i.error_code),se=Number(i.duration_minutes),pe=at(i.keywords);!Number.isFinite(Y)||Y<100||Y>599||!Number.isFinite(se)||se<=0||pe.length!==0&&s.push({error_code:Math.trunc(Y),keywords:pe,duration_minutes:Math.trunc(se),description:i.description.trim()})}return s},ue=f=>{if(!Jt.value)return delete f.temp_unschedulable_enabled,delete f.temp_unschedulable_rules,!0;const s=X(Qt.value);return s.length===0?(S.showError(o("admin.accounts.tempUnschedulable.rulesInvalid")),!1):(f.temp_unschedulable_enabled=!0,f.temp_unschedulable_rules=s,!0)},at=f=>f.split(/[,;]/).map(s=>s.trim()).filter(s=>s.length>0),Ie=f=>f==="antigravity"||f==="anthropic",lt=f=>{const s=f==null?void 0:f.details;return s?{groupName:s.group_name||"Unknown",currentPlatform:s.current_platform||"Unknown",otherPlatform:s.other_platform||"Unknown"}:null},Re=()=>{Zt.value=!1,pa.value=null,va.value="",ja.value=null},V=f=>{var s;pa.value=lt(f.response),va.value=f.message||((s=f.response)==null?void 0:s.message)||o("admin.accounts.failedToCreate"),ja.value=f.onConfirm,Zt.value=!0},We=f=>{if(Ie(f.platform)&&Ta.value)return{...f,confirm_mixed_channel_risk:!0};const s={...f};return delete s.confirm_mixed_channel_risk,s},xt=async f=>{var s,i,Y,se;if(!Ie(b.platform)||Ta.value)return!0;try{const pe=await be.accounts.checkMixedChannelRisk({platform:b.platform,group_ids:b.group_ids});return pe.has_risk?(V({response:pe,onConfirm:async()=>{Ta.value=!0,await f()}}),!1):!0}catch(pe){return S.showError(((i=(s=pe.response)==null?void 0:s.data)==null?void 0:i.message)||((se=(Y=pe.response)==null?void 0:Y.data)==null?void 0:se.detail)||o("admin.accounts.failedToCreate")),!1}},Yt=async f=>{var s,i,Y,se,pe,Ne,ot,mt,Ke;ne.value=!0;try{await be.accounts.create(We(f)),S.showSuccess(o("admin.accounts.accountCreated")),K("created"),It()}catch(Ut){if(((s=Ut.response)==null?void 0:s.status)===409&&((Y=(i=Ut.response)==null?void 0:i.data)==null?void 0:Y.error)==="mixed_channel_warning"&&Ie(b.platform)){V({message:(pe=(se=Ut.response)==null?void 0:se.data)==null?void 0:pe.message,onConfirm:async()=>{Ta.value=!0,await Yt(f)}});return}S.showError(((ot=(Ne=Ut.response)==null?void 0:Ne.data)==null?void 0:ot.message)||((Ke=(mt=Ut.response)==null?void 0:mt.data)==null?void 0:Ke.detail)||o("admin.accounts.failedToCreate"))}finally{ne.value=!1}},rt=()=>{var f;ie.value=1,b.name="",b.notes="",b.tag="",b.platform="anthropic",b.type="oauth",b.credentials={},b.proxy_id=null,b.concurrency=10,b.load_factor=null,b.priority=1,b.rate_multiplier=1,b.group_ids=[],b.expires_at=null,z.value="oauth-based",ke.value="oauth",de.value="https://api.anthropic.com",xe.value="",Me.value=null,ce.value=null,W.value=null,ee.value=null,_.value=null,O.value=null,G.value=null,he.value=null,Pe.value=null,_e.value=[],ge.value=[],ve.value="whitelist",fe.value=[...os],bt.value="mapping",Pt.value=[],is().then(s=>{Ze.value=[...s]}),Ee.value=!1,Xe.value=jo,tt.value=!1,Ae.value=[],Qe.value=null,Fe.value=!1,ze.value=!0,He.value=!1,Je.value="auto",Mt.value=jt,gt.value=jt,pt.value=!1,ht.value=!1,dt.value=!1,Et.value="anthropic",Rt.value=60,ft.value=!0,wt.value=!0,Se.value="{}",Q.value="{}",we.value="",vt.value=!1,$t.value="",At.value="default",Ma.value=!1,La.value=null,ba.value=null,Sa.value=!1,xa.value=null,Qa.value=null,Ua.value=!1,Oa.value=null,Ve.value="tiered",Ea.value=null,Aa.value="",ka.value=!1,Da.value=null,_a.value=!1,ya.value=!1,Fa.value="5m",qa.value=!1,Ha.value="",Ot.value=!1,Ct.value="oauth",Gt.value="",ta.value="",
8St.value="",Ge.value="",Tt.value="",Nt.value="global",Jt.value=!1,Qt.value=[],le.value="code_assist",Xa.value="google_one_free",Za.value="gcp_standard",wa.value="aistudio_free",U.resetState(),M.resetState(),h.resetState(),y.resetState(),(f=Z.value)==null||f.reset(),Ta.value=!1,Re()},It=()=>{Ta.value=!1,Re(),K("close")},Va=f=>{if(b.platform!=="openai")return f;const s={...f||{}};return z.value==="oauth-based"?(s.openai_oauth_responses_websockets_v2_mode=Mt.value,s.openai_oauth_responses_websockets_v2_enabled=So(Mt.value)):z.value==="apikey"&&(s.openai_apikey_responses_websockets_v2_mode=gt.value,s.openai_apikey_responses_websockets_v2_enabled=So(gt.value)),delete s.responses_websockets_v2_enabled,delete s.openai_ws_enabled,He.value?s.openai_passthrough=!0:(delete s.openai_passthrough,delete s.openai_oauth_passthrough),z.value==="oauth-based"&&pt.value?s.codex_cli_only=!0:delete s.codex_cli_only,Je.value!=="auto"?s.openai_compact_mode=Je.value:delete s.openai_compact_mode,Object.keys(s).length>0?s:void 0},g=f=>{if(b.platform!=="anthropic"||z.value!=="apikey")return f;const s={...f||{}};return ht.value?s.anthropic_passthrough=!0:delete s.anthropic_passthrough,At.value==="default"?delete s.web_search_emulation:s.web_search_emulation=At.value,Object.keys(s).length>0?s:void 0},$=f=>f.split(/\r?\n/).map(s=>s.trim()).filter(Boolean),ye=(f,s)=>{const i={base_url:de.value.trim()||s,api_key:f};if(b.platform==="gemini"&&(i.tier_id=wa.value),!Ra.value&&!(b.platform==="anthropic"&&dt.value)){const Y=na(ve.value,fe.value,_e.value);Y&&(i.model_mapping=Y)}if(b.platform==="openai"){const Y=Te();Y&&(i.compact_model_mapping=Y)}return Ee.value&&(i.pool_mode=!0,i.pool_mode_retry_count=zo(Xe.value)),tt.value&&(i.custom_error_codes_enabled=!0,i.custom_error_codes=[...Ae.value]),$a(i,Fe.value,"create"),ue(i)?i:null},Ue=(f,s)=>{const i=f.trim();if(!i)return{};try{const Y=JSON.parse(i);return!Y||Array.isArray(Y)||typeof Y!="object"?(S.showError(`${s} 必须是 JSON 对象`),null):Y}catch{return S.showError(`${s} 格式不正确`),null}},Ye=f=>{const s=f.split(/[\s,|]+/).map(se=>se.trim()).filter(Boolean),i=s.find(se=>se.startsWith("aoa"))||s[0]||"",Y=s.find(se=>se.startsWith("aor"))||s[1]||"";return!i||!Y?null:{accessToken:i,refreshToken:Y,authMethod:"social"}},ut=f=>{const s=f.trim();if(!s)return S.showError("请粘贴 Kiro accessToken 和 refreshToken"),null;try{const i=JSON.parse(s),se=(Array.isArray(i)?i:[i]).map(pe=>D(pe));return se.some(pe=>pe==null)?null:se}catch{const i=s.split(/\n+/).map(se=>se.trim()).filter(Boolean),Y=[];for(const se of i){if(se.startsWith("{"))try{const Ne=D(JSON.parse(se));if(!Ne)return null;Y.push(Ne);continue}catch{return S.showError("Kiro token 输入格式不正确"),null}const pe=Ye(se);if(!pe)return S.showError("每行需要包含 accessToken 和 refreshToken"),null;Y.push(pe)}return Y.length===0?(S.showError("请粘贴 Kiro accessToken 和 refreshToken"),null):Y}},D=f=>{if(!f||Array.isArray(f)||typeof f!="object")return S.showError("Kiro token JSON 必须是对象或对象数组"),null;const s=f,i=(...Ke)=>{for(const Ut of Ke){const it=s[Ut];if(typeof it=="string"&&it.trim())return it.trim()}return""},Y=i("accessToken","access_token"),se=i("refreshToken","refresh_token");if(!se)return S.showError("Kiro token 必须包含 refreshToken"),null;const pe=i("clientId","client_id"),Ne=i("clientSecret","client_secret");if(pe&&!Ne||!pe&&Ne)return S.showError("Kiro token 的 clientId 和 clientSecret 必须同时填写"),null;const ot=i("authMethod","auth_method")||(pe&&Ne?"idc":"social");if(!["social","idc"].includes(ot))return S.showError("Kiro token 的 authMethod 只能是 social 或 idc"),null;const mt={refreshToken:se,authMethod:ot};Y&&(mt.accessToken=Y),pe&&(mt.clientId=pe,mt.clientSecret=Ne);for(const[Ke,Ut]of Object.entries({expiresAt:["expires_at"],email:["emailAddress","email_address"],tenant:["tenantId","tenant_id"],region:[],authRegion:["auth_region"],apiRegion:["api_region"],machineId:["machine_id"],proxyUrl:["proxy_url"],proxyUsername:["proxy_username"],proxyPassword:["proxy_password"],endpoint:[]})){const it=i(Ke,...Ut);it&&(mt[Ke]=it)}return mt},et=()=>{const f={anthropic_passthrough:!0,kiro_rs_enabled:!0,kiro_rs_endpoint_mode:Et.value,kiro_rs_timeout_seconds:Rt.value||60,kiro_rs_models_enabled:ft.value,kiro_rs_count_tokens_enabled:wt.value},s=Ue(Se.value,"Kiro.rs 自定义 Headers JSON");return s==null?null:(f.kiro_rs_headers=s,f)},qt=f=>{const s={...f||{}};return Ma.value&&La.value!=null&&La.value>0&&(s.window_cost_limit=La.value,s.window_cost_sticky_reserve=ba.value??10),Sa.value&&xa.value!=null&&xa.value>0&&(s.max_sessions=xa.value,s.session_idle_timeout_minutes=Qa.value??5),Ua.value&&(s.base_rpm=Oa.value!=null&&Oa.value>0?Oa.value:15,s.rpm_strategy=Ve.value,Ea.value!=null&&Ea.value>0&&(s.rpm_sticky_buffer=Ea.value)),Aa.value&&(s.user_msg_queue_mode=Aa.value),ka.value&&(s.enable_tls_fingerprint=!0,Da.value&&(s.tls_fingerprint_profile_id=Da.value)),_a.value&&(s.session_id_masking_enabled=!0),ya.value&&(s.cache_ttl_override_enabled=!0,s.cache_ttl_override_target=Fa.value),qa.value&&Ha.value.trim()&&(s.custom_base_url_enabled=!0,s.custom_base_url=Ha.value.trim()),s},zt=async f=>{await xt(async()=>{await Yt(f)})&&await Yt(f)},kt=async(f,s,i)=>{var pe,Ne,ot,mt;if(!await xt(async()=>{await kt(f,s,i)}))return;const se=f.map((Ke,Ut)=>{const it=ye(Ke,s);if(!it)return null;const Ia=f.length>1?`-${Ut+1}`:"";return We({name:`${b.name.trim()}${Ia}`,notes:b.notes,tag:b.tag||null,platform:b.platform,type:"apikey",credentials:it,extra:{...i},proxy_id:b.proxy_id,concurrency:b.concurrency,load_factor:b.load_factor??void 0,priority:b.priority,rate_multiplier:b.rate_multiplier,group_ids:b.group_ids,expires_at:b.expires_at,auto_pause_on_expired:ze.value})});
8if(!se.some(Ke=>Ke==null)){ne.value=!0;try{const Ke=await be.accounts.batchCreate(se);Ke.failed&&Ke.failed>0?S.showWarning(o("admin.accounts.oauth.batchPartialSuccess",{success:Ke.success,failed:Ke.failed})):S.showSuccess(o("admin.accounts.oauth.batchSuccess",{count:Ke.success})),K("created"),It()}catch(Ke){S.showError(((Ne=(pe=Ke.response)==null?void 0:pe.data)==null?void 0:Ne.message)||((mt=(ot=Ke.response)==null?void 0:ot.data)==null?void 0:mt.detail)||o("admin.accounts.failedToCreate"))}finally{ne.value=!1}}},Ka=async f=>{var i,Y,se,pe,Ne,ot,mt,Ke,Ut;const s=f.map((it,Ia)=>{const ga={kiro_credentials:it};de.value.trim()&&(ga.base_url=de.value.trim()),xe.value.trim()&&(ga.kiro_rs_api_key=xe.value.trim()),$t.value.trim()&&(ga.kiro_admin_api_key=$t.value.trim());const Lo=Ue(Q.value,"Kiro.rs 模型映射 JSON");if(Lo==null||(Object.keys(Lo).length>0&&(ga.model_mapping=Lo),$a(ga,Fe.value,"create"),!ue(ga)))return null;const Zo=et();if(!Zo)return null;const rs=f.length>1?`-${Ia+1}`:"";return We({name:`${b.name.trim()}${rs}`,notes:b.notes,tag:b.tag||null,platform:"anthropic",type:"apikey",credentials:ga,extra:Zo,proxy_id:b.proxy_id,concurrency:b.concurrency,load_factor:b.load_factor??void 0,priority:b.priority,rate_multiplier:b.rate_multiplier,group_ids:b.group_ids,expires_at:b.expires_at,auto_pause_on_expired:ze.value})});if(!s.some(it=>it==null)){ne.value=!0;try{if(s.length===1)await be.accounts.create(s[0]),S.showSuccess(o("admin.accounts.accountCreated"));else{const it=await be.accounts.batchCreate(s);it.failed&&it.failed>0?S.showWarning(o("admin.accounts.oauth.batchPartialSuccess",{success:it.success,failed:it.failed})):S.showSuccess(o("admin.accounts.oauth.batchSuccess",{count:it.success}))}K("created"),It()}catch(it){if(((i=it.response)==null?void 0:i.status)===409&&((se=(Y=it.response)==null?void 0:Y.data)==null?void 0:se.error)==="mixed_channel_warning"&&Ie(b.platform)){V({message:(Ne=(pe=it.response)==null?void 0:pe.data)==null?void 0:Ne.message,onConfirm:async()=>{Ta.value=!0,await Ka(f)}});return}S.showError(((mt=(ot=it.response)==null?void 0:ot.data)==null?void 0:mt.message)||((Ut=(Ke=it.response)==null?void 0:Ke.data)==null?void 0:Ut.detail)||o("admin.accounts.failedToCreate"))}finally{ne.value=!1}}},vo=async()=>{const f=ja.value;if(!f){Re();return}Re(),ne.value=!0;try{await f()}finally{ne.value=!1}},Bo=()=>{Re()},zo=f=>{if(!Number.isFinite(f))return jo;const s=Math.trunc(f);return s<0?0:s>To?To:s},$o=f=>{const s=f.trim();if(!s)return Ge.value="",Tt.value="",!1;try{const i=JSON.parse(s),Y=typeof i.project_id=="string"?i.project_id.trim():"",se=typeof i.client_email=="string"?i.client_email.trim():"",pe=typeof i.private_key=="string"?i.private_key.trim():"";return!Y||!se||!pe?(S.showError(o("admin.accounts.vertexSaJsonMissingFields")),!1):(Ge.value=Y,Tt.value=se,St.value=JSON.stringify(i),!0)}catch{return S.showError(o("admin.accounts.vertexSaJsonInvalid")),!1}},Wo=()=>$o(St.value),Ko=async f=>{var Y;const s=f.target,i=(Y=s.files)==null?void 0:Y[0];if(i)try{$o(await i.text())}finally{s.value=""}},Go=async f=>{var i,Y;je.value=!1;const s=(Y=(i=f.dataTransfer)==null?void 0:i.files)==null?void 0:Y[0];s&&$o(await s.text())},Jo=async()=>{if(Ba.value){if(!b.name.trim()){S.showError(o("admin.accounts.pleaseEnterAccountName"));return}if(!await xt(async()=>{ie.value=2}))return;ie.value=2;return}if(b.platform==="anthropic"&&z.value==="bedrock"){if(!b.name.trim()){S.showError(o("admin.accounts.pleaseEnterAccountName"));return}const pe={auth_mode:Ft.value,aws_region:I.value.trim()||"us-east-1"};if(Ft.value==="sigv4"){if(!aa.value.trim()){S.showError(o("admin.accounts.bedrockAccessKeyIdRequired"));return}if(!oa.value.trim()){S.showError(o("admin.accounts.bedrockSecretAccessKeyRequired"));return}pe.aws_access_key_id=aa.value.trim(),pe.aws_secret_access_key=oa.value.trim(),sa.value.trim()&&(pe.aws_session_token=sa.value.trim())}else{if(!Ce.value.trim()){S.showError(o("admin.accounts.bedrockApiKeyRequired"));return}pe.api_key=Ce.value.trim()}re.value&&(pe.aws_force_global="true");const Ne=na(ve.value,fe.value,_e.value);Ne&&(pe.model_mapping=Ne),Ee.value&&(pe.pool_mode=!0,pe.pool_mode_retry_count=zo(Xe.value)),$a(pe,Fe.value,"create"),await Co("anthropic","bedrock",pe);return}if(b.platform==="antigravity"&&Ct.value==="upstream"){if(!b.name.trim()){S.showError(o("admin.accounts.pleaseEnterAccountName"));return}if(!Gt.value.trim()){S.showError(o("admin.accounts.upstream.pleaseEnterBaseUrl"));return}if(!ta.value.trim()){S.showError(o("admin.accounts.upstream.pleaseEnterApiKey"));return}const pe={base_url:Gt.value.trim(),api_key:ta.value.trim()},Ne=na("mapping",[],Ze.value);Ne&&(pe.model_mapping=Ne),$a(pe,Fe.value,"create");const ot=De();await Co(b.platform,"apikey",pe,ot);return}if((b.platform==="gemini"||b.platform==="anthropic")&&z.value==="service_account"){if(!b.name.trim()){S.showError(o("admin.accounts.pleaseEnterAccountName"));return}if(!Wo())return;if(!Nt.value.trim()){S.showError(o("admin.accounts.vertexLocationRequired"));return}const pe={service_account_json:St.value.trim(),project_id:Ge.value.trim(),client_email:Tt.value.trim(),location:Nt.value.trim(),tier_id:"vertex"};await Co(b.platform,"service_account",pe);return}if(b.platform==="anthropic"&&dt.value){if(!b.name.trim()){S.showError(o("admin.accounts.pleaseEnterAccountName"));return}const pe=ut(we.value);if(!pe||!await xt(async()=>{await Ka(pe)}))return;await Ka(pe);return}const s=$(xe.value);if(s.length===0){S.showError(o("admin.accounts.pleaseEnterApiKey"));return}const i=b.platform==="openai"?"https://api.openai.com":b.platform==="grok"?"https://api.x.ai":b.platform==="gemini"?"https://generativelanguage.googleapis.com":"https://api.anthropic.com",Y=g(Va())||{};if(L.value&&s.length>1){await kt(s,i,Y);return}const se=ye(s[0],i);se&&(b.credentials=se,await zt({...b,group_ids:b.group_ids,extra:Y,auto_pause_on_expired:ze.value}))},Qo=()=>{var f;ie.value=1,U.resetState(),M.resetState(),h.resetState(),y.resetState(),(f=Z.value)==null||f.reset()},Yo=async()=>{var f;b.platform==="openai"?await M.generateAuthUrl(b.proxy_id):b.platform==="gemini"?await h.generateAuthUrl(b.proxy_id,(f=Z.value)==null?void 0:f.projectId,le.value,uo.value):b.platform==="antigravity"?await y.generateAuthUrl(b.proxy_id):await U.generateAuthUrl(ke.value,b.proxy_id)},Xo=f=>{b.platform==="openai"?Tl(f):b.platform==="antigravity"&&Sl(f)},p=f=>{},yt=Bs,nt=Ws,Co=async(f,s,i,Y)=>{if(!ue(i))return;let se=Y;if(s==="apikey"||s==="bedrock"){const pe={...Y||{}};Me.value!=null&&Me.value>0&&(pe.quota_limit=Me.value),ce.value!=null&&ce.value>0&&(pe.quota_daily_limit=ce.value),W.value!=null&&W.value>
80&&(pe.quota_weekly_limit=W.value),ee.value==="fixed"&&(pe.quota_daily_reset_mode="fixed",pe.quota_daily_reset_hour=_.value??0),O.value==="fixed"&&(pe.quota_weekly_reset_mode="fixed",pe.quota_weekly_reset_day=G.value??1,pe.quota_weekly_reset_hour=he.value??0),(ee.value==="fixed"||O.value==="fixed")&&(pe.quota_reset_timezone=Pe.value||"UTC"),ea(pe,"create"),Object.keys(pe).length>0&&(se=pe)}if(f==="openai"){const pe=Te();pe?i.compact_model_mapping=pe:delete i.compact_model_mapping}await zt({name:b.name,notes:b.notes,tag:b.tag||null,platform:f,type:s,credentials:i,extra:se,proxy_id:b.proxy_id,concurrency:b.concurrency,load_factor:b.load_factor??void 0,priority:b.priority,rate_multiplier:b.rate_multiplier,group_ids:b.group_ids,expires_at:b.expires_at,auto_pause_on_expired:ze.value})},xl=async f=>{var i,Y,se;const s=M;if(!(!f.trim()||!s.sessionId.value)){s.loading.value=!0,s.error.value="";try{const pe=(((i=Z.value)==null?void 0:i.oauthState)||s.oauthState.value||"").trim();if(!pe){s.error.value=o("admin.accounts.oauth.authFailed"),S.showError(s.error.value);return}const Ne=await s.exchangeAuthCode(f.trim(),s.sessionId.value,pe,b.proxy_id);if(!Ne)return;const ot=s.buildCredentials(Ne),mt=s.buildExtraInfo(Ne),Ke=Va(mt),Ut=b.platform==="openai";if(Ut&&!Ra.value){const it=na(ve.value,fe.value,_e.value);it&&(ot.model_mapping=it)}if(Ut){const it=Te();it&&(ot.compact_model_mapping=it)}if(!ue(ot))return;Ut&&(await be.accounts.create({name:b.name,notes:b.notes,tag:b.tag||null,platform:"openai",type:"oauth",credentials:ot,extra:Ke,proxy_id:b.proxy_id,concurrency:b.concurrency,load_factor:b.load_factor??void 0,priority:b.priority,rate_multiplier:b.rate_multiplier,group_ids:b.group_ids,expires_at:b.expires_at,auto_pause_on_expired:ze.value}),S.showSuccess(o("admin.accounts.accountCreated"))),K("created"),It()}catch(pe){s.error.value=((se=(Y=pe.response)==null?void 0:Y.data)==null?void 0:se.detail)||o("admin.accounts.oauth.authFailed"),S.showError(s.error.value)}finally{s.loading.value=!1}}},kl=()=>{const f={};if(!Ra.value){const i=na(ve.value,fe.value,_e.value);i&&(f.model_mapping=i)}const s=Te();return s&&(f.compact_model_mapping=s),ue(f)?f:null},_l=f=>(f||[]).map(s=>{const i=s.name?` ${s.name}`:"";return`#${s.index}${i}: ${s.message}`}).join(`
9`),wl=f=>{const s=[`新建 ${f.created}`];return f.updated&&s.push(`更新 ${f.updated}`),f.skipped&&s.push(`跳过 ${f.skipped}`),s.push(`失败 ${f.failed}`),s.join(",")},$l=f=>{const s=[`总数 ${f.total},${wl(f)}`];for(const i of f.items||[]){const Y=i.name?`${i.name}`:"",se=Y?`第 ${i.index} 条 ${Y}`:`第 ${i.index} 条`;i.action==="updated"?s.push(`${se}: 已更新(已存在同一 OpenAI 账号)`):i.action==="skipped"?s.push(`${se}: ${i.message||"已跳过"}`):i.action==="failed"?s.push(`${se}: ${i.message||"导入失败"}`):s.push(`${se}: 新建成功`)}return s.join(`
10`)},ws=async(f,s)=>{var se,pe,Ne,ot;const i=M,Y=kl();if(Y!==null){i.loading.value=!0,i.error.value="";try{const mt=Va(),Ke=await be.accounts.importCodexSession({content:f,client_id:s,name:b.name,notes:b.notes||null,tag:b.tag||null,proxy_id:b.proxy_id,concurrency:b.concurrency,load_factor:b.load_factor??void 0,priority:b.priority,rate_multiplier:b.rate_multiplier,group_ids:b.group_ids,expires_at:b.expires_at,auto_pause_on_expired:ze.value,credential_extras:Object.keys(Y).length>0?Y:void 0,extra:mt,update_existing:!0}),Ut=Ke.created+Ke.updated,it={created:Ke.created,updated:Ke.updated,skipped:Ke.skipped,failed:Ke.failed},Ia=_l(Ke.warnings),ga=[$l(Ke),Ia].filter(Boolean).join(`
11`);if(Ke.updated>0||Ke.skipped>0||Ke.failed>0){i.error.value=ga,Ke.failed>0?S.showWarning(o("admin.accounts.oauth.openai.codexSessionImportPartial",it)):S.showSuccess(o("admin.accounts.oauth.openai.codexSessionImportSuccess",it)),Ut>0&&K("created");return}if(Ut>0){S.showSuccess(o("admin.accounts.oauth.openai.codexSessionImportSuccess",it)),K("created"),It();return}S.showError(o("admin.accounts.oauth.openai.codexSessionImportFailed"))}catch(mt){i.error.value=((pe=(se=mt.response)==null?void 0:se.data)==null?void 0:pe.detail)||((ot=(Ne=mt.response)==null?void 0:Ne.data)==null?void 0:ot.message)||mt.message||o("admin.accounts.oauth.openai.codexSessionImportFailed"),S.showError(i.error.value)}finally{i.loading.value=!1}}},$s=async(f,s)=>{const i=f.split(`
12`).map(Y=>Y.trim()).filter(Y=>Y);if(i.length===0){M.error.value=o("admin.accounts.oauth.openai.pleaseEnterRefreshToken");return}await ws(i.join(`
13`),s)},Cl=async f=>{const s=f.trim();if(!s){M.error.value=o("admin.accounts.oauth.openai.codexSessionEmpty");return}await ws(s)},Tl=f=>$s(f),Ml=f=>$s(f,$b),Sl=async f=>{var pe,Ne;if(!f.trim())return;const s=f.split(`
14`).map(ot=>ot.trim()).filter(ot=>ot);if(s.length===0){y.error.value=o("admin.accounts.oauth.antigravity.pleaseEnterRefreshToken");return}y.loading.value=!0,y.error.value="";let i=0,Y=0;const se=[];try{for(let ot=0;ot<s.length;ot++)try{const mt=await y.validateRefreshToken(s[ot],b.proxy_id);
14if(!mt){Y++,se.push(`#${ot+1}: ${y.error.value||"Validation failed"}`),y.error.value="";continue}const Ke=y.buildCredentials(mt),Ut=s.length>1?`${b.name} #${ot+1}`:b.name,it=We({name:Ut,notes:b.notes,tag:b.tag||null,platform:"antigravity",type:"oauth",credentials:Ke,extra:{},proxy_id:b.proxy_id,concurrency:b.concurrency,load_factor:b.load_factor??void 0,priority:b.priority,rate_multiplier:b.rate_multiplier,group_ids:b.group_ids,expires_at:b.expires_at,auto_pause_on_expired:ze.value});await be.accounts.create(it),i++}catch(mt){Y++;const Ke=((Ne=(pe=mt.response)==null?void 0:pe.data)==null?void 0:Ne.detail)||mt.message||"Unknown error";se.push(`#${ot+1}: ${Ke}`)}i>0&&Y===0?(S.showSuccess(s.length>1?o("admin.accounts.oauth.batchSuccess",{count:i}):o("admin.accounts.accountCreated")),K("created"),It()):i>0&&Y>0?(S.showWarning(o("admin.accounts.oauth.batchPartialSuccess",{success:i,failed:Y})),y.error.value=se.join(`
15`),K("created")):(y.error.value=se.join(`
16`),S.showError(o("admin.accounts.oauth.batchFailed")))}finally{y.loading.value=!1}},Ul=async f=>{var s,i,Y;if(!(!f.trim()||!h.sessionId.value)){h.loading.value=!0,h.error.value="";try{const pe=((s=Z.value)==null?void 0:s.oauthState)||""||h.state.value;if(!pe){h.error.value=o("admin.accounts.oauth.authFailed"),S.showError(h.error.value);return}const Ne=await h.exchangeAuthCode({code:f.trim(),sessionId:h.sessionId.value,state:pe,proxyId:b.proxy_id,oauthType:le.value,tierId:uo.value});if(!Ne)return;const ot=h.buildCredentials(Ne),mt=h.buildExtraInfo(Ne);await Co("gemini","oauth",ot,mt)}catch(se){h.error.value=((Y=(i=se.response)==null?void 0:i.data)==null?void 0:Y.detail)||o("admin.accounts.oauth.authFailed"),S.showError(h.error.value)}finally{h.loading.value=!1}}},El=async f=>{var s,i,Y;if(!(!f.trim()||!y.sessionId.value)){y.loading.value=!0,y.error.value="";try{const pe=((s=Z.value)==null?void 0:s.oauthState)||""||y.state.value;if(!pe){y.error.value=o("admin.accounts.oauth.authFailed"),S.showError(y.error.value);return}
16const Ne=await y.exchangeAuthCode({code:f.trim(),sessionId:y.sessionId.value,state:pe,proxyId:b.proxy_id});if(!Ne)return;const ot=y.buildCredentials(Ne);$a(ot,Fe.value,"create");const mt=na("mapping",[],Ze.value);mt&&(ot.model_mapping=mt);const Ke=De();await Co("antigravity","oauth",ot,Ke)}catch(se){y.error.value=((Y=(i=se.response)==null?void 0:i.data)==null?void 0:Y.detail)||o("admin.accounts.oauth.authFailed"),S.showError(y.error.value)}finally{y.loading.value=!1}}},Al=async f=>{var s,i;if(!(!f.trim()||!U.sessionId.value)){U.loading.value=!0,U.error.value="";try{const Y=b.proxy_id?{proxy_id:b.proxy_id}:{},se=ke.value==="oauth"?"/admin/accounts/exchange-code":"/admin/accounts/exchange-setup-token-code",pe=await be.accounts.exchangeCode(se,{session_id:U.sessionId.value,code:f.trim(),...Y}),Ne=U.buildExtraInfo(pe)||{},ot=qt(Ne),mt={...pe};$a(mt,Fe.value,"create"),await Co(b.platform,ke.value,mt,ot)}catch(Y){U.error.value=((i=(s=Y.response)==null?void 0:s.data)==null?void 0:i.detail)||o("admin.accounts.oauth.authFailed"),S.showError(U.error.value)}finally{U.loading.value=!1}}},Cs=f=>{if(!f.refresh_token&&!f.token_response_json)return U.error.value="请输入 refresh_token 或 token response JSON",S.showError(U.error.value),!1;if(f.token_response_json)try{JSON.parse(f.token_response_json)}catch{return U.error.value="Token response JSON 格式不正确",S.showError(U.error.value),!1}if(f.token_url)try{const s=new URL(f.token_url);if(!["http:","https:"].includes(s.protocol))throw new Error("bad scheme")}catch{return U.error.value="Token URL 不是合法 URL",S.showError(U.error.value),!1}return f.install_local&&!f.confirm_install?(U.error.value="安装到本机 Claude 配置目录需要二次确认",S.showError(U.error.value),!1):!0},Ts=f=>{if(!f||typeof f!="object")return!1;const s=f;return typeof s.total=="number"&&typeof s.success=="number"&&Array.isArray(s.results)},Ms=f=>{const s=[`新建 ${f.created??f.success}`];return f.updated&&s.push(`更新 ${f.updated}`),f.skipped&&s.push(`跳过 ${f.skipped}`),s.push(`失败 ${f.failed}`),s.join(",")},Ss=f=>{var i,Y;const s=[`总数 ${f.total},${Ms(f)}`];for(const se of f.results||[]){const pe=se.name||((i=se.preview)==null?void 0:i.email_address)||((Y=se.preview)==null?void 0:Y.account_uuid),Ne=pe?`第 ${se.index} 条 ${pe}`:`第 ${se.index} 条`;se.action==="updated"?s.push(`${Ne}: 已更新(已存在同一 Claude 账号)`):se.action==="skipped"?s.push(`${Ne}: ${se.message||"已跳过"}`):se.success?s.push(`${Ne}: 成功`):s.push(`${Ne}: ${se.error||"导入失败"}`)}return s.join(`
17`)},ql=async f=>{if(Cs(f)){U.loading.value=!0,U.error.value="";try{const s=await be.accounts.previewClaudeOAuthImport({refresh_token:f.refresh_token,token_response_json:f.token_response_json,token_url:f.token_url,client_id:f.client_id,scopes:f.scopes,proxy_id:b.proxy_id});if(Ts(s)){const i=Ss(s);U.error.value=s.failed>0?i:"",s.failed>0?S.showWarning(`Claude OAuth 批量测试完成:成功 ${s.success},失败 ${s.failed}`):S.showSuccess(`Claude OAuth 批量测试成功:${s.success}/${s.total}`);return}S.showSuccess(`access_token ${s.access_token},有效期至 ${new Date(s.expires_at*1e3).toLocaleString()}`)}catch(s){U.error.value=gs(s,"Claude OAuth 测试失败"),S.showError(U.error.value)}finally{U.loading.value=!1}}},Rl=async f=>{if(Cs(f)){U.loading.value=!0,U.error.value="";try{const s=await be.accounts.importClaudeOAuth({name:b.name,notes:b.notes||null,tag:b.tag||null,refresh_token:f.refresh_token,token_response_json:f.token_response_json,token_url:f.token_url,client_id:f.client_id,scopes:f.scopes,proxy_id:b.proxy_id,concurrency:b.concurrency,load_factor:b.load_factor??void 0,priority:b.priority,rate_multiplier:b.rate_multiplier,group_ids:b.group_ids,expires_at:b.expires_at,auto_pause_on_expired:ze.value,extra:qt(),install_local:f.install_local,config_dir:f.config_dir,confirm_install:f.confirm_install});if(Ts(s)){const i=Ss(s),Y=Ms(s);if(s.failed>0||(s.skipped??0)>0){U.error.value=i,S.showWarning(`Claude OAuth 批量导入完成:${Y}`),s.success>0&&K("created");return}S.showSuccess(`Claude OAuth 批量导入成功:${Y}(共 ${s.total} 条)`)}else s.action==="updated"?S.showSuccess("已存在同一 Claude 账号,已更新该账号凭据"):S.showSuccess(o("admin.accounts.accountCreated"));K("created"),It()}catch(s){U.error.value=gs(s,"Claude OAuth 导入失败"),S.showError(U.error.value)}finally{U.loading.value=!1}}},Pl=async()=>{var s;const f=((s=Z.value)==null?void 0:s.authCode)||"";switch(b.platform){case"openai":return xl(f);case"gemini":return Ul(f);case"antigravity":return El(f);default:return Al(f)}},Vl=async f=>{var s,i,Y,se;U.loading.value=!0,U.error.value="";try{const pe=b.proxy_id?{proxy_id:b.proxy_id}:{},Ne=U.parseSessionKeys(f);if(Ne.length===0){U.error.value=o("admin.accounts.oauth.pleaseEnterSessionKey");return}const ot=Jt.value?X(Qt.value):[];if(Jt.value&&ot.length===0){S.showError(o("admin.accounts.tempUnschedulable.rulesInvali
17d"));return}const mt=ke.value==="oauth"?"/admin/accounts/cookie-auth":"/admin/accounts/setup-token-cookie-auth";let Ke=0,Ut=0;const it=[];for(let Ia=0;Ia<Ne.length;Ia++)try{const ga=await be.accounts.exchangeCode(mt,{session_id:"",code:Ne[Ia],...pe}),Lo=U.buildExtraInfo(ga)||{},Zo=qt(Lo),rs=Ne.length>1?`${b.name} #${Ia+1}`:b.name,es={...ga};$a(es,Fe.value,"create"),Jt.value&&(es.temp_unschedulable_enabled=!0,es.temp_unschedulable_rules=ot),await be.accounts.create({name:rs,notes:b.notes,tag:b.tag||null,platform:b.platform,type:ke.value,credentials:es,extra:Zo,proxy_id:b.proxy_id,concurrency:b.concurrency,load_factor:b.load_factor??void 0,priority:b.priority,rate_multiplier:b.rate_multiplier,group_ids:b.group_ids,expires_at:b.expires_at,auto_pause_on_expired:ze.value}),Ke++}catch(ga){Ut++,it.push(o("admin.accounts.oauth.keyAuthFailed",{index:Ia+1,error:((i=(s=ga.response)==null?void 0:s.data)==null?void 0:i.detail)||o("admin.accounts.oauth.authFailed")}))}Ke>0&&(S.showSuccess(o("admin.accounts.oauth.successCreated",{count:Ke})),Ut===0?(K("created"),It()):K("created")),Ut>0&&(U.error.value=it.join(`
18`))}catch(pe){U.error.value=((se=(Y=pe.response)==null?void 0:Y.data)==null?void 0:se.detail)||o("admin.accounts.oauth.cookieAuthFailed")}finally{U.loading.value=!1}};return(f,s)=>(n(),r(me,null,[E(ua,{show:c.show,title:t(o)("admin.accounts.createAccount"),width:"wide",onClose:It},{footer:qe(()=>[ie.value===1?(n(),r("div",Av,[e("button",{onClick:It,type:"button",class:"btn btn-secondary"},a(t(o)("common.cancel")),1),e("button",{type:"submit",form:"create-account-form",disabled:ne.value,class:"btn btn-primary","data-tour":"account-form-submit"},[ne.value?(n(),r("svg",Rv,[...s[221]||(s[221]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):v("",!0),oe(" "+a(Ba.value?t(o)("common.next"):ne.value?t(o)("admin.accounts.creating"):t(o)("common.create")),1)],8,qv)])):(n(),r("div",Pv,[e("button",{type:"button",class:"btn btn-secondary",onClick:Qo},a(t(o)("common.back")),1),co.value?(n(),r("button",{key:0,type:"button",disabled:!ao.value,class:"btn btn-primary",onClick:Pl},[H.value?(n(),r("svg",Iv,[...s[222]||(s[222]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):v("",!0),oe(" "+a(H.value?t(o)("admin.accounts.oauth.verifying"):t(o)("admin.accounts.oauth.completeAuth")),1)],8,Vv)):v("",!0)]))]),default:qe(()=>[Ba.value?(n(),r("div",Dd,[e("div",Fd,[e("div",Hd,[e("div",{class:C(["flex h-8 w-8 items-center justify-center rounded-full text-sm font-semibold",ie.value>=1?"bg-primary-500 text-white":"bg-gray-200 text-gray-500 dark:bg-dark-600"])}," 1 ",2),e("span",Bd,a(t(o)("admin.accounts.oauth.authMethod")),1)]),s[154]||(s[154]=e("div",{class:"h-0.5 w-8 bg-gray-300 dark:bg-dark-600"},null,-1)),e("div",Wd,[e("div",{class:C(["flex h-8 w-8 items-center justify-center rounded-full text-sm font-semibold",ie.value>=2?"bg-primary-500 text-white":"bg-gray-200 text-gray-500 dark:bg-dark-600"])}," 2 ",2),e("span",Kd,a(l.value),1)])])])):v("",!0),ie.value===1?(n(),r("form",{key:1,id:"create-account-form",onSubmit:Xt(Jo,["prevent"]),class:"space-y-5"},[e("div",null,[e("label",Gd,a(t(o)("admin.accounts.accountName")),1),T(e("input",{"onUpdate:modelValue":s[0]||(s[0]=i=>b.name=i),type:"text",required:"",class:"input",placeholder:t(o)("admin.accounts.enterAccountName"),"data-tour":"account-form-name"},null,8,Jd),[[B,b.name]])]),e("div",null,[e("label",Qd,a(t(o)("admin.accounts.notes")),1),T(e("textarea",{"onUpdate:modelValue":s[1]||(s[1]=i=>b.notes=i),rows:"3",class:"input",placeholder:t(o)("admin.accounts.notesPlaceholder")},null,8,Yd),[[B,b.notes]]),e("p",Xd,a(t(o)("admin.accounts.notesHint")),1)]),e("div",null,[e("label",Zd,a(t(o)("admin.accounts.accountTag")),1),T(e("input",{"onUpdate:modelValue":s[2]||(s[2]=i=>b.tag=i),type:"text",class:"input",placeholder:t(o)("admin.accounts.accountTagPlaceholder"),maxlength:"100"},null,8,eu),[[B,b.tag]])]),e("div",null,[e("label",tu,a(t(o)("admin.accounts.platform")),1),e("div",au,[e("button",{type:"button",onClick:s[3]||(s[3]=i=>b.platform="anthropic"),class:C(["flex flex-1 items-center justify-center gap-2 rounded-md px-4 py-2.5 text-sm font-medium transition-all",b.platform==="anthropic"?"bg-white text-orange-600 shadow-sm dark:bg-dark-600 dark:text-orange-400":"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-200"])},[E(te,{name:"sparkles",size:"sm"}),s[155]||(s[155]=oe(" Anthropic ",-1))],2),e("button",{type:"button",onClick:s[4]||(s[4]=i=>b.platform="openai"),class:C(["flex flex-1 items-center justify-center gap-2 rounded-md px-4 py-2.5 text-sm font-medium transition-all",b.platform==="openai"?"bg-white text-green-600 shadow-sm dark:bg-dark-600 dark:text-green-400":"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-200"])},[...s[156]||(s[156]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z"})],-1),oe(" OpenAI ",-1)])],2),e("button",{type:"button",onClick:s[5
18]||(s[5]=i=>b.platform="gemini"),class:C(["flex flex-1 items-center justify-center gap-2 rounded-md px-4 py-2.5 text-sm font-medium transition-all",b.platform==="gemini"?"bg-white text-blue-600 shadow-sm dark:bg-dark-600 dark:text-blue-400":"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-200"])},[...s[157]||(s[157]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 2l1.5 6.5L20 10l-6.5 1.5L12 18l-1.5-6.5L4 10l6.5-1.5L12 2z"})],-1),oe(" Gemini ",-1)])],2),e("button",{type:"button",onClick:s[6]||(s[6]=i=>b.platform="antigravity"),class:C(["flex flex-1 items-center justify-center gap-2 rounded-md px-4 py-2.5 text-sm font-medium transition-all",b.platform==="antigravity"?"bg-white text-purple-600 shadow-sm dark:bg-dark-600 dark:text-purple-400":"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-200"])},[E(te,{name:"cloud",size:"sm"}),s[158]||(s[158]=oe(" Antigravity ",-1))],2),e("button",{type:"button",onClick:s[7]||(s[7]=i=>b.platform="grok"),class:C(["flex flex-1 items-center justify-center gap-2 rounded-md px-4 py-2.5 text-sm font-medium transition-all",b.platform==="grok"?"bg-white text-gray-900 shadow-sm dark:bg-dark-600 dark:text-white":"text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-200"])},[E(ln,{platform:"grok",size:"md"}),s[159]||(s[159]=oe(" Grok ",-1))],2)])]),b.platform==="grok"?(n(),r("div",ou,[e("p",su,a(t(o)("admin.accounts.grok.apikeyOnlyHint")),1)])):v("",!0),b.platform==="anthropic"?(n(),r("div",lu,[e("label",nu,a(t(o)("admin.accounts.accountType")),1),e("div",ru,[e("button",{type:"button",onClick:s[8]||(s[8]=i=>z.value="oauth-based"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",z.value==="oauth-based"?"border-orange-500 bg-orange-50 dark:bg-orange-900/20":"border-gray-200 hover:border-orange-300 dark:border-dark-600 dark:hover:border-orange-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",z.value==="oauth-based"?"bg-orange-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"sparkles",size:"sm"})],2),e("div",null,[e("span",iu,a(t(o)("admin.accounts.claudeCode")),1),e("span",du,a(t(o)("admin.accounts.oauthSetupToken")),1)])],2),e("button",{type:"button",onClick:s[9]||(s[9]=i=>z.value="apikey"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",z.value==="apikey"?"border-purple-500 bg-purple-50 dark:bg-purple-900/20":"border-gray-200 hover:border-purple-300 dark:border-dark-600 dark:hover:border-purple-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",z.value==="apikey"?"bg-purple-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"key",size:"sm"})],2),e("div",null,[e("span",uu,a(t(o)("admin.accounts.claudeConsole")),1),e("span",cu,a(t(o)("admin.accounts.apiKey")),1)])],2),e("button",{type:"button",onClick:s[10]||(s[10]=i=>z.value="bedrock"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",z.value==="bedrock"?"border-amber-500 bg-amber-50 dark:bg-amber-900/20":"border-gray-200 hover:border-amber-300 dark:border-dark-600 dark:hover:border-amber-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",z.value==="bedrock"?"bg-amber-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"cloud",size:"sm"})],2),e("div",null,[e("span",pu,a(t(o)("admin.accounts.bedrockLabel")),1),e("span",mu,a(t(o)("admin.accounts.bedrockDesc")),1)])],2),e("button",{type:"button",onClick:s[11]||(s[11]=i=>z.value="service_account"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",z.value==="service_account"?"border-sky-500 bg-sky-50 dark:bg-sky-900/20":"border-gray-200 hover:border-sky-300 dark:border-dark-600 dark:hover:border-sky-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",z.value==="service_account"?"bg-sky-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"cloud",size:"sm"})],2),s[160]||(s[160]=e("div",null,[e("span",{class:"block text-sm font-medium text-gray-900 dark:text-white"},"Vertex"),e("span",{class:"text-xs text-gray-500 dark:text-gray-400"},"Service Account")],-1))],2)]),z.value==="service_account"?(n(),r("div",gu,[e("p",null,a(t(o)("admin.accounts.vertexAnthropicHint")),1)])):v("",!0)])):v("",!0),b.platform==="openai"?(n(),r("div",vu,[e("label",bu,a(t(o)("admin.accounts.accountType")),1),e("div",yu,[e("button",{type:"button",onClick:s[12]||(s[12]=i=>z.value="oauth-based"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",z.value==="oauth-based"?"border-green-500 bg-green-50 dark:bg-green-900/20":"border-gray-200 hover:border-green-300 dark:border-dark-600 dark:hover:border-green-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",z.value==="oauth-based"?"bg-green-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"key",size:"sm"})],2),e("div",null,[s[161]||(s[161]=e("span",{class:"block text-sm font-medium text-gray-900 dark:text-white"},"OAuth",-1)),e("span",hu,a(t(o)("admin.accounts.types.chatgptOauth")),1)])],2),e("button",{type:"button",onClick:s[13]||(s[13]=i=>z.value="apikey"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",z.value==="apikey"?"border-purple-500 bg-purple-50 dark:bg-purple-900/20":"border-gray-200 hover:border-purple-300 dark:border-dark-600 dark:hover:border-purple-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",z.value==="apikey"?"bg-purple-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"key",size:"sm"})],2),e("div",null,[s[162]||(s[162]=e("span",{class:"block text-sm font-medium text-gray-900 dark:text-white"},"API Key",-1)),e("span",fu,a(t(o)("admin.accounts.types.responsesApi")),1)])],2)])])):v("",!0),b.platform==="gemini"?(n(),r("div",xu,[e("div",ku,[e("label",_u,a(t(o)("admin.accounts.accountType")),1),e("button",{type:"button",onClick:s[14]||(s[14]=i=>Ja.value=!0),class:"flex items-center gap-1 rounded px-2 py-1 text-xs text-blue-600 hover:bg-blue-50 dark:text-blue-400 dark:hover:bg-blue-900/20"},[s[163]||(s[163]=e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9 5.25h.008v.008H12v-.008z"}
18)],-1)),oe(" "+a(t(o)("admin.accounts.gemini.helpButton")),1)])]),e("div",wu,[e("button",{type:"button",onClick:s[15]||(s[15]=i=>z.value="oauth-based"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",z.value==="oauth-based"?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-200 hover:border-blue-300 dark:border-dark-600 dark:hover:border-blue-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",z.value==="oauth-based"?"bg-blue-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"key",size:"sm"})],2),e("div",null,[e("span",$u,a(t(o)("admin.accounts.gemini.accountType.oauthTitle")),1),e("span",Cu,a(t(o)("admin.accounts.gemini.accountType.oauthDesc")),1)])],2),e("button",{type:"button",onClick:s[16]||(s[16]=i=>z.value="apikey"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",z.value==="apikey"?"border-purple-500 bg-purple-50 dark:bg-purple-900/20":"border-gray-200 hover:border-purple-300 dark:border-dark-600 dark:hover:border-purple-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",z.value==="apikey"?"bg-purple-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[...s[164]||(s[164]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 5.25a3 3 0 013 3m3 0a6 6 0 01-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1721.75 8.25z"})],-1)])],2),e("div",null,[e("span",Tu,a(t(o)("admin.accounts.gemini.accountType.apiKeyTitle")),1),e("span",Mu,a(t(o)("admin.accounts.gemini.accountType.apiKeyDesc")),1)])],2),e("button",{type:"button",onClick:s[17]||(s[17]=i=>z.value="service_account"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",z.value==="service_account"?"border-sky-500 bg-sky-50 dark:bg-sky-900/20":"border-gray-200 hover:border-sky-300 dark:border-dark-600 dark:hover:border-sky-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",z.value==="service_account"?"bg-sky-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"cloud",size:"sm"})],2),s[165]||(s[165]=e("div",null,[e("span",{class:"block text-sm font-medium text-gray-900 dark:text-white"}," Vertex "),e("span",{class:"text-xs text-gray-500 dark:text-gray-400"}," Service Account ")],-1))],2)]),z.value==="apikey"?(n(),r("div",Su,[e("p",null,a(t(o)("admin.accounts.gemini.accountType.apiKeyNote")),1),e("div",Uu,[e("a",{href:to.apiKey,class:"font-medium text-blue-600 hover:underline dark:text-blue-400",target:"_blank",rel:"noreferrer"},a(t(o)("admin.accounts.gemini.accountType.apiKeyLink")),9,Eu)])])):v("",!0),z.value==="service_account"?(n(),r("div",Au,[e("p",null,a(t(o)("admin.accounts.vertexGeminiHint")),1)])):v("",!0),z.value==="oauth-based"?(n(),r("div",qu,[e("label",Ru,a(t(o)("admin.accounts.oauth.gemini.oauthTypeLabel")),1),e("div",Pu,[e("button",{type:"button",onClick:s[18]||(s[18]=i=>oo("google_one")),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",le.value==="google_one"?"border-purple-500 bg-purple-50 dark:bg-purple-900/20":"border-gray-200 hover:border-purple-300 dark:border-dark-600 dark:hover:border-purple-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",le.value==="google_one"?"bg-purple-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"user",size:"sm"})],2),s[166]||(s[166]=e("div",{class:"min-w-0"},[e("span",{class:"block text-sm font-medium text-gray-900 dark:text-white"}," Google One "),e("span",{class:"text-xs text-gray-500 dark:text-gray-400"}," 个人账号,享受 Google One 订阅配额 "),e("div",{class:"mt-2 flex flex-wrap gap-1"},[e("span",{class:"rounded bg-purple-100 px-2 py-0.5 text-[10px] font-semibold text-purple-700 dark:bg-purple-900/40 dark:text-purple-300"}," 推荐个人用户 "),e("span",{class:"rounded bg-emerald-100 px-2 py-0.5 text-[10px] font-semibold text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300"}," 无需 GCP ")])],-1))],2),e("button",{type:"button",onClick:s[19]||(s[19]=i=>oo("code_assist")),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",le.value==="code_assist"?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-200 hover:border-blue-300 dark:border-dark-600 dark:hover:border-blue-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",le.value==="code_assist"?"bg-blue-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"cloud",size:"sm"})],2),e("div",Vu,[s[168]||(s[168]=e("span",{class:"block text-sm font-medium text-gray-900 dark:text-white"}," GCP Code Assist ",-1)),s[169]||(s[169]=e("span",{class:"text-xs text-gray-500 dark:text-gray-400"}," 企业级,需要 GCP 项目 ",-1)),e("div",Iu,[s[167]||(s[167]=oe(" 需要激活 GCP 项目并绑定信用卡 ",-1)),e("a",{href:to.gcpProject,class:"ml-1 text-blue-600 hover:underline dark:text-blue-400",target:"_blank",rel:"noreferrer"},a(t(o)("admin.accounts.gemini.oauthType.gcpProjectLink")),9,zu)]),s[170]||(s[170]=e("div",{class:"mt-2 flex flex-wrap gap-1"},[e("span",{class:"rounded bg-blue-100 px-2 py-0.5 text-[10px] font-semibold text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"}," 企业用户 "),e("span",{class:"rounded bg-emerald-100 px-2 py-0.5 text-[10px] font-semibold text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300"}," 高并发 ")],-1))])],2)]),e("div",Lu,[e("button",{type:"button",onClick:s[20]||(s[20]=i=>
18za.value=!za.value),class:"flex items-center gap-2 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-200"},[(n(),r("svg",{class:C(["h-4 w-4 transition-transform",za.value?"rotate-90":""]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[...s[171]||(s[171]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 5l7 7-7 7"},null,-1)])],2)),e("span",null,a(za.value?"隐藏":"显示")+"高级选项(自建 OAuth Client)",1)])]),za.value?(n(),r("div",Ou,[e("button",{type:"button",disabled:!q.value,onClick:s[21]||(s[21]=i=>oo("ai_studio")),class:C(["flex w-full items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",q.value?"":"cursor-not-allowed opacity-60",le.value==="ai_studio"?"border-amber-500 bg-amber-50 dark:bg-amber-900/20":"border-gray-200 hover:border-amber-300 dark:border-dark-600 dark:hover:border-amber-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",le.value==="ai_studio"?"bg-amber-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[...s[172]||(s[172]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09z"})],-1)])],2),e("div",ju,[e("span",Du,a(t(o)("admin.accounts.gemini.oauthType.customTitle")),1),e("span",Fu,a(t(o)("admin.accounts.gemini.oauthType.customDesc")),1),e("div",Hu,a(t(o)("admin.accounts.gemini.oauthType.customRequirement")),1),e("div",Bu,[e("span",Wu,a(t(o)("admin.accounts.gemini.oauthType.badges.orgManaged")),1),e("span",Ku,a(t(o)("admin.accounts.gemini.oauthType.badges.adminRequired")),1)])]),q.value?v("",!0):(n(),r("span",Gu,a(t(o)("admin.accounts.oauth.gemini.aiStudioNotConfiguredShort")),1))],10,Nu),q.value?v("",!0):(n(),r("div",Ju,a(t(o)("admin.accounts.oauth.gemini.aiStudioNotConfiguredTip")),1))])):v("",!0)])):v("",!0),z.value!=="service_account"?(n(),r("div",Qu,[e("label",Yu,a(t(o)("admin.accounts.gemini.tier.label")),1),e("div",Xu,[le.value==="google_one"?T((n(),r("select",{key:0,"onUpdate:modelValue":s[22]||(s[22]=i=>Xa.value=i),class:"input"},[e("option",Zu,a(t(o)("admin.accounts.gemini.tier.googleOne.free")),1),e("option",ec,a(t(o)("admin.accounts.gemini.tier.googleOne.pro")),1),e("option",tc,a(t(o)("admin.accounts.gemini.tier.googleOne.ultra")),1)],512)),[[ia,Xa.value]]):le.value==="code_assist"?T((n(),r("select",{key:1,"onUpdate:modelValue":s[23]||(s[23]=i=>Za.value=i),class:"input"},[e("option",ac,a(t(o)("admin.accounts.gemini.tier.gcp.standard")),1),e("option",oc,a(t(o)("admin.accounts.gemini.tier.gcp.enterprise")),1)],512)),[[ia,Za.value]]):T((n(),r("select",{key:2,"onUpdate:modelValue":s[24]||(s[24]=i=>wa.value=i),class:"input"},[e("option",sc,a(t(o)("admin.accounts.gemini.tier.aiStudio.free")),1),e("option",lc,a(t(o)("admin.accounts.gemini.tier.aiStudio.paid")),1)],512)),[[ia,wa.value]])]),e("p",nc,a(t(o)("admin.accounts.gemini.tier.hint")),1)])):v("",!0)])):v("",!0),b.platform==="antigravity"?(n(),r("div",rc,[e("label",ic,a(t(o)("admin.accounts.accountType")),1),e("div",dc,[e("button",{type:"button",onClick:s[25]||(s[25]=i=>Ct.value="oauth"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",Ct.value==="oauth"?"border-purple-500 bg-purple-50 dark:bg-purple-900/20":"border-gray-200 hover:border-purple-300 dark:border-dark-600 dark:hover:border-purple-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",Ct.value==="oauth"?"bg-purple-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"key",size:"sm"})],2),e("div",null,[s[173]||(s[173]=e("span",{class:"block text-sm font-medium text-gray-900 dark:text-white"},"OAuth",-1)),e("span",uc,a(t(o)("admin.accounts.types.antigravityOauth")),1)])],2),e("button",{type:"button",onClick:s[26]||(s[26]=i=>Ct.value="upstream"),class:C(["flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all",Ct.value==="upstream"?"border-purple-500 bg-purple-50 dark:bg-purple-900/20":"border-gray-200 hover:border-purple-300 dark:border-dark-600 dark:hover:border-purple-700"])},[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",Ct.value==="upstream"?"bg-purple-500 text-white":"bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400"])},[E(te,{name:"cloud",size:"sm"})],2),e("div",null,[s[174]||(s[174]=e("span",{class:"block text-sm font-medium text-gray-900 dark:text-white"},"API Key",-1)),e("span",cc,a(t(o)("admin.accounts.types.antigravityApikey")),1)])],2)])])):v("",!0),b.platform==="antigravity"&&Ct.value==="upstream"?(n(),r("div",pc,[e("div",null,[e("label",mc,a(t(o)("admin.accounts.upstream.baseUrl")),1),T(e("input",{"onUpdate:modelValue":s[27]||(s[27]=i=>Gt.value=i),type:"text",required:"",class:"input",placeholder:"https://cloudcode-pa.googleapis.com"},null,512),[[B,Gt.value]]),e("p",gc,a(t(o)("admin.accounts.upstream.baseUrlHint")),1)]),e("div",null,[e("label",vc,a(t(o)("admin.accounts.upstream.apiKey")),1),T(e("input",{"onUpdate:modelValue":s[28]||(s[28]=i=>ta.value=i),type:"password",required:"",class:"input font-mono",placeholder:"sk-..."},null,512),[[B,ta.value]]),e("p",bc,a(t(o)("admin.accounts.upstream.apiKeyHint")),1)])])):v("",!0),(b.platform==="gemini"||b.platform==="anthropic")&&z.value==="service_account"?(n(),r("div",yc,[e("div",null,[s[177]||(s[177]=e("label",{class:"input-label"},"Service Account JSON",-1)),e("input",{ref_key:"vertexServiceAccountFileInput",ref:st,type:"file",accept:"application/json,.json",class:"hidden",onChange:Ko},null,544),e("div",{class:C(["rounded-lg border-2 border-dashed px-4 py-5 transition-colors",je.value?"border-sky-500 bg-sky-50 dark:border-sky-500 dark:bg-sky-900/20":"border-gray-300 bg-gray-50 hover:border-sky-400 hover:bg-sky-50/60 dark:border-dark-500 dark:bg-dark-700/40 dark:hover:border-sky-600 dark:hover:bg-sky-900/10"]),onDragenter:s[30]||(s[30]=Xt(i=>je.value=!0,["prevent"])),onDragover:s[31]||(s[31]=Xt(i=>je.value=!0,["prevent"])),onDragleave:s[32]||(s[32]=Xt(i=>je.value=!1,["prevent"])),onDrop:Xt(Go,["prevent"])},[e("div",hc,[e("div",fc,[e("div",xc,[E(te,{name:"upload",size:"sm"}),e("span",null,a(Tt.value?t(o)("admin.accounts.vertexSaJsonLoaded"):t(o)("admin.accounts.vertexSaJsonDrop")),1)]),e("p",kc,a(Tt.value?t(o)("admin.accounts.vertexSaJsonKeyHidden"):t(o)("admin.accounts.vertexSaJsonDropHint")),1)]),e("button",{type:"button",class:"btn btn-secondary shrink-0",onClick:s[29]||(s[29]=i=>{var Y;return(Y=st.value)==null?void 0:Y.click()})},[E(te,{name:"upload",size:"sm"}),oe(" "+a(t(o)("admin.accounts.vertexSaJsonSelectBtn")),1)])]),Tt.value?(n(),r("div",_c,[e("div",wc,[s[175]||(s[175]=oe("Project ID: ",-1)),e("span",$c,a(Ge.value),1)]),e("div",Cc,[s[176]||(s[176]=oe("Client Email: ",-1)),e("span",Tc,a(Tt.value),1)])])):v("",!0)],34),e("p",Mc,a(t(o)("admin.accounts.vertexSaJsonUploadHint")),1)]),e("div",Sc,[e("div",null,[s[178]||(s[178]=e("label",{class:"input-label"},"Project ID",-1)),T(e("input",{"onUpdate:modelValue":s[33]||(s[33]=i=>Ge.value=i),type:"text",class:"input font-mono",readonly:"",placeholder:t(o)("admin.accounts.vertexProjectIdPlaceholder")},null,8,Uc),[[B,Ge.value]])]),e("div",null,[s[179]||(s[179]=e("label",{class:"input-label"},"Location",-1)),T(e("select",{"onUpdate:modelValue":s[34]||(s[34]=i=>Nt.value=i),required:"",class:"input font-mono"},[(n(!0),r(me,null,$e(t(cl),i=>(n(),r("optgroup",{key:i.label,label:i.label},[(n(!0),r(me,null,$e(i.options,Y=>(n(),r("option",{key:Y.value,value:Y.value},a(Y.label),9,Ac))),128))],8,Ec))),128))],512),[[ia,Nt.value]]),e("p",qc,a(t(o)("admin.accounts.vertexLocationHint")),1)])])])):v("",!0),b.platform==="antigravity"?(n(),r("div",Rc,[e("label",Pc,a(t(o)("admin.accounts.modelRestriction")),1),e("div",null,[e("div",Vc,[e("p",Ic,a(t(o)("admin.accounts.mapRequestModels")),1)]),Ze.value.length>0?(n(),r("div",zc,[(n(!0),r(me,null,$e(Ze.value,(i,Y)=>(n(),r("div",{key:t(Bt)(i),class:"space-y-1"},[e("div",Lc,[T(e("input",{"onUpdate:modelValue":se=>i.from=se,type:"text",class:C(["input flex-1",t(Do)(i.from)?"":"border-red-500 dark:border-red-500"]),placeholder:t(o)("admin.accounts.requestModel")},null,10,Oc),[[B,i.from]]),s[181]||(s[181]=e("svg",{class:"h-4 w-4 flex-shrink-0 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1)),T(e("input",{"onUpdate:modelValue":se=>i.to=se,type:"text",class:C(["input flex-1",i.to.includes("*")?"border-red-500 dark:border-red-500":""]),placeholder:t(o)("admin.accounts.actualModel")},null,10,Nc),[[B,i.to]]),e("button",{type:"button",onClick:se=>go(Y),class:"rounded-lg p-2 text-red-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...s[180]||(s[180]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,jc)]),t(Do)(i.from)?v("",!0):(n(),r("p",Dc,a(t(o)("admin.accounts.wildcardOnlyAtEnd")),1)),i.to.includes("*")?(n(),r("p",Fc,a(t(o)("admin.accounts.targetNoWildcard")),1)):v("",!0)]))),128))])):v("",!0),e("button",{type:"button",onClick:mo,class:"mb-3 w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300"},[s[182]||(s[182]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),oe(" "+a(t(o)("admin.accounts.addMapping")),1)]),e("div",Hc,[(n(!0),r(me,null,$e(Oe.value,i=>(n(),r("button",{key:i.label,type:"button",onClick:Y=>Po(i.from,i.to),class:C(["rounded-lg px-3 py-1 text-xs transition-colors",i.color])}," + "+a(i.label),11,Bc))),128))])])])):v("",!0),b.platform==="anthropic"&&Ba.value?(n(),r("div",Wc,[e("label",Kc,a(t(o)("admin.accounts.addMethod")),1),e("div",Gc,[e("label",Jc,[T(e("input",{"onUpdate:modelValue":s[35]||(s[35]=i=>ke.value=i),type:"radio",value:"oauth",class:"mr-2 text-primary-600 focus:ring-primary-500"}
18,null,512),[[da,ke.value]]),e("span",Qc,a(t(o)("admin.accounts.types.oauth")),1)]),e("label",Yc,[T(e("input",{"onUpdate:modelValue":s[36]||(s[36]=i=>ke.value=i),type:"radio",value:"setup-token",class:"mr-2 text-primary-600 focus:ring-primary-500"},null,512),[[da,ke.value]]),e("span",Xc,a(t(o)("admin.accounts.setupTokenLongLived")),1)])])])):v("",!0),b.type==="apikey"&&b.platform!=="antigravity"?(n(),r("div",Zc,[b.platform==="anthropic"?(n(),r("div",e0,[e("div",t0,[s[183]||(s[183]=e("div",null,[e("label",{class:"input-label mb-0"},"Kiro.rs 代理"),e("p",{class:"mt-1 text-xs text-sky-700 dark:text-sky-300"}," 将该 Claude API Key 账号作为 kiro.rs 上游代理调度,外部仍使用 Anthropic 请求格式。 ")],-1)),e("button",{type:"button",onClick:s[37]||(s[37]=i=>dt.value=!dt.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",dt.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",dt.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),dt.value?(n(),r("div",a0,[e("div",null,[s[184]||(s[184]=e("label",{class:"input-label"},"Kiro Access Token / Refresh Token",-1)),T(e("textarea",{"onUpdate:modelValue":s[38]||(s[38]=i=>we.value=i),rows:"8",class:"input font-mono text-sm",placeholder:'{"accessToken":"...","refreshToken":"..."}',spellcheck:"false"},null,512),[[B,we.value]]),s[185]||(s[185]=e("p",{class:"input-hint"}," 支持单个 JSON、JSON 数组、每行一个 JSON,或每行 accessToken refreshToken;每组 token 会创建一个 Kiro 账号。 ",-1))]),e("button",{type:"button",class:"btn btn-secondary w-full",onClick:s[39]||(s[39]=i=>vt.value=!vt.value)},a(vt.value?"收起高级配置":"高级配置"),1),vt.value?(n(),r("div",o0,[e("div",s0,[e("div",null,[s[186]||(s[186]=e("label",{class:"input-label"},"Kiro.rs Base URL",-1)),T(e("input",{"onUpdate:modelValue":s[40]||(s[40]=i=>de.value=i),type:"text",class:"input",placeholder:"默认读取服务器本机 kiro.rs 配置"},null,512),[[B,de.value]]),s[187]||(s[187]=e("p",{class:"input-hint"},"留空使用服务器默认值,通常是 http://127.0.0.1:8990。",-1))]),e("div",null,[s[188]||(s[188]=e("label",{class:"input-label"},"Kiro.rs Proxy API Key",-1)),T(e("input",{"onUpdate:modelValue":s[41]||(s[41]=i=>xe.value=i),type:"password",class:"input font-mono",autocomplete:"new-password","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"true",placeholder:"留空使用服务器默认值"},null,512),[[B,xe.value]]),s[189]||(s[189]=e("p",{class:"input-hint"},"留空读取服务器环境变量或 /opt/kiro-rs/config.json 的 apiKey。",-1))])]),e("div",null,[s[190]||(s[190]=e("label",{class:"input-label"},"Kiro.rs Admin API Key",-1)),T(e("input",{"onUpdate:modelValue":s[42]||(s[42]=i=>$t.value=i),type:"password",class:"input font-mono",autocomplete:"new-password","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"true",placeholder:"留空使用服务器默认值"},null,512),[[B,$t.value]]),s[191]||(s[191]=e("p",{class:"input-hint"},"留空读取服务器环境变量或 /opt/kiro-rs/config.json 的 adminApiKey,用于同步凭据到 kiro.rs。",-1))]),e("div",l0,[e("div",null,[s[193]||(s[193]=e("label",{class:"input-label"},"Endpoint 模式",-1)),T(e("select",{"onUpdate:modelValue":s[43]||(s[43]=i=>Et.value=i),class:"input"},[...s[192]||(s[192]=[e("option",{value:"anthropic"},"Anthropic /v1",-1),e("option",{value:"claude_code"},"Claude Code /cc/v1",-1)])],512),[[ia,Et.value]])]),e("div",null,[s[194]||(s[194]=e("label",{class:"input-label"},"超时时间(秒)",-1)),T(e("input",{"onUpdate:modelValue":s[44]||(s[44]=i=>Rt.value=i),type:"number",min:"1",max:"3600",class:"input"},null,512),[[B,Rt.value,void 0,{number:!0}]])])]),e("div",n0,[e("label",r0,[T(e("input",{"onUpdate:modelValue":s[45]||(s[45]=i=>ft.value=i),type:"checkbox",class:"rounded text-primary-600"},null,512),[[ct,ft.value]]),s[195]||(s[195]=oe(" 启用 /v1/models ",-1))]),e("label",i0,[T(e("input",{"onUpdate:modelValue":s[46]||(s[46]=i=>wt.value=i),type:"checkbox",class:"rounded text-primary-600"},null,512),[[ct,wt.value]]),s[196]||(s[196]=oe(" 启用 count_tokens ",-1))])]),e("div",null,[s[197]||(s[197]=e("label",{class:"input-label"},"自定义 Headers JSON",-1)),T(e("textarea",{"onUpdate:modelValue":s[47]||(s[47]=i=>Se.value=i),rows:"4",class:"input font-mono text-sm",placeholder:'{"X-Kiro-Tenant":"local"}',spellcheck:"false"},null,512),[[B,Se.value]]),s[198]||(s[198]=e("p",{class:"input-hint"},"不会允许覆盖 x-api-key、authorization、cookie 等鉴权头。",-1))]),e("div",null,[s[199]||(s[199]=e("label",{class:"input-label"},"模型映射 JSON",-1)),T(e("textarea",{"onUpdate:modelValue":s[48]||(s[48]=i=>Q.value=i),rows:"4",class:"input font-mono text-sm",placeholder:'{"claude-3-5-sonnet-latest":"claude-sonnet-4-20250514"}',spellcheck:"false"},null,512),[[B,Q.value]])])])):v("",!0)])):v("",!0)])):v("",!0),dt.value&&b.platform==="anthropic"?v("",!0):(n(),r("div",d0,[e("label",u0,a(dt.value&&b.platform==="anthropic"?"Kiro.rs Base URL":t(o)("admin.accounts.baseUrl")),1),T(e("input",{"onUpdate:modelValue":s[49]||(s[49]=i=>
18de.value=i),type:"text",class:"input",placeholder:b.platform==="openai"?"https://api.openai.com":b.platform==="grok"?"https://api.x.ai":b.platform==="gemini"?"https://generativelanguage.googleapis.com":dt.value?"http://127.0.0.1:8990":"https://api.anthropic.com"},null,8,c0),[[B,de.value]]),e("p",p0,a(k.value),1)])),dt.value&&b.platform==="anthropic"?v("",!0):(n(),r("div",m0,[e("label",g0,a(L.value?t(o)("admin.accounts.apiKeysRequired"):t(o)("admin.accounts.apiKeyRequired")),1),L.value?T((n(),r("textarea",{key:0,"onUpdate:modelValue":s[50]||(s[50]=i=>xe.value=i),rows:"6",required:"",class:"input font-mono text-sm",placeholder:R.value,spellcheck:"false"},null,8,v0)),[[B,xe.value]]):T((n(),r("input",{key:1,"onUpdate:modelValue":s[51]||(s[51]=i=>xe.value=i),type:"password",required:"",class:"input font-mono",placeholder:b.platform==="openai"?"sk-proj-...":"AIza..."},null,8,b0)),[[B,xe.value]]),e("p",y0,a(x.value),1)])),b.platform==="gemini"?(n(),r("div",h0,[e("label",f0,a(t(o)("admin.accounts.gemini.tier.label")),1),T(e("select",{"onUpdate:modelValue":s[52]||(s[52]=i=>wa.value=i),class:"input"},[e("option",x0,a(t(o)("admin.accounts.gemini.tier.aiStudio.free")),1),e("option",k0,a(t(o)("admin.accounts.gemini.tier.aiStudio.paid")),1)],512),[[ia,wa.value]]),e("p",_0,a(t(o)("admin.accounts.gemini.tier.aiStudioHint")),1)])):v("",!0),e("div",w0,[e("label",$0,a(t(o)("admin.accounts.modelRestriction")),1),Ra.value?(n(),r("div",C0,[e("p",T0,a(t(o)("admin.accounts.openai.modelRestrictionDisabledByPassthrough")),1)])):(n(),r(me,{key:1},[e("div",M0,[e("button",{type:"button",onClick:s[53]||(s[53]=i=>ve.value="whitelist"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",ve.value==="whitelist"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[s[200]||(s[200]=e("svg",{class:"mr-1.5 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(o)("admin.accounts.modelWhitelist")),1)],2),e("button",{type:"button",onClick:s[54]||(s[54]=i=>ve.value="mapping"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",ve.value==="mapping"?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[s[201]||(s[201]=e("svg",{class:"mr-1.5 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4"})],-1)),oe(" "+a(t(o)("admin.accounts.modelMapping")),1)],2)]),ve.value==="whitelist"?(n(),r("div",S0,[E(lo,{modelValue:fe.value,"onUpdate:modelValue":s[55]||(s[55]=i=>fe.value=i),platform:b.platform},null,8,["modelValue","platform"]),e("p",U0,[oe(a(t(o)("admin.accounts.selectedModels",{count:fe.value.length}))+" ",1),fe.value.length===0?(n(),r("span",E0,a(t(o)("admin.accounts.supportsAllModels")),1)):v("",!0)])])):(n(),r("div",A0,[e("div",q0,[e("p",R0,[s[202]||(s[202]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(o)("admin.accounts.mapRequestModels")),1)])]),_e.value.length>0?(n(),r("div",P0,[(n(!0),r(me,null,$e(_e.value,(i,Y)=>(n(),r("div",{key:t(Ga)(i),class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":se=>i.from=se,type:"text",class:"input flex-1",placeholder:t(o)("admin.accounts.requestModel")},null,8,V0),[[B,i.from]]),s[204]||(s[204]=e("svg",{class:"h-4 w-4 flex-shrink-0 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1)),T(e("input",{"onUpdate:modelValue":se=>i.to=se,type:"text",class:"input flex-1",placeholder:t(o)("admin.accounts.actualModel")},null,8,I0),[[B,i.to]]),e("button",{type:"button",onClick:se=>ko(Y),class:"rounded-lg p-2 text-red-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...s[203]||(s[203]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,z0)]))),128))])):v("",!0),e("button",{type:"button",onClick:fo,class:"mb-3 w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300"},[s[205]||(s[205]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),oe(" "+a(t(o)("admin.accounts.addMapping")),1)]),e("div",L0,[(n(!0),r(me,null,$e(ho.value,i=>(n(),r("button",{key:i.label,type:"button",onClick:Y=>Wa(i.from,i.to),class:C(["rounded-lg px-3 py-1 text-xs transition-colors",i.color])}," + "+a(i.label),11,O0))),128))])]))],64))]),e("div",N0,[e("div",j0,[e("div",null,[e("label",D0,a(t(o)("admin.accounts.poolMode")),1),e("p",F0,a(t(o)("admin.accounts.poolModeHint")),1)]),e("button",{type:"button",onClick:s[56]||(s[56]=i=>Ee.value=!Ee.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Ee.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Ee.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Ee.value?(n(),r("div",H0,[e("p",B0,[E(te,{name:"exclamationCircle",size:"sm",class:"mr-1 inline","stroke-width":2}),oe(" "+a(t(o)("admin.accounts.poolModeInfo")),1)])])):v("",!0),Ee.value?(n(),r("div",W0,[e("label",K0,a(t(o)("admin.accounts.poolModeRetryCount")),1),T(e("input",{"onUpdate:modelValue":s[57]||(s[57]=i=>Xe.value=i),type:"number",min:"0",max:To,step:"1",class:"input"},null,512),[[B,Xe.value,void 0,{number:!0}]]),e("p",G0,a(t(o)("admin.accounts.poolModeRetryCountHint",{default:jo,max:To})),1)])):v("",!0)]),e("div",J0,[e("div",Q0,[e("div",null,[e("label",Y0,a(t(o)("admin.accounts.customErrorCodes")),1),e("p",X0,a(t(o)("admin.accounts.customErrorCodesHint")),1)]),e("button",{type:"button",onClick:s[58]||(s[58]=i=>tt.value=!tt.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",tt.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",tt.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),tt.value?(n(),r("div",Z0,[e("div",ep,[e("p",tp,[E(te,{name:"exclamationTriangle",size:"sm",class:"mr-1 inline","stroke-width":2}),oe(" "+a(t(o)("admin.accounts.customErrorCodesWarning")),1)])]),e("div",ap,[(n(!0),r(me,null,$e(t(ul),i=>(n(),r("button",{key:i.value,type:"button",onClick:Y=>
18Vo(i.value),class:C(["rounded-lg px-3 py-1.5 text-sm font-medium transition-colors",Ae.value.includes(i.value)?"bg-red-100 text-red-700 ring-1 ring-red-500 dark:bg-red-900/30 dark:text-red-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(i.value)+" "+a(i.label),11,op))),128))]),e("div",sp,[T(e("input",{"onUpdate:modelValue":s[59]||(s[59]=i=>Qe.value=i),type:"number",min:"100",max:"599",class:"input flex-1",placeholder:t(o)("admin.accounts.enterErrorCode"),onKeyup:Fo(_o,["enter"])},null,40,lp),[[B,Qe.value,void 0,{number:!0}]]),e("button",{type:"button",onClick:_o,class:"btn btn-secondary px-3"},[...s[206]||(s[206]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)])])]),e("div",np,[(n(!0),r(me,null,$e(Ae.value.sort((i,Y)=>i-Y),i=>(n(),r("span",{key:i,class:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2.5 py-0.5 text-sm font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400"},[oe(a(i)+" ",1),e("button",{type:"button",onClick:Y=>Io(i),class:"hover:text-red-900 dark:hover:text-red-300"},[E(te,{name:"x",size:"sm","stroke-width":2})],8,rp)]))),128)),Ae.value.length===0?(n(),r("span",ip,a(t(o)("admin.accounts.noneSelectedUsesDefault")),1)):v("",!0)])])):v("",!0)])])):v("",!0),b.platform==="anthropic"&&z.value==="bedrock"?(n(),r("div",dp,[e("div",null,[e("label",up,a(t(o)("admin.accounts.bedrockAuthMode")),1),e("div",cp,[e("label",pp,[T(e("input",{"onUpdate:modelValue":s[60]||(s[60]=i=>Ft.value=i),type:"radio",value:"sigv4",class:"mr-2 text-primary-600 focus:ring-primary-500"},null,512),[[da,Ft.value]]),e("span",mp,a(t(o)("admin.accounts.bedrockAuthModeSigv4")),1)]),e("label",gp,[T(e("input",{"onUpdate:modelValue":s[61]||(s[61]=i=>Ft.value=i),type:"radio",value:"apikey",class:"mr-2 text-primary-600 focus:ring-primary-500"},null,512),[[da,Ft.value]]),e("span",vp,a(t(o)("admin.accounts.bedrockAuthModeApikey")),1)])])]),Ft.value==="sigv4"?(n(),r(me,{key:0},[e("div",null,[e("label",bp,a(t(o)("admin.accounts.bedrockAccessKeyId")),1),T(e("input",{"onUpdate:modelValue":s[62]||(s[62]=i=>aa.value=i),type:"text",required:"",class:"input font-mono",placeholder:"AKIA..."},null,512),[[B,aa.value]])]),e("div",null,[e("label",yp,a(t(o)("admin.accounts.bedrockSecretAccessKey")),1),T(e("input",{"onUpdate:modelValue":s[63]||(s[63]=i=>oa.value=i),type:"password",required:"",class:"input font-mono"},null,512),[[B,oa.value]])]),e("div",null,[e("label",hp,a(t(o)("admin.accounts.bedrockSessionToken")),1),T(e("input",{"onUpdate:modelValue":s[64]||(s[64]=i=>sa.value=i),type:"password",class:"input font-mono"},null,512),[[B,sa.value]]),e("p",fp,a(t(o)("admin.accounts.bedrockSessionTokenHint")),1)])],64)):v("",!0),Ft.value==="apikey"?(n(),r("div",xp,[e("label",kp,a(t(o)("admin.accounts.bedrockApiKeyInput")),1),T(e("input",{"onUpdate:modelValue":s[65]||(s[65]=i=>Ce.value=i),type:"password",required:"",class:"input font-mono"},null,512),[[B,Ce.value]])])):v("",!0),e("div",null,[e("label",_p,a(t(o)("admin.accounts.bedrockRegion")),1),T(e("select",{"onUpdate:modelValue":s[66]||(s[66]=i=>I.value=i),class:"input"},[...s[207]||(s[207]=[e("optgroup",{label:"US"},[e("option",{value:"us-east-1"},"us-east-1 (N. Virginia)"),e("option",{value:"us-east-2"},"us-east-2 (Ohio)"),e("option",{value:"us-west-1"},"us-west-1 (N. California)"),e("option",{value:"us-west-2"},"us-west-2 (Oregon)"),e("option",{value:"us-gov-east-1"},"us-gov-east-1 (GovCloud US-East)"),e("option",{value:"us-gov-west-1"},"us-gov-west-1 (GovCloud US-West)")],-1),e("optgroup",{label:"Europe"},[e("option",{value:"eu-west-1"},"eu-west-1 (Ireland)"),e("option",{value:"eu-west-2"},"eu-west-2 (London)"),e("option",{value:"eu-west-3"},"eu-west-3 (Paris)"),e("option",{value:"eu-central-1"},"eu-central-1 (Frankfurt)"),e("option",{value:"eu-central-2"},"eu-central-2 (Zurich)"),e("option",{value:"eu-south-1"},"eu-south-1 (Milan)"),e("option",{value:"eu-south-2"},"eu-south-2 (Spain)"),e("option",{value:"eu-north-1"},"eu-north-1 (Stockholm)")],-1),e("optgroup",{label:"Asia Pacific"},[e("option",{value:"ap-northeast-1"},"ap-northeast-1 (Tokyo)"),e("option",{value:"ap-northeast-2"},"ap-northeast-2 (Seoul)"),e("option",{value:"ap-northeast-3"},"ap-northeast-3 (Osaka)"),e("option",{value:"ap-south-1"},"ap-south-1 (Mumbai)"),e("option",{value:"ap-south-2"},"ap-south-2 (Hyderabad)"),e("option",{value:"ap-southeast-1"},"ap-southeast-1 (Singapore)"),e("option",{value:"ap-southeast-2"},"ap-southeast-2 (Sydney)")],-1),e("optgroup",{label:"Canada"},[e("option",{value:"ca-central-1"},"ca-central-1 (Canada)")],-1),e("optgroup",{label:"South America"},[e("option",{value:"sa-east-1"},"sa-east-1 (São Paulo)")],-1)])],512),[[ia,I.value]]),e("p",wp,a(t(o)("admin.accounts.bedrockRegionHint")),1)]),e("div",null,[e("label",$p,[T(e("input",{"onUpdate:modelValue":s[67]||(s[67]=i=>re.value=i),type:"checkbox",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500 dark:border-dark-500"},null,512),[[ct,re.value]]),e("span",Cp,a(t(o)("admin.accounts.bedrockForceGlobal")),1)]),e("p",Tp,a(t(o)("admin.accounts.bedrockForceGlobalHint")),1)]),e("div",Mp,[e("label",Sp,a(t(o)("admin.accounts.modelRestriction")),1),e("div",Up,[e("button",{type:"button",onClick:s[68]||(s[68]=i=>ve.value="whitelist"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",ve.value==="whitelist"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(o)("admin.accounts.modelWhitelist")),3),e("button",{type:"button",onClick:s[69]||(s[69]=i=>ve.value="mapping"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",ve.value==="mapping"?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(o)("admin.accounts.modelMapping")),3)]),ve.value==="whitelist"?(n(),r("div",Ep,[E(lo,{modelValue:fe.value,"onUpdate:modelValue":s[70]||(s[70]=i=>fe.value=i),platform:"anthropic"},null,8,["modelValue"]),e("p",Ap,[oe(a(t(o)("admin.accounts.selectedModels",{count:fe.value.length}))+" ",1),fe.value.length===0?(n(),r("span",qp,a(t(o)("admin.accounts.supportsAllModels")),1)):v("",!0)])])):(n(),r("div",Rp,[(n(!0),r(me,null,$e(_e.value,(i,Y)=>(n(),r("div",{key:Y,class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":se=>i.from=se,type:"text",class:"input flex-1",placeholder:t(o)("admin.accounts.fromModel")},null,8,Pp),[[B,i.from]]),s[208]||(s[208]=e("span",{class:"text-gray-400"},"→",-1)),T(e("input",{"onUpdate:modelValue":se=>i.to=se,type:"text",class:"input flex-1",placeholder:t(o)("admin.accounts.toModel")},null,8,Vp),[[B,i.to]]),e("button",{type:"button",onClick:se=>_e.value.splice(Y,1),class:"text-red-500 hover:text-red-700"},[E(te,{name:"trash",size:"sm"})],8,Ip)]))),128)),e("button",{type:"button",onClick:s[71]||(s[71]=i=>_e.value.push({from:"",to:""})),class:"btn btn-secondary text-sm"}," + "+a(t(o)("admin.accounts.addMapping")),1),e("div",zp,[(n(!0),r(me,null,$e(ca.value,i=>(n(),r("button",{key:i.from,type:"button",onClick:Y=>Wa(i.from,i.to),class:C(["rounded-lg px-3 py-1 text-xs transition-colors",i.color])}," + "+a(i.label),11,Lp))),128))])]))]),e("div",Op,[e("div",Np,[e("div",null,[e("label",jp,a(t(o)("admin.accounts.poolMode")),1),e("p",Dp,a(t(o)("admin.accounts.poolModeHint")),1)]),e("button",{type:"button",onClick:s[72]||(s[72]=i=>
18Ee.value=!Ee.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Ee.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Ee.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Ee.value?(n(),r("div",Fp,[e("p",Hp,[E(te,{name:"exclamationCircle",size:"sm",class:"mr-1 inline","stroke-width":2}),oe(" "+a(t(o)("admin.accounts.poolModeInfo")),1)])])):v("",!0),Ee.value?(n(),r("div",Bp,[e("label",Wp,a(t(o)("admin.accounts.poolModeRetryCount")),1),T(e("input",{"onUpdate:modelValue":s[73]||(s[73]=i=>Xe.value=i),type:"number",min:"0",max:To,step:"1",class:"input"},null,512),[[B,Xe.value,void 0,{number:!0}]]),e("p",Kp,a(t(o)("admin.accounts.poolModeRetryCountHint",{default:jo,max:To})),1)])):v("",!0)])])):v("",!0),b.platform==="anthropic"&&(b.type==="apikey"||b.type==="bedrock")?(n(),r("div",Gp,[e("div",Jp,[e("h3",Qp,a(t(o)("admin.accounts.quotaControl.title")),1),e("p",Yp,a(t(o)("admin.accounts.quotaControl.hint")),1)]),E(ls,{totalLimit:Me.value,dailyLimit:ce.value,weeklyLimit:W.value,quotaNotifyGlobalEnabled:t(Vt),quotaNotifyDailyEnabled:t(Le).daily.enabled,quotaNotifyDailyThreshold:t(Le).daily.threshold,quotaNotifyDailyThresholdType:t(Le).daily.thresholdType,quotaNotifyWeeklyEnabled:t(Le).weekly.enabled,quotaNotifyWeeklyThreshold:t(Le).weekly.threshold,quotaNotifyWeeklyThresholdType:t(Le).weekly.thresholdType,quotaNotifyTotalEnabled:t(Le).total.enabled,quotaNotifyTotalThreshold:t(Le).total.threshold,quotaNotifyTotalThresholdType:t(Le).total.thresholdType,dailyResetMode:ee.value,dailyResetHour:_.value,weeklyResetMode:O.value,weeklyResetDay:G.value,weeklyResetHour:he.value,resetTimezone:Pe.value,"onUpdate:totalLimit":s[74]||(s[74]=i=>Me.value=i),"onUpdate:dailyLimit":s[75]||(s[75]=i=>ce.value=i),"onUpdate:weeklyLimit":s[76]||(s[76]=i=>W.value=i),"onUpdate:quotaNotifyDailyEnabled":s[77]||(s[77]=i=>t(Le).daily.enabled=i),"onUpdate:quotaNotifyDailyThreshold":s[78]||(s[78]=i=>t(Le).daily.threshold=i),"onUpdate:quotaNotifyDailyThresholdType":s[79]||(s[79]=i=>t(Le).daily.thresholdType=i),"onUpdate:quotaNotifyWeeklyEnabled":s[80]||(s[80]=i=>t(Le).weekly.enabled=i),"onUpdate:quotaNotifyWeeklyThreshold":s[81]||(s[81]=i=>t(Le).weekly.threshold=i),"onUpdate:quotaNotifyWeeklyThresholdType":s[82]||(s[82]=i=>t(Le).weekly.thresholdType=i),"onUpdate:quotaNotifyTotalEnabled":s[83]||(s[83]=i=>t(Le).total.enabled=i),"onUpdate:quotaNotifyTotalThreshold":s[84]||(s[84]=i=>t(Le).total.threshold=i),"onUpdate:quotaNotifyTotalThresholdType":s[85]||(s[85]=i=>t(Le).total.thresholdType=i),"onUpdate:dailyResetMode":s[86]||(s[86]=i=>ee.value=i),"onUpdate:dailyResetHour":s[87]||(s[87]=i=>_.value=i),"onUpdate:weeklyResetMode":s[88]||(s[88]=i=>O.value=i),"onUpdate:weeklyResetDay":s[89]||(s[89]=i=>G.value=i),"onUpdate:weeklyResetHour":s[90]||(s[90]=i=>he.value=i),"onUpdate:resetTimezone":s[91]||(s[91]=i=>Pe.value=i)},null,8,["totalLimit","dailyLimit","weeklyLimit","quotaNotifyGlobalEnabled","quotaNotifyDailyEnabled","quotaNotifyDailyThreshold","quotaNotifyDailyThresholdType","quotaNotifyWeeklyEnabled","quotaNotifyWeeklyThreshold","quotaNotifyWeeklyThresholdType","quotaNotifyTotalEnabled","quotaNotifyTotalThreshold","quotaNotifyTotalThresholdType","dailyResetMode","dailyResetHour","weeklyResetMode","weeklyResetDay","weeklyResetHour","resetTimezone"])])):b.type==="apikey"||b.type==="bedrock"?(n(),r("div",Xp,[e("div",Zp,[e("h3",em,a(t(o)("admin.accounts.quotaControl.title")),1),e("p",tm,a(t(o)("admin.accounts.quotaLimitHint")),1)]),E(ls,{totalLimit:Me.value,dailyLimit:ce.value,weeklyLimit:W.value,quotaNotifyGlobalEnabled:t(Vt),quotaNotifyDailyEnabled:t(Le).daily.enabled,quotaNotifyDailyThreshold:t(Le).daily.threshold,quotaNotifyDailyThresholdType:t(Le).daily.thresholdType,quotaNotifyWeeklyEnabled:t(Le).weekly.enabled,quotaNotifyWeeklyThreshold:t(Le).weekly.threshold,quotaNotifyWeeklyThresholdType:t(Le).weekly.thresholdType,quotaNotifyTotalEnabled:t(Le).total.enabled,quotaNotifyTotalThreshold:t(Le).total.threshold,quotaNotifyTotalThresholdType:t(Le).total.thresholdType,dailyResetMode:ee.value,dailyResetHour:_.value,weeklyResetMode:O.value,weeklyResetDay:G.value,weeklyResetHour:he.value,resetTimezone:Pe.value,"onUpdate:totalLimit":s[92]||(s[92]=i=>Me.value=i),"onUpdate:dailyLimit":s[93]||(s[93]=i=>ce.value=i),"onUpdate:weeklyLimit":s[94]||(s[94]=i=>W.value=i),"onUpdate:quotaNotifyDailyEnabled":s[95]||(s[95]=i=>t(Le).daily.enabled=i),"onUpdate:quotaNotifyDailyThreshold":s[96]||(s[96]=i=>t(Le).daily.threshold=i),"onUpdate:quotaNotifyDailyThresholdType":s[97]||(s[97]=i=>t(Le).daily.thresholdType=i),"onUpdate:quotaNotifyWeeklyEnabled":s[98]||(s[98]=i=>t(Le).weekly.enabled=i),"onUpdate:quotaNotifyWeeklyThreshold":s[99]||(s[99]=i=>t(Le).weekly.threshold=i),"onUpdate:quotaNotifyWeeklyThresholdType":s[100]||(s[100]=i=>t(Le).weekly.thresholdType=i),"onUpdate:quotaNotifyTotalEnabled":s[101]||(s[101]=i=>t(Le).total.enabled=i),"onUpdate:quotaNotifyTotalThreshold":s[102]||(s[102]=i=>
18t(Le).total.threshold=i),"onUpdate:quotaNotifyTotalThresholdType":s[103]||(s[103]=i=>t(Le).total.thresholdType=i),"onUpdate:dailyResetMode":s[104]||(s[104]=i=>ee.value=i),"onUpdate:dailyResetHour":s[105]||(s[105]=i=>_.value=i),"onUpdate:weeklyResetMode":s[106]||(s[106]=i=>O.value=i),"onUpdate:weeklyResetDay":s[107]||(s[107]=i=>G.value=i),"onUpdate:weeklyResetHour":s[108]||(s[108]=i=>he.value=i),"onUpdate:resetTimezone":s[109]||(s[109]=i=>Pe.value=i)},null,8,["totalLimit","dailyLimit","weeklyLimit","quotaNotifyGlobalEnabled","quotaNotifyDailyEnabled","quotaNotifyDailyThreshold","quotaNotifyDailyThresholdType","quotaNotifyWeeklyEnabled","quotaNotifyWeeklyThreshold","quotaNotifyWeeklyThresholdType","quotaNotifyTotalEnabled","quotaNotifyTotalThreshold","quotaNotifyTotalThresholdType","dailyResetMode","dailyResetHour","weeklyResetMode","weeklyResetDay","weeklyResetHour","resetTimezone"])])):v("",!0),b.platform==="openai"&&z.value==="oauth-based"?(n(),r("div",am,[e("label",om,a(t(o)("admin.accounts.modelRestriction")),1),Ra.value?(n(),r("div",sm,[e("p",lm,a(t(o)("admin.accounts.openai.modelRestrictionDisabledByPassthrough")),1)])):(n(),r(me,{key:1},[e("div",nm,[e("button",{type:"button",onClick:s[110]||(s[110]=i=>ve.value="whitelist"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",ve.value==="whitelist"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(o)("admin.accounts.modelWhitelist")),3),e("button",{type:"button",onClick:s[111]||(s[111]=i=>ve.value="mapping"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",ve.value==="mapping"?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(o)("admin.accounts.modelMapping")),3)]),ve.value==="whitelist"?(n(),r("div",rm,[E(lo,{modelValue:fe.value,"onUpdate:modelValue":s[112]||(s[112]=i=>
18fe.value=i),platform:b.platform},null,8,["modelValue","platform"]),e("p",im,[oe(a(t(o)("admin.accounts.selectedModels",{count:fe.value.length}))+" ",1),fe.value.length===0?(n(),r("span",dm,a(t(o)("admin.accounts.supportsAllModels")),1)):v("",!0)])])):(n(),r("div",um,[e("div",cm,[e("p",pm,a(t(o)("admin.accounts.mapRequestModels")),1)]),_e.value.length>0?(n(),r("div",mm,[(n(!0),r(me,null,$e(_e.value,(i,Y)=>(n(),r("div",{key:"oauth-"+t(Ga)(i),class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":se=>i.from=se,type:"text",class:"input flex-1",placeholder:t(o)("admin.accounts.requestModel")},null,8,gm),[[B,i.from]]),s[210]||(s[210]=e("svg",{class:"h-4 w-4 flex-shrink-0 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1)),T(e("input",{"onUpdate:modelValue":se=>i.to=se,type:"text",class:"input flex-1",placeholder:t(o)("admin.accounts.actualModel")},null,8,vm),[[B,i.to]]),e("button",{type:"button",onClick:se=>ko(Y),class:"rounded-lg p-2 text-red-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...s[209]||(s[209]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,bm)]))),128))])):v("",!0),e("button",{type:"button",onClick:fo,class:"mb-3 w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300"}," + "+a(t(o)("admin.accounts.addMapping")),1),e("div",ym,[(n(!0),r(me,null,$e(ho.value,i=>(n(),r("button",{key:"oauth-"+i.label,type:"button",onClick:Y=>Wa(i.from,i.to),class:C(["rounded-lg px-3 py-1 text-xs transition-colors",i.color])}," + "+a(i.label),11,hm))),128))])]))],64))])):v("",!0),e("div",fm,[e("div",xm,[e("div",null,[e("label",km,a(t(o)("admin.accounts.tempUnschedulable.title")),1),e("p",_m,a(t(o)("admin.accounts.tempUnschedulable.hint")),1)]),e("button",{type:"button",onClick:s[113]||(s[113]=i=>Jt.value=!Jt.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Jt.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Jt.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Jt.value?(n(),r("div",wm,[e("div",$m,[e("p",Cm,[E(te,{name:"exclamationTriangle",size:"sm",class:"mr-1 inline","stroke-width":2}),oe(" "+a(t(o)("admin.accounts.tempUnschedulable.notice")),1)])]),e("div",Tm,[(n(!0),r(me,null,$e(Ro.value,i=>(n(),r("button",{key:i.label,type:"button",onClick:Y=>wo(i.rule),class:"rounded-lg bg-gray-100 px-3 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-300 dark:hover:bg-dark-500"}," + "+a(i.label),9,Mm))),128))]),Qt.value.length>0?(n(),r("div",Sm,[(n(!0),r(me,null,$e(Qt.value,(i,Y)=>(n(),r("div",{key:t(la)(i),class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},[e("div",Um,[e("span",Em,a(t(o)("admin.accounts.tempUnschedulable.ruleIndex",{index:Y+1})),1),e("div",Am,[e("button",{type:"button",disabled:Y===0,onClick:se=>d(Y,-1),class:"rounded p-1 text-gray-400 transition-colors hover:text-gray-600 disabled:cursor-not-allowed disabled:opacity-40 dark:hover:text-gray-200"},[E(te,{name:"chevronUp",size:"sm","stroke-width":2})],8,qm),e("button",{type:"button",disabled:Y===Qt.value.length-1,onClick:se=>d(Y,1),class:"rounded p-1 text-gray-400 transition-colors hover:text-gray-600 disabled:cursor-not-allowed disabled:opacity-40 dark:hover:text-gray-200"},[...s[211]||(s[211]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1)])],8,Rm),e("button",{type:"button",onClick:se=>w(Y),class:"rounded p-1 text-red-500 transition-colors hover:text-red-600"},[E(te,{name:"x",size:"sm","stroke-width":2}
18)],8,Pm)])]),e("div",Vm,[e("div",null,[e("label",Im,a(t(o)("admin.accounts.tempUnschedulable.errorCode")),1),T(e("input",{"onUpdate:modelValue":se=>i.error_code=se,type:"number",min:"100",max:"599",class:"input",placeholder:t(o)("admin.accounts.tempUnschedulable.errorCodePlaceholder")},null,8,zm),[[B,i.error_code,void 0,{number:!0}]])]),e("div",null,[e("label",Lm,a(t(o)("admin.accounts.tempUnschedulable.durationMinutes")),1),T(e("input",{"onUpdate:modelValue":se=>i.duration_minutes=se,type:"number",min:"1",class:"input",placeholder:t(o)("admin.accounts.tempUnschedulable.durationPlaceholder")},null,8,Om),[[B,i.duration_minutes,void 0,{number:!0}]])]),e("div",Nm,[e("label",jm,a(t(o)("admin.accounts.tempUnschedulable.keywords")),1),T(e("input",{"onUpdate:modelValue":se=>i.keywords=se,type:"text",class:"input",placeholder:t(o)("admin.accounts.tempUnschedulable.keywordsPlaceholder")},null,8,Dm),[[B,i.keywords]]),e("p",Fm,a(t(o)("admin.accounts.tempUnschedulable.keywordsHint")),1)]),e("div",Hm,[e("label",Bm,a(t(o)("admin.accounts.tempUnschedulable.description")),1),T(e("input",{"onUpdate:modelValue":se=>i.description=se,type:"text",class:"input",placeholder:t(o)("admin.accounts.tempUnschedulable.descriptionPlaceholder")},null,8,Wm),[[B,i.description]])])])]))),128))])):v("",!0),e("button",{type:"button",onClick:s[114]||(s[114]=i=>wo()),class:"w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-sm text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300"},[s[212]||(s[212]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),oe(" "+a(t(o)("admin.accounts.tempUnschedulable.addRule")),1)])])):v("",!0)]),b.platform==="anthropic"||b.platform==="antigravity"?(n(),r("div",Km,[e("div",Gm,[e("div",null,[e("label",Jm,a(t(o)("admin.accounts.interceptWarmupRequests")),1),e("p",Qm,a(t(o)("admin.accounts.interceptWarmupRequestsDesc")),1)]),e("button",{type:"button",onClick:s[115]||(s[115]=i=>Fe.value=!Fe.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Fe.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Fe.value?"translate-x-5":"translate-x-0"])},null,2)],2)])])):v("",!0),b.platform==="anthropic"&&z.value==="oauth-based"?(n(),r("div",Ym,[e("div",Xm,[e("h3",Zm,a(t(o)("admin.accounts.quotaControl.title")),1),e("p",e1,a(t(o)("admin.accounts.quotaControl.hint")),1)]),e("div",t1,[e("div",a1,[e("div",null,[e("label",o1,a(t(o)("admin.accounts.quotaControl.windowCost.label")),1),e("p",s1,a(t(o)("admin.accounts.quotaControl.windowCost.hint")),1)]),e("button",{type:"button",onClick:s[116]||(s[116]=i=>Ma.value=!Ma.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Ma.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Ma.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Ma.value?(n(),r("div",l1,[e("div",null,[e("label",n1,a(t(o)("admin.accounts.quotaControl.windowCost.limit")),1),e("div",r1,[s[213]||(s[213]=e("span",{class:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-500 dark:text-gray-400"}
18,"$",-1)),T(e("input",{"onUpdate:modelValue":s[117]||(s[117]=i=>La.value=i),type:"number",min:"0",step:"1",class:"input pl-7",placeholder:t(o)("admin.accounts.quotaControl.windowCost.limitPlaceholder")},null,8,i1),[[B,La.value,void 0,{number:!0}]])]),e("p",d1,a(t(o)("admin.accounts.quotaControl.windowCost.limitHint")),1)]),e("div",null,[e("label",u1,a(t(o)("admin.accounts.quotaControl.windowCost.stickyReserve")),1),e("div",c1,[s[214]||(s[214]=e("span",{class:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-500 dark:text-gray-400"},"$",-1)),T(e("input",{"onUpdate:modelValue":s[118]||(s[118]=i=>ba.value=i),type:"number",min:"0",step:"1",class:"input pl-7",placeholder:t(o)("admin.accounts.quotaControl.windowCost.stickyReservePlaceholder")},null,8,p1),[[B,ba.value,void 0,{number:!0}]])]),e("p",m1,a(t(o)("admin.accounts.quotaControl.windowCost.stickyReserveHint")),1)])])):v("",!0)]),e("div",g1,[e("div",v1,[e("div",null,[e("label",b1,a(t(o)("admin.accounts.quotaControl.sessionLimit.label")),1),e("p",y1,a(t(o)("admin.accounts.quotaControl.sessionLimit.hint")),1)]),e("button",{type:"button",onClick:s[119]||(s[119]=i=>Sa.value=!Sa.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Sa.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Sa.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Sa.value?(n(),r("div",h1,[e("div",null,[e("label",f1,a(t(o)("admin.accounts.quotaControl.sessionLimit.maxSessions")),1),T(e("input",{"onUpdate:modelValue":s[120]||(s[120]=i=>xa.value=i),type:"number",min:"1",step:"1",class:"input",placeholder:t(o)("admin.accounts.quotaControl.sessionLimit.maxSessionsPlaceholder")},null,8,x1),[[B,xa.value,void 0,{number:!0}]]),e("p",k1,a(t(o)("admin.accounts.quotaControl.sessionLimit.maxSessionsHint")),1)]),e("div",null,[e("label",_1,a(t(o)("admin.accounts.quotaControl.sessionLimit.idleTimeout")),1),e("div",w1,[T(e("input",{"onUpdate:modelValue":s[121]||(s[121]=i=>Qa.value=i),type:"number",min:"1",step:"1",class:"input pr-12",placeholder:t(o)("admin.accounts.quotaControl.sessionLimit.idleTimeoutPlaceholder")},null,8,$1),[[B,Qa.value,void 0,{number:!0}]]),e("span",C1,a(t(o)("common.minutes")),1)]),e("p",T1,a(t(o)("admin.accounts.quotaControl.sessionLimit.idleTimeoutHint")),1)])])):v("",!0)]),e("div",M1,[e("div",S1,[e("div",null,[e("label",U1,a(t(o)("admin.accounts.quotaControl.rpmLimit.label")),1),e("p",E1,a(t(o)("admin.accounts.quotaControl.rpmLimit.hint")),1)]),e("button",{type:"button",onClick:s[122]||(s[122]=i=>Ua.value=!Ua.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Ua.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Ua.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Ua.value?(n(),r("div",A1,[e("div",null,[e("label",q1,a(t(o)("admin.accounts.quotaControl.rpmLimit.baseRpm")),1),T(e("input",{"onUpdate:modelValue":s[123]||(s[123]=i=>Oa.value=i),type:"number",min:"1",max:"1000",step:"1",class:"input",placeholder:t(o)("admin.accounts.quotaControl.rpmLimit.baseRpmPlaceholder")},null,8,R1),[[B,Oa.value,void 0,{number:!0}]]),e("p",P1,a(t(o)("admin.accounts.quotaControl.rpmLimit.baseRpmHint")),1)]),e("div",null,[e("label",V1,a(t(o)("admin.accounts.quotaControl.rpmLimit.strategy")),1),e("div",I1,[e("button",{type:"button",onClick:s[124]||(s[124]=i=>Ve.value="tiered"),class:C(["flex-1 rounded-lg px-3 py-2 text-sm font-medium transition-all",Ve.value==="tiered"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[e("div",z1,[e("div",null,a(t(o)("admin.accounts.quotaControl.rpmLimit.strategyTiered")),1),e("div",L1,a(t(o)("admin.accounts.quotaControl.rpmLimit.strategyTieredHint")),1)])],2),e("button",{type:"button",onClick:s[125]||(s[125]=i=>Ve.value="sticky_exempt"),class:C(["flex-1 rounded-lg px-3 py-2 text-sm font-medium transition-all",Ve.value==="sticky_exempt"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[e("div",O1,[e("div",null,a(t(o)("admin.accounts.quotaControl.rpmLimit.strategyStickyExempt")),1),e("div",N1,a(t(o)("admin.accounts.quotaControl.rpmLimit.strategyStickyExemptHint")),1)])],2)])]),Ve.value==="tiered"?(n(),r("div",j1,[e("label",D1,a(t(o)("admin.accounts.quotaControl.rpmLimit.stickyBuffer")),1),T(e("input",{"onUpdate:modelValue":s[126]||(s[126]=i=>Ea.value=i),type:"number",min:"1",step:"1",class:"input",placeholder:t(o)("admin.accounts.quotaControl.rpmLimit.stickyBufferPlaceholder")},null,8,F1),[[B,Ea.value,void 0,{number:!0}]]),e("p",H1,a(t(o)("admin.accounts.quotaControl.rpmLimit.stickyBufferHint")),1)])):v("",!0)])):v("",!0),e("div",B1,[e("label",W1,a(t(o)("admin.accounts.quotaControl.rpmLimit.userMsgQueue")),1),e("p",K1,a(t(o)("admin.accounts.quotaControl.rpmLimit.userMsgQueueHint")),1),e("div",G1,[(n(!0),r(me,null,$e(Ya.value,i=>(n(),r("button",{type:"button",key:i.value,onClick:Y=>Aa.value=i.value,class:C(["px-3 py-1.5 text-sm rounded-md border transition-colors",Aa.value===i.value?"bg-primary-600 text-white border-primary-600":"bg-white dark:bg-dark-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-dark-500 hover:bg-gray-50 dark:hover:bg-dark-600"])},a(i.label),11,J1))),128))])])]),e("div",Q1,[e("div",Y1,[e("div",null,[e("label",X1,a(t(o)("admin.accounts.quotaControl.tlsFingerprint.label")),1),e("p",Z1,a(t(o)("admin.accounts.quotaControl.tlsFingerprint.hint")),1)]),e("button",{type:"button",onClick:s[127]||(s[127]=i=>
18ka.value=!ka.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",ka.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",ka.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),ka.value?(n(),r("div",eg,[T(e("select",{"onUpdate:modelValue":s[128]||(s[128]=i=>Da.value=i),class:"input"},[e("option",tg,a(t(o)("admin.accounts.quotaControl.tlsFingerprint.defaultProfile")),1),ma.value.length>0?(n(),r("option",ag,a(t(o)("admin.accounts.quotaControl.tlsFingerprint.randomProfile")),1)):v("",!0),(n(!0),r(me,null,$e(ma.value,i=>(n(),r("option",{key:i.id,value:i.id},a(i.name),9,og))),128))],512),[[ia,Da.value]])])):v("",!0)]),e("div",sg,[e("div",lg,[e("div",null,[e("label",ng,a(t(o)("admin.accounts.quotaControl.sessionIdMasking.label")),1),e("p",rg,a(t(o)("admin.accounts.quotaControl.sessionIdMasking.hint")),1)]),e("button",{type:"button",onClick:s[129]||(s[129]=i=>_a.value=!_a.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",_a.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",_a.value?"translate-x-5":"translate-x-0"])},null,2)],2)])]),e("div",ig,[e("div",dg,[e("div",null,[e("label",ug,a(t(o)("admin.accounts.quotaControl.cacheTTLOverride.label")),1),e("p",cg,a(t(o)("admin.accounts.quotaControl.cacheTTLOverride.hint")),1)]),e("button",{type:"button",onClick:s[130]||(s[130]=i=>ya.value=!ya.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",ya.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",ya.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),ya.value?(n(),r("div",pg,[e("label",mg,a(t(o)("admin.accounts.quotaControl.cacheTTLOverride.target")),1),T(e("select",{"onUpdate:modelValue":s[131]||(s[131]=i=>Fa.value=i),class:"mt-1 block w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm shadow-sm focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 dark:border-dark-500 dark:bg-dark-700 dark:text-white"},[...s[215]||(s[215]=[e("option",{value:"5m"},"5m",-1),e("option",{value:"1h"},"1h",-1)])],512),[[ia,Fa.value]]),e("p",gg,a(t(o)("admin.accounts.quotaControl.cacheTTLOverride.targetHint")),1)])):v("",!0)]),e("div",vg,[e("div",bg,[e("div",null,[e("label",yg,a(t(o)("admin.accounts.quotaControl.customBaseUrl.label")),1),e("p",hg,a(t(o)("admin.accounts.quotaControl.customBaseUrl.hint")),1)]),e("button",{type:"button",onClick:s[132]||(s[132]=i=>qa.value=!qa.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",qa.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",qa.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),qa.value?(n(),r("div",fg,[T(e("input",{"onUpdate:modelValue":s[133]||(s[133]=i=>Ha.value=i),type:"text",class:"input",placeholder:t(o)("admin.accounts.quotaControl.customBaseUrl.urlHint")},null,8,xg),[[B,Ha.value]])])):v("",!0)])])):v("",!0),e("div",null,[e("label",kg,a(t(o)("admin.accounts.proxy")),1),E(ks,{modelValue:b.proxy_id,"onUpdate:modelValue":s[134]||(s[134]=i=>b.proxy_id=i),proxies:c.proxies},null,8,["modelValue","proxies"])]),e("div",_g,[e("div",null,[e("label",wg,a(t(o)("admin.accounts.concurrency")),1),T(e("input",{"onUpdate:modelValue":s[135]||(s[135]=i=>b.concurrency=i),type:"number",min:"1",class:"input",onInput:s[136]||(s[136]=i=>b.concurrency=Math.max(1,b.concurrency||1))},null,544),[[B,b.concurrency,void 0,{number:!0}]])]),e("div",null,[e("label",$g,a(t(o)("admin.accounts.loadFactor")),1),T(e("input",{"onUpdate:modelValue":s[137]||(s[137]=i=>b.load_factor=i),type:"number",min:"1",class:"input",placeholder:String(b.concurrency||1),onInput:s[138]||(s[138]=i=>b.load_factor=b.load_factor&&b.load_factor>=1?b.load_factor:null)},null,40,Cg),[[B,b.load_factor,void 0,{number:!0}]]),e("p",Tg,a(t(o)("admin.accounts.loadFactorHint")),1)]),e("div",null,[e("label",Mg,a(t(o)("admin.accounts.priority")),1),T(e("input",{"onUpdate:modelValue":s[139]||(s[139]=i=>b.priority=i),type:"number",min:"1",class:"input","data-tour":"account-form-priority"},null,512),[[B,b.priority,void 0,{number:!0}]]),e("p",Sg,a(t(o)("admin.accounts.priorityHint")),1)]),e("div",null,[e("label",Ug,a(t(o)("admin.accounts.billingRateMultiplier")),1),T(e("input",{"onUpdate:modelValue":s[140]||(s[140]=i=>b.rate_multiplier=i),type:"number",min:"0",step:"0.001",class:"input"},null,512),[[B,b.rate_multiplier,void 0,{number:!0}]]),e("p",Eg,a(t(o)("admin.accounts.billingRateMultiplierHint")),1)])]),e("div",Ag,[e("label",qg,a(t(o)("admin.accounts.expiresAt")),1),T(e("input",{"onUpdate:modelValue":s[141]||(s[141]=i=>po.value=i),type:"datetime-local",class:"input"},null,512),[[B,po.value]]),e("p",Rg,a(t(o)("admin.accounts.expiresAtHint")),1)]),b.platform==="openai"?(n(),r("div",Pg,[e
18("div",Vg,[e("div",null,[e("label",Ig,a(t(o)("admin.accounts.openai.oauthPassthrough")),1),e("p",zg,a(t(o)("admin.accounts.openai.oauthPassthroughDesc")),1)]),e("button",{type:"button",onClick:s[142]||(s[142]=i=>He.value=!He.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",He.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",He.value?"translate-x-5":"translate-x-0"])},null,2)],2)])])):v("",!0),b.platform==="openai"&&(z.value==="oauth-based"||z.value==="apikey")?(n(),r("div",Lg,[e("div",Og,[e("div",null,[e("label",Ng,a(t(o)("admin.accounts.openai.wsMode")),1),e("p",jg,a(t(o)("admin.accounts.openai.wsModeDesc")),1),e("p",Dg,a(t(o)(Ao.value)),1)]),e("div",Fg,[E(Ca,{modelValue:eo.value,"onUpdate:modelValue":s[143]||(s[143]=i=>eo.value=i),options:Eo.value},null,8,["modelValue","options"])])])])):v("",!0),b.platform==="anthropic"&&z.value==="apikey"?(n(),r("div",Hg,[e("div",Bg,[e("div",null,[e("label",Wg,a(t(o)("admin.accounts.anthropic.apiKeyPassthrough")),1),e("p",Kg,a(t(o)("admin.accounts.anthropic.apiKeyPassthroughDesc")),1)]),e("button",{type:"button",onClick:s[144]||(s[144]=i=>ht.value=!ht.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",ht.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",ht.value?"translate-x-5":"translate-x-0"])},null,2)],2)])])):v("",!0),b.platform==="anthropic"&&z.value==="apikey"&&Lt.value?(n(),r("div",Gg,[e("div",Jg,[e("div",null,[e("label",Qg,a(t(o)("admin.accounts.anthropic.webSearchEmulation")),1),e("p",Yg,a(t(o)("admin.accounts.anthropic.webSearchEmulationDesc")),1)]),T(e("select",{"onUpdate:modelValue":s[145]||(s[145]=i=>At.value=i),class:"input w-24 text-sm"},[e("option",Xg,a(t(o)("admin.accounts.anthropic.webSearchDefault")),1),e("option",Zg,a(t(o)("admin.accounts.anthropic.webSearchEnabled")),1),e("option",ev,a(t(o)("admin.accounts.anthropic.webSearchDisabled")),1)],512),[[ia,At.value]])])])):v("",!0),b.platform==="openai"&&z.value==="oauth-based"?(n(),r("div",tv,[e("div",av,[e("div",null,[e("label",ov,a(t(o)("admin.accounts.openai.codexCLIOnly")),1),e("p",sv,a(t(o)("admin.accounts.openai.codexCLIOnlyDesc")),1)]),e("button",{type:"button",onClick:s[146]||(s[146]=i=>pt.value=!pt.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",pt.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",pt.value?"translate-x-5":"translate-x-0"])},null,2)],2)])])):v("",!0),b.platform==="openai"&&(z.value==="oauth-based"||z.value==="apikey")?(n(),r("div",lv,[e("div",nv,[e("div",null,[e("label",rv,a(t(o)("admin.accounts.openai.compactMode")),1),e("p",iv,a(t(o)("admin.accounts.openai.compactModeDesc")),1)]),e("div",dv,[E(Ca,{modelValue:Je.value,"onUpdate:modelValue":s[147]||(s[147]=i=>Je.value=i),options:j.value},null,8,["modelValue","options"])])]),e("div",null,[e("label",uv,a(t(o)("admin.accounts.openai.compactModelMapping")),1),e("p",cv,a(t(o)("admin.accounts.openai.compactModelMappingDesc")),1),ge.value.length>0?(n(),r("div",pv,[(n(!0),r(me,null,$e(ge.value,(i,Y)=>(n(),r("div",{key:t(io)(i),class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":se=>i.from=se,type:"text",class:"input flex-1",placeholder:t(o)("admin.accounts.fromModel")},null,8,mv),[[B,i.from]]),s[216]||(s[216]=e("span",{class:"text-gray-400"},"→",-1)),T(e("input",{"onUpdate:modelValue":se=>i.to=se,type:"text",class:"input flex-1",placeholder:t(o)("admin.accounts.toModel")},null,8,gv),[[B,i.to]]),e("button",{type:"button",onClick:se=>xo(Y),class:"text-red-500 hover:text-red-700"},[E(te,{name:"trash",size:"sm"})],8,vv)]))),128))])):v("",!0),e("button",{type:"button",onClick:Na,class:"btn btn-secondary text-sm"}," + "+a(t(o)("admin.accounts.addMapping")),1)])])):v("",!0),e("div",null,[e("div",bv,[e("div",null,[e("label",yv,a(t(o)("admin.accounts.autoPauseOnExpired")),1),e("p",hv,a(t(
18o)("admin.accounts.autoPauseOnExpiredDesc")),1)]),e("button",{type:"button",onClick:s[148]||(s[148]=i=>ze.value=!ze.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",ze.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",ze.value?"translate-x-5":"translate-x-0"])},null,2)],2)])]),e("div",fv,[b.platform==="antigravity"?(n(),r("div",xv,[e("label",kv,[T(e("input",{type:"checkbox","onUpdate:modelValue":s[149]||(s[149]=i=>Kt.value=i),class:"h-4 w-4 rounded border-gray-300 text-primary-500 focus:ring-primary-500 dark:border-dark-500"},null,512),[[ct,Kt.value]]),e("span",_v,a(t(o)("admin.accounts.mixedScheduling")),1)]),e("div",wv,[s[218]||(s[218]=e("span",{class:"inline-flex h-4 w-4 cursor-help items-center justify-center rounded-full bg-gray-200 text-xs text-gray-500 hover:bg-gray-300 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"}," ? ",-1)),e("div",$v,[oe(a(t(o)("admin.accounts.mixedSchedulingTooltip"))+" ",1),s[217]||(s[217]=e("div",{class:"absolute bottom-full left-3 border-4 border-transparent border-b-gray-900 dark:border-b-gray-700"},null,-1))])])])):v("",!0),b.platform==="antigravity"?(n(),r("div",Cv,[e("label",Tv,[T(e("input",{type:"checkbox","onUpdate:modelValue":s[150]||(s[150]=i=>Ot.value=i),class:"h-4 w-4 rounded border-gray-300 text-primary-500 focus:ring-primary-500 dark:border-dark-500"},null,512),[[ct,Ot.value]]),e("span",Mv,a(t(o)("admin.accounts.allowOverages")),1)]),e("div",Sv,[s[220]||(s[220]=e("span",{class:"inline-flex h-4 w-4 cursor-help items-center justify-center rounded-full bg-gray-200 text-xs text-gray-500 hover:bg-gray-300 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"}," ? ",-1)),e("div",Uv,[oe(a(t(o)("admin.accounts.allowOveragesTooltip"))+" ",1),s[219]||(s[219]=e("div",{class:"absolute bottom-full left-3 border-4 border-transparent border-b-gray-900 dark:border-b-gray-700"},null,-1))])])])):v("",!0),t(m).isSimpleMode?v("",!0):(n(),Be(_s,{key:2,modelValue:b.group_ids,"onUpdate:modelValue":s[151]||(s[151]=i=>b.group_ids=i),groups:c.groups,platform:b.platform,"mixed-scheduling":Kt.value,"data-tour":"account-form-groups"},null,8,["modelValue","groups","platform","mixed-scheduling"]))])],32)):(n(),r("div",Ev,[E(yl,{ref_key:"oauthFlowRef",ref:Z,"add-method":b.platform==="anthropic"?ke.value:"oauth","auth-url":ae.value,"session-id":F.value,loading:H.value,error:J.value,"show-help":b.platform==="anthropic","show-proxy-warning":b.platform!=="openai"&&!!b.proxy_id,"allow-multiple":b.platform==="anthropic","show-cookie-option":b.platform==="anthropic","show-refresh-token-option":b.platform==="openai"||b.platform==="antigravity","show-mobile-refresh-token-option":b.platform==="openai","show-session-token-option":!1,"show-access-token-option":!1,"show-codex-session-import-option":b.platform==="openai","show-claude-request-token-import-option":b.platform==="anthropic",platform:b.platform,"show-project-id":le.value==="code_assist",onGenerateUrl:Yo,onCookieAuth:Vl,onValidateRefreshToken:Xo,onValidateMobileRefreshToken:Ml,onValidateSessionToken:p,onImportCodexSession:Cl,onPreviewClaudeRequestToken:ql,onImportClaudeRequestToken:Rl},null,8,["add-method","auth-url","session-id","loading","error","show-help","show-proxy-warning","allow-multiple","show-cookie-option","show-refresh-token-option","show-mobile-refresh-token-option","show-codex-session-import-option","show-claude-request-token-import-option","platform","show-project-id"])]))]),_:1},8,["show","title"]),E(ua,{show:Ja.value,title:t(o)("admin.accounts.gemini.helpDialog.title"),onClose:s[153]||(s[153]=i=>Ja.value=!1),"max-width":"max-w-3xl"},{footer:qe(()=>[e("div",wb,[e("button",{onClick:s[152]||(s[152]=i=>Ja.value=!1),type:"button",class:"btn btn-primary"},a(t(o)("common.close")),1)])]),default:qe(()=>[e("div",zv,[e("div",null,[e("h3",Lv,a(t(o)("admin.accounts.gemini.setupGuide.title")),1),e("div",Ov,[e("div",null,[e("p",Nv,a(t(o)("admin.accounts.gemini.setupGuide.checklistTitle")),1),e("ul",jv,[e("li",null,a(t(o)("admin.accounts.gemini.setupGuide.checklistItems.usIp")),1),e("li",null,a(t(o)("admin.accounts.gemini.setupGuide.checklistItems.age")),1)])]),e("div",null,[e("p",Dv,a(t(o)("admin.accounts.gemini.setupGuide.activationTitle")),1),e("ul",Fv,[e("li",null,a(t(o)("admin.accounts.gemini.setupGuide.activationItems.geminiWeb")),1),e("li",null,a(t(o)("admin.accounts.gemini.setupGuide.activationItems.gcpProject")),1)]),e("div",Hv,[e("a",Bv,a(t(o)("admin.accounts.gemini.setupGuide.links.countryCheck")),1
18),s[223]||(s[223]=e("span",{class:"text-gray-400"},"·",-1)),s[224]||(s[224]=e("a",{href:"https://policies.google.com/country-association-form",target:"_blank",rel:"noreferrer",class:"text-sm text-blue-600 hover:underline dark:text-blue-400"}," 修改归属地 ",-1)),s[225]||(s[225]=e("span",{class:"text-gray-400"},"·",-1)),e("a",Wv,a(t(o)("admin.accounts.gemini.setupGuide.links.geminiWebActivation")),1),s[226]||(s[226]=e("span",{class:"text-gray-400"},"·",-1)),e("a",Kv,a(t(o)("admin.accounts.gemini.setupGuide.links.gcpProject")),1)])])])]),e("div",Gv,[e("h3",Jv,a(t(o)("admin.accounts.gemini.quotaPolicy.title")),1),e("p",Qv,a(t(o)("admin.accounts.gemini.quotaPolicy.note")),1),e("div",Yv,[e("table",Xv,[e("thead",Zv,[e("tr",null,[e("th",eb,a(t(o)("admin.accounts.gemini.quotaPolicy.columns.channel")),1),e("th",tb,a(t(o)("admin.accounts.gemini.quotaPolicy.columns.account")),1),e("th",ab,a(t(o)("admin.accounts.gemini.quotaPolicy.columns.limits")),1)])]),e("tbody",ob,[e("tr",null,[e("td",sb,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.googleOne.channel")),1),s[227]||(s[227]=e("td",{class:"px-3 py-2 text-gray-600 dark:text-gray-400"},"Free",-1)),e("td",lb,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.googleOne.limitsFree")),1)]),e("tr",null,[s[228]||(s[228]=e("td",{class:"px-3 py-2 text-gray-900 dark:text-white"},null,-1)),s[229]||(s[229]=e("td",{class:"px-3 py-2 text-gray-600 dark:text-gray-400"},"Pro",-1)),e("td",nb,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.googleOne.limitsPro")),1)]),e("tr",null,[s[230]||(s[230]=e("td",{class:"px-3 py-2 text-gray-900 dark:text-white"},null,-1)),s[231]||(s[231]=e("td",{class:"px-3 py-2 text-gray-600 dark:text-gray-400"}
18,"Ultra",-1)),e("td",rb,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.googleOne.limitsUltra")),1)]),e("tr",null,[e("td",ib,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.gcp.channel")),1),s[232]||(s[232]=e("td",{class:"px-3 py-2 text-gray-600 dark:text-gray-400"},"Standard",-1)),e("td",db,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.gcp.limitsStandard")),1)]),e("tr",null,[s[233]||(s[233]=e("td",{class:"px-3 py-2 text-gray-900 dark:text-white"},null,-1)),s[234]||(s[234]=e("td",{class:"px-3 py-2 text-gray-600 dark:text-gray-400"},"Enterprise",-1)),e("td",ub,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.gcp.limitsEnterprise")),1)]),e("tr",null,[e("td",cb,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.aiStudio.channel")),1),s[235]||(s[235]=e("td",{class:"px-3 py-2 text-gray-600 dark:text-gray-400"},"Free",-1)),e("td",pb,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.aiStudio.limitsFree")),1)]),e("tr",null,[s[236]||(s[236]=e("td",{class:"px-3 py-2 text-gray-900 dark:text-white"},null,-1)),s[237]||(s[237]=e("td",{class:"px-3 py-2 text-gray-600 dark:text-gray-400"},"Paid",-1)),e("td",mb,a(t(o)("admin.accounts.gemini.quotaPolicy.rows.aiStudio.limitsPaid")),1)])])])]),e("div",gb,[e("a",{href:Pa.codeAssist,target:"_blank",rel:"noreferrer",class:"text-sm text-blue-600 hover:underline dark:text-blue-400"},a(t(o)("admin.accounts.gemini.quotaPolicy.docs.codeAssist")),9,vb),e("a",{href:Pa.aiStudio,target:"_blank",rel:"noreferrer",class:"text-sm text-blue-600 hover:underline dark:text-blue-400"},a(t(o)("admin.accounts.gemini.quotaPolicy.docs.aiStudio")),9,bb),e("a",{href:Pa.vertex,target:"_blank",rel:"noreferrer",class:"text-sm text-blue-600 hover:underline dark:text-blue-400"},a(t(o)("admin.accounts.gemini.quotaPolicy.docs.vertex")),9,yb)])]),e("div",hb,[e("h3",fb,a(t(o)("admin.accounts.gemini.helpDialog.apiKeySection")),1),e("div",xb,[e("a",{href:to.apiKey,target:"_blank",rel:"noreferrer",class:"text-sm text-blue-600 hover:underline dark:text-blue-400"},a(t(o)("admin.accounts.gemini.accountType.apiKeyLink")),9,kb),e("a",{href:to.aiStudioPricing,target:"_blank",rel:"noreferrer",class:"text-sm text-blue-600 hover:underline dark:text-blue-400"},a(t(o)("admin.accounts.gemini.accountType.quotaLink")),9,_b)])])])]),_:1},8,["show","title"]),E(ro,{show:Zt.value,title:t(o)("admin.accounts.mixedChannelWarningTitle"),message:qo.value,"confirm-text":t(o)("common.confirm"),"cancel-text":t(o)("common.cancel"),danger:!0,onConfirm:vo,onCancel:Bo},null,8,["show","title","message","confirm-text","cancel-text"])],64))}}),Tb={class:"input-label"},Mb={class:"input-label"},Sb=["placeholder"],Ub={class:"input-hint"},Eb={class:"input-label"},Ab=["placeholder"],qb={key:0,class:"space-y-4"},Rb={key:0},Pb={class:"input-label"},Vb=["placeholder"],Ib={class:"input-hint"},zb={key:1},Lb={class:"input-label"},Ob=["placeholder"],Nb={class:"input-hint"},jb={key:2,class:"rounded-lg border border-sky-200 bg-sky-50 p-4 dark:border-sky-800/50 dark:bg-sky-900/20"},Db={class:"mb-4 flex items-center justify-between gap-4"},Fb={key:0,class:"space-y-4"},Hb={key:0,class:"space-y-4"},Bb={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},Wb={class:"input-hint"},Kb={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},Gb={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},Jb={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},Qb={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},Yb=["disabled"],Xb={key:3,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Zb={class:"input-label"},ey={key:0,class:"mb-3 rounded-lg bg-amber-50 p-3 dark:bg-amber-900/20"},ty={class:"text-xs text-amber-700 dark:text-amber-400"},ay={class:"mb-4 flex gap-2"},oy={key:0},sy={class:"text-xs text-gray-500 dark:text-gray-400"},ly={key:0},ny={key:1},ry={class:"mb-3 rounded-lg bg-purple-50 p-3 dark:bg-purple-900/20"},iy={class:"text-xs text-purple-700 dark:text-purple-400"},dy={key:0,class:"mb-3 space-y-2"},uy=["onUpdate:modelValue","placeholder"],cy=["onUpdate:modelValue","placeholder"],py=["onClick"],my={class:"flex flex-wrap gap-2"},gy=["onClick"],vy={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},by={class:"mb-3 flex items-center justify-between"},yy={class:"input-label mb-0"},hy={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},fy={key:0,class:"rounded-lg bg-blue-50 p-3 dark:bg-blue-900/20"},xy={class:"text-xs text-blue-700 dark:text-blue-400"},ky={key:1,class:"mt-3"},_y={class:"input-label"},wy={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},$y={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Cy={class:"mb-3 flex items-center justify-between"},Ty={class:"input-label mb-0"},My={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Sy={key:0,class:"space-y-3"},Uy={class:"rounded-lg bg-amber-50 p-3 dark:bg-amber-900/20"},Ey={class:"text-xs text-amber-700 dark:text-amber-400"},Ay={class:"flex flex-wrap gap-2"},qy=["onClick"],Ry={class:"flex items-center gap-2"},Py=["placeholder"],Vy={class:"flex flex-wrap gap-1.5"},Iy=["onClick"],zy={key:0,class:"text-xs text-gray-400"},Ly={key:1,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Oy={class:"input-label"},Ny={key:0,class:"mb-3 rounded-lg bg-amber-50 p-3 dark:bg-amber-900/20"},jy={class:"text-xs text-amber-700 dark:text-amber-400"},Dy={class:"mb-4 flex gap-2"},Fy={key:0},Hy={class:"text-xs text-gray-500 dark:text-gray-400"},By={key:0},Wy={key:1},Ky={class:"mb-3 rounded-lg bg-purple-50 p-3 dark:bg-purple-900/20"},Gy={class:"text-xs text-purple-700 dark:text-purple-400"},Jy={key:0,class:"mb-3 space-y-2"},Qy=["onUpdate:modelValue","placeholder"],Yy=["onUpdate:modelValue","placeholder"],Xy=["onClick"],Zy={class:"flex flex-wrap gap-2"},e2=["onClick"],t2={key:2,class:"space-y-4"},a2={class:"input-label"},o2={class:"input-hint"},s2={class:"input-label"},l2={class:"input-hint"},n2={key:3,class:"space-y-4"},r2={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},i2=["placeholder"],d2={class:"input-hint"},u2=["label"],c2=["value"],p2={class:"input-hint"},m2={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},g2={class:"input-label"},v2={class:"mb-4 flex gap-2"},b2={key:0},y2={class:"text-xs text-gray-500 dark:text-gray-400"},h2={key:0},f2={key:1},x2={class:"mb-3 rounded-lg bg-purple-50 p-3 dark:bg-purple-900/20"},k2={class:"text-xs text-purple-700 dark:text-purple-400"},_2={key:0,class:"mb-3 space-y-2"},w2=["onUpdate:modelValue","placeholder"],$2=["onUpdate:modelValue","placeholder"],C2=["onClick"],T2={class:"flex flex-wrap gap-2"},M2=["onClick"],S2={key:4,class:"space-y-4"},U2={class:"input-label"},E2={class:"input-label"},A2=["placeholder"],q2={class:"input-hint"},R2={class:"input-label"},P2=["placeholder"],V2={class:"input-hint"},I2={key:1},z2={class:"input-label"},L2=["placeholder"],O2={class:"input-hint"},N2={class:"input-label"},j2={class:"input-hint"},D2={class:"flex items-center gap-2 cursor-pointer"},F2={class:"text-sm text-gray-700 dark:text-gray-300"},H2={class:"input-hint mt-1"},B2={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},W2={class:"input-label"},K2={class:"mb-4 flex gap-2"},G2={key:0},J2={class:"text-xs text-gray-500 dark:text-gray-400"},Q2={key:0},Y2={key:1,class:"space-y-3"},X2=["onUpdate:modelValue","placeholder"],Z2=["onUpdate:modelValue","placeholder"],eh=["onClick"],th={class:"flex flex-wrap gap-2"},ah=["onClick"],oh={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},sh={class:"mb-3 flex items-center justify-between"},lh={class:"input-label mb-0"},nh={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},rh={key:0,class:"rounded-lg bg-blue-50 p-3 dark:bg-blue-900/20"},ih={class:"text-xs text-blue-700 dark:text-blue-400"},dh={key:1,class:"mt-3"},uh={class:"input-label"},ch={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},ph={key:5,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},mh={class:"input-label"},gh={class:"mb-3 rounded-lg bg-purple-50 p-3 dark:bg-purple-900/20"},vh={class:"text-xs text-purple-700 dark:text-purple-400"},bh={key:0,class:"mb-3 space-y-2"},yh={class:"flex items-center gap-2"},hh=["onUpdate:modelValue","placeholder"],fh=["onUpdate:modelValue","placeholder"],xh=["onClick"],kh={key:0,class:"text-xs text-red-500"}
vendor: 7,062 bytes, line 18
18,_h={key:1,class:"text-xs text-red-500"},wh={class:"flex flex-wrap gap-2"},$h=["onClick"],Ch={class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},Th={class:"mb-3 flex items-center justify-between"},Mh={class:"input-label mb-0"},Sh={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Uh={key:0,class:"space-y-3"},Eh={class:"rounded-lg bg-blue-50 p-3 dark:bg-blue-900/20"},Ah={class:"text-xs text-blue-700 dark:text-blue-400"},qh={class:"flex flex-wrap gap-2"},Rh=["onClick"],Ph={key:0,class:"space-y-3"},Vh={class:"mb-2 flex items-center justify-between"},Ih={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},zh={class:"flex items-center gap-2"},Lh=["disabled","onClick"],Oh=["disabled","onClick"],Nh=["onClick"],jh={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},Dh={class:"input-label"},Fh=["onUpdate:modelValue","placeholder"],Hh={class:"input-label"},Bh=["onUpdate:modelValue","placeholder"],Wh={class:"sm:col-span-2"},Kh={class:"input-label"},Gh=["onUpdate:modelValue","placeholder"],Jh={class:"input-hint"},Qh={class:"sm:col-span-2"},Yh={class:"input-label"},Xh=["onUpdate:modelValue","placeholder"],Zh={key:6,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},ef={class:"flex items-center justify-between"},tf={class:"input-label mb-0"},af={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},of={class:"input-label"},sf={class:"grid grid-cols-2 gap-4 lg:grid-cols-4"},lf={class:"input-label"},nf={class:"input-label"},rf=["placeholder"],df={class:"input-hint"},uf={class:"input-label"},cf={class:"input-hint"},pf={class:"input-label"},mf={class:"input-hint"},gf={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},vf={class:"input-label"},bf={class:"input-hint"},yf={key:7,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},hf={class:"flex items-center justify-between"},ff={class:"input-label mb-0"},xf={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},kf={key:8,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},_f={class:"overflow-hidden rounded-lg border border-sky-100 bg-sky-50/60 shadow-sm dark:border-sky-900/50 dark:bg-sky-950/20"},wf={class:"flex items-start gap-3 px-4 py-3"},$f={class:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-white text-sky-600 shadow-sm ring-1 ring-sky-100 dark:bg-dark-800 dark:text-sky-300 dark:ring-sky-900/60"},Cf={class:"min-w-0 flex-1"},Tf={class:"flex flex-wrap items-center gap-2"},Mf={class:"input-label mb-0"},Sf={class:"mt-1 text-xs leading-5 text-slate-600 dark:text-slate-300"},Uf={class:"border-t border-sky-100 bg-white/70 p-2 dark:border-sky-900/50 dark:bg-dark-800/70"},Ef={class:"grid grid-cols-1 gap-2 sm:grid-cols-3"},Af=["data-testid","onClick"],qf={class:"min-w-0"},Rf={class:"block text-sm font-medium"},Pf={class:"mt-0.5 block text-xs leading-4 text-slate-500 dark:text-slate-400"},Vf={key:9,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},If={class:"flex items-center justify-between"},zf={class:"input-label mb-0"},Lf={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Of={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Nf={class:"w-52"},jf={key:10,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Df={class:"flex items-center justify-between"},Ff={class:"input-label mb-0"},Hf={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Bf={key:11,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Wf={class:"flex items-center justify-between"},Kf={class:"input-label mb-0"},Gf={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Jf={value:"default"},Qf={value:"enabled"},Yf={value:"disabled"},Xf={key:12,class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},Zf={class:"mb-3"},ex={class:"input-label mb-0 text-base font-semibold"},tx={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},ax={key:13,class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},ox={class:"mb-3"},sx={class:"input-label mb-0 text-base font-semibold"},lx={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},nx={key:14,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},rx={class:"flex items-center justify-between"},ix={class:"input-label mb-0"},dx={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},ux={key:15,class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},cx={class:"flex items-center justify-between"},px={class:"input-label mb-0"},mx={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},gx={class:"w-44"},vx={class:"rounded-lg bg-gray-50 px-3 py-2 text-xs text-gray-600 dark:bg-dark-700 dark:text-gray-300"},bx={class:"font-medium"},yx={key:0,class:"ml-2 text-gray-500 dark:text-gray-400"},hx={class:"input-label"},fx={class:"input-hint"},xx={key:0,class:"mb-3 space-y-2"},kx=["onUpdate:modelValue","placeholder"],_x=["onUpdate:modelValue","placeholder"],wx=["onClick"],$x={class:"flex items-center justify-between"},Cx={class:"input-label mb-0"},Tx={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Mx={key:16,class:"border-t border-gray-200 pt-4 dark:border-dark-600 space-y-4"},Sx={class:"mb-3"},Ux={class:"input-label mb-0 text-base font-semibold"},Ex={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Ax={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},qx={class:"mb-3 flex items-center justify-between"},Rx={class:"input-label mb-0"},Px={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Vx={key:0,class:"grid grid-cols-2 gap-4"},Ix={class:"input-label"},zx={class:"relative"},Lx=["placeholder"],Ox={class:"input-hint"},Nx={class:"input-label"},jx={class:"relative"},Dx=["placeholder"],Fx={class:"input-hint"},Hx={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},Bx={class:"mb-3 flex items-center justify-between"},Wx={class:"input-label mb-0"},Kx={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Gx={key:0,class:"grid grid-cols-2 gap-4"},Jx={class:"input-label"},Qx=["placeholder"],Yx={class:"input-hint"},Xx={class:"input-label"},Zx={class:"relative"},ek=["placeholder"],tk={class:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-500 dark:text-gray-400"},ak={class:"input-hint"},ok={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},sk={class:"mb-3 flex items-center justify-between"},lk={class:"input-label mb-0"},nk={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},rk={key:0,class:"space-y-4"},ik={class:"input-label"},dk=["placeholder"],uk={class:"input-hint"},ck={class:"input-label"},pk={class:"flex gap-2"},mk={class:"text-center"},gk={class:"mt-0.5 text-[10px] opacity-70"},vk={class:"text-center"},bk={class:"mt-0.5 text-[10px] opacity-70"},yk={key:0},hk={class:"input-label"},fk=["placeholder"],xk={class:"input-hint"},kk={class:"mt-4"},_k={class:"input-label"},wk={class:"mt-1 text-xs text-gray-500 dark:text-gray-400 mb-2"},$k={class:"flex space-x-2"},Ck=["onClick"],Tk={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},Mk={class:"flex items-center justify-between"},Sk={class:"input-label mb-0"},Uk={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"}
18,Ek={key:0,class:"mt-3"},Ak={value:null},qk={key:0,value:-1},Rk=["value"],Pk={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},Vk={class:"flex items-center justify-between"},Ik={class:"input-label mb-0"},zk={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Lk={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},Ok={class:"flex items-center justify-between"},Nk={class:"input-label mb-0"},jk={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Dk={key:0,class:"mt-3"},Fk={class:"input-label text-xs"},Hk={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Bk={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},Wk={class:"flex items-center justify-between"},Kk={class:"input-label mb-0"},Gk={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Jk={key:0,class:"mt-3"},Qk=["placeholder"],Yk={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Xk={class:"input-label"},Zk={key:0,class:"flex items-center gap-2"},e4={class:"flex cursor-not-allowed items-center gap-2 opacity-60"},t4={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},a4={class:"group relative"},o4={class:"pointer-events-none absolute left-0 top-full z-[100] mt-1.5 w-72 rounded bg-gray-900 px-3 py-2 text-xs text-white opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-700"},s4={key:1,class:"mt-3 flex items-center gap-2"},l4={class:"flex cursor-pointer items-center gap-2"},n4={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},r4={class:"group relative"},i4={class:"pointer-events-none absolute left-0 top-full z-[100] mt-1.5 w-72 rounded bg-gray-900 px-3 py-2 text-xs text-white opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-700"},d4={key:0,class:"flex justify-end gap-3"},u4=["disabled"],c4={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},bo=3,Mo=10,p4=Dt({__name:"EditAccountModal",props:{show:{type:Boolean},account:{},proxies:{},groups:{}},emits:["close","updated"],setup(c,{emit:A}){const o=c,m=A,{t:l}=Ht(),k=ra(),x=xs(),L=P(()=>o.account?o.account.platform==="openai"?l("admin.accounts.openai.baseUrlHint"):o.account.platform==="grok"?l("admin.accounts.grok.baseUrlHint"):o.account.platform==="gemini"?l("admin.accounts.gemini.baseUrlHint"):o.account.platform==="anthropic"&&Oe.value?"填写 kiro.rs 服务地址,例如 http://127.0.0.1:8990;不要填写 https://api.anthropic.com。":l("admin.accounts.baseUrlHint"):l("admin.accounts.baseUrlHint")),R=P(()=>yo("antigravity")),N=P(()=>yo("bedrock")),K=u(!1),S=u("https://api.anthropic.com"),U=u(""),M=u(""),h=u(""),y=u(""),ae=u(""),F=u(!1),H=u(""),J=u(""),Z=u(""),ie=u("us-central1"),ne=P(()=>{var w,d,X;return((w=o.account)==null?void 0:w.type)==="bedrock"&&((X=(d=o.account)==null?void 0:d.credentials)==null?void 0:X.auth_mode)==="apikey"}),z=u([]),ke=u([]),de=u("whitelist"),xe=u([]),Me=u(!1),ce=u(bo),W=u(!1),ee=u([]),_=u(null),O=u(!1),G=u(!1),he=u(!1),Pe=u(!1),_e=u("whitelist"),ge=u([]),ve=u([]),fe=u(!1),Ee=u([]),Xe=so("edit-model-mapping"),tt=so("edit-openai-compact-model-mapping"),Ae=so("edit-antigravity-model-mapping"),Qe=so("edit-temp-unsched-rule"),Fe=u(!1),ze=u(null),He=u(""),Je=u(null),Mt=u(!1),gt=u(!1),pt=u(null),ht=u(null),dt=u(!1),Et=u(null),Rt=u(null),ft=u(!1),wt=u(null),Se=u("tiered"),Q=u(null),we=u(""),vt=P(()=>[{value:"",label:l("admin.accounts.quotaControl.rpmLimit.umqModeOff")},{value:"throttle",label:l("admin.accounts.quotaControl.rpmLimit.umqModeThrottle")},{value:"serialize",label:l("admin.accounts.quotaControl.rpmLimit.umqModeSerialize")}]),$t=u(!1),At=u(null),Lt=u([]),Vt=u(!1),Le=u(!1),Wt=u("5m"),ea=u(!1),Kt=u(""),Ot=u(!1),Ct=u("auto"),Gt=u(jt),ta=u(jt),bt=u(!1),Pt=u("inherit"),Ze=u(!1),Oe=u(!1),ca=u("anthropic"),Ft=u(60),aa=u(!0),oa=u(!0),sa=u("{}"),I=u("{}"),re=u(""),Ce=u(!1),st=u(""),St=u(!1),Ge=u("default"),Tt=u(!1),{globalEnabled:Nt,state:je,loadGlobalState:Jt,loadFromExtra:Qt,writeToExtra:Ga,reset:io}=pl();be.settings.getWebSearchEmulationConfig().then(w=>{var d;Tt.value=(w==null?void 0:w.enabled)===!0&&(((d=w==null?void 0:w.providers)==null?void 0:d.length)??0)>0}
18).catch(()=>{Tt.value=!1}),Jt();const Bt=u(null),la=u(null),le=u(null),q=u(null),j=u(null),De=u(null),Te=u(null),Zt=u(null),pa=u(null),va=P(()=>[{value:jt,label:l("admin.accounts.openai.wsModeOff")},{value:Uo,label:l("admin.accounts.openai.wsModeCtxPool")},{value:Ho,label:l("admin.accounts.openai.wsModePassthrough")}]),ja=P({get:()=>{var w;return((w=o.account)==null?void 0:w.type)==="apikey"?ta.value:Gt.value},set:w=>{var d;if(((d=o.account)==null?void 0:d.type)==="apikey"){ta.value=w;return}Gt.value=w}}),Ta=P(()=>ns(ja.value)),za=P(()=>[{value:"inherit",label:l("admin.accounts.openai.codexImageGenerationBridgeInherit"),description:l("admin.accounts.openai.codexImageGenerationBridgeInheritDesc")},{value:"enabled",label:l("admin.accounts.openai.codexImageGenerationBridgeEnabled"),description:l("admin.accounts.openai.codexImageGenerationBridgeEnabledDesc")},{value:"disabled",label:l("admin.accounts.openai.codexImageGenerationBridgeDisabled"),description:l("admin.accounts.openai.codexImageGenerationBridgeDisabledDesc")}]),Ja=P(()=>{switch(Pt.value){case"enabled":return l("admin.accounts.openai.codexImageGenerationBridgeBadgeEnabled");case"disabled":return l("admin.accounts.openai.codexImageGenerationBridgeBadgeDisabled");default:return l("admin.accounts.openai.codexImageGenerationBridgeBadgeInherit")}}),Ma=P(()=>{switch(Pt.value){case"enabled":return"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300";case"disabled":return"bg-rose-100 text-rose-700 dark:bg-rose-900/40 dark:text-rose-300";default:return"bg-slate-100 text-slate-600 dark:bg-dark-600 dark:text-slate-300"}}),La=P(()=>[{value:"auto",label:l("admin.accounts.openai.compactModeAuto")},{value:"force_on",label:l("admin.accounts.openai.compactModeForceOn")},{value:"force_off",label:l("admin.accounts.openai.compactModeForceOff")}]),ba=P(()=>{var w;return((w=o.account)==null?void 0:w.platform)==="openai"&&Ot.value}),Sa=P(()=>{var X;const w=(X=o.account)==null?void 0:X.extra;if(!o.account||o.account.platform!=="openai")return"";const d=typeof(w==null?void 0:w.openai_compact_mode)=="string"?w.openai_compact_mode:"auto";return d==="force_on"?"admin.accounts.openai.compactSupported":d==="force_off"?"admin.accounts.openai.compactUnsupported":typeof(w==null?void 0:w.openai_compact_supported)=="boolean"?w.openai_compact_supported?"admin.accounts.openai.compactSupported":"admin.accounts.openai.compactUnsupported":"admin.accounts.openai.compactAuto"}),xa=P(()=>{var w;return yo(((w=o.account)==null?void 0:w.platform)||"anthropic")}),Qa=P(()=>[{label:l("admin.accounts.tempUnschedulable.presets.overloadLabel"),rule:{error_code:529,keywords:"overloaded, too many",duration_minutes:60,description:l("admin.accounts.tempUnschedulable.presets.overloadDesc")}},{label:l("admin.accounts.tempUnschedulable.presets.rateLimitLabel"),rule:{error_code:429,keywords:"rate limit, too many requests",duration_minutes:10,description:l("admin.accounts.tempUnschedulable.presets.rateLimitDesc")}},{label:l("admin.accounts.tempUnschedulable.presets.unavailableLabel"),rule:{error_code:503,keywords:"unavailable, maintenance",duration_minutes:30,description:l("admin.accounts.tempUnschedulable.presets.unavailableDesc")}}]),Ua=P(()=>{var w,d,X,ue;return((w=o.account)==null?void 0:w.platform)==="openai"?"https://api.openai.com":((d=o.account)==null?void 0:d.platform)==="grok"?"https://api.x.ai":((X=o.account)==null?void 0:X.platform)==="gemini"?"https://generativelanguage.googleapis.com":((ue=o.account)==null?void 0:ue.platform)==="anthropic"&&Oe.value?"":"https://api.anthropic.com"}),Oa=P(()=>ze.value?l("admin.accounts.mixedChannelWarning",ze.value):He.value),Ve=fa({name:"",notes:"",tag:"",proxy_id:null,concurrency:1,load_factor:null,priority:1,rate_multiplier:1,status:"active",group_ids:[],expires_at:null}),Ea=P(()=>{const w=[{value:"active",label:l("common.active")},{value:"inactive",label:l("common.inactive")}];return Ve.status==="error"&&w.push({value:"error",label:l("admin.accounts.status.error")}),w}),Aa=P({get:()=>xo(Ve.expires_at),set:w=>{Ve.expires_at=ko(w)}}),Ya=w=>{if(!Number.isFinite(w))return bo;const d=Math.trunc(w);return d<0?0:d>Mo?Mo:d},ka=w=>{if(!w)return;Mt.value=!1,Fe.value=!1,ze.value=null,He.value="",Je.value=null,Ve.name=w.name,Ve.notes=w.notes||"",Ve.tag=w.tag||"",Ve.proxy_id=w.proxy_id,Ve.concurrency=w.concurrency,Ve.load_factor=w.load_factor??null,Ve.priority=w.priority,Ve.rate_multiplier=w.rate_multiplier??1,Ve.status=w.status==="active"||w.status==="inactive"||w.status==="error"?w.status:"active",Ve.group_ids=w.group_ids||[],Ve.expires_at=w.expires_at??null;const d=w.credentials;O.value=(d==null?void 0:d.intercept_warmup_requests)===!0,G.value=w.auto_pause_on_expired===!0,J.value="",Z.value="",ie.value="us-central1",he.value=!1,Pe.value=!1;const X=w.extra;if(he.value=(X==null?void 0:X.mixed_scheduling)===!0,Pe.value=(X==null?void 0:X.allow_overages)===!0,Ot.value=!1,Ct.value="auto",ke.value=[],Gt.value=jt,ta.value=jt,bt.value=!1,Pt.value="inherit",Ze.value=!1,Oe.value=!1,ca.value="anthropic",Ft.value=60,aa.value=!0,oa.value=!0,sa.value="{}",I.value="{}",re.value="",Ce.value=!1,st.value="",Ge.value="default",w.platform==="openai"&&(w.type==="oauth"||w.type==="apikey")){Ot.value=(X==null?void 0:X.openai_passthrough)===!0||(X==null?void 0:X.openai_oauth_passthrough)===!0,Ct.value=(X==null?void 0:X.openai_compact_mode)||"auto";const ue=typeof(X==null?void 0:X.codex_image_generation_bridge)=="boolean"?X.codex_image_generation_bridge:X==null?void 0:X.codex_image_generation_bridge_enabled;ue===!0?Pt.value="enabled":ue===!1&&(Pt.value="disabled"),Gt.value=Ls(X,{modeKey:"openai_oauth_responses_websockets_v2_mode",enabledKey:"openai_oauth_responses_websockets_v2_enabled",fallbackEnabledKeys:["responses_websockets_v2_enabled","openai_ws_enabled"],defaultMode:jt}),ta.value=Ls(X,{modeKey:"openai_apikey_responses_websockets_v2_mode",enabledKey:"openai_apikey_responses_websockets_v2_enabled",fallbackEnabledKeys:["responses_websockets_v2_enabled","openai_ws_enabled"],defaultMode:jt}),w.type==="oauth"&&(bt.value=(X==null?void 0:X.codex_cli_only)===!0);const at=w.credentials,Ie=at==null?void 0:at.compact_model_mapping;Ie&&typeof Ie=="object"&&(ke.value=Object.entries(Ie).map(([lt,Re])=>({from:lt,to:Re})))}if(w.platform==="anthropic"&&w.type==="apikey"){Ze.value=(X==null?void 0:X.anthropic_passthrough)===!0,Oe.value=(X==null?void 0:X.kiro_rs_enabled)===!0,ca.value=(X==null?void 0:X.kiro_rs_endpoint_mode)==="claude_code"?"claude_code":"anthropic",Ft.value=Number((X==null?void 0:X.kiro_rs_timeout_seconds)||60),aa.value=(X==null?void 0:X.kiro_rs_models_enabled)!==!1,oa.value=(X==null?void 0:X.kiro_rs_count_tokens_enabled)!==!1,sa.value=JSON.stringify((X==null?void 0:X.kiro_rs_headers)||{},null,2);const ue=w.credentials;I.value=JSON.stringify((ue==null?void 0:ue.model_mapping)||{},null,2);const at=ue==null?void 0:ue.kiro_credentials;re.value=at&&typeof at=="object"?JSON.stringify(at,null,2):"",st.value=(ue==null?void 0:ue.kiro_admin_api_key)||"";const Ie=X==null?void 0:X.web_search_emulation;
18Ie==="enabled"||Ie==="disabled"?Ge.value=Ie:Ie===!0?Ge.value="enabled":Ge.value="default"}if(w.type==="apikey"||w.type==="bedrock"){const ue=X==null?void 0:X.quota_limit;Bt.value=ue&&ue>0?ue:null;const at=X==null?void 0:X.quota_daily_limit;la.value=at&&at>0?at:null;const Ie=X==null?void 0:X.quota_weekly_limit;le.value=Ie&&Ie>0?Ie:null,q.value=(X==null?void 0:X.quota_daily_reset_mode)||null,j.value=(X==null?void 0:X.quota_daily_reset_hour)??null,De.value=(X==null?void 0:X.quota_weekly_reset_mode)||null,Te.value=(X==null?void 0:X.quota_weekly_reset_day)??null,Zt.value=(X==null?void 0:X.quota_weekly_reset_hour)??null,pa.value=(X==null?void 0:X.quota_reset_timezone)||null,Qt(X)}else Bt.value=null,la.value=null,le.value=null,q.value=null,j.value=null,De.value=null,Te.value=null,Zt.value=null,pa.value=null,io();if(w.platform==="antigravity"){const ue=w.credentials;_e.value="mapping",ge.value=[];const at=ue==null?void 0:ue.model_mapping;if(at&&typeof at=="object"){const Ie=Object.entries(at);ve.value=Ie.map(([lt,Re])=>({from:lt,to:Re}))}else{const Ie=ue==null?void 0:ue.model_whitelist;Array.isArray(Ie)&&Ie.length>
180?ve.value=Ie.map(lt=>String(lt).trim()).filter(lt=>lt.length>0).map(lt=>({from:lt,to:lt})):ve.value=[]}}else _e.value="mapping",ge.value=[],ve.value=[];if(ho(w),to(d),w.type==="apikey"&&w.credentials){const ue=w.credentials,at=w.platform==="openai"?"https://api.openai.com":w.platform==="gemini"?"https://generativelanguage.googleapis.com":"https://api.anthropic.com";S.value=ue.base_url||at;const Ie=ue.model_mapping;if(Ie&&typeof Ie=="object"){const Re=Object.entries(Ie);Re.length>0&&Re.every(([We,xt])=>We===xt)?(de.value="whitelist",xe.value=Re.map(([We])=>We),z.value=[]):(de.value="mapping",z.value=Re.map(([We,xt])=>({from:We,to:xt})),xe.value=[])}else de.value="whitelist",z.value=[],xe.value=[];Me.value=ue.pool_mode===!0,ce.value=Ya(Number(ue.pool_mode_retry_count??bo)),W.value=ue.custom_error_codes_enabled===!0;const lt=ue.custom_error_codes;lt&&Array.isArray(lt)?ee.value=[...lt]:ee.value=[]}else if(w.type==="bedrock"&&w.credentials){const ue=w.credentials,at=ue.auth_mode||"sigv4";ae.value=ue.aws_region||"",F.value=ue.aws_force_global==="true",at==="apikey"?H.value="":(M.value=ue.aws_access_key_id||"",h.value="",y.value=""),Me.value=ue.pool_mode===!0;const Ie=ue.pool_mode_retry_count;ce.value=typeof Ie=="number"&&Ie>=0?Ie:bo;const lt=w.extra||{};Bt.value=typeof lt.quota_limit=="number"?lt.quota_limit:null,la.value=typeof lt.quota_daily_limit=="number"?lt.quota_daily_limit:null,le.value=typeof lt.quota_weekly_limit=="number"?lt.quota_weekly_limit:null,Qt(lt);const Re=ue.model_mapping;if(Re&&typeof Re=="object"){const V=Object.entries(Re);V.length>0&&V.every(([xt,Yt])=>xt===Yt)?(de.value="whitelist",xe.value=V.map(([xt])=>xt),z.value=[]):(de.value="mapping",z.value=V.map(([xt,Yt])=>({from:xt,to:Yt})),xe.value=[])}else de.value="whitelist",z.value=[],xe.value=[]}else if(w.type==="upstream"&&w.credentials){const ue=w.credentials;S.value=ue.base_url||""}else if((w.platform==="gemini"||w.platform==="anthropic")&&w.type==="service_account"&&w.credentials){const ue=w.credentials;J.value=ue.project_id||"",Z.value=ue.client_email||"",ie.value=ue.location||ue.vertex_location||"us-central1";const at=ue.model_mapping;if(at&&typeof at=="object"){const Ie=Object.entries(at);Ie.length>0&&Ie.every(([Re,V])=>Re===V)?(de.value="whitelist",xe.value=Ie.map(([Re])=>Re),z.value=[]):(de.value="mapping",z.value=Ie.map(([Re,V])=>({from:Re,to:V})),xe.value=[])}else de.value="whitelist",z.value=[],xe.value=[]}else{const ue=w.platform==="openai"?"https://api.openai.com":w.platform==="gemini"?"https://generativelanguage.googleapis.com":"https://api.anthropic.com";if(S.value=ue,w.platform==="openai"&&w.credentials){const Ie=w.credentials.model_mapping;if(Ie&&typeof Ie=="object"){const lt=Object.entries(Ie);lt.length>0&&lt.every(([V,We])=>V===We)?(de.value="whitelist",xe.value=lt.map(([V])=>V),z.value=[]):(de.value="mapping",z.value=lt.map(([V,We])=>({from:V,to:We})),xe.value=[])}else de.value="whitelist",z.value=[],xe.value=[]}else de.value="whitelist",z.value=[],xe.value=[];Me.value=!1,ce.value=bo,W.value=!1,ee.value=[]}U.value=""};async function Da(){try{const w=await be.tlsFingerprintProfiles.list();Lt.value=w.map(d=>({id:d.id,name:d.name}))}catch{Lt.value=[]}}_t([()=>o.show,()=>o.account],([w,d],[X,ue])=>{!w||!d||(!X||d!==ue)&&(ka(d),Da())},{immediate:!0}),_t(Oe,w=>{!o.account||o.account.platform!=="anthropic"||o.account.type!=="apikey"||(w?(!S.value.trim()||S.value.trim()==="https://api.anthropic.com")&&(S.value=""):(!S.value.trim()||S.value.trim()==="http://127.0.0.1:8990")&&(S.value="https://api.anthropic.com"))});const ma=()=>{z.value.push({from:"",to:""})},_a=w=>{z.value.splice(w,1)},ya=(w,d)=>{if(z.value.some(ue=>ue.from===w)){k.showInfo(l("admin.accounts.mappingExists",{model:w}));return}z.value.push({from:w,to:d})},Fa=()=>{ve.value.push({from:"",to:""})},qa=()=>{ke.value.push({from:"",to:""})},Ha=w=>{ke.value.splice(w,1)},Xa=w=>{ve.value.splice(w,1)},Za=(w,d)=>{if(ve.value.some(ue=>ue.from===w)){k.showInfo(l("admin.accounts.mappingExists",{model:w}));return}ve.value.push({from:w,to:d})},wa=w=>{const d=ee.value.indexOf(w);if(d===-1){if(w===429){if(!confirm(l("admin.accounts.customErrorCodes429Warning")))return}else if(w===529&&!confirm(l("admin.accounts.customErrorCodes529Warning")))return;ee.value.push(w)}else ee.value.splice(d,1)},uo=()=>{const w=_.value;if(w===null||w<100||w>599){k.showError(l("admin.accounts.invalidErrorCode"));return}if(ee.value.includes(w)){k.showInfo(l("admin.accounts.errorCodeExists"));return}if(w===429){if(!confirm(l("admin.accounts.customErrorCodes429Warning")))return}else if(w===529&&!confirm(l("admin.accounts.customErrorCodes529Warning")))return;ee.value.push(w),_.value=null},Eo=w=>{const d=ee.value.indexOf(w);d!==-1&&ee.value.splice(d,1)},eo=w=>{if(w){Ee.value.push({...w});return}Ee.value.push({error_code:null,keywords:"",duration_minutes:30,description:""})},Ao=w=>{Ee.value.splice(w,1)},Ra=(w,d)=>{const X=w+d;if(X<0||X>=Ee.value.length)return;const ue=Ee.value,at=ue[w];ue[w]=ue[X],ue[X]=at},qo=w=>{const d=[];for(const X of w){const ue=Number(X.error_code),at=Number(X.duration_minutes),Ie=b(X.keywords);!Number.isFinite(ue)||ue<100||ue>599||!Number.isFinite(at)||at<=0||Ie.length!==0&&d.push({error_code:Math.trunc(ue),keywords:Ie,duration_minutes:Math.trunc(at),description:X.description.trim()})}return d},Pa=w=>{if(!fe.value)return delete w.temp_unschedulable_enabled,delete w.temp_unschedulable_rules,!0;const d=qo(Ee.value);return d.length===0?(k.showError(l("admin.accounts.tempUnschedulable.rulesInvali
18d")),!1):(w.temp_unschedulable_enabled=!0,w.temp_unschedulable_rules=d,!0)};function to(w){fe.value=(w==null?void 0:w.temp_unschedulable_enabled)===!0;const d=w==null?void 0:w.temp_unschedulable_rules;if(!Array.isArray(d)){Ee.value=[];return}Ee.value=d.map(X=>{const ue=X;return{error_code:Ba(ue.error_code),keywords:Ro(ue.keywords),duration_minutes:Ba(ue.duration_minutes),description:typeof ue.description=="string"?ue.description:""}})}function ho(w){gt.value=!1,pt.value=null,ht.value=null,dt.value=!1,Et.value=null,Rt.value=null,ft.value=!1,wt.value=null,Se.value="tiered",Q.value=null,we.value="",$t.value=!1,At.value=null,Vt.value=!1,Le.value=!1,Wt.value="5m",ea.value=!1,Kt.value="",w.platform==="anthropic"&&(w.type!=="oauth"&&w.type!=="setup-token"||(w.window_cost_limit!=null&&w.window_cost_limit>0&&(gt.value=!0,pt.value=w.window_cost_limit,ht.value=w.window_cost_sticky_reserve??10),w.max_sessions!=null&&w.max_sessions>0&&(dt.value=!0,Et.value=w.max_sessions,Rt.value=w.session_idle_timeout_minutes??5),w.base_rpm!=null&&w.base_rpm>0&&(ft.value=!0,wt.value=w.base_rpm,Se.value=w.rpm_strategy||"tiered",Q.value=w.rpm_sticky_buffer??null),we.value=w.user_msg_queue_mode??"",w.enable_tls_fingerprint===!0&&($t.value=!0),At.value=w.tls_fingerprint_profile_id??null,w.session_id_masking_enabled===!0&&(Vt.value=!0),w.cache_ttl_override_enabled===!0&&(Le.value=!0,Wt.value=w.cache_ttl_override_target||"5m"),w.custom_base_url_enabled===!0&&(ea.value=!0,Kt.value=w.custom_base_url||"")))}function Ro(w){return Array.isArray(w)?w.filter(d=>typeof d=="string").map(d=>d.trim()).filter(d=>d.length>0).join(", "):typeof w=="string"?w:""}const b=w=>w.split(/[,;]/).map(d=>d.trim()).filter(d=>d.length>0);function Ba(w){const d=Number(w);return!Number.isFinite(d)||d<=0?null:Math.trunc(d)}const co=()=>{var w,d;return((w=o.account)==null?void 0:w.platform)==="antigravity"||((d=o.account)==null?void 0:d.platform)==="anthropic"},po=w=>{const d=w==null?void 0:w.details;return d?{groupName:d.group_name||"Unknown",currentPlatform:d.current_platform||"Unknown",otherPlatform:d.other_platform||"Unknown"}:null},ao=()=>{Fe.value=!1,ze.value=null,He.value="",Je.value=null},oo=w=>{var d;ze.value=po(w.response),He.value=w.message||((d=w.response)==null?void 0:d.message)||l("admin.accounts.failedToUpdate"),Je.value=w.onConfirm,Fe.value=!0},fo=w=>{if(co()&&Mt.value)return{...w,confirm_mixed_channel_risk:!0};const d={...w};return delete d.confirm_mixed_channel_risk,d},Na=async w=>{if(!co()||Mt.value)return!0;if(!o.account)return!1;try{const d=await be.accounts.checkMixedChannelRisk({platform:o.account.platform,group_ids:Ve.group_ids,account_id:o.account.id});return d.has_risk?(oo({response:d,onConfirm:async()=>{Mt.value=!0,await w()}}),!1):!0}catch(d){return k.showError(d.message||l("admin.accounts.failedToUpdate")),!1}},xo=Bs,ko=Ws,Wa=()=>{Mt.value=!1,ao(),m("close")},mo=async(w,d)=>{K.value=!0;try{const X=await be.accounts.update(w,fo(d));k.showSuccess(l("admin.accounts.accountUpdated")),m("updated",X),Wa()}catch(X){if(X.status===409&&X.error==="mixed_channel_warning"&&co()){oo({message:X.message,onConfirm:async()=>{Mt.value=!0,await mo(w,d)}});return}k.showError(X.message||l("admin.accounts.failedToUpdate"))}finally{K.value=!1}},go=(w,d)=>{const X=w.trim();if(!X)return{};try{const ue=JSON.parse(X);return!ue||Array.isArray(ue)||typeof ue!="object"?(k.showError(`${d} 必须是 JSON 对象`),null):ue}catch{return k.showError(`${d} 格式不正确`),null}},Po=w=>{const d=w.trim();if(!d)return;const X=go(d,"Kiro 凭据 JSON");if(X==null)return null;const ue=(...It)=>{for(const Va of It){const g=X[Va];if(typeof g=="string"&&g.trim())return g.trim()}return""},at=ue("accessToken","access_token"),Ie=ue("refreshToken","refresh_token"),lt=ue("clientId","client_id"),Re=ue("clientSecret","client_secret");if(!Ie)return k.showError("Kiro 凭据 JSON 必须包含 refreshToken"),null;if(lt&&!Re||!lt&&Re)return k.showError("Kiro 凭据 JSON 的 clientId 和 clientSecret 必须同时填写"),null;const V=ue("authMethod","auth_method")||(lt&&Re?"idc":"social");if(!["social","idc"].includes(V))return k.showError("Kiro 凭据 JSON 的 authMethod 只能是 social 或 idc"),null;const We={refreshToken:Ie,authMethod:V};at&&(We.accessToken=at),lt&&(We.clientId=lt,We.clientSecret=Re);const xt=ue("expiresAt","expires_at");xt&&(We.expiresAt=xt);const Yt=ue("email","emailAddress","email_address");Yt&&(We.email=Yt);const rt=ue("tenant","tenantId","tenant_id");return rt&&(We.tenant=rt),We},Vo=async()=>{var w,d;if(o.account){St.value=!0;try{const X=await be.accounts.testAccount(o.account.id);k.showSuccess(X.message||"Kiro.rs 连接测试成功")}catch(X){k.showError(((d=(w=X.response)==null?void 0:w.data)==null?void 0:d.detail)||X.message||"Kiro.rs 连接测试失败")}finally{St.value=!1}}},_o=async()=>{var X,ue,at;if(!o.account)return;const w=o.account.id;if(Ve.status!=="active"&&Ve.status!=="inactive"&&Ve.status!=="error"){k.showError(l("admin.accounts.pleaseSelectStatus"));return}const d={...Ve};try{d.proxy_id===null&&(d.proxy_id=0),Ve.expires_at===null&&(d.expires_at=0);const Ie=Ve.load_factor;if((Ie==null||Number.isNaN(Ie)||Ie<=0)&&(d.load_factor=0),d.auto_pause_on_expired=G.value,o.account.type==="apikey"){const Re=o.account.credentials||{};o.account.platform==="anthropic"&&Oe.value&&S.value.trim()==="https://api.anthropic.com"&&(S.value="");const V=S.value.trim()||Ua.value,We=o.account.platform==="anthropic"&&Oe.value?go(I.value,"Kiro.rs 模型映射 JSON"):null;if(o.account.platform==="anthropic"&&Oe.value&&We==null)return;const xt=o.account.platform==="anthropic"&&Oe.value?Po(re.value):void 0;if(xt===null)return;const Yt=!(o.account.platform==="openai"&&Ot.value)&&!(o.account.platform==="anthropic"&&Oe.value),rt={...Re};if(o.account.platform==="anthropic"&&Oe.value?V?rt.base_url=V:delete rt.base_url:rt.base_url=V,o.account.platform==="anthropic"&&Oe.value)U.value.trim()&&(rt.kiro_rs_api_key=U.value.trim(),delete rt.api_key);else if(U.value.trim())rt.api_key=U.value.trim();else if(Re.api_key||(X=o.account.credentials_status)!=null&&X.has_api_key)Re.api_key&&(rt.api_key=Re.api_key);else{k.showError(l("admin.accounts.apiKeyIsRequired"));return}if(o.account.platform==="anthropic"&&Oe.value&&We)Object.keys(We).length>0?rt.model_mapping=We:delete rt.model_mapping;else if(Yt){const It=na(de.value,xe.value,z.value);It?rt.model_mapping=It:delete rt.model_mapping}else Re.model_mapping&&(rt.model_mapping=Re.model_mapping);if(o.account.platform==="openai"){const It=na("mapping",[],ke.value);It?rt.compact_model_mapping=It:delete rt.compact_model_mapping}if(o.account.platform==="anthropic"&&(Oe.value&&xt?rt.kiro_credentials=xt:delete rt.kiro_credentials,Oe.value&&st.value.trim()&&(rt.kiro_admin_api_key=st.value.trim()),delete rt.kiro_credentials_json),Me.value?(rt.pool_mode=!0,rt.pool_mode_retry_count=Ya(ce.value)):(delete rt.pool_mode,delete rt.pool_mode_retry_count),W.value?(rt.custom_error_codes_enabled=!0,rt.custom_error_codes=[...ee.value]):(delete rt.custom_error_codes_enabled,delete rt.custom_error_codes),$a(rt,O.value,"edit"),!Pa(rt))return;d.credentials=rt}else if(o.account.type==="upstream"){const V={...o.account.credentials||{}};if(V.base_url=S.value.trim(),U.value.trim()&&(V.api_key=U.value.trim()),$a(V,O.value,"edit"),!Pa(V))return;d.credentials=V}else if((o.account.platform==="gemini"||o.account.platform==="anthropic")&&o.account.type==="service_account"){const Re=o.account.credentials||{},V={...Re};if(!J.value.trim()){k.showError(l("admin.accounts.vertexSaJsonMissingProjectId"));return}if(!Z.value.trim()){k.showError(l("admin.accounts.vertexSaJsonMissingClientEmail"));return}if(!ie.value.trim()){k.showError(l("admin.accounts.vertexLocationRequired"));return}if(!Re.service_account_json&&!Re.service_account&&!((ue=o.account.credentials_status)!=null&&ue.has_service_account_json)&&!((at=o.account.credentials_status)!=null&&at.has_service_account)){k.showError(l("admin.accounts.vertexSaJsonRequired"));return}V.project_id=J.value.trim(),V.client_email=Z.value.trim(),V.location=ie.value.trim(),V.tier_id="vertex";const We=na(de.value,xe.value,z.value);if(We?V.model_mapping=We:delete V.model_mapping,$a(V,O.value,"edit"),!Pa(V))return;d.credentials=V}else if(o.account.type==="bedrock"){const V={...o.account.credentials||{}};V.aws_region=ae.value.trim(),F.value?V.aws_force_global="true":delete V.aws_force_global,ne.value?H.value.trim()&&(V.api_key=H.value.trim()):(V.aws_access_key_id=M.value.trim(),h.value.trim()&&(V.aws_secret_access_key=h.value.trim()),y.value.trim()&&(V.aws_session_token=y.value.trim())),Me.value?(V.pool_mode=!0,V.pool_mode_retry_count=Ya(ce.value)):(delete V.pool_mode,delete V.pool_mode_retry_count);const We=na(de.value,xe.value,z.value);if(We?V.model_mapping=We:delete V.model_mapping,$a(V,O.value,"edit"),!Pa(V))return;d.credentials=V}else{const V={...o.account.credentials||{}};if($a(V,O.value,"edit"),!Pa(V))return;d.credentials=V}if(o.account.platform==="openai"&&o.account.type==="oauth"){const Re=d.credentials||o.account.credentials||{},V={...Re};if(!Ot.value){const Yt=na(de.value,xe.value,z.value);Yt?V.model_mapping=Yt:delete V.model_mapping}else Re.model_mapping&&(V.model_mapping=Re.model_mapping);const xt=na("mapping",[],ke.value);xt?V.compact_model_mapping=xt:delete V.compact_model_mapping,d.credentials=V}if(o.account.platform==="antigravity"){const V={...d.credentials||o.account.credentials||{}};delete V.model_whitelist,delete V.model_mapping;const We=na("mapping",[],ve.value);We&&(V.model_mapping=We),d.credentials=V}if(o.account.platform==="antigravity"){const V={...o.account.extra||{}};he.value?V.mixed_scheduling=!0:delete V.mixed_scheduling,Pe.value?V.allow_overages=!0:delete V.allow_overages,d.extra=V}if(o.account.platform==="anthropic"&&(o.account.type==="oauth"||o.account.type==="setup-token")){const V={...d.extra||o.account.extra||{}};gt.value&&pt.value!=null&&pt.value>0?(V.window_cost_limit=pt.value,V.window_cost_sticky_reserve=ht.value??10):(delete V.window_cost_limit,delete V.window_cost_sticky_reserve),dt.value&&Et.value!=null&&Et.value>0?(V.max_sessions=Et.value,V.session_idle_timeout_minutes=Rt.value??5):(delete V.max_sessions,delete V.session_idle_timeout_minutes),ft.value?(V.base_rpm=wt.value!=null&&wt.value>0?wt.value:15,V.rpm_strategy=Se.value,Q.value!=null&&Q.value>0?V.rpm_sticky_buffer=Q.value:delete V.rpm_sticky_buffer):(delete V.base_rpm,delete V.rpm_strategy,delete V.rpm_sticky_buffer),we.value?V.user_msg_queue_mode=we.value:delete V.user_msg_queue_mode,delete V.user_msg_queue_enabled,$t.value?(V.enable_tls_fingerprint=!0,At.value?V.tls_fingerprint_profile_id=At.value:delete V.tls_fingerprint_profile_id):(delete V.enable_tls_fingerprint,delete V.tls_fingerprint_profile_id),Vt.value?V.session_id_masking_enabled=!0:delete V.session_id_masking_enabled,Le.value?(V.cache_ttl_override_enabled=!0,V.cache_ttl_override_target=Wt.value):(delete V.cache_ttl_override_enabled,delete V.cache_ttl_override_target),ea.value&&Kt.value.trim()?(V.custom_base_url_enabled=!0,V.custom_base_url=Kt.value.trim()):(delete V.custom_base_url_enabled,delete V.custom_base_url),d.extra=V}if(o.account.platform==="anthropic"&&o.account.type==="apikey"){const V={...d.extra||o.account.extra||{}};if(Oe.value){if(S.value.trim()==="https://api.anthropic.com"&&(S.value=""),S.value.trim()){try{const xt=new URL(S.value.trim());if(!["http:","https:"].includes(xt.protocol))throw new Error("bad scheme")}catch{k.showError("Kiro.rs Base URL 不是合法 URL");return}if(new URL(S.value.trim()).hostname==="api.anthropic.com"){k.showError("Kiro.rs Base URL 不能填写 Anthropic 官方地址");return}}const We=go(sa.value,"Kiro.rs 自定义 Headers JSON");if(We==null)return;V.anthropic_passthrough=!0,V.kiro_rs_enabled=!0,V.kiro_rs_endpoint_mode=ca.value,V.kiro_rs_timeout_seconds=Ft.value||60,V.kiro_rs_models_enabled=aa.value,V.kiro_rs_count_tokens_enabled=oa.value,V.kiro_rs_headers=We}else delete V.kiro_rs_enabled,delete V.kiro_rs_endpoint_mode,delete V.kiro_rs_timeout_seconds,delete V.kiro_rs_models_enabled,delete V.kiro_rs_count_tokens_enabled,delete V.kiro_rs_headers;Ze.value||Oe.value?V.anthropic_passthrough=!0:delete V.anthropic_passthrough,Ge.value==="default"?delete V.web_search_emulation:V.web_search_emulation=Ge.value,d.extra=V}if(o.account.platform==="openai"&&(o.account.type==="oauth"||o.account.type==="apikey")){const Re=o.account.extra||{},V={...Re},We=Re.codex_cli_only===!0;o.account.type==="oauth"?(V.openai_oauth_responses_websockets_v2_mode=Gt.value,V.open
18ai_oauth_responses_websockets_v2_enabled=So(Gt.value)):o.account.type==="apikey"&&(V.openai_apikey_responses_websockets_v2_mode=ta.value,V.openai_apikey_responses_websockets_v2_enabled=So(ta.value)),delete V.responses_websockets_v2_enabled,delete V.openai_ws_enabled,Ot.value?V.openai_passthrough=!0:(delete V.openai_passthrough,delete V.openai_oauth_passthrough),Ct.value==="auto"?delete V.openai_compact_mode:V.openai_compact_mode=Ct.value,delete V.codex_image_generation_bridge_enabled,Pt.value==="inherit"?delete V.codex_image_generation_bridge:V.codex_image_generation_bridge=Pt.value==="enabled",o.account.type==="oauth"&&(bt.value?V.codex_cli_only=!0:We?V.codex_cli_only=!1:delete V.codex_cli_only),d.extra=V}if(o.account.type==="apikey"||o.account.type==="bedrock"){const V={...d.extra||o.account.extra||{}};Bt.value!=null&&Bt.value>0?V.quota_limit=Bt.value:delete V.quota_limit,la.value!=null&&la.value>0?V.quota_daily_limit=la.value:(delete V.quota_daily_limit,delete V.quota_daily_used,delete V.quota_daily_start),le.value!=null&&le.value>0?V.quota_weekly_limit=le.value:(delete V.quota_weekly_limit,delete V.quota_weekly_used,delete V.quota_weekly_start),q.value==="fixed"?(V.quota_daily_reset_mode="fixed",V.quota_daily_reset_hour=j.value??0):(delete V.quota_daily_reset_mode,delete V.quota_daily_reset_hour),De.value==="fixed"?(V.quota_weekly_reset_mode="fixed",V.quota_weekly_reset_day=Te.value??1,V.quota_weekly_reset_hour=Zt.value??0):(delete V.quota_weekly_reset_mode,delete V.quota_weekly_reset_day,delete V.quota_weekly_reset_hour),q.value==="fixed"||De.value==="fixed"?V.quota_reset_timezone=pa.value||"UTC":delete V.quota_reset_timezone,Ga(V,"update"),d.extra=V}if(!await Na(async()=>{await mo(w,d)}))return;await mo(w,d)}catch(Ie){k.showError(Ie.message||l("admin.accounts.failedToUpdate"))}},Io=async()=>{const w=Je.value;if(!w){ao();return}ao(),K.value=!0;try{await w()}finally{K.value=!1}},wo=()=>{ao()};return(w,d)=>(n(),r(me,null,[E(ua,{show:c.show,title:t(l)("admin.accounts.editAccount"),width:"wide",onClose:Wa},{footer:qe(()=>[c.account?(n(),r("div",d4,[e("button",{onClick:Wa,type:"button",class:"btn btn-secondary"},a(t(l)("common.cancel")),1),e("button",{type:"submit",form:"edit-account-form",disabled:K.value,class:"btn btn-primary","data-tour":"account-form-submit"},[K.value?(n(),r("svg",c4,[...d[169]||(d[169]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):v("",!0),oe(" "+a(K.value?t(l)("admin.accounts.updating"):t(l)("common.update")),1)],8,u4)])):v("",!0)]),default:qe(()=>{var X,ue,at,Ie,lt,Re,V,We,xt,Yt,rt,It,Va,g,$,ye,Ue,Ye,ut,D,et,qt,zt,kt,Ka,vo,Bo,zo,$o,Wo,Ko,Go,Jo,Qo,Yo,Xo;return[c.account?(n(),r("form",{key:0,id:"edit-account-form",onSubmit:Xt(_o,["prevent"]),class:"space-y-5"},[e("div",null,[e("label",Tb,a(t(l)("common.name")),1),T(e("input",{"onUpdate:modelValue":d[0]||(d[0]=p=>Ve.name=p),type:"text",required:"",class:"input","data-tour":"edit-account-form-name"},null,512),[[B,Ve.name]])]),e("div",null,[e("label",Mb,a(t(l)("admin.accounts.notes")),1),T(e("textarea",{"onUpdate:modelValue":d[1]||(d[1]=p=>Ve.notes=p),rows:"3",class:"input",placeholder:t(l)("admin.accounts.notesPlaceholder")},null,8,Sb),[[B,Ve.notes]]),e("p",Ub,a(t(l)("admin.accounts.notesHint")),1)]),e("div",null,[e("label",Eb,a(t(l)("admin.accounts.accountTag")),1),T(e("input",{"onUpdate:modelValue":d[2]||(d[2]=p=>Ve.tag=p),type:"text",class:"input",placeholder:t(l)("admin.accounts.accountTagPlaceholder"),maxlength:"100"},null,8,Ab),[[B,Ve.tag]])]),c.account.type==="apikey"?(n(),r("div",qb,[c.account.platform==="anthropic"&&Oe.value?v("",!0):(n(),r("div",Rb,[e("label",Pb,a(c.account.platform==="anthropic"&&Oe.value?"Kiro.rs Base URL":t(l)("admin.accounts.baseUrl")),1),T(e("input",{"onUpdate:modelValue":d[3]||(d[3]=p=>S.value=p),type:"text",class:"input",placeholder:c.account.platform==="openai"?"https://api.openai.com":c.account.platform==="gemini"?"https://generativelanguage.googleapis.com":c.account.platform==="antigravity"?"https://cloudcode-pa.googleapis.com":c.account.platform==="anthropic"&&Oe.value?"http://127.0.0.1:8990":"https://api.anthropic.com"},null,8,Vb),[[B,S.value]]),e("p",Ib,a(L.value),1)])),c.account.platform==="anthropic"&&Oe.value?v("",!0):(n(),r("div",zb,[e("label",Lb,a(c.account.platform==="anthropic"&&Oe.value?"Kiro.rs Proxy API Key *":t(l)("admin.accounts.apiKey")),1),T(e("input",{"onUpdate:modelValue":d[4]||(d[4]=p=>U.value=p),type:"password",class:"input font-mono",autocomplete:"new-password","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"true",placeholder:c.account.platform==="openai"?"sk-proj-...":c.account.platform==="gemini"?"AIza...":c.account.platform==="antigravity"?"sk-...":c.account.platform==="anthropic"&&Oe.value?"sk-kiro-rs-...":"sk-ant-..."},null,8,Ob),[[B,U.value]]),e("p",Nb,a(c.account.platform==="anthropic"&&Oe.value?"Kiro.rs 代理服务的访问 API Key,对应 kiro.rs config.json 的 apiKey;留空保留已保存值。这不是 Claude Console API Key。":t(l)("admin.accounts.leaveEmptyToKeep")),1)])),c.account.platform==="anthropic"?(n(),r("div",jb,[e("div",Db,[d[122]||(d[122]=e("div",null,[e("label",{class:"input-label mb-0"},"Kiro.rs 代理"),e("p",{class:"mt-1 text-xs text-sky-700 dark:text-sky-300"}," 将该 Claude API Key 账号作为 kiro.rs 上游代理调度。 ")],-1)),e("button",{type:"button",onClick:d[5]||(d[5]=p=>Oe.value=!Oe.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Oe.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Oe.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Oe.value?(n(),r("div",Fb,[e("div",null,[d[123]||(d[123]=e("label",{class:"input-label"},"Kiro Access Token / Refresh Token",-1)),T(e("textarea",{"onUpdate:modelValue":d[6]||(d[6]=p=>re.value=p),rows:"6",class:"input font-mono text-sm",placeholder:'{"accessToken":"...","refreshToken":"..."}',spellcheck:"false"},null,512),[[B,re.value]]),d[124]||(d[124]=e("p",{class:"input-hint"},"粘贴新的 accessToken/refreshToken 后保存;已保存的敏感字段只会脱敏回显。",-1))]),e("button",{type:"button",class:"btn btn-secondary w-full",onClick:d[7]||(d[7]=p=>Ce.value=!Ce.value)},a(Ce.value?"收起高级配置":"高级配置"),1),Ce.value?(n(),r("div",Hb,[e("div",Bb,[e("div",null,[d[125]||(d[125]=e("label",{class:"input-label"},"Kiro.rs Base URL",-1)),T(e("input",{"onUpdate:modelValue":d[8]||(d[8]=p=>S.value=p),type:"text",class:"input",placeholder:"留空使用服务器默认值"},null,512),[[B,S.value]]),d[126]||(d[126]=e("p",{class:"input-hint"},"留空使用服务器默认值,通常是 http://127.0.0.1:8990。",-1))]),e("div",null,[d[127]||(d[127
18]=e("label",{class:"input-label"},"Kiro.rs Proxy API Key",-1)),T(e("input",{"onUpdate:modelValue":d[9]||(d[9]=p=>U.value=p),type:"password",class:"input font-mono",autocomplete:"new-password","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"true",placeholder:"留空使用服务器默认值或保留已保存值"},null,512),[[B,U.value]]),d[128]||(d[128]=e("p",{class:"input-hint"},"留空读取服务器默认值,或保留该账号已保存的代理 key。",-1))])]),e("div",null,[d[129]||(d[129]=e("label",{class:"input-label"},"Kiro.rs Admin API Key",-1)),T(e("input",{"onUpdate:modelValue":d[10]||(d[10]=p=>st.value=p),type:"password",class:"input font-mono",autocomplete:"new-password","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"true",placeholder:"留空使用服务器默认值或保留已保存值"},null,512),[[B,st.value]]),e("p",Wb,a(t(l)("admin.accounts.leaveEmptyToKeep"))+"。用于把 Kiro 凭据同步到 kiro.rs Admin API。",1)]),e("div",Kb,[e("div",null,[d[131]||(d[131]=e("label",{class:"input-label"},"Endpoint 模式",-1)),T(e("select",{"onUpdate:modelValue":d[11]||(d[11]=p=>ca.value=p),class:"input"},[...d[130]||(d[130]=[e("option",{value:"anthropic"},"Anthropic /v1",-1),e("option",{value:"claude_code"},"Claude Code /cc/v1",-1)])],512),[[ia,ca.value]])]),e("div",null,[d[132]||(d[132]=e("label",{class:"input-label"},"超时时间(秒)",-1)),T(e("input",{"onUpdate:modelValue":d[12]||(d[12]=p=>Ft.value=p),type:"number",min:"1",max:"3600",class:"input"},null,512),[[B,Ft.value,void 0,{number:!0}]])])]),e("div",Gb,[e("label",Jb,[T(e("input",{"onUpdate:modelValue":d[13]||(d[13]=p=>aa.value=p),type:"checkbox",class:"rounded text-primary-600"},null,512),[[ct,aa.value]]),d[133]||(d[133]=oe(" 启用 /v1/models ",-1))]),e("label",Qb,[T(e("input",{"onUpdate:modelValue":d[14]||(d[14]=p=>oa.value=p),type:"checkbox",class:"rounded text-primary-600"},null,512),[[ct,oa.value]]),d[134]||(d[134]=oe(" 启用 count_tokens ",-1))])]),e("div",null,[d[135]||(d[135]=e("label",{class:"input-label"},"自定义 Headers JSON",-1)),T(e("textarea",{"onUpdate:modelValue":d[15]||(d[15]=p=>sa.value=p),rows:"4",class:"input font-mono text-sm",spellcheck:"false"},null,512),[[B,sa.value]]),d[136]||(d[136]=e("p",{class:"input-hint"},"不会允许覆盖 x-api-key、authorization、cookie 等鉴权头。",-1))]),e("div",null,[d[137]||(d[137]=e("label",{class:"input-label"},"模型映射 JSON",-1)),T(e("textarea",{"onUpdate:modelValue":d[16]||(d[16]=p=>I.value=p),rows:"4",class:"input font-mono text-sm",spellcheck:"false"},null,512),[[B,I.value]])])])):v("",!0),e("button",{type:"button",class:"btn btn-secondary w-full",disabled:St.value,onClick:Vo},[E(te,{name:"beaker",size:"sm",class:"mr-2"}),oe(" "+a(St.value?"测试中...":"测试连接"),1)],8,Yb)])):v("",!0)])):v("",!0),c.account.platform!=="antigravity"?(n(),r("div",Xb,[e("label",Zb,a(t(l)("admin.accounts.modelRestriction")),1),ba.value?(n(),r("div",ey,[e("p",ty,a(t(l)("admin.accounts.openai.modelRestrictionDisabledByPassthrough")),1)])):(n(),r(me,{key:1},[e("div",ay,[e("button",{type:"button",onClick:d[17]||(d[17]=p=>de.value="whitelist"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",de.value==="whitelist"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[d[138]||(d[138]=e("svg",{class:"mr-1.5 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(l)("admin.accounts.modelWhitelist")),1)],2),e("button",{type:"button",onClick:d[18]||(d[18]=p=>de.value="mapping"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",de.value==="mapping"?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[d[139]||(d[139]=e("svg",{class:"mr-1.5 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4"})],-1)),oe(" "+a(t(l)("admin.accounts.modelMapping")),1)],2)]),de.value==="whitelist"?(n(),r("div",oy,[E(lo,{modelValue:xe.value,"onUpdate:modelValue":d[19]||(d[19]=p=>xe.value=p),platform:((X=c.account)==null?void 0:X.platform)||"anthropic"},null,8,["modelValue","platform"]),e("p",sy,[oe(a(t(l)("admin.accounts.selectedModels",{count:xe.value.length}))+" ",1),xe.value.length===0?(n(),r("span",ly,a(t(l)("admin.accounts.supportsAllModels")),1)):v("",!0)])])):(n(),r("div",ny,[e("div",ry,[e("p",iy,[d[140]||(d[140]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(l)("admin.accounts.mapRequestModels")),1)])]),z.value.length>0?(n(),r("div",dy,[(n(!0),r(me,null,$e(z.value,(p,yt)=>(n(),r("div",{key:t(Xe)(p),class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":nt=>p.from=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.requestModel")},null,8,uy),[[B,p.from]]),d[142]||(d[142]=e("svg",{class:"h-4 w-4 flex-shrink-0 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1)),T(e("input",{"onUpdate:modelValue":nt=>p.to=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.actualModel")},null,8,cy),[[B,p.to]]),e("button",{type:"button",onClick:nt=>_a(yt),class:"rounded-lg p-2 text-red-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...d[141]||(d[141]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,py)]))),128))])):v("",!0),e("button",{type:"button",onClick:ma,class:"mb-3 w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300"},[d[143]||(d[143]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),oe(" "+a(t(l)("admin.accounts.addMapping")),1)]),e("div",my,[(n(!0),r(me,null,$e(xa.value,p=>(n(),r("button",{key:p.label,type:"button",onClick:yt=>ya(p.from,p.to),class:C(["rounded-lg px-3 py-1 text-xs transition-colors",p.color])}," + "+a(p.label),11,gy))),128))])]))],64))])):v("",!0),e("div",vy,[e("div",by,[e("div",null,[e("label",yy,a(t(l)("admin.accounts.poolMode")),1),e("p",hy,a(t(l)("admin.accounts.poolModeHint")),1)]),e("button",{type:"button",onClick:d[20]||(d[20]=p=>Me.value=!Me.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Me.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Me.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Me.value?(n(),r("div",fy,[e("p",xy,[E(te,{name:"exclamationCircle",size:"sm",class:"mr-1 inline","stroke-width":2}),oe(" "+a(t(l)("admin.accounts.poolModeInfo")),1)])])):v("",!0),Me.value?(n(),r("div",ky,[e("label",_y,a(t(l)("admin.accounts.poolModeRetryCount")),1),T(e("input",{"onUpdate:modelValue":d[21]||(d[21]=p=>ce.value=p),type:"number",min:"0",max:Mo,step:"1",class:"input"},null,512),[[B,ce.value,void 0,{number:!0}]]),e("p",wy,a(t(l)("admin.accounts.poolModeRetryCountHint",{default:bo,max:Mo})),1)])):v("",!0)]),e("div",$y,[e("div",Cy,[e("div",null,[e("label",Ty,a(t(l)("admin.accounts.customErrorCodes")),1),e("p",My,a(t(l)("admin.accounts.customErrorCodesHint")),1)]),e("button",{type:"button",onClick:d[22]||(
18d[22]=p=>W.value=!W.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",W.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",W.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),W.value?(n(),r("div",Sy,[e("div",Uy,[e("p",Ey,[E(te,{name:"exclamationTriangle",size:"sm",class:"mr-1 inline","stroke-width":2}),oe(" "+a(t(l)("admin.accounts.customErrorCodesWarning")),1)])]),e("div",Ay,[(n(!0),r(me,null,$e(t(ul),p=>(n(),r("button",{key:p.value,type:"button",onClick:yt=>wa(p.value),class:C(["rounded-lg px-3 py-1.5 text-sm font-medium transition-colors",ee.value.includes(p.value)?"bg-red-100 text-red-700 ring-1 ring-red-500 dark:bg-red-900/30 dark:text-red-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(p.value)+" "+a(p.label),11,qy))),128))]),e("div",Ry,[T(e("input",{"onUpdate:modelValue":d[23]||(d[23]=p=>_.value=p),type:"number",min:"100",max:"599",class:"input flex-1",placeholder:t(l)("admin.accounts.enterErrorCode"),onKeyup:Fo(uo,["enter"])},null,40,Py),[[B,_.value,void 0,{number:!0}]]),e("button",{type:"button",onClick:uo,class:"btn btn-secondary px-3"},[...d[144]||(d[144]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)])])]),e("div",Vy,[(n(!0),r(me,null,$e(ee.value.sort((p,yt)=>p-yt),p=>(n(),r("span",{key:p,class:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2.5 py-0.5 text-sm font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400"},[oe(a(p)+" ",1),e("button",{type:"button",onClick:yt=>Eo(p),class:"hover:text-red-900 dark:hover:text-red-300"},[E(te,{name:"x",size:"sm","stroke-width":2})],8,Iy)]))),128)),ee.value.length===0?(n(),r("span",zy,a(t(l)("admin.accounts.noneSelectedUsesDefault")),1)):v("",!0)])])):v("",!0)])])):v("",!0),c.account.platform==="openai"&&c.account.type==="oauth"?(n(),r("div",Ly,[e("label",Oy,a(t(l)("admin.accounts.modelRestriction")),1),ba.value?(n(),r("div",Ny,[e("p",jy,a(t(l)("admin.accounts.openai.modelRestrictionDisabledByPassthrough")),1)])):(n(),r(me,{key:1},[e("div",Dy,[e("button",{type:"button",onClick:d[24]||(d[24]=p=>de.value="whitelist"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",de.value==="whitelist"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(l)("admin.accounts.modelWhitelist")),3),e("button",{type:"button",onClick:d[25]||(d[25]=p=>de.value="mapping"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",de.value==="mapping"?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(l)("admin.accounts.modelMapping")),3)]),de.value==="whitelist"?(n(),r("div",Fy,[E(lo,{modelValue:xe.value,"onUpdate:modelValue":d[26]||(d[26]=p=>xe.value=p),platform:((ue=c.account)==null?void 0:ue.platform)||"anthropic"},null,8,["modelValue","platform"]),e("p",Hy,[oe(a(t(l)("admin.accounts.selectedModels",{count:xe.value.length}))+" ",1),xe.value.length===0?(n(),r("span",By,a(t(l)("admin.accounts.supportsAllModels")),1)):v("",!0)])])):(n(),r("div",Wy,[e("div",Ky,[e("p",Gy,a(t(l)("admin.accounts.mapRequestModels")),1)]),z.value.length>0?(n(),r("div",Jy,[(n(!0),r(me,null,$e(z.value,(p,yt)=>(n(),r("div",{key:"oauth-"+t(Xe)(p),class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":nt=>p.from=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.requestModel")},null,8,Qy),[[B,p.from]]),d[146]||(d[146]=e("svg",{class:"h-4 w-4 flex-shrink-0 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1)),T(e("input",{"onUpdate:modelValue":nt=>p.to=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.actualModel")},null,8,Yy),[[B,p.to]]),e("button",{type:"button",onClick:nt=>_a(yt),class:"rounded-lg p-2 text-red-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...d[145]||(d[145]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,Xy)]))),128))])):v("",!0),e("button",{type:"button",onClick:ma,class:"mb-3 w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300"}," + "+a(t(l)("admin.accounts.addMapping")),1),e("div",Zy,[(n(!0),r(me,null,$e(xa.value,p=>(n(),r("button",{key:"oauth-"+p.label,type:"button",onClick:yt=>ya(p.from,p.to),class:C(["rounded-lg px-3 py-1 text-xs transition-colors",p.color])}," + "+a(p.label),11,e2))),128))])]))],64))])):v("",!0),c.account.type==="upstream"?(n(),r("div",t2,[e("div",null,[e("label",a2,a(t(l)("admin.accounts.upstream.baseUrl")),1),T(e("input",{"onUpdate:modelValue":d[27]||(d[27]=p=>S.value=p),type:"text",class:"input",placeholder:"https://cloudcode-pa.googleapis.com"},null,512),[[B,S.value]]),e("p",o2,a(t(l)("admin.accounts.upstream.baseUrlHint")),1)]),e("div",null,[e("label",s2,a(t(l)("admin.accounts.upstream.apiKey")),1),T(e("input",{"onUpdate:modelValue":d[28]||(d[28]=p=>U.value=p),type:"password",class:"input font-mono",placeholder:"sk-..."},null,512),[[B,U.value]]),e("p",l2,a(t(l)("admin.accounts.leaveEmptyToKeep")),1)])])):v("",!0),(c.account.platform==="gemini"||c.account.platform==="anthropic")&&c.account.type==="service_account"?(n(),r("div",n2,[e("div",r2,[e("div",null,[d[147]||(d[147]=e("label",{class:"input-label"},"Project ID",-1)),T(e("input",{"onUpdate:modelValue":d[29]||(d[29]=p=>J.value=p),type:"text",class:"input font-mono",readonly:"",placeholder:t(l)("admin.accounts.vertexProjectIdPlaceholder")},null,8,i2),[[B,J.value]]),e("p",d2,a(t(l)("admin.accounts.vertexSaJsonEditHint")),1)]),e("div",null,[d[148]||(d[148]=e("label",{class:"input-label"},"Location",-1)),T(e("select",{"onUpdate:modelValue":d[30]||(d[30]=p=>ie.value=p),required:"",class:"input font-mono"},[(n(!0),r(me,null,$e(t(cl),p=>(n(),r("optgroup",{key:p.label,label:p.label},[(n(!0),r(me,null,$e(p.options,yt=>(n(),r("option",{key:yt.value,value:yt.value},a(yt.label),9,c2))),128))],8,u2))),128))],512),[[ia,ie.value]]),e("p",p2,a(t(l)("admin.accounts.vertexLocationHint")),1)])]),e("div",m2,[e("label",g2,a(t(l)("admin.accounts.modelRestriction")),1),e("div",v2,[e("button",{type:"button",onClick:d[31]||(d[31]=p=>de.value="whitelist"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",de.value==="whitelist"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[d[149]||(d[149]=e("svg",{class:"mr-1.5 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(l)("admin.accounts.modelWhitelist")),1)],2),e("button",{type:"button",onClick:d[32]||(d[32]=p=>de.value="mapping"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",de.value==="mapping"?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[d[150]||(d[150]=e("svg",{class:"mr-1.5 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4"})],-1)),oe(" "+a(t(l)("admin.accounts.modelMapping")),1)],2)]),de.value==="whitelist"?(n(),r("div",b2,[E(lo,{modelValue:xe.value,"onUpdate:modelValue":d[33]||(d[33]=p=>xe.value=p),platform:((at=c.account)==null?void 0:at.platform)||"anthropic"},null,8,["modelValue","platform"]),e("p",y2,[oe(a(t(l)("admin.accounts.selectedModels",{count:xe.value.length}))+" ",1),xe.value.length===0?(n(),r("span",h2,a(t(l)("admin.accounts.supportsAllModels")),1)):v("",!0)])])):(n(),r("div",f2,[e("div",x2,[e("p",k2,[d[151]||(d[151]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(l)("admin.accounts.mapRequestModels")),1)])]),z.value.length>0?(n(),r("div",_2,[(n(!0),r(me,null,$e(z.value,(p,yt)=>(n(),r("div",{key:t(Xe)(p),class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":nt=>p.from=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.requestModel")},null,8,w2),[[B,p.from]]),d[153]||(d[153]=e("svg",{class:"h-4 w-4 flex-shrink-0 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1)),T(e("input",{"onUpdate:modelValue":nt=>p.to=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.actualModel")},null,8,$2),[[B,p.to]]),e("button",{type:"button",onClick:nt=>_a(yt),class:"rounded-lg p-2 text-red-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...d[152]||(d[152]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,C2)]))),128))])):v("",!0),e("button",{type:"button",onClick:ma,class:"mb-3 w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300"},[d[154]||(d[154]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),oe(" "+a(t(l)("admin.accounts.addMapping")),1)]),e("div",T2,[(n(!0),r(me,null,$e(xa.value,p=>(n(),r("button",{key:p.label,type:"button",onClick:yt=>ya(p.from,p.to),class:C(["rounded-lg px-3 py-1 text-xs transition-colors",p.color])}," + "+a(p.label),11,M2))),128))])]))])])):v("",!0),c.account.type==="bedrock"?(n(),r("div",S2,[ne.value?v("",!0):(n(),r(me,{key:0},[e("div",null,[e("label",U2,a(t(l)("admin.accounts.bedrockAccessKeyId")),1),T(e("input",{"onUpdate:modelValue":d[34]||(d[34]=p=>M.value=p),type:"text",class:"input font-mono",placeholder:"AKIA..."},null,512),[[B,M.value]])]),e("div",null,[e("label",E2,a(t(l)("admin.accounts.bedrockSecretAccessKey")),1),T(e("input",{"onUpdate:modelValue":d[35]||(d[35]=p=>h.value=p),type:"password",class:"input font-mono",placeholder:t(l)("admin.accounts.bedrockSecretKeyLeaveEmpty")},null,8,A2),[[B,h.value]]),e("p",q2,a(t(l)("admin.accounts.bedrockSecretKeyLeaveEmpty")),1)]),e("div",null,[e("label",R2,a(t(l)("admin.accounts.bedrockSessionToken")),1),T(e("input",{"onUpdate:modelValue":d[36]||(d[36]=p=>y.value=p),type:"password",class:"input font-mono",placeholder:t(l)("admin.accounts.bedrockSecretKeyLeaveEmpty")},null,8,P2),[[B,y.value]]),e("p",V2,a(t(l)("admin.accounts.bedrockSessionTokenHint")),1)])],64)),ne.value?(n(),r("div",I2,[e("label",z2,a(t(l)("admin.accounts.bedrockApiKeyInput")),1),T(e("input",{"onUpdate:modelValue":d[37]||(d[37]=p=>H.value=p),type:"password",class:"input font-mono",placeholder:t(l)("admin.accounts.bedrockApiKeyLeaveEmpty")},null,8,L2),[[B,H.value]]),e("p",O2,a(t(l)("admin.accounts.bedrockApiKeyLeaveEmpty")),1)])):v("",!0),e("div",null,[e("label",N2,a(t(l)("admin.accounts.bedrockRegion")),1),T(e("input",{"onUpdate:modelValue":d[38]||(d[38]=
18p=>ae.value=p),type:"text",class:"input",placeholder:"us-east-1"},null,512),[[B,ae.value]]),e("p",j2,a(t(l)("admin.accounts.bedrockRegionHint")),1)]),e("div",null,[e("label",D2,[T(e("input",{"onUpdate:modelValue":d[39]||(d[39]=p=>F.value=p),type:"checkbox",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500 dark:border-dark-500"},null,512),[[ct,F.value]]),e("span",F2,a(t(l)("admin.accounts.bedrockForceGlobal")),1)]),e("p",H2,a(t(l)("admin.accounts.bedrockForceGlobalHint")),1)]),e("div",B2,[e("label",W2,a(t(l)("admin.accounts.modelRestriction")),1),e("div",K2,[e("button",{type:"button",onClick:d[40]||(d[40]=p=>de.value="whitelist"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",de.value==="whitelist"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(l)("admin.accounts.modelWhitelist")),3),e("button",{type:"button",onClick:d[41]||(d[41]=p=>de.value="mapping"),class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",de.value==="mapping"?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(l)("admin.accounts.modelMapping")),3)]),de.value==="whitelist"?(n(),r("div",G2,[E(lo,{modelValue:xe.value,"onUpdate:modelValue":d[42]||(d[42]=p=>xe.value=p),platform:"anthropic"},null,8,["modelValue"]),e("p",J2,[oe(a(t(l)("admin.accounts.selectedModels",{count:xe.value.length}))+" ",1),xe.value.length===0?(n(),r("span",Q2,a(t(l)("admin.accounts.supportsAllModels")),1)):v("",!0)])])):(n(),r("div",Y2,[(n(!0),r(me,null,$e(z.value,(p,yt)=>(n(),r("div",{key:t(Xe)(p),class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":nt=>p.from=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.fromModel")},null,8,X2),[[B,p.from]]),d[155]||(d[155]=e("span",{class:"text-gray-400"},"→",-1)),T(e("input",{"onUpdate:modelValue":nt=>p.to=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.toModel")},null,8,Z2),[[B,p.to]]),e("button",{type:"button",onClick:nt=>z.value.splice(yt,1),class:"text-red-500 hover:text-red-700"},[E(te,{name:"trash",size:"sm"})],8,eh)]))),128)),e("button",{type:"button",onClick:d[43]||(d[43]=p=>z.value.push({from:"",to:""})),class:"btn btn-secondary text-sm"}," + "+a(t(l)("admin.accounts.addMapping")),1),e("div",th,[(n(!0),r(me,null,$e(N.value,p=>(n(),r("button",{key:p.from,type:"button",onClick:yt=>z.value.push({from:p.from,to:p.to}),class:C(["rounded-lg px-3 py-1 text-xs transition-colors",p.color])}," + "+a(p.label),11,ah))),128))])]))]),e("div",oh,[e("div",sh,[e("div",null,[e("label",lh,a(t(l)("admin.accounts.poolMode")),1),e("p",nh,a(t(l)("admin.accounts.poolModeHint")),1)]),e("button",{type:"button",onClick:d[44]||(d[44]=p=>Me.value=!Me.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Me.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Me.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Me.value?(n(),r("div",rh,[e("p",ih,[E(te,{name:"exclamationCircle",size:"sm",class:"mr-1 inline","stroke-width":2}),oe(" "+a(t(l)("admin.accounts.poolModeInfo")),1)])])):v("",!0),Me.value?(n(),r("div",dh,[e("label",uh,a(t(l)("admin.accounts.poolModeRetryCount")),1),T(e("input",{"onUpdate:modelValue":d[45]||(d[45]=p=>ce.value=p),type:"number",min:"0",max:Mo,step:"1",class:"input"},null,512),[[B,ce.value,void 0,{number:!0}]]),e("p",ch,a(t(l)("admin.accounts.poolModeRetryCountHint",{default:bo,max:Mo})),1)])):v("",!0)])])):v("",!0),c.account.platform==="antigravity"?(n(),r("div",ph,[e("label",mh,a(t(l)("admin.accounts.modelRestriction")),1),e("div",null,[e("div",gh,[e("p",vh,a(t(l)("admin.accounts.mapRequestModels")),1)]),ve.value.length>0?(n(),r("div",bh,[(n(!0),r(me,null,$e(ve.value,(p,yt)=>(n(),r("div",{key:t(Ae)(p),class:"space-y-1"},[e("div",yh,[T(e("input",{"onUpdate:modelValue":nt=>p.from=nt,type:"text",class:C(["input flex-1",t(Do)(p.from)?"":"border-red-500 dark:border-red-500",(p.to.includes("*"),"")]),placeholder:t(l)("admin.accounts.requestModel")},null,10,hh),[[B,p.from]]),d[157]||(d[157]=e("svg",{class:"h-4 w-4 flex-shrink-0 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1)),T(e("input",{"onUpdate:modelValue":nt=>p.to=nt,type:"text",class:C(["input flex-1",p.to.includes("*")?"border-red-500 dark:border-red-500":""]),placeholder:t(l)("admin.accounts.actualModel")},null,10,fh),[[B,p.to]]),e("button",{type:"button",onClick:nt=>Xa(yt),class:"rounded-lg p-2 text-red-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...d[156]||(d[156]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,xh)]),t(Do)(p.from)?v("",!0):(n(),r("p",kh,a(t(l)("admin.accounts.wildcardOnlyAtEnd")),1)),p.to.includes("*")?(n(),r("p",_h,a(t(l)("admin.accounts.targetNoWildcard")),1)):v("",!0)]))),128))])):v("",!0),e("button",{type:"button",onClick:Fa,class:"mb-3 w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300"},[d[158]||(d[158]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),oe(" "+a(t(l)("admin.accounts.addMapping")),1)]),e("div",wh,[(n(!0),r(me,null,$e(R.value,p=>(n(),r("button",{key:p.label,type:"button",onClick:yt=>Za(p.from,p.to),class:C(["rounded-lg px-3 py-1 text-xs transition-colors",p.color])}," + "+a(p.label),11,$h))),128))])])])):v("",!0),e("div",Ch,[e("div",Th,[e("div",null,[e("label",Mh,a(t(l)("admin.accounts.tempUnschedulable.title")),1),e("p",Sh,a(t(l)("admin.accounts.tempUnschedulable.hint")),1)]),e("button",{type:"button",onClick:d[46]||(d[46]=p=>fe.value=!fe.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",fe.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",fe.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),fe.value?(n(),r("div",Uh,[e("div",Eh,[e("p",Ah,[E(te,{name:"exclamationTriangle",size:"sm",class:"mr-1 inline","stroke-width":2}),oe(" "+a(t(l)("admin.accounts.tempUnschedulable.notice")),1)])]),e("div",qh,[(n(!0),r(me,null,$e(Qa.value,p=>(n(),r("button",{key:p.label,type:"button",onClick:yt=>eo(p.rule),class:"rounded-lg bg-gray-100 px-3 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-300 dark:hover:bg-dark-500"}," + "+a(p.label),9,Rh))),128))]),Ee.value.length>0?(n(),r("div",Ph,[(n(!0),r(me,null,$e(Ee.value,(p,yt)=>(n(),r("div",{key:t(Qe)(p),class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},[e("div",Vh,[e("span",Ih,a(t(l)("admin.accounts.tempUnschedulable.ruleIndex",{index:yt+1})),1),e("div",zh,[e("button",{type:"button",disabled:yt===0,onClick:nt=>Ra(yt,-1),class:"rounded p-1 text-gray-400 transition-colors hover:text-gray-600 disabled:cursor-not-allowed disabled:opacity-40 dark:hover:text-gray-200"},[E(te,{name:"chevronUp",size:"sm","stroke-width":2})],8,Lh),e("button",{type:"button",disabled:yt===Ee.value.length-1,onClick:nt=>Ra(yt,1),class:"rounded p-1 text-gray-400 transition-colors hover:text-gray-600 disabled:cursor-not-allowed disabled:opacity-40 dark:hover:text-gray-200"},[...d[159]||(d[159]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1)])],8,Oh),e("button",{type:"button",onClick:nt=>Ao(yt),class:"rounded p-1 text-red-500 transition-colors hover:text-red-600"},[E(te,{name:"x",size:"sm","stroke-width":2})],8,Nh)])]),e("div",jh,[e("div",null,[e("label",Dh,a(t(l)("admin.accounts.tempUnschedulable.errorCode")),1),T(e("input",{"onUpdate:modelValue":nt=>p.error_code=nt,type:"number",min:"100",max:"599",class:"input",placeholder:t(l)("admin.accounts.tempUnschedulable.errorCodePlaceholder")},null,8,Fh),[[B,p.error_code,void 0,{number:!0}]])]),e("div",null,[e("label",Hh,a(t(l)("admin.accounts.tempUnschedulable.durationMinutes")),1),T(e("input",{"onUpdate:modelValue":nt=>p.duration_minutes=nt,type:"number",min:"1",class:"input",placeholder:t(l)("admin.accounts.tempUnschedulable.durationPlaceholder")},null,8,Bh),[[B,p.duration_minutes,void 0,{number:!0}]])]),e("div",Wh,[e("label",Kh,a(t(l)("admin.accounts.tempUnschedulable.keywords")),1),T(e("input",{"onUpdate:modelValue":nt=>p.keywords=nt,type:"text",class:"input",placeholder:t(l)("admin.accounts.tempUnschedulable.keywordsPlaceholder")},null,8,Gh),[[B,p.keywords]]),e("p",Jh,a(t(l)("admin.accounts.tempUnschedulable.keywordsHint")),1)]),e("div",Qh,[e("label",Yh,a(t(l)("admin.accounts.tempUnschedulable.description")),1),T(e("input",{"onUpdate:modelValue":nt=>p.description=nt,type:"text",class:"input",placeholder:t(l)("admin.accounts.tempUnschedulable.descriptionPlaceholder")},null,8,Xh),[[B,p.description]])])])]))),128))])):v("",!0),e("button",{type:"button",onClick:d[47]||(d[47]=p=>eo()),class:"w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-sm text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300"},[d[160]||(d[160]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),oe(" "+a(t(l)("admin.accounts.tempUnschedulable.addRule")),1)])])):v("",!0)]),((Ie=c.account)==null?void 0:Ie.platform)==="anthropic"||((lt=c.account)==null?void 0:lt.platform)==="antigravity"?(n(),r("div",Zh,[e("div",ef,[e("div",null,[e("label",tf,a(t(l)("admin.accounts.interceptWarmupRequests")),1),e("p",af,a(t(l)("admin.accounts.interceptWarmupRequestsDesc")),1
18)]),e("button",{type:"button",onClick:d[48]||(d[48]=p=>O.value=!O.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",O.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",O.value?"translate-x-5":"translate-x-0"])},null,2)],2)])])):v("",!0),e("div",null,[e("label",of,a(t(l)("admin.accounts.proxy")),1),E(ks,{modelValue:Ve.proxy_id,"onUpdate:modelValue":d[49]||(d[49]=p=>Ve.proxy_id=p),proxies:c.proxies},null,8,["modelValue","proxies"])]),e("div",sf,[e("div",null,[e("label",lf,a(t(l)("admin.accounts.concurrency")),1),T(e("input",{"onUpdate:modelValue":d[50]||(d[50]=p=>Ve.concurrency=p),type:"number",min:"1",class:"input",onInput:d[51]||(d[51]=p=>Ve.concurrency=Math.max(1,Ve.concurrency||1))},null,544),[[B,Ve.concurrency,void 0,{number:!0}]])]),e("div",null,[e("label",nf,a(t(l)("admin.accounts.loadFactor")),1),T(e("input",{"onUpdate:modelValue":d[52]||(d[52]=p=>Ve.load_factor=p),type:"number",min:"1",class:"input",placeholder:String(Ve.concurrency||1),onInput:d[53]||(d[53]=p=>Ve.load_factor=Ve.load_factor&&Ve.load_factor>=1?Ve.load_factor:null)},null,40,rf),[[B,Ve.load_factor,void 0,{number:!0}]]),e("p",df,a(t(l)("admin.accounts.loadFactorHint")),1)]),e("div",null,[e("label",uf,a(t(l)("admin.accounts.priority")),1),T(e("input",{"onUpdate:modelValue":d[54]||(d[54]=p=>Ve.priority=p),type:"number",min:"1",class:"input","data-tour":"account-form-priority"},null,512),[[B,Ve.priority,void 0,{number:!0}]]),e("p",cf,a(t(l)("admin.accounts.priorityHint")),1)]),e("div",null,[e("label",pf,a(t(l)("admin.accounts.billingRateMultiplier")),1),T(e("input",{"onUpdate:modelValue":d[55]||(d[55]=p=>Ve.rate_multiplier=p),type:"number",min:"0",step:"0.001",class:"input"},null,512),[[B,Ve.rate_multiplier,void 0,{number:!0}]]),e("p",mf,a(t(l)("admin.accounts.billingRateMultiplierHint")),1)])]),e("div",gf,[e("label",vf,a(t(l)("admin.accounts.expiresAt")),1),T(e("input",{"onUpdate:modelValue":d[56]||(d[56]=p=>Aa.value=p),type:"datetime-local",class:"input"},null,512),[[B,Aa.value]]),e("p",bf,a(t(l)("admin.accounts.expiresAtHint")),1)]),((Re=c.account)==null?void 0:Re.platform)==="openai"&&(((V=c.account)==null?void 0:V.type)==="oauth"||((We=c.account)==null?void 0:We.type)==="apikey")?(n(),r("div",yf,[e("div",hf,[e("div",null,[e("label",ff,a(t(l)("admin.accounts.openai.oauthPassthrough")),1),e("p",xf,a(t(l)("admin.accounts.openai.oauthPassthroughDesc")),1)]),e("button",{type:"button",onClick:d[57]||(d[57]=p=>Ot.value=!Ot.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Ot.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Ot.value?"translate-x-5":"translate-x-0"])},null,2)],2)])])):v("",!0),((xt=c.account)==null?void 0:xt.platform)==="openai"&&(((Yt=c.account)==null?void 0:Yt.type)==="oauth"||((rt=c.account)==null?void 0:rt.type)==="apikey")?(n(),r("div",kf,[e("div",_f,[e("div",wf,[e("div",$f,[E(te,{name:"sparkles",size:"sm"})]),e("div",Cf,[e("div",Tf,[e("label",Mf,a(t(l)("admin.accounts.openai.codexImageGenerationBridge")),1),e("span",{class:C(["rounded-full px-2 py-0.5 text-[11px] font-medium",Ma.value])},a(Ja.value),3)]),e("p",Sf,a(t(l)("admin.accounts.openai.codexImageGenerationBridgeDesc")),1)])]),e("div",Uf,[e("div",Ef,[(n(!0),r(me,null,$e(za.value,p=>(n(),r("button",{key:p.value,type:"button","data-testid":`codex-image-bridge-${p.value}`,onClick:yt=>Pt.value=p.value,class:C(["group flex min-h-[68px] items-start gap-2 rounded-md border px-3 py-2 text-left transition-all",Pt.value===p.value?"border-sky-300 bg-sky-50 text-sky-900 shadow-sm ring-1 ring-sky-200 dark:border-sky-700 dark:bg-sky-900/25 dark:text-sky-100 dark:ring-sky-800":"border-transparent bg-transparent text-slate-600 hover:border-gray-200 hover:bg-gray-50 dark:text-slate-300 dark:hover:border-dark-500 dark:hover:bg-dark-700"])},[e("span",{class:C(["mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border transition-colors",Pt.value===p.value?"border-sky-500 bg-sky-500 text-white":"border-gray-300 text-transparent group-hover:border-gray-400 dark:border-dark-500"])},[E(te,{name:"check",size:"xs","stroke-width":2})],2),e("span",qf,[e("span",Rf,a(p.label),1),e("span",Pf,a(p.description),1)])],10,Af))),128))])])])])):v("",!0),((It=c.account)==null?void 0:It.platform)==="openai"&&(((Va=c.account)==null?void 0:Va.type)==="oauth"||((g=c.account)==null?void 0:g.type)==="apikey")?(n(),r("div",Vf,[e("div",If,[e("div",null,[e("label",zf,a(t(l)("admin.accounts.openai.wsMode")),1),e("p",Lf,a(t(l)("admin.accounts.openai.wsModeDesc")),1
18),e("p",Of,a(t(l)(Ta.value)),1)]),e("div",Nf,[E(Ca,{modelValue:ja.value,"onUpdate:modelValue":d[58]||(d[58]=p=>ja.value=p),options:va.value},null,8,["modelValue","options"])])])])):v("",!0),(($=c.account)==null?void 0:$.platform)==="anthropic"&&((ye=c.account)==null?void 0:ye.type)==="apikey"?(n(),r("div",jf,[e("div",Df,[e("div",null,[e("label",Ff,a(t(l)("admin.accounts.anthropic.apiKeyPassthrough")),1),e("p",Hf,a(t(l)("admin.accounts.anthropic.apiKeyPassthroughDesc")),1)]),e("button",{type:"button",onClick:d[59]||(d[59]=p=>Ze.value=!Ze.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Ze.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Ze.value?"translate-x-5":"translate-x-0"])},null,2)],2)])])):v("",!0),((Ue=c.account)==null?void 0:Ue.platform)==="anthropic"&&((Ye=c.account)==null?void 0:Ye.type)==="apikey"&&Tt.value?(n(),r("div",Bf,[e("div",Wf,[e("div",null,[e("label",Kf,a(t(l)("admin.accounts.anthropic.webSearchEmulation")),1),e("p",Gf,a(t(l)("admin.accounts.anthropic.webSearchEmulationDesc")),1)]),T(e("select",{"onUpdate:modelValue":d[60]||(d[60]=p=>Ge.value=p),class:"input w-24 text-sm"},[e("option",Jf,a(t(l)("admin.accounts.anthropic.webSearchDefault")),1),e("option",Qf,a(t(l)("admin.accounts.anthropic.webSearchEnabled")),1),e("option",Yf,a(t(l)("admin.accounts.anthropic.webSearchDisabled")),1)],512),[[ia,Ge.value]])])])):v("",!0),((ut=c.account)==null?void 0:ut.platform)==="anthropic"&&(((D=c.account)==null?void 0:D.type)==="apikey"||((et=c.account)==null?void 0:et.type)==="bedrock")?(n(),r("div",Xf,[e("div",Zf,[e("h3",ex,a(t(l)("admin.accounts.quotaControl.title")),1),e("p",tx,a(t(l)("admin.accounts.quotaControl.hint")),1)]),E(ls,{totalLimit:Bt.value,dailyLimit:la.value,weeklyLimit:le.value,dailyResetMode:q.value,dailyResetHour:j.value,weeklyResetMode:De.value,weeklyResetDay:Te.value,weeklyResetHour:Zt.value,resetTimezone:pa.value,quotaNotifyGlobalEnabled:t(Nt),quotaNotifyDailyEnabled:t(je).daily.enabled,quotaNotifyDailyThreshold:t(je).daily.threshold,quotaNotifyDailyThresholdType:t(je).daily.thresholdType,quotaNotifyWeeklyEnabled:t(je).weekly.enabled,quotaNotifyWeeklyThreshold:t(je).weekly.threshold,quotaNotifyWeeklyThresholdType:t(je).weekly.thresholdType,quotaNotifyTotalEnabled:t(je).total.enabled,quotaNotifyTotalThreshold:t(je).total.threshold,quotaNotifyTotalThresholdType:t(je).total.thresholdType,"onUpdate:totalLimit":d[61]||(d[61]=p=>Bt.value=p),"onUpdate:dailyLimit":d[62]||(d[62]=p=>la.value=p),"onUpdate:weeklyLimit":d[63]||(d[63]=p=>le.value=p),"onUpdate:dailyResetMode":d[64]||(d[64]=p=>q.value=p),"onUpdate:dailyResetHour":d[65]||(d[65]=p=>j.value=p),"onUpdate:weeklyResetMode":d[66]||(d[66]=p=>De.value=p),"onUpdate:weeklyResetDay":d[67]||(d[67]=p=>Te.value=p),"onUpdate:weeklyResetHour":d[68]||(d[68]=p=>Zt.value=p),"onUpdate:resetTimezone":d[69]||(d[69]=p=>pa.value=p),"onUpdate:quotaNotifyDailyEnabled":d[70]||(d[70]=p=>t(je).daily.enabled=p),"onUpdate:quotaNotifyDailyThreshold":d[71]||(d[71]=p=>t(je).daily.threshold=p),"onUpdate:quotaNotifyDailyThresholdType":d[72]||(d[72]=p=>t(je).daily.thresholdType=p),"onUpdate:quotaNotifyWeeklyEnabled":d[73]||(d[73]=p=>t(je).weekly.enabled=p),"onUpdate:quotaNotifyWeeklyThreshold":d[74]||(d[74]=p=>t(je).weekly.threshold=p),"onUpdate:quotaNotifyWeeklyThresholdType":d[75]||(d[75]=p=>t(je).weekly.thresholdType=p),"onUpdate:quotaNotifyTotalEnabled":d[76]||(d[76]=p=>t(je).total.enabled=p),"onUpdate:quotaNotifyTotalThreshold":d[77]||(d[77]=p=>t(je).total.threshold=p),"onUpdate:quotaNotifyTotalThresholdType":d[78]||(d[78]=p=>t(je).total.thresholdType=p)},null,8,["totalLimit","dailyLimit","weeklyLimit","dailyResetMode","dailyResetHour","weeklyResetMode","weeklyResetDay","weeklyResetHour","resetTimezone","quotaNotifyGlobalEnabled","quotaNotifyDailyEnabled","quotaNotifyDailyThreshold","quotaNotifyDailyThresholdType","quotaNotifyWeeklyEnabled","quotaNotifyWeeklyThreshold","quotaNotifyWeeklyThresholdType","quotaNotifyTotalEnabled","quotaNotifyTotalThreshold","quotaNotifyTotalThresholdType"])])):((qt=c.account)==null?void 0:qt.type)==="apikey"||((zt=c.account)==null?void 0:zt.type)==="bedrock"?(n(),r("div",ax,[e("div",ox,[e("h3",sx,a(t(l)("admin.accounts.quotaControl.title")),1),e("p",lx,a(t(l)("admin.accounts.quotaLimitHint")),1)]),E(ls,{totalLimit:Bt.value,dailyLimit:la.value,weeklyLimit:le.value,dailyResetMode:q.value,dailyResetHour:j.value,weeklyResetMode:De.value,weeklyResetDay:Te.value,weeklyResetHour:Zt.value,resetTimezone:pa.value,quotaNotifyGlobalEnabled:t(Nt),quotaNotifyDailyEnabled:t(je).daily.enabled,quotaNotifyDailyThreshold:t(je).daily.threshold,quotaNotifyDailyThresholdType:t(je).daily.thresholdType,quotaNotifyWeeklyEnabled:t(je).weekly.enabled,quotaNotifyWeeklyThreshold:t(je).weekly.threshold,quotaNotifyWeeklyThresholdType:t(je).weekly.thresholdType,quotaNotifyTotalEnabled:t(je).total.enabled,quotaNotifyTotalThreshold:t(je).total.threshold,quotaNotifyTotalThresholdType:t(je).total.thresholdType,"onUpdate:totalLimit":d[79]||(d[79]=p=>Bt.value=p),"onUpdate:dailyLimit":d[80]||(d[80]=p=>la.value=p),"onUpdate:weeklyLimit":d[81]||(d[81]=p=>le.value=p),"onUpdate:dailyResetMode":d[82]||(d[82]=p=>q.value=p),"onUpdate:dailyResetHour":d[83]||(d[83]=p=>j.value=p),"onUpdate:weeklyResetMode":d[84]||(d[84]=p=>De.value=p),"onUpdate:weeklyResetDay":d[85]||(d[85]=p=>Te.value=p),"onUpdate:weeklyResetHour":d[86]||(d[86]=p=>Zt.value=p),"onUpdate:resetTimezone":d[87]||(d[87]=p=>pa.value=p),"onUpdate:quotaNotifyDailyEnabled":d[88]||(d[88]=p=>t(je).daily.enabled=p),"onUpdate:quotaNotifyDailyThreshold":d[89]||(d[89]=p=>t(je).daily.threshold=p),"onUpdate:quotaNotifyDailyThresholdType":d[90]||(d[90]=p=>t(je).daily.thresholdType=p),"onUpdate:quotaNotifyWeeklyEnabled":d[91]||(d[91]=p=>t(je).weekly.enabled=p),"onUpdate:quotaNotifyWeeklyThreshold":d[92]||(d[92]=p=>t(je).weekly.threshold=p),"onUpdate:quotaNotifyWeeklyThresholdType":d[93]||(d[93]=p=>t(je).weekly.thresholdType=p),"onUpdate:quotaNotifyTotalEnabled":d[94]||(d[94]=p=>t(je).total.enabled=p),"onUpdate:quotaNotifyTotalThreshold":d[95]||(d[95]=p=>t(je).total.threshold=p),"onUpdate:quotaNotifyTotalThresholdType":d[96]||(d[96]=p=>t(je).total.thresholdType=p)},null,8,["totalLimit","dailyLimit","weeklyLimit","dailyResetMode","dailyResetHour","weeklyResetMode","weeklyResetDay","weeklyResetHour","resetTimezone","quotaNotifyGlobalEnabled","quotaNotifyDailyEnabled","quotaNotifyDailyThreshold","quotaNotifyDailyThresholdType","quotaNotifyWeeklyEnabled","quotaNotifyWeeklyThreshold","quotaNotifyWeeklyThresholdType","quotaNotifyTotalEnabled","quotaNotifyTotalThreshold","quotaNotifyTotalThresholdType"])])):v("",!0),((kt=c.account)==null?void 0:kt.platform)==="openai"&&((Ka=c.account)==null?void 0:Ka.type)==="oauth"?(n(),r("div",nx,[e("div",rx,[e("div",null,[e("label",ix,a(t(l)("admin.accounts.openai.codexCLIOnly")),1),e("p",dx,a(t(l)("admin.accounts.openai.codexCLIOnlyDesc")),1
18)]),e("button",{type:"button",onClick:d[97]||(d[97]=p=>bt.value=!bt.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",bt.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",bt.value?"translate-x-5":"translate-x-0"])},null,2)],2)])])):v("",!0),((vo=c.account)==null?void 0:vo.platform)==="openai"&&(((Bo=c.account)==null?void 0:Bo.type)==="oauth"||((zo=c.account)==null?void 0:zo.type)==="apikey")?(n(),r("div",ux,[e("div",cx,[e("div",null,[e("label",px,a(t(l)("admin.accounts.openai.compactMode")),1),e("p",mx,a(t(l)("admin.accounts.openai.compactModeDesc")),1)]),e("div",gx,[E(Ca,{modelValue:Ct.value,"onUpdate:modelValue":d[98]||(d[98]=p=>Ct.value=p),options:La.value},null,8,["modelValue","options"])])]),e("div",vx,[e("span",bx,a(t(l)(Sa.value)),1),(Wo=($o=c.account)==null?void 0:$o.extra)!=null&&Wo.openai_compact_checked_at?(n(),r("span",yx,a(t(l)("admin.accounts.openai.compactLastChecked"))+": "+a(t(no)(new Date(String(c.account.extra.openai_compact_checked_at)))),1)):v("",!0)]),e("div",null,[e("label",hx,a(t(l)("admin.accounts.openai.compactModelMapping")),1),e("p",fx,a(t(l)("admin.accounts.openai.compactModelMappingDesc")),1),ke.value.length>0?(n(),r("div",xx,[(n(!0),r(me,null,$e(ke.value,(p,yt)=>(n(),r("div",{key:t(tt)(p),class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":nt=>p.from=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.fromModel")},null,8,kx),[[B,p.from]]),d[161]||(d[161]=e("span",{class:"text-gray-400"},"→",-1)),T(e("input",{"onUpdate:modelValue":nt=>p.to=nt,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.toModel")},null,8,_x),[[B,p.to]]),e("button",{type:"button",onClick:nt=>Ha(yt),class:"text-red-500 hover:text-red-700"},[E(te,{name:"trash",size:"sm"})],8,wx)]))),128))])):v("",!0),e("button",{type:"button",onClick:qa,class:"btn btn-secondary text-sm"}," + "+a(t(l)("admin.accounts.addMapping")),1)])])):v("",!0),e("div",null,[e("div",$x,[e("div",null,[e("label",Cx,a(t(l)("admin.accounts.autoPauseOnExpired")),1),e("p",Tx,a(t(l)("admin.accounts.autoPauseOnExpiredDesc")),1)]),e("button",{type:"button",onClick:d[99]||(d[99]=p=>G.value=!G.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",G.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",G.value?"translate-x-5":"translate-x-0"])},null,2)],2)])]),((Ko=c.account)==null?void 0:Ko.platform)==="anthropic"&&(((Go=c.account)==null?void 0:Go.type)==="oauth"||((Jo=c.account)==null?void 0:Jo.type)==="setup-token")?(n(),r("div",Mx,[e("div",Sx,[e("h3",Ux,a(t(l)("admin.accounts.quotaControl.title")),1),e("p",Ex,a(t(l)("admin.accounts.quotaControl.hint")),1)]),e("div",Ax,[e("div",qx,[e("div",null,[e("label",Rx,a(t(l)("admin.accounts.quotaControl.windowCost.label")),1),e("p",Px,a(t(l)("admin.accounts.quotaControl.windowCost.hint")),1)]),e("button",{type:"button",onClick:d[100]||(d[100]=p=>gt.value=!gt.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",gt.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",gt.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),gt.value?(n(),r("div",Vx,[e("div",null,[e("label",Ix,a(t(l)("admin.accounts.quotaControl.windowCost.limit")),1),e("div",zx,[d[162]||(d[162]=e("span",{class:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-500 dark:text-gray-400"},"$",-1)),T(e("input",{"onUpdate:modelValue":d[101]||(d[101]=p=>pt.value=p),type:"number",min:"0",step:"1",class:"input pl-7",placeholder:t(l)("admin.accounts.quotaControl.windowCost.limitPlaceholder")},null,8,Lx),[[B,pt.value,void 0,{number:!0}]])]),e("p",Ox,a(t(l)("admin.accounts.quotaControl.windowCost.limitHint")),1)]),e("div",null,[e("label",Nx,a(t(l)("admin.accounts.quotaControl.windowCost.stickyReserve")),1),e("div",jx,[d[163]||(d[163]=e("span",{class:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-500 dark:text-gray-400"},"$",-1)),T(e("input",{"onUpdate:modelValue":d[102]||(d[102]=p=>ht.value=p),type:"number",min:"0",step:"1",class:"input pl-7",placeholder:t(l)("admin.accounts.quotaControl.windowCost.stickyReservePlaceholder")},null,8,Dx),[[B,ht.value,void 0,{number:!0}]])]),e("p",Fx,a(t(l)("admin.accounts.quotaControl.windowCost.stickyReserveHint")),1)])])):v("",!0)]),e("div",Hx,[e("div",Bx,[e("div",null,[e("label",Wx,a(t(l)("admin.accounts.quotaControl.sessionLimit.label")),1),e("p",Kx,a(t(l)("admin.accounts.quotaControl.sessionLimit.hint")),1)]),e("button",{type:"button",onClick:d[103]||(d[103]=p=>dt.value=!dt.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",dt.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",dt.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),dt.value?(n(),r("div",Gx,[e("div",null,[e("label",Jx,a(t(l)("admin.accounts.quotaControl.sessionLimit.maxSessions")),1),T(e("input",{"onUpdate:modelValue":d[104]||(d[104]=p=>Et.value=p),type:"number",min:"1",step:"1",class:"input",placeholder:t(l)("admin.accounts.quotaControl.sessionLimit.maxSessionsPlaceholder")},null,8,Qx),[[B,Et.value,void 0,{number:!0}]]),e("p",Yx,a(t(l)("admin.accounts.quotaControl.sessionLimit.maxSessionsHint")),1)]),e("div",null,[e("label",Xx,a(t(l)("admin.accounts.quotaControl.sessionLimit.idleTimeout")),1),e("div",Zx,[T(e("input",{"onUpdate:modelValue":d[105]||(d[105]=p=>Rt.value=p),type:"number",min:"1",step:"1",class:"input pr-12",placeholder:t(l)("admin.accounts.quotaControl.sessionLimit.idleTimeoutPlaceholder")},null,8,ek),[[B,Rt.value,void 0,{number:!0}]]),e("span",tk,a(t(l)("common.minutes")),1)]),e("p",ak,a(t(l)("admin.accounts.quotaControl.sessionLimit.idleTimeoutHint")),1)])])):v("",!0)]),e("div",ok,[e("div",sk,[e("div",null,[e("label",lk,a(t(l)("admin.accounts.quotaControl.rpmLimit.label")),1),e("p",nk,a(t(l)("admin.accounts.quotaControl.rpmLimit.hint")),1)]),e("button",{type:"button",onClick:d[106]||(d[106]=p=>ft.value=!ft.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",ft.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",ft.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),ft.value?(n(),r("div",rk,[e("div",null,[e("label",ik,a(t(l)("admin.accounts.quotaControl.rpmLimit.baseRpm")),1),T(e("input",{"onUpdate:modelValue":d[107]||(d[107]=p=>wt.value=p),type:"number",min:"1",max:"1000",step:"1",class:"input",placeholder:t(l)("admin.accounts.quotaControl.rpmLimit.baseRpmPlaceholder")},null,8,dk),[[B,wt.value,void 0,{number:!0}]]),e("p",uk,a(t(l)("admin.accounts.quotaControl.rpmLimit.baseRpmHint")),1)]),e("div",null,[e("label",ck,a(t(l)("admin.accounts.quotaControl.rpmLimit.strategy")),1),e("div",pk,[e("button",{type:"button",onClick:d[108]||(d[108]=p=>Se.value="tiered"),class:C(["flex-1 rounded-lg px-3 py-2 text-sm font-medium transition-all",Se.value==="tiered"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[e("div",mk,[e("div",null,a(t(l)("admin.accounts.quotaControl.rpmLimit.strategyTiered")),1),e("div",gk,a(t(l)("admin.accounts.quotaControl.rpmLimit.strategyTieredHint")),1)])],2),e("button",{type:"button",onClick:d[109]||(d[109]=p=>Se.value="sticky_exempt"),class:C(["flex-1 rounded-lg px-3 py-2 text-sm font-medium transition-all",Se.value==="sticky_exempt"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},[e("div",vk,[e("div",null,a(t(l)("admin.accounts.quotaControl.rpmLimit.strategyStickyExempt")),1),e("div",bk,a(t(l)("admin.accounts.quotaControl.rpmLimit.strategyStickyExemptHint")),1)])],2)])]),Se.value==="tiered"?(n(),r("div",yk,[e("label",hk,a(t(l)("admin.accounts.quotaControl.rpmLimit.stickyBuffer")),1),T(e("input",{"onUpdate:modelValue":d[110]||(d[110]=p=>Q.value=p),type:"number",min:"1",step:"1",class:"input",placeholder:t(l)("admin.accounts.quotaControl.rpmLimit.stickyBufferPlaceholder")},null,8,fk),[[B,Q.value,void 0,{number:!0}]]),e("p",xk,a(t(l)("admin.accounts.quotaControl.rpmLimit.stickyBufferHint")),1)])):v("",!0)])):v("",!0),e("div",kk,[e("label",_k,a(t(l)("admin.accounts.quotaControl.rpmLimit.userMsgQueue")),1),e("p",wk,a(t(l)("admin.accounts.quotaControl.rpmLimit.userMsgQueueHint")),1),e("div",$k,[(n(!0),r(me,null,$e(vt.value,p=>(n(),r("button",{type:"button",key:p.value,onClick:yt=>we.value=p.value,class:C(["px-3 py-1.5 text-sm rounded-md border transition-colors",we.value===p.value?"bg-primary-600 text-white border-primary-600":"bg-white dark:bg-dark-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-dark-500 hover:bg-gray-50 dark:hover:bg-dark-600"])}
18,a(p.label),11,Ck))),128))])])]),e("div",Tk,[e("div",Mk,[e("div",null,[e("label",Sk,a(t(l)("admin.accounts.quotaControl.tlsFingerprint.label")),1),e("p",Uk,a(t(l)("admin.accounts.quotaControl.tlsFingerprint.hint")),1)]),e("button",{type:"button",onClick:d[111]||(d[111]=p=>$t.value=!$t.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",$t.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",$t.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),$t.value?(n(),r("div",Ek,[T(e("select",{"onUpdate:modelValue":d[112]||(d[112]=p=>At.value=p),class:"input"},[e("option",Ak,a(t(l)("admin.accounts.quotaControl.tlsFingerprint.defaultProfile")),1),Lt.value.length>0?(n(),r("option",qk,a(t(l)("admin.accounts.quotaControl.tlsFingerprint.randomProfile")),1)):v("",!0),(n(!0),r(me,null,$e(Lt.value,p=>(n(),r("option",{key:p.id,value:p.id},a(p.name),9,Rk))),128))],512),[[ia,At.value]])])):v("",!0)]),e("div",Pk,[e("div",Vk,[e("div",null,[e("label",Ik,a(t(l)("admin.accounts.quotaControl.sessionIdMasking.label")),1),e("p",zk,a(t(l)("admin.accounts.quotaControl.sessionIdMasking.hint")),1)]),e("button",{type:"button",onClick:d[113]||(d[113]=p=>Vt.value=!Vt.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Vt.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Vt.value?"translate-x-5":"translate-x-0"])},null,2)],2)])]),e("div",Lk,[e("div",Ok,[e("div",null,[e("label",Nk,a(t(l)("admin.accounts.quotaControl.cacheTTLOverride.label")),1),e("p",jk,a(t(l)("admin.accounts.quotaControl.cacheTTLOverride.hint")),1)]),e("button",{type:"button",onClick:d[114]||(d[114]=p=>Le.value=!Le.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Le.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Le.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Le.value?(n(),r("div",Dk,[e("label",Fk,a(t(l)("admin.accounts.quotaControl.cacheTTLOverride.target")),1),T(e("select",{"onUpdate:modelValue":d[115]||(d[115]=p=>Wt.value=p),class:"mt-1 block w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm shadow-sm focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 dark:border-dark-500 dark:bg-dark-700 dark:text-white"},[...d[164]||(d[164]=[e("option",{value:"5m"},"5m",-1),e("option",{value:"1h"},"1h",-1)])],512),[[ia,Wt.value]]),e("p",Hk,a(t(l)("admin.accounts.quotaControl.cacheTTLOverride.targetHint")),1)])):v("",!0)]),e("div",Bk,[e("div",Wk,[e("div",null,[e("label",Kk,a(t(l)("admin.accounts.quotaControl.customBaseUrl.label")),1),e("p",Gk,a(t(l)("admin.accounts.quotaControl.customBaseUrl.hint")),1)]),e("button",{type:"button",onClick:d[116]||(d[116]=p=>ea.value=!ea.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",ea.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",ea.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),ea.value?(n(),r("div",Jk,[T(e("input",{"onUpdate:modelValue":d[117]||(d[117]=p=>Kt.value=p),type:"text",class:"input",placeholder:t(l)("admin.accounts.quotaControl.customBaseUrl.urlHint")},null,8,Qk),[[B,Kt.value]])])):v("",!0)])])):v("",!0),e("div",Yk,[e("div",null,[e("label",Xk,a(t(l)("common.status")),1),E(Ca,{modelValue:Ve.status,"onUpdate:modelValue":d[118]||(d[118]=p=>Ve.status=p),options:Ea.value},null,8,["modelValue","options"])]),((Qo=c.account)==null?void 0:Qo.platform)==="antigravity"?(n(),r("div",Zk,[e("label",e4,[T(e("input",{type:"checkbox","onUpdate:modelValue":d[119]||(d[119]=p=>he.value=p),disabled:"",class:"h-4 w-4 cursor-not-allowed rounded border-gray-300 text-primary-500 focus:ring-primary-500 dark:border-dark-500"},null,512),[[ct,he.value]]),e("span",t4,a(t(l)("admin.accounts.mixedScheduling")),1)]),e("div",a4,[d[166]||(d[166]=e("span",{class:"inline-flex h-4 w-4 cursor-help items-center justify-center rounded-full bg-gray-200 text-xs text-gray-500 hover:bg-gray-300 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"}," ? ",-1)),e("div",o4,[oe(a(t(l)("admin.accounts.mixedSchedulingTooltip"))+" ",1),d[165]||(d[165]=e("div",{class:"absolute bottom-full left-3 border-4 border-transparent border-b-gray-900 dark:border-b-gray-700"},null,-1))])])])):v("",!0),((Yo=c.account)==null?void 0:Yo.platform)==="antigravity"?(n(),r("div",s4,[e("label",l4,[T(e("input",{type:"checkbox","onUpdate:modelValue":d[120]||(d[120]=p=>
18Pe.value=p),class:"h-4 w-4 rounded border-gray-300 text-primary-500 focus:ring-primary-500 dark:border-dark-500"},null,512),[[ct,Pe.value]]),e("span",n4,a(t(l)("admin.accounts.allowOverages")),1)]),e("div",r4,[d[168]||(d[168]=e("span",{class:"inline-flex h-4 w-4 cursor-help items-center justify-center rounded-full bg-gray-200 text-xs text-gray-500 hover:bg-gray-300 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"}," ? ",-1)),e("div",i4,[oe(a(t(l)("admin.accounts.allowOveragesTooltip"))+" ",1),d[167]||(d[167]=e("div",{class:"absolute bottom-full left-3 border-4 border-transparent border-b-gray-900 dark:border-b-gray-700"},null,-1))])])])):v("",!0)]),t(x).isSimpleMode?v("",!0):(n(),Be(_s,{key:17,modelValue:Ve.group_ids,"onUpdate:modelValue":d[121]||(d[121]=p=>Ve.group_ids=p),groups:c.groups,platform:(Xo=c.account)==null?void 0:Xo.platform,"mixed-scheduling":he.value,"data-tour":"account-form-groups"},null,8,["modelValue","groups","platform","mixed-scheduling"]))],32)):v("",!0)]}),_:1},8,["show","title"]),E(ro,{show:Fe.value,title:t(l)("admin.accounts.mixedChannelWarningTitle"),message:Oa.value,"confirm-text":t(l)("common.confirm"),"cancel-text":t(l)("common.cancel"),danger:!0,onConfirm:Io,onCancel:wo},null,8,["show","title","message","confirm-text","cancel-text"])],64))}}),m4={class:"rounded-lg bg-blue-50 p-4 dark:bg-blue-900/20"},g4={class:"text-sm text-blue-700 dark:text-blue-400"},v4={key:0,class:"rounded-lg bg-amber-50 p-4 dark:bg-amber-900/20"},b4={class:"text-sm text-amber-700 dark:text-amber-400"},y4={key:1,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},h4={class:"mb-3 flex items-center justify-between"},f4={class:"flex-1 pr-4"},x4={id:"bulk-edit-openai-passthrough-label",class:"input-label mb-0",for:"bulk-edit-openai-passthrough-enabled"},k4={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},_4={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},w4={class:"mb-3 flex items-center justify-between"},$4={id:"bulk-edit-base-url-label",class:"input-label mb-0",for:"bulk-edit-base-url-enabled"},C4=["disabled","placeholder"],T4={class:"input-hint"},M4={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},S4={class:"mb-3 flex items-center justify-between"},U4={id:"bulk-edit-model-restriction-label",class:"input-label mb-0",for:"bulk-edit-model-restriction-enabled"},E4={key:0,class:"rounded-lg bg-amber-50 p-3 dark:bg-amber-900/20"},A4={class:"text-xs text-amber-700 dark:text-amber-400"},q4={class:"mb-4 flex gap-2"},R4={key:0},P4={class:"mb-3 rounded-lg bg-blue-50 p-3 dark:bg-blue-900/20"},V4={class:"text-xs text-blue-700 dark:text-blue-400"},I4={class:"text-xs text-gray-500 dark:text-gray-400"},z4={key:0},L4={key:1},O4={class:"mb-3 rounded-lg bg-purple-50 p-3 dark:bg-purple-900/20"},N4={class:"text-xs text-purple-700 dark:text-purple-400"},j4={key:0,class:"mb-3 space-y-2"},D4=["onUpdate:modelValue","placeholder"],F4=["onUpdate:modelValue","placeholder"],H4=["onClick"],B4={class:"flex flex-wrap gap-2"},W4=["onClick"],K4={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},G4={class:"mb-3 flex items-center justify-between"},J4={id:"bulk-edit-custom-error-codes-label",class:"input-label mb-0",for:"bulk-edit-custom-error-codes-enabled"},Q4={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Y4={key:0,id:"bulk-edit-custom-error-codes-body",class:"space-y-3"},X4={class:"rounded-lg bg-amber-50 p-3 dark:bg-amber-900/20"},Z4={class:"text-xs text-amber-700 dark:text-amber-400"},e_={class:"flex flex-wrap gap-2"},t_=["onClick"],a_={class:"flex items-center gap-2"},o_=["placeholder"],s_={class:"flex flex-wrap gap-1.5"},l_=["onClick"],n_={key:0,class:"text-xs text-gray-400"},r_={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},i_={class:"flex items-center justify-between"},d_={class:"flex-1 pr-4"},u_={id:"bulk-edit-intercept-warmup-label",class:"input-label mb-0",for:"bulk-edit-intercept-warmup-enabled"},c_={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},p_={key:0,id:"bulk-edit-intercept-warmup-body",class:"mt-3"},m_={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},g_={class:"mb-3 flex items-center justify-between"},v_={id:"bulk-edit-proxy-label",class:"input-label mb-0",for:"bulk-edit-proxy-enabled"},b_={class:"mb-3 grid grid-cols-2 gap-2"},y_={key:1,class:"space-y-3"},h_={class:"text-xs text-gray-500 dark:text-gray-400"},f_={class:"flex flex-col gap-2 sm:flex-row sm:items-center"},x_=["placeholder"],k_={class:"flex gap-2"},__={class:"max-h-56 overflow-y-auto rounded-lg border border-gray-200 bg-white dark:border-dark-600 dark:bg-dark-800",role:"group","aria-labelledby":"bulk-edit-proxy-label"},w_=["id","value","data-testid"],$_={class:"min-w-0 flex-1"},C_={class:"block truncate text-sm font-medium text-gray-900 dark:text-gray-100"},T_={class:"block truncate text-xs text-gray-500 dark:text-gray-400"},M_={key:0,class:"px-3 py-6 text-center text-sm text-gray-500 dark:text-gray-400"},S_={class:"text-xs text-gray-500 dark:text-gray-400"},U_={class:"grid grid-cols-2 gap-4 border-t border-gray-200 pt-4 dark:border-dark-600 lg:grid-cols-4"},E_={class:"mb-3 flex items-center justify-between"},A_={id:"bulk-edit-concurrency-label",class:"input-label mb-0",for:"bulk-edit-concurrency-enabled"},q_=["disabled"],R_={class:"mb-3 flex items-center justify-between"},P_={id:"bulk-edit-load-factor-label",class:"input-label mb-0",for:"bulk-edit-load-factor-enabled"},V_=["disabled"],I_={class:"input-hint"},z_={class:"mb-3 flex items-center justify-between"},L_={id:"bulk-edit-priority-label",class:"input-label mb-0",for:"bulk-edit-priority-enabled"},O_=["disabled"],N_={class:"mb-3 flex items-center justify-between"},j_={id:"bulk-edit-rate-multiplier-label",class:"input-label mb-0",for:"bulk-edit-rate-multiplier-enabled"},D_=["disabled"],F_={class:"input-hint"},H_={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},B_={class:"mb-3 flex items-center justify-between"},W_={id:"bulk-edit-tag-label",class:"input-label mb-0",for:"bulk-edit-tag-enabled"},K_=["disabled","placeholder"],G_={class:"input-hint"},J_={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Q_={class:"mb-3 flex items-center justify-between"},Y_={id:"bulk-edit-status-label",class:"input-label mb-0",for:"bulk-edit-status-enabled"},X_={key:2,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},Z_={class:"mb-3 flex items-center justify-between"},e3={id:"bulk-edit-openai-ws-mode-label",class:"input-label mb-0",for:"bulk-edit-openai-ws-mode-enabled"},t3={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},a3={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},o3={key:3,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},s3={class:"mb-3 flex items-center justify-between"},l3={id:"bulk-edit-openai-codex-cli-only-label",class:"input-label mb-0",for:"bulk-edit-openai-codex-cli-only-enabled"},n3={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},r3={key:4,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},i3={class:"mb-3 flex items-center justify-between"},d3={id:"bulk-edit-openai-apikey-ws-mode-label",class:"input-label mb-0",for:"bulk-edit-openai-apikey-ws-mode-enabled"},u3={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},c3={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},p3={key:5,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},m3={class:"mb-3 flex items-center justify-between"},g3={class:"flex-1 pr-4"},v3={id:"bulk-edit-openai-compact-mode-label",class:"input-label mb-0",for:"bulk-edit-openai-compact-mode-enabled"},b3={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},y3={key:6,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},h3={class:"mb-3 flex items-center justify-between"},f3={class:"flex-1 pr-4"},x3={id:"bulk-edit-openai-compact-model-mapping-label",class:"input-label mb-0",for:"bulk-edit-openai-compact-model-mapping-enabled"},k3={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},_3={key:0,class:"mb-3 space-y-2"},w3=["onUpdate:modelValue","placeholder"],$3=["onUpdate:modelValue","placeholder"],C3=["onClick"],T3={key:7,class:"border-t border-gray-200 pt-4 dark:border-dark-600"},M3={class:"mb-3 flex items-center justify-between"},S3={id:"bulk-edit-rpm-limit-label",class:"input-label mb-0",for:"bulk-edit-rpm-limit-enabled"},U3={class:"mb-3 flex items-center justify-between"},E3={class:"text-sm text-gray-700 dark:text-gray-300"},A3={key:0,class:"space-y-3"},q3={class:"input-label text-xs"},R3=["placeholder"],P3={class:"input-hint"},V3={class:"input-label text-xs"},I3={class:"flex gap-2"},z3={key:0},L3={class:"input-label text-xs"},O3=["placeholder"],N3={class:"input-hint"},j3={class:"mt-4"},D3={class:"input-label"},F3={class:"mt-1 text-xs text-gray-500 dark:text-gray-400 mb-2"},H3={class:"flex space-x-2"},B3=["onClick"],W3={class:"border-t border-gray-200 pt-4 dark:border-dark-600"},K3={class:"mb-3 flex items-center justify-between"},G3={id:"bulk-edit-groups-label",class:"input-label mb-0",for:"bulk-edit-groups-enabled"},J3={class:"flex justify-end gap-3"},Q3=["disabled"],Y3={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},X3=Dt({__name:"BulkEditAccountModal",props:{show:{type:Boolean},accountIds:{},selectedPlatforms:{},selectedTypes:{},target:{},proxies:{},groups:{}},emits:["close","updated"],setup(c,{emit:A}){const o=c,m=A,{t:l}=Ht(),k=ra(),x=P(()=>{var le;return((le=o.target)==null?void 0:le.mode)??"selected"}),L=P(()=>{var le;return((le=o.target)==null?void 0:le.previewCount)??o.accountIds.length}),R=P(()=>{var le;return((le=o.target)==null?void 0:le.selectedPlatforms)??o.selectedPlatforms}),N=P(()=>{var le;return((le=o.target)==null?void 0:le.selectedTypes)??o.selectedTypes}),K=P(()=>R.value.length>1),S=P(()=>R.value.length===1&&R.value[0]==="openai"&&N.value.length>0&&N.value.every(le=>le==="oauth"||le==="apikey")),U=P(()=>R.value.length===1&&R.value[0]==="openai"&&N.value.length>0&&N.value.every(le=>le==="oauth")),M=P(()=>R.value.length===1&&R.value[0]==="openai"&&N.value.length>0&&N.value.every(le=>le==="apikey")),h=P(()=>R.value.length===1&&R.value[0]==="anthropic"&&N.value.every(le=>le==="oauth"||le==="setup-token")),y=P(()=>{if(R.value.length===0)return[];const le=new Map;for(const q of R.value)for(const j of yo(q)){const De=`${j.from}=>${j.to}`;le.has(De)||le.set(De,j)}return Array.from(le.values())}),ae=u(!1),F=u(!1),H=u(!1),J=u(!1),Z=u(!1),ie=u(!1),ne=u(!1),z=u(!1),ke=u(!1),de=u(!1),xe=u(!1),Me=u(!1),ce=u(!1),W=u(!1),ee=u(!1),_=u(!1),O=u(!1),G=u(!1),he=u(!1),Pe=u(!1),_e=u(!1),ge=u(""),ve=u(null),fe=u(""),Ee=u("whitelist"),Xe=u([]),tt=u([]),Ae=u([]),Qe=u(null),Fe=u(!1),ze=u(null),He=u("single"),Je=u([]),Mt=u(""),gt=u(1),pt=u(null),ht=u(1),dt=u(1),Et=u(""),Rt=u("active"),ft=u([]),wt=u(!1),Se=u(jt),Q=u(jt),we=u(!1),vt=u("auto"),$t=u([]),At=u(!1),Lt=u(null),Vt=u("tiered"),Le=u(null),Wt=u(null),ea=P(()=>[{value:"",label:l("admin.accounts.quotaControl.rpmLimit.umqModeOff")},{value:"throttle",label:l("admin.accounts.quotaControl.rpmLimit.umqModeThrottle")},{value:"serialize",label:l("admin.accounts.quotaControl.rpmLimit.umqModeSerialize")}]),Kt=[{value:401,label:"Unauthorized"},{value:403,label:"Forbidden"},{value:429,label:"Rate Limit"},{value:500,label:"Server Error"},{value:502,label:"Bad Gateway"},{value:503,label:"Unavailable"},{value:529,label:"Overloaded"}],Ot=P(()=>[{value:"active",label:l("common.active")},{value:"inactive",label:l("common.inactive")}
18]),Ct=P(()=>S.value&&ce.value&&wt.value),Gt=P(()=>[{value:jt,label:l("admin.accounts.openai.wsModeOff")},{value:Uo,label:l("admin.accounts.openai.wsModeCtxPool")},{value:Ho,label:l("admin.accounts.openai.wsModePassthrough")}]),ta=P(()=>[{value:"auto",label:l("admin.accounts.openai.compactModeAuto")},{value:"force_on",label:l("admin.accounts.openai.compactModeForceOn")},{value:"force_off",label:l("admin.accounts.openai.compactModeForceOff")}]),bt=P(()=>ns(Se.value)),Pt=P(()=>ns(Q.value)),Ze=P(()=>{const le=Mt.value.trim().toLowerCase();return le?o.proxies.filter(q=>[q.name,q.protocol,q.host,String(q.port),q.username??"",q.country??"",q.region??"",q.city??""].some(De=>De.toLowerCase().includes(le))):o.proxies}),Oe=()=>{const le=new Set(Je.value);for(const q of Ze.value)le.add(q.id);Je.value=Array.from(le)},ca=()=>{Je.value=[]},Ft=()=>{tt.value.push({from:"",to:""})},aa=le=>{tt.value.splice(le,1)},oa=()=>{$t.value.push({from:"",to:""})},sa=le=>{$t.value.splice(le,1)},I=(le,q)=>{if(tt.value.some(De=>De.from===le)){k.showInfo(l("admin.accounts.mappingExists",{model:le}));return}tt.value.push({from:le,to:q})},re=le=>{const q=Ae.value.indexOf(le);if(q===-1){if(le===429){if(!confirm(l("admin.accounts.customErrorCodes429Warning")))return}else if(le===529&&!confirm(l("admin.accounts.customErrorCodes529Warning")))return;Ae.value.push(le)}else Ae.value.splice(q,1)},Ce=()=>{const le=Qe.value;if(le===null||le<100||le>599){k.showError(l("admin.accounts.invalidErrorCode"));return}if(Ae.value.includes(le)){k.showInfo(l("admin.accounts.errorCodeExists"));return}if(le===429){if(!confirm(l("admin.accounts.customErrorCodes429Warning")))return}else if(le===529&&!confirm(l("admin.accounts.customErrorCodes529Warning")))return;Ae.value.push(le),Qe.value=null},st=le=>{const q=Ae.value.indexOf(le);q!==-1&&Ae.value.splice(q,1)},St=()=>na(Ee.value,Xe.value,tt.value),Ge=()=>na("mapping",[],$t.value),Tt=()=>{const le={},q={};let j=!1;const De=()=>(le.extra||(le.extra={}),le.extra);if(Z.value&&(He.value==="random"?le.random_proxy_ids=[...Je.value]:le.proxy_id=ze.value===null?0:ze.value),ie.value&&(le.concurrency=gt.value),ne.value){const Te=pt.value;le.load_factor=Te!=null&&!Number.isNaN(Te)&&Te>0?Te:0}if(z.value&&(le.priority=ht.value),ke.value&&(le.rate_multiplier=dt.value),de.value&&(le.tag=Et.value),xe.value&&(le.status=Rt.value),Me.value&&(le.group_ids=ft.value),ae.value){const Te=fe.value.trim();Te&&(q.base_url=Te,j=!0)}if(ce.value){const Te=De();Te.openai_passthrough=wt.value,wt.value||(Te.openai_oauth_passthrough=!1)}if(F.value&&!Ct.value)if(Ee.value==="whitelist"){const Te={};for(const Zt of Xe.value)Te[Zt]=Zt;q.model_mapping=Te,j=!0}else{const Te=St();q.model_mapping=Te??{},j=!0}if(H.value&&(q.custom_error_codes_enabled=!0,q.custom_error_codes=[...Ae.value],j=!0),J.value&&(q.intercept_warmup_requests=Fe.value,j=!0),W.value){const Te=De();Te.openai_oauth_responses_websockets_v2_mode=Se.value,Te.openai_oauth_responses_websockets_v2_enabled=So(Se.value)}if(ee.value){const Te=De();Te.openai_apikey_responses_websockets_v2_mode=Q.value,Te.openai_apikey_responses_websockets_v2_enabled=So(Q.value)}if(_.value){const Te=De();Te.codex_cli_only=we.value}if(O.value){const Te=De();Te.openai_compact_mode=vt.value}if(G.value&&(q.compact_model_mapping=Ge()??{},j=!0),he.value){const Te=De();At.value&&Lt.value!=null&&Lt.value>0?(Te.base_rpm=Lt.value,Te.rpm_strategy=Vt.value,Le.value!=null&&Le.value>0&&(Te.rpm_sticky_buffer=Le.value)):(Te.base_rpm=0,Te.rpm_strategy="",Te.rpm_sticky_buffer=0),le.extra=Te}if(Wt.value!==null){const Te=De();Te.user_msg_queue_mode=Wt.value,Te.user_msg_queue_enabled=!1}return j&&(le.credentials=q),Object.keys(le).length>0?le:null},Nt=u(!1),je=()=>Me.value&&ft.value.length>0&&R.value.length===1&&(R.value[0]==="antigravity"||R.value[0]==="anthropic"),Jt=()=>{_e.value=!1,ge.value="",ve.value=null,Nt.value=!1,m("close")},Qt=async le=>{if(!je()||Nt.value)return!0;try{const q=await be.accounts.checkMixedChannelRisk({platform:R.value[0],group_ids:ft.value});return q.has_risk?(ve.value=le,ge.value=q.message||l("admin.accounts.bulkEdit.failed"),_e.value=!0,!1):!0}catch(q){return k.showError(q.message||l("admin.accounts.bulkEdit.failed")),!1}},Ga=async()=>
18{if(x.value==="selected"&&o.accountIds.length===0){k.showError(l("admin.accounts.bulkEdit.noSelection"));return}if(!(ae.value||ce.value||F.value||H.value||J.value||Z.value||ie.value||ne.value||z.value||ke.value||xe.value||Me.value||W.value||ee.value||_.value||O.value||G.value||he.value||Wt.value!==null)){k.showError(l("admin.accounts.bulkEdit.noFieldsSelected"));return}if(Z.value&&He.value==="random"&&Je.value.length===0){k.showError(l("admin.accounts.bulkEdit.randomProxyRequired"));return}const q=Tt();if(!q){k.showError(l("admin.accounts.bulkEdit.noFieldsSelected"));return}await Qt(q)&&await io(q)},io=async le=>{var j;const q=Nt.value?{...le,confirm_mixed_channel_risk:!0}:le;Pe.value=!0;try{const De=x.value==="filtered"&&((j=o.target)!=null&&j.filters)?await be.accounts.bulkUpdate({filters:o.target.filters,...q}):await be.accounts.bulkUpdate(o.accountIds,q),Te=De.success||0,Zt=De.failed||0;Te>0&&Zt===0?k.showSuccess(l("admin.accounts.bulkEdit.success",{count:Te})):Te>0?k.showError(l("admin.accounts.bulkEdit.partialSuccess",{success:Te,failed:Zt})):k.showError(l("admin.accounts.bulkEdit.failed")),Te>0&&(ve.value=null,m("updated"),Jt())}catch(De){De.status===409&&De.error==="mixed_channel_warning"?(ve.value=le,ge.value=De.message,_e.value=!0):(k.showError(De.message||l("admin.accounts.bulkEdit.failed")),console.error("Error bulk updating accounts:",De))}finally{Pe.value=!1}},Bt=async()=>{_e.value=!1,Nt.value=!0,ve.value&&await io(ve.value)},la=()=>{_e.value=!1,ve.value=null};return _t(()=>o.show,le=>{le||(ae.value=!1,F.value=!1,H.value=!1,J.value=!1,Z.value=!1,ie.value=!1,ne.value=!1,z.value=!1,ke.value=!1,de.value=!1,xe.value=!1,Me.value=!1,ce.value=!1,W.value=!1,ee.value=!1,_.value=!1,O.value=!1,G.value=!1,he.value=!1,fe.value="",wt.value=!1,Ee.value="whitelist",Xe.value=[],tt.value=[],Ae.value=[],Qe.value=null,Fe.value=!1,ze.value=null,He.value="single",Je.value=[],Mt.value="",gt.value=1,pt.value=null,ht.value=1,dt.value=1,Et.value="",Rt.value="active",ft.value=[],Se.value=jt,Q.value=jt,we.value=!1,vt.value="auto",$t.value=[],At.value=!1,Lt.value=null,Vt.value="tiered",Le.value=null,Wt.value=null,_e.value=!1,ge.value="",ve.value=null,Nt.value=!1)}),(le,q)=>(n(),r(me,null,[E(ua,{show:c.show,title:t(l)("admin.accounts.bulkEdit.title"),width:"wide",onClose:Jt},{footer:qe(()=>[e("div",J3,[e("button",{type:"button",class:"btn btn-secondary",onClick:Jt},a(t(l)("common.cancel")),1),e("button",{type:"submit",form:"bulk-edit-account-form",disabled:Pe.value,class:"btn btn-primary"},[Pe.value?(n(),r("svg",Y3,[...q[61]||(q[61]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):v("",!0),oe(" "+a(Pe.value?t(l)("admin.accounts.bulkEdit.updating"):t(l)("admin.accounts.bulkEdit.submit")),1)],8,Q3)])]),default:qe(()=>[e("form",{id:"bulk-edit-account-form",class:"space-y-5",onSubmit:q[49]||(q[49]=Xt(()=>Ga(),["prevent"]))},[e("div",m4,[e("p",g4,[q[50]||(q[50]=e("svg",{class:"mr-1.5 inline h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(l)("admin.accounts.bulkEdit.selectionInfo",{count:x.value==="filtered"?L.value:c.accountIds.length})),1)])]),K.value?(n(),r("div",v4,[e("p",b4,[q[51]||(q[51]=e("svg",{class:"mr-1.5 inline h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})],-1)),oe(" "+a(t(l)("admin.accounts.bulkEdit.mixedPlatformWarning",{platforms:R.value.join(", ")})),1)])])):v("",!0),S.value?(n(),r("div",y4,[e("div",h4,[e("div",f4,[e("label",x4,a(t(l)("admin.accounts.openai.oauthPassthrough")),1),e("p",k4,a(t(l)("admin.accounts.openai.oauthPassthroughDesc")),1
18)]),T(e("input",{"onUpdate:modelValue":q[0]||(q[0]=j=>ce.value=j),id:"bulk-edit-openai-passthrough-enabled",type:"checkbox","aria-controls":"bulk-edit-openai-passthrough-body",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,ce.value]])]),e("div",{id:"bulk-edit-openai-passthrough-body",class:C(!ce.value&&"pointer-events-none opacity-50"),role:"group","aria-labelledby":"bulk-edit-openai-passthrough-label"},[e("button",{id:"bulk-edit-openai-passthrough-toggle",type:"button",class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",wt.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"]),onClick:q[1]||(q[1]=j=>wt.value=!wt.value)},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",wt.value?"translate-x-5":"translate-x-0"])},null,2)],2)],2)])):v("",!0),e("div",_4,[e("div",w4,[e("label",$4,a(t(l)("admin.accounts.baseUrl")),1),T(e("input",{"onUpdate:modelValue":q[2]||(q[2]=j=>ae.value=j),id:"bulk-edit-base-url-enabled",type:"checkbox","aria-controls":"bulk-edit-base-url",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,ae.value]])]),T(e("input",{"onUpdate:modelValue":q[3]||(q[3]=j=>fe.value=j),id:"bulk-edit-base-url",type:"text",disabled:!ae.value,class:C(["input",!ae.value&&"cursor-not-allowed opacity-50"]),placeholder:t(l)("admin.accounts.bulkEdit.baseUrlPlaceholder"),"aria-labelledby":"bulk-edit-base-url-label"},null,10,C4),[[B,fe.value]]),e("p",T4,a(t(l)("admin.accounts.bulkEdit.baseUrlNotice")),1)]),e("div",M4,[e("div",S4,[e("label",U4,a(t(l)("admin.accounts.modelRestriction")),1),T(e("input",{"onUpdate:modelValue":q[4]||(q[4]=j=>F.value=j),id:"bulk-edit-model-restriction-enabled",type:"checkbox","aria-controls":"bulk-edit-model-restriction-body",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,F.value]])]),e("div",{id:"bulk-edit-model-restriction-body",class:C(!F.value&&"pointer-events-none opacity-50"),role:"group","aria-labelledby":"bulk-edit-model-restriction-label"},[Ct.value?(n(),r("div",E4,[e("p",A4,a(t(l)("admin.accounts.openai.modelRestrictionDisabledByPassthrough")),1)])):(n(),r(me,{key:1},[e("div",q4,[e("button",{type:"button",class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",Ee.value==="whitelist"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"]),onClick:q[5]||(q[5]=j=>Ee.value="whitelist")},[q[52]||(q[52]=e("svg",{class:"mr-1.5 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(l)("admin.accounts.modelWhitelist")),1)],2),e("button",{type:"button",class:C(["flex-1 rounded-lg px-4 py-2 text-sm font-medium transition-all",Ee.value==="mapping"?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"]),onClick:q[6]||(q[6]=j=>Ee.value="mapping")},[q[53]||(q[53]=e("svg",{class:"mr-1.5 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4"})],-1)),oe(" "+a(t(l)("admin.accounts.modelMapping")),1)],2)]),Ee.value==="whitelist"?(n(),r("div",R4,[e("div",P4,[e("p",V4,[q[54]||(q[54]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(l)("admin.accounts.selectAllowedModels")),1)])]),E(lo,{modelValue:Xe.value,"onUpdate:modelValue":q[7]||(q[7]=j=>Xe.value=j),platforms:R.value},null,8,["modelValue","platforms"]),e("p",I4,[oe(a(t(l)("admin.accounts.selectedModels",{count:Xe.value.length}))+" ",1),Xe.value.length===0?(n(),r("span",z4,a(t(l)("admin.accounts.supportsAllModels")),1)):v("",!0)])])):(n(),r("div",L4,[e("div",O4,[e("p",N4,[q[55]||(q[55]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),oe(" "+a(t(l)("admin.accounts.mapRequestModels")),1)])]),tt.value.length>0?(n(),r("div",j4,[(n(!0),r(me,null,$e(tt.value,(j,De)=>(n(),r("div",{key:De,class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":Te=>j.from=Te,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.requestModel")},null,8,D4),[[B,j.from]]),q[57]||(q[57]=e("svg",{class:"h-4 w-4 flex-shrink-0 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1)),T(e("input",{"onUpdate:modelValue":Te=>j.to=Te,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.actualModel")},null,8,F4),[[B,j.to]]),e("button",{type:"button",class:"rounded-lg p-2 text-red-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20",onClick:Te=>aa(De)}
18,[...q[56]||(q[56]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,H4)]))),128))])):v("",!0),e("button",{type:"button",class:"mb-3 w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300",onClick:Ft},[q[58]||(q[58]=e("svg",{class:"mr-1 inline h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),oe(" "+a(t(l)("admin.accounts.addMapping")),1)]),e("div",B4,[(n(!0),r(me,null,$e(y.value,j=>(n(),r("button",{key:j.label,type:"button",class:C(["rounded-lg px-3 py-1 text-xs transition-colors",j.color]),onClick:De=>I(j.from,j.to)}," + "+a(j.label),11,W4))),128))])]))],64))],2)]),e("div",K4,[e("div",G4,[e("div",null,[e("label",J4,a(t(l)("admin.accounts.customErrorCodes")),1),e("p",Q4,a(t(l)("admin.accounts.customErrorCodesHint")),1)]),T(e("input",{"onUpdate:modelValue":q[8]||(q[8]=j=>H.value=j),id:"bulk-edit-custom-error-codes-enabled",type:"checkbox","aria-controls":"bulk-edit-custom-error-codes-body",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,H.value]])]),H.value?(n(),r("div",Y4,[e("div",X4,[e("p",Z4,[E(te,{name:"exclamationTriangle",size:"sm",class:"mr-1 inline","stroke-width":2}),oe(" "+a(t(l)("admin.accounts.customErrorCodesWarning")),1)])]),e("div",e_,[(n(),r(me,null,$e(Kt,j=>e("button",{key:j.value,type:"button",class:C(["rounded-lg px-3 py-1.5 text-sm font-medium transition-colors",Ae.value.includes(j.value)?"bg-red-100 text-red-700 ring-1 ring-red-500 dark:bg-red-900/30 dark:text-red-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"]),onClick:De=>re(j.value)},a(j.value)+" "+a(j.label),11,t_)),64))]),e("div",a_,[T(e("input",{"onUpdate:modelValue":q[9]||(q[9]=j=>Qe.value=j),id:"bulk-edit-custom-error-code-input",type:"number",min:"100",max:"599",class:"input flex-1",placeholder:t(l)("admin.accounts.enterErrorCode"),"aria-labelledby":"bulk-edit-custom-error-codes-label",onKeyup:Fo(Ce,["enter"])},null,40,o_),[[B,Qe.value]]),e("button",{type:"button",class:"btn btn-secondary px-3",onClick:Ce},[...q[59]||(q[59]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)])])]),e("div",s_,[(n(!0),r(me,null,$e(Ae.value.sort((j,De)=>j-De),j=>(n(),r("span",{key:j,class:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2.5 py-0.5 text-sm font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400"},[oe(a(j)+" ",1),e("button",{type:"button",class:"hover:text-red-900 dark:hover:text-red-300",onClick:De=>st(j)},[E(te,{name:"x",size:"xs",class:"h-3.5 w-3.5","stroke-width":2})],8,l_)]))),128)),Ae.value.length===0?(n(),r("span",n_,a(t(l)("admin.accounts.noneSelectedUsesDefault")),1)):v("",!0)])])):v("",!0)]),e("div",r_,[e("div",i_,[e("div",d_,[e("label",u_,a(t(l)("admin.accounts.interceptWarmupRequests")),1),e("p",c_,a(t(l)("admin.accounts.interceptWarmupRequestsDesc")),1)]),T(e("input",{"onUpdate:modelValue":q[10]||(q[10]=j=>J.value=j),id:"bulk-edit-intercept-warmup-enabled",type:"checkbox","aria-controls":"bulk-edit-intercept-warmup-body",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,J.value]])]),J.value?(n(),r("div",p_,[e("button",{type:"button",class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",Fe.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"]),onClick:q[11]||(q[11]=j=>Fe.value=!Fe.value)},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Fe.value?"translate-x-5":"translate-x-0"])},null,2)],2)])):v("",!0)]),e("div",m_,[e("div",g_,[e("label",v_,a(t(l)("admin.accounts.proxy")),1),T(e("input",{"onUpdate:modelValue":q[12]||(q[12]=j=>Z.value=j),id:"bulk-edit-proxy-enabled",type:"checkbox","aria-controls":"bulk-edit-proxy-body",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,Z.value]])]),e("div",{id:"bulk-edit-proxy-body",class:C(!Z.value&&"pointer-events-none opacity-50")},[e("div",b_,[e("button",{type:"button","data-testid":"bulk-edit-proxy-mode-single",class:C(["rounded-lg px-3 py-2 text-sm font-medium transition-all",He.value==="single"?"bg-primary-100 text-primary-700 ring-1 ring-primary-500 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"]),onClick:q[13]||(q[13]=j=>He.value="single")},a(t(l)("admin.accounts.bulkEdit.proxyModeSingle")),3),e("button",{type:"button","data-testid":"bulk-edit-proxy-mode-random",class:C(["rounded-lg px-3 py-2 text-sm font-medium transition-all",He.value==="random"?"bg-primary-100 text-primary-700 ring-1 ring-primary-500 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"]),onClick:q[14]||(q[14]=j=>He.value="random")},a(t(l)("admin.accounts.bulkEdit.proxyModeRandom")),3)]),He.value==="single"?(n(),Be(ks,{key:0,modelValue:ze.value,"onUpdate:modelValue":q[15]||(q[15]=j=>ze.value=j),proxies:c.proxies,"aria-labelledby":"bulk-edit-proxy-label"},null,8,["modelValue","proxies"])):(n(),r("div",y_,[e("p",h_,a(t(l)("admin.accounts.bulkEdit.randomProxyHint")),1),e("div",f_,[T(e("input",{"onUpdate:modelValue":q[16]||(q[16]=j=>Mt.value=j),"data-testid":"bulk-edit-random-proxy-search",type:"text",class:"input flex-1",placeholder:t(l)("common.search")},null,8,x_),[[B,Mt.value]]),e("div",k_,[e("button",{type:"button",class:"btn btn-secondary px-3 py-2 text-xs","data-testid":"bulk-edit-random-proxy-select-all",onClick:Oe},a(t(l)("admin.accounts.bulkEdit.randomProxySelectAll")),1),e("button",{type:"button",class:"btn btn-secondary px-3 py-2 text-xs","data-testid":"bulk-edit-random-proxy-clear",onClick:ca},a(t(l)("admin.accounts.bulkEdit.randomProxyClear")),1)])]),e("div",__,[(n(!0),r(me,null,$e(Ze.value,j=>(n(),r("label",{key:j.id,class:"flex cursor-pointer items-center gap-3 border-b border-gray-100 px-3 py-2 last:border-b-0 hover:bg-gray-50 dark:border-dark-700 dark:hover:bg-dark-700"},[T(e("input",{id:`bulk-edit-random-proxy-${j.id}`,"onUpdate:modelValue":q[17]||(q[17]=De=>Je.value=De),value:j.id,type:"checkbox",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500","data-testid":`bulk-edit-random-proxy-${j.id}`},null,8,w_),[[ct,Je.value]]),e("span",$_,[e("span",C_,a(j.name),1),e("span",T_,[oe(a(j.protocol)+"://"+a(j.host)+":"+a(j.port)+" ",1),typeof j.account_count=="number"?(n(),r(me,{key:0},[oe(" · "+a(t(l)("admin.accounts.bulkEdit.randomProxyAccountCount",{count:j.account_count})),1)],64)):v("",!0)])])]))),128)),Ze.value.length===0?(n(),r("div",M_,a(t(l)("common.noOptionsFound")),1)):v("",!0)]),e("p",S_,a(t(l)("admin.accounts.bulkEdit.randomProxySelected",{count:Je.value.length})),1)]))],2)]),e("div",U_,[e("div",null,[e("div",E_,[e("label",A_,a(t(l)("admin.accounts.concurrency")),1),T(e("input",{"onUpdate:modelValue":q[18]||(q[18]=j=>ie.value=j),id:"bulk-edit-concurrency-enabled",type:"checkbox","aria-controls":"bulk-edit-concurrency",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,ie.value]])]),T(e("input",{"onUpdate:modelValue":q[19]||(q[19]=j=>
18gt.value=j),id:"bulk-edit-concurrency",type:"number",min:"1",disabled:!ie.value,class:C(["input",!ie.value&&"cursor-not-allowed opacity-50"]),"aria-labelledby":"bulk-edit-concurrency-label",onInput:q[20]||(q[20]=j=>gt.value=Math.max(1,gt.value||1))},null,42,q_),[[B,gt.value,void 0,{number:!0}]])]),e("div",null,[e("div",R_,[e("label",P_,a(t(l)("admin.accounts.loadFactor")),1),T(e("input",{"onUpdate:modelValue":q[21]||(q[21]=j=>ne.value=j),id:"bulk-edit-load-factor-enabled",type:"checkbox","aria-controls":"bulk-edit-load-factor",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,ne.value]])]),T(e("input",{"onUpdate:modelValue":q[22]||(q[22]=j=>pt.value=j),id:"bulk-edit-load-factor",type:"number",min:"1",disabled:!ne.value,class:C(["input",!ne.value&&"cursor-not-allowed opacity-50"]),"aria-labelledby":"bulk-edit-load-factor-label",onInput:q[23]||(q[23]=j=>pt.value=pt.value&&pt.value>=1?pt.value:null)},null,42,V_),[[B,pt.value,void 0,{number:!0}]]),e("p",I_,a(t(l)("admin.accounts.loadFactorHint")),1)]),e("div",null,[e("div",z_,[e("label",L_,a(t(l)("admin.accounts.priority")),1),T(e("input",{"onUpdate:modelValue":q[24]||(q[24]=j=>z.value=j),id:"bulk-edit-priority-enabled",type:"checkbox","aria-controls":"bulk-edit-priority",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,z.value]])]),T(e("input",{"onUpdate:modelValue":q[25]||(q[25]=j=>ht.value=j),id:"bulk-edit-priority",type:"number",min:"1",disabled:!z.value,class:C(["input",!z.value&&"cursor-not-allowed opacity-50"]),"aria-labelledby":"bulk-edit-priority-label"},null,10,O_),[[B,ht.value,void 0,{number:!0}]])]),e("div",null,[e("div",N_,[e("label",j_,a(t(l)("admin.accounts.billingRateMultiplier")),1),T(e("input",{"onUpdate:modelValue":q[26]||(q[26]=j=>ke.value=j),id:"bulk-edit-rate-multiplier-enabled",type:"checkbox","aria-controls":"bulk-edit-rate-multiplier",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,ke.value]])]),T(e("input",{"onUpdate:modelValue":q[27]||(q[27]=j=>dt.value=j),id:"bulk-edit-rate-multiplier",type:"number",min:"0",step:"0.01",disabled:!ke.value,class:C(["input",!ke.value&&"cursor-not-allowed opacity-50"]),"aria-labelledby":"bulk-edit-rate-multiplier-label"},null,10,D_),[[B,dt.value,void 0,{number:!0}]]),e("p",F_,a(t(l)("admin.accounts.billingRateMultiplierHint")),1)])]),e("div",H_,[e("div",B_,[e("label",W_,a(t(l)("admin.accounts.accountTag")),1),T(e("input",{"onUpdate:modelValue":q[28]||(q[28]=j=>de.value=j),id:"bulk-edit-tag-enabled",type:"checkbox","aria-controls":"bulk-edit-tag",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,de.value]])]),e("div",{id:"bulk-edit-tag",class:C(!de.value&&"pointer-events-none opacity-50")},[T(e("input",{"onUpdate:modelValue":q[29]||(q[29]=j=>Et.value=j),type:"text",maxlength:"100",disabled:!de.value,class:C(["input",!de.value&&"cursor-not-allowed opacity-50"]),placeholder:t(l)("admin.accounts.accountTagPlaceholder"),"aria-labelledby":"bulk-edit-tag-label"},null,10,K_),[[B,Et.value]]),e("p",G_,a(t(l)("admin.accounts.bulkEdit.tagHint")),1)],2)]),e("div",J_,[e("div",Q_,[e("label",Y_,a(t(l)("common.status")),1),T(e("input",{"onUpdate:modelValue":q[30]||(q[30]=j=>xe.value=j),id:"bulk-edit-status-enabled",type:"checkbox","aria-controls":"bulk-edit-status",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,xe.value]])]),e("div",{id:"bulk-edit-status",class:C(!xe.value&&"pointer-events-none opacity-50")},[E(Ca,{modelValue:Rt.value,"onUpdate:modelValue":q[31]||(q[31]=j=>Rt.value=j),options:Ot.value,"aria-labelledby":"bulk-edit-status-label"},null,8,["modelValue","options"])],2)]),U.value?(n(),r("div",X_,[e("div",Z_,[e("label",e3,a(t(l)("admin.accounts.openai.wsMode")),1),T(e("input",{"onUpdate:modelValue":q[32]||(q[32]=j=>W.value=j),id:"bulk-edit-openai-ws-mode-enabled",type:"checkbox","aria-controls":"bulk-edit-openai-ws-mode",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,W.value]])]),e("div",{id:"bulk-edit-openai-ws-mode",class:C(!W.value&&"pointer-events-none opacity-50")}
18,[e("p",t3,a(t(l)("admin.accounts.openai.wsModeDesc")),1),e("p",a3,a(t(l)(bt.value)),1),E(Ca,{modelValue:Se.value,"onUpdate:modelValue":q[33]||(q[33]=j=>Se.value=j),"data-testid":"bulk-edit-openai-ws-mode-select",options:Gt.value,"aria-labelledby":"bulk-edit-openai-ws-mode-label"},null,8,["modelValue","options"])],2)])):v("",!0),U.value?(n(),r("div",o3,[e("div",s3,[e("label",l3,a(t(l)("admin.accounts.openai.codexCLIOnly")),1),T(e("input",{"onUpdate:modelValue":q[34]||(q[34]=j=>_.value=j),id:"bulk-edit-openai-codex-cli-only-enabled",type:"checkbox","aria-controls":"bulk-edit-openai-codex-cli-only",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,_.value]])]),e("div",{id:"bulk-edit-openai-codex-cli-only",class:C(!_.value&&"pointer-events-none opacity-50")},[e("p",n3,a(t(l)("admin.accounts.openai.codexCLIOnlyDesc")),1),e("button",{id:"bulk-edit-openai-codex-cli-only-toggle",type:"button",class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",we.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"]),onClick:q[35]||(q[35]=j=>we.value=!we.value)},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",we.value?"translate-x-5":"translate-x-0"])},null,2)],2)],2)])):v("",!0),M.value?(n(),r("div",r3,[e("div",i3,[e("label",d3,a(t(l)("admin.accounts.openai.wsMode")),1),T(e("input",{"onUpdate:modelValue":q[36]||(q[36]=j=>ee.value=j),id:"bulk-edit-openai-apikey-ws-mode-enabled",type:"checkbox","aria-controls":"bulk-edit-openai-apikey-ws-mode",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,ee.value]])]),e("div",{id:"bulk-edit-openai-apikey-ws-mode",class:C(!ee.value&&"pointer-events-none opacity-50")},[e("p",u3,a(t(l)("admin.accounts.openai.wsModeDesc")),1),e("p",c3,a(t(l)(Pt.value)),1),E(Ca,{modelValue:Q.value,"onUpdate:modelValue":q[37]||(q[37]=j=>Q.value=j),"data-testid":"bulk-edit-openai-apikey-ws-mode-select",options:Gt.value,"aria-labelledby":"bulk-edit-openai-apikey-ws-mode-label"},null,8,["modelValue","options"])],2)])):v("",!0),S.value?(n(),r("div",p3,[e("div",m3,[e("div",g3,[e("label",v3,a(t(l)("admin.accounts.openai.compactMode")),1),e("p",b3,a(t(l)("admin.accounts.openai.compactModeDesc")),1)]),T(e("input",{"onUpdate:modelValue":q[38]||(q[38]=j=>O.value=j),id:"bulk-edit-openai-compact-mode-enabled",type:"checkbox","aria-controls":"bulk-edit-openai-compact-mode",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,O.value]])]),e("div",{id:"bulk-edit-openai-compact-mode",class:C(!O.value&&"pointer-events-none opacity-50")},[E(Ca,{modelValue:vt.value,"onUpdate:modelValue":q[39]||(q[39]=j=>vt.value=j),"data-testid":"bulk-edit-openai-compact-mode-select",options:ta.value,"aria-labelledby":"bulk-edit-openai-compact-mode-label"},null,8,["modelValue","options"])],2)])):v("",!0),S.value?(n(),r("div",y3,[e("div",h3,[e("div",f3,[e("label",x3,a(t(l)("admin.accounts.openai.compactModelMapping")),1),e("p",k3,a(t(l)("admin.accounts.openai.compactModelMappingDesc")),1)]),T(e("input",{"onUpdate:modelValue":q[40]||(q[40]=j=>G.value=j),id:"bulk-edit-openai-compact-model-mapping-enabled",type:"checkbox","aria-controls":"bulk-edit-openai-compact-model-mapping",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,G.value]])]),e("div",{id:"bulk-edit-openai-compact-model-mapping",class:C(!G.value&&"pointer-events-none opacity-50")},[$t.value.length>0?(n(),r("div",_3,[(n(!0),r(me,null,$e($t.value,(j,De)=>(n(),r("div",{key:De,class:"flex items-center gap-2"},[T(e("input",{"onUpdate:modelValue":Te=>j.from=Te,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.fromModel"),"data-testid":"bulk-edit-openai-compact-model-mapping-input"},null,8,w3),[[B,j.from]]),q[60]||(q[60]=e("span",{class:"text-gray-400"},"→",-1)),T(e("input",{"onUpdate:modelValue":Te=>j.to=Te,type:"text",class:"input flex-1",placeholder:t(l)("admin.accounts.toModel"),"data-testid":"bulk-edit-openai-compact-model-mapping-input"},null,8,$3),[[B,j.to]]),e("button",{type:"button",class:"rounded-lg p-2 text-red-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20",onClick:Te=>sa(De)},[E(te,{name:"trash",size:"sm"})],8,C3)]))),128))])):v("",!0),e("button",{type:"button",class:"mb-3 w-full rounded-lg border-2 border-dashed border-gray-300 px-4 py-2 text-gray-600 transition-colors hover:border-gray-400 hover:text-gray-700 dark:border-dark-500 dark:text-gray-400 dark:hover:border-dark-400 dark:hover:text-gray-300","data-testid":"bulk-edit-openai-compact-model-mapping-add",onClick:oa}," + "+a(t(l)("admin.accounts.addMapping")),1)],2)])):v("",!0),h.value?(n(),r("div",T3,[e("div",M3,[e("label",S3,a(t(l)("admin.accounts.quotaControl.rpmLimit.label")),1),T(e("input",{"onUpdate:modelValue":q[41]||(q[41]=j=>he.value=j),id:"bulk-edit-rpm-limit-enabled",type:"checkbox","aria-controls":"bulk-edit-rpm-limit-body",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,he.value]])]),e("div",{id:"bulk-edit-rpm-limit-body",class:C(!he.value&&"pointer-events-none opacity-50"),role:"group","aria-labelledby":"bulk-edit-rpm-limit-label"},[e("div",U3,[e("span",E3,a(t(l)("admin.accounts.quotaControl.rpmLimit.hint")),1),e("button",{type:"button",onClick:q[42]||(q[42]=j=>At.value=!At.value),class:C(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",At.value?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",At.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),At.value?(n(),r("div",A3,[e("div",null,[e("label",q3,a(t(l)("admin.accounts.quotaControl.rpmLimit.baseRpm")),1),T(e("input",{"onUpdate:modelValue":q[43]||(q[43]=j=>Lt.value=j),type:"number",min:"1",max:"1000",step:"1",class:"input",placeholder:t(l)("admin.accounts.quotaControl.rpmLimit.baseRpmPlaceholder")},null,8,R3),[[B,Lt.value,void 0,{number:!0}]]),e("p",P3,a(t(l)("admin.accounts.quotaControl.rpmLimit.baseRpmHint")),1)]),e("div",null,[e("label",V3,a(t(l)("admin.accounts.quotaControl.rpmLimit.strategy")),1),e("div",I3,[e("button",{type:"button",onClick:q[44]||(q[44]=j=>Vt.value="tiered"),class:C(["flex-1 rounded-lg px-3 py-2 text-sm font-medium transition-all",Vt.value==="tiered"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(l)("admin.accounts.quotaControl.rpmLimit.strategyTiered")),3),e("button",{type:"button",onClick:q[45]||(q[45]=j=>Vt.value="sticky_exempt"),class:C(["flex-1 rounded-lg px-3 py-2 text-sm font-medium transition-all",Vt.value==="sticky_exempt"?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-400 dark:hover:bg-dark-500"])},a(t(l)("admin.accounts.quotaControl.rpmLimit.strategyStickyExempt")),3)])]),Vt.value==="tiered"?(n(),r("div",z3,[e("label",L3,a(t(l)("admin.accounts.quotaControl.rpmLimit.stickyBuffer")),1),T(e("input",{"onUpdate:modelValue":q[46]||(q[46]=j=>Le.value=j),type:"number",min:"1",step:"1",class:"input",placeholder:t(l)("admin.accounts.quotaControl.rpmLimit.stickyBufferPlaceholder")},null,8,O3),[[B,Le.value,void 0,{number:!0}]]),e("p",N3,a(t(l)("admin.accounts.quotaControl.rpmLimit.stickyBufferHint")),1)])):v("",!0)])):v("",!0)],2),e("div",j3,[e("label",D3,a(t(l)("admin.accounts.quotaControl.rpmLimit.userMsgQueue")),1),e("p",F3,a(t(l)("admin.accounts.quotaControl.rpmLimit.userMsgQueueHint")),1),e("div",H3,[(n(!0),r(me,null,$e(ea.value,
18j=>(n(),r("button",{type:"button",key:j.value,onClick:De=>Wt.value=Wt.value===j.value?null:j.value,class:C(["px-3 py-1.5 text-sm rounded-md border transition-colors",Wt.value===j.value?"bg-primary-600 text-white border-primary-600":"bg-white dark:bg-dark-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-dark-500 hover:bg-gray-50 dark:hover:bg-dark-600"])},a(j.label),11,B3))),128))])])])):v("",!0),e("div",W3,[e("div",K3,[e("label",G3,a(t(l)("nav.groups")),1),T(e("input",{"onUpdate:modelValue":q[47]||(q[47]=j=>Me.value=j),id:"bulk-edit-groups-enabled",type:"checkbox","aria-controls":"bulk-edit-groups",class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,Me.value]])]),e("div",{id:"bulk-edit-groups",class:C(!Me.value&&"pointer-events-none opacity-50")},[E(_s,{modelValue:ft.value,"onUpdate:modelValue":q[48]||(q[48]=j=>ft.value=j),groups:c.groups,"aria-labelledby":"bulk-edit-groups-label"},null,8,["modelValue","groups"])],2)])],32)]),_:1},8,["show","title"]),E(ro,{show:_e.value,title:t(l)("admin.accounts.mixedChannelWarningTitle"),message:ge.value,"confirm-text":t(l)("common.confirm"),"cancel-text":t(l)("common.cancel"),danger:!0,onConfirm:Bt,onCancel:la},null,8,["show","title","message","confirm-text","cancel-text"])],64))}}),Z3=4;class hl extends Error{constructor(){super("Usage request cancelled"),this.name="UsageRequestCancelledError"}}function e5(c){return c instanceof hl||typeof c=="object"&&c!==null&&c.name==="UsageRequestCancelledError"}const ys=[];let ps=0,hs=!1;function fl(){hs||(hs=!0,setTimeout(t5,0))}function t5(){for(hs=!1;ps<Z3&&ys.length>0;){const c=ys.shift();c&&(ps+=1,c.fn().then(c.resolve,c.reject).finally(()=>{ps-=1,fl()}))}}function a5(c,A){return new Promise((o,m)=>{ys.push({fn:A,resolve:o,reject:m}),fl()})}const o5={key:0},s5={class:"mb-1 flex items-center gap-1"},l5={class:"text-xs text-gray-400 dark:text-gray-500"},n5={key:0},r5=Dt({__name:"AccountQuotaInfo",props:{account:{}},setup(c){const A=c,{t:o}=Ht(),m=u(new Date);let l=null;const k=P(()=>{const M=A.account.credentials;return(M==null?void 0:M.oauth_type)==="code_assist"||!(M!=null&&M.oauth_type)&&!!(M!=null&&M.project_id)}),x=P(()=>{const M=A.account.credentials;return(M==null?void 0:M.oauth_type)==="google_one"}),L=P(()=>A.account.platform==="gemini"),R=P(()=>{const M=A.account.credentials;if(k.value){const y=((M==null?void 0:M.tier_id)||"").toString().trim().toLowerCase();if(y==="gcp_enterprise")return"GCP Enterprise";if(y==="gcp_standard")return"GCP Standard";const ae=((M==null?void 0:M.tier_id)||"").toString().trim().toUpperCase();return ae.includes("ULTRA")||ae.includes("ENTERPRISE")?"GCP Enterprise":ae?`GCP ${ae}`:"GCP"}if(x.value){const y=((M==null?void 0:M.tier_id)||"").toString().trim().toLowerCase();if(y==="google_ai_ultra")return"Google AI Ultra";if(y==="google_ai_pro")return"Google AI Pro";if(y==="google_one_free")return"Google One Free";const ae=((M==null?void 0:M.tier_id)||"").toString().trim().toUpperCase();return ae==="AI_PREMIUM"?"Google AI Pro":ae==="GOOGLE_ONE_UNLIMITED"?"Google AI Ultra":ae?`Google One ${ae}`:"Google One"}const h=((M==null?void 0:M.tier_id)||"").toString().trim().toLowerCase();return h==="aistudio_paid"?"AI Studio Pay-as-you-go":h==="aistudio_free"?"AI Studio Free Tier":"AI Studio"}),N=P(()=>{const M=A.account.credentials;if(k.value){const y=((M==null?void 0:M.tier_id)||"").toString().trim().toLowerCase();if(y==="gcp_enterprise")return"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300";if(y==="gcp_standard")return"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300";const ae=((M==null?void 0:M.tier_id)||"").toString().trim().toUpperCase();return ae.includes("ULTRA")||ae.includes("ENTERPRISE")?"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300":"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300"}if(x.value){const y=((M==null?void 0:M.tier_id)||"").toString().trim().toLowerCase();if(y==="google_ai_ultra")return"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300";
18if(y==="google_ai_pro")return"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300";if(y==="google_one_free")return"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300";const ae=((M==null?void 0:M.tier_id)||"").toString().trim().toUpperCase();return ae==="GOOGLE_ONE_UNLIMITED"?"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300":ae==="AI_PREMIUM"?"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300":"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300"}const h=((M==null?void 0:M.tier_id)||"").toString().trim().toLowerCase();return h==="aistudio_paid"?"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300":h==="aistudio_free"?"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300":"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300"}),K=P(()=>{if(!A.account.rate_limit_reset_at)return!1;const M=Date.parse(A.account.rate_limit_reset_at);return Number.isNaN(M)?!1:M>m.value.getTime()}),S=P(()=>{if(!A.account.rate_limit_reset_at)return"";const M=Date.parse(A.account.rate_limit_reset_at);if(Number.isNaN(M))return"-";const h=M-m.value.getTime();if(h<=0)return o("admin.accounts.gemini.rateLimit.now");const y=Math.floor(h/1e3),ae=Math.floor(y/60),F=Math.floor(ae/60);if(ae<1)return`${y}s`;if(F<1){const J=y%60;return`${ae}m ${J}s`}const H=ae%60;return`${F}h ${H}m`}),U=P(()=>{if(!A.account.rate_limit_reset_at)return!1;const M=Date.parse(A.account.rate_limit_reset_at);if(Number.isNaN(M))return!1;const h=M-m.value.getTime();return h>0&&h<6e4});return _t(()=>K.value,M=>{M&&!l?l=setInterval(()=>{m.value=new Date},1e3):!M&&l&&(clearInterval(l),l=null)},{immediate:!0}),fs(()=>{l!==null&&(clearInterval(l),l=null)}),(M,h)=>L.value?(n(),r("div",o5,[e("div",s5,[e("span",{class:C(["badge text-xs px-2 py-0.5 rounded font-medium",N.value])},a(R.value),3)]),e("div",l5,[K.value?(n(),r("span",{key:1,class:C(["font-medium",U.value?"text-red-600 dark:text-red-400 animate-pulse":"text-amber-600 dark:text-amber-400"])},a(t(o)("admin.accounts.gemini.rateLimit.limited",{time:S.value})),3)):(n(),r("span",n5,a(t(o)("admin.accounts.gemini.rateLimit.unlimited")),1))])])):v("",!0)}}),i5={key:0,class:"mb-1 flex flex-wrap items-center gap-1"},d5=["title"],u5=["title"],c5={key:1,class:"space-y-1.5"},p5={key:2,class:"text-xs text-red-500"},m5={key:3,class:"space-y-1"},g5=["title"],v5={class:"flex items-center gap-1.5 mt-0.5"},b5={key:0,class:"text-[9px] text-gray-400 dark:text-gray-500 italic"},y5=["disabled"],h5={key:4,class:"text-xs text-gray-400"},f5={key:1,class:"space-y-1"},x5={key:0,class:"mb-1 flex flex-wrap items-center gap-1"},k5=["title"],_5=["title"],w5={key:2,class:"space-y-1.5"},$5={key:3,class:"text-xs text-gray-400"},C5={key:0,class:"mb-1 flex flex-wrap items-center gap-1"},T5=["title"],M5={key:2,class:"group relative cursor-help"},S5={class:"pointer-events-none absolute left-0 top-full z-50 mt-1 w-80 whitespace-normal break-words rounded bg-gray-900 px-3 py-2 text-xs leading-relaxed text-white opacity-0 shadow-lg transition-opacity group-hover:opacity-100 dark:bg-gray-700"},U5={key:1,class:"space-y-1"},E5={key:0,class:"flex items-center gap-1"},A5=["href","title"],q5=["title"],R5={key:2,class:"space-y-1"},P5={class:"inline-block rounded px-1.5 py-0.5 text-[10px] font-medium bg-orange-100 text-orange-700 dark:bg-orange-900/40 dark:text-orange-300"},V5={key:3,class:"space-y-1"},I5={class:"inline-block rounded px-1.5 py-0.5 text-[10px] font-medium bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300"},z5={key:4,class:"space-y-1.5"},L5={key:5,class:"text-xs text-red-500"},O5={key:6,class:"space-y-1"},N5={key:4,class:"mt-1 text-[10px] text-gray-500 dark:text-gray-400"},j5={key:7,class:"text-[10px] text-gray-500 dark:text-gray-400"},D5={key:8,class:"text-xs text-gray-400"},F5={key:0,class:"mb-1 flex flex-wrap items-center gap-1"},H5=["title"],B5={class:"group relative cursor-help"},W5={class:"pointer-events-none absolute left-0 top-full z-50 mt-1 w-80 whitespace-normal break-words rounded bg-gray-900 px-3 py-2 text-xs leading-relaxed text-white opacity-0 shadow-lg transition-opacity group-hover:opacity-100 dark:bg-gray-700"},K5={class:"font-semibold mb-1"},G5={class:"mb-2 text-gray-300"},J5={class:"space-y-1"},Q5={class:"pl-2"},Y5={class:"mt-2"},X5=["href"],Z5={class:"space-y-1"},e6={key:0,class:"mb-0.5 flex items-center"},t6={class:"flex items-center gap-1.5 text-[9px] text-gray-500 dark:text-gray-400"},a6={class:"rounded bg-gray-100 px-1.5 py-0.5 dark:bg-gray-800"},o6={class:"rounded bg-gray-100 px-1.5 py-0.5 dark:bg-gray-800"},s6=["title"],l6=["title"],n6={key:1,class:"mb-0.5 flex items-center gap-1"},r6={key:2,class:"space-y-1"},i6={key:3,class:"text-xs text-red-500"},d6={key:4,class:"space-y-1"},u6={class:"mt-1 text-[9px] leading-tight text-gray-400 dark:text-gray-500 italic"},c6={key:5,class:"text-xs text-gray-400"},p6={key:4,class:"text-xs text-gray-400"},m6={key:0,class:"space-y-1"},g6={key:0,class:"mb-1 flex items-center"},v6=["title"],b6={key:1,class:"space-y-1"},y6={key:0,class:"mb-1 flex items-center"},h6=["title"],f6={key:1,class:"mb-0.5 flex items-center"},x6={class:"flex items-center gap-1.5 text-[9px] text-gray-500 dark:text-gray-400"},k6={class:"rounded bg-gray-100 px-1.5 py-0.5 dark:bg-gray-800"},_6={class:"rounded bg-gray-100 px-1.5 py-0.5 dark:bg-gray-800"}
18,w6=["title"],$6=["title"],C6={key:2,class:"mb-0.5 flex items-center gap-1"},T6={key:6,class:"text-xs text-gray-400"},M6=5*60*1e3,Os="(min-width: 768px)",S6=Dt({__name:"AccountUsageCell",props:{account:{},todayStats:{default:null},todayStatsLoading:{type:Boolean,default:!1},manualRefreshToken:{default:0}},setup(c){const A=new Map,o=c,{t:m}=Ht(),l=u(!1);zl(()=>{l.value=!0});const k=u(!1),x=u(!1),L=u(null),R=u(null),N=u(null),K=u(typeof window>"u"?!0:window.matchMedia(Os).matches),S=u(!1),U=u(!1),M=u(void 0);let h=null,y=null,ae=null;const F=P(()=>o.account.platform==="gemini"?!0:o.account.type==="oauth"||o.account.type==="setup-token"),H=P(()=>o.account.platform==="anthropic"?o.account.type==="oauth"||o.account.type==="setup-token":o.account.platform==="gemini"?!0:o.account.platform==="antigravity"||o.account.platform==="openai"?o.account.type==="oauth":!1),J=P(()=>o.account.platform==="gemini"&&o.account.type==="service_account"),Z=P(()=>{var I,re,Ce,st,St,Ge;return!!((I=R.value)!=null&&I.gemini_shared_daily)||!!((re=R.value)!=null&&re.gemini_pro_daily)||!!((Ce=R.value)!=null&&Ce.gemini_flash_daily)||!!((st=R.value)!=null&&st.gemini_shared_minute)||!!((St=R.value)!=null&&St.gemini_pro_minute)||!!((Ge=R.value)!=null&&Ge.gemini_flash_minute)}),ie=P(()=>{var I,re;return o.account.platform!=="openai"||o.account.type!=="oauth"?!1:!!((I=R.value)!=null&&I.five_hour)||!!((re=R.value)!=null&&re.seven_day)}),ne=P(()=>ms(o.account)),z=P(()=>H.value),ke=P(()=>H.value&&!K.value),de=P(()=>{var I;return((I=R.value)==null?void 0:I.antigravity_quota)&&Object.keys(R.value.antigravity_quota).length>0}),xe=I=>{var St;const re=(St=R.value)==null?void 0:St.antigravity_quota;if(!re)return null;let Ce=0,st=null;for(const Ge of I){const Tt=re[Ge];Tt&&(Tt.utilization>Ce&&(Ce=Tt.utilization),Tt.reset_time&&(!st||Tt.reset_time<st)&&(st=Tt.reset_time))}return Ce===0&&st===null&&!I.some(Tt=>re[Tt])?null:{utilization:Ce,resetTime:st}},Me=P(()=>xe(["gemini-3-pro-low","gemini-3-pro-high","gemini-3-pro-preview"])),ce=P(()=>xe(["gemini-3-flash"])),W=P(()=>xe(["gemini-2.5-flash-image","gemini-3.1-flash-image","gemini-3-pro-image"])),ee=P(()=>xe(["claude-sonnet-4-5","claude-opus-4-5-thinking","claude-sonnet-5","claude-sonnet-4-6","claude-opus-4-6","claude-opus-4-6-thinking","claude-opus-4-7","claude-opus-4-8"])),_=P(()=>{var Ce;const I=(Ce=R.value)==null?void 0:Ce.ai_credits;if(!I||I.length===0)return null;const re=I.reduce((st,St)=>st+(St.amount??0),0);return re<=0?null:re.toFixed(0)}),O=P(()=>(o.account.tag||"").toString().trim()),G=P(()=>{var I;return o.account.platform!=="anthropic"?"":(((I=R.value)==null?void 0:I.account_tier)||"").toString().trim()}),he=P(()=>{var I;return o.account.platform!=="anthropic"?"":(((I=R.value)==null?void 0:I.account_tier_label)||"").toString().trim()}),Pe=P(()=>{switch(G.value){case"claude_free":return"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300";case"claude_pro":return"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300";case"claude_max_5x":return"bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300";case"claude_max_20x":return"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300";case"claude_team":case"claude_enterprise":return"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300";default:return"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300"}}),_e=P(()=>{var re;const I=(((re=R.value)==null?void 0:re.account_tier_raw)||"").toString().trim();return I?`profile: ${I}`:he.value}),ge=P(()=>{var re;if(o.account.platform!=="openai"||o.account.type!=="oauth")return"";const I=(re=o.account.credentials)==null?void 0:re.plan_type;return typeof I=="string"?I.trim():""}),ve=P(()=>{if(!ge.value)return null;const I=ge.value.toLowerCase().replace(/[\s_-]+/g,"");return I==="free"?"free":I==="plus"||I==="chatgptplus"?"plus":I==="team"||I==="business"||I==="enterprise"?"team":I==="prolite"||I==="prolight"||I==="pro5x"||I==="chatgptprolite"?"pro5x":I==="pro20x"||I==="chatgptpro20x"||I==="pro"||I==="chatgptpro"?"pro20x":I.includes("pro")&&I.includes("5")?"pro5x":I.includes("pro")&&I.includes("20")?"pro20x":I.includes("pro")?"pro":"unknown"}),fe=P(()=>{switch(ve.value){case"free":return"Codex Free";case"plus":return"Codex Plus";case"pro5x":return"Codex Pro 5x";case"pro20x":return"Codex Pro 20x";case"pro":return"Codex Pro";case"team":return"Codex Team";case"unknown":return ge.value;default:return""}}),Ee=P(()=>{switch(ve.value){case"free":return"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300";
18case"plus":return"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300";case"pro5x":return"bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300";case"pro20x":return"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300";case"pro":return"bg-violet-100 text-violet-600 dark:bg-violet-900/40 dark:text-violet-300";case"team":return"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300";default:return"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300"}}),Xe=P(()=>ge.value?`plan_type: ${ge.value}`:""),tt=P(()=>{const I=o.account.extra;if(!I)return null;const re=I.load_code_assist;if(!re)return null;const Ce=re.paidTier;if(Ce&&typeof Ce.id=="string")return Ce.id;const st=re.currentTier;return st&&typeof st.id=="string"?st.id:null}),Ae=P(()=>{if(o.account.platform!=="gemini")return null;const I=o.account.credentials;return(I==null?void 0:I.tier_id)||null}),Qe=P(()=>{if(o.account.platform!=="gemini")return null;const I=o.account.credentials;return((I==null?void 0:I.oauth_type)||"").trim()||null}),Fe=P(()=>{if(o.account.platform!=="gemini")return!1;const I=o.account.credentials;return(I==null?void 0:I.oauth_type)==="code_assist"||!(I!=null&&I.oauth_type)&&!!(I!=null&&I.project_id)}),ze=P(()=>o.account.platform!=="gemini"?null:o.account.type==="apikey"?"ai studio":Qe.value==="google_one"?"google one":Fe.value?"gcp":Qe.value==="ai_studio"?"client":"ai studio"),He=P(()=>{if(o.account.platform!=="gemini")return null;const I=(Ae.value||"").toString().trim(),re=I.toLowerCase(),Ce=I.toUpperCase();return Qe.value==="google_one"?re==="google_one_free"?"free":re==="google_ai_pro"?"pro":re==="google_ai_ultra"?"ultra":Ce==="AI_PREMIUM"||Ce==="GOOGLE_ONE_STANDARD"?"pro":Ce==="GOOGLE_ONE_UNLIMITED"?"ultra":Ce==="FREE"||Ce==="GOOGLE_ONE_BASIC"||Ce==="GOOGLE_ONE_UNKNOWN"||Ce===""?"free":null:Fe.value?re==="gcp_enterprise"?"enterprise":re==="gcp_standard"?"standard":Ce.includes("ULTRA")||Ce.includes("ENTERPRISE")?"enterprise":"standard":o.account.type==="apikey"||Qe.value==="ai_studio"?re==="aistudio_paid"?"paid":re==="aistudio_free"?"free":Ce.includes("PAID")||Ce.includes("PAYG")||Ce.includes("PAY")?"paid":Ce.includes("FREE")||o.account.type==="apikey"?"free":null:null}),Je=P(()=>o.account.platform!=="gemini"||!ze.value?null:He.value?`${ze.value} ${He.value}`:ze.value),Mt=P(()=>{const I=ze.value,re=He.value;return I==="client"||I==="ai studio"?"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300":I==="google one"?re==="ultra"?"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300":re==="pro"?"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300":"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300":I==="gcp"?re==="enterprise"?"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300":"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300":""}),gt=P(()=>Qe.value==="google_one"?m("admin.accounts.gemini.quotaPolicy.rows.googleOne.channel"):Fe.value?m("admin.accounts.gemini.quotaPolicy.rows.gcp.channel"):m("admin.accounts.gemini.quotaPolicy.rows.aiStudio.channel")),pt=P(()=>{const I=(Ae.value||"").toString().trim().toLowerCase();return Qe.value==="google_one"?I==="google_ai_ultra"||He.value==="ultra"?m("admin.accounts.gemini.quotaPolicy.rows.googleOne.limitsUltra"):I==="google_ai_pro"||He.value==="pro"?m("admin.accounts.gemini.quotaPolicy.rows.googleOne.limitsPro"):m("admin.accounts.gemini.quotaPolicy.rows.googleOne.limitsFree"):Fe.value?I==="gcp_enterprise"||He.value==="enterprise"?m("admin.accounts.gemini.quotaPolicy.rows.gcp.limitsEnterprise"):m("admin.accounts.gemini.quotaPolicy.rows.gcp.limitsStandard"):I==="aistudio_paid"||He.value==="paid"?m("admin.accounts.gemini.quotaPolicy.rows.aiStudio.limitsPaid"):m("admin.accounts.gemini.quotaPolicy.rows.aiStudio.limitsFree")}),ht=P(()=>Qe.value==="google_one"||Fe.value?"https://developers.google.com/gemini-code-assist/resources/quotas":"https://ai.google.dev/pricing"),dt=P(()=>{var I,re;return o.account.platform!=="gemini"?!1:!!((I=R.value)!=null&&I.gemini_shared_daily)||!!((re=R.value)!=null&&re.gemini_shared_minute)||Qe.value==="google_one"||Fe.value}),Et=P(()=>{if(o.account.platform!=="gemini")return[];if(!R.value)return[];const I=[];if(dt.value){const st=R.value.gemini_shared_daily;return st&&I.push({key:"shared_daily",label:"1d",utilization:st.utilization,resetsAt:st.resets_at,windowStats:st.window_stats,color:"indigo"}),I}const re=R.value.gemini_pro_daily;re&&I.push({key:"pro_daily",label:"pro",utilization:re.utilization,resetsAt:re.resets_at,windowStats:re.window_stats,color:"indigo"});const Ce=R.value.gemini_flash_daily;return Ce&&I.push({key:"flash_daily",label:"flash",utilization:Ce.utilization,resetsAt:Ce.resets_at,windowStats:Ce.window_stats,color:"emerald"}),I}),Rt=P(()=>{switch(tt.value){case"free-tier":return m("admin.accounts.tier.free");case"g1-pro-tier":return m("admin.accounts.tier.pro");case"g1-ultra-tier":return m("admin.accounts.tier.ultra");default:return null}}),ft=P(()=>{switch(tt.value){case"free-tier":return"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300";
18case"g1-pro-tier":return"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300";case"g1-ultra-tier":return"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300";default:return""}}),wt=P(()=>{const I=o.account.extra;if(!I)return!1;const re=I.load_code_assist;if(!re)return!1;const Ce=re.ineligibleTiers;return Array.isArray(Ce)&&Ce.length>0}),Se=P(()=>{var I;return!!((I=R.value)!=null&&I.is_forbidden)}),Q=P(()=>{var I;return((I=R.value)==null?void 0:I.forbidden_type)||"forbidden"}),we=P(()=>{var I;return((I=R.value)==null?void 0:I.validation_url)||""}),vt=P(()=>{var I;return!!((I=R.value)!=null&&I.needs_reauth)}),$t=P(()=>{var re;return((re=R.value)==null?void 0:re.error_code)==="rate_limited"?m("admin.accounts.rateLimited"):m("admin.accounts.usageError")}),At=P(()=>{switch(Q.value){case"validation":return m("admin.accounts.forbiddenValidation");case"violation":return m("admin.accounts.forbiddenViolation");default:return m("admin.accounts.forbidden")}}),Lt=P(()=>Q.value==="validation"?"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/40 dark:text-yellow-300":"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300"),Vt=u(!1),Le=async()=>{if(we.value)try{await navigator.clipboard.writeText(we.value),Vt.value=!0,setTimeout(()=>{Vt.value=!1},2e3)}catch{}},Wt=P(()=>o.account.platform==="anthropic"&&(o.account.type==="oauth"||o.account.type==="setup-token")),ea=async I=>{if(H.value&&!l.value){if(!(I!=null&&I.bypassCache)){const re=A.get(o.account.id);if(re&&Date.now()-re.ts<M6){R.value=re.data,k.value=!1;return}}k.value=!0,L.value=null;try{const re=()=>l.value?Promise.reject(new hl):be.accounts.getUsage(o.account.id,I==null?void 0:I.source),Ce=await a5(o.account,re);l.value||(R.value=Ce,A.set(o.account.id,{data:Ce,ts:Date.now()}))}catch(re){if(e5(re))return;l.value||(L.value=m("common.error"),console.error("Failed to load usage:",re))}finally{l.value||(k.value=!1)}}},Kt=()=>{if(!U.value)return;const I=M.value;U.value=!1,M.value=void 0,ea({source:I}).catch(re=>{console.error("Failed to load deferred usage:",re)})},Ot=I=>{if(H.value){if(ke.value&&!S.value){U.value=!0,M.value=I;return}ea({source:I}).catch(re=>{console.error("Failed to auto load usage:",re)})}},Ct=()=>{ae==null||ae.disconnect(),ae=null},Gt=()=>{if(Ct(),!(!ke.value||S.value)){if(typeof window>"u"||typeof IntersectionObserver>"u"){S.value=!0,Kt();return}N.value&&(ae=new IntersectionObserver(I=>{I.some(re=>re.isIntersecting)&&(S.value=!0,Ct(),Kt())},{root:null,rootMargin:"200px 0px",threshold:.01}),ae.observe(N.value))}},ta=async()=>{x.value=!0;try{const I=await be.accounts.getUsage(o.account.id,"active");l.value||(R.value=I,A.set(o.account.id,{data:I,ts:Date.now()}))}catch(I){console.error("Failed to load active usage:",I)}finally{x.value=!1}},bt=(I,re,Ce)=>{const st=re>0?I/re*100:0;let St=null;if(Ce){const Ge=o.account.extra,Tt=Ce.includes("daily");if((Tt?(Ge==null?void 0:Ge.quota_daily_reset_mode)||"rolling":(Ge==null?void 0:Ge.quota_weekly_reset_mode)||"rolling")==="fixed"){const je=Tt?"quota_daily_reset_at":"quota_weekly_reset_at";St=(Ge==null?void 0:Ge[je])||null}else{const je=Ge==null?void 0:Ge[Ce];if(je){const Jt=new Date(je),Qt=Tt?24*60*60*1e3:7*24*60*60*1e3;St=new Date(Jt.getTime()+Qt).toISOString()}}}return{utilization:st,resetsAt:St}},Pt=P(()=>o.account.type!=="apikey"&&o.account.type!=="bedrock"?!1:(o.account.quota_daily_limit??0)>0||(o.account.quota_weekly_limit??0)>0||(o.account.quota_limit??0)>0),Ze=P(()=>{const I=o.account.quota_daily_limit??0;return I<=0?null:bt(o.account.quota_daily_used??0,I,"quota_daily_start")}),Oe=P(()=>{const I=o.account.quota_weekly_limit??0;return I<=0?null:bt(o.account.quota_weekly_used??0,I,"quota_weekly_start")}),ca=P(()=>{const I=o.account.quota_limit??0;return I<=0?null:bt(o.account.quota_used??0,I)}),Ft=P(()=>o.todayStats?qs(o.todayStats.requests,{allowBillions:!1}):""),aa=P(()=>o.todayStats?qs(o.todayStats.tokens):""),oa=P(()=>o.todayStats?o.todayStats.cost.toFixed(2):"0.00"),sa=P(()=>!o.todayStats||o.todayStats.user_cost==null?"0.00":o.todayStats.user_cost.toFixed(2));return Fs(()=>
18{if(typeof window<"u"&&(h=window.matchMedia(Os),K.value=h.matches,y=re=>{K.value=re.matches},typeof h.addEventListener=="function"?h.addEventListener("change",y):h.addListener(y)),!z.value)return;const I=Wt.value?"passive":void 0;Ot(I)}),_t(ne,(I,re)=>{!re||I===re||o.account.platform!=="openai"||o.account.type!=="oauth"||Ot()}),_t(()=>o.manualRefreshToken,(I,re)=>{if(I===re||!H.value)return;const Ce=Wt.value?"passive":void 0;A.delete(o.account.id),ea({source:Ce,bypassCache:!0}).catch(st=>{console.error("Failed to refresh usage after manual refresh:",st)})}),_t([N,ke],()=>{if(ke.value){Gt();return}Ct()},{immediate:!0,flush:"post"}),_t(K,I=>{if(I){Ct(),S.value=!0,Kt();return}S.value=!1,Gt()}),fs(()=>{Ct(),h&&y&&(typeof h.removeEventListener=="function"?h.removeEventListener("change",y):h.removeListener(y)),y=null,h=null}),(I,re)=>{var Ce,st,St;return F.value?(n(),r("div",{key:0,ref_key:"rootRef",ref:N},[c.account.platform==="anthropic"&&(c.account.type==="oauth"||c.account.type==="setup-token")?(n(),r(me,{key:0},[he.value||O.value?(n(),r("div",i5,[he.value?(n(),r("span",{key:0,class:C(["inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",Pe.value]),title:_e.value},a(he.value),11,d5)):v("",!0),O.value?(n(),r("span",{key:1,class:"inline-block max-w-[120px] truncate rounded bg-gray-100 px-1.5 py-0.5 text-[10px] font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",title:O.value},a(O.value),9,u5)):v("",!0)])):v("",!0),k.value?(n(),r("div",c5,[re[1]||(re[1]=e("div",{class:"flex items-center gap-1"},[e("div",{class:"h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"}),e("div",{class:"h-1.5 w-8 animate-pulse rounded-full bg-gray-200 dark:bg-gray-700"}),e("div",{class:"h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"})],-1)),c.account.type==="oauth"?(n(),r(me,{key:0},[re[0]||(re[0]=Us('<div class="flex items-center gap-1"><div class="h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"></div><div class="h-1.5 w-8 animate-pulse rounded-full bg-gray-200 dark:bg-gray-700"></div><div class="h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"></div></div><div class="flex items-center gap-1"><div class="h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"></div><div class="h-1.5 w-8 animate-pulse rounded-full bg-gray-200 dark:bg-gray-700"></div><div class="h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"></div></div>',2))],64)):v("",!0)])):L.value?(n(),r("div",p5,a(L.value),1)):R.value?(n(),r("div",m5,[R.value.error?(n(),r("div",{key:0,class:"text-xs text-amber-600 dark:text-amber-400 truncate max-w-[200px]",title:R.value.error},a(R.value.error),9,g5)):v("",!0),R.value.five_hour?(n(),Be(ha,{key:1,label:"5h",utilization:R.value.five_hour.utilization,"resets-at":R.value.five_hour.resets_at,"window-stats":R.value.five_hour.window_stats,color:"indigo"},null,8,["utilization","resets-at","window-stats"])):v("",!0),R.value.seven_day?(n(),Be(ha,{key:2,label:"7d",utilization:R.value.seven_day.utilization,"resets-at":R.value.seven_day.resets_at,color:"emerald"},null,8,["utilization","resets-at"])):v("",!0),R.value.seven_day_sonnet?(n(),Be(ha,{key:3,label:"7d S",utilization:R.value.seven_day_sonnet.utilization,"resets-at":R.value.seven_day_sonnet.resets_at,color:"purple"},null,8,["utilization","resets-at"])):v("",!0),e("div",v5,[R.value.source==="passive"?(n(),r("span",b5,a(t(m)("admin.accounts.usageWindow.passiveSampled")),1)):v("",!0),e("button",{type:"button",class:"inline-flex items-center gap-0.5 rounded px-1.5 py-0.5 text-[9px] font-medium text-blue-600 hover:bg-blue-50 dark:text-blue-400 dark:hover:bg-blue-900/30 transition-colors",disabled:x.value,onClick:ta},[(n(),r("svg",{class:C(["h-2.5 w-2.5",{"animate-spin":x.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...re[2]||(re[2]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])],2)),oe(" "+a(t(m)("admin.accounts.usageWindow.activeQuery")),1)],8,y5)])])):(n(),r("div",h5,"-"))],64)):c.account.platform==="openai"&&c.account.type==="oauth"?(n(),r("div",f5,[fe.value||O.value?(n(),r("div",x5,[fe.value?(n(),r("span",{key:0,class:C(["inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",Ee.value]),title:Xe.value},a(fe.value),11,k5)):v("",!0),O.value?(n(),r("span",{key:1,class:"inline-block max-w-[120px] truncate rounded bg-gray-100 px-1.5 py-0.5 text-[10px] font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",title:O.value},a(O.value),9,_5)):v("",!0)])):v("",!0),ie.value?(n(),r(me,{key:1},[(Ce=R.value)!=null&&Ce.five_hour?(n(),Be(ha,{key:0,label:"5h",utilization:R.value.five_hour.utilization,"resets-at":R.value.five_hour.resets_at,"window-stats":R.value.five_hour.window_stats,"show-now-when-idle":!0,color:"indigo"},null,8,["utilization","resets-at","window-stats"])):v("",!0),(st=R.value)!=null&&st.seven_day?(n(),Be(ha,{key:1,label:"7d",utilization:R.value.seven_day.utilization,"resets-at":R.value.seven_day.resets_at,"window-stats":R.value.seven_day.window_stats,"show-now-when-idle":!0,color:"emerald"},null,8,["utilization","resets-at","window-stats"])):v("",!0)],64)):k.value?(n(),r("div",w5,[...re[3]||(re[3]=[Us('<div class="flex items-center gap-1"><div class="h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"></div><div class="h-1.5 w-8 animate-pulse rounded-full bg-gray-200 dark:bg-gray-700"></div><div class="h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"></div></div><div class="flex items-center gap-1"><div class="h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"></div><div class="h-1.5 w-8 animate-pulse rounded-full bg-gray-200 dark:bg-gray-700"></div><div class="h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"></div></div>',2)])])):(n(),r("div",$5,"-"))])):c.account.platform==="antigravity"&&c.account.type==="oauth"?(n(),r(me,{key:2},[Rt.value||O.value?(n(),r("div",C5,[Rt.value?(n(),r("span",{key:0,class:C(["inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",ft.value])},a(Rt.value),3)):v("",!0),O.value?(n(),r("span",{key:1,class:"inline-block max-w-[120px] truncate rounded bg-gray-100 px-1.5 py-0.5 text-[10px] font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",title:O.value},a(O.value),9,T5)):v("",!0),wt.value?(n(),r("span",M5,[re[4]||(re[4]=e("svg",{class:"h-3.5 w-3.5 text-red-500",fill:"currentColor",viewBox:"0 0 20 20"},[e("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1)),e("span",S5,a(t(m)("admin.accounts.ineligibleWarning")),1)])):v("",!0)])):v("",!0),Se.value?(n(),r("div",U5,[e("span",{class:C(["inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",Lt.value])},a(At.value),3),we.value?(n(),r("div",E5,[e("a",{href:we.value,target:"_blank",rel:"noopener noreferrer",class:"text-[10px] text-blue-600 hover:text-blue-800 hover:underline dark:text-blue-400 dark:hover:text-blue-300",title:t(m)("admin.accounts.openVerification")},a(t(m)("admin.accounts.openVerification")),9,A5),e("button",{type:"button",class:"text-[10px] text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",title:t(m)("admin.accounts.copyLink"),onClick:Le},a(Vt.value?t(m)("admin.accounts.linkCopied"):t(m)("admin.accounts.copyLink")),9,q5)])):v("",!0)])):vt.value?(n(),r("div",R5,[e("span",P5,a(t(m)("admin.accounts.needsReauth")),1)])):(St=R.value)!=null&&St.error?(n(),r("div",V5,[e("span",I5,a($t.value),1)])):k.value?(n(),r("div",z5,[...re[5]||(re[5]=[e("div",{class:"flex items-center gap-1"},[e("div",{class:"h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"}),e("div",{class:"h-1.5 w-8 animate-pulse rounded-full bg-gray-200 dark:bg-gray-700"}),e("div",{class:"h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"})],-1)])])):L.value?(n(),r("div",L5,a(L.value),1)):de.value?(n(),r("div",O5,[Me.value!==null?(n(),Be(ha,{key:0,label:t(m)("admin.accounts.usageWindow.gemini3Pro"),utilization:Me.value.utilization,"resets-at":Me.value.resetTime,color:"indigo"},null,8,["label","utilization","resets-at"])):v("",!0),ce.value!==null?(n(),Be(ha,{key:1,label:t(m)("admin.accounts.usageWindow.gemini3Flash"),utilization:ce.value.utilization,"resets-at":ce.value.resetTime,color:"emerald"},null,8,["label","utilization","resets-at"])):v("",!0),W.value!==null?(n(),Be(ha,{key:2,label:t(m)("admin.accounts.usageWindow.gemini3Image"),utilization:W.value.utilization,"resets-at":W.value.resetTime,color:"purple"},null,8,["label","utilization","resets-at"])):v("",!0),ee.value!==null?(n(),Be(ha,{key:3,label:t(m)("admin.accounts.usageWindow.claude"),utilization:ee.value.utilization,"resets-at":ee.value.resetTime,color:"amber"},null,8,["label","utilization","resets-at"])):v("",!0),_.value?(n(),r("div",N5," 💳 "+a(t(m)("admin.accounts.aiCreditsBalance"))+": "+a(_.value),1)):v("",!0)])):_.value?(n(),r("div",j5," 💳 "+a(t(m)("admin.accounts.aiCreditsBalance"))+": "+a(_.value),1)):(n(),r("div",D5,"-"))],64)):c.account.platform==="gemini"?(n(),r(me,{key:3},[Je.value||O.value?(n(),r("div",F5,[Je.value?(n(),r("span",{key:0,class:C(["inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",Mt.value])},a(Je.value),3)):v("",!0),O.value?(n(),r("span",{key:1,class:"inline-block max-w-[120px] truncate rounded bg-gray-100 px-1.5 py-0.5 text-[10px] font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",title:O.value},a(O.value),9,H5)):v("",!0),e("span",B5,[re[6]||(re[6]=e("svg",{class:"h-3.5 w-3.5 text-gray-400 hover:text-gray-600 dark:text-gray-500 dark:hover:text-gray-300",fill:"currentColor",viewBox:"0 0 20 20"},[e("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z","clip-rule":"evenodd"})],-1)),e("span",W5,[e("div",K5,a(t(m)("admin.accounts.gemini.quotaPolicy.title")),1),e("div",G5,a(t(m)("admin.accounts.gemini.quotaPolicy.note")),1),e("div",J5,[e("div",null,[e("strong",null,a(gt.value)+":",1)]),e("div",Q5,"• "+a(pt.value),1),e("div",Y5,[e("a",{href:ht.value,target:"_blank",rel:"noopener noreferrer",class:"text-blue-400 hover:text-blue-300 underline"},a(t(m)("admin.accounts.gemini.quotaPolicy.columns.docs"))+" → ",9,X5)])])])])])):v("",!0),e("div",Z5,[J.value&&c.todayStats?(n(),r("div",e6,[e("div",t6,[e("span",a6,a(Ft.value)+" req ",1),e("span",o6,a(aa.value),1),e("span",{class:"rounded bg-gray-100 px-1.5 py-0.5 dark:bg-gray-800",title:t(m)("usage.accountBilled")}," A $"+a(oa.value),9,s6),c.todayStats.user_cost!=null?(n(),r("span",{key:0,class:"rounded bg-gray-100 px-1.5 py-0.5 dark:bg-gray-800",title:t(m)("usage.userBilled")}," U $"+a(sa.value),9,l6)):v("",!0)])])):J.value&&c.todayStatsLoading?(n(),r("div",n6,[...re[7]||(re[7]=[e("div",{class:"h-3 w-10 animate-pulse rounded bg-gray-200 dark:bg-gray-700"},null,-1),e("div",{class:"h-3 w-8 animate-pulse rounded bg-gray-200 dark:bg-gray-700"},null,-1),e("div",{class:"h-3 w-12 animate-pulse rounded bg-gray-200 dark:bg-gray-700"},null,-1)])])):v("",!0),k.value?(n(),r("div",r6,[...re[8]||(re[8]=[e("div",{class:"flex items-center gap-1"},[e("div",{class:"h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"}),e("div",{class:"h-1.5 w-8 animate-pulse rounded-full bg-gray-200 dark:bg-gray-700"}),e("div",{class:"h-3 w-[32px] animate-pulse rounded bg-gray-200 dark:bg-gray-700"})],-1)])])):L.value?(n(),r("div",i6,a(L.value),1)):Z.value?(n(),r("div",d6,[(n(!0),r(me,null,$e(Et.value,Ge=>(n(),Be(ha,{key:Ge.key,label:Ge.label,utilization:Ge.utilization,"resets-at":Ge.resetsAt,"window-stats":Ge.windowStats,color:Ge.color},null,8,["label","utilization","resets-at","window-stats","color"]))),128)),e("p",u6," * "+a(t(m)("admin.accounts.gemini.quotaPolicy.simulatedNote")||"Simulated quota"),1)])):(n(),r("div",c6,a(t(m)("admin.accounts.gemini.rateLimit.unlimited")),1))])],64)):(n(),r("div",p6,"-"))],512)):(n(),r("div",{key:1,ref_key:"rootRef",ref:N},[c.account.platform==="gemini"?(n(),r("div",m6,[O.value?(n(),r("div",g6,[e("span",{class:"inline-block max-w-[120px] truncate rounded bg-gray-100 px-1.5 py-0.5 text-[10px] font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",title:O.value},a(O.value),9,v6)])):v("",!0),E(r5,{account:c.account}
18,null,8,["account"])])):(n(),r("div",b6,[O.value?(n(),r("div",y6,[e("span",{class:"inline-block max-w-[120px] truncate rounded bg-gray-100 px-1.5 py-0.5 text-[10px] font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",title:O.value},a(O.value),9,h6)])):v("",!0),c.todayStats?(n(),r("div",f6,[e("div",x6,[e("span",k6,a(Ft.value)+" req ",1),e("span",_6,a(aa.value),1),e("span",{class:"rounded bg-gray-100 px-1.5 py-0.5 dark:bg-gray-800",title:t(m)("usage.accountBilled")}," A $"+a(oa.value),9,w6),c.todayStats.user_cost!=null?(n(),r("span",{key:0,class:"rounded bg-gray-100 px-1.5 py-0.5 dark:bg-gray-800",title:t(m)("usage.userBilled")}," U $"+a(sa.value),9,$6)):v("",!0)])])):c.todayStatsLoading?(n(),r("div",C6,[...re[9]||(re[9]=[e("div",{class:"h-3 w-10 animate-pulse rounded bg-gray-200 dark:bg-gray-700"},null,-1),e("div",{class:"h-3 w-8 animate-pulse rounded bg-gray-200 dark:bg-gray-700"},null,-1),e("div",{class:"h-3 w-12 animate-pulse rounded bg-gray-200 dark:bg-gray-700"},null,-1)])])):v("",!0),Ze.value?(n(),Be(ha,{key:3,label:"1d",utilization:Ze.value.utilization,"resets-at":Ze.value.resetsAt,color:"indigo"},null,8,["utilization","resets-at"])):v("",!0),Oe.value?(n(),Be(ha,{key:4,label:"7d",utilization:Oe.value.utilization,"resets-at":Oe.value.resetsAt,color:"emerald"},null,8,["utilization","resets-at"])):v("",!0),ca.value?(n(),Be(ha,{key:5,label:"total",utilization:ca.value.utilization,color:"purple"},null,8,["utilization"])):v("",!0),!c.todayStats&&!c.todayStatsLoading&&!Pt.value?(n(),r("div",T6,"-")):v("",!0)]))],512))}}}),U6={class:"w-full"},E6=["for"],A6={key:0,class:"text-red-500"},q6={class:"relative"},R6=["id","value","disabled","required","placeholder","readonly","rows"],P6={key:1,class:"input-error-text mt-1.5"},V6={key:2,class:"input-hint mt-1.5"},I6=Dt({__name:"TextArea",props:{modelValue:{},label:{},placeholder:{},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},error:{},hint:{},id:{},rows:{default:3}},emits:["update:modelValue","change","blur","focus"],setup(c,{expose:A,emit:o}){const m=c,l=o,k=u(null),x=P(()=>m.placeholder||""),L=R=>{const N=R.target.value;l("update:modelValue",N)};return A({focus:()=>{var R;return(R=k.value)==null?void 0:R.focus()},select:()=>{var R;return(R=k.value)==null?void 0:R.select()}}),(R,N)=>(n(),r("div",U6,[c.label?(n(),r("label",{key:0,for:c.id,class:"input-label mb-1.5 block"},[oe(a(c.label)+" ",1),c.required?(n(),r("span",A6,"*")):v("",!0)],8,E6)):v("",!0),e("div",q6,[e("textarea",{id:c.id,ref_key:"textAreaRef",ref:k,value:c.modelValue,disabled:c.disabled,required:c.required,placeholder:x.value,readonly:c.readonly,rows:c.rows,class:C(["input w-full min-h-[80px] transition-all duration-200 resize-y",c.error?"input-error ring-2 ring-red-500/20":"",c.disabled?"cursor-not-allowed bg-gray-100 opacity-60 dark:bg-dark-900":""]),onInput:L,onChange:N[0]||(N[0]=K=>R.$emit("change",K.target.value)),onBlur:N[1]||(N[1]=K=>R.$emit("blur",K)),onFocus:N[2]||(N[2]=K=>R.$emit("focus",K))},null,42,R6)]),c.error?(n(),r("p",P6,a(c.error),1)):c.hint?(n(),r("p",V6,a(c.hint),1)):v("",!0)]))}}),z6={class:"space-y-4"},L6={key:0,class:"flex items-center justify-center py-8"},O6={key:1,class:"rounded-lg border border-gray-200 p-4 text-sm text-gray-500 dark:border-dark-600 dark:text-gray-400"},N6={key:2,class:"space-y-4"},j6={class:"rounded-lg border border-emerald-200 bg-emerald-50 p-3 text-sm text-emerald-800 dark:border-emerald-500/30 dark:bg-emerald-500/10 dark:text-emerald-300"},D6={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},F6={class:"text-xs text-gray-500 dark:text-gray-400"},H6={class:"mt-1 text-sm font-medium text-gray-900 dark:text-gray-100"},B6={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},W6={class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},K6={class:"text-xs text-gray-500 dark:text-gray-400"},G6={class:"mt-1 text-sm font-medium text-gray-900 dark:text-gray-100"},J6={class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},Q6={class:"text-xs text-gray-500 dark:text-gray-400"},Y6={class:"mt-1 text-sm font-medium text-gray-900 dark:text-gray-100"},X6={class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},Z6={class:"text-xs text-gray-500 dark:text-gray-400"},e7={class:"mt-1 text-sm font-medium text-gray-900 dark:text-gray-100"},t7={class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},a7={class:"text-xs text-gray-500 dark:text-gray-400"},o7={class:"mt-1 text-sm font-medium text-gray-900 dark:text-gray-100"},s7={class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},l7={class:"text-xs text-gray-500 dark:text-gray-400"},n7={class:"mt-1 text-sm font-medium text-gray-900 dark:text-gray-100"},r7={class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},i7={class:"text-xs text-gray-500 dark:text-gray-400"},d7={class:"mt-1 text-sm font-medium text-gray-900 dark:text-gray-100"},u7={class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},c7={class:"text-xs text-gray-500 dark:text-gray-400"},p7={class:"mt-2 rounded bg-gray-50 p-2 text-xs text-gray-700 dark:bg-dark-700 dark:text-gray-300"},m7={class:"flex justify-end gap-3"}
18,g7=["disabled"],v7={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},b7=Dt({__name:"TempUnschedStatusModal",props:{show:{type:Boolean},account:{}},emits:["close","reset"],setup(c,{emit:A}){const o=c,m=A,{t:l}=Ht(),k=ra(),x=u(!1),L=u(!1),R=u(null),N=P(()=>{var H;return((H=R.value)==null?void 0:H.state)||null}),K=P(()=>{var H;return!((H=R.value)!=null&&H.active)||!N.value?!1:N.value.until_unix*1e3>Date.now()}),S=P(()=>N.value?N.value.rule_index+1:"-"),U=P(()=>{var H;return(H=N.value)!=null&&H.triggered_at_unix?no(new Date(N.value.triggered_at_unix*1e3)):"-"}),M=P(()=>{var H;return(H=N.value)!=null&&H.until_unix?no(new Date(N.value.until_unix*1e3)):"-"}),h=P(()=>{if(!N.value)return"-";const H=N.value.until_unix*1e3-Date.now();if(H<=0)return l("admin.accounts.tempUnschedulable.expired");const J=Math.ceil(H/6e4);if(J<60)return l("admin.accounts.tempUnschedulable.remainingMinutes",{minutes:J});const Z=Math.floor(J/60),ie=J%60;return ie===0?l("admin.accounts.tempUnschedulable.remainingHours",{hours:Z}):l("admin.accounts.tempUnschedulable.remainingHoursMinutes",{hours:Z,minutes:ie})}),y=async()=>{if(o.account){x.value=!0;try{R.value=await be.accounts.getTempUnschedulableStatus(o.account.id)}catch(H){k.showError((H==null?void 0:H.message)||l("admin.accounts.tempUnschedulable.failedToLoad")),R.value=null}finally{x.value=!1}}},ae=()=>{m("close")},F=async()=>{if(o.account){L.value=!0;try{const H=await be.accounts.recoverState(o.account.id);k.showSuccess(l("admin.accounts.recoverStateSuccess")),m("reset",H),ae()}catch(H){k.showError((H==null?void 0:H.message)||l("admin.accounts.recoverStateFailed"))}finally{L.value=!1}}};return _t(()=>{var H;return[o.show,(H=o.account)==null?void 0:H.id]},([H])=>{if(H&&o.account){y();return}R.value=null}),(H,J)=>(n(),Be(ua,{show:c.show,title:t(l)("admin.accounts.tempUnschedulable.statusTitle"),width:"normal",onClose:ae},{footer:qe(()=>[e("div",m7,[e("button",{type:"button",class:"btn btn-secondary",onClick:ae},a(t(l)("common.close")),1),e("button",{type:"button",class:"btn btn-primary",disabled:!K.value||L.value,onClick:F},[L.value?(n(),r("svg",v7,[...J[1]||(J[1]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):v("",!0),oe(" "+a(t(l)("admin.accounts.recoverState")),1)],8,g7)])]),default:qe(()=>{var Z,ie,ne,z;return[e("div",z6,[x.value?(n(),r("div",L6,[...J[0]||(J[0]=[e("svg",{class:"h-6 w-6 animate-spin text-gray-400",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1)])])):K.value?(n(),r("div",N6,[e("div",j6,a(t(l)("admin.accounts.recoverStateHint")),1),e("div",D6,[e("p",F6,a(t(l)("admin.accounts.tempUnschedulable.accountName")),1),e("p",H6,a(((Z=c.account)==null?void 0:Z.name)||"-"),1)]),e("div",B6,[e("div",W6,[e("p",K6,a(t(l)("admin.accounts.tempUnschedulable.triggeredAt")),1),e("p",G6,a(U.value),1)]),e("div",J6,[e("p",Q6,a(t(l)("admin.accounts.tempUnschedulable.until")),1),e("p",Y6,a(M.value),1)]),e("div",X6,[e("p",Z6,a(t(l)("admin.accounts.tempUnschedulable.remaining")),1),e("p",e7,a(h.value),1)]),e("div",t7,[e("p",a7,a(t(l)("admin.accounts.tempUnschedulable.errorCode")),1),e("p",o7,a(((ie=N.value)==null?void 0:ie.status_code)||"-"),1)]),e("div",s7,[e("p",l7,a(t(l)("admin.accounts.tempUnschedulable.matchedKeyword")),1),e("p",n7,a(((ne=N.value)==null?void 0:ne.matched_keyword)||"-"),1)]),e("div",r7,[e("p",i7,a(t(l)("admin.accounts.tempUnschedulable.ruleOrder")),1),e("p",d7,a(S.value),1)])]),e("div",u7,[e("p",c7,a(t(l)("admin.accounts.tempUnschedulable.errorMessage")),1),e("div",p7,a(((z=N.value)==null?void 0:z.error_message)||"-"),1)])])):(n(),r("div",O6,a(t(l)("admin.accounts.tempUnschedulable.notActive")),1))])]}),_:1},8,["show","title"]))}}),y7={class:"text-sm text-gray-600 dark:text-dark-300"},h7={class:"rounded-lg bg-gray-50 p-3 text-xs text-gray-500 dark:bg-dark-700/60 dark:text-dark-400"},f7={class:"rounded-lg border border-amber-200 bg-amber-50 p-3 text-xs text-amber-600 dar
18k:border-amber-800 dark:bg-amber-900/20 dark:text-amber-400"},x7={class:"grid grid-cols-1 gap-4"},k7={for:"crs-base-url",class:"input-label"},_7=["placeholder"],w7={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},$7={for:"crs-username",class:"input-label"},C7={for:"crs-password",class:"input-label"},T7={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-dark-300"},M7={key:1,class:"space-y-4"},S7={key:0,class:"rounded-lg bg-gray-50 p-3 dark:bg-dark-700/60"},U7={class:"mb-2 text-sm font-medium text-gray-700 dark:text-dark-300"},E7={class:"ml-1 text-xs text-gray-400"},A7={class:"max-h-32 overflow-auto text-xs text-gray-500 dark:text-dark-400"},q7={class:"inline-block rounded bg-blue-100 px-1.5 py-0.5 text-[10px] font-medium text-blue-700 dark:bg-blue-900/30 dark:text-blue-400"},R7={class:"truncate"},P7={key:1},V7={class:"mb-2 flex items-center justify-between"},I7={class:"text-sm font-medium text-gray-900 dark:text-white"},z7={class:"ml-1 text-xs text-gray-400"},L7={class:"flex gap-2"},O7={class:"max-h-48 overflow-auto rounded-lg border border-gray-200 p-2 dark:border-dark-600"},N7=["checked","onChange"],j7={class:"inline-block rounded bg-green-100 px-1.5 py-0.5 text-[10px] font-medium text-green-700 dark:bg-green-900/30 dark:text-green-400"},D7={class:"truncate text-sm text-gray-700 dark:text-dark-300"},F7={class:"mt-1 text-xs text-gray-400"},H7={class:"flex items-center gap-2 text-xs text-gray-500 dark:text-dark-400"},B7={key:2,class:"rounded-lg bg-gray-50 p-4 text-center text-sm text-gray-500 dark:bg-dark-700/60 dark:text-dark-400"},W7={key:0},K7={key:2,class:"space-y-4"},G7={class:"space-y-2 rounded-xl border border-gray-200 p-4 dark:border-dark-700"},J7={class:"text-sm font-medium text-gray-900 dark:text-white"},Q7={class:"text-sm text-gray-700 dark:text-dark-300"},Y7={key:0,class:"mt-2"},X7={class:"text-sm font-medium text-red-600 dark:text-red-400"},Z7={class:"mt-2 max-h-48 overflow-auto rounded-lg bg-gray-50 p-3 font-mono text-xs dark:bg-dark-800"},e8={class:"flex justify-end gap-3"},t8=["disabled"],a8=["disabled"],o8=["disabled"],s8=["disabled"],l8=Dt({__name:"SyncFromCrsModal",props:{show:{type:Boolean}},emits:["close","synced"],setup(c,{emit:A}){const o=c,m=A,{t:l}=Ht(),k=ra(),x=u("input"),L=u(!1),R=u(!1),N=u(null),K=u(new Set),S=u(null),U=fa({base_url:"",username:"",password:"",sync_proxies:!0}),M=P(()=>N.value?N.value.new_accounts.length>0&&K.value.size===0:!1),h=P(()=>{var ne;return(ne=S.value)!=null&&ne.items?S.value.items.filter(z=>z.action==="failed"||z.action==="skipped"&&z.error!=="not selected"):[]});_t(()=>o.show,ne=>{ne&&(x.value="input",N.value=null,K.value=new Set,S.value=null,U.base_url="",U.username="",U.password="",U.sync_proxies=!0)});const y=()=>{R.value||L.value||m("close")},ae=()=>{x.value="input",N.value=null,K.value=new Set},F=()=>{N.value&&(K.value=new Set(N.value.new_accounts.map(ne=>ne.crs_account_id)))},H=()=>{K.value=new Set},J=ne=>{const z=new Set(K.value);z.has(ne)?z.delete(ne):z.add(ne),K.value=z},Z=async()=>{if(!U.base_url.trim()||!U.username.trim()||!U.password.trim()){k.showError(l("admin.accounts.syncMissingFields"));return}L.value=!0;try{const ne=await be.accounts.previewFromCrs({base_url:U.base_url.trim(),username:U.username.trim(),password:U.password});N.value=ne,K.value=new Set(ne.new_accounts.map(z=>z.crs_account_id)),x.value="preview"}catch(ne){k.showError((ne==null?void 0:ne.message)||l("admin.accounts.crsPreviewFailed"))}finally{L.value=!1}},ie=async()=>{if(!U.base_url.trim()||!U.username.trim()||!U.password.trim()){k.showError(l("admin.accounts.syncMissingFields"));return}R.value=!0;try{const ne=await be.accounts.syncFromCrs({base_url:U.base_url.trim(),username:U.username.trim(),password:U.password,sync_proxies:U.sync_proxies,selected_account_ids:[...K.value]});S.value=ne,x.value="result",ne.failed>0?k.showError(l("admin.accounts.syncCompletedWithErrors",ne)):k.showSuccess(l("admin.accounts.syncCompleted",ne)),m("synced")}catch(ne){k.showError((ne==null?void 0:ne.message)||l("admin.accounts.syncFailed"))}finally{R.value=!1}};return(ne,z)=>(n(),Be(ua,{show:c.show,title:t(l)("admin.accounts.syncFromCrsTitle"),width:"normal","close-on-click-outside":"",onClose:y},{footer:qe(()=>
18[e("div",e8,[x.value==="input"?(n(),r(me,{key:0},[e("button",{class:"btn btn-secondary",type:"button",disabled:L.value,onClick:y},a(t(l)("common.cancel")),9,t8),e("button",{class:"btn btn-primary",type:"submit",form:"sync-from-crs-form",disabled:L.value},a(L.value?t(l)("admin.accounts.crsPreviewing"):t(l)("admin.accounts.crsPreview")),9,a8)],64)):x.value==="preview"?(n(),r(me,{key:1},[e("button",{class:"btn btn-secondary",type:"button",disabled:R.value,onClick:ae},a(t(l)("admin.accounts.crsBack")),9,o8),e("button",{class:"btn btn-primary",type:"button",disabled:R.value||M.value,onClick:ie},a(R.value?t(l)("admin.accounts.syncing"):t(l)("admin.accounts.syncNow")),9,s8)],64)):x.value==="result"?(n(),r("button",{key:2,class:"btn btn-secondary",type:"button",onClick:y},a(t(l)("common.close")),1)):v("",!0)])]),default:qe(()=>[x.value==="input"?(n(),r("form",{key:0,id:"sync-from-crs-form",class:"space-y-4",onSubmit:Xt(Z,["prevent"])},[e("div",y7,a(t(l)("admin.accounts.syncFromCrsDesc")),1),e("div",h7,a(t(l)("admin.accounts.crsUpdateBehaviorNote")),1),e("div",f7,a(t(l)("admin.accounts.crsVersionRequirement")),1),e("div",x7,[e("div",null,[e("label",k7,a(t(l)("admin.accounts.crsBaseUrl")),1),T(e("input",{id:"crs-base-url","onUpdate:modelValue":z[0]||(z[0]=ke=>U.base_url=ke),type:"text",class:"input",required:"",placeholder:t(l)("admin.accounts.crsBaseUrlPlaceholder")},null,8,_7),[[B,U.base_url]])]),e("div",w7,[e("div",null,[e("label",$7,a(t(l)("admin.accounts.crsUsername")),1),T(e("input",{id:"crs-username","onUpdate:modelValue":z[1]||(z[1]=ke=>U.username=ke),type:"text",class:"input",required:"",autocomplete:"username"},null,512),[[B,U.username]])]),e("div",null,[e("label",C7,a(t(l)("admin.accounts.crsPassword")),1),T(e("input",{id:"crs-password","onUpdate:modelValue":z[2]||(z[2]=ke=>U.password=ke),type:"password",class:"input",required:"",autocomplete:"current-password"},null,512),[[B,U.password]])])]),e("label",T7,[T(e("input",{"onUpdate:modelValue":z[3]||(z[3]=ke=>U.sync_proxies=ke),type:"checkbox",class:"rounded border-gray-300 dark:border-dark-600"},null,512),[[ct,U.sync_proxies]]),oe(" "+a(t(l)("admin.accounts.syncProxies")),1)])])],32)):x.value==="preview"&&N.value?(n(),r("div",M7,[N.value.existing_accounts.length?(n(),r("div",S7,[e("div",U7,[oe(a(t(l)("admin.accounts.crsExistingAccounts"))+" ",1),e("span",E7,"("+a(N.value.existing_accounts.length)+")",1)]),e("div",A7,[(n(!0),r(me,null,$e(N.value.existing_accounts,ke=>(n(),r("div",{key:ke.crs_account_id,class:"flex items-center gap-2 py-0.5"},[e("span",q7,a(ke.platform)+" / "+a(ke.type),1),e("span",R7,a(ke.name),1)]))),128))])])):v("",!0),N.value.new_accounts.length?(n(),r("div",P7,[e("div",V7,[e("div",I7,[oe(a(t(l)("admin.accounts.crsNewAccounts"))+" ",1),e("span",z7,"("+a(N.value.new_accounts.length)+")",1)]),e("div",L7,[e("button",{type:"button",class:"text-xs text-blue-600 hover:text-blue-700 dark:text-blue-400",onClick:F},a(t(l)("admin.accounts.crsSelectAll")),1),e("button",{type:"button",class:"text-xs text-gray-500 hover:text-gray-600 dark:text-gray-400",onClick:H},a(t(l)("admin.accounts.crsSelectNone")),1)])]),e("div",O7,[(n(!0),r(me,null,$e(N.value.new_accounts,ke=>(n(),r("label",{key:ke.crs_account_id,class:"flex cursor-pointer items-center gap-2 rounded px-2 py-1.5 hover:bg-gray-50 dark:hover:bg-dark-700/40"},[e("input",{type:"checkbox",checked:K.value.has(ke.crs_account_id),class:"rounded border-gray-300 dark:border-dark-600",onChange:de=>J(ke.crs_account_id)},null,40,N7),e("span",j7,a(ke.platform)+" / "+a(ke.type),1),e("span",D7,a(ke.name),1)]))),128))]),e("div",F7,a(t(l)("admin.accounts.crsSelectedCount",{count:K.value.size})),1)])):v("",!0),e("div",H7,[e("span",null,a(t(l)("admin.accounts.syncProxies"))+":",1),e("span",{class:C(U.sync_proxies?"text-green-600 dark:text-green-400":"text-gray-400 dark:text-dark-500")},a(U.sync_proxies?t(l)("common.yes"):t(l)("common.no")),3)]),N.value.new_accounts.length?v("",!0):(n(),r("div",B7,[oe(a(t(l)("admin.accounts.crsNoNewAccounts"))+" ",1),N.value.existing_accounts.length?(n(),r("span",W7,a(t(l)("admin.accounts.crsWillUpdate",{count:N.value.existing_accounts.length})),1)):v("",!0)]))])):x.value==="result"&&S.value?(n(),r("div",K7,[e("div",G7,[e("div",J7,a(t(l)("admin.accounts.syncResult")),1),e("div",Q7,a(t(l)("admin.accounts.syncResultSummary",S.value)),1),h.value.length?(n(),r("div",Y7,[e("div",X7,a(t(l)("admin.accounts.syncErrors")),1),e("div",Z7,[(n(!0),r(me,null,$e(h.value,(ke,de)=>(n(),r("div",{key:de,class:"whitespace-pre-wrap"},a(ke.kind)+" "+a(ke.crs_account_id)+" — "+a(ke.action)+a(ke.error?`: ${ke.error}`:""),1))),128))])])):v("",!0)])])):v("",!0)]),_:1},8,["show","title"]))}}),n8={class:"text-sm text-gray-600 dark:text-dark-300"},r8={class:"rounded-lg border border-amber-200 bg-amber-50 p-3 text-xs text-amber-600 dar
18k:border-amber-800 dark:bg-amber-900/20 dark:text-amber-400"},i8={class:"input-label"},d8={class:"flex items-center justify-between gap-3 rounded-lg border border-dashed border-gray-300 bg-gray-50 px-4 py-3 dark:border-dark-600 dark:bg-dark-800"},u8={class:"min-w-0"},c8={class:"truncate text-sm text-gray-700 dark:text-dark-200"},p8={key:0,class:"space-y-2 rounded-xl border border-gray-200 p-4 dark:border-dark-700"},m8={class:"text-sm font-medium text-gray-900 dark:text-white"},g8={class:"text-sm text-gray-700 dark:text-dark-300"},v8={key:0,class:"mt-2"},b8={class:"text-sm font-medium text-red-600 dark:text-red-400"},y8={class:"mt-2 max-h-48 overflow-auto rounded-lg bg-gray-50 p-3 font-mono text-xs dark:bg-dark-800"},h8={class:"flex justify-end gap-3"},f8=["disabled"],x8=["disabled"],k8=Dt({__name:"ImportDataModal",props:{show:{type:Boolean}},emits:["close","imported"],setup(c,{emit:A}){const o=c,m=A,{t:l}=Ht(),k=ra(),x=u(!1),L=u(null),R=u(null),N=u(null),K=P(()=>{var F;return((F=L.value)==null?void 0:F.name)||""}),S=P(()=>{var F;return((F=R.value)==null?void 0:F.errors)||[]});_t(()=>o.show,F=>{F&&(L.value=null,R.value=null,N.value&&(N.value.value=""))});const U=()=>{var F;(F=N.value)==null||F.click()},M=F=>{var J;const H=F.target;L.value=((J=H.files)==null?void 0:J[0])||null},h=()=>{x.value||m("close")},y=async F=>{if(typeof F.text=="function")return F.text();if(typeof F.arrayBuffer=="function"){const H=await F.arrayBuffer();return new TextDecoder().decode(H)}return await new Promise((H,J)=>{const Z=new FileReader;Z.onload=()=>H(String(Z.result??"")),Z.onerror=()=>J(Z.error||new Error("Failed to read file")),Z.readAsText(F)})},ae=async()=>{if(!L.value){k.showError(l("admin.accounts.dataImportSelectFile"));return}x.value=!0;try{const F=await y(L.value),H=JSON.parse(F),J=await be.accounts.importData({data:H,skip_default_group_bind:!0});R.value=J;const Z={account_created:J.account_created,account_failed:J.account_failed,proxy_created:J.proxy_created,proxy_reused:J.proxy_reused,proxy_failed:J.proxy_failed};J.account_failed>0||J.proxy_failed>0?k.showError(l("admin.accounts.dataImportCompletedWithErrors",Z)):(k.showSuccess(l("admin.accounts.dataImportSuccess",Z)),m("imported"))}catch(F){F instanceof SyntaxError?k.showError(l("admin.accounts.dataImportParseFailed")):k.showError((F==null?void 0:F.message)||l("admin.accounts.dataImportFailed"))}finally{x.value=!1}};return(F,H)=>(n(),Be(ua,{show:c.show,title:t(l)("admin.accounts.dataImportTitle"),width:"normal","close-on-click-outside":"",onClose:h},{footer:qe(()=>[e("div",h8,[e("button",{class:"btn btn-secondary",type:"button",disabled:x.value,onClick:h},a(t(l)("common.cancel")),9,f8),e("button",{class:"btn btn-primary",type:"submit",form:"import-data-form",disabled:x.value},a(x.value?t(l)("admin.accounts.dataImporting"):t(l)("admin.accounts.dataImportButton")),9,x8)])]),default:qe(()=>[e("form",{id:"import-data-form",class:"space-y-4",onSubmit:Xt(ae,["prevent"])},[e("div",n8,a(t(l)("admin.accounts.dataImportHint")),1),e("div",r8,a(t(l)("admin.accounts.dataImportWarning")),1),e("div",null,[e("label",i8,a(t(l)("admin.accounts.dataImportFile")),1),e("div",d8,[e("div",u8,[e("div",c8,a(K.value||t(l)("admin.accounts.dataImportSelectFile")),1),H[0]||(H[0]=e("div",{class:"text-xs text-gray-500 dark:text-dark-400"},"JSON (.json)",-1))]),e("button",{type:"button",class:"btn btn-secondary shrink-0",onClick:U},a(t(l)("common.chooseFile")),1)]),e("input",{ref_key:"fileInput",ref:N,type:"file",class:"hidden",accept:"application/json,.json",onChange:M},null,544)]),R.value?(n(),r("div",p8,[e("div",m8,a(t(l)("admin.accounts.dataImportResult")),1),e("div",g8,a(t(l)("admin.accounts.dataImportResultSummary",R.value)),1),S.value.length?(n(),r("div",v8,[e("div",b8,a(t(l)("admin.accounts.dataImportErrors")),1),e("div",y8,[(n(!0),r(me,null,$e(S.value,(J,Z)=>(n(),r("div",{key:Z,class:"whitespace-pre-wrap"},a(J.kind)+" "+a(J.name||J.proxy_key||"-")+" — "+a(J.message),1))),128))])])):v("",!0)])):v("",!0)],32)]),_:1},8,["show","title"]))}}),_8={key:0,class:"space-y-4"},w8={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-dark-600 dark:bg-dark-700"},$8={class:"flex items-center gap-3"},C8={class:"block font-semibold text-gray-900 dark:text-white"},T8={class:"text-sm text-gray-500 dark:text-gray-400"},M8={key:0,class:"border-0 p-0"},S8={class:"input-label"},U8={class:"mt-2 flex gap-4"},E8={class:"flex cursor-pointer items-center"},A8={class:"text-sm text-gray-700 dark:text-gray-300"},q8={class:"flex cursor-pointer items-center"},R8={class:"text-sm text-gray-700 dark:text-gray-300"},P8={key:1,class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-dark-600 dark:bg-dark-700"},V8={class:"mb-2 text-sm font-medium text-gray-700 dark:text-gray-300"},I8={class:"flex items-center gap-3"},z8={class:"block text-sm font-medium text-gray-900 dark:text-white"},L8={class:"text-xs text-gray-500 dark:text-gray-400"},O8={key:0,class:"flex justify-between gap-3"},N8=["disabled"],j8={key:0,class:"-ml-1 mr-2 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},D8=Dt({__name:"ReAuthAccountModal",props:{show:{type:Boolean},account:{}},emits:["close","reauthorized"],setup(c,{emit:A}){const o=c,m=A,l=ra(),{t:k}=Ht(),x=ml(),L=gl(),R=vl(),N=bl(),K=u(null),S=u("oauth"),U=u("co
18de_assist"),M=P(()=>{var W;return((W=o.account)==null?void 0:W.platform)==="openai"}),h=P(()=>M.value),y=P(()=>{var W;return((W=o.account)==null?void 0:W.platform)==="gemini"}),ae=P(()=>{var W;return((W=o.account)==null?void 0:W.platform)==="anthropic"}),F=P(()=>{var W;return((W=o.account)==null?void 0:W.platform)==="antigravity"}),H=P(()=>h.value?L.authUrl.value:y.value?R.authUrl.value:F.value?N.authUrl.value:x.authUrl.value),J=P(()=>h.value?L.sessionId.value:y.value?R.sessionId.value:F.value?N.sessionId.value:x.sessionId.value),Z=P(()=>h.value?L.loading.value:y.value?R.loading.value:F.value?N.loading.value:x.loading.value),ie=P(()=>h.value?L.error.value:y.value?R.error.value:F.value?N.error.value:x.error.value),ne=P(()=>{var W;return h.value||y.value||F.value||((W=K.value)==null?void 0:W.inputMethod)==="manual"}),z=P(()=>{var O;const W=((O=K.value)==null?void 0:O.authCode)||"",ee=J.value,_=Z.value;return W.trim()&&ee&&!_});_t(()=>o.show,W=>{if(W&&o.account){if(ae.value&&(o.account.type==="oauth"||o.account.type==="setup-token")&&(S.value=o.account.type),y.value){const ee=o.account.credentials||{};U.value=ee.oauth_type==="google_one"?"google_one":ee.oauth_type==="ai_studio"?"ai_studio":"code_assist"}}else ke()});const ke=()=>{var W;S.value="oauth",U.value="code_assist",x.resetState(),L.resetState(),R.resetState(),N.resetState(),(W=K.value)==null||W.reset()},de=()=>{m("close")},xe=async()=>{var W;if(o.account)if(h.value)await L.generateAuthUrl(o.account.proxy_id);else if(y.value){const ee=o.account.credentials||{},_=typeof ee.tier_id=="string"?ee.tier_id:void 0,O=U.value==="code_assist"?(W=K.value)==null?void 0:W.projectId:void 0;await R.generateAuthUrl(o.account.proxy_id,O,U.value,_)}else F.value?await N.generateAuthUrl(o.account.proxy_id):await x.generateAuthUrl(S.value,o.account.proxy_id)},Me=async()=>{var ee,_,O,G,he,Pe,_e,ge,ve,fe,Ee,Xe,tt;if(!o.account)return;const W=((ee=K.value)==null?void 0:ee.authCode)||"";if(W.trim())if(h.value){const Ae=L,Qe=Ae.sessionId.value;if(!Qe)return;const Fe=(((_=K.value)==null?void 0:_.oauthState)||Ae.oauthState.value||"").trim();if(!Fe){Ae.error.value=k("admin.accounts.oauth.authFailed"),l.showError(Ae.error.value);return}const ze=await Ae.exchangeAuthCode(W.trim(),Qe,Fe,o.account.proxy_id);if(!ze)return;const He=Ae.buildCredentials(ze),Je=Ae.buildExtraInfo(ze);try{await be.accounts.update(o.account.id,{type:"oauth",credentials:He,extra:Je});const Mt=await be.accounts.clearError(o.account.id);l.showSuccess(k("admin.accounts.reAuthorizedSuccess")),m("reauthorized",Mt),de()}catch(Mt){Ae.error.value=((G=(O=Mt.response)==null?void 0:O.data)==null?void 0:G.detail)||k("admin.accounts.oauth.authFailed"),l.showError(Ae.error.value)}}else if(y.value){const Ae=R.sessionId.value;if(!Ae)return;const Fe=((he=K.value)==null?void 0:he.oauthState)||""||R.state.value;if(!Fe)return;const ze=await R.exchangeAuthCode({code:W.trim(),sessionId:Ae,state:Fe,proxyId:o.account.proxy_id,oauthType:U.value,tierId:typeof((Pe=o.account.credentials)==null?void 0:Pe.tier_id)=="string"?o.account.credentials.tier_id:void 0});if(!ze)return;const He=R.buildCredentials(ze);try{await be.accounts.update(o.account.id,{type:"oauth",credentials:He});const Je=await be.accounts.clearError(o.account.id);l.showSuccess(k("admin.accounts.reAuthorizedSuccess")),m("reauthorized",Je),de()}catch(Je){R.error.value=((ge=(_e=Je.response)==null?void 0:_e.data)==null?void 0:ge.detail)||k("admin.accounts.oauth.authFailed"),l.showError(R.error.value)}}else if(F.value){const Ae=N.sessionId.value;if(!Ae)return;const Fe=((ve=K.value)==null?void 0:ve.oauthState)||""||N.state.value;if(!Fe)return;const ze=await N.exchangeAuthCode({code:W.trim(),sessionId:Ae,state:Fe,proxyId:o.account.proxy_id});if(!ze)return;const He=N.buildCredentials(ze);try{await be.accounts.update(o.account.id,{type:"oauth",credentials:He});const Je=await be.accounts.clearError(o.account.id);l.showSuccess(k("admin.accounts.reAuthorizedSuccess")),m("reauthorized",Je),de()}catch(Je){N.error.value=((Ee=(fe=Je.response)==null?void 0:fe.data)==null?void 0:Ee.detail)||k("admin.accounts.oauth.authFailed"),l.showError(N.error.value)}}else{const Ae=x.sessionId.value;if(!Ae)return;x.loading.value=!0,x.error.value="";try{const Qe=o.account.proxy_id?{proxy_id:o.account.proxy_id}:{},Fe=S.value==="oauth"?"/admin/accounts/exchange-code":"/admin/accounts/exchange-setup-token-code",ze=await be.accounts.exch
18angeCode(Fe,{session_id:Ae,code:W.trim(),...Qe}),He=x.buildExtraInfo(ze);await be.accounts.update(o.account.id,{type:S.value,credentials:ze,extra:He});const Je=await be.accounts.clearError(o.account.id);l.showSuccess(k("admin.accounts.reAuthorizedSuccess")),m("reauthorized",Je),de()}catch(Qe){x.error.value=((tt=(Xe=Qe.response)==null?void 0:Xe.data)==null?void 0:tt.detail)||k("admin.accounts.oauth.authFailed"),l.showError(x.error.value)}finally{x.loading.value=!1}}},ce=async W=>{var ee,_;if(!(!o.account||h.value)){x.loading.value=!0,x.error.value="";try{const O=o.account.proxy_id?{proxy_id:o.account.proxy_id}:{},G=S.value==="oauth"?"/admin/accounts/cookie-auth":"/admin/accounts/setup-token-cookie-auth",he=await be.accounts.exchangeCode(G,{session_id:"",code:W.trim(),...O}),Pe=x.buildExtraInfo(he);await be.accounts.update(o.account.id,{type:S.value,credentials:he,extra:Pe});const _e=await be.accounts.clearError(o.account.id);l.showSuccess(k("admin.accounts.reAuthorizedSuccess")),m("reauthorized",_e),de()}catch(O){x.error.value=((_=(ee=O.response)==null?void 0:ee.data)==null?void 0:_.detail)||k("admin.accounts.oauth.cookieAuthFailed")}finally{x.loading.value=!1}}};return(W,ee)=>(n(),Be(ua,{show:c.show,title:t(k)("admin.accounts.reAuthorizeAccount"),width:"normal",onClose:de},{footer:qe(()=>[c.account?(n(),r("div",O8,[e("button",{type:"button",class:"btn btn-secondary",onClick:de},a(t(k)("common.cancel")),1),ne.value?(n(),r("button",{key:0,type:"button",disabled:!z.value,class:"btn btn-primary",onClick:Me},[Z.value?(n(),r("svg",j8,[...ee[2]||(ee[2]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):v("",!0),oe(" "+a(Z.value?t(k)("admin.accounts.oauth.verifying"):t(k)("admin.accounts.oauth.completeAuth")),1)],8,N8)):v("",!0)])):v("",!0)]),default:qe(()=>[c.account?(n(),r("div",_8,[e("div",w8,[e("div",$8,[e("div",{class:C(["flex h-10 w-10 items-center justify-center rounded-lg bg-gradient-to-br",h.value?"from-green-500 to-green-600":y.value?"from-blue-500 to-blue-600":F.value?"from-purple-500 to-purple-600":"from-orange-500 to-orange-600"])},[E(te,{name:"sparkles",size:"md",class:"text-white"})],2),e("div",null,[e("span",C8,a(c.account.name),1),e("span",T8,a(M.value?t(k)("admin.accounts.openaiAccount"):y.value?t(k)("admin.accounts.geminiAccount"):F.value?t(k)("admin.accounts.antigravityAccount"):t(k)("admin.accounts.claudeCodeAccount")),1)])])]),ae.value?(n(),r("fieldset",M8,[e("legend",S8,a(t(k)("admin.accounts.oauth.authMethod")),1),e("div",U8,[e("label",E8,[T(e("input",{"onUpdate:modelValue":ee[0]||(ee[0]=_=>S.value=_),type:"radio",value:"oauth",class:"mr-2 text-primary-600 focus:ring-primary-500"},null,512),[[da,S.value]]),e("span",A8,a(t(k)("admin.accounts.types.oauth")),1)]),e("label",q8,[T(e("input",{"onUpdate:modelValue":ee[1]||(ee[1]=_=>S.value=_),type:"radio",value:"setup-token",class:"mr-2 text-primary-600 focus:ring-primary-500"},null,512),[[da,S.value]]),e("span",R8,a(t(k)("admin.accounts.setupTokenLongLived")),1)])])])):v("",!0),y.value?(n(),r("div",P8,[e("div",V8,a(t(k)("admin.accounts.oauth.gemini.oauthTypeLabel")),1),e("div",I8,[e("div",{class:C(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",U.value==="google_one"?"bg-purple-500 text-white":U.value==="code_assist"?"bg-blue-500 text-white":"bg-amber-500 text-white"])},[U.value==="google_one"?(n(),Be(te,{key:0,name:"user",size:"sm"})):U.value==="code_assist"?(n(),Be(te,{key:1,name:"cloud",size:"sm"})):(n(),Be(te,{key:2,name:"sparkles",size:"sm"}))],2),e("div",null,[e("span",z8,a(U.value==="google_one"?"Google One":U.value==="code_assist"?t(k)("admin.accounts.gemini.oauthType.builtInTitle"):t(k)("admin.accounts.gemini.oauthType.customTitle")),1),e("span",L8,a(U.value==="google_one"?"个人账号":U.value==="code_assist"?t(k)("admin.accounts.gemini.oauthType.builtInDesc"):t(k)("admin.accounts.gemini.oauthType.customDesc")),1
18)])])])):v("",!0),E(yl,{ref_key:"oauthFlowRef",ref:K,"add-method":S.value,"auth-url":H.value,"session-id":J.value,loading:Z.value,error:ie.value,"show-help":ae.value,"show-proxy-warning":ae.value,"show-cookie-option":ae.value,"allow-multiple":!1,"method-label":t(k)("admin.accounts.inputMethod"),platform:M.value?"openai":y.value?"gemini":F.value?"antigravity":"anthropic","show-project-id":y.value&&U.value==="code_assist",onGenerateUrl:xe,onCookieAuth:ce},null,8,["add-method","auth-url","session-id","loading","error","show-help","show-proxy-warning","show-cookie-option","method-label","platform","show-project-id"])])):v("",!0)]),_:1},8,["show","title"]))}}),F8={class:"space-y-4"},H8={key:0,class:"flex items-center justify-between rounded-xl border border-gray-200 bg-gradient-to-r from-gray-50 to-gray-100 p-3 dark:border-dark-500 dark:from-dark-700 dark:to-dark-600"},B8={class:"flex items-center gap-3"},W8={class:"flex h-10 w-10 items-center justify-center rounded-lg bg-gradient-to-br from-primary-500 to-primary-600"},K8={class:"font-semibold text-gray-900 dark:text-gray-100"},G8={class:"flex items-center gap-1.5 text-xs text-gray-500 dark:text-gray-400"},J8={class:"rounded bg-gray-200 px-1.5 py-0.5 text-[10px] font-medium uppercase dark:bg-dark-500"},Q8={class:"space-y-1.5"},Y8={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},X8={key:1,class:"space-y-1.5"},Z8={key:2,class:"space-y-1.5"},ew={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},tw=["disabled"],aw={class:"text-xs text-gray-500 dark:text-gray-400"},ow={class:"group relative"},sw={key:0,class:"flex items-center gap-2 text-gray-500"},lw={key:1,class:"flex items-center gap-2 text-yellow-400"},nw={key:2,class:"text-green-400"},rw={key:3,class:"mt-3 flex items-center gap-2 border-t border-gray-700 pt-3 text-green-400"},iw={key:4,class:"mt-3 flex items-center gap-2 border-t border-gray-700 pt-3 text-red-400"},dw=["title"],uw={key:3,class:"space-y-2"},cw={class:"text-xs font-medium text-gray-600 dark:text-gray-300"},pw={class:"flex flex-wrap justify-center gap-3"},mw=["onClick"],gw=["src","alt"],vw={class:"absolute inset-0 flex items-center justify-center bg-black/0 transition-colors group-hover/img:bg-black/20"},bw={class:"border-t border-gray-100 px-3 py-1.5 text-xs text-gray-500 dark:border-dark-500 dark:text-gray-300"},yw=["src"],hw={class:"flex items-center justify-between px-1 text-xs text-gray-500 dark:text-gray-400"},fw={class:"flex items-center gap-3"},xw={class:"flex items-center gap-1"},kw={class:"flex items-center gap-1"},_w={class:"flex justify-end gap-3"},ww=["disabled"],$w=["disabled"],Cw=Dt({__name:"AccountTestModal",props:{show:{type:Boolean},account:{}},emits:["close"],setup(c,{emit:A}){const{t:o}=Ht(),{copyToClipboard:m}=Ks(),l=c,k=A,x=u(null),L=u("idle"),R=u([]),N=u(""),K=u(""),S=u([]),U=u(""),M=u(""),h=u(5),y=u("connectivity"),ae=u(!1);let F=null;const H=u([]),J=u(""),Z=["gemini-3.1-flash-image","gemini-2.5-flash-image","gemini-3.8-flash","gemini-3.7-flash","gemini-3.6-flash","gemini-3.5-flash","gemini-3.5-flash-lite","gemini-2.5-flash","gemini-2.5-pro","gemini-3-flash-preview"],ie=P(()=>{var ge,ve,fe;const _e=U.value.toLowerCase();return!_e.startsWith("gemini-")||!_e.includes("-image")?!1:((ge=l.account)==null?void 0:ge.platform)==="gemini"||((ve=l.account)==null?void 0:ve.platform)==="antigravity"&&((fe=l.account)==null?void 0:fe.type)==="apikey"}),ne=P(()=>{var ge;return U.value.toLowerCase().startsWith("gpt-image-")?((ge=l.account)==null?void 0:ge.platform)==="openai":!1}),z=P(()=>ie.value||ne.value),ke=_e=>{const ge=new Map(Z.map((ve,fe)=>[ve,fe]));return[..._e].sort((ve,fe)=>{const Ee=ge.get(ve.id)??Number.MAX_SAFE_INTEGER,Xe=ge.get(fe.id)??Number.MAX_SAFE_INTEGER;return Ee!==Xe?Ee-Xe:0})};_t(()=>l.show,async _e=>{_e&&l.account?(M.value="",xe(),await de()):ce()}),_t(U,()=>{z.value&&!M.value.trim()&&(M.value=o("admin.accounts.imagePromptDefault"))});const de=async()=>{if(l.account){ae.value=!0,U.value="";try{const _e=await be.accounts.getAvailableModels(l.account.id);if(S.value=l.account.platform==="gemini"||l.account.platform==="antigravity"?ke(_e):_e,S.value.length>0)if(l.account.platform==="gemini")U.value=S.value[0].id;else{const ge=S.value.find(ve=>ve.id.includes("sonnet"));U.value=(ge==null?void 0:ge.id)||S.value[0].id}}catch(_e){console.error("Failed to load available models:",_e),S.value=[],U.value=""}finally{ae.value=!1}}},xe=()=>{L.value="idle",R.value=[],N.value="",K.value="",H.value=[],J.value=""},Me=()=>{ce(),k("close")},ce=()=>{F&&(F.abort(),F=null)},W=(_e,ge="text-gray-300")=>{R.value.push({text:_e,class:ge}),ee()},ee=async()=>{await Nl(),x.value&&(x.value.scrollTop=x.value.scrollHeight)},_=async()=>{!l.account||!U.value||(xe(),y.value="connectivity",L.value="connecting",W(o("admin.accounts.startingTestForAccount",{name:l.account.name}),"text-blue-400"),W(o("admin.accounts.testAccountTypeLabel",{type:l.account.type}),"text-gray-400"),W("","text-gray-300"),await G(`/api/v1/admin/accounts/${l.account.id}/test`,{model_id:U.value,prompt:z.value?M.value.trim():""}))},O=async()=>
18{if(!l.account||!U.value)return;const _e=Math.min(20,Math.max(1,Math.floor(h.value)||5));h.value=_e,xe(),y.value="speed",L.value="connecting",W(o("admin.accounts.startingTestForAccount",{name:l.account.name}),"text-blue-400"),W("","text-gray-300"),await G(`/api/v1/admin/accounts/${l.account.id}/speed-test`,{model_id:U.value,concurrency:_e})},G=async(_e,ge)=>{var ve;ce(),F=new AbortController;try{const fe=await fetch(_e,{method:"POST",headers:{Authorization:`Bearer ${localStorage.getItem("auth_token")}`,"Content-Type":"application/json"},body:JSON.stringify(ge),signal:F.signal});if(!fe.ok){let Ae=`HTTP error! status: ${fe.status}`;try{const Qe=await fe.json();Qe!=null&&Qe.message&&(Ae=Qe.message)}catch{}throw new Error(Ae)}const Ee=(ve=fe.body)==null?void 0:ve.getReader();if(!Ee)throw new Error("No response body");const Xe=new TextDecoder;let tt="";for(;;){const{done:Ae,value:Qe}=await Ee.read();if(Ae)break;tt+=Xe.decode(Qe,{stream:!0});const Fe=tt.split(`
19`);tt=Fe.pop()||"";for(const ze of Fe)if(ze.startsWith("data: ")){const He=ze.slice(6).trim();if(He)try{const Je=JSON.parse(He);he(Je)}catch(Je){console.error("Failed to parse SSE event:",Je)}}}}catch(fe){if(fe instanceof DOMException&&fe.name==="AbortError"){L.value="idle";return}L.value="error";const Ee=fe instanceof Error?fe.message:"Unknown error";K.value=Ee,W(`Error: ${Ee}`,"text-red-400")}},he=_e=>{switch(_e.type){case"speed_test_start":{const ge=_e.data;W(o("admin.accounts.speedTestStarted",{concurrency:(ge==null?void 0:ge.concurrency)??h.value,model:_e.model||U.value}),"text-cyan-400"),W("","text-gray-300");break}case"probe_result":{const ge=_e.data;if(ge.success)W(o("admin.accounts.speedTestProbeOk",{index:ge.index,ttfb:ge.ttfb_ms,total:ge.total_ms}),"text-green-300");else{const ve=(ge.error||"unknown error").slice(0,160);W(o("admin.accounts.speedTestProbeFail",{index:ge.index,error:ve}),"text-red-400")}break}case"speed_test_complete":{const ge=_e.data;W("","text-gray-300"),W(o("admin.accounts.speedTestSummaryTitle"),"text-yellow-400"),W(o("admin.accounts.speedTestSummarySuccess",{success:ge.success,total:ge.total,rate:ge.total>0?Math.round(ge.success/ge.total*100):0}),ge.failed>0?"text-orange-300":"text-green-300"),ge.success>0?(W(o("admin.accounts.speedTestSummaryTTFB",{avg:ge.avg_ttfb_ms,min:ge.min_ttfb_ms,max:ge.max_ttfb_ms}),"text-gray-300"),W(o("admin.accounts.speedTestSummaryTotal",{avg:ge.avg_total_ms,min:ge.min_total_ms,max:ge.max_total_ms}),"text-gray-300"),L.value="success"):(L.value="error",K.value=o("admin.accounts.speedTestAllFailed"));break}case"test_start":W(o("admin.accounts.connectedToApi"),"text-green-400"),_e.model&&W(o("admin.accounts.usingModel",{model:_e.model}),"text-cyan-400"),W(z.value?o("admin.accounts.sendingImageRequest"):o("admin.accounts.sendingTestMessage"),"text-gray-400"),W("","text-gray-300"),W(o("admin.accounts.response"),"text-yellow-400");break;case"content":_e.text&&(N.value+=_e.text,ee());break;case"image":_e.image_url&&(H.value.push({url:_e.image_url,mimeType:_e.mime_type}),W(o("admin.accounts.imageReceived",{count:H.value.length}),"text-purple-300"));break;case"test_complete":N.value&&(W(N.value,"text-green-300"),N.value=""),_e.success?L.value="success":(L.value="error",K.value=_e.error||"Test failed");break;case"error":L.value="error",K.value=_e.error||"Unknown error",N.value&&(W(N.value,"text-green-300"),N.value="");break}},Pe=()=>{const _e=R.value.map(ge=>ge.text).join(`
20`);m(_e,o("admin.accounts.outputCopied"))};return(_e,ge)=>(n(),Be(ua,{show:c.show,title:t(o)("admin.accounts.testAccountConnection"),width:"normal",onClose:Me},{footer:qe(()=>[e("div",_w,[e("button",{onClick:Me,class:"rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-300 dark:hover:bg-dark-500"},a(t(o)("common.close")),1),z.value?v("",!0):(n(),r("button",{key:0,onClick:O,disabled:L.value==="connecting"||!U.value,class:C(["flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-all",L.value==="connecting"||!U.value?"cursor-not-allowed bg-gray-200 text-gray-400 dark:bg-dark-600 dark:text-gray-500":"bg-amber-500 text-white hover:bg-amber-600"])},[L.value==="connecting"&&y.value==="speed"?(n(),Be(t(te),{key:0,name:"refresh",size:"sm",class:"animate-spin","stroke-width":2})):(n(),Be(t(te),{key:1,name:"bolt",size:"sm","stroke-width":2})),e("span",null,a(L.value==="connecting"&&y.value==="speed"?t(o)("admin.accounts.speedTesting"):t(o)("admin.accounts.speedTest")),1)],10,ww)),e("button",{onClick:_,disabled:L.value==="connecting"||!U.value,class:C(["flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-all",L.value==="connecting"||!U.value?"curs
20or-not-allowed bg-primary-400 text-white":L.value==="success"?"bg-green-500 text-white hover:bg-green-600":L.value==="error"?"bg-orange-500 text-white hover:bg-orange-600":"bg-primary-500 text-white hover:bg-primary-600"])},[L.value==="connecting"?(n(),Be(t(te),{key:0,name:"refresh",size:"sm",class:"animate-spin","stroke-width":2})):L.value==="idle"?(n(),Be(t(te),{key:1,name:"play",size:"sm","stroke-width":2})):(n(),Be(t(te),{key:2,name:"refresh",size:"sm","stroke-width":2})),e("span",null,a(L.value==="connecting"?t(o)("admin.accounts.testing"):L.value==="idle"?t(o)("admin.accounts.startTest"):t(o)("admin.accounts.retry")),1)],10,$w)])]),default:qe(()=>[e("div",F8,[c.account?(n(),r("div",H8,[e("div",B8,[e("div",W8,[E(t(te),{name:"play",size:"md",class:"text-white","stroke-width":2})]),e("div",null,[e("div",K8,a(c.account.name),1),e("div",G8,[e("span",J8,a(c.account.type),1),e("span",null,a(t(o)("admin.accounts.account")),1)])])]),e("span",{class:C(["rounded-full px-2.5 py-1 text-xs font-semibold",c.account.status==="active"?"bg-green-100 text-green-700 dark:bg-green-500/20 dark:text-green-400":"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400"])},a(c.account.status),3)])):v("",!0),e("div",Q8,[e("label",Y8,a(t(o)("admin.accounts.selectTestModel")),1),E(Ca,{modelValue:U.value,"onUpdate:modelValue":ge[0]||(ge[0]=ve=>U.value=ve),options:S.value,disabled:ae.value||L.value==="connecting","value-key":"id","label-key":"display_name",placeholder:ae.value?t(o)("common.loading")+"...":t(o)("admin.accounts.selectTestModel")},null,8,["modelValue","options","disabled","placeholder"])]),z.value?(n(),r("div",X8,[E(I6,{modelValue:M.value,"onUpdate:modelValue":ge[1]||(ge[1]=ve=>M.value=ve),label:t(o)("admin.accounts.imagePromptLabel"),placeholder:t(o)("admin.accounts.imagePromptPlaceholder"),hint:t(o)("admin.accounts.imageTestHint"),disabled:L.value==="connecting",rows:"3"},null,8,["modelValue","label","placeholder","hint","disabled"])])):(n(),r("div",Z8,[e("label",ew,a(t(o)("admin.accounts.speedTestConcurrency")),1),T(e("input",{"onUpdate:modelValue":ge[2]||(ge[2]=ve=>h.value=ve),type:"number",min:"1",max:"20",disabled:L.value==="connecting",class:"w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-60 dark:border-dark-500 dark:bg-dark-700 dark:text-gray-100"},null,8,tw),[[B,h.value,void 0,{number:!0}]]),e("p",aw,a(t(o)("admin.accounts.speedTestConcurrencyHint")),1)])),e("div",ow,[e("div",{ref_key:"terminalRef",ref:x,class:"max-h-[240px] min-h-[120px] overflow-y-auto rounded-xl border border-gray-700 bg-gray-900 p-4 font-mono text-sm dark:border-gray-800 dark:bg-black"},[L.value==="idle"?(n(),r("div",sw,[E(t(te),{name:"play",size:"sm","stroke-width":2}),e("span",null,a(t(o)("admin.accounts.readyToTest")),1)])):L.value==="connecting"?(n(),r("div",lw,[E(t(te),{name:"refresh",size:"sm",class:"animate-spin","stroke-width":2}),e("span",null,a(t(o)("admin.accounts.connectingToApi")),1)])):v("",!0),(n(!0),r(me,null,$e(R.value,(ve,fe)=>(n(),r("div",{key:fe,class:C(ve.class)},a(ve.text),3))),128)),N.value?(n(),r("div",nw,[oe(a(N.value),1),ge[5]||(ge[5]=e("span",{class:"animate-pulse"},"_",-1))])):v("",!0),L.value==="success"?(n(),r("div",rw,[E(t(te),{name:"check",size:"sm","stroke-width":2}),e("span",null,a(t(o)("admin.accounts.testCompleted")),1)])):L.value==="error"?(n(),r("div",iw,[E(t(te),{name:"x",size:"sm","stroke-width":2}),e("span",null,a(K.value),1)])):v("",!0)],512),R.value.length>0?(n(),r("button",{key:0,onClick:Pe,class:"absolute right-2 top-2 rounded-lg bg-gray-800/80 p-1.5 text-gray-400 opacity-0 transition-all hover:bg-gray-700 hover:text-white group-hover:opacity-100",title:t(o)("admin.accounts.copyOutput")},[E(t(te),{name:"link",size:"sm","stroke-width":2})],8,dw)):v("",!0)]),H.value.length>0?(n(),r("div",uw,[e("div",cw,a(t(o)("admin.accounts.imagePreview")),1),e("div",pw,[(n(!0),r(me,null,$e(H.value,(ve,fe)=>(n(),r("div",{key:`${ve.url}-${fe}`,class:"group/img relative cursor-pointer overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm transition hover:border-primary-300 hover:shadow-md dark:border-dark-500 dark:bg-dark-700",onClick:Ee=>J.value=ve.url},[e("img",{src:ve.url,alt:`test-image-${fe+1}`,class:"max-h-[360px] w-full object-contain"},null,8,gw),e("div",vw,[E(t(te),{name:"eye",size:"lg",class:"text-white opacity-0 drop-shadow-lg transition-opacity group-hover/img:opacity-100","stroke-width":2})]),e("div",bw,a(ve.mimeType||"image/*"),1)],8,mw))),128))])])):v("",!0),(n(),Be(Ll,{to:"body"},[E(Ol,{name:"fade"},{default:qe(()=>[J.value?(n(),r("div",{key:0,class:"fixed inset-0 z-[100] flex items-center justify-center bg-black/80 p-4",onClick:ge[4]||(ge[4]=Xt(ve=>J.value="",["self"]))}
20,[e("button",{class:"absolute right-4 top-4 rounded-full bg-black/50 p-2 text-white transition-colors hover:bg-black/70",onClick:ge[3]||(ge[3]=ve=>J.value="")},[E(t(te),{name:"x",size:"lg","stroke-width":2})]),e("img",{src:J.value,alt:"preview",class:"max-h-[90vh] max-w-[90vw] rounded-lg object-contain shadow-2xl"},null,8,yw)])):v("",!0)]),_:1})])),e("div",hw,[e("div",fw,[e("span",xw,[E(t(te),{name:"grid",size:"sm","stroke-width":2}),oe(" "+a(t(o)("admin.accounts.testModel")),1)])]),e("span",kw,[E(t(te),{name:"chat",size:"sm","stroke-width":2}),oe(" "+a(z.value?t(o)("admin.accounts.imageTestMode"):t(o)("admin.accounts.testPrompt")),1)])])])]),_:1},8,["show","title"]))}}),Tw={class:"space-y-6"},Mw={key:0,class:"flex items-center justify-between rounded-xl border border-primary-200 bg-gradient-to-r from-primary-50 to-primary-100 p-3 dark:border-primary-700/50 dark:from-primary-900/20 dark:to-primary-800/20"},Sw={class:"flex items-center gap-3"},Uw={class:"flex h-10 w-10 items-center justify-center rounded-lg bg-gradient-to-br from-primary-500 to-primary-600"},Ew={class:"font-semibold text-gray-900 dark:text-gray-100"},Aw={class:"text-xs text-gray-500 dark:text-gray-400"},qw={key:1,class:"flex items-center justify-center py-12"},Rw={class:"grid grid-cols-2 gap-4 lg:grid-cols-4"},Pw={class:"card border-emerald-200 bg-gradient-to-br from-emerald-50 to-white p-4 dark:border-emerald-800/30 dark:from-emerald-900/10 dark:to-dark-700"},Vw={class:"mb-2 flex items-center justify-between"},Iw={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},zw={class:"rounded-lg bg-emerald-100 p-1.5 dark:bg-emerald-900/30"},Lw={class:"text-2xl font-bold text-gray-900 dark:text-white"},Ow={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Nw={class:"text-gray-400 dark:text-gray-500"},jw={class:"card border-blue-200 bg-gradient-to-br from-blue-50 to-white p-4 dark:border-blue-800/30 dark:from-blue-900/10 dark:to-dark-700"},Dw={class:"mb-2 flex items-center justify-between"},Fw={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},Hw={class:"rounded-lg bg-blue-100 p-1.5 dark:bg-blue-900/30"},Bw={class:"text-2xl font-bold text-gray-900 dark:text-white"},Ww={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Kw={class:"card border-amber-200 bg-gradient-to-br from-amber-50 to-white p-4 dark:border-amber-800/30 dark:from-amber-900/10 dark:to-dark-700"},Gw={class:"mb-2 flex items-center justify-between"},Jw={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},Qw={class:"rounded-lg bg-amber-100 p-1.5 dark:bg-amber-900/30"},Yw={class:"text-2xl font-bold text-gray-900 dark:text-white"},Xw={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Zw={class:"text-gray-400 dark:text-gray-500"},e9={class:"card border-purple-200 bg-gradient-to-br from-purple-50 to-white p-4 dark:border-purple-800/30 dark:from-purple-900/10 dark:to-dark-700"},t9={class:"mb-2 flex items-center justify-between"},a9={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},o9={class:"text-2xl font-bold text-gray-900 dark:text-white"},s9={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},l9={class:"grid grid-cols-1 gap-4 lg:grid-cols-3"},n9={class:"card p-4"},r9={class:"mb-3 flex items-center gap-2"},i9={class:"rounded-lg bg-cyan-100 p-1.5 dark:bg-cyan-900/30"},d9={class:"text-sm font-semibold text-gray-900 dark:text-white"},u9={class:"space-y-2"},c9={class:"flex items-center justify-between"},p9={class:"text-xs text-gray-500 dark:text-gray-400"},m9={class:"text-sm font-semibold text-gray-900 dark:text-white"},g9={class:"flex items-center justify-between"},v9={class:"text-xs text-gray-500 dark:text-gray-400"},b9={class:"text-sm font-semibold text-gray-900 dark:text-white"},y9={class:"flex items-center justify-between"},h9={class:"text-xs text-gray-500 dark:text-gray-400"},f9={class:"text-sm font-semibold text-gray-900 dark:text-white"},x9={class:"flex items-center justify-between"},k9={class:"text-xs text-gray-500 dark:text-gray-400"},_9={class:"text-sm font-semibold text-gray-900 dark:text-white"},w9={class:"card p-4"},$9={class:"mb-3 flex items-center gap-2"},C9={class:"rounded-lg bg-orange-100 p-1.5 dark:bg-orange-900/30"},T9={class:"text-sm font-semibold text-gray-900 dark:text-white"},M9={class:"space-y-2"},S9={class:"flex items-center justify-between"},U9={class:"text-xs text-gray-500 dark:text-gray-400"},E9={class:"text-sm font-semibold text-gray-900 dark:text-white"},A9={class:"flex items-center justify-between"},q9={class:"text-xs text-gray-500 dark:text-gray-400"}
20,R9={class:"text-sm font-semibold text-orange-600 dark:text-orange-400"},P9={class:"flex items-center justify-between"},V9={class:"text-xs text-gray-500 dark:text-gray-400"},I9={class:"text-sm font-semibold text-gray-900 dark:text-white"},z9={class:"flex items-center justify-between"},L9={class:"text-xs text-gray-500 dark:text-gray-400"},O9={class:"text-sm font-semibold text-gray-900 dark:text-white"},N9={class:"card p-4"},j9={class:"mb-3 flex items-center gap-2"},D9={class:"rounded-lg bg-indigo-100 p-1.5 dark:bg-indigo-900/30"},F9={class:"text-sm font-semibold text-gray-900 dark:text-white"},H9={class:"space-y-2"},B9={class:"flex items-center justify-between"},W9={class:"text-xs text-gray-500 dark:text-gray-400"},K9={class:"text-sm font-semibold text-gray-900 dark:text-white"},G9={class:"flex items-center justify-between"},J9={class:"text-xs text-gray-500 dark:text-gray-400"},Q9={class:"text-sm font-semibold text-indigo-600 dark:text-indigo-400"},Y9={class:"flex items-center justify-between"},X9={class:"text-xs text-gray-500 dark:text-gray-400"},Z9={class:"text-sm font-semibold text-gray-900 dark:text-white"},e$={class:"flex items-center justify-between"},t$={class:"text-xs text-gray-500 dark:text-gray-400"},a$={class:"text-sm font-semibold text-gray-900 dark:text-white"},o$={class:"grid grid-cols-1 gap-4 lg:grid-cols-3"},s$={class:"card p-4"},l$={class:"mb-3 flex items-center gap-2"},n$={class:"rounded-lg bg-teal-100 p-1.5 dark:bg-teal-900/30"},r$={class:"text-sm font-semibold text-gray-900 dark:text-white"},i$={class:"space-y-2"},d$={class:"flex items-center justify-between"},u$={class:"text-xs text-gray-500 dark:text-gray-400"},c$={class:"text-sm font-semibold text-gray-900 dark:text-white"},p$={class:"flex items-center justify-between"},m$={class:"text-xs text-gray-500 dark:text-gray-400"},g$={class:"text-sm font-semibold text-gray-900 dark:text-white"},v$={class:"card p-4"},b$={class:"mb-3 flex items-center gap-2"},y$={class:"rounded-lg bg-rose-100 p-1.5 dark:bg-rose-900/30"},h$={class:"text-sm font-semibold text-gray-900 dark:text-white"},f$={class:"space-y-2"},x$={class:"flex items-center justify-between"},k$={class:"text-xs text-gray-500 dark:text-gray-400"},_$={class:"text-sm font-semibold text-gray-900 dark:text-white"},w$={class:"flex items-center justify-between"},$$={class:"text-xs text-gray-500 dark:text-gray-400"},C$={class:"text-sm font-semibold text-gray-900 dark:text-white"},T$={class:"card p-4"},M$={class:"mb-3 flex items-center gap-2"},S$={class:"rounded-lg bg-lime-100 p-1.5 dark:bg-lime-900/30"},U$={class:"text-sm font-semibold text-gray-900 dark:text-white"},E$={class:"space-y-2"},A$={class:"flex items-center justify-between"},q$={class:"text-xs text-gray-500 dark:text-gray-400"},R$={class:"text-sm font-semibold text-gray-900 dark:text-white"},P$={class:"flex items-center justify-between"},V$={class:"text-xs text-gray-500 dark:text-gray-400"},I$={class:"text-sm font-semibold text-gray-900 dark:text-white"},z$={class:"flex items-center justify-between"},L$={class:"text-xs text-gray-500 dark:text-gray-400"},O$={class:"text-sm font-semibold text-gray-900 dark:text-white"},N$={class:"card p-4"},j$={class:"mb-4 text-sm font-semibold text-gray-900 dark:text-white"},D$={class:"h-64"},F$={key:1,class:"flex h-full items-center justify-center text-sm text-gray-500 dark:text-gray-400"},H$={key:3,class:"flex flex-col items-center justify-center py-12 text-gray-500 dark:text-gray-400"},B$={class:"text-sm"},W$={class:"flex justify-end"},K$=Dt({__name:"AccountStatsModal",props:{show:{type:Boolean},account:{}},emits:["close"],setup(c,{emit:A}){rn.register(dn,un,cn,pn,mn,gn,vn,bn);const{t:o}=Ht(),m=c,l=A,k=u(!1),x=u(null),L=P(()=>document.documentElement.classList.contains("dark")),R=P(()=>({text:L.value?"#e5e7eb":"#374151",grid:L.value?"#374151":"#e5e7eb"})),N=P(()=>{var F,H;return(H=(F=x.value)==null?void 0:F.history)!=null&&H.length?{labels:x.value.history.map(J=>J.label),datasets:[{label:o("usage.accountBilled")+" (USD)",data:x.value.history.map(J=>J.actual_cost),borderColor:"#3b82f6",backgroundColor:"rgba(59, 130, 246, 0.1)",fill:!0,tension:.3,yAxisID:"y"},{label:o("usage.userBilled")+" (USD)",data:x.value.history.map(J=>J.user_cost),borderColor:"#10b981",backgroundColor:"rgba(16, 185, 129, 0.08)",fill:!1,tension:.3,borderDash:[5,5],yAxisID:"y"},{label:o("admin.accounts.stats.requests"),data:x.value.history.map(J=>J.requests),borderColor:"#f97316",backgroundColor:"rgba(249, 115, 22, 0.1)",fill:!1,tension:.3,yAxisID:"y1"}]}:null}),K=P(()=>({responsive:!0,maintainAspectRatio:!1,interaction:{intersect:!1,mode:"index"},plugins:{legend:{position:"top",labels:{color:R.value.text,usePointStyle:!0,pointStyle:"circle",padding:15,font:{size:11}}},tooltip:{callbacks:{label:F=>{const H=F.dataset.label||"",J=F.raw;return H.includes("USD")?`${H}: $${M(J)}`:`${H}: ${h(J)}`}}}},scales:{x:{grid:{color:R.value.grid},ticks:{color:R.value.text,font:{size:10},maxRotation:45,minRotation:0}},y:{type:"linear",display:!0,position:"left",grid:{color:R.value.grid},ticks:{color:"#3b82f6",font:{size:10},callback:F=>"$"+M(Number(F))},title:{display:!0,text:o("usage.accountBilled")+" (USD)",color:"#3b82f6",font:{size:11}}},y1:{type:"linear",display:!0,position:"right",grid:{drawOnChartArea:!1},ticks:{color:"#f97316",font:{size:10},callback:F=>h(Number(F))},title:{display:!0,text:o("admin.accounts.stats.requests"),color:"#f97316",font:{size:11}}}}}));_t(()=>m.show,async F=>{F&&m.account?await S():x.value=null});const S=async()=>
20{if(m.account){k.value=!0;try{x.value=await be.accounts.getStats(m.account.id,30)}catch(F){console.error("Failed to load account stats:",F),x.value=null}finally{k.value=!1}}},U=()=>{l("close")},M=F=>F>=1e3?(F/1e3).toFixed(2)+"K":F>=1?F.toFixed(2):F>=.01?F.toFixed(3):F.toFixed(4),h=F=>F>=1e6?(F/1e6).toFixed(2)+"M":F>=1e3?(F/1e3).toFixed(2)+"K":F.toLocaleString(),y=F=>F>=1e9?`${(F/1e9).toFixed(2)}B`:F>=1e6?`${(F/1e6).toFixed(2)}M`:F>=1e3?`${(F/1e3).toFixed(2)}K`:F.toLocaleString(),ae=F=>F>=1e3?`${(F/1e3).toFixed(2)}s`:`${Math.round(F)}ms`;return(F,H)=>(n(),Be(ua,{show:c.show,title:t(o)("admin.accounts.usageStatistics"),width:"extra-wide",onClose:U},{footer:qe(()=>[e("div",W$,[e("button",{onClick:U,class:"rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-300 dark:hover:bg-dark-500"},a(t(o)("common.close")),1)])]),default:qe(()=>{var J,Z,ie,ne,z,ke,de,xe,Me,ce,W,ee,_,O,G;return[e("div",Tw,[c.account?(n(),r("div",Mw,[e("div",Sw,[e("div",Uw,[E(te,{name:"chartBar",size:"md",class:"text-white"})]),e("div",null,[e("div",Ew,a(c.account.name),1),e("div",Aw,a(t(o)("admin.accounts.last30DaysUsage")),1)])]),e("span",{class:C(["rounded-full px-2.5 py-1 text-xs font-semibold",c.account.status==="active"?"bg-green-100 text-green-700 dark:bg-green-500/20 dark:text-green-400":"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400"])},a(c.account.status),3)])):v("",!0),k.value?(n(),r("div",qw,[E(nn)])):x.value?(n(),r(me,{key:2},[e("div",Rw,[e("div",Pw,[e("div",Vw,[e("span",Iw,a(t(o)("admin.accounts.stats.totalCost")),1),e("div",zw,[E(te,{name:"dollar",size:"sm",class:"text-emerald-600 dark:text-emerald-400"})])]),e("p",Lw," $"+a(M(x.value.summary.total_cost)),1),e("p",Ow,[oe(a(t(o)("admin.accounts.stats.accumulatedCost"))+" ",1),e("span",Nw," ("+a(t(o)("usage.userBilled"))+": $"+a(M(x.value.summary.total_user_cost))+" · "+a(t(o)("admin.accounts.stats.standardCost"))+": $"+a(M(x.value.summary.total_standard_cost))+") ",1)])]),e("div",jw,[e("div",Dw,[e("span",Fw,a(t(o)("admin.accounts.stats.totalRequests")),1),e("div",Hw,[E(te,{name:"bolt",size:"sm",class:"text-blue-600 dark:text-blue-400"})])]),e("p",Bw,a(h(x.value.summary.total_requests)),1),e("p",Ww,a(t(o)("admin.accounts.stats.totalCalls")),1)]),e("div",Kw,[e("div",Gw,[e("span",Jw,a(t(o)("admin.accounts.stats.avgDailyCost")),1),e("div",Qw,[E(te,{name:"calculator",size:"sm",class:"text-amber-600 dark:text-amber-400"})])]),e("p",Yw," $"+a(M(x.value.summary.avg_daily_cost)),1),e("p",Xw,[oe(a(t(o)("admin.accounts.stats.basedOnActualDays",{days:x.value.summary.actual_days_used}))+" ",1),e("span",Zw," ("+a(t(o)("usage.userBilled"))+": $"+a(M(x.value.summary.avg_daily_user_cost))+") ",1)])]),e("div",e9,[e("div",t9,[e("span",a9,a(t(o)("admin.accounts.stats.avgDailyRequests")),1),H[0]||(H[0]=e("div",{class:"rounded-lg bg-purple-100 p-1.5 dark:bg-purple-900/30"},[e("svg",{class:"h-4 w-4 text-purple-600 dark:text-purple-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"})])],-1))]),e("p",o9,a(h(Math.round(x.value.summary.avg_daily_requests))),1),e("p",s9,a(t(o)("admin.accounts.stats.avgDailyUsage")),1)])]),e("div",l9,[e("div",n9,[e("div",r9,[e("div",i9,[E(te,{name:"clock",size:"sm",class:"text-cyan-600 dark:text-cyan-400"})]),e("span",d9,a(t(o)("admin.accounts.stats.todayOverview")),1)]),e("div",u9,[e("div",c9,[e("span",p9,a(t(o)("usage.accountBilled")),1),e("span",m9,"$"+a(M(((J=x.value.summary.today)==null?void 0:J.cost)||0)),1)]),e("div",g9,[e("span",v9,a(t(o)("usage.userBilled")),1),e("span",b9,"$"+a(M(((Z=x.value.summary.today)==null?void 0:Z.user_cost)||0)),1)]),e("div",y9,[e("span",h9,a(t(o)("admin.accounts.stats.requests")),1),e("span",f9,a(h(((ie=x.value.summary.today)==null?void 0:ie.requests)||0)),1)]),e("div",x9,[e("span",k9,a(t(o)("admin.accounts.stats.tokens")),1),e("span",_9,a(y(((ne=x.value.summary.today)==null?void 0:ne.tokens)||0)),1)])])]),e("div",w9,[e("div",$9,[e("div",C9,[E(te,{name:"fire",size:"sm",class:"text-orange-600 dar
20k:text-orange-400"})]),e("span",T9,a(t(o)("admin.accounts.stats.highestCostDay")),1)]),e("div",M9,[e("div",S9,[e("span",U9,a(t(o)("admin.accounts.stats.date")),1),e("span",E9,a(((z=x.value.summary.highest_cost_day)==null?void 0:z.label)||"-"),1)]),e("div",A9,[e("span",q9,a(t(o)("usage.accountBilled")),1),e("span",R9,"$"+a(M(((ke=x.value.summary.highest_cost_day)==null?void 0:ke.cost)||0)),1)]),e("div",P9,[e("span",V9,a(t(o)("usage.userBilled")),1),e("span",I9,"$"+a(M(((de=x.value.summary.highest_cost_day)==null?void 0:de.user_cost)||0)),1)]),e("div",z9,[e("span",L9,a(t(o)("admin.accounts.stats.requests")),1),e("span",O9,a(h(((xe=x.value.summary.highest_cost_day)==null?void 0:xe.requests)||0)),1)])])]),e("div",N9,[e("div",j9,[e("div",D9,[E(te,{name:"trendingUp",size:"sm",class:"text-indigo-600 dark:text-indigo-400"})]),e("span",F9,a(t(o)("admin.accounts.stats.highestRequestDay")),1)]),e("div",H9,[e("div",B9,[e("span",W9,a(t(o)("admin.accounts.stats.date")),1),e("span",K9,a(((Me=x.value.summary.highest_request_day)==null?void 0:Me.label)||"-"),1)]),e("div",G9,[e("span",J9,a(t(o)("admin.accounts.stats.requests")),1),e("span",Q9,a(h(((ce=x.value.summary.highest_request_day)==null?void 0:ce.requests)||0)),1)]),e("div",Y9,[e("span",X9,a(t(o)("usage.accountBilled")),1),e("span",Z9,"$"+a(M(((W=x.value.summary.highest_request_day)==null?void 0:W.cost)||0)),1)]),e("div",e$,[e("span",t$,a(t(o)("usage.userBilled")),1),e("span",a$,"$"+a(M(((ee=x.value.summary.highest_request_day)==null?void 0:ee.user_cost)||0)),1)])])])]),e("div",o$,[e("div",s$,[e("div",l$,[e("div",n$,[E(te,{name:"cube",size:"sm",class:"text-teal-600 dark:text-teal-400"})]),e("span",r$,a(t(o)("admin.accounts.stats.accumulatedTokens")),1)]),e("div",i$,[e("div",d$,[e("span",u$,a(t(o)("admin.accounts.stats.totalTokens")),1),e("span",c$,a(y(x.value.summary.total_tokens)),1)]),e("div",p$,[e("span",m$,a(t(o)("admin.accounts.stats.dailyAvgTokens")),1),e("span",g$,a(y(Math.round(x.value.summary.avg_daily_tokens))),1)])])]),e("div",v$,[e("div",b$,[e("div",y$,[E(te,{name:"bolt",size:"sm",class:"text-rose-600 dar
20k:text-rose-400"})]),e("span",h$,a(t(o)("admin.accounts.stats.performance")),1)]),e("div",f$,[e("div",x$,[e("span",k$,a(t(o)("admin.accounts.stats.avgResponseTime")),1),e("span",_$,a(ae(x.value.summary.avg_duration_ms)),1)]),e("div",w$,[e("span",$$,a(t(o)("admin.accounts.stats.daysActive")),1),e("span",C$,a(x.value.summary.actual_days_used)+" / "+a(x.value.summary.days),1)])])]),e("div",T$,[e("div",M$,[e("div",S$,[E(te,{name:"clipboard",size:"sm",class:"text-lime-600 dark:text-lime-400"})]),e("span",U$,a(t(o)("admin.accounts.stats.recentActivity")),1)]),e("div",E$,[e("div",A$,[e("span",q$,a(t(o)("admin.accounts.stats.todayRequests")),1),e("span",R$,a(h(((_=x.value.summary.today)==null?void 0:_.requests)||0)),1)]),e("div",P$,[e("span",V$,a(t(o)("admin.accounts.stats.todayTokens")),1),e("span",I$,a(y(((O=x.value.summary.today)==null?void 0:O.tokens)||0)),1)]),e("div",z$,[e("span",L$,a(t(o)("admin.accounts.stats.todayCost")),1),e("span",O$,"$"+a(M(((G=x.value.summary.today)==null?void 0:G.cost)||0)),1)])])])]),e("div",N$,[e("h3",j$,a(t(o)("admin.accounts.stats.usageTrend")),1),e("div",D$,[N.value?(n(),Be(t(yn),{key:0,data:N.value,options:K.value},null,8,["data","options"])):(n(),r("div",F$,a(t(o)("admin.dashboard.noDataAvailable")),1))])]),E(hn,{"model-stats":x.value.models,loading:!1},null,8,["model-stats"]),E(Ps,{"endpoint-stats":x.value.endpoints||[],loading:!1,title:t(o)("usage.inboundEndpoint")},null,8,["endpoint-stats","title"]),E(Ps,{"endpoint-stats":x.value.upstream_endpoints||[],loading:!1,title:t(o)("usage.upstreamEndpoint")},null,8,["endpoint-stats","title"])],64)):k.value?v("",!0):(n(),r("div",H$,[E(te,{name:"chartBar",size:"xl",class:"mb-4 h-12 w-12"}),e("p",B$,a(t(o)("admin.accounts.stats.noData")),1)]))])]}),_:1},8,["show","title"]))}}),G$={class:"w-full"},J$=["for"],Q$={key:0,class:"text-red-500"},Y$={class:"relative"},X$={key:0,class:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3.5 text-gray-400 dark:text-dark-400"},Z$=["id","type","value","disabled","required","placeholder","autocomplete","readonly"],eC={key:1,class:"absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 dark:text-dark-400"},tC={key:1,class:"input-error-text mt-1.5"},aC={key:2,class:"input-hint mt-1.5"},as=Dt({__name:"Input",props:{modelValue:{},type:{default:"text"},label:{},placeholder:{},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},error:{},hint:{},id:{},autocomplete:{}},emits:["update:modelValue","change","blur","focus","enter"],setup(c,{expose:A,emit:o}){const m=c,l=o,k=u(null),x=P(()=>m.placeholder||""),L=R=>{const N=R.target.value;l("update:modelValue",N)};return A({focus:()=>{var R;return(R=k.value)==null?void 0:R.focus()},select:()=>{var R;return(R=k.value)==null?void 0:R.select()}}),(R,N)=>(n(),r("div",G$,[c.label?(n(),r("label",{key:0,for:c.id,class:"input-label mb-1.5 block"},[oe(a(c.label)+" ",1),c.required?(n(),r("span",Q$,"*")):v("",!0)],8,J$)):v("",!0),e("div",Y$,[R.$slots.prefix?(n(),r("div",X$,[Es(R.$slots,"prefix")])):v("",!0),e("input",{id:c.id,ref_key:"inputRef",ref:k,type:c.type,value:c.modelValue,disabled:c.disabled,required:c.required,placeholder:x.value,autocomplete:c.autocomplete,readonly:c.readonly,class:C(["input w-full transition-all duration-200",R.$slots.prefix?"pl-11":"",R.$slots.suffix?"pr-11":"",c.error?"input-error ring-2 ring-red-500/20":"",c.disabled?"cursor-not-allowed bg-gray-100 opacity-60 dark:bg-dark-900":""]),onInput:L,onChange:N[0]||(N[0]=K=>R.$emit("change",K.target.value)),onBlur:N[1]||(N[1]=K=>R.$emit("blur",K)),onFocus:N[2]||(N[2]=K=>R.$emit("focus",K)),onKeyup:N[3]||(N[3]=Fo(K=>R.$emit("enter",K),["enter"]))},null,42,Z$),R.$slots.suffix?(n(),r("div",eC,[Es(R.$slots,"suffix")])):v("",!0)]),c.error?(n(),r("p",tC,a(c.error),1)):c.hint?(n(),r("p",aC,a(c.hint),1)):v("",!0)]))}}),oC={class:"space-y-4"},sC={class:"flex items-center justify-between"},lC={class:"text-sm text-gray-500 dark:text-gray-400"},nC={key:0,class:"rounded-xl border border-primary-200 bg-primary-50/50 p-4 dark:border-primary-800 dark:bg-primary-900/20"},rC={class:"mb-3 text-sm font-medium text-gray-700 dark:text-gray-300"},iC={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},dC={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},uC={class:"mb-1 flex items-center gap-1 text-xs font-medium text-gray-600 dark:text-gray-400"},cC={class:"space-y-1.5"},pC={class:"font-medium"},mC={class:"mb-1 flex items-center gap-1 text-xs font-medium text-gray-600 dark:text-gray-400"},gC={class:"space-y-1.5"},vC={class:"font-medium"},bC={class:"flex items-end"},yC={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},hC={class:"flex items-end"},fC={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},xC={class:"mt-0.5 text-xs text-gray-400 dark:text-gray-500"},kC={class:"mt-3 flex justify-end gap-2"},_C=["disabled"],wC={key:1,class:"flex items-center justify-center py-8"},$C={class:"ml-2 text-sm text-gray-500"},CC={key:2,class:"rounded-xl border border-dashed border-gray-300 py-10 text-center dark:border-dark-600"},TC={class:"text-sm text-gray-500 dark:text-gray-400"},MC={key:3,class:"space-y-3"},SC=["onClick"],UC={class:"flex flex-1 items-center gap-4"},EC={class:"min-w-0"},AC={class:"text-sm font-medium text-gray-900 dark:text-gray-100"},qC={class:"mt-0.5 font-mono text-xs text-gray-500 dark:text-gray-400"},RC={class:"text-xs text-gray-500 dark:text-gray-400"},PC={key:0,class:"inline-flex items-center rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-500/20 dark:text-emerald-400"},VC={class:"flex items-center gap-3"},IC={key:0,class:"hidden text-right text-xs text-gray-500 dark:text-gray-400 sm:block"},zC={key:1,class:"hidden text-right text-xs text-gray-500 dark:text-gray-400 sm:block"},LC=["onClick","title"],OC=["onClick","title"],NC={class:"mb-2 text-xs font-medium text-gray-600 dark:text-gray-400"},jC={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},DC={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},FC={class:"mb-1 flex items-center gap-1 text-xs font-medium text-gray-600 dark:text-gray-400"},HC={class:"space-y-1.5"},BC={class:"font-medium"},WC={class:"mb-1 flex items-center gap-1 text-xs font-medium text-gray-600 dark:text-gray-400"},KC={class:"space-y-1.5"},GC={class:"font-medium"},JC={class:"flex items-end"},QC={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},YC={class:"flex items-end"},XC={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},ZC={class:"mt-0.5 text-xs text-gray-400 dark:text-gray-500"},eT={class:"mt-3 flex justify-end gap-2"},tT=["disabled"],aT={key:1,class:"border-t border-gray-100 px-4 py-3 dark:border-dark-700"},oT={class:"mb-2 text-xs font-medium text-gray-600 dark:text-gray-400"},sT={key:0,class:"flex items-center justify-center py-4"},lT={class:"ml-2 text-xs text-gray-500"},nT={key:1,class:"py-4 text-center text-xs text-gray-500 dark:text-gray-400"},rT={key:2,class:"max-h-64 space-y-2 overflow-y-auto"},iT={class:"flex items-center justify-between"},dT={class:"flex items-center gap-2"},uT={key:0,class:"text-xs text-gray-500 dark:text-gray-400"},cT={class:"text-xs text-gray-400"},pT={key:0,class:"mt-2"},mT=["onClick"],gT={key:0,class:"mt-1 max-h-32 overflow-auto whitespace-pre-wrap rounded bg-red-50 p-2 text-xs text-red-700 dark:bg-red-900/20 dark:text-red-300"},vT={key:1,class:"mt-2"},bT=["onClick"],yT={key:0,class:"mt-1 max-h-32 overflow-auto whitespace-pre-wrap rounded bg-gray-100 p-2 text-xs text-gray-700 dark:bg-dark-800 dark:text-gray-300"},hT=Dt({__name:"ScheduledTestsPanel",props:{show:{type:Boolean},accountId:{},modelOptions:{}},emits:["close"],setup(c,{emit:A}){const{t:o}=Ht(),m=ra(),l=c,k=A,x=u(!1),L=u(!1),R=u(!1),N=u([]),K=u([]),S=u(null),U=fa(new Set),M=u(!1),h=u(!1),y=u(null),ae=u(null),F=u(!1),H=fa({model_id:"",cron_expression:"",max_results:"100",enabled:!0,auto_recover:!1}),J=fa({model_id:"",cron_expression:"",max_results:"100",enabled:!0,auto_recover:!1}),Z=()=>{J.model_id="",J.cron_expression="",J.max_results="100",J.enabled=!0,J.auto_recover=!1};_t(()=>l.show,async _=>{_&&l.accountId?await ie():(N.value=[],K.value=[],S.value=null,U.clear(),M.value=!1,h.value=!1)});const ie=async()=>
20{if(l.accountId){x.value=!0;try{N.value=await be.scheduledTests.listByAccount(l.accountId)}catch(_){m.showError((_==null?void 0:_.message)||"Failed to load plans")}finally{x.value=!1}}},ne=async()=>{if(!(!l.accountId||!J.model_id||!J.cron_expression)){L.value=!0;try{const _=Number(J.max_results)||100;await be.scheduledTests.create({account_id:l.accountId,model_id:J.model_id,cron_expression:J.cron_expression,enabled:J.enabled,max_results:_,auto_recover:J.auto_recover}),m.showSuccess(o("admin.scheduledTests.createSuccess")),M.value=!1,Z(),await ie()}catch(_){m.showError((_==null?void 0:_.message)||"Failed to create plan")}finally{L.value=!1}}},z=async(_,O)=>{try{const G=await be.scheduledTests.update(_.id,{enabled:O}),he=N.value.findIndex(Pe=>Pe.id===_.id);he!==-1&&(N.value[he]=G),m.showSuccess(o("admin.scheduledTests.updateSuccess"))}catch(G){m.showError((G==null?void 0:G.message)||"Failed to update plan")}},ke=_=>{ae.value=_.id,H.model_id=_.model_id,H.cron_expression=_.cron_expression,H.max_results=String(_.max_results),H.enabled=_.enabled,H.auto_recover=_.auto_recover},de=()=>{ae.value=null},xe=async()=>{if(!(!ae.value||!H.model_id||!H.cron_expression)){F.value=!0;try{const _=await be.scheduledTests.update(ae.value,{model_id:H.model_id,cron_expression:H.cron_expression,max_results:Number(H.max_results)||100,enabled:H.enabled,auto_recover:H.auto_recover}),O=N.value.findIndex(G=>G.id===ae.value);O!==-1&&(N.value[O]=_),m.showSuccess(o("admin.scheduledTests.updateSuccess")),ae.value=null}catch(_){m.showError((_==null?void 0:_.message)||"Failed to update plan")}finally{F.value=!1}}},Me=_=>{y.value=_,h.value=!0},ce=async()=>{if(y.value)try{await be.scheduledTests.delete(y.value.id),m.showSuccess(o("admin.scheduledTests.deleteSuccess")),N.value=N.value.filter(_=>_.id!==y.value.id),S.value===y.value.id&&(S.value=null,K.value=[])}catch(_){m.showError((_==null?void 0:_.message)||"Failed to delete plan")}finally{h.value=!1,y.value=null}},W=async _=>{if(S.value===_){S.value=null,K.value=[],U.clear();return}S.value=_,U.clear(),R.value=!0;try{K.value=await be.scheduledTests.listResults(_,20)}catch(O){m.showError((O==null?void 0:O.message)||"Failed to load results"),K.value=[]}finally{R.value=!1}},ee=_=>{U.has(_)?U.delete(_):U.add(_)};return(_,O)=>(n(),Be(ua,{show:c.show,title:t(o)("admin.scheduledTests.title"),width:"wide",onClose:O[16]||(O[16]=G=>k("close"))},{default:qe(()=>[e("div",oC,[e("div",sC,[e("p",lC,a(t(o)("admin.scheduledTests.title")),1),e("button",{onClick:O[0]||(O[0]=G=>M.value=!M.value),class:"btn btn-primary flex items-center gap-1.5 text-sm"},[E(t(te),{name:"plus",size:"sm","stroke-width":2}),oe(" "+a(t(o)("admin.scheduledTests.addPlan")),1)])]),M.value?(n(),r("div",nC,[e("div",rC,a(t(o)("admin.scheduledTests.addPlan")),1),e("div",iC,[e("div",null,[e("label",dC,a(t(o)("admin.scheduledTests.model")),1),E(Ca,{modelValue:J.model_id,"onUpdate:modelValue":O[1]||(O[1]=G=>J.model_id=G),options:c.modelOptions,placeholder:t(o)("admin.scheduledTests.model"),searchable:c.modelOptions.length>5},null,8,["modelValue","options","placeholder","searchable"])]),e("div",null,[e("label",uC,[oe(a(t(o)("admin.scheduledTests.cronExpression"))+" ",1),E(ts,null,{trigger:qe(()=>[...O[17]||(O[17]=[e("span",{class:"inline-flex h-4 w-4 cursor-help items-center justify-center rounded-full border border-gray-400/70 text-[10px] font-semibold text-gray-400 transition-colors hover:border-primary-500 hover:text-primary-600 dark:border-gray-500 dark:text-gray-500 dark:hover:border-primary-400 dark:hover:text-primary-400"}," ? ",-1)])]),default:qe(()=>[e("div",cC,[e("p",pC,a(t(o)("admin.scheduledTests.cronTooltipTitle")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipMeaning")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipExampleEvery30Min")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipExampleHourly")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipExampleDaily")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipExampleWeekly")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipRange")),1)])]),_:1})]),E(as,{modelValue:J.cron_expression,"onUpdate:modelValue":O[2]||(O[2]=G=>J.cron_expression=G),placeholder:"*/30 * * * *",hint:t(o)("admin.scheduledTests.cronHelp")},null,8,["modelValue","hint"])]),e("div",null,[e("label",mC,[oe(a(t(o)("admin.scheduledTests.maxResults"))+" ",1),E(ts,null,{trigger:qe(()=>[...O[18]||(O[18]=[e("span",{class:"inline-flex h-4 w-4 cursor-help items-center justify-center rounded-full border border-gray-400/70 text-[10px] font-semibold text-gray-400 transition-colors hover:border-primary-500 hover:text-primary-600 dark:border-gray-500 dark:text-gray-500 dark:hover:border-primary-400 dark:hover:text-primary-400"}," ? ",-1)])]),default:qe(()=>[e("div",gC,[e("p",vC,a(t(o)("admin.scheduledTests.maxResultsTooltipTitle")),1),e("p",null,a(t(o)("admin.scheduledTests.maxResultsTooltipMeaning")),1),e("p",null,a(t(o)("admin.scheduledTests.maxResultsTooltipBody")),1),e("p",null,a(t(o)("admin.scheduledTests.maxResultsTooltipExample")),1),e("p",null,a(t(o)("admin.scheduledTests.maxResultsTooltipRange")),1)])]),_:1})]),E(as,{modelValue:J.max_results,"onUpdate:modelValue":O[3]||(O[3]=G=>J.max_results=G),type:"number",placeholder:"100"},null,8,["modelValue"])]),e("div",bC,[e("label",yC,[E(Oo,{modelValue:J.enabled,"onUpdate:modelValue":O[4]||(O[4]=G=>J.enabled=G)},null,8,["modelValue"]),oe(" "+a(t(o)("admin.scheduledTests.enabled")),1)])]),e("div",hC,[e("div",null,[e("label",fC,[E(Oo,{modelValue:J.auto_recover,"onUpdate:modelValue":O[5]||(O[5]=G=>J.auto_recover=G)},null,8,["modelValue"]),oe(" "+a(t(o)("admin.scheduledTests.autoRecover")),1)]),e("p",xC,a(t(o)("admin.scheduledTests.autoRecoverHelp")),1)])])]),e("div",kC,[e("button",{onClick:O[6]||(O[6]=G=>{M.value=!1,Z()}),class:"rounded-lg bg-gray-100 px-3 py-1.5 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-300 dark:hover:bg-dark-500"},a(t(o)("common.cancel")),1),e("button",{onClick:ne,disabled:!J.model_id||!J.cron_expression||L.value,class:"flex items-center gap-1.5 rounded-lg bg-primary-500 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-primary-600 disabled:cursor-not-allowed disabled:opacity-50"},[L.value?(n(),Be(t(te),{key:0,name:"refresh",size:"sm",class:"animate-spin","stroke-width":2})):v("",!0),oe(" "+a(t(o)("common.save")),1)],8,_C)])])):v("",!0),x.value?(n(),r("div",wC,[E(t(te),{name:"refresh",size:"md",class:"animate-spin text-gray-400","stroke-width":2}),e("span",$C,a(t(o)("common.loading"))+"...",1)])):N.value.length===0?(n(),r("div",CC,[E(t(te),{name:"calendar",size:"lg",class:"mx-auto mb-2 text-gray-400","stroke-width":1.5}
20),e("p",TC,a(t(o)("admin.scheduledTests.noPlans")),1)])):(n(),r("div",MC,[(n(!0),r(me,null,$e(N.value,G=>(n(),r("div",{key:G.id,class:"rounded-xl border border-gray-200 bg-white transition-all dark:border-dark-600 dark:bg-dark-800"},[e("div",{class:"flex cursor-pointer items-center justify-between px-4 py-3",onClick:he=>W(G.id)},[e("div",UC,[e("div",EC,[e("div",AC,a(G.model_id),1),e("div",qC,a(G.cron_expression),1)]),e("div",{class:"flex items-center gap-1.5",onClick:O[7]||(O[7]=Xt(()=>{},["stop"]))},[E(Oo,{"model-value":G.enabled,"onUpdate:modelValue":he=>z(G,he)},null,8,["model-value","onUpdate:modelValue"]),e("span",RC,a(G.enabled?t(o)("admin.scheduledTests.enabled"):""),1)]),G.auto_recover?(n(),r("span",PC,a(t(o)("admin.scheduledTests.autoRecover")),1)):v("",!0)]),e("div",VC,[G.last_run_at?(n(),r("div",IC,[e("div",null,a(t(o)("admin.scheduledTests.lastRun")),1),e("div",null,a(t(no)(G.last_run_at)),1)])):v("",!0),G.next_run_at?(n(),r("div",zC,[e("div",null,a(t(o)("admin.scheduledTests.nextRun")),1),e("div",null,a(t(no)(G.next_run_at)),1)])):v("",!0),e("div",{class:"flex items-center gap-1",onClick:O[8]||(O[8]=Xt(()=>{},["stop"]))},[e("button",{onClick:he=>ke(G),class:"rounded-lg p-1.5 text-gray-400 transition-colors hover:bg-blue-50 hover:text-blue-500 dark:hover:bg-blue-900/20",title:t(o)("admin.scheduledTests.editPlan")},[E(t(te),{name:"edit",size:"sm","stroke-width":2})],8,LC),e("button",{onClick:he=>Me(G),class:"rounded-lg p-1.5 text-gray-400 transition-colors hover:bg-red-50 hover:text-red-500 dark:hover:bg-red-900/20",title:t(o)("admin.scheduledTests.deletePlan")},[E(t(te),{name:"trash",size:"sm","stroke-width":2})],8,OC)]),E(t(te),{name:"chevronDown",size:"sm",class:C(["text-gray-400 transition-transform duration-200",S.value===G.id?"rotate-180":""])},null,8,["class"])])],8,SC),ae.value===G.id?(n(),r("div",{key:0,class:"border-t border-blue-100 bg-blue-50/50 px-4 py-3 dark:border-blue-900 dark:bg-blue-900/10",onClick:O[14]||(O[14]=Xt(()=>{},["stop"]))},[e("div",NC,a(t(o)("admin.scheduledTests.editPlan")),1),e("div",jC,[e("div",null,[e("label",DC,a(t(o)("admin.scheduledTests.model")),1),E(Ca,{modelValue:H.model_id,"onUpdate:modelValue":O[9]||(O[9]=he=>H.model_id=he),options:c.modelOptions,placeholder:t(o)("admin.scheduledTests.model"),searchable:c.modelOptions.length>5},null,8,["modelValue","options","placeholder","searchable"])]),e("div",null,[e("label",FC,[oe(a(t(o)("admin.scheduledTests.cronExpression"))+" ",1),E(ts,null,{trigger:qe(()=>[...O[19]||(O[19]=[e("span",{class:"inline-flex h-4 w-4 cursor-help items-center justify-center rounded-full border border-gray-400/70 text-[10px] font-semibold text-gray-400 transition-colors hover:border-primary-500 hover:text-primary-600 dark:border-gray-500 dark:text-gray-500 dark:hover:border-primary-400 dark:hover:text-primary-400"}," ? ",-1)])]),default:qe(()=>[e("div",HC,[e("p",BC,a(t(o)("admin.scheduledTests.cronTooltipTitle")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipMeaning")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipExampleEvery30Min")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipExampleHourly")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipExampleDaily")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipExampleWeekly")),1),e("p",null,a(t(o)("admin.scheduledTests.cronTooltipRange")),1)])]),_:1})]),E(as,{modelValue:H.cron_expression,"onUpdate:modelValue":O[10]||(O[10]=he=>H.cron_expression=he),placeholder:"*/30 * * * *",hint:t(o)("admin.scheduledTests.cronHelp")},null,8,["modelValue","hint"])]),e("div",null,[e("label",WC,[oe(a(t(o)("admin.scheduledTests.maxResults"))+" ",1),E(ts,null,{trigger:qe(()=>[...O[20]||(O[20]=[e("span",{class:"inline-flex h-4 w-4 cursor-help items-center justify-center rounded-full border border-gray-400/70 text-[10px] font-semibold text-gray-400 transition-colors hover:border-primary-500 hover:text-primary-600 dark:border-gray-500 dark:text-gray-500 dark:hover:border-primary-400 dark:hover:text-primary-400"}," ? ",-1)])]),default:qe(()=>[e("div",KC,[e("p",GC,a(t(o)("admin.scheduledTests.maxResultsTooltipTitle")),1),e("p",null,a(t(o)("admin.scheduledTests.maxResultsTooltipMeaning")),1),e("p",null,a(t(o)("admin.scheduledTests.maxResultsTooltipBody")),1),e("p",null,a(t(o)("admin.scheduledTests.maxResultsTooltipExample")),1),e("p",null,a(t(o)("admin.scheduledTests.maxResultsTooltipRange")),1)])]),_:1})]),E(as,{modelValue:H.max_results,"onUpdate:modelValue":O[11]||(O[11]=he=>H.max_results=he),type:"number",placeholder:"100"},null,8,["modelValue"])]),e("div",JC,[e("label",QC,[E(Oo,{modelValue:H.enabled,"onUpdate:modelValue":O[12]||(O[12]=he=>H.enabled=he)},null,8,["modelValue"]),oe(" "+a(t(o)("admin.scheduledTests.enabled")),1)])]),e("div",YC,[e("div",null,[e("label",XC,[E(Oo,{modelValue:H.auto_recover,"onUpdate:modelValue":O[13]||(O[13]=he=>H.auto_recover=he)},null,8,["modelValue"]),oe(" "+a(t(o)("admin.scheduledTests.autoRecover")),1)]),e("p",ZC,a(t(o)("admin.scheduledTests.autoRecoverHelp")),1)])])]),e("div",eT,[e("button",{onClick:de,class:"rounded-lg bg-gray-100 px-3 py-1.5 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200 dark:bg-dark-600 dark:text-gray-300 dark:hover:bg-dark-500"},a(t(o)("common.cancel")),1),e("button",{onClick:xe,disabled:!H.model_id||!H.cron_expression||F.value,class:"flex items-center gap-1.5 rounded-lg bg-primary-500 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-primary-600 disabled:cursor-not-allowed disabled:opacity-50"},[F.value?(n(),Be(t(te),{key:0,name:"refresh",size:"sm",class:"animate-spin","stroke-width":2})):v("",!0),oe(" "+a(t(o)("common.save")),1)],8,tT)])])):v("",!0),S.value===G.id?(n(),r("div",aT,[e("div",oT,a(t(
20o)("admin.scheduledTests.results")),1),R.value?(n(),r("div",sT,[E(t(te),{name:"refresh",size:"sm",class:"animate-spin text-gray-400","stroke-width":2}),e("span",lT,a(t(o)("common.loading"))+"...",1)])):K.value.length===0?(n(),r("div",nT,a(t(o)("admin.scheduledTests.noResults")),1)):(n(),r("div",rT,[(n(!0),r(me,null,$e(K.value,he=>(n(),r("div",{key:he.id,class:"rounded-lg border border-gray-100 bg-gray-50 p-3 dark:border-dark-700 dark:bg-dark-900"},[e("div",iT,[e("div",dT,[e("span",{class:C(["inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",he.status==="success"?"bg-green-100 text-green-700 dark:bg-green-500/20 dark:text-green-400":he.status==="running"?"bg-blue-100 text-blue-700 dark:bg-blue-500/20 dark:text-blue-400":"bg-red-100 text-red-700 dark:bg-red-500/20 dark:text-red-400"])},a(he.status==="success"?t(o)("admin.scheduledTests.success"):he.status==="running"?t(o)("admin.scheduledTests.running"):t(o)("admin.scheduledTests.failed")),3),he.latency_ms>0?(n(),r("span",uT,a(he.latency_ms)+"ms ",1)):v("",!0)]),e("span",cT,a(t(no)(he.started_at)),1)]),he.error_message?(n(),r("div",pT,[e("div",{class:"cursor-pointer text-xs font-medium text-red-600 dark:text-red-400",onClick:Pe=>ee(he.id)},[oe(a(t(o)("admin.scheduledTests.errorMessage"))+" ",1),E(t(te),{name:"chevronDown",size:"sm",class:C(["inline transition-transform duration-200",U.has(he.id)?"rotate-180":""])},null,8,["class"])],8,mT),U.has(he.id)?(n(),r("pre",gT,a(he.error_message),1)):v("",!0)])):he.response_text?(n(),r("div",vT,[e("div",{class:"cursor-pointer text-xs font-medium text-gray-600 dark:text-gray-400",onClick:Pe=>ee(he.id)},[oe(a(t(o)("admin.scheduledTests.responseText"))+" ",1),E(t(te),{name:"chevronDown",size:"sm",class:C(["inline transition-transform duration-200",U.has(he.id)?"rotate-180":""])},null,8,["class"])],8,bT),U.has(he.id)?(n(),r("pre",yT,a(he.response_text),1)):v("",!0)])):v("",!0)]))),128))]))])):v("",!0)]))),128))]))]),E(ro,{show:h.value,title:t(o)("admin.scheduledTests.deletePlan"),message:t(o)("admin.scheduledTests.confirmDelete"),"confirm-text":t(o)("common.delete"),"cancel-text":t(o)("common.cancel"),danger:!0,onConfirm:ce,onCancel:O[15]||(O[15]=G=>h.value=!1)},null,8,["show","title","message","confirm-text","cancel-text"])]),_:1},8,["show","title"]))}}),fT={class:"space-y-4"},xT={class:"flex items-center justify-between"},kT={class:"text-sm text-gray-500 dark:text-gray-400"},_T={key:0,class:"flex items-center justify-center py-8"},wT={key:1,class:"py-8 text-center"},$T={class:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-gray-100 dark:bg-dark-700"},CT={class:"mb-1 text-sm font-medium text-gray-900 dark:text-white"},TT={class:"text-sm text-gray-500 dark:text-gray-400"},MT={key:2,class:"max-h-96 overflow-auto rounded-lg border border-gray-200 dark:border-dark-600"},ST={class:"min-w-full divide-y divide-gray-200 dark:divide-dark-700"},UT={class:"sticky top-0 bg-gray-50 dark:bg-dark-700"},ET={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},AT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},qT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},RT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},PT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},VT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},IT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},zT={class:"divide-y divide-gray-200 bg-white dark:divide-dark-700 dark:bg-dark-800"},LT={class:"whitespace-nowrap px-3 py-2"},OT={class:"inline-flex h-5 w-5 items-center justify-center rounded bg-gray-100 text-xs font-medium text-gray-700 dark:bg-dark-600 dark:text-gray-300"},NT={class:"px-3 py-2"},jT={class:"font-medium text-gray-900 dark:text-white text-sm"},DT={key:0,class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400 max-w-xs truncate"},FT={class:"px-3 py-2"},HT={class:"flex flex-wrap gap-1 max-w-48"},BT={key:0,class:"text-xs text-gray-500"},WT={key:1,class:"text-xs text-gray-500"},KT={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},GT={class:"px-3 py-2"},JT={key:0,class:"text-xs text-gray-500 dark:text-gray-400"},QT={key:1,class:"flex flex-wrap gap-1"},YT={key:0,class:"text-xs text-gray-500"},XT={class:"px-3 py-2"},ZT={class:"text-xs space-y-0.5"},eM={class:"flex items-center gap-1"},tM={class:"text-gray-600 dark:text-gray-400"},aM={class:"flex items-center gap-1"},oM={class:"text-gray-600 dark:text-gray-400"},sM={key:0,class:"flex items-center gap-1"},lM={class:"text-gray-600 dark:text-gray-400"},nM={class:"px-3 py-2"},rM=["onClick"],iM={class:"px-3 py-2"},dM={class:"flex items-center gap-1"},uM=["onClick","title"],cM=["onClick","title"],pM={class:"flex justify-end"},mM={class:"grid grid-cols-2 gap-4"},gM={class:"input-label"},vM=["placeholder"],bM={class:"input-label"},yM={class:"input-hint"},hM={class:"input-label"},fM=["placeholder"],xM={class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},kM={class:"mb-2 text-sm font-medium text-gray-900 dark:text-white"},_M={class:"grid grid-cols-2 gap-3"},wM={class:"input-label text-xs"},$M=["placeholder"],CM={class:"input-hint text-xs"},TM={class:"input-label text-xs"},MM=["placeholder"],SM={class:"input-hint text-xs"},UM={class:"mt-3"},EM={class:"input-label text-xs"},AM={class:"mt-1 space-y-2"},qM=["value"],RM={class:"flex-1"},PM={class:"text-xs font-medium text-gray-700 dark:text-gray-300"},VM={class:"text-xs text-gray-500 dark:text-gray-400"},IM={class:"mt-3"},zM={class:"input-label text-xs"},LM={class:"flex flex-wrap gap-3"},OM=["value"],NM={class:"text-xs text-gray-700 dark:text-gray-300"},jM={class:"input-hint text-xs mt-1"},DM={class:"rounded-lg border border-gray-200 p-3 dark:border-dark-600"},FM={class:"mb-2 text-sm font-medium text-gray-900 dark:text-white"},HM={class:"grid grid-cols-2 gap-3"},BM={class:"flex items-center gap-1.5"},WM={class:"text-xs font-medium text-gray-700 dark:text-gray-300"},KM={key:0,class:"mt-2"},GM={class:"input-label text-xs"},JM={class:"flex items-center gap-1.5"},QM={class:"text-xs font-medium text-gray-700 dark:text-gray-300"},YM={key:0,class:"mt-2"},XM={class:"input-label text-xs"},ZM=["placeholder"],eS={class:"flex items-center gap-1.5"},tS={class:"text-xs font-medium text-gray-700 dark:text-gray-300"},aS={class:"input-hint text-xs -mt-3"},oS={class:"flex items-center gap-1.5"},sS={class:"text-xs font-medium text-gray-700 dark:text-gray-300"},lS={class:"flex justify-end gap-3"},nS=["disabled"],rS=Dt({__name:"ErrorPassthroughRulesModal",props:{show:{type:Boolean}},emits:["close"],setup(c,{emit:A}){const o=c,{t:m}=Ht(),l=ra(),k=u([]),x=u(!1),L=u(!1),R=u(!1),N=u(!1),K=u(!1),S=u(null),U=u(null),M=u(""),h=u(""),y=fa({name:"",enabled:!0,priority:0,match_mode:"any",platforms:[],passthrough_code:!0,response_code:null,passthrough_body:!0,custom_message:null,skip_monitoring:!1,description:null}),ae=P(()=>[{value:"any",label:m("admin.errorPassthrough.matchMode.any"),description:m("admin.errorPassthrough.matchMode.anyHint")},{value:"all",label:m("admin.errorPassthrough.matchMode.all"),description:m("admin.errorPassthrough.matchMode.allHint")}]),F=[{value:"anthropic",label:"Anthropic"},{value:"openai",label:"OpenAI"},{value:"gemini",label:"Gemini"},{value:"antigravity",label:"Antigravity"},{value:"grok",label:"Grok"}];_t(()=>o.show,ce=>{ce&&H()});const H=async()=>{x.value=!0;try{k.value=await be.errorPassthrough.list()}catch(ce){l.showError(m("admin.errorPassthrough.failedToLoad")),console.error("Error loading rules:",ce)}finally{x.value=!1}},J=()=>{y.name="",y.enabled=!0,y.priority=0,y.match_mode="any",y.platforms=[],y.passthrough_code=!0,y.response_code=null,y.passthrough_body=!0,y.custom_message=null,y.skip_monitoring=!1,y.description=null,M.value="",h.value=""},Z=()=>{R.value=!1,N.value=!1,S.value=null,J()},ie=ce=>{S.value=ce,y.name=ce.name,y.enabled=ce.enabled,y.priority=ce.priority,y.match_mode=ce.match_mode,y.platforms=[...ce.platforms],y.passthrough_code=ce.passthrough_code,
20y.response_code=ce.response_code,y.passthrough_body=ce.passthrough_body,y.custom_message=ce.custom_message,y.skip_monitoring=ce.skip_monitoring,y.description=ce.description,M.value=ce.error_codes.join(", "),h.value=ce.keywords.join(`
21`),N.value=!0},ne=ce=>{U.value=ce,K.value=!0},z=()=>M.value.trim()?M.value.split(/[,\s]+/).map(ce=>parseInt(ce.trim(),10)).filter(ce=>!isNaN(ce)&&ce>0):[],ke=()=>h.value.trim()?h.value.split(`
22`).map(ce=>ce.trim()).filter(ce=>ce.length>0):[],de=async()=>{var ee,_,O;if(!y.name.trim()){l.showError(m("admin.errorPassthrough.nameRequired"));return}const ce=z(),W=ke();if(ce.length===0&&W.length===0){l.showError(m("admin.errorPassthrough.conditionsRequired"));return}L.value=!0;try{const G={name:y.name.trim(),enabled:y.enabled,priority:y.priority,error_codes:ce,keywords:W,match_mode:y.match_mode,platforms:y.platforms,passthrough_code:y.passthrough_code,response_code:y.passthrough_code?null:y.response_code,passthrough_body:y.passthrough_body,custom_message:y.passthrough_body?null:y.custom_message,skip_monitoring:y.skip_monitoring,description:((ee=y.description)==null?void 0:ee.trim())||null};N.value&&S.value?(await be.errorPassthrough.update(S.value.id,G),l.showSuccess(m("admin.errorPassthrough.ruleUpdated"))):(await be.errorPassthrough.create(G),l.showSuccess(m("admin.errorPassthrough.ruleCreated"))),Z(),H()}catch(G){l.showError(((O=(_=G.response)==null?void 0:_.data)==null?void 0:O.detail)||m("admin.errorPassthrough.failedToSave")),console.error("Error saving rule:",G)}finally{L.value=!1}},xe=async ce=>{var W,ee;try{await be.errorPassthrough.toggleEnabled(ce.id,!ce.enabled),ce.enabled=!ce.enabled}catch(_){l.showError(((ee=(W=_.response)==null?void 0:W.data)==null?void 0:ee.detail)||m("admin.errorPassthrough.failedToToggle")),console.error("Error toggling rule:",_)}},Me=async()=>{var ce,W;if(U.value)try{await be.errorPassthrough.delete(U.value.id),l.showSuccess(m("admin.errorPassthrough.ruleDeleted")),K.value=!1,U.value=null,H()}catch(ee){l.showError(((W=(ce=ee.response)==null?void 0:ce.data)==null?void 0:W.detail)||m("admin.errorPassthrough.failedToDelete")),console.error("Error deleting rule:",ee)}};return(ce,W)=>(n(),Be(ua,{show:c.show,title:t(m)("admin.errorPassthrough.title"),width:"extra-wide",onClose:W[16]||(W[16]=ee=>ce.$emit("close"))},{footer:qe(()=>[e("div",pM,[e("button",{onClick:W[1]||(W[1]=ee=>ce.$emit("close")),class:"btn btn-secondary"},a(t(m)("common.close")),1)])]),default:qe(()=>{var ee;return[e("div",fT,[e("div",xT,[e("p",kT,a(t(m)("admin.errorPassthrough.description")),1),e("button",{onClick:W[0]||(W[0]=_=>R.value=!0),class:"btn btn-primary btn-sm"},[E(te,{name:"plus",size:"sm",class:"mr-1"}),oe(" "+a(t(m)("admin.errorPassthrough.createRule")),1)])]),x.value?(n(),r("div",_T,[E(te,{name:"refresh",size:"lg",class:"animate-spin text-gray-400"})])):k.value.length===0?(n(),r("div",wT,[e("div",$T,[E(te,{name:"shield",size:"lg",class:"text-gray-400"})]),e("h4",CT,a(t(m)("admin.errorPassthrough.noRules")),1),e("p",TT,a(t(m)("admin.errorPassthrough.createFirstRule")),1)])):(n(),r("div",MT,[e("table",ST,[e("thead",UT,[e("tr",null,[e("th",ET,a(t(m)("admin.errorPassthrough.columns.priority")),1),e("th",AT,a(t(m)("admin.errorPassthrough.columns.name")),1),e("th",qT,a(t(m)("admin.errorPassthrough.columns.conditions")),1),e("th",RT,a(t(m)("admin.errorPassthrough.columns.platforms")),1),e("th",PT,a(t(m)("admin.errorPassthrough.columns.behavior")),1),e("th",VT,a(t(m)("admin.errorPassthrough.columns.status")),1),e("th",IT,a(t(m)("admin.errorPassthrough.columns.actions")),1)])]),e("tbody",zT,[(n(!0),r(me,null,$e(k.value,_=>(n(),r("tr",{key:_.id,class:"hover:bg-gray-50 dark:hover:bg-dark-700"},[e("td",LT,[e("span",OT,a(_.priority),1)]),e("td",NT,[e("div",jT,a(_.name),1),_.description?(n(),r("div",DT,a(_.description),1)):v("",!0)]),e("td",FT,[e("div",HT,[(n(!0),r(me,null,$e(_.error_codes.slice(0,3),O=>(n(),r("span",{key:O,class:"badge badge-danger text-xs"},a(O),1))),128)),_.error_codes.length>3?(n(),r("span",BT," +"+a(_.error_codes.length-3),1)):v("",!0),(n(!0),r(me,null,$e(_.keywords.slice(0,1),O=>(n(),r("span",{key:O,class:"badge badge-gray text-xs"},' "'+a(O.length>10?O.substring(0,10)+"...":O)+'" ',1))),128)),_.keywords.length>
221?(n(),r("span",WT," +"+a(_.keywords.length-1),1)):v("",!0)]),e("div",KT,a(t(m)("admin.errorPassthrough.matchMode."+_.match_mode)),1)]),e("td",GT,[_.platforms.length===0?(n(),r("div",JT,a(t(m)("admin.errorPassthrough.allPlatforms")),1)):(n(),r("div",QT,[(n(!0),r(me,null,$e(_.platforms.slice(0,2),O=>(n(),r("span",{key:O,class:"badge badge-primary text-xs"},a(O),1))),128)),_.platforms.length>2?(n(),r("span",YT," +"+a(_.platforms.length-2),1)):v("",!0)]))]),e("td",XT,[e("div",ZT,[e("div",eM,[E(te,{name:_.passthrough_code?"checkCircle":"xCircle",size:"xs",class:C(_.passthrough_code?"text-green-500":"text-gray-400")},null,8,["name","class"]),e("span",tM,a(t(m)("admin.errorPassthrough.code"))+": "+a(_.passthrough_code?t(m)("admin.errorPassthrough.passthrough"):_.response_code||"-"),1)]),e("div",aM,[E(te,{name:_.passthrough_body?"checkCircle":"xCircle",size:"xs",class:C(_.passthrough_body?"text-green-500":"text-gray-400")},null,8,["name","class"]),e("span",oM,a(t(m)("admin.errorPassthrough.body"))+": "+a(_.passthrough_body?t(m)("admin.errorPassthrough.passthrough"):t(m)("admin.errorPassthrough.custom")),1)]),_.skip_monitoring?(n(),r("div",sM,[E(te,{name:"checkCircle",size:"xs",class:"text-yellow-500"}),e("span",lM,a(t(m)("admin.errorPassthrough.skipMonitoring")),1)])):v("",!0)])]),e("td",nM,[e("button",{onClick:O=>xe(_),class:C(["relative inline-flex h-4 w-7 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",_.enabled?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-3 w-3 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",_.enabled?"translate-x-3":"translate-x-0"])},null,2)],10,rM)]),e("td",iM,[e("div",dM,[e("button",{onClick:O=>ie(_),class:"p-1 text-gray-500 hover:text-primary-600 dark:hover:text-primary-400",title:t(m)("common.edit")},[E(te,{name:"edit",size:"sm"})],8,uM),e("button",{onClick:O=>ne(_),class:"p-1 text-gray-500 hover:text-red-600 dark:hover:text-red-400",title:t(m)("common.delete")},[E(te,{name:"trash",size:"sm"})],8,cM)])])]))),128))])])]))]),E(ua,{show:R.value||N.value,title:N.value?t(m)("admin.errorPassthrough.editRule"):t(m)("admin.errorPassthrough.createRule"),width:"wide",onClose:Z},{footer:qe(()=>[e("div",lS,[e("button",{onClick:Z,type:"button",class:"btn btn-secondary"},a(t(m)("common.cancel")),1),e("button",{onClick:de,disabled:L.value,class:"btn btn-primary"},[L.value?(n(),Be(te,{key:0,name:"refresh",size:"sm",class:"mr-1 animate-spin"})):v("",!0),oe(" "+a(N.value?t(m)("common.update"):t(m)("common.create")),1)],8,nS)])]),default:qe(()=>[e("form",{onSubmit:Xt(de,["prevent"]),class:"space-y-4"},[e("div",mM,[e("div",null,[e("label",gM,a(t(m)("admin.errorPassthrough.form.name")),1),T(e("input",{"onUpdate:modelValue":W[2]||(W[2]=_=>y.name=_),type:"text",required:"",class:"input",placeholder:t(m)("admin.errorPassthrough.form.namePlaceholder")},null,8,vM),[[B,y.name]])]),e("div",null,[e("label",bM,a(t(m)("admin.errorPassthrough.form.priority")),1),T(e("input",{"onUpdate:modelValue":W[3]||(W[3]=_=>y.priority=_),type:"number",min:"0",class:"input"},null,512),[[B,y.priority,void 0,{number:!0}]]),e("p",yM,a(t(m)("admin.errorPassthrough.form.priorityHint")),1)])]),e("div",null,[e("label",hM,a(t(m)("admin.errorPassthrough.form.description")),1),T(e("input",{"onUpdate:modelValue":W[4]||(W[4]=_=>y.description=_),type:"text",class:"input",placeholder:t(m)("admin.errorPassthrough.form.descriptionPlaceholder")},null,8,fM),[[B,y.description]])]),e("div",xM,[e("h4",kM,a(t(m)("admin.errorPassthrough.form.matchConditions")),1),e("div",_M,[e("div",null,[e("label",wM,a(t(m)("admin.errorPassthrough.form.errorCodes")),1),T(e("input",{"onUpdate:modelValue":W[5]||(W[5]=_=>M.value=_),type:"text",class:"input text-sm",placeholder:t(m)("admin.errorPassthrough.form.errorCodesPlaceholder")},null,8,$M),[[B,M.value]]),e("p",CM,a(t(m)("admin.errorPassthrough.form.errorCodesHint")),1)]),e("div",null,[e("label",TM,a(t(m)("admin.errorPassthrough.form.keywords")),1),T(e("textarea",{"onUpdate:modelValue":W[6]||(W[6]=_=>h.value=_),rows:"2",class:"input font-mono text-xs",placeholder:t(m)("admin.errorPassthrough.form.keywordsPlaceholder")},null,8,MM),[[B,h.value]]),e("p",SM,a(t(m)("admin.errorPassthrough.form.keywordsHint")),1)])]),e("div",UM,[e("label",EM,a(t(m)("admin.errorPassthrough.form.matchMode")),1),e("div",AM,[(n(!0),r(me,null,$e(ae.value,_=>(n(),r("label",{key:_.value,class:"flex items-start gap-2 cursor-pointer"},[T(e("input",{type:"radio",value:_.value,"onUpdate:modelValue":W[7]||(W[7]=O=>y.match_mode=O),class:"mt-0.5 h-3.5 w-3.5 border-gray-300 text-primary-600 focus:ring-primary-500"}
22,null,8,qM),[[da,y.match_mode]]),e("div",RM,[e("span",PM,a(_.label),1),e("p",VM,a(_.description),1)])]))),128))])]),e("div",IM,[e("label",zM,a(t(m)("admin.errorPassthrough.form.platforms")),1),e("div",LM,[(n(),r(me,null,$e(F,_=>e("label",{key:_.value,class:"inline-flex items-center gap-1.5"},[T(e("input",{type:"checkbox",value:_.value,"onUpdate:modelValue":W[8]||(W[8]=O=>y.platforms=O),class:"h-3.5 w-3.5 rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,8,OM),[[ct,y.platforms]]),e("span",NM,a(_.label),1)])),64))]),e("p",jM,a(t(m)("admin.errorPassthrough.form.platformsHint")),1)])]),e("div",DM,[e("h4",FM,a(t(m)("admin.errorPassthrough.form.responseBehavior")),1),e("div",HM,[e("div",null,[e("label",BM,[T(e("input",{type:"checkbox","onUpdate:modelValue":W[9]||(W[9]=_=>y.passthrough_code=_),class:"h-3.5 w-3.5 rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,y.passthrough_code]]),e("span",WM,a(t(m)("admin.errorPassthrough.form.passthroughCode")),1)]),y.passthrough_code?v("",!0):(n(),r("div",KM,[e("label",GM,a(t(m)("admin.errorPassthrough.form.responseCode")),1),T(e("input",{"onUpdate:modelValue":W[10]||(W[10]=_=>y.response_code=_),type:"number",min:"100",max:"599",class:"input text-sm",placeholder:"422"},null,512),[[B,y.response_code,void 0,{number:!0}]])]))]),e("div",null,[e("label",JM,[T(e("input",{type:"checkbox","onUpdate:modelValue":W[11]||(W[11]=_=>y.passthrough_body=_),class:"h-3.5 w-3.5 rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,y.passthrough_body]]),e("span",QM,a(t(m)("admin.errorPassthrough.form.passthroughBody")),1)]),y.passthrough_body?v("",!0):(n(),r("div",YM,[e("label",XM,a(t(m)("admin.errorPassthrough.form.customMessage")),1),T(e("input",{"onUpdate:modelValue":W[12]||(W[12]=_=>y.custom_message=_),type:"text",class:"input text-sm",placeholder:t(m)("admin.errorPassthrough.form.customMessagePlaceholder")},null,8,ZM),[[B,y.custom_message]])]))])])]),e("div",eS,[T(e("input",{type:"checkbox","onUpdate:modelValue":W[13]||(W[13]=_=>y.skip_monitoring=_),class:"h-3.5 w-3.5 rounded border-gray-300 text-yellow-600 focus:ring-yellow-500"},null,512),[[ct,y.skip_monitoring]]),e("span",tS,a(t(m)("admin.errorPassthrough.form.skipMonitoring")),1)]),e("p",aS,a(t(m)("admin.errorPassthrough.form.skipMonitoringHint")),1),e("div",oS,[T(e("input",{type:"checkbox","onUpdate:modelValue":W[14]||(W[14]=_=>y.enabled=_),class:"h-3.5 w-3.5 rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,512),[[ct,y.enabled]]),e("span",sS,a(t(m)("admin.errorPassthrough.form.enabled")),1)])],32)]),_:1},8,["show","title"]),E(ro,{show:K.value,title:t(m)("admin.errorPassthrough.deleteRule"),message:t(m)("admin.errorPassthrough.deleteConfirm",{name:(ee=U.value)==null?void 0:ee.name}),"confirm-text":t(m)("common.delete"),"cancel-text":t(m)("common.cancel"),danger:!0,onConfirm:Me,onCancel:W[15]||(W[15]=_=>K.value=!1)},null,8,["show","title","message","confirm-text","cancel-text"])]}),_:1},8,["show","title"]))}}),iS={class:"space-y-4"},dS={class:"flex items-center justify-between"},uS={class:"text-sm text-gray-500 dark:text-gray-400"},cS={key:0,class:"flex items-center justify-center py-8"},pS={key:1,class:"py-8 text-center"},mS={class:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-gray-100 dark:bg-dark-700"},gS={class:"mb-1 text-sm font-medium text-gray-900 dark:text-white"},vS={class:"text-sm text-gray-500 dark:text-gray-400"},bS={key:2,class:"max-h-96 overflow-auto rounded-lg border border-gray-200 dark:border-dark-600"},yS={class:"min-w-full divide-y divide-gray-200 dark:divide-dark-700"},hS={class:"sticky top-0 bg-gray-50 dark:bg-dark-700"},fS={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},xS={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},kS={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},_S={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},wS={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"},$S={class:"divide-y divide-gray-200 bg-white dark:divide-dark-700 dark:bg-dark-800"},CS={class:"px-3 py-2"},TS={class:"font-medium text-gray-900 dark:text-white text-sm"},MS={class:"px-3 py-2"},SS={key:0,class:"text-sm text-gray-500 dark:text-gray-400 max-w-xs truncate"},US={key:1,class:"text-xs text-gray-400 dark:text-gray-600"},ES={class:"px-3 py-2"},AS={class:"px-3 py-2"},qS={key:0,class:"flex flex-wrap gap-1"}
22,RS={key:0,class:"text-xs text-gray-500"},PS={key:1,class:"text-xs text-gray-400 dark:text-gray-600"},VS={class:"px-3 py-2"},IS={class:"flex items-center gap-1"},zS=["onClick","title"],LS=["onClick","title"],OS={class:"flex justify-end"},NS={class:"input-label"},jS=["placeholder"],DS={class:"mt-1 flex items-center gap-2"},FS={class:"text-xs text-gray-500 dark:text-gray-400"},HS={href:"https://tls.sub2api.org",target:"_blank",rel:"noopener noreferrer",class:"text-primary-600 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-300 underline"},BS={class:"grid grid-cols-2 gap-4"},WS={class:"input-label"},KS=["placeholder"],GS={class:"input-label"},JS=["placeholder"],QS={class:"flex items-center gap-3"},YS={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},XS={class:"text-xs text-gray-500 dark:text-gray-400"},ZS={class:"grid grid-cols-2 gap-4"},eU={class:"input-label text-xs"},tU={class:"input-hint text-xs"},aU={class:"input-label text-xs"},oU={class:"input-hint text-xs"},sU={class:"input-label text-xs"},lU={class:"input-label text-xs"},nU={class:"input-label text-xs"},rU={class:"input-label text-xs"},iU={class:"input-label text-xs"},dU={class:"input-label text-xs"},uU={class:"input-label text-xs"},cU={class:"flex justify-end gap-3"},pU=["disabled"],mU=Dt({__name:"TLSFingerprintProfilesModal",props:{show:{type:Boolean}},emits:["close"],setup(c,{emit:A}){const o=c,{t:m}=Ht(),l=ra(),k=u([]),x=u(!1),L=u(!1),R=u(!1),N=u(!1),K=u(!1),S=u(null),U=u(null),M=u(""),h=fa({cipher_suites:"",curves:"",point_formats:"",signature_algorithms:"",alpn_protocols:"",supported_versions:"",key_share_groups:"",psk_modes:"",extensions:""}),y=fa({name:"",description:null,enable_grease:!1});_t(()=>o.show,ee=>{ee&&ae()});const ae=async()=>{x.value=!0;try{k.value=await be.tlsFingerprintProfiles.list()}catch(ee){l.showError(m("admin.tlsFingerprintProfiles.loadFailed")),console.error("Error loading TLS fingerprint profiles:",ee)}finally{x.value=!1}},F=()=>{y.name="",y.description=null,y.enable_grease=!1,h.cipher_suites="",h.curves="",h.point_formats="",h.signature_algorithms="",h.alpn_protocols="",h.supported_versions="",h.key_share_groups="",h.psk_modes="",h.extensions="",M.value=""},H=()=>{const ee=M.value.trim();if(!ee)return;const _=ee.split(`
23`);let O=!1;for(const G of _){const he=G.trim();if(!he||he.startsWith("#"))continue;const Pe=he.match(/^(\w+):\s*(.+)$/);if(!Pe)continue;const[,_e,ge]=Pe,ve=ge.trim();switch(_e){case"name":{const fe=ve.replace(/^["']|["']$/g,"");fe&&(y.name=fe,O=!0);break}case"enable_grease":y.enable_grease=ve==="true";break;case"cipher_suites":case"curves":case"point_formats":case"signature_algorithms":case"supported_versions":case"key_share_groups":case"psk_modes":case"extensions":{const fe=ve.match(/^\[(.*)?\]$/);if(fe){const Ee=fe[1]||"";h[_e]=Ee.split(",").map(Xe=>Xe.trim()).filter(Xe=>Xe.length>0).join(", ")}break}case"alpn_protocols":{const fe=ve.match(/^\[(.*)?\]$/);if(fe){const Ee=fe[1]||"";h.alpn_protocols=Ee.split(",").map(Xe=>Xe.trim().replace(/^["']|["']$/g,"")).filter(Xe=>Xe.length>0).join(", ")}break}}}O?l.showSuccess(m("admin.tlsFingerprintProfiles.form.yamlParsed")):l.showError(m("admin.tlsFingerprintProfiles.form.yamlParseFailed"))},J=()=>{setTimeout(()=>H(),50)},Z=()=>{R.value=!1,N.value=!1,S.value=null,F()},ie=ee=>ee.trim()?ee.split(",").map(_=>_.trim()).filter(_=>_.length>0).map(_=>_.startsWith("0x")||_.startsWith("0X")?parseInt(_,16):parseInt(_,10)).filter(_=>!isNaN(_)):[],ne=ee=>ee.trim()?ee.split(",").map(_=>_.trim()).filter(_=>_.length>0):[],z=ee=>"0x"+ee.toString(16).padStart(4,"0"),ke=ee=>(ee??[]).map(z).join(", "),de=ee=>(ee??[]).join(", "),xe=ee=>{S.value=ee,y.name=ee.name,y.description=ee.description,y.enable_grease=ee.enable_grease,h.cipher_suites=ke(ee.cipher_suites),h.curves=de(ee.curves),h.point_formats=de(ee.point_formats),h.signature_algorithms=ke(ee.signature_algorithms),h.alpn_protocols=(ee.alpn_protocols??[]).join(", "),h.supported_versions=ke(ee.supported_versions),h.key_share_groups=de(ee.key_share_groups),h.psk_modes=de(ee.psk_modes),h.extensions=ke(ee.extensions),N.value=!0},Me=ee=>{U.value=ee,K.value=!0},ce=async()=>{var ee,_,O;if(!y.name.trim()){l.showError(m("admin.tlsFingerprintProfiles.form.name")+" "+m("common.required"));return}L.value=!0;try{const G={name:y.name.trim(),description:((ee=y.description)==null?void 0:ee.trim())||null,enable_grease:y.enable_grease,cipher_suites:ie(h.cipher_suites),curves:ie(h.curves),point_formats:ie(h.point_formats),signature_algorithms:ie(h.signature_algorithms),alpn_protocols:ne(h.alpn_protocols),supported_versions:ie(h.supported_versions),key_share_groups:ie(h.key_share_groups),psk_modes:ie(h.psk_modes),extensions:ie(h.extensions)};N.value&&S.value?(await be.tlsFingerprintProfiles.update(S.value.id,G),l.showSuccess(m("admin.tlsFingerprintProfiles.updateSuccess"))):(await be.tlsFingerprintProfiles.create(G),l.showSuccess(m("admin.tlsFingerprintProfiles.createSuccess"))),Z(),ae()}catch(G){l.showError(((O=(_=G.response)==null?void 0:_.data)==null?void 0:O.detail)||m("admin.tlsFingerprintProfiles.saveFailed")),console.error("Error saving TLS fingerprint profile:",G)}finally{L.value=!1}},W=async()=>{var ee,_;if(U.value)try{await be.tlsFingerprintProfiles.delete(U.value.id),l.showSuccess(m("admin.tlsFingerprintProfiles.deleteSuccess")),K.value=!1,U.value=null,ae()}catch(O){l.showError(((_=(ee=O.response)==null?void 0:ee.data)==null?void 0:_.detail)||m("admin.tlsFingerprintProfiles.deleteFailed")),console.error("Error deleting TLS fingerprint profile:",O)}};return(ee,_)=>(n(),Be(ua,{show:c.show,title:t(m)("admin.tlsFingerprintProfiles.title"),width:"wide",onClose:_[16]||(_[16]=O=>ee.$emit("close"))},{footer:qe(()=>[e("div",OS,[e("button",{onClick:_[1]||(_[1]=O=>ee.$emit("close")),class:"btn btn-secondary"},a(t(m)("common.close")),1)])]),default:qe(()=>{var O;return[e("div",iS,[e("div",dS,[e("p",uS,a(t(m)("admin.tlsFingerprintProfiles.description")),1),e("button",{onClick:_[0]||(_[0]=G=>R.value=!0),class:"btn btn-primary btn-sm"},[E(te,{name:"plus",size:"sm",class:"mr-1"}),oe(" "+a(t(m)("admin.tlsFingerprintProfiles.createProfile")),1)])]),x.value?(n(),r("div",cS,[E(te,{name:"refresh",size:"lg",class:"animate-spin text-gray-400"})])):k.value.length===0?(n(),r("div",pS,[e("div",mS,[E(te,{name:"shield",size:"lg",class:"text-gray-400"})]),e("h4",gS,a(t(m)("admin.tlsFingerprintProfiles.noProfiles")),1),e("p",vS,a(t(m)("admin.tlsFingerprintProfiles.createFirstProfile")),1)])):(n(),r("div",bS,[e("table",yS,[e("thead",hS,[e("tr",null,[e("th",fS,a(t(m)("admin.tlsFingerprintProfiles.columns.name")),1),e("th",xS,a(t(m)("admin.tlsFingerprintProfiles.columns.description")),1),e("th",kS,a(t(m)("admin.tlsFingerprintProfiles.columns.grease")),1),e("th",_S,a(t(m)("admin.tlsFingerprintProfiles.columns.alpn")),1),e("th",wS,a(t(m)("admin.tlsFingerprintProfiles.columns.actions")),1)])]),e("tbody",$S,[(n(!0),r(me,null,$e(k.value,G=>{var he;return n(),r("tr",{key:G.id,class:"hover:bg-gray-50 dark:hover:bg-dark-700"},[e("td",CS,[e("div",TS,a(G.name),1)]),e("td",MS,[G.description?(n(),r("div",SS,a(G.description),1)):(n(),r("div",US,"—"))]),e("td",ES,[E(te,{name:G.enable_grease?"check":"lock",size:"sm",class:C(G.enable_grease?"text-green-500":"text-gray-400")},null,8,["name","class"])]),e("td",AS,[(he=G.alpn_protocols)!=null&&he.length?(n(),r("div",qS,[(n(!0),r(me,null,$e(G.alpn_protocols.slice(0,3),Pe=>(n(),r("span",{key:Pe,class:"badge badge-primary text-xs"},a(Pe),1))),128)),G.alpn_protocols.length>3?(n(),r("span",RS," +"+a(G.alpn_protocols.length-3),1)):v("",!0)])):(n(),r("div",PS,"—"))]),e("td",VS,[e("div",IS,[e("button",{onClick:Pe=>xe(G),class:"p-1 text-gray-500 hover:text-primary-600 dark:hover:text-primary-400",title:t(m)("common.edit")},[E(te,{name:"edit",size:"sm"})],8,zS),e("button",{onClick:Pe=>Me(G),class:"p-1 text-gray-500 hover:text-red-600 dark:hover:text-red-400",title:t(m)("common.delete")},[E(te,{name:"trash",size:"sm"})],8,LS)])])])}),128))])])]))]),E(ua,{show:R.value||N.value,title:N.value?t(m)("admin.tlsFingerprintProfiles.editProfile"):t(m)("admin.tlsFingerprintProfiles.createProfile"),width:"wide","z-index":60,onClose:Z},{footer:qe(()=>[e("div",cU,[e("button",{onClick:Z,type:"button",class:"btn btn-secondary"},a(t(m)("common.cancel")),1),e("button",{onClick:ce,disabled:L.value,class:"btn btn-primary"},[L.value?(n(),Be(te,{key:0,name:"refresh",size:"sm",class:"mr-1 animate-spin"})):v("",!0),oe(" "+a(N.value?t(m)("common.update"):t(m)("common.create")),1)],8,pU)])]),default:qe(()=>[e("form",{onSubmit:Xt(ce,["prevent"]),class:"space-y-4"},[e("div",null,[e("label",NS,a(t(m)("admin.tlsFingerprintProfiles.form.pasteYaml")),1),T(e("textarea",{"onUpdate:modelValue":_[2]||(_[2]=G=>M.value=G),rows:"4",class:"input font-mono text-xs",placeholder:t(m)("admin.tlsFingerprintProfiles.form.pasteYamlPlaceholder"),onPaste:J},null,40,jS),[[B,M.value]]),e("div",DS,[e("button",{type:"button",onClick:H,class:"btn btn-secondary btn-sm"},a(t(m)("admin.tlsFingerprintProfiles.form.parseYaml")),1),e("p",FS,[oe(a(t(m)("admin.tlsFingerprintProfiles.form.pasteYamlHint"))+" ",1),e("a",HS,a(t(m)("admin.tlsFingerprintProfiles.form.openCollector")),1)])])]),_[17]||(_[17]=e("hr",{class:"border-gray-200 dark:border-dark-600"},null,-1)),e("div",BS,[e("div",null,[e("label",WS,a(t(m)("admin.tlsFingerprintProfiles.form.name")),1),T(e("input",{"onUpdate:modelValue":_[3]||(_[3]=G=>
23y.name=G),type:"text",required:"",class:"input",placeholder:t(m)("admin.tlsFingerprintProfiles.form.namePlaceholder")},null,8,KS),[[B,y.name]])]),e("div",null,[e("label",GS,a(t(m)("admin.tlsFingerprintProfiles.form.description")),1),T(e("input",{"onUpdate:modelValue":_[4]||(_[4]=G=>y.description=G),type:"text",class:"input",placeholder:t(m)("admin.tlsFingerprintProfiles.form.descriptionPlaceholder")},null,8,JS),[[B,y.description]])])]),e("div",QS,[e("button",{type:"button",onClick:_[5]||(_[5]=G=>y.enable_grease=!y.enable_grease),class:C(["relative inline-flex h-5 w-9 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",y.enable_grease?"bg-primary-600":"bg-gray-200 dark:bg-dark-600"])},[e("span",{class:C(["pointer-events-none inline-block h-4 w-4 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",y.enable_grease?"translate-x-4":"translate-x-0"])},null,2)],2),e("div",null,[e("span",YS,a(t(m)("admin.tlsFingerprintProfiles.form.enableGrease")),1),e("p",XS,a(t(m)("admin.tlsFingerprintProfiles.form.enableGreaseHint")),1)])]),e("div",ZS,[e("div",null,[e("label",eU,a(t(m)("admin.tlsFingerprintProfiles.form.cipherSuites")),1),T(e("textarea",{"onUpdate:modelValue":_[6]||(_[6]=G=>h.cipher_suites=G),rows:"2",class:"input font-mono text-xs",placeholder:"0x1301, 0x1302, 0xc02c"},null,512),[[B,h.cipher_suites]]),e("p",tU,a(t(m)("admin.tlsFingerprintProfiles.form.cipherSuitesHint")),1)]),e("div",null,[e("label",aU,a(t(m)("admin.tlsFingerprintProfiles.form.curves")),1),T(e("textarea",{"onUpdate:modelValue":_[7]||(_[7]=G=>h.curves=G),rows:"2",class:"input font-mono text-xs",placeholder:"29, 23, 24"},null,512),[[B,h.curves]]),e("p",oU,a(t(m)("admin.tlsFingerprintProfiles.form.curvesHint")),1)]),e("div",null,[e("label",sU,a(t(m)("admin.tlsFingerprintProfiles.form.signatureAlgorithms")),1),T(e("textarea",{"onUpdate:modelValue":_[8]||(_[8]=G=>h.signature_algorithms=G),rows:"2",class:"input font-mono text-xs",placeholder:"0x0403, 0x0804, 0x0401"},null,512),[[B,h.signature_algorithms]])]),e("div",null,[e("label",lU,a(t(m)("admin.tlsFingerprintProfiles.form.supportedVersions")),1),T(e("textarea",{"onUpdate:modelValue":_[9]||(_[9]=G=>h.supported_versions=G),rows:"2",class:"input font-mono text-xs",placeholder:"0x0304, 0x0303"},null,512),[[B,h.supported_versions]])]),e("div",null,[e("label",nU,a(t(m)("admin.tlsFingerprintProfiles.form.keyShareGroups")),1),T(e("textarea",{"onUpdate:modelValue":_[10]||(_[10]=G=>h.key_share_groups=G),rows:"2",class:"input font-mono text-xs",placeholder:"29, 23"},null,512),[[B,h.key_share_groups]])]),e("div",null,[e("label",rU,a(t(m)("admin.tlsFingerprintProfiles.form.extensions")),1),T(e("textarea",{"onUpdate:modelValue":_[11]||(_[11]=G=>h.extensions=G),rows:"2",class:"input font-mono text-xs",placeholder:"0x0000, 0x0005, 0x000a"},null,512),[[B,h.extensions]])]),e("div",null,[e("label",iU,a(t(m)("admin.tlsFingerprintProfiles.form.pointFormats")),1),T(e("textarea",{"onUpdate:modelValue":_[12]||(_[12]=G=>h.point_formats=G),rows:"2",class:"input font-mono text-xs",placeholder:"0"},null,512),[[B,h.point_formats]])]),e("div",null,[e("label",dU,a(t(m)("admin.tlsFingerprintProfiles.form.pskModes")),1),T(e("textarea",{"onUpdate:modelValue":_[13]||(_[13]=G=>h.psk_modes=G),rows:"2",class:"input font-mono text-xs",placeholder:"1"},null,512),[[B,h.psk_modes]])])]),e("div",null,[e("label",uU,a(t(m)("admin.tlsFingerprintProfiles.form.alpnProtocols")),1),T(e("textarea",{"onUpdate:modelValue":_[14]||(_[14]=G=>h.alpn_protocols=G),rows:"2",class:"input font-mono text-xs",placeholder:"h2, http/1.1"},null,512),[[B,h.alpn_protocols]])])],32)]),_:1},8,["show","title"]),E(ro,{show:K.value,title:t(m)("admin.tlsFingerprintProfiles.deleteProfile"),message:t(m)("admin.tlsFingerprintProfiles.deleteConfirmMessage",{name:(O=U.value)==null?void 0:O.name}),"confirm-text":t(m)("common.delete"),"cancel-text":t(m)("common.cancel"),danger:!0,onConfirm:W,onCancel:_[15]||(_[15]=G=>K.value=!1)},null,8,["show","title","message","confirm-text","cancel-text"])]}),_:1},8,["show","title"]))}}),gU={class:"flex flex-wrap-reverse items-start justify-between gap-3"},vU=["title"],bU={class:"hidden md:inline"},yU={key:0,class:"fixed right-3 z-50 mt-2 w-56 origin-top-right rounded-lg border border-gray-200 bg-white shadow-lg dark:border-gray-700 dark:bg-gray-800 sm:absolute sm:right-0"},hU={class:"p-2"},fU=["onClick"],xU=["title"],kU={class:"hidden md:inline"},_U={key:0,class:"fixed right-3 z-50 mt-2 w-[min(20rem,calc(100vw-2rem))] origin-top-right overflow-hidden rounded-lg border border-gray-200 bg-white shadow-xl dark:border-gray-700 dark:bg-gray-800 sm:absolute sm:right-0"},wU={class:"max-h-[70vh] overflow-y-auto p-2"},$U={class:"px-2 py-2"},CU={class:"text-xs font-semibold uppercase tracking-wide text-gray-400 dark:text-gray-500"},TU={class:"account-tools-menu-icon bg-blue-50 text-blue-600 dar
23k:bg-blue-900/30 dark:text-blue-300"},MU={class:"flex-1 text-left"},SU={class:"account-tools-menu-icon bg-emerald-50 text-emerald-600 dark:bg-emerald-900/30 dark:text-emerald-300"},UU={class:"flex-1 text-left"},EU={class:"account-tools-menu-icon bg-violet-50 text-violet-600 dark:bg-violet-900/30 dark:text-violet-300"},AU={class:"flex-1 text-left"},qU={key:0,class:"rounded-full bg-primary-100 px-2 py-0.5 text-xs font-medium text-primary-700 dark:bg-primary-900/40 dark:text-primary-300"},RU={class:"px-2 py-2"},PU={class:"text-xs font-semibold uppercase tracking-wide text-gray-400 dark:text-gray-500"},VU={class:"account-tools-menu-icon bg-amber-50 text-amber-600 dark:bg-amber-900/30 dark:text-amber-300"},IU={class:"flex-1 text-left"},zU={class:"account-tools-menu-icon bg-slate-100 text-slate-600 dark:bg-slate-700 dark:text-slate-200"},LU={class:"flex-1 text-left"},OU={class:"px-2 py-2"},NU={class:"flex items-center justify-between gap-3"},jU={class:"text-xs font-semibold uppercase tracking-wide text-gray-400 dark:text-gray-500"},DU={class:"grid grid-cols-1 gap-1"},FU=["onClick"],HU={class:"truncate"},BU={key:0,class:"mt-2 flex items-center justify-between rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-800 dark:border-amber-700/40 dark:bg-amber-900/20 dark:text-amber-200"},WU=["checked"],KU=["checked","onChange"],GU={class:"flex min-w-0 flex-col"},JU={class:"truncate font-medium text-gray-900 dark:text-white"},QU=["title"],YU=["title"],XU={class:"truncate"},ZU={key:1,class:"text-sm text-gray-400 dark:text-dark-500"},eE=["title"],tE={key:1,class:"text-sm text-gray-400 dark:text-dark-500"},aE={class:"flex min-w-0 flex-col gap-1"},oE={class:"flex flex-wrap items-center gap-1"},sE=["title"],lE={class:"flex items-center gap-1.5"},nE=["onClick","disabled","title"],rE={key:0,class:"flex items-center gap-2"},iE={class:"text-sm text-gray-700 dark:text-gray-300"},dE={key:0,class:"text-xs text-gray-500 dark:text-gray-400"},uE={key:1,class:"text-sm text-gray-400 dark:text-dark-500"},cE={class:"text-sm font-mono text-gray-700 dark:text-gray-300"},pE={class:"text-sm text-gray-700 dark:text-gray-300"},mE={class:"text-sm text-gray-500 dark:text-dark-400"},gE={class:"flex flex-col items-start gap-1"},vE={class:"text-sm text-gray-500 dark:text-dark-400"},bE={key:0,class:"flex items-center gap-1"},yE={key:0,class:"inline-flex items-center rounded-md bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-300"},hE={key:1,class:"inline-flex items-center rounded-md bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-300"},fE={class:"flex items-center gap-1"},xE=["onClick"],kE={class:"text-xs"},_E=["onClick"],wE={class:"text-xs"},$E=["onClick"],CE={class:"text-xs"},TE={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},ME={class:"w-full max-w-3xl rounded-lg bg-white shadow-xl dark:bg-gray-800"},SE={class:"flex items-center justify-between border-b border-gray-200 px-5 py-4 dark:border-gray-700"},UE={class:"text-base font-semibold text-gray-900 dark:text-white"},EE={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},AE=["title"],qE={class:"max-h-[65vh] overflow-y-auto p-5"},RE={key:0,class:"mb-4 text-sm"},PE={class:"rounded-md border border-gray-200 bg-gray-50 p-3 text-gray-700 dark:border-gray-700 dark:bg-gray-900/30 dark:text-gray-300"},VE={class:"space-y-2"},IE={class:"flex flex-wrap items-center justify-between gap-2"},zE={class:"min-w-0"},LE={class:"flex items-center gap-2"},OE={class:"truncate text-sm font-medium text-gray-900 dark:text-white"},NE={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},jE={class:"mt-2 break-words text-sm text-gray-600 dark:text-gray-300"},DE={key:0,class:"py-8 text-center text-sm text-gray-500 dark:text-gray-400"},Ns="account-hidden-columns",js="account-table-sort",Ds="account-auto-refresh",FE=15e3,HE="ungrouped",BE="__unset__",WE=Dt({__name:"AccountsView",setup(c){const{t:A}=Ht(),o=ra(),m=xs(),l=u([]),k=u([]),x=u(null),L=u(null),R=P(()=>[...new Set(bt.value.filter($=>Ce($.id)).map($=>$.platform))]),N=P(()=>[...new Set(bt.value.filter($=>Ce($.id)).map($=>$.type))]),K=u(!1),S=u(!1),U=u(!1),M=u(!1),h=u(!1),y=u(!0),ae=u(!1),F=u(null),H=u(!1),J=u(!1),Z=u(!1),ie=u(!1),ne=u(!1),z=u(!1),ke=u(!1),de=u(null),xe=u(null),Me=u(null),ce=u(null),W=u(null),ee=u(null),_=u(!1),O=u(null),G=u([]),he=u(null),Pe=fa({show:!1,acc:null,pos:null}),_e=u(!1),ge=u(!1),ve=u(!1),fe=u(null),Ee=u(!1),Xe=u(null),tt=fa(new Set),Ae=["today_stats","proxy","notes","priority","rate_multiplier"],Qe=new Set(["name","status","schedulable","priority","rate_multiplier","last_used_at","expires_at"]),ze=fa((()=>{const g={sort_by:"name",sort_order:"asc"};try{const $=localStorage.getItem(js);if(!$)return g;const ye=JSON.parse($),Ue=typeof ye.key=="string"?ye.key:"";return Qe.has(Ue)?{sort_by:Ue,sort_order:ye.order==="desc"?"desc":"asc"}:g}catch{return g}})()),He=u(!1),Je=u(null),Mt=[5,10,15,30],gt=u(!1),pt=u(30),ht=u(0),dt=u(null),Et=u(!1),Rt=u(0),ft=u(!1),wt=u({}),Se=u(!1),Q=u(null),we=u(0),vt=u(!1),$t=u(0),At=()=>({requests:0,tokens:0,cost:0,standard_cost:0,user_cost:0}),Lt=async()=>
23{if(tt.has("today_stats")&&tt.has("usage")){Se.value=!1,Q.value=null;return}const g=bt.value.map(ye=>ye.id),$=++we.value;if(g.length===0){wt.value={},Q.value=null,Se.value=!1;return}Se.value=!0,Q.value=null;try{const ye=await be.accounts.getBatchTodayStats(g);if($!==we.value)return;const Ue=ye.stats??{},Ye={};for(const ut of g){const D=String(ut);Ye[D]=Ue[D]??At()}wt.value=Ye}catch(ye){if($!==we.value)return;Q.value="Failed",console.error("Failed to load account today stats:",ye)}finally{$===we.value&&(Se.value=!1)}},Vt=g=>g===5?A("admin.accounts.refreshInterval5s"):g===10?A("admin.accounts.refreshInterval10s"):g===15?A("admin.accounts.refreshInterval15s"):g===30?A("admin.accounts.refreshInterval30s"):`${g}s`,Le=()=>{try{const g=localStorage.getItem(Ns);g?JSON.parse(g).forEach(ye=>{tt.add(ye)}):Ae.forEach($=>{tt.add($)})}catch(g){console.error("Failed to load saved columns:",g),Ae.forEach($=>{tt.add($)})}},Wt=()=>{try{localStorage.setItem(Ns,JSON.stringify([...tt]))}catch(g){console.error("Failed to save columns:",g)}},ea=()=>{try{const g=localStorage.getItem(Ds);if(!g)return;const $=JSON.parse(g);gt.value=$.enabled===!0;const ye=Number($.interval_seconds);Mt.includes(ye)&&(pt.value=ye)}catch(g){console.error("Failed to load saved auto refresh settings:",g)}},Kt=()=>{try{localStorage.setItem(Ds,JSON.stringify({enabled:gt.value,interval_seconds:pt.value}))}catch(g){console.error("Failed to save auto refresh settings:",g)}};typeof window<"u"&&(Le(),ea());const Ot=g=>{gt.value=g,Kt(),g?(ht.value=pt.value,Aa()):(Ea(),ht.value=0)},Ct=g=>{pt.value=g,Kt(),gt.value&&(ht.value=g)},Gt=g=>{const $=tt.has(g);tt.has(g)?tt.delete(g):tt.add(g),Wt(),(g==="today_stats"||g==="usage")&&$&&Lt().catch(ye=>{console.error("Failed to load account today stats after showing column:",ye)})},ta=g=>!tt.has(g),{items:bt,loading:Pt,params:Ze,pagination:Oe,load:ca,reload:Ft,debouncedReload:aa,handlePageChange:oa,handlePageSizeChange:sa}=Fl({fetchFn:be.accounts.list,initialParams:{platform:"",type:"",status:"",privacy_mode:"",group:"",search:"",sort_by:ze.sort_by,sort_order:ze.sort_order}}),{selectedIds:I,allVisibleSelected:re,isSelected:Ce,setSelectedIds:st,select:St,deselect:Ge,toggle:Tt,clear:Nt,removeMany:je,toggleVisible:Jt,selectVisible:Qt,batchUpdate:Ga}=Xl({rows:bt,getId:g=>g.id});Zl(x,{isSelected:Ce,select:St,deselect:Ge,batchUpdate:Ga},{getVirtualizer:()=>{var g;return((g=L.value)==null?void 0:g.virtualizer)??null},getSortedData:()=>{var g;return((g=L.value)==null?void 0:g.sortedData)??bt.value},getRowId:g=>g.id});const Bt=()=>{dt.value=null},la=u(!0),le=async()=>{const g=Ze;ft.value=!1,Bt(),vt.value=!1,la.value&&(g.lite="1"),await ca(),la.value&&(la.value=!1,delete g.lite),await Lt()},q=async()=>{ft.value=!1,Bt(),vt.value=!1,await Ft(),await Lt()},j=()=>{ft.value=!1,Bt(),vt.value=!0,aa()},De=g=>{ft.value=!1,Bt(),vt.value=!0,oa(g)},Te=g=>{ft.value=!1,Bt(),vt.value=!0,sa(g)},Zt=(g,$)=>{ze.sort_by=g,ze.sort_order=$;const ye=Ze;ye.sort_by=g,ye.sort_order=$,Oe.page=1,ft.value=!1,Bt(),vt.value=!0,le()};_t(Pt,(g,$)=>{$&&!g&&vt.value&&(vt.value=!1,Lt().catch(ye=>{console.error("Failed to refresh account today stats after table load:",ye)}))});const pa=P(()=>K.value||S.value||U.value||M.value||h.value||ae.value||H.value||J.value||Z.value||ie.value||ne.value||_.value||z.value||ke.value),va=()=>{Rt.value=Date.now()+FE,ht.value=pt.value},ja=()=>Date.now()<Rt.value,Ta=(g,$)=>g.updated_at!==$.updated_at||g.current_concurrency!==$.current_concurrency||g.current_window_cost!==$.current_window_cost||g.active_sessions!==$.active_sessions||g.schedulable!==$.schedulable||g.status!==$.status||g.rate_limit_reset_at!==$.rate_limit_reset_at||g.overload_until!==$.overload_until||g.temp_unschedulable_until!==$.temp_unschedulable_until||ms(g)!==ms($),za=g=>{var $,ye,Ue,Ye,ut;(($=de.value)==null?void 0:$.id)===g.id&&(de.value=g),((ye=ce.value)==null?void 0:ye.id)===g.id&&(ce.value=g),((Ue=xe.value)==null?void 0:Ue.id)===g.id&&(xe.value=g),((Ye=Me.value)==null?void 0:Ye.id)===g.id&&(Me.value=g),((ut=Pe.acc)==null?void 0:ut.id)===g.id&&(Pe.acc=g)},Ja=g=>{var ut;const $=bt.value,ye=new Map($.map(D=>[D.id,D]));let Ue=g.length!==$.length;const Ye=g.map(D=>{const et=ye.get(D.id);return et?Ta(et,D)?(Ue=!0,za(D),D):et:(Ue=!0,D)});if(!Ue){for(let D=0;D<Ye.length;D+=1)if(Ye[D].id!==((ut=$[D])==null?void 0:ut.id)){Ue=!0;break}}Ue&&(bt.value=Ye)},Ma=async()=>
23{if(!Et.value){Et.value=!0;try{const g=await be.accounts.listWithEtag(Oe.page,Oe.page_size,As(Ze),{etag:dt.value});g.etag&&(dt.value=g.etag),!g.notModified&&g.data&&(Oe.total=g.data.total||0,Oe.pages=g.data.pages||0,Ja(g.data.items||[]),ft.value=!1),await Lt()}catch(g){console.error("Auto refresh failed:",g)}finally{Et.value=!1}}},La=async()=>{await le(),$t.value+=1},ba=()=>{Ee.value=!1},Sa=()=>{ba(),U.value=!0},xa=()=>{ba(),M.value=!0},Qa=()=>{ba(),Wa()},Ua=()=>{ba(),z.value=!0},Oa=()=>{ba(),ke.value=!0},Ve=async()=>{ft.value=!1,await le(),$t.value+=1},{pause:Ea,resume:Aa}=fn(async()=>{if(gt.value&&!document.hidden&&!(Pt.value||Et.value)&&!pa.value&&!(Pe.show||Ee.value||He.value)){if(ja()){ht.value=Math.max(0,Math.ceil((Rt.value-Date.now())/1e3));return}if(ht.value<=0){ht.value=pt.value,await Ma();return}ht.value-=1}},1e3,{immediate:!1});function Ya(g){if(g.platform!=="antigravity")return null;const $=g.extra;if(!$)return null;const ye=$.load_code_assist;if(!ye)return null;const Ue=ye.paidTier;if(Ue&&typeof Ue.id=="string")return Ue.id;const Ye=ye.currentTier;return Ye&&typeof Ye.id=="string"?Ye.id:null}function ka(g){switch(Ya(g)){case"free-tier":return A("admin.accounts.tier.free");case"g1-pro-tier":return A("admin.accounts.tier.pro");case"g1-ultra-tier":return A("admin.accounts.tier.ultra");default:return null}}function Da(g){if(g.platform!=="openai"||g.type!=="oauth"&&g.type!=="apikey")return null;const $=g.extra,ye=typeof($==null?void 0:$.openai_compact_mode)=="string"?$.openai_compact_mode:"auto";return ye==="force_on"?"active":ye==="force_off"?"blocked":typeof($==null?void 0:$.openai_compact_supported)=="boolean"?$.openai_compact_supported?"active":"blocked":"auto"}function ma(g){const $=Da(g);if(!$)return null;switch($){case"active":return{label:A("admin.accounts.openai.compactSupported"),className:"text-emerald-600 dark:text-emerald-300",dotClass:"bg-emerald-500 shadow-[0_0_0_2px_rgba(16,185,129,0.14)]"};case"blocked":return{label:A("admin.accounts.openai.compactUnsupported"),className:"text-rose-600 dar
23k:text-rose-300",dotClass:"bg-rose-500 shadow-[0_0_0_2px_rgba(244,63,94,0.14)]"};case"auto":return{label:A("admin.accounts.openai.compactAuto"),className:"text-slate-500 dark:text-slate-400",dotClass:"bg-slate-300 dark:bg-slate-500"}}}function _a(g){var Ye;const $=g.extra,ye=typeof($==null?void 0:$.openai_compact_checked_at)=="string"?$.openai_compact_checked_at:"",Ue=((Ye=ma(g))==null?void 0:Ye.label)||"";return ye?`${Ue} | ${A("admin.accounts.openai.compactLastChecked")}: ${no(new Date(ye))}`:Ue}function ya(g){switch(Ya(g)){case"free-tier":return"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300";case"g1-pro-tier":return"bg-blue-100 text-blue-600 dark:bg-blue-900/40 dark:text-blue-300";case"g1-ultra-tier":return"bg-purple-100 text-purple-600 dark:bg-purple-900/40 dark:text-purple-300";default:return""}}const Fa=P(()=>{const g=[{key:"select",label:"",sortable:!1},{key:"name",label:A("admin.accounts.columns.name"),sortable:!0},{key:"tag",label:A("admin.accounts.columns.tag"),sortable:!1},{key:"platform_type",label:A("admin.accounts.columns.platformType"),sortable:!1},{key:"capacity",label:A("admin.accounts.columns.capacity"),sortable:!1},{key:"status",label:A("admin.accounts.columns.status"),sortable:!0},{key:"schedulable",label:A("admin.accounts.columns.schedulable"),sortable:!0},{key:"today_stats",label:A("admin.accounts.columns.todayStats"),sortable:!1}];return m.isSimpleMode||g.push({key:"groups",label:A("admin.accounts.columns.groups"),sortable:!1}),g.push({key:"usage",label:A("admin.accounts.columns.usageWindows"),sortable:!1},{key:"proxy",label:A("admin.accounts.columns.proxy"),sortable:!1},{key:"priority",label:A("admin.accounts.columns.priority"),sortable:!0},{key:"rate_multiplier",label:A("admin.accounts.columns.billingRateMultiplier"),sortable:!0},{key:"last_used_at",label:A("admin.accounts.columns.lastUsed"),sortable:!0},{key:"expires_at",label:A("admin.accounts.columns.expiresAt"),sortable:!0},{key:"notes",label:A("admin.accounts.columns.notes"),sortable:!1},{key:"actions",label:A("admin.accounts.columns.actions"),sortable:!1}),g}),qa=P(()=>Fa.value.filter(g=>g.key!=="select"&&g.key!=="name"&&g.key!=="actions")),Ha=P(()=>Fa.value.filter(g=>g.key==="select"||g.key==="name"||g.key==="actions"||!tt.has(g.key))),Xa=g=>{de.value=g,S.value=!0},Za=(g,$)=>{Pe.acc=g;const ye=$.currentTarget;if(ye){const Ue=ye.getBoundingClientRect(),Ye=200,ut=240,D=8,et=window.innerWidth,qt=window.innerHeight;let zt,kt;et<768?(zt=Math.max(D,Math.min(Ue.left+Ue.width/2-Ye/2,et-Ye-D)),kt=Ue.bottom+4,kt+ut>qt-D&&(kt=Ue.top-ut-4,kt<D&&(kt=D))):(zt=Math.max(D,Math.min($.clientX-Ye,et-Ye-D)),kt=$.clientY,kt+ut>qt-D&&(kt=qt-ut-D)),Pe.pos={top:kt,left:zt}}else Pe.pos={top:$.clientY,left:$.clientX-200};Pe.show=!0},wa=g=>{const $=g.target;Jt($.checked)},uo=async()=>{if(confirm(A("common.confirm")))try{await Promise.all(I.value.map(g=>be.accounts.delete(g))),Nt(),q()}catch(g){console.error("Failed to bulk delete accounts:",g)}},Eo=async()=>{if(confirm(A("common.confirm")))try{const g=await be.accounts.batchClearError(I.value);g.failed>0?o.showError(A("admin.accounts.bulkActions.partialSuccess",{success:g.success,failed:g.failed})):(o.showSuccess(A("admin.accounts.bulkActions.resetStatusSuccess",{count:g.success})),Nt()),q()}catch(g){console.error("Failed to bulk reset status:",g),o.showError(String(g))}},eo=async()=>{if(confirm(A("common.confirm")))try{const g=await be.accounts.batchRefresh(I.value);g.failed>0?o.showError(A("admin.accounts.bulkActions.partialSuccess",{success:g.success,failed:g.failed})):(o.showSuccess(A("admin.accounts.bulkActions.refreshTokenSuccess",{count:g.success})),Nt()),q()}catch(g){console.error("Failed to bulk refresh token:",g),o.showError(String(g))}},Ao=async()=>{if(!(I.value.length===0||ge.value)){ge.value=!0;try{const g=await be.accounts.batchTestAccounts(I.value);fe.value=g,ve.value=!0,g.failed>0?o.showError(A("admin.accounts.bulkAccountTest.partialToast",{success:g.success,failed:g.failed})):o.showSuccess(A("admin.accounts.bulkAccountTest.successToast",{count:g.success})),q()}catch(g){console.error("Failed to batch test accounts:",g),o.showError(String(g))}finally{ge.value=!1}}},Ra=(g,$)=>{if(g.length===0)return;const ye=new Set(g);bt.value=bt.value.map(Ue=>ye.has(Ue.id)?{...Ue,schedulable:$}:Ue)},qo=(g,$)=>{const ye=Array.isArray(g.success_ids)?g.success_ids:[],Ue=Array.isArray(g.failed_ids)?g.failed_ids:[];if(ye.length>0||Ue.length>0)return{successIds:ye,failedIds:Ue,successCount:typeof g.success=="number"?g.success:ye.length,failedCount:typeof g.failed=="number"?g.failed:Ue.length,hasIds:!0,hasCounts:!0};const Ye=Array.isArray(g.results)?g.results:[];if(Ye.length>0){const qt=Ye.filter(kt=>kt.success).map(kt=>kt.account_id),zt=Ye.filter(kt=>!kt.success).map(kt=>kt.account_id);return{successIds:qt,failedIds:zt,successCount:typeof g.success=="number"?g.success:qt.length,failedCount:typeof g.failed=="number"?g.failed:zt.length,hasIds:!0,hasCounts:!0}}const ut=typeof g.success=="number"||typeof g.failed=="number",D=typeof g.success=="number"?g.success:0,et=typeof g.failed=="number"?g.failed:0;return ut&&et===0&&D===$.length&&$.length>0?{successIds:$,failedIds:[],successCount:D,failedCount:et,hasIds:!0,hasCounts:!0}:{successIds:[],failedIds:[],successCount:D,failedCount:et,hasIds:!1,hasCounts:ut}},Pa=async g=>{const $=[...I.value];try{const ye=await be.accounts.bulkUpdate($,{schedulable:g}),{successIds:Ue,failedIds:Ye,successCount:ut,failedCount:D,hasIds:et,hasCounts:qt}=qo(ye,$);if(!et&&!qt){o.showError(A("admin.accounts.bulkSchedulableResultUnknown")),st($),le().catch(zt=>{console.error("Failed to refresh accounts:",zt)});return}if(Ue.length>0&&Ra(Ue,g),ut>
230&&D===0){const zt=g?A("admin.accounts.bulkSchedulableEnabled",{count:ut}):A("admin.accounts.bulkSchedulableDisabled",{count:ut});o.showSuccess(zt)}if(D>0){const zt=qt||et?A("admin.accounts.bulkSchedulablePartial",{success:ut,failed:D}):A("admin.accounts.bulkSchedulableResultUnknown");o.showError(zt),st(Ye.length>0?Ye:$)}else et?Nt():st($)}catch(ye){console.error("Failed to bulk toggle schedulable:",ye),o.showError(A("common.error"))}},to=()=>{const g=As(Ze),$=g.sort_order==="desc"?"desc":"asc";return{platform:typeof g.platform=="string"?g.platform:"",type:typeof g.type=="string"?g.type:"",status:typeof g.status=="string"?g.status:"",group:typeof g.group=="string"?g.group:"",search:typeof g.search=="string"?g.search:"",privacy_mode:typeof g.privacy_mode=="string"?g.privacy_mode:"",sort_by:typeof g.sort_by=="string"?g.sort_by:"",sort_order:$}},ho=g=>{const $=Array.from(new Set(g.map(Ue=>Ue.platform))),ye=Array.from(new Set(g.map(Ue=>Ue.type)));return{selectedPlatforms:$,selectedTypes:ye}},Ro=()=>{F.value={mode:"selected",accountIds:[...I.value],selectedPlatforms:[...R.value],selectedTypes:[...N.value]},ae.value=!0},b=async()=>{const g=to(),$=await be.accounts.list(1,100,g),{selectedPlatforms:ye,selectedTypes:Ue}=ho($.items);F.value={mode:"filtered",filters:g,previewCount:$.total,selectedPlatforms:ye,selectedTypes:Ue},ae.value=!0},Ba=()=>{ae.value=!1,F.value=null,Nt(),q()},co=()=>{M.value=!1,q()},po=()=>({platform:Ze.platform||"",type:Ze.type||"",status:Ze.status||"",group:Ze.group||"",privacy_mode:Ze.privacy_mode||"",search:Ze.search||"",sort_by:ze.sort_by,sort_order:ze.sort_order}),ao=g=>{var Ye,ut;const $=po();if($.platform&&g.platform!==$.platform||$.type&&g.type!==$.type)return!1;if($.status){const D=Date.now(),et=g.rate_limit_reset_at?new Date(g.rate_limit_reset_at).getTime():Number.NaN,qt=Number.isFinite(et)&&et>D,zt=g.temp_unschedulable_until?new Date(g.temp_unschedulable_until).getTime():Number.NaN,kt=Number.isFinite(zt)&&zt>D;if($.status==="active"){if(g.status!=="active"||qt||kt||!g.schedulable)return!1}else if($.status==="rate_limited"){if(g.status!=="active"||!qt||kt)return!1}else if($.status==="temp_unschedulable"){if(g.status!=="active"||!kt)return!1}else if($.status==="unschedulable"){if(g.status!=="active"||g.schedulable||qt||kt)return!1}else if(g.status!==$.status)return!1}if($.group){const D=g.group_ids??((Ye=g.groups)==null?void 0:Ye.map(et=>et.id))??[];if($.group===HE){if(D.length>0)return!1}else if(!D.includes(Number($.group)))return!1}const ye=typeof((ut=g.extra)==null?void 0:ut.privacy_mode)=="string"?g.extra.privacy_mode:"";if($.privacy_mode){if($.privacy_mode===BE){if(ye.trim()!=="")return!1}else if(ye!==$.privacy_mode)return!1}const Ue=String($.search||"").trim().toLowerCase();return!(Ue&&!g.name.toLowerCase().includes(Ue))},oo=(g,$)=>({...$,current_concurrency:$.current_concurrency??g.current_concurrency,current_window_cost:$.current_window_cost??g.current_window_cost,active_sessions:$.active_sessions??g.active_sessions}),fo=()=>{const g=Math.max(0,Oe.total-1);Oe.total=g,Oe.pages=g>0?Math.ceil(g/Oe.page_size):0;const $=Math.max(1,Oe.pages||1);Oe.page>$&&(Oe.page=$),ft.value=g>0},Na=g=>{var Ye;const $=bt.value.findIndex(ut=>ut.id===g.id);if($===-1)return;const ye=oo(bt.value[$],g);if(!ao(ye)){bt.value=bt.value.filter(ut=>ut.id!==ye.id),fo(),je([ye.id]),((Ye=Pe.acc)==null?void 0:Ye.id)===ye.id&&(Pe.show=!1,Pe.acc=null);return}const Ue=[...bt.value];Ue[$]=ye,bt.value=Ue,za(ye)},xo=g=>{Na(g),va()},ko=()=>{const g=new Date,$=ye=>String(ye).padStart(2,"0");return`${g.getFullYear()}${$(g.getMonth()+1)}${$(g.getDate())}${$(g.getHours())}${$(g.getMinutes())}${$(g.getSeconds())}`},Wa=()=>{y.value=!0,h.value=!0},mo=async()=>{if(!_e.value){_e.value=!0;try{const g=await be.accounts.exportData(I.value.length>0?{ids:I.value,includeProxies:y.value}:{includeProxies:y.value,filters:po()}),ye=`gateway-account-${ko()}.json`,Ue=new Blob([JSON.stringify(g,null,2)],{type:"application/json"}),Ye=URL.createObjectURL(Ue),ut=document.createElement("a");ut.href=Ye,ut.download=ye,ut.click(),URL.revokeObjectURL(Ye),o.showSuccess(A("admin.accounts.dataExported"))}catch(g){o.showError((g==null?void 0:g.message)||A("admin.accounts.dataExportFailed"))}finally{_e.value=!1,h.value=!1}}},go=()=>{ie.value=!1,W.value=null},Po=()=>{ne.value=!1,ee.value=null},Vo=()=>{Z.value=!1,ce.value=null},_o=g=>{W.value=g,ie.value=!0},Io=g=>{ee.value=g,ne.value=!0},wo=async g=>{O.value=g,G.value=[],_.value=!0;try{const $=await be.accounts.getAvailableModels(g.id);G.value=$.map(ye=>({value:ye.id,label:ye.display_name||ye.id}))}catch{G.value=[]}},w=()=>{_.value=!1,O.value=null,G.value=[]},d=g=>{ce.value=g,Z.value=!0},X=async g=>{try{const $=await be.accounts.refreshCredentials(g.id);Na($),va()}catch($){console.error("Failed to refresh credentials:",$)}},ue=async g=>{try{const $=await be.accounts.recoverState(g.id);Na($),va(),o.showSuccess(A("admin.accounts.recoverStateSuccess"))}catch($){console.error("Failed to recover account state:",$),o.showError(($==null?void 0:$.message)||A("admin.accounts.recoverStateFailed"))}},at=async g=>{try{const $=await be.accounts.resetAccountQuota(g.id);Na($),va(),o.showSuccess(A("common.success"))}catch($){console.error("Failed to reset quota:",$)}},Ie=async g=>{var $,ye;try{const Ue=await be.accounts.setPrivacy(g.id);Na(Ue),va(),o.showSuccess(A("common.success"))}catch(Ue){console.error("Failed to set privacy:",Ue),o.showError(((ye
23=($=Ue==null?void 0:Ue.response)==null?void 0:$.data)==null?void 0:ye.message)||A("admin.accounts.privacyFailed"))}},lt=g=>{Me.value=g,J.value=!0},Re=async()=>{if(Me.value)try{await be.accounts.delete(Me.value.id),J.value=!1,Me.value=null,q()}catch(g){console.error("Failed to delete account:",g)}},V=async g=>{const $=!g.schedulable;he.value=g.id;try{const ye=await be.accounts.setSchedulable(g.id,$);Ra([g.id],(ye==null?void 0:ye.schedulable)??$),va()}catch(ye){console.error("Failed to toggle schedulable:",ye),o.showError(A("admin.accounts.failedToToggleSchedulable"))}finally{he.value=null}},We=g=>{xe.value=g,H.value=!0},xt=async g=>{H.value=!1,xe.value=null,Na(g),va()},Yt=g=>g?no(new Date(g*1e3),{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1},"sv-SE"):"-",rt=g=>g?g*1e3<=Date.now():!1,It=()=>{Pe.show=!1},Va=g=>{const $=g.target;Xe.value&&!Xe.value.contains($)&&(Ee.value=!1),Je.value&&!Je.value.contains($)&&(He.value=!1)};return Fs(async()=>{le();try{const[g,$]=await Promise.all([be.proxies.getAll(),be.groups.getAll()]);l.value=g,k.value=$}catch(g){console.error("Failed to load proxies/groups:",g)}window.addEventListener("scroll",It,!0),document.addEventListener("click",Va),gt.value?(ht.value=pt.value,Aa()):Ea()}),fs(()=>{window.removeEventListener("scroll",It,!0),document.removeEventListener("click",Va)}),(g,$)=>(n(),Be(tn,null,{default:qe(()=>{var ye,Ue,Ye,ut;return[E(an,null,{filters:qe(()=>[e("div",gU,[E(Jl,{searchQuery:t(Ze).search,"onUpdate:searchQuery":[$[0]||($[0]=D=>t(Ze).search=D),j],filters:t(Ze),groups:k.value,"onUpdate:filters":$[1]||($[1]=D=>Object.assign(t(Ze),D)),onChange:j},null,8,["searchQuery","filters","groups"]),E(Ql,{loading:t(Pt),onRefresh:La,onCreate:$[5]||($[5]=D=>K.value=!0)},{after:qe(()=>[e("div",{class:"relative",ref_key:"autoRefreshDropdownRef",ref:Je},[e("button",{onClick:$[2]||($[2]=D=>{He.value=!He.value,Ee.value=!1}),class:"btn btn-secondary px-2 md:px-3",title:t(A)("admin.accounts.autoRefresh")},[E(te,{name:"refresh",size:"sm",class:C([gt.value?"animate-spin":""])},null,8,["class"]),e("span",bU,a(gt.value?t(A)("admin.accounts.autoRefreshCountdown",{seconds:ht.value}):t(A)("admin.accounts.autoRefresh")),1)],8,vU),He.value?(n(),r("div",yU,[e("div",hU,[e("button",{onClick:$[3]||($[3]=D=>Ot(!gt.value)),class:"flex w-full items-center justify-between rounded-md px-3 py-2 text-sm text-gray-700 hover:bg-gray-100 dark:text-gray-200 dark:hover:bg-gray-700"},[e("span",null,a(t(A)("admin.accounts.enableAutoRefresh")),1),gt.value?(n(),Be(te,{key:0,name:"check",size:"sm",class:"text-primary-500"})):v("",!0)]),$[22]||($[22]=e("div",{class:"my-1 border-t border-gray-100 dark:border-gray-700"},null,-1)),(n(),r(me,null,$e(Mt,D=>e("button",{key:D,onClick:et=>Ct(D),class:"flex w-full items-center justify-between rounded-md px-3 py-2 text-sm text-gray-700 hover:bg-gray-100 dark:text-gray-200 dark:hover:bg-gray-700"},[e("span",null,a(Vt(D)),1),pt.value===D?(n(),Be(te,{key:0,name:"check",size:"sm",class:"text-primary-500"})):v("",!0)],8,fU)),64))])])):v("",!0)],512),e("div",{class:"relative",ref_key:"accountToolsDropdownRef",ref:Xe},[e("button",{onClick:$[4]||($[4]=D=>{Ee.value=!Ee.value,He.value=!1}),class:"btn btn-secondary px-2 md:px-3",title:t(A)("admin.accounts.moreActions")},[E(te,{name:"more",size:"sm",class:"md:mr-1.5"}),e("span",kU,a(t(A)("admin.accounts.moreActions")),1),E(te,{name:"chevronDown",size:"xs",class:"ml-1 hidden md:inline"})],8,xU),Ee.value?(n(),r("div",_U,[e("div",wU,[e("div",$U,[e("div",CU,a(t(A)("admin.accounts.dataActions")),1)]),e("button",{class:"account-tools-menu-item",onClick:Sa},[e("span",TU,[E(te,{name:"sync",size:"sm"})]),e("span",MU,a(t(A)("admin.accounts.syncFromCrs")),1)]),e("button",{class:"account-tools-menu-item",onClick:xa},[e("span",SU,[E(te,{name:"upload",size:"sm"})]),e("span",UU,a(t(A)("admin.accounts.dataImport")),1)]),e("button",{class:"account-tools-menu-item",onClick:Qa},[e("span",EU,[E(te,{name:"download",size:"sm"})]),e("span",AU,a(t(I).length?t(A)("admin.accounts.dataExportSelected"):t(A)("admin.accounts.dataExport")),1),t(I).length?(n(),r("span",qU,a(t(A)("admin.accounts.selectedCount",{count:t(I).length})),1)):v("",!0)]),$[23]||($[23]=e("div",{class:"my-2 border-t border-gray-100 dark:border-gray-700"},null,-1)),e("div",RU,[e("div",PU,a(t(A)("admin.accounts.toolActions")),1)]),e("button",{class:"account-tools-menu-item",onClick:Ua},[e("span",VU,[E(te,{name:"shield",size:"sm"})]),e("span",IU,a(t(A)("admin.errorPassthrough.title")),1)]),e("button",{class:"account-tools-menu-item",onClick:Oa},[e("span",zU,[E(te,{name:"lock",size:"sm"})]),e("span",LU,a(t(A)("admin.tlsFingerprintProfiles.title")),1)]),$[24]||($[24]=e("div",{class:"my-2 border-t border-gray-100 dark:border-gray-700"},null,-1)),e("div",OU,[e("div",NU,[e("span",jU,a(t(A)("admin.accounts.viewColumns")),1),E(te,{name:"grid",size:"sm",class:"text-gray-400"})])]),e("div",DU,[(n(!0),r(me,null,$e(qa.value,D=>(n(),r("button",{key:D.key,onClick:et=>Gt(D.key),class:"flex w-full items-center justify-between rounded-md px-3 py-2 text-sm text-gray-700 transition-colors hover:bg-gray-100 dark:text-gray-200 dark:hover:bg-gray-700"},[e("span",HU,a(D.label),1),ta(D.key)?(n(),Be(te,{key:0,name:"check",size:"sm",class:"text-primary-500"})):v("",!0)],8,FU))),128))])])])):v("",!0)],512)]),_:1},8,["loading"])]),ft.value?(n(),r("div",BU,[e("span",null,a(t(A)("admin.accounts.listPendingSyncHint")),1),e("button",{class:"btn btn-secondary px-2 py-1 text-xs",onClick:Ve},a(t(A)("admin.accounts.listPendingSyncAction")),1)])):v("",!0)]),table:qe(()=>[E(Hl,{"selected-ids":t(I),"account-testing":ge.value,onDelete:uo,onTestAccounts:Ao,onResetStatus:Eo,onRefreshToken:eo,onEditSelected:Ro,onEditFiltered:b,onClear:t(Nt),onSelectPage:t(Qt),onToggleSchedulable:Pa},null,8,["selected-ids","account-testing","onClear","onSelectPage"]),e("div",{ref_key:"accountTableRef",ref:x,class:"flex min-h-0 flex-1 flex-col overflow-hidden"},[E(on,{ref_key:"dataTableRef",ref:L,columns:Ha.value,data:t(bt),loading:t(Pt),"row-key":"id","server-side-sort":!0,onSort:Zt,"default-sort-key":"name","default-sort-order":"asc","sort-storage-key":js,"estimate-row-height":72,overscan:5},{"header-select":qe(()=>[e("input",{type:"checkbox",class:"h-4 w-4 cursor-pointer rounded border-gray-300 text-primary-600 focus:ring-primary-500",checked:t(re),onClick:$[6]||($[6]=Xt(()=>{},["stop"])),onChange:$[7]||($[7]=D=>wa(D))},null,40,WU)]),"cell-select":qe(({row:D})=>[e("input",{type:"checkbox",checked:t(Ce)(D.id),onChange:et=>t(Tt)(D.id),class:"rounded border-gray-300 text-primary-600 focus:ring-primary-500"},null,40,KU)]),"cell-name":qe(({row:D,value:et})=>{var qt;return[e("div",GU,[e("span",JU,a(et),1),(qt=D.extra)!=null&&qt.email_address?(n(),r("span",{key:0,class:"text-xs text-gray-500 dark:text-gray-400 truncate max-w-[200px]",title:D.extra.email_address},a(D.extra.email_address),9,QU)):v("",!0)])]}),"cell-tag":qe(({value:D})=>[D?(n(),r("span",{key:0,class:"inline-flex max-w-[160px] items-center rounded-md border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:border-emerald-700/50 dark:bg-emerald-900/20 dark:text-emerald-200",title:D},[e("span",XU,a(D),1)],8,YU)):(n(),r("span",ZU,"-"))]),"cell-notes":qe(({value:D})=>[D?(n(),r("span",{key:0,title:D,class:"block max-w-xs truncate text-sm text-gray-600 dark:text-gray-300"},a(D),9,eE)):(n(),r("span",tE,"-"))]),"cell-platform_type":qe(({row:D})=>{var et,qt,zt,kt,Ka,vo;return[e("div",aE,[e("div",oE,[E(en,{platform:D.platform,type:D.type,"plan-type":(et=D.credentials)==null?void 0:et.plan_type,"privacy-mode":(qt=D.extra)==null?void 0:qt.privacy_mode,"subscription-expires-at":(zt=D.credentials)==null?void 0:zt.subscription_expires_at},null,8,["platform","type","plan-type","privacy-mode","subscription-expires-at"]),ka(D)?(n(),r("span",{key:0,class:C(["inline-block rounded px-1.5 py-0.5 text-[10px] font-medium",ya(D)])},a(ka(D)),3)):v("",!0)]),ma(D)?(n(),r("div",{key:0,class:C(["inline-flex items-center gap-1.5 pl-0.5 text-[11px] font-medium leading-4",(kt=ma(D))==null?void 0:kt.className]),title:_a(D)},[e("span",{class:C(["h-1.5 w-1.5 rounded-full",(Ka=ma(D))==null?void 0:Ka.dotClass])},null,2),e("span",null,a((vo=ma(D))==null?void 0:vo.label),1)],10,sE)):v("",!0)])]}),"cell-capacity":qe(({row:D})=>[E(Gl,{account:D},null,8,["account"])]),"cell-status":qe(({row:D})=>[e("div",lE,[E(Kl,{account:D,onShowTempUnsched:We},null,8,["account"])])]),"cell-schedulable":qe(({row:D})=>[e("button",{onClick:et=>V(D),disabled:he.value===D.id,class:C(["relative inline-flex h-5 w-9 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:focus:ring-offset-dark-800",[D.schedulable?"bg-primary-500 hover:bg-primary-600":"bg-gray-200 hover:bg-gray-300 dark:bg-dark-600 dark:hover:bg-dark-500"]]),title:D.schedulable?t(A)("admin.accounts.schedulableEnabled"):t(A)("admin.accounts.schedulableDisabled")},[e("span",{class:C(["pointer-events-none inline-block h-4 w-4 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",[D.schedulable?"translate-x-4":"translate-x-0"]])},null,2)],10,nE)]),"cell-today_stats":qe(({row:D})=>[E(Wl,{stats:wt.value[String(D.id)]??null,loading:Se.value,error:Q.value},null,8,["stats","loading","error"])]),"cell-groups":qe(({row:D})=>[E(Bl,{groups:D.groups,"max-display":4},null,8,["groups"])]),"cell-usage":qe(({row:D})=>[E(S6,{account:D,"today-stats":wt.value[String(D.id)]??null,"today-stats-loading":Se.value,"manual-refresh-token":$t.value},null,8,["account","today-stats","today-stats-loading","manual-refresh-token"])]),"cell-proxy":qe(({row:D})=>[D.proxy?(n(),r("div",rE,[e("span",iE,a(D.proxy.name),1),D.proxy.country_code?(n(),r("span",dE," ("+a(D.proxy.country_code)+") ",1)):v("",!0)])):(n(),r("span",uE,"-"))]),"cell-rate_multiplier":qe(({row:D})=>[e("span",cE,a((D.rate_multiplier??1).toFixed(2))+"x ",1)]),"cell-priority":qe(({value:D})=>[e("span",pE,a(D),1)]),"cell-last_used_at":qe(({value:D})=>[e("span",mE,a(t(Dl)(D)),1)]),"cell-expires_at":qe(({row:D,value:et})=>[e("div",gE,[e("span",vE,a(Yt(et)),1),rt(et)||D.auto_pause_on_expired&&et?(n(),r("div",bE,[rt(et)?(n(),r("span",yE,a(t(A)("admin.accounts.expired")),1)):v("",!0),D.auto_pause_on_expired&&et?(n(),r("span",hE,a(t(A)("admin.accounts.autoPauseOnExpired")),1)):v("",!0)])):v("",!0)])]),"cell-actions":qe(({row:D})=>[e("div",fE,[e("button",{onClick:et=>Xa(D),class:"flex flex-col items-center gap-0.5 rounded-lg p-1.5 text-gray-500 transition-colors hover:bg-gray-100 hover:text-primary-600 dark:hover:bg-dark-700 dark:hover:text-primary-400"},[$[25]||($[25]=e("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"})],-1)),e("span",kE,a(t(A)("common.edit")),1)],8,xE),e("button",{onClick:et=>lt(D),class:"flex flex-col items-center gap-0.5 rounded-lg p-1.5 text-gray-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20 dark:hover:text-red-400"},[$[26]||($[26]=e("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"})],-1)),e("span",wE,a(t(A)("common.delete")),1)],8,_E),e("button",{onClick:et=>Za(D,et),class:"flex flex-col items-center gap-0.5 rounded-lg p-1.5 text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-dark-700 dark:hover:text-white"},[$[27]||($[27]=e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM12.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM18.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0z"})],-1)),e("span",CE,a(t(A)("common.more")),1)],8,$E)])]),_:1},8,["columns","data","loading"])],512)]),pagination:qe(()=>[t(Oe).total>0?(n(),Be(sn,{key:0,page:t(Oe).page,total:t(Oe).total,"page-size":t(Oe).page_size,"onUpdate:page":De,"onUpdate:pageSize":Te},null,8,["page","total","page-size"])):v("",!0)]),_:1}),E(t(Cb),{show:K.value,proxies:l.value,groups:k.value,onClose:$[8]||($[8]=D=>K.value=!1),onCreated:q},null,8,["show","proxies","groups"]),E(t(p4),{show:S.value,account:de.value,proxies:l.value,groups:k.value,onClose:$[9]||($[9]=D=>S.value=!1),onUpdated:xo},null,8,["show","account","proxies","groups"]),E(D8,{show:Z.value,account:ce.value,onClose:Vo,onReauthorized:xo},null,8,["show","account"]),E(Cw,{show:ie.value,account:W.value,onClose:go},null,8,["show","account"]),E(K$,{show:ne.value,account:ee.value,onClose:Po},null,8,["show","account"]),E(hT,{show:_.value,"account-id":((ye=O.value)==null?void 0:ye.id)??null,"model-options":G.value,onClose:w},null,8,["show","account-id","model-options"]),E(Yl,{show:Pe.show,account:Pe.acc,position:Pe.pos,onClose:$[10]||($[10]=D=>Pe.show=!1),onTest:_o,onStats:Io,onSchedule:wo,onReauth:d,onRefreshToken:X,onRecoverState:ue,onResetQuota:at,onSetPrivacy:Ie},null,8,["show","account","position"]),E(t(l8),{show:U.value,onClose:$[11]||($[11]=D=>U.value=!1),onSynced:q},null,8,["show"]),E(k8,{show:M.value,onClose:$[12]||($[12]=D=>M.value=!1),onImported:co},null,8,["show"]),E(t(X3),{show:ae.value,"account-ids":t(I),"selected-platforms":R.value,"selected-types":N.value,target:F.value??void 0,proxies:l.value,groups:k.value,onClose:$[13]||($[13]=D=>ae.value=!1),onUpdated:Ba},null,8,["show","account-ids","selected-platforms","selected-types","target","proxies","groups"]),E(t(b7),{show:H.value,account:xe.value,onClose:$[14]||($[14]=D=>H.value=!1),onReset:xt},null,8,["show","account"]),E(ro,{show:J.value,title:t(A)("admin.accounts.deleteAccount"),message:t(A)("admin.accounts.deleteConfirm",{name:(Ue=Me.value)==null?void 0:Ue.name}),"confirm-text":t(A)("common.delete"),"cancel-text":t(A)("common.cancel"),danger:!0,onConfirm:Re,onCancel:$[15]||($[15]=D=>J.value=!1)},null,8,["show","title","message","confirm-text","cancel-text"]),E(ro,{show:h.value,title:t(A)("admin.accounts.dataExport"),message:t(A)("admin.accounts.dataExportConfirmMessage"),"confirm-text":t(A)("admin.accounts.dataExportConfirm"),"cancel-text":t(A)("common.cancel"),onConfirm:mo,onCancel:$[17]||($[17]=D=>h.value=!1)},{default:qe(()=>
23[e("label",TE,[T(e("input",{type:"checkbox",class:"h-4 w-4 rounded border-gray-300 text-primary-600 focus:ring-primary-500","onUpdate:modelValue":$[16]||($[16]=D=>y.value=D)},null,512),[[ct,y.value]]),e("span",null,a(t(A)("admin.accounts.dataExportIncludeProxies")),1)])]),_:1},8,["show","title","message","confirm-text","cancel-text"]),ve.value&&fe.value?(n(),r("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",onClick:$[19]||($[19]=Xt(D=>ve.value=!1,["self"]))},[e("div",ME,[e("div",SE,[e("div",null,[e("h3",UE,a(t(A)("admin.accounts.bulkAccountTest.title")),1),e("p",EE,a(t(A)("admin.accounts.bulkAccountTest.summary",{total:fe.value.total_accounts,accounts:fe.value.found_accounts,success:fe.value.success,failed:fe.value.failed})),1)]),e("button",{class:"rounded-md p-2 text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-700 dark:hover:text-gray-200",onClick:$[18]||($[18]=D=>ve.value=!1),title:t(A)("common.close")},[E(te,{name:"x",size:"sm"})],8,AE)]),e("div",qE,[(((Ye=fe.value.missing_account_ids)==null?void 0:Ye.length)||0)>0?(n(),r("div",RE,[e("div",PE,a(t(A)("admin.accounts.bulkAccountTest.missingAccounts",{count:((ut=fe.value.missing_account_ids)==null?void 0:ut.length)||0})),1)])):v("",!0),e("div",VE,[(n(!0),r(me,null,$e(fe.value.results,D=>(n(),r("div",{key:D.account_id,class:"rounded-md border border-gray-200 p-3 dark:border-gray-700"},[e("div",IE,[e("div",zE,[e("div",LE,[e("span",OE,a(D.account_name||`#${D.account_id}`),1),e("span",{class:C(["rounded px-1.5 py-0.5 text-xs font-medium",D.success?"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-200":"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-200"])},a(D.success?t(A)("common.success"):t(A)("common.failed")),3)]),e("div",NE,[oe(" #"+a(D.account_id)+" ",1),D.platform?(n(),r(me,{key:0},[oe(" · "+a(D.platform),1)],64)):v("",!0),D.type?(n(),r(me,{key:1},[oe(" · "+a(D.type),1)],64)):v("",!0),D.latency_ms?(n(),r(me,{key:2},[oe(" · "+a(D.latency_ms)+"ms",1)],64)):v("",!0)])])]),e("p",jE,a(D.message),1)]))),128)),fe.value.results.length===0?(n(),r("div",DE,a(t(A)("admin.accounts.bulkAccountTest.noAccountsToTest")),1)):v("",!0)])])])])):v("",!0),E(rS,{show:z.value,onClose:$[20]||($[20]=D=>z.value=!1)},null,8,["show"]),E(mU,{show:ke.value,onClose:$[21]||($[21]=D=>ke.value=!1)},null,8,["show"])]}),_:1}))}}),$A=Hs(WE,[["__scopeId","data-v-e5fefebf"]]);export{$A as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.