@kaitranntt/ccs 8.7.0-dev.6 → 8.7.0-dev.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  2. package/dist/cliproxy/model-catalog.js +36 -0
  3. package/dist/cliproxy/model-catalog.js.map +1 -1
  4. package/dist/shared/toml-object.d.ts +5 -0
  5. package/dist/shared/toml-object.d.ts.map +1 -1
  6. package/dist/shared/toml-object.js +111 -1
  7. package/dist/shared/toml-object.js.map +1 -1
  8. package/dist/ui/assets/{Trans-DP7fr_4V.js → Trans-udTKDAiY.js} +1 -1
  9. package/dist/ui/assets/{accounts-BcFYWXkU.js → accounts-DM0qGQmb.js} +1 -1
  10. package/dist/ui/assets/{alert-dialog-DwNHrf5Z.js → alert-dialog-NSrT05Q2.js} +1 -1
  11. package/dist/ui/assets/{api-b1V7VOJ2.js → api-eMMnfsak.js} +1 -1
  12. package/dist/ui/assets/{auth-section-4a5B6Cmq.js → auth-section-BxSRH9zw.js} +1 -1
  13. package/dist/ui/assets/{backups-section-lyi-6RgY.js → backups-section-CWXr1_mw.js} +1 -1
  14. package/dist/ui/assets/{channels-CdzFGpuY.js → channels-BBGb1vBB.js} +1 -1
  15. package/dist/ui/assets/{checkbox-B7KuHlLY.js → checkbox-B3K9bT5D.js} +1 -1
  16. package/dist/ui/assets/{claude-extension-DaXQD0q-.js → claude-extension-D9BCl9x-.js} +1 -1
  17. package/dist/ui/assets/cliproxy-CMqWk7m9.js +4 -0
  18. package/dist/ui/assets/{cliproxy-ai-providers-DPyn4bpm.js → cliproxy-ai-providers-BXsW2OhA.js} +1 -1
  19. package/dist/ui/assets/{cliproxy-control-panel-Bf1gy7m1.js → cliproxy-control-panel-DPQKQS-6.js} +1 -1
  20. package/dist/ui/assets/codex-CxZKAvy2.js +34 -0
  21. package/dist/ui/assets/{confirm-dialog-DTs0DdfP.js → confirm-dialog-Bd7QQmh1.js} +1 -1
  22. package/dist/ui/assets/{copilot-DqOXpPZ4.js → copilot-LGR9P5Tm.js} +1 -1
  23. package/dist/ui/assets/{cursor-olEz8NDS.js → cursor-pst9GU6_.js} +1 -1
  24. package/dist/ui/assets/{droid-WfvvrtTQ.js → droid-BOZUprl3.js} +1 -1
  25. package/dist/ui/assets/{globalenv-section-CXCOXHDG.js → globalenv-section-DJ5UkjeK.js} +1 -1
  26. package/dist/ui/assets/{health-CxN4hFzE.js → health-DUsZU-Ya.js} +1 -1
  27. package/dist/ui/assets/{index-LUcVB7Eg.js → index-5mv-MYj7.js} +1 -1
  28. package/dist/ui/assets/{index-cAY2_Z-N.js → index-B-_IztpU.js} +1 -1
  29. package/dist/ui/assets/{index-DC2J8ssm.js → index-B_oqRqAI.js} +1 -1
  30. package/dist/ui/assets/{index-CZ16RAMx.js → index-Cr5j2J4e.js} +1 -1
  31. package/dist/ui/assets/{index-JASCpaNF.js → index-DXkMsg40.js} +2 -2
  32. package/dist/ui/assets/{index-DCJex8UC.js → index-hoCKrABm.js} +1 -1
  33. package/dist/ui/assets/{index-CNlTqn_W.js → index-i73j7jKY.js} +1 -1
  34. package/dist/ui/assets/{logs-BYE6VgcG.js → logs-DYd4j4Qq.js} +1 -1
  35. package/dist/ui/assets/{masked-input-DelxZl_f.js → masked-input-BDvcDWuM.js} +1 -1
  36. package/dist/ui/assets/{proxy-status-widget-CD-1ZBy_.js → proxy-status-widget-B_PozEsq.js} +1 -1
  37. package/dist/ui/assets/{raw-json-settings-editor-panel-CoZsEAjC.js → raw-json-settings-editor-panel-3ZJcfAeS.js} +1 -1
  38. package/dist/ui/assets/{searchable-select-C_yiGkLP.js → searchable-select-CTvbVJUs.js} +1 -1
  39. package/dist/ui/assets/{separator-CLmkv1n7.js → separator-DBbORiOt.js} +1 -1
  40. package/dist/ui/assets/{shared-DxCi-Mrp.js → shared-BDaNzpmF.js} +1 -1
  41. package/dist/ui/assets/{table-DVuzgqVJ.js → table-C_CmIT9v.js} +1 -1
  42. package/dist/ui/assets/{updates-0fqnmzPi.js → updates-Dc0B4lfE.js} +1 -1
  43. package/dist/ui/assets/{use-accounts-Dab7lYXO.js → use-accounts-BO-oKLTi.js} +1 -1
  44. package/dist/ui/index.html +1 -1
  45. package/dist/web-server/usage/aggregator.d.ts.map +1 -1
  46. package/dist/web-server/usage/aggregator.js +10 -7
  47. package/dist/web-server/usage/aggregator.js.map +1 -1
  48. package/package.json +1 -1
  49. package/dist/ui/assets/cliproxy-cQjwi1oj.js +0 -4
  50. package/dist/ui/assets/codex-C4hCwhGL.js +0 -30
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../src/web-server/usage/aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../src/web-server/usage/aggregator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaitranntt/ccs",
3
- "version": "8.7.0-dev.6",
3
+ "version": "8.7.0-dev.8",
4
4
  "description": "Claude Code Switch - Instant profile switching between Claude, GLM, Kimi, and more",
