@kaitranntt/ccs 8.7.0-dev.3 → 8.7.0-dev.5

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 (46) hide show
  1. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  2. package/dist/cliproxy/model-catalog.js +15 -1
  3. package/dist/cliproxy/model-catalog.js.map +1 -1
  4. package/dist/ui/assets/{Trans-By7poS8F.js → Trans-DP7fr_4V.js} +1 -1
  5. package/dist/ui/assets/{accounts-CT4cNpXE.js → accounts-BcFYWXkU.js} +1 -1
  6. package/dist/ui/assets/{alert-dialog-D-4eNWT-.js → alert-dialog-DwNHrf5Z.js} +1 -1
  7. package/dist/ui/assets/{api-BOsmB6JC.js → api-b1V7VOJ2.js} +1 -1
  8. package/dist/ui/assets/{auth-section-BNu9bqxZ.js → auth-section-4a5B6Cmq.js} +1 -1
  9. package/dist/ui/assets/{backups-section-QEZ5MeIb.js → backups-section-lyi-6RgY.js} +1 -1
  10. package/dist/ui/assets/{channels-C8lOwrre.js → channels-CdzFGpuY.js} +1 -1
  11. package/dist/ui/assets/{checkbox-DxCvOyao.js → checkbox-B7KuHlLY.js} +1 -1
  12. package/dist/ui/assets/{claude-extension-CvbfmbdL.js → claude-extension-DaXQD0q-.js} +1 -1
  13. package/dist/ui/assets/{cliproxy-ai-providers-jeMd_Enz.js → cliproxy-ai-providers-DPyn4bpm.js} +1 -1
  14. package/dist/ui/assets/cliproxy-cQjwi1oj.js +4 -0
  15. package/dist/ui/assets/{cliproxy-control-panel-Ylrw7Vt0.js → cliproxy-control-panel-Bf1gy7m1.js} +1 -1
  16. package/dist/ui/assets/{codex-7d3v_F3-.js → codex-C4hCwhGL.js} +1 -1
  17. package/dist/ui/assets/{confirm-dialog-BGbC3827.js → confirm-dialog-DTs0DdfP.js} +1 -1
  18. package/dist/ui/assets/{copilot-DGVMqIvj.js → copilot-DqOXpPZ4.js} +1 -1
  19. package/dist/ui/assets/{cursor-D94mZoOn.js → cursor-olEz8NDS.js} +1 -1
  20. package/dist/ui/assets/{droid-CijT6OtA.js → droid-WfvvrtTQ.js} +1 -1
  21. package/dist/ui/assets/{globalenv-section-Cro0fjBM.js → globalenv-section-CXCOXHDG.js} +1 -1
  22. package/dist/ui/assets/{health-DFG40_kD.js → health-CxN4hFzE.js} +1 -1
  23. package/dist/ui/assets/{index-DLRoa85N.js → index-CNlTqn_W.js} +1 -1
  24. package/dist/ui/assets/{index-Bf5DDwJP.js → index-CZ16RAMx.js} +1 -1
  25. package/dist/ui/assets/{index-Bf0--BiU.js → index-DC2J8ssm.js} +1 -1
  26. package/dist/ui/assets/{index-BTJNmedC.js → index-DCJex8UC.js} +1 -1
  27. package/dist/ui/assets/{index-K_KarWwQ.js → index-JASCpaNF.js} +3 -3
  28. package/dist/ui/assets/{index-D77S3tlM.js → index-LUcVB7Eg.js} +1 -1
  29. package/dist/ui/assets/{index-BfbJlKvM.js → index-cAY2_Z-N.js} +1 -1
  30. package/dist/ui/assets/{logs-Bc1-UurC.js → logs-BYE6VgcG.js} +1 -1
  31. package/dist/ui/assets/{masked-input-uuW_Ngh8.js → masked-input-DelxZl_f.js} +1 -1
  32. package/dist/ui/assets/{proxy-status-widget-BFrQZqYz.js → proxy-status-widget-CD-1ZBy_.js} +1 -1
  33. package/dist/ui/assets/{raw-json-settings-editor-panel-DEHwL2oY.js → raw-json-settings-editor-panel-CoZsEAjC.js} +1 -1
  34. package/dist/ui/assets/searchable-select-C_yiGkLP.js +1 -0
  35. package/dist/ui/assets/{separator-BTcnUF3t.js → separator-CLmkv1n7.js} +1 -1
  36. package/dist/ui/assets/{shared-DWBCHrPI.js → shared-DxCi-Mrp.js} +1 -1
  37. package/dist/ui/assets/{table-DdMU9lLS.js → table-DVuzgqVJ.js} +1 -1
  38. package/dist/ui/assets/{updates-DfYyQw34.js → updates-0fqnmzPi.js} +1 -1
  39. package/dist/ui/assets/{use-accounts-DnMcRpOC.js → use-accounts-Dab7lYXO.js} +1 -1
  40. package/dist/ui/index.html +1 -1
  41. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  42. package/dist/web-server/routes/route-helpers.js +27 -5
  43. package/dist/web-server/routes/route-helpers.js.map +1 -1
  44. package/package.json +1 -1
  45. package/dist/ui/assets/cliproxy-daECx_cg.js +0 -4
  46. package/dist/ui/assets/searchable-select-pEfkrlZT.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"route-helpers.js","sourceRoot":"","sources":["../../../src/web-server/routes/route-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-helpers.js","sourceRoot":"","sources":["../../../src/web-server/routes/route-helpers.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.3",
3
+ "version": "8.7.0-dev.5",
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 kt,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 rs,ab as is,c as X,P as je,B as z,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 Ls,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 Os,ap as _s,aq as Le,ar as us,_ as Ye,as as Fs,at as Ht,au as zt,av as qs,aw as Us,ax as Ks,ay as Hs,az as zs,aA as Gs,aB as Bs,aC as Vs,aD as Gt,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 ra,aU as ia,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 Ge,b7 as ya,S as wa}from"./index-K_KarWwQ.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 ka,n as De,p as hs,aH as It,R as nt,r as Oe,ab as Tt,T as tt,a8 as Qt,aI as fs,aG as Ca,D as Et,Z as _e,$ as gs,i as Aa,v as vs,aJ as Sa,av as Ma,X as Rt,aa as rt,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-DxCvOyao.js";import{C as Ra}from"./confirm-dialog-BGbC3827.js";import{S as Lt}from"./separator-BTcnUF3t.js";import{S as La}from"./searchable-select-pEfkrlZT.js";import{P as Oa}from"./proxy-status-widget-BFrQZqYz.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";import"./alert-dialog-D-4eNWT-.js";import"./Trans-By7poS8F.js";const ne="gemini-3.1-pro-high",Te="gemini-3.1-pro-low",_a=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 Ha(t){return _a[V(t)]}function at(t){const a=V(t),s=a.match(Fa);if(!s)return null;const[,n,r,d]=s;return{normalizedId:a,version:n.split(/[.-]/).map(o=>Number(o)),family:r,customtools:!!d,dottedVersion:n.includes(".")}}function ws(t,a){const s=Math.max(t.length,a.length);for(let n=0;n<s;n+=1){const r=t[n]??0,d=a[n]??0;if(r!==d)return r>d?1:-1}return 0}function za(t,a,s){if(t.customtools!==a.customtools)return t.customtools?1:-1;const n=ws(t.version,a.version);if(n!==0)return n>0?-1:1;const r=+(t.dottedVersion===s.dottedVersion),d=+(a.dottedVersion===s.dottedVersion);return r!==d?d-r:t.normalizedId.localeCompare(a.normalizedId)}function Jt(t,a){const s=V(a);return t.find(n=>V(n.id)===s)?.id}function Ga(t,a){const s=at(t);return!s||a.length===0?void 0:a.map(r=>{const d=at(r.id);return!d||d.family!==s.family?null:{id:r.id,info:d}}).filter(r=>!!r).sort((r,d)=>za(r.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-4.5",models:[{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.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-sonnet-4",name:"Claude Sonnet 4",description:"Anthropic Claude Sonnet 4 via GitHub Copilot"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",description:"Anthropic Claude Haiku 4.5 via GitHub Copilot"},{id:"gpt-5.2",name:"GPT-5.2",description:"OpenAI GPT-5.2 via GitHub Copilot",presetMapping:{default:"gpt-5.2",opus:"gpt-5.2",sonnet:"gpt-5.1",haiku:"gpt-5-mini"}},{id:"gpt-5.1",name:"GPT-5.1",description:"OpenAI GPT-5.1 via GitHub Copilot"},{id:"gpt-5",name:"GPT-5",description:"OpenAI GPT-5 via GitHub Copilot"},{id:"gpt-5-mini",name:"GPT-5 Mini",description:"OpenAI GPT-5 Mini via GitHub Copilot"},{id:"gemini-3-pro",name:"Gemini 3 Pro",description:"Google Gemini 3 Pro via GitHub Copilot"}]},claude:{provider:"claude",displayName:"Claude (Anthropic)",defaultModel:"claude-sonnet-4-6",models:[{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-4-6",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-4-6",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-4-6",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=Ha(s);if(o){const p=t.models.find(i=>i.id===o);if(p)return p}}const n=ys[s.toLowerCase()],r=t.models.find(o=>o.id===s||o.id===n);if(r)return r;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,p)=>ws(p.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(m=>({id:m.id,owned_by:a.provider})),r=a.models.map(m=>{const l=Re(s,m.id);return{...m,name:m.name||l?.name||m.id,tier:l?.tier??Ba(m.tier),description:m.description??l?.description,broken:l?.broken,issueUrl:l?.issueUrl,deprecated:l?.deprecated,deprecationReason:l?.deprecationReason,extendedContext:m.extendedContext??l?.extendedContext,presetMapping:l?.presetMapping}}),d=s?.defaultModel?Ee(s.defaultModel,n):void 0,o=typeof d=="string"&&n.some(m=>V(m.id)===V(d)),p=n.some(m=>V(m.id)===V(a.defaultModel)),i=o?d:p?a.defaultModel:r[0]?.id??"";return{provider:a.provider,displayName:a.displayName||s?.displayName||t,defaultModel:i,models:r}}function Ot(t){const a={},s=new Set([...Object.keys(be),...Object.keys(t??{})]);for(const n of s){const r=Va(n,t?.[n]);r&&(a[n]=r)}return a}function ks(t,a,s){const n=Re(s,a);return n||Re(be[t.toLowerCase()],a)}function Ee(t,a=[]){const s=V(t),n=Ga(s,a);if(n)return n;const r=Jt(a,s);if(r)return r;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 _t(t,a=[]){if(!t)return[];const s=be[t.provider.toLowerCase()]??t,n=new Set;return s.models.map(r=>{const d=Ee(r.id,a),o=r.presetMapping?$a(r.presetMapping,a):void 0,p=t.models.find(i=>V(i.id)===V(d));return{...r,id:d,name:p?.name||r.name,description:p?.description??r.description,presetMapping:o}}).filter(r=>n.has(r.id)?!1:(n.add(r.id),!0))}function Qa(t,a,s=[]){const n=t.trim().toLowerCase();if(!a||!n)return[];const r=be[n]??a,d=_t(a,s),o=new Set(d.map(l=>V(l.id))),p=new Set(d.map(l=>Re(r,l.id)?.id).filter(l=>!!l).map(l=>V(l))),i=new Set,m=new Set(s.map(l=>V(l.id)));return s.filter(l=>{const v=V(l.id),x=Ua(l.id),b=Ka(x),N=Re(r,x)??Re(r,b);if(o.has(V(x))||v!==V(x)&&m.has(V(x)))return!1;const C=V(b);if(C!==V(x)&&m.has(C))return!1;const T=N?V(N.id):C;return N&&p.has(T)||i.has(T)||!N&&n==="agy"?!1:(i.add(T),!0)})}function Wa(t,a,s){return ks(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 Ot(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 r=n.models.find(l=>l.id===n.defaultModel)||n.models[0],d=r?.id??n.defaultModel,o=r?.presetMapping||{default:d,opus:d,sonnet:d,haiku:d},p=await Ja(),m={env:{ANTHROPIC_BASE_URL:`http://127.0.0.1:${Nt}/api/provider/${t}`,ANTHROPIC_AUTH_TOKEN:p,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:m})})).ok,presetName:r?.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:r,onBack:d,onStartAuth:o,onRefresh:p}){const{t:i}=W(),[m,l]=c.useState(!1),v=async x=>{await navigator.clipboard.writeText(x),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:i("setupWizard.authStep.authenticateWith",{provider:a.find(x=>x.id===t)?.name})}),e.jsx(q,{onClick:o,disabled:r,className:"w-full gap-2",size:"lg",children:r?e.jsxs(e.Fragment,{children:[e.jsx(ue,{className:"w-4 h-4 animate-spin"}),i("setupWizard.authStep.authenticating")]}):e.jsxs(e.Fragment,{children:[e.jsx(Pe,{className:"w-4 h-4"}),i("setupWizard.authStep.authenticateInBrowser")]})}),r&&e.jsx("p",{className:"text-xs text-muted-foreground",children:i("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:i("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(ka,{className:"w-4 h-4"}),i("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:()=>v(s),children:m?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:r,children:[e.jsx(It,{className:"w-4 h-4 mr-2"}),i("setupWizard.authStep.back")]}),e.jsxs(q,{variant:"outline",onClick:p,disabled:n||r,children:[e.jsx(nt,{className:`w-4 h-4 mr-2 ${n?"animate-spin":""}`}),i(n?"setupWizard.authStep.checking":"setupWizard.authStep.refreshStatus")]})]})]})}function tn({accounts:t,privacyMode:a,onSelect:s,onAddNew:n,onBack:r}){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 p=rs(o.id,o.email,o.tokenFile),i=o.provider?.toLowerCase()==="codex"?is(p):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(Oe,{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:p.email}),e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[i?.label?e.jsx(z,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",a&&je,i.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":i.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:i.label}):p.audienceLabel?e.jsx(z,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",a&&je,p.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":p.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:p.audienceLabel}):null,!i?.label&&p.detailLabel&&e.jsx(z,{variant:"outline",className:X("text-[10px] h-4 px-1.5",a&&je),children:p.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:r,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:r,isPending:d,privacyMode:o,onVariantNameChange:p,onModelChange:i,onBack:m,onSkip:l,onCreate:v}){const{t:x}=W(),b=a||be[t],N=b?.models||[],C=r&&!N.some(g=>g.id===r),[T,M]=c.useState(C),S=t==="agy"&&r.trim().length>0?xe(r):!1,w=s?rs(s.id,s.email,s.tokenFile):null,y=t==="codex"&&w?is(w):null,h=g=>{g===Xt?(M(!0),i("")):(M(!1),i(g))};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(Oe,{className:"w-4 h-4 shrink-0"}),e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsxs("span",{children:[x("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:[y?.label?e.jsx(z,{variant:"outline",className:X("text-[10px] h-4 px-1.5 border-transparent",o&&je,y.audience==="business"?"bg-sky-500/12 text-sky-700 dark:text-sky-300":y.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:y.label}):w?.audienceLabel?e.jsx(z,{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,!y?.label&&w?.detailLabel&&e.jsx(z,{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:x("setupVariant.variantNameRequired")}),e.jsx(ce,{id:"variant-name",value:n,onChange:g=>p(g.target.value),placeholder:x("setupVariant.variantNamePlaceholder")}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:[x("setupVariant.invokeHintPrefix")," ccs ",n||"<name>",' "prompt"']})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ee,{children:x("setupVariant.model")}),T?e.jsxs("div",{className:"space-y-2",children:[e.jsx(ce,{value:r,onChange:g=>i(g.target.value),placeholder:x("setupVariant.modelPlaceholder")}),S&&e.jsx("p",{className:"text-xs text-destructive",children:x("providerEditor.agyDenylist")}),e.jsx("button",{type:"button",className:"text-xs text-primary hover:underline",onClick:()=>{M(!1),t==="agy"&&xe(r)&&i("")},children:x("setupVariant.choosePresetInstead")})]}):e.jsxs(Qe,{value:N.some(g=>g.id===r)?r:"",onValueChange:h,children:[e.jsx(We,{className:"min-w-0",children:e.jsx(Je,{placeholder:x("setupVariant.selectModel")})}),e.jsxs(Xe,{className:"max-w-[calc(100vw-2rem)]",children:[N.map(g=>e.jsx(Me,{value:g.id,children:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate",children:g.name}),g.description&&e.jsxs("span",{className:"truncate text-xs text-muted-foreground",children:["- ",g.description]})]})},g.id)),e.jsx(Me,{value:Xt,children:e.jsx("span",{className:"text-primary",children:x("setupVariant.customModelName")})})]})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:T?x("setupVariant.enterAnyModel"):x("setupVariant.defaultModel",{model:b?.defaultModel||x("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:m,className:"justify-start",children:[e.jsx(It,{className:"w-4 h-4 mr-2"}),x("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:x("setupVariant.skip")}),e.jsx(q,{onClick:v,disabled:!n||d||S,children:x(d?"setupVariant.creating":"setupVariant.createVariant")})]})]}),e.jsx("p",{className:"text-xs text-center text-muted-foreground",children:x("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"),[r,d]=c.useState(""),[o,p]=c.useState(null),[i,m]=c.useState(""),[l,v]=c.useState(""),[x,b]=c.useState(!1),[N,C]=c.useState(!1),{data:T,refetch:M}=os(),{data:S}=ds(),w=Es(),y=Rs(),h=Ls(),{privacyMode:g}=ls(),E=T?.authStatus.find(k=>k.provider===r),u=c.useMemo(()=>E?.accounts||[],[E?.accounts]),I=c.useMemo(()=>Ot(S?.catalogs),[S?.catalogs]),A=!!S;c.useEffect(()=>{if(!t){const k=setTimeout(()=>{n("provider"),d(""),p(null),m(""),v(""),C(!1)},0);return()=>clearTimeout(k)}},[t]),c.useEffect(()=>{if(s==="auth"&&u.length>0&&!N){const k=setTimeout(()=>{n("account")},0);return()=>clearTimeout(k)}},[s,u,N]);const H=async()=>{b(!0),await M(),b(!1)},P=()=>{const k=(E?.accounts?.length||0)===0;y.mutate({provider:r},{onSuccess:async J=>{if(k){const j=await yt(r,void 0,A?I[r]:void 0);j.success&&j.presetName?B.success(`Applied "${j.presetName}" preset`):j.success||B.warning(he.t("commonToast.accountAddedPresetFailed"))}J.account&&(p(J.account),n("variant")),M()}})},O=k=>{d(k),(T?.authStatus.find(Y=>Y.provider===k)?.accounts||[]).length===0?n("auth"):n("account")},K=k=>{p(k),n("variant")},G=async()=>{if(!(!i||!r))try{await w.mutateAsync({name:i,provider:r,model:l||void 0,account:o?.id}),n("success")}catch(k){console.error("Failed to create variant:",k)}},$=`ccs ${r} --auth --add`,R=_s(s),L=k=>{if(!k&&(y.isPending&&r&&h.mutate(r),s==="success"||s==="provider")){a();return}};return e.jsx(Ct,{open:t,onOpenChange:L,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:k=>{s!=="success"&&s!=="provider"&&k.preventDefault()},onEscapeKeyDown:k=>{(y.isPending||w.isPending)&&k.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:O}),s==="auth"&&e.jsx(en,{selectedProvider:r,providers:Kt,authCommand:$,isRefreshing:x,isPending:y.isPending,onBack:()=>n("provider"),onStartAuth:P,onRefresh:H}),s==="account"&&e.jsx(tn,{accounts:u,privacyMode:g,onSelect:K,onAddNew:()=>{C(!0),n("auth")},onBack:()=>n("provider")}),s==="variant"&&e.jsx(sn,{selectedProvider:r,catalog:I[r],selectedAccount:o,variantName:i,modelName:l,isPending:w.isPending,privacyMode:g,onVariantNameChange:m,onModelChange:v,onBack:()=>u.length>0?n("account"):n("provider"),onSkip:a,onCreate:G}),s==="success"&&e.jsx(an,{variantName:i,onClose:a})]}),e.jsx("div",{className:"px-6 pb-6",children:e.jsx(Ya,{currentProgress:R,allSteps:Os})})]})})}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(r=>typeof r=="string"&&r.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),r=c.useRef(0),d=c.useRef(null),o=c.useRef(null),p=c.useRef(0),i=c.useRef(0),m=c.useRef(!1),l=kt(),v=c.useCallback(M=>M===r.current,[]),x=c.useCallback(()=>{o.current&&(clearInterval(o.current),o.current=null),i.current=0},[]);c.useEffect(()=>()=>{d.current?.abort(),x(),m.current=!1},[x]),c.useEffect(()=>{n.current=a},[a]);const b=c.useCallback(async(M,S,w)=>{if(v(w)){if(Date.now()-p.current>on){x(),v(w)&&s(y=>({...y,isAuthenticating:!1,error:t("toasts.providerAuthTimeout")}));return}try{const y=await fetch(`/api/cliproxy/auth/${M}/status?state=${encodeURIComponent(S)}`);if(!v(w))return;const h=await y.json();if(i.current=0,h.status==="ok"){if(!(typeof h.account=="object"&&h.account!==null)){x();const E=t("toasts.providerAccountRegistrationFailed");B.error(E),s(u=>({...u,isAuthenticating:!1,error:E}));return}x(),l.invalidateQueries({queryKey:["cliproxy-auth"]}),l.invalidateQueries({queryKey:["cliproxy-accounts"]}),l.invalidateQueries({queryKey:["account-quota"]}),xt(l),B.success(t("toasts.providerAuthSuccess",{provider:M})),m.current=!1,s(ye)}else if(h.status==="auth_url"){const g=h.url||h.auth_url;g&&(s(E=>({...E,authUrl:g})),m.current||(m.current=!0,window.open(g,"_blank")))}else if(h.status==="device_code"){x();const g=h.user_code&&h.verification_url?`Open ${h.verification_url} and enter code: ${h.user_code}`:"Switch to Device Code method and try again.";B.error(t("toasts.providerDeviceCodeInCallback")),s(E=>({...E,isAuthenticating:!1,error:g}))}else if(h.status==="error"){x();const g=h.error||"Authentication failed";B.error(g),s(E=>({...E,isAuthenticating:!1,error:g}))}}catch(y){if(!v(w)||(i.current+=1,i.current<dn))return;x();const h=y instanceof Error&&y.message.trim().length>0?y.message:t("toasts.providerLostStatusEndpoint");B.error(h),s(g=>({...g,isAuthenticating:!1,error:h}))}}},[v,l,x,t]),N=c.useCallback(async(M,S)=>{if(!Le(M)){s({...ye,error:t("toasts.providerUnknown",{provider:M})});return}d.current?.abort(),x(),m.current=!1,i.current=0;const w=new AbortController,y=r.current+1;r.current=y,d.current=w;const g=(S?.flowType||(us(M)?"device_code":"authorization_code"))==="device_code",E=S?.startEndpoint||(g?"start":"start-url"),u={accountId:S?.accountId,nickname:S?.nickname,kiroMethod:S?.kiroMethod,kiroIDCStartUrl:S?.kiroIDCStartUrl,kiroIDCRegion:S?.kiroIDCRegion,kiroIDCFlow:S?.kiroIDCFlow,gitlabAuthMode:S?.gitlabAuthMode,gitlabBaseUrl:S?.gitlabBaseUrl,gitlabPersonalAccessToken:S?.gitlabPersonalAccessToken,riskAcknowledgement:S?.riskAcknowledgement};s({provider:M,isAuthenticating:!0,error:null,authUrl:null,oauthState:null,isSubmittingCallback:!1,isDeviceCodeFlow:g});try{if(E==="start")fetch(`/api/cliproxy/auth/${M}/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u),signal:w.signal}).then(async I=>{if(!v(y))return;const A=await ht(I);if(!v(y))return;const H=A.success===!0,P=typeof A.account=="object"&&A.account!==null;if(I.ok&&H&&P)l.invalidateQueries({queryKey:["cliproxy-auth"]}),l.invalidateQueries({queryKey:["cliproxy-accounts"]}),l.invalidateQueries({queryKey:["account-quota"]}),xt(l),m.current=!1,s(ye);else{const O=typeof A.error=="string"?A.error:t(H?"toasts.providerAccountRegistrationFailed":"auth.loginFailed");B.error(O),s(K=>({...K,isAuthenticating:!1,error:O}))}}).catch(I=>{if(!v(y)||I instanceof Error&&I.name==="AbortError")return;const A=I instanceof Error?I.message:"Authentication failed";B.error(A),s(H=>({...H,isAuthenticating:!1,error:A}))});else{const I=await fetch(`/api/cliproxy/auth/${M}/start-url`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u),signal:w.signal});if(!v(y))return;const A=await ht(I);if(!v(y))return;const H=A.success===!0;if(!I.ok||!H){const K=ln(A,t("toasts.providerStartOAuthFailed"));throw new Error(K)}const P=typeof A.authUrl=="string"?A.authUrl:null,O=typeof A.state=="string"?A.state:null;if(s(K=>({...K,authUrl:P,oauthState:O})),P&&(m.current=!0,window.open(P,"_blank")),O){if(p.current=Date.now(),!P){if(await b(M,O,y),!v(y))return;const K=n.current;if(!K.isAuthenticating||K.provider!==M)return}o.current=setInterval(()=>{b(M,O,y)},rn)}}}catch(I){if(!v(y))return;if(I instanceof Error&&I.name==="AbortError"){m.current=!1,s(ye);return}const A=I instanceof Error?I.message:t("auth.loginFailed");B.error(A),s(H=>({...H,isAuthenticating:!1,error:A}))}},[v,b,x,l,t]),C=c.useCallback(()=>{const M=a.provider;r.current+=1,d.current?.abort(),x(),m.current=!1,s(ye),M&&Ye.cliproxy.auth.cancel(M).catch(()=>{})},[a.provider,x]),T=c.useCallback(async M=>{if(!a.provider)return;const S=r.current,w=a.provider;s(y=>({...y,isSubmittingCallback:!0,error:null}));try{const y=await fetch(`/api/cliproxy/auth/${w}/submit-callback`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({redirectUrl:M})});if(!v(S))return;const h=await ht(y);if(!v(S))return;const g=h.success===!0,E=h.status==="wait",u=typeof h.account=="object"&&h.account!==null;if(y.ok&&E)s(I=>({...I,isSubmittingCallback:!1,error:null}));else if(y.ok&&g&&u)x(),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 I=typeof h.error=="string"?h.error:t(g?"toasts.providerAccountRegistrationFailed":"toasts.providerCallbackFailed");throw new Error(I)}}catch(y){if(!v(S))return;const h=y instanceof Error?y.message:t("toasts.providerSubmitCallbackFailed");B.error(h),s(g=>({...g,isSubmittingCallback:!1,error:h}))}},[v,a.provider,l,x,t]);return c.useMemo(()=>({...a,startAuth:N,cancelAuth:C,submitCallback:T}),[a,N,C,T])}function wt({className:t,compact:a=!1,showAcknowledgement:s=!1,acknowledgementPhrase:n=Ze,acknowledgementText:r="",onAcknowledgementTextChange:d,disabled:o=!1,showProxySettingsLink:p=!1}){const{t:i}=W(),m=i("accountSafetyWarning.title"),l=i("accountSafetyWarning.subtitle"),v=i("accountSafetyWarning.firstLine"),x=i("accountSafetyWarning.secondLine"),b="https://github.com/kaitranntt/ccs/issues/509",N=i("accountSafetyWarning.issueLabel"),C=i("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:m}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:l})]}),e.jsx("p",{className:"text-xs leading-5 text-muted-foreground",children:v}),e.jsx("p",{className:"text-xs font-medium leading-5 text-amber-900 dark:text-amber-200",children:x})]})]}),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:[N,e.jsx(Pe,{className:"h-3 w-3"})]}),p?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"}),C]}):null,e.jsx(z,{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:m}),e.jsx("p",{className:"text-xs text-muted-foreground",children:l})]})]}),e.jsx(z,{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:v}),e.jsx("p",{className:"font-medium text-amber-900 dark:text-amber-200",children:x}),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:[N,e.jsx(Pe,{className:"h-3.5 w-3.5"})]}),p&&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"}),C]}),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:r,onChange:T=>d(T.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:r}=W(),d=[a.reviewedIssue509,a.understandsBanRisk,a.acceptsFullResponsibility,a.typedPhrase.trim().replace(/\s+/g," ").toUpperCase()===Wt].filter(Boolean).length,o=d/4*100,p=i=>{s({...a,...i})};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:r("antigravityChecklist.title")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r("antigravityChecklist.subtitle")})]})]}),e.jsx(z,{variant:"outline",className:"border-rose-500/40 text-rose-700 dark:text-rose-300",children:r("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:r("antigravityChecklist.completion")}),e.jsx("span",{children:r("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:i=>p({reviewedIssue509:!!i}),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:i=>p({understandsBanRisk:!!i}),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:i=>p({acceptsFullResponsibility:!!i}),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:i=>p({typedPhrase:i.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:r,account:d,isFirstAccount:o=!1}){const[p,i]=c.useState(""),[m,l]=c.useState(""),[v,x]=c.useState(!1),[b,N]=c.useState(null),[C,T]=c.useState(""),[M,S]=c.useState(mt),[w,y]=c.useState(!1),[h,g]=c.useState(!1),[E,u]=c.useState(Ht),[I,A]=c.useState(""),[H,P]=c.useState(""),[O,K]=c.useState(zt),[G,$]=c.useState("oauth"),[R,L]=c.useState(""),[k,J]=c.useState(""),{t:j}=W(),Y=c.useRef(!1),se=c.useRef(0),de=c.useRef(!1),U=cn(),re=qs(),Q=s==="kiro",Z=s==="gitlab",ie=s==="agy"||s==="gemini",Ne=s==="gemini"&&!w,fe=s==="agy"&&!w,Ce=ie&&h,Ae=Ta(M),f=mn(C)===Ze,F=us(s),ge=Us(E),me=Q&&E==="idc",pe=Q&&Hs(E),Se=Q?Ks(E,O):void 0,ot=Q?Gs(E):void 0,dt=Q?Se==="device_code":F,le=U.isAuthenticating||re.isPending,Fe=p.trim(),qe=I.trim(),Ue=H.trim(),Ke=R.trim(),_=k.trim(),te=b||U.error,ae=!!d,Ie=d?.email||d?.nickname||d?.id||n,qt=c.useCallback(async()=>{const D=await fetch("/api/settings/auth/antigravity-risk");if(!D.ok)throw new Error("Failed to load power user mode setting");return(await D.json()).antigravityAckBypass===!0},[]),He=c.useCallback(async({pendingMessage:D=null,disabledMessage:ve=null}={})=>{const ct=++se.current;g(!0),D!==null&&N(D);try{const ze=await qt();return se.current!==ct||(y(ze),ve?N(ze?null:ve):D!==null&&N(null)),ze}catch{return se.current!==ct||(y(!1),N(ve??j("addAccountDialog.powerUserLoadFailed")),de.current||(de.current=!0,B.error(j("addAccountDialog.powerUserLoadFailed")))),!1}finally{se.current===ct&&g(!1)}},[qt,j]),lt=()=>{i(""),l(""),x(!1),N(null),T(""),S(mt),y(!1),g(!1),u(Ht),A(""),P(""),K(zt),$("oauth"),L(""),J(""),se.current+=1,de.current=!1,Y.current=!1,a()};c.useEffect(()=>{t&&(T(""),S(mt),N(null))},[s,t]),c.useEffect(()=>()=>{se.current+=1},[]),c.useEffect(()=>{if(!t||!ie){se.current+=1,y(!1),g(!1);return}He()},[t,s,ie,He]),c.useEffect(()=>{if(!t||s!=="agy"||!U.error||!w)return;const D=U.error.toLowerCase();(D.includes("agy_risk_ack_required")||D.includes("responsibility acknowledgement")||D.includes("responsibility checklist"))&&He({pendingMessage:j("addAccountDialog.powerUserLoading"),disabledMessage:j("addAccountDialog.powerUserUnavailableRetry")})},[U.error,t,w,s,He,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,r);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),x(!0),setTimeout(()=>x(!1),2e3))},Ss=()=>{m.trim()&&U.submitCallback(m.trim())},Ms=()=>{if(Ce){N(j("addAccountDialog.powerUserLoading"));return}if(fe&&!Ae){N("Complete all Antigravity responsibility steps before authenticating this provider.");return}if(Ne&&!f){N(`Type "${Ze}" to acknowledge the account safety warning before authenticating this provider.`);return}if(N(null),me&&!qe){N("IDC Start URL is required for Kiro IAM Identity Center login.");return}if(Z&&G==="pat"&&!_){N(j("addAccountDialog.gitlabPatRequired"));return}Y.current=!0,U.startAuth(s,{accountId:d?.id,nickname:d?d.nickname:Fe||void 0,kiroMethod:Q?E:void 0,kiroIDCStartUrl:me?qe:void 0,kiroIDCRegion:me&&Ue?Ue:void 0,kiroIDCFlow:me?O:void 0,gitlabAuthMode:Z?G:void 0,gitlabBaseUrl:Z&&Ke?Ke:void 0,gitlabPersonalAccessToken:Z&&G==="pat"&&_?_:void 0,flowType:Q?Se:void 0,startEndpoint:Q?ot:Z&&G==="pat"?"start":void 0,riskAcknowledgement:fe?{version:Ea,reviewedIssue509:M.reviewedIssue509,understandsBanRisk:M.understandsBanRisk,acceptsFullResponsibility:M.acceptsFullResponsibility,typedPhrase:M.typedPhrase}:void 0})},Ps=()=>{Y.current=!0,re.mutate(void 0,{onSuccess:async()=>{const D=await yt("kiro",void 0,r);D.success&&D.presetName&&o&&B.success(`Applied "${D.presetName}" preset`),lt()}})},Ds=D=>{D||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:D=>{oe&&D.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:M,onChange:D=>{S(D),N(null)},disabled:le}),ie&&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(wt,{showAcknowledgement:!0,acknowledgementPhrase:Ze,acknowledgementText:C,onAcknowledgementTextChange:D=>{T(D),N(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:E,onValueChange:D=>{u(D),N(null)},children:[e.jsx(We,{id:"kiro-auth-method",children:e.jsx(Je,{placeholder:j("addAccountDialog.selectKiroAuthMethod")})}),e.jsx(Xe,{children:zs.map(D=>e.jsx(Me,{value:D.id,children:D.label},D.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:I,onChange:D=>{A(D.target.value),N(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:D=>{P(D.target.value),N(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:O,onValueChange:D=>{K(D),N(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:G,onValueChange:D=>{$(D),N(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:D=>{L(D.target.value),N(null)},placeholder:j("addAccountDialog.gitlabUrlPlaceholder"),disabled:le}),e.jsx("p",{className:"text-xs text-muted-foreground",children:j("addAccountDialog.gitlabUrlHint")})]}),G==="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:k,onChange:D=>{J(D.target.value),N(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(Oe,{className:"w-4 h-4 text-muted-foreground"}),e.jsx(ce,{id:"nickname",value:p,onChange:D=>{i(D.target.value),N(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:v?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 D=window.open(U.authUrl,"_blank");(!D||D.closed||typeof D.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:m,onChange:D=>l(D.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:!m.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}),re.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:re.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),[r,d]=c.useState(!1),o=kt(),{data:p,isLoading:i,refetch:m}=ss({queryKey:["settings",t],queryFn:async()=>{const P=await fetch(`/api/settings/${t}/raw`);if(!P.ok){const O=t==="cursor"?`~/.ccs/cliproxy/providers/${t}.settings.json`:Le(t)?`~/.ccs/${t}.settings.json`:`~/.ccs/profiles/${t}/settings.json`;return{profile:t,settings:{env:{}},mtime:Date.now(),path:O}}return P.json()}}),l=p?.settings,v=c.useMemo(()=>s!==null?s:l?JSON.stringify(l,null,2):`{
3
- "env": {}
4
- }`,[s,l]),x=c.useCallback(P=>{n(P)},[]),b=c.useMemo(()=>{try{return JSON.parse(v)}catch{return l||{env:{}}}},[v,l]),N=b?.env?.ANTHROPIC_MODEL,C=b?.env?.ANTHROPIC_DEFAULT_OPUS_MODEL,T=b?.env?.ANTHROPIC_DEFAULT_SONNET_MODEL,M=b?.env?.ANTHROPIC_DEFAULT_HAIKU_MODEL,S=c.useMemo(()=>Bs(b?.env||{}),[b]),w=c.useCallback((P,O)=>Vs(P,O,{supportsExtendedContext:K=>Wa(t,K,a)}),[a,t]),y=c.useCallback((P,O)=>{const K={...b?.env||{},[P]:O},G=Gt(P)?w(K,S):K;delete G.CCS_EXTENDED_CONTEXT;const $={...b,env:G};n(JSON.stringify($,null,2))},[w,b,S]),h=c.useCallback(P=>{const O=b?.env||{},K=w(O,P);delete K.CCS_EXTENDED_CONTEXT;const G={...b,env:K};n(JSON.stringify(G,null,2))},[w,b]),g=c.useCallback(P=>{const O={...b?.env||{},...P},G=Object.keys(P).some(Gt)?w(O,S):O;delete G.CCS_EXTENDED_CONTEXT;const $={...b,env:G};n(JSON.stringify($,null,2))},[w,b,S]),E=c.useMemo(()=>{try{return JSON.parse(v),!0}catch{return!1}},[v]),u=c.useMemo(()=>s===null?!1:s!==JSON.stringify(l,null,2),[s,l]),I=c.useMemo(()=>hn(b),[b]),A=Is({mutationFn:async()=>{const P=JSON.parse(v),O=await fetch(`/api/settings/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:P,expectedMtime:p?.mtime})});if(O.status===409)throw new Error("CONFLICT");if(!O.ok)throw new Error("Failed to save");return O.json()},onSuccess:P=>{o.invalidateQueries({queryKey:["settings",t]}),n(null),P?.warning?B.success(he.t("settings.saved"),{description:P.warning}):B.success(he.t("settings.saved"))},onError:P=>{P.message==="CONFLICT"?d(!0):B.error(P.message)}}),H=async P=>{d(!1),P?(await m(),A.mutate()):n(null)};return{data:p,isLoading:i,refetch:m,rawJsonContent:v,rawJsonEdits:s,isRawJsonValid:E,hasChanges:u,currentSettings:b,currentModel:N,opusModel:C,sonnetModel:T,haikuModel:M,extendedContextEnabled:S,toggleExtendedContext:h,handleRawJsonChange:x,updateEnvValue:y,updateEnvValues:g,saveMutation:{mutate:()=>A.mutate(),isPending:A.isPending},conflictDialog:r,setConflictDialog:d,handleConflictResolve:H,missingRequiredFields:I}}const gn=/-(minimal|low|medium|high|xhigh|fast)$/i,vn=["minimal","low","medium","high","xhigh"];function jn(t){return t?.trim()??""}function it(t){let a=jn(t),s,n;for(let r=0;r<2;r+=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 it(t).effort}function Cs(t){return it(t).serviceTier}function bn(t){return it(t).baseModel}function Yt(t,a){const s=it(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),r=[],d=o=>{const p=o?Yt(n,o):n;r.push(p);for(const i of s)r.push(`${p}-${i}`)};d(void 0);for(const o of vn)if(d(o),o===a)break;return r}function yn(t,a){if(!t)return null;const s=Ft(t);return s?{label:`Pinned ${s}`,explicit:!0}:{label:"Auto effort",explicit:!1}}function wn({label:t}){return e.jsx(z,{variant:"outline",className:"text-[9px] h-4 px-1",children:t})}function Be({modelId:t}){const a=yn(t);return a?e.jsx(z,{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(z,{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 kn(t,a){return a?Cs(t)?"codex-fast":Ft(t)?"codex-reasoning":"recommended":"recommended"}function ke({label:t,description:a,value:s,onChange:n,catalog:r,allModels:d,routing:o,disabled:p}){const{t:i}=W(),m=r?.provider==="codex",l=c.useMemo(()=>_t(r,d),[d,r]),v=c.useMemo(()=>Qa(r?.provider??"",r,d),[d,r]),x=new Set(l.map(h=>h.id)),b=c.useMemo(()=>new Map((o?.models??[]).map(h=>[h.modelId.toLowerCase(),h])),[o]),N=c.useMemo(()=>new Set(l.flatMap(h=>ft(h.codexMaxEffort,h.codexServiceTiers,$e(h.id,b.get(h.id.toLowerCase())),m))),[m,l,b]),C=c.useMemo(()=>b.get(Zt(s,o).toLowerCase()),[o,b,s]),T=l.flatMap(h=>{const g=b.get(h.id.toLowerCase());return ft(h.codexMaxEffort,h.codexServiceTiers,$e(h.id,g),m).map(u=>({value:u,groupKey:kn(u,m),searchText:`${u} ${h.id} ${h.name} ${g?.recommendedModelId??""}`,keywords:[h.tier??"",r?.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:u}),g?.pinnedAvailable?e.jsx(z,{variant:"secondary",className:"text-[9px] h-4 px-1 uppercase",children:g.prefix}):null,m&&e.jsx(Be,{modelId:u}),m&&e.jsx(Ve,{modelId:u})]}),itemContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:u}),h.tier==="paid"&&e.jsx(wn,{label:i("providerModelSelector.paid")}),g?.unprefixedStatus==="shadowed"?e.jsx(z,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.shadowed")}):null,g?.unprefixedStatus==="prefix-only"?e.jsx(z,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.prefixOnly")}):null,m&&e.jsx(Be,{modelId:u}),m&&e.jsx(Ve,{modelId:u})]})}))}),M=v.filter(h=>!x.has(h.id)).filter(h=>!N.has($e(h.id,b.get(h.id.toLowerCase())))).flatMap(h=>{const g=b.get(h.id.toLowerCase());return ft(void 0,void 0,$e(h.id,g),m).map(u=>({value:u,groupKey:"all",searchText:`${u} ${h.id} ${g?.recommendedModelId??""}`,keywords:[h.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:u}),g?.pinnedAvailable?e.jsx(z,{variant:"secondary",className:"text-[9px] h-4 px-1 uppercase",children:g.prefix}):null,m&&e.jsx(Be,{modelId:u}),m&&e.jsx(Ve,{modelId:u})]}),itemContent:e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate font-mono text-xs",children:u}),g?.unprefixedStatus==="shadowed"?e.jsx(z,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.shadowed")}):null,g?.unprefixedStatus==="prefix-only"?e.jsx(z,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.prefixOnly")}):null,m&&e.jsx(Be,{modelId:u}),m&&e.jsx(Ve,{modelId:u})]})}))}),S=!!s&&!T.some(h=>h.value===s)&&!M.some(h=>h.value===s),w=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(z,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("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(z,{variant:"outline",className:"text-[9px] h-4 px-1",children:i("providerModelSelector.current")})]})}:null,y=T.length+M.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(La,{value:s||void 0,onChange:n,disabled:p,placeholder:i("providerModelSelector.selectModel"),searchPlaceholder:i("searchableSelect.searchModels"),emptyText:i(y?"searchableSelect.noResults":"providerModelSelector.noModelsAvailable"),triggerClassName:"h-9",groups:[...S&&w?[{key:"current",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:i("providerModelSelector.currentValue")})}]:[],{key:"recommended",label:e.jsx("span",{className:"text-xs text-primary",children:i("providerModelSelector.recommended")})},...m?[{key:"codex-reasoning",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:i("providerModelSelector.codexReasoningVariants")})},{key:"codex-fast",label:e.jsx("span",{className:"text-xs text-amber-600",children:i("providerModelSelector.codexFastVariants")})}]:[],...M.length>0?[{key:"all",label:e.jsx("span",{className:"text-xs text-muted-foreground",children:i("providerModelSelector.allModelsCount",{count:M.length})})}]:[]],options:[...S&&w?[w]:[],...T,...M]}),C?e.jsxs("div",{className:X("rounded-md border px-2.5 py-2 text-[11px]",C.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:[C.pinnedAvailable?i("providerModelSelector.preferredPinnedModel"):i("providerModelSelector.pinnedRouteStatus")," ",e.jsx("code",{children:C.pinnedAvailable?C.recommendedModelId:C.pinnedModelId})]}),e.jsx("p",{className:"mt-1 leading-5",children:C.summary})]}):null,s&&!C&&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:i("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 Cn({open:t,onClose:a,currentValues:s,onApply:n,onSave:r,isSaving:d,catalog:o,allModels:p,routing:i}){const{t:m}=W(),[l,v]=c.useState(es(s,i)),[x,b]=c.useState(""),N=C=>{C?(v(es(s,i)),b("")):a()};return e.jsx(Ct,{open:t,onOpenChange:N,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"}),m("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:m("customPresetDialog.presetNameOptional")}),e.jsx(ce,{id:"preset-name",value:x,onChange:C=>b(C.target.value),placeholder:m("customPresetDialog.presetNamePlaceholder"),className:"text-sm"})]}),e.jsx(Lt,{}),o?.provider==="codex"&&e.jsxs("p",{className:"text-[11px] text-muted-foreground rounded-md border bg-muted/30 px-2.5 py-2",children:[m("customPresetDialog.codexTipPrefix")," ",e.jsx("code",{children:"-medium"}),", ",e.jsx("code",{children:"-high"}),", and"," ",e.jsx("code",{children:"-xhigh"})," ",m("customPresetDialog.codexTipSuffix")]}),e.jsx(ke,{label:m("customPresetDialog.defaultModel"),description:m("customPresetDialog.defaultModelDesc"),value:l.default,onChange:C=>v({...l,default:C}),catalog:o,allModels:p,routing:i}),e.jsx(ke,{label:m("customPresetDialog.opusModel"),description:m("customPresetDialog.opusModelDesc"),value:l.opus,onChange:C=>v({...l,opus:C}),catalog:o,allModels:p,routing:i}),e.jsx(ke,{label:m("customPresetDialog.sonnetModel"),description:m("customPresetDialog.sonnetModelDesc"),value:l.sonnet,onChange:C=>v({...l,sonnet:C}),catalog:o,allModels:p,routing:i}),e.jsx(ke,{label:m("customPresetDialog.haikuModel"),description:m("customPresetDialog.haikuModelDesc"),value:l.haiku,onChange:C=>v({...l,haiku:C}),catalog:o,allModels:p,routing:i})]}),e.jsxs($s,{className:"gap-2 sm:gap-0",children:[e.jsx(q,{variant:"outline",onClick:a,children:m("customPresetDialog.cancel")}),r&&e.jsxs(q,{variant:"secondary",onClick:()=>r(l,x||void 0),disabled:d||!x.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"}),m("customPresetDialog.savePreset")]}),e.jsxs(q,{onClick:()=>n(l,x||void 0),children:[e.jsx(_e,{className:"w-4 h-4 mr-1"}),m("customPresetDialog.applyPreset")]})]})]})})}function we({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 An({provider:t,displayName:a,baseProvider:s,defaultTarget:n,data:r,authStatus:d,supportsModelConfig:o=!1}){const{t:p}=W(),i=n||"claude",m=i==="droid",l=t==="codex",v=s||d.provider||t,x=Qs(v),b=i==="claude"?`ccs ${t}`:`ccs ${t} --target claude`,N=`${b} --config`,C=`${b} --auth --add`,T=`${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:p("providerEditor.provider")}),e.jsx("span",{className:"font-mono",children:a})]}),r&&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:p("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:r.path}),e.jsx(ms,{value:r.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:p("providerEditor.lastModified")}),e.jsx("span",{className:"text-xs",children:new Date(r.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:p("providerEditor.status")}),d.authenticated?e.jsxs(z,{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(z,{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:p("providerEditor.defaultTarget")}),e.jsx("span",{className:"font-mono",children:i})]}),x&&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:p("providerConfig.trackLabel")}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"font-mono",children:p(x.labelKey)}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[p(x.hintKey),Ws(v)?` ${p("providerConfig.plusTrackNote")}`:""]})]})]})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-3",children:p("providerEditor.quickUsage")}),e.jsxs("div",{className:"space-y-3 bg-card rounded-lg border p-4 shadow-sm",children:[e.jsx(we,{label:"Run with prompt",command:`ccs ${t} "your prompt"`}),l&&e.jsxs(e.Fragment,{children:[e.jsx(we,{label:"Run on native Codex (shortcut)",command:'ccsxp "your prompt"'}),e.jsx(we,{label:"Run on native Codex (--target)",command:`ccs ${t} --target codex "your prompt"`})]}),e.jsx(we,{label:m?"Droid alias (explicit)":"Run on Droid",command:`ccs-droid ${t} "your prompt"`}),e.jsx(we,{label:m?"Override to Claude":"Run on Droid (--target)",command:`ccs ${t} --target ${m?"claude":"droid"} "your prompt"`}),o&&e.jsx(we,{label:i==="claude"?"Change model":"Change model (Claude target)",command:N}),e.jsx(we,{label:i==="claude"?"Add account":"Add account (Claude target)",command:C}),e.jsx(we,{label:i==="claude"?"List accounts":"List accounts (Claude target)",command:T}),i!=="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 Sn(t){const a=t.replace(/\\/g,"/"),n=a.lastIndexOf("/cliproxy/providers/");return n!==-1?a.slice(n+1):a.replace(/^.*\//,"")}function Mn({displayName:t,logoProvider:a,provider:s,data:n,isLoading:r,hasChanges:d,isRawJsonValid:o,isSaving:p,isRemoteMode:i,port:m,onRefetch:l,onSave:v}){const{t:x}=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}),i&&e.jsxs(z,{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"]}),m&&e.jsxs(z,{variant:"outline",className:"text-xs gap-1 font-mono",children:[e.jsx(Sa,{className:"w-3 h-3"}),":",m]}),!i&&n?.path&&e.jsx(z,{variant:"outline",className:"text-xs",children:Sn(n.path)})]}),i?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:[x("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:r,children:e.jsx(nt,{className:`w-4 h-4 ${r?"animate-spin":""}`})}),e.jsx(q,{size:"sm",onClick:v,disabled:p||!d||!o,children:p?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 Pn({models:t,provider:a,enabled:s,onToggle:n,disabled:r,className:d}){const{t:o}=W();if(t.length===0)return null;const p=t.some(l=>Bt(l.id)),i=t.some(l=>!Bt(l.id));let m="Compatible mappings stay on standard context unless you turn this on.";return p&&i?m="Gemini-compatible mappings can use 1M automatically. Claude mappings stay plain unless you turn this on.":p&&(m="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(_e,{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(z,{variant:s?"default":"secondary",className:"text-[10px] h-5 px-1.5",children:"1M tokens"})]}),e.jsx(ps,{checked:s,onCheckedChange:n,disabled:r})]}),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:m}),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 Dn(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 In({catalog:t,savedPresets:a,currentModel:s,opusModel:n,sonnetModel:r,haikuModel:d,providerModels:o,routing:p,provider:i,extendedContextEnabled:m,onExtendedContextToggle:l,onApplyPreset:v,onUpdateEnvValue:x,onOpenCustomPreset:b,onDeletePreset:N,isDeletePending:C}){const{t:T}=W(),M=(p?.models??[]).some(u=>u.pinnedAvailable),S=c.useMemo(()=>new Map((p?.models??[]).map(u=>[u.modelId.toLowerCase(),u])),[p]),w=u=>S.get(u.toLowerCase())?.recommendedModelId??u,y=c.useMemo(()=>{if(!t)return[];const u=[s,n,r,d].filter(A=>!!A).map(A=>Js(A));return[...new Set(u)].map(A=>ks(t.provider,A,t)).filter(A=>!!A?.extendedContext)},[t,s,n,r,d]),h=c.useMemo(()=>_t(t,o),[t,o]),g=c.useMemo(()=>{const u=h.filter(A=>A.presetMapping);return u.length===0?[]:u.some(A=>A.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:u.filter(A=>A.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:u.filter(A=>A.tier==="paid")}].filter(A=>A.models.length>0):[{key:"default",models:u.slice(0,4)}]},[h]),E=g.length>0||a.length>0;return e.jsxs(e.Fragment,{children:[E&&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:T("providerEditor.presets")}),e.jsxs("div",{className:"space-y-4",children:[g.map(u=>e.jsxs("div",{children:["label"in u&&u.label&&e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(z,{variant:"outline",className:u.badgeClassName,children:u.label}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:u.description})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:u.models.map(I=>e.jsxs(q,{variant:"outline",size:"sm",className:"text-xs h-7 gap-1",onClick:()=>v(Dn(I,w)),children:[e.jsx(_e,{className:`w-3 h-3 ${"iconClassName"in u?u.iconClassName:""}`}),I.name]},I.id))})]},u.key)),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[a.map(u=>e.jsxs("div",{className:"group relative",children:[e.jsxs(q,{variant:"secondary",size:"sm",className:"text-xs h-7 gap-1 pr-6",onClick:()=>{v({ANTHROPIC_MODEL:w(u.default),ANTHROPIC_DEFAULT_OPUS_MODEL:w(u.opus),ANTHROPIC_DEFAULT_SONNET_MODEL:w(u.sonnet),ANTHROPIC_DEFAULT_HAIKU_MODEL:w(u.haiku)})},children:[e.jsx(Et,{className:"w-3 h-3 fill-current"}),u.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:I=>{I.stopPropagation(),N(u.name)},disabled:C,children:e.jsx(Rt,{className:"w-3 h-3"})})]},u.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(rt,{className:"w-3 h-3"}),"Custom"]})]})]})]}),e.jsx(Lt,{}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-2",children:T("providerEditor.modelMapping")}),e.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"Configure which models to use for each tier"}),p?e.jsx("p",{className:"text-[11px] text-muted-foreground mb-3 rounded-md border bg-muted/30 px-2.5 py-2",children:M?e.jsxs(e.Fragment,{children:["Preferred pinned model names use the ",e.jsxs("code",{children:[p.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:[p.prefix,"/"]})," is not currently advertised by the proxy. Unprefixed names may still be ambiguous until prefix repair completes."]})}):null,i==="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(ke,{label:"Default Model",description:"Used when no specific tier is requested",value:s,onChange:u=>x("ANTHROPIC_MODEL",u),catalog:t,allModels:o,routing:p}),y.length>0&&l&&e.jsx(Pn,{models:y,provider:i,enabled:m??!1,onToggle:l}),e.jsx(ke,{label:"Opus (Most capable)",description:"For complex reasoning tasks",value:n,onChange:u=>x("ANTHROPIC_DEFAULT_OPUS_MODEL",u),catalog:t,allModels:o,routing:p}),e.jsx(ke,{label:"Sonnet (Balanced)",description:"Balance of speed and capability",value:r,onChange:u=>x("ANTHROPIC_DEFAULT_SONNET_MODEL",u),catalog:t,allModels:o,routing:p}),e.jsx(ke,{label:"Haiku (Fast)",description:"Quick responses for simple tasks",value:d,onChange:u=>x("ANTHROPIC_DEFAULT_HAIKU_MODEL",u),catalog:t,allModels:o,routing:p})]})]})]})}function Tn(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 En({account:t,onSetDefault:a,onRemove:s,onReauth:n,onPauseToggle:r,isRemoving:d,isPausingAccount:o,privacyMode:p,showQuota:i,selectable:m,selected:l,onSelectChange:v}){const{t:x}=W(),b=t.provider.toLowerCase(),{data:N}=Xs(i),{data:C,isLoading:T}=Ys(b,t.id,i),M=Zs(N,t)?.lastUsedAt,S=m||r?e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[m&&e.jsx("button",{type:"button",onClick:()=>v?.(!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"})}),r&&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:()=>r(!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:p,showQuota:i,quota:C,quotaLoading:T,runtimeLastUsed:M,beforeIdentity:S,headerEnd:w,bodySlot:t.provider==="agy"?Tn(t.projectId,p,x):null,quotaInsetClassName:"pl-11"})})}function Rn({selectedCount:t,onPauseSelected:a,onResumeSelected:s,onClearSelection:n,isPausing:r,isResuming:d}){if(t<1)return null;const o=r||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:[r?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 Ln({accounts:t,onAddAccount:a,onReauthAccount:s,onSetDefault:n,onRemoveAccount:r,onPauseToggle:d,onSoloMode:o,onBulkPause:p,onBulkResume:i,isRemovingAccount:m,isPausingAccount:l,isSoloingAccount:v,isBulkPausing:x,isBulkResuming:b,privacyMode:N,showQuota:C,isKiro:T,kiroNoIncognito:M,onKiroNoIncognitoChange:S,kiroSettingsLoading:w}){const{t:y}=W(),[h,g]=c.useState(new Set),E=c.useMemo(()=>new Set(t.map(k=>k.id)),[t]),u=c.useMemo(()=>new Set([...h].filter(k=>E.has(k))),[h,E]),I=!!(p&&i),A=u.size,H=t.length>0&&u.size===t.length,P=u.size>0&&u.size<t.length,O=c.useCallback(k=>{g(J=>{const j=new Set(J);return j.has(k)?j.delete(k):j.add(k),j})},[]),K=c.useCallback(()=>{g(new Set(t.map(k=>k.id)))},[t]),G=c.useCallback(()=>{g(new Set)},[]),$=c.useCallback(()=>{H?G():K()},[H,K,G]),R=c.useCallback(()=>{p&&u.size>0&&(p(Array.from(u)),g(new Set))},[p,u]),L=c.useCallback(()=>{i&&u.size>0&&(i(Array.from(u)),g(new Set))},[i,u]);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:[I&&t.length>0&&e.jsx(et,{checked:H,onCheckedChange:$,"aria-label":"Select all accounts",className:P?"data-[state=checked]:bg-primary/50":"",...P?{"data-state":"indeterminate"}:{}}),e.jsx(Oe,{className:"w-4 h-4"}),y("providerEditor.accounts"),t.length>0&&e.jsx(z,{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(rt,{className:"w-3 h-3"}),y("providerEditor.addAccount")]})]}),I&&A>0&&e.jsx(Rn,{selectedCount:A,onPauseSelected:R,onResumeSelected:L,onClearSelection:G,isPausing:!!x,isResuming:!!b}),t.length>0?e.jsx("div",{className:"space-y-2",children:t.map(k=>e.jsx(En,{account:k,onSetDefault:()=>n(k.id),onRemove:()=>r(k.id),onReauth:s?()=>s(k):void 0,onPauseToggle:d?J=>d(k.id,J):void 0,onSoloMode:o?()=>o(k.id):void 0,isRemoving:m,isPausingAccount:l,isSoloingAccount:v,privacyMode:N,showQuota:C,selectable:I,selected:u.has(k.id),onSelectChange:()=>O(k.id)},k.id))}):e.jsxs("div",{className:"py-6 text-center text-muted-foreground bg-muted/30 rounded-lg border border-dashed",children:[e.jsx(Oe,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),e.jsx("p",{className:"text-sm",children:y("providerEditor.noAccountsConnected")}),e.jsx("p",{className:"text-xs opacity-70",children:y("providerEditor.addAccountToStart")})]}),T&&S&&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:y("providerEditor.useIncognito")})]}),e.jsx(ps,{checked:!M,onCheckedChange:k=>S(!k),disabled:w,className:"scale-90"})]})})]})}function On({provider:t,catalog:a,savedPresets:s,currentModel:n,opusModel:r,sonnetModel:d,haikuModel:o,providerModels:p,routing:i,extendedContextEnabled:m,onExtendedContextToggle:l,onApplyPreset:v,onUpdateEnvValue:x,onOpenCustomPreset:b,onDeletePreset:N,isDeletePending:C,accounts:T,onAddAccount:M,onReauthAccount:S,onSetDefault:w,onRemoveAccount:y,onPauseToggle:h,onSoloMode:g,onBulkPause:E,onBulkResume:u,isRemovingAccount:I,isPausingAccount:A,isSoloingAccount:H,isBulkPausing:P,isBulkResuming:O,privacyMode:K,isRemoteMode:G}){const $=t.toLowerCase(),R=(na.includes($)||["anthropic","antigravity","gemini-cli","copilot","github-copilot"].includes($))&&!G,L=t==="kiro",[k,J]=c.useState(!0),[j,Y]=c.useState(!0),[se,de]=c.useState(!1),U=c.useCallback(async()=>{if(L)try{Y(!0);const Z=(await Ye.config.get()).cliproxy;J(Z?.kiro_no_incognito??!0)}catch{J(!0)}finally{Y(!1)}},[L]),re=c.useCallback(async Q=>{J(Q),de(!0);try{const Z=await Ye.config.get(),ie=Z.cliproxy??{};await Ye.config.update({...Z,cliproxy:{...ie,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(In,{catalog:a,savedPresets:s,currentModel:n,opusModel:r,sonnetModel:d,haikuModel:o,providerModels:p,routing:i,provider:t,extendedContextEnabled:m,onExtendedContextToggle:l,onApplyPreset:v,onUpdateEnvValue:x,onOpenCustomPreset:b,onDeletePreset:N,isDeletePending:C}),e.jsx(Lt,{}),e.jsx(Ln,{accounts:T,onAddAccount:M,onReauthAccount:S,onSetDefault:w,onRemoveAccount:y,onPauseToggle:h,onSoloMode:g,onBulkPause:E,onBulkResume:u,isRemovingAccount:I,isPausingAccount:A,isSoloingAccount:H,isBulkPausing:P,isBulkResuming:O,privacyMode:K,showQuota:R,isKiro:L,kiroNoIncognito:k,onKiroNoIncognitoChange:re,kiroSettingsLoading:j||se})]})})}function ts({provider:t,displayName:a,authStatus:s,catalog:n,routing:r,logoProvider:d,baseProvider:o,isRemoteMode:p,port:i,defaultTarget:m,topNotice:l,onAddAccount:v,onReauthAccount:x,onSetDefault:b,onRemoveAccount:N,onPauseToggle:C,onSoloMode:T,onBulkPause:M,onBulkResume:S,isRemovingAccount:w,isPausingAccount:y,isSoloingAccount:h,isBulkPausing:g,isBulkResuming:E}){const[u,I]=c.useState(!1),{privacyMode:A}=ls(),{t:H}=W(),{data:P}=ra(),{data:O}=ia(t),K=oa(),G=da(),$=o||t,R=$.toLowerCase()==="agy",L=c.useMemo(()=>{const _=O?.presets||[];return R?_.filter(te=>!xe(te.default)&&!xe(te.opus)&&!xe(te.sonnet)&&!xe(te.haiku)):_},[R,O?.presets]),k=c.useMemo(()=>{if(!P?.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 P.models.filter(ae=>te.some(Ie=>ae.owned_by.toLowerCase().includes(Ie))?R?!xe(ae.id):!0:!1)},[R,P,$]),J=(o||t).toLowerCase(),{data:j,isLoading:Y,refetch:se,rawJsonContent:de,rawJsonEdits:U,isRawJsonValid:re,hasChanges:Q,currentModel:Z,opusModel:ie,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(_=>({..._,provider:_.provider||o||t})),[s.accounts,o,t]),{data:le}=ss({queryKey:["auth-tokens-raw"],queryFn:async()=>{const _=await fetch("/api/settings/auth/tokens/raw");return _.ok?_.json():{apiKey:{value:"ccs-internal-managed"}}},staleTime:6e4}),Fe=le?.apiKey?.value??"ccs-internal-managed",qe=_=>{if(R&&[_.ANTHROPIC_MODEL,_.ANTHROPIC_DEFAULT_OPUS_MODEL,_.ANTHROPIC_DEFAULT_SONNET_MODEL,_.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:${i??Nt}/api/provider/${J}`,ANTHROPIC_AUTH_TOKEN:Fe,..._}),B.success(`Applied "${_.ANTHROPIC_MODEL?.split("/").pop()||"preset"}" preset`)},Ue=(_,te)=>{if(R&&[_.default,_.opus,_.sonnet,_.haiku].some(Ie=>xe(Ie))){B.error(H("providerEditor.agyDenylist"));return}ge({ANTHROPIC_BASE_URL:`http://127.0.0.1:${i??Nt}/api/provider/${J}`,ANTHROPIC_AUTH_TOKEN:Fe,ANTHROPIC_MODEL:_.default,ANTHROPIC_DEFAULT_OPUS_MODEL:_.opus,ANTHROPIC_DEFAULT_SONNET_MODEL:_.sonnet,ANTHROPIC_DEFAULT_HAIKU_MODEL:_.haiku}),B.success(`Applied ${te?`"${te}"`:"custom"} preset`),I(!1)},Ke=(_,te)=>{if(!te){B.error(he.t("commonToast.enterPresetName"));return}if(R&&[_.default,_.opus,_.sonnet,_.haiku].some(ae=>xe(ae))){B.error(H("providerEditor.agyDenylist"));return}K.mutate({profile:t,data:{name:te,..._}}),I(!1)};return e.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[e.jsx(Mn,{provider:t,displayName:a,logoProvider:d,data:j,isLoading:Y,hasChanges:Q,isRawJsonValid:re,isSaving:me.isPending,isRemoteMode:p,port:i,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(On,{provider:t,catalog:n,savedPresets:L,currentModel:Z,opusModel:ie,sonnetModel:Ne,haikuModel:fe,providerModels:k,routing:r,extendedContextEnabled:Ce,onExtendedContextToggle:Ae,onApplyPreset:qe,onUpdateEnvValue:F,onOpenCustomPreset:()=>I(!0),onDeletePreset:_=>G.mutate({profile:t,name:_}),isDeletePending:G.isPending,accounts:dt,onAddAccount:v,onReauthAccount:x,onSetDefault:b,onRemoveAccount:N,onPauseToggle:C,onSoloMode:T,onBulkPause:M,onBulkResume:S,isRemovingAccount:w,isPausingAccount:y,isSoloingAccount:h,isBulkPausing:g,isBulkResuming:E,privacyMode:A,isRemoteMode:p})}),e.jsx($t,{value:"info",className:"h-full mt-0 border-0 p-0 data-[state=inactive]:hidden",children:e.jsx(An,{provider:t,displayName:a,baseProvider:o,defaultTarget:m,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:re,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(Cn,{open:u,onClose:()=>I(!1),currentValues:{default:Z||"",opus:ie||"",sonnet:Ne||"",haiku:fe||""},onApply:Ue,onSave:Ke,isSaving:K.isPending,catalog:n,allModels:k,routing:r})]})}function _n({status:t,isSelected:a,onSelect:s}){const{t:n}=W(),r=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}),r>0&&e.jsx(z,{variant:"secondary",className:"text-[10px] h-4 px-1",children:r})]}),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 Fn({variant:t,parentAuth:a,isSelected:s,onSelect:n,onDelete:r,isDeleting:d}){const{t:o}=W(),p=()=>{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:p,onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),p())},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(z,{variant:"outline",className:"text-[9px] h-4 px-1",children:o("cliproxyPage.variant")}),e.jsx(z,{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:i=>{i.stopPropagation(),r()},disabled:d,children:e.jsx(Ns,{className:"w-3 h-3"})})]})}function qn({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(_e,{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(rt,{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 nr(){const{t}=W(),a=kt(),{data:s,isLoading:n}=os(),{data:r,isFetching:d}=ma(),{data:o}=ds(),{data:p}=pa(),i=xa(),m=ha(),l=fa(),v=ga(),x=va(),b=ja(),N=ba(),C=Na(),[T,M]=c.useState(()=>{if(typeof window<"u"){const F=new URLSearchParams(window.location.search).get("provider")?.trim().toLowerCase();return F&&Le(F)?F:localStorage.getItem("cliproxy-selected-provider")}return null}),[S,w]=c.useState(null),[y,h]=c.useState(!1),[g,E]=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||!Le(F)?null:{provider:F,displayName:Ge(F),isFirstAccount:!1}}),u=c.useMemo(()=>s?.authStatus||[],[s?.authStatus]),I=c.useMemo(()=>ya(u,f=>f.provider),[u]),A=s?.source==="remote",H=c.useMemo(()=>r?.variants||[],[r?.variants]),P=c.useMemo(()=>Ot(o?.catalogs),[o?.catalogs]),O=o?.routing??{},K=!!o,G=f=>{M(f),f&&localStorage.setItem("cliproxy-selected-provider",f)},$=c.useMemo(()=>S?null:T&&u.some(f=>f.provider===T)?T:u.length>0&&(u.find(F=>(F.accounts?.length||0)>0)?.provider||u[0]?.provider)||null,[T,S,u]),R=u.find(f=>f.provider===$),L=H.find(f=>f.name===S),k=L?u.find(f=>f.provider===L.provider):void 0,J=L&&k?{provider:L.provider,displayName:k.displayName,accountCount:k.accounts?.length||0}:R?{provider:R.provider,displayName:R.displayName,accountCount:R.accounts?.length||0}:null,j=L?{provider:L.provider,displayName:Ge(L.provider),accountCount:0}:T&&Le(T)?{provider:T,displayName:Ge(T),accountCount:0}:{provider:"gemini",displayName:Ge("gemini"),accountCount:0},Y=J??j,se=(L?.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"]})},re=(f,F,ge)=>{l.isPending||v.isPending||(ge?l.mutate({provider:f,accountId:F}):v.mutate({provider:f,accountId:F}))},Q=(f,F)=>{x.isPending||x.mutate({provider:f,accountId:F})},Z=(f,F)=>{b.isPending||b.mutate({provider:f,accountIds:F})},ie=(f,F)=>{N.isPending||N.mutate({provider:f,accountIds:F})},Ne=f=>{G(f),w(null)},fe=f=>{w(f),G(null)},Ce=()=>{E({provider:Y.provider,displayName:Y.displayName,isFirstAccount:Y.accountCount===0})},Ae=(f,F,ge,me)=>{const pe=ge?.find(Se=>Se.id===me);pe&&E({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(_e,{className:"w-5 h-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:p?.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(rt,{className:"w-4 h-4"}),t("cliproxyPage.addAccount")]}),e.jsxs(q,{variant:"outline",size:"sm",className:"w-full gap-2",onClick:()=>h(!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(wa,{className:"h-14 w-full rounded-lg"},f))}):e.jsx("div",{className:"space-y-4",children:I.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(_n,{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(Fn,{variant:f,parentAuth:u.find(F=>F.provider===f.provider),isSelected:S===f.name,onSelect:()=>fe(f.name),onDelete:()=>C.mutate(f.name),isDeleting:C.isPending},f.name))})]})]})}),e.jsx("div",{className:"p-3 border-t",children:e.jsx(Oa,{})}),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:u.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:u.filter(f=>f.authenticated).length})]})]})})]}),e.jsx("div",{className:"flex-1 flex min-w-0 flex-col overflow-hidden bg-background",children:L&&k?e.jsx(e.Fragment,{children:e.jsx(ts,{provider:L.name,displayName:t("cliproxyPage.variantDisplay",{name:L.name,provider:L.provider}),authStatus:k,catalog:P[L.provider],routing:O[L.provider],logoProvider:L.provider,baseProvider:L.provider,defaultTarget:L.target,isRemoteMode:A,port:L.port,topNotice:de?e.jsx(wt,{compact:!0,showProxySettingsLink:!0}):void 0,onAddAccount:()=>E({provider:L.provider,displayName:k.displayName,isFirstAccount:(k.accounts?.length||0)===0}),onReauthAccount:f=>Ae(L.provider,k.displayName,k.accounts,f.id),onSetDefault:f=>i.mutate({provider:L.provider,accountId:f}),onRemoveAccount:f=>m.mutate({provider:L.provider,accountId:f}),onPauseToggle:(f,F)=>re(L.provider,f,F),onSoloMode:f=>Q(L.provider,f),onBulkPause:f=>Z(L.provider,f),onBulkResume:f=>ie(L.provider,f),isRemovingAccount:m.isPending,isPausingAccount:l.isPending||v.isPending,isSoloingAccount:x.isPending,isBulkPausing:b.isPending,isBulkResuming:N.isPending})}):R?e.jsx(e.Fragment,{children:e.jsx(ts,{provider:R.provider,displayName:R.displayName,authStatus:R,catalog:P[R.provider],routing:O[R.provider],isRemoteMode:A,topNotice:de?e.jsx(wt,{compact:!0,showProxySettingsLink:!0}):void 0,onAddAccount:()=>E({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=>i.mutate({provider:R.provider,accountId:f}),onRemoveAccount:f=>m.mutate({provider:R.provider,accountId:f}),onPauseToggle:(f,F)=>re(R.provider,f,F),onSoloMode:f=>Q(R.provider,f),onBulkPause:f=>Z(R.provider,f),onBulkResume:f=>ie(R.provider,f),isRemovingAccount:m.isPending,isPausingAccount:l.isPending||v.isPending,isSoloingAccount:x.isPending,isBulkPausing:b.isPending,isBulkResuming:N.isPending})}):e.jsx(qn,{onAddAccount:Ce,onCreateVariant:()=>h(!0)})}),e.jsx(nn,{open:y,onClose:()=>h(!1)}),e.jsx(pn,{open:g!==null,onClose:()=>E(null),provider:g?.provider||"",displayName:g?.displayName||"",catalog:K&&g?.provider?P[g.provider]:void 0,isFirstAccount:g?.isFirstAccount||!1,account:g?.account})]})}export{nr as CliproxyPage};
@@ -1 +0,0 @@
1
- import{j as n}from"./radix-ui-nu4wz29m.js";import{r as a}from"./react-vendor-Bjx91N7w.js";import{f as P,g as Q,e as $,c as w,h as B,I as G}from"./index-K_KarWwQ.js";import{aS as H,aw as L,n as V}from"./icons-DSLG1YsC.js";function S(o){return o.trim().toLowerCase()}function M(o,h){return`${o}-option-${h.replace(/[^a-z0-9_-]+/gi,"-")}`}function Z({value:o,onChange:h,options:f,groups:g,placeholder:j,searchPlaceholder:k,emptyText:E,disabled:F,className:q,triggerClassName:K,contentClassName:R}){const[l,T]=a.useState(!1),[y,A]=a.useState(""),[i,c]=a.useState(),m=a.useId(),I=a.useRef(null),N=a.useRef({}),O=a.useMemo(()=>f.find(e=>e.value===o),[f,o]),d=a.useMemo(()=>{const e=S(y);return e?f.filter(t=>[t.searchText,...t.keywords??[]].some(u=>S(u).includes(e))):f},[f,y]),z=a.useMemo(()=>{const e=new Map((g??[]).map(r=>[r.key,r])),t=d.filter(r=>!r.groupKey||!e.has(r.groupKey)),u=(g??[]).map(r=>({...r,options:d.filter(x=>x.groupKey===r.key)})).filter(r=>r.options.length>0);return t.length===0?u:[{key:"__default",options:t},...u]},[d,g]),s=a.useMemo(()=>d.filter(e=>!e.disabled),[d]),D=O?.triggerContent??O?.itemContent,v=e=>{T(e),e||(A(""),c(void 0))},b=()=>I.current?.focus();a.useEffect(()=>{if(l){if(s.length===0){c(void 0);return}c(e=>e&&s.some(t=>t.value===e)?e:s.find(t=>t.value===o)?.value??s[0]?.value)}},[s,l,o]),a.useEffect(()=>{!l||!i||N.current[i]?.scrollIntoView({block:"nearest"})},[i,l]);const p=e=>{if(s.length===0)return;if(e==="first"){c(s[0]?.value);return}if(e==="last"){c(s.at(-1)?.value);return}const t=s.findIndex(_=>_.value===i),u=e==="next"?-1:s.length,r=t>=0?t:u,x=e==="next"?Math.min(r+1,s.length-1):Math.max(r-1,0);c(s[x]?.value)},C=e=>{h(e),v(!1)},U=()=>{if(!i)return;const e=s.find(t=>t.value===i);e&&C(e.value)};return n.jsxs(P,{open:l,onOpenChange:v,children:[n.jsx(Q,{asChild:!0,children:n.jsxs($,{type:"button",variant:"outline","aria-expanded":l,"aria-controls":l?m:void 0,"aria-haspopup":"dialog",disabled:F,onKeyDown:e=>{if(e.key!=="ArrowDown"&&e.key!=="ArrowUp")return;e.preventDefault(),v(!0);const t=()=>{b(),p(e.key==="ArrowDown"?"first":"last")};if(typeof requestAnimationFrame=="function"){requestAnimationFrame(t);return}setTimeout(t,0)},className:w("w-full justify-between font-normal",q,K,!D&&"text-muted-foreground"),children:[n.jsx("div",{className:"min-w-0 flex-1 text-left",children:D??n.jsx("span",{children:j})}),n.jsx(H,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),n.jsxs(B,{align:"start",className:w("w-[var(--radix-popover-trigger-width)] p-0",R),onOpenAutoFocus:e=>{if(e.preventDefault(),typeof requestAnimationFrame=="function"){requestAnimationFrame(b);return}setTimeout(b,0)},children:[n.jsx("div",{className:"border-b p-2",children:n.jsxs("div",{className:"relative",children:[n.jsx(L,{className:"text-muted-foreground absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2"}),n.jsx(G,{ref:I,value:y,onChange:e=>A(e.target.value),role:"combobox","aria-label":k,"aria-autocomplete":"list","aria-expanded":l,"aria-controls":m,"aria-activedescendant":i?M(m,i):void 0,onKeyDown:e=>{if(e.key==="ArrowDown"){e.preventDefault(),p("next");return}if(e.key==="ArrowUp"){e.preventDefault(),p("previous");return}if(e.key==="Home"){e.preventDefault(),p("first");return}if(e.key==="End"){e.preventDefault(),p("last");return}if(e.key==="Enter"){e.preventDefault(),U();return}e.key==="Escape"&&(e.preventDefault(),v(!1))},placeholder:k,className:"pl-8"})]})}),n.jsx("div",{"data-slot":"searchable-select-scroll-container","data-testid":"searchable-select-scroll-container",className:"max-h-72 overflow-y-auto overscroll-contain",children:d.length===0?n.jsx("div",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:E}):n.jsx("div",{id:m,role:"listbox","aria-label":j,className:"p-1",children:z.map(e=>n.jsxs("div",{children:[e.label&&n.jsx("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:e.label}),e.options.map(t=>{const u=t.value===i,r=t.value===o;return n.jsxs("button",{id:M(m,t.value),type:"button",role:"option","aria-selected":r,disabled:t.disabled,tabIndex:-1,ref:x=>{N.current[t.value]=x},onMouseMove:()=>{t.disabled||c(t.value)},onFocus:()=>{t.disabled||c(t.value)},onClick:()=>C(t.value),className:w("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none","focus-visible:ring-ring focus-visible:ring-1",u&&"bg-accent text-accent-foreground",r&&"bg-accent text-accent-foreground",t.disabled&&"pointer-events-none opacity-50"),children:[n.jsx("div",{className:"min-w-0 flex-1",children:t.itemContent}),r&&n.jsx(V,{className:"h-4 w-4 shrink-0"})]},t.value)})]},e.key))})})]})]})}export{Z as S};