5
5
  "keywords": [
6
6
  "cli",
@@ -1,4 +0,0 @@
1
- import{j as e}from"./radix-ui-nu4wz29m.js";import{r as c}from"./react-vendor-Bjx91N7w.js";import{a as wt,u as ss,b as Is}from"./tanstack-bhJxV1h8.js";import{a9 as Ts,a as W,e as q,C as as,b as ns,aa as is,ab as rs,c as X,P as je,B as G,ac as xe,L as ee,I as ce,j as Qe,k as We,l as Je,m as Xe,n as Me,ad as os,ae as ds,af as Es,ag as Rs,ah as Os,u as ls,ai as Ct,aj as At,ak as St,al as Mt,Y as he,am as cs,an as Kt,ao as _s,ap as Ls,aq as Oe,ar as us,_ as Ye,as as Fs,at as Gt,au as Ht,av as qs,aw as Us,ax as Ks,ay as Gs,az as Hs,aA as zs,aB as Bs,aC as Vs,aD as zt,aE as $s,z as ms,aF as Qs,x as Pt,aG as Ws,aH as Dt,aI as Bt,aJ as ps,aK as Js,w as Xs,aL as Ys,aM as Zs,T as gt,o as vt,p as jt,q as bt,aN as ea,aO as ta,aP as sa,aQ as ut,aR as aa,aS as na,aT as ia,aU as ra,aV as oa,aW as da,U as la,V as ca,W as Vt,X as $t,aX as ua,aY as ma,aZ as pa,a_ as xa,a$ as ha,b0 as fa,b1 as ga,b2 as va,b3 as ja,b4 as ba,b5 as Na,b6 as ze,b7 as ya,S as ka}from"./index-JASCpaNF.js";import{C as Nt}from"./default-ports-1QQSffYX.js";import{t as B}from"./notifications-B4_o8bcr.js";import{C as xs,L as ue,q as Pe,a0 as wa,n as De,p as hs,aH as It,R as nt,r as _e,ab as Tt,T as tt,a8 as Qt,aI as fs,aG as Ca,D as Et,Z as Le,$ as gs,i as Aa,v as vs,aJ as Sa,av as Ma,X as Rt,aa as it,N as js,I as bs,aK as Pa,au as Ns,aL as Da,ay as Ia,aM as st}from"./icons-DSLG1YsC.js";import{R as Ze,A as Wt,D as mt,i as Ta,a as Ea}from"./antigravity-responsibility-constants-Bvh4Ybz0.js";import{C as et}from"./checkbox-B7KuHlLY.js";import{C as Ra}from"./confirm-dialog-DTs0DdfP.js";import{S as Ot}from"./separator-CLmkv1n7.js";import{S as Oa}from"./searchable-select-C_yiGkLP.js";import{P as _a}from"./proxy-status-widget-CD-1ZBy_.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";import"./alert-dialog-DwNHrf5Z.js";import"./Trans-DP7fr_4V.js";const ne="gemini-3.1-pro-high",Te="gemini-3.1-pro-low",La=Object.freeze({"gemini-3-pro-high":ne,"gemini-3.1-pro-high":ne,"gemini-3-pro-low":Te,"gemini-3.1-pro-low":Te,"gemini-3-pro-preview":ne,"gemini-3-pro-preview-customtools":ne,"gemini-3.1-pro-preview":ne,"gemini-3.1-pro-preview-customtools":ne,"gemini-3-1-pro-preview":ne,"gemini-3-1-pro-preview-customtools":ne}),ys=Object.freeze({"gemini-3-pro-preview":"gemini-3.1-pro-preview","gemini-3.1-pro-preview":"gemini-3-pro-preview","gemini-3-flash-preview":"gemini-3.1-flash-preview","gemini-3.1-flash-preview":"gemini-3-flash-preview"}),Fa=/^gemini-(\d+(?:[.-]\d+)*)-(pro|flash)-preview(-customtools)?$/i,qa=["agy/","gcli/"];function V(t){return Ts(t).toLowerCase()}function Ua(t){const a=t.trim(),s=a.toLowerCase();for(const n of qa)if(s.startsWith(n))return a.slice(n.length);return a}function Ka(t){return t.replace(/-customtools$/i,"")}function Ga(t){return La[V(t)]}function at(t){const a=V(t),s=a.match(Fa);if(!s)return null;const[,n,i,d]=s;return{normalizedId:a,version:n.split(/[.-]/).map(o=>Number(o)),family:i,customtools:!!d,dottedVersion:n.includes(".")}}function ks(t,a){const s=Math.max(t.length,a.length);for(let n=0;n<s;n+=1){const i=t[n]??0,d=a[n]??0;if(i!==d)return i>d?1:-1}return 0}function Ha(t,a,s){if(t.customtools!==a.customtools)return t.customtools?1:-1;const n=ks(t.version,a.version);if(n!==0)return n>0?-1:1;const i=+(t.dottedVersion===s.dottedVersion),d=+(a.dottedVersion===s.dottedVersion);return i!==d?d-i:t.normalizedId.localeCompare(a.normalizedId)}function Jt(t,a){const s=V(a);return t.find(n=>V(n.id)===s)?.id}function za(t,a){const s=at(t);return!s||a.length===0?void 0:a.map(i=>{const d=at(i.id);return!d||d.family!==s.family?null:{id:i.id,info:d}}).filter(i=>!!i).sort((i,d)=>Ha(i.info,d.info,s))[0]?.id}const be={agy:{provider:"agy",displayName:"Antigravity",defaultModel:"claude-opus-4-6-thinking",models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",description:"Latest flagship, extended thinking",extendedContext:!1,presetMapping:{default:"claude-opus-4-6-thinking",opus:"claude-opus-4-6-thinking",sonnet:"claude-sonnet-4-6",haiku:"claude-sonnet-4-6"}},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",description:"Latest Sonnet with thinking budget support",presetMapping:{default:"claude-sonnet-4-6",opus:"claude-opus-4-6-thinking",sonnet:"claude-sonnet-4-6",haiku:"claude-sonnet-4-6"}},{id:ne,name:"Gemini Pro High",description:"Current Antigravity Gemini Pro route with higher reasoning budget",extendedContext:!0,presetMapping:{default:ne,opus:ne,sonnet:ne,haiku:"gemini-3-1-flash-preview"}},{id:Te,name:"Gemini Pro Low",description:"Current Antigravity Gemini Pro route with the lighter quota tier",extendedContext:!0,presetMapping:{default:Te,opus:Te,sonnet:Te,haiku:"gemini-3-1-flash-preview"}},{id:"gemini-3-1-flash-preview",name:"Gemini Flash",description:"Resolves to the best advertised Gemini Flash preview via Antigravity",extendedContext:!0,presetMapping:{default:"gemini-3-1-flash-preview",opus:ne,sonnet:ne,haiku:"gemini-3-1-flash-preview"}}]},gemini:{provider:"gemini",displayName:"Gemini",defaultModel:"gemini-2.5-pro",models:[{id:"gemini-3.1-pro-preview",name:"Gemini Pro",tier:"paid",description:"Uses the best advertised Gemini Pro preview when Google exposes one",extendedContext:!0,presetMapping:{default:"gemini-3.1-pro-preview",opus:"gemini-3.1-pro-preview",sonnet:"gemini-3.1-pro-preview",haiku:"gemini-3-flash-preview"}},{id:"gemini-3-flash-preview",name:"Gemini Flash",tier:"paid",description:"Uses the best advertised Gemini Flash preview when Google exposes one",extendedContext:!0,presetMapping:{default:"gemini-3-flash-preview",opus:"gemini-3.1-pro-preview",sonnet:"gemini-3.1-pro-preview",haiku:"gemini-3-flash-preview"}},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",description:"Stable, works with free Google account",extendedContext:!0,presetMapping:{default:"gemini-2.5-pro",opus:"gemini-2.5-pro",sonnet:"gemini-2.5-pro",haiku:"gemini-2.5-flash"}}]},codex:{provider:"codex",displayName:"Codex",defaultModel:"gpt-5.4",models:[{id:"gpt-5.5",name:"GPT-5.5",tier:"paid",description:"Newest Codex-released GPT-5 family model; falls back to GPT-5.4 on free plans",codexMaxEffort:"xhigh",codexServiceTiers:["fast"],presetMapping:{default:"gpt-5.5",opus:"gpt-5.5",sonnet:"gpt-5.5",haiku:"gpt-5.4-mini"}},{id:"gpt-5.4",name:"GPT-5.4",description:"Recommended Codex default for most coding and agentic tasks",codexMaxEffort:"xhigh",codexServiceTiers:["fast"],presetMapping:{default:"gpt-5.4",opus:"gpt-5.4",sonnet:"gpt-5.4",haiku:"gpt-5.4-mini"}},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",description:"Fast, lower-cost Codex option for lighter tasks and haiku-tier routing",codexMaxEffort:"high",presetMapping:{default:"gpt-5.4-mini",opus:"gpt-5.4",sonnet:"gpt-5.4",haiku:"gpt-5.4-mini"}},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",tier:"paid",description:"Previous flagship coding model whose capabilities now power GPT-5.4",codexMaxEffort:"xhigh",presetMapping:{default:"gpt-5.3-codex",opus:"gpt-5.3-codex",sonnet:"gpt-5.3-codex",haiku:"gpt-5.4-mini"}},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",tier:"paid",description:"Research preview model for ChatGPT Pro subscribers, optimized for near-instant coding iteration",codexMaxEffort:"xhigh",presetMapping:{default:"gpt-5.3-codex-spark",opus:"gpt-5.3-codex",sonnet:"gpt-5.3-codex",haiku:"gpt-5.4-mini"}},{id:"gpt-5.2",name:"GPT-5.2",description:"Previous general-purpose Codex model",codexMaxEffort:"xhigh",presetMapping:{default:"gpt-5.2",opus:"gpt-5.2",sonnet:"gpt-5.2",haiku:"gpt-5.4-mini"}}]},qwen:{provider:"qwen",displayName:"Qwen",defaultModel:"qwen3-coder-plus",models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus",description:"Code-focused model (1M context)",presetMapping:{default:"qwen3-coder-plus",opus:"qwen3-max",sonnet:"qwen3-coder-plus",haiku:"qwen3-coder-flash"}},{id:"qwen3-max",name:"Qwen3 Max",description:"Flagship model (256K context)",presetMapping:{default:"qwen3-max",opus:"qwen3-max",sonnet:"qwen3-coder-plus",haiku:"qwen3-coder-flash"}},{id:"qwen3-max-preview",name:"Qwen3 Max Preview",description:"Preview with thinking support (256K)",presetMapping:{default:"qwen3-max-preview",opus:"qwen3-max-preview",sonnet:"qwen3-max",haiku:"qwen3-coder-flash"}},{id:"qwen3-235b",name:"Qwen3 235B",description:"Large 235B A22B model",presetMapping:{default:"qwen3-235b",opus:"qwen3-max",sonnet:"qwen3-235b",haiku:"qwen3-coder-flash"}},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus",description:"Vision-language multimodal"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash",description:"Fast code generation"},{id:"qwen3-32b",name:"Qwen3 32B",description:"Qwen3 32B model"}]},iflow:{provider:"iflow",displayName:"iFlow",defaultModel:"qwen3-coder-plus",models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus",description:"Recommended default for iFlow accounts",presetMapping:{default:"qwen3-coder-plus",opus:"qwen3-coder-plus",sonnet:"qwen3-coder-plus",haiku:"qwen3-coder-plus"}},{id:"qwen3-max",name:"Qwen3 Max",description:"Flagship Qwen model via iFlow"},{id:"kimi-k2",name:"Kimi K2",description:"Kimi model currently available via iFlow"},{id:"deepseek-v3.2",name:"DeepSeek V3.2",description:"Current DeepSeek V3.2 model via iFlow"},{id:"deepseek-r1",name:"DeepSeek R1",description:"Reasoning-focused DeepSeek model"},{id:"glm-4.6",name:"GLM 4.6",description:"Zhipu GLM 4.6 via iFlow"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus",description:"Vision-language model"}]},qoder:{provider:"qoder",displayName:"Qoder",defaultModel:"qoder/auto",models:[{id:"qoder/auto",name:"Qoder Auto",description:"Auto selects the best Qoder model for your prompt",presetMapping:{default:"qoder/auto",opus:"qoder/auto",sonnet:"qoder/auto",haiku:"qoder/auto"}},{id:"qoder/ultimate",name:"Qoder Ultimate",description:"Highest quality Qoder tier",presetMapping:{default:"qoder/ultimate",opus:"qoder/ultimate",sonnet:"qoder/ultimate",haiku:"qoder/ultimate"}},{id:"qoder/performance",name:"Qoder Performance",description:"Balanced quality and speed",presetMapping:{default:"qoder/performance",opus:"qoder/performance",sonnet:"qoder/performance",haiku:"qoder/performance"}},{id:"qoder/efficient",name:"Qoder Efficient",description:"Cost-efficient Qoder tier",presetMapping:{default:"qoder/efficient",opus:"qoder/efficient",sonnet:"qoder/efficient",haiku:"qoder/efficient"}},{id:"qoder/lite",name:"Qoder Lite",description:"Fastest and most affordable Qoder tier",presetMapping:{default:"qoder/lite",opus:"qoder/lite",sonnet:"qoder/lite",haiku:"qoder/lite"}},{id:"qoder/qmodel",name:"Qwen 3.6 Plus (via Qoder)",description:"Qwen 3.6 Plus frontier model",presetMapping:{default:"qoder/qmodel",opus:"qoder/qmodel",sonnet:"qoder/qmodel",haiku:"qoder/qmodel"}},{id:"qoder/dmodel",name:"DeepSeek V4 Pro (via Qoder)",description:"DeepSeek V4 Pro frontier model",presetMapping:{default:"qoder/dmodel",opus:"qoder/dmodel",sonnet:"qoder/dmodel",haiku:"qoder/dfmodel"}},{id:"qoder/dfmodel",name:"DeepSeek V4 Flash (via Qoder)",description:"DeepSeek V4 Flash frontier model"},{id:"qoder/gm51model",name:"GLM 5.1 (via Qoder)",description:"GLM 5.1 frontier model",presetMapping:{default:"qoder/gm51model",opus:"qoder/gm51model",sonnet:"qoder/gm51model",haiku:"qoder/gm51model"}},{id:"qoder/kmodel",name:"Kimi K2.6 (via Qoder)",description:"Kimi K2.6 frontier model",presetMapping:{default:"qoder/kmodel",opus:"qoder/kmodel",sonnet:"qoder/kmodel",haiku:"qoder/kmodel"}},{id:"qoder/mmodel",name:"MiniMax M2.7 (via Qoder)",description:"MiniMax M2.7 frontier model",presetMapping:{default:"qoder/mmodel",opus:"qoder/mmodel",sonnet:"qoder/mmodel",haiku:"qoder/mmodel"}}]},kimi:{provider:"kimi",displayName:"Kimi (Moonshot)",defaultModel:"kimi-k2.5",models:[{id:"kimi-k2.5",name:"Kimi K2.5",description:"Latest multimodal model (262K context)",presetMapping:{default:"kimi-k2.5",opus:"kimi-k2.5",sonnet:"kimi-k2-thinking",haiku:"kimi-k2"}},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",description:"Extended reasoning model",presetMapping:{default:"kimi-k2-thinking",opus:"kimi-k2.5",sonnet:"kimi-k2-thinking",haiku:"kimi-k2"}},{id:"kimi-k2",name:"Kimi K2",description:"Flagship coding model"}]},kiro:{provider:"kiro",displayName:"Kiro (AWS)",defaultModel:"kiro-claude-sonnet-4-6",models:[{id:"kiro-claude-opus-4-6",name:"Kiro Claude Opus 4.6",description:"Claude Opus 4.6 via Kiro (2.2x credit)",presetMapping:{default:"kiro-claude-opus-4-6",opus:"kiro-claude-opus-4-6",sonnet:"kiro-claude-sonnet-4-6",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-sonnet-4-6",name:"Kiro Claude Sonnet 4.6",description:"Claude Sonnet 4.6 via Kiro (1.3x credit)",presetMapping:{default:"kiro-claude-sonnet-4-6",opus:"kiro-claude-opus-4-6",sonnet:"kiro-claude-sonnet-4-6",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-opus-4-5",name:"Kiro Claude Opus 4.5",description:"Claude Opus 4.5 via Kiro (2.2x credit)",presetMapping:{default:"kiro-claude-opus-4-5",opus:"kiro-claude-opus-4-5",sonnet:"kiro-claude-sonnet-4-5",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-sonnet-4-5",name:"Kiro Claude Sonnet 4.5",description:"Claude Sonnet 4.5 via Kiro (1.3x credit)",presetMapping:{default:"kiro-claude-sonnet-4-5",opus:"kiro-claude-opus-4-5",sonnet:"kiro-claude-sonnet-4-5",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-sonnet-4",name:"Kiro Claude Sonnet 4",description:"Claude Sonnet 4 via Kiro (1.3x credit)",presetMapping:{default:"kiro-claude-sonnet-4",opus:"kiro-claude-opus-4-5",sonnet:"kiro-claude-sonnet-4",haiku:"kiro-claude-haiku-4-5"}},{id:"kiro-claude-haiku-4-5",name:"Kiro Claude Haiku 4.5",description:"Claude Haiku 4.5 via Kiro (0.4x credit)"}]},ghcp:{provider:"ghcp",displayName:"GitHub Copilot (OAuth)",defaultModel:"claude-sonnet-5",models:[{id:"claude-sonnet-5",name:"Claude Sonnet 5",description:"Anthropic Claude Sonnet 5 via GitHub Copilot",extendedContext:!0,presetMapping:{default:"claude-sonnet-5",opus:"claude-opus-4.8",sonnet:"claude-sonnet-5",haiku:"claude-haiku-4.5"}},{id:"claude-opus-4.8",name:"Claude Opus 4.8",description:"Anthropic Claude Opus 4.8 via GitHub Copilot",extendedContext:!0,presetMapping:{default:"claude-opus-4.8",opus:"claude-opus-4.8",sonnet:"claude-sonnet-5",haiku:"claude-haiku-4.5"}},{id:"claude-opus-4.8-fast-mode",name:"Claude Opus 4.8 Fast Mode",description:"Anthropic Claude Opus 4.8 preview fast mode via GitHub Copilot",extendedContext:!0},{id:"claude-opus-4.7",name:"Claude Opus 4.7",description:"Anthropic Claude Opus 4.7 via GitHub Copilot",extendedContext:!0},{id:"claude-opus-4.6",name:"Claude Opus 4.6",description:"Anthropic Claude Opus 4.6 via GitHub Copilot",extendedContext:!0},{id:"claude-opus-4.5",name:"Claude Opus 4.5",description:"Anthropic Claude Opus 4.5 via GitHub Copilot",presetMapping:{default:"claude-opus-4.5",opus:"claude-opus-4.5",sonnet:"claude-sonnet-4.5",haiku:"claude-haiku-4.5"}},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",description:"Anthropic Claude Sonnet 4.6 via GitHub Copilot",extendedContext:!0,presetMapping:{default:"claude-sonnet-4.6",opus:"claude-opus-4.7",sonnet:"claude-sonnet-4.6",haiku:"claude-haiku-4.5"}},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5",description:"Anthropic Claude Sonnet 4.5 via GitHub Copilot",presetMapping:{default:"claude-sonnet-4.5",opus:"claude-opus-4.5",sonnet:"claude-sonnet-4.5",haiku:"claude-haiku-4.5"}},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",description:"Anthropic Claude Haiku 4.5 via GitHub Copilot"},{id:"claude-fable-5",name:"Claude Fable 5",description:"Anthropic Claude Fable 5 via GitHub Copilot",extendedContext:!0},{id:"gpt-5.5",name:"GPT-5.5",description:"OpenAI GPT-5.5 via GitHub Copilot",extendedContext:!0,presetMapping:{default:"gpt-5.5",opus:"gpt-5.5",sonnet:"gpt-5.4",haiku:"gpt-5.4-mini"}},{id:"gpt-5.4",name:"GPT-5.4",description:"OpenAI GPT-5.4 via GitHub Copilot",extendedContext:!0},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",description:"OpenAI GPT-5.4 Mini via GitHub Copilot"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",description:"OpenAI GPT-5.4 Nano via GitHub Copilot"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",description:"OpenAI GPT-5.3 Codex via GitHub Copilot",extendedContext:!0,presetMapping:{default:"gpt-5.3-codex",opus:"gpt-5.3-codex",sonnet:"gpt-5.3-codex",haiku:"gpt-5-mini"}},{id:"gpt-5-mini",name:"GPT-5 Mini",description:"OpenAI GPT-5 Mini via GitHub Copilot"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",description:"Google Gemini 2.5 Pro via GitHub Copilot"},{id:"gemini-3-flash",name:"Gemini 3 Flash",description:"Google Gemini 3 Flash via GitHub Copilot"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",description:"Google Gemini 3.1 Pro via GitHub Copilot"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",description:"Google Gemini 3.5 Flash via GitHub Copilot"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",description:"Moonshot Kimi K2.7 Code via GitHub Copilot"},{id:"mai-code-1-flash",name:"MAI-Code-1-Flash",description:"Microsoft MAI-Code-1-Flash via GitHub Copilot"},{id:"raptor-mini",name:"Raptor Mini",description:"Microsoft Raptor Mini via GitHub Copilot"}]},claude:{provider:"claude",displayName:"Claude (Anthropic)",defaultModel:"claude-sonnet-5",models:[{id:"claude-sonnet-5",name:"Claude Sonnet 5",description:"Latest Sonnet model",extendedContext:!0,presetMapping:{default:"claude-sonnet-5",opus:"claude-opus-4-8",sonnet:"claude-sonnet-5",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-fable-5",name:"Claude Fable 5",description:"Most powerful model",extendedContext:!0,presetMapping:{default:"claude-fable-5",opus:"claude-fable-5",sonnet:"claude-sonnet-5",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-opus-4-8",name:"Claude Opus 4.8",description:"Latest flagship model",extendedContext:!0,presetMapping:{default:"claude-opus-4-8",opus:"claude-opus-4-8",sonnet:"claude-sonnet-5",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-opus-4-7",name:"Claude Opus 4.7",description:"Previous flagship model",extendedContext:!0,presetMapping:{default:"claude-opus-4-7",opus:"claude-opus-4-7",sonnet:"claude-sonnet-5",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-opus-4-6",name:"Claude Opus 4.6",description:"Older flagship model",extendedContext:!0,presetMapping:{default:"claude-opus-4-6",opus:"claude-opus-4-6",sonnet:"claude-sonnet-4-6",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",description:"Balanced performance and speed",extendedContext:!0,presetMapping:{default:"claude-sonnet-4-6",opus:"claude-opus-4-6",sonnet:"claude-sonnet-4-6",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",description:"Most capable Claude model",extendedContext:!0,presetMapping:{default:"claude-opus-4-5-20251101",opus:"claude-opus-4-5-20251101",sonnet:"claude-sonnet-4-5-20250929",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",description:"Balanced performance and speed",extendedContext:!0,presetMapping:{default:"claude-sonnet-4-5-20250929",opus:"claude-opus-4-5-20251101",sonnet:"claude-sonnet-4-5-20250929",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",description:"Previous generation Sonnet",extendedContext:!0,presetMapping:{default:"claude-sonnet-4-20250514",opus:"claude-opus-4-5-20251101",sonnet:"claude-sonnet-4-20250514",haiku:"claude-haiku-4-5-20251001"}},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",description:"Fast and efficient"}]}};function Re(t,a){if(!t)return;const s=V(a);if(t.provider==="agy"){const o=Ga(s);if(o){const m=t.models.find(r=>r.id===o);if(m)return m}}const n=ys[s.toLowerCase()],i=t.models.find(o=>o.id===s||o.id===n);if(i)return i;const d=at(s);if(d)return t.models.map(o=>({model:o,info:at(o.id)})).filter(o=>!!(o.info&&o.info.family===d.family)).sort((o,m)=>ks(m.info.version,o.info.version))[0]?.model}function Ba(t){if(t==="free")return"free";if(typeof t=="string"&&t.trim().length>0)return"paid"}function Va(t,a){const s=be[t.toLowerCase()];if(!a||a.models.length===0)return s;const n=a.models.map(u=>({id:u.id,owned_by:a.provider})),i=a.models.map(u=>{const l=Re(s,u.id);return{...u,name:u.name||l?.name||u.id,tier:l?.tier??Ba(u.tier),description:u.description??l?.description,broken:l?.broken,issueUrl:l?.issueUrl,deprecated:l?.deprecated,deprecationReason:l?.deprecationReason,extendedContext:u.extendedContext??l?.extendedContext,presetMapping:l?.presetMapping}}),d=s?.defaultModel?Ee(s.defaultModel,n):void 0,o=typeof d=="string"&&n.some(u=>V(u.id)===V(d)),m=n.some(u=>V(u.id)===V(a.defaultModel)),r=o?d:m?a.defaultModel:i[0]?.id??"";return{provider:a.provider,displayName:a.displayName||s?.displayName||t,defaultModel:r,models:i}}function _t(t){const a={},s=new Set([...Object.keys(be),...Object.keys(t??{})]);for(const n of s){const i=Va(n,t?.[n]);i&&(a[n]=i)}return a}function ws(t,a,s){const n=Re(s,a);return n||Re(be[t.toLowerCase()],a)}function Ee(t,a=[]){const s=V(t),n=za(s,a);if(n)return n;const i=Jt(a,s);if(i)return i;const d=ys[s];return(d?Jt(a,d):void 0)??s}function $a(t,a=[]){return{default:Ee(t.default,a),opus:Ee(t.opus,a),sonnet:Ee(t.sonnet,a),haiku:Ee(t.haiku,a)}}function Lt(t,a=[]){if(!t)return[];const s=be[t.provider.toLowerCase()]??t,n=new Set;return s.models.map(i=>{const d=Ee(i.id,a),o=i.presetMapping?$a(i.presetMapping,a):void 0,m=t.models.find(r=>V(r.id)===V(d));return{...i,id:d,name:m?.name||i.name,description:m?.description??i.description,presetMapping:o}}).filter(i=>n.has(i.id)?!1:(n.add(i.id),!0))}function Qa(t,a,s=[]){const n=t.trim().toLowerCase();if(!a||!n)return[];const i=be[n]??a,d=Lt(a,s),o=new Set(d.map(l=>V(l.id))),m=new Set(d.map(l=>Re(i,l.id)?.id).filter(l=>!!l).map(l=>V(l))),r=new Set,u=new Set(s.map(l=>V(l.id)));return s.filter(l=>{const g=V(l.id),h=Ua(l.id),b=Ka(h),y=Re(i,h)??Re(i,b);if(o.has(V(h))||g!==V(h)&&u.has(V(h)))return!1;const S=V(b);if(S!==V(h)&&u.has(S))return!1;const E=y?V(y.id):S;return y&&m.has(E)||r.has(E)||!y&&n==="agy"?!1:(r.add(E),!0)})}function Wa(t,a,s){return ws(t,a,s)?.extendedContext===!0}const pt="ccs-internal-managed";async function Ja(){try{const t=await fetch("/api/settings/auth/tokens/raw");return t.ok?(await t.json())?.apiKey?.value??pt:pt}catch{return pt}}async function Xa(t,a){if(a)return a;try{const s=await fetch("/api/cliproxy/catalog");if(!s.ok)return be[t];const n=await s.json();return _t(n.catalogs)[t]??be[t]}catch{return be[t]}}async function yt(t,a,s){const n=await Xa(t,s);if(!n)return{success:!1};const i=n.models.find(l=>l.id===n.defaultModel)||n.models[0],d=i?.id??n.defaultModel,o=i?.presetMapping||{default:d,opus:d,sonnet:d,haiku:d},m=await Ja(),u={env:{ANTHROPIC_BASE_URL:`http://127.0.0.1:${Nt}/api/provider/${t}`,ANTHROPIC_AUTH_TOKEN:m,ANTHROPIC_MODEL:o.default,ANTHROPIC_DEFAULT_OPUS_MODEL:o.opus,ANTHROPIC_DEFAULT_SONNET_MODEL:o.sonnet,ANTHROPIC_DEFAULT_HAIKU_MODEL:o.haiku}};try{return{success:(await fetch(`/api/settings/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:u})})).ok,presetName:i?.name||n.defaultModel}}catch{return{success:!1}}}function Ya({currentProgress:t,allSteps:a}){return e.jsx("div",{className:"flex justify-center gap-1 pt-2",children:a.map((s,n)=>e.jsx("div",{className:`w-2 h-2 rounded-full transition-colors ${t>=n?"bg-primary":"bg-muted"}`},s))})}function Za({providers:t,onSelect:a}){return e.jsx("div",{className:"grid gap-2",children:t.map(s=>e.jsxs("button",{onClick:()=>a(s.id),className:"flex items-center justify-between p-3 border rounded-lg hover:bg-muted/50 transition-colors text-left",children:[e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:s.name}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s.description})]}),e.jsx(xs,{className:"w-4 h-4 text-muted-foreground"})]},s.id))})}function en({selectedProvider:t,providers:a,authCommand:s,isRefreshing:n,isPending:i,onBack:d,onStartAuth:o,onRefresh:m}){const{t:r}=W(),[u,l]=c.useState(!1),g=async h=>{await navigator.clipboard.writeText(h),l(!0),setTimeout(()=>l(!1),2e3)};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"text-center space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:r("setupWizard.authStep.authenticateWith",{provider:a.find(h=>h.id===t)?.name})}),e.jsx(q,{onClick:o,disabled:i,className:"w-full gap-2",size:"lg",children:i?e.jsxs(e.Fragment,{children:[e.jsx(ue,{className:"w-4 h-4 animate-spin"}),r("setupWizard.authStep.authenticating")]}):e.jsxs(e.Fragment,{children:[e.jsx(Pe,{className:"w-4 h-4"}),r("setupWizard.authStep.authenticateInBrowser")]})}),i&&e.jsx("p",{className:"text-xs text-muted-foreground",children:r("setupWizard.authStep.completeOAuth")})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("span",{className:"w-full border-t"})}),e.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:e.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:r("setupWizard.authStep.orUseTerminal")})})]}),e.jsx(as,{children:e.jsxs(ns,{className:"p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(wa,{className:"w-4 h-4"}),r("setupWizard.authStep.runCommandHint")]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("code",{className:"flex-1 px-3 py-2 bg-muted rounded-md font-mono text-sm",children:s}),e.jsx(q,{variant:"outline",size:"icon",onClick:()=>g(s),children:u?e.jsx(De,{className:"w-4 h-4 text-green-500"}):e.jsx(hs,{className:"w-4 h-4"})})]})]})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(q,{variant:"ghost",onClick:d,disabled:i,children:[e.jsx(It,{className:"w-4 h-4 mr-2"}),r("setupWizard.authStep.back")]}),e.jsxs(q,{variant:"outline",onClick:m,disabled:n||i,children:[e.jsx(nt,{className:`w-4 h-4 mr-2 ${n?"animate-spin":""}`}),r(n?"setupWizard.authStep.checking":"setupWizard.authStep.refreshStatus")]})]})]})}function tn({accounts:t,privacyMode:a,onSelect:s,onAddNew:n,onBack:i}){const{t:d}=W();return e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:d("setupWizard.accountStep.selectAccount",{count:t.length})}),e.jsx("div",{className:"grid gap-2 max-h-[320px] overflow-y-auto pr-1",children:t.map(o=>{const m=is(o.id,o.email,o.tokenFile),r=o.provider?.toLowerCase()==="codex"?rs(m):null;return e.jsxs("button",{type:"button",onClick:()=>s(o),className:"flex items-center justify-between p-3 border rounded-lg hover:bg-muted/50 transition-colors text-left",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-muted flex items-center justify-center",children:e.jsx(_e,{className:"w-4 h-4 text-muted-foreground"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:X("font-medium",a&&je),children:m.email}),e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[r?.label?e.jsx(G,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",a&&je,r.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":r.audience==="free"?"bg-slate-200/70 text-slate-700 dark:bg-slate-700/40 dark:text-slate-200":"bg-emerald-500/12 text-emerald-700 dark:text-emerald-300"),children:r.label}):m.audienceLabel?e.jsx(G,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",a&&je,m.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":m.audience==="free"?"bg-slate-200/70 text-slate-700 dark:bg-slate-700/40 dark:text-slate-200":"bg-emerald-500/12 text-emerald-700 dark:text-emerald-300"),children:m.audienceLabel}):null,!r?.label&&m.detailLabel&&e.jsx(G,{variant:"outline",className:X("text-[10px] h-4 px-1.5",a&&je),children:m.detailLabel}),o.isDefault&&e.jsx("span",{className:"text-xs text-muted-foreground",children:d("setupWizard.accountStep.defaultAccount")})]})]})]}),e.jsx(xs,{className:"w-4 h-4 text-muted-foreground"})]},o.id)})}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("span",{className:"w-full border-t"})}),e.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:e.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:d("setupWizard.accountStep.or")})})]}),e.jsxs("button",{type:"button",className:"w-full flex items-center gap-3 p-3 border-2 border-dashed border-primary/50 rounded-lg hover:border-primary hover:bg-primary/5 transition-colors text-left",onClick:n,children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center shrink-0",children:e.jsx(Pe,{className:"w-4 h-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("div",{className:"font-medium text-primary",children:d("setupWizard.accountStep.addNewAccount")}),e.jsx("div",{className:"text-xs text-muted-foreground",children:d("setupWizard.accountStep.addNewAccountDesc")})]})]}),e.jsx("div",{className:"flex items-center justify-between pt-2",children:e.jsxs(q,{variant:"ghost",onClick:i,children:[e.jsx(It,{className:"w-4 h-4 mr-2"}),d("setupWizard.accountStep.back")]})})]})}const Xt="__custom__";function sn({selectedProvider:t,catalog:a,selectedAccount:s,variantName:n,modelName:i,isPending:d,privacyMode:o,onVariantNameChange:m,onModelChange:r,onBack:u,onSkip:l,onCreate:g}){const{t:h}=W(),b=a||be[t],y=b?.models||[],S=i&&!y.some(p=>p.id===i),[E,P]=c.useState(S),A=t==="agy"&&i.trim().length>0?xe(i):!1,w=s?is(s.id,s.email,s.tokenFile):null,N=t==="codex"&&w?rs(w):null,D=p=>{p===Xt?(P(!0),r("")):(P(!1),r(p))};return e.jsxs("div",{className:"space-y-4",children:[s&&e.jsxs("div",{className:"flex min-w-0 items-start gap-2 rounded-md bg-muted/50 p-2 text-sm",children:[e.jsx(_e,{className:"w-4 h-4 shrink-0"}),e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsxs("span",{children:[h("setupVariant.using")," ",e.jsx("span",{className:X("break-all",o&&je),children:w?.email})]}),(w?.audienceLabel||w?.detailLabel)&&e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[N?.label?e.jsx(G,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",o&&je,N.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":N.audience==="free"?"bg-slate-200/70 text-slate-700 dark:bg-slate-700/40 dark:text-slate-200":"bg-emerald-500/12 text-emerald-700 dark:text-emerald-300"),children:N.label}):w?.audienceLabel?e.jsx(G,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",o&&je,w.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":w.audience==="free"?"bg-slate-200/70 text-slate-700 dark:bg-slate-700/40 dark:text-slate-200":"bg-emerald-500/12 text-emerald-700 dark:text-emerald-300"),children:w.audienceLabel}):null,!N?.label&&w?.detailLabel&&e.jsx(G,{variant:"outline",className:X("text-[10px] h-4 px-1.5",o&&je),children:w.detailLabel})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"variant-name",children:h("setupVariant.variantNameRequired")}),e.jsx(ce,{id:"variant-name",value:n,onChange:p=>m(p.target.value),placeholder:h("setupVariant.variantNamePlaceholder")}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:[h("setupVariant.invokeHintPrefix")," ccs ",n||"<name>",' "prompt"']})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{children:h("setupVariant.model")}),E?e.jsxs("div",{className:"space-y-2",children:[e.jsx(ce,{value:i,onChange:p=>r(p.target.value),placeholder:h("setupVariant.modelPlaceholder")}),A&&e.jsx("p",{className:"text-xs text-destructive",children:h("providerEditor.agyDenylist")}),e.jsx("button",{type:"button",className:"text-xs text-primary hover:underline",onClick:()=>{P(!1),t==="agy"&&xe(i)&&r("")},children:h("setupVariant.choosePresetInstead")})]}):e.jsxs(Qe,{value:y.some(p=>p.id===i)?i:"",onValueChange:D,children:[e.jsx(We,{className:"min-w-0",children:e.jsx(Je,{placeholder:h("setupVariant.selectModel")})}),e.jsxs(Xe,{className:"max-w-[calc(100vw-2rem)]",children:[y.map(p=>e.jsx(Me,{value:p.id,children:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate",children:p.name}),p.description&&e.jsxs("span",{className:"truncate text-xs text-muted-foreground",children:["- ",p.description]})]})},p.id)),e.jsx(Me,{value:Xt,children:e.jsx("span",{className:"text-primary",children:h("setupVariant.customModelName")})})]})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:E?h("setupVariant.enterAnyModel"):h("setupVariant.defaultModel",{model:b?.defaultModel||h("setupVariant.providerDefault")})})]}),e.jsxs("div",{className:"flex flex-col gap-2 pt-2 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs(q,{variant:"ghost",onClick:u,className:"justify-start",children:[e.jsx(It,{className:"w-4 h-4 mr-2"}),h("setupVariant.back")]}),e.jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:items-center",children:[e.jsx(q,{variant:"ghost",onClick:l,children:h("setupVariant.skip")}),e.jsx(q,{onClick:g,disabled:!n||d||A,children:h(d?"setupVariant.creating":"setupVariant.createVariant")})]})]}),e.jsx("p",{className:"text-xs text-center text-muted-foreground",children:h("setupVariant.skipHint")})]})}function an({variantName:t,onClose:a}){const{t:s}=W();return e.jsxs("div",{className:"space-y-4 text-center",children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("div",{className:"w-16 h-16 bg-green-100 dark:bg-green-900/30 rounded-full flex items-center justify-center",children:e.jsx(De,{className:"w-8 h-8 text-green-600 dark:text-green-400"})})}),e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold text-lg",children:s("setupWizard.successStep.title")}),e.jsx("div",{className:"text-sm text-muted-foreground",children:s("setupWizard.successStep.subtitle")})]}),e.jsx(as,{children:e.jsxs(ns,{className:"p-4 space-y-2",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:s("setupWizard.successStep.usage")}),e.jsxs("code",{className:"block px-3 py-2 bg-muted rounded-md font-mono text-sm",children:["ccs ",t,' "your prompt here"']})]})}),e.jsx(q,{onClick:a,className:"w-full",children:s("setupWizard.successStep.done")})]})}function nn({open:t,onClose:a}){const[s,n]=c.useState("provider"),[i,d]=c.useState(""),[o,m]=c.useState(null),[r,u]=c.useState(""),[l,g]=c.useState(""),[h,b]=c.useState(!1),[y,S]=c.useState(!1),{data:E,refetch:P}=os(),{data:A}=ds(),w=Es(),N=Rs(),D=Os(),{privacyMode:p}=ls(),k=E?.authStatus.find(C=>C.provider===i),x=c.useMemo(()=>k?.accounts||[],[k?.accounts]),v=c.useMemo(()=>_t(A?.catalogs),[A?.catalogs]),M=!!A;c.useEffect(()=>{if(!t){const C=setTimeout(()=>{n("provider"),d(""),m(null),u(""),g(""),S(!1)},0);return()=>clearTimeout(C)}},[t]),c.useEffect(()=>{if(s==="auth"&&x.length>0&&!y){const C=setTimeout(()=>{n("account")},0);return()=>clearTimeout(C)}},[s,x,y]);const H=async()=>{b(!0),await P(),b(!1)},I=()=>{const C=(k?.accounts?.length||0)===0;N.mutate({provider:i},{onSuccess:async J=>{if(C){const j=await yt(i,void 0,M?v[i]:void 0);j.success&&j.presetName?B.success(`Applied "${j.presetName}" preset`):j.success||B.warning(he.t("commonToast.accountAddedPresetFailed"))}J.account&&(m(J.account),n("variant")),P()}})},_=C=>{d(C),(E?.authStatus.find(Y=>Y.provider===C)?.accounts||[]).length===0?n("auth"):n("account")},K=C=>{m(C),n("variant")},z=async()=>{if(!(!r||!i))try{await w.mutateAsync({name:r,provider:i,model:l||void 0,account:o?.id}),n("success")}catch(C){console.error("Failed to create variant:",C)}},$=`ccs ${i} --auth --add`,R=Ls(s),O=C=>{if(!C&&(N.isPending&&i&&D.mutate(i),s==="success"||s==="provider")){a();return}};return e.jsx(Ct,{open:t,onOpenChange:O,children:e.jsxs(At,{className:"grid max-h-[calc(100dvh-2rem)] w-[calc(100vw-2rem)] max-w-lg grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden p-0 sm:max-w-lg",onPointerDownOutside:C=>{s!=="success"&&s!=="provider"&&C.preventDefault()},onEscapeKeyDown:C=>{(N.isPending||w.isPending)&&C.preventDefault()},children:[e.jsxs(St,{className:"min-w-0 px-6 pt-6 pr-12",children:[e.jsxs(Mt,{className:"flex min-w-0 items-center gap-2",children:[e.jsx(Tt,{className:"w-5 h-5 text-primary"}),he.t("setupWizard.title")]}),e.jsxs(cs,{children:[s==="provider"&&he.t("setupWizard.stepProviderDesc"),s==="auth"&&he.t("setupWizard.stepAuthDesc"),s==="account"&&he.t("setupWizard.stepAccountDesc"),s==="variant"&&he.t("setupWizard.stepVariantDesc"),s==="success"&&he.t("setupWizard.stepSuccessDesc")]})]}),e.jsxs("div",{className:"min-h-0 space-y-4 overflow-y-auto px-6 py-4",children:[s==="provider"&&e.jsx(Za,{providers:Kt,onSelect:_}),s==="auth"&&e.jsx(en,{selectedProvider:i,providers:Kt,authCommand:$,isRefreshing:h,isPending:N.isPending,onBack:()=>n("provider"),onStartAuth:I,onRefresh:H}),s==="account"&&e.jsx(tn,{accounts:x,privacyMode:p,onSelect:K,onAddNew:()=>{S(!0),n("auth")},onBack:()=>n("provider")}),s==="variant"&&e.jsx(sn,{selectedProvider:i,catalog:v[i],selectedAccount:o,variantName:r,modelName:l,isPending:w.isPending,privacyMode:p,onVariantNameChange:u,onModelChange:g,onBack:()=>x.length>0?n("account"):n("provider"),onSkip:a,onCreate:z}),s==="success"&&e.jsx(an,{variantName:r,onClose:a})]}),e.jsx("div",{className:"px-6 pb-6",children:e.jsx(Ya,{currentProgress:R,allSteps:_s})})]})})}const rn=3e3,on=300*1e3,dn=3;function xt(t){t.invalidateQueries({queryKey:["cliproxy-catalog"]}),t.invalidateQueries({queryKey:["cliproxy-models"]})}async function ht(t){const a=await t.text();if(!a)return{};try{return JSON.parse(a)}catch{const s=t.status>=400?`Request failed with status ${t.status}`:void 0;return s?{error:s}:{}}}function ln(t,a){const s=typeof t.message=="string"?t.message:typeof t.error=="string"?t.error:a,n=Array.isArray(t.hints)?t.hints.filter(i=>typeof i=="string"&&i.trim().length>0):[];return n.length>0?[s,...n].join(`
2
- `):s}const ye={provider:null,isAuthenticating:!1,error:null,authUrl:null,oauthState:null,isSubmittingCallback:!1,isDeviceCodeFlow:!1};function cn(){const{t}=W(),[a,s]=c.useState(ye),n=c.useRef(ye),i=c.useRef(0),d=c.useRef(null),o=c.useRef(null),m=c.useRef(0),r=c.useRef(0),u=c.useRef(!1),l=wt(),g=c.useCallback(P=>P===i.current,[]),h=c.useCallback(()=>{o.current&&(clearInterval(o.current),o.current=null),r.current=0},[]);c.useEffect(()=>()=>{d.current?.abort(),h(),u.current=!1},[h]),c.useEffect(()=>{n.current=a},[a]);const b=c.useCallback(async(P,A,w)=>{if(g(w)){if(Date.now()-m.current>on){h(),g(w)&&s(N=>({...N,isAuthenticating:!1,error:t("toasts.providerAuthTimeout")}));return}try{const N=await fetch(`/api/cliproxy/auth/${P}/status?state=${encodeURIComponent(A)}`);if(!g(w))return;const D=await N.json();if(r.current=0,D.status==="ok"){if(!(typeof D.account=="object"&&D.account!==null)){h();const k=t("toasts.providerAccountRegistrationFailed");B.error(k),s(x=>({...x,isAuthenticating:!1,error:k}));return}h(),l.invalidateQueries({queryKey:["cliproxy-auth"]}),l.invalidateQueries({queryKey:["cliproxy-accounts"]}),l.invalidateQueries({queryKey:["account-quota"]}),xt(l),B.success(t("toasts.providerAuthSuccess",{provider:P})),u.current=!1,s(ye)}else if(D.status==="auth_url"){const p=D.url||D.auth_url;p&&(s(k=>({...k,authUrl:p})),u.current||(u.current=!0,window.open(p,"_blank")))}else if(D.status==="device_code"){h();const p=D.user_code&&D.verification_url?`Open ${D.verification_url} and enter code: ${D.user_code}`:"Switch to Device Code method and try again.";B.error(t("toasts.providerDeviceCodeInCallback")),s(k=>({...k,isAuthenticating:!1,error:p}))}else if(D.status==="error"){h();const p=D.error||"Authentication failed";B.error(p),s(k=>({...k,isAuthenticating:!1,error:p}))}}catch(N){if(!g(w)||(r.current+=1,r.current<dn))return;h();const D=N instanceof Error&&N.message.trim().length>0?N.message:t("toasts.providerLostStatusEndpoint");B.error(D),s(p=>({...p,isAuthenticating:!1,error:D}))}}},[g,l,h,t]),y=c.useCallback(async(P,A)=>{if(!Oe(P)){s({...ye,error:t("toasts.providerUnknown",{provider:P})});return}d.current?.abort(),h(),u.current=!1,r.current=0;const w=new AbortController,N=i.current+1;i.current=N,d.current=w;const p=(A?.flowType||(us(P)?"device_code":"authorization_code"))==="device_code",k=A?.startEndpoint||(p?"start":"start-url"),x={accountId:A?.accountId,nickname:A?.nickname,kiroMethod:A?.kiroMethod,kiroIDCStartUrl:A?.kiroIDCStartUrl,kiroIDCRegion:A?.kiroIDCRegion,kiroIDCFlow:A?.kiroIDCFlow,gitlabAuthMode:A?.gitlabAuthMode,gitlabBaseUrl:A?.gitlabBaseUrl,gitlabPersonalAccessToken:A?.gitlabPersonalAccessToken,riskAcknowledgement:A?.riskAcknowledgement};s({provider:P,isAuthenticating:!0,error:null,authUrl:null,oauthState:null,isSubmittingCallback:!1,isDeviceCodeFlow:p});try{if(k==="start")fetch(`/api/cliproxy/auth/${P}/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(x),signal:w.signal}).then(async v=>{if(!g(N))return;const M=await ht(v);if(!g(N))return;const H=M.success===!0,I=typeof M.account=="object"&&M.account!==null;if(v.ok&&H&&I)l.invalidateQueries({queryKey:["cliproxy-auth"]}),l.invalidateQueries({queryKey:["cliproxy-accounts"]}),l.invalidateQueries({queryKey:["account-quota"]}),xt(l),u.current=!1,s(ye);else{const _=typeof M.error=="string"?M.error:t(H?"toasts.providerAccountRegistrationFailed":"auth.loginFailed");B.error(_),s(K=>({...K,isAuthenticating:!1,error:_}))}}).catch(v=>{if(!g(N)||v instanceof Error&&v.name==="AbortError")return;const M=v instanceof Error?v.message:"Authentication failed";B.error(M),s(H=>({...H,isAuthenticating:!1,error:M}))});else{const v=await fetch(`/api/cliproxy/auth/${P}/start-url`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(x),signal:w.signal});if(!g(N))return;const M=await ht(v);if(!g(N))return;const H=M.success===!0;if(!v.ok||!H){const K=ln(M,t("toasts.providerStartOAuthFailed"));throw new Error(K)}const I=typeof M.authUrl=="string"?M.authUrl:null,_=typeof M.state=="string"?M.state:null;if(s(K=>({...K,authUrl:I,oauthState:_})),I&&(u.current=!0,window.open(I,"_blank")),_){if(m.current=Date.now(),!I){if(await b(P,_,N),!g(N))return;const K=n.current;if(!K.isAuthenticating||K.provider!==P)return}o.current=setInterval(()=>{b(P,_,N)},rn)}}}catch(v){if(!g(N))return;if(v instanceof Error&&v.name==="AbortError"){u.current=!1,s(ye);return}const M=v instanceof Error?v.message:t("auth.loginFailed");B.error(M),s(H=>({...H,isAuthenticating:!1,error:M}))}},[g,b,h,l,t]),S=c.useCallback(()=>{const P=a.provider;i.current+=1,d.current?.abort(),h(),u.current=!1,s(ye),P&&Ye.cliproxy.auth.cancel(P).catch(()=>{})},[a.provider,h]),E=c.useCallback(async P=>{if(!a.provider)return;const A=i.current,w=a.provider;s(N=>({...N,isSubmittingCallback:!0,error:null}));try{const N=await fetch(`/api/cliproxy/auth/${w}/submit-callback`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({redirectUrl:P})});if(!g(A))return;const D=await ht(N);if(!g(A))return;const p=D.success===!0,k=D.status==="wait",x=typeof D.account=="object"&&D.account!==null;if(N.ok&&k)s(v=>({...v,isSubmittingCallback:!1,error:null}));else if(N.ok&&p&&x)h(),l.invalidateQueries({queryKey:["cliproxy-auth"]}),l.invalidateQueries({queryKey:["cliproxy-accounts"]}),l.invalidateQueries({queryKey:["account-quota"]}),xt(l),B.success(t("toasts.providerAuthSuccess",{provider:w})),s(ye);else{const v=typeof D.error=="string"?D.error:t(p?"toasts.providerAccountRegistrationFailed":"toasts.providerCallbackFailed");throw new Error(v)}}catch(N){if(!g(A))return;const D=N instanceof Error?N.message:t("toasts.providerSubmitCallbackFailed");B.error(D),s(p=>({...p,isSubmittingCallback:!1,error:D}))}},[g,a.provider,l,h,t]);return c.useMemo(()=>({...a,startAuth:y,cancelAuth:S,submitCallback:E}),[a,y,S,E])}function kt({className:t,compact:a=!1,showAcknowledgement:s=!1,acknowledgementPhrase:n=Ze,acknowledgementText:i="",onAcknowledgementTextChange:d,disabled:o=!1,showProxySettingsLink:m=!1}){const{t:r}=W(),u=r("accountSafetyWarning.title"),l=r("accountSafetyWarning.subtitle"),g=r("accountSafetyWarning.firstLine"),h=r("accountSafetyWarning.secondLine"),b="https://github.com/kaitranntt/ccs/issues/509",y=r("accountSafetyWarning.issueLabel"),S=r("accountSafetyWarning.proxySettingsLabel");return a?e.jsx("section",{role:"alert",className:X("border-b border-amber-200/70 bg-amber-50/45 dark:bg-amber-950/5",t),children:e.jsxs("div",{className:"flex flex-col gap-3 px-6 py-3 lg:flex-row lg:items-start lg:justify-between",children:[e.jsxs("div",{className:"min-w-0 flex items-start gap-3",children:[e.jsx("div",{className:"mt-0.5 inline-flex h-6 w-6 items-center justify-center rounded-md bg-amber-500/12 text-amber-700 dark:text-amber-300",children:e.jsx(tt,{className:"h-3.5 w-3.5"})}),e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("p",{className:"text-xs font-semibold leading-5",children:u}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:l})]}),e.jsx("p",{className:"text-xs leading-5 text-muted-foreground",children:g}),e.jsx("p",{className:"text-xs font-medium leading-5 text-amber-900 dark:text-amber-200",children:h})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 lg:justify-end",children:[e.jsxs("a",{href:b,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 rounded-md border border-amber-500/25 bg-background/90 px-2 py-1 text-[11px] font-medium text-amber-800 transition-colors hover:bg-amber-500/10 dark:text-amber-200",children:[y,e.jsx(Pe,{className:"h-3 w-3"})]}),m?e.jsxs("a",{href:"/settings?tab=proxy",className:"inline-flex items-center gap-1 rounded-md border border-amber-500/25 bg-background/90 px-2 py-1 text-[11px] font-medium text-amber-800 transition-colors hover:bg-amber-500/10 dark:text-amber-200",children:[e.jsx(Qt,{className:"h-3 w-3"}),S]}):null,e.jsx(G,{variant:"outline",className:"border-amber-500/40 text-[10px] text-amber-700 dark:text-amber-300",children:"High Risk"})]})]})}):e.jsxs("section",{role:"alert",className:X("relative overflow-hidden rounded-xl border border-amber-500/30 bg-gradient-to-br from-amber-50 via-background to-rose-50/70 shadow-sm dark:from-amber-950/20 dark:to-rose-950/20",t),children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-0.5 bg-gradient-to-r from-amber-500 via-orange-500 to-rose-500"}),e.jsxs("div",{className:"space-y-3 p-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-start gap-2.5",children:[e.jsx("div",{className:"mt-0.5 inline-flex h-7 w-7 items-center justify-center rounded-md bg-amber-500/15 text-amber-700 dark:text-amber-400",children:e.jsx(tt,{className:"h-4 w-4"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold leading-5",children:u}),e.jsx("p",{className:"text-xs text-muted-foreground",children:l})]})]}),e.jsx(G,{variant:"outline",className:"border-amber-500/40 text-amber-700 dark:text-amber-300",children:"High Risk"})]}),e.jsxs("div",{className:"space-y-2 text-sm leading-relaxed",children:[e.jsx("p",{children:g}),e.jsx("p",{className:"font-medium text-amber-900 dark:text-amber-200",children:h}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"CCS is provided as-is and does not take responsibility for suspension, bans, or access loss from upstream providers."})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("a",{href:b,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1.5 rounded-md border border-amber-500/30 bg-amber-500/10 px-2.5 py-1 text-xs font-medium text-amber-800 transition-colors hover:bg-amber-500/15 dark:text-amber-200",children:[y,e.jsx(Pe,{className:"h-3.5 w-3.5"})]}),m&&e.jsxs("a",{href:"/settings?tab=proxy",className:"inline-flex items-center gap-1.5 rounded-md border border-amber-500/30 bg-amber-500/10 px-2.5 py-1 text-xs font-medium text-amber-800 transition-colors hover:bg-amber-500/15 dark:text-amber-200",children:[e.jsx(Qt,{className:"h-3.5 w-3.5"}),S]}),e.jsx("span",{className:"rounded-md border border-border/70 bg-muted/60 px-2.5 py-1 text-xs text-muted-foreground",children:"Applies to CLI and dashboard auth"})]}),s&&d&&e.jsxs("div",{className:"rounded-lg border border-amber-500/25 bg-amber-500/5 p-2.5",children:[e.jsxs(ee,{htmlFor:"account-risk-ack-text",className:"text-xs leading-5",children:["Type exact phrase to continue:"," ",e.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono",children:n})]}),e.jsx(ce,{id:"account-risk-ack-text",value:i,onChange:E=>d(E.target.value),placeholder:n,disabled:o,className:"mt-2 font-mono text-xs"})]})]})]})}function un({className:t,value:a,onChange:s,disabled:n=!1}){const{t:i}=W(),d=[a.reviewedIssue509,a.understandsBanRisk,a.acceptsFullResponsibility,a.typedPhrase.trim().replace(/\s+/g," ").toUpperCase()===Wt].filter(Boolean).length,o=d/4*100,m=r=>{s({...a,...r})};return e.jsxs("section",{role:"alert",className:X("relative overflow-hidden rounded-xl border border-rose-500/35 bg-gradient-to-br from-rose-50 via-background to-amber-50/70 p-4 shadow-sm dark:from-rose-950/20 dark:to-amber-950/20",t),children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-0.5 bg-gradient-to-r from-rose-500 via-orange-500 to-amber-500"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-start gap-2.5",children:[e.jsx("div",{className:"mt-0.5 inline-flex h-7 w-7 items-center justify-center rounded-md bg-rose-500/15 text-rose-700 dark:text-rose-300",children:e.jsx(tt,{className:"h-4 w-4"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-sm font-semibold leading-5",children:i("antigravityChecklist.title")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:i("antigravityChecklist.subtitle")})]})]}),e.jsx(G,{variant:"outline",className:"border-rose-500/40 text-rose-700 dark:text-rose-300",children:i("antigravityChecklist.mandatory")})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[e.jsx("span",{children:i("antigravityChecklist.completion")}),e.jsx("span",{children:i("antigravityChecklist.stepsCount",{current:d})})]}),e.jsx(Fs,{value:o,className:"h-2"})]}),e.jsxs("div",{className:"space-y-3 rounded-lg border border-rose-500/20 bg-rose-500/5 p-3",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(et,{id:"agy-step-reviewed-issue",checked:a.reviewedIssue509,onCheckedChange:r=>m({reviewedIssue509:!!r}),disabled:n}),e.jsx(ee,{htmlFor:"agy-step-reviewed-issue",className:"text-xs leading-5",children:"Step 1: I reviewed issue #509 and understand AGY OAuth can trigger account bans/suspensions."})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(et,{id:"agy-step-understands-risk",checked:a.understandsBanRisk,onCheckedChange:r=>m({understandsBanRisk:!!r}),disabled:n}),e.jsx(ee,{htmlFor:"agy-step-understands-risk",className:"text-xs leading-5",children:"Step 2: I understand this OAuth action is my own decision and I accept the upstream risk."})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(et,{id:"agy-step-accept-responsibility",checked:a.acceptsFullResponsibility,onCheckedChange:r=>m({acceptsFullResponsibility:!!r}),disabled:n}),e.jsx(ee,{htmlFor:"agy-step-accept-responsibility",className:"text-xs leading-5",children:"Step 3: I accept full responsibility. CCS is not liable for suspension, bans, or access loss."})]})]}),e.jsxs("div",{className:"space-y-2 rounded-lg border border-amber-500/25 bg-amber-500/5 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-medium text-amber-800 dark:text-amber-200",children:[e.jsx(fs,{className:"h-3.5 w-3.5"}),"Step 4: Type exact phrase to continue"]}),e.jsx(ce,{value:a.typedPhrase,onChange:r=>m({typedPhrase:r.target.value}),placeholder:Wt,disabled:n,className:"font-mono text-xs"})]}),e.jsx("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:e.jsxs("a",{href:"https://github.com/kaitranntt/ccs/issues/509",target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1.5 rounded-md border border-rose-500/30 bg-rose-500/10 px-2.5 py-1 font-medium text-rose-800 transition-colors hover:bg-rose-500/15 dark:text-rose-200",children:["Read issue #509",e.jsx(Pe,{className:"h-3.5 w-3.5"})]})})]})]})}function mn(t){return t.trim().replace(/\s+/g," ").toUpperCase()}function pn({open:t,onClose:a,provider:s,displayName:n,catalog:i,account:d,isFirstAccount:o=!1}){const[m,r]=c.useState(""),[u,l]=c.useState(""),[g,h]=c.useState(!1),[b,y]=c.useState(null),[S,E]=c.useState(""),[P,A]=c.useState(mt),[w,N]=c.useState(!1),[D,p]=c.useState(!1),[k,x]=c.useState(Gt),[v,M]=c.useState(""),[H,I]=c.useState(""),[_,K]=c.useState(Ht),[z,$]=c.useState("oauth"),[R,O]=c.useState(""),[C,J]=c.useState(""),{t:j}=W(),Y=c.useRef(!1),se=c.useRef(0),de=c.useRef(!1),U=cn(),ie=qs(),Q=s==="kiro",Z=s==="gitlab",re=s==="agy"||s==="gemini",Ne=s==="gemini"&&!w,fe=s==="agy"&&!w,Ce=re&&D,Ae=Ta(P),f=mn(S)===Ze,F=us(s),ge=Us(k),me=Q&&k==="idc",pe=Q&&Gs(k),Se=Q?Ks(k,_):void 0,ot=Q?zs(k):void 0,dt=Q?Se==="device_code":F,le=U.isAuthenticating||ie.isPending,Fe=m.trim(),qe=v.trim(),Ue=H.trim(),Ke=R.trim(),L=C.trim(),te=b||U.error,ae=!!d,Ie=d?.email||d?.nickname||d?.id||n,qt=c.useCallback(async()=>{const T=await fetch("/api/settings/auth/antigravity-risk");if(!T.ok)throw new Error("Failed to load power user mode setting");return(await T.json()).antigravityAckBypass===!0},[]),Ge=c.useCallback(async({pendingMessage:T=null,disabledMessage:ve=null}={})=>{const ct=++se.current;p(!0),T!==null&&y(T);try{const He=await qt();return se.current!==ct||(N(He),ve?y(He?null:ve):T!==null&&y(null)),He}catch{return se.current!==ct||(N(!1),y(ve??j("addAccountDialog.powerUserLoadFailed")),de.current||(de.current=!0,B.error(j("addAccountDialog.powerUserLoadFailed")))),!1}finally{se.current===ct&&p(!1)}},[qt,j]),lt=()=>{r(""),l(""),h(!1),y(null),E(""),A(mt),N(!1),p(!1),x(Gt),M(""),I(""),K(Ht),$("oauth"),O(""),J(""),se.current+=1,de.current=!1,Y.current=!1,a()};c.useEffect(()=>{t&&(E(""),A(mt),y(null))},[s,t]),c.useEffect(()=>()=>{se.current+=1},[]),c.useEffect(()=>{if(!t||!re){se.current+=1,N(!1),p(!1);return}Ge()},[t,s,re,Ge]),c.useEffect(()=>{if(!t||s!=="agy"||!U.error||!w)return;const T=U.error.toLowerCase();(T.includes("agy_risk_ack_required")||T.includes("responsibility acknowledgement")||T.includes("responsibility checklist"))&&Ge({pendingMessage:j("addAccountDialog.powerUserLoading"),disabledMessage:j("addAccountDialog.powerUserUnavailableRetry")})},[U.error,t,w,s,Ge,j]),c.useEffect(()=>{!U.isAuthenticating&&!U.error&&U.provider===null&&t&&Y.current&&(Y.current=!1,(async()=>{try{const ve=await yt(s,void 0,i);ve.success&&ve.presetName&&o&&B.success(`Applied "${ve.presetName}" preset`)}catch{}lt()})())},[U.isAuthenticating,U.error,U.provider]);const Ut=()=>{U.cancelAuth(),lt()},As=async()=>{U.authUrl&&(await navigator.clipboard.writeText(U.authUrl),h(!0),setTimeout(()=>h(!1),2e3))},Ss=()=>{u.trim()&&U.submitCallback(u.trim())},Ms=()=>{if(Ce){y(j("addAccountDialog.powerUserLoading"));return}if(fe&&!Ae){y("Complete all Antigravity responsibility steps before authenticating this provider.");return}if(Ne&&!f){y(`Type "${Ze}" to acknowledge the account safety warning before authenticating this provider.`);return}if(y(null),me&&!qe){y("IDC Start URL is required for Kiro IAM Identity Center login.");return}if(Z&&z==="pat"&&!L){y(j("addAccountDialog.gitlabPatRequired"));return}Y.current=!0,U.startAuth(s,{accountId:d?.id,nickname:d?d.nickname:Fe||void 0,kiroMethod:Q?k:void 0,kiroIDCStartUrl:me?qe:void 0,kiroIDCRegion:me&&Ue?Ue:void 0,kiroIDCFlow:me?_:void 0,gitlabAuthMode:Z?z:void 0,gitlabBaseUrl:Z&&Ke?Ke:void 0,gitlabPersonalAccessToken:Z&&z==="pat"&&L?L:void 0,flowType:Q?Se:void 0,startEndpoint:Q?ot:Z&&z==="pat"?"start":void 0,riskAcknowledgement:fe?{version:Ea,reviewedIssue509:P.reviewedIssue509,understandsBanRisk:P.understandsBanRisk,acceptsFullResponsibility:P.acceptsFullResponsibility,typedPhrase:P.typedPhrase}:void 0})},Ps=()=>{Y.current=!0,ie.mutate(void 0,{onSuccess:async()=>{const T=await yt("kiro",void 0,i);T.success&&T.presetName&&o&&B.success(`Applied "${T.presetName}" preset`),lt()}})},Ds=T=>{T||Ut()},oe=U.isAuthenticating;return e.jsx(Ct,{open:t,onOpenChange:Ds,children:e.jsxs(At,{className:"grid max-h-[calc(100dvh-2rem)] w-[calc(100vw-2rem)] max-w-md grid-rows-[auto_minmax(0,1fr)] overflow-hidden p-0 sm:max-w-md",onInteractOutside:T=>{oe&&T.preventDefault()},children:[e.jsxs(St,{className:"min-w-0 px-6 pt-6 pr-12",children:[e.jsx(Mt,{children:ae?`Reauthenticate ${n}`:j("addAccountDialog.title",{displayName:n})}),e.jsx(cs,{children:ae?`Refresh credentials for ${Ie}.`:j(Q?"addAccountDialog.descKiro":dt?"addAccountDialog.descDeviceCode":"addAccountDialog.descOauth")})]}),e.jsxs("div",{className:"min-h-0 space-y-4 overflow-y-auto px-6 py-4",children:[fe&&!oe&&e.jsx(un,{value:P,onChange:T=>{A(T),y(null)},disabled:le}),re&&w&&!oe&&e.jsxs("div",{className:"rounded-lg border border-amber-400/35 bg-amber-50/70 p-3 text-xs text-amber-900 dark:border-amber-800/60 dark:bg-amber-950/25 dark:text-amber-100",children:[e.jsxs("div",{className:"mb-1.5 flex items-center gap-1.5 font-semibold",children:[e.jsx(fs,{className:"h-3.5 w-3.5"}),j("addAccountDialog.powerUserEnabled")]}),j("addAccountDialog.powerUserSkipped")]}),Ne&&!oe&&e.jsx(kt,{showAcknowledgement:!0,acknowledgementPhrase:Ze,acknowledgementText:S,onAcknowledgementTextChange:T=>{E(T),y(null)},disabled:le}),Q&&!oe&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"kiro-auth-method",children:j("addAccountDialog.authMethod")}),e.jsxs(Qe,{value:k,onValueChange:T=>{x(T),y(null)},children:[e.jsx(We,{id:"kiro-auth-method",children:e.jsx(Je,{placeholder:j("addAccountDialog.selectKiroAuthMethod")})}),e.jsx(Xe,{children:Hs.map(T=>e.jsx(Me,{value:T.id,children:T.label},T.id))})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:ge.description}),pe&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:["If your browser does not return automatically after login, CCS can accept the final",e.jsx("span",{className:"mx-1 rounded bg-muted px-1.5 py-0.5 font-mono text-[11px]",children:"kiro://..."}),"callback URL in the next step."]})]}),me&&!oe&&e.jsxs("div",{className:"space-y-4 rounded-lg border border-border/60 bg-muted/20 p-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"kiro-idc-start-url",children:"IDC Start URL"}),e.jsx(ce,{id:"kiro-idc-start-url",value:v,onChange:T=>{M(T.target.value),y(null)},placeholder:"https://d-xxx.awsapps.com/start",disabled:le}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Required for organization IAM Identity Center login."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"kiro-idc-region",children:"IDC Region"}),e.jsx(ce,{id:"kiro-idc-region",value:H,onChange:T=>{I(T.target.value),y(null)},placeholder:"us-east-1",disabled:le}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Optional. Leave blank to use the upstream default region."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"kiro-idc-flow",children:"IDC Flow"}),e.jsxs(Qe,{value:_,onValueChange:T=>{K(T),y(null)},children:[e.jsx(We,{id:"kiro-idc-flow",children:e.jsx(Je,{placeholder:"{/* TODO i18n: missing key */}Select IDC flow"})}),e.jsxs(Xe,{children:[e.jsx(Me,{value:"authcode",children:"Authorization Code"}),e.jsx(Me,{value:"device",children:"Device Code"})]})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Auth Code opens a browser and may need the final callback URL pasted back. Device Code shows a verification code instead."})]})]}),Z&&!oe&&e.jsxs("div",{className:"space-y-4 rounded-lg border border-border/60 bg-muted/20 p-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"gitlab-auth-mode",children:j("addAccountDialog.gitlabAuthMethod")}),e.jsxs(Qe,{value:z,onValueChange:T=>{$(T),y(null)},children:[e.jsx(We,{id:"gitlab-auth-mode",children:e.jsx(Je,{placeholder:j("addAccountDialog.selectGitlabAuthMethod")})}),e.jsxs(Xe,{children:[e.jsx(Me,{value:"oauth",children:j("addAccountDialog.gitlabAuthOAuth")}),e.jsx(Me,{value:"pat",children:j("addAccountDialog.gitlabAuthPat")})]})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:j("addAccountDialog.gitlabAuthHint")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"gitlab-base-url",children:j("addAccountDialog.gitlabUrl")}),e.jsx(ce,{id:"gitlab-base-url",value:R,onChange:T=>{O(T.target.value),y(null)},placeholder:j("addAccountDialog.gitlabUrlPlaceholder"),disabled:le}),e.jsx("p",{className:"text-xs text-muted-foreground",children:j("addAccountDialog.gitlabUrlHint")})]}),z==="pat"&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"gitlab-pat",children:j("addAccountDialog.gitlabPat")}),e.jsx(ce,{id:"gitlab-pat",type:"password",value:C,onChange:T=>{J(T.target.value),y(null)},placeholder:j("addAccountDialog.gitlabPatPlaceholder"),disabled:le}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[j("addAccountDialog.gitlabPatHint")," ",e.jsx("span",{className:"font-mono",children:"api"})," and"," ",e.jsx("span",{className:"font-mono",children:"read_user"})," scopes."]})]})]}),!oe&&ae&&e.jsxs("div",{className:"rounded-md border bg-muted/30 px-3 py-2 text-sm",children:[e.jsx("div",{className:"font-medium",children:Ie}),e.jsx("div",{className:"text-xs text-muted-foreground",children:"This sign-in updates the selected account instead of creating another account."})]}),!oe&&!ae&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"nickname",children:j("addAccountDialog.nicknameOptional")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_e,{className:"w-4 h-4 text-muted-foreground"}),e.jsx(ce,{id:"nickname",value:m,onChange:T=>{r(T.target.value),y(null)},placeholder:j("addAccountDialog.nicknamePlaceholder"),disabled:le,className:"flex-1"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:j("addAccountDialog.nicknameOptionalHint")})]}),oe&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"text-center",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx(ue,{className:"w-4 h-4 inline mr-2 animate-spin"}),j("addAccountDialog.waitingForAuth")]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:U.isDeviceCodeFlow?j("addAccountDialog.deviceCodeHint"):pe?"Complete sign-in in your browser. If it does not return automatically, paste the final kiro:// callback URL below.":j("addAccountDialog.browserHint")})]}),U.authUrl&&!U.isDeviceCodeFlow&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{className:"text-xs",children:j("addAccountDialog.openUrlLabel")}),e.jsxs("div",{className:"p-3 bg-muted rounded-md",children:[e.jsx("p",{className:"text-xs text-muted-foreground break-all font-mono line-clamp-3",children:U.authUrl}),e.jsxs("div",{className:"flex gap-2 mt-2",children:[e.jsx(q,{variant:"outline",size:"sm",onClick:As,children:g?e.jsxs(e.Fragment,{children:[e.jsx(De,{className:"w-3 h-3 mr-1"}),j("addAccountDialog.copied")]}):e.jsxs(e.Fragment,{children:[e.jsx(hs,{className:"w-3 h-3 mr-1"}),j("addAccountDialog.copy")]})}),e.jsxs(q,{variant:"outline",size:"sm",onClick:()=>{if(!U.authUrl)return;const T=window.open(U.authUrl,"_blank");(!T||T.closed||typeof T.closed>"u")&&B.warning(j("addAccountDialog.popupBlocked"),{duration:5e3})},children:[e.jsx(Pe,{className:"w-3 h-3 mr-1"}),j("addAccountDialog.open")]})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"callback-url",className:"text-xs",children:pe?"Browser did not return? Paste the final kiro:// callback URL:":j("addAccountDialog.redirectPasteLabel")}),e.jsx(ce,{id:"callback-url",value:u,onChange:T=>l(T.target.value),placeholder:pe?"kiro://kiro.kiroAgent/authenticate-success?code=...&state=...":j("addAccountDialog.callbackPlaceholder"),className:"font-mono text-xs"}),e.jsx(q,{variant:"secondary",size:"sm",onClick:Ss,disabled:!u.trim()||U.isSubmittingCallback,children:U.isSubmittingCallback?e.jsxs(e.Fragment,{children:[e.jsx(ue,{className:"w-3 h-3 mr-1 animate-spin"}),j("addAccountDialog.submitting")]}):j("addAccountDialog.submitCallback")})]})]}),!U.authUrl&&!U.isDeviceCodeFlow&&e.jsx("p",{className:"text-xs text-center text-muted-foreground",children:pe?"Preparing the Kiro sign-in URL. If it does not open automatically, it will appear here shortly.":j("addAccountDialog.preparingUrl")})]}),te&&e.jsx("p",{className:"text-xs text-center text-destructive whitespace-pre-line",children:te}),ie.isPending&&e.jsxs("p",{className:"text-sm text-center text-muted-foreground",children:[e.jsx(ue,{className:"w-4 h-4 inline mr-2 animate-spin"}),j("addAccountDialog.importingToken")]}),e.jsxs("div",{className:"flex flex-col-reverse gap-2 pt-2 sm:flex-row sm:items-center sm:justify-end",children:[e.jsx(q,{variant:"ghost",onClick:Ut,className:"w-full sm:w-auto",children:j("addAccountDialog.cancel")}),Q&&!oe&&e.jsx(q,{variant:"outline",onClick:Ps,disabled:le,className:"w-full sm:w-auto",children:ie.isPending?e.jsxs(e.Fragment,{children:[e.jsx(ue,{className:"w-4 h-4 mr-2 animate-spin"}),j("addAccountDialog.importing")]}):e.jsxs(e.Fragment,{children:[e.jsx(Ca,{className:"w-4 h-4 mr-2"}),j("addAccountDialog.importFromIde")]})}),!oe&&e.jsxs(q,{onClick:Ms,className:"w-full sm:w-auto",disabled:le||Ce||fe&&!Ae||Ne&&!f,children:[e.jsx(Pe,{className:"w-4 h-4 mr-2"}),ae?"Reauthenticate":j("addAccountDialog.authenticate")]})]})]})]})})}const xn=["ANTHROPIC_BASE_URL","ANTHROPIC_AUTH_TOKEN"];function hn(t){const a=t?.env||{};return xn.filter(s=>!a[s]?.trim())}function fn(t,a){const[s,n]=c.useState(null),[i,d]=c.useState(!1),o=wt(),{data:m,isLoading:r,refetch:u}=ss({queryKey:["settings",t],queryFn:async()=>{const I=await fetch(`/api/settings/${t}/raw`);if(!I.ok){const _=t==="cursor"?`~/.ccs/cliproxy/providers/${t}.settings.json`:Oe(t)?`~/.ccs/${t}.settings.json`:`~/.ccs/profiles/${t}/settings.json`;return{profile:t,settings:{env:{}},mtime:Date.now(),path:_}}return I.json()}}),l=m?.settings,g=c.useMemo(()=>s!==null?s:l?JSON.stringify(l,null,2):`{
3
- "env": {}
4
- }`,[s,l]),h=c.useCallback(I=>{n(I)},[]),b=c.useMemo(()=>{try{return JSON.parse(g)}catch{return l||{env:{}}}},[g,l]),y=b?.env?.ANTHROPIC_MODEL,S=b?.env?.ANTHROPIC_DEFAULT_OPUS_MODEL,E=b?.env?.ANTHROPIC_DEFAULT_SONNET_MODEL,P=b?.env?.ANTHROPIC_DEFAULT_HAIKU_MODEL,A=c.useMemo(()=>Bs(b?.env||{}),[b]),w=c.useCallback((I,_)=>Vs(I,_,{supportsExtendedContext:K=>Wa(t,K,a)}),[a,t]),N=c.useCallback((I,_)=>{const K={...b?.env||{},[I]:_},z=zt(I)?w(K,A):K;delete z.CCS_EXTENDED_CONTEXT;const $={...b,env:z};n(JSON.stringify($,null,2))},[w,b,A]),D=c.useCallback(I=>{const _=b?.env||{},K=w(_,I);delete K.CCS_EXTENDED_CONTEXT;const z={...b,env:K};n(JSON.stringify(z,null,2))},[w,b]),p=c.useCallback(I=>{const _={...b?.env||{},...I},z=Object.keys(I).some(zt)?w(_,A):_;delete z.CCS_EXTENDED_CONTEXT;const $={...b,env:z};n(JSON.stringify($,null,2))},[w,b,A]),k=c.useMemo(()=>{try{return JSON.parse(g),!0}catch{return!1}},[g]),x=c.useMemo(()=>s===null?!1:s!==JSON.stringify(l,null,2),[s,l]),v=c.useMemo(()=>hn(b),[b]),M=Is({mutationFn:async()=>{const I=JSON.parse(g),_=await fetch(`/api/settings/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:I,expectedMtime:m?.mtime})});if(_.status===409)throw new Error("CONFLICT");if(!_.ok)throw new Error("Failed to save");return _.json()},onSuccess:I=>{o.invalidateQueries({queryKey:["settings",t]}),n(null),I?.warning?B.success(he.t("settings.saved"),{description:I.warning}):B.success(he.t("settings.saved"))},onError:I=>{I.message==="CONFLICT"?d(!0):B.error(I.message)}}),H=async I=>{d(!1),I?(await u(),M.mutate()):n(null)};return{data:m,isLoading:r,refetch:u,rawJsonContent:g,rawJsonEdits:s,isRawJsonValid:k,hasChanges:x,currentSettings:b,currentModel:y,opusModel:S,sonnetModel:E,haikuModel:P,extendedContextEnabled:A,toggleExtendedContext:D,handleRawJsonChange:h,updateEnvValue:N,updateEnvValues:p,saveMutation:{mutate:()=>M.mutate(),isPending:M.isPending},conflictDialog:i,setConflictDialog:d,handleConflictResolve:H,missingRequiredFields:v}}const gn=/-(minimal|low|medium|high|xhigh|fast)$/i,vn=["minimal","low","medium","high","xhigh"];function jn(t){return t?.trim()??""}function rt(t){let a=jn(t),s,n;for(let i=0;i<2;i+=1){const d=a.match(gn);if(!d?.[1])break;const o=d[1].toLowerCase();if(o==="fast"){if(n)break;n="fast"}else{if(s)break;s=o}a=a.slice(0,-d[0].length)}return{baseModel:a,effort:s,serviceTier:n}}function Ft(t){return rt(t).effort}function Cs(t){return rt(t).serviceTier}function bn(t){return rt(t).baseModel}function Yt(t,a){const s=rt(t),n=s.baseModel;return!n||!a?s.serviceTier?`${n}-${s.serviceTier}`:n:[n,a,s.serviceTier].filter(Boolean).join("-")}function Nn(t,a,s=[]){if(!a){const o=Ft(t);return[Yt(t,o)]}const n=bn(t),i=[],d=o=>{const m=o?Yt(n,o):n;i.push(m);for(const r of s)i.push(`${m}-${r}`)};d(void 0);for(const o of vn)if(d(o),o===a)break;return i}function yn(t,a){if(!t)return null;const s=Ft(t);return s?{label:`Pinned ${s}`,explicit:!0}:{label:"Auto effort",explicit:!1}}const kn=/^[a-zA-Z0-9][a-zA-Z0-9._:/-]*$/,wn=/[._:/-]/;function Cn(t){const a=t.trim();return kn.test(a)&&wn.test(a)}function An({label:t}){return e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1",children:t})}function Be({modelId:t}){const a=yn(t);return a?e.jsx(G,{variant:a.explicit?"secondary":"outline",className:"text-[9px] h-4 px-1 uppercase",children:a.label}):null}function Ve({modelId:t}){const a=Cs(t);return a?e.jsx(G,{variant:"secondary",className:"text-[9px] h-4 px-1 uppercase",children:a}):null}function Zt(t,a){if(!t)return"";if(!a?.prefix)return t;const s=`${a.prefix}/`;return t.startsWith(s)?t.slice(s.length):t}function $e(t,a){return a?.recommendedModelId??t}function ft(t,a,s,n){return n?Nn(s,t,a):[s]}function Sn(t,a){return a?Cs(t)?"codex-fast":Ft(t)?"codex-reasoning":"recommended":"recommended"}function we({label:t,description:a,value:s,onChange:n,catalog:i,allModels:d,routing:o,disabled:m}){const{t:r}=W(),u=i?.provider==="codex",l=c.useMemo(()=>Lt(i,d),[d,i]),g=c.useMemo(()=>Qa(i?.provider??"",i,d),[d,i]),h=new Set(l.map(p=>p.id)),b=c.useMemo(()=>new Map((o?.models??[]).map(p=>[p.modelId.toLowerCase(),p])),[o]),y=c.useMemo(()=>new Set(l.flatMap(p=>ft(p.codexMaxEffort,p.codexServiceTiers,$e(p.id,b.get(p.id.toLowerCase())),u))),[u,l,b]),S=c.useMemo(()=>b.get(Zt(s,o).toLowerCase()),[o,b,s]),E=p=>{const k=p.trim();return Cn(k)?{value:k,groupKey:"custom",searchText:k,triggerContent:e.jsx("span",{className:"truncate font-mono text-xs",children:k}),itemContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:k}),e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1",children:r("providerModelSelector.customModel")})]})}:null},P=l.flatMap(p=>{const k=b.get(p.id.toLowerCase());return ft(p.codexMaxEffort,p.codexServiceTiers,$e(p.id,k),u).map(v=>({value:v,groupKey:Sn(v,u),searchText:`${v} ${p.id} ${p.name} ${k?.recommendedModelId??""}`,keywords:[p.tier??"",i?.provider??""],triggerContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:v}),k?.pinnedAvailable?e.jsx(G,{variant:"secondary",className:"text-[9px] h-4 px-1 uppercase",children:k.prefix}):null,u&&e.jsx(Be,{modelId:v}),u&&e.jsx(Ve,{modelId:v})]}),itemContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:v}),p.tier==="paid"&&e.jsx(An,{label:r("providerModelSelector.paid")}),k?.unprefixedStatus==="shadowed"?e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1",children:r("providerModelSelector.shadowed")}):null,k?.unprefixedStatus==="prefix-only"?e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1",children:r("providerModelSelector.prefixOnly")}):null,u&&e.jsx(Be,{modelId:v}),u&&e.jsx(Ve,{modelId:v})]})}))}),A=g.filter(p=>!h.has(p.id)).filter(p=>!y.has($e(p.id,b.get(p.id.toLowerCase())))).flatMap(p=>{const k=b.get(p.id.toLowerCase());return ft(void 0,void 0,$e(p.id,k),u).map(v=>({value:v,groupKey:"all",searchText:`${v} ${p.id} ${k?.recommendedModelId??""}`,keywords:[p.owned_by],triggerContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:v}),k?.pinnedAvailable?e.jsx(G,{variant:"secondary",className:"text-[9px] h-4 px-1 uppercase",children:k.prefix}):null,u&&e.jsx(Be,{modelId:v}),u&&e.jsx(Ve,{modelId:v})]}),itemContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:v}),k?.unprefixedStatus==="shadowed"?e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1",children:r("providerModelSelector.shadowed")}):null,k?.unprefixedStatus==="prefix-only"?e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1",children:r("providerModelSelector.prefixOnly")}):null,u&&e.jsx(Be,{modelId:v}),u&&e.jsx(Ve,{modelId:v})]})}))}),w=!!s&&!P.some(p=>p.value===s)&&!A.some(p=>p.value===s),N=s?{value:s,groupKey:"current",searchText:s,triggerContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:s}),e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1",children:r("providerModelSelector.current")})]}),itemContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:s}),e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1",children:r("providerModelSelector.current")})]})}:null,D=P.length+A.length>0;return e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-medium",children:t}),a&&e.jsx("p",{className:"text-[10px] text-muted-foreground",children:a})]}),e.jsx(Oa,{value:s||void 0,onChange:n,disabled:m,placeholder:r("providerModelSelector.selectModel"),searchPlaceholder:r("searchableSelect.searchModels"),emptyText:r(D?"searchableSelect.noResults":"providerModelSelector.noModelsAvailable"),triggerClassName:"h-9",createOption:E,groups:[...w&&N?[{key:"current",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:r("providerModelSelector.currentValue")})}]:[],{key:"recommended",label:e.jsx("span",{className:"text-xs text-primary",children:r("providerModelSelector.recommended")})},...u?[{key:"codex-reasoning",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:r("providerModelSelector.codexReasoningVariants")})},{key:"codex-fast",label:e.jsx("span",{className:"text-xs text-amber-600",children:r("providerModelSelector.codexFastVariants")})}]:[],...A.length>0?[{key:"all",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:r("providerModelSelector.allModelsCount",{count:A.length})})}]:[],{key:"custom",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:r("providerModelSelector.customModel")})}],options:[...w&&N?[N]:[],...P,...A]}),S?e.jsxs("div",{className:X("rounded-md border px-2.5 py-2 text-[11px]",S.unprefixedStatus==="safe"?"border-border/70 bg-muted/25 text-muted-foreground":"border-amber-300/60 bg-amber-50 text-amber-900 dark:border-amber-500/30 dark:bg-amber-950/25 dark:text-amber-100"),children:[e.jsxs("div",{className:"font-medium",children:[S.pinnedAvailable?r("providerModelSelector.preferredPinnedModel"):r("providerModelSelector.pinnedRouteStatus")," ",e.jsx("code",{children:S.pinnedAvailable?S.recommendedModelId:S.pinnedModelId})]}),e.jsx("p",{className:"mt-1 leading-5",children:S.summary})]}):null,s&&!S&&Zt(s,o)!==s?e.jsx("div",{className:"rounded-md border border-amber-300/60 bg-amber-50 px-2.5 py-2 text-[11px] text-amber-900 dark:border-amber-500/30 dark:bg-amber-950/25 dark:text-amber-100",children:r("providerModelSelector.pinnedModelNotAdvertised",{model:s})}):null]})}function es(t,a){const s=n=>a?.models.find(d=>d.modelId.toLowerCase()===n.toLowerCase())?.recommendedModelId??n;return{default:s(t.default),opus:s(t.opus),sonnet:s(t.sonnet),haiku:s(t.haiku)}}function Mn({open:t,onClose:a,currentValues:s,onApply:n,onSave:i,isSaving:d,catalog:o,allModels:m,routing:r}){const{t:u}=W(),[l,g]=c.useState(es(s,r)),[h,b]=c.useState(""),y=S=>{S?(g(es(s,r)),b("")):a()};return e.jsx(Ct,{open:t,onOpenChange:y,children:e.jsxs(At,{className:"sm:max-w-md",children:[e.jsx(St,{children:e.jsxs(Mt,{className:"flex items-center gap-2",children:[e.jsx(Tt,{className:"w-4 h-4"}),u("customPresetDialog.title")]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{htmlFor:"preset-name",children:u("customPresetDialog.presetNameOptional")}),e.jsx(ce,{id:"preset-name",value:h,onChange:S=>b(S.target.value),placeholder:u("customPresetDialog.presetNamePlaceholder"),className:"text-sm"})]}),e.jsx(Ot,{}),o?.provider==="codex"&&e.jsxs("p",{className:"text-[11px] text-muted-foreground rounded-md border bg-muted/30 px-2.5 py-2",children:[u("customPresetDialog.codexTipPrefix")," ",e.jsx("code",{children:"-medium"}),", ",e.jsx("code",{children:"-high"}),", and"," ",e.jsx("code",{children:"-xhigh"})," ",u("customPresetDialog.codexTipSuffix")]}),e.jsx(we,{label:u("customPresetDialog.defaultModel"),description:u("customPresetDialog.defaultModelDesc"),value:l.default,onChange:S=>g({...l,default:S}),catalog:o,allModels:m,routing:r}),e.jsx(we,{label:u("customPresetDialog.opusModel"),description:u("customPresetDialog.opusModelDesc"),value:l.opus,onChange:S=>g({...l,opus:S}),catalog:o,allModels:m,routing:r}),e.jsx(we,{label:u("customPresetDialog.sonnetModel"),description:u("customPresetDialog.sonnetModelDesc"),value:l.sonnet,onChange:S=>g({...l,sonnet:S}),catalog:o,allModels:m,routing:r}),e.jsx(we,{label:u("customPresetDialog.haikuModel"),description:u("customPresetDialog.haikuModelDesc"),value:l.haiku,onChange:S=>g({...l,haiku:S}),catalog:o,allModels:m,routing:r})]}),e.jsxs($s,{className:"gap-2 sm:gap-0",children:[e.jsx(q,{variant:"outline",onClick:a,children:u("customPresetDialog.cancel")}),i&&e.jsxs(q,{variant:"secondary",onClick:()=>i(l,h||void 0),disabled:d||!h.trim(),children:[d?e.jsx(ue,{className:"w-4 h-4 mr-1 animate-spin"}):e.jsx(Et,{className:"w-4 h-4 mr-1"}),u("customPresetDialog.savePreset")]}),e.jsxs(q,{onClick:()=>n(l,h||void 0),children:[e.jsx(Le,{className:"w-4 h-4 mr-1"}),u("customPresetDialog.applyPreset")]})]})]})})}function ke({label:t,command:a}){return e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:t}),e.jsxs("div",{className:"mt-1 flex gap-2",children:[e.jsx("code",{className:"flex-1 px-2 py-1.5 bg-muted rounded text-xs font-mono truncate",children:a}),e.jsx(ms,{value:a,size:"icon",className:"h-6 w-6"})]})]})}function Pn({provider:t,displayName:a,baseProvider:s,defaultTarget:n,data:i,authStatus:d,supportsModelConfig:o=!1}){const{t:m}=W(),r=n||"claude",u=r==="droid",l=t==="codex",g=s||d.provider||t,h=Qs(g),b=r==="claude"?`ccs ${t}`:`ccs ${t} --target claude`,y=`${b} --config`,S=`${b} --auth --add`,E=`${b} --accounts`;return e.jsx(Pt,{className:"h-full",children:e.jsxs("div",{className:"p-4 space-y-6",children:[e.jsxs("div",{children:[e.jsxs("h3",{className:"text-sm font-medium flex items-center gap-2 mb-3",children:[e.jsx(gs,{className:"w-4 h-4"}),"Provider Information"]}),e.jsxs("div",{className:"space-y-3 bg-card rounded-lg border p-4 shadow-sm",children:[e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:m("providerEditor.provider")}),e.jsx("span",{className:"font-mono",children:a})]}),i&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:m("providerEditor.filePath")}),e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded text-xs break-all",children:i.path}),e.jsx(ms,{value:i.path,size:"icon",className:"h-5 w-5"})]})]}),e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:m("providerEditor.lastModified")}),e.jsx("span",{className:"text-xs",children:new Date(i.mtime).toLocaleString()})]})]}),e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:m("providerEditor.status")}),d.authenticated?e.jsxs(G,{variant:"outline",className:"w-fit text-green-600 border-green-200 bg-green-50",children:[e.jsx(Aa,{className:"w-3 h-3 mr-1"}),"Authenticated"]}):e.jsx(G,{variant:"outline",className:"w-fit text-muted-foreground",children:"Not connected"})]}),e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-center",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:m("providerEditor.defaultTarget")}),e.jsx("span",{className:"font-mono",children:r})]}),h&&e.jsxs("div",{className:"grid grid-cols-[100px_1fr] gap-2 text-sm items-start",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:m("providerConfig.trackLabel")}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"font-mono",children:m(h.labelKey)}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[m(h.hintKey),Ws(g)?` ${m("providerConfig.plusTrackNote")}`:""]})]})]})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-3",children:m("providerEditor.quickUsage")}),e.jsxs("div",{className:"space-y-3 bg-card rounded-lg border p-4 shadow-sm",children:[e.jsx(ke,{label:"Run with prompt",command:`ccs ${t} "your prompt"`}),l&&e.jsxs(e.Fragment,{children:[e.jsx(ke,{label:"Run on native Codex (shortcut)",command:'ccsxp "your prompt"'}),e.jsx(ke,{label:"Run on native Codex (--target)",command:`ccs ${t} --target codex "your prompt"`})]}),e.jsx(ke,{label:u?"Droid alias (explicit)":"Run on Droid",command:`ccs-droid ${t} "your prompt"`}),e.jsx(ke,{label:u?"Override to Claude":"Run on Droid (--target)",command:`ccs ${t} --target ${u?"claude":"droid"} "your prompt"`}),o&&e.jsx(ke,{label:r==="claude"?"Change model":"Change model (Claude target)",command:y}),e.jsx(ke,{label:r==="claude"?"Add account":"Add account (Claude target)",command:S}),e.jsx(ke,{label:r==="claude"?"List accounts":"List accounts (Claude target)",command:E}),r!=="claude"&&e.jsx("p",{className:"text-xs text-muted-foreground",children:"Account and model-management flags stay on Claude target. Codex and Droid runtime launches reject those CLIProxy management commands."})]})]})]})})}function Dn(t){const a=t.replace(/\\/g,"/"),n=a.lastIndexOf("/cliproxy/providers/");return n!==-1?a.slice(n+1):a.replace(/^.*\//,"")}function In({displayName:t,logoProvider:a,provider:s,data:n,isLoading:i,hasChanges:d,isRawJsonValid:o,isSaving:m,isRemoteMode:r,port:u,onRefetch:l,onSave:g}){const{t:h}=W();return e.jsxs("div",{className:"px-6 py-4 border-b bg-background flex items-center justify-between shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Dt,{provider:a||s,size:"lg"}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-lg font-semibold",children:t}),r&&e.jsxs(G,{variant:"secondary",className:"text-xs gap-1 bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",children:[e.jsx(vs,{className:"w-3 h-3"}),"Remote"]}),u&&e.jsxs(G,{variant:"outline",className:"text-xs gap-1 font-mono",children:[e.jsx(Sa,{className:"w-3 h-3"}),":",u]}),!r&&n?.path&&e.jsx(G,{variant:"outline",className:"text-xs",children:Dn(n.path)})]}),r?e.jsx("p",{className:"text-xs text-blue-600 dark:text-blue-400 mt-0.5",children:"Traffic auto-routed to remote server"}):n&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:[h("providerEditor.lastModified"),": ",new Date(n.mtime).toLocaleString()]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{variant:"ghost",size:"sm",onClick:l,disabled:i,children:e.jsx(nt,{className:`w-4 h-4 ${i?"animate-spin":""}`})}),e.jsx(q,{size:"sm",onClick:g,disabled:m||!d||!o,children:m?e.jsxs(e.Fragment,{children:[e.jsx(ue,{className:"w-4 h-4 mr-1 animate-spin"}),"Saving..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Ma,{className:"w-4 h-4 mr-1"}),"Save"]})})]})]})}function Tn({models:t,provider:a,enabled:s,onToggle:n,disabled:i,className:d}){const{t:o}=W();if(t.length===0)return null;const m=t.some(l=>Bt(l.id)),r=t.some(l=>!Bt(l.id));let u="Compatible mappings stay on standard context unless you turn this on.";return m&&r?u="Gemini-compatible mappings can use 1M automatically. Claude mappings stay plain unless you turn this on.":m&&(u="Gemini-compatible mappings can use 1M by default. Turn this off to keep standard context."),e.jsxs("div",{className:X("rounded-lg border p-3 space-y-2",s?"border-primary/50 bg-primary/5":"border-border bg-muted/30",d),children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Le,{className:X("w-4 h-4",s?"text-primary":"text-muted-foreground")}),e.jsx("span",{className:"text-sm font-medium",children:o("extendedContext.extendedContext")}),e.jsx(G,{variant:s?"default":"secondary",className:"text-[10px] h-5 px-1.5",children:"1M tokens"})]}),e.jsx(ps,{checked:s,onCheckedChange:n,disabled:i})]}),e.jsxs("div",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[e.jsx(gs,{className:"w-3.5 h-3.5 mt-0.5 shrink-0"}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{children:["Applies the explicit ",e.jsx("code",{children:"[1m]"})," long-context suffix to compatible saved mappings."]}),e.jsx("p",{className:"text-[10px]",children:u}),e.jsxs("p",{className:"text-amber-600 dark:text-amber-500",children:["CCS only saves ",e.jsx("code",{children:"[1m]"}),". Provider pricing and entitlement are separate, and some accounts can still return 429 extra-usage errors for long-context requests."]})]})]})]})}function En(t,a){const s=t.presetMapping||{default:t.id,opus:t.id,sonnet:t.id,haiku:t.id};return{ANTHROPIC_MODEL:a(s.default),ANTHROPIC_DEFAULT_OPUS_MODEL:a(s.opus),ANTHROPIC_DEFAULT_SONNET_MODEL:a(s.sonnet),ANTHROPIC_DEFAULT_HAIKU_MODEL:a(s.haiku)}}function Rn({catalog:t,savedPresets:a,currentModel:s,opusModel:n,sonnetModel:i,haikuModel:d,providerModels:o,routing:m,provider:r,extendedContextEnabled:u,onExtendedContextToggle:l,onApplyPreset:g,onUpdateEnvValue:h,onOpenCustomPreset:b,onDeletePreset:y,isDeletePending:S}){const{t:E}=W(),P=(m?.models??[]).some(x=>x.pinnedAvailable),A=c.useMemo(()=>new Map((m?.models??[]).map(x=>[x.modelId.toLowerCase(),x])),[m]),w=x=>A.get(x.toLowerCase())?.recommendedModelId??x,N=c.useMemo(()=>{if(!t)return[];const x=[s,n,i,d].filter(M=>!!M).map(M=>Js(M));return[...new Set(x)].map(M=>ws(t.provider,M,t)).filter(M=>!!M?.extendedContext)},[t,s,n,i,d]),D=c.useMemo(()=>Lt(t,o),[t,o]),p=c.useMemo(()=>{const x=D.filter(M=>M.presetMapping);return x.length===0?[]:x.some(M=>M.tier==="paid")?[{key:"free",label:"Free Tier",description:"Available on free or paid plans",badgeClassName:"text-[10px] bg-green-100 text-green-700 border-green-200",iconClassName:"text-green-600",models:x.filter(M=>M.tier!=="paid")},{key:"paid",label:"Paid Tier",description:"Requires paid access",badgeClassName:"text-[10px] bg-amber-100 text-amber-700 border-amber-200",iconClassName:"text-amber-700",models:x.filter(M=>M.tier==="paid")}].filter(M=>M.models.length>0):[{key:"default",models:x.slice(0,4)}]},[D]),k=p.length>0||a.length>0;return e.jsxs(e.Fragment,{children:[k&&e.jsxs("div",{children:[e.jsxs("h3",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[e.jsx(Tt,{className:"w-4 h-4"}),"Presets"]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:E("providerEditor.presets")}),e.jsxs("div",{className:"space-y-4",children:[p.map(x=>e.jsxs("div",{children:["label"in x&&x.label&&e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(G,{variant:"outline",className:x.badgeClassName,children:x.label}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:x.description})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:x.models.map(v=>e.jsxs(q,{variant:"outline",size:"sm",className:"text-xs h-7 gap-1",onClick:()=>g(En(v,w)),children:[e.jsx(Le,{className:`w-3 h-3 ${"iconClassName"in x?x.iconClassName:""}`}),v.name]},v.id))})]},x.key)),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[a.map(x=>e.jsxs("div",{className:"group relative",children:[e.jsxs(q,{variant:"secondary",size:"sm",className:"text-xs h-7 gap-1 pr-6",onClick:()=>{g({ANTHROPIC_MODEL:w(x.default),ANTHROPIC_DEFAULT_OPUS_MODEL:w(x.opus),ANTHROPIC_DEFAULT_SONNET_MODEL:w(x.sonnet),ANTHROPIC_DEFAULT_HAIKU_MODEL:w(x.haiku)})},children:[e.jsx(Et,{className:"w-3 h-3 fill-current"}),x.name]}),e.jsx(q,{variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-7 w-5 opacity-0 group-hover:opacity-100 hover:text-destructive",onClick:v=>{v.stopPropagation(),y(x.name)},disabled:S,children:e.jsx(Rt,{className:"w-3 h-3"})})]},x.name)),e.jsxs(q,{variant:"outline",size:"sm",className:"text-xs h-7 gap-1 border-primary/50 text-primary hover:bg-primary/10 hover:border-primary",onClick:b,children:[e.jsx(it,{className:"w-3 h-3"}),"Custom"]})]})]})]}),e.jsx(Ot,{}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-2",children:E("providerEditor.modelMapping")}),e.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"Configure which models to use for each tier"}),m?e.jsx("p",{className:"text-[11px] text-muted-foreground mb-3 rounded-md border bg-muted/30 px-2.5 py-2",children:P?e.jsxs(e.Fragment,{children:["Preferred pinned model names use the ",e.jsxs("code",{children:[m.prefix,"/"]})," prefix. Unprefixed names can still resolve to a different backend when providers overlap."]}):e.jsxs(e.Fragment,{children:["Managed pinning for ",e.jsxs("code",{children:[m.prefix,"/"]})," is not currently advertised by the proxy. Unprefixed names may still be ambiguous until prefix repair completes."]})}):null,r==="codex"&&e.jsxs("p",{className:"text-[11px] text-muted-foreground mb-3 rounded-md border bg-muted/30 px-2.5 py-2",children:["Codex tip: suffixes ",e.jsx("code",{children:"-minimal"}),", ",e.jsx("code",{children:"-low"}),", ",e.jsx("code",{children:"-medium"}),","," ",e.jsx("code",{children:"-high"}),", and ",e.jsx("code",{children:"-xhigh"})," pin reasoning effort. ",e.jsx("code",{children:"-fast"})," ","enables the Codex fast service tier on models that support it, including combined forms such as ",e.jsx("code",{children:"gpt-5.4-high-fast"}),"."]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(we,{label:"Default Model",description:"Used when no specific tier is requested",value:s,onChange:x=>h("ANTHROPIC_MODEL",x),catalog:t,allModels:o,routing:m}),N.length>0&&l&&e.jsx(Tn,{models:N,provider:r,enabled:u??!1,onToggle:l}),e.jsx(we,{label:"Opus (Most capable)",description:"For complex reasoning tasks",value:n,onChange:x=>h("ANTHROPIC_DEFAULT_OPUS_MODEL",x),catalog:t,allModels:o,routing:m}),e.jsx(we,{label:"Sonnet (Balanced)",description:"Balance of speed and capability",value:i,onChange:x=>h("ANTHROPIC_DEFAULT_SONNET_MODEL",x),catalog:t,allModels:o,routing:m}),e.jsx(we,{label:"Haiku (Fast)",description:"Quick responses for simple tasks",value:d,onChange:x=>h("ANTHROPIC_DEFAULT_HAIKU_MODEL",x),catalog:t,allModels:o,routing:m})]})]})]})}function On(t,a,s){return t?e.jsx(gt,{children:e.jsxs(vt,{children:[e.jsx(jt,{asChild:!0,children:e.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[e.jsx(Da,{className:"w-3 h-3","aria-hidden":"true"}),e.jsx("span",{className:X("font-mono max-w-[180px] truncate",a&&je),title:t,children:t})]})}),e.jsx(bt,{side:"bottom",children:e.jsx("p",{className:"text-xs",children:s("providerEditor.gcpProjectIdReadonly")})})]})}):e.jsx(gt,{children:e.jsxs(vt,{children:[e.jsx(jt,{asChild:!0,children:e.jsxs("div",{className:"flex items-center gap-1 text-xs text-amber-600 dark:text-amber-500",children:[e.jsx(tt,{className:"w-3 h-3","aria-label":"Warning"}),e.jsx("span",{children:s("providerEditor.projectIdNA")})]})}),e.jsx(bt,{side:"bottom",className:"max-w-[250px]",children:e.jsxs("div",{className:"text-xs space-y-1",children:[e.jsx("p",{className:"font-medium text-amber-600",children:s("providerEditor.missingProjectId")}),e.jsx("p",{children:s("providerEditor.missingProjectIdHint")})]})})]})})}function _n({account:t,onSetDefault:a,onRemove:s,onReauth:n,onPauseToggle:i,isRemoving:d,isPausingAccount:o,privacyMode:m,showQuota:r,selectable:u,selected:l,onSelectChange:g}){const{t:h}=W(),b=t.provider.toLowerCase(),{data:y}=Xs(r),{data:S,isLoading:E}=Ys(b,t.id,r),P=Zs(y,t)?.lastUsedAt,A=u||i?e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[u&&e.jsx("button",{type:"button",onClick:()=>g?.(!l),className:X("flex items-center justify-center w-5 h-5 rounded border-2 transition-colors shrink-0",l?"bg-primary border-primary text-primary-foreground":"border-muted-foreground/30 hover:border-primary/50"),"aria-label":l?"Deselect account":"Select account",children:l&&e.jsx(De,{className:"w-3 h-3"})}),i&&e.jsx(gt,{children:e.jsxs(vt,{children:[e.jsx(jt,{asChild:!0,children:e.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0",onClick:()=>i(!t.paused),disabled:o,children:o?e.jsx(ue,{className:"w-4 h-4 animate-spin"}):t.paused?e.jsx(js,{className:"w-4 h-4 text-emerald-500"}):e.jsx(bs,{className:"w-4 h-4 text-muted-foreground hover:text-foreground"})})}),e.jsx(bt,{side:"top",children:t.paused?"Resume account":"Pause account"})]})})]}):void 0,w=e.jsxs(ea,{children:[e.jsx(ta,{asChild:!0,children:e.jsx(q,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0",children:e.jsx(Pa,{className:"w-4 h-4"})})}),e.jsxs(sa,{align:"end",children:[!t.isDefault&&e.jsxs(ut,{onClick:a,children:[e.jsx(Et,{className:"w-4 h-4 mr-2"}),"Set as default"]}),n&&e.jsxs(ut,{onClick:n,children:[e.jsx(nt,{className:"w-4 h-4 mr-2"}),"Reauthenticate"]}),e.jsxs(ut,{className:"text-destructive focus:text-destructive",onClick:s,disabled:d,children:[e.jsx(Ns,{className:"w-4 h-4 mr-2"}),d?"Removing...":"Remove account"]})]})]});return e.jsx("div",{className:X("rounded-lg border p-3 transition-colors overflow-hidden",t.isDefault?"border-primary/30 bg-primary/5":"border-border hover:bg-muted/30",t.paused&&"opacity-75",l&&"ring-2 ring-primary/50 bg-primary/5"),children:e.jsx(aa,{mode:"detailed",provider:t.provider,accountId:t.id,email:t.email,displayEmail:t.email||t.id,tokenFile:t.tokenFile,tier:t.tier,isDefault:t.isDefault,paused:t.paused,privacyMode:m,showQuota:r,quota:S,quotaLoading:E,runtimeLastUsed:P,beforeIdentity:A,headerEnd:w,bodySlot:t.provider==="agy"?On(t.projectId,m,h):null,quotaInsetClassName:"pl-11"})})}function Ln({selectedCount:t,onPauseSelected:a,onResumeSelected:s,onClearSelection:n,isPausing:i,isResuming:d}){if(t<1)return null;const o=i||d;return e.jsxs("div",{className:"flex items-center gap-3 p-2 bg-muted/50 rounded-lg border mt-2",children:[e.jsxs("span",{className:"text-sm text-muted-foreground",children:[t," selected"]}),e.jsx(q,{variant:"ghost",size:"sm",className:"text-xs h-6 px-2",onClick:n,disabled:o,children:"Clear"}),e.jsxs("div",{className:"flex gap-2 ml-auto",children:[e.jsxs(q,{size:"sm",variant:"outline",className:"h-7 text-xs gap-1",onClick:a,disabled:o,children:[i?e.jsx(ue,{className:"w-3 h-3 animate-spin"}):e.jsx(bs,{className:"w-3 h-3"}),"Pause Selected"]}),e.jsxs(q,{size:"sm",variant:"outline",className:"h-7 text-xs gap-1",onClick:s,disabled:o,children:[d?e.jsx(ue,{className:"w-3 h-3 animate-spin"}):e.jsx(js,{className:"w-3 h-3"}),"Resume Selected"]})]})]})}function Fn({accounts:t,onAddAccount:a,onReauthAccount:s,onSetDefault:n,onRemoveAccount:i,onPauseToggle:d,onSoloMode:o,onBulkPause:m,onBulkResume:r,isRemovingAccount:u,isPausingAccount:l,isSoloingAccount:g,isBulkPausing:h,isBulkResuming:b,privacyMode:y,showQuota:S,isKiro:E,kiroNoIncognito:P,onKiroNoIncognitoChange:A,kiroSettingsLoading:w}){const{t:N}=W(),[D,p]=c.useState(new Set),k=c.useMemo(()=>new Set(t.map(C=>C.id)),[t]),x=c.useMemo(()=>new Set([...D].filter(C=>k.has(C))),[D,k]),v=!!(m&&r),M=x.size,H=t.length>0&&x.size===t.length,I=x.size>0&&x.size<t.length,_=c.useCallback(C=>{p(J=>{const j=new Set(J);return j.has(C)?j.delete(C):j.add(C),j})},[]),K=c.useCallback(()=>{p(new Set(t.map(C=>C.id)))},[t]),z=c.useCallback(()=>{p(new Set)},[]),$=c.useCallback(()=>{H?z():K()},[H,K,z]),R=c.useCallback(()=>{m&&x.size>0&&(m(Array.from(x)),p(new Set))},[m,x]),O=c.useCallback(()=>{r&&x.size>0&&(r(Array.from(x)),p(new Set))},[r,x]);return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("h3",{className:"text-sm font-medium flex items-center gap-2",children:[v&&t.length>0&&e.jsx(et,{checked:H,onCheckedChange:$,"aria-label":"Select all accounts",className:I?"data-[state=checked]:bg-primary/50":"",...I?{"data-state":"indeterminate"}:{}}),e.jsx(_e,{className:"w-4 h-4"}),N("providerEditor.accounts"),t.length>0&&e.jsx(G,{variant:"secondary",className:"text-xs",children:t.length})]}),e.jsxs(q,{variant:"default",size:"sm",className:"h-7 text-xs gap-1",onClick:a,children:[e.jsx(it,{className:"w-3 h-3"}),N("providerEditor.addAccount")]})]}),v&&M>0&&e.jsx(Ln,{selectedCount:M,onPauseSelected:R,onResumeSelected:O,onClearSelection:z,isPausing:!!h,isResuming:!!b}),t.length>0?e.jsx("div",{className:"space-y-2",children:t.map(C=>e.jsx(_n,{account:C,onSetDefault:()=>n(C.id),onRemove:()=>i(C.id),onReauth:s?()=>s(C):void 0,onPauseToggle:d?J=>d(C.id,J):void 0,onSoloMode:o?()=>o(C.id):void 0,isRemoving:u,isPausingAccount:l,isSoloingAccount:g,privacyMode:y,showQuota:S,selectable:v,selected:x.has(C.id),onSelectChange:()=>_(C.id)},C.id))}):e.jsxs("div",{className:"py-6 text-center text-muted-foreground bg-muted/30 rounded-lg border border-dashed",children:[e.jsx(_e,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),e.jsx("p",{className:"text-sm",children:N("providerEditor.noAccountsConnected")}),e.jsx("p",{className:"text-xs opacity-70",children:N("providerEditor.addAccountToStart")})]}),E&&A&&e.jsx("div",{className:"mt-3 pt-3 border-t border-dashed",children:e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(vs,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:N("providerEditor.useIncognito")})]}),e.jsx(ps,{checked:!P,onCheckedChange:C=>A(!C),disabled:w,className:"scale-90"})]})})]})}function qn({provider:t,catalog:a,savedPresets:s,currentModel:n,opusModel:i,sonnetModel:d,haikuModel:o,providerModels:m,routing:r,extendedContextEnabled:u,onExtendedContextToggle:l,onApplyPreset:g,onUpdateEnvValue:h,onOpenCustomPreset:b,onDeletePreset:y,isDeletePending:S,accounts:E,onAddAccount:P,onReauthAccount:A,onSetDefault:w,onRemoveAccount:N,onPauseToggle:D,onSoloMode:p,onBulkPause:k,onBulkResume:x,isRemovingAccount:v,isPausingAccount:M,isSoloingAccount:H,isBulkPausing:I,isBulkResuming:_,privacyMode:K,isRemoteMode:z}){const $=t.toLowerCase(),R=(na.includes($)||["anthropic","antigravity","gemini-cli","copilot","github-copilot"].includes($))&&!z,O=t==="kiro",[C,J]=c.useState(!0),[j,Y]=c.useState(!0),[se,de]=c.useState(!1),U=c.useCallback(async()=>{if(O)try{Y(!0);const Z=(await Ye.config.get()).cliproxy;J(Z?.kiro_no_incognito??!0)}catch{J(!0)}finally{Y(!1)}},[O]),ie=c.useCallback(async Q=>{J(Q),de(!0);try{const Z=await Ye.config.get(),re=Z.cliproxy??{};await Ye.config.update({...Z,cliproxy:{...re,kiro_no_incognito:Q}})}catch{J(!Q)}finally{de(!1)}},[]);return c.useEffect(()=>{U()},[U]),e.jsx(Pt,{className:"flex-1",children:e.jsxs("div",{className:"p-4 space-y-6",children:[e.jsx(Rn,{catalog:a,savedPresets:s,currentModel:n,opusModel:i,sonnetModel:d,haikuModel:o,providerModels:m,routing:r,provider:t,extendedContextEnabled:u,onExtendedContextToggle:l,onApplyPreset:g,onUpdateEnvValue:h,onOpenCustomPreset:b,onDeletePreset:y,isDeletePending:S}),e.jsx(Ot,{}),e.jsx(Fn,{accounts:E,onAddAccount:P,onReauthAccount:A,onSetDefault:w,onRemoveAccount:N,onPauseToggle:D,onSoloMode:p,onBulkPause:k,onBulkResume:x,isRemovingAccount:v,isPausingAccount:M,isSoloingAccount:H,isBulkPausing:I,isBulkResuming:_,privacyMode:K,showQuota:R,isKiro:O,kiroNoIncognito:C,onKiroNoIncognitoChange:ie,kiroSettingsLoading:j||se})]})})}function ts({provider:t,displayName:a,authStatus:s,catalog:n,routing:i,logoProvider:d,baseProvider:o,isRemoteMode:m,port:r,defaultTarget:u,topNotice:l,onAddAccount:g,onReauthAccount:h,onSetDefault:b,onRemoveAccount:y,onPauseToggle:S,onSoloMode:E,onBulkPause:P,onBulkResume:A,isRemovingAccount:w,isPausingAccount:N,isSoloingAccount:D,isBulkPausing:p,isBulkResuming:k}){const[x,v]=c.useState(!1),{privacyMode:M}=ls(),{t:H}=W(),{data:I}=ia(),{data:_}=ra(t),K=oa(),z=da(),$=o||t,R=$.toLowerCase()==="agy",O=c.useMemo(()=>{const L=_?.presets||[];return R?L.filter(te=>!xe(te.default)&&!xe(te.opus)&&!xe(te.sonnet)&&!xe(te.haiku)):L},[R,_?.presets]),C=c.useMemo(()=>{if(!I?.models)return[];const te={gemini:["google"],agy:["antigravity"],codex:["openai"],cursor:["cursor"],gitlab:["gitlab","duo"],codebuddy:["codebuddy"],qwen:["alibaba","qwen"],iflow:["iflow"],kilo:["kilo"],qoder:["qoder"],kiro:["kiro","aws"],ghcp:["github","copilot"],kimi:["kimi","moonshot"]}[$.toLowerCase()]||[$.toLowerCase()];return I.models.filter(ae=>te.some(Ie=>ae.owned_by.toLowerCase().includes(Ie))?R?!xe(ae.id):!0:!1)},[R,I,$]),J=(o||t).toLowerCase(),{data:j,isLoading:Y,refetch:se,rawJsonContent:de,rawJsonEdits:U,isRawJsonValid:ie,hasChanges:Q,currentModel:Z,opusModel:re,sonnetModel:Ne,haikuModel:fe,extendedContextEnabled:Ce,toggleExtendedContext:Ae,handleRawJsonChange:f,updateEnvValue:F,updateEnvValues:ge,saveMutation:me,conflictDialog:pe,handleConflictResolve:Se,missingRequiredFields:ot}=fn(t,n),dt=c.useMemo(()=>(s.accounts||[]).map(L=>({...L,provider:L.provider||o||t})),[s.accounts,o,t]),{data:le}=ss({queryKey:["auth-tokens-raw"],queryFn:async()=>{const L=await fetch("/api/settings/auth/tokens/raw");return L.ok?L.json():{apiKey:{value:"ccs-internal-managed"}}},staleTime:6e4}),Fe=le?.apiKey?.value??"ccs-internal-managed",qe=L=>{if(R&&[L.ANTHROPIC_MODEL,L.ANTHROPIC_DEFAULT_OPUS_MODEL,L.ANTHROPIC_DEFAULT_SONNET_MODEL,L.ANTHROPIC_DEFAULT_HAIKU_MODEL].some(ae=>typeof ae=="string"&&xe(ae))){B.error(H("providerEditor.agyDenylist"));return}ge({ANTHROPIC_BASE_URL:`http://127.0.0.1:${r??Nt}/api/provider/${J}`,ANTHROPIC_AUTH_TOKEN:Fe,...L}),B.success(`Applied "${L.ANTHROPIC_MODEL?.split("/").pop()||"preset"}" preset`)},Ue=(L,te)=>{if(R&&[L.default,L.opus,L.sonnet,L.haiku].some(Ie=>xe(Ie))){B.error(H("providerEditor.agyDenylist"));return}ge({ANTHROPIC_BASE_URL:`http://127.0.0.1:${r??Nt}/api/provider/${J}`,ANTHROPIC_AUTH_TOKEN:Fe,ANTHROPIC_MODEL:L.default,ANTHROPIC_DEFAULT_OPUS_MODEL:L.opus,ANTHROPIC_DEFAULT_SONNET_MODEL:L.sonnet,ANTHROPIC_DEFAULT_HAIKU_MODEL:L.haiku}),B.success(`Applied ${te?`"${te}"`:"custom"} preset`),v(!1)},Ke=(L,te)=>{if(!te){B.error(he.t("commonToast.enterPresetName"));return}if(R&&[L.default,L.opus,L.sonnet,L.haiku].some(ae=>xe(ae))){B.error(H("providerEditor.agyDenylist"));return}K.mutate({profile:t,data:{name:te,...L}}),v(!1)};return e.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[e.jsx(In,{provider:t,displayName:a,logoProvider:d,data:j,isLoading:Y,hasChanges:Q,isRawJsonValid:ie,isSaving:me.isPending,isRemoteMode:m,port:r,onRefetch:se,onSave:()=>me.mutate()}),l?e.jsx("div",{className:"border-b bg-muted/10 px-4 py-3",children:l}):null,Y?e.jsxs("div",{className:"flex-1 flex items-center justify-center",children:[e.jsx(ue,{className:"w-8 h-8 animate-spin text-muted-foreground"}),e.jsx("span",{className:"ml-3 text-muted-foreground",children:H("providerEditor.loadingSettings")})]}):e.jsxs("div",{className:"min-h-0 flex-1 grid grid-cols-[40%_60%] divide-x overflow-hidden",children:[e.jsx("div",{className:"flex min-h-0 min-w-0 flex-col overflow-hidden bg-muted/5",children:e.jsxs(la,{defaultValue:"config",className:"h-full flex flex-col",children:[e.jsx("div",{className:"px-4 pt-4 shrink-0",children:e.jsxs(ca,{className:"w-full",children:[e.jsx(Vt,{value:"config",className:"flex-1",children:"Model Config"}),e.jsx(Vt,{value:"info",className:"flex-1",children:"Info & Usage"})]})}),e.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[e.jsx($t,{value:"config",className:"flex-1 mt-0 border-0 p-0 data-[state=inactive]:hidden flex flex-col overflow-hidden",children:e.jsx(qn,{provider:t,catalog:n,savedPresets:O,currentModel:Z,opusModel:re,sonnetModel:Ne,haikuModel:fe,providerModels:C,routing:i,extendedContextEnabled:Ce,onExtendedContextToggle:Ae,onApplyPreset:qe,onUpdateEnvValue:F,onOpenCustomPreset:()=>v(!0),onDeletePreset:L=>z.mutate({profile:t,name:L}),isDeletePending:z.isPending,accounts:dt,onAddAccount:g,onReauthAccount:h,onSetDefault:b,onRemoveAccount:y,onPauseToggle:S,onSoloMode:E,onBulkPause:P,onBulkResume:A,isRemovingAccount:w,isPausingAccount:N,isSoloingAccount:D,isBulkPausing:p,isBulkResuming:k,privacyMode:M,isRemoteMode:m})}),e.jsx($t,{value:"info",className:"h-full mt-0 border-0 p-0 data-[state=inactive]:hidden",children:e.jsx(Pn,{provider:t,displayName:a,baseProvider:o,defaultTarget:u,data:j,authStatus:s,supportsModelConfig:!!n})})]})]})}),e.jsxs("div",{className:"flex min-h-0 min-w-0 flex-col overflow-hidden",children:[e.jsxs("div",{className:"px-6 py-2 bg-muted/30 border-b flex items-center gap-2 shrink-0 h-[45px]",children:[e.jsx(Ia,{className:"w-4 h-4 text-muted-foreground"}),e.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:[H("rawEditorSection.rawConfig")," (JSON)"]})]}),e.jsx(ua,{rawJsonContent:de,isRawJsonValid:ie,rawJsonEdits:U,onRawJsonChange:f,profileEnv:j?.settings?.env,missingRequiredFields:ot})]})]}),e.jsx(Ra,{open:pe,title:"File Modified Externally",description:"This settings file was modified by another process. Overwrite with your changes or discard?",confirmText:"Overwrite",variant:"destructive",onConfirm:()=>Se(!0),onCancel:()=>Se(!1)}),e.jsx(Mn,{open:x,onClose:()=>v(!1),currentValues:{default:Z||"",opus:re||"",sonnet:Ne||"",haiku:fe||""},onApply:Ue,onSave:Ke,isSaving:K.isPending,catalog:n,allModels:C,routing:i})]})}function Un({status:t,isSelected:a,onSelect:s}){const{t:n}=W(),i=t.accounts?.length||0;return e.jsxs("button",{className:X("w-full flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors cursor-pointer text-left",a?"bg-primary/10 border border-primary/20":"hover:bg-muted border border-transparent"),onClick:s,children:[e.jsx(Dt,{provider:t.provider,size:"md"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium text-sm truncate",children:t.displayName}),i>0&&e.jsx(G,{variant:"secondary",className:"text-[10px] h-4 px-1",children:i})]}),e.jsx("div",{className:"flex items-center gap-1.5 mt-0.5",children:t.authenticated?e.jsxs(e.Fragment,{children:[e.jsx(De,{className:"w-3 h-3 text-green-600"}),e.jsx("span",{className:"text-xs text-green-600",children:n("cliproxyPage.connected")})]}):e.jsxs(e.Fragment,{children:[e.jsx(Rt,{className:"w-3 h-3 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:n("cliproxyPage.notConnected")})]})})]})]})}function Kn({variant:t,parentAuth:a,isSelected:s,onSelect:n,onDelete:i,isDeleting:d}){const{t:o}=W(),m=()=>{n()};return e.jsxs("div",{role:"button",tabIndex:0,className:X("group w-full flex items-center gap-3 px-3 py-2 rounded-lg transition-colors cursor-pointer text-left pl-6",s?"bg-primary/10 border border-primary/20":"hover:bg-muted border border-transparent"),onClick:m,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),m())},children:[e.jsxs("div",{className:"relative",children:[e.jsx(Dt,{provider:t.provider,size:"sm"}),e.jsx(st,{className:"w-2.5 h-2.5 absolute -bottom-0.5 -right-0.5 text-muted-foreground"})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium text-sm truncate",children:t.name}),e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1",children:o("cliproxyPage.variant")}),e.jsx(G,{variant:"outline",className:"text-[9px] h-4 px-1 uppercase",children:t.target||"claude"})]}),e.jsx("div",{className:"flex items-center gap-1.5 mt-0.5",children:a?.authenticated?e.jsxs(e.Fragment,{children:[e.jsx(De,{className:"w-3 h-3 text-green-600"}),e.jsx("span",{className:"text-xs text-muted-foreground truncate",children:o("cliproxyPage.viaProvider",{provider:t.provider})})]}):e.jsxs(e.Fragment,{children:[e.jsx(Rt,{className:"w-3 h-3 text-muted-foreground"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:o("cliproxyPage.parentNotConnected")})]})})]}),e.jsx(q,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 hover:text-destructive",onClick:r=>{r.stopPropagation(),i()},disabled:d,children:e.jsx(Ns,{className:"w-3 h-3"})})]})}function Gn({onAddAccount:t,onCreateVariant:a}){const{t:s}=W();return e.jsx("div",{className:"flex-1 flex items-center justify-center bg-muted/20",children:e.jsxs("div",{className:"text-center max-w-md px-8",children:[e.jsx("div",{className:"w-16 h-16 rounded-full bg-muted flex items-center justify-center mx-auto mb-6",children:e.jsx(Le,{className:"w-8 h-8 text-muted-foreground"})}),e.jsx("h2",{className:"text-xl font-semibold mb-2",children:s("cliproxyPage.emptyTitle")}),e.jsx("p",{className:"text-muted-foreground mb-4",children:s("cliproxyPage.emptyDesc")}),e.jsxs("p",{className:"text-xs text-muted-foreground mb-6",children:[s("cliproxyPage.emptyControlPanelPrefix")," ",e.jsx("a",{href:"/cliproxy/control-panel",className:"text-primary hover:underline",children:s("cliproxyPage.controlPanel")}),"."]}),e.jsxs("div",{className:"flex flex-col justify-center gap-2 sm:flex-row",children:[e.jsxs(q,{onClick:t,className:"gap-2",children:[e.jsx(it,{className:"w-4 h-4"}),s("cliproxyPage.addAccount")]}),e.jsxs(q,{onClick:a,variant:"outline",className:"gap-2",children:[e.jsx(st,{className:"w-4 h-4"}),s("cliproxyPage.advancedVariant")]})]})]})})}function oi(){const{t}=W(),a=wt(),{data:s,isLoading:n}=os(),{data:i,isFetching:d}=ma(),{data:o}=ds(),{data:m}=pa(),r=xa(),u=ha(),l=fa(),g=ga(),h=va(),b=ja(),y=ba(),S=Na(),[E,P]=c.useState(()=>{if(typeof window<"u"){const F=new URLSearchParams(window.location.search).get("provider")?.trim().toLowerCase();return F&&Oe(F)?F:localStorage.getItem("cliproxy-selected-provider")}return null}),[A,w]=c.useState(null),[N,D]=c.useState(!1),[p,k]=c.useState(()=>{if(typeof window>"u")return null;const f=new URLSearchParams(window.location.search),F=f.get("provider")?.trim().toLowerCase();return f.get("action")!=="auth"||!F||!Oe(F)?null:{provider:F,displayName:ze(F),isFirstAccount:!1}}),x=c.useMemo(()=>s?.authStatus||[],[s?.authStatus]),v=c.useMemo(()=>ya(x,f=>f.provider),[x]),M=s?.source==="remote",H=c.useMemo(()=>i?.variants||[],[i?.variants]),I=c.useMemo(()=>_t(o?.catalogs),[o?.catalogs]),_=o?.routing??{},K=!!o,z=f=>{P(f),f&&localStorage.setItem("cliproxy-selected-provider",f)},$=c.useMemo(()=>A?null:E&&x.some(f=>f.provider===E)?E:x.length>0&&(x.find(F=>(F.accounts?.length||0)>0)?.provider||x[0]?.provider)||null,[E,A,x]),R=x.find(f=>f.provider===$),O=H.find(f=>f.name===A),C=O?x.find(f=>f.provider===O.provider):void 0,J=O&&C?{provider:O.provider,displayName:C.displayName,accountCount:C.accounts?.length||0}:R?{provider:R.provider,displayName:R.displayName,accountCount:R.accounts?.length||0}:null,j=O?{provider:O.provider,displayName:ze(O.provider),accountCount:0}:E&&Oe(E)?{provider:E,displayName:ze(E),accountCount:0}:{provider:"gemini",displayName:ze("gemini"),accountCount:0},Y=J??j,se=(O?.provider||R?.provider||"").toLowerCase().trim(),de=se==="gemini"||se==="agy",U=()=>{a.invalidateQueries({queryKey:["cliproxy"]}),a.invalidateQueries({queryKey:["cliproxy-auth"]}),a.invalidateQueries({queryKey:["cliproxy-catalog"]}),a.invalidateQueries({queryKey:["cliproxy-models"]})},ie=(f,F,ge)=>{l.isPending||g.isPending||(ge?l.mutate({provider:f,accountId:F}):g.mutate({provider:f,accountId:F}))},Q=(f,F)=>{h.isPending||h.mutate({provider:f,accountId:F})},Z=(f,F)=>{b.isPending||b.mutate({provider:f,accountIds:F})},re=(f,F)=>{y.isPending||y.mutate({provider:f,accountIds:F})},Ne=f=>{z(f),w(null)},fe=f=>{w(f),z(null)},Ce=()=>{k({provider:Y.provider,displayName:Y.displayName,isFirstAccount:Y.accountCount===0})},Ae=(f,F,ge,me)=>{const pe=ge?.find(Se=>Se.id===me);pe&&k({provider:f,displayName:F,isFirstAccount:!1,account:pe})};return e.jsxs("div",{className:"flex h-full min-h-0 overflow-hidden",children:[e.jsxs("div",{className:"w-80 border-r flex flex-col bg-muted/30",children:[e.jsxs("div",{className:"p-4 border-b bg-background",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Le,{className:"w-5 h-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:m?.backendLabel??"CLIProxy"})]}),e.jsx(q,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:U,disabled:d,children:e.jsx(nt,{className:X("w-4 h-4",d&&"animate-spin")})})]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:t("cliproxyPage.accountManagement")}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(q,{variant:"default",size:"sm",className:"w-full gap-2",onClick:Ce,children:[e.jsx(it,{className:"w-4 h-4"}),t("cliproxyPage.addAccount")]}),e.jsxs(q,{variant:"outline",size:"sm",className:"w-full gap-2",onClick:()=>D(!0),children:[e.jsx(st,{className:"w-4 h-4"}),t("cliproxyPage.advancedVariant")]}),e.jsx("p",{className:"text-[11px] leading-relaxed text-muted-foreground",children:t("cliproxyPage.setupActionsHint")})]})]}),e.jsx(Pt,{className:"flex-1",children:e.jsxs("div",{className:"p-2",children:[e.jsx("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide px-3 py-2",children:t("cliproxyPage.providers")}),n?e.jsx("div",{className:"space-y-2 px-2",children:[1,2,3,4].map(f=>e.jsx(ka,{className:"h-14 w-full rounded-lg"},f))}):e.jsx("div",{className:"space-y-4",children:v.map(f=>e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"px-3",children:[e.jsx("div",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:t(f.labelKey)}),e.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:t(f.hintKey)})]}),e.jsx("div",{className:"space-y-1",children:f.items.map(F=>e.jsx(Un,{status:F,isSelected:$===F.provider,onSelect:()=>Ne(F.provider)},F.provider))})]},f.id))}),H.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide px-3 py-2 mt-4 flex items-center gap-1.5",children:[e.jsx(st,{className:"w-3 h-3"}),t("cliproxyPage.variants")]}),e.jsx("div",{className:"space-y-1",children:H.map(f=>e.jsx(Kn,{variant:f,parentAuth:x.find(F=>F.provider===f.provider),isSelected:A===f.name,onSelect:()=>fe(f.name),onDelete:()=>S.mutate(f.name),isDeleting:S.isPending},f.name))})]})]})}),e.jsx("div",{className:"p-3 border-t",children:e.jsx(_a,{})}),e.jsx("div",{className:"p-3 border-t bg-background text-xs text-muted-foreground",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{children:t("cliproxyPage.providerCount",{count:x.length})}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(De,{className:"w-3 h-3 text-green-600"}),t("cliproxyPage.connectedCount",{count:x.filter(f=>f.authenticated).length})]})]})})]}),e.jsx("div",{className:"flex-1 flex min-w-0 flex-col overflow-hidden bg-background",children:O&&C?e.jsx(e.Fragment,{children:e.jsx(ts,{provider:O.name,displayName:t("cliproxyPage.variantDisplay",{name:O.name,provider:O.provider}),authStatus:C,catalog:I[O.provider],routing:_[O.provider],logoProvider:O.provider,baseProvider:O.provider,defaultTarget:O.target,isRemoteMode:M,port:O.port,topNotice:de?e.jsx(kt,{compact:!0,showProxySettingsLink:!0}):void 0,onAddAccount:()=>k({provider:O.provider,displayName:C.displayName,isFirstAccount:(C.accounts?.length||0)===0}),onReauthAccount:f=>Ae(O.provider,C.displayName,C.accounts,f.id),onSetDefault:f=>r.mutate({provider:O.provider,accountId:f}),onRemoveAccount:f=>u.mutate({provider:O.provider,accountId:f}),onPauseToggle:(f,F)=>ie(O.provider,f,F),onSoloMode:f=>Q(O.provider,f),onBulkPause:f=>Z(O.provider,f),onBulkResume:f=>re(O.provider,f),isRemovingAccount:u.isPending,isPausingAccount:l.isPending||g.isPending,isSoloingAccount:h.isPending,isBulkPausing:b.isPending,isBulkResuming:y.isPending})}):R?e.jsx(e.Fragment,{children:e.jsx(ts,{provider:R.provider,displayName:R.displayName,authStatus:R,catalog:I[R.provider],routing:_[R.provider],isRemoteMode:M,topNotice:de?e.jsx(kt,{compact:!0,showProxySettingsLink:!0}):void 0,onAddAccount:()=>k({provider:R.provider,displayName:R.displayName,isFirstAccount:(R.accounts?.length||0)===0}),onReauthAccount:f=>Ae(R.provider,R.displayName,R.accounts,f.id),onSetDefault:f=>r.mutate({provider:R.provider,accountId:f}),onRemoveAccount:f=>u.mutate({provider:R.provider,accountId:f}),onPauseToggle:(f,F)=>ie(R.provider,f,F),onSoloMode:f=>Q(R.provider,f),onBulkPause:f=>Z(R.provider,f),onBulkResume:f=>re(R.provider,f),isRemovingAccount:u.isPending,isPausingAccount:l.isPending||g.isPending,isSoloingAccount:h.isPending,isBulkPausing:b.isPending,isBulkResuming:y.isPending})}):e.jsx(Gn,{onAddAccount:Ce,onCreateVariant:()=>D(!0)})}),e.jsx(nn,{open:N,onClose:()=>D(!1)}),e.jsx(pn,{open:p!==null,onClose:()=>k(null),provider:p?.provider||"",displayName:p?.displayName||"",catalog:K&&p?.provider?I[p.provider]:void 0,isFirstAccount:p?.isFirstAccount||!1,account:p?.account})]})}export{oi as CliproxyPage